Presentation is loading. Please wait.

Presentation is loading. Please wait.

CS 5150 1 CS 5150 Software Engineering Lecture 10 Requirements 3.

Similar presentations


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

1 CS 5150 1 CS 5150 Software Engineering Lecture 10 Requirements 3

2 CS 5150 2 Course Administration Test 2 Monday October 4, Olin Hall 155 at 7:30 p.m. Progress report Progress report due on Friday

3 CS 5150 3 Weekly Progress Report Weekly progress reports Every Friday except weeks with an assignment: Send email to Teaching Assistant. Three short sections (total about one page) ->What has been accomplished in the past week (list of tasks)? ->What is planned for the next week? ->Have any problems arisen? Respond to any concerns that we have raised about your plans (e.g., in comments on the feasibility study or by email).

4 CS 5150 4 Course Administration Assignment 2, Milestone 2, October 13-15 Read information on the Assignments Web page Reserve time for your presentation. See the home page of the Web site. i Client(s) must be present ii Not all team members must be present, but each team member must make a presentation at least once during the semester iiiReport due Friday at 11:00 p.m. ivSurvey due Friday at 11:00 p.m. [If you have a late presentation, report and survey are due 11:00 p.m. on the day of the presentation.]

5 CS 5150 5 Course Administration Assignment 2, Milestone 2, October 13-15 One third of the total work from the feasibility study. If you are following an iterative process, this is a major milestone when you can report visible progress to your client. Typically, this will include a first set of requirements, a provisional design and a prototype that can be used to demonstrate the functionality of the system, including user interface design. If you are following a modified waterfall process, this progress report should include completion of the requirements phase and perhaps the first steps in the design.

6 CS 5150 6 Software Development Principles and Practices Software development Software development is a craft. Software developers have a variety of tools that can be applied in different situations. Part of the art of software development is to select the appropriate tool for a given implementation

7 CS 5150 7 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.

8 CS 5150 8 Modeling Tools: Decision Table (Poor Example) University Admission Decision Note that the rules are too vague. High SATTFFFFF High grades-TFFFF Sports--TTFF Recommendations--TFTF RejectXXX AcceptXXX

9 CS 5150 9 Modeling Tools: Decision Table (Good Example) University Admission Decision Note that the rules are now specific and testable. SAT > STFFFFF GPA > G-TFFFF Athletics code =  --TTFF Recommendations > A---TFTF Send rejection letterXXX Send acceptance letterXXX

10 CS 5150 10 Modeling Tools: Data-Flow Models External entities Processing steps Data stores or sources Data flows An informal modeling technique to show the flow of data through a system.

11 CS 5150 11 Modeling Tools: Data-Flow Model Example: University Admissions (first attempt) Applicant Application form Receive application Completed application Evaluate Rejection Acceptance Shows the flow, but where is the data stored?

12 CS 5150 12 Modeling Tools: Data-Flow Model Example: Assemble Application Stage Applicant Application form Receive Completed application Supporting information Pending database Acknowledgment Begin evaluation Applicant database Evaluation request AND Acknowledgment Does this model cover all applications? Are there special cases?

13 CS 5150 13 Modeling Tools: Data-Flow Model Example: Process Completed Application Stage Rejection Evaluation Applicant database Evaluation request Acceptance Financial aid Offer Special request The requirements will need specification of the decision- making process.

14 CS 5150 14 Procedural Models: Flowchart Operation Decision Manual operation Report An informal modeling technique to show the decisions and paths that data takes through a system.

15 CS 5150 15 Modeling Tools: Flowchart Example: University Admissions Form received New applicant? New database record T Notify student FUpdate database Application complete? Notify student T F Evaluate

16 CS 5150 16 Procedural Models: 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() An informal modeling technique to show the logic behind part of a system.

17 CS 5150 17 Modeling Tools: Transition Diagrams A system is modeled as a set of states, S i A transition is a change from one state to another. The occurrence of a condition, Ci, causes the transition from one state to another Transition function: f (S i, Cj) = S k Example S1S1 S2S2 S3S3 0 0 0 1 1 1

18 CS 5150 18 Modeling Tools: Transition Diagram for User Interfaces Example: CS 5150 Web Site home syllabus projects books assign- ments tests integrity about slidessurveys concepts examples scripts

19 CS 5150 19 Modeling Tools: Finite State Machine Example: Therapy Control Consol 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.

20 CS 5150 20 Modeling Tools: Finite State Machine Therapy Control Consol: 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."

21 CS 5150 21 Modeling Tools: Finite State Machine State Transition Diagram Patients Fields SetupReady Beam on Enter Start Stop Select field Select patient (lock on) (lock off) Discuss each state and transition with the client.

22 CS 5150 22 Modeling Tools: Finite State Machine State Transition Table Select Patient Select Field Enter lock off StartStop lock on Patients Fields Setup Ready Beam on Fields Patients Setup Ready Beam on Ready This table can be used both for requirements specification and for the design specification.

23 CS 5150 23 Modeling Tools: Entity-Relation Model 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) Entity-relationship models can be used both for requirements specification and for the design specification.

24 CS 5150 24 Modeling Tools: Entity-Relation Diagram An entity (noun) A relation between entities (verb) An entity or relation attribute Note: There are various notations used for entity-relationship diagrams. This is the notation used by Chen (1976).

25 CS 5150 25 Modeling Tools: Entity Relationship Diagram Example: CS 5150 Project CS 5150 Student Major Project 5 to 7 1 IsMember Client team member IsClient 1:n IsContact 0:n 1 1

26 CS 5150 26 Entity Relationship Diagram as a Design Tool Example: Database Schema for Web Data Notation: Each table represents an entity Each arrow represents a relation

27 CS 5150 27 Modeling Tools: Petri Nets A Petri Net models parallelism A S1S1 SmSm S S A Event 1 Event n Event A Event 1 Event n...

28 CS 5150 28 Modeling Tools: Prototyping Requirements Rapid prototyping is the most comprehensive 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

29 CS 5150 29 Data Dictionaries 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 As the system is developed, the data dictionary in the requirements is the basis of the system data dictionary, which is a formal part of the system specification.

30 CS 5150 30 A Note on Class and Object Models This course teaches 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 1 CS 5150 Software Engineering Lecture 10 Requirements 3."

Similar presentations


Ads by Google