cs 5150 so ware engineering 8 models for requirements
play

CS 5150 So(ware Engineering 8. Models for Requirements William Y. - PowerPoint PPT Presentation

Cornell University Compu1ng and Informa1on Science CS 5150 So(ware Engineering 8. Models for Requirements William Y. Arms Models for Requirements As you build understanding of the requirements through viewpoint analysis, scenarios, use


  1. Cornell University 
 Compu1ng and Informa1on Science CS 5150 So(ware Engineering 8. Models for Requirements William Y. Arms

  2. Models for Requirements As you build understanding of the requirements through viewpoint analysis, scenarios, use cases, etc., use models to analyze and specify requirements. The models provide a bridge between the client's understanding and the developers'. The cra; of requirements analysis and specifica1on includes selec1ng the appropriate tool for the par1cular task. • A variety of tools and techniques. • Many familiar from other courses. • No correct technique that fits all situaMons.

  3. Models: Useful Texts Grady Booch, James Rumbaugh, Ivar Jacobson, The Unified Modeling Language. Addison-Wesley 1999. Grady Booch, et al., Object-Oriented Analysis and Design with Applica?ons , third ediMon. Benjamin/Cummings 2007. Rob Pooley, Perdita Stevens, Using UML SoAware Engineering with Objects and Components , second ediMon. Addison-Wesley 2005.

  4. Models A model is a simplifica1on of reality • We build models so that we can be\er understand the system we are developing. • We build models of complex system because we cannot comprehend such a system in its enMrety. Models can be informal or formal. The more complex the project the more valuable a formal model becomes. BRJ

  5. Principles of Modeling • The choice of what models to create has a profound influence on how a problem is a\acked and how a soluMon is shaped. • No single model is sufficient. Every nontrivial system is best approached through a small set of nearly independent models. • Every model can be expressed at different levels of precision. • Good models are connected to reality. BRJ

  6. The Unified Modeling Language UML is a standard language for modeling so;ware systems • Serves as a bridge between the requirements and the implementaMon. • Provides a means to specify and document the design of a so(ware system. • It is intended to be process and programming language independent, but is parMcularly suited to object-oriented program development.

  7. RaMonal Rose RaMonal Rose is an IBM-owned system for creaMng and managing UML models (diagrams and specificaMons).

  8. Models: Diagrams and SpecificaMon in UML In UML, a model consists of a diagram and a specifica1on . A diagram is the graphical representaMon of a set of elements, usually • rendered as a connected graph of verMces (things) and arcs (relaMonships). Each diagram is supported by technical documenta1on that specifies • in more detail the model represented by the diagram. A diagram without a specificaMon is of li\le use.

  9. Data-Flow Models An informal modeling technique to show the flow of data through a system. External enMMes Processing steps Data stores or sources Data flows

  10. Data-Flow Model 
 Example: University Admissions (first a\empt) Acceptance ApplicaMon Completed form applicaMon Assemble Applicant Evaluate applicaMon RejecMon Shows the flow, but where is the data stored? Is there supporMng informaMon?

  11. Data-Flow Model 
 Example: Assemble ApplicaMon Acknowledgment Acknowledgment ApplicaMon Completed AND EvaluaMon form applicaMon request Receive Begin documents Applicant evaluaMon AND SupporMng documents Does this model cover all situaMons? Are there Applicant special cases? Pending database database

  12. Data-Flow Model 
 Example: Process Completed ApplicaMon The requirements will need a descripMon of the decision-making process. RejecMon EvaluaMon request Acceptance Offer Financial EvaluaMon aid Special request Applicant database

  13. Decision Table Model University Admission Decision SAT > S1 T F F F F F GPA > G1 - T F F F F SAT between S1 and S2 - - T T F F GPA between G1 and G2 - - T F T F Accept X X X Reject X X X Each column is a separate decision case. The columns are processed from le( to right. Note that the rules are specific and testable.

  14. Flowchart Models An informal modeling technique to show the logic of part of a system and paths that data takes through a system. OperaMon Decision Manual operaMon Report

  15. Flowchart Model 
 Example: University Admissions Assemble ApplicaMon New ApplicaMon applicant? complete? Form F T Update received database F T Evaluate NoMfy New database student record NoMfy Compare this example, student which shows the logic, with the dataflow model, which shows the flow of data.

  16. Modeling Tools: Pseudo-code An informal modeling technique to show the logic behind part of a system. Example: University Admission Decision admin_decision (applicaMon) if applicaMon.SAT == null then error (incomplete) if applicaMon.SAT > S1 then accept(applicaMon) else if applicaMon.GPA > G1 then accept(applicaMon) else if applicaMon.SAT > S2 and applicaMon.GPA > G2 then accept(applicaMon) else reject(applicaMon) The notaMon used for pseudo-code can be informal, or a standard used by a so(ware development organizaMon, or based on a regular programming language. What ma\ers is that its interpretaMon is understood by everybody involved.

  17. Modeling Tools: TransiMon Diagrams A system is modeled as a set of states , S i A transi1on is a change from one state to another. The occurrence of a condi1on , C i , causes the transiMon from one state to another Transi1on func1on : f ( S i , C j ) = S k Example 0 S 1 S 2 1 0 1 0 S 3 1

  18. Finite State Machine Model 
 Therapy Control Console Example: Radia1on Therapy Control Console You are developing requirements for the operator's control console. In an interview, the client describes the procedures that the operator must follow when operaMng the machine. You use a finite state machine model to specify the procedures. This shows the client that you understand the requirements and specifies the procedures for the developers. This scenario and state diagram are based on a published example. Unfortunately I have no record of the source. If you know it, please contact me so that I can acknowledge the author.

  19. Finite State Machine Model 
 Therapy Control Console: Scenario Scenario The client provides the following rough scenario. "The set up is carried out before the paMent is made ready. The operator selects the paMent informaMon from a database. This provides a list of radiaMon fields that are approved for this paMent. The operator selects the first field. This completes the set up. "The paMent is now made ready. The lock is taken off the machine and the doses with this field are applied. The operator then returns to the field selecMon and chooses another field."

  20. Finite State Machine Model 
 State TransiMon Diagram Discuss each state and transiMon with the client. [Select field] [Start] [Enter] [Enter] [lock off] Beam PaMents Fields Setup Ready on [Stop] [lock on] [Select pa?ent]

  21. Finite State Machine Model 
 State TransiMon Table Select Select lock off lock on Enter Start Stop Pa?ent Field PaMents Fields Setup PaMents Fields Setup Fields Ready PaMents Beam Ready PaMents Fields Setup on Beam Ready Setup on This table can be used for requirements definiMon, program design, and acceptance tesMng.

  22. TransiMon Diagram for User Interfaces 
 Example: CS 5150 Web Site (part) home assign- lectures books projects integrity tests about ments sample course sugges- examples reports materials ?ons scripts

  23. EnMty-RelaMon Model A requirements and design methodology for rela1onal databases • A database of enMMes and relaMons • Tools for displaying and manipulaMng enMty-relaMon diagrams • Tools for manipulaMng the database (e.g., as input to database design) EnMty-relaMonship models can be used both for requirements specificaMon and for the design specificaMon.

  24. Modeling Tools: EnMty-RelaMon Diagram An enMty (noun) A relaMon between enMMes (verb) An enMty or relaMon a\ribute Note: There are various nota?ons used for en?ty-rela?onship diagrams. This is the nota?on used by Chen (1976).

  25. Modeling Tools: EnMty RelaMonship Diagram 
 Example: CS 5150 Project IsClient Major 1 1 Client team CS 5150 Project member Student 1 0:n 6 to 8 1 IsContact IsMember

  26. EnMty RelaMonship Diagram as a Design Tool 
 Example: Database Schema for Web Data NotaMon: Each table represents an enMty Each arrow represents a relaMon

  27. Prototyping Requirements Rapid prototyping is the most comprehensive of all modeling methods A method for specifying requirements by building a system that demonstrates the funcMonality of key parts of the required system ParMcularly valuable for user interfaces

  28. Requirements DefiniMon: Data DicMonaries A data dic1onary is a list of names used by the system • Name (e.g., "start_date") • Brief definiMon (e.g., what is "date") • What is it? (e.g., integer, relaMon) • Where is it used (e.g., source, used by, etc.) • May be combined with a glossary As the system is developed, the data dicMonary in the requirements is the basis of the system data dicMonary, which may be part of the final documentaMon.

Recommend


More recommend