UML OverviewUnified Modeling Languagehttp://www.uml.org/ 2 The Importance of Modeling What is a model A model is a simplification of reality Modeling is a proven and well-accepted engineering technique architectural model of house and buildings mathematical models for the relationship between kinetic energy and potential energy E = T + V
Why modeling language? Models(i.e. specifications) describe structures and behaviors of a system they intend to model.
Typical properties of good modelsCorrectEvery statement is one that the software shall meet UnambiguousIt has only one interpretationCompleteIt includes all the requirements Consistentno subset has conflict The fundamental property Unambiguity is the fundamental property of models UNAMBIGUOUS Correct Complete Consistent
A solution Visual notation like UML can be a solution! 방 - 희망온도범위 온도센서 - 현재온도 냉난방제어기 0..* 방 온도센서 - 현재온도 냉난방제어기 - 희망온도범위 2..* 0..*
The Unified Modeling Language The UML is a visual modeling language used to describe the model of software system Abstraction • Structure What are software’s features Behavior What constitutes the software and how do they interact? Model in UML System
Structural Modeling an Example UML Class diagram 방- 희망온도범위 + 현재온도조회() int+ 희망온도조회() :[최저,최고] - 현재온도계산(List ) :int 사무실 강의실 연구실 온도센서 - 온도 float+ 온도조회() :float 냉난방제어장치 + 난방가동() void+ 난방중지() void+ 냉방가동() void+ 냉방중지() :void 냉난방제어기 + 가동시작() :void 2..* 0..*
Behavioral Modeling an Example UML Sequence diagram :Timer :냉난방제어기 :방 0..* :온도센서 2..* :냉난방제어장치 loop opt [현재온도 < 희망최저온도] loop 가동시작() 현재온도조회() int) :float 현재온도계산(List) :int 희망온도조회() :[최저,최고] 난방가동()
10 History of UML “Method Wars of object-oriented paradigm in 1990s OOAD, OMT, OOSE, Fusion, OOA/OOD Each of the methods had its own notation, process, and tools UML = OMT by Rumbaugh + OOAD by Booch + OOSE by Jacobson + ...
UML: Unified Language
UML History Details
13Use of UML UML is used to describe software-intensive system in terms of object-oriented paradigmTypes of Systems Common characteristics Information systems store, retrieve, transform, and present information to user Technical systems handle and control technical equipment such as telecommunications, military systems, or industrial process often real-time systemEmbedded systems execute on simple hardware embedded in some other equipment such as mobile phone, car, household appliance developed through low-level programming and require real-time support Distributed systems distributed on a number of machines often built on object mechanism such as CORBA, DCOM, Java Beans/RMI UML x Diagram Taxonomy 14 Diagram Structure Diagram Behavior Diagram Interaction Diagram Use Case Diagram Activity Diagram Composite Structure Diagram Class Diagram Component Diagram Deployment Diagram Sequence Diagram Interaction Overview Diagram Object Diagram State Machine Diagram Package Diagram Communication Diagram Timing Diagram
Development ProcessAnalysis ClassSubsystem/Component class...class...class...DesignC lassSourceCodeTest Cases? Expressed in Terms OfStructured By Implemented By Realized By Verified By Architectural Design Detailed Design Implemen- tation Testing class....? Requirement RequirementAnalysis Usecase Spec. Supplementary Spec. Use case diagram
Class Diagram (realization) Interface (dependency) (generalization) (composition) (association) (role) (multiplicity)
Package diagram namespace P class C { … } class C { … } ; } ; namespace P class C { … } ; } ; namespace P { namespace P class C { … } } ;
Package diagram
Component Diagram
Composite Structure Diagram (port) (part) (connector) (port)
Activity Diagram (join) (fork) (decision) (merge) Object node
State Diagram do activity Entry action Exit action (composite state) transition (substate)
Sequence diagram Describe a behavior in the order of time
Deployment diagram
http://www-01.ibm.com/software/awdtools/modeler/swmodeler/index.html Rational Software Architect
Rhapsody http://www-01.ibm.com/software/rational/products/rhapsody/swarchitect/
Tau http://www-01.ibm.com/software/awdtools/tau/
Visual Paradigm for UML http://www.visual-paradigm.com/product/vpuml/
Enterprise Architect http://www.sparxsystems.com/products/ea/
MagicDraw https://www.magicdraw.com/
UML Diagramming
Document Generation
Document Template Designer e.g.) basic template
Document Template Designer
Forward Engineering generate source code in CC, System C, Java, … Reverse Engineering
Audit
Traceability Use case Analysis Class Component Design class Source Code Analysis Class Analysis Class Analysis Class Use case Use case Design class Component Design class Design class Component Design class Design class Source Code Source Code Analysis Class Component Design class Design class Source Code CR
Traceability Use case System Test Case CR TC TC TC TC n Scenario Scenario Scenario k TC 4
Traceability
Traceability
UML Maturity Model IndexLevelBenefitFocusTechnologiesResult5 Optimizing 100% Agile and Engineering Best Practices Model-based testing, nanocycle execution, test driven development, continuous integration Productivity and Quality4 Executing 70% Model-based verification Model execution, code generation, model- based debugging 3 Behavioral Modeling 30% State and algorithmic modeling State, sequence and activity diagrams 2 Structural Modeling 15% Class and block modeling of structure Class and block diagrams1 Visualization 5% Visualizing code structures Reverse engineering 0 Code Based Development 0% Manual, time intensive heroic development Bruce Douglass, “Bruce's Top Ten Modeling Hints #9: All models are abstractions but some are useful” Questions Any Questions?
Share with your friends: |