150 likes | 235 Views
Representing, Organizing and Reusing Knowledge about Functional and Non-Functional Concerns during Software Development. Sam Supakkul Titat Software LLC ssupakkul@ieee.org. Lawrence Chung The University of Texas at Dallas chung@utdallas.edu.
E N D
Representing, Organizing and Reusing Knowledgeabout Functional and Non-Functional Concerns during Software Development Sam Supakkul Titat Software LLC ssupakkul@ieee.org Lawrence Chung The University of Texas at Dallas chung@utdallas.edu
Decisions during software development (implementation) many more alternatives … association class hash table linked list objects on both sides
Decisions during software development (design) direct method invocation MOM Messaging middle-ware) PCQ (Producer-Consumer-Queue) intermediate asynchronous buffer
But, alternatives and the decision rationale not usually captured So what? What’s the problem? Evidence/justifications for • Why certain solutions were chosen? • What else were considered? • Why they were chosen over other alternatives?
Ok, what do we do then? • represent and capture knowledge → to record alternatives & justify decisions Once knowledge can be captured • organize knowledge • reuse knowledge
How do we represent knowledge in this example many more alternatives …
Organizing knowledgeobject-oriented organization aggregation/ decomposition generalization/specialization classification/ instantiation
Organization example (larger scale) e-Commerce pattern OnlineBookstore pattern Composing patterns to form larger grain patterns …. to application level
Reusing knowledge manual or model-driven
Conclusion • A goal-oriented technique to explicitly • record alternatives • decision rationale • Object-oriented technique to organize by • generalization • aggregation • classification • For manual or model-driven reuse • Future work • formalization and integration with UML • tool support • case studies
Thank you ! Representing, Organizing and Reusing Knowledgeabout Functional and Non-Functional Concerns during Software Development Sam Supakkul Titat Software LLC ssupakkul@ieee.org Lawrence Chung The University of Texas at Dallas chung@utdallas.edu