Title: Introduction to Unified Modeling Language (UML)
1Introduction to Unified Modeling Language (UML)
- Professor Jason Chen
- School of Business Administration
- Gonzaga University
- Spokane, WA 99258
2Methods vs. Modeling Languages
- A model has its purpose of structuring our
thoughts - A method
- is an explicit way of structuring ones thinking
and actions - tells us
- What to do
- How to do it
- When to do it
- Why its done
3Method, Modeling Language and Process
4Process vs. Method
- A process is a group of activities that, if done
correctly, will achieve an explicit goal. - A method, in contrast, is normally also
considered as a set of related activities, but
without explicit goals, resources, and rules.
5What is a Process?
ltltUtilizegtgt
Humans, computers tools, Information
What to do, How to do it, When to do it, Why it
should be done
6What is a Process?
Software Development Process CONTEXT, USER, STEPS
VALUE
ltltUtilizegtgt
Documentation, Products, Models etc.
Humans, computers tools, Information
A process is a group of activities that, if done
correctly, will achieve an explicit goal.
What to do, How to do it, When to do it, Why it
should be done
7Methods vs. Modeling Language
How symbols should look
Syntax
Reality
How symbols are combined
(Spelling)
Semantics what each symbol means
(meaning)
Pragmatic intentions of symbols used
Software System
(Aspects)
Rules
Represent
Models
Notations
Expressed in
Generating
Modeling Language
Method
Help
Process
Document
8Analysis vs. Design Oriented
Analysis-Oriented
Design-Oriented
9What is the UML?
- UML is only a modeling language without a process
- it is a lot easier to comprehend than a natural
language - Most modeling languages cover only syntax and
semantics - Pragmantics is a bit difficult to decide since it
cant be formalized it can only act as a
guideline.
10UML (conti.)
- The Unified Modeling Language (UML) is a
graphical language for visualizing, specifying,
constructing, and documenting the artifacts of a
software-intensive systems.
11What does UML give you?
- The UML gives you a standard way to write a
systems blueprints covering conceptual things,
such as business processes and system functions,
as well as concrete thins, such as classes
written in a specific programming language,
database schemas, and reusable software
components.
12How Applicable of UML?
- The UML is applicable to anyone involved in the
production, deployment, and maintenance of
software.
13What is Visual Modeling?
- VISUAL MODELING is a way of thinking about
problems using (graphical) models organized
around real-world idea. - UML is a product of VISUAL MODELING language.
14Models are useful for ..
- understanding problems,
- communicating with everyone involved with project
(customer, domain experts, analysts, designers,
etc.) - modeling enterprise,
- preparing documentation, and
- designing programs and databases
15Objectives of the Modeling
- Modeling promotes
- better understanding of requirements,
- cleaner designs, and
- more maintainable systems.
16What is a Good Model?
- A model is good when
- it is a relevant model
- it is possible to communicate
- it fits its purpose
- it captures the essentials
171. it is a relevant model
- a relevant model captures the important aspect of
whatever is being studied.
182. it is possible to communicate
- a good model should be easy to communicate, have
an explicit goal, be easy to maintain, be
consistent , and have integrity. Issues such as
name conventions and model coordination/integratio
n should be enforced.
193. it fits its purpose
- a good model should have an explicit purpose that
everybody using it recognizes.
204. it captures the essentials
- a good model should be able to capture the
essence of the business (the core) and model
around those core concepts, and to be able to
handle changes properly (not just involves and
/or creates documents.)
21Business and Modeling Environment
Examples
Model
Meta-Data
Invoice
Core/Essence
Data
Debt
Furniture Store
Reality
Business
22Business and Modeling Environment
Examples
Model
Meta-Data
Invoice
Core/Essence
Data
Debt
Furniture Store
Reality
Business
23Other Problems?
- No matter which method and modeling language have
been used, there are other problems. - When we make the models and we become a part of
business. Therefore, other problems should be
taken into consideration internal politics,
social patterns, informal structure, and power
surrounding the customers.
24A System Model for UML
System
Model
Implementation
Deployment
Design
Analysis
Model
Model
Model
Model
Physical Architecture
A system is described in several models
25- Analysis functional requirements
- Design working technical solutions
- Implementation source code
- Deployment description of how the system is
deployed - UML is phase independent and it is a modeling
language (NOT a method) - Tool vendors now can spend more time improving
on the tools and less time on defining methods
and languages.
26Development of Object Technology
UML
C, JAVA SmallTalk, etc.
27Ready for the Next Run?