Use case modeling is a commonly used analysis technique which results in functional requirements and a framework for test case development. When the solution to a business problem or opportunity involves a software component, the solution team must determine how software will best support the business. A use case diagram clearly depicts the scope of the solution to be designed which can help set expectations for stakeholders as to the complexity and interactions with the system.
This class focuses on the business analysis work of defining functional, non-functional, and transition requirements which describe the solution and roll out needs. In addition to use case diagrams and descriptions, this course provides guidelines for developing system and user interfaces, a checklist for non-functional requirements, and strategies for developing an implementation plan. These are critical components in fully defining your solution requirements.
This course supports and expands on the techniques in the IIBA BABOK® Guide V2.0. Specific techniques for communicating the business requirements to the solution team, tracing each business requirement to the supporting solution component, assessing the solution applicability and planning for a smooth transition to the solution are explored in detail in this course.
Mentor-led workshops require students to practice the techniques as they learn. Students are encouraged to bring their own projects to class.
In this course students will learn to:
- Use business requirements to identify, evaluate and present alternative design solutions which meet customer needs.
- Prioritize requirements for inclusion in the software development phase using plan-driven (traditional) and change-driven (iterative and agile) techniques.
- Elicit, analyze, and communicate functional requirements that specify how users will interact with the software and how the software will respond.
- Create a use case diagram to clarify solution scope.
- Deliver consistent, detailed use case descriptions.
- Incorporate usability principals when developing prototypes.
- Determine the impact of interfaces and develop interface requirements.
- Identify non-functional requirements appropriate for each project.
- Learn to assess organizational readiness and build a transition or rollout plan to smooth the implementation of new software for the business.
- Define solution and transition requirements.
- Review requirements categories and classifications.
- Discuss the differences between business and functional requirements.
- Discuss requirements implications based on the type of solution being developed (COTS, in house development, maintenance, BI).
- Learn about the software development approaches used by the team (change driven vs. plan driven) as it relates to solution requirements.
Determine the Solution Scope
- Define the solution scope model. Use approved business requirements to define a solution and allocate the solution components to each requirement (traceability).
- Learn a five-step approach to bringing the business domain stakeholders and implementation stakeholders to consensus about the definition of the solution scope:
- Determine the functionality desired.
- Elicit the business priority of each function.
- Assess technical priority and estimated cost of the desired functionality.
- Break project into phases or iterations.
- Obtain approval.
- Create a scope model using a use case diagram:
- Define actors involved with the application.
- Identify actor interactions.
- Determine use cases within each phase or iteration.
Defining Functional Requirements
- Learn to identify use cases.
- Outline each use case for a high-level understanding of broad behavior.
- Identify primary path, alternate path, and exception paths.
- Decompose large use cases into smaller sub-sets, identifying reusable use cases where possible.
- Learn how and where to document system user messages.
- Learn to create detailed use case descriptions.
Designing User Interfaces
- Learn to identify where prototypes are necessary.
- Create and document prototypes.
- Learn to document report requirements, including ad-hoc and predefined. Learn the definition of business intelligence.
- Learn to document field edits and screen functionality.
- Incorporate usability principals into user interfaces.
Analyze Interface Requirements
- Identify required interfaces based on the phase/iteration plan.
- Understand the most effective interface strategy for each design solution.
- Write interface requirements for each interface.
Identify Non-Functional Requirements
- Identify requirements not previously addressed by business, functional, or technical requirement categories:
- Performance requirements
- Security requirements
- Quality requirements
- Consider which non-functional requirement types are important for your project.
- Discuss the business analyst role in the development of these requirements.
Develop Transition Requirements
- Identify requirements for a smooth rollout of the solution to the business
- Consider scheduling and timing issues
- Determine the timing of interface transition and data conversion
- Consider parallel operations vs. cutover
- Develop an implementation plan
Develop Action Plan/Course Summary Workshop
- Review Business Analysis tasks and skills learned.
- Workshop: What would you do? Determine analysis approach based on case study.
- Develop an Action Plan with next steps on the student's current project.