View
227
Download
3
Tags:
Embed Size (px)
Citation preview
CS 5150 1
CS 5150 Software Engineering
Lecture 10
Requirements 3
CS 5150 2
Course Administration
Progress report
Progress report due on Friday
Test 2
Monday October 5, Phillips Hall 219 at 7:30 p.m.
CS 5150 3
Course Administration
Assignment 2, Milestone 2, October 14-16
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
CS 5150 4
Course Administration
Assignment 2, Milestone 2, October 14-16
• 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.
CS 5150 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
CS 5150 6
Modeling Techniques for Requirements Analysis, Modeling 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 are familiar from other courses.
• There is no correct technique that fits all situations.
As you build understanding of the requirements through viewpoint analysis, scenarios and use cases, etc., use modeling tools to specify requirements. The models provide a bridge between the client's understanding and the developers.
CS 5150 7
Modeling Tools: Decision Table (Poor Example)
University Admission Decision
Note that the rules are too vague.
High SAT T F F F F F
High grades - T F F F F
Sports - - T T F F
Recommendations - - T F T F
Reject X X X
Accept X X X
CS 5150 8
Modeling Tools: Decision Table (Good Example)
University Admission Decision
Note that the rules are now specific and testable.
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
CS 5150 9
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.
CS 5150 10
Modeling Tools: Data-Flow Model Example: University Admissions (first attempt)
Applicant
Applicationform Receive
application
Completedapplication
Evaluate
Rejection
Acceptance
Shows the flow, but where is the data stored?
CS 5150 11
Modeling Tools: Data-Flow Model Example: Assemble Application Stage
Applicant
Applicationform
Receive
Completedapplication
Supportinginformation Pending
database
Acknowledgment
Beginevaluation
Applicantdatabase
Evaluationrequest
AND
AND
Acknowledgment
Does this model cover all applications? Are there special cases?
CS 5150 12
Modeling Tools: Data-Flow ModelExample: Process Completed Application Stage
Rejection
Evaluation
Applicantdatabase
Evaluationrequest Acceptance Financial
aid
Offer
Specialrequest
The requirements will need specification of the decision-making process.
CS 5150 13
Procedural Models: Flowchart
Operation
Decision
Manual operation
Report
An informal modeling technique to show the decisions and paths that data takes through a system.
CS 5150 14
Modeling Tools: FlowchartExample: University Admissions
Form received New?
Database record
T
Notify student
F Update database
Complete?
Notify student
T
FEvaluate
CS 5150 15
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) < 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()
An informal modeling technique to show the logic behind part of a system.
CS 5150 16
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 S1 S2
S30
0
0
1
11
CS 5150 17
Modeling Tools: Transition Diagram for User Interfaces Example: CS 5150 Web Site
home
syllabus projects booksassign-mentstests integrity about
slides surveysconcepts examples
forms
CS 5150 18
Modeling Tools: Finite State MachineExample: Therapy Control Consol
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.
CS 5150 19
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."
CS 5150 20
Modeling Tools: Finite State MachineState Transition Diagram
Patients Fields Setup ReadyBeam
on
Enter Enter Start
Stop
Select field
Select patient(lock on)
(lock off)
Discuss each state and transition with the client.
CS 5150 21
Modeling Tools: Finite State MachineState Transition Table
SelectPatient
SelectField
Enter lock off Start Stop lock on
Patients
Fields
Setup
Ready
Beamon
Fields
Fields
Fields
Patients
Patients
Patients
Setup
Setup
Setup
Ready
Beamon
Ready
This table can be used both for requirements specification and for the design specification.
CS 5150 22
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.
CS 5150 23
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).
CS 5150 24
Modeling Tools: Entity Relationship DiagramExample: CS 5150 Project
CS 5150 Student
Major
Project
5 to 71
IsMember
Client team
member
IsClient
1:n
IsContact0:n
1
1
CS 5150 25
Entity Relationship Diagram as a Design ToolExample: Database Schema for Web Data
Notation: Each table represents an entity Each arrow represents a relation
CS 5150 26
Modeling Tools: Petri Nets
A Petri Net models parallelism
A
S1
Sm
S
S
A
Event 1
Event n
Event
A
Event 1
Event n ..
CS 5150 27
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
CS 5150 28
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.
CS 5150 29
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.
*