Software Architecture Software Architecture School of Computer Science, University of Oviedo Lab. 03 UML diagrams PlantUML Jose Emilio Labra Gayo Pablo González Irene Cid 2019-20 Hugo Lebredo
Software Architecture UML Unified Modeling Language Before UML there were several proposals UML notation unifies them Proposed by OMG (Object Management Group) Current version UML 2.5.1 (2017) School of Computer Science, University of Oviedo Model = abstraction of a problem It can have different diagrams Diagram = partial graphic representation of a model OCL = Object Constraint Language Constraints between objects using formal language
Software Architecture 14 UML Diagram types School of Computer Science, University of Oviedo Fuente: Wikipedia
Software Architecture Class diagrams • Models the statis part of the project, without taking into MusicManager account the time aspect +conf:Configuration • Explains the relationships -playList:List<Song> between the different classes. Visibility: -activeSong:integer • - Private • Arc42:8-Concepts +randomPlay() • ~ Package School of Computer Science, University of Oviedo +addSong(Song) • # Protectec +queryConf():Configuracion • + Public ..
Software Architecture Example Person +name Inheritance +id School of Computer Science, University of Oviedo Professor University Student +startDate +name +name +city +id Aggregation 1 1 Composition (when the container is destroyed, the Course contents are destroyed) 1..* 1..* +name
Software Architecture UML Component diagram Catalog GUI Cart School of Computer Science, University of Oviedo Shipping Provides Requires
Software Architecture Sequence diagram Models communication between some objects at a given time Objects can send two types of messages: synchronous or asynchronous School of Computer Science, University of Oviedo Arc42:6-RuntimeView
Software Architecture Deployment diagrams Represents the final location of the components in an app Elements: Nodes , Components, relationships School of Computer Science, University of Oviedo Arc42: 07.DeploymentView Fuente:VisualParadigm
Software Architecture Text-based tools YUML PlantUML @startuml component actor Usuario participant MusicManager participant Configuration boundary Player Usuario -> MusicManager: play School of Computer Science, University of Oviedo MusicManager -> MusicManager: random MusicManager -> Configuration : getPlayer MusicManager --> Player : play @enduml
Software Architecture Drawing tools Powerpoint MsVisio UMLet (https://www.umlet.com/) School of Computer Science, University of Oviedo
Software Architecture CASE tools MagicDraw EnterpriseArchitect ▫ Java based Reverse Enginering with Java/C++ ▫ UML diagrams Oracle connection for relational ▫ Reverse Engineering Java , C++ databases Visual Paradigm Word, HTML templates School of Computer Science, University of Oviedo ▫ Commercial (student license) Modelio ▫ Open source ▫ Java based ▫ Reverse Engineering Java , C++
Software Architecture Diagramming the architecture Video: https://www.youtube.com/watch?v=wgpSdpny-0c Checklist: School of Computer Science, University of Oviedo https://c4model.com/assets/software-architecture-diagram-review-checklist.pdf
School of Computer Science, University of Oviedo Software Architecture End of presentation
Recommend
More recommend