Mr. Sherwin Mercurio
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 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. An informal modeling technique to show the flow of data through a system. External entities
Data stores or sources
Modeling Tools: Data-Flow Model
Example: Process Completed Application Stage
The requirements will need specification of the decision-making process.
Modeling Tools: Pseudo-code
An informal modeling technique to show the logic behind part of a system. Example: Check project plan
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()
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
f (Si, Cj) = Sk
Modeling Tools: Finite State Machine
Example: 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. Modeling Tools: Finite State Machine
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 chooses another field." Modeling Tools: Finite State Machine
State Transition Diagram
Discuss each state and transition with the client.
Transition Diagram for User Interfaces
Example: CS 5150 Web Site (part)
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) 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...