Professional Documents
Culture Documents
2.REQUIREMENTS Eee403
2.REQUIREMENTS Eee403
* 2017 report of
Project
14% 32% 49% 50% Management
Fails
Exceed Scope
Late Institute (PMI)
budget problems
4
Requirements, Systems Engineering
* 2017 report of
Project
Management
Institute (PMI)
5
Requirements, Systems Engineering
4 different systems
Radar Aircraft
6
Requirements, Systems Engineering
System shall
System have a
shall detect communication
enemy subsystem to
targets in provide ground
rural area communication
7
Requirements, Systems Engineering
Stakeholders
• Project leader
• Senior management
• Project team members
• Project customer
• Resource managers
• Line managers
• Project user group
• Product testers
• Group impacted by the project as
it progresses
• Group impacted by the project
after its completion
• Subcontractors to the project
• Consultants to the project
9
Requirements, Systems Engineering
10
Requirements, Systems Engineering
2 Basic
Definitions
What is a requirement?
Requirements, Systems Engineering
What is «requirement»?
Sources of requirements
14
Requirements, Systems Engineering
Classification of requirements
SW System
SW Req.Analysis Engineering SW System Test
Verification
Management
&Validation
18
Requirements, Systems Engineering
Requirements elicitation
Verification
Elicitation Analysis Specification Management
&Validation
Requirements analysis
Verification
Elicitation Analysis Specification Management
&Validation
Requirements specification
Verification
Elicitation Analysis Specification Management
&Validation
21
Requirements, Systems Engineering
Requirements management
Verification
Elicitation Analysis Specification Management
&Validation
23
Requirements, Systems Engineering
Attributes of
3 A Good
Requirement
What is there in a good requirement?
Requirements, Systems Engineering
25
Requirements, Systems Engineering
Unambiguity
Does ASP mean Active Server Pages or Application Service Provider? To fix
this, we can mention a full name and provide an acronym in parentheses:
REQ1 The system shall be implemented using Active Server Pages (ASP).
26
Requirements, Systems Engineering
Testability
REQ1 The search facility should allow the user to find a reservation based
on Last Name, Date, etc.
Conciseness
REQ1 Sometimes the user will enter Airport Code, which the system will understand,
but sometimes the closest city may replace it, so the user does not need to know
what the airport code is, and it will still be understood by the system.
REQ1 The system shall identify the airport based on either an Airport Code or a City
Name.
28
Requirements, Systems Engineering
Correctness
REQ1 Car rental prices shall show all applicable taxes (including 6% state
tax).
29
Requirements, Systems Engineering
Feasibility
REQ1 The system shall have a natural language interface that will
understand commands given in English language.
Consistency
There should not be any conflicts between the requirements. Conflicts may be direct or
indirect. Direct conflicts occur when, in the same situation, different behaviour is expected:
REQ1 For users in the U.S., dates shall be displayed in the mm/dd/yyyy format.
REQ2 For users in France, dates shall be displayed in the dd/mm/yyyy format.
31
Requirements, Systems Engineering
Completeness
REQ1 A destination country does not need to be displayed for flights within
the U.S.
REQ2 For overseas flights, the system shall display a destination country.
What about flights to Canada and Mexico? They are neither “within the U.S.”
nor “overseas.”
32
Requirements, Systems Engineering
Development
4
Life Cycles
Requirements engineering perspective
for life cycles
Requirements, Systems Engineering
Waterfall
Prototyping
Incremental
Spiral
34
Requirements, Systems Engineering
Waterfall
REQUIREMENTS CHANGED
ANALYSIS REQUIREMENTS
SYSTEM DESIGN
SUB-SYSTEM
DEVELOPMENT
INTEGRATION AND
QUALIFICATION
• First define requirements
• Then go to other steps OPEATIONAL MODE
• Don’t go back to requirements AND MAINTENANCE
35
Requirements, Systems Engineering
Waterfall
1. It is difficult to define all requirements from start explicitly in
Waterfall model.
36
Requirements, Systems Engineering
Prototyping
PROTOTYPING CHANGED
REQUIREMENTS
REQUIREMENTS
ANALYSIS
SYSTEM DESIGN
SUB-SYSTEM
DEVELOPMENT
INTEGRATION AND
• First prototype the system QUALIFICATION
• Then define the requirements OPEATIONAL MODE
• You can go back to previous steps AND MAINTENANCE
37
Requirements, Systems Engineering
Prototyping
1. Prototyping model accommodates new or unexpected user
requirements.
38
Requirements, Systems Engineering
Incremental
REQUIREMENTS
ANALYSIS
SUB-SYSTEM
DEVELOPMENT
INTEGRATION AND
• Define the requirements QUALIFICATION
• Separate them for builds
• Develop the requirements OPEATIONAL MODE
you prefer first AND MAINTENANCE
39
Requirements, Systems Engineering
Incremental
1. Incremental model reduces risks of requirements changes and
increases manageability.
2. Incremental model allows software team to defer development of
less well understood requirements to later releases after issues
have been resolved.
3. In incremental model, most if not all requirements must be
known up front, like the waterfall life-cycle model.
40
Requirements, Systems Engineering
Spiral
• Develop requirements
in a spiral mode.
• Produce prototypes in
each spiral.
• Leave the other steps
to the last spiral.
41
Requirements, Systems Engineering
Spiral
1. Spiral model highlights the progressive need for risk analysis
and prototyping.
42
Requirements, Systems Engineering
Requirements
5
Specification
Document generation
Requirements, Systems Engineering
44
Requirements, Systems Engineering
Requirements specification
• System/SW Requirements Specification specifies the requirements for a
cases etc.
45
Requirements, Systems Engineering
46
Requirements, Systems Engineering
49
Requirements, Systems Engineering
Qualification provisions
• The operation of the system, or a part of the system, that
relies on observable functional operation not requiring the
Demonstration use of instrumentation, special test equipment, or
subsequent analysis.
• The operation of the system, or a part of the system, using
Test instrumentation or other special test equipment to collect
data for later analysis.
• The processing of accumulated data obtained from other
Analysis qualification methods. Examples are reduction,
interpretation, or extrapolation of test results.
• The visual examination of system components,
Inspection documentation, etc.
53
Requirements, Systems Engineering
Standards
• Systems and software engineering - System life
ISO/IEC/IEEE 15288:2015 cycle processes
• International Standard - Systems and software
IEEE 12207 engineering - Software life cycle processes
• IEEE Recommended Practice for Software
IEEE 830-1998 Requirements Specifications
• Guide for Developing System Requirements
IEEE 1233 Specifications
• Military Standard: Software Development and
DoD MIL-STD-498 Documentation
55
Requirements, Systems Engineering
Requirements
6 Measurements
and Tools
How to measure and manage
requirements
Requirements, Systems Engineering
57
Requirements, Systems Engineering
3 Integrated Project Mngt Requirements Dvlp. Org. Process Focus Decision Analysis & Resolution
Defined Risk Management Technical Solution Org. Process Definition
Product Integration Org. Training
Verification
Validation
1
Initial
58
Requirements, Systems Engineering
59
Requirements, Systems Engineering
60
Requirements, Systems Engineering
Requirements attributes
61
Requirements, Systems Engineering
Some Clues on
7 Requirements
Engineering
What to do for the good requirements
Requirements, Systems Engineering
63
Requirements, Systems Engineering
Example: A
8
Library System
Generic requirements for a simple
system
Requirements, Systems Engineering
Requirement-1
▸ REQLIB1. The system shall maintain records of all library
materials including books, serials, newspapers, video and
audio tapes, reports, disks and CDROMs.
69
Requirements, Systems Engineering
Requirement-2
▸ REQLIB2. The system shall allow users to search for an item
by title, author or ISBN.
•Functional requirement.
•Defines part of the system’s functionality.
70
Requirements, Systems Engineering
Requirement-3
▸ REQLIB3. The system’s user interface shall be implemented
using a World-Wide-Web browser.
•Implementation requirement.
•States how the system must be implemented.
71
Requirements, Systems Engineering
Requirement-4
▸ REQLIB4. The system shall support at least 20 transactions
per second.
•Performance requirement.
•Specifies a minimum acceptable performance of the system.
72
Requirements, Systems Engineering
Requirement-5
▸ REQLIB5. The system facilities which are available to public
users shall be demonstrable in 10 minutes or less.
•Usability requirement.
•Specifies the maximum acceptable time to demonstrate the
use of the system.
73
Requirements, Systems Engineering
Example: Air
9 Ticket Reservation
System
Different level of requirements for
another example.
Requirements, Systems Engineering
Sample system
75
Requirements, Systems Engineering
Sample system
76
Requirements, Systems Engineering
Sample system
77
Requirements, Systems Engineering
78
Requirements, Systems Engineering
80
Requirements, Systems Engineering
User registration
▸ UR-1: User will be able to add the required information.
▸ SysR-1-1: System shall enable the user to enter reservation details
including flights, motels and special packages.
▸ SwR-1-1-1: User enterance page shall provide user to enter the flight
information including «from», «to», «date» and «# of passengers» data.
▸ SwR-1-1-2: Flight database shall display the required flight information in
which user entered the basic data.
▸ …
81
Requirements, Systems Engineering
User login
▸ UR-2: There will be a user login page.
▸ SysR-2-1: System shall enable the user to log into the application, with
the username and password he/she provided while registering
to the system.
▸ SwR-2-1-1: Login page shall provide user to enter the user name and password.
▸ SwR-2-1-2: Login page shall have an edit box to enter 15 letters maximum.
▸ SwR-2-1-3: Login page shall provide user to enter password with at least 8 characters
including upper and lower cases.
▸ …
82
Requirements, Systems Engineering
▸ SysR-3-2: System shall provide an email system to send and receive the
messages.
83
Requirements, Systems Engineering
Booking instructions
▸ UR-4: There will be instructions for booking and other
processes.
▸ SysR-4-1: System shall enable the user to view the instructions for
booking flights, packages or motels.
▸ SwR-4-1-1: Instruction files shall include booking flights, packages or motels.
▸ SwR-4-1-2: System database shall include information about motels for the
selected destination.
▸ …
84
Requirements, Systems Engineering
Book flights
▸ UR-5: Airline tickets can be booked.
▸ SysR-5-1: System shall enable the user to book airline tickets.
▸ SwR-5-1-1: Booking pages shall include ticket, user and credit card information.
▸ …
85
Requirements, Systems Engineering
Book motels
▸ UR-6: Motels can be booked.
▸ SysR-6-1: System shall enable the user to book motels at the time of
▸ …
86
Requirements, Systems Engineering
Booking pages
▸ UR-7: Touring packages can be selected.
▸ SysR-7-1: System shall enable the user to book different touring
▸ …
87
Requirements, Systems Engineering
88
Requirements, Systems Engineering
Non-functional requirements
▸ Performance requirements
▸ UR-N-1: System will respond to the user quickly.
▸ SysR-N-1: Responses to queries shall take no longer than 10 seconds to
load onto the screen after the user submits the query.
▸ SysR-N-2: The system shall display confirmation messages to users
within 4 seconds after the user submits information to the system.
89
Requirements, Systems Engineering
Quality attributes
▸ Availability
▸ UR-Q-1: System will always be open to access on the
Internet.
▸ SysR-Q-1: The system shall be available to users on the Internet 99.9% of
the time.
90
Requirements, Systems Engineering
External interfaces
User
Interface
Reser-
vation
System
91
Requirements, Systems Engineering
Some references
▸ Software Requirements Engineering
R.H.Thayer, M.Dorfman; IEEE Computer Society Press, 1999.
▸ Requirements Engineering
G.Kotonya, I.Sommerville; John Wiley & Sons Ltd, 1998.
Summary
✓ We have seen the importance and necessity of requirements
engineering.
✓ Basic definitions for requirements engineering are given.
✓ We saw the attributes of a good requirement.
✓ We discussed the development lifecycles in the scope of
systems engineering.
✓ We saw the requirements specifications.
✓ We learned the relationships of requirements and CMMI,
metrics, tools
✓ Some clues were given for the requirements.
✓ We have seen example like a library system and air ticket
reservation system.
Systems Engineering Course, Lecture-3: Systems Requirements Engineering, Orkun Zorba, Ph.D., 2021 93