Download presentation
Presentation is loading. Please wait.
1
Designing software applications
Lection 2 Documenting software architectures
2
Software architecture documentation
What to document? How to document?
3
Software architecture View
Unit of architecture documentation Constists of parts: Main presentation Catalog of elements and their relations Context information (diagram)
4
4+1 Design View approach Scenarios view Physical view Process view
Logical view Component view
5
View and beyond approach
Unit of architecture documentation Constists of parts: Main presentation Catalog of elements and their relations Contex Diagram
6
Architectural view: main presentation
Digram Table
7
Architectural view: main presentation
Digram Table
8
Architectural view: main presentation
9
Architectural view: Catalog of elements
Server is a physical node. DBMS and MessageServer 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.
10
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.
11
Architectural view: Catalog of relations
Server physical node – Client physiscal node, 1-*
12
Architectural view Module views Component-and-connector views
Allocation views
13
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.
14
Module views: Elements
Modules SubModules
15
Module views: Relations
Is part of (module-submodule). Depends on (dependency).
16
Module views: Relations
Construction How is source code mapped to modules and consequently to files and directories.
17
Module views: Relations
Analysis How are the functional requirements of a system supported by module responsibilities?
18
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 learning process. For a system whose implementation is already in place, module views, if kept up to date, are very helpful, as they explain the structure of the code base to a new developer on the team—much more effective than providing the URL to the version management system repository and asking him or her to browse the source files and read the code. Thus, up-to-date module views are very useful during system maintenance.
19
Module views: Notations
Informal Formal
20
Module views: Informal notations
Modules are represented as boxes Relations are different types of lines
21
Module views: Informal notations
UI Services DomainModel
22
Module views: formal notations
UML Package Diagram
23
Module styles Decomposition style Uses style
generalization style, used to indicate specialization relations among modules Layered style Aspects style Data model style
24
Decomposition style Module SubModule
25
Decomposition style
26
Uses style how do modules depend on each other?
How to plan development taking in account dependencies? How do changes affect other modules?
27
Uses style UI Domain Model Services 1
28
Uses style
29
Aspects styles Crosscutting functionality Logging Security
Data validation
30
Aspects styles Implementation of crosscutting functionality
Inheritance Aspects
31
Layered style Crosscutting functionality Logging Security
Data validation
32
Aspects styles: Notation
UML class diagramm with stereotype „Aspect”
33
Data & Domain Model style
UML class diagramm with stereotype „Aspect”
34
TASK Internet Information Services is a web server which acts as an execution environment for the messages exchange server. Windows 7 - среда исполнения для компонента TextEchangeApp.
35
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 Weather and wind map app/ Piano app Voice-over-IP application / Client exchange broker app Floor scheme builder / bus timetable
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.