Timo Wolf, Allen H. Dutoit
Chair for Applied Software Engineering Institut für Informatik
Technische Universität München {wolft, dutoit}@in.tum.de
A Rationale-based Analysis Tool
(RAT)
02.07.2004 Timo Wolf, Allen H. Dutoit, Technische Universität
München 2
Outline
• Analysis Activities
• Models & Traceability
• Collaboration & Rationale
• Evaluation
• Conclusion & Future Work
OO-Analysis Activities
use case model development
object model development
communication
&
rationale knowledge
sequence diagram development
02.07.2004 Timo Wolf, Allen H. Dutoit, Technische Universität
München 4
Issues
• Dealing with model consistency
– Generating sequence diagrams – Sharing objects and messages
– Using traceability links for automated actions
• Collaborating on the same set of models
• Sharing knowledge in distributed settings
– Supporting rationale within the modeling tool
Login
The user starts the application.
The system displays a login frame.
User
:System
The user enters his login and password
The system requests the user access rights, by using the authentication service.
Used Service: AuthService
A User:User
User
authService:AuthSevice
AuthService
+authService() AuthService
<<uses>>
Generated Sequence Diagram
UserDatabase
Used Service: UserDatabase
userDatabase:UserDatabase
UserDatabase
+userDatabse()
02.07.2004 Timo Wolf, Allen H. Dutoit, Technische Universität
München 6
Generated Sequence Diagram (2)
Sharing Objects and Messages
⇒Redundant parts of sequence diagrams are only created once.
⇒Redundant parts of sequence diagrams are always consistent in all diagrams.
⇒The maintenance of small sequence diagrams that are composed to complex ones is easier.
• Sequence diagram objects, messages and
threads of messages can be reused and shared in multiple diagrams.
02.07.2004 Timo Wolf, Allen H. Dutoit, Technische Universität
München 8
Examples of Shared Items
shared
shared shared
shared authenticate
validate user
get user rights
System UserDatabase User
Labels For Shared Items
02.07.2004 Timo Wolf, Allen H. Dutoit, Technische Universität
München 10
Traceability Links
⇒During change, developers can follow the traces to find interrelated model elements.
⇒Selected automated and manual actions are supported by using the traceability links.
• Traceability links are created during the
generation of sequence diagrams and classes.
• Traceability links can be created and deleted manually.
Traceability Examples
Use cases can be linked to classes.
Object instances and diagrams can be found from a class.
The traces of the whole model can be shown by using a tree view.
02.07.2004 Timo Wolf, Allen H. Dutoit, Technische Universität
München 12
Supporting Collaboration
•RAT integrates the model and the communication infrastructure within one central repository.
•RAT supports multiple users collaborating synchronously in a distributed setting.
•RAT tracks authors and modification dates.
Peter did the change
Rationale Integration
⇒RAT integrates and annotates rationale within the model.
⇒RAT uses rationale for communication.
⇒RAT uses rationale for additional traces.
• Implicit knowledge gets lost over time and is not accessible for all participants (e.g. mail, meetings)
• Getting worse in distributed, long-term projects with changing participants.
02.07.2004 Timo Wolf, Allen H. Dutoit, Technische Universität
München 14
Rationale Integration (2)
Rationale indicators annotated at the model elements.
Matrix for assessing an Options and selection resolutions.
Accessible rationale knowledge repository.
Evaluation
⇒Increased communication and knowledge sharing between teams.
⇒Awareness of other team activities and clarification by create rationale questions.
• We evaluated RAT with the Software Engineering project course at the Chair for Applied Software Engineering.
• 30 Students developed a prototype forecasting system for the chemical company Wacker.
• Not all students come to the campus and the project lab.
02.07.2004 Timo Wolf, Allen H. Dutoit, Technische Universität
München 16
Conclusion & Future Work
• The initial results showed the need for a distributed analysis tool like RAT.
• More studies are needed.
Future Work
• Integration of project task management.
• Mapping the analysis model to a detailed object model and code.
• Integration of an extended document generation.