|
I. Introduction to Requirements Engineering - Introduction to workshop, logistics, objectives, participant expectations
- Define three levels of software requirements: business, user, and functional
- Define characteristics of high-quality requirements
- Requirements development vs. requirements management
- Practice session: small group discussions on requirements problems in their projects
II. Requirements Development - A requirements development process
- The requirements/business analyst role
- The customer-development partnership
- Defining stakeholders and their involvement in the requirements process
- Defining vision and scope
- Practice session: Drawing a context diagram
- Sources of requirements
- Classifying requirements into categories: business, user, functional, non-functional
- Identifying user classes
- Customer involvement in the requirements process
- Gathering business and user requirements through use cases
- Identifying business rules
- Documenting business and user requirements
- Requirements management tools
- Practice session and discussion: reviewing written requirements
- Practice session: examining requirements for problems and rewriting them
- Prioritizing requirements
- Software quality attributes
- Effective ways to represent requirements graphically
- Modeling user interfaces with dialog maps
- Reducing the expectation gap through prototyping
- Validating requirements
III. Software Requirements Management - Requirements management goals and practices
- Version and change management
- Requirements change impact analysis
- Requirements traceability
- Requirements and software risk management
IV. Use Cases: What, Why, and How What use cases are and are not - Scenarios and use cases
- Use-case diagrams
- A use-case development process
- Discovering use cases
- Practice session: Identifying use cases and drawing a use-case diagram
- Anatomy of a use case
- Pre-conditions and post-conditions
- Practice session: Identifying pre-conditions and post-conditions
- Chaining use cases
- The normal flow, alternative flows, and exceptions
- Practice session: Identifying exceptions
- Writing good use cases
- Three iterations of use-case development
- Analysis models and use cases
- The use-case include and extend relationships
|