Architectural design in software engineering ppt

architectural design elements in software engineering and architectural styles in software architecture ppt
Dr.ShaneMatts Profile Pic
Dr.ShaneMatts,United States,Teacher
Published Date:23-07-2017
Your Website URL(Optional)
Comment
Chapter 11 Architectural Design ©Ian Sommerville 2000 Software Engineering. Chapter 11 Slide 1● ● ● ● ● ● ● ● Part 3 Design Chap 11, Architectural design Chap 12, Distributed systems architectures Chap 13, Application Architectures Chap 14, Object-oriented design Chap 15, Real-time software design Chap 16, User interface design (+ Chap 31, Service-oriented software engineering) (+ Chap 32, Aspect-oriented software development) ©Ian Sommerville 2000 Software Engineering. Chapter 11 Slide 2● Architectural Design Establishing the overall structure of a software system ©Ian Sommerville 2000 Software Engineering. Chapter 11 Slide 3● ● ● ● Objectives To introduce architectural design and to discuss its importance To explain why multiple models are required to document an architecture To describe types of architectural models that may be used To discuss use of “domain-specific architectural reference models” ©Ian Sommerville 2000 Software Engineering. Chapter 11 Slide 4● ● ● ● ● Topics covered Architectural design context System structuring models System control models Modular decomposition models Domain-specific architectures ©Ian Sommerville 2000 Software Engineering. Chapter 11 Slide 5● ● ● ● ● Topics covered Architectural design context System structuring models System control models Modular decomposition models Domain-specific architectures ©Ian Sommerville 2000 Software Engineering. Chapter 11 Slide 6● ● ● What is architectural design? The process of identifying the sub- systems making up a system and a framework for sub-system communication and control. A boot-strapping process undertaken in parallel with the abstract specification of sub-systems. The output of this process is the software architecture. ©Ian Sommerville 2000 Software Engineering. Chapter 11 Slide 7● ● ● What is architectural design? The process of identifying the sub- systems making up a system and a framework for sub-system communication and control. A boot-strapping process undertaken in parallel with the abstract specification of sub-systems. The output of this process is the software architecture. ©Ian Sommerville 2000 Software Engineering. Chapter 11 Slide 8● ● ● What is architectural design? The process of identifying the sub- systems making up a system and a framework for sub-system communication and control. A boot-strapping process undertaken in parallel with the abstract specification of sub-systems. The output of this process is the software architecture. ©Ian Sommerville 2000 Software Engineering. Chapter 11 Slide 9The software design process Requir ements specifica tion Design actv iities Data Architectua rl Interface Component Algorithm Abstract structue r design design design design specifica tion design Data Softw are System Interface Component Algorithm structue r specifica tion architectue r specifica tion specifica tion specifica tion specifica tion Design po rducts ©Ian Sommerville 2000 Software Engineering. Chapter 11 Slide 10● ● ● Advantages of explicit architecture design and documentation (Bass) Stakeholder communication – the archi- tecture may be used as a focus of discussion by (Requirements can be organized by sub-system.) system stakeholders. System analysis – the feasibility of meeting critical non-functional requirements (e.g., perfor- mance, reliability, maintainability) can be studied early-on. Large-scale reuse – the architecture may be reusable across a range of systems with similar requirements. ©Ian Sommerville 2000 Software Engineering. Chapter 11 Slide 11● ● ● “Architectural design” process System structuring – the system is decom- posed into major sub-systems and commun- ication (e.g., data sharing) mechanisms are identified. Control modelling – a model of the control relationships between the sub-systems is established. Modular decomposition – the identified sub-systems are decomposed into lower-level modules (components, objects, etc.) ©Ian Sommerville 2000 Software Engineering. Chapter 11 Slide 12● ● ● Terminology issues “Modular decomposition” is sometimes called “high-level (system) design”. A “sub-system” is usually a system in its own right, and is sometimes called a “Product”. (or perhaps a stand-alone “increment”) A “module” is a lower-level element that would not normally be considered a separate system; modules are sometimes called “Components” or “Objects”. ©Ian Sommerville 2000 Software Engineering. Chapter 11 Slide 13Traditional (and Sommerville’s) terminology System (System) Product (Sub-System) Component (Module) Module (Unit) (Algorithm) ©Ian Sommerville 2000 Software Engineering. Chapter 11 Slide 14● ● Graphical models Different graphical models may be used to represent an architectural design. Each presents a different perspective (viewpoint) on the architecture. ©Ian Sommerville 2000 Software Engineering. Chapter 11 Slide 15● ● ● ● Graphical model types Static structural models show the major system components. (e.g., block diagrams) Dynamic process models show the process structure of the system at run- time. (e.g., UML Sequence Models) Interface models define the sub-system services offered through public interfaces. Relationship models show relationships (e.g., dataflow) among sub-systems for some attribute. ©Ian Sommerville 2000 Software Engineering. Chapter 11 Slide 16● ● Architectural styles The architecture of a system may conform to a single generic model or style, although most do not. An awareness of these styles and how they can affect system attributes can simplify the problem of choosing an appropriate architecture… ©Ian Sommerville 2000 Software Engineering. Chapter 11 Slide 17● ● System attributes and (associated) architectural styles / structures Performance – localize operations by using fewer, large-grain components to minimize sub-system communication. (reflected in repository model) Security – use a layered architecture with critical assets in inner layers. (reflected in abstract machine model) ©Ian Sommerville 2000 Software Engineering. Chapter 11 Slide 18● ● ● System attributes and (associated) architectural styles / structures Safety – isolate safety-critical compo- nents in one or just a few sub-systems. Availability – include redundant com- ponents in the architecture. Maintainability – use (more) fine-grain, self-contained components. (reflected in objected-oriented model) ©Ian Sommerville 2000 Software Engineering. Chapter 11 Slide 19● ● ● ● ● Topics covered Architectural design context System structuring models System control models Modular decomposition models Domain-specific architectures ©Ian Sommerville 2000 Software Engineering. Chapter 11 Slide 20

Advise: Why You Wasting Money in Costly SEO Tools, Use World's Best Free SEO Tool Ubersuggest.