Modern software development methods enable first-rate software solutions but do not guarantee that these are achieved. Maximum benefits are gained only if the software is appropriately designed and the requirements well-understood. This course aims to provide a deep and practical understanding of best practice in modelling business systems. It is aimed at participants with an interest in using computer technology to achieve more effective and profitable business solutions. The course is principally intended for business analysts; but systems analysts, architects, designers, and project managers may benefit too.
Cost: Price on application
Duration: 2 Days
This course is not available as part of our public schedule but can be provided on a customised client specific basis.
People with an interest in using computer technology to achieve more effective and profitable business solutions. The course is principally intended for business analysts; but systems analysts, architects, designers, and project managers may benefit too.
• understand the basics of UML, business process modelling and requirements engineering;
• understand how to apply this knowledge as necessary when documenting requirements.
• gain enough competence in use case analysis and system specification to tackle a complex project;
• be able to produce UML/Use Case documents that can be understood by both business and technical teams.
• understand what major tasks are appropriate to developing business and software models; and get a high-level understanding of how the UML can be used throughout the software development lifecycle (SDL).
Introductions and course admin details
Why software projects often fail
Why requirements engineering is not the same as system specification
Classic text based requirements – pros and cons
What is UML?:
UML modelling basics (exercises throughout):
System and business use cases – benefits over other approaches
Class and type diagrams
Finding business rules
Where to put the rules
Sequence and collaboration diagrams – uses and pitfalls for business analysts
Instances, associations and stereotypes
Business states and business process models
Activity diagrams and BPMN – connexions between process models and use cases
Advanced use case modelling (1):
The key components of use cases (pre- and post-conditions)
Using snapshots to validate and discover use cases
The relationship between use cases and sequence diagrams – potential pifalls
What is the correct level of abstraction for use cases?
Exceptions, alternative workflows, etc. – various approaches; pros and cons
Advanced use case modelling (2):
Use case templates – various styles; pros and cons
Linking use cases together (referencing them) to demonstrate inter-linked system requirements – various approaches; pros and cons
Links between diagram types
Association types and business processes
Extracting type models from use case models and using them for model validation.
The modelling process
Use of UML by various different teams in the different parts of the software development lifecycle.
Exercise based on class experience
Things that UML doesn`t cover:
Establishing measurable business objectives
Cross-referencing objectives to use cases
Organizing and running workshops
Using the objectives and their priorities to manage the project
Patterns and pattern languages:
Focusing on the business:
Modelling very large enterprises: Mission Grids
Design modelling - Deciding on the sequence of interactions – using sequence or collaboration diagrams
Evolutionary, agile and rapid development processes:
Waterfalls and spirals
Agile methods: DSDM, Scrum, FDD, OPEN and XP
Creating a tailored process