Types of Software Applications
We suggest that software applications can be categorized as follows :
The characteristics of the applications we develop for these three different types of systems are extremely diverse. They could consist of 5,000,000 lines of COBOL on a mainframe host environment developed over a period of ten or more years by fifty to a hundred individuals. They could consist of 10,000 lines of Java on a Web server application written in one year by a one- or two-person team. Or they could be 1,000,000 lines of extremely time-critical C code on a complex real-time telephony system.
We'll maintain that the requirements management techniques presented throughout this book can be applied to any of these types of systems. Many of the techniques are independent of application type; others may need to be tuned for the application-specific context before being applied. To enhance your understanding, we'll provide a mix of examples to illustrate the application of the various techniques.
Requirements management can also be applied to systems development. Most of the techniques in this book will deliver value in managing requirements of arbitrarily complex systems consisting of mechanical subsystems, computer subsystems, and chemical subsystems and their interrelated pieces and parts . Clearly, this is a broad discipline, and we will have to show some discretion to be able to deliver value to the average software team member. Therefore, we'll focus on a requirements management process and specific techniques that can be applied most directly to significant software applications of the IS/IT, ISV, or embedded-systems types.