Designing software applications Lection 2 Documenting software architectures

  • Slides: 35
Download presentation
Designing software applications Lection 2 Documenting software architectures

Designing software applications Lection 2 Documenting software architectures

Software architecture documentation • What to document? • How to document?

Software architecture documentation • What to document? • How to document?

Software architecture View • Unit of architecture documentation • Constists of parts: – Main

Software architecture View • Unit of architecture documentation • Constists of parts: – Main presentation – Catalog of elements and their relations – Context information (diagram)

4+1 Design View approach • • • Scenarios view Physical view Process view Logical

4+1 Design View approach • • • Scenarios view Physical view Process view Logical view Component view

View and beyond approach • Unit of architecture documentation • Constists of parts: –

View and beyond approach • Unit of architecture documentation • Constists of parts: – Main presentation – Catalog of elements and their relations – Contex Diagram

Architectural view: main presentation • Digram • Table

Architectural view: main presentation • Digram • Table

Architectural view: main presentation • Digram • Table

Architectural view: main presentation • Digram • Table

Architectural view: main presentation

Architectural view: main presentation

Architectural view: Catalog of elements • Server is a physical node. DBMS and Message.

Architectural view: Catalog of elements • Server is a physical node. DBMS and Message. Server components are deployed on this node. • Client is a physical node for client app (client component) deployment. • Windows Server 2008 is an execution environment for DBMS and Web server.

Architectural view: Catalog of elements • Internet Information Services is a web server which

Architectural view: Catalog of elements • Internet Information Services is a web server which acts as an execution environment for the messages exchange server. • Windows 7 is en execution enviroment for the client application.

Architectural view: Catalog of relations • Server physical node – Client physiscal node, 1

Architectural view: Catalog of relations • Server physical node – Client physiscal node, 1 -*

Architectural view • Module views • Component-and-connector views • Allocation views

Architectural view • Module views • Component-and-connector views • Allocation views

Architectural views: Module views • how a system’s source code is decomposed into units,

Architectural views: Module views • how a system’s source code is decomposed into units, • what kinds of assumptions each unit can make about services provided by other units • how those units are aggregated into larger ensembles.

Module views: Elements • Modules • Sub. Modules

Module views: Elements • Modules • Sub. Modules

Module views: Relations • Is part of (module-submodule). • Depends on (dependency).

Module views: Relations • Is part of (module-submodule). • Depends on (dependency).

Module views: Relations • Construction – How is source code mapped to modules and

Module views: Relations • Construction – How is source code mapped to modules and consequently to files and directories.

Module views: Relations • Analysis – How are the functional requirements of a system

Module views: Relations • Analysis – How are the functional requirements of a system supported by module responsibilities?

Module views: Relations • Communication. – A module view can be used for explaination

Module views: Relations • Communication. – A module view can be used for explaination of the system’s functionality to someone not familiar with it. – A module view can be used for explaination of the structure of the code base to a new developer • provide a top-down presentation of the system’s • responsibilities and therefore can guide the

Module views: Notations • Informal • Formal

Module views: Notations • Informal • Formal

Module views: Informal notations • Modules are represented as boxes • Relations are different

Module views: Informal notations • Modules are represented as boxes • Relations are different types of lines

Module views: Informal notations UI Services Domain. Model

Module views: Informal notations UI Services Domain. Model

Module views: formal notations • UML Package Diagram

Module views: formal notations • UML Package Diagram

Module styles • Decomposition style • Uses style • generalization style, used to indicate

Module styles • Decomposition style • Uses style • generalization style, used to indicate specialization relations • among modules • Layered style • Aspects style • Data model style

Decomposition style • Module • Sub. Module

Decomposition style • Module • Sub. Module

Decomposition style

Decomposition style

Uses style • how do modules depend on each other? • How to plan

Uses style • how do modules depend on each other? • How to plan development taking in account dependencies? • How do changes affect other modules?

Uses style UI Domain Model Services UI 0 0 0 Domain Model 1 0

Uses style UI Domain Model Services UI 0 0 0 Domain Model 1 0 1 Services 1 0 0

Uses style

Uses style

Aspects styles • Crosscutting functionality – Logging – Security – Data validation

Aspects styles • Crosscutting functionality – Logging – Security – Data validation

Aspects styles • Implementation of crosscutting functionality – Inheritance – Aspects

Aspects styles • Implementation of crosscutting functionality – Inheritance – Aspects

Layered style • Crosscutting functionality – Logging – Security – Data validation

Layered style • Crosscutting functionality – Logging – Security – Data validation

Aspects styles: Notation • UML class diagramm with stereotype „Aspect”

Aspects styles: Notation • UML class diagramm with stereotype „Aspect”

Data & Domain Model style • UML class diagramm with stereotype „Aspect”

Data & Domain Model style • UML class diagramm with stereotype „Aspect”

TASK • Internet Information Services is a web server which acts as an execution

TASK • Internet Information Services is a web server which acts as an execution environment for the messages exchange server. • Windows 7 - среда исполнения для компонента Text. Echange. App.

TASK • Application type. Justify your decision (60 words). • Module decomposition and uses

TASK • Application type. Justify your decision (60 words). • Module decomposition and uses view. At least 5 modules, UML Package diagram notation. • Elements and their descriptions catalog 1. Weather and wind map app/ Piano app 2. Voice-over-IP application / Client exchange broker app 3. Floor scheme builder / bus timetable