• Tidak ada hasil yang ditemukan

Overview of This Lecture

N/A
N/A
Protected

Academic year: 2018

Membagikan "Overview of This Lecture"

Copied!
9
0
0

Teks penuh

(1)

Introduction to

Process Development

Oleh

3/20/2013 1

I Gede Made Karma

Source : CPSC-4360-01, CPSC-5360-01, Lecture 2

Overview of This Lecture

„

Software Development Models

‰ Waterfall Model

‰ Evolutionary Models

‰ Incremental Model

‰ Spiral Model

3/20/2013 2

p

‰ Unified Process

„

Overview of UML

‰ History

‰ 4 + 1 View models

‰ Using UML in UP

Software Development Models

„ High level, abstract representation of software development (software process):

‰ Specification.

‰ Development.

‰ Validation.

E l ti

3/20/2013 3

‰ Evolution.

„ Theoretical framework that is usually extended and

adapted in real world application.

„ Two Generic Models:

‰ Waterfall Model.

‰ Evolutionary Model.

Waterfall Model

„ The earliest software development model (Royce, 1970).

Requirements definition

System and software design

3/20/2013 4

Implementation and unit testing

Integration and system testing

Operation and maintenance

Waterfall Model

„

Defined a number of phases, e.g.,

requirement phase

”, “

design phase

”, etc.

„

The phases correspond to the four stages of

the fundamental software process activities

the fundamental software process activities.

„

Assumption behind the model:

‰ a phase takes place in sequence to another.

‰ each activity is completed before the next starts.

Waterfall Model

„

In theory:

‰ Each phase produces documents that are:

„ Verified and validated.

„ Assumed to be complete.

‰ Each phase depends on the documents of the

‰ Each phase depends on the documents of the

previous stage to proceed → it has to wait for the completion of previous stage.

„

In practice:

‰ The phases overlap and feedback to each other

(2)

Waterfall Model: Advantages

„

Tangible products (the various documents) at

the end of every phases

good to measure

progress.

„

Intuitive sensible and general purpose:

3/20/2013 7

„

Intuitive, sensible and general purpose:

‰ Emphasize planning before action.

‰ Recommend a top-down perspective. See the big

picture before zooming down.

Waterfall Model: Problems

„

Specification is frozen early, because:

‰ It is costly and time consuming.

‰ Later stages can be carried out.

„

Cannot adapt to changing or incorrect

3/20/2013 8

specification:

‰ Ignore or code around.

‰ Does not meet user requirement.

„

Testing at the very end of development:

‰ Work or die situation.

Waterfall Model: Observations

„ Process stages can be iterative.

„ Flexibility in coping with changing specification.

„ Early and frequent validation of software system.

„ The later models are designed in response to these

3/20/2013 9

g p

observations.

Evolutionary Model

„ Evolves an initial implementation with user feedback

→ multiple versions until the final version.

Specification Initial Concurrent

activities

3/20/2013 10

Validation Final version Development Intermediate

versions Specification Initial version

Outline description

Evolutionary Model

„ Two fundamental types:

‰ Exploratory Development:

„ Explores the requirement and delivers a final system.

„ Starts with something that is understood and evolves by adding new features proposed by customers.

Th t t i

‰ Throwaway prototyping:

„ Understands the requirement and develop a better requirement definition.

„ Experimenting with poorly understood requirement.

„ Usually develops User Interface (UI) with minor or no functionality.

Evolutionary Model: Advantages

„

Customer involvement in the process:

‰ More likely to meet the user requirement.

„

Early and frequent testing:

‰ More likely to identify problems ‰ More likely to identify problems.

‰ Lower risk.

(3)

Evolutionary Model: Problems

„ The process is intangible:

‰ No regular, well-defined deliverables.

„ The process is unpredictable:

‰ Hard to manage, e.g., scheduling, workforce allocation, etc.

„ Systems are poorly structured:

3/20/2013 13

„ Systems are poorly structured:

‰ Continual, unpredictable change tends to corrupt the software structure.

‰ Can cause major problems during software evolution.

„ Systems may not even converge to a final version.

‰ No strategy to gauge or solve this problem.

Incremental Model

„

Combine the advantages of Waterfall and

Evolutionary Model.

Requirements Split into

i t

Design S t

3/20/2013 14

Outline increments System Architecture

Develop

Increment IncrementValidate IncrementIntegrate

