Requirements Analysis:: Modelling Concepts & Package Diagrams
Requirements Analysis:: Modelling Concepts & Package Diagrams
Analysis:
Modelling Concepts & Package
Diagrams
D. Maureen Tanner
In This Lecture You Will Learn:
What is a model
Why we use models
The origins of the Unified Modelling Language
The purpose of the various UML diagrams
The Role and notation of the Package diagram
2
What is a Model
A model represents something else it is an abstraction of a
real life artifact
Road map
Architect Plan
Designer Blueprint
We can model
Buildings, Vehicles, Organisations, Computer Systems
We can model different views of the artifact 3
Different Views of a Building
And many more..
Site Plan
Roof plan
Engineering Plan
Landscaping
Networking
Climate control
Floor Plan Scale Models In different
levels of detail..
Sketch plan
Final Drawings
Approved plans
Building Plans
6
Types of UML Diagrams
Structural Behavioural
Diagrams Diagrams
Focus on static aspects of Focus on Dynamic aspects
the system of the system
Examples:
Examples: Use Case Narratives,
Use Case, Class, Object Interaction (Sequence,
Component, and Communication), State
Deployment Diagrams Machine, Activity diagrams
8
Developing models
The models that we produce during the development of a
system change as the project progresses.
Dimensions through which they change:
Abstraction
Formality
Level of Detail
9
Developing models
Iteration 1
Obvious use cases
Simple use case description
Iteration 2
Additional use cases
Simple use case description
Prototypes
Iteration 3
Structured use cases 10
Structured use case description
Prototypes
Development Process the Big
4
11
Summary of UML
You can use UML at three levels (Fowler)
Sketch
Blueprint
Programming Language
Need to learn to walk before you can run
UML is not perfect or complete:
Never need all of it 20% of UML helps you do 80% of your work
Never need only it
UML 2.0 specification
Focus on real-time modeling and MDA
Little impact on visual modelers
12
The Package
Diagram
Defining Systems Scope
Scope - the extent of the system under investigation
Important that all stakeholders are clear on what is going to be
done, what is included inside the boundary, what will be
provided in the solution
Scope Creep the unexpected growth of user expectations and
information requirements for an information system as the project
progresses
Adaptive approach to scope and scope creep
Scoping tools:
Context Diagram powerful tool in modeling a systems interaction
with its environment
Package Diagram (UML) provides a hierarchical representation of
various subsystems and dependencies
14
Context diagram
How a Context diagram depicts scope:
Shows the system as a single process box
Identifies people, systems and organisations that interact with the
system (external agents)
Defines all key business events to which the system must react
Defines key systems outputs
Assists analyst by documenting the overall service provided by the
system, determining what business events need to be addressed (in
scope), and those that will not be included in the project (out of
scope)
15
Cape Town Videos
The following is a description of the subsystem at CTV:
In the front of shop, the main business activity is the reservation,
rental and return of videos. Customers apply for membership at one of
the branches and provide their family details. They can also purchase
contracts which will provide them with a pool of points to use in
making rentals.
Branch managers are responsible for selecting new videos and
capturing the detail into the inventory system
Most staff members are temporary and the manager arranges staff
shifts for each month. Hours worked are entered into a payroll system
responsible for generating weekly staff wages and the managers
monthly salary. All income and expenses are fed into an accounting
package to produce the financial statements.
The Franchise has a head-office that provides certain group functions
such as marketing and group accounting. 16
Cape Town Videos Context
Diagram Management
Application
Member
Customer Contract Details Rental
Payment
Financial
Return
Statements
Invoice
Video
Catalogue
Receipt
Transfers Video
Personal Details Cape Town Transfers Franchise
Purchase Order
Employee
Shift Hours Videos Payment
Payslip CC Details
Authorisation
Invoice
Head Summary Video
CC Bureau Statement
17
Office General
Ledger
Supplier
Cape Town Videos Context
Diagram Management
Application
Member
Customer Contract Details Rental
Payment
Financial
Return
Statements
Invoice
Video
Catalogue
Receipt
Rental Subsystem Transfers Video
Personal Details Cust. Maint. Transfers Franchise
Subsystem Purchase Order
Shift Hours
Employee Inventory Payment
Subsystem
Payslip CC Details
Authorisation
Invoice
Head Summary Video
CC Bureau Statement
18
Office General
Ledger
Supplier
Package Diagrams
A diagram that takes any UML constructs (classes, use cases) and
groups them together in higher level units with dependencies.
Package diagrams are useful early on in the project to document
major sub systems and their dependencies
This information is useful in scoping the project and determining
the sequence of development
Package Diagram Systems and Dependencies
20
Used to scope and plan the
overall structure and
sequence of development.
Package Diagram Notation
21
Packages are shown as tabbed folders
Subordinate packages can be nested
Dependencies are shown by dashed lines with
open arrow heads
If the dotted arrow points from A to B, read as
A depends on B
Package Diagram
Packages are shown as
tabbed folders
Name can be on tab or in
package
Subordinate packages can be
nested
Dependencies are shown by
dashed lines with open arrow
heads
If the arrow points from A to
B, read as A depends on
(uses) B
Package Diagram
Customer Support Subsystems / Dependencies
23
Package Diagram
24
Package Diagram
Your use cases could be regrouped in the following packages
25
Video Shop Subsystems and
dependencies
Front of Shop
Customer
Rental
Maintenance
Inventory
Revealing Systems Functionality
Sometimes seeing just the subsystems and dependencies is enough to
understand the overall structure and purpose of an information system
However the analyst can reveal the inner workings of a subsystem by
adding some of the important functionality as short bullets (or even
use cases)
The example below reveals the key functionality of the order entry
system. These items tend to be a survey of the important features of
27
the subsystem rather than an attempt to define all its inner workings
(which at this time are not entirely known)
Customer Support Business Use Case Diagram
28
Package Diagram: Erica Hotels
Revealing Systems Functionality
Sometimes seeing just the
subsystems and dependencies is
enough to understand the overall
structure and purpose of an
information system
However the analyst can reveal the
inner workings of a subsystem by
adding some of the important
functionality as short bullets (or
even use cases)
These items tend to be a survey of
the important features of the
subsystem rather than an attempt to
define all its inner workings (which
at this time are not entirely known)
Cape Town Videos
The following is a description of the subsystems at CTV:
In the front of shop, the main business activity is the reservation, rental and
return of videos.
Customers apply for membership at one of the branches and provide their
family details. They can also purchase contracts which will provide them
with a pool of points to use in making rentals.
Branch managers are responsible for selecting new videos and capturing
the detail into the inventory system.
Most staff members are temporary and the manager arranges staff shifts
for each month. Hours worked are entered into a payroll system
responsible for generating weekly staff wages and the managers monthly
salary. All income and expenses are fed into an accounting package to
produce the financial statements.
The Franchise has a Head Office that provides certain group functions such
as marketing and group accounting.
Exercise: Draw a package diagram of the Cape Town Videos Systems
showing all major subsystems and dependencies together with key
functionality
Package Diagram: Cape Town Videos
Summary in this session we:
Reviewed steps performed during the Inception Phase of the
systems development Life Cycle
Reviewed the artifact contained in a typical Business Case
Understood the importance of defining systems scope and the role
of the context diagram
Used a UML package diagram to depict software architecture and
dependencies
33
Class Exercise
Refer to the Cape Air Case Study
Draw a package diagram to depict the hierarchy and
dependencies of the systems described in the Cape Air case
study.
34