Week 4 Operational Contracts Requirements to Design Logical Architecture.

Slides:



Advertisements
Similar presentations
Object Design Examples with GRASP
Advertisements

Feb 2003 R McFadyen1 Contracts (Ch 13) Used to help understand requirements more completely based on assertions; assertions are applicable to any.
Jan 23, Ron McFadyen1 SSD for a samplePOS Use Case Figure 13.1 Input Events invoke a system operation of the same name same idea as in object-oriented.
Object-Oriented Analysis and Design
Jan 2005 Ron McFadyen1 Contracts Used to help understand requirements more completely (and so may not always be necessary) based on assertions;
Dr. Kivanc DincerCS319 Week 11 - Nov.21,20051 Chapter 20 Mapping Designs to Code Objectives Map design artifacts to code in an object-oriented language.
NJIT Object Design Examples with GRASP Chapter 18 Applying UML and Patterns Craig Larman Presented By : Ajay Alegonda.
NJIT Use Case Model Operation Contracts Prepared By: Sumit Sharma.
6/8/991 Analysis Tuesday 09/14/99 Revised: September 11, 2000 (APM)
ACS-3913Fall 2009 Ron McFadyen1 Contracts Used to help understand requirements more completely (and so may not always be necessary) based on assertions;
September 2002 R McFadyen1 Domain Model Use Case Model text diagram SSD System operation contracts Design Model Figure 13.3.
UML Sequence Diagrams Eileen Kraemer CSE 335 Michigan State University.
Object-Oriented Analysis and Design
Sept Ron McFadyen1 Extend Relationship.
Use Case Model Operation Contracts Prepared By: Sumit Sharma and Sravanthi Gillala.
חוזים – Contracts 1. Larman – Chapter 10 – SSDs 10.2 What are System Sequence Diagrams? (introduction) Use cases describe how external actors interact.
9/18/011 Software Requirements Analysis and Design (Continued)
Applying UML and Patterns An Introduction to Object-oriented Analysis and Design and Iterative Development Part III Elaboration Iteration I – Basic1.
CSSE 374: More GRASP’ing and Use Case Realization Steve Chenoweth Office: Moench Room F220 Phone: (812) These.
UML Sequence Diagrams Michael L. Collard, Ph.D. Department of Computer Science Kent State University.
INFO 620Lecture #51 Information Systems Analysis and Design Sequence and Collaboration Diagrams INFO 620 Glenn Booker.
CSSE 374: Operations Contracts and Logical Architectures Steve Chenoweth Office: Moench Room F220 Phone: (812)
Chapter 18 Object Design Examples with GRASP. Objectives Design use case realizations –A use-case realization describes how a particular use case is realized.
SOEN 6011 Software Engineering Processes Section SS Fall 2007 Dr Greg Butler
Object-Oriented Analysis and Design Feb 4, 2009.
1 Ch 18. Object Design Examples With Grasp Objectives Design use case realizations. Apply GRASP to assign responsibilities to classes. Apply UML to illustrate.
Object Oriented Analysis and Design System Events & Contracts.
SOEN 343 Software Design Section H Fall 2006 Dr Greg Butler
Chapter 26 GoF Design Patterns. The Adapter Design Pattern.
Chapter 6 Use Cases. Use Cases: –Text stories Some “actor” using system to achieve a goal –Used to discover and record requirements –Serve as input to.
GRASP: Designing Objects With Responsibilities Chapter 17 Applying UML and Patterns -Craig Larman.
Object Design Examples with GRASP (Ch. 18)
Use Case Model Operation Contracts Chapter 11 Applying UML and Patterns Craig Larman.
Review ♦ System sequence diagram ♦ Domain model
1 Lecture 6: Operation Contracts. 2 Overview  What is contract ?  The guidelines for writing contracts for the system operations.  Use Case realizations.
Operation Contracts: Getting ready to open the “System” black box All material from Applying UML and Patterns, 3 rd Edition, Craig Larman, chapter 11.
SYS466: Analysis and Design Using OO Models Domain Class Diagram.
Larman ch. 131 Use-Case Model : Adding Detail with operation contracts Larman ch. 13.
Drawing System Sequence Diagrams
COMP-350 Object-Oriented Analysis and Design Drawing System Sequence Diagrams Reference: Larman, Chapter 9.
Use Case Driven Analysis Requirements Use Case Use Case Description System Sequence Diagram Chapter 5.
System sequence diagrams
BTS430 Systems Analysis and Design using UML Domain Model—Part 2: Associations and Attributes.
Chapter 10 Drawing System Sequence Diagrams
DOMAIN MODEL: ADDING ATTRIBUTES Identify attributes in a domain model. Distinguish between correct and incorrect attributes.
Chapter 11 Operation Contracts. What They Are An operation is a specification of a transformation or query that an object may be called on to execute.
COMP 6471 Software Design Methodologies Winter 2006 Dr Greg Butler
Operation Contracts. Primary way to describe system behavior is with use cases Operation contracts provide more details in terms of state changes to objects.
TK2023 Object-Oriented Software Engineering CHAPTER 12 Introduction to Responsibility-Driven Design.
Phase 6 Start: Saturday14 April End: Saturday 21 April
Domain Model A representation of real-world conceptual classes in a problem domain. The core of object-oriented analysis They are NOT software objects.
BTS430 Systems Analysis and Design using UML Domain Model—Part 2: Associations and Attributes.
GRASP: Designing Objects With Responsibilities
OO Methodology Elaboration Phase Iteration 1- Part 3.
Summary from previous lectures
1 Chapter 9: Operation Contracts Chapter 13 in Applying UML and Patterns Book.
Use-Case Model: Adding Detail with Operation Contracts.
1 Design Model Use-Case realizations with GRASP Larman chapter 17.
1 Object Oriented Analysis and Design System Events & Contracts.
OO Methodology Elaboration Phase Iteration 1- Part 2.
Object Design Examples with GRASP
Systems Analysis and Design in a Changing World, 6th Edition
System Sequence Diagrams and Operation Contracts
Used to help understand requirements more completely
System sequence diagrams
Systems Analysis and Design in a Changing World, 6th Edition
Chapter 18.
Chapter 11: Class Diagram
Operation Contracts Ch. 11.
Chapter 11: Class Diagram
Presentation transcript:

Week 4 Operational Contracts Requirements to Design Logical Architecture

OO Analysis and Design Process Domain Model Classes Attributes Associations Use Cases System Sequence Diagrams Interaction Diagrams Operation Contracts Software Object Design ** Classes Communications Operations and Methods Don’t get hung up on terminology.  Architecture -System vs Logical  Domain Model vs Domain Layer

Chapter 11 Operational Contracts What are they? When and Why are they used?

Fig. 11.1

Operational Contract “Contracts describe changes that are likely required in the software objects.” Detailed description of behavior –Consider it optional but useful Components of a contract: –Operation signature – just a name –Cross reference – refer to use cases –Pre conditions – assumption about the state –Post conditions – state after completion

Example: enterItem Operation: enterItem(itemID: ItemID, quantity: interger Cross Reference: Use Cases: ProcessSale Preconditions: There is a sale underway Postconditions: A SalesLineItem instance sli was created sli was associated with current Sale sli.quantity became quantity sli was assoicated with a ProductDescription, based on itemID match

Fig Events trigger operations Process sale

Post Conditions Changes in the state of objects in the domain model Observations not operations Three domain object state changes –Instance created or deleted –Attribute value changed –Association formed or broken

When Are Contracts Useful When complexity of required state changes too awkward/detailed to capture in use cases Describe what happens, not how –Sales Line Item associated with the sale by stapling papers Proof of correctness (axiomatic semantics) Testing and verification

How to Create and Write Contracts Past tense descriptions and observations Stage and curtain analogy How complete? Best guess is a good start Better to start with something that can be improved Improves analysis and understanding Useful for operations that are “complex and subtle.” Go back and update the Domain Model as needed. Do one for your project – just to do it.

Summary Update the domain model? When? –System operations that are complex or subtle Most common mistake? –Forgetting associations