May-June 2001 ISISTAN Research Institute – Tandil, Argentina Software Design Methodologies: UML in Action Dr. Mohamed Fayad, J.D. Edwards Professor Department.

Slides:



Advertisements
Similar presentations
Johnb DFDs and Design John Bell The DeMarco notation.
Advertisements

Database Systems: Design, Implementation, and Management Tenth Edition
Alternative Approach to Systems Analysis Structured analysis
Creative Inventions and Robotics Baseball Robots Next Generation Computer Game.
May-June 2001 ISISTAN Research Institute – Tandil, Argentina Software Design Methodologies: UML in Action Dr. Mohamed Fayad, J.D. Edwards Professor Department.
Lecture 9 Object-Oriented Analysis
Fall 2002 SJSU -- CmpE Enterprise & Application Frameworks Dr. M.E. Fayad, Professor Computer Engineering Department – RM# College of Engineering San José.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 8 Slide 1 System models.
May-June 2001 ISISTAN Research Institute – Tandil, Argentina Software Design Methodologies: UML in Action Dr. Mohamed Fayad, J.D. Edwards Professor Department.
Communication Notation Part V Chapter 15, 16, 18 and 19.
L9-S1Object Identification SJSU -- CmpE Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
May-June 2001 ISISTAN Research Institute – Tandil, Argentina Software Design Methodologies: UML in Action Dr. Mohamed Fayad, J.D. Edwards Professor Department.
May-June 2001 ISISTAN Research Institute – Tandil, Argentina Software Design Methodologies: UML in Action Dr. Mohamed Fayad, J.D. Edwards Professor Department.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System models September 29, 2008.
May-June 2001 ISISTAN Research Institute – Tandil, Argentina Software Design Methodologies: UML in Action Dr. Mohamed Fayad, J.D. Edwards Professor Department.
May-June 2001 ISISTAN Research Institute – Tandil, Argentina Software Design Methodologies: UML in Action Dr. Mohamed Fayad, J.D. Edwards Professor Department.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
May-June 2001 ISISTAN Research Institute – Tandil, Argentina Software Design Methodologies: UML in Action Dr. Mohamed Fayad, J.D. Edwards Professor Department.
Chapter 4 Relational Databases Copyright © 2012 Pearson Education, Inc. publishing as Prentice Hall 4-1.
DATA FLOW DIAGRAMS IT 155.
Chapter 4 Relational Databases Copyright © 2012 Pearson Education 4-1.
Process Modeling SYSTEMS ANALYSIS AND DESIGN, 6 TH EDITION DENNIS, WIXOM, AND ROTH © 2015 JOHN WILEY & SONS. ALL RIGHTS RESERVED. 1 Roberta M. Roth.
Software Engineering Case Study Slide 1 Introductory case study.
Domain Modeling (with Objects). Motivation Programming classes teach – What an object is – How to create objects What is missing – Finding/determining.
Chapter 6: The Traditional Approach to Requirements
Computer System Analysis Chapter 10 Structuring System Requirements: Conceptual Data Modeling Dr. Sana’a Wafa Al-Sayegh 1 st quadmaster University of Palestine.
2 Approaches to Requierements Engineering Reference: Systems Analysis and Design in a Changing World, 3 rd Edition, chapter 2 and chapter 6.
1 CSc 131 Computer Software Engineering Fall 2012 Lecture # 7 Object-Oriented Design & UML Class Models.
COP 3331 OBJECT-ORIENTED ANALYSIS AND DESIGN Bob Myers Department of Computer Science Week 6 Lecture.
1 Lecture 3: Introducing Data Flow Diagrams (DFDs) Section 1 - The Concept of Diagrams Why use Diagrams? Diagrams as Working Documents Systems Analysis.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions of systems whose requirements are being.
Chapter 4 System Models A description of the various models that can be used to specify software systems.
System models Abstract descriptions of systems whose requirements are being analysed Abstract descriptions of systems whose requirements are being analysed.
Database Systems: Design, Implementation, and Management Ninth Edition
1 Object-Oriented Analysis Use Case Driven. 2 The outline method for OOA 1.Identify object classes within the problem domain 2.Define the behaviour of.
CSC 395 – Software Engineering Lecture 13: Object-Oriented Analysis –or– Let the Pain Begin (At Least I’m Honest!)
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 1 Object Modeling.
Chapter 7 System models.
System models l Abstract descriptions of systems whose requirements are being analysed.
Pertemuan 19 PEMODELAN SISTEM Matakuliah: D0174/ Pemodelan Sistem dan Simulasi Tahun: Tahun 2009.
CS 4310: Software Engineering Lecture 4 System Modeling The Analysis Stage.
Modified by Juan M. Gomez Software Engineering, 6th edition. Chapter 7 Slide 1 Chapter 7 System Models.
CS3773 Software Engineering Lecture 04 UML Class Diagram.
Software Engineering, 8th edition Chapter 8 1 Courtesy: ©Ian Somerville 2006 April 06 th, 2009 Lecture # 13 System models.
Sommerville 2004,Mejia-Alvarez 2009Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
Objectives:1. Classes and Objects 2. Attributes 3. Services 4. Subjects Object-Oriented Analysis – Finding Class-&-Obects.
CSC480 Software Engineering Lecture 11 September 30, 2002.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 Chapter 7 System Models.
Fall 2010 CS4310 Requirements Engineering A Brief Review of UML & OO Dr. Guoqiang Hu Department of Computer Science UTEP 1.
Lecture 6: Structural Modeling
1 What is OO Design? OO Design is a process of invention, where developers create the abstractions necessary to meet the system’s requirements OO Design.
Design Model Lecture p6 T120B pavasario sem.
CSC 131 Fall 2006 Lecture # 6 Object-Oriented Concepts.
Domain Classes – Part 1.  Analyze Requirements as per Use Case Model  Domain Model (Conceptual Class Diagram)  Interaction (Sequence) Diagrams  System.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
UML’s StateChart FSM, EFSM in UML Concurrent states Tool support.
Use Case Textual Analysis
Domain Model A representation of real-world conceptual classes in a problem domain. The core of object-oriented analysis They are NOT software objects.
6.1 © 2007 by Prentice Hall Chapter 6 (Laudon & Laudon) Foundations of Business Intelligence: Databases and Information Management.
McGraw-Hill/Irwin© 2008 The McGraw-Hill Companies, All Rights Reserved Chapter 17 Object-Oriented Design and Modeling Using the UML.
OO DomainModeling With UML Class Diagrams and CRC Cards Chapter 6 Princess Nourah bint Abdulrahman University College of Computer and Information Sciences.
High Level Design Use Case Textual Analysis SE-2030 Dr. Mark L. Hornick 1.
Identification of Classes. Object Oriented Analysis (OOA) OOA is process by which we identify classes that play role in achieving system goals & requirements.
DOMAIN CLASSES – PART 1 BTS430 Systems Analysis and Design using UML.
Object Analysis: Classification
OO Domain Modeling With UML Class Diagrams and CRC Cards
UML’s StateChart FSM, EFSM in UML Concurrent states Tool support.
OO Domain Modeling With UML Class Diagrams and CRC Cards
Understand and Use Object Oriented Methods
Lecture 10 Structuring System Requirements: Conceptual Data Modeling
Presentation transcript:

