1
Software Requirements
Eunjee Song
Eunjee Song Computer Science Department Baylor University
Software Requirements - 1
Outline
Starting point Requirements engineering Domain modeling Problem scoping / decomposition
Eunjee Song
Requirements types Functional / Non-functional FURPS+ Requirements models
Software Requirements - 2
Starting Point
System Engineering Requirements Analysis Software Design Implementation Testing Deployment
Eunjee Song
Evolution Requirements must be determined Clients have produced requirements New development Evolution of existing system
A B C D
Software Requirements - 3
Why are Requirements Important?
Causes of failed software projects (Standish Group study, 1994) Incomplete requirements 13.1% Lack of user involvement 12.4% Lack of resources 10.6%
http://www.cs.cornell.edu/courses/cs501/2006sp/slides/
Eunjee Song
Unrealistic expectations 9.9% Lack of executive support 9.3% Changing requirements & specifications 8.8% Lack of planning 8.1% System no longer needed 7.5% The commonest mistake is to build the wrong system!
Software Requirements - 4
Why are Requirements Important?
As Management requested it. As the Project Leader defined it. As Systems designed it.
Eunjee Song Software Requirements - 5
As Management requested it. As the Project Leader defined it. As Systems designed it. As Programming developed it. As Operations installed it. What the user wanted.
(Pre-1970 cartoon; origin unknown)
Requirements Engineering?
The process of discovering, documenting
and maintaining the tasks or functions the software should carry out.
Eunjee Song
The term “engineering” implies a systematic
and repeatable process.
Software Requirements - 6