Visual Paradigm UML Modeling Tutorial CSCI577a Software Engineering I Bo Wang bo.wang.2@usc.edu
Background 1970s 1980s 1990s Deposit Transfer Withdraw User Money Account
Background V 14.1 …
Installation Download https://www.visual-paradigm.com/download/ License https://greenbay.usc.edu/csci577/fall2017/tools Sample https://greenbay.usc.edu/csci577/tools/VisualParadigm/CS577_Sample_for_14.1.vpp
CS577a Project Requirements System and Software Architecture Description (SSAD) E-R Diagram Robustness Diagram
CS577a Project Requirements Project > Properties > Project name VPP_F17a_TXX_VX.X e.g. VPP_F17a_T01_V1.0.vpp View -> Panes -> Diagram Navigator Submit with SSAD e.g. SSAD (doc, pdf, vpp) Learn to use it in OOA&D !
CS577a Project Requirements FCR System Context : Communication Diagram Artifacts and Information : E-R Diagram Behavior : Use Case Diagram DCR Domain Model : Class Diagram Hardware/Software Components : Component Diagram Deployment : Deployment Diagram Design Classes : Class Diagram Robustness Analysis : Class Diagram Sequence Diagram : Sequence Diagram
Bank Counter Transaction Frequent Questions 1. extend vs. include extend Extending use case is supplementary (optional). Extended use case is independent and meaningful on its own. include to simplify large use case by splitting it into several use cases. to extract common parts of the behaviors of two or more use cases. <<include>> Bank Counter Transaction
Frequent Questions 2. Composition vs. Aggregation Composition "physical" containment. e.g. Engine is a part of Car. If Car is destroyed, so is Engine. Aggregation "catalog" containment. e.g. Person has a(n) Address. Address exists independently from Person
Frequent Questions 3. Other relationships 4. Stereotypes Class Diagram Dependency (See slide#8) Generalization 4. Stereotypes Class Diagram Right Click on a class -> Stereotypes -> choose boundary / control / entity
Reference https://www.visual-paradigm.com/support/documents/vpuserguide.jsp (Sep. 1st, 2017) http://www.uml-diagrams.org/use-case-include.html (Sep. 1st, 2017) https://en.wikipedia.org/wiki/Unified_Modeling_Language (Sep. 1st, 2017) https://en.wikipedia.org/wiki/Class_diagram (Sep. 1st, 2017)