Software Process and Models
description
Transcript of Software Process and Models
Software Process and Models
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
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:
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)
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.
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.
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.
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
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.
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.
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
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
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.
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.
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
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
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
The Concurrent Development Model
Under development
Awaitingchanges
Under Revision
Under review
Baselined
Done
none
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
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