Chapter 6 – Architectural Design CSE-411, Dr. Shamim H Ripon.

Slides:



Advertisements
Similar presentations
Chapter 6 – Architectural Design
Advertisements

Chapter 6 Architectural Design.
Chapter 6 – Architectural Design Lecture 1 1Chapter 6 Architectural design.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 8 Slide 1 System models.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
©Ian Sommerville 2000Software Engineering, 6/e, Chapter 71 System models l Abstract descriptions of systems whose requirements are being analysed.
Graphical User Interface (GUI) Nelson Padua-Perez Chau-Wen Tseng Department of Computer Science University of Maryland, College Park.
SWE Introduction to Software Engineering
Course Instructor: Aisha Azeem
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse 2.
Chapter 6 – Architectural Design
MODEL VIEW CONTROLLER A Technical Seminar Report submitted to
MVC pattern and implementation in java
Chapter 7: Architecture Design Omar Meqdadi SE 273 Lecture 7 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Architectural Design.
Chapter 4 System Models A description of the various models that can be used to specify software systems.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Chapter 10 Architectural Design.
Figure – Chapter 6. Figure 6.1 The architecture of a packing robot control system.
Chapter 6 – Architectural Design Edited by Dr. Issam Al-Azzoni Software Engineering - Sommerville 1Chapter 6 Architectural design.
An Introduction to Software Architecture
Chapter 6 – Architectural Design Lecture 1 1Chapter 6 Architectural design.
©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.
COMP 6471 Software Design Methodologies Winter 2006 Dr Greg Butler
Chapter 7 System models.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
Architectural Design Yonsei University 2 nd Semester, 2014 Sanghyun Park.
CSc 461/561 Software Engineering Lecture 7 – Architectural Design.
Modified by Juan M. Gomez Software Engineering, 6th edition. Chapter 7 Slide 1 Chapter 7 System Models.
Chapter 6 Architectural Design.
Lecture 1 Chapter 6 Architectural design1. Topics covered Architectural design decisions Architectural views Architectural patterns Application architectures.
Chapter 6 – Architectural Design 1Chapter 6 Architectural design.
Chapter 6 – Architectural Design 1Chapter 6 Architectural design CS 425 October 29, 2013 Ian Sommerville, Software Engineering, 9 th Edition Pearson Education,
Chapter 6 – Architectural Design Lecture 1 1Chapter 6 Architectural design.
CPSC 871 John D. McGregor Module 3 Session 1 Architecture.
Model View Controller MVC Web Software Architecture.
Chapter 6 – Architectural Design Lecture 1 1Chapter 6 Architectural design.
CSC480 Software Engineering Lecture 10 September 25, 2002.
Chapter 6 – Architectural Design Chapter 6 Architectural Design1 CS 425 October 29, 2015 Note: These are a slightly modified version of Chapter 6 slides.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
Chapter 6 Architectural design Chapter 6 – Architectural Design Lecture 1 1.
SE Fundamentals 4 – Architectural Design 1Chapter 6 Architectural design CS 791Z February 19, 2013 Ian Sommerville, Software Engineering, 9 th Edition.
SOEN 343 Software Design Section H Fall 2006 Dr Greg Butler
CSC 480 Software Engineering High Level Design. Topics Architectural Design Overview of Distributed Architectures User Interface Design Guidelines.
Software Architectural Design 1. Topics covered  Architectural design decisions  Architectural views  Architectural patterns  Application architectures.
CS223: Software Engineering Lecture 14: Architectural Patterns.
Sommerville, Software Engineering, Chapter 6 Architectural design1.
Chapter 6 – Architectural Design 1Chapter 6 Architectural design CS 425 October 20, 2011 Ian Sommerville, Software Engineering, 9 th Edition Pearson Education,
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
Chapter 6 – Architectural Design
Chapter 6 – Architectural Design
Chapter 6 – Architectural Design
Software Engineering Architectural Design Chapter 6 Dr.Doaa Samy
Chapter 6 – Architectural Design
Chapter 6 – Architectural Design
Chapter 6 – Architectural Design
Chapter 5 Architectural Design.
Chapter 6 – Architectural Design
Chapter 6 – Architectural Design
CS385 T&D Software Engineering Dr.Doaa Sami Khafaga
An Introduction to Software Architecture
Chapter 5 Architectural Design.
Chapter 6 – Architectural Design
Chapter 6 – Architectural Design
Presentation transcript:

Chapter 6 – Architectural Design CSE-411, Dr. Shamim H Ripon

Software architecture Chapter 6 Architectural design2  The design process for identifying the sub-systems making up a system and the framework for sub-system control and communication is architectural design.  The output of this design process is a description of the software architecture.

Architectural design Chapter 6 Architectural design3  An early stage of the system design process.  Represents the link between specification and design processes.  Often carried out in parallel with some specification activities.  It involves identifying major system components and their communications.

The architecture of a packing robot control system Chapter 6 Architectural design4

Architectural abstraction Chapter 6 Architectural design5  Architecture in the small is concerned with the architecture of individual programs. At this level, we are concerned with the way that an individual program is decomposed into components.  Architecture in the large is concerned with the architecture of complex enterprise systems that include other systems, programs, and program components. These enterprise systems are distributed over different computers, which may be owned and managed by different companies.

Advantages of explicit architecture Chapter 6 Architectural design6  Stakeholder communication  Architecture may be used as a focus of discussion by system stakeholders.  System analysis  Means that analysis of whether the system can meet its non- functional requirements is possible.  Large-scale reuse  The architecture may be reusable across a range of systems  Product-line architectures may be developed.

Architectural representations Chapter 6 Architectural design7  Simple, informal block diagrams showing entities and relationships are the most frequently used method for documenting software architectures.  But these have been criticised because they lack semantics, do not show the types of relationships between entities nor the visible properties of entities in the architecture.  Depends on the use of architectural models. The requirements for model semantics depends on how the models are used.

Box and line diagrams Chapter 6 Architectural design8  Very abstract - they do not show the nature of component relationships nor the externally visible properties of the sub- systems.  However, useful for communication with stakeholders and for project planning.

Architectural patterns Chapter 6 Architectural design9  Patterns are a means of representing, sharing and reusing knowledge.  An architectural pattern is a stylized description of good design practice, which has been tried and tested in different environments.  Patterns should include information about when they are and when the are not useful.  Patterns may be represented using tabular and graphical descriptions.

The Model-View-Controller (MVC) pattern Chapter 6 Architectural design10 NameMVC (Model-View-Controller) DescriptionSeparates presentation and interaction from the system data. The system is structured into three logical components that interact with each other. The Model component manages the system data and associated operations on that data. The View component defines and manages how the data is presented to the user. The Controller component manages user interaction (e.g., key presses, mouse clicks, etc.) and passes these interactions to the View and the Model. See Figure 6.3. ExampleFigure 6.4 shows the architecture of a web-based application system organized using the MVC pattern. When usedUsed when there are multiple ways to view and interact with data. Also used when the future requirements for interaction and presentation of data are unknown. AdvantagesAllows the data to change independently of its representation and vice versa. Supports presentation of the same data in different ways with changes made in one representation shown in all of them. DisadvantagesCan involve additional code and code complexity when the data model and interactions are simple.

Motivation  Basic parts of any application:  Data being manipulated  A user-interface through which this manipulation occurs  The data is logically independent from how it is displayed to the user  Display should be separately designable/evolvable  Example: grade distribution in class  Displayed as both pie chart and/or bar chart

Model-View-Controller Pattern  Model  The data (i.e. state)  Methods for accessing and modifying state  View  Renders contents of model for user  When model changes, view must be updated  „Controller  Translates user actions (i.e. interactions with view) into operations on the model  Example user actions: button clicks, menu selections

Organization of the Model-View-Controller Chapter 6 Architectural design13

Web application architecture using the MVC pattern Chapter 6 Architectural design14