College of Engineering and Computer Science
Computer Science Department
CSC 131
Computer Software Engineering
Fall 2006
Lecture # 2
Chapter 6 & 7
System Engineering & Requirements
Engineering
1
System Engineering
Before SW can be engineered, the system
and its envoriment must be understood.
To accomplish this :
– Overall objectives of the system must be
determined
– The role of HW, SW, people, procedures must
be identified…
– Operational requirements must be elicited,
analyzed, specified, modeled, validated, and
2
managed.
System Engineering – Two Views
Business Process Engineering
– Focuses on utilizing IT effectively
Product Engineering
– Focuses on converting the customer’s
needs into a working/functional product
3
System Engineering
Concentrate not only on the software but
rather on the system as a whole and its
elements…
SE occurs as a result of a process called
system engineering.
4
System Modeling
Model the system
– Easier to asses the system
– Easier to evaluate system components in
relationship to one another
More on system modeling later….
5
System Context Diagram (SCD)
It establishes the information boundary
between the system being implemented
and environment in which the system
operate.
It defines all external producers of
information
It defines all external consumers of
information
6
Requirements Engineering
The outcome of the system engineering
process is the specification of computer-
based system at the different levels.
7
Requirements Engineering
Requirements engineering process can be
described in seven steps:
– Inception
– Requirement Elicitation
– Requirement Elaboration
– Requirement Analysis & Negotiation
– Requirement Specification
– Requirement Validation
– Requirement Management
8
Requirements?
Definition
“A feature of the system or a description of
something the system is capable of doing in order
to fulfill the system’s purpose”
Types of Strengths
Requirements – Must/Shall
– Functional – Should
– Non-functional – Will
9
Requirements Elicitation
Why requirement elicitation is difficult?
– Problem of scope
The boundary of the system is ill-defined
– Problem of understanding
Customers are not sure of what is needed
– Problem of volatility
Requirements change over time.
10
Requirements Elicitation
Techniques
– Interview / Meeting
– Survey / Questionnaire
– Observations
– Temporary Assignment
– Business Plans
– Review Internal / External Documents
– Review Software
11
Elaboration
The information obtained in the elicitation
step is expanded and refined
Develop a refined model
12
Requirements Analysis & Negotiation
Once requirements have been gathered
then ..
Categorize requirements
Organize requirements into related subsets
Establish requirements relationships
Examine requirements consistency
Rank requirements based on the need of
customers.
13
Questions That Must Be Asked…
Is each requirement consistent with
the objective?
Have all requirements been
specified?
Is each requirement really
necessary?
Is each requirement clear?
Is each requirement testable?
……. 14
Requirements Specification
System Specification is the final
product of system and requirements
engineering.
– It serves as the foundation for HW, SW
engineering
– It describes the function and
performance of a system/product and
its constraints
15
Requirements Specification…
A specification can be:
– A written document
– A graphical model
– A formal mathematical model
– A prototype
– Any combination of the above …
16
Requirements Validation
Why requirements validation?
To Ensure the following:
– All system requirements have been stated clearly
– Inconsistencies, errors, omissions have been
detected and corrected
– Product conforms to the standards
Mainly done by Formal Technical Review Team
17
Requirements Management
It is a set of activities that support
the project team to:
– Identify , control, and track
requirements and changes to
requirements at any time.
Why requirement management??
– Because requirements change… 18
Requirements Review?
– Are the requirements complete?
– Are the requirements concise?
– Are the requirements correct?
– Are the requirements consistent?
– Are the requirements modular? Can they accommodate
change?
– Are the requirements realistic?
– Are the requirements needed by the customer?
– Are the requirements traceable? 19
Questions ..?
20
What is next?
Deliverable # 1 due
Assignment # 1
21