1.0 Introducing Systems Modeling

advertisement
ICT Standards and Guidelines
Segment 202
Software Applications
Modeling Systems Using the
UML
(Version 2.0)
Table of Contents – Modeling Systems Using the UML
1.0
2.0
3.0
4.0
Introducing Systems Modeling ................................................................. 1
1.1
The Construction Industry as a Role Model ........................................... 1
1.2
Clarifying the Terminology .................................................................. 2
1.2.1 What is a Modeling Language? .................................................. 2
1.2.2 What are Methods?.................................................................. 2
1.2.3 What is Methodology? .............................................................. 3
1.3
Why Should we Model Business Systems or Processes? .......................... 3
1.4
A Brief History of Modeling ................................................................. 3
1.5
What are the Main Uses of a Business Modeling Language? .................... 4
1.5.1 Reverse Engineering ................................................................ 4
1.5.2 Improving the Organization’s Business Processes ........................ 5
1.5.3 Designing Information Systems ................................................ 5
1.6
Examples of Business Modeling “Output” .............................................. 5
1.7
How Does the UML Achieve the Above Aims? ........................................ 5
1.8
Design Characteristics of the UML ....................................................... 6
1.9
The Applications of the UML ................................................................ 8
1.10 The Different Perspectives or Views of the UML ..................................... 9
The Diagrams of the UML ....................................................................... 10
2.1
Why Use Use Cases ......................................................................... 11
2.2
The Use Case Diagram ..................................................................... 11
2.2.1 What Are the Components of a Use Case Model? ....................... 12
2.2.2 Example: Description of an ATM Withdraw Cash Use Case .......... 16
2.2.3 Example: The Log In Use Case for the ATM .............................. 17
2.3
The Class Diagram: Business Objects ................................................ 18
2.3.1 The Notation of the Class Diagram .......................................... 19
2.3.2 Examples of Class Diagrams ................................................... 20
2.4
The Sequence Diagram (Applies to Use Cases) .................................... 23
2.5
The Collaboration Diagram (Applies to Use Cases) ............................... 27
2.6
The State Transition Diagram (Applies to Objects) ............................... 27
2.7
The Activity Diagram (Applies to Use Cases and to Objects) ................. 29
2.8
The Implementation Diagrams .......................................................... 34
2.8.1 The Component Diagram ........................................................ 34
2.8.2 The Deployment Diagram ....................................................... 34
How to Use the UML in a Typical Software Engineering Process ............. 35
3.1
Using the UML in the Segment .......................................................... 35
3.2
The Cycle of Analysis and Design ...................................................... 36
3.3
Initiation Phase: Modeling the AS IS or Current System Model .............. 36
3.4
Initiation Phase: Identifying the Status of the Business Processes ......... 36
3.5
Initiation Phase: Modeling the Analysis of Requirements ...................... 37
3.6
Initiation Phase: System Deployment ................................................ 37
3.7
Planning Phase: Modeling the AS IS or Current System Model............... 38
3.7.1 Developing the Use Case Diagram (System Functions): ............. 38
3.7.2 Developing the Class Diagram (Business Objects): .................... 39
3.7.3 Additional Diagrams .............................................................. 39
3.7.4 Implementation Diagrams ...................................................... 40
3.8
Planning Phase: Modeling the Functional Design .................................. 40
3.9
Planning Phase: Modeling the Technical Design ................................... 41
3.10 Planning Phase: Finalizing the Implementation Diagrams ..................... 43
3.11 Building and Transition Phases .......................................................... 43
Template for Use Case Description ......................................................... 44
5.0
Where to Learn and How to Use the UML? .............................................. 45
Figures – Modeling Systems Using the UML
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
1: The Diagrams of the UML .......................................................................
2: Use Case Diagram for an ATM .................................................................
3: Using Extends in a Use Case Diagram ......................................................
4: Using Generalization in Use Case Diagrams...............................................
5:The Class Diagram for Orders ..................................................................
6: The Class Diagram for Consulting Activities ...............................................
7: The Class Diagram for a School ...............................................................
10: The Sequence Diagram for Adding a New Customer .................................
11: The State Diagram for Placing Orders .....................................................
12: Activity Diagram For Orders (Showing Objects) .......................................
13: Activity Diagram to Model a Method .......................................................
14: Activity Diagram Showing Swimlanes by Object .......................................
10
13
14
15
20
21
22
26
28
31
32
33
1.0
Introducing Systems Modeling
The main purpose of Modeling is to use a graphic/textual or diagrammatic language to
express or document the workings of business systems and processes. Such
documentation can be used to:







Produce procedures manuals
Develop training material
Analyze systems and processes when attempting to improve them
Analyze systems or processes that are to be automated
Design workflows
Audit systems and procedures
Investigate troublesome areas in operations
Most of the above uses are of major importance to Software Engineering Processes. This
includes the cases where an organization may acquire the software application off the
shelf as well as when that application is to be developed, internally or externally.
1.1
The Construction Industry as a Role Model
Every business organization has the right to envy the Construction Industry which is
very old. Throughout its 5000 years of experience, it developed a Modeling technique
that resolved all its communications problems.
Architects and Engineers use a highly sophisticated modeling language (Technical
Drawing) that expresses exactly how their new products are going to be built. On
building the new Bridge or Power Station, engineers can document the product, modify it
and update it. The basis of communication is the Technical Drawing, a language that has
become an international industry standard. With this language, the customer, the
developer (Architect), the builder (Contractor), the supplier and all stakeholders have a
detailed and precise understanding of the final product. Furthermore, the Architect using
the language, has a design tool in his hands that allows him to convert the requirements
to a final technical design.
The Business World is very much behind. Up until the early 80’s, no significant language
was found that could model a business process. Primitive flowcharts described workflow
but were very far from useful because:







The flowcharts could not be used to build or rebuild a business process or system
There was no international standard to use
The flowcharts did not cover the whole process or business and where always
short of the full description
The flowcharts were complex and could not be easily visualized
The flowcharts were too technical. Users could not understand them
The modeling techniques did not reflect the way the business “thought”
Modeling techniques, such as Data Flow Diagrams, reflected the way computers
worked and not the way users saw their systems and processes.
This can lead to various disputes and misunderstandings.
Modeling Business Systems Using the UML
Page 1
1.2
Clarifying the Terminology
There are many modeling techniques that use the terms Language, Method and
Methodology. There are major differences between these three terms and these should
be clarified before introducing Business Modeling.
1.2.1 What is a Modeling Language?
A Language describes a Business System. It is used to communicate the Business
System’s processes to the various stakeholders. Many languages can model the same
system. A Language is therefore a means of expression and does not contribute to the
way a business system or process works. It just describes them.
Examples of languages:



