Dillon: CSE470: Object Modeling1 Requirements Model l Focus on WHAT, not HOW l Analyst needs to understand the problem »How does software fit into overall.

Slides:



Advertisements
Similar presentations
Introduction to Object Orientation System Analysis and Design
Advertisements

UML an overview.
ARCH-05 Application Prophecy UML 101 Peter Varhol Principal Product Manager.
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall A.1.
Unified Modeling Language
UML Class Diagram. UML Class Diagrams2 Agenda What is a Class Diagram? Essential Elements of a UML Class Diagram Tips.
Chapter 1 Object-Oriented System Development
2-1 © Prentice Hall, 2007 Chapter 2: Introduction to Object Orientation Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph.
CS 425/625 Software Engineering System Models
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 7 Data Modeling Using the Entity- Relationship (ER) Model.
Copyright 2004 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Second Edition Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix.
Chapter Assistance -- Lamimi V. Kamat February 14, 1999 R. A. Volz1 OBJECT ORIENTED MODELING, CONCEPTS AND PRINCIPLES Chapter 20.
Itntroduction to UML, page 1 Introduction to UML.
UML Notations Activity diagrams State diagrams Class diagrams Use-case diagrams.
UML Class Diagrams: Basic Concepts. Objects –The purpose of class modeling is to describe objects. –An object is a concept, abstraction or thing that.
Unified Modeling Language
Introduction To System Analysis and design
CSE314 Database Systems Data Modeling Using the Entity- Relationship (ER) Model Doç. Dr. Mehmet Göktürk src: Elmasri & Navanthe 6E Pearson Ed Slide Set.
Systems Analysis and Design in a Changing World, Tuesday, Feb 27
Systems Analysis and Design in a Changing World, Fifth Edition
CSCI-383 Object-Oriented Programming & Design Lecture 9.
CIT UPES | Sept 2013 | Unified Modeling Language - UML.
Copyright 2001 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix A Object-Oriented.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
Unified Modeling Language, Version 2.0
5 Systems Analysis and Design in a Changing World, Fourth Edition.
UML Diagrams: Class Diagrams The Static Analysis Model Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Approaching a Problem Where do we start? How do we proceed?
CS3773 Software Engineering Lecture 04 UML Class Diagram.
CHAPTER 13: OBJECT-ORIENTED DATA MODELING (OVERVIEW) © 2013 Pearson Education, Inc. Publishing as Prentice Hall 1 Modern Database Management 11 th Edition.
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
The Static Analysis Model Class Diagrams Prof. Hany H. Ammar, CSEE, WVU, and Dept. of Computer Science, Faculty of Computers and Information, Cairo University.
Fall 2010 CS4310 Requirements Engineering A Brief Review of UML & OO Dr. Guoqiang Hu Department of Computer Science UTEP 1.
UML Class Diagram Trisha Cummings. What we will be covering What is a Class Diagram? Essential Elements of a UML Class Diagram UML Packages Logical Distribution.
5 Systems Analysis and Design in a Changing World, Fifth Edition.
 What is Modeling What is Modeling  Why do we Model Why do we Model  Models in OMT Models in OMT  Principles of Modeling Principles of Modeling 
1 The Unified Modeling Language. 2 The Unified Modeling Language (UML) is a standard language for writing software blueprints. The UML may be used to.
UML as a Specification Language for Embedded Systems. By, Mir Ahmed Ali, Asst. Professor, ECM department, SNIST. By, Prof. Narsiah sir, Director of School.
SWT - Diagrammatics Lecture 4/4 - Diagramming in OO Software Development - partB 4-May-2000.
Design? !… When it needs? To understand, to communicate with customers Complex problem What is good design? Separate What to do?(Policy) and How to do(mechanism)
What is Object-Oriented?  Organization of software as a collection of discreet objects that incorporate both data structure and behavior.
Unified Modeling Language. Object Oriented Methods ► What are object-oriented (OO) methods?  OO methods provide a set of techniques for analyzing, decomposing,
Introduction to UML CS A470. What is UML? Unified Modeling Language –OMG Standard, Object Management Group –Based on work from Booch, Rumbaugh, Jacobson.
Lecture 9-1 : Intro. to UML (Unified Modeling Language)
1 Unified Modeling Language, Version 2.0 Chapter 2.
Winter 2011SEG Chapter 11 Chapter 1 (Part 1) Review from previous courses Subject 1: The Software Development Process.
Chapter 2: Introduction to Object Orientation Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey A.
Object-Oriented Systems. Goals Object-Oriented Methodologies – The Rumbaugh et al. OMT – The Booch methodology – Jacobson's methodologies.
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall Appendix A Object-Oriented Analysis and Design A.1.
Basic Characteristics of Object-Oriented Systems
Introduction to Unified Modeling Language (UML) By Rick Mercer with help from The Unified Modeling Language User Guide, Grady Booch, James Rumbaugh, Ivar.
1 An Overview of UML. 2 The Unified Modeling Language UML is a graphical language used by software engineers to model software systems during development.
Slide 1 Unified Modeling Language, Version 2.0 Object-Oriented SAD.
Data Modeling Using the Entity- Relationship (ER) Model
Introduction to UML.
Appendix 3 Object-Oriented Analysis and Design
The Movement To Objects
Systems Analysis and Design With UML 2
Introduction to Unified Modeling Language (UML)
Introduction to Unified Modeling Language (UML)
UML Class Diagrams: Basic Concepts
The Unified Modeling Language
Introduction to UML.
Chapter 20 Object-Oriented Analysis and Design
Appendix A Object-Oriented Analysis and Design
Systems Analysis – ITEC 3155 Modeling System Requirements – Part 2
Software Design Methodologies and Testing
Appendix A Object-Oriented Analysis and Design
Appendix A Object-Oriented Analysis and Design
Cheng (Sp2001): Object-Oriented Development Overview
Presentation transcript:

