Download Models for Requirements Analysis and Specification in Software Engineering and more Lecture notes Software Engineering in PDF only on Docsity! Cornell University
Compu1ng and Informa1on Science CS 5150 So(ware Engineering 8. Models for Requirements Analysis and SpecificaBon William Y. Arms Models for Requirements Analysis and Specification 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 craft of requirements analysis and specification includes selecting the appropriate tool for the particular task. • A variety of tools and techniques. • Many familiar from other courses. • No correct technique that fits all situations. Principles of Modeling • The choice of what models to create has a profound influence on how a problem is attacked and how a solution 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 The Unified Modeling Language UML is a standard language for modeling software systems • Serves as a bridge between the requirements specification and the implementation. • Provides a means to specify and document the design of a software system. • Is process and programming language independent. • Is particularly suited to object-oriented program development. Rational Rose Rational Rose is an IBM-owned system for creating and managing UML models (diagrams and specifications). Data-Flow Model
Example: University Admissions (first attempt) Applicant Application form Assemble application Completed application Evaluate Rejection Acceptance Shows the flow, but where is the data stored? Is there supporting information? Data-Flow Model
Example: Assemble ApplicaBon Applicant ApplicaBon form Receive documents Completed applicaBon SupporBng documents Pending database Acknowledgment Begin evaluaBon Applicant database EvaluaBon request AND AND Acknowledgment Does this model cover all situaBons? Are there special cases? Data-Flow Model
Example: Process Completed Application Rejection Evaluation Applicant database Evaluation request Acceptance Financial aid Offer Special request The requirements will need a description of the decision-making process. Flowchart Model
Example: University Admissions Assemble Application Form received New applicant? New database record T Notify student F Update database Application complete? Notify student T F Evaluate Compare this example, which shows the logic, with the dataflow model, which shows the flow of data. Modeling Tools: Pseudo-code An informal modeling technique to show the logic behind part of a system. Example: University Admission Decision admin_decision (application) if application.SAT == null then error (incomplete) if application.SAT > S1 then accept(application) else if application.GPA > G1 then accept(application) else if application.SAT > S2 and application.GPA > G2 then accept(application) else reject(application) The notation used for pseudo-code can be informal, or a standard used by a software development organization, or based on a regular programming language. What matters is that its interpretation is understood by everybody involved. Modeling Tools: TransiBon Diagrams A system is modeled as a set of states, Si A transi1on is a change from one state to another. The occurrence of a condi1on, Ci, causes the transiBon from one state to another Transi1on func1on: f (Si, Cj) = Sk Example S1 S2 S30 0 0 1 11 Finite State Machine Model
State TransiBon Diagram PaBents Fields Setup Ready Beam on [Enter] [Enter] [Start] [Stop] [Select field] [Select paOent] [lock on] [lock off] Discuss each state and transiBon with the client. Finite State Machine Model
State TransiBon Table Select PaOent Select Field Enter lock off Start Stop lock on PaBents Fields Setup Ready Beam on Fields Fields Fields PaBents PaBents PaBents Setup Setup Setup Ready Beam on Ready This table can be used for requirements definiBon, program design, and acceptance tesBng. TransiBon Diagram for User Interfaces
Example: CS 5150 Web Site (part) home lectures projects books assign- ments tests integrity about course materials sample reports sugges- Oons examples scripts Modeling Tools: EnBty RelaBonship Diagram
Example: CS 5150 Project CS 5150 Student Major Project 6 to 8 1 IsMember Client team member IsClient 1 IsContact 0:n 1 1 EnBty RelaBonship Diagram as a Design Tool
Example: Database Schema for Web Data NotaBon: Each table represents an enBty Each arrow represents a relaBon Prototyping Requirements Rapid prototyping is the most comprehensive of all modeling methods A method for specifying requirements by building a system that demonstrates the funcBonality of key parts of the required system ParBcularly valuable for user interfaces