cs 5150 software engineering lecture 9 requirements 3

27
Software Engineering Lecture 9 Requirements 3

Upload: warren-davis

Post on 19-Jan-2018

220 views

Category:

Documents


0 download

DESCRIPTION

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

TRANSCRIPT

Page 1: CS 5150 Software Engineering Lecture 9 Requirements 3

CS 5150Software

EngineeringLecture 9

Requirements 3

Page 2: CS 5150 Software Engineering Lecture 9 Requirements 3

2CS 5150

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

Page 3: CS 5150 Software Engineering Lecture 9 Requirements 3

3CS 5150

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.

Page 4: CS 5150 Software Engineering Lecture 9 Requirements 3

4CS 5150

The “Ur-models” of Software Engineering

• Functions• Data (storage)• Processes

Page 5: CS 5150 Software Engineering Lecture 9 Requirements 3

5CS 5150

Data-Flow Models

Page 6: CS 5150 Software Engineering Lecture 9 Requirements 3

6CS 5150

Data-Flow Example 1: University Admissions

Page 7: CS 5150 Software Engineering Lecture 9 Requirements 3

7CS 5150

Receive Application Stage

Page 8: CS 5150 Software Engineering Lecture 9 Requirements 3

8CS 5150

Evaluate Stage

Page 9: CS 5150 Software Engineering Lecture 9 Requirements 3

9CS 5150

Decision Table

Page 10: CS 5150 Software Engineering Lecture 9 Requirements 3

10

CS 5150

Flowcharts

Page 11: CS 5150 Software Engineering Lecture 9 Requirements 3

11

CS 5150

University Admissions as Flowchart

Page 12: CS 5150 Software Engineering Lecture 9 Requirements 3

12

CS 5150

Pseudo-code

• Example: Check project plan• check_plan (report)

if report (date_time) > due_date_timethen error (too_late)

if report (client) = none then error (no_client)

if report (team) < min_team or > max_teamthen error (bad_team)

if error() = nonethen comments = read_report (report)

return (comments (text), comments (grade))

else return error()

Page 13: CS 5150 Software Engineering Lecture 9 Requirements 3

13

CS 5150

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)

Page 14: CS 5150 Software Engineering Lecture 9 Requirements 3

14

CS 5150

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

Page 15: CS 5150 Software Engineering Lecture 9 Requirements 3

15

CS 5150

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

Page 16: CS 5150 Software Engineering Lecture 9 Requirements 3

16

CS 5150

Console State Transition Diagram

Page 17: CS 5150 Software Engineering Lecture 9 Requirements 3

17

CS 5150

Console State Transition Table

Page 18: CS 5150 Software Engineering Lecture 9 Requirements 3

18

CS 5150

Transition Diagrams for User Interfaces (CS 5150 Website)

Page 19: CS 5150 Software Engineering Lecture 9 Requirements 3

19

CS 5150

Andrew Durdin’s iOS Home Button Guide

Page 20: CS 5150 Software Engineering Lecture 9 Requirements 3

20

CS 5150

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)

Page 21: CS 5150 Software Engineering Lecture 9 Requirements 3

21

CS 5150

Entity-Relation Diagrams

Page 22: CS 5150 Software Engineering Lecture 9 Requirements 3

22

CS 5150

Entity-Relation Example: 5150 Project

Page 23: CS 5150 Software Engineering Lecture 9 Requirements 3

23

CS 5150

Database Schema for Web Data

Page 24: CS 5150 Software Engineering Lecture 9 Requirements 3

24

CS 5150

Sequence Diagrams for Interaction/Concurrency

Page 25: CS 5150 Software Engineering Lecture 9 Requirements 3

25

CS 5150

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

Page 26: CS 5150 Software Engineering Lecture 9 Requirements 3

26

CS 5150

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

Page 27: CS 5150 Software Engineering Lecture 9 Requirements 3

27

CS 5150

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