lecture staruml
Post on 30-Oct-2015
32 Views
Preview:
DESCRIPTION
TRANSCRIPT
-
Introduction to Software Engineering (CS350)
Korea Advanced Institute of Science and Technology3/10/2010
StarUML User Guide
-
Introduction to Software Engineering (CS350)
Contents
StarUML Overview
Basics of StarUML
Use Case Diagram
Activity Diagram
State Diagram
Sequence Diagram
3/10/2010
2
Copyright (c) Korea Advanced Institute of Science and Technology
-
Introduction to Software Engineering (CS350)
StarUML Overview
What is StarUML? A software modeling platform that supports UML (Unified
Modeling Language) Based on UML 1.4 Provides UML 2.0 notation
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
Key Features Accurate UML standard model Open software model format True MDA(Model Driven Architecture) support Useful Add-Ins
3/10/2010
3
Copyright (c) Korea Advanced Institute of Science and Technology
-
Introduction to Software Engineering (CS350)
Basics of StarUML (1/6)
Installation http://staruml.sourceforge.net/en/ StarUML 5.0 (Windows Installer) Stable 5.0 (21.67MB)
Start Select New Project By Approach 4+1 View Model Default Approach Rational Approach UML Component Empty Project
3/10/2010
4
Copyright (c) Korea Advanced Institute of Science and Technology
-
Introduction to Software Engineering (CS350)
Basics of StarUML (2/6)
Add New Model
3/10/2010
5
Copyright (c) Korea Advanced Institute of Science and Technology
-
Introduction to Software Engineering (CS350)
Basics of StarUML (3/6)
Add New Diagram
3/10/2010
6
Copyright (c) Korea Advanced Institute of Science and Technology
-
Introduction to Software Engineering (CS350)
Basics of StarUML (4/6)
Whole view of StarUML and Add Elements of Diagram
3/10/2010
7
Copyright (c) Korea Advanced Institute of Science and Technology
Menu Bar
Toolbox Panel
Diagram Area
Model Explorer
Properties
Message Window
-
Introduction to Software Engineering (CS350)
Basics of StarUML (5/6)
Working with UML Profiles 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
8
Copyright (c) Korea Advanced Institute of Science and Technology
-
Introduction to Software Engineering (CS350)
Basics of StarUML (6/6)
Copy/Paste for Different Diagram Types
3/10/2010
9
Copyright (c) Korea Advanced Institute of Science and Technology
Diagram Type Copy/Paste
Class DiagramElements can be copied or pasted freely between Class, UseCase, Component,
CompositeStructure, and Deployment diagrams.
UseCase DiagramElements can be copied or pasted freely between Class, UseCase, Component,
CompositeStructure, and Deployment diagrams.
Sequence Diagrams Elements cannot be copied or pasted
Collaboration Diagrams Elements cannot be copied or pasted
Statechart Diagram Elements can be copied or pasted only between diagrams within the same StateMachine
Activity DiagramElements can be copied or pasted only between diagrams within the same
ActivityGraph
Component DiagramElements can be copied or pasted freely between Class, UseCase, Component,
CompositeStructure, and Deployment diagrams
Deployment DiagramElements can be copied or pasted freely between Class, UseCase, Component,
CompositeStructure, and Deployment diagrams
CompositeStructure
Diagram
Elements can be copied or pasted freely between Class, UseCase, Component,
CompositeStructure, and Deployment diagrams
-
Introduction to Software Engineering (CS350)
Use Case Diagram (1/2)
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
Notation of Use Case Diagram Use Case Actor System Boundary
Elements of Use Case Diagram Actor, UseCase, Association, Directed Association, Generalization,
Dependency, Include, Extend, System Boundary, Package
3/10/2010
10
Copyright (c) Korea Advanced Institute of Science and Technology
Use Case
Actor
Actor System
-
Introduction to Software Engineering (CS350)
Use Case Diagram (2/2)
3/10/2010
11
Copyright (c) Korea Advanced Institute of Science and Technology
System
Homeowner
Configure SafeHome system parameters
Access camera surveillance via the Internet
Set alarm
Cameras
SafeHome
Preliminary use-case diagram for the SafeHome system
(Figure 6.4)
-
Introduction to Software Engineering (CS350)
Activity Diagram (1/2)
Activity Diagram Supplements the use case by providing a graphical
representation of the flow of interaction within a specific scenario
Notation of Activity Diagram Initial/FinalState Decision Activity
Activity Condition
Elements of Activity Diagram ActionState, SubactivityState, InitialState, FinalState,
Synchronization, Decision, Flow Final, Object Flow, Signal Accept State, Signal Send State, Transition, SelfTransition, Swimlane
3/10/2010
12
Copyright (c) Korea Advanced Institute of Science and Technology
Activity
Action1 Action2
Invalid passwords/IDValid passwords/ID
-
Introduction to Software Engineering (CS350)
Activity Diagram (2/2)
3/10/2010
13
Copyright (c) Korea Advanced Institute of Science and Technology
Enter password and user ID
Select major function Prompt for reentry
Select surveillance
Select specific camera - thumbnails Select camera icon
View camera output in labeled window
Prompt for another view
Exit this functionSee another camera
Thumbnail views
Select a specific camera
No input tries remain
Input tries remain
Invalid passwords/IDValid passwords/ID
Activity diagram for Access camera surveillance
via the Internet display camera views function
(Figure 6.5)
-
Introduction to Software Engineering (CS350)
Class Diagram (1/2)
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
Notation of Class Diagram Class
3/10/2010
14
Copyright (c) Korea Advanced Institute of Science and Technology
name
+Attribute1#Attribute2-Attribute3
+Operation1()~Operation2()
+ : public
# : protected
- : private
~ : package
-
Introduction to Software Engineering (CS350)
Class Diagram (2/3)
Notions of Relationship between class Association
Aggregation
Composition
Dependency
Elements of Class Diagram Subsystem, Package, Class, Interface, Enumeration, Signal,
Exception, Port, Part, Association, DirectedAssociation, Aggregation, Composition, Generalization, Dependency, Realization, AssociationClass, Connector, Object, Link
3/10/2010
15
Copyright (c) Korea Advanced Institute of Science and Technology
Company Person+employee+employer
1..**
Company Department1 *
Window Frame1 *
FlimClip
+Name
+playOn()
Channel
-
Introduction to Software Engineering (CS350)
Class Diagram (2/3)
3/10/2010
16
Copyright (c) Korea Advanced Institute of Science and Technology
FloorPlan
+type+name+outsideDimensions
+determineType()+positionFloorplan()+Scale()+change color()
Camera
+type+ID+location+fieldView+panAngle+ZoomSetting
+determineType()+translateLocation()+displayID()+displayView()+displayZoom()
Wall
+type+WallDimensions
+determineType()()+Operation1computeDimensions()
WallSegment
+type+startCoordinates+stopCoordinates+nextWallSement
+determineType()+draw()
Window
+type+startCoordinates+stopCoordinates+nextWindow
+determineType()+draw()
Door
+type+startCoordinates+stopCoordinates+nextDoor
+determineType()+draw()
Composition
Aggregation
Class diagram for FloorPlan
(Figure 6.10)
-
Introduction to Software Engineering (CS350)
State Diagram (1/2)
Statechart Diagram A state is a condition during the life of an object or an
interaction during which it satisfies some condition, performs some action, or waits for some event.
Notation of State Diagram Start/Stop
transition
State
Elements of State Diagram State,SubmachineState, InitialState, FinalState, JunctionPoint,
ChoicePoint, ShallowHistory, DeepHistory, Synchronization, Flow Final, Transition,SelfTransition
3/10/2010
17
Copyright (c) Korea Advanced Institute of Science and Technology
State1 State2Event/Action
State1
entry/EntryAction1do/DoAction1exit/ExitAction1
-
Introduction to Software Engineering (CS350)
State Diagram (2/2)
3/10/2010
18
Copyright (c) Korea Advanced Institute of Science and Technology
Resetting
entry/set systemStatus "inactive"entry/set displayMsg1 "Starting system"entry/set displayMsg2 "Please wait"entry/set displayStatus slowBlinkingdo/run diagnostics
Idle
entry/set systemStatus "inactive"entry/set displayMsg1 "Ready"entry/set displayMsg2 ""entry/set displayStatus steadydo/handleKeyexit/powerOff
MonitoringSystemStatus
entry/set systemStatus "monitoring"entry/set displayMsg1 "Armed"entry/set displayMsg2 ""entry/set displayStatus steadydo/monitorAndControlSystemdo/handleKey
ActionOnAlarm
entry/set systemStatus "monitorAndAlarm"entry/set displayMsg1 "ALARM"entry/set displayMsg2 triggeringSensorentry/set displayStatus fastBlinkingdo/monitorAndControlSystemdo/soundAlarmdo/notifyAlarmRespondersdo/handleKey
off/powerOff
sensorTriggered/restartTimer
failureDetected/set displayMsg2 "contact Vendor"
Start/stop switch power "on"
systemOk
Reset
Activate
deactivatePassword
falseAlarm
timeOut
sensorTriggered/startTimer
deactivatePassword
State diagram for SafeHome security function
(Figure 7.4)
-
Introduction to Software Engineering (CS350)
Sequence Diagram (1/2)
Sequence Diagram The type of behavioral representation indicates how events cause
transitions from object to object
Notation of Sequence Diagram Object/Life Line/Activation Flow of control
Elements of Sequence Diagram Object, Stimulus, SelfStimulus, Combined Fragment, Interaction
Operand, FrameSubsytem
3/10/2010
19
Copyright (c) Korea Advanced Institute of Science and Technology
Object Object1 Object2
4 : Call()
5 : Send
7 : SelfStimulus()
9 : Return
-
Introduction to Software Engineering (CS350)
Sequence Diagram (2/2)
3/10/2010
20
Copyright (c) Korea Advanced Institute of Science and Technology
Homeowner Control panel System Sensors
1 : Password entered()
2 : Request lookup()
3 : Result
4 : Password = correct()
5 : Request activation()
6 : Activation successful
7 : Activation successful
-
Introduction to Software Engineering (CS350)
References
[1] StarUML 5.0 User Guide, http://staruml.sourceforge.net/docs/user-guide(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
21
Copyright (c) Korea Advanced Institute of Science and Technology
-
Questions?
3/10/2010
22
Korea Advanced Institute of Science and Technology
top related