The construction sector uses technical drawings to define buildings and other
constructs
The electronics industry has a special language to describe electronic circuitry.
Using a circuit diagram allows the engineers to define the way an amplifier works.
The Unified Modeling Language (UML) to be described in later sections is a
language used to express how a business or technical system works.
1.2.2 What are Methods?
Methods are the techniques used to take a System from one stage to the next. An
architect produces a Drawing. The Drawing Standard is the Language he uses to
communicate his designs. An architect designs a building by placing rooms together in a
usable / pleasing way and making sure that the building follows engineering standards to
be safe. How the architect designs the buildings is the engineering method. That is a
technique. A method achieves a conversion. It takes a concept from one state to
another.
Examples of methods:





An architect uses civil engineering principles to design a building. These principles
are made up of various engineering methods.
An electronic engineer uses the principles of physics and electronics to design a
mobile telephone. When designing such equipment, he uses engineering
methods.
A Software Application designer uses a specific method to convert user
Requirements to a Functional Design. The designer will also use other methods to
convert the Functional Design to a Technical Design. Such methods as database
design, interface design, etc, are all technical methods to be used when
converting the required concepts to a final software product.
A Programmer uses a method to convert the Technical Specifications to
Executable Code. This method is made up of programming principles and
techniques.
A financial analyst uses Activity Based Costing as a method of assessing the costs
of individual activities in an organization.
In software applications, how we go from requirement to code is made up of a set of
methods. We need a language to communicate our interim thoughts and ideas.
Modeling Business Systems Using the UML
Page 2
Each one of these is a “Technology” or an “Engineering”. These technicians need a
language to describe their systems.
1.2.3 What is Methodology?
Having identified a method, we need to describe to others. The description of the
method is called a Methodology. Methodology is therefore a statement telling the
stakeholders “How we plan to work” or “how or methods will be used”.
Example:
Language: we use the Entity Relationship Diagram to describe our database Structure.
The ERD diagram is a language and results in a map showing all tables, their data
elements and their relationships.
Method: we use the principles of Relational Database Management to design such
databases (Codd’s rules on normalization, etc)
Methodology: to explain to a reader what Language and Method we are using.
1.3
Why Should we Model Business Systems or Processes?
We resort to modeling business systems and processes for the following reasons:








1.4
To understand and document existing systems
To design and build new systems and procedures
To communicate more effectively with: customers, users, contractors, owners and
all other stakeholders
To concentrate on separate views of a system
Because we cannot understand complex systems in their entirety
Because modeling is cheaper, faster and more flexible than real life
implementation
To reuse components of the model in other systems
Because the Mind can visual objects more easily than text
A Brief History of Modeling
In the early 80’s, the experiences and objectives of 3 major technologies converged:



Business Organization and Improvements techniques
Software Engineering Process Methodologies and
Object Oriented Programming
Towards the beginning of the 90’s, the major methodologists in these areas found
themselves getting very close to each other.
They were all in search of methods that can make their work efficient, standardized and
easy to learn. Many methods were developed and tried. Competitive standards arose
each espoused by different industries and different cliques.
Modeling Business Systems Using the UML
Page 3
By the mid 80’s, the Object Management Group, a body that is concerned with the
development of standards in the ICT industry, issued a Request for Proposal for a
universal modeling language.
In a major and positive development, various competitors joined hands and started
working together. The result was the Unified Modeling Language or the UML which
was officially accepted by the Object Management Group towards the end of 1997.
The UML is therefore not a new “craze” but the product of years of cooperation,
experience, consensus and maturity.
This language became the basis of Business Modeling. The UML itself is not a method. It
is just a means of expressing the processes in a business system. It is a way of
expressing or modeling systems without any imposition being made on the way these
systems are designed or developed.
It can be seen that the UML was a product of:




Consensus
Cooperation
Experience and
Maturity
Today, the UML is being used in ICT applications, other business systems as well as
technical environments (Design of technical equipment such as mobile phones, ATMs,
etc).
1.5
What are the Main Uses of a Business Modeling Language?
A “Business System” or a “Business Process” is a set of procedures that covers a global
objective within an organization. Examples of processes or business systems:





The Leave Planning and Control System is a process.
Purchasing from the time a material request is placed until the time that the
goods arrive at the stores is another business system or process.
Requesting a loan is a process
The Human Resources Information System is a business system
The billing of power bills is a business system.
An organization can model its Business Systems and Processes for 3 main purposes:
1.5.1 Reverse Engineering
This is the documentation of the current situation of a Business System or its As Is
status. From such a base line, an enterprise can document is processes and business
flow. These models will have the following objectives:





To
To
To
To
To
provide an official document that presents how the business operates
allow analysts to understand the systems and how they operate
train new staff or refresh existing staff on the procedures
familiarize outsiders with the system (Auditors, Software experts, etc)
use the As Is models to modify the systems and improve them
Modeling Business Systems Using the UML
Page 4

To use the As Is models as the basis for automating the processes
Reverse Engineering becomes the first step in the “Communications” process expressing
the Business System or Process in clear models.
Note that Reverse Engineering can be used to document a system for the purpose of
providing Procedure Manuals.
1.5.2 Improving the Organization’s Business Processes
Having modeled the As Is situation, the models provide a natural way of viewing the
enterprise, a way which identifies the key or core processes in the business domains of
interest. The management can then decide on how to improve such processes,
redesigning them or designing new processes from scratch. Such methods as Total
Quality Management, Business Process Reengineering, Activity Based Costing,
the Balanced Scorecard measurement scheme, etc, require the use of clear and valid
models before they can be used effectively.
1.5.3 Designing Information Systems
Again, Business Modeling techniques can be used to capture users’ requirements, going
through analysis, design and development.
When designing a system, models are required to view the As Is processes and to
convert them into the To Be processes. The design method in use for the particular
system will require a language to express all interim documents and diagrams.
1.6
Examples of Business Modeling “Output”
Business Modeling can be used to produce the following:








Procedure Manuals
Requirements Analysis documents
Models of AS IS systems: the way the system is today
Models of the TO BE systems: the way the systems will operate when improved,
modified or updated
Help Files and System Documentation
Training Manuals
Systems Design documents
Systems Testing documents
Many other requirements can be answered using Business Modeling. For the purposes of
Software Applications, most of the above are required.
1.7
How Does the UML Achieve the Above Aims?
In the past, business modelers resorted to such inefficient modeling techniques as
workflow charts and data flow diagrams. Both these techniques suffered from major
deficiencies:
Modeling Business Systems Using the UML
Page 5




They “thought” the way computers think: control and data
They did not think the way the user things: functions and business objects
They did not have practical limits. This resulted in many cases in wall covered
flowcharts that few people could visualize or use.
There was no limitation on the kind of icons to be included in the charts: data,
files, employees, machines, business rules, decisions, objects, etc.
The main shift in the thinking that the UML introduced is to rely on viewing the business
from two perspectives:
Business Objects: the user thinks of his or her Business Systems or Processes in terms
of the objects within them. So, UML modeling relies heavily on identifying all Business
Objects. Clearly understanding what the business objects are and how they behave is a
major step towards proper communications. Each Business Object will have a particular
behavior: things that can happen to it and that describe its behavior. Each Business
Objects will also have properties or data that describe it.
Use Cases: a Use Case is a new term defining an older concept. Any function that a
Business System can execute for an outsider is a Use Case. They describe in very clear
terms the way this outsider “Uses” the system. Use Cases focus on specific functions and
they express these functions in terms of what happens to the related Business Objects.
Examples: in a private bank’s reception area, the use cases are:









Deposit cash or checks
Withdraw cash
Request bankers checks
Request statements
Open new accounts
Close accounts
Receive transfers
Issue transfers
Request special services such as automatic bill payments
The Business Objects are cash, checks, transfers, customer accounts, managers, clerks,
forms, statements, transactions, accounting summaries, etc.
The above two UML concepts are intertwined. They represent a natural way of viewing a
system. It is the way a user sees it and can easily verify it.
1.8
Design Characteristics of the UML
The UML was designed with the following characteristics in mind:







To provide users with a Modeling Language that was simple to learn
To provide users with a Modeling Language that was ready to use
To ensure that non-technical users can review and analyze the models without
training
To have diagrams and models that are restricted in scope so that analysts are not
tempted to prepare wall paper sized charts. All models fit on A4 sized paper.
To use visually expressive and meaningful icons
To be able to model a variety of Business / Software / Technical systems
To be based on Objects / Use Cases
Modeling Business Systems Using the UML
Page 6









To have an internal architecture so that each diagram can view a different aspect
of the Business System
To be a Language and Not a Method
To be used by Business improvement systems
To be independent of Particular Business Improvement Methods
To be independent of Particular Programming Languages
To be independent of Particular Development Methods
To be able of defining extensions to the Language in the case of very specific
usage
To be able to use the language in a traceable manner, ie, start with Use Cases
and Business Objects and stay with them throughout the modeling process.
In the case of software development, to be able to model Frameworks, Patterns
and Components.
The UML has successfully met the above aims and is fast becoming an international
standard.
Modeling Business Systems Using the UML
Page 7
1.9
The Applications of the UML
The UML is used in several areas of modeling:
1.
Modeling business processes and systems: these can be modeled in several
states:
Step 1: an AS IS model is setup and verified
Step 2: the business process designers use the models to re-engineer the
processes or simply improve them.
Step 3: the models are then used as the basis for implementing the newly
designed processes or systems.
Step 4: the models are used to continuously monitor and control the ongoing
operations of the processes and systems.
2.
Modeling for Software Development: the UML models the initial system and
processes and proceeds to apply the Software Engineering Process onto the
models in the following manner:
Step 1: an AS IS model is setup and verified (Requirements Analysis). This has
the same objective as Step 1 above.
Step 2: Business Analysis is applied on the model to improve the processes and
to arrive at different requirements. This has the same objective as Step 2
above.
Step 3: The designers produce a Technical Design by using the UML diagrams.
These become the functional specification itself.
Step 4: The designers produce a Technical Design by using the UML diagrams.
These become the technical specification itself.
Step 5: Developers use the Technical Design to develop the various units in the
system.
Step 6: Testers use the Use Cases of the UML to complete the testing cycles.
Step 7: Trainers use the Use Cases for training.
Step 8: Documentation Units use the Use Cases to complete the documentation
of the systems and processes.
As can be seen, there is “traceability” in the above process through the use the
UML diagrams.
3.
Modeling Technical Systems: this is beyond the scope of this segment. The
UML is used to model engineering products such as electromechanical or
electronic equipment.
4.
Procedure Manuals: the UML is used to setup a procedure manual by the
detailed modeling of the AS IS system or process.
As can be seen, this segment will use the UML in the second
Modeling Business Systems Using the UML
Page 8
1.10
The Different Perspectives or Views of the UML
The UML is a visual modeling language that expresses a system’s functions through Use
Cases and Business Objects. It is traceable, easy to use and simple to learn. It sees the
system from 4 different perspectives, hence is architectural in its modeling approach:
1.
Use-Case View: This is the functional view, the view that most interests the
stakeholders. It describes the set of scenarios and/or use cases that represent
some significant, central functionality.
2.
The Logical View: Describes the most important Classes (Business Objects),
their organization in packages and subsystems, and the organization of these
subsystems into layers.
3.
The Process View: Describes the tasks (processes and threads) involved in the
system's execution, their interactions and configurations. Also describes the
allocation of objects and classes to tasks.
4.
The Deployment View: Describes the various physical nodes for the most
typical platform configurations. Also describes the allocation of tasks (from the
Process View) to the physical nodes.
A UML model will therefore have different “views” of the same system, to be used as
needed in different contexts.
Modeling Business Systems Using the UML
Page 9
2.0
The Diagrams of the UML
The 8 diagrams of the UML are in use in the following technologies:



Software Engineering Processes
Business Process Reengineering
Design of Technical and Electronic Systems
The following diagram summarizes the 8 diagrams
Figure 1: The Diagrams of the UML
They consist of


Two static diagrams
The Use Case Diagram
The Object Diagram
Four dynamic diagrams
Modeling Business Systems Using the UML
10
Page
The Sequence Diagram
The Collaboration Diagram
The State Transition Diagram
The Activity Diagram
Two implementation diagrams
The Component Diagram
The Deployment Diagram

These diagrams form part of the deliverables of a Software Application Project.
2.1
Why Use Use Cases
The Use Cases provide the following facilities:




2.2
Use Cases are effective communications items. They assist the team in clarifying
the requirements.
Use Cases can be used for both functional as well as non-functional requirements.
For example, a non-functional requirement is the following performance
condition: the Use Case describing the entry of the Payment Order can have an
additional condition stating that during usage in a network of X PCs, the response
time should be within a specific level.
Use Cases assure Traceability, a key objective in project management. At a later
date, Functional and Technical design activities will start with the Use Cases
developed in this activity. Development, testing, implementation, training and
documentation will also use the same Use Cases.
Use Cases discourage the developers from starting to design too early when not
enough information is collected about the rest of the Architecture of the system.
The Use Case Diagram
The most important concept in the UML is the Use Case, a mature concept in use during
the past 6 years.
Definition: a Use Case is a set of activities or procedures that are unified in one
objective and that is to produce “value” to a user or actor outside the system.
Actors are people or other ICT systems that use the system. The functionality of the
system is totally defined by all the Use Cases in a single Use Case diagram.
Examples
Use Cases in a Bank Front Area
 Withdraw cash
 Deposit cash and checks
 Receive inward transfers
 Request statements
 Request check books
 Change foreign notes
Use Cases of a Leave Control System
 Withdraw Cash
 Deposit Cash or Cheques
Modeling Business Systems Using the UML
11
Page








Transfer from one account to the other
Pay Bill (Various)
Get Statement
Change PIN
Replenish cash
Collect deposits
Update balances or limits
Check operation
Note the following:
1.
Use Cases are descriptions of functionalities from the user’s point of view and not
as computer data flow, program flowcharts or database diagrams.
2.
Use Cases are descriptions of functionalities that provide value to the user. If the
Use Case being described does not provide value then it is not to be documented
as a Use Case. For example, getting the signature of a supervisor on a form is not
a Use Case. However, getting a request approved in full is a Use Case.
3.
Use Cases have a unified breakdown of functionalities. It is usual for a Use Case
to deal with one aspect of the system. Use Cases are narrow in this respect and
do not mix functions.
4.
Use Cases can handle a variety of paths within their processing which may be
taken depending on different conditions. For example, while processing a Use
Case for Requesting Compensation, the processing may differ depending on
whether the compensation is for hospitalization, medicines or visits to doctors.
These are different “scenarios” within the same Use Case.
2.2.1 What Are the Components of a Use Case Model?
The Use Case Diagram is a set of documents consisting of the following:
1.
A Document defining the Scope of the Business System description (1 Page)
2.
The Use Case Diagram: a Graphic Diagram showing all the Use Cases, the
Actors and the various Associations between Use Cases. Use Cases are drawn as
ellipses. These are connected to the various users outside the system. There are
relationships between Use Cases which are also indicated. (1 or 2 Pages)
3.
A Textual Description of each Use Case: each Use Case is documented by a
one or two page textual description that defines the process in question. The
description is broad and it not meant to be taken as a final documentation. Other
UML diagrams will handle that. A Template is included in Section 4.0). (Up to 3
pages each)
Use Case diagrams are usually developed in the Requirements Capture subphase and get
refined and modified in the later subphase of the Software Engineering Process.
On the following pages are examples of last two documents for an ATM system.
Modeling Business Systems Using the UML
12
Page
Figure 2: Use Case Diagram for an ATM
Modeling Business Systems Using the UML
13
Page
Figure 3: Using Extends in a Use Case Diagram
In the above Use Case Diagram, there are 5 Use Cases that relate to the main two Use
Cases that are under the “Extend” association. This means that they extend the
functionality of the key or core Use Cases.
For example, Place a Call is a core Use Case. The following Use Cases extend this
functionality:




Place a Conference Call
Use Memory Bank
Use Speed Dialing
Use Last Number Dialed
Extend Use Cases are used when a Use Case has optional functionality that needs to be
highlighted.
Modeling Business Systems Using the UML
14
Page
Figure 4: Using Generalization in Use Case Diagrams
The above Use Case Diagram shows a library with Extend Use Cases. It also shows how
an Actor such as the Librarian “Inherits” the behavior of the Borrower Actor. This
association between the two actors is called a “Generalization” and allows the Modeler to
Modeling Business Systems Using the UML
15
Page
reduce the clutter by saying: “The Librarian has his or her own Use Cases (Maintenance)
but also has the same Use Cases as those used by any Borrower”.
2.2.2 Example: Description of an ATM Withdraw Cash Use Case
Name of use case:
Contacts:
Actors in the use case:
Objectives:
Withdraw Cash
Mr. X
Customer
This Use Case describes the activities of the ATM when a
Customer withdraws Cash from the ATM.
Scenarios and Extensions:
Rejections: Insufficient funds
Options: different ways of selecting amounts
Include (Uses): logging in
Pre-Conditions: the ATM must be switched on and at the Welcome screen
Post-Conditions: the ATM returns to the Welcome screen
Description:
1.
Customer Logs in (Use Use Case: Log In)
In case of
Rejection of PIN, give error message and return to Welcome Screen
Rejection of Card, give error message and return to Welcome Screen
2.
ATM displays main menu that contains the Customer functions:
Withdraw Cash
Deposit Cash
Get Statement
Change PIN
Customer chooses the first one.
3.
ATM displays the Amount Entry screen that defines the different ways the
customer can withdraw cash:
$100
$300
$500
$1000
Set amount in 100’s
There is an option to cancel transaction in which case the ATM returns to the
Welcome Screen.
4.
If the last option is selected, the user has to enter an amount in hundreds. If the
amount entered is not in hundreds, the ATM gives an error message and stays on
this screen.
Modeling Business Systems Using the UML
16
Page
5.
Having entered the amount, the ATM checks the balance. If there is not enough
cash for this account, the ATM displays a warning message and stays with the
Amount Entry screen.
6.
If there is enough cash, the ATM follows these steps:
Give customer message that transaction is being processed
Print the Cash Withdrawal slip
Push cash into drawer
7.
ATM gives a Thank You screen reminding the Customer to remove his or her card
from the entry slot.
8.
ATM returns to the Welcome Screen.
Attachments:
1.
2.
3.
Cash withdrawal slip
Typical ATM card
Layout of ATM keyboard
2.2.3 Example: The Log In Use Case for the ATM
Name of use case:
Contacts:
Actors in the use case:
Log In
Mr. X
None as this is an “Include” Use Case. The following Use
Cases can use this Include Use Case:
Withdraw Cash
Deposit Cash
Get Statement
Change PIN
Objectives: to allow Customer to enter ATM card, check its validity, enter the PIN
number, check its validity and proceed.
Scenarios and Extensions:
Rejections: PIN error, Card error
Pre-Conditions: the ATM must be switched on and at the Welcome screen
Post-Conditions: the ATM returns proceeds from where it was called
Description:
1.
ATM displays Log In screen that instructs user to:
Enter card
Enter the PIN number
Terminate the Use Case or entry by pressing Cancel.
2.
ATM checks the validity of the ATM card. In case it cannot read it, a message is
given and the ATM returns to the Log In Screen
Modeling Business Systems Using the UML
17
Page
3.
ATM checks the PIN against the ATM card. In case there is no match, issue error
message and returns to the Log In Screen.
4.
In case all is OK, the Use Case terminates and returns to the calling Use Case.
Attachments: none.
2.3
The Class Diagram: Business Objects
UML views the organization as a set of business objects. Such objects are not to be
confused with Object Oriented Programming. We are referring here to any “Entity” that
is of interest to the user in implementing his system. Objects may be persons, vouchers,
other ICT systems, real physical objects (Such as an employee ID card) or data tables.
Objects will be defined later.
While analyzing Use Cases, analysts will come across objects of interest to the
organization. These objects have been grouped by UML into 3 major types:
1.
Boundary or Interface Objects: are within the system but are used by the
system to exchange information or control with the users. For example, windows,
menus, login screens, confirmation slips, receipt coupons are all Boundary
Objects.
2.
Control Objects: are standard procedures needed to effect particular activities.
These could be tables of rates, business rules, computational programs, etc. The
UML insists on defining these as objects because past methods have ignored the
existence which led to failures.
3.
Entity Objects: consist of such objects as vouchers, persons, data tables. Of
particular interest is the group called “persistent objects” or objects that are
realizable within the system as tables in a database. They stay within the system
while a voucher may be taken by the employee and destroyed.
To model the above objects or classes, the UML develops the Object / Class Diagram.
It is referred to be either name. This diagram shows the objects in the organization and
draws lines between the rectangles defining the relationships between them. As an
extension of this diagram, an Entity Relationship Diagram will be developed. This defines
the tables in database tables to be implemented by a Relational Database Management
System.
Modeling Business Systems Using the UML
18
Page
2.3.1 The Notation of the Class Diagram
The Class Diagram is made up of rectangles, one for each class. These are related to
each other by such relationships or associations as:



Cardinality: signifies how many of one class relate to another class (One
employee can have 0 or many loans, one product belongs to 1 stock type only,
one branch has 1 manager). Cardinality is shown as a number next to each Class.
Roles: a text that defines how this Class relates to another. (One employee has
a nationality, one project manager is assigned to a project, etc).
Links: these are relationships between classes meant to express business rules
as well as to clarify the workings of the system. There are many types of
relationships such as: associations, aggregation, generalization, etc. These will
not be discussed in this paper as they are elaborate and require many examples.
The Class rectangle contains several segments:




Name of the Class
Properties: these are the attributes or data elements that describe the class
such as the following for an order: order number, date of order, supplier, amount,
etc.
Methods: these are the set of actions or operations that can “happen” to a class
or its behavior. For example, an Order can “Get Created”, “Get Confirmed”, “Get
Received”, “Get Canceled”, “Get its Dates Modified”, etc. In programming terms,
these translate to procedures that have to be developed or coded.
Visibility: defines whether a class is protected from view by other classes, is
private or is public.
The following few pages show examples of some Class Diagrams.
Modeling Business Systems Using the UML
19
Page
2.3.2 Examples of Class Diagrams
The following diagrams show the Class Diagrams for a School, a Consulting Firm and its
projects and a Purchase Orders System.
The notation is not defined as it is elaborate. However, it can be seen that it is a simple
matter to read the diagram. Below each are some examples on how to read the
diagrams.
Figure 5:The Class Diagram for Orders
How to read the diagram?






An order must belong to 1 Customers or a Customer has 0 or more orders.
A Customer can be a Corporate or an Individual Customer
Each corporate customer has 0 or 1 Sales rep
Each Order item has 1 product
Each Order has 1 or more items
Etc
Modeling Business Systems Using the UML
20
Page
Figure 6: The Class Diagram for Consulting Activities
The following can be known about the firm:





Each consultant works on 1 or more projects and each project belongs to only 1
consultant
Each Consultant writes 1 or more proposal and each proposal can be written by 1
consultant
Each Consultant servers 1 or more clients and each client is served by 1
Consultant only
Data appears in one report while a report can have more than 1 item of data
Etc
Modeling Business Systems Using the UML
21
Page
Figure 7: The Class Diagram for a School
The above School is in a University and has the following business relationships:














A school has 1 or more departments
A department can only belong to 1 school
A school has 1 or more students
A student can attend 1 or more courses
A course can have 1 or more students
A course is taught by 1 teacher only
A teacher can teach 1 or more courses
A teacher is assigned to 1 or more departments
A department can have 1 or more teachers
A teach can be the chairman of 0 or 1 department
A department can have 0 or 1 chairman (Teacher)
A course belongs to 1 or more departments
A department can have 1 or more courses
Etc
Modeling Business Systems Using the UML
22
Page
2.4
The Sequence Diagram (Applies to Use Cases)
The Sequence Diagram is a detailed way of describing the activities of a Use Case.
Several Sequence Diagrams may be needed to describe all the scenarios of a single Use
Case.
This diagram consists of several objects and actors on the top of the diagram drawn
horizontally. Below each is a straight downwards time line. Horizontally, the analyst
draws lines showing the sequence of activities within a Use Case.
A set of examples of Sequence Diagrams are shown on the following few pages.
Modeling Business Systems Using the UML
23
Page
Figure 8: The Sequence Diagram for a Telephone Call
Modeling Business Systems Using the UML
24
Page
Figure 9: The Sequence Diagram for a Customer Making a Purchase
Modeling Business Systems Using the UML
25
Page
Figure 10: The Sequence Diagram for Adding a New Customer
Modeling Business Systems Using the UML
26
Page
2.5
The Collaboration Diagram (Applies to Use Cases)
This diagram also has the objective of defining the various scenarios in a single Use
Case. It is equivalent to the Sequence Diagram but is drawn differently. Instead of
showing the objects on top with time lines drawn below them, the Collaboration Diagram
shows the objects as rectangles all over the diagram. It shows the interaction between
them (The collaboration) as lines from one object to the other. The numbering of the
lines defines the sequence of work.
2.6
The State Transition Diagram (Applies to Objects)
This diagram defines the states an object goes through. A compensation request may
show up in different Use Cases. Since it becomes difficult for a user to understand its full
behavior in several Use Cases, UML provides a special diagram to trace how an Object
changes states.
Example:
the states that a request goes through may be:
State: Submitted / Reviewed / Approved / Disbursement given / Rejected
Arrows between states define events taking an object from one state to the other.
The following page shows an example of a State Transition Diagram.
Modeling Business Systems Using the UML
27
Page
Figure 11: The State Diagram for Placing Orders
Modeling Business Systems Using the UML
28
Page
2.7
The Activity Diagram (Applies to Use Cases and to Objects)
This diagram is the equivalent of the State Diagram. It is used when it is clearer to show
the behavior of objects in terms of activities and not states. Activities are shown in
rectangles. When an activity is completed, the object goes to the next activity.
This is one of the most important diagrams in UML, since it can be used to model the
behavior of Objects as well as Use Cases.
The following few pages show examples of State Transition Diagrams.
Modeling Business Systems Using the UML
29
Page
Modeling Business Systems Using the UML
30
Page
Figure 12: Activity Diagram For Orders (Showing Objects)
Modeling Business Systems Using the UML
31
Page
Figure 13: Activity Diagram to Model a Method
Modeling Business Systems Using the UML
32
Page
Figure 14: Activity Diagram Showing Swimlanes by Object
Modeling Business Systems Using the UML
33
Page
2.8
The Implementation Diagrams
These last two diagrams are strictly technical and in many ways do not concern the user.
By relegating them to a separate model, the UML protects the user from the technical
jargon of software developers.
There are two diagrams which we will touch upon briefly:
2.8.1 The Component Diagram
Defines the components in the software application and their relationships: libraries,
executable programs, database engines, databases, office tools, etc.
2.8.2 The Deployment Diagram
Defines where the different components are placed and is essentially a way of describing
the layout of the technical parts of the system: servers, hubs, stations, computers, units
such as scanners, printers, etc.
Modeling Business Systems Using the UML
34
Page
3.0
How to Use the UML in a Typical Software Engineering
Process
The UML relies on diagramming the following two two major diagrams:


The Business Object or the Class Diagram
The Use Case Diagram (Consisting of descriptions of all Use Cases)
The UML proceeds in phases elaborating these diagrams. It follows
Phase 1:
Define the Business Objects and Use Cases and get them verified and
approved. No need for details at this stage.
Phase 2:
Elaborate the Business Objects and Use Cases by introducing more details
in the Models: exception scenarios, associations between use cases, more
detailed description of the behavior and properties of business objects.
Again, these are verified and approved.
Phase 3:
Elaborate the Use Cases by resorting to other UML diagrams such as the
Activity, the Sequence and the Collaboration diagrams. The Business
Objects can also be elaborated using the Activity and the State Diagrams.
Phase 4:
In the case of ICT Systems, an additional two diagrams are introduced to
assist the design in the implementation phase: the deployment and the
components diagrams.
As discussed in the Technical Paper on Software Development Methodologies, it is
recommended to use the Spiral Model for Software Development. Refer to that document
for a more detailed description of the Model. Briefly, the Spiral Model start by initiating
various conceptual or intellectual activities and iterates them outwards. As the number of
iterations increase, the designers and the users start arriving closer and closer to the
realization of the requirements.
3.1
Using the UML in the Segment
This segment shall rely heavily on the UML. However, it does not exclusively propose the
language for modeling the analysis and design of systems:





The UML is a standard modeling language for modeling business systems and
Software Applications in their various stages of Analysis and Design.
The UML is not a product.
A software development unit can decide to use any modeling schemes for its
systems life cycles.
This segment leaves the choice open for an ICT Unit to select its own language
but strongly recommends the use of the UML which is becoming a standard in
such practices.
Analysis of Requirements, Functional Design and Technical Design are each
allocated a special section where the related processes are discussed. It is then
shown how Analysis and Design can use the UML to model their systems.
Note again that the segment does not enforce the use of the UML but strongly endorses
it. An ICT Unit can decide to use any other suitable modeling scheme.
Modeling Business Systems Using the UML
35
Page
3.2
The Cycle of Analysis and Design
The following sections define how the UML can be used while going through a typical
Software Development life cycle using the Spiral Model.
The objective of the process is to produce a set of documents in the following order:




The
The
The
The
AS IS system model
Required system model
Functional Design model
Technical Design model
The Functional Design model can be used as the basis for the acquisition of Commercial
Off the Shelf Software. It can also be used to arrive at the Technical Design model which
can then be used for building the software application.
The following sections define how the UML is used in different phases of the Spiral Life
Cycle going through initiation and planning. A later section briefly describes how the UML
can be used during later phases of building and transition.
3.3
Initiation Phase: Modeling the AS IS or Current System Model
During this phase, it is sufficient to briefly present the following:
1.
Prepare a Use Case Diagram showing all Use Cases, their actors and their
associations.
2.
Prepare the Class Diagram showing the main Business Objects and their
associations.
3.
If there are complex or interesting Use Cases, it may be recommended to
elaborate them textually.
3.4
Initiation Phase: Identifying the Status of the Business Processes
At the initial stage, it would be generally known whether the organization is satisfied
with the system as it is or not. It would also be known whether there is any reason to
change the current system due for example, to changing circumstances, laws or
organization.
In this section, the Project Definition should indicate the following:




Whether improvement or change is required in the business processes or not
The nature of the required change
The reason for the required change
The purpose of the change
Forward Look: there is a corresponding but much more elaborate set of activities for
the Improvement of Business Processes in the Project Planning phase.
Modeling Business Systems Using the UML
36
Page
3.5
Initiation Phase: Modeling the Analysis of Requirements
This section presents a general review of the required system or the system “TO BE”.
The purpose of this section is the following:




To
To
To
To
determine the scope of the new or required system
identify all the known requirements of the stakeholders
generate the first draft model of what the system should do.
determine whether process improvement or reengineering is required
The Appendix introduces the UML and how it can be used in a software engineering
process. Here is how it can be used for Modeling the Current System:
1.
Define the scope of the new or the required business system: where it starts and
ends, what it includes and what is excludes. This may differ from the AS IS
system.
Example:
In the new stock system, we will be controlling the shelf and bin locations.
2.
Revise the main Use Cases of the AS IS system and plot them on a diagram.
3.
Identify the main Actors of the required system.
4.
Should any Use Case not be clear, it can be described in text form, but very
briefly.
5.
Identify the required Business Objects. Describe some of them if they need to be
clarified.
Remember that the above shows WHAT the required system does and not how it does it.
Forward Look: there is a corresponding but much more elaborate set of activities for
the Required System in terms of Functional and Technical Design and Specification. This
will be presented in the Project Planning phase.
3.6
Initiation Phase: System Deployment
Most software applications will probably be setup on a network. The current technology
requires a very careful and intricate deployment of software components on a network.
Furthermore, the project itself needs to define where specific servers and PCs are
located.
Indicate in this section what is known about the deployment of the software and
hardware component.
The Appendix introduces the UML and how it can be used in a software engineering
process. Here is how it can be used for Modeling the Current System:
The UML has two major diagrams called the Implementation Diagrams:
Modeling Business Systems Using the UML
37
Page


The Deployment Diagram: Defines the components in the software application
and their relationships: libraries, executable programs, database engines,
databases, office tools, etc.
The Component Diagram: Defines where the different components are placed and
is essentially a way of describing the layout of the technical parts of the system:
servers, hubs, stations, computers, units such as scanners, printers, etc.
The initial Use Cases defined earlier will determine much of the infrastructure. However,
the technology policies of the Ministry or Agency are also of importance (Performance,
modernization, compatibility with legacy systems, etc). Finally, cost and lead time
considerations come into such infrastructural issues as:
Operating systems
RDBMS’s
Architectural categories: client/server, multi-tier, central system
Web servers or other types of specialized servers
WAN’s and LAN’s
The deliverable of this activity should include any justification needed to move from the
current to the new infrastructure.
In this section, whatever is currently known can be modeled in general terms.
3.7
Planning Phase: Modeling the AS IS or Current System Model
Based on the earlier general models developed in the Project Definition, the Business
Analysts can then proceed to elaborate the analysis as follows:
During the Project Initiation Phase, the Software Engineering team will require to have a
brief and general view of the current system, as it is. Their objective is to produce a set
of UML diagrams that define the system and include it in the Project Definition
Document.
This section presents a general review of the current system or the “AS IS” system. The
purpose is not to analyze the system as in most cases, it would be changed. The purpose
is to note down the baseline from which the change is to be made.
Another purpose would be to ensure that the scope of the system or process being
automated is clear.
3.7.1 Developing the Use Case Diagram (System Functions):
This activity results in the development of a document that contains the following
sections:




The scope of the Business System
The list of all Actors
The Use Case Diagram broken down into as many packages as required
A textual description for each Use Case
The following steps can be followed:
Modeling Business Systems Using the UML
38
Page
1.
Define the scope of the business system: where it starts and ends, what it
includes and what is excludes. The scope of the system should be developed in no
more than 1 or 2 pages.
2.
Identify ALL the Use Cases of the system. No Use Cases should be left out.
Meetings should take place between the Business Analysts and the Users.
3.
Group the Use Cases that belong to business subsystems, units or that have
related functions together in what the UML calls: Packages. Each of these
packages becomes a subsystem or a subprocess.
4.
Identify the main Actors using the Use Cases. These are the persons or systems
outside the required system that trigger the Use Cases. Each Actor has an
observable and measurable benefit from one or more of the se Cases.
5.
Prepare a Use Case Diagram for each of the packages showing all the Use Cases,
the Actors.
6.
Show all the associations between the Use Cases: Generalization, includes and
extends.
7.
Show any inheritance relationships between Actors.
8.
Develop the textual form for each Use Case. A template is presented in Section
4.0. The Template shows all the elements to be defined for each Use Cases.
9.
As each Use Case is being developed, the various scenarios within it need to be
identified. Scenarios cover such issues as: alternative actions within one Use
Case, options available to the Actor, error conditions, etc.
3.7.2 Developing the Class Diagram (Business Objects):
The Business Objects in use in the various Use Cases can be modeled using the Class
Diagram of the UML.
1.
Identify ALL Business Objects or Classes.
2.
Describe each class’s properties and behavior (Methods).
3.
Determine the relationships between the classes: ordinary associations,
inheritance and aggregation.
3.7.3 Additional Diagrams
In case the analysts feel that the Use Cases or the Business Classes do not truly model
the Business System, further elaboration can be attempted for some of the more
complex or crucial Use Cases or Classes using any of the following UML models:
The Sequence Diagram
The Activity Diagram
Moreover, if the Business System has specific Objects that have interesting or elaborate
behavior, such behavior may cut across the Use Cases and hence not be clearly
Modeling Business Systems Using the UML
39
Page
captured. Use the State Diagram for such objects to completely model the life cycle
behavior of the objects.
Example:
The behavior of an application form is typically modeled using the State Diagram. The
application crosses many Use Cases, so it is best to model all the Use Cases first, then
use the State Diagram to model its life cycle behavior.
3.7.4 Implementation Diagrams
The UML implementation diagrams are called: the Deployment and the Component
Diagram. In case there are existing ICT systems in use, their topology can be modeled
using these two diagrams.
3.8
Planning Phase: Modeling the Functional Design
Collect the following information:




All material presented in the approved Project Definition
Updated sections of the Project Plan. Typically, these would be the major sections
on objectives, constraints, etc.
The approved Requirements Definition Document as per the previous section.
Any related technical material of use in the design process: drawings, entity
relationship diagrams, UML diagrams, topological layout of components, etc.
The design activities can now proceed. These are essentially engineering processes and
will not be developed in this segment.
Depending on the modeling language in use, this activity covers the full modeling of the
Functional Design.
1.
Update the System Scope document.
2.
Identify all Use Cases and package them in suitable subsystems, processes or
modules. Prepare a Use Case Diagram. Usually, for medium and large systems,
this may be made up of several diagrams each one modeling a specific package
or module.
3.
For each Use Case, the following should be completed:





4.
Document the full Use Case as per the Template in Section 4.0.
Identify all its Actors
Identify all its scenarios
Identify all its pre-conditions and its post-conditions
Identify all the <<extends>> and <<includes>> Use Cases
For the following types of Use Cases, elaborate the modeling by further models
using Activity, Sequence or Collaboration diagrams:



Complex Use Cases
Critical Use Cases that are core to the overall system or process
Use Cases that relate to interfaces with other systems
Modeling Business Systems Using the UML
40
Page



Use Cases that have a high priority in implementation terms and require early
qualification
Use Cases that have business objects of interest and that will be modeled by
State diagrams as shown below.
Use Cases that are of particular interest to specific stakeholders who wish to
see them in detail.
Notice that the design process is in the Functional state and as such, the objects
on the above diagrams are still at the level of business objects and not technical
objects such as interfaces, database objects, etc.
5.
Prepare a State Diagram for any object that is of interest, especially objects that
cross many Use Cases. For example, application forms are usually business
objects that appear in many Use Cases. Analyzing the Use Cases they appear in
may be too complex a way to understand and confirm their behavior. They are
good candidates for state modeling.
6.
Prepare a Class Diagram showing all the Business Objects mentioned in the
identified Use Cases. For each Class, show the following:



Show all attributes (Properties)
Show all operations (Methods)
Show all data declarations
Also, show all associations between classes.
7.
Analyze the Entity Relationship Diagram (ERD) extracted from the Class
Diagram. Review its structure and ensure that it follows the good practices
presented in the Database segment. (Note that some visual modeling tools for
the UML have the capability of generating ERDs from the Class Diagram directly).
8.
Prepare the two Implementation Diagrams showing all software and related
hardware components:


The Component Diagram
The Deployment Diagram
Good Practice: The above UML documentation should be governed by a strict
Configuration Management approach to ensure that the overall design is complete
(Baselined) and that all changes are properly controlled.
Good Practice: This is part of an iteration. As modeling advances, it will identify areas
in the design that need a further look. The Functional Design Process therefore loops
between Steps 2 and 3 until the designers reach the conviction that the system has been
properly designed.
3.9
Planning Phase: Modeling the Technical Design
Collect the following information:


All material presented in the approved Project Definition
The approved Requirements Definition and the Functional Specifications
Documents as per the previous sections.
Modeling Business Systems Using the UML
41
Page

Any related technical material of use in the design process: drawings, entity
relationship diagrams, UML diagrams, topological layout of components, etc.
The design activities can now proceed. These are essentially engineering processes and
will not be developed in this segment.
1.
The functional Use Cases are now completely identified and apart from changes
in the design, there would be no need to revise them nor the Use Case
Diagram.
2.
There may be additional Use Cases that are totally technical, ie, not seen as
“functions” by the general users. These could cover issues related to database
processing, stored procedures, components that are transparent to the user such
as those used for database access, algorithmic work, interface activities, user
interface functions, etc.
These Use Cases must now be identified and detailed in full reaching the following
levels:





3.
Document the full Use Case as per the Template in Section 4.0.
Identify all its Actors
Identify all its scenarios
Identify all its pre-conditions and its post-conditions
Identify all the <<extends>> and <<includes>> Use Cases
Select the model needed to elaborate each Use Case. It could be any one of
these:


The Activity Diagram
The Sequence or Collaboration diagrams
Elaborate each Use Case using the above diagrams. Notice that the design
process is in the Technical state and as such, the objects on the above diagrams
will need to be the business as well as the technical objects such as interfaces,
database objects, etc.
5.
Elaborate the earlier State Diagrams for any object that is of interest, especially
objects that cross many Use Cases.
6.
Elaborate the earlier Class Diagram showing all the Business Objects mentioned
in the identified Use Cases. For each Class, show the following:



Show all attributes (Properties)
Show all operations (Methods)
Show all data declarations
Also, show all associations between classes.
This diagram would need to be updated as the Technical Design would by force
introduce many new classes that are not “functional” in nature and hence
transparent to the user.
7.
Finalize the design of the Entity Relationship Diagram (ERD) extracted from
the Class Diagram. Review its structure and ensure that it follows the good
Modeling Business Systems Using the UML
42
Page
practices presented in the Database segment. (Note that some visual modeling
tools for the UML have the capability of generating ERDs from the Class Diagram
directly).
8.
Finalize the two Implementation Diagrams showing all software and related
hardware components:


The Component Diagram
The Deployment Diagram
Good Practice: The above UML documentation should be governed by a strict
Configuration Management approach to ensure that the overall design is complete
(Baselined) and that all changes are properly controlled.
Good Practice: This is part of an iteration. As modeling advances, it will identify areas
in the design that need a further look. The Technical Design Process therefore loops
between Steps 2 and 3 until the designers reach the conviction that the system has been
properly designed.
3.10
Planning Phase: Finalizing the Implementation Diagrams
By now, the Project Team would have developed the two UML diagrams (Component and
Deployment Diagrams). All components will be clearly identified. All locations, servers
and other implementation elements will be known.
3.11
Building and Transition Phases
The Development team will use the UML in the following manner:
1.
During development, all Technical Designs will be used to produce the code that
will be built into the final product. Project management principles ensure that the
Technical Design is subjected to strict Configuration Management techniques. It
will also ensure that work is assigned by Use Case packages.
2.
Training, documentation and implementation can also be carried out by resorting
to the Use Case packages.
3.
Installation will be completed according to the final Implementation Diagrams
included in the Technical Design.
The above shows that the UML relies heavily the traceability of the Use Cases, starting
with general Use Cases and Class Diagrams at the beginning of the project and using the
same Use Cases throughout.
Modeling Business Systems Using the UML
43
Page
4.0
Template for Use Case Description
Name of use case: As on the Use Case Diagram
Contacts: Names of persons mostly involved with the functions
Actors in the use case:
Goals: Briefly describe the main goal or goals of this Use Case. This is mostly for
readers who wish to scan read the document without going into the details of the Use
Case.
Scenarios and Extensions: Include some of the scenarios and the extensions, if any.
Pre-conditions: Events or activities that must be completed before the Use Case can be
carried out
Description: Step by step narrative of all scenarios. This is the main body of the Use
Case detailed description.
Post-conditions: The endings that the Use Case can result in
Frequency and Volumes: define how often this Use Case takes place. This is useful for
establishing priorities and system capacity.
Attachments: Documents, diagrams, vouchers, diskettes, etc.
Modeling Business Systems Using the UML
44
Page
5.0
Where to Learn and How to Use the UML?
The market is saturated with text books, tutorials and websites that instruct prospective
users on the use of the UML. Moreover, there are many standard texts that define the
language references and standards for the UML. It is strongly suggested that prospective
users of the UML should acquire such sources and resort to them.
There are two levels of tools to use with the UML:
1.
UML Visual Modeling Tools: These are products whose only aim is to model
systems using the UML. They will have most of the following facilities:





A repository of the models
The facility of viewing the system from different perspectives (Use Cases
can show their related sequence diagrams, sequence diagrams can be
converted automatically to collaboration diagrams, etc).
The facility of generating source code of a specific language from Class
Diagrams resulting in a major saving of time (Java, C++, etc).
The facility of generating SQL scripts for key database engines to generate
the ERD as modeled by the Class Diagrams.
The facility of documenting the diagrams on the fly. For example, the text
for Use Cases can be embedded “behind” the Use Case icon.
Various other special facilities are also available.
2.
General diagramming tools: Commercial diagramming tools often have
templates for the various graphic icons in use by the UML. These products are
easy to use but only provide diagramming facilities. It remains up to the user to
carry out the facilities provided by the first type of tools.
The first type is more flexible to use but requires training. The second type is simpler to
use and is much lower in cost. However, it is limited in its functionalities.
The market is saturated with text books, tutorials and websites that instruct prospective
users on the use of the UML. Moreover, there are many standard texts that define the
language references and standards for the UML. It is strongly suggested that prospective
users of the UML should acquire such sources and resort to them.
Modeling Business Systems Using the UML
45
Page
Download