Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Up2UML
Alpha-Release
2007
Copyright 2007 Fraunhofer IESE, Kaiserslautern
Fraunhofer
Institut
Experimentelles
[http://www.iese.fraunhofer.de]
Software
Engineering
(IESE)
SOFTWIN [http://www.intuitext.com/]
Up2UML
Abstract
The purpose of this course is to help you learn the Unified Modeling Language V2.
It is being developed by the Up2uml Consortium.
Responsible for the content in accordance with 6 TDG:
Up2UML Consortium
c/o Fraunhofer Institute Experimental Software Engineering Fraunhofer-Platz 1
67663 Kaiserslautern
E-Mail: sonja.trapp@iese.fraunhofer.de
Tel.: +49 (631) 6800-2182
Web: http://www.up2uml.org/
All published contents (layout, texts, images, graphics etc) are subject to copyright.
Up2UML
Table of Contents
1. Lesson: UP-Intro ................................................................................................... 4
1.1. Objectives: UP-Intro .................................................................................. 5
1.2. Introduction to the software process used in the case study .................... 5
1.3. Lesson: UP-based software method ......................................................... 5
1.4. Lesson: The Unified Process: Phases and Workflows .............................. 7
1.5. Lesson: The Unified Process: Models and Roles .................................... 17
1.6. Summary: UP-Intro .................................................................................. 33
A. Case Studies ...................................................................................................... 36
A.1. Hospital Information System ................................................................... 36
A.1.1. Requirements of a Hospital Information System .......................... 36
Index ....................................................................................................................... 37
Glossary ................................................................................................................. 38
Up2UML
1. Lesson: UP-Intro
[id: UP-intro ]
You should
understand the basic principles of the Unified Process
be able to identify and define UP phases
know what kind of models are used in UP workflows
know which roles are involved in the UP and
how roles and UP models are related to each other.
1.2. Introduction to the software process used in the case study
The software development methodology used in our case study is providing a framework for applying software engineering practices. It consists of two main parts:
1. a (visual) modeling language (the UML2)
2. a software development process (the Unified Process) which
provides guidance to the order of the activities
specifies what artifacts should be developed using the UML2
directs the tasks of system analysts, software architects, software developers
and project managers involved in the development process.
Up2UML
In this lesson, the basic principles of the Unified Process as a method for software
development are presented.
The Unified Process is an open standard from the authors of the UML2. It is closely
related to the Rational Unified Process which is a commercial version of the UP from
IBM.
Being a generic software development process, the UP has to be customized and instantiated for each particular project.
1.3.2. Introduction to the UP The 3W
[id: o-20070628115549780 ]
Up2UML
3. Artifacts
4. Workflows.
To model the "who", UP uses the concept of the worker (or role).
The "what" is modeled as activities and artifacts.
Activities are tasks that are performed by individuals or teams
Artifacts are things that are inputs and outputs to the project (e.g., source code,
executable programs, documentation, etc.)
The "when" is modeled as workflows that provide a meaningful way to describe the
sequence of activities. Workflows are further broken down and detailed in order to
denote the activities, roles and artifacts involved in the workflow.
1.3.4. Main Principles of the UP
[id: o-20070628120756240 ]
Up2UML
This lesson gives a short introduction to Unified Process phases. You will learn
that the software lifecycle is structured into four phases.
which tasks are being performed and
what the outcomes of each one of the phases are.
Implementation: .
Test: .
Up2UML
Figure 1. UP workflows
The software lifecycle of the Unified Process is decomposed over time into four sequential phases:
Inception,
elaboration,
construction, and
transition.
Up2UML
The purpose of the inception phase is to initiate the project. In the second phase, the
elaboration phase, the product vision and its architecture are defined. The main purpose
of the construction phase is to complete the development of the system based upon
the baselined architecture. The transition phase ensures that the software is ready
for delivery to its users.
Since UP is an incremental process, mainly the Elaboration, Construction and Transition
phases are divided into a series of iterations.
10
Up2UML
Goal
In the UP Inception Phase, the goal is to decide upon the feasibility of the system that
has to be developed. The following things can help in getting an idea of the possible
functionalities of the system:
Statement of major requirements, in the form of use cases
Definition of the system borders
Rough picture of the possible software architecture
Identification of potential risks
Presentation of the proposed system to customers and users.
Outcomes of the UP Inception Phase
11
Up2UML
Goal
The goal of the UP Elaboration Phase is the preparation and planning of the UP
Construction Phase.
This means that
the architectural foundation is established
the development process is refined
quality attributes are defined
the functional requirements are documented, and
12
Up2UML
Goal
The main purpose of the UP Construction Phase is to finalise the requirements, analysis and design of the system. The focus is on the realisation of the planned system,
and the iterative and incremental development of a complete product that is ready to
transition to its user community. The essential activities include:
13
Up2UML
The outcome of the UP Construction Phase is a product ready to put in hands of its
end users. At minimum, it consists of:
the software product integrated on the adequate platforms
the user manuals
the UML2 model
a description of the current release.
1.4.6. UP Transition Phase
[id: o-130953470 ]
14
Up2UML
Goal
During the UP Transition Phase, the system is transferred from the development environment to the user environment. This includes
preparation of the usage site of the software,
instruction of the customer,
upgrading of the environment,
production of user manuals and documentation,
adaptation of the software to the user environment, and
debugging.
Outcome
15
Up2UML
(1)
(2)
(3)
(4)
(5)
the system is transferred from the development environment to the user environment
(4)
Please select from the list below those terms that are used to denominate UP
phases:
(1)
inception
(2)
requirements
(3)
analysis
(4)
elaboration
(5)
construction
(6)
design
(7)
transition
(8)
implementation
(9)
test
(1) (4) (5) (7)
Please select those terms that define best the inception phase:
16
Up2UML
(1)
use cases
(2)
system borders
(3)
coding
(4)
customer presentation
(5)
preliminary architecture
(6)
debugging
(1) (2) (4) (5)
Please select those terms that define best the elaboration phase:
(1)
architecture
(2)
user environment
(3)
risk management
(4)
customer presentation
(5)
quality attributes
(6)
Please select from the list below those elements that define best the construction
phase:
resource management
(2)
debugging
(3)
(4)
process optimisation
(5)
documentation
(1) (3) (4)
(1)
17
Up2UML
In this lesson you will learn more about UP models and their relation to the specific
roles involved in the software development process.
18
Up2UML
Figure 7. UP model
There are dependencies between many models of the Unified Process. Figure 8,
Dependencies between models shows the dependencies between the use-case
model and the other models.
19
Up2UML
The UP Use Case Model describes the functionality of a system. It structures the external view on the system and represents the functional and non-functional requirements. Since a UP Use Case Model contains the language of the customer, it allows
both the customer and the developers to agree on the requirements of a system. The
UP Use Case Model leads to the UP Analysis Model and the UP Design Model.
A UP Use Case Model may contain one or more UML Use Case Diagrams. To detail
the behaviour of selected use cases, the analyst may also use UML Sequence Diagrams, UML Activity Diagrams, and UML State Machine Diagrams. Static structures
can be described with UML Class Diagrams and UML Package Diagrams.
1.5.5. UP models: The UP Analysis Model
[id: o-164510490 ]
20
Up2UML
21
Up2UML
Analysis model
The UP Design Model defines the static structure of the system as subsystems, classes
and interfaces, and defines the use cases as collaborations of subsystems, classes
and interfaces. It serves as an abstraction of the implementation model and its source
code.
22
Up2UML
23
Up2UML
The UP Test Model is a collection of test cases, test procedures, test components
and the expected test results.
24
Up2UML
The UP Deployment Model specifies the hardware and network connections. It shows
the configuration of processing nodes at run-time, the communication links between
them, and the component instances and objects that reside on them.
25
Up2UML
Analyst
The analyst is responsible for eliciting and interpreting the requirements and for use case modelling.
26
Up2UML
Architect
The architect defines the architecture depending
on technical constraints like system type, interfaces
to legacy systems, non-functional requirements,
including design, implementation, and deployment
"views" of the system.
Implementer
The implementer builds prototypes for analysis and
design, writes source code and provides binary
components for integration.
Tester
The tester sets up test plans and a testing environment and performs all kinds of tests.
Workers in UP are involved with different tasks in the software development process.
Table 2, Assignment of UP models to the roles shows the assignment of UP models
to the roles.
27
Up2UML
UP roles
UP models
analyst
architect
UP Test Model
Jim Arlow. Ila Neustadt. UML2 and the Unified Process. Practical Object-Oriented Analysis
and Design. Second Edition. Addison-Wesley. 2005.
Ivar Jacobson. Grady Booch. James Rumbaugh. The Unified Software Development Process.
Addison-Wesley. 1998.
Wolfgang Zuser. Thomas Grechenig. Monika Khle. Software-Engineering mit UML und dem
Unified Process. Addison Wesley in Pearson Education Deutschland . 2004.
1.5.15. Exercise: List UP models
[id: o-20060802145139020 ]
Please select from the list below those terms that are used to denominate UP
models:
28
Up2UML
(1)
(2)
analysis model
(3)
architecture model
(4)
design model
(5)
process model
(6)
implementation model
(7)
test model
(8)
deployment model
(9)
function model
(1) (2) (4) (6) (7) (8)
Please select from the list below those terms that define best the use case model:
(1)
system
(2)
hardware
(3)
requirements
(4)
use case
(5)
components
(1) (3) (4)
Please select from the list below those terms that define best the UP Analysis
Model:
29
Up2UML
(1)
analysis packages
(2)
(3)
hardware
(4)
analysis classes
(1) (2) (4)
Please select from the list below those terms that define best the UP Design Model:
(1)
network
(2)
(3)
classes
(4)
system environment
(5)
subsystems
(6)
interfaces
(2) (3) (5) (6)
Please select from the list below those terms that define best the UP Implementation
Model:
30
Up2UML
(1)
implementation
(2)
rough design
(3)
components
(4)
subsystems
(5)
overview of functionalities
(1) (3) (4)
Please select from the list below those terms that define best the UP Test Model:
(1)
packages
(2)
test cases
(3)
classes
(4)
test procedures
(5)
test scripts
(6)
test results
(2) (4) (5) (6)
Please select from the list below those terms that define best the UP Deployment
Model:
31
Up2UML
(1)
hardware
(2)
network
(3)
system environment
(4)
system
(5)
use case
(1) (2)
Please select from the list below those roles that are described in the UP:
analyst
(2)
controller
(3)
architect
(4)
tester
(5)
system administrator
(6)
implementer
(1) (3) (4) (5)
(1)
32
Up2UML
Six different models are used to describe the system from a particular perspective,
depending on the workflow of the software development process:
UP Use Case Model
UP Analysis Model
UP Design Model
UP Implementation Model
UP Test Model
UP Deployment Model.
Main roles involved in the UP:
architect
analyst
implementer
tester.
33
Up2UML
The UP is a
UML2-based
use-case driven
architecture-centric and
iterative and incremental
software development process. It is a refined, simplified, and non-proprietary version
of the Rational Unified Process.
The four fundamental elements of the UP are
Roles
Activities
Artifacts and
Workflows.
The five core workflows are
Requirements
Analysis
Design
Implementation
Test
.
The UP consists of a sequence of four phases:
Inception
Elaboration
Construction
34
Up2UML
Transition
35
Up2UML
A. Case Studies
36
Up2UML
This may involve a check of certain laboratory values or X-rays in order to see if the
patient has some fractures.
In this case, X-rays of the knee have to be made. The arrangement of the extra examination includes checking whether an X-ray machine and a radiologist are available.
The patient is then sent to the radiology ward for an X-ray. To transfer the patient, the
nurse enters the transfer into the system and then brings him to the radiology ward
where the radiologist conducts his examination. After the examination, the radiologist
enters his diagnosis into the system and the nurse transfers the patient back to the
emergency physician.
Depending on the results of the special examination, which are available in the system,
the emergency physician decides whether the patient must stay in hospital or if he
can go home. If the patient can go home, he is transferred to the reception where the
reception officer takes care of the hospital discharge. This includes the creation of an
invoice and the handing-out of a prescription.
37
Up2UML
Index
M
model
model
use case, 20
models, 27
R
roles, 27
U
Unified Process
Fundamental Elements , 6
introduction , 5
Main Principles , 7
Who, What, When , 6
UP , 5
(see also Unified Process)
model, 28
analysis, 20, 29
deployment, 25, 31
design, 22, 30
implementation, 23, 30
test, 24, 31
use case, 29
models, 18
phases, 8
construction, 13
elaboration, 12
inception, 11
transition, 14
roles, 18, 26, 32
workflows, 8
use case, 29
38
Up2UML
Glossary
activity diagram
actor
analysis
analysis class
analysis packages
API
architectural foundation
artifact
association
behaviour
black-box testing
39
Up2UML
A description of system behaviour, in terms of sequences of actions. A business activity should yield an
observable result of value to a business role.
class
class diagram
A class diagram shows a collection of static model elements, such as classes, types, and their contents and
relationships.
cohesion
Cohesion is a measure of how strongly-related and focused the responsibilities of a systems are.
communication diagram
component
component diagram
The component diagram depicts the software components that compose an application, system or enterprise.
Their components, their interrelationships, interactions,
and their public interfaces are depicted.
concurrency
construction phase
control flow
40
Up2UML
coupling
CRC
deployment diagram
design
In the software domain design is a process of problemsolving and planning for a solution.
design class
design model
design package
A collection of classes, relationships, use-case realisations, diagrams, and other packages. It is used to
structure the design model by dividing it into smaller
parts.
design subsystem
elaboration phase
extend relationship
functional requirement
generalization
inheritance
GUI
41
Up2UML
IBM
implementation
implementation model
inception phase
include relationship
inheritance
inheritance
integration test
interface
Defines the communication boundary between two entities, such as a piece of software, a hardware device,
or a user.
iterations
JDBC
lifecycle
lifeline
message flow
Order of messages
Multiplicities
non-functional requirement
42
Up2UML
object orientation
object-oriented analysis
object-oriented design
object-oriented modelling
object-oriented programming
quality attribute
Software quality attributes are the benchmarks that describe the system's intended behaviour within the environment for which it was built. They provide the means
for measuring the fitness and suitability of a product.
requirements
43
Up2UML
requirements workflow
role
RUP
scenario
A specific sequence of actions that illustrates behaviours. A scenario may be used to illustrate an interaction or the execution of one or more use-case instances.
sequence diagram
singleton pattern
SQL
stakeholder
stereotype
44
Up2UML
system architecture
system border
Marks the border between the use cases and the actors.
system test
transition phase
UML-AD
UML-CD
UML-CompD
UML-ComuD
UML-DD
UML-OD
UML-PD
UML-SD
UML-SMD
UML-UCD
UML2
Unified
guage
Modeling
Lan-
Unified Process
UP
Unified Process
45
Up2UML
use case
A description of system behaviour, in terms of sequences of actions. A use case should yield an observable result of value to an actor.
use-case realisation
validate
validation
The stage in the software lifecycle at the end of the development process where software is evaluated to ensure that it complies with the requirements.
white-box testing
46