Software Process and Models

20
Software Process and Models

description

Software Process and Models. Software Process Models. Software Process Software Process Models Waterfall Model Prototyping Model RAD Model Evolutionary Software Process Models Incremental Model Spiral Model Component Assembly Model Concurrent Development Model Process Maturity - PowerPoint PPT Presentation

Transcript of Software Process and Models

Page 1: Software Process and Models

Software Process and Models

Software Process and Models

Page 2: Software Process and Models

Software Process ModelsSoftware Process Models

Software Process

Software Process Models Waterfall Model Prototyping Model RAD Model

Evolutionary Software Process Models Incremental Model Spiral Model Component Assembly Model Concurrent Development Model

Process Maturity Process and Product

Page 3: Software Process and Models

Software Process

Kerangka kerja proses common software : Bisa digunakan untuk semua proyek software. banyaknya kumpulan tugas, termasuk tugas,

milestone, pengiriman dan SQO points. Aktivitas Umbrella :

project tracking and control technical reviews (formal or informal) software quality assurance (SQA) konfigurasi management dokumentasi Pengukuran manajemen reuse dan resiko

Common Process Framework

Tasks

SQA points

Milestones, deliverables

Framework Activities

Task Sets

Common Process Framework

Umbrella activities:

Page 4: Software Process and Models

Software Process Models

Konsep:- Sebuah model proses atau paradigma rekayasa software:-> menunjukkan suatu strategi untuk melindungi proses, metode dan alat bantu yang secara bersama mengelola secara efektif dan mengirim produk software.

Pemilihan model proses berdasarkan pada:- proyek dan aplikasi yang alami- metode dan alat bantu yang digunakan- kontrol dan pengiriman

Terdapat empat dasar aktivitas proses :- Software specification.- Software development- Software validation- Software maintenance (or evolution)

Page 5: Software Process and Models

Pemecahan masalah yang Terulang

Problem Definition

Solution Integration

Technical DevelopmentStatusQUO

Semua pembuatan software bisa dilihat sebagai pemecahan masalah yang terulangItu memiliki empat tingkatan :

definisi masalah-indetifikasi masalah dan definisinya pembuatan teknik-menemukan solusi untuk memecahkannya

integrasi solusi-menggunakan solusi dan mengirimkan ke sistem status QUO – Bagian yang ada kesalahan.

Page 6: Software Process and Models

The ‘Waterfall’ Model

Requirementsdefinition

System & softwaredesign

Implementationand unit testing

Integration andsystem testing

Operation andmaintenance

The waterfall model - the linear sequential model, disebut juga “classic life cycle” sistematika, pendekatan yang secara terurut untuk pembuatan

software yang mulai dari level sistem dan progres menuju analisa, design, coding, testing dan perawatan.

Page 7: Software Process and Models

The Waterfall Model

Model waterfall adalah yang paling lama dan banyak secara luas digunakan paradigma untuk rekayasa software.

Keuntungan:sederhana,langkah-secara terurut,fokus,dan mudah diikuti.

Masalah:

Tidak flesible sebab proyek yang nyata jarang mengikuti aliran yang terurut untuk menyusun Model.

Sangat sulit untuk customer terhadap mengahadapi semua kebutuhan yang eksplisit.

Customer harus memiliki kesabaran untuk menunggu keabsahan produk software dalam fase

Yang terlambat.(sampai program dimplementasikan) Customer tercakup dalam awal proyek. Pembuat sering ditunda secara tidak berhubungan diantara fase.

Page 8: Software Process and Models

The Prototyping Model

step 1: Kebutuhan bersama step 2: A “design yang cepat” -> folus pada fungsi yang nyata dankebiasaan dari produk step 3: konstruksi Prototype step 4: evaluasi Customer dari prototype ulangi langkah 1.

Listen tocustomer

Customertest-drivesmock-up

Build/reviseMock-up

Page 9: Software Process and Models

