Listen
Prepare before you communicate
Someone should facilitate the activity
Face to Face communication is best
Take notes and document decisions
Strive for collaborations
Stay focused
If something is unclear, draw a picture
Once you agree, move on. If you can’t agree, move
on.
Negotiation must be win win.
PLANNING PRACTICE
– Goal
To provide a representation of the software
for the customer’s review and approval
• What will be the business impact of the software ?
• What the customer wants exactly ?
• How end user will interact with the system ?
– Developed as a joint effort between the
developer and the customer
– Serve as basis for review for both
customer and developer
– Culmination of requirements analysis
Specification Principles
System Models
– Information Model
– Functional Model
– Behavioral Model
Functional Requirements Definition
Non-functional Requirements Definition
System Evolution
Requirement Specification
Validation Criteria
Bibliography
Appendix & Glossary
Requirements Analysis
Processing/Function
Control/Behavior
Requirements
– Application oriented
Specifications
– Technically oriented
Software requirements document
Design Stage
Validation testing
– Confirm that system meets
specifications
Defect testing
– Find bugs
Software Engineering Methodologies
Waterfall
Model
Incremental Model
Coupling
– Control coupling
– Data coupling
Cohesion
– Logical cohesion
– Functional cohesion
Figure 7.7 Logical and functional
cohesion within an object
Tools of the Trade
– One-to-one relation
– One-to-many relation
– Many-to-many relation
Data Dictionary
Figure 7.9 A simple entity-relationship
diagram
Figure 7.10 One-to-one, one-to-many,
and many-to-many relationships between
entities of types X and Y
Unified Modeling Language
Objectives
To explain why the context of a system
should be modelled as part of the RE process
To describe
– Producer/Consumer
External of information
Entity outside the bounds
of the system
Process – Transformer of
information
– Data item or
Data collection of data
Item
items
Data Store
– Repository of data
stored for one or
more processes
A simple dataflow diagram
State Machine Diagrams
– Represent states
State
of the system
– Transitions
between states;
activities that
trigger state
change
State machine models
Specifies materials
Determines dimensions &
tolerances
Defines appearance
Sets performance standards
An Effective Design Process
Functional Production
design design
Design Manufacturing
New product or specifications or delivery
service launch specifications
Pilot run
Final design and final tests
& process plans
Risk Analysis
Reliability
Probability product performs intended
function for specified length of time
Maintainability
Ease and/or cost or
maintaining/repairing product
Design Teams
Recycling of oil
carpets in land fills - 4 billion pounds
in land fills annually
Xerox and Hewlett-Packard - pay for
return of printer cartridges on larger
printers
Quality Function Deployment (QFD)
r1
e1 d1
e2 r2
e3 r3 d2
e4 r4
d3
e5
r5
e6
r6
e7
r7
MANY-TO-MANY(M:N)
r9
r1
e1 d1
e2 r2
e3 r3 d2
e4 r4
d3
e5
r5
e6
r6
e7
r8 r7
One-to-One Relationship
Each Instance of One Entity Class E1 Can Be Associated
with Exactly One Instance of Another Entity Class E2 and
Vice Versa.
Example:
– Each Employee Can Work in Exactly One Project and
Each Project Employs Exactly One Employee
Employee Project
Employee No Duration Project No
Name Name
1 1
EMPLOYEE WORKS ON PROJECT
Employee Project
Employee No Duration Project No
Name Name
N 1
EMPLOYEE WORKS ON PROJECT
Employee Project
Employee No Duration Project No
Name Name
N M
EMPLOYEE WORKS ON PROJECT
Address
Location
Apt. # City
Street #