Siemens’ 4 View Model (props to My-An Nguyen for giving me her 344 notes on which this lecture is based)

Slides:



Advertisements
Similar presentations
Implementation Architecture
Advertisements

4+1 View Model of Software Architecture “Software architecture” course Presented By: Mazeiar Salehie October 2004.
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 04. Other.
Conquering Complex and Changing Systems Object-Oriented Software Engineering TJSS System Design Lecture 12 Päivi Ovaska.
Component-Level Design
1 SWE Introduction to Software Engineering Lecture 23 – Architectural Design (Chapter 13)
Demystifying Architectural Styles Nikunj Mehta 3/11/02Demystifying Architectural Styles2 Agenda Architectural Styles The Alfa Project Architectural framework.
Unified Modeling (Part I) Overview of UML & Modeling
1 A Student Guide to Object- Orientated Development Chapter 9 Design.
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
Software Architecture. Agenda " Why architect? " What is architecture? " What does an architect do? " What principles guide the process of architecting?
What is Software Architecture?
Effective Methods for Software and Systems Integration
SOEN 6011 Software Engineering Processes
© Drexel University Software Engineering Research Group (SERG) 1 Based on the paper by Philippe Kruchten from Rational Software.
Smith’s Aerospace © P. Bailey & K. Vander Linden, 2005 Architecture: Component and Deployment Diagrams Patrick Bailey Keith Vander Linden Calvin College.
Software Architecture Classification for Estimating the Costs of COTS Integration Yakimovich, Bieman, Basili; icse 99.
UNIX System Administration OS Kernal Copyright 2002, Dr. Ken Hoganson All rights reserved. OS Kernel Concept Kernel or MicroKernel Concept: An OS architecture-design.
1/19 Component Design On-demand Learning Series Software Engineering of Web Application - Principles of Good Component Design Hunan University, Software.
Rational Unified Process Fundamentals Module 4: Disciplines II.
An Introduction to Software Architecture
University of Utah SoCCS Lecture 61 Architecture – An Introduction CS Lecture 6 Nathan Dykman.
Architecting Web Services Unit – II – PART - III.
Unified Modeling Language, Version 2.0
Requirements To Design--Iteratively Chapter 12 Applying UML and Patterns Craig Larman.
By Xiangzhe Li Thanh Nguyen.  Introduction  Terminology  Architecture  Component  Connector  Configuration  Architectural Style  Architectural.
Smith’s Aerospace © P. Bailey & K. Vander Linden, 2005 Architecture: Component and Deployment Diagrams Patrick Bailey Keith Vander Linden Calvin College.
OBJECT ORIENTED SYSTEM ANALYSIS AND DESIGN. COURSE OUTLINE The world of the Information Systems Analyst Approaches to System Development The Analyst as.
Architectural Blueprints The “4+1” View Model of Software Architecture
OOAD Using UML, v. 3.0 Architectural Design, p. 1 Copyright © 1997 by Rational Software Corporation R Architectural Design.
Software Architecture in Practice Architectural description (The reduced version)
Basic Concepts Software Architecture. What is Software Architecture? Definition: – A software architecture is the set of principal design decisions about.
SOFTWARE SYSTEMS DEVELOPMENT 4: System Design. Simplified view on software product development process 2 Product Planning System Design Project Planning.
Software Architecture and Design Dr. Aldo Dagnino ABB, Inc. US Corporate Research Center October 23 rd, 2003.
Modelling Class T16: Conceptual Modelling – Architecture Image from
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 05. Review Software design methods Design Paradigms Typical Design Trade-offs.
Ihr Logo Operating Systems Internals & Design Principles Fifth Edition William Stallings Chapter 2 (Part II) Operating System Overview.
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
Secure Systems Research Group - FAU SW Development methodology using patterns and model checking 8/13/2009 Maha B Abbey PhD Candidate.
9 Systems Analysis and Design in a Changing World, Fourth Edition.
University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 system architecture 1 after designing to meet functional requirements, design the system.
I Copyright © 2007, Oracle. All rights reserved. Module i: Siebel 8.0 Essentials Training Siebel 8.0 Essentials.
Chapter 6 – Architectural Design Lecture 1 1Chapter 6 Architectural design.
1 IBM Software Group ® Mastering Object-Oriented Analysis and Design with UML 2.0 Module 9: Describe the Run-time Architecture.
Software Architectural Views By the end of this lecture, you will be able to: list and describe the views in the 4+1 view model of software architecture.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Lecture 13.  Failure mode: when team understands requirements but is unable to meet them.  To ensure that you are building the right system Continually.
1 Unified Modeling Language, Version 2.0 Chapter 2.
Stages of design  High level design  High level data structure  Architecture  Low level design-code design  Algorithms  Low level data structures.
CS223: Software Engineering Lecture 13: Software Architecture.
From Use Cases to Implementation 1. Structural and Behavioral Aspects of Collaborations  Two aspects of Collaborations Structural – specifies the static.
25/02/2016 SW Development Process - SW Architecture/Stefan L. Meier/Electronic Product Development SW Architecture EPD Software Development Process 1.
From Use Cases to Implementation 1. Mapping Requirements Directly to Design and Code  For many, if not most, of our requirements it is relatively easy.
Review for Final, Fall 2010 Close book, Close notes
Architecting Web Services
Architecting Web Services
For University Use Only
What is an Architecture?
Implementing Threads in User Space
Code Architecture View
IMPORTANT NOTICE TO STUDENTS:
Software Architecture
An Introduction to Software Architecture
4+1 View Model of Software Architecture
What is an Architecture?
4+1 View Model of Software Architecture
- When you approach operating system concepts there might be several confusing terms that may look similar but in fact refer to different concepts:  multiprogramming, multiprocessing, multitasking,
Software Architecture
Design Yaodong Bi.
Presentation transcript:

