1 / 20

Software Process and Models

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

jaeger
Télécharger la présentation

Software Process and Models

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Software Process and Models

  2. 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 • Process and Product

  3. Common Process Framework Common Process Framework Framework Activities Task Sets Tasks Milestones, deliverables SQA points Umbrella activities: 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

  4. 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)

  5. Problem Definition Status QUO Technical Development Solution Integration Pemecahan masalah yang Terulang • Semua pembuatan software bisa dilihat sebagai pemecahan masalah yang terulang • Itu 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.

  6. Requirements definition System & software design Implementation and unit testing Integration and system testing Operation and maintenance The ‘Waterfall’ Model • 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.

  7. 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.

  8. Build/revise Mock-up Listen to customer Customer test-drives mock-up The Prototyping Model • step 1: Kebutuhan bersama • step 2: A “design yang cepat” -> folus pada fungsi yang nyata dan kebiasaan dari produk • step 3: konstruksi Prototype • step 4: evaluasi Customer dari prototype ulangi langkah 1.

  9. 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.

  10. 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.

  11. Modeling information flow among functions Modeling information flow in terms of business data and objects Defining functional processes by mapping the two previous results Team # i Business Modeling Use fourth generation techniques or automatic tools to construct software Data Modeling Testing new components perform integration tests Process Modeling Application Generation 60-90 days Testing & Turnover The RAD Model

  12. Evolusi Model Proses Software • 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 Jerry Gao, Ph.D. Jan. 1999

  13. System/Information engineering analysis design code test delivery of 1st increment analysis design code test Increment 2 analysis design code test Increment 3 analysis design code test Increment 4 The Incremental Model Incremental Model mengabungkan elemen dari model yang terurut secara linear dengan iterasi filosofi dari prototipe. Peningkatan pertama adalah inti produk. • 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.

  14. 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.

  15. Risk Analysis Product Maintenance Projects Project entry point axis Planning Customer Communication Product Enhancement Projects Engineering New Product Development Projects Customer Evaluation Concept Development Projects Construction & Release 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

  16. Identify candidate component Planning Risk Analysis Customer Communication Construct nth iteration of system Look up components in library Engineering Customer Evaluation Extract components if available Put new components in library Construction & Release Build components if unavailable The Component Assembly Model

  17. 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

  18. none Under development Awaiting changes Under review Under Revision Baselined Done The Concurrent Development Model

  19. 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

  20. 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 dan aktivitas rekayasa didokumentasikan,standarisasi dan dimasukan kedalam sebuah proses software organisasi 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

More Related