Presentation is loading. Please wait.

Presentation is loading. Please wait.

CS 5150 Software Engineering Lecture 9 Requirements 3.

Similar presentations


Presentation on theme: "CS 5150 Software Engineering Lecture 9 Requirements 3."— Presentation transcript:

1 CS 5150 Software Engineering Lecture 9 Requirements 3

2 CS 5150 2 Administrivia Quiz response High level project goals: Generic versus particular User-relevant versus implementation Copyright versus license Risk: finding users to test with Surveys Feasibility Reports

3 CS 5150 3 Modeling Techniques for Requirements Analysis and Specification The craft of requirements analysis, modeling and specification is to select 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. As you build understanding of the requirements through viewpoint analysis, scenarios and use cases, etc., use models to specify requirements. The models provide a bridge between the client's understanding and the developers.

4 CS 5150 4 The “Ur-models” of Software Engineering Functions Data (storage) Processes

5 CS 5150 5 Data-Flow Models

6 CS 5150 6 Data-Flow Example 1: University Admissions

7 CS 5150 7 Receive Application Stage

8 CS 5150 8 Evaluate Stage

9 CS 5150 9 Decision Table

10 CS 5150 10 Flowcharts

11 CS 5150 11 University Admissions as Flowchart

12 CS 5150 12 Pseudo-code Example: Check project plan check_plan (report) if report (date_time) > due_date_time then error (too_late) if report (client) = none then error (no_client) if report (team) max_team then error (bad_team) if error() = none then comments = read_report (report) return (comments (text), comments (grade)) else return error()

13 CS 5150 13 Transition Diagrams A system is a set of states and rules for transitioning from one state to another Transitions can be conditional Outputs can be associated with states or transitions Transition rules often expressed as a function: next state = f(current state, inputs)

14 CS 5150 14 State Machine Example: Therapy Control Console Example: Radiation 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 operating the machine. You use a finite state machine to specify the procedures This shows the client that you understand the requirements and specifies the procedures for the developers

15 CS 5150 15 Therapy Control Console Scenario "The set up is carried out before the patient is made ready. The operator selects the patient information from a database. This provides a list of radiation fields that are approved for this patient. The operator selects the first field. This completes the set up. "The patient 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 selection and chooses another field."

16 CS 5150 16 Console State Transition Diagram

17 CS 5150 17 Console State Transition Table

18 CS 5150 18 Transition Diagrams for User Interfaces (CS 5150 Website)

19 CS 5150 19 Andrew Durdin’s iOS Home Button Guide

20 CS 5150 20 Entity-Relation Models A requirements and design methodology for relational databases A database of entities and relations Tools for displaying and manipulating entity- relation diagrams Tools for manipulating the database (e.g., as input to database design)

21 CS 5150 21 Entity-Relation Diagrams

22 CS 5150 22 Entity-Relation Example: 5150 Project

23 CS 5150 23 Database Schema for Web Data

24 CS 5150 24 Sequence Diagrams for Interaction/Concurrency

25 CS 5150 25 Modeling Trump Card: Prototyping Rapid prototyping is the most comprehensive (and potentially expensive) of all modeling methods A method for specifying requirements by building a system that demonstrates the functionality of key parts of the required system Particularly valuable for user interfaces

26 CS 5150 26 Dictionaries to Support Other Requirements Documents A data dictionary is a list of names used by the system Name (e.g., "start_date") Brief definition (e.g., what is "date") What is it? (e.g., integer, relation) Where is it used (e.g., source, used by, etc.) May be combined with a glossary

27 CS 5150 27 A Few Concluding Remarks In this course we discuss class and object models as a tool for design Some people recommend class and object models for requirements definition, but it is difficult to use them without constraining the system design Flow charts and finite state machines are supported by UML as design models, but are equally useful for requirements


Download ppt "CS 5150 Software Engineering Lecture 9 Requirements 3."

Similar presentations


Ads by Google