sesi3 intro to up

Upload: achmad-solichin

Post on 30-May-2018

216 views

Category:

Documents


0 download

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