1 / 83

Proses Perangkat Lunak

Proses Perangkat Lunak. Rekayasa Perangkat Lunak .

joan-gross
Download Presentation

Proses Perangkat Lunak

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. Proses Perangkat Lunak

  2. Rekayasa Perangkat Lunak Kami telah menetapkan masalah domain - perangkat lunak kekuatan industri Selain memberikan perangkat lunak, biaya, kualitas, dan jadwal driver Software engineering didefinisikan sebagai pendekatan sistematis untuk pengembangan (kekuatan industri) perangkat lunak

  3. Proses, Orang, Teknologi Q & P adalah tujuan yang penting Q & P tergantung pada orang, proses, dan teknologi Proses membantu orang menjadi lebih produktif dan membuat kesalahan lebih sedikit Alat orang membantu menjalankan beberapa tugas dalam proses lebih efisien dan efektif Jadi, proses membentuk inti

  4. Proses Perangkat Lunak Proses berbeda dari produk - produk hasil dari melaksanakan proses pada proyek SW Engg. berfokus pada proses Premise: proses yang tepat akan membantu mencapai tujuan proyek QP tinggi

  5. Masalah Pengembangan perangkat lunak

  6. Proyek dan Proses Sebuah proyek perangkat lunak adalah salah satu contoh dari masalah pembangunan Proses Pengembangan mengambil proyek dari kebutuhan pengguna ke perangkat lunak Ada tujuan-tujuan lain dari jadwal biaya dan kualitas, selain memberikan perangkat lunak Butuh proses lainnya

  7. Proses Perangkat Lunak ... Proses: Sebuah urutan langkah-langkah dilakukan untuk mencapai tujuan tertentuProses Perangkat Lunak: Urutan langkah-langkah yang dilakukan untuk memproduksi perangkat lunak dengan kualitas tinggi, dalam anggaran dan jadwal Banyak jenis kegiatan yang dilakukan oleh orang-orang diff dalam sebuah proyek perangkat lunak Lebih baik untuk melihat proses software sebagai komponen proses yang terdiri dari banyak

  8. Komponen Perangkat Lunak Proses Dua proses utama Pengembangan - berfokus pada pengembangan dan langkah-langkah kualitas yang diperlukan untuk insinyur perangkat lunak Manajemen Proyek - berfokus pada perencanaan dan pengendalian proses pembangunan Proses Pembangunan merupakan jantung dari proses perangkat lunak; proses-proses lain berputar di sekitar itu ini dijalankan oleh orang yang berbeda pengembang mengeksekusi Engg. Proses manajer proyek mengeksekusi proses Mgmt

  9. Komponen Proses ... • lain proses Konfigurasi proses manajemen: mengelola evolusi artefak Perubahan manajemen proses: bagaimana perubahan yang dimasukkan Proses manajemen proses: manajemen proses itu sendiri Proses Inspeksi: Bagaimana inspeksi dilakukan pada artefak

  10. Proses Spesifikasi • Proses umumnya satu set fase Setiap fase melakukan tugas yang didefinisikan dengan baik dan umumnya menghasilkan output output Menengah - produk kerja Pada tingkat atas, biasanya beberapa fase dalam proses Cara melakukan fase tertentu - metodologi telah diusulkan

  11. ETVX Spesifikasi • ETVX pendekatan untuk menentukan langkah kriteria Entry: kondisi apa yang harus dipenuhi untuk memulai fase ini Tugas: apa yang harus dilakukan dalam fase ini Verifikasi: pemeriksaan dilakukan pada output dari tahap ini kriteria keluar: kapan bisa fase ini dianggap dilakukan dengan sukses fase A juga menghasilkan info untuk Mgmt

  12. Pendekatan ETVX

  13. Proses Pengembangan dan Model Proses

  14. Proyek Perangkat Lunak Proyek - untuk membangun sebuah sistem sw dalam biaya dan jadwal dan dengan kualitas tinggi yang memenuhi pelanggan proses yang diperlukan untuk mencapai tujuanCocok Proses seharusnya tidak hanya membantu menghasilkan perangkat lunak tetapi membantu mencapai tertinggi & P Q

  15. Proyek 's proses dan Model Proses Untuk proyek, proses proyek yang harus diikuti adalah ditentukan dalam perencanaan Sebuah model proses menentukan proses umum yang optimal untuk kelas masalah Sebuah proyek dapat memilih proses dengan menggunakan salah satu model proses

  16. Proses Pengembangan Satu set fase dan setiap fase menjadi urutan langkah Urutan langkah-langkah untuk fase - fase metodologi untuk itu. Mengapa fase Untuk menggunakan membagi dan menaklukkan setiap fase menangani bagian yang berbeda dari masalah membantu dalam validasi terus menerus

  17. Proses Pengembangan • Umumnya memiliki kegiatan: analisis Persyaratan, arsitektur, desain, coding, pengujian, pengiriman Model yang berbeda melakukan mereka dengan cara yang berbeda

  18. Proses Model • Sebuah model proses menentukan proses umum, biasanya sebagai satu set tahap Model ini akan cocok untuk kelas proyek yakni model menyediakan struktur generik dari proses yang dapat diikuti oleh beberapa proyek untuk mencapai tujuan mereka

  19. Waterfall Model • Linear urutan tahap / fase Persyaratan - HLD - DD - Kode - Uji - Menyebarkan fase A dimulai hanya ketika sebelumnya telah selesai; tidak ada umpan balik Fase proyek partisi, masing-masing menangani masalah yang terpisah

  20. Air Terjun ... • memesan Linear menyiratkan setiap tahap harus memiliki beberapa output Output harus divalidasi / disahkan Output dari fase sebelumnya: produk kerja umum output dari air terjun: SRS, rencana proyek, desain docs, menguji rencana dan laporan, kode akhir, mendukung docs

  21. KeuntunganAir Terjun • Secara konseptual sederhana, bersih membagi masalah ke dalam tahap yang berbeda yang dapat dilakukan secara independen Alam pendekatan untuk pemecahan masalah Mudah untuk mengelola dalam setup kontrak - setiap fase adalah tonggak sejarah

  22. Air Terjun kerugian • Menganggap bahwa persyaratan dapat ditetapkan dan beku awal Mei memperbaiki hardware dan teknologi lainnya terlalu dini Mengikuti "big bang" pendekatan - semua atau tidak pengiriman; terlalu berisiko Sangat berorientasi dokumen, membutuhkan dokumen pada akhir setiap tahap

  23. Penggunaan Air Terjun Telah digunakan secara luas Nah cocok untuk proyek-proyek di mana persyaratan dapat dipahami dengan mudah dan keputusan teknologi yang mudah yakni untuk jenis proyek akrab masih mungkin yang paling optimal

  24. Prototyping Prototyping alamat pembatasan persyaratan spesifikasi air terjun persyaratan pembekuan hanya dengan diskusi, prototipe dibangun untuk memahami persyaratanAlih-alih Membantu meringankan risiko persyaratan Sebuah model air terjun kecil menggantikan tahap persyaratan

  25. Prototyping

  26. Prototyping Pengembangan prototipe Mulai dengan persyaratan awal Hanya fitur kunci yang perlu pemahaman yang lebih baik termasuk dalam prototipe Tidak ada gunanya termasuk fitur-fitur yang dipahami dengan baik diambil untuk meningkatkan pemahaman dari persyaratanUmpan balik dari pengguna

  27. Prototyping Biaya dapat disimpan rendah Membangun hanya fitur yang memerlukan klarifikasi "cepat dan kotor" - kualitas tidak penting, script dll dapat digunakan Hal-hal seperti penanganan eksepsi, pemulihan, standar dihilangkan Biaya dapat beberapa% dari total Belajar dalam membangun prototipe akan membantu dalam membangun, selain persyaratan ditingkatkan

  28. Prototyping Keuntungan: req akan lebih stabil, req beku kemudian, pengalaman membantu dalam pengembangan utama Kekurangan: hit Potensi pada biaya dan jadwal Penerapan: Ketika req sulit untuk memperoleh dan keyakinan dalam p'mint rendah; yaitu di mana p'mint tidak dipahami dengan baik

  29. Pembangunan Iteratif Penghitung yang "semua atau tidak" Kelemahan dari model air terjun Menggabungkan manfaat prototyping dan air terjun Mengembangkan dan menyediakan perangkat lunak secara bertahap Setiap kenaikan lengkap dalam dirinya sendiri Dapat dilihat sebagai urutan air terjun Umpan balik dari satu iterasi yang digunakan dalam iterasi masa depan

  30. Peningkatan Iteratif

  31. Pembangunan Iteratif Produk hampir selalu mengikutinya Digunakan umumnya dalam pembangunan disesuaikan juga Bisnis ingin respon cepat untuk sw Tidak dapat membayar resiko semua apa-apa-atau- pendekatan baru seperti XP, Agile, ... semua bergantung pada pengembangan iteratif

  32. Pembangunan Iteratif Manfaat: Dapatkan-as-you-membayar, umpan balik untuk perbaikan, Kekurangan: Arsitektur / desain tidak mungkin optimal, pengerjaan ulang dapat meningkatkan, total biaya mungkin lebih Penerapan: di mana waktu respon sangat penting, risiko proyek yang lama tidak dapat diambil, req semua tidak diketahui

  33. Bentuk lain Iteratif Iterasi pertama tidak persyaratan dan arsitektur dengan cara terjun Pengembangan dan pengiriman dilakukan secara bertahap dalam iterasi

  34. Bentuk lain dari Iterasi ...

  35. Timeboxing Iteratif adalah urutan linier dari iterasi Setiap iterasi adalah air terjun mini - menentukan spesifikasi, maka rencana iterasi Waktu tinju - memperbaiki durasi iterasi, kemudian menentukan spesifikasi Membagi iterasi dalam beberapa tahap yang sama Gunakan konsep pipelining untuk mengeksekusi iterasi secara paralel

  36. Waktu Iterasi kemas pengembangan iteratif Umum - memperbaiki fungsi untuk setiap iterasi, kemudian merencanakan dan jalankan Pada iterasi kotak waktu - memperbaiki durasi iterasi dan menyesuaikan fungsi untuk menyesuaikannya Waktu Penyelesaian adalah tetap, fungsi yang akan disampaikan adalah fleksibel

  37. Waktu Iterasi kotak Hal ini sendiri sangat berguna dalam banyak situasi Apakah waktu pengiriman diprediksi Secara keseluruhan rilis produk dan pemasaran dapat lebih terencana Membuat parameter waktu tidak bisa ditawar dan membantu memfokuskan perhatian pada jadwal Mencegah kembung persyaratan waktu dev Secara keseluruhan masih tidak berubah

  38. Timeboxing - Mengambil Waktu Iterasi kemas lebih lanjut Bagaimana jika kita memiliki beberapa iterasi mengeksekusi secara paralel Dapat mengurangi waktu penyelesaian rata-rata dengan memanfaatkan paralelisme Untuk eksekusi paralel, dapat meminjam konsep-konsep pipelining dari hardware Hal ini menyebabkan Timeboxing Model Proses

  39. Timeboxing Model - Dasar Pengembangan dilakukan secara iteratif dalam kotak durasi waktu yang tetap Setiap kotak waktu dibagi dalam tahap tetap Setiap tahap melakukan tugas yang jelas yang dapat dilakukan secara mandiri Setiap tahap kira-kira sama dalam durasi Ada sebuah tim khusus untuk setiap tahap Ketika satu tim tahap selesai, itu menyerahkan proyek kepada tim berikutnya

  40. Timeboxing Dengan jenis kotak waktu, dapat menggunakan pipelining untuk mengurangi waktu siklus Seperti pipelining hardware - view iterasi setiap instruksi Sebagai tahap telah mendedikasikan tim, eksekusi simultan dari iterasi yang berbeda adalah mungkin

  41. Contoh Sebuah iterasi dengan tiga tahap - Analisis, Membangun, Deploy Tahap-tahap ini appx sama dalam banyak situasi Dapat menyesuaikan dengan menentukan jangka waktu yang sesuai boudaries Dapat menyesuaikan durasi dengan menyesuaikan ukuran tim untuk setiap tahap Memiliki tim terpisah untuk A, B, dan D

  42. Pipelined Eksekusi AT mulai dijalankan itu-1 AT selesai, tangan di atasnya-1 ke BT, mulai dijalankan itu-2 AT menyelesaikannya-2, tangan ke BT, BT menyelesaikannya-1, tangan ke DT, AT-3 mulai itu, BT mulai itu-2 (dan DT, hal-1) ...

  43. Timeboxing Eksekusi

  44. Timeboxing eksekusi selesai iterasi pertama pada waktu T Kedua selesai pada T + T / 3; ketiga pada T +2 T / 3, dan seterusnya Dalam stabil, pengiriman setiap negara T / 3 waktu Jika T adalah 3 minggu, pengiriman pertama setelah 3 wks, 2 setelah 4 wks, 3 setelah 5 WKS, ... Dalam pelaksanaannya linier, waktu pengiriman akan 3 wks, 6 wks, 9 wks, ...

  45. Timeboxing eksekusi Jangka waktu iterasi masing-masing masih sama Jumlah pekerjaan dilakukan dalam kotak waktu juga sama Produktivitas dari kotak waktu sama Namun, waktu siklus rata-rata atau waktu pengiriman telah dikurangi menjadi sepertiga

  46. UkuranTim Dalam pelaksanaannya linear dari iterasi, tim yang sama melakukan semua tahap Jika setiap tahap memiliki tim dari S, dalam pelaksanaan linear ukuran tim adalah S Dalam pelaksanaannya pipelined, ukuran tim adalah tiga kali (satu untuk setiap tahap) yakni ukuran total dalam tim timeboxing lebih besar, dan ini mengurangi waktu siklus

  47. UkuranTim Hanya dengan meningkatkan ukuran tim kita tidak bisa mengurangi waktu siklus - Hukum Brook Timeboxing memungkinkan cara yang terstruktur untuk menambah tenaga kerja untuk mengurangi waktu siklus Perhatikan bahwa kita tidak dapat mengubah waktu iterasi - Hukum Brook masih memegang Bekerja alokasi yang berbeda untuk memungkinkan tim yang lebih besar untuk berfungsi dengan baik

  48. Alokasi Kerja Tim

  49. Timeboxing Keuntungan: waktu pengiriman lebih pendek, adv lain iteratif, distr. eksekusi Kekurangan: tim besar, telp proj lebih sulit, sinkronisasi tinggi diperlukan, CM adalah sulit Penerapan:. Ketika waktu pengiriman yang singkat v. imp; arsitektur stabil; fleksibilitas dalam pengelompokan fitur

  50. RUP Model Rasional Unified Process model iteratif lain Pengembangan perangkat lunak dibagi menjadi siklus, setiap siklus memberikan suatu sistem sepenuhnya bekerja Setiap siklus dilaksanakan sebagai proyek terpisah Pelaksanaan siklus ini dibagi menjadi empat fase berturut-turut, setiap tahap berakhir dengan pencapaian tonggak

More Related