pertemuan 2-apbo-software-developmeng-processing

29
Oct 26, 2022 Software Development Process E. Haodudin Nurkifli Teknik Informatika Universitas Ahmad Dahlan Kuliah 2 : Administrative dan Introduction 2 Oktober 2010

Upload: abi-bobon

Post on 07-Dec-2014

238 views

Category:

Documents


6 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Pertemuan 2-apbo-software-developmeng-processing

Apr 10, 2023

Software Development Process

E. Haodudin Nurkifli

Teknik Informatika

Universitas Ahmad DahlanKuliah 2 : Administrative dan Introduction

2 Oktober 2010

Page 2: Pertemuan 2-apbo-software-developmeng-processing

Eko AB – Analisis dan Perancangan Algoritma 2

Part 2Software Development Process

Page 3: Pertemuan 2-apbo-software-developmeng-processing

Eko AB – Analisis dan Perancangan Algoritma 3

Systems vs. Software Development

Difficulties in Software Develoment

Software Development Life Cycle

User Involvement

Case Tools Support

Outline

Page 4: Pertemuan 2-apbo-software-developmeng-processing

Eko AB – Analisis dan Perancangan Algoritma 4

Systems Development

Systems development is

concerned with all aspects

of computer-based systems

development including – hardware,

– software and

– Human activities

May not even include

software as part of the

solution

Page 5: Pertemuan 2-apbo-software-developmeng-processing

Eko AB – Analisis dan Perancangan Algoritma 5

Software Development

Software development is focused soly on producing a

software system that will satisfy user requirement.

Software: computer programs and associated

documentation

• Software development may be considered as part of

systems development

Page 6: Pertemuan 2-apbo-software-developmeng-processing

Eko AB – Analisis dan Perancangan Algoritma 6

The Main Players

Developers

– Those who will produce the system

End-users

– Those who may directly operate the system

Owners or sponsors - clients

– Those who commission the project, pay for it or

have the power to halt it

Page 7: Pertemuan 2-apbo-software-developmeng-processing

Eko AB – Analisis dan Perancangan Algoritma 7

Sotware quality: whether the software “fits for purpose”, satisfies

all user requirements.

Example failures

– It might work, but dreadful to use (user)

– It is pretty, but does not do anything useful (user)

– Users and owners may not know how to ask for what they really want,

e.g. “We built what they said they wanted” (developer)

– Budget and time constraints often conflict with doing the job properly,

e.g. “There was not enough time to do it any better” (developer)

– Difficulties for the possession of blended skills, e.g. “Do not blame

me, I never done object-oriented analysis before” (developer)

Difficulties in Software Development

Page 8: Pertemuan 2-apbo-software-developmeng-processing

Eko AB – Analisis dan Perancangan Algoritma 8

Productivity: the progress of the project, and the

resources (including time and money) that it consumes

along the way (much related to project management)

Example failures– A system that is promised but not delivered (user)

– It is no use delivering now, we need it last April (owner)

– Projects that overspend their budget (owner)

– Requirements drift, e.g. user changes their minds

frequently(develper)

– Implementation not feasible, e.g. we said it was impossible, but

no-one listened (developer)

Difficulties in Software Development

How to overcome them?

Page 9: Pertemuan 2-apbo-software-developmeng-processing

Eko AB – Analisis dan Perancangan Algoritma 9

Software Development Process

Subdividing the process of software development into

different phases

Ease of management to produce appropriate quality

standard and to stay within the allocated budgest

Help to identify and allocate developers’ skills

appropriately, and thus improve the quality of the task

completion

Known as project life cycle model

Page 10: Pertemuan 2-apbo-software-developmeng-processing

Eko AB – Analisis dan Perancangan Algoritma 10

Project Life Cycle

Two important precursor

phases are– Strategic Information Systems

Planning

– Business Modelling

Focus on organisation needs

They are not computational

Universially accepted for

commercially oriented

computer system development

Don´t blindly follow the path to

automation. The very first question is

whether or not you even need a

computer system...”

Page 11: Pertemuan 2-apbo-software-developmeng-processing

Eko AB – Analisis dan Perancangan Algoritma 11

Generic Life Cycle Models

The Waterfall Model

Prototyping

Iterative and Incremental Development

The Unified Process Life Cycle

Page 12: Pertemuan 2-apbo-software-developmeng-processing

Eko AB – Analisis dan Perancangan Algoritma 12

Waterfall Life Cycle

System System Engineering Engineering

Design Design

Code

Construction

Testing

Maintenance Maintenance

Analysis Requirements Analy sis

Code Installation

Requirements specificationFunctional specificationAcceptance test specifications

Unit test reportSub-system test reportSystem test reportAcceptance test reportCompleted system

Software architecture specificationSystem test specificationDesign specificationSub-system test specificationUnit test specification

Change requestsChange request report

Page 13: Pertemuan 2-apbo-software-developmeng-processing

Eko AB – Analisis dan Perancangan Algoritma 13

Waterfall Life Cycle

• The traditional life cycle (TLC) for information

systems development.

• So called because of the difficulty of returning to

an earlier phase.

• The drawback of the waterfall model is the

difficulty of accommodating change after the

process is underway

Page 14: Pertemuan 2-apbo-software-developmeng-processing

Eko AB – Analisis dan Perancangan Algoritma 14

TLC with Iteration

The cost of this form of iteration increases as the project progresses making it impractical and not effective

Page 15: Pertemuan 2-apbo-software-developmeng-processing

Eko AB – Analisis dan Perancangan Algoritma 15

Problems with TLC

Real projects rarely follow such a simple sequential life

cycle

– Lapsed time between systems engineering and the

final installation is long

– Iterations are almost inevitable in real projects but are

expensive & problematic with the TLC

– Unresponsive to changes during project as iteration is

difficult

Therefore, this model is only appropriate when the

requirements are well-understood

Page 16: Pertemuan 2-apbo-software-developmeng-processing

Eko AB – Analisis dan Perancangan Algoritma 16

Strengths of TLC

Provide a very structured way to system

development

Tasks in phases may be assigned to

specialized teams.

Project progress evaluated at the end of each

phase, and assessment made as to whether

the project should proceed

Page 17: Pertemuan 2-apbo-software-developmeng-processing

Eko AB – Analisis dan Perancangan Algoritma 17

Prototyping Life Cycle

Initial analysis

Define objectives

Specify

Construct Evaluate Prototyping completed

• Not intended to deliver the final working system

• Quickly built up to explore some aspects of the system

• May be used as part of other iterative life cycle

Page 18: Pertemuan 2-apbo-software-developmeng-processing

Eko AB – Analisis dan Perancangan Algoritma 18

Prototyping – Advantages

Early demonstrations of system functionality help

identify any misunderstandings between developer

and client

Client requirements that have been missed are

identified

Difficulties in the interface can be identified

The feasibility and usefulness of the system can be

tested, even though, by its very nature, the prototype

is incomplete

Page 19: Pertemuan 2-apbo-software-developmeng-processing

Eko AB – Analisis dan Perancangan Algoritma 19

Prototyping – Problems:

The client may perceive the prototype as part of

the final system

The prototype may divert attention from

functional to solely interface issues

Prototyping requires significant user

involvement

Managing the prototyping life cycle requires

careful decision making

Page 20: Pertemuan 2-apbo-software-developmeng-processing

Eko AB – Analisis dan Perancangan Algoritma 20

The Spiral Model

(Boehm, 1988)

Progress towards final system

Develop first increment

Develop next increment

Risk analysis based on initial

requirements Planning Risk analysis

User evaluation Software development

Risk analysis based on user

reaction to plan

Go, no-go decision Risk assessment

User evaluation

of increments

Further planning based on user

comments

Initial requirements

gathering and project planning

Incremental DevelopmentIncremental Development

Page 21: Pertemuan 2-apbo-software-developmeng-processing

Eko AB – Analisis dan Perancangan Algoritma 21

Incremental Development

Iterative problem solving: repeats activities, each can be

viewed as a mini-project

Incremental delivery, either external or internal release

New release = new functionality + (improved) previous

release

Several approaches to structuring iterations

– Define and implement the key system functions

– Focus on one subsystem at a time

– Define by complexity or risk of certain components

Page 22: Pertemuan 2-apbo-software-developmeng-processing

Eko AB – Analisis dan Perancangan Algoritma 22

The Unified Process System Development Life Cycle

Unified Process Life CycleUnified Process Life Cycle

Page 23: Pertemuan 2-apbo-software-developmeng-processing

Eko AB – Analisis dan Perancangan Algoritma 23

Unified Process Life Cycle

Iteration

Page 24: Pertemuan 2-apbo-software-developmeng-processing

Eko AB – Analisis dan Perancangan Algoritma 24

Unified Process Life Cycle

Captures many elements of best practice

The phases are:

– Inception is concerned with determining the scope

and purpose of the project;

– Elaboration focuses requirements capture and

determining the structure of the system;

– Construction's main aim is to build the software

system;

– Transition deals with product installation and rollout.

Page 25: Pertemuan 2-apbo-software-developmeng-processing

Eko AB – Analisis dan Perancangan Algoritma 25

Predictive versus adaptive approaches to the SDLC

Choose Appropriate Life CycleChoose Appropriate Life Cycle

• TCL is highly predictive

• Prototyping, Spiral and UP life cycle models are highly

adaptive

Page 26: Pertemuan 2-apbo-software-developmeng-processing

Eko AB – Analisis dan Perancangan Algoritma 26

User Involvement

As well as use appropriate process model,

user involvement and CASE tools support

also very improtant for project success

User’s can be involved at various levels

– As part of the development team (DSDM)

– Via a consultative approach

– In fact gathering

Page 27: Pertemuan 2-apbo-software-developmeng-processing

Eko AB – Analisis dan Perancangan Algoritma 27

CASE Tools

CASE-Computer Aided Software Engineering, typically

provide a range of features including:– Model and technical support

• checks for syntactic correctness, consistency and completeness

• Layering, navigation to linked diagrams

• repository support, traceability

• report generation

• system simulation, performance analysis

– Software construction

• Code generation

• Reverse engineering

Page 28: Pertemuan 2-apbo-software-developmeng-processing

Eko AB – Analisis dan Perancangan Algoritma 28

Reading

• Text Chapter 2, 3

Page 29: Pertemuan 2-apbo-software-developmeng-processing

Eko AB – Analisis dan Perancangan Algoritma 29

Execises

1. Distinguish between client and user.

2. Define software quality.

3. What are the main difference between quality problems and

productivity problems?

4. Advantages and disadvantages of TLC, and how to overcome

the disadvantges?

5. Differences between prototyping and incremental

development?

6. Identify the ways and potential problems with user

involvement?

7. What do you think is meant by the term failure when it is

applied to an IS project?