Presentation is loading. Please wait.

Presentation is loading. Please wait.

Designing software applications

Similar presentations


Presentation on theme: "Designing software applications"— Presentation transcript:

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


Download ppt "Designing software applications"

Similar presentations


Ads by Google