User & System Requirements for Successful Software Development
Course 218 | 4 Days
Evaluations in the Last 12 Months
You Will Learn How To:
- Develop requirements for software-intensive systems
- Build a use case-based requirements model
- Write user stories and brief, casual and fully developed use cases
- Model user interface using mock-ups and develop a data model
- Validate requirements, manage the changes and keep traceability
Workshop Activities Include:
- Analyzing initiation documents and defining the elicitation approach
- Modeling requirements with UML diagrams using a CASE tool
- Capturing, structuring, iteratively writing and refining use cases
- Developing screen mock-ups
- Producing a UML requirements data model
- Validating requirements using IEEE checklists
About This Course: You will gain the knowledge and skills needed to capture software requirements using clearly defined processes. You learn to specify user and system requirements, match the process to the size of your project, and apply quality and consistency tests to the requirements model.
Course 218 Content
The Importance of Software Requirements
The software development life cycle
- Defining and differentiating between requirement types
- Locating requirement sources
- Development approaches
Presenting software requirements
- Structuring the requirements document
- Requirements components: text, diagrams, data
Structuring Your Project
Tuning your methodology to your project size
- Matching the process to size and complexity of projects
- Differentiating Agile from standard techniques
Analyzing stakeholder input
- Identifying and prioritizing stakeholders
- Eliciting initial requirements from input documents
- Iterating requirements collaboratively
Applying the requirements process
- The Unified Process
Capturing and Refining Use Cases
Writing user stories
- Scripting user stories and use cases
- Iteration and progressive elaboration of use cases
Creating structured use cases
- Use cases as behavioral requirements
- Identifying stakeholders and actors
- Naming and scoping use cases
- Writing scenarios: main and alternatives
- Adding preconditions and guarantees
Iterating use cases
- Refining use cases with stakeholders
- Factoring common steps
- Discovering extension scenarios
- Verifying use case completeness
Organizing use cases
- Diagramming scenarios with UML
- Choosing free text vs. formal use case notation
Generating Interface Requirements
Integrating interface requirements
- Supporting use cases with user interface mock-ups
- Comparing types of interface
Producing interface models
- Storyboarding and prototyping
- Modeling interfaces with UML state diagrams and navigation maps
Analyzing data requirements
- Exploring the use cases and the interface
- Determining data business rules
Creating a requirements data model
- Representing data models with UML class diagrams
- Adding associations' multiplicity
- Maintaining the glossary
Gathering nonfunctional requirements
- Obtaining volumetrics
- Classifying nonfunctional requirements using FURPS
Documenting nonfunctional requirements
- System reliability: Availability, Accuracy and Failures
- Addressing the "-ilities"
Validating Requirements and Producing Test Scenarios
Performing requirements validation
- Achieving well-formed requirements through validation
- Reviewing requirements with walkthroughs
- Verifying requirements with inspections
Generating use case tests from requirements
- Ensuring testability of requirements
- Extrapolating test scripts and scenarios from requirements
- Relating requirements to system and UA testing
Who Should AttendThose developing, leading, designing, testing or managing a requirements initiative for a software system. UML experience is not required.
Standard class hours:
9:00 a.m. - 4:30 p.m.
Last day class hours:
9:00 a.m. - 3:30 p.m.
Free optional course exam:
3:30 p.m. - 4:30 p.m.
Each class day:
Informal discussion with instructor about your projects or areas of special interest:
4:30 p.m. - 5:30 p.m.
These training hours apply to our Regular Start Time Course Events and not to our newly advertised Later Start Time Course Events, which have varied training hours. Please see your course confirmation for later training hours or call our customer services department at 1-888-THE-TREE (843-8733).
More Course Info
What is this course about?
Proper requirements gathering is the cornerstone to any software development project, helping to ensure that time, budget and product parameters are successfully met. In this course, you gain the foundation knowledge and skills needed to capture software requirements using clearly defined processes. You learn to specify user and system requirements, match the process to the size of your project, and extract system and user acceptance tests from the requirements model.
Who will benefit from this course?
This course is valuable for software professionals involved in the development of software and user requirements, such as software analysts, software developers, programmers, system architects, software testers and software development managers. Software project managers, team leaders and business analysts will also benefit.
What background do I need?
No previous experience in user and system requirements is needed for this course. Previous experience working with UML is also not required.
How does this course differ from Course 315?
Course 315, Developing User Requirements: The Key to Project Success, is designed to provide managers with an essential overall knowledge of user requirements.
Course 218 is intended to provide those actively involved in a project with the skills to implement requirements for software and software-based systems. Software developers, analysts, managers, programmers, and those applying requirements capturing techniques in a software development project, will benefit greatly from this course.
Does this course cover capturing requirements with use cases?
Yes. Most modern software requirements methodologies are driven by use cases. In this course, use cases are a major focus, both in the course content and in the interactive, hands-on exercises. You learn how to capture, structure and refine use cases, model user interfaces and data, and generate scenarios for test cases.
I am currently working on a small/large/agile software development project. Is this course right for me?
Absolutely! The user and system requirements taught in this course are applicable to all size software development projects. Coverage is provided to meet the unique needs of developing requirements in an agile environment.
Does the style of requirements capture used in this course apply to an object-oriented (OO) software design project?
Yes. Most modern software design techniques are object-oriented based, given the dominance of OO languages currently in use. The requirements models you generate during this course lead directly to an OO design process. The techniques used in this course are also suited for maintaining and managing change to existing systems.
Is this course endorsed by the IIBA®?
Yes. Learning Tree is an Endorsed Education Provider (EEPTM) by the International Institute of Business Analysis (IIBA®). This course has been approved by the IIBA® as supporting core concepts and knowledge outlined by IIBA®'s Business Analysis Body of Knowledge® (BABOK®). Completion of this course counts as 23 continuing development units (CDUs), which will assist you in qualifying for or maintaining the Certified Business Analysis ProfessionalTM (CBAP®) certification. For more information about CDUs and how to register them with the IIBA, please see the Learning Tree IIBA® EEPTM Q&A or http://www.theiiba.org.
Is this course applicable to a Project Management Professional (PMI) certification?
Yes. Although this course is not designed as preparation for the exam, it is beneficial to anyone working toward PMI's PMP certification. For those who are currently certified, completion of this course counts as 23 professional development units (60 units must be completed every three years to maintain certification). For more details, please see the Learning Tree PMI Registered Education Provider Q&A.
How much time is spent on each topic?
Content Hours The importance of software requirements 3.5 Structuring your project 2.0 Capturing and refining use cases 7.0 Generating interface requirements 2.0 Data and non-functional requirements 3.5 Validating requirements and producing test scenarios 3.0 Managing changing requirements 1.0 User requirements best practices 1.0
Times, including the workshops, are estimates; exact times may vary according to the needs of each class.
What type of exercises will I do in the course?
Approximately 60 percent is spent in activities. Hands-on and small-group, interactive activities include:
- Capturing stakeholder input from video scenarios that put you at the meeting table
- Modeling requirements with UML diagrams using a leading CASE tool
- Capturing, structuring and refining use cases in a realistic, simulated environment
- Developing screen mock-ups with an interface simulation
- Applying formal inspections to a use case document
- Producing a UML requirements data model
- Validating requirements using IEEE standard checklists
- Performing inspections on real-world use case documents
I'm attending this course from work using AnyWare - Learning Tree's web-based remote attendance platform. How will that impact what I learn?
You will participate fully in the course and acquire the same knowledge and skills as your classmates who participate in the classroom. You will have the same course materials, be able to easily communicate back and forth and ask questions of your instructors and peers, and you will control an in-classroom workstation dedicated entirely to you. Your instructor will be able to see exactly what you're doing and can interactively offer concrete help.
How does this course relate to other Learning Tree courses?
Those interested in furthering their knowledge and skills in the software/systems design and engineering should consider:
- 315, Developing User Requirements: The Key to Project Success introduces a comprehensive, process for the definition of organizational and user requirements.
- 447, Introduction to Modeling for Business Analysis provides the knowledge and skills a business analyst needs to effectively communicate business requirements.
- 316, Software Testing and Quality Assurance: Hands-On presents a thorough understanding of testing and inspection approaches.
- 424, Service-Oriented Architecture (SOA) Introduction: Hands-On offers a foundation in the concepts, modeling, design and implementation of SOA.
- 340, Project Management for Software Development offers the tools necessary to organize and select process choices, create plans, and manage an accomplished team through the development cycle.
- 211, Business Analysis Introduction: Defining Successful Projects
Many Learning Tree courses provide college credit and industry continuing education credits. You can also earn a Learning Tree Professional Certification in your area of expertise and prepare for popular industry certifications. See below for continuing professional development credits associated with this course.
This course qualifies for 2 semester hours of college credit as certified by the American Council on Education's College Credit Recommendation Service (ACE CREDIT). Read More... This course qualifies as a Core Course in our Job-Specific Professional Certification Program. Read More... This course is approved by the IIBA® for 23 continuing development units (CDUs). For more on the International Institute of Business Analysis and a full list of courses approved for CDUs. Read More... This course qualifies for 23 CPE credits from the National Association of State Boards of Accountancy CPE program. Read More... This course is approved by PMI® for 23 professional development units (PDUs). For more on the Project Management Institute and a full list of courses approved for PDUs. Read More...
4-Day Tuition New Attendee Returning Attendee Notes Commercial $2,810 $2,530
Click here for multi-course savings plans.
Tuition payment is not required at time of enrollment.
Government $2,499 $2,249
Tuition & Savings Plans
Take advantage of our Multi-Course Tuition Savings Plans. Learn more »
Enroll Today – Hassle Free!
Call 1-888-843-8733 or enroll online by selecting your date above.
- No advance payment required.
- No fees for cancellation or rescheduling, ever.
- Take up to 30 days after your course date to pay.
- Satisfaction guaranteed – or you pay no tuition.
You can bring this course on-site to your organization
Bring Learning Tree Training to your workplace with our On-Site Training Solution. Learn more »
"I thoroughly enjoyed the User Requirements for Software Development course. The instructor was dynamic, and I found that working in teams really helped me to master the skills we were learning."
– D. Favre