Designing software applications

Slides:



Advertisements
Similar presentations
By Philippe Kruchten Rational Software
Advertisements

UML Static diagrams. Static View: UML Component Diagram Component diagrams show the organization and dependencies among software components. Component:
2 Object-Oriented Analysis and Design with the Unified Process Objectives  Explain how statecharts can be used to describe system behaviors  Use statecharts.
1 © Wolfgang Pelz UML3 UML 3 Notations describe how to use reusable software. Package Component Deployment Node.
Satzinger, Jackson, and Burd Object-Orieneted Analysis & Design
The Need for Packages How do you break down a large system into smaller systems? Structured methods use functional decomposition Functions represent something.
SE-565 Software System Requirements More UML Diagrams.
What is Software Architecture?
Software Architecture in Practice (3rd Ed) Introduction
Objectives Design Class Diagrams Issues in system design Generalization Review UML papers.
Documenting Software Architectures
What is an Architecture?. An Example? Invoice OrderDelivery Customer.
Chapter 13 Starting Design: Logical Architecture and UML Package Diagrams.
© Drexel University Software Engineering Research Group (SERG) 1 Based on the paper by Philippe Kruchten from Rational Software.
C Copyright © 2009, Oracle. All rights reserved. Appendix C: Service-Oriented Architectures.
An Introduction to Software Architecture
Architecting Web Services Unit – II – PART - III.
Smith’s Aerospace © P. Bailey & K. Vander Linden, 2005 Architecture: Component and Deployment Diagrams Patrick Bailey Keith Vander Linden Calvin College.
Session 26 Modeling the Static View: The Deployment Diagram Written by Thomas A. Pender Published by Wiley Publishing, Inc. October 27, 2011 Presented.
Software Architecture in Practice Architectural description (The reduced version)
Object Management Group (OMG) Specifies open standards for every aspect of distributed computing Multiplatform Model Driven Architecture (MDA)
Software Architecture and Design Dr. Aldo Dagnino ABB, Inc. US Corporate Research Center October 23 rd, 2003.
SOFTWARE ARCHITECT – DESIGN.  Introduction  Architecture Drivers  POS System Architecture  Mapping Between Perspective  Evaluate Architecture  Project.
Modelling Class T16: Conceptual Modelling – Architecture Image from
Documenting Software Architectures 1.Uses and Audiences for Architecture Documentation Architecture documentation serves as a means of education Architecture.
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
Implementation Diagrams
R R R CSE870: UML Component Diagrams Implementation Diagrams.
1/26 On-demand Learning Series Software Engineering of Web Application - Object-Oriented Development & UML Hunan University, Software School.
1 CMPT 275 High Level Design Phase Modularization.
Component, Deployment and Package Diagrams CSIS3600.
Unified Modelling Language (UML) Software Engineering Lab. Sharif University of Technology.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
1 Software Design Lecture What’s Design It’s a representation of something that is to be built. i.e. design  implementation.
1 5/18/2007ã 2007, Spencer Rugaber Architectural Documentation Graphical (views) and textual Kruchten's 4+1 Views –Philippe B. Kruchten. "The 4+1 View.
1 Architectural Blueprints—The “4+1” View Model of Software Architecture (
Introduction to UML and Rational Rose UML - Unified Modeling Language Rational Rose 98 - a GUI tool to systematically develop software through the following.
R R R CSE870: UML Component Diagrams Implementation Diagrams.
Deployment Diagram.
Lecture 12 Attribute Driven Design Again
Introduction to UML.
UML Diagrams By Daniel Damaris Novarianto S..
Component and Deployment Diagrams
Deployment Diagram.
Designing software applications
Main issues: • What do we want to build • How do we write this down
Course Outcomes of Object Oriented Modeling Design (17630,C604)
Architecting Web Services
Unified Modeling Language
G. Pullaiah College of Engineering and Technology
Architecting Web Services
Component and Deployment Diagrams
OO Methodology OO Architecture.
UML Diagrams Jung Woo.
Service-centric Software Engineering
What is an Architecture?
More Model Elements.
Starting Design: Logical Architecture and UML Package Diagrams
Design and Implementation
IMPORTANT NOTICE TO STUDENTS:
Analysis models and design models
An Introduction to Software Architecture
The Islamia University Bahawalpur
4+1 View Model of Software Architecture
What is an Architecture?
Sylnovie Merchant, Ph.D. MIS 161 Spring 2005
4+1 View Model of Software Architecture
Design Yaodong Bi.
Chapter 22 Object-Oriented Systems Analysis and Design and UML
Software Development Process Using UML Recap
Presentation transcript:

Designing software applications Lection 2 Documenting software architectures

Software architecture documentation What to document? How to document?

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 view Component view

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

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.

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 Module views Component-and-connector views Allocation views

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 SubModules

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

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 supported by module responsibilities?

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.

Module views: Notations Informal Formal

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

Module views: Informal notations UI Services DomainModel

Module views: formal notations UML Package Diagram

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 SubModule

Decomposition style

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 1

Uses style

Aspects styles Crosscutting functionality Logging Security Data validation

Aspects styles Implementation of crosscutting functionality Inheritance Aspects

Layered style Crosscutting functionality Logging Security Data validation

Aspects styles: Notation 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 environment for the messages exchange server. Windows 7 - среда исполнения для компонента TextEchangeApp.

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