Essay Instructions: I. General
Requirements engineering has a profound affect on development of systems.
The first activity in many software projects is requirements gathering and requirements analysis. Requirements engineering as a field addresses requirements issues in a holistic manner. Your understanding of the interrelationships between various requirements activities and how they support each other and the software engineers? build of the software development life cycle model is important.
Primarily, requirements engineering consists of two components: requirements analysis and requirements management. Requirements analysis is used to make qualitative judgments (i.e., consistency and feasibility about systems requirements). It also is a critical technical step in the system development lifecycle. The critical output for software development requirements analysis is the interface specification for system components. Requirements management is the second component and addresses aspects of controlling requirements entities. As you can see, system and software engineering is intimately intertwined. If analysis in either of these disciplines is not performed properly, the system or the software, as used on that system will be ineffective and not meet customer expectations.
II. Paper Requirements
Your requirements are to prepare a paper that discusses the requirements engineering process and include the following:
a. Use the theme of ?How Bad Requirements Can Lead to System or Software Failures? throughout the paper
b. Discuss the affects of bad requirements and its? affect on the Requirements Engineering Process (e.g., Feasibility Studies, Requirements Analysis and Elicitation, Requirements Specification and Requirements Validation)
c. Discuss the affects of bad requirements and its? affect on the Software Design Process
d. Discuss how bad requirements can affect the components of the Software Development Cycle (e.g., Requirements Definition, System and Software Design, Implementation and System testing, and Operation and Maintenance)
e. Conduct any research that you feel may be necessary.
III. Deliverables
Your deliverables are:
a. A 5 page research paper discussing the above topics.
b. Write this paper in a professional manner that?s indicative of a 400-level student. Your paper should prove that proper research was performed, work was properly organized to inform the reader of the consequences from having bad requirements.
c. Email the completed research paper (to the instructor) to meet the deadline.
Make any assumptions you feel are necessary but make sure your assumptions are supported in the analysis.
IV. Helpful Resources
These are a few resources that may help in your research. More current texts and papers are available but the software development principles in these documents are still applicable today. A lot of valuable information is included in your course text book (Software Engineering. Ian Sommerville, 6th Edition. Addison-Wesley, 2001).
[Arthur 1988] Arthur, J., Software Evolution, 1988, John Wiley & Sons
[Boehm 1991] Boehm, Barry, ?Software Risk Management: Principles and Practices,? IEEE Software, Vol. 9, No. 1, January 1991, pp. 32-39
[Boehm 1988] Boehm, Barry, ?A Spiral Model for Software Development and Enhancement,? Computer, Vol. 21, No. 5, May 1988, pp. 61-72
[Brooks 1995] Brooks, Frederick P. Jr., The Mythical Man-Month, Anniversary edition with four new chapters Addison- Wesley, 1995
[Davis 1995] Davis, Alan M., 201 Principles of Software Development, McGraw-Hill
[Fenton 1992] Fenton, N., ?How Effective Are Software Engineering Methods,? Journal of Systems and Software, Vol. 22, No. 2, August 1993, pp. 141-146
[Glass 1999] Glass, Robert, ?The Realities of Software Technology Payoffs,? Communications of the ACM, Vol. 42, No. 2 February 1999, pp. 74-79
[Humphrey 1989] Humphrey, Watts, ?Quality from Both Developer and User Viewpoints,? Quality Times Column, IEEE Software, Vol. 6, No. 5 September 1989, pp. 84, 100
[Jones 1994] Jones, Capers, Assessment and Control of Software Risks, Prentice-Hall, 1994
[Jones 1970] Jones, Capers, Design Methods: Seeds of Human Futures
[Kemerer 1992] Kemerer, C., ?How the Learning Curve Affects Tool Adoption,? IEEE Software, Vol. 9, No. 3, May 1992, pp. 23-28
[McConnell 1993] McConnell, S., Code Complete, 1993, Microsoft Press
[Pressman 1997] Pressman, Roger, Software Engineering, A Practitioners Approach, 4th edition, McGraw-Hill
[Weinberg 1992] Weinberg, Gerald, Quality Software Management, Vol. 1: Systems Thinking, Dorset House, 1992