Primary Modelling
Objective: develop a familiarity with the skills necessary to produce unambiguous business requirements.
Module 3 Duration: 2 days
Note: working on a live project, this module may be extended and supported through distance peer review.
Target audience: business analysts, software designers, optionally project managers. Note: the SRO or someone playing that role for the exercise is required at the end of the session. This is to allow the delegates to describe their models and how they reflect the business.
A business specification is about representing the business problem. It is not about solutions, technologies, constraints, commercial considerations, transaction volumes, conformity to corporate architecture, GUI/look and feel or usability. These are important considerations that come later.
The business specification is concerned with the users (actors), the business objects, and the end-to-end process.
The primary artefacts in PrinceLite are the project brief, the project initiation document, and the business requirements specification. In PrinceLite these artefacts are all related.
Actor map
Introduce the ‘usual suspects’. The usual suspects is a pattern that suggests actors that normally have a realisation in a system. The usual suspects pattern includes the system administrator, the senior manager (who is interested in management reporting), the clerk, the senior clerk, and the customer.
How are actor roles distinct?
- by seniority
- by competence
This starts to suggest the notion of essential workflow.
Person A records a job, Person A allocates a job to Person B. Person B does a job and records an outcome. Person C verifies the job. Person D authorises the job to be invoiced to the customer.
What actors are interesting, but don’t actually use the system.
What are the internal secondary systems?
What are the 3rd party secondary systems?
We are trying to capture the interaction between our system under consideration and the environment of systems in which it will exist.
End to end activity modelling
The business has a number of core processes that start with a trigger (customer orders a product) and which has a natural conclusion (item is delivered to customer). This is an end-to-end process. The end-to-end model is a cornerstone of the specification that includes business objects (such as actors) interacting in the satisfaction of the process that includes both manual and automated tasks.
This model serves to:
- Anchor the development through a visual representation of inter-relatedness of objects and process.
- Illustrates both the ‘as is’ and the ‘to be’ process
- Demonstrates the current degree of automation in the ‘as is’ process
- Demonstrates the future degree of automation in the ‘to be’ process
- Illustrates new processes
- Allows ‘drill down’ (elaboration) of the model to expose the necessary level of detail.
Considering business objects
A business object is a ‘thing’ (a noun) that participates in a business process. A business object model is similar to a database schema with relations. PrinceLite uses another pattern to help with the production of the business object model called the ‘minimal representation’. Minimal representation allows the analyst to construct a logical model (a logical model of data) that is sufficient (the smallest possible) to support an information system.
Minimal representation is based on traditional relational database design principles and follows Abbot in his analysis of language.
Essentially the technique calls for the identification, rationalisation, and combination of nouns according to set principles. We use noun analysis. We then rationalise the candidate noun set.
Primary use case model
A use case model is a UML model that represents business requirements. To create the primary use case model we introduce a pattern called ‘New, Search, Modify’ (NSM), which is based on CRUD (Create, Read, Update, Delete). We apply NSM to the minimal business object model. As a shorthand we understand that we may substitute the three individual use cases New object A, Modify object A, and Search objects A, with the aggregate use case Manage object A.
Questions/tasks
- Identify the human actors
- Identify the system actors
- From a textural description develop a minimal business object model
- Identify the primary end to end process and produce an end-to-end process model
- Identify the transacted object and construct a state model
- Develop the business rules that accompany the state model
- Produce a primary use case model
Optionally – where the training is extended
- Produce an elaborated use case model
- Write the high level use case text for the elaborated use case model
- Produce an activity model for each use case
- Review the use case model in comparison with the activity model to identify differences
