Software Engineering Chapter 4

Slides:



Advertisements
Presentasi serupa
Software Development Life Cycle (SDLC) Concept
Advertisements

Pengembangan Sistem Informasi
Proses-proses Perangkat Lunak
Rekayasa Perangkat Lunak dan Proses Software
MODEL PROSES PERANGKAT LUNAK SPIRAL MODEL & COMPONENT ASSEMBLY
Rapid software development
Software Processes Discussion
Proses Software Bab 2.
Software Process Model
Sasaran Menjelaskan apa yang dimaksud model proses
PROSES-PROSES PERANGKAT LUNAK
ANALISIS DAN PERANCANGAN SISTEM
Rekayasa Perangkat Lunak
Manajemen Proyek Sistem Informasi
Rekayasa Perangkat Lunak 1
PERENCANAAN PROSES PERANGKAT LUNAK
Slide 1 Rifki Indra P Software Processes. Slide 2 Software Processes Coherent sets of activities for Specifying, Designing, Implementing and Testing software.
Perancangan Perangkat Lunak
Methods for Software Engineering
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 Review Software Engineering.
Nama : Shadrach Jabonir / Matthew Marcelinus / Leonardus Handoko / Hendry Sunardi / Carles/ OVERVIEW OF SOFTWARE PROCESS MODEL.
Methods for Software Engineering CHAPTER 5 Software Project Planning Software engineering: a practitioner’s approach / Roger S. Pressman.—5th ed.
Software Processes Sekumpulan aktifitas terpadu untuk pelaksanaan spesifikasi, desain, implementasi dan testing system software.
Manajemen Proyek Perangkat Lunak (MPPL)
 Communication  Planning  Modeling  Contruction  Deployment.
Rekayasa Perangkat Lunak
Metode rpl BY: Y. PALOPAK S.Si., MT..
REKAYASA PERANGKAT LUNAK
Summary Materi RPL Mid Semester
PROSES-PROSES PERANGKAT LUNAK
PROCESS MODELS.
Spesifikasi Perangkat Lunak
Perangkat Lunak 1.
Model Proses Perangkat Lunak
SE2423 Rekayasa Perangkat Lunak
Interaksi Manusia Dan Komputer
Review Rekayasa Perangkat Lunak
proses PERANGKAT LUNAK
Rekayasa Perangkat Lunak Model Proses PL
System Development Life Cycle (SDLC)
Rekayasa perangkat lunak (rpl)
Pengenalan Rekayasa Perangkat Lunak
Rekayasa Perangkat Lunak 1
Anna dara andriana., M.kom
ANALISA DAN PERANCANGAN SISTEM INFORMASI
Rekayasa Perangkat Lunak
REKAYASA PERANGKAT LUNAK
Rekayasa Perangkat Lunak Dosen : Citra Noviyasari, S.Si, MT
PROSES REKAYASA PERANGKAT LUNAK
Materi Habis Uts IMK Prototyping
Analisa dan Perancangan Sistem
Prescriptive Process Models
Software Development Life Cycle (SDLC) Concept
Pengantar Teknologi Informasi (Teori)
ANALISA DAN PERANCANGAN SISTEM INFORMASI
SDLC (System Development Life Cycle)
REKAYASA PERANGKAT LUNAK
Review Rekayasa Perangkat Lunak
ANALISIS DAN PEMODELAN
Review Rekayasa Perangkat Lunak
MODEL PROSES PERANGKAT LUNAK
Review Rekayasa Perangkat Lunak
Pengembangan Sistem Informasi
TESTING DAN QA SOFTWARE PERTEMUAN 18
Materi Kuliah SE 2 Pengertian software Kriteria software
SOFTWARE ENGGINERING Model Model Siklus Rekayasa Perangkat Lunak
Pengembangan Sistem Informasi
Pertemuan 8 RPL Oleh : Syukriya al-Asyik S.Kom
Software Processes Discussion
MODEL PROSES PERANGKAT LUNAK
Transcript presentasi:

Software Engineering Chapter 4 Software Processes Software Engineering Chapter 4

Tujuan Mengenalkan models software proses Menjelaskan 3 proses model yang umum Menjelaskan proses outline untuk rekayasa kebutuhan, pengembangan software, testing dan evolusi Mengenalkan CASE technology sebagai pendukung aktifitas software process

Topics covered Model proses software Proses iterasi Aktifitas proses Computer-aided software engineering

The software process Aktivitas yang terstruktur yang dibutuhkan untuk mengembangkan sebuah sistme software Spesifikasi Design Validasi Evolusi

Model proses software yang umum The waterfall model Memisahkan fase spesifikasi dan pengembangan Pengembangan evolusioner Spesifikasi, pengembangan dan validasi saling bersisipan Component-based software engineering Sistem dibangun dari komponen yang sudah ada Banyak sekali varian dari model seperti pengembangan formal yang mirip dengan waterfall tapi spesifikasi terdiri dari beberapa langkah spesifikasi yang lebih formal.

Waterfall model

Fase waterfall model Analisa kebutuhan dan definisi Desain software dan sistem Implementasi dan unit testing Integrasi dan sistem testing Operation dan maintenance Permasalahan : kesulitan untuk mengakomodasi perubahan ketia proses berjalan, fase harus diselesaikan satu persatu

Waterfall model problems Pembagian yang tidak fleksibel dari sebuah project ke beberapa tahap, membuat kita sulit untuk mengakomodasi perubahan kebutuhan customer Model ini hanya cocok ketika sebuah requirement sudah dimengerti dengan baik dan perubahan hanya terjadi sesekali selama proses desain Cocok untuk sistem dengan business yang kecil dan memiliki requirement yang stabil Model waterfall sering digunakan untuk project rekayasa sistem dimana sistem tersebut dikembangkan di lokasi yang berbeda

Pengembangan evolusioner Pengembangan secara eksplorasi Tujuannya adalah untuk bekerja dengan customer dan mengembangkan final sistem. Harus dimulai dengan pemahaman kebutuhan secara detail dan menambahkan fitur baru yang diajukan pelanggan Throw-away prototyping Tujuannya adalah untuk mengerti kebutuhan sistem requirement. Dimulai dari pemahaman yang sedikit tentang requirement untuk klarifikasi apa yang dibutuhkan sebenarnya.

Evolutionary development

Pengembangan evolusioner Problems Sistem memiliki struktur yang jelek Special skills dibutuhkan Applicability Small or medium size (sistem interaktif) Menjadi bagian dari sebuah sistem yang besar ( misal : user interface) Sistem dengan lifetime yang pendek

Component-based software engineering Berdasarkan penggunaan ulang yang sistematis dimana sistem terintegrasi dengan komponen atau sebuah COTS. Tahapan proses : Analisis komponen Modifikasi requreiemt Sistem design dengan penggunaan ulang Pengembangan dan integrasi

Reuse-oriented development

Proses iterasi Untuk kebanyakan sistem besar perlu digunakan berbagai model pendekatan untuk berbagai bagian sistem sehingga harus digunakan model hibrid. Iterasi dapat diterapkan pada model proses generic diatas. Pendekatan relasi : pengembangan incremental Pengembangan spiral

Pengembangan inkremental Pelanggan mengidentifikasi secara garis besar layanan (services) yang akan disediakan oleh sistem.mereka mengidentifikasi layanan mana yang paling penting dan mana yang paling tidak penting Layanan dengan prioritas tertinggi akan dikirimkan kepada pelanggan. Pada saat pengembangan, analisis persyaratan selanjutnya untuk inkrement lainnya dapat dilakukan, tetapi perubahan persyaratan untuk inkremen yang sedang dikerjakan tidak dapat diterima

Incremental development

Keuntungan penggunaan incremental Customer mendapatkan setiap inkremen, sehingga fungsionalitas sistem dapat digunakan didapatkan diawal Pelanggan dapat memakai inkrement yang pertama sebagai bentuk prototipe dan mendapatkan pengalaman yang dapat menginformasikan pada pengembangan inkrement selanjutnya Resiko kecil dari kegagalan project secara total

Extreme programming Pendekatan pengembangan berdasar pengembangan dan pengiriman dari masing-masing fungisonalitas terkecil Bergantung pada improvisasi code, keterlibatan user dalam team pengembang, dan pemrogramana secara berpasangan

Pengembangan spiral Proses direpresentasikan sebagai spiral Setiap loop pada spiral merepresentasikan fase dalam setiap proses Tidak ada fase tetap seperti spesifikasi atau desain – loops dalam spiral dipilih berdasar apa yang dibutuhkan

Spiral model of the software process

Step Spiral model Penetapan tujuan Penilaian dan pengurangan resiko Fase Identifikasi untuk penetapan tujuan yang spesifik Penilaian dan pengurangan resiko Resiko dinilai dan berbagai aktifitas dilakukan untuk mengurangi resiko Pengembangan dan validasi Pengembangan model untuk sistem dipilih dari generic models Planning Proyek ditinjau dan selanjutnya dibuat keputusan apakah akan diteruskan dengan fase spiral selanjutnya

Aktifitas proses Spesifikasi perangkat lunak Desain software dan implemetasi Validasi software Evolusi software

Spesifikasi software Proses menetapkan layanan apa yang dibutuhkan dan mendesak pada operasi & pengembangan sistem Proses rekayasa requirement : Studi kelayakan Elisitasi dan analisis persyaratan Spesifikasi persyaratan Validasi persyaratan

The requirements engineering process

Desain software dan implementasi Proses konversi spesifikasi sistem ke sistem yang dapat di eksekusi Perancangan software Merancang struktur software yang merealisasikan spesifikasi Implementation Menerjemahkan struktur ke sebuah executable program Aktifitas implementasi dan desain sangat dekat dan sering sekali saling tumpang tindih

Design process activities Desain arsitektural Spesifikasi abstract Interface desain Komponen desain Struktur data desain Desain algoritma

The software design process

Structured methods Pendekatan sistematis untuk mengembangkan desain software Desain biasanya di dokmentasikan dengan model dalam bentuk grafis Model yang memungkinkan Object model; Sequence model; State transition model; Structural model; Data-flow model.

Programming and debugging Menerjemahkan dan desain ke sebuah program dan menyingkirkan error dari sebuah program Programming adalah aktifitas personal, tidak ada proses programming yang generic Programmer melakukan program testing untuk menemukan kesalahan pada program dan membenahi kesalahan ini dalam debugging proses

The debugging process

Software validation Verifikasi dan validasi (V&V) untuk menunjukkan sistem sudah sesuai dengan spesifikasi dan memenuhi kebutuhan untuk customer Cek dan review proses dan system testing Mengeksekusi / testing system dengan beberapa test case yang diturunkan dari spesifikasi dengan menggunakan data real untuk diproses ke sistem

The testing process

Tahapan testing Component or unit testing Masing-masing komponen di lakukan tes System testing Testing sistem secara keseluruhan. Testing emergent properties. Acceptance testing Testing dengan data customer untuk cek apakah sistem memenuhi kebutuhan user

Testing phases

Software evolution Software diharapkan dapat berubah secara fleksible Apabila terdapat perubahan requirement karena kondisi bisnis, software yang mendukung bisnis tersebut juga harus berubah

System evolution

Computer-aided software engineering CASE adalah software untuk mendukung pengembangan software dan proses evolusi Activity automation Editor grafis untuk pengembangan system model Data dictionary untuk manage entities desain UI builder untuk pembuatan user interface Debuggers untuk mendukung pencarian kesalahan

CASE classification Klasifikasi membantu kita untuk mengerti tipe dari case tools dan dukungannya untuk aktifitas proses Functional perspective Tools yang digunakan untuk fungsi spesifik Process perspective Tools yang digunakan untuk mendukung aktifitas proses Integration perspective Tools yang digunakan untuk mengklasifikasikan integrasi unit

Functional tool classification

Activity-based tool classification

CASE integration Tools Workbenches Environments Mendukung proses/tugas individual seperti konsistensi desain, editing text, dst Workbenches Mendukung fase proses seperti spesifikasi atau desain Environments Mendukung semua bagian untuk proses software

Tools, workbenches, environments

Key points Software processes are the activities involved in producing and evolving a software system. Software process models are abstract representations of these processes. General activities are specification, design and implementation, validation and evolution. Generic process models describe the organisation of software processes. Examples include the waterfall model, evolutionary development and component-based software engineering. Iterative process models describe the software process as a cycle of activities.

Key points Requirements engineering is the process of developing a software specification. Design and implementation processes transform the specification to an executable program. Validation involves checking that the system meets to its specification and user needs. Evolution is concerned with modifying the system after it is in use. The Rational Unified Process is a generic process model that separates activities from phases. CASE technology supports software process activities.