What to remember from Chap 13 (Logical architecture)

Slides:



Advertisements
Similar presentations
GRASP: Designing Objects with Responsibilities
Advertisements

Software Engineering 1 Object-oriented Analysis and Design Applying UML and Patterns An Introduction to Object-oriented Analysis and Design and Iterative.
Interaction Diagram Notation From Chapter 15 of Craig Larman, Applying UML and Patterns John Dalesandro.
Object-Oriented Analysis and Design CHAPTERS 12-14: INTRODUCTION TO DESIGN 1.
GRASP Patterns M Taimoor Khan
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…
© 2005 Prentice Hall8-1 Stumpf and Teague Object-Oriented Systems Analysis and Design with UML.
NJIT 1 GRASP: Designing Objects with Responsibilities Chapter 17 Applying UML and Patterns Craig Larman.
GRASP : Designing Objects with Responsibilities
SE-565 Software System Requirements More UML Diagrams.
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.
Designing with Interaction and Design Class Diagrams Chapters 15 & 16 Applying UML and Patterns Craig Larman With some ideas from students in George Blank’s.
Chapter 13 Starting Design: Logical Architecture and UML Package Diagrams.
Systems Analysis and Design in a Changing World, Fifth Edition
Logical Architecture and UML Package Diagrams 徐迎晓 复旦大学软件学院.
GRASP Pattern Zhen Jiang West Chester University
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.
12 Systems Analysis and Design in a Changing World, Fifth Edition.
1 SAD2 - UML 4 th Lecture Class Diagram in Construction Phase Patterns Case Study Lecturer: Dr Dimitrios Makris
SOEN 6011 Software Engineering Processes Section SS Fall 2007 Dr Greg Butler
Architecture GRASP Realization of use cases in interaction diagrams Design class diagram Design ( how )
Chapter 7: Object Design Examples with GRASP. Objective Design use case realizations. Apply GRASP to assign responsibilities to classes. Apply UML to.
Requirements To Design--Iteratively Chapter 12 Applying UML and Patterns Craig Larman.
1 On to Object Design Chapter 14 Applying UML and Patterns.
1 ITEC 3010 “Systems Analysis and Design, I” LECTURE 10: Use Case Realizations [Prof. Peter Khaiter]
GRASP: Designing Objects With Responsibilities
SOEN 343 Software Design Section H Fall 2006 Dr Greg Butler
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.
Chapter 4: UML Interaction Diagrams. Objective Provide a reference for frequently used UML interaction diagram notation- sequence and communication diagrams.
GRASP: Designing Objects with Responsibilities
♦ Use Case Model  Detailled use case - Important  Use case diagram- Refactoring Use case diagram  > 1 Last Lectures.
IntellAgile Copyright © 2002 Craig Larman. All rights reserved. Object Design and Use- Case Realizations with GRASP Patterns.
Object Oriented Design Jerry KotubaSYST Object Oriented Methodologies1.
Drawing System Sequence Diagrams
1 On To Object Design Chapter 14 Applying UML and Patterns -Craig Larman.
SOEN 343 Software Design Section H Fall 2006 Dr Greg Butler
Computer Science 340 Software Design & Testing Software Architecture.
TK2023 Object-Oriented Software Engineering CHAPTER 8 LOGICAL ARCHITECTURE.
Chapter 3: Introducing the UML
Copyright © Craig Larman All Rights Reserved COMP-350 Object-Oriented Analysis and Design GRASP: Designing Objects with Responsibilities Reference:
Chapter 17 Designing with Responsibilities. Fig
OO Methodology Elaboration Phase Iteration 1- Part 3.
Summary from previous lectures
Dr. Kivanc DincerCS319 Week 6 - Oct.17,20051 Chapter 14 Onto Object Design Objectives Understand dynamic and static object design modeling. Try agile modeling,
General Principles in Assigning Responsibilities Responsibilities Responsibility-Driven Design CRC Cards GRASP.
Copyright © Craig Larman All Rights Reserved Large-Scale System Partitioning.
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
Systems Analysis and Design in a Changing World, Fourth Edition
GRASP – Designing Objects with Responsibilities
Conception OBJET GRASP Patterns
Chapter 11: Collaboration Diagram - PART1
DESIGN MODEL: USE-CASE REALIZATIONS WITH GRASP PATTERNS
Apply Expert, Creator, Controller, Low Coupling, High Cohesion
GRASP : Designing Objects with Responsibilities
Chapter 13 Logical Architecture.
Requirements To Design In This Iteration
System Sequence Diagrams
Figure 30.2 Layers in NextGen
Starting Design: Logical Architecture and UML Package Diagrams
Chapter 13 Logical Architecture.
Interaction Diagrams A Lot of UML!
Chapter 13 Logical Architecture.
Presentation transcript:

What to remember from Chap 13 (Logical architecture)

Example of logical architecture using a UML package diagram.

Logical Architecture Logical architecture: the large-scale organization of software classes into packages, subsystems, and layers. “Logical” because no decisions about how these elements are deployed across different operating system processes or across physical computers in a network .

Layers A layer is a very coarse-grained grouping of classes, packages, or subsystems that has cohesive responsibility for a major aspect of the system. Layers are organized such that "higher" layers (such as the UI layer) call upon services of "lower" layers, but not normally vice versa. Typically layers in an OO system include:

User Interface. Application Logic and Domain Objects software objects representing domain concepts (for example, a software class Sale) that fulfill application requirements, such as calculating a sale total. Technical Services general purpose objects and subsystems that provide supporting technical services, such as interfacing with a database or error logging. These services are usually application-independent and reusable across several systems.

Connection between SSDs, System Operations and Layers In a well-designed layered architecture that supports high cohesion and a separation of concerns, the UI layer objects will then forward the request from the UI layer onto the domain layer for handling.

Chapter 14 Applying UML and Patterns -Craig Larman On To Object Design Chapter 14 Applying UML and Patterns -Craig Larman

Designing Objects: Static and dynamic modeling. Two kinds of object models: Static models : Class diagrams / Package diagram / Deployment diagram Helps design definition of packages, class name, attributtes and method signature Dynamic models: Interaction Diagrams/ (Sequence / comunication). State machine diagrams/activity diagram Illustrate how objects collaborate via messages and methdos . They help design the logic and method bodies WSEP 06

Agile modeling practice Create Models in parallel! Modeling with others

Chapter 15 Applying UML and Patterns -Craig Larman On To Object Design Chapter 15 Applying UML and Patterns -Craig Larman

A First Look at interaction Diagrams Illustrate how objects interacts with each other. Emphasizes time ordering of messages. Can model simple sequential flow, branching, iteration, …etc Sequence Diagrams

Fig. 15.5

Fig. 15.1:sequence diagram

Fig. 15.2:communication diagram

Sequence diagram notation Figure 15.7

Creation of Instances Figure 15.10

Fig. 15.8 : How to show a return result ?

Fig. 15.9: Messages to “self”

Fig. 15.11: Object destruction

Conditional message : OPT frame is placed around one or more messages. opt: Optional fragment that execute if guard is true Figure 15.13

Conditional message : UML1.x notation Figure 15.14 Which one do you prefer?

Loops (iteration over a collection) in sequence diagrams: Figure 15.16

Loops (iteration over a collection) in sequence diagrams: Figure 15.17 Which notation do you prefer?

Nesting of frames

How relate Interaction diagram?

Polymorphism: How is it shown in interaction diagrams?

Questions?

Project work for today Finish operation contracts for “ register vikingShip” Architecture Analysis use case design of “register VikingShip” That is : Open the black box “System” in the SSD from analysis and show how objects collaborate. Add method names to the classes.

Fig. 17.1 UP artifacts influencing OO design

Introduction to Creator Pattern Problem: Who should be responsible for creating a new instance of some class? Solution: Assign class B the responsibility to create an instance of class A if one or more of these is true: B contains (compositely aggregates) A. B records A. B closely uses A. B has the initializing data for A that will be passed to A when it is created.

Introduction to Controller Pattern Problem: What first object beyond the UI layer receives and coordinates (“controls”) a system operation? Solution: Assign the responsibility to a class that represents the overall system, a “root” object, a device that the software is running within, or a major subsystem (a façade controller), or a use case scenario within which the system event occurs (use case or session controller).

Fig. 17.8 System Sequence Diagram for Monopoly

Fig. 17.9 Who is Controller for playGame?