1 / 44

Content

Design and Implementation of a Rationale-Based Analysis Tool (RAT) Diploma thesis from Timo Wolf Design and Realization of a Tool for Linking Source Code and Rationale Knowledge Diploma thesis from Marc Mährländer. Content. Introduction What is Rationale? Problem Solution Scope of the works

cain
Download Presentation

Content

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. Design and Implementation of a Rationale-Based Analysis Tool(RAT)Diploma thesis from Timo WolfDesign and Realizationof a Tool for Linking Source Codeand Rationale KnowledgeDiploma thesis from Marc Mährländer

  2. Content • Introduction • What is Rationale? • Problem • Solution • Scope of the works • Rationale Support • RAT • SourceQuest (JBuilder plug-in) • Demonstration

  3. What is Rationale? • The why behind a decision • Discussion that leads to a solution • Alternative solutions • The criteria the alternatives have been evaluated against. • Trade-offs made by the stakeholders • Rationale contains useful information • Historically, often called Design Rationale

  4. Problem Statement • During all phases of development, many issues have to be solved • Normally, only the selected solution is visible in the work products • Useful rationale information get lost • Discussion process is not structured • Face-to-face meetings, e-mail, bboards, ... • Not integrated into today‘s development tools • Natural documentation problem • Designing and implementing is the interesting part, documentation is without a great personal benefit

  5. Solution • Full integration of rationale into the complete development process • All development tools need integrated support for rationale • Creation of a direct effort for the developers, because of a structured and integrated discussion process • Developers coming after, profit from the rationale information Focusing on issues, and making the discussion process transparent and explicit, improves the quality of the decisions made by the developers.

  6. Issue-based Life Cycle Model • Complete life cycle model for software development based on issues • Rationale is not only integrated into the development process • Rationale becomes the structuring element of a software project • Each project starts with a set of issues • Issues can be mapped to certain phases of the process • The status of issues can then be used to track and control the status of each activity

  7. Scope of the Works Developmenttools JBuilder/ Rationale RAT SourceQuest Manager Rationale Support Awareness Support ... Development support services Notification Service ... Requirement System Object Implementation Rationale ... Elicitation/ Design Design Management Analysis Development activities

  8. Scope of Marc‘s Work • Integrating rationale support into a source code editor (called SourceQuest) • Providing a component to store references between different kinds of objects (LinkingService) • Links rationale information to model objects. • Providing a Rationale Manager software

  9. Rationale Support

  10. Content • Introduction • Rationale Support • Requirements for Rationale support • Rationale Model • Actors • Rationale Manager • RAT • SourceQuest (JBuilder plug-in) • Demonstration

  11. Requirements for Rationale Support • Create and navigate references between model objects and rationale information • A model object may have different representations

  12. 0..* Model Objects ConcreteRepresentation Model Object Class Package Use Case ... JavaSource File UMLClass

  13. Requirements for Rationale Support • Create and navigate references between model objects and rationale information • A model object may have different representations • Restructuring of captured rationale information • Remove elements • Combining and dividing issues • Create missing references • Querying the rationale information

  14. 0..* Rationale Model responds-to Issue is relevant Option Comment Criterion assessment

  15. Actors • Developer • Creates rationale information related to model objects • Uses rationale information • Rationale integration supports his main tasks • Rationale Maintainer • Restructures rationale information • Identifies missing rationale

  16. Rationale Manager • Supports the user tasks of the Rationale Maintainer • Displaying issues • Restructuring issues • Querying and searching rationale information • Provides a UI to access rationale information, which can be integrated into development tools.

  17. Rationale Manager

  18. Rationale Manager

  19. Design and Implementation of a Rationale-Based Analysis Tool(RAT) Diploma thesis from Timo Wolf

  20. Content • Introduction • Rationale Support • RAT • Analysis activities • Goals • Constraints • Components RAT has to deal with • Architecture • Evaluation • Future Directions • SourceQuest (JBuilder plug-in) • Demonstration

  21. Defineparticipatingobjects Defineobjectstypes Defineinteractions Defineattributes Defineassociations Consolidatemodel Review model Analysis activities Defineuse case

  22. Goals • RAT supports developers during analysis activities • Enables developers to define use cases, sequence diagrams and classes • No assumption about any specific order • e.g., instances may be created before classes • Sequence diagrams must be easy to draw • e.g., not like Together or Rose, where it takes a lot of effort to redraw and layout • RAT supports rationale management • RAT supports multiple concurrentusers

  23. Constraints • Software Engineering Prakitkum • Must integrate with other tools in the practical course • REQuest • SourceQuest • Rationale-Manager • All tools must share the same issue repository • All tools must provide a consistent interface • Must be portable across OS • (Mac OS X, Windows, Linux)

  24. Components RAT has to deal with • Use Cases

  25. UML use case diagram RAT‘s Use Cases • Use cases • Actors • Services • Flow steps (actor step, system step)

  26. Components RAT has to deal with • Classes

  27. Tree view UML Class Diagram Detailed element interaction window RAT‘s Class Model

  28. Components RAT has to deal with • Sequence Diagrams

  29. UML sequence diagram RAT‘s Sequence Diagrams

  30. Sharing objects and messages among multiple diagrams RAT‘s Sequence Diagrams

  31. Components RAT has to deal with • Rationale Management

  32. Defining issues to all elements of RAT • Issue highlighting in RAT • Navigation from elements to issues Visualisation of issues by using the Rationale-Manager of SourceQuest Rationale in RAT

  33. SDModel Class Object Operation Message Actor Service FlowStep UseCase 0..1 0..1 0..1 0..* 2 1 0..* 0..* 0..1 0..* 0..1 0..1 0..1 0..1 0..* 0..1 0..1 0..* Relations among RAT‘s models

  34. Architecture • Central repository architecture (server) • Repository is used for models and issues • Concurrent distributed client applications • Separation of the linking repository • Implementation in Java • Platform independence • Event-driven control flow (using Java Remote Method Invocation, RMI)

  35. :central repository :RAT user computer :Webserver RAT Application ElementStore REQuest Rationale Manager :SourceQuest user computer LinkingService SourceQuest Hardware/Software Mapping

  36. Evaluation • How much of it works ? • All basic functionality works • What needs to be improved ? • Performance for low bandwidth connections • Some sequence diagram functionalities,e.g., hiding messages. • What is missing ? • User management system

  37. Future Directions • Evaluation of RAT in the practical course • Full REQuest integration • Integration with the Chair's UserManagement • Automatic diagram layout functionality • IntegratingRAT with rationale-based system and object design tools (to be developed)

  38. SourceQuestJBuilder Rationale Plug-In

  39. Content • Introduction • Rationale Support • RAT • SourceQuest (JBuilder plug-in) • Requirements • User Interface • Evaluation • Demonstration

  40. Requirements • Users must become aware of existing issues related to the class they are working on • Users must be able to create new issues related to the current class • Users must be able to browse issues related to their current class • As easy to use as possible • Smooth integration of rationale support into JBuilder

  41. User Interface I

  42. User Interface II

  43. User Interface III

  44. Evaluation • Must be evaluated in real projects • First project • usability?, developers acceptance?, understandability of the rationale model?, what kind of training is necessary?, can all rationale information be expressed?, is decision quality increased • Second project • Evaluate the value of rationale information • is rationale information used?, can it be found?, is time for working in decreased?, is quality increased?

More Related