Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 CS 501 Spring 2004 CS 501: Software Engineering Lecture 9 Requirements 3.

Similar presentations


Presentation on theme: "1 CS 501 Spring 2004 CS 501: Software Engineering Lecture 9 Requirements 3."— Presentation transcript:

1 1 CS 501 Spring 2004 CS 501: Software Engineering Lecture 9 Requirements 3

2 2 CS 501 Spring 2004 Course Administration Feasibility Study Everybody should have received comments. Teaching Assistants have been assigned. Quiz 1 Uncollected answer books are at the reception at 301 College Avenue.

3 3 CS 501 Spring 2004 Discussion of Feasibility Study General Who will read the feasibility study? What is needed to decide to go ahead? Scope and understanding of project Statement of the task Preliminary requirements and technical analysis Deliverables and business considerations Confidence Outline plan. Does it inspire confidence? Visibility plan. How will progress be reported? Risk analysis. How are the risks to be minimized?

4 4 CS 501 Spring 2004 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

5 5 CS 501 Spring 2004 Modeling Techniques for Requirements Analysis and Definition The craft of requirements analysis and specification is to select the appropriate tool for the particular task. A variety of tools and techniques. Many are familiar from other courses. There is no correct technique that fits all situations. As you build understanding of the requirements through scenarios and use cases, use modeling tools to specify requirements. The models provide a bridge between the client's understanding and the developers.

6 6 CS 501 Spring 2004 Decision Table: Bad Example University Admission Decision Note that the rules are too vague. High SATTFFFFF High grades-TFFFF Sports--TTFF Recommendations--TFTF RejectXXX AcceptXXX

7 7 CS 501 Spring 2004 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

8 8 CS 501 Spring 2004 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.

9 9 CS 501 Spring 2004 Data-Flow Example: University Admissions Applicant Application form Receive application Completed application Evaluate Rejection Acceptance Shows the flow, but where is the data stored?

10 10 CS 501 Spring 2004 Data-Flow Example: Assemble Application Stage Applicant Application form Receive Completed application Supporting information Pending database Acknowledgment Initiate evaluation Applicant database Evaluation request AND Acknowledgment Does this model cover all applications? Are there special cases?

11 11 CS 501 Spring 2004 Data-Flow Example: Process Completed Application Stage Rejection Evaluation Applicant database Evaluation request Acceptance Financial aid Offer Special request The data-flow diagram will need specification of the decision-making process.

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

13 13 CS 501 Spring 2004 Flowchart: University Admissions Form received New? Database record T Notify student FUpdate database Complete? Notify student T F Evaluate

14 14 CS 501 Spring 2004 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.

15 15 CS 501 Spring 2004 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) Warning: There is much confusion about definitions and notation

16 16 CS 501 Spring 2004 Entity-Relation Diagram An entity A relation between entities An entity or relation attribute An inheritance relation

17 17 CS 501 Spring 2004 Example: CS 501 Project Student CS501 Student Major Project 5 to 7 1 Member of Client team member Client 1:n Tech contact 0:n 0:1

18 18 CS 501 Spring 2004 MARC Format for Books 001 Control number 245 Short title 260 Publisher 650 Subject heading 700 Author The MARC format defines a set of tagged fields that are used to catalog books in libraries. Here are some examples. Suppose you wish to use a relational database to store MARC records.

19 19 CS 501 Spring 2004 Part of an Entity-Relation Diagram for MARC Book Short title Catalog record Describes Control numb Subject heading Is about Creator Editor of Author of 1:n 1 0:n 1

20 20 CS 501 Spring 2004 Data Dictionaries A data dictionary is a list of names used by the system Brief definition (e.g., what is "date") What is it (e.g., number, relation) Where is it used (e.g., source, used by, etc.) May be combined with a glossary As the system is implemented, the data dictionary in the requirements is input to the system data dictionary, which is a formal part of the system specification.

21 21 CS 501 Spring 2004 Petri Nets A Petri Net models parallelism A S1S1 SmSm S S A Event 1 Event n Event A Event 1 Event n.. f(A; E) S f(A; E 1,..,E n ) S f(A; E 1,..,E n ) S 1,..,S m

22 22 CS 501 Spring 2004 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

23 23 CS 501 Spring 2004 Finite State Machine Example: Radiation Therapy Control Console You are developing requirements for the operator's control console. In a client interview, the client describes the dangers inherent in using the machine. The operator must follow a strict procedure before the machine is ready to run. 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.

24 24 CS 501 Spring 2004 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 choose another field."

25 25 CS 501 Spring 2004 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.

26 26 CS 501 Spring 2004 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

27 27 CS 501 Spring 2004 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

28 28 CS 501 Spring 2004 A Note on Object Models This course teaches object models as a tool for design. Some people recommend 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 can also be used for requirements.


Download ppt "1 CS 501 Spring 2004 CS 501: Software Engineering Lecture 9 Requirements 3."

Similar presentations


Ads by Google