Architectural Design Based on Chapter 11 of the textbook [SE-8] Ian Sommerville, Software Engineering, 8t h Ed., Addison-Wesley, 2006 and on the Ch11 PowerPoint.

Slides:



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

Chapter 22 Object-Oriented Systems Analysis and Design and UML Systems Analysis and Design Kendall and Kendall Fifth Edition.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 8 Slide 1 System models.
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
Software Reuse Building software from reusable components Objectives
1 / 26 CS 425/625 Software Engineering Software Requirements Based on Chapter 5 of the textbook [Somm00] Ian Sommerville, Software Engineering, 6 th Ed.,
CS 425/625 Software Engineering System Models
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System models September 29, 2008.
CS 425/625 Software Engineering Software Requirements
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
1 / 26 CS 425/625 Software Engineering Architectural Design Based on Chapter 11 of the textbook [SE-8] Ian Sommerville, Software Engineering, 8t h Ed.,
SWE Introduction to Software Engineering
Course Instructor: Aisha Azeem
Chapter 10: Architectural Design
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
Unified Modeling Language
Chapter 7: The Object-Oriented Approach to Requirements
Architectural Design.
Software Engineering Fall 2005
Chapter 7 Requirement Modeling : Flow, Behaviour, Patterns And WebApps.
Chapter 10 Architectural Design
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 14Slide 1 Design with Reuse l Building software from reusable components.
Chapter 6 System Engineering - Computer-based system - System engineering process - “Business process” engineering - Product engineering (Source: Pressman,
These slides are designed to accompany Web Engineering: A Practitioner’s Approach (The McGraw-Hill Companies, Inc.) by Roger Pressman and David Lowe, copyright.
Reverse Engineering Unit 3, Lesson 3 Explanation.
An Introduction to Software Architecture
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Slide 1 Architectural Design.
Lecture 9: Chapter 9 Architectural Design
©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions.
1 Software Design Reference: Software Engineering, by Ian Sommerville, Ch. 12 & 13, 5 th edition and Ch. 10, 6 th edition.
Chapter 13 Architectural Design
Chapter 9 요구사항 모델링: 시나리오 기반 방법론 Requirements Modeling: Scenario-Based Methods 임현승 강원대학교 Revised from the slides by Roger S. Pressman and Bruce R. Maxim.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 8 Slide 1 Object-oriented and Structured System Models.
Systems Analysis and Design in a Changing World, 3rd Edition
Sommerville 2004,Mejia-Alvarez 2009Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
UML Diagrams: The Static Model Class Diagrams. The Static Model Define the static structure of the logical model Represent classes, class hierarchies.
A Use Case Primer 1. The Benefits of Use Cases  Compared to traditional methods, use cases are easy to write and to read.  Use cases force the developers.
System Context and Domain Analysis Abbas Rasoolzadegan.
Software Design: Principles, Process, and Concepts Getting Started with Design.
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 5 Practice: A Generic View Software Engineering: A Practitioner’s Approach, 6/e Chapter.
Software Design Process
Chapter 6 – Architectural Design Lecture 1 1Chapter 6 Architectural design.
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 10a: Architectural Design Software Engineering: A Practitioner’s Approach, 6/e Chapter 10a:
1 / 26 CS 425/625 Software Engineering Architectural Design Based on Chapter 10 of the textbook [Somm00] Ian Sommerville, Software Engineering, 6 th Ed.,
1 OO Analysis & Design - Introduction to main ideas in OO Analysis & design - Practical experience in applying ideas -A large element is use of UML as.
1 Unified Modeling Language, Version 2.0 Chapter 2.
Computer Science 340 Software Design & Testing Software Architecture.
Building analysis model  Analysis modeling uses a combination of text and diagrammatic forms to depict requirements for data function and behavior in.
Object-Oriented Application Development Using VB.NET 1 Chapter 5 Object-Oriented Analysis and Design.
Chapter : 9 Architectural Design
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of 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.
Software Engineering Lecture 10: System Engineering.
Component Diagram. Component diagram Show the structural relationships between components of a system Depicts how components are wired together to form.
Chapter : 9 Architectural Design. Software Architecture What Is Architecture? The software architecture of a program or computing system is the structure.
Architectural Complexity  A useful technique for assessing the overall complexity of a proposed architecture is to consider dependencies between components.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Chapter 5:Architectural Design l Establishing the overall structure of a software.
Chapter 9 Architectural Design. Why Architecture? The architecture is not the operational software. Rather, it is a representation that enables a software.
Design Concepts ch-8
Chapter 8 Analysis Engineering
CHAPTER 2 CREATING AN ARCHITECTURAL DESIGN.
UML Diagrams: The Static Model Class Diagrams
Unified Modeling Language
CS 425/625 Software Engineering Architectural Design
An Introduction to Software Architecture
Chapter 9 Architectural Design.
Presentation transcript:

Architectural Design Based on Chapter 11 of the textbook [SE-8] Ian Sommerville, Software Engineering, 8t h Ed., Addison-Wesley, 2006 and on the Ch11 PowerPoint presentation available at the book’s web-site: October 15, / 26

Architectural (high-level) design = the process of establishing the subsystems of a larger software system and defining a framework for subsystem control and data communication Software architecture = the output of the high-level design process Defining and documenting the software architecture provides support for: – Stakeholder communication – System analysis – Large-scale software reuse 2 / 26

Software to be developed must be put into context (i.e. model external entities and define interfaces) Identify architectural archetypes (collection of abstractions that must be modeled if the system is to be constructed) Specify structure of the system by defining and refining the software components needed to implement each archetype Continue the process iteratively until a complete architectural structure has been derived 3 / 26

Representing the System in Context Use the architectural context diagram to model the manner in which the system interacts with external entities Systems that interoperate with the target system are represented as – Superordinate systems – using the target system as part of some higher level processing scheme – Subordinate systems – used by the target system to provide data or processing needed to complete the target system – Peer level systems – producing or consuming information need by peers of the target system – Actors – people or devices that interact with the system to produce or consume information needed for requisite processing Interfaces must be defined (the small shaded rectangles) All the data that flow into or out of the target system must be identified 4 / 26

Architectural context diagram 5 / 26 Used by Superordinate systems Uses Subordinate systems Peers targeted system Depends on Actors Uses

Defining Archetypes Archetype is a class or pattern that represents a core abstraction critical to the design of an architecture for a core system Archetypes are the abstract building blocks of an architectural design May be defined by examining the analysis classes defined in the analysis model Determine the stable elements of the architecture that will need to be implemented when the system is built 6 / 26

UML relationships for safe home security function archetypes 7 / 26 Controller fhdofhdofhodafhhafoh asofhhasofhoashfosai hfisaahoiashfoisaiosah foisa Node dbsfgdsafgsidaghfisdu agfisdgfdsfhbjkdfhdfd gd Detector fhdofhdofhodafhhafoh asofhhasofhoashfosai hfisaahoiashfoisaiosah foisa Indicatorf hsdgsdgsdgsddsgdsgfs gssdgsdgsdgsdgsdgdsg dsgsdgdsgddofhdofho dafhhafohasofhhasofh oashfosaihfisaahoiashf oisaiosahfoisa

Refining Architecture into Components The analysis classes for entities from the business domain that must be addressed in the software architecture Infrastructure components needed to support the business functions but have no business connection to the application domain The interfaces depicted in the architecture context diagram may imply specialized components needed to process data that crosses the interfaces UML component diagrams are used to represent the overall architectural structure 8 / 26

In safe home security system example, we might define the set of top level components that address the following functionality: External communication management Control panel processing Detector management Alarm processing 9 / 26

Overall architectural structures for safe home with top-level components 10 / 26

The overall system architecture influences the system’s: – Performance – Security – Safety – Availability – Maintainability 11 / 26

Describing System Instantiations Refines the high-level architectural design once the overall system structure is apparent and the major software components have been identified Architecture is applied to a specific problem with intent of demonstrating that the structure and components are appropriate 12 / 26