1 / 24

Requirements Model

Focus on WHAT, not HOW 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 Serves as the contract between the customer and the developer Starting point for design.

holt
Download Presentation

Requirements Model

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Focus on WHAT, not HOW 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 Serves as the contract between the customer and the developer Starting point for design Requirements Model

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

  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, Jacobsen’s 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. Web_Student name: string 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 Mreceiver Msender ViewerConfig Browser_Wrapper Helper_App Browser_Listener

  24. 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 Object Model: Creation Tips

More Related