The Prototyping Model

Keuntungan: Mudah dan cepat identifikasi kebutuhan customer Customer mengecek protipe di awal tingkatan dan menyediakan

input dan umpan baliknya. Persetujuan yang baik dengan mengikuti kasus:

Customer tidak bisa menyediakn kebutuhan yang jelas. Sangat rumit interaksi sistem dari pengguna Menggunakan teknologi baru, hardware dan algoritma Membuat domain baru sistem aplikasi

Masalah: Prototipe bisa melayani sebagai “sistem pertama”.Brooks

merekomendasikan untuk membuangnya. Developer biasa ikut membuat produk didasarkan pada prototipe. Developer sering membuat perjanjian implementasi dalam

memerintahkan untuk dapat prototipe bekerja secara cepat. Customer boleh terkejut bahwaa protipe adalah tidak sebuah

produk, yang dibuat dengannya.

Page 10: Software Process and Models

The RAD Model

Rapid Application Development (RAD) adalah model proses pembuatan software yang terurut secara linear yang memberikan pembuatan daur hidup yang singkat.

“Kecepatan tinggi” adaptasi dari model terurut secara linear Konstruksi component-based Efektif ketika kebutuhan dimengerti secara baik dan lingkup proyek

dibatasi.

Keuntungan: Waktu pembuatan yang pendek Pengurangan biaya supaya software digunakan kemabali dan konstruksi

dasar komponen

Masalah: Untuk yang besar, tetapi proyek yang berskala, RAD butuh sumber yang

cukup. RAD butuh developer dan pelanggan yang diijinkan untuk menyusun. Pembuatan software adalah spesifik proyek, dan tidak boleh dimodulkan

secara baik. Kualitasnya tergantung pada kualitas dari komponen yang ada. Proyek yang tidak akurat dengan resiko teknik yang tinggi dan teknologi

baru.

Page 11: Software Process and Models

The RAD Model

BusinessModeling

Data Modeling

ProcessModeling

Application Generation

Testing &Turnover

60-90 days

Team # i

Modeling information flow among functions

Modeling information flow in terms of business data and objects

Defining functional processes by mapping the two previous results

Use fourth generation techniques or automatic tools to construct software

Testing new componentsperform integration tests

Page 12: Software Process and Models

Evolusi Model Proses SoftwareEvolusi Model Proses Software

Jerry Gao, Ph.D. Jan. 1999

Model proses klasik tidak dirancang untuk mengirimkan sistem yang produktif sehingga asumsinya pada:

Sistem yang sempurna akan dikirimkan setelah urutan linear diselesaikan

Customer mengetahui yang mereka inginkan di tingkatan awal

Realita dalam proses pemuatan software -> banyaknya kebutuhan perubahan selama latihan

pembuatan Banyaknya aktivitas iterasi dan bekerja sebab evolusi

alami dari produksi software

Persetujuan yang sulit dengan evolusi produk, beberapa evolusi model proses yang disusun :

the incremental model the spiral model the component assembly model the concurrent development model

Page 13: Software Process and Models

The Incremental Model

Incremental Model mengabungkan elemen dari model yang terurut secara linear dengan iterasi filosofi dari prototipe. Peningkatan pertama adalah inti produk.

analysis design code test

analysis design code test

analysis design code test

analysis design code test

delivery of 1stincrement

Increment 2

Increment 3

Increment 4

System/Information engineering

Proses incremental model: Berulang secara alami, seperti prototipe Fokus pada pengiriman dari operasional produk dengan setiap

penambahan. Kebiasaann penggunaan ketika staff tidak hadir untuk

menyelesaikan implementasi oleh deadline bisnis.

Page 14: Software Process and Models

The Spiral Model

spiral model (by Boehm[BOE88]) adalah sebuah evolusi model proses software pasangan iterasi yang murni dari prototipe mencakup aspek sistematik dari model terurut yang linear. menyediakan kegunaan untuk pembuatan yang cepat dari versi