May-June 2001 ISISTAN Research Institute – Tandil, Argentina Software Design Methodologies: UML in Action Dr. Mohamed Fayad, J.D. Edwards Professor Department of Computer Science & Engineering University of Nebraska, Lincoln Ferguson Hall, P.O. Box Lincoln, NE

L4-S2Object Identification-1 May-June 2001 ISISTAN Research Institute – Tandil, Argentina -- M.E. Fayad 2 Lesson 4: Object Identification - 1

L4-S3Object Identification-1 May-June 2001 ISISTAN Research Institute – Tandil, Argentina -- M.E. Fayad Lesson Objectives 3 Understand object identification & class classification Learn how to identify: Objects and classes î Textual Specification Analysis î Data Analysis î Behavior Analysis î Use Case Analysis Associations and aggregations using Abbott's approach Understand how to use the following approaches: Data Analysis Use Case

L4-S4Object Identification-1 May-June 2001 ISISTAN Research Institute – Tandil, Argentina -- M.E. Fayad 4 Classification Involves Ordering Knowledge Finding Similarities –Common Attributes –Common Behaviors OO Classifies Software –Exposes existing commonalities –Invents stable abstractions Goal is a simple & natural design

L4-S5Object Identification-1 May-June 2001 ISISTAN Research Institute – Tandil, Argentina -- M.E. Fayad 5 No Single Best Classification Structure Depends upon –Domain –Application –Experience –Creativity Water Animals Air Animals Land Animals ?

L4-S6Object Identification-1 May-June 2001 ISISTAN Research Institute – Tandil, Argentina -- M.E. Fayad 6 Same Object Can Be Perceived from Several Perspectives Data-Driven head, tail, body, leg Behavior-Driven walk, run, eat Responsibility-Driven carry things, communicate, maintain its living system

