1 / 28

CS 5150 Software Engineering

CS 5150 Software Engineering. Lecture 10 Requirements 3. Course Administration. Test 2 Monday October 3, Philips Hall 101 at 7:30 p.m. Covers all material in Lectures 1 to 11. Presentations Sign up with Corinne Russell for your presentations.

darrelld
Download Presentation

CS 5150 Software Engineering

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. CS 5150 Software Engineering Lecture 10 Requirements 3

  2. Course Administration Test 2 Monday October 3, Philips Hall 101 at 7:30 p.m. Covers all material in Lectures 1 to 11. Presentations Sign up with Corinne Russell for your presentations. She will be out next week. Please copy Raghu and me on messages about the presentations.

  3. Course Administration Assignment 2, Milestone 2, October 12-14 Read information on the Assignments Web page 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 iii Report due Friday at 11:00 p.m. iv Survey due Friday at 11:00 p.m.

  4. Course Administration Assignment 2, Milestone 2, October 12-14 • One third of the total work from the feasibility study. • If you are following an iterative or incremental process, this is a major milestone when you report visible progress to your client. This will include at least a first set of requirements, and design, including user interface design. It might be the end of the first iteration or sprint. • If you are following a modified waterfall process, this milestone should include completion of the requirements phase and perhaps the first steps in the design. Include a review of progress to date against your plan.

  5. 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

  6. 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.

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

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

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

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

  11. Modeling Tools: Decision Table University Admission Decision SAT > S T F F F F F GPA > G - T F F F F Athletics code =  - - T T F F Recommendations > A- - - T F T F Send rejection letter X X X Send acceptance letter X X X Note that the rules are specific and testable.

  12. Modeling Tools: Flowchart An informal modeling technique to show the decisions and paths that data takes through a system. Operation Decision Manual operation Report

  13. Modeling Tools: FlowchartExample: University Admissions Form received New database record Update database New applicant? Application complete? F T F T Evaluate Notify student Notify student

  14. Modeling Tools: Pseudo-code An informal modeling technique to show the logic behind part of a system. 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) < min_team or> max_team then error (bad_team) if error() = none then comments = read_report (report) return (comments (text), comments (grade)) else return error()

  15. Modeling Tools: Transition Diagrams A system is modeled as a set of states, Si 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 (Si, Cj) = Sk Example 0 S1 S2 1 0 1 0 S3 1

  16. Modeling Tools: Finite State MachineExample: 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.

  17. Modeling Tools: Finite State MachineTherapy 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."

  18. Modeling Tools: Finite State MachineState Transition Diagram Discuss each state and transition with the client. Select field Start Enter Enter (lock off) Beam on Patients Fields Setup Ready Stop (lock on) Select patient

  19. Modeling Tools: Finite State MachineState Transition Table Select Patient Select Field lock on lock off Enter Start Stop Patients Fields Setup Patients Fields Setup Fields Ready Patients Beam on Patients Ready Fields Setup Beam on Ready Setup This table can be used for requirements definition, program design, and acceptance testing.

  20. Transition Diagram for User Interfaces Example: CS 5150 Web Site (part) home assign-ments syllabus books projects integrity about tests slides surveys concepts examples scripts

  21. 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.

  22. 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).

  23. Modeling Tools: Entity Relationship DiagramExample: CS 5150 Project CS 5150 Student IsClient Major 1 1 Client team member Project 1 0:n 5 to 7 1 IsContact IsMember

  24. Entity Relationship Diagram as a Design ToolExample: Database Schema for Web Data Notation: Each table represents an entity Each arrow represents a relation

  25. Modeling Tools: Petri Nets Event 1 Event 1 A A Event n Event n A Petri Net models parallelism Event A S S . . S1 . Sm

  26. 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

  27. Requirements Definition: 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 part of the system specification.

  28. 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. *

More Related