Validate System

Final System

Incremental Model

„

Each increment is a mini-waterfall.

3/20/2013 15

Incremental Model

„

Prioritizes the services to be provided by the

system.

„

Maps these requirements to

Increment

based

on priority.

„

Freezes requirement for the current

Increment.

3/20/2013 16

q

‰ Requirements for the later increments can evolve

concurrently.

„

Each

Increment

release is a working system:

‰ Allows user to experiment.

‰ Can be put into service right away.

Incremental Model: Advantages

„

Early utilization:

‰ the 1stincrement satisfies the most critical

requirement.

„

Early increments can serves as prototypes.

Early increments can serves as prototypes.

„

Lower risk of overall project failure.

„

Most crucial and basic services are

implemented first

receives multiple testing

throughout development.

Incremental Model: Problems

„

Hard to map requirement into small

increments (< 20,000 lines of code).

„

Hard to define the basic services that are

shared by all subsequent increments

shared by all subsequent increments.

„

Popular variant:

‰ AGILE method:

„ eXtreme Programming (XP)

(4)

Spiral Model

„ Formalize the Evolutionary Model and avoid the

management shortcomings.

3/20/2013 19

Spiral Model

„

Process is represented as a

spiral

rather than

as a sequence of activities with backtracking.

„

Each loop = One Iteration = A process phase.

„

Each Loop passes through 4 quadrants (90°):

Obj ti S tti

3/20/2013 20

‰ Objective Setting.

‰ Risk Assessment and Reduction.

‰ Development and Validation.

‰ Planning.

„

As loops move away from center

Time and

Cost increase.

Spiral Model

„

Risk Driven:

‰ Explicitly identify risks for each iteration.

‰ Address the highest perceived risk.

„

Does not prescribe a fix process:

P j t M h th i t ti it

3/20/2013 21

‰ Project Manager chooses the appropriate activity

for each iteration base on progress and perceived risk.

„

Flexible:

‰ May resemble other process model depends on

needs.

Unified Process

„ State of the art process, by learning from the history of previous software development processes.

3/20/2013 22

Unified Process

„

Integrating two seemingly contradicting insights:

‰Definitive activities and deliverables as in the

Waterfall Model.

‰Iterative and incremental processes.

„

A project is split into several

phases:

„

A project is split into several

phases:

‰Each phase is split into several iterations.

‰Each iteration consists of the traditional process activities, known as workflow.

„

Each workflow places

different

emphasis on the

activities depending on the current iteration.

Unified Process: 4 Phases

„ Inception:

‰ Plan the project.

‰ Evaluate risk.

„ Elaboration:

‰ Understand problem domain.

‰ Design system architecture ‰ Design system architecture.

‰ Plan development.

„ Construction:

‰ Design, programming and test.

„ Transition:

‰ Moving system from developer to user environment.

(5)

Other Process Models

„ Formal System Development:

‰ Transforms a mathematical based specification through different representation → executable program. ‰ Program correctness is easy to demonstrate, as the

transformations preserve the correctness.

„ Reuse Oriented Development:

3/20/2013 25

„ Reuse-Oriented Development:

‰ Concentrates on integrating new system with existing components/systems.

‰ Growing rapidly as development cost increase.

„ Aspect-Oriented Development.

„ Agent-Oriented Software Development.

Unified Modeling Language (UML)

„

A

visual language

to

‰ Visualize, construct, document software system.

„

Similar to all other languages, UML has:

‰ Grammar: Rules to follow when drawing diagrams.

‰ Semantics:The meaning behind each diagram

3/20/2013 26

‰ Semantics:The meaning behind each diagram.

„

Used with the Object-Oriented Method.

„

Separates the language from the software

process

can be used with other software

development model.

„

Currently, this is an industry standard.

What UML is NOT

„

Not a programming language.

‰ Not executable.

‰ Exist tools to translate into code (skeleton), but the programmer still need to do the bulk of work.

N t

ft

d li

t

l

3/20/2013 27

„

Not a software modeling tool.

‰ There are tools that implementthe UML standard,

e.g., ArgoUML, Visual Paradigm, RationalRose.

„

Not a SE method or software development

process.

UML: Brief History

„ OO Modeling approach with different strengths and

weaknesses grows rapidly.

„ In 1995,

‰ There were more than 50 named techniques in the industry.

