Top Banner

of 28

Elaboration 1

Apr 06, 2018

Download

Documents

Vinitha Arun
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • 8/3/2019 Elaboration 1

    1/28

    OBJECT ORIENTED ANALYSISAND DESIGN-UNIT II

    P. Vinitha

  • 8/3/2019 Elaboration 1

    2/28

    Objectives

    Elaboration

    Domain Models

    Finding conceptual classes and description classes Associations

    Attributes

  • 8/3/2019 Elaboration 1

    3/28

    UP Phases a recap

    Phases describe the functional implementation of

    the project. There are several iterations in each

    phase. Project phases and general percent of the

    project are:

    Inception - 5%

    Elaboration - 20%

    Construction - 65% Transition - 10%

  • 8/3/2019 Elaboration 1

    4/28

    Inception Phase

    At the end of the inception phase is the first major

    project milestone:

    Stakeholder concurrence on scope definition and

    cost/schedule estimates.

    Depth and breadth of any architectural prototype that

    was developed.

    Actual expenditures versus planned expenditures.

  • 8/3/2019 Elaboration 1

    5/28

    Elaboration Phase

    The purpose of the elaboration phase is to analyze the

    problem domain, establish a sound architectural

    foundation, develop the project plan, and eliminate

    the highest risk elements of the project. Elaboration is the initial series of iterations during

    which, on a normal project:

    The core, risky software architecture is programmed and

    tested

    The majority of requirements are discovered and stabilized

    The major risks are mitigated or retired

  • 8/3/2019 Elaboration 1

    6/28

    Iteration

    The word "iterative" means that it involvesrepetition.

    The UML process allows for designs to have

    iterative processes. each iteration add some function (based on a use

    case) to the system.

    Additional features or functions are added in

    succeeding iterations.

    Each iteration will have a time limit and will havespecific goals. This is called "time boxing".

  • 8/3/2019 Elaboration 1

    7/28

    Iteration

  • 8/3/2019 Elaboration 1

    8/28

  • 8/3/2019 Elaboration 1

    9/28

    Elaboration Phase (Example)

    The requirements for the first iteration of the NextGenPOS application follow: Implement a basic, key scenario of the Process Sale use

    case: entering items and receiving a cash payment.

    Implement a Start Up use case as necessary to support theinitialization needs of the iteration.

    Nothing fancy or complex is handled, just a simple happypath scenario, and the design and implementation tosupport it.

    There is no collaboration with external services, such as atax calculator or product database.

    No complex pricing rules are applied

  • 8/3/2019 Elaboration 1

    10/28

    Sample Elaboration Artifacts

    Artifact Comment

    Domain Model This is a visualization of the domain concepts; it is similar to a static

    information model of the domain entities.

    Design Model This is the set of diagrams that describes the logical design. This

    includes software class diagrams, object interaction diagrams,package diagrams, and so forth.

    Software

    Architecture

    Document

    A learning aid that summarizes the key architectural issues and their

    resolution in the design. It is a summary of the outstanding design

    ideas and their motivation in the system.

    Data Model This includes the database schemas, and the mapping strategies

    between object and non-object representations.

    Use-Case

    Storyboards, UI

    Prototypes

    A description of the user interface, paths of navigation, usability

    models, and so forth.

  • 8/3/2019 Elaboration 1

    11/28

    Elaboration Phase

    Planning the Next Iteration

    Organize requirements and iterations by risk,coverage, and criticality.

    Risk includes both technical complexity and otherfactors, such as uncertainty of effort or usability.

    Coverage implies that all major parts of the system areat least touched on in early iterations perhaps a "wideand shallow" implementation across manycomponents.

    Criticality refers to functions the client considers ofhigh business value

  • 8/3/2019 Elaboration 1

    12/28

    Elaboration Phase

    Ranking the criteria

    Use cases or use case scenarios are ranked for

    implementation

    The ranking is done before iteration-1, but then againbefore iteration-2, and so forth, as new requirements and

    new insights influence the order.

    Rank Requirement (Use Case or Feature) Comment

    High Process Sale

    Logging

    Scores high on all rankings.

    Pervasive. Hard to add late.

    Medium Maintain Users

    Affects security subdomain.

    Low

  • 8/3/2019 Elaboration 1

    13/28

    Elaboration Phase

    The outcome of the elaboration phase is: A use-case model (at least 80% complete) all use cases and

    actors have been identified, and most usecase descriptionshave been developed.

    Supplementary requirements capturing the non functionalrequirements and any requirements that are not associated

    with a specific use case.

    A Software Architecture Description.

    An executable architectural prototype.

    A revised risk list and a revised business case.

    A development plan for the overall project.

    An updated development case specifying the process to beused.

    A preliminary user manual (optional).

  • 8/3/2019 Elaboration 1

    14/28

    Domain Model

  • 8/3/2019 Elaboration 1

    15/28

    Domain Model

    A domain model is a visual representation ofconceptual classes or real-situation objects in adomain.

    Domain models have also been called conceptual

    models A UML domain model will relate objects in the system

    domain to each other.

    It will define concepts and terms.

    Objects in the domain model can be:Physical objects

    Abstract concepts

  • 8/3/2019 Elaboration 1

    16/28

    Domain Model (Example)

    It illustrates that the conceptual classes of

    Payment and Sale are significant in this domain

  • 8/3/2019 Elaboration 1

    17/28

    Domain Model

    Syntax

  • 8/3/2019 Elaboration 1

    18/28

    Domain Model

    There can be multiple relationships between objects inthe domain model.

    In the domain model the following are shown:

    Concepts (Objects) Attributes of Objects - Attributes must be simple attributes

    such as numbers. They cannot be objects, dimensionednumbers, or keys to part of a database.

    Association between objects

    Multiplicity

    Optional direction of relationship arrow

    Optional role of object

  • 8/3/2019 Elaboration 1

    19/28

    Domain Model a "Visual Dictionary

    It shows an visual abstraction of the conceptualclasses, because there are many other things onecould communicate about registers, sales, and soforth.

    It's easy to understand the terms and especially theirrelationships in a visual language, since our brains aregood at understanding visual elements and lineconnections.

    Therefore, the domain model is a visual dictionary ofthe notable abstractions, domain vocabulary, andinformation content of the domain.

  • 8/3/2019 Elaboration 1

    20/28

    Domain Model a Picture ofSoftware

    Business Objects

    A UP Domain Model is a visualization of things in areal-situation domain of interest, not of softwareobjects such as Java or C# classes, or software

    objects with responsibilities . The following elements are not suitable in a

    domain model:

    Software artifacts, such as a window or a database,

    unless the domain being modeled is of softwareconcepts, such as a model of graphical user interfaces.

    Responsibilities or methods.[

  • 8/3/2019 Elaboration 1

    21/28

    Domain Model a Picture ofSoftware

    Business Objects

  • 8/3/2019 Elaboration 1

    22/28

    Steps to Create a Domain Model

    Identify Candidate Conceptual classes

    Draw them in a Domain Model, the vocabulary of

    the domain

    Add associations necessary to record the

    relationships that must be retained

    Add attributes necessary for information to be

    preserved Apply existing Analysis Patterns

  • 8/3/2019 Elaboration 1

    23/28

    Domain Model

    What are Conceptual Classes?

    A conceptual class is an idea, thing, or object.

    More formally, a conceptual class may be

    considered in terms of its symbol, intension, and

    extension .

    Symbol words or images representing a conceptual class.

    Intension the definition of a conceptual class.

    Extension the set of examples to which the conceptual

    class applies.

  • 8/3/2019 Elaboration 1

    24/28

    Domain Model

    Conceptual class example for the event of a purchase transaction.

    Symbol - Sale.

    he intension of a Sale - Represents the event of a purchase transaction, and has a date and

    time.

    he extension ofSale - The set of all sale instances in the universe.

  • 8/3/2019 Elaboration 1

    25/28

    Domain Models

    Three Strategies to Find Conceptual Classes

    Reuse or modify existing models.

    Use a category list.

    Identify noun phrases.

  • 8/3/2019 Elaboration 1

    26/28

    Domain Models

    Method 2: Use a Category List

    We can kick-start the creation of a domain model by

    making a list of candidate conceptual classes

  • 8/3/2019 Elaboration 1

    27/28

    Domain Models - Find Conceptual Class

    Conceptual Class Category Examples

    business transactions

    Guideline: These are critical (they involve money), so start with

    transactions.

    Sale, Payment

    Transaction line items

    Guideline: Transactions often come with related line items, soconsider these next.

    SalesLineItem

    Product or service related to a transaction or transaction line item

    Guideline: Transactions are for something (a product or service).

    Consider these next.

    Item

    where is the transaction recorded?

    Guideline: Important.

    Register, Ledger

    Roles of people or organizations related to the transaction; actors

    in the use case

    Guideline:We usually need to know about the parties involved in a

    transaction.

    Cashier, Customer,

    Place of transaction; place of service Store

    Conceptual Class Category List.

  • 8/3/2019 Elaboration 1

    28/28

    Domain Models - Find Conceptual Class

    Method 3: Finding Conceptual Classes with Noun PhraseIdentification

    Another useful technique is linguistic analysis: Identify the nounsand noun phrases in textual descriptions of a domain, and considerthem as candidate conceptual classes or attributes

    Main Success Scenario (or Basic Flow):

    Customer arrives at a POS checkout with goods and/or services topurchase.

    Cashier starts a new sale.

    Cashier enters item identifier.

    System records sale line item and presents item description, price, andrunning total. Price calculated from a set of price rules.

    Cashier repeats steps 2-3 until indicates done