No part of this publication may be reproduced in any form, in an electronic retrieval system or otherwise, without the prior written permission of the publisher. Abstract: The content and qualities of a good software requirements specification (SRS) are described and several sample SRS outlines are presented. This recommended practice is aimed at specifying… (More)
This paper describes some recent developments in the field of software estimation. Factors to be considered in software estimation are discussed, a framework for reconciling those factors is presented, software estimation techniques are categorized, and recent advances are described. The paper concludes with a forecast of likely future trends in software… (More)
There is little to instruct software project managers on how to handle risk in a way that ensures the success of contingency planning and avoids crisis. This seven-step procedure describes how to identify risk factors, calculate their probability and effect on a project, and plan for and conduct risk management.<<ETX>>
Software engineering involves the application of principles of computer science, management science, and other fields to the design and construction of software systems. Education in software engineering is fundamentally different from education in computer science, management science, or other constituent fields, even though it shares a large common area… (More)
Iterative development can take many forms, depending on the project's goals: iterative prototyping can help evolve a user interface. Agile development is a way to closely involve a prototypical customer in a process that might repeat daily. Incremental build lets developers produce weekly builds of an evolving product. A spiral model can help the team… (More)
Computer programs can be checked for errors statically and dynamically. Static analysis looks for structural and semantic faults in programs. Dynamic analysis affirms proper operation—and helps identify errors.
This paper describes an experimental program testing facility called the interactive semantic modelling system (ISMS). The ISMS is designed to allow experimentation with a wide variety of tools for collecting, analyzing, and displaying testing information. The design methodology is applicable to procedural programming languages, and Algol 60 is being used… (More)