You are on page 1of 15

SOFTWARE ENGINEERING II

COMSATS Institute of Information Technology


Computer Science Department
Mukhtiar Zamin,
MS (Computer Science)
Iowa, United States of America
mukhtiar@ciit.net.pk

SE II Lecture 10- UP Elaboration Phase, Definitions, Best Practices, Artifacts etc and Introduction to Domain Model

Lecture 10
Elaboration Phase
Definition
Best Practices
Artifacts
Misconceptions
Iteration 1 Requirements and Emphasis
Planning and Ranking factors for Iterations
Domain Model
Definition
Visual Dictionary
Precautions

SE II Lecture 10- UP Elaboration Phase, Definitions, Best Practices, Artifacts etc and Introduction to Domain Model

Elaboration Phase
The core, risky software architecture is programmed and tested
The majority of requirements are discovered and stabilized
The major risks are mitigated or retired
Consist of two or more iterations
Each iteration 2-6 weeks and end date is fixed (timeboxed)
Remember that do not lead yourself to waterfall thinking (elaboration is
design)
Build the core architecture, resolve the high risk elements, define most
requirements and estimate the overall schedule and resources.
SE II Lecture 10- UP Elaboration Phase, Definitions, Best Practices, Artifacts etc and Introduction to Domain Model

Elaboration Phase Best Practices


Do Short timeboxed risk-driven iterations
Start programming early
Adaptively design, implement and test the core and risky parts of
the architecture
Test early, often realistically
Adapt based on feedback from tests, users, developers
Write most of the use cases and other requirements in detail
through a series of workshop, once per elaboration iteration
SE II Lecture 10- UP Elaboration Phase, Definitions, Best Practices, Artifacts etc and Introduction to Domain Model

Elaboration Phase - Artifacts


In addition to the refinement of inception phase artifacts we add
the following during elaboration phase:
Domain Model
Visualization of domain concepts
Static information model of domain entities

Design Model
Set of diagram that describe the logical design, e.g. Class Diagram,
Objects interaction diagram, package diagram and so forth

Software Architecture Document


Focus on key architecture issues and their resolution in design

SE II Lecture 10- UP Elaboration Phase, Definitions, Best Practices, Artifacts etc and Introduction to Domain Model

Elaboration Phase - Artifacts


Data Model
Database schemas
Mapping strategies between object and non-object
representations.

Use Case Storyboards, UI Prototypes

Description of User Interface


Paths of navigation
Usability Model
Etc.

SE II Lecture 10- UP Elaboration Phase, Definitions, Best Practices, Artifacts etc and Introduction to Domain Model

Elaboration Phase - Misconceptions

More than few months long

Has only one iteration

Requirements were defined before elaboration

Risky elements and core architecture are not being tackled

No production code for executable architecture

Considered as a primary requirements or designing phase

Attempt to do full design before programming

There is minimal feedback and adaption

No early and realistic testing

Architecture is theoretically finalized before programming

SE II Lecture 10- UP Elaboration Phase, Definitions, Best Practices, Artifacts etc and Introduction to Domain Model

Iteration 1 Requirements and Emphasis


Iteration 1
It is a subset of the complete requirements or use
cases
Key understanding in iterative lifecycle methods
UP
XP
SCRUM

Start with production quality programming and


testing for a subset of requirements
Note that at this point all requirements are not
known.
SE II Lecture 10- UP Elaboration Phase, Definitions, Best Practices, Artifacts etc and Introduction to Domain Model

Planning and Ranking factors for Iterations

Planning and project management organize requirements and iterations by risk, coverage and
criticality.
Risk
Include both technical complexity and other factors, such as ambiguities about efforts and
usability
Coverage
Implies that all major parts of the system are at least touched on in early iterations
Criticality
Functions the client considers of high business value.
These criteria are used to rank work across iterations.
Logging mechanism ranking
Ranking is done before iteration-1
Ranking order could be changed at every new iteration
Ranking could be High, Medium and Low

SE II Lecture 10- UP Elaboration Phase, Definitions, Best Practices, Artifacts etc and Introduction to Domain Model

Domain Models
Its all very well in practice, but it will never work
in theory.
Very important model in OO Analysis
Illustrate noteworthy concepts in a domain

Can act as a source for designing some software


objects
SE II Lecture 10- UP Elaboration Phase, Definitions, Best Practices, Artifacts etc and Introduction to Domain Model

10

Domain Model - Example


Records-sale-of
Sales Lineitem
quantity
1..*
Contained in
1

0..1

*
Stocked-in
1

Sale

Date, time
1
Paid-by

Store

0..1

Address, name
1
Houses
1..*

Payment
amount

Item

Register
Captured on 1

SE II Lecture 10- UP Elaboration Phase, Definitions, Best Practices, Artifacts etc and Introduction to Domain Model

11

What is Domain Model?


Its a visual representation of conceptual classes
or real situation objects in domain. [Fowler96]
Also call Conceptual Model
In UP it means a representation of real-situation
conceptual classes, not of software objects. It
does not mean a set of diagrams describing
software classes, the domain layer of software
architecture or software objects with
responsibilities.
SE II Lecture 10- UP Elaboration Phase, Definitions, Best Practices, Artifacts etc and Introduction to Domain Model

12

What is Domain Model


According to UML notation it is represented
by a class diagram which does not have any
operations only provides a conceptual
perspective.
It may show:
Domain objects or conceptual classes
Association between conceptual classes
Attributes of conceptual classes
SE II Lecture 10- UP Elaboration Phase, Definitions, Best Practices, Artifacts etc and Introduction to Domain Model

13

Domain Model Visual Dictionary


Focus on the example diagram how it visualizes
and relates words or concepts in the domain
The same information could be in textual form
but not readable so easily to get the whole idea
about the product
The terms and their relationship in a visual
language of the Domain Model is easy to
understand
SE II Lecture 10- UP Elaboration Phase, Definitions, Best Practices, Artifacts etc and Introduction to Domain Model

14

Domain Model - Precautions


The following elements should be avoided in the
domain Model
Software Artifacts: windows, database etc.
Responsibilities or Methods

Conceptual Class:
An idea, thing or object
May be considered in terms of its symbol, intension and
extentions
Symbol: Words or images for conceptual class
Intention: The definition of conceptual class
Extension: The set of examples to which the conceptual class
applies
SE II Lecture 10- UP Elaboration Phase, Definitions, Best Practices, Artifacts etc and Introduction to Domain Model

15

You might also like