|Description:||This one- or two-day course helps anyone performing the requirements analyst role on a software or systems development project become more proficient at specifying high-quality requirements. It presents extensive advice on how to examine requirements critically for problems and how to write clear, unambiguous requirements of various types. Many practice sessions give students experience in finding requirements problems, distinguishing requirements from design, interpreting customer input, writing precise functional requirements, specifying quality attributes, defining data items and business rules, and choosing alternative ways to represent requirements besides natural language text.
The course can be tailored to meet the needs of each specific audience, such as having students work with requirements pertinent to their own development project and user community. The students will not be expert requirement writers after this course-that takes practice and helpful review feedback from others. But students will have a good sense of what constitutes high-quality requirements of various types and how to write them. A white paper titled "Elements of Requirements Style" is included that contains much advice on writing clear and unambiguous software requirements.
|Objectives:||On completion of this course, the student will be able to:|
|Audience:||This course will be useful to anyone who has to document, analyze, or use requirements on a software or systems development project.|
|Format:||Approximately 60% lecture and 40% group discussions and practice sessions.|
I. Group Discussion: Your Requirements-Writing Problems
II. Software Requirements RefresherA. Requirements definition
III. Reviewing RequirementsA. Peer review defined
IV. Depicting Project ScopeA. Context diagrams
V. Elements of Requirements StyleA. Structures for writing functional requirements
VI. Using Multiple Requirement ViewsA. Alternative requirements views
VII. Sample Requirements to EvaluateA. Some good functional requirements
VIII. Writing Other Types of RequirementsA. Nonfunctional requirements
IX. An Overview of Use CasesA. Use cases defined