Date post: | 19-Jan-2018 |
Category: |
Documents |
Upload: | warren-davis |
View: | 219 times |
Download: | 0 times |
CS 5150Software
EngineeringLecture 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
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.
4CS 5150
The “Ur-models” of Software Engineering
• Functions• Data (storage)• Processes
5CS 5150
Data-Flow Models
6CS 5150
Data-Flow Example 1: University Admissions
7CS 5150
Receive Application Stage
8CS 5150
Evaluate Stage
9CS 5150
Decision Table
10
CS 5150
Flowcharts
11
CS 5150
University Admissions as Flowchart
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()
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)
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
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."
16
CS 5150
Console State Transition Diagram
17
CS 5150
Console State Transition Table
18
CS 5150
Transition Diagrams for User Interfaces (CS 5150 Website)
19
CS 5150
Andrew Durdin’s iOS Home Button Guide
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)
21
CS 5150
Entity-Relation Diagrams
22
CS 5150
Entity-Relation Example: 5150 Project
23
CS 5150
Database Schema for Web Data
24
CS 5150
Sequence Diagrams for Interaction/Concurrency
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
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
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