uml training courses > integrated courses > system requirements definition & system analysis

System Requirements Definition and System Analysis using Use Cases and UML - Training Course - 3 Days Download a pdf version of this page
This UML training course is aimed at system analysts and developers who want to produce a detailed outside-in model of computer system requirements using use cases and a detailed object oriented implementation-free analysis model of a computer system from the system requirements. The strict approach to writing effective use cases ensures that the results satisfy the needs of both non-technical and technical stakeholders. Industry best practice system modelling techniques are based on the Unified Modelling Language v2.0 and are taught within the context of a model-driven development process. The models produced are sufficiently detailed to form the basis for the design of systems using a variety of different architectures. The advantages that using these techniques has for estimation, traceability, test development and project management is discussed. Each technique is taught to the level required for competence on a real project. Understanding is tested and improved with exercises based on a real-world project example and using a suitable case tool.
Delegates will learn:
  • The basics and the necessary detail of the Unified Modelling Language
  • The basics and the necessary detail of Object Orientation
  • How to create a first cut overview of functional requirements with actors and use cases on a use case diagram
  • How to write an effective use case description in a way that satisfies both non-technical and technical stakeholders
  • How to specify the flow of events as a basic flow and alternate flows
  • How to restructure the use case diagram to handle complex relationships between use cases without bloating the use case model
  • How to integrate the use case model with non-functional requirements, data requirements, business rules and screen prototyping
  • How a use case driven approach to requirements gathering improves estimation, project planning, test development and traceability
  • How to create a detailed model of system data using classes and their relationships
  • How to recognise complex data constructs and to use the appropriate syntax to model them
  • How to map the functionality of the system requirements onto the object model using sequence diagrams
  • How to structure the modelling in the form of a use case implementation
  • How to model the dynamics of system data and functionality using statecharts
  • How to model at a consistent level of abstraction
  • How the modelling performed during system analysis fits into an incremental model-driven development process
Suitable for:
Business Analysts, Requirements Gatherers, Project Managers, System Analysts, System Architects and Developers with at least 2 years experience. This course is not suitable for those seeking certification as a step towards a qualification. See UML Certification for a detailed discussion.
On-Site Courses:
Training courses are delivered at the clients' site and attendance is limited to 12 students. Courses normally start at 9.30am on the first day and 9.00am on subsequent days. Courses normally finish at 5.00pm each day. The client is expected to provide an appropriate venue, equipment and refreshments. Required equipment includes an SVGA/XGA projector and screen, whiteboard or flipchart and at least one computer per two students loaded with a UML case tool. For a discussion on case tool use please see Case Tool Use on Courses. Printed course manuals for each student with copies of all presentations, exercises and solutions are provided. For a full discussion of on-site course issues please see On-Site Course Logistics.
Scheduled Public Courses:
This course is available as scheduled public training at our London Training Centre. Please see the Scheduled Public Courses page for details.


Training Course Outline

Day 1

Introduction
People - Course Structure - Object Orientation - Unified Modelling Language - Origins of Use Cases - Why Use Use Cases? - What is the Analysis Model? - A Process for Modelling
Specifying Functional Requirements with Use Cases
System Use Cases and Actors - Primitive Use Cases and the Basic Course - Writing Effective Use Case Descriptions - Writing Sub-flows and Alternate Flows - 'Include' and 'Extend' Relationships - Modelling Browser-Based Applications
System Use Case Workshop
Gathering Requirements
Collecting Requirements Information - Mapping from the Business Model - Proof of Concept Prototypes - Requirements Documents - Estimating and Traceability - Incremental Development

Day 2

Gathering Requirements Workshop
Objects and Classes
What is an Object? - Classes and Objects - Attributes - Operations and Methods - Designing Good Classes - Choosing the Right Classes
Object and Class Workshop
Object Relationships
Associations and Links - Navigability and Naming - Multiplicity and Other Adornments - Association Classes and N-arys - Aggregation and Composition
Object Relationship Workshop

Day 3

Interaction Modelling
Interactions, Messages, Operations and Methods - Sequence Diagrams - Selection and Iteration - Activation - Collaboration Diagrams
Interaction Modelling Workshop
State Modelling
The Meaning of the State Model - States and Transitions - Events and Conditions - Actions and Activities - Consistency with Other Diagrams
State Modelling Workshop
System Analysis
Creating the Initial Object Model - Reverse Engineering a Data Model - The Analysis Cycle - Iterative Modelling - Prototyping as an Analysis Technique - Completing the Model
System Analysis Workshop