Software Requirements Course
SWEBOK KNOWLEDGE AREA REVIEW COURSES

Course Description:
Software requirements engineering is the process of determining what is to be produced in a software system. It has the widely recognized goal of determining the needs for, and the intended external behavior, of a system design.
The four specific steps in software requirements engineering are: requirements elicitation, requirements analysis, requirements specification, and requirements validation. The importance of high quality software requirements, long recognized as the foundation from which all software work follows, cannot be overstated. Arriving at a shared vision of the product to be developed is one of the greatest challenges facing the software project team, and customer involvement is among the most critical factors in software quality. This course will give participants a number of best practices, based upon the Software Engineering Body of Knowledge (SWEBOK), so that they can improve the quality of the requirements elicitation and development process in their organization. Characteristics of high quality requirements specifications are completeness, conciseness, accuracy, modularization, prioritization, analysis, and verification. Ultimately, the techniques presented reduce project risk, improve product quality, and allow for effective control of requirements volatility – all measures for increasing the likelihood of a successful software project.

— more —

Format: Asynchronous
Nominal duration: Self-paced Learning – Approximate Time: 4 hours
Professional Development Hours (PDH) : 4
Continuing Education Credits (CEU) : 0.4

This course is frequently bought together with exam:
Software Requirements Course & Exam Bundle

Learning Objectives: Learning objectives for the Software Requirements Review Course.
Upon completion of this course, the student will be able to:
1. Develop effective functional and non-functional requirements that are complete, concise, correct, consistent, testable and unambiguous.
2. Select the appropriate requirements elicitation techniques to identify requirements.
3. Design a set of software models to be used to flesh out hidden requirements and drive clarity into the system functional requirements
4. Effectively analyze requirements and prioritize accordingly.
5. Perform requirements engineering in the context of the most common software development life cycles and
processes.
6. Create a requirements specification to communicate requirements to a broad set of stakeholders.
7. Utilize various requirements validation techniques to critically evaluate their requirements to identify defects
8. Manage change to requirements

Course Modules:
1. Software Requirements Fundamentals
1.1. Definition of a Software Requirement
1.2. Product and Process Requirements
1.3. Functional and Nonfunctional Requirements
1.4. Emergent Properties
1.5. Quantifiable Requirements
1.6. System Requirements and Software Requirements
2. Requirements Process
2.1. Process Models
2.2. Process Actors
2.3. Process Support and Management
2.4. Process Quality and Improvement
3. Requirements Elicitation
3.1. Requirements Sources
3.2. Elicitation Techniques
4. Requirements Analysis
4.1. Requirements Classification
4.2. Conceptual Modeling
4.3. Architectural Design and Requirements Allocation
4.4. Requirements Negotiation
4.5. Formal Analysis
5. Requirements Specification
5.1. System Definition Document
5.2. System Requirements Specification
5.3. Software Requirements Specification
6. Requirements Validation
6.1. Requirements Reviews
6.2. Prototyping
6.3. Model Validation
6.4. Acceptance Tests
7. Practical Considerations
7.1. Iterative Nature of the Requirements Process
7.2. Change Management
7.3. Requirements Attributes
7.4. Requirements Tracing
7.5. Measuring Requirements
8. Software Requirements Tools
Purchase Options
Non-Member
Course $85
Student
Course $65
Member
Course $65

Members Save!

Join the Computer Society to take advantage of member pricing.