proses - fti.uajm.ac.idfti.uajm.ac.id/ajar/analisis dan rekayasa perangkat lunak/02 proses... ·...
TRANSCRIPT
3/6/2012
1
Proses
N. Tri Suswanto Saptadi
Teknik Informatika
http://trisaptadi.uajm.ac.id
02/28/11 1nts/sb/tiuajm
A Layered Technology
Software Engineering
a “quality” focus
process model
methods
tools
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by
R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005
3/6/2012 2nts/rs/tiuajm
3/6/2012
2
Rekayasa
• Merupakan analisis
• Desain
• Konstruksi
• Verifikasi
• Manajemen kesatuan teknik (atau sosial)
3/6/2012 3nts/rs/tiuajm
Pandangan Umum RPL
• Masalah yang akan dipecahkan ?
• Karakteristik ?
• Bagaimana kesatuan diadakan ?
• Bagaimana kesatuan dibangun ?
• Pendekatan yang dipakai ?
• Bagaimana kesatuan ditopang selama proses koreksi, adaptasi, perkembangan, pencegahan
3/6/2012 4nts/rs/tiuajm
3/6/2012
3
Fase Umum
• Fase Definisi
Definition phase
• Fase Pengembangan
Development phase
• Fase Pemeliharaan
Maintenance phase
3/6/2012 5nts/rs/tiuajm
Fase Definisi
• Berfokus pada “apa” (what)
identifikasi informasi apa
Fungsi & unjuk kerja apa
Tingkah laku sistem seperti apa
Interface apa
Batasan desain apa
Kriteria validasi apa
3/6/2012 6nts/rs/tiuajm
3/6/2012
4
Fase Pengembangan
• Berfokus pada “bagaimana” (how)
Mendefinikan untuk di konstruksi
Perancangan akan diterjemahkan
Detail prosedur
Interface dikarakteristikan
Pengujian dilakukan
Diimplementasikan arsitektur PL
3/6/2012 7nts/rs/tiuajm
Fase Pemeliharaan
• Berfokus pada “perubahan” (change)
Koreksi kesalahan
Penyesuaian yang dibutuhkan
Perubahan akibat perkembangan
Perubahan kebutuhan pelanggan
3/6/2012 8nts/rs/tiuajm
3/6/2012
5
Empat Tipe Perubahan
• Koreksi
• Adaptasi
• Perkembangan
• Pencegahan
3/6/2012 9nts/rs/tiuajm
Koreksi
• Meskipun dengan jaminan kualitas yang terbaik, sepertinya pelanggan akan tetap menemukan cacat pada PL
• Corrective maintenance :
mengubah, membetulkan cacat atau kerusakan.
3/6/2012 10nts/rs/tiuajm
3/6/2012
6
Adaptasi
• Dari waktu ke waktu, lingkungan original seperti : CPU, OS, aturan bisnis, karakteristik produk eksternal dimana PL yang dikembangkan akan terus berubah
• Adaptif maintenance :
menghasilkan modifikasi kepada PL untuk mengakomodasi perubahan pada kebutuhan fungsional original.
3/6/2012 11nts/rs/tiuajm
Perkembangan
• Ketika PL dipakai, pemakai akan mengenali fungsi-fungsi tambahan yang memberi mereka keuntungan
• Prefective maintenance :
memperluas PL sehingga melampaui kebutuhan fungsi originalnya.
3/6/2012 12nts/rs/tiuajm
3/6/2012
7
Pencegahan
• Keadaan PL semakin memburuk sehubungan dengan waktu
• Preventive maintenance :
dilakukan untuk memungkinkan PL melayani kebutuhan para pemakainya melakukan perubahan pada program komputer sehingga bisa menjadi lebih mudah dikoreksi, disesuaikan dan dikembangkan.
3/6/2012 13nts/rs/tiuajm
Proses Perangkat Lunak
Kerangka Kerja Proses Umum
Aktivitas Kerangka Kerja
Aktivitas Pendukung
Point SQA (Software Quality Assurance)
Kejadian Penting, dapat dikirimkan
Tugas
Rangkaian Tugas
3/6/2012 14nts/rs/tiuajm
3/6/2012
8
Pendekatan SEI (RPL Institute)
• Initial: awal yang kadang membingungkan
• Repeatable: penelusuran masalah biaya, jadual, fungsionalitas
• Defined: didokumentasikan, distandarkan dan diintegrasikan
• Managed: pengukuran detail terhadap proses PL
• Optimizing: perubahan proses terus-menerus dengan inovatif
(Software Engineering Institute)
3/6/2012 15nts/rs/tiuajm
Model PL (Proses)
• Model Proses PL
• Model Waterfall
• Model Sekuensial Linier
• Model Prototipe
• Model RAD
• Model Spiral
• Model Formal
• Model Teknik Generasi Keempat (4GT)
3/6/2012 16nts/rs/tiuajm
3/6/2012
9
Model Proses PL
• Perkembangan PL dapat dianggap sebagai lingkaran pemecahan masalah
• Kerja RPL pada tingkat resolusi yang berbeda
• Secara realistis sulit untuk mengadakan penggolongan aktivitas yang teratur
3/6/2012 17nts/rs/tiuajm
Model Waterfall (air Terjun)
• SDLC (System Development Life Cycle) merupakan metodologi tradisional yang dipakai untuk mengembangkan dan memelihara sistem informasi
3/6/2012 18nts/rs/tiuajm
3/6/2012
10
SDLC – dari Sisi Pengembangan Database
Identifikasi dan Pemilihan Proyek
Inisiasi dan Perencanaan Proyek
Analisis
Perancangan Logis
Perancangan Fisik
Implementasi
Perawatan
Enterprise modeling•Analisa pemrosesan data sekarang•Analisa fungsi-fungsi bisnis dan kebutuhan database•Penentuan data dan database baru untuk mendukung bisnis
Conceptual data modeling•Identifikasi lingkup kebutuhan database•Analisa kebutuhan seluruh data untuk bisnis yang didukung database•Pengembangan model data konseptual dini, termasuk entitas dan hubungan•Pembandingan model data konseptual dengan enterprise data model•Pengembangan model data konseptual detail (mencakup entitas, hubungan, atribut, dan aturan bisnis)•Membuat model data konseptual yang konsisten terhadap model sistem informasi3/6/2012 19nts/rs/tiuajm
SDLC – dari Sisi Pengembangan Database
Identifikasi dan Pemilihan Proyek
Inisiasi dan Perencanaan Proyek
Analisis
Perancangan Logis
Perancangan Fisik
Implementasi
Perawatan
Physical database design and creation•Pendefinisian database dalam DBMS•Penentuan organisasi data secara fisik•Peraancangan program pemroses database
Logical database design •Analisa terhadap transaksi, formulir, query (database view) yang diperlukan fungsi-fungsi bisnis•Mengintegrasikan database view ke dalam model data konseptual•Mengidentifikasi kebutuhan integritas dan keamanan
Database implementation•Mengkodekan dan menguji program•Menyelesaikan dokumentasi database dan materi pelatihan•Memasang database dan mengonversi data
Database Maintenance•Analisa database dan aplikasi database terhadap kebutuhan informasi•Pengaturan database untuk meningkatkan kinerja•Pembetulan kesalahan
3/6/2012 20nts/rs/tiuajm
3/6/2012
11
Masalah dengan Waterfall
• Perubahan sulit dilakukan karena sifatnya yang kaku.
• Karena sifat kakunya, model ini cocok ketika kebutuhan dikumpulkan secara lengkap sehingga perubahan bisa ditekan sekecil mungkin. Tapi pada kenyataannya jarang sekali konsumen/pengguna yang bisa memberikan kebutuhan secara lengkap, perubahan kebutuhan adalah sesuatu yang wajar terjadi.
• Waterfall pada umumnya digunakan untuk rekayasa sistem yang besar dimana proyek dikerjakan di beberapa tempat berbeda, dan dibagi menjadi beberapa bagian subproyek.
3/6/2012 nts/rs/tiuajm 21
Model Sekuensial Linier (1 dari 3)
Fase lingkaran pemecahan masalah [RAC95]
Status quo
Definisi masalah
Pengembangan teknis
Penyatuan solusi
3/6/2012 22nts/rs/tiuajm
3/6/2012
12
Model Sekuensial Linier (2 dari 3)
Waterfall Model menurut referensi Pressman
3/6/2012 23nts/rs/tiuajm
Model Sekuensial Linier (3 dari 3)
Fase-fase dalam Waterfall Model menurut referensi Sommerville
3/6/2012 nts/rs/tiuajm 24
3/6/2012
13
Aktivitas Model Sekuensial linier
• Rekayasa & Pemodelan sistem / informasi
• Analisis kebutuhan PL
• Desain
• Generasi Kode
• Pengujian
• Pemeliharaan
3/6/2012 25nts/rs/tiuajm
Model Prototipe
• Mendefinisikan serangkaian sasaran umum bagi PL
• Tidak meliputi identifikasi kebutuhan Output, Pemrosesan, ataupun Input detail
• Tidak adanya kepastian algorithme
• Kemampuan penyesuaian dari sebuah OS
• Interaksi manusia dengan mesin
3/6/2012 26nts/rs/tiuajm
3/6/2012
14
Prototipe Paradigma
Mendengarkan Pelanggan
Membangun Memperbaiki
Market
Uji Pelanggan-Mengendalikan
Market
3/6/2012 27nts/rs/tiuajm
Masalah Prototype
• Hal yang diabaikan: efisiensi,kualitas, kemudahan dipelihara/ dikembangkan, dan kecocokan dengan lingkungan yang sebenarnya. Jika klien merasa cocok dengan prototype yang disajikan dan berkeras terhadap produk tersebut, maka developer harus kerja keras untuk mewujudkan produk tersebut menjadi lebih baik, sesuai kualitas yang seharusnya.
• Developer biasanya melakukan kompromi dalam beberapa hal karena harus membuat prototype dalam waktu singkat. Mungkin sistem operasi yang tidak sesuai, bahasa pemrograman yang berbeda, atau algoritma yang lebih sederhana.
3/6/2012 nts/rs/tiuajm 28
3/6/2012
15
Aplikasi Sistem Konstruksi dgn Pendekatan RAD(Rapid Aplication Development) (1 dari 2)
• Business modelling: menjawab pertanyaan-pertanyaan informasi apa yang mengendalikan proses bisnis? Informasi apa yang dihasilkan? Siapa yang menghasilkan informasi? Kemana informasi itu diberikan? Siapa yang mengolah informasi?
• Data modelling: aliran informasi yang sudah didefinisikan, disusun menjadi sekumpulan objek data. Ditentukan karakteristik/atribut dan hubungan antar objek-objek tersebut.
• Process Modelling : objek data yang sudah didefinisikan diubah menjadi aliran informasi yang diperlukan untukmenjalankan fungsi-fungsi bisnis.
3/6/2012 29nts/rs/tiuajm
Aplikasi Sistem Konstruksi dgn Pendekatan RAD(Rapid Aplication Development)
• Application Generation: RAD menggunakan component program yang sudah ada atau membuat component yang bisa digunakan lagi, selama diperlukan.
• Testing and Turnover: karena menggunakan component yang sudah ada, maka kebanyakan component sudah melalui uji atau testing. Namun component baru dan interface harus tetap diuji.
3/6/2012 30nts/rs/tiuajm
3/6/2012
16
Model RAD
3/6/2012 31nts/rs/tiuajm
Model Spiral
• Komunikasi pelanggan
• Perencanaan
• Analisis resiko
• Perekayasaan
• Konstruksi dan peluncuran
• Evaluasi pelanggan
3/6/2012 32nts/rs/tiuajm
3/6/2012
17
3/6/2012 nts/rs/tiuajm 33
Spiral Model (Boehm)
SetiapLoop dibagi menjadi beberapa sektor
• Objective settings (menentukan tujuan): menentukan tujuan dari fase yang ditentukan.
• Risk assessment and reduction (Penanganan dan pengurangan resiko): setiap resiko dianalisis secara detil pada sektor ini.
• Development and Validation (Pembangunan dan pengujian): Setelah evaluasi resiko, maka model pengembangan sistem dipilih.
• Planning (perencanaan): Proyek dievaluasi atau ditinjau-ulang dan diputuskan untuk terus ke fase loop selanjutnya atau tidak
3/6/2012 nts/rs/tiuajm 34
3/6/2012
18
Model Variasi Spiral (1 dari 2)
3/6/2012 nts/rs/tiuajm 35
Model Variasi Spiral (2 dari 2)
• Customer communication: membangun komunikasi yang baik dengan pengguna/ customer.
• Planning: mendefinisikan sesumber, batas waktu, informasi-informasi lain seputar proyek
• Risk analysis: identifikasi resiko managemen dan teknis
• Engineering: pembangunan contoh-contoh aplikasi, misalnya prototype
• Construction and release: pembangunan, test, install dan support.
• Customer evaluation: mendapatkan feedback dari pengguna beradasarkan evaluasi PL pada fase engineering dan fase instalasi.
3/6/2012 nts/rs/tiuajm 36
3/6/2012
19
Model Formal
• Mencakup sekumpulan aktivitas yang membawa kepada spesifikasi matematis PL komputer.
• Memungkinkan perekayasa PL untuk mengkhususkan, mengembangkan, dan memverivikasi sistem berbasis komputer dengan menggunakan notasi matematis yang tepat.
3/6/2012 37nts/rs/tiuajm
Model Teknik Generasi Keempat (4GT)
• Mencakup serangkaian bantu perangkat lunak luas yang secara umum memiliki karakteristik.
• Alat bantu secara otomatis memunculkan kode sumber yang berdasarkan pada spesifikasi perekayasa.
• Pengembang harus melakukan pengujian secara teliti terhadap suatu produk.
3/6/2012 38nts/rs/tiuajm