Dillon: CSE470: Object Modeling1 Requirements Model l Focus on WHAT, not HOW l Analyst needs to understand the problem »How does software fit into overall systems? »What are the customer’s concerns? »How will the software solve the customer’s problems l Serves as the contract between the customer and the developer l Starting point for design

Dillon: CSE470: Object Modeling2 Getting Started- Understanding the Customer l Interview customer l Understand the current process »Flow of information »Form of information l Decompose the problem l Describe the problem in the customer’s terminology l Have the customer review, correct, and refine the description of the problem

Dillon: CSE470: Object Modeling3 Propose a Conceptual “Solution” l May model the current approach or propose a completely new approach l Present alternative approaches »not alternative implementations, but alternative conceptual approaches l Use UI prototype to help clarify issues l Remember importance of maintainability »Plan for extensibility

Dillon: CSE470: Object Modeling4 Purpose of Modeling l Testing a physical entity before building l Communication with customer l Visualization l Reduction of complexity l Better understanding of the problem

Dillon: CSE470: Object Modeling5 Early Modeling Notations l Template-based natural languages »SREM l Boxes and arrows depicting data and control flow »SADT, IDEF »Statecharts l Data Structures »Jackson Design Notation

Dillon: CSE470: Object Modeling6 OO was the catalyst for new OO modeling techniques l Many different contenders »Grady Booch, Rational Software »Jim Rumbaugh, GE, OMT »Ivar Jacobsen, Ericsson, use cases l Unified Modeling Language (UML) »Combines Booch, Rumbaugh, Jacobsen’s techniques »PL/1 of modeling languages

Dillon: CSE470: Object Modeling7 Object Modeling Technique (OMT) l Three complimentary views of the system l Object model (WHAT) »Static, structural view of the system »Describes objects in the system and their relationships

Dillon: CSE470: Object Modeling8 Object Modeling Technique (OMT) l Dynamic model (WHEN) »Temporal, behavioral, control view of system »Interaction among objects l Functional model (HOW) »Transformational, function view of the system »Describes the transformation of data

Dillon: CSE470: Object Modeling9 Object Model l Object - a concept, abstraction, or thing »Promote understanding of problem domain »Object is distinguishable and has identity l Class - group of objects with »similar properties, »common behavior »common relationships to other objects »common semantics

Dillon: CSE470: Object Modeling10 Object Model (cont.) l An object is an instance of a class l Attribute - a data value associated with an object »pure value, not an object l Operation - a function or transformation that may be applied to or by an object

Dillon: CSE470: Object Modeling11 Object Model (cont.) l Class Notation Class Name attribute attribute: type = initial value operation(arg-list): result-type... Attributes and operations shown depends on desired level of detail

Dillon: CSE470: Object Modeling12 Example: WEB Class l Synchronous instructional web tool l Use the Web Browser as sophisticated data display l Group-based communication model l Reliable multi-cast communication protocol

Dillon: CSE470: Object Modeling13 WEB Class Components l Browser synchronization »Web_Instructor –Detect changes in the instructor browser –Format information into resources –Send resources (reliably) »Web_Student –Receive and unpack resources –Display resources through the web browser

Dillon: CSE470: Object Modeling14 WEB Class Components (cont.) l Real audio stream »Audio connection from the instructor to the students l Live connection »Chat tool »Feedback mechanism from the students to the instructor

Dillon: CSE470: Object Modeling15 Example Class Definitions Web_Student name: string Web_Instructor name: string Helper_App server_name: string server_mime: string server_path: string start_service send_file(filename,URL) spawn_viewer(appname,filename) Etc....

Dillon: CSE470: Object Modeling16 Object Model: Associations l Means for establishing relationships among classes »group of “links” with common structure and semantics –physical or conceptual connection between object instances »inherently bi-directional »may be binary, ternary, or higher order

Dillon: CSE470: Object Modeling17 Example: Association MreceiverMsender Communicates with

Dillon: CSE470: Object Modeling18 Object Model: Aggregation l “Part-of” relationship »associates an object representing an assembly with the objects representing its components l Special form of association »Transitive »Antisymmetric

Dillon: CSE470: Object Modeling19 Example: Aggregation Web_Student Browser_Slave Browser_Wrapper Mreceiver

Dillon: CSE470: Object Modeling20 Object Model: Generalization l “Is-a” relationship between classes »Subclass(es) refine a superclass »Superclass generalizes its subclass(es) »Subclass(es) inherit attributes and operations of the superclass »Transitive association

Dillon: CSE470: Object Modeling21 Example: Generalization Web_User name: string Web_StudentWeb_Instructor

Dillon: CSE470: Object Modeling22 Object Model: Multiplicities l Indication how many instances of one class may relate to an instance of another class Zero or more One or more Exactly three One or more From 2 to 6

Dillon: CSE470: Object Modeling23 Example: Web Class Object Model Browser_WrapperBrowser_Listener Helper_App MsenderViewerConfig Web_Instructor Mreceiver Browser_Slave Web_Student Web_User

Dillon: CSE470: Object Modeling24 Object Model: Creation Tips l Understand the problem l Keep it simple (initially) l Choose good class names l Look for binary associations l Ignore multiplicities (initially) l Do not feel you have to use all the constructs l Concentrate on WHAT l Document, document, document! l Refine until complete and correct