The Process Departemen Ilmu Komputer IPB. Software Process Overview The roadmap to building high...

Preview:

Citation preview

The ProcessThe Process

Departemen Ilmu Komputer IPB

Software Process Software Process OverviewOverviewThe roadmap to building high quality

software products is software process. Software processes are adapted to

meet the needs of software engineers and managers as they undertake the development of a software product.

A software process provides a framework for managing activities that can very easily get out of control.

Different projects require different software processes.

Software Process Software Process OverviewOverviewThe software engineer's work products

(programs, documentation, data) are produced as consequences of the activities defined by the software process.

The best indicators of how well a software process has worked are the quality, timeliness, and long-term viability of the resulting software product.

Software Engineering & Software Engineering & Its Generic PhasesIts Generic PhasesSoftware engineering encompasses a

process, management techniques, technical methods, and the use of tools.

Definition phase - focuses on what (information engineering, software project planning, requirements analysis).

Development phase - focuses on how (software design, code generation, software testing).

Support phase - focuses on change (corrective maintenance, adaptive maintenance, perfective maintenance, preventative maintenance).

A Layered A Layered TechnologyTechnology

Software EngineeringSoftware Engineering

a a ““qualityquality”” focus focus

process modelprocess model

methodsmethods

toolstools

A Common Process A Common Process FrameworkFramework

Umbrella Activities (muncul di Umbrella Activities (muncul di setiap frameworksetiap frameworkSoftware project managementFormal technical reviewsSoftware quality assuranceSoftware configuration managementDocument preparation and productionReusability managementMeasurementRisk management

Capability Maturity Model - SEICapability Maturity Model - SEI

Level 1: Initial (ad hoc software processes)

Level 2: Repeatable (able to repeat earlier successes)

Level 3: Defined (management and

engineering processes documented, standardized, and integrated into organization-wide software process)

Capability Maturity Model - SEICapability Maturity Model - SEI

Level 4; Managed (software process and products are quantitatively understood and controlled using detailed measures)

Level 5: Optimizing (continuous process improvement is enabled by quantitative feedback from the process and testing innovative ideas)

Process as Problem Process as Problem SolvingSolving

The Process Model:The Process Model:AdaptabilityAdaptability

the framework activities will always be applied on every project ... BUT

the tasks (and degree of rigor) for each activity will vary based on:◦the type of project (an “entry point”

to the model)◦characteristics of the project◦common sense judgment;

concurrence of the project team

Software Process ModelSoftware Process Model

Linear Sequential Model (old fashioned but reasonable approach when requirements are well understood)

Prototyping Model (good first step when customer has a legitimate need, but is clueless about the details, developer needs to resist pressure to extend a rough prototype into a production product)

Rapid Application and Development (RAD) Model (makes heavy use of reusable software components with an extremely short development cycle)

The Linear The Linear ModelModel

Iterative Iterative ModelsModels

RADRAD

Software Process ModelSoftware Process Model

Incremental Model (delivers software in small but usable pieces, each piece builds on pieces already delivered)

Spiral Model (couples iterative nature of prototyping with the controlled and systematic aspects of the linear sequential model)

Win-Win Spiral Model (eliciting software requirements defined through negotiation between customer and developer, where each party attempts to balance technical and business constraints)

The Incremental The Incremental ModelModel

analysis design code test

System/informationengineering

analysis design code test

analysis design code test

analysis design code test

increment 2

increment 3

increment 4

increment 1

delivery of1st increment

delivery of2nd increment

delivery of3rd increment

delivery of4th increment

calendar time

An Evolutionary (Spiral) An Evolutionary (Spiral) ModelModel

CustomerCommunication

Planning

Construction & ReleaseCustomerEvaluation

Engineering

Risk Analysis

Software Process ModelSoftware Process Model

Concurrent Development Model (similar to spiral model often used in development of client/server applications)

Component-Based Development (spiral model variation in which applications are built from prepackaged software components called classes)

Concurent (contoh 1 Concurent (contoh 1 element)element)

Component Based Component Based DevelopmentDevelopment

Software Process ModelSoftware Process Model

Formal Methods Model (rigorous mathematical notation used to specify, design, and verify computer-based systems)

Fourth Generation (4GT) Techniques (software tool is used to generate the source code for a software system from a high level specification representation)

Still Other Process Still Other Process ModelsModelsComponent assembly model—the process to apply when reuse is a development objective

Concurrent process model—recognizes that different part of the project will be at different places in the process

Formal methods—the process to apply when a mathematical specification is to be developed

Cleanroom software engineering —emphasizes error detection before testing

Mana yang saya pilih?Mana yang saya pilih?

Studi KasusStudi KasusIteravite process

Apa yang terjadi?Apa yang terjadi?

Iterasi Membantu Iterasi Membantu Meluruskan..Meluruskan..

Ukuran Iterasi Sangat bervariasi, Bergantung pada scope dan waktu dari pekerjaan (umumnya dilakukan 20 hari kerja)

Contoh Iterasi untuk Tom!Contoh Iterasi untuk Tom!

Metode Konvensional Metode Konvensional (Linear)(Linear)Old Fashion

Metode Konvensional (2)Metode Konvensional (2)Need a long time to show the

result

Each Iteration is Mini Each Iteration is Mini ProjectProjectUse Iterative

Each Iteration is Mini Each Iteration is Mini ProjectProjectFinal Package will fulfill user

need!!

Final Schedule?Final Schedule?

Not yet…Not yet…Menurut pendapat Anda, apa

saja yang dapat menyebabkan pergeseran jadwal?

Waks…Waks… Cape deh…. Cape deh….

Buat Adjustment….!Buat Adjustment….!

Goal on the Move…Goal on the Move…

Our Problems?Our Problems?

Atur UlangAtur Ulang

Reroute, lihat prioritas! Reroute, lihat prioritas!

Hitung dan analisis Hitung dan analisis Kemampuan Anda!Kemampuan Anda!

Pertanyaan Dan Diskusi?Pertanyaan Dan Diskusi?

Recommended