pertambahan dari software..

Model spiral dibagi kedalam banyak daerah aktiitas: customer communication planning (resources, timelines, etc.) risk analysis engineering construction & release customer evaluation

Setiap bagian dipopulasi oleh rangkaian daru tugas kerja.

Page 15: Software Process and Models

The Spiral Model

Spiral model pendekatan yang nyata untuk pembuatan dari skala sistem yang besar dan

software. Mungkin sulit untuk menyakinkan customer bahwa evolusi pendekatan yang

terkendali. Sebuah model baru yang relatif dan tidak digunakan secara luas sebagai urutan

linear atau Paradigma prototipe

Construction & Release

Risk AnalysisPlanning

CustomerEvaluation

CustomerCommunication

Project entrypoint axis

Product Maintenance Projects

Product Enhancement Projects

New Product Development Projects

Concept Development Projects

Engineering

Page 16: Software Process and Models

The Component Assembly Model

Construction & Release

Risk Analysis

Planning

CustomerEvaluation

CustomerCommunication

Identifycandidatecomponent

Buildcomponentsif unavailable

Put newcomponentsin library

Extractcomponentsif available

Constructnth iterationof system

Look upcomponentsin library

Engineering

Page 17: Software Process and Models

The Component Assembly Model

Object Technologies -- kerakngka kerja teknis untuk sebuat model proses komponen dasar untuk rekayasa software

Model komponen rakitan banyak tidak bekerja dari sifat dari model spiral adalah evolusi yang alami meminta sebuah pedekatan secara berulang untuk membuat suatu software memimpin penggunaan kemabali software

Keuntungan: permintaan software digunakan kembali

--> biaya berkurang--> pengurangan waktu daur pembuatan

Page 18: Software Process and Models

The Concurrent Development Model

Under development

Awaitingchanges

Under Revision

Under review

Baselined

Done

none

Page 19: Software Process and Models

The Concurrent Development Model

Model concurrent development –disebut rekayasa terjadi pada waktu yang sama--> Menyediakan sebuah bagian akurat dari bagian yang ada dari sebuah proyek

Fokus pada kegiatan rekayasa waktu yang sama dalam proses rekayasa software Seperti prototipe,model analisa,spesifikasi kebutuhan dan rancangan.

Membuat skema sebagai rangkaian dari kegiatan teknis yang umum, tugas, dan bagian yang terkait.

Dijelaskan sebagai rangkaian dari event yang transisi dari bagian ke bagian untuk Setiap suatu kegiatan rekayasa software

Dua cara meningkatkan konkruen:

aktivitas sistem dan komponen terjadi simultan dan bisa dimodelkan menggunakan pendekatan orientasi bagian

sebuah tipe aplikasi client/server yang diimplementasikan dengan banyak komponen, setiapnya bisa dirancang dan dianggap konkruen.

Aplikasi: semua tipe dari pembuatan software

Page 20: Software Process and Models

Software Process Maturity

Lima proses maturity level:

Level 1: Inisial - Proses Software --> ad hoc, dan biasa pada bagian

yang sulit.

Level 2: Repeatable - Proses manajemen proyek dasar yang dibuat untuk

menyiapkan biaya, jadwal dan fungsional.

Level 3: Defined - Dalam proses software,kedua manajemen danaktivitas rekayasa

didokumentasikan,standarisasi dandimasukan kedalam sebuah proses softwareorganisasi yang luas.

Level 4: Managed - Penghitungan yang jelas dari proses software dan

kualitas produk dikumpulkan. Kedua proses dan

produk software adalah jumlah yang dimengerti dan

dikontrol mengunakan penghitungan yang jelas.

Level 5: Optimizing - Pengembangan proses berlangsung ada oleh jumlah

umpan balik dari proses dan dari uji coba ide yang

inovasi dan teknologi