Requirements specification: A structured document that sets out the services the system is expected to provide Should be precise so that it can act as a contract between the system procurer and software developer and thus needs to be understandable by procurers and developers
Evolutionary Model Prototyping- \Do it twice to assess feasibility to verify requirements May only be a front end or executable specification Or develop system with less functionality or quality attributes °3 approaches:
Too complex for complete analysis Separation into non-interacting subsystems distorts the results The most important properties are emergent Too organized for statistics Too much underlying structure that distorts the statistics Organized Complexity\(Weinberg) Copyright Nancy Leveson, Sept 1999
design: added inheritance, multiple inheritance, and polymorphism to ADT In process added complexity and increased some types of connectivity Lots of claimed advantages -- so far empirical evaluation is not supporting them well
Formal design Reviews Associated with each of documentation phases Evaluate with respect to Customer requirements Prescribed standards and practices Contractual requirements