Siemens’ 4 View Model (props to My-An Nguyen for giving me her 344 notes on which this lecture is based)

Conceptual View Activities Central design tasks. Create conceptual… components, connectors, ports, roles, protocols. configuration. Global evaluation. Final design task. Software resource budgeting (memory, CPU time, …).

What is a Module Definition Think of it as a UML package. Does not imply that code will be non-Object-Oriented. In execution view, will eventually “hold” either Object-Oriented (classes, …) or non-Object-Oriented code.

Module View Activities Central design tasks. Definition of subsystems, layers, modules. Allocation of conceptual elements to the above. Global evaluation. Final design task. Design of (key) module interfaces Operations (name, signature

Execution View Definition Define / perform … Mapping of conceptual components and modules to run-time entities. Run-time entities: e.g. tasks, processes, threads. o Communication paths & mechanisms. o Configuration. o Resource allocation. We are concerned with non-trivial views Trivial Execution View = software that uses a single thread and process.

Execution View Activities Central design tasks. Define run-time entities, communication paths, execution configuration. (Global evaluation) Final design task. Resource allocation.

Code View Definition (1) Define / perform … Mapping of modules from the Module View to source components Mapping of run-time entities from the Execution View to deployment components Define intermediate components; dependencies. Organization of these components. Build and Configuration Management.

Code View Definition (2) Key words: Source components. Intermediate components. Deployment components. Dependencies between components. We are concerned with non-trivial views Trivial Code View = software with a single executable and a small development team. The Code View will then mimic the Module View.

Code View Activities Central design tasks. Define & organize … Source Components (& dependencies). Intermediate Components (& dependencies). Deployment Components (& dependencies). (Global evaluation) Final design task: Build procedure. Configuration management.

Code View (common complaints) Consider what if… Customer X has a problem with their release that was last built in October, then patched in December and January. You need to run tests to confirm the problem. The Probe S/W team has just issued a new release, you need to integrate and test … The Code View contains architectural decisions concerning the code!

IS2000 (look familiar?) • Pink: Presentation Layer • Green: Domain Logic Layer • Blue: Technical Services Layer

Case study (1) IS2000 Execution and Code View – Global Analysis The few strategies applicable to the Execution View: Issue: Skill Deficiencies Strategy: Avoid use of multiple threads. Strategy: Encapsulate multiprocess support facilities. Key concern for view: performance.

Case study (2) IS2000 Execution and Code View – Global Analysis Introduce new issue: High Throughput Probe has higher data rate than previous products. Image processing must keep up with probe. Solutions/Strategies: Map independent threads of control to processes. However, there was only one developer with experience in multithreading and the cost of creating/destroying processes is low. Use an additional CPU. Avoid the use of multiple threads.