‰ The Object Management Group (OMG) calls for a common

d li h

3/20/2013 28

modeling approach.

„ Rumbaugh, Booch, and Jacobson (The three amigos)

with input from others, formalized the UML standard (UML 1.1) in 1997.

„ Revised in 2003 (UML 1.5): Currently most widely used.

„ Reorganized in 2005 (UML 2.0): A new standard.

UML: 4 + 1 View Models

„

A system can be viewed in different ways,

usually depends on the role of the viewer.

„

UML supports this by providing the 4 + 1 View

Models [Kruchten, 1995]:

System

Design View

Implementation View

Deployment View

Process View Use Case

View

Use Case View

„

Audience:

‰ System Analyst, End Users and Testers.

„

Usage:

‰ Describes the system’s external behaviour

‰ Describes the system s external behaviour.

‰ Defines the requirements of the system, so it

constraints all the other views.

‰ Has the central role in driving the development

(6)

Example of Use Case

„

Elevator System

‰Use case 1: ‘Call Elevator’ is this possible written story: „ Basic course of events: If the userOutside wants to call lift to

go up/down, then he/she presses UpButton/DownButton;

„ Exception 1: If the lift is at the ground floor, then there is no DownButton;

3/20/2013 31

DownButton;

„ Exception 2: If the lift is at the top floor, then there is no UpButton;

‰Use case 2: ‘Move From Inside’ is this written story: „ The userFromInside can select a floor number (from 1 to the

number of floors of the building), or can press “Open”, “Close”.

Design View

„

Audience:

‰ System Analyst and Programmers.

„

Usage:

‰ Describes the logical structures that support the

3/20/2013 32

functional requirements expressed in the use case view.

‰ Consists of definitions of program components

(classes, data), their behaviour and interactions.

‰ Useful as basis for coding.

Implementation View

„

Audience:

‰ System Engineer and Tester.

„

Usage:

‰ Describes the physical components out of which

3/20/2013 33

the system is to be constructed:

„ executable files,

„ libraries of code,

„ databases.

‰ Useful for configuration management and system

integration.

Process View

„

Audience:

‰ System Analyst, Programmer and Tester.

„

Usage:

‰ Non-Functional requirements.

3/20/2013 34

‰ Defines concurrency within the system.

„

Relatively undeveloped.

Deployment View

„

Audience:

‰ System Integrator (setup the system at client side).

„

Usage:

‰ Non-Functional.

D ib h i l t th t d l d

‰ Describes physical components that are deployed

in the physical environment:

„ Network of computers, connection protocol.

„ Computer specification.

„

Relatively Undeveloped.

UML Terminology

„ Model:

‰ Refers to the information in a single view, e.g., Use Case Model. OR

‰ Refers to all the information about the system, i.e., System Model.

„ Model element:

‰ Independent graphical notation element, e.g., a box, an arrow, etc, that has a well defined meaning.

„ Diagram:

(7)

UML Diagrams by Views

1. Use case diagram (use case view)

2. Object diagram (use case and design views)

3. Sequence diagram (use case and design views)

4. Collaboration diagram (use case and design views)

Cl di (d i i )

3/20/2013 37

5. Class diagram (design view)

6. Statechart diagram (design and process views)

7. Activity diagram (design and process views)

8. Component diagram (implementation view)

9. Deployment diagram (deployment view)

UML Diagrams by Characteristic

„

Software system exhibits two characteristics:

‰ Static: Logical Structure, e.g., relationship

between classes, attributes of a class, etc.

‰ Dynamic: Behavior of the system, e.g., how to

3/20/2013 38

y y g

respond to a certain event, how to initiate an action, etc.

„

In addition, knowledge about setting up and

running the system:

Implementation

.

UML Diagrams by Characteristic

„ Static:

‰ Use case diagram

‰ Class diagram

„ Dynamic:

‰ Object diagram

‰ State diagram

3/20/2013 39

‰ State diagram

‰ Activity diagram

‰ Sequence diagram

‰ Collaboration diagram

„ Implementation:

‰ Component diagram

‰ Deployment diagram

Design Model and Code

„ Models present an abstract view of system.

„ Implementation adds enough detail to make these

models executable.

UML model Object structures

UML specifies

3/20/2013 40

Source code Executing program Java

Abstract view of Abstract view of

specifies

Compile time Run time

UML Models

„ Both documentation (‘UML model’) and ‘Source code’ can be described as compile-time artifacts.

„ ‘Object structures’: Programmers in object-oriented languages (e.g., Java, C++) tend to use abstract models of program execution which talk in terms of objects being created and destroyed as a program runs

created and destroyed as a program runs.

„ ‘Executing program’: describes the effect the program has on computer’s processor and memory when the program is running.

ƒ The upper and below parts refer to design and programming.

ƒ The left and right parts refer to compile-time and run-time.

Unified Process and UML

„

UP is

Use Case Driven

:

‰ A systematic utilization of Use Case.

„

UML diagrams are used in the

Requirement,

Analysis

and

Design

activities in the UP

Analysis

and

Design

activities in the UP

workflow.

(8)

UP: Requirement and Analysis

„

UP starts with

use

cases

describing how

users interact with the

system:

3/20/2013 43

‰ A domain model records facts about real world entities.

‰ UML use case and class

diagrams document these.

UP: Analysis and Design

„ Analysis and Design usually overlap in UP as the

same diagrams are used.

„ Proceed by Realization and Refinement.

3/20/2013 44

UP: Realization and Refinement

„

Use case

realizations

indicate how the

functionality will be supported by the system.

‰ Documented in UML interaction diagrams, e.g.,

Sequence Diagram, Collaboration Diagram.

3/20/2013 45

„

This causes the domain model to be

refined

into a more implementation-oriented

class

diagram

.

UP: Specifying Behavior

„

UML provides

State Chart

to document the

behavior of classes.

3/20/2013 46

Summary (1)

„

Waterfall Process Model:

‰ Development activities in a linear fashion.

‰ Requirements to freeze very early in

development.

T ti l t i th

‰ Testing very late in the process.

„

Evolutionary Process Model in response to

iterative nature of development:

‰ Use of prototyping.

‰ Requirements evolve with users’ feedback.

Summary (2)

„

Incremental Process Model in response to

incremental nature of development:

‰ Delivery in increments.

‰ Allows prioritizing risks in development.

‰ Allows prioritizing risks in development.

(9)

Summary (3)

„

Spiral Model:

‰ Addresses incremental and iterative nature of

development.

‰ Allows risk evaluation at every phase.

‰ Expensive process.

3/20/2013 49

p p

‰ Allows use of multiple process models.

„

Unified Process:

‰ Incorporates best industry practices.

‰ Extensive use of UML models.

‰ Allows iteration of workflows.

Summary

„

Software Development Models

‰ Waterfall Model

‰ Evolutionary Models

‰ Incremental Model

‰ Spiral Model

3/20/2013 50

p

‰ Unified Process

„

Overview of UML

‰ History

‰ 4 + 1 View models

‰ Using UML in UP

Reading Suggestions

„ [Wadhwa, Andrei, Soo; 2007], Chapter 2

„ [Sommerville; 2008], Chapters 1 and 4

„ [Priestley; 2004], Chapter 3

3/20/2013 51

Coming up next

„

Use Case Modeling, Domain Modeling:

‰[Wadhwa, Andrei, Soo; 2007], Chapters 2 and 3

‰[Priestley; 2004], Chapter 4

3/20/2013 52

Thank you for your attention!

Referensi

Dokumen terkait

In response to this need, this paper introduces a systematic approach to model the stochastic process of system failures and repairs as a continuous-time Markov chain, in which the

Formal Information System • The nature of the information and managerial levels is also related to the major types of decision making: – Structured and – Unstructured • In

Nature and Scope of the Law of Conspiracy in Section 120A, Indian Penal Code 1860 The nature and scope of Criminal Conspiracy are limited to conspiring to do an illegal act by two or

This study was carried out with the aim of development of a clinical pathway for normal vaginal delivery to improve this process.. In this paper we report the process of clinical

Thompson states mission as the “ essential purpose of the organization, concerning particularly why it is in existence, the nature of the business it is in, and the customers it seeks

5 The buyer is bound- a to disclose to the seller any fact as to the nature or extent of the seller's interest in the property of which the buyer is aware, but of which he has reason

This study aimed to evaluate weight gain, rumen fermentation and plasma metabolites of Australian tropical beef cattle in response to supplementation with incremental levels of

In areas of child and physical activity and nutrition, the Get Up and Grow guidelines are the best to access • Government guidelines change in response to changes in research • In