Chapter 13 Logical Architecture.

Slides:



Advertisements
Similar presentations
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
Advertisements

Object-Oriented Analysis and Design CHAPTERS 12-14: INTRODUCTION TO DESIGN 1.
March R McFadyen1 Architecture Architecture involves the set of significant decisions about the organization of a software system, decisions.
March R McFadyen1 Architecture Architecture involves the set of significant decisions about the organization of a software system, decisions.
© Lethbridge/Laganière 2001 Chapter 9: Architecting and designing software1 Layers Data from IBM-Rational and Craig Larman…
1 CS 426 Senior Projects Chapter 19: Interfaces and Components [Arlow & Neustadt 2005] February 28, 2008.
Oct. 9, 2003CS WPI1 CS 509 Design of Software Systems Lecture #6 Thursday, Oct. 9, 2003.
1 CS 691z / 791z Topics on Software Engineering Chapter 17: Interfaces and Subsystems [Arlow & Neustadt, 2002] March 6, 2007.
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.
System Design Decomposing the System. Sequence diagram changes UML 2.x specifications tells that Sequence diagrams now support if-conditions, loops and.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
Objectives Design Class Diagrams Issues in system design Generalization Review UML papers.
The Design Discipline.
Chapter 13 Starting Design: Logical Architecture and UML Package Diagrams.
UML - Development Process 1 Software Development Process Using UML (2)
Logical Architecture and UML Package Diagrams 徐迎晓 复旦大学软件学院.
An Introduction to Software Architecture
BTS430 Systems Analysis and Design using UML Domain Model Part 1—Finding Conceptual Classes.
Requirements To Design--Iteratively Chapter 12 Applying UML and Patterns Craig Larman.
Chapter 9 Moving to Design
COMP 6471 Software Design Methodologies Winter 2006 Dr Greg Butler
Criteria Based Software Product Integration Architecture F. Tsui Southern Polytechnic State University.
Systems Analysis and Design in a Changing World, 3rd Edition
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
1 COMP 350: Object Oriented Analysis and Design Lecture 1Introduction References: Craig Larman Chapter 1.
What to remember from Chap 13 (Logical architecture)
Criteria Based Software Product Integration Architecture (2007) F. Tsui Kennesaw State University (Southern Polytechnic State University)
MODEL-BASED SOFTWARE ARCHITECTURES.  Models of software are used in an increasing number of projects to handle the complexity of application domains.
UML Package Diagrams. Package Diagrams UML Package Diagrams are often used to show the contents of components, which are often packages in the Java sense.
1 Software Design Lecture What’s Design It’s a representation of something that is to be built. i.e. design  implementation.
Chapter 19: Interfaces and Components [Arlow and Neustadt, 2005] University of Nevada, Reno Department of Computer Science & Engineering.
SOEN 343 Software Design Section H Fall 2006 Dr Greg Butler
Arch-1 9.Architecture. Arch-2 What’s Architecture? Description of sub-system –Components/sub-systems –Their interaction Framework for communication.
Computer Science 340 Software Design & Testing Software Architecture.
TK2023 Object-Oriented Software Engineering CHAPTER 8 LOGICAL ARCHITECTURE.
CSIS 4850: CS Senior Project – Spring 2009 CSIS 4850: Senior Project Spring 2009 Object-Oriented Design.
Introduction. System Design Hardware/Software Platform Selection Software Architectures Database Design Human-Computer Interaction (HCI) Interface Object.
Copyright © Craig Larman All Rights Reserved Large-Scale System Partitioning.
Design Engineering 1. Analysis  Design 2 Characteristics of good design 3 The design must implement all of the explicit requirements contained in the.
Logical Architecture and UML Package Diagrams. The logical architecture is the large-scale organization of the software classes into packages, subsystems,
Design Concepts ch-8
Object Oriented Systems Design
GRASP – Designing Objects with Responsibilities
Architecture Brief Pepper
TIM 58 Chapter 7: Moving on to Design
Layers Data from IBM-Rational and Craig Larman’s text integrated into these slides. These are great references… Slides from these sources have been modified.
N-Tier Architecture.
OO Methodology OO Architecture.
BTS530: Major Project Planning and Design
Chapter 13 Logical Architecture.
Chapter 19: Interfaces and Components
CIS 375 Bruce R. Maxim UM-Dearborn
Figure 30.2 Layers in NextGen
Object oriented analysis and design
Starting Design: Logical Architecture and UML Package Diagrams
Chapter 13 Logical Architecture.
Software Design Lecture : 8
An Introduction to Software Architecture
Chapter 19: Interfaces and Components
Chapter 19: Interfaces and Components
Design Yaodong Bi.
U Layered Architecture M There are up-calls and down-calls. L.
Interfaces and Components
Chapter 6: Architectural Design
Software Development Process Using UML Recap
Chapter 19: Interfaces and Components
Logical Architecture & UML Package Diagrams
Presentation transcript:

Chapter 13 Logical Architecture

Logical Architecture Large-scale organization of classes Packages - Subsystems Layers Tools - UML package diagrams

Layer Coarse grained Cohesive responsibility Strict or relaxed E.g. User Interface or common services Strict or relaxed What are the pros and cons of each? This class focuses on one layer – application (or domain) layer.

Software Architecture Many definitions – fuzzy concept “a set of significant decision about the organization of a software system.” The framework or structure. Key aspect: Large scale, big ideas Motivation Constraints Organization Patterns Responsibilities Connections

Design with Layers Organize layers using related responsibilities Collaboration and Coupling The Layers Pattern

Why? Separation of concerns Encapsulate complexity Eliminate inter-twined code Features and fixes are contained Replaceable layer Reusable function Team organization Up-front investment reduces maintenance costs.

Domain layer vs. Application Layer Application layer organization Create domain objects that encapsulate application logic (Domain Layer) “Create software objects with names and information similar to the real-world domain and assign application logic responsibilities to them.” Domain layer != Domain model “Designing objects this way leads to the application logic layer being more accurately called the domain layer of the architecture – the layer that contains domain objects.” Lowers the representational gap.”

Terminology Tier - current usage: physical nodes Layers Partitions - parallel division of layers See Figs 13.6 and 13.7

SSD, System Operations, Layers When there is a UI layer: SSD shows operations to the UI Layer Do not couple UI objects directly to application/domain objects. Do not put application data into UI objects. Model (domain) vs UI (view) separation.

Summary Separation into layers is a common first step In Architecture centric design, this flows from the software architecture