3/6/2012
Proses N. Tri Suswanto Saptadi Teknik Informatika http://trisaptadi.uajm.ac.id
02/28/11
nts/sb/tiuajm
1
A Layered Technology Software Engineering tools methods process model a “quality” focus 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
nts/rs/tiuajm
2
1
3/6/2012
Rekayasa • • • • •
Merupakan analisis Desain Konstruksi Verifikasi Manajemen kesatuan teknik (atau sosial)
3/6/2012
nts/rs/tiuajm
3
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
nts/rs/tiuajm
4
2
3/6/2012
Fase Umum • Fase Definisi Definition phase • Fase Pengembangan Development phase • Fase Pemeliharaan Maintenance phase 3/6/2012
nts/rs/tiuajm
5
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
nts/rs/tiuajm
6
3
3/6/2012
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
nts/rs/tiuajm
7
Fase Pemeliharaan • Berfokus pada “perubahan” (change) Koreksi kesalahan Penyesuaian yang dibutuhkan Perubahan akibat perkembangan Perubahan kebutuhan pelanggan
3/6/2012
nts/rs/tiuajm
8
4
3/6/2012
Empat Tipe Perubahan • • • •
Koreksi Adaptasi Perkembangan Pencegahan
3/6/2012
nts/rs/tiuajm
9
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
nts/rs/tiuajm
10
5
3/6/2012
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
nts/rs/tiuajm
11
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
nts/rs/tiuajm
12
6
3/6/2012
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
nts/rs/tiuajm
13
Proses Perangkat Lunak Kerangka Kerja Proses Umum
Aktivitas Kerangka Kerja Rangkaian Tugas Tugas Kejadian Penting, dapat dikirimkan
Point SQA
(Software Quality Assurance)
Aktivitas Pendukung 3/6/2012
nts/rs/tiuajm
14
7
3/6/2012
Pendekatan SEI (RPL Institute) (Software Engineering 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
3/6/2012
nts/rs/tiuajm
15
Model PL (Proses) • • • • • • • •
Model Model Model Model Model Model Model Model 3/6/2012
Proses PL Waterfall Sekuensial Linier Prototipe RAD Spiral Formal Teknik Generasi Keempat (4GT) nts/rs/tiuajm
16
8
3/6/2012
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
nts/rs/tiuajm
17
Model Waterfall (air Terjun) • SDLC (System Development Life Cycle) merupakan metodologi tradisional yang dipakai untuk mengembangkan dan memelihara sistem informasi
3/6/2012
nts/rs/tiuajm
18
9
3/6/2012
SDLC – dari Sisi Pengembangan Database Identifikasi dan Pemilihan Proyek Inisiasi dan Perencanaan Proyek
Enterprise modeling •Analisa pemrosesan data sekarang •Analisa fungsi-fungsi bisnis dan kebutuhan database •Penentuan data dan database baru untuk mendukung bisnis
Analisis
Perancangan Logis
Perancangan Fisik
Implementasi
Perawatan
3/6/2012
nts/rs/tiuajm
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 informasi 19
SDLC – dari Sisi Pengembangan Database Identifikasi dan Pemilihan Proyek
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
Inisiasi dan Perencanaan Proyek Analisis
Physical database design and creation •Pendefinisian database dalam DBMS •Penentuan organisasi data secara fisik •Peraancangan program pemroses database
Perancangan Logis
Perancangan Fisik
Implementasi
Database implementation •Mengkodekan dan menguji program •Menyelesaikan dokumentasi database dan materi pelatihan •Memasang database dan mengonversi data
Perawatan
3/6/2012
nts/rs/tiuajm
Database Maintenance •Analisa database dan aplikasi database terhadap kebutuhan informasi •Pengaturan database untuk meningkatkan kinerja •Pembetulan kesalahan
20
10
3/6/2012
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]
Definisi masalah
Pengembangan teknis
Status quo
Penyatuan solusi
3/6/2012
nts/rs/tiuajm
22
11
3/6/2012
Model Sekuensial Linier
(2 dari 3)
Waterfall Model menurut referensi Pressman
3/6/2012
nts/rs/tiuajm
Model Sekuensial Linier
23
(3 dari 3)
Fase-fase dalam Waterfall Model menurut referensi Sommerville
3/6/2012
nts/rs/tiuajm
24
12
3/6/2012
Aktivitas Model Sekuensial linier • Rekayasa & Pemodelan sistem / informasi • Analisis kebutuhan PL • Desain • Generasi Kode • Pengujian • Pemeliharaan
3/6/2012
nts/rs/tiuajm
25
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
nts/rs/tiuajm
26
13
3/6/2012
Prototipe Paradigma Membangun Memperbaiki Market
Mendengarkan Pelanggan
Uji PelangganMengendalikan Market 3/6/2012
nts/rs/tiuajm
27
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
14
3/6/2012
Aplikasi Sistem Konstruksi dgn Pendekatan RAD (Rapid Aplication Development)
(1 dari 2)
• Business modelling: menjawab pertanyaanpertanyaan 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
nts/rs/tiuajm
29
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
nts/rs/tiuajm
30
15
3/6/2012
Model RAD
3/6/2012
nts/rs/tiuajm
31
Model Spiral • • • • • •
Komunikasi pelanggan Perencanaan Analisis resiko Perekayasaan Konstruksi dan peluncuran Evaluasi pelanggan
3/6/2012
nts/rs/tiuajm
32
16
3/6/2012
Spiral Model
(Boehm)
3/6/2012
nts/rs/tiuajm
33
Setiap Loop 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
17
3/6/2012
Model Variasi Spiral
3/6/2012
nts/rs/tiuajm
Model Variasi Spiral
(1 dari 2)
35
(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
18
3/6/2012
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
nts/rs/tiuajm
37
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
nts/rs/tiuajm
38
19