1 / 15

Sam Supakkul Titat Software LLC ssupakkul@ieee

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.

edan
Download Presentation

Sam Supakkul Titat Software LLC ssupakkul@ieee

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. Decisions during software development (implementation) many more alternatives … association class hash table linked list objects on both sides

  3. Decisions during software development (design) direct method invocation MOM Messaging middle-ware) PCQ (Producer-Consumer-Queue) intermediate asynchronous buffer

  4. 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?

  5. Ok, what do we do then? • represent and capture knowledge → to record alternatives & justify decisions Once knowledge can be captured • organize knowledge • reuse knowledge

  6. Representing knowledgeA goal-oriented technique

  7. How do we represent knowledge in this example many more alternatives …

  8. Alternatives and decision rationale

  9. Apply to other phases

  10. Organizing knowledgeobject-oriented organization aggregation/ decomposition generalization/specialization classification/ instantiation

  11. Organization example

  12. Organization example (larger scale) e-Commerce pattern OnlineBookstore pattern Composing patterns to form larger grain patterns …. to application level

  13. Reusing knowledge manual or model-driven

  14. 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

  15. 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

More Related