Software Engineering 1 Object-oriented Analysis and Design Chap 24 Iteration 2 More Patterns.

Slides:



Advertisements
Similar presentations
Ch 3: Unified Process CSCI 4320: Software Engineering.
Advertisements

Chapter 05: Evolutionary Requirements Definition : Requirements  “Requirements are capabilities and conditions to which the system, and more broadly.
Object Design Examples with GRASP
Chapter 22 UML Tooks and UML as Blueprint Model-Driven Architecture (MDA) Object-Constraint Language (OCL)
Chapter 7 Other Requirements Good Fast Cheap Pick any two. 1CS John Cole.
Object-Oriented Analysis and Design
Jan 15, Ron McFadyen1 Ch 9. Use-case model: drawing System Sequence Diagrams Iteration: a simple cash-only success scenario of Process Sale.
Sequence Diagram Objects are represented horizontally across the top of the diagram Each object has a lifeline some exist before and/or after some are.
Jan Ron McFadyen1 Consider a simple cash-only Process Sale scenario 1. Customer arrives at a POS checkout with goods and/or services to purchase.
COMP 350: Object Oriented Analysis and Design Lecture 3 Case Studies, Inception & Use Cases References: Craig Larman Chapters 3-6.
January Ron McFadyen1 Ch 9. Use-case model: drawing System Sequence Diagrams Elaboration Iteration 1: a simple cash-only success scenario of.
NJIT From Inception to Elaboration Chapter 8 Applying UML and Patterns Craig Larman.
Fall 2009ACS-3913 Ron McFadyen1 Use Cases Used to capture functional requirements – there are other requirements categories such as usability, reliability,
NJIT Requirements To Design--Iteratively Chapter 12 Applying UML and Patterns Craig Larman Presented By :Satish Khanna.
Understanding Requirements
NJIT 1 Iteration 2 Requirements and More GRASP Chapter 24.
Eva TrosborgSlide no.: 1Elaboration Iteration 2 Object Oriented design and more patterns Fall 2005 UML Tools and UML as Blueprint (chapter 22, p 397)
1/31 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2005] January 22, 2009.
From Inception to Elaboration Chapter 8 Applying UML and Patterns -Craig Larman.
Chapter 3 Case Studies.
Object-Oriented Analysis and Design
COMP 350: Object Oriented Analysis and Design Lecture 2
1 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2002] January 26, 2006.
Chapter 26 Applying Gang of Four Design Patterns 1CS6359 Fall 2012 John Cole.
TK2023 Object-Oriented Software Engineering CHAPTER 6 SYSTEM SEQUENCE DIAGRAMS.
Applying UML and Patterns An Introduction to Object-oriented Analysis and Design and Iterative Development Part III Elaboration Iteration I – Basic1.
What is UML? What is UP? [Arlow and Neustadt, 2005] January 23, 2014
Software Engineering 1 Object-oriented Analysis and Design Chap 30 Relating Use Cases.
Object-Oriented Analysis and Design An Introduction.
Software Engineering 1 Object-oriented Analysis and Design Applying UML and Patterns An Introduction to Object-oriented Analysis and Design and Iterative.
Chapter 26 GoF Design Patterns. The Adapter Design Pattern.
Sept Ron McFadyen1 Section 10.1 Domain Models Domain Model: a visual representation of conceptual classes or real-world objects in a domain.
Software Architecture in Practice Architectural description (The reduced version)
GoF Design Patterns (Ch. 26). GoF Design Patterns Adapter Factory Singleton Strategy Composite Façade Observer (Publish-Subscribe)
Inception Is there a project in there? What’s the vision, scope & business case?
TK2023 Object-Oriented Software Engineering CHAPTER 3 CASE STUDY: POS SYSTEM.
Object-oriented Analysis and Design Stages in a Software Project Requirements Writing Analysis Design Implementation System Integration and Testing Maintenance.
Chapter 7 Applying UML and Patterns Craig Larman
Review ♦ System sequence diagram ♦ Domain model
Jan 7, A UP project organizes the work and iterations across four major phases: – Inception -- approximate vision, business case, scope, vague estimates.
Systems Analysis and Design in a Changing World, 3rd Edition
Chapter 2 Iterative, Evolutionary, and Agile You should use iterative development only on projects that you want to succeed. - Martin Fowler 1CS
GRASP: Designing Objects with Responsibilities
Lecture 13-17, chitkara university.  Gives a conceptual framework of the things in the problem space  Helps you think – focus on semantics  Provides.
Chapter 9 Applying UML and Patterns -Craig Larman
Object-Oriented Analysis and Design Jan 21, 2009.
Chapter 1 Applying UML and Patterns. The Need for Software Blueprints Knowing an object-oriented language and having access to a library is necessary.
COMP-350 Object-Oriented Analysis and Design Drawing System Sequence Diagrams Reference: Larman, Chapter 9.
DOMAIN MODEL: ADDING ATTRIBUTES Identify attributes in a domain model. Distinguish between correct and incorrect attributes.
Software Engineering 1 Object-oriented Analysis and Design Applying UML and Patterns An Introduction to Object-oriented Analysis and Design and Iterative.
OO Methodology Elaboration Iteration 2 - Design Patterns -
TK2023 Object-Oriented Software Engineering CHAPTER 12 Introduction to Responsibility-Driven Design.
Sept Ron McFadyen1 Use Cases Introduced by Ivar Jacobson in 1986 literal translation from Swedish ”usage case” Used to capture and describe.
OO Methodology Elaboration Phase Iteration 1- Part 3.
Chapter 8: Iteration 1 - Basics.  We review here the requirements for first iteration of our case studies. They are a subset of the requirements as described.
(Further analysis and Refactoring) Larman, chapters 23 and 24 Glenn D. Blank, CSE432.
Chapter 8. Iteration 1, Elaboration: book view differs from reality for pedagogical reasons not doing “risk-driven” up front uses many OOA/D skills should.
Copyright © Craig Larman All Rights Reserved Large-Scale System Partitioning.
Jan Ron McFadyen1 Use Cases Used to capture functional requirements – there are other requirements categories such as usability, reliability,
Elaboration: Iteration 2. Elaboration: Iteration 2 Basics Iteration 1 ends with : All the software has been tested: The idea in the UP is to do early,
TK2023 Object-Oriented Software Engineering
Elaboration popo.
Component and Deployment Diagrams
GoF Patterns (GoF) popo.
DESIGN MODEL: USE-CASE REALIZATIONS WITH GRASP PATTERNS
GoF Design Patterns (Ch. 26). GoF Design Patterns Adapter Factory Singleton Strategy Composite Façade Observer (Publish-Subscribe)
Chapter 23 Iteration 2.
GoF Design Patterns (Ch. 26)
Other System Requirements
GoF Patterns Ch. 26.
Presentation transcript:

Software Engineering 1 Object-oriented Analysis and Design Chap 24 Iteration 2 More Patterns

Software Engineering 2 Object-oriented Analysis and Design From Iteration 1 to 2  When iteration-1 ends, the following should be accomplished: m All the software has been tested: unit, acceptance, load, usability, and so on. m The idea in the UP is to do early, realistic, and continuous verification of quality and correctness, so that early feedback guides the developers to adapt and improve the system. m Customers have been regularly engaged in evaluating the partial system, to obtain feedback for adaptation and clarification of requirements. m The system, across all subsystems, has been completely integrated and stabilized as a baselined internal release.

Software Engineering 3 Object-oriented Analysis and Design From Iteration 1 to 2  Some activities also be included m An iteration planning meeting to decide what to work on in the next iteration, resolve questions, and identify major tasks. m The start of the new iteration, use a UML tool to reverse engineer diagrams from the source code of the last iteration (the results are part of Design Model). m to illustrate the starting point of the logical design for the next iteration. m Usability analysis and engineering for the UI is underway. m Database modeling and implementation is underway. m Another two-day (for example) requirements workshop occurs, and more use cases are written in their fully dressed format.  During elaboration, while perhaps 10% of the most risky requirements are being designed and implemented, there is a parallel activity to deeply explore and define perhaps 80% of the use cases for the system. m Participants include developers/architect from the first iteration, so that the investigation and questioning during this workshop is informed from the insights gained from actually quickly building some software.

Software Engineering 4 Object-oriented Analysis and Design Iteration-2 Requirements and Emphasis: Object Design and Patterns 1  For case studies iteration-2 ignores requirements analysis and domain analysis, and focuses on object design with responsibilities and GRASP, and applying some GoF design patterns.  Iteration-2 of the NextGen POS application handles several interesting requirements: m Support for variations in third-party external services. For example, different tax calculators must be connectable to the system, and each has a unique interface. m Complex pricing rules. m A design to refresh a GUI window when the sale total changes.  These interesting requirements may be identified during inception. (e.g., the Process Sale use case indicates the pricing problem)

Software Engineering 5 Object-oriented Analysis and Design Iteration-2 Requirements and Emphasis: Object Design and Patterns 2  Main Success Scenario of Process Sale use case : m 1.Customer arrives at a POS checkout with goods and/or services to purchase. m 2.Cashier tells System to create a new sale. m 3.Cashier enters item identifier. m 4.System records sale line item and presents item description, price, and running total. Price calculated from a set of price rules. m...  Supplementary Specification record details of the domain rules for pricing, and indicate the need to support varying external systems.

Software Engineering 6 Object-oriented Analysis and Design Iteration-2 Requirements and Emphasis: Object Design and Patterns 3... Senior15% off. Preferred Customer10% off. Each retailer uses different rules.Employee20% off. Retailer policy.High.Purchaser discount rules.RULE4 SourceChangeabilityRuleID  Supplementary Specification m... m Interfaces m Software Interfaces m For most external collaborating systems (tax calculator, accounting, inventory,... ) we need to be able to plug in varying systems and thus varying interfaces. m... m Domain (Business) Rules

Software Engineering 7 Object-oriented Analysis and Design Iteration-2 Requirements and Emphasis: Object Design and Patterns 4  Supplementary Specification m Information in Domains of Interest m Pricing m In addition to the pricing rules described in the domain rules section, note that products have an original price, and optionally a permanent markdown price. A product's price (before further discounts) is the permanent markdown price, if present. Organizations maintain the original price even if there is a permanent markdown price, for accounting and tax reasons. m...

Software Engineering 8 Object-oriented Analysis and Design Iteration-2 Requirements and Emphasis: Object Design and Patterns 5  Incremental Development for a Use Case Across Iterations m Because of these requirements, we are revisiting the Process Sale use case in iteration-2, but implementing more scenarios. m It is common to work on varying scenarios or features of the same use case over several iterations and gradually extend the system to ultimately handle all the functionality required. m Short, simple use cases may be completely implemented within one iteration. m One scenario should not be split across iterations; an iteration should complete one or more end-to-end scenarios. m Iteration-1 made simplifications so that the problem and solution were not overly complex to explore.