Description:
Use case technique is by far the most widely used approach in capturing functional requirements of software systems. Use cases are effective, sufficiently detailed and clearly describes how software systems are used.
Unfortunately, many write use cases without a clear understanding of how they are used. This leads to diverse styles and structures leading to confusion or inferior requirements management.
This comprehensive 2 day training teaches you everything that you should know about writing use cases in the most effective manner. Hence the use cases you write will be more expressive, focused, clearer, highly usable and effective during different stages of software development including estimation, designing, development, testing and verification.
Training Objectives:
At the end of the training, participants will be able to
- Write highly usable and effective use cases.
- Describe the use case technique as a requirements capturing mechanism.
- Use different styles of use cases to suit different contexts.
- Use well developed use case templates.
- Write use cases at a consistent level and re-organize multi-level uses cases.
- Draw UML use case diagrams.
- Identify system functionality reuse cases.
- Properly work with use case inclusion, extension and generalization mechanisms.
- Describe and practice the use case development process.
- Include relevant non-functional requirements with use cases.
Target Groups:
- Software development professionals working with requirements (Software Engineers, Senior Engineers, Tech Leads, Business Analysts, Project Managers, Architects)
- Enterprise Architects
- Project management professionals and consultants
- IT governance and assurance professionals
- IT managers involved in software development projects
Prerequisites:
- You should be familiar with software development process to some extent. You need not have thorough knowledge.
Communication Language:
English
Duration:
2 full days (~16 Hours).
Facilitator:
Kamal Wickramanayake (Profile)
Notes:
- Exercises include participants developing use cases and refining in multiple stages to improve them while applying new learnings.
Training Content:
-
Requirements Of Software Systems
- Types of requirements
- Different requirements capturing techniques
- Requirements communication
- How requirements are used during software development cycle?
-
Use Cases As A Requirements Capturing Technique
- History of cse case technique
- Defining a use case
- Use case model
- Characteristics of use cases
- Benefits of use cases
- Who should write use cases?
-
Styles Of Use Cases
- Different dimensions that leads to style variations
- Degree of detail in use cases
- Business and system use cases
- Level of a use case (details found in another section)
-
Use Case Templates
- Good use case templates
- Filling use case templates correctly
-
Detailing Use Cases
- Defining system boundary
- Identifying primary and secondary actors
- Goal of a use case
- Triggers
- Pre-conditions and post conditions
- Main and alternative flows
- Inclusion of other aspects
-
Level Of A Use Case
- Meaning of level
- Determining the correct level
- Writing use cases at a consistent level
- Re-organizing multi-level use cases
-
Use Case Diagrams
- Purpose of use case diagrams
- UML notations
- Drawing use case diagrams
-
Organizing Use Cases
- Finding functionality reuse cases
- Inclusion of use cases
- Extending use cases
- Generalization of use cases
- Incorporating inclusions, extensions and generalizations in to use case diagrams
-
Estimating With Use Cases
- Use Case Points technique
- Improving use case writing style to better estimate development effort
-
Use Cases Development Process
- Use case elicitation workshops
- Validating use cases
- Reviewing use cases
- Iterative enhancement of use cases
-
Non-Functional Requirements
- Classifying non-functional requirements
- Inclusion of non-functional requirements with use cases