Software Engineering Architectural Design Chapter 6 Dr.Doaa Sami

Slides:



Advertisements
Similar presentations
Lecturer: Sebastian Coope Ashton Building, Room G.18 COMP 201 web-page: Lecture.
Advertisements

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
SWE Introduction to Software Engineering
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
Establishing the overall structure of a software system
SWE Introduction to Software Engineering
Course Instructor: Aisha Azeem
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
Chapter 6: Architectural Design
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
Chapter 7: Architecture Design Omar Meqdadi SE 273 Lecture 7 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
CS451 Lecture 13: Architectural Design Chapter 10
Chap 8. Architectural Design
Architectural Design. Recap Introduction to design Design models Characteristics of good design Design Concepts.
©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 13Slide 1 Architectural Design u Establishing the overall structure of a software system.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Chapter 10 Architectural Design.
Chapter 6 – Architectural Design Edited by Dr. Issam Al-Azzoni Software Engineering - Sommerville 1Chapter 6 Architectural design.
Architectural Design portions ©Ian Sommerville 1995 Establishing the overall structure of a software system.
Architectural Design To explain the advantages and disadvantages of different distributed systems architectures To discuss client-server and distributed.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
Architectural Design lecture 10. Topics covered Architectural design decisions System organisation Control styles Reference architectures.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
Architectural Design 10/24/2015ICS 413 – Software Engineering1.
Architectural Design Yonsei University 2 nd Semester, 2014 Sanghyun Park.
Architectural Design Identifying system components and their interfaces.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
CS.436 Software Engineering By Ajarn..Sutapart Sappajak,METC,MSIT Chapter 8 Architectural Design Slide 1 1 Chapter 8 Architectural Design.
 Repository Model  Client-Server Model  Layered Model  Modular decomposition styles  Object Models  Function Oriented Pipelining  Control Styles.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
Chapter 6 – Architectural Design Lecture 1 1Chapter 6 Architectural design.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 11 Slide 1 Architectural Design.
Chapter 7: Architectural Design Chapter 11 in textbook 1.
CSC480 Software Engineering Lecture 10 September 25, 2002.
©Ian Sommerville, Robin Abraham 2004CS 361, Summer 2004 Slide 1 Architectural Design.
CS223: Software Engineering Lecture 14: Architectural Patterns.
Slide 1 Chapter 8 Architectural Design. Slide 2 Topics covered l System structuring l Control models l Modular decomposition l Domain-specific architectures.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
BZUPAGES.COMSoftware Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 11 Slide 1 Architectural Design.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Chapter 5:Architectural Design l Establishing the overall structure of a software.
Dr D. Greer, Queens University Belfast ) Software Engineering Chapter 7 Software Architectural Design Learning Outcomes Understand.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
Lecture 6 – Architectural Design
Architecture Brief Pepper
CompSci 280 S Introduction to Software Development
Chapter 6 – Architectural Design
IS301 – Software Engineering Dept of Computer Information Systems
Part 3 Design What does design mean in different fields?
Chapter 6 – Architectural Design
Software Engineering Architectural Design Chapter 6 Dr.Doaa Samy
Software Engineering Architectural Design Chapter 6 Dr.Doaa Samy
Chapter 6 – Architectural Design
Princess Nourah bint Abdulrahman University
Software Architecture
Chapter 6 – Architectural Design
Architectural Design.
Chapter 6 – Architectural Design
Chapter 5 Architectural Design.
Chapter 6 – Architectural Design
CS385 T&D Software Engineering Dr.Doaa Sami Khafaga
ICS 52: Introduction to Software Engineering
Chapter 5 Architectural Design.
Chapter 6 – Architectural Design
Chapter 6 – Architectural Design
Presentation transcript:

Software Engineering Architectural Design Chapter 6 Dr.Doaa Sami Modified from Sommerville’s originals