L4-S7Object Identification-1 May-June 2001 ISISTAN Research Institute – Tandil, Argentina -- M.E. Fayad  Textual Specification Analysis  Data Analysis  Behavior Analysis  Use-Case Analysis  Responsibility Analysis 7 Object/Class Identification Techniques

L4-S8Object Identification-1 May-June 2001 ISISTAN Research Institute – Tandil, Argentina -- M.E. Fayad Abbott’s Noun Approach –Use noun, pronoun, and noun phrases to identify abstract objects and classes. –Use singular proper nouns (e.g., sensor number 5) and nouns of direct reference (e.g., the fifth sensor) to identify abstract objects. –Use plural and common (e.g., sensor) nouns to identify classes. –Use verbs and predicate phrases (e.g., are simultaneously activated) to identify the associated operations. Comments –This approach is the oldest approach 8 Textual Analysis Approach

L4-S9Object Identification-1 May-June 2001 ISISTAN Research Institute – Tandil, Argentina -- M.E. Fayad Benefits: –Easy for beginners to use –Abbott’s mapping should usually work –Can be used with pre-existing textual requirements specifications –Does not require a complete paradigm shift Risks –Indirect –Many software engineers are weak in grammar –English is vague, Examples Some nouns can be used as verbs and vis versa Some words (e.g., purchase, record) can be used as both nouns and verbs –Assumes user’s requirements are coherent, complete and correct –No tool support 10 Textual Analysis Approach

L4-S10Object Identification-1 May-June 2001 ISISTAN Research Institute – Tandil, Argentina -- M.E. Fayad  Classes should make sense in the problem domain.  Good classes classify the objects which need to be modeled in the system.  Classes often correspond to NOUNS.  Avoid redundant or irrelevant classes which add no value in the problem domain.  Remove classes which have no attributes. 12 Selecting Good Classes

L4-S11Object Identification-1 May-June 2001 ISISTAN Research Institute – Tandil, Argentina -- M.E. Fayad After initial pass, discard classes which are:  Redundant  Irrelevant to the problem domain  Vague  Attributes  If class name has no attributes of its own, it is probably an attribute. 11 Elimination of Inappropriate Classes

L4-S12Object Identification-1 May-June 2001 ISISTAN Research Institute – Tandil, Argentina -- M.E. Fayad The Problem Statement: A simple cash register has a display, an electronic wire with a plug, and a numeric keypad which has keys for subtotal, tax, and total. This cash storage device has a total key which triggers the release on the drawer. The numeric buttons simply place a number on the display screen, the subtotal displays the current total, the tax key computes the tax, and the total key adds the subtotal to the tax. Identify all the classes in this problem statement Use the class elimination rules to eliminate the unnecessary classes. 12 Example 1: Simple Cash Register

L4-S13Object Identification-1 May-June 2001 ISISTAN Research Institute – Tandil, Argentina -- M.E. Fayad We are going to use nouns to find classes Nouns (initial) RegisterDisplayWire PlugKeypad Keys DevicesReleaseDrawer ButtonsScreenNumber TotalTax Nouns (General Knowledge) 0-9 keys Money Subtotal Key Tax Key Total Key 13 Classes in the initial pass

L4-S14Object Identification-1 May-June 2001 ISISTAN Research Institute – Tandil, Argentina -- M.E. Fayad 14 Eliminating Unnecessary Nouns Register Display Wire---> Irrelevant Plug---> Irrelevant Keypad Keys Devices---> Vague Release---> Irrelevant Drawer Buttons---> Redundant Screen---> Redundant Number---> Attribute Total ---> Attribute Tax---> Attribute 0-9 Key Value---> Attribute Money Subtotal Key Tax Key Total Key

L4-S15Object Identification-1 May-June 2001 ISISTAN Research Institute – Tandil, Argentina -- M.E. Fayad 15 Data Analysis Approach Name Breed Owner Name Name Address Happy Poodle Joe Tasha Pit Bull Eric King, Jr. ShepherdCarol Carol 2601 Lake St. 1. Identify abstract objects as table 2. Identify instances as rows in table 3. Identify relationships between objects Dog Owner Dog But how do you find your abstract objects?

L4-S16Object Identification-1 May-June 2001 ISISTAN Research Institute – Tandil, Argentina -- M.E. Fayad Tangible things -- airplane, book, table Roles -- doctor, professor Incidents -- accident, flight Interactions -- purchase, marriage Specifications -- insurance policy People -- humans who carry out some function Places -- areas set aside for people or things Organizations -- formally organized collections of people, resources. and facilities 16 Analyzing the Domain for Abstract Objects

