1 Chapter 2: Architectural Design. 2 Introduction Structure or structures of the system, which comprise software components, the externally visible properties.

Slides:



Advertisements
Similar presentations
Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
Advertisements

Chapter 14: Design Method --- data and architectural design Design -- A multistep process in which representations of data structure, program structure,
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
Course Instructor: Aisha Azeem
Chapter 10: Architectural Design
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Architectural Design.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Chapter 7 Requirement Modeling : Flow, Behaviour, Patterns And WebApps.
Chapter 10 Architectural Design
1 Chapter 14 Architectural Design. 2 Why Architecture? The architecture is not the operational software. Rather, it is a representation that enables a.
Chapter 6 System Engineering - Computer-based system - System engineering process - “Business process” engineering - Product engineering (Source: Pressman,
1 COSC 4406 Software Engineering COSC 4406 Software Engineering Haibin Zhu, Ph.D. Dept. of Computer Science and mathematics, Nipissing University, 100.
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.1.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
An Introduction to Software Architecture
1 Chapter 14 Architectural Design 2 Why Architecture? The architecture is not the operational software. Rather, it is a representation that enables a.
Why Architecture? The architecture is not the operational software. Rather, it is a representation that enables a software engineer to: (1) analyze the.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 07. Review Architectural Representation – Using UML – Using ADL.
Lecture 9: Chapter 9 Architectural Design
Odyssey A Reuse Environment based on Domain Models Prepared By: Mahmud Gabareen Eliad Cohen.
SOFTWARE DESIGN.
Chapter 13 Architectural Design
Design engineering Vilnius The goal of design engineering is to produce a model that exhibits: firmness – a program should not have bugs that inhibit.
1 What is OO Design? OO Design is a process of invention, where developers create the abstractions necessary to meet the system’s requirements OO Design.
Developing Component- Based Systems X LIU, School of Computing, Napier University TIP This chapter discusses the techniques to develop component-based.
ARCHITECTURAL DESIGN. Why is Architecture Important? Representations of software architecture are an enabler for communication between all parties (stakeholders)
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 10a: Architectural Design Software Engineering: A Practitioner’s Approach, 6/e Chapter 10a:
1 Supplementary Slides for Software Engineering: A Practitioner's Approach, 5/e Supplementary Slides for Software Engineering: A Practitioner's Approach,
Architectural Design Introduction Design has been described as a multistep process in which representations of data and program structure,
Software Engineering B.Tech IT/II Sem-II Term: Unit-4 PPT SLIDES Text Books:1.Software Engineering, A practitioner’s approach Roger s. Pressman.
Chapter : 9 Architectural Design
Chapter 13 설계 개념 Architectural Design 임현승 강원대학교 Revised from the slides by Roger S. Pressman and Bruce R. Maxim for the book “Software Engineering: A Practitioner’s.
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 10b: Architectural Design Software Engineering: A Practitioner’s Approach, 6/e Chapter 10b:
Chapter : 9 Architectural Design. Software Architecture What Is Architecture? The software architecture of a program or computing system is the structure.
1 Chapter : Architecture & User Interface Design.
Architectural Complexity  A useful technique for assessing the overall complexity of a proposed architecture is to consider dependencies between components.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Chapter 9 Architectural Design. Why Architecture? The architecture is not the operational software. Rather, it is a representation that enables a software.
Design Engineering 1. Analysis  Design 2 Characteristics of good design 3 The design must implement all of the explicit requirements contained in the.
Chapter 13 Architectural Design
Architectural Design.
Lecture 9- Design Concepts and Principles
Chapter 13 Architectural Design
Part 3 Design What does design mean in different fields?
Software Quality Engineering
CHAPTER 2 CREATING AN ARCHITECTURAL DESIGN.
Chapter 13 Architectural Design
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 2 Database System Concepts and Architecture.
Object-Oriented Analysis
Highlights of data design and
Chapter 5 Designing the Architecture Shari L. Pfleeger Joanne M. Atlee
CS 425/625 Software Engineering Architectural Design
Chapter 9 Architectural Design
Software Architecture
Architectural Design.
Chapter 6 – Architectural Design
Design Model Like a Pyramid Component Level Design i n t e r f a c d s
Lecture 9- Design Concepts and Principles
Chapter 13 Architectural Design
An Introduction to Software Architecture
Chapter 9 Architectural Design.
Chapter 5 Architectural Design.
Design Yaodong Bi.
Chapter 6: Architectural Design
Software Development Process Using UML Recap
Software Engineering: A Practitioner’s Approach, 6/e Chapter 10 Architectural Design copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For.
Presentation transcript:

1 Chapter 2: Architectural Design

2 Introduction Structure or structures of the system, which comprise software components, the externally visible properties of those components, and the relationships among them What is architecture design?

3 Introduction … Purpose of architecture design:- in meeting its stated requirements,  To analyze the effectiveness of the design in meeting its stated requirements, at a stage when making design changes is still relatively easy, and  To consider architectural alternatives at a stage when making design changes is still relatively easy, and associated with the construction of the software.  To reduce the risks associated with the construction of the software.

4 Importance of Architecture Design …  Representations of software architecture are enablers for communication  The architecture highlights early design decisions  Architecture “constitutes a relatively small, intellectually graspable model of how the system is structured and how its components work together”

5 Category of Architecture Design … Divided into 2 level Data design Architecture Design  Multi databases  Data mining  Data warehouse  Data centered  Data flow  Call and return  Object oriented  Layered

6 Architecture style … Data centered architecture Refers to systems in which the access and update of a widely accessed data store is an apt description Goal: achieving the quality of integration of data Fig. 1: Data centered style

7 Architecture style … Data flow architecture: batch sequential style The data-bow style is characterized by viewing the system as a series of transformations on successive pieces of input data Goal: achieving the qualities of reuse and modifiability Fig. 2: Data flow architecture (batch sequential)

8 Architecture style … Data flow architecture: pipe and filter style Fig. 4: Data flow architecture (pipe & filter style)

9 Architecture style … Call & return architecture Architectures is the classical programming paradigm. A program is decomposed hierarchically Goal: achieving the qualities of modifiability and solvability. Fig. 5: Call & return architecture

10 Architecture style … Object oriented architecture Emphasizes the bundling of data and methods to manipulate and access that data The object abstractions form components that provide black- box services and other components that request those services. The goal is to achieve the quality of modifiability. Fig. 6: Object oriented style

11 Architecture style … Layered architecture Components are assigned to layers to control inter-component interaction. In the pure version of this architecture, each level communicates only with its immediate neighbours. Goal: achieve the qualities of modifiability and, usually, portability Fig. 7: Layered style

12 Architecture patterns …  Concurrency—applications must handle multiple tasks in a manner that simulates parallelism  Persistence—Data persists if it survives past the execution of the process that created it. Two patterns are common: a database management system pattern that applies the storage and retrieval capability of a DBMS to the application architecture an application level persistence pattern that builds persistence features into the application architecture  Distribution— the manner in which systems or components within systems communicate with one another in a distributed environment A broker acts as a ‘middle-man’ between the client component and a server component.

13 Architecture design …  The software must be placed into context The design should define the external entities (other systems, devices, people) that the software interacts with and the nature of the interaction  A set of architectural archetypes should be identified An archetype is an abstraction (similar to a class) that represents one element of system behavior  The designer specifies the structure of the system by defining and refining software components that implement each archetype

14 Architecture context …

15 Archetype …

16 Components structure …

17 Refined components structure …

18 1. Collect scenarios. 2. Elicit requirements, constraints, and environment description. 3. Describe the architectural styles/patterns that have been chosen to address the scenarios and requirements: module view module view process view process view data flow view data flow view 4. Evaluate quality attributes by considered each attribute in isolation. 5. Identify the sensitivity of quality attributes to various architectural attributes for a specific architectural style. 6. Critique candidate architectures (developed in step 3) using the sensitivity analysis conducted in step 5. Analyzing architecture design …

19  The overall complexity of a proposed architecture is assessed by considering the dependencies between components within the architecture  Sharing dependencies represent dependence relationships among consumers who use the same resource or producers who produce for the same consumers.  Flow dependencies represent dependence relationships between producers and consumers of resources.  Constrained dependencies represent constraints on the relative flow of control among a set of activities. Architectural complexity …

20  Architectural description language (ADL) provides a semantics and syntax for describing a software architecture  Provide the designer with the ability to: decompose architectural components compose individual components into larger architectural blocks and represent interfaces (connection mechanisms) between components. ADL …

21 "four bedrooms, three baths, lots of glass..." customer requirements architectural design An Architecture design method …

22 ProgramArchitecture Deriving program architecture …

23  “horizontal” and “vertical” partitioning are required Partitioning the architecture …

24  Define separate branches of the module hierarchy for each major function  Use control modules to coordinate communication between functions function 1 function 3 function 2 Vertical partitioning …

25  Design so that decision making and work are stratified  Decision making modules should reside at the top of the architecture workers decision-makers Horizontal partitioning: factoring …

26  Results in software that is easier to test  Leads to software that is easier to maintain  Results in propagation of fewer side effects  Results in software that is easier to extend Why partitioning architecture? …

27 Case study 1 …  E-Learning architecture design (layered architecture)  Divided into four layers Application layer Provide reusable domain solution of e-learning Describe the functional and non-functional requirements Core layer and have their own goal Production line layer E-learning software systems Application framework layer Component library layer

28 Case study 1 …  Divided into four layers Application framework layer Collection of public frameworks and domain specific framework Series of related components, components associated relations and restrictions Component library layer Foundation of the platform software architecture Reusable collection of software units which is already validate by other projects

29 Case study 1 … Educational Resources Development System Educational Resources Management Distance learning system Special topic learning website clusters Education info. management system E-teaching SPL E-learning SPL Education Information Management SPL Education Resources Management SPL Education Management Management SPL UI Management Access Control Management User Management Work Flow Engineer System Management Plan Design Homework Content Presentation Examination Assessment Exercise Management Educational Administration Information Management Learning resources development Learning resources management Teaching & learning environment building Education information management Cooperation management Common components Component library layer Application framework layer Software product layer Application layer

30 Case study 1 …  Implementation User Interface 1

31 Case study 2 …  Audio transcription system (pipe & filter style) Diagram flow Acoustic analysis Filter out non-speech segments Interactive segmentation and labelling Word recognition Audio signal Partitioned data Word transcription Music, noise & speech acoustic models Male/Female models telephone/non-tel models Acoustic models Lexicon language model

32 Case study 3 …  Projection keyboard (call & return architecture) Consists of three main physical parts: A-optical system, B-infrared light source, C-sensor/camera

33 Case study 3 …  Projection keyboard (call & return architecture) The structure of keystroke interpretation algorithm SegmentationLocalizations Event Classification Triangulation Event Generation Key Identification Image Finger position in sensor coordinated Key down, up, held down Finger position in keyboard coordinated