Objectives  Understand the importance of architectural design. 2  Understand the importance of architectural design.  Introduce to the architectural views.  Understand the decisions that be made during architectural design.  Know the architectural patterns that are often used in different types of application system.

Architecture 3  Architecture: Floor plan

Software Design The software design process is composed of four main 4 The software design process is composed of four main design activities:  Architectural design  this chapter.  Data design.  Component design.  Interface design.

Software Design Deliverables 5 The main deliverables of the Software Design are:  Software architecture.  Data structures.  Pseudo code.  Interface designs.  Software Design Document.

Software Architecture 6  Architectural Design: The design process concerned with understanding how a system should be organized and designing the overall structure of that system.  Software Architecture model: Output of this design process, describes how the system is organized as a set of communicating components.  A Software Architecture consists of:  Elements (components) with certain properties/behaviors.  Relationships between them.  Description of permitted and forbidden interactions.

Architectural Design 7  It is the first stage in the software design process.  It links between specification and design process.  Often carried out in parallel with some of the specification activities. However, this is not ideally.  It involves identifying main structural components in a system and the relationships between them.

Architecture and System Characteristics 13 A particular architectural style that you choose for a system should depend on the non-functional requirements (System Characteristics):  Performance  If it is critical, use large and few components  less communications.  Security  If it is critical, use a layered architecture with critical assets in the innermost layer with high level of validation in this layer.  Safety  If it is critical, put safety-critical features in one or small number of sub- systems to reduces costs in the event of failure.  Availability  If it is critical, include redundant components  update without stop.  Maintainability  If it is critical, use separate components and avoid shared data structure.

1. System Organization system. 17  Reflects the basic strategy that is used to organize a system.  Three architectural styles are widely used:  An abstract machine or layered style;  A shared data repository style;  A client/server style.

Layered Architecture  Used to model the interfacing of sub-systems. 18  Used to model the interfacing of sub-systems.  Organizes the system into a set of layers (or abstract machines) each of which provide a set of services.  Supports the incremental development of sub-systems in different layers. When a layer interface changes, only the adjacent layer is affected.  Each layer provides a set of services to the layer above and serves as a client to the layer below.

Layered Architecture 19

The Architecture of the LIBSYS System 20

Advantages & Disadvantages of Layered Style 21  Advantages:  Supports incremental development.  Changeable (if a layer changes, only adjacent layers are affected).  Disadvantages:  Structuring systems into layers is difficult.  Inner layers may provides facilities required by all layers (e.g. file management).  Performance is degraded.

Repository Style  Sub-systems must exchange data. 22  Sub-systems must exchange data.  This may be done in two ways: Shared data is held in a central database or repository and may be accessed by all sub-systems; Each sub-system maintains its own database and passes data explicitly to other sub-systems.  When?  large amounts of data are to be shared, the repository model of sharing is most commonly used.

Advantages & Disadvantages of Repository Style 23  Advantages:  Efficient way to share large amounts of data;  Sub-systems need not be concerned with how data is produced;  Centralized management e.g. backup, security, etc.  Sharing model is published as the repository schema.  Disadvantages:  Sub-systems must agree on a repository data model;  Data evolution is difficult and expensive;  No scope for specific management policies;  Difficult to distribute efficiently.

Repository Style for Project 24

Client-Server Architecture 25  Distributed system model which shows how data and processing is distributed across a range of components.  Set of stand-alone servers which provide specific services such as printing, data management, etc.  Set of clients which call on these services.  Network which allows clients to access servers.  Client and server exchange data for processing.

 Advantages:  Disadvantages: Advantages & Disadvantages of Client–Server 26  Advantages:  Servers can be distributed across a network.  General functionality (e.g. printing service) can be available to all clients and does not need to be implemented by all services.  Easy add new server or upgrade existing one.  Disadvantages:  Security problem, each server will be suspected if a fault happen.  Performance may be unpredictable because it depends on the network as well as the system.  Management problems with servers owned by different organizations.

Client–Server Architecture for a Film Library 27