BTS530: Major Project Planning and Design

Slides:



Advertisements
Similar presentations
Object-Oriented Analysis and Design CHAPTER 17, 25: GRASP PATTERNS 1.
Advertisements

Object-Oriented Analysis and Design CHAPTERS 12-14: INTRODUCTION TO DESIGN 1.
October 23, 2001 Software Design-Layering and Packaging1 Architecture: Layers and Packages.
GRASP Patterns M Taimoor Khan
Oct 2, Ron McFadyen1 From the Merriam-Webster’s online dictionary ( Main Entry: an·thro·po·mor·phism Pronunciation: -"fi-z&m Function:
March R McFadyen1 Architecture Architecture involves the set of significant decisions about the organization of a software system, decisions.
Feb R. McFadyen1 From the Merriam-Webster’s online dictionary ( Main Entry: an·thro·po·mor·phism Pronunciation: -"fi-z&m Function:
© Lethbridge/Laganière 2001 Chapter 9: Architecting and designing software1 Layers Data from IBM-Rational and Craig Larman…
Layered Architectures The objectives of this chapter are: To understand the principles and importance of Layered Architectures To explain the structure.
Low Coupling High Cohesion
Chapter 3 Case Studies.
October 20, 2005Architectural Design, ECEN Architectural Design Architecture Business Cycle Design for Maintainability ECEN 5543 / CSCI 5548 SW Eng.
CMPT 370: Information Systems Design Instructor: Curtis Cartmill, Simon Fraser University – Summer 2003 Lecture Topic: Layered Architecture Class Exercise:
Logical Architecture and UML Package Diagrams
March R McFadyen1 Figure 30.2 Layers in NextGen They only have three layers in this architecture Each layer is shown as a UML Package No separate.
Feb 4, Ron McFadyen1 founded on principles of good OO design idea was first put forth by Christopher Alexander (1977) in their work concerning.
Chapter 26 Applying Gang of Four Design Patterns 1CS6359 Fall 2012 John Cole.
Web Application Architecture: multi-tier (2-tier, 3-tier) & mvc
Objectives Design Class Diagrams Issues in system design Generalization Review UML papers.
Chapter 13 Starting Design: Logical Architecture and UML Package Diagrams.
Logical Architecture and UML Package Diagrams 徐迎晓 复旦大学软件学院.
GRASP Principles. How to Design Objects The hard step: moving from analysis to design How to do it? –Design principles (Larman: “patterns”) – an attempt.
Chapter 18 Object Design Examples with GRASP. Objectives Design use case realizations –A use-case realization describes how a particular use case is realized.
Chapter 17. GRASP General Responsibility Assignment Software Patterns (Principles) OOD: after identifying requirements, create domain model, define responsiblities.
BTS430 Systems Analysis and Design using UML Domain Model Part 1—Finding Conceptual Classes.
SOEN 6011 Software Engineering Processes Section SS Fall 2007 Dr Greg Butler
Requirements To Design--Iteratively Chapter 12 Applying UML and Patterns Craig Larman.
Chapter 26 GoF Design Patterns. The Adapter Design Pattern.
BTS430 Systems Analysis and Design using UML Design Patterns.
GRASP: Designing Objects With Responsibilities
GoF Design Patterns (Ch. 26). GoF Design Patterns Adapter Factory Singleton Strategy Composite Façade Observer (Publish-Subscribe)
Chapter 17 GRASP: Designing Objects with Responsibilities. 1CS6359 Fall 2011 John Cole.
Copyright © Craig Larman All Rights Reserved Responsibility-Driven Design with the GRASP Patterns.
Chapter 13 Logical Architecture and UML Package Diagrams 1CS6359 Fall 2012 John Cole.
Software Engineering 1 Object-oriented Analysis and Design Applying UML and Patterns An Introduction to Object-oriented Analysis and Design and Iterative.
GRASP: Designing Objects with Responsibilities
Oct R McFadyen1 Facade P Problem: There are a set of classes, a subsystem, that you need to interact with for some purpose, but you don’t.
What to remember from Chap 13 (Logical architecture)
UML-1 4. Architecture. UML-2 Artifact: Analysis Class Abstraction of one or several classes or subsystems –Focuses on handling functional requirements.
OO Design Roshan Chitrakar. Analysis to Design Do the RIGHT thing Do the RIGHT thing Requirement Analysis Requirement Analysis Domain Modeling with addition.
SOEN 343 Software Design Section H Fall 2006 Dr Greg Butler
TK2023 Object-Oriented Software Engineering CHAPTER 8 LOGICAL ARCHITECTURE.
Copyright © Craig Larman All Rights Reserved COMP-350 Object-Oriented Analysis and Design GRASP: Designing Objects with Responsibilities Reference:
BTS430 Systems Analysis and Design using UML
Oct 3, Ron McFadyen1 GRASP Patterns 1.Expert 2.Creator 3.Controller 4.Low Coupling 5.High Cohesion.
Logical Architecture and UML Package Diagrams. The logical architecture is the large-scale organization of the software classes into packages, subsystems,
Object Design Examples with GRASP
Design Patterns Source: “Design Patterns”, Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides And Created.
GRASP – Designing Objects with Responsibilities
BTS530: Major Project Planning and Design
N-Tier Architecture.
Chapter 12: Collaboration Diagram - PART2
Conception OBJET GRASP Patterns
CS 519: Object-Oriented Analysis & Design IS 516: Selected Topics in Information Technology Instructor: Dr. Tarek Elghazaly Text Book: Craig Larman,
TK2023 Object-Oriented Software Engineering
Apply Expert, Creator, Controller, Low Coupling, High Cohesion
GRASP : Designing Objects with Responsibilities
GoF Design Patterns (Ch. 26). GoF Design Patterns Adapter Factory Singleton Strategy Composite Façade Observer (Publish-Subscribe)
Use Case Realization Describes a collaboration among analysis classes that shows how a specific use case is realized Consists of flow-of-events analysis,
Chapter 13 Logical Architecture.
OOD - Principles Design Class Diagrams
Figure 30.2 Layers in NextGen
Starting Design: Logical Architecture and UML Package Diagrams
Chapter 13 Logical Architecture.
Software Design Lecture : 8
The Islamia University Bahawalpur
GoF Design Patterns (Ch. 26)
Chapter 8, Design Patterns Introduction
Chapter 13 Logical Architecture.
Logical Architecture & UML Package Diagrams
Presentation transcript:

BTS530: Major Project Planning and Design Architectural Patterns / Principles References and Material From: Applying UML and Patterns, 3rd Edition, chapters 26 and 13

Architectural Patterns/Principles Layers Separation of Concerns Model-View Separation Principle

Layers The Layers Pattern: Organize large-scale logical structure of a system into discrete layers of responsibilities lower layers are low-level general services, higher layers more application specific collaboration and coupling is from higher to lower layers lower to higher coupling is avoided Benefits helps isolate application logic from UI for reusability isolates source code changes—eases maintainability keeps coupling between areas of concern (e.g. layers) low lower layers contain reusable functions some layers can be distributed….etc… Applying UML and Patterns P. 203

Applying UML and Patterns Fig. 13.4

Separation of Concerns responsibilities of objects in a layer should be strongly related to each other and not mixed with responsibilities of other layers =>UI objects should not do application logic =>application object should not do DB logic Applying UML and Patterns P. 203

Model-View Separation Do not connect or couple non-UI objects directly to UI objects. Do not put application logic (e.g. tax calculations) in the UI object methods. UI object should only: initialize UI elements receive UI events (e.g. mouseclick) delegate requests for application logic on to non-UI objects (e.g. facades) Applying UML and Patterns P. 209

Model-View Separation domain object should not have direct knowledge of UI objects, at least as view objects E.g. Sale should not directly send a message to a GUI window ProcessSaleFrame asking it to display something Relaxation of this principle: Observer pattern—domain objects send messages to UI objects viewed only in terms of an interface such as a PropertyListener. Applying UML and Patterns P. 209/210

Applying UML and Patterns Fig. 13.8