Requirements Model - PowerPoint PPT Presentation

About This Presentation
Title:

Requirements Model

Description:

How will the software solve the customer's problems ... Many different contenders. Grady Booch, Rational Software. Jim Rumbaugh, GE, OMT ... – PowerPoint PPT presentation

Number of Views:108
Avg rating:3.0/5.0
Slides: 25
Provided by: acesar
Learn more at: http://www.cse.msu.edu
Category:

less

Transcript and Presenter's Notes

Title: Requirements Model


1
Requirements Model
  • Focus on WHAT, not HOW
  • Analyst needs to understand the problem
  • How does software fit into overall systems?
  • What are the customers concerns?
  • How will the software solve the customers
    problems
  • Serves as the contract between the customer and
    the developer
  • Starting point for design

2
Getting Started-Understanding the Customer
  • Interview customer
  • Understand the current process
  • Flow of information
  • Form of information
  • Decompose the problem
  • Describe the problem in the customers
    terminology
  • Have the customer review, correct, and refine the
    description of the problem

3
Propose a Conceptual Solution
  • May model the current approach or propose a
    completely new approach
  • Present alternative approaches
  • not alternative implementations, but alternative
    conceptual approaches
  • Use UI prototype to help clarify issues
  • Remember importance of maintainability
  • Plan for extensibility

4
Purpose of Modeling
  • Testing a physical entity before building
  • Communication with customer
  • Visualization
  • Reduction of complexity
  • Better understanding of the problem

5
Early Modeling Notations
  • Template-based natural languages
  • SREM
  • Boxes and arrows depicting data and control flow
  • SADT, IDEF
  • Statecharts
  • Data Structures
  • Jackson Design Notation

6
OO was the catalyst for newOO modeling techniques
  • Many different contenders
  • Grady Booch, Rational Software
  • Jim Rumbaugh, GE, OMT
  • Ivar Jacobsen, Ericsson, use cases
  • Unified Modeling Language (UML)
  • Combines Booch, Rumbaugh, Jacobsens techniques
  • PL/1 of modeling languages

7
Object Modeling Technique (OMT)
  • Three complimentary views of the system
  • Object model (WHAT)
  • Static, structural view of the system
  • Describes objects in the system and their
    relationships

8
Object Modeling Technique (OMT)
  • Dynamic model (WHEN)
  • Temporal, behavioral, control view of system
  • Interaction among objects
  • Functional model (HOW)
  • Transformational, function view of the system
  • Describes the transformation of data

9
Object Model
  • Object - a concept, abstraction, or thing
  • Promote understanding of problem domain
  • Object is distinguishable and has identity
  • Class - group of objects with
  • similar properties,
  • common behavior
  • common relationships to other objects
  • common semantics

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

11
Object Model (cont.)
  • Class Notation

Class Name
attribute attribute type initial value
. . .
operation(arg-list) result-type
. . .
Attributes and operations shown depends on
desired level of detail
12
Example WEB Class
  • Synchronous instructional web tool
  • Use the Web Browser as sophisticated data display
  • Group-based communication model
  • Reliable multi-cast communication protocol

13
WEB Class Components
  • 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

14
WEB Class Components (cont.)
  • Real audio stream
  • Audio connection from the instructor to the
    students
  • Live connection
  • Chat tool
  • Feedback mechanism from the students to the
    instructor

15
Example Class Definitions
Web_Instructor
name string
Helper_App
server_name string server_mime
string server_path string
Etc. ...
start_service send_file(filename,URL) spawn_viewer
(appname,filename)
16
Object Model Associations
  • 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

17
Example Association
Communicates with
Mreceiver
Msender
18
Object Model Aggregation
  • Part-of relationship
  • associates an object representing an assembly
    with the objects representing its components
  • Special form of association
  • Transitive
  • Antisymmetric

19
Example Aggregation
Web_Student
Browser_Wrapper
Browser_Slave
Mreceiver
20
Object Model Generalization
  • 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

21
Example Generalization
Web_User
name string
Web_Student
Web_Instructor
22
Object Model Multiplicities
  • Indication how many instances of one class may
    relate to an instance of another class

Zero or more
One or more
3
Exactly three
1
One or more
2-6
From 2 to 6
23
Example Web Class Object Model
Web_User
Web_Student
Web_Instructor
Browser_Slave
Msender
ViewerConfig
Mreceiver
Browser_Wrapper
Browser_Listener
Helper_App
24
Object Model Creation Tips
  • Understand the problem
  • Keep it simple (initially)
  • Choose good class names
  • Look for binary associations
  • Ignore multiplicities (initially)
  • Do not feel you have to use all the constructs
  • Concentrate on WHAT
  • Document, document, document!
  • Refine until complete and correct
Write a Comment
User Comments (0)
About PowerShow.com