Software Architecture School of Computer Science, University of - - PowerPoint PPT Presentation

software architecture
SMART_READER_LITE
LIVE PREVIEW

Software Architecture School of Computer Science, University of - - PowerPoint PPT Presentation

Software Architecture Software Architecture School of Computer Science, University of Oviedo Lab. 03 UML diagrams PlantUML Jose Emilio Labra Gayo Pablo Gonzlez Irene Cid 2019-20 Hugo Lebredo Software Architecture UML Unified Modeling


slide-1
SLIDE 1

Software Architecture

School of Computer Science, University of Oviedo

Software Architecture

  • Lab. 03

UML diagrams PlantUML

2019-20 Jose Emilio Labra Gayo Pablo González Irene Cid Hugo Lebredo

slide-2
SLIDE 2

Software Architecture

School of Computer Science, University of Oviedo

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)

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

slide-3
SLIDE 3

Software Architecture

School of Computer Science, University of Oviedo

14 UML Diagram types

Fuente: Wikipedia

slide-4
SLIDE 4

Software Architecture

School of Computer Science, University of Oviedo

Class diagrams

MusicManager

+conf:Configuration

  • playList:List<Song>
  • activeSong:integer

+randomPlay() +addSong(Song) +queryConf():Configuracion .. Visibility:

  • Private
  • ~ Package
  • # Protectec
  • + Public
  • Models the statis part of the

project, without taking into account the time aspect

  • Explains the relationships

between the different classes.

  • Arc42:8-Concepts
slide-5
SLIDE 5

Software Architecture

School of Computer Science, University of Oviedo

Person

+name

Professor

+startDate

University

+name +city

Student

+name +id +id

Course

+name

1 1..* 1..* 1

Example

Inheritance Composition

(when the container is destroyed, the contents are destroyed)

Aggregation

slide-6
SLIDE 6

Software Architecture

School of Computer Science, University of Oviedo

UML Component diagram

GUI Catalog Shipping Cart Requires Provides

slide-7
SLIDE 7

Software Architecture

School of Computer Science, University of Oviedo

Sequence diagram

Models communication between some objects at a given time Objects can send two types of messages: synchronous or asynchronous Arc42:6-RuntimeView

slide-8
SLIDE 8

Software Architecture

School of Computer Science, University of Oviedo

Deployment diagrams

Represents the final location of the components in an app Elements:

Nodes , Components, relationships

Arc42: 07.DeploymentView

Fuente:VisualParadigm

slide-9
SLIDE 9

Software Architecture

School of Computer Science, University of Oviedo

Text-based tools

PlantUML

YUML

@startuml component actor Usuario participant MusicManager participant Configuration boundary Player Usuario -> MusicManager: play MusicManager -> MusicManager: random MusicManager -> Configuration : getPlayer MusicManager --> Player : play @enduml

slide-10
SLIDE 10

Software Architecture

School of Computer Science, University of Oviedo

Drawing tools

Powerpoint MsVisio UMLet (https://www.umlet.com/)

slide-11
SLIDE 11

Software Architecture

School of Computer Science, University of Oviedo

CASE tools

EnterpriseArchitect

Reverse Enginering with Java/C++ Oracle connection for relational databases Word, HTML templates

MagicDraw

▫ Java based ▫ UML diagrams ▫ Reverse Engineering Java , C++

Visual Paradigm

▫ Commercial (student license)

Modelio

▫ Open source ▫ Java based ▫ Reverse Engineering Java , C++

slide-12
SLIDE 12

Software Architecture

School of Computer Science, University of Oviedo

Diagramming the architecture

Video:

https://www.youtube.com/watch?v=wgpSdpny-0c

Checklist:

https://c4model.com/assets/software-architecture-diagram-review-checklist.pdf

slide-13
SLIDE 13

Software Architecture

School of Computer Science, University of Oviedo

End of presentation