Course Content
- Introduction to Requirement Engineering
- Requirements Engineering – A Framework
- Requirements Engineering – Rationale and the problems
- Defining Requirements and its Characteristics
- Defining Requirements and Its Problems
- Framework of The Requirements Engineering and it’s accomplishments
- Prominence of Requirements Planning and Estimating
- Business Analysis and Input
- Business Process Analysis Model and Inputs into ‘The Define Requirements’ Stage
- Business Case in Project Life-Cycle
- Terms of Reference
- Project Initiation Document
- Project Charter–business objectives, project objectives, scope, constraints (budget, timescale, standards), sponsor (authority), resources and assumptions
- Requirements Engineering – A Framework
- Hierarchy of requirements
- Building the hierarchy through decomposition of requirements
- Categories of requirements within the hierarchy
- General business requirements, including legal and business policy
- Technical policy requirements
- Functional requirements
- Non-functional requirements, that include performance, availability, robustness, usability, robustness, access, security, archiving, backup and recovery
- Stakeholders in the requirements process
- The definition of the term ‘stakeholder
- Role and Contribution of Project Stakeholders to the requirements engineering process
- Project Manager
- Business Analysis
- Solution
- Developer
- Testers
- Architects
- Role and contribution of Business Stakeholders to the requirements engineering process
- Project Sponsor
- Subject matter expert
- End users and managers
- Role and Contribution of External stakeholders to the requirements engineering process
- Customers
- Regulators
- Suppliers - products and services
- Requirements Elicitation
- Knowledge types –tacit and non-tacit(explicit)
- Elicitation techniques
- Interviews
- Workshops
- Observation:
- Formal/informal
- Shadowing
- Focus groups
- Prototyping
- Scenarios
- Document Analysis
- Special purpose records
- Questionnaires
- Activity sampling
- Understanding the applicability of techniques
- Elicitation techniques
- Use of models in Requirements Engineering
- The purpose of modelling requirements
- Generating questions
- Cross checking for consistency and completeness
- Defining business rules
- Using a Context Diagram, Model the business context for the system by identifiying the inputs and outputs of the system
- Create a model that symbolises the needs of system processing .
- Use case diagrams
- Understanding a data model based upon the system data requirements Class diagram
- The purpose of modelling requirements
- Requirements Documentation
- Different Styles of Dcoumenting and their levels
- Users Stories
- Use Cases
- Requirements List
- Requirements Catalogue
- Requirements Catalogue
- Identifier
- Name
- Description
- Acceptance criteria
- Source
- Owner
- Rationale/Benefits
- Related non-functional requirements
- Priority
- Type (functional, non-functional, general, technical)
- Related requirements/documents
- Author
- Version control/status
- Change history
- Resolution
- Resolution
- Requirements Document
- Introducing Requirements Documents
- Business Process Models
- Function models of defined requirements
- Data model of defined requirements
- Requirements catalogue
- Glossary
- Different Styles of Dcoumenting and their levels
- Requirements Analysis
- Prioritising and packaging requirements for delivery
- Organising requirements
- Requirements filters
- Characteristics of a good requirement
- Removing duplicated requirements
- Reconciling overlapping requirements
- Identifying and negotiating conflicts between requirements
- Removing ambiguity
- Ensuring feasibility(technical, business and financial)
- Ensuring testability
- Providing traceability
- Prototyping requirements
- Verifying requirements
- Requirements Validation
- Agreeing the requirements document
- Types of reviews
- Informal reviews
- Structured walkthroughs (author-led review)
- Technical reviews
- Inspections
- Stakeholders and their areas of concern
- Requirements Management
- Dealing with changing requirements
- The sources of change
- Change Management
- Configuration management
- The importance of traceability
- Vertical traceability (to business objectives)
- Horizontal traceability (from origin to deliver)
- Traceability and ownership
- Requirements Engineering support tools
- CARE Tools (Computer Aided Requirements Engineering)
- CASE Tools (Computer Aided Software Engineering)
- Dealing with changing requirements