L4-S17Object Identification-1 May-June 2001 ISISTAN Research Institute – Tandil, Argentina -- M.E. Fayad Associations often refer to verbs of verb phrases –Examples: next to, contains, part of, works for, married to, downstream from, connected to, etc. These may be explicit in the problem statement or implicit in the knowledge of the problem domain Write down all candidates, then eliminate unnecessary ones and add others Aggregation is just a common type of association 17 Identifying Associations/Aggregations

L4-S18Object Identification-1 May-June 2001 ISISTAN Research Institute – Tandil, Argentina -- M.E. Fayad Data Flow Diagrams (DFDs) State-Transition Diagrams (STDs) Semantic Nets or Object-Interaction Diagrams (OIDs) Message or communication Diagrams 18 Behavior Analysis

L4-S19Object Identification-1 May-June 2001 ISISTAN Research Institute – Tandil, Argentina -- M.E. Fayad 19 Looking for Behavior Examine required Processing or behavior of system components Objectify common behavior –Use inheritance DFDs may help identify processes Swimmers Flyers Runners

L4-S20Object Identification-1 May-June 2001 ISISTAN Research Institute – Tandil, Argentina -- M.E. Fayad DFD Approach –Use each data store on a DFD to identify an abstract object or class –Use (all or part of) the transforms associated with data store to identify associated operations Candidate Objects –external entities –data stores –control transformations Candidate Classes –data flows 20 Data Flow Diagrams (DFDs)

L4-S21Object Identification-1 May-June 2001 ISISTAN Research Institute – Tandil, Argentina -- M.E. Fayad Benefits –Very well-known approach –Many requirements analysis methods are based on DFDs. –Tool support exists –Does not require paradigm shift Risks –Data abstraction –Indirect –Traditional DFDs have the wrong scope 21 Data Flow Diagrams (DFDs) (cont’d)

L4-S22Object Identification-1 May-June 2001 ISISTAN Research Institute – Tandil, Argentina -- M.E. Fayad State Approach –Identify an object or a class for each entity that has a state Benefits –Can be used at any time that an object or a class has a finite number of obvious states Risks –The state can belong to the entire subsystem or an operation –An object or a class may have an infinite number of states. –An object or a class may have states that are not all obvious. –An object or a class may have only a small number of trivial states. 22 State-Transition Diagrams (STDs)

L4-S23Object Identification-1 May-June 2001 ISISTAN Research Institute – Tandil, Argentina -- M.E. Fayad 23 Use Case Analysis: Baseball System Pitch a Ball Run the Bases Hit a Home Run Runner on First Base Batter Pitcher Scored a Run

L4-S24Object Identification-1 May-June 2001 ISISTAN Research Institute – Tandil, Argentina -- M.E. Fayad Base hit Single base hit In field base hit Outfield base hit Double base hit Triple base hit Home run A home run Two home runs Three home runs Grand Slam 24 Some Use Cases in Baseball Game

L4-S25Object Identification-1 May-June 2001 ISISTAN Research Institute – Tandil, Argentina -- M.E. Fayad 25 A Use Case Description Use Case: Hit a Home Run When a batter hits a home run, the runners run the bases and reach home plate and score When a batter hits a home run, the batter runs the bases until reaching the home plate and scores When the runners score, the score board updates the score board, the game announcer is going crazy and saying “ a big home run... holy cow... holy cow “ and the fans are going wild and screaming a lot. When..

L4-S26Object Identification-1 May-June 2001 ISISTAN Research Institute – Tandil, Argentina -- M.E. Fayad 1. Define: use case model, use case, specification objects, incident objects, organization objects. 2. List all the object identification techniques 3. What are the benefits and risks of each of these techniques? 4. Describe how do you identify associations and aggregations 5. Explain: a. The same object can be perceived from several perspectives. b. No single best classification structure. c. Classification involves ordering knowledge. d. How to select good classes e. How to eliminate inappropriate classes 26 Discussion Questions

L4-S27Object Identification-1 May-June 2001 ISISTAN Research Institute – Tandil, Argentina -- M.E. Fayad Check the definition of: Classes, Objects, Attributes, Interfaces, Abstraction, Behavior, Responsibility, Roles, Associations, Aggregation. Describe the following Models: Use Case Model, DFD, STD, OID, OCD. 27 Questions for the Next Lecture