Description:
The use case technique is a widely used approach in capturing the functional requirements of software systems. Use cases provide an effective, sufficiently detailed and clear way to describe how software systems are used.
By investigating how the use cases are used at different stages of software development, it is possible to write them in ways that support those activities in better ways. Such written use cases streamline and drive the software development process resulting improved efficiency.
This comprehensive training teaches you how to write effective use cases. The use cases you write with that knowledge will be expressive, focused, clear, highly usable and effective during the different stages of software development including estimation, design, 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 in the use cases.
Target Groups:
- Software development professionals working with requirements (Business Analysts, Software Engineers, Tech Leads, Project Managers, Architects)
- Enterprise Architects
- Project management professionals and consultants
- IT governance and assurance professionals
- IT managers involved in software development projects
Prerequisites:
- General familiarity with the software development process. No thorough knowledge is expected.
Communication Language:
English
Duration:
2 Days (~16 Hours)
Training Fee:
Rs. 10000/= (LKR) per participant when the training is publicly scheduled by us.
Visit this page for the fee if this training is scheduled on special request.
Facilitator:
Kamal Wickramanayake (Profile)
Notes:
- Exercises include participants developing use cases and refining in multiple stages to improve them while applying the new learnings.
Training Content:
- Requirements Of Software Systems
- Types of requirements
- Different requirements capturing techniques
- Requirements communication
- How requirements are used during the software development cycle?
- Use Cases As A Requirements Capturing Technique
- History of the use 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 the use case writing style to better estimate the 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 in the use cases