Lecture 4 Requirement Specifications Specification is a term that means definition . It is used in different stages of the project. - Statement of contract: o Between implementer and user - Statement of user requirements: o Many projects fail because of misunderstanding of the users’ requirements o This is cosidered the most important phase of the project because the hardest part of developing a software is knowing precisely what to do. - There are three types of specifications: 1- Requirement Specifications: a. Agreement between user and designer 2- Design Specifications: a. Agreement between designer and developer 3- Module Specifications: a. Agreement between engineers who use the module and engineers who implement the module interface. - Specifications answer the question “what”, while the implementation answers the question “how”. - Specification Qualities: o Consistency: Inconsistencies may be impossible to implement Inconsistencies may lead to incorrect implementation Complexity may lead to inconsistency There should be no conflicts or contradictions in the description of the system facilities o Complete: All requirements should be included in the specification Internally complete: specification defines any new concept o Clear o Unambiguous o Understandable - Specification Styles: o Informal – natural language, specification is presented by figures and tables Problems with writing in NL: Ambiguity – results in a misunderstanding between readers and writers of the specifications
Over flexibility - the same thing can be written in many different ways Lack of Modularization – NL structures are inadequate to system requirement’s structure Alternatives to NL: Form-Based specifications – specifications are written in a form- like format Tabular Specifications – specifications are presented in a table format Graphical Models – specifications are represented in a diagrammatic format o Semi-formal – no precise syntax o Formal – notation with precise syntax Advantages : May be used for formal verification May allow automatic processing May be used to generate test cases Allow use of mathematical models Disadvantages
You've reached the end of your free preview.
Want to read all 5 pages?
- Winter '08
- Requirements analysis, Inconsistencies, Ambiguity