Chapter 1 Applying UML and Patterns. The Need for Software Blueprints Knowing an object-oriented language and having access to a library is necessary.

Slides:



Advertisements
Similar presentations
Object-Oriented Analysis and Design
Advertisements

Chapter 1 Object Oriented Analysis and Design. UML, Patterns, and Object-Oriented Analysis and Design  The essential skills for the creation of well-designed,
Jan 15, Ron McFadyen1 Ch 9. Use-case model: drawing System Sequence Diagrams Iteration: a simple cash-only success scenario of Process Sale.
Object-Oriented Analysis and Design
Use-case Modeling.
Object-Oriented Analysis and Design
Drawing System Sequence Diagrams
Chapter 10 System Sequence Diagrams. What is a System Sequence Diagram? A way of modeling input and output events related to systems It is a picture that.
6/8/991 Analysis Tuesday 09/14/99 Revised: September 11, 2000 (APM)
Domain model: visualizing concepts
NJIT 1 Domain Model Visualizing Concepts Chapter 9 Applying UML and Patterns Craig Larman.
Systems Analysis & Design Sixth Edition Systems Analysis & Design Sixth Edition Toolkit Part 5.
NJIT Drawing System Sequence Diagrams Chapter 10 Applying UML and Patterns Craig Larman Presented by Anuradha Dharani.
חוזים – 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)
LECTURE 5 SEQUENCE DIAGRAM 1. INTRODUCTION – SYSTEM SEQUENCE DIAGRAM A system sequence diagram is a fast and easily created artifact that illustrates.
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 a domain model? “A domain model captures the most important types of objects in the context of the business. The domain model represents the ‘things’
BTS430 Systems Analysis and Design using UML Domain Model Part 1—Finding Conceptual Classes.
Chapter 6: Structured Vs. Object Oriented Analysis and Design.
Object-Oriented Analysis and Design An Introduction.
Object-Oriented Analysis and Design Lecture 1 Instructor: John Cole 1Object-Oriented Analysis and Design - Intro.
USE CASE Bayu Adhi Tama, MTI Faculty of Computer Science, University of Sriwijaya Slides are adapted from Petrus Mursanto
Copyright 2002 Prentice-Hall, Inc. Chapter 2 Object-Oriented Analysis and Design Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey.
Chapter 7 Applying UML and Patterns Craig Larman
Review ♦ System sequence diagram ♦ Domain model
Object-Oriented Analysis and Design Fall 2009.
1 COMP 350: Object Oriented Analysis and Design Lecture 1Introduction References: Craig Larman Chapter 1.
PRJ566 System Sequence Diagrams.  A system sequence diagram …. Illustrates input and output events related to the system under discussion.  Larman,
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
® IBM Software Group © 2006 IBM Corporation Writing Good Use Cases Module 1: Introduction to Use-Case Modeling.
♦ Use Case Model  Detailled use case - Important  Use case diagram- Refactoring Use case diagram  > 1 Last Lectures.
SYS466: Analysis and Design Using OO Models Domain Class Diagram.
Lecture 6: Structural Modeling
1 System Analysis and Design Using UML INSTRUCTOR: Jesmin Akhter Lecturer, IIT, JU.
Discovering object interaction. Use case realisation The USE CASE diagram presents an outside view of the system. The functionality of the use case is.
Drawing System Sequence Diagrams
COMP-350 Object-Oriented Analysis and Design Drawing System Sequence Diagrams Reference: Larman, Chapter 9.
System sequence diagram M Taimoor Khan
System sequence diagrams
Repetition af Domæne model. Artifact influence emphasizing the Domain Model.
Software Engineering 1 Object-oriented Analysis and Design Applying UML and Patterns An Introduction to Object-oriented Analysis and Design and Iterative.
Domain Classes – Part 1.  Analyze Requirements as per Use Case Model  Domain Model (Conceptual Class Diagram)  Interaction (Sequence) Diagrams  System.
TK2023 Object-Oriented Software Engineering CHAPTER 12 Introduction to Responsibility-Driven Design.
Domain Model A representation of real-world conceptual classes in a problem domain. The core of object-oriented analysis They are NOT software objects.
Larman chapter 101 Domain Model: Visualizing concepts Larman chapter 10.
OO Methodology Elaboration Phase Iteration 1- Part 3.
Summary from previous lectures
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
1 Chapter 9: Operation Contracts Chapter 13 in Applying UML and Patterns Book.
OO DomainModeling With UML Class Diagrams and CRC Cards Chapter 6 Princess Nourah bint Abdulrahman University College of Computer and Information Sciences.
Object Oriented Programming and Data Abstraction Earl Huff Rowan University.
High Level Design Use Case Textual Analysis SE-2030 Dr. Mark L. Hornick 1.
SYSTEM-LEVEL SEQUENCE DIAGRAMS Sys466. System-Level Sequence Diagrams  Use cases describe how external actors interact with the software system…  An.
Object Oriented Analysis & Design By Rashid Mahmood.
Laurea Triennale in Informatica – Corso di Ingegneria del Software I – A.A. 2006/2007 Andrea Polini XIV. From Requirements to Design in the UP.
Elaboration popo.
Domain Model: Visualizing concepts
System sequence diagrams
BTS430 Systems Analysis and Design using UML
Chapter 6: Structured Vs. Object Oriented Analysis and Design.
Chapter 5: Object Oriented Analysis and Design
DESIGN MODEL: USE-CASE REALIZATIONS WITH GRASP PATTERNS
OO Domain Modeling With UML Class Diagrams and CRC Cards
OO Domain Modeling With UML Class Diagrams and CRC Cards
How do we convince people that in programming simplicity and clarity —in short: what mathematicians call "elegance"— are not a dispensable luxury, but.
Chapter 6: Structured Vs. Object Oriented Analysis and Design.
System Sequence Diagrams(SSD)
Presentation transcript:

Chapter 1 Applying UML and Patterns

The Need for Software Blueprints Knowing an object-oriented language and having access to a library is necessary but not sufficient in order to create object software. In between a nice idea and a working software, there is much more than programming. Analysis and design provide software “blueprints”, illustrated by a modeling language, like the Unified Modeling Language (UML). Blueprints serve as a tool for thought and as a form of communication with others.

From Design to Implementation

Introduction to Requirements Requirements are system capabilities and conditions to which the system must conform. Functional requirements – Features and capabilities. – Recorded in the Use Case model (see next), and in the systems features list of the Vision artifact. Non-functional (or quality requirements) – Usability (Help, documentation, …), Reliability (Frequency of failure, recoverability, …), Performance (Response times, availability, …), Supportability (Adaptability, maintainability, …) – Recorded in the Use Case model or in the Supplementary Specifications artifact.

Use-Case Model: Writing Requirements in Context Use cases and adding value Actor: something with behavior, such as a person, computer system, or organization, e.g. a cashier. Scenario: specific sequence of actions and interactions between actors and the system under discussion, e.g. the scenario of successfully purchasing items with cash. Use case: a collection of related success and failure scenarios that describe actors using a system to support a goal.

Use Case Diagrams

Use-Case Model: Drawing System Sequence Diagrams

System Behavior and UML Sequence Diagrams It is useful to investigate and define the behavior of the software as a “black box”. System behavior is a description of what the system does (without an explanation of how it does it). Use cases describe how external actors interact with the software system. During this interaction, an actor generates events. A request event initiates an operation upon the system.

System Behavior and System Sequence Diagrams (SSDs) A sequence diagram is a picture that shows, for a particular scenario of a use case, the events that external actors generate, their order, and possible inter-system events. All systems are treated as a black box; the diagram places emphasis on events that cross the system boundary from actors to systems.

SSD and Use Cases

Naming System Events and Operations The set of all required system operations is determined by identifying the system events. makeNewSale() addLineItem(itemID, quantity) endSale() makePayment(amount)

Domain Model: Visualizing Concepts

Domain Models A Domain Model illustrates meaningful concepts in a problem domain. It is a representation of real-world things, not software components. It is a set of static structure diagrams; no operations are defined. It may show: – concepts – associations between concepts – attributes of concepts

Domain Models

Strategies to Identify Conceptual Classes Use noun phrase identification. – Identify noun (and noun phrases) in textual descriptions of the problem domain, and consider them as concepts or attributes. – Use Cases are excellent description to draw for this analysis. Use a conceptual class category list – Make a list of candidate concepts.

Finding Conceptual Classes with Noun Phrase Identification

The NextGen POS (partial) Domain Model

Adding Associations

Use a conceptual class category list

The Need for Specification or Description Conceptual Classes

Finding Associations –Common Associations List

Multiplicity

Naming Associations

Adding Attributes

Valid Attribute Types

Domain Model Conclusion