Staruml User Guide: Korea Advanced Institute of Science and Technology
Staruml User Guide: Korea Advanced Institute of Science and Technology
3/10/2010
Contents
2
Introduction to Software Engineering (CS350)
StarUML Overview Basics of StarUML Use Case Diagram Activity Diagram State Diagram Sequence Diagram
3/10/2010
StarUML Overview
3
Introduction to Software Engineering (CS350)
What is StarUML?
A software modeling platform that supports UML (Unified Modeling Language) An open source project to create UML class diagrams and automatically generate Java stub code The goal is a compelling replacement of commercial UML tools such as RationalRose, Together and so on
Based on UML 1.4 Provides UML 2.0 notation
Key Features
Accurate UML standard model Open software model format True MDA(Model Driven Architecture) support Useful Add-Ins
Copyright (c) Korea Advanced Institute of Science and Technology
3/10/2010
Installation
Start
4+1 View Model Default Approach Rational Approach UML Component Empty Project
3/10/2010
3/10/2010
3/10/2010
Model Explorer
Diagram Area
Properties
3/10/2010
Select the [Model] -> [Profiles] menu. the stereotypes, tag definitions and data types defined in the profile can be used in the project
3/10/2010
Diagram Type Class Diagram UseCase Diagram Sequence Diagrams Collaboration Diagrams Statechart Diagram Activity Diagram Component Diagram Deployment Diagram CompositeStructure Diagram
Elements can be copied or pasted freely between Class, UseCase, Component, CompositeStructure, and Deployment diagrams.
Elements cannot be copied or pasted Elements cannot be copied or pasted Elements can be copied or pasted only between diagrams within the same StateMachine Elements can be copied or pasted only between diagrams within the same ActivityGraph Elements can be copied or pasted freely between Class, UseCase, Component, CompositeStructure, and Deployment diagrams Elements can be copied or pasted freely between Class, UseCase, Component, CompositeStructure, and Deployment diagrams Elements can be copied or pasted freely between Class, UseCase, Component, CompositeStructure, and Deployment diagrams 3/10/2010
Use Case
Describes a specific usage scenario in straightforward language from the point of view of a defined actor Diagrammatic representation called Use Case Diagram can facilitate understanding, particularly when the scenario is complex
Use Case
Use Case
Actor
System Boundary
System
Actor
Actor
Actor, UseCase, Association, Directed Association, Generalization, Dependency, Include, Extend, System Boundary, Package
Copyright (c) Korea Advanced Institute of Science and Technology
3/10/2010
Set alarm
3/10/2010
Activity Diagram
Supplements the use case by providing a graphical representation of the flow of interaction within a specific scenario
Initial/FinalState
Decision Activity
Activity
Activity
Condition
Valid passwords/ID Action1 Invalid passwords/ID Action2
ActionState, SubactivityState, InitialState, FinalState, Synchronization, Decision, Flow Final, Object Flow, Signal Accept State, Signal Send State, Transition, SelfTransition, Swimlane
Copyright (c) Korea Advanced Institute of Science and Technology
3/10/2010
Thumbnail views Select a specific camera Select specific camera - thumbnails Select camera icon
3/10/2010
Class Diagram
Class-based Modeling Represents the objects, operations, collaborations within the system
Object : It is manipulated in the system Operations : It will be applied to the object Collaborations : It is occurred between the classes
Class
3/10/2010
Company
+employer *
+employee 1..*
*
Person
Company
Department
Window
Frame
Channel
Subsystem, Package, Class, Interface, Enumeration, Signal, Exception, Port, Part, Association, DirectedAssociation, Aggregation, Composition, Generalization, Dependency, Realization, AssociationClass, Connector, Object, Link
Copyright (c) Korea Advanced Institute of Science and Technology
3/10/2010
Camera +type +ID +location +fieldView +panAngle +ZoomSetting +determineType() +translateLocation() +displayID() +displayView() +displayZoom()
Aggregation
3/10/2010
interaction during which it satisfies some condition, performs some action, or waits for some event.
Start/Stop
transition
State
State1
Event/Action
State2
State,SubmachineState, InitialState, FinalState, JunctionPoint, ChoicePoint, ShallowHistory, DeepHistory, Synchronization, Flow Final, Transition,SelfTransition
Copyright (c) Korea Advanced Institute of Science and Technology
3/10/2010
Reset
Activate deactivatePassword
ActionOnAlarm MonitoringSystemStatus entry/set systemStatus "monitoring" entry/set displayMsg1 "Armed" entry/set displayMsg2 "" entry/set displayStatus steady do/monitorAndControlSystem do/handleKey falseAlarm entry/set systemStatus "monitorAndAlarm" entry/set displayMsg1 "ALARM" entry/set displayMsg2 triggeringSensor entry/set displayStatus fastBlinking do/monitorAndControlSystem do/soundAlarm do/notifyAlarmResponders do/handleKey
timeOut sensorTriggered/startTimer
sensorTriggered/restartTimer
3/10/2010
Sequence Diagram
The type of behavioral representation indicates how events cause transitions from object to object
Object/Life Line/Activation
Object
Flow of control
Object1 Object2
4 : Call() 5 : Send
7 : SelfStimulus()
9 : Return
3/10/2010
Homeowner
Control panel
System
Sensors
3/10/2010
References
21
Introduction to Software Engineering (CS350)
[1] StarUML 5.0 User Guide, http://staruml.sourceforge.net/docs/userguide(en)/toc.html [2] StarUML Tutorial, http://cnx.org/content/m15092/latest/
[3] Roger S. Pressman, Software Engineering: A Practitioners Approach, McGraw-Hill, 7th Edition, ISBN-10 : 0073375977 / ISBN-13 : 9780073375977 , Edition, 2009.
3/10/2010
22
Questions?
3/10/2010