login

Software Requirements

Published 9 September 2005
Lawrence S. Bernstein, C. M. Yuhas
Citations15

TL;DR

The activities of elicitation, analysis, specification, validation, and requirements management are discussed and recommended practices in each of those areas are highlighted.

Abstract

When a customer presents an idea that needs a system solution, the development organization has an ethical and professional obligation to help the customer define the problem. You must build the best solution to the customer's problem, even if the customer does not yet understand how to ask for it. The customer should be encouraged to write a short prospectus that states the purpose of the system, its value and any constraints essential to making it useful. This should not be confused with a complete set of requirements, which will emerge only through an iterative process. This chapter will lead you through the steps necessary to arrive at refined requirements and help you resist the eager impulse to plunge ahead and build a system that might not meet the customer's needs. A formal requirements understanding, verification, documentation and control process is essential for delivering software systems that delight customers. What Can Go Wrong With Requirements The Formal Processes Robust Requirements Requirements Synthesis Requirements Specification Quantitative Software Engineering Gates SQFD Technology ICED-T Metrics ICED-T Insights Using the ICED-T Model Development Sizing and Scheduling with Function Points Function Point Analysis Experience NCSLOC vs Function Points Computing Simplified Function Points (sFP) Case Study: The Case of the No-Show Service Additional Problems