sesi3 intro to up
TRANSCRIPT
-
8/14/2019 Sesi3 Intro to UP
1/51
Analysis and Design Information System MTI Fasilkom 2008
Session 3Session 3
Introduction to UnifiedIntroduction to Unified
ProcessProcess
Dana Indra Sensuse ([email protected])
Indra Budi ([email protected])
Petrus Mursanto ([email protected])
-
8/14/2019 Sesi3 Intro to UP
2/51
Analysis and Design Information System MTI Fasilkom 2008
Software Design Principles and
Object-Oriented Systems
-
8/14/2019 Sesi3 Intro to UP
3/51
Analysis and Design Information System MTI Fasilkom 2008
Software Design Principles and
Object-Oriented Systems
Design Principle: Modularity (Modularisation):
Decomposing large software into a number of smaller as
independent as possible components, usually with the goal of
placing different functionalities or responsibilities in different
components.
Modularity allows the complexity of large software to be
manageable
Object-Oriented Systems Modularised
Classes and objects as the basic components or modules provides aconvenient and effective way to realise and implement the
modularisation
-
8/14/2019 Sesi3 Intro to UP
4/51
Analysis and Design Information System MTI Fasilkom 2008
Software Design Principles and
Object-Oriented Systems (cont) Design Principle: Maximise Information Hiding
Information hiding is a term to describe that components hides the
internal details and processing from one another
Object-Oriented Systems Information hided
Maximising information hiding is achieved as only the information
required to be passed to and returned from a module is published.
Exactly how a module implements its functionality is not relevant
This also provide the reusable objects
-
8/14/2019 Sesi3 Intro to UP
5/51Analysis and Design Information System MTI Fasilkom 2008
Software Design Principles and
Object-Oriented Systems (cont)
Design Principle: Minimise Coupling
Coupling is a term to describe the interactions between components.
The lower coupling, the less interaction (i.e., the more independence)
between components Object-Oriented Systems Loosely coupled:
Encapsulation (i.e., combination of data and process into an entity)
minimises the need of coupling between data and process
Information hiding minimises the communication coupling
-
8/14/2019 Sesi3 Intro to UP
6/51Analysis and Design Information System MTI Fasilkom 2008
Software Design Principles and
Object-Oriented Systems (cont)
Design Principle: Maximise Cohesion
Cohesion is a term to describe the interactions within components.
The more cohesive a component, the more related the internal parts
of the component to each other and to its whole purpose Object-Oriented Systems highly cohesive:
Classes and objects provides highly cohesive units that contain both
data and process, as data and process that are strongly related can be
grouped together into a class and object
-
8/14/2019 Sesi3 Intro to UP
7/51Analysis and Design Information System MTI Fasilkom 2008
Object Oriented Systems
Analysis and Design with UnifiedProcess
-
8/14/2019 Sesi3 Intro to UP
8/51Analysis and Design Information System MTI Fasilkom 2008
Object Oriented Systems Analysis
and Design Grady Booch, Ivar Jacobson & James Rumbaugh said that any
modern oo approach to develop IS must be: Use-case driven
Use case the primary modeling to define the behaviour of the system
Architecture Centric The underlying software architecture of the evolving system specification
drives the specification, construction and documentation of the system
Support three separate but interrelated architectural views of a system
Functional view
Static (structure) view
Dynamic (behaviour) view Iterative and Incremental
Undergoes continous testing and refinement throughout the life of the project
Each iteration of the system brings it closer and closer to real user needs
-
8/14/2019 Sesi3 Intro to UP
9/51Analysis and Design Information System MTI Fasilkom 2008
Unified Process
A special methodology which uses UML techniques for OO analysis anddesign
Phases of Unified Process
Inception, elaboration, construction, and transition
Workflows of Unified Process
Engineering workflows: Business modeling, requirements, analysis, design, implementation, test,
deployment
Supporting workflows:
Configuration and change management, project management, environment
-
8/14/2019 Sesi3 Intro to UP
10/51Analysis and Design Information System MTI Fasilkom 2008
Engineering Workflows
-
8/14/2019 Sesi3 Intro to UP
11/51
Analysis and Design Information System MTI Fasilkom 2008
Supporting Workflows
-
8/14/2019 Sesi3 Intro to UP
12/51
Analysis and Design Information System MTI Fasilkom 2008
The Rational Unified Process (RUP)
RUP is an example of a specialized version of the UnifiedProcess that adds elements to the generic framework A Two-dimensional systems development process described by
a set of phases and workflows. The phases support an analyst in developing information
systems in an iterative and incremental manner, consists ofinception, elaboration, construction and transition
The workflows describe the task of activites that a developerperforms to evolve an information system overtime, consists of:business modelling, requirement, analysis, design,
implementation, test, deployment (Engineering Workflows),project management, configuration and change managemen, andenvironment (Supporting Workflows).
-
8/14/2019 Sesi3 Intro to UP
13/51
Analysis and Design Information System MTI Fasilkom 2008
Unified Modeling Language (UML)
-
8/14/2019 Sesi3 Intro to UP
14/51
Analysis and Design Information System MTI Fasilkom 2008
What Is the UML?
The Unified Modeling Language (UML) is alanguage for
Specifying
Visualizing
Constructing
Documenting
the artifacts of a software-intensive system
-
8/14/2019 Sesi3 Intro to UP
15/51
Analysis and Design Information System MTI Fasilkom 2008
UML History*
* from http://vinci.org/uml/history.html
-
8/14/2019 Sesi3 Intro to UP
16/51
Analysis and Design Information System MTI Fasilkom 2008
The Unified Modeling Language, Version 2.0
Defines a set of fourteen (14) diagram to modelthe system
Classified into two groups in general
Structure DiagramsBehavior Diagrams
-
8/14/2019 Sesi3 Intro to UP
17/51
Analysis and Design Information System MTI Fasilkom 2008
UML 2.0 Diagram Summary
-
8/14/2019 Sesi3 Intro to UP
18/51
Analysis and Design Information System MTI Fasilkom 2008
Use Case Diagram Example
-
8/14/2019 Sesi3 Intro to UP
19/51
Analysis and Design Information System MTI Fasilkom 2008
Activity Diagram Example
-
8/14/2019 Sesi3 Intro to UP
20/51
Analysis and Design Information System MTI Fasilkom 2008
UML Diagrams Are Key System Artifacts in RUP
Actor A
Use Case 1
Use Case 2
Actor B
user:
mainWnd:MainWnd
fileMgr: FileMgr
repository:Repositorydocument:Document
gFile : GrpFile
9: sortByName ( )
L1: Docview request( )
2: fetchDoc( )
5: readDoc( )
7:readFile ( )
3: create ( )
6: fillDocument ( )
4: create ( )
8: fillFile ( )
GrpFile
read()open()
create()fillFile()
rep
Repository
name:c har* =0
readDoc()readFile()
(fromPersistence)
FileMgr
fetchDoc()sortByName()
DocumentList
add()
delete()
Document
name:intdocid :int
numField: int
get()open()
close()
read()sortFileList()create()
fillDocument()
fList
1
FileList
add()
delete()1
File
read()
read()fillthecode..
UI
MFC
RogueWave
global
DocumentApp
PersistenceWindow95
-.EXE
WindowsNT
-.EXE
WindowsNT
Windows95
Solaris
-.EXE
AlphaUNIX
IBMMainframe
-
Windows95
-
-95:-NT: --:- -,--IBM :-,-
Document
FileManager
GraphicFile
File
Repository DocumentList
FileList
usermainWnd fileMgr:
FileMgrrepositorydocument :
DocumentgFile
1:Docviewrequest()
2:fetchDoc()
3:create()
4:create()
5:readDoc()
6:fillDocument()
7:readFile()
8:fillFile()
9:sortByName()
-.
-- -.
- -.
Customernameaddr
withdraw()fetch()send()
receive()
Forward Engineering(Code Generation)
and
Reverse Engineering
Executable System
User InterfaceDefinition
DomainExpert
Openning
Writing
ReadingClosing
add file [ numberOffile==MAX ] /flag OFF
addf i l e
close file
close file
Use Case 3
Source Code edit, compile, debug, link
Use-Case
DiagramClass Diagram
Collaboration Diagram
Sequence Diagram
Component
Diagram
State Diagram
PackageDiagram
Deployment
DiagramClass
-
8/14/2019 Sesi3 Intro to UP
21/51
Analysis and Design Information System MTI Fasilkom 2008
The Rational Unified Process (RUP) *
* This part of slides mostly from Rational Presentation on Introduction to RUP
-
8/14/2019 Sesi3 Intro to UP
22/51
Analysis and Design Information System MTI Fasilkom 2008
Team-Based
Development
Modeling
Language
Building a System - A Language Is Not Enough
Process
-
8/14/2019 Sesi3 Intro to UP
23/51
Analysis and Design Information System MTI Fasilkom 2008
New or changed
requirements
New or changed
system
Software Engineering
Process
What Is a Process?
A process defines Who is doing What, When
and How to reach a certain goal. In software
engineering the goal is to build a software
product or to enhance an existing one
-
8/14/2019 Sesi3 Intro to UP
24/51
Analysis and Design Information System MTI Fasilkom 2008
An Effective Process ...
Provides guidelines for efficient development ofquality software
Reduces risk and increases predictability
Captures and presents best practices Learn from others experiences
Mentor on your desktop
Extension of training material
Promotes common vision and culture
Provides roadmap for applying tools
Delivers information on-line, at your finger tips
-
8/14/2019 Sesi3 Intro to UP
25/51
Analysis and Design Information System MTI Fasilkom 2008
Rational Unified Process Delivers Best
PracticesRational Unified Process describes how to
effectively implement the six best practices for
software development
Control ChangesControl Changes
Manage RequirementsManage Requirements
UseUse
ComponentComponent
ArchitecturesArchitectures
DevelopDevelop
IterativelyIteratively
ModelModelVisuallyVisually
VerifyVerify
QualityQuality
-
8/14/2019 Sesi3 Intro to UP
26/51
Analysis and Design Information System MTI Fasilkom 2008
Rational Unified Process Is Use-Case
Driven
Withdraw Money
Client
AnAn actoractor is someoneis someoneor somethingor somethingoutside theoutside thesystem thatsystem thatinteracts with theinteracts with thesystemsystem
AA use caseuse case is ais asequence ofsequence ofactions a systemactions a system
performs thatperforms thatyields anyields anobservable resultobservable resultof value to aof value to a
Check Balance
Use Cases for a Cash Machine
-
8/14/2019 Sesi3 Intro to UP
27/51
Analysis and Design Information System MTI Fasilkom 2008
Use Cases Include a Flow of Events
Flow of events for the Withdraw Money Use Case1. The use case begins when the client inserts her ATM card.
The system reads and validates information on the card.
2. The system prompts for the PIN. The system validates the
PIN.3. The system asks which operation the client wishes to
perform. The client selects Cash withdrawal.
4. The system requests the amount. The client enters the
amount.
5. The system requests the account type. The client selects
checking or savings.
6. The system communicates with the ATM network . . .
-
8/14/2019 Sesi3 Intro to UP
28/51
Analysis and Design Information System MTI Fasilkom 2008
Benefits of a Use-Case Driven
Process Use cases are concise, simple, and understandable by a wide
range of stakeholders End users, developers and acquirers understand functional requirements
of the system
Use cases drive numerous activities in the process: Creation and validation of the design model
Definition of test cases and procedures of the test model
Planning of iterations
Creation of user documentation
System deployment
Use cases help synchronize the content of different models
-
8/14/2019 Sesi3 Intro to UP
29/51
Analysis and Design Information System MTI Fasilkom 2008
RUP Is Architecture-Centric
Architecture is the focus of the elaboration phase Building, validating, and baselining the architecture constitute the
primary objective of elaboration
The Architectural Prototype validates the architecture and
serves as the baseline for the rest of development
The Software Architecture Description is the primary artifact
that documents the architecture chosen
Other artifacts derive from architecture: Design guidelines including use of patterns and idioms
Product structure Team structure
-
8/14/2019 Sesi3 Intro to UP
30/51
Analysis and Design Information System MTI Fasilkom 2008
Representing Architecture: The 4+1 View Model
Process View Deployment
View
LogicalView Implementation
View
Programmers
Software management
Performance
Scalability
Throughput
System IntegratorsSystem topology
Delivery, installation
communication
System Engineering
Use-CaseView
Structure
Analysts/
Designers End-userFunctionality
-
8/14/2019 Sesi3 Intro to UP
31/51
Analysis and Design Information System MTI Fasilkom 2008
Benefits of an Architecture-Centric Process
Architecture lets you gain and retain intellectual control over aproject, to manage its complexity, and to maintain system
integrity
Architecture provides an effective basis for large-scale reuse
Architecture provides a basis for project management
Architecture facilitates component-based development A component fulfills a clear function in the context of a well-defined
architecture
A component conforms to and provides the physical realization of a set
of interfaces
Components exist relative to a given architecture
-
8/14/2019 Sesi3 Intro to UP
32/51
Analysis and Design Information System MTI Fasilkom 2008
InceptionInception ElaborationElaboration ConstructionConstruction TransitionTransition
Process Architecture - Lifecycle Phases
The Rational Unified Process has four phases: Inception - Define the scope of project
Elaboration - Plan project, specify features, baseline
architecture
Construction - Build the productTransition - Transition the product into end user
community
time
-
8/14/2019 Sesi3 Intro to UP
33/51
Analysis and Design Information System MTI Fasilkom 2008
InceptionInception ElaborationElaboration ConstructionConstruction TransitionTransition
Phase Boundaries Mark Major Milestones
Lifecycle
ObjectiveMilestone
Lifecycle
ArchitectureMilestone
Initial Operational
CapabilityMilestone
Product
Release
time
-
8/14/2019 Sesi3 Intro to UP
34/51
Analysis and Design Information System MTI Fasilkom 2008
Iterations and Phases
An iteration is a distinct sequence of activities with anAn iteration is a distinct sequence of activities with an
established plan and evaluation criteria, resulting in anestablished plan and evaluation criteria, resulting in an
executable release (internal or external)executable release (internal or external)
PreliminaryPreliminary
IterationIterationArchitect.Architect.
IterationIterationArchitect.Architect.
IterationIterationDevel.Devel.
IterationIterationDevel.Devel.
IterationIterationDevel.Devel.
IterationIterationTransitionTransition
IterationIterationTransitionTransition
IterationIteration
InceptionInception ElaborationElaboration ConstructionConstruction TransitionTransition
Minor Milestones: Releases
M j W kfl P d M d l
-
8/14/2019 Sesi3 Intro to UP
35/51
Analysis and Design Information System MTI Fasilkom 2008
Major Workflows Produce Models
Analysis &Analysis &
DesignDesignDesignModel
Implementation
Model
TestModel
realized by
implemented by
verified by
RequirementsRequirements
ImplementationImplementation
TestTest
Use-CaseModel
BusinessBusiness
ModelingModeling
Business Model
supported by
Bringing It All Together: The
-
8/14/2019 Sesi3 Intro to UP
36/51
Analysis and Design Information System MTI Fasilkom 2008
Bringing It All Together: The
Iterative Model
Management
Environment
Business Modeling
Implementation
Test
Analysis & Design
PreliminaryIteration(s)
Iter.#1
Phases
Process Workflows
Iterations
Supporting Workflows
Iter.#2
Iter.#n
Iter.#n+1
Iter.#n+2
Iter.#m
Iter.#m+1
Deployment
Configuration Mgmt
Requirements
Elaboration TransitionInception Construction
Workflowsgroup
activities
logically
In an iteration
you walk
through all
workflows
-
8/14/2019 Sesi3 Intro to UP
37/51
Analysis and Design Information System MTI Fasilkom 2008
Iterative Development Life Cycle (UP)
Disciplines
PSI
RBPL
SQA
-
8/14/2019 Sesi3 Intro to UP
38/51
Analysis and Design Information System MTI Fasilkom 2008
RUP is
A software engineering process
A process product
A process frameworkA collection of best practices
Th RUP i ft i i
-
8/14/2019 Sesi3 Intro to UP
39/51
Analysis and Design Information System MTI Fasilkom 2008
The RUP is a software engineering
process
It provides a disciplined approach to assigning
tasks and responsibilities within a development
organization.
Its goal is to ensure the production of high-quality software that meets the needs of its end
users within a predictable schedule and budget.
-
8/14/2019 Sesi3 Intro to UP
40/51
Analysis and Design Information System MTI Fasilkom 2008
RUP is a process product
It is developed and maintained by RationalSoftware and integrated with its suite of software
development tools.
It is available from IBM on CD-ROM or through
the Internet.
-
8/14/2019 Sesi3 Intro to UP
41/51
Analysis and Design Information System MTI Fasilkom 2008
The RUP is a process framework
RUP can be adapted and extended to suit theneeds of an adopting organization
The RUP is a collection of best
-
8/14/2019 Sesi3 Intro to UP
42/51
Analysis and Design Information System MTI Fasilkom 2008
The RUP is a collection of best
practices
The Rational Unified Process captures many of
the best practices in modern software
development in a form that is suitable for a
wide range of projects and organizations
-
8/14/2019 Sesi3 Intro to UP
43/51
Analysis and Design Information System MTI Fasilkom 2008
The RUP process
A process describes who is doing what, how, andwhen. The Rational Unified Process is represented
using five primary elements:Roles: the who
Activities: the how
Artifacts: the what
Workflows: the when
Disciplines: the "container" for the preceding fourkinds of element
-
8/14/2019 Sesi3 Intro to UP
44/51
Analysis and Design Information System MTI Fasilkom 2008
Role, Activities and Artifact in RUP
-
8/14/2019 Sesi3 Intro to UP
45/51
Analysis and Design Information System MTI Fasilkom 2008
People and Roles
People Roles Activities
Designer Define operations
Use-Case Specifier Detail a Use-Case
System Analyst Find Actors and Use-Cases
Implementer Perform Unit Tests
Architect Identify Design Mechanisms
Paul
Mary
Joe
Sylvia
Stephen
Each individual in the project is
Assigned to one or several roles
-
8/14/2019 Sesi3 Intro to UP
46/51
Analysis and Design Information System MTI Fasilkom 2008
Articfacts
Is a piece of information that is produced, modified, orused by a process
Artifacts take various shapes or forms: A model, such as the use-case model or the design model
A model elementan element within a modelsuch as aclass, a use case, or a subsystem
A document, such as a business case or software architecture
document
Source code Executables
Sets of Artifacts
-
8/14/2019 Sesi3 Intro to UP
47/51
Analysis and Design Information System MTI Fasilkom 2008
Sets of Artifacts Management set groups all artifacts related to the software business and to the
management of the project Planning artifacts, such as the software development plan (SDP), the business case, the
actual process instance used by the project (the development case), and so on Operational artifacts, such as a release description, status assessments, deployment
documents, and defect data The requirements set groups all artifacts related to the definition of the software
system to be developed: The vision document Requirements in the form of stakeholders' needs, use-case model, and supplementary
specification The design set contains a description of the system to be built (or as built) in these
forms: The design model The architecture description
The implementation set includes these elements: The source code and executables The associated data files or the files needed to produce them
The deployment set contains all the information delivered, including the following: Installation material User documentation Training material
-
8/14/2019 Sesi3 Intro to UP
48/51
Analysis and Design Information System MTI Fasilkom 2008
Growing the information sets
-
8/14/2019 Sesi3 Intro to UP
49/51
Analysis and Design Information System MTI Fasilkom 2008
Workflow
A workflow is a sequence of activities thatproduces a result of observable value
Requirements Workflow
-
8/14/2019 Sesi3 Intro to UP
50/51
Analysis and Design Information System MTI Fasilkom 2008
Requirements Workflow
U s e - C a s eS p e c i f i e r
R e q u i r e m e n t sR e v i e w e r
U s e r - I n t e r f a c eD e s i g n e r
C a p t u r e aC o m m o n
V o c a b u l a r y
F i n d A c t o r sa n d U s e C a s e s
R e v i e wR e q u i r e m e n t s
S t r u c t u r e t h eU s e - C a s e M o d e l
U s e r - I n t e r f a c eP r o t o t y p i n g
D e t a i l aU s e C a s e
E l i c i t S t a k e h o l d e r
N e e d s
M a n a g eD e p e n d e n c i e s
A r c h i t e c t
P r i o r i t i z eU s e C a s e s
D e v e l o pV i s i o n
U s e r - I n t e r f a c eM o d e l i n g
-
8/14/2019 Sesi3 Intro to UP
51/51
Analysis and Design Information System MTI Fasilkom 2008
Tool Support for the Entire Project Lifecycle
RequisitePro, Rose, SoDA
Rose, SoDA, Apex
Rose, Apex, SoDA, Purify,
SQA Team Test, Quantify, PerformanceStudio,
SoDA, ClearCase,
Business Modeling RequisitePro, Rose, SoDA
Requirements
Analysis & Design
Implementation
Test
Deployment
Process Workflows
Config & Change Mgmt
Project Management
Environment
Supporting Workflows
Unified Process, Microsoft Project,
Unified Process, Rational Tools
ClearCase, ClearQuest