Download - PSI PerangkatLunak
Perancangan Sistem InformasiPerancangan Perangkat Lunak
Avinanta Tarigan
Gunadarma University
1
Avinanta Tarigan
Perancangan Sistem Informasi
Outline1
Aspek-aspek Dalam R/P-PL Rekayasa Perangkat Lunak Problema Proses Pengembangan PL Denisi Model Proses Pengembangan PL Pengujian Perangkat Lunak Strategi Pengujian Secara Umum Pengujian PL Berarsitektur Konvensional Pengujian Dalam Konteks PBO Pengujian Sistem
2
3
2
Avinanta Tarigan
Perancangan Sistem Informasi
Pustaka ISommerville, Ian, Software Engineering , Addison-Wesley, 1982 Pressman, Roger S, Software Engineering: A Practitioners Approach, Boston, Mass: McGraw-Hill, 2005 Parnas, David, Software Engineering Programmes are not Computer Science Programmes, Annals of Software Engineering, 1998 Guide to the Software Engineering Body of Knowledge (http://www.swebok.org) Other S.E. Course Related Sites (Wikipedia, MIT, Software Engineering Institute Carnegie Mellon, Ilmukomputer.com, etc)
3
Avinanta Tarigan
Perancangan Sistem Informasi
Aspek-aspek Dalam R/P-PL
Rekayasa Perangkat Lunak
Outline1
Aspek-aspek Dalam R/P-PL Rekayasa Perangkat Lunak Problema Proses Pengembangan PL Denisi Model Proses Pengembangan PL Pengujian Perangkat Lunak Strategi Pengujian Secara Umum Pengujian PL Berarsitektur Konvensional Pengujian Dalam Konteks PBO Pengujian Sistem
2
3
4
Avinanta Tarigan
Perancangan Sistem Informasi
Aspek-aspek Dalam R/P-PL
Rekayasa Perangkat Lunak
Software / Perangkat Lunak
Program Komputer, Mekanikal yang dapat dengan mudah dibentuk dan dirubah Produk Perangkat Lunak:Generik :untuk pengguna umum pengguna harus mengikuti apa yang telah dibuat oleh programmer
Bespoke / Tailor-made :dibuat khusus untuk sekelompok pengguna developer mengikuti requirement dari pengguna
5
Avinanta Tarigan
Perancangan Sistem Informasi
Aspek-aspek Dalam R/P-PL
Rekayasa Perangkat Lunak
Software / Perangkat Lunak
Program Komputer, Mekanikal yang dapat dengan mudah dibentuk dan dirubah Produk Perangkat Lunak:Generik :untuk pengguna umum pengguna harus mengikuti apa yang telah dibuat oleh programmer
Bespoke / Tailor-made :dibuat khusus untuk sekelompok pengguna developer mengikuti requirement dari pengguna
5
Avinanta Tarigan
Perancangan Sistem Informasi
Aspek-aspek Dalam R/P-PL
Rekayasa Perangkat Lunak
Software Engineering IApplication of systematic, disciplined, quantiable approach to the development, operation, and maintenance of software 1968 - NATO Software Engineering Conference, Garmisch, Deutschland. Term was popularized by F.L. Bauer Pioneers:C.A.R. Hoare David Parnas Barry Boehm & Fred Brooks
S.E. isa form of engineering but not just set of good programmers (David Parnas) not engineering but that it should be (Steve McConnell) is an art and a science (Donald Knuth)6 Avinanta Tarigan Perancangan Sistem Informasi
Aspek-aspek Dalam R/P-PL
Rekayasa Perangkat Lunak
Software Engineering II
Engineers belajar science + metoda untuk mengaplikasikannya Membutuhkan pengetahuan: computer engineering & science, managemen, matematik, manajemen proyek, management kualitas, software ergonomics, system engineering Peneliti (scientist) fokus pada satu subyek dan mendalaminya, tetapi engineer harus memilik pengetahuan yang cukup luas dan melebar
7
Avinanta Tarigan
Perancangan Sistem Informasi
Aspek-aspek Dalam R/P-PL
Problema
Outline1
Aspek-aspek Dalam R/P-PL Rekayasa Perangkat Lunak Problema Proses Pengembangan PL Denisi Model Proses Pengembangan PL Pengujian Perangkat Lunak Strategi Pengujian Secara Umum Pengujian PL Berarsitektur Konvensional Pengujian Dalam Konteks PBO Pengujian Sistem
2
3
8
Avinanta Tarigan
Perancangan Sistem Informasi
Aspek-aspek Dalam R/P-PL
Problema
Mengapa Kita Harus Belajar PPL
http://blog.amber.org/category/programming/ 9 Avinanta Tarigan Perancangan Sistem Informasi
Aspek-aspek Dalam R/P-PL
Problema
Karakteristik Software Yang Bagus
Maintainability PL harus dapat dengan mudah dirubah sesuai dengan perubahan kebutuhan pengguna Dependability PL harus dapat dipercaya (trustworthy) sehingga pengguna dapat menggantungkan sepenuhnya proses bisnis mereka Eciency PL harus esien dan tidak memakai resources yang tinggi Usability PL harus dapat digunakan (usable) oleh penggunanya dalam memenuhi kebutuhan mereka
10
Avinanta Tarigan
Perancangan Sistem Informasi
Proses Pengembangan PL
Denisi
Outline1
Aspek-aspek Dalam R/P-PL Rekayasa Perangkat Lunak Problema Proses Pengembangan PL Denisi Model Proses Pengembangan PL Pengujian Perangkat Lunak Strategi Pengujian Secara Umum Pengujian PL Berarsitektur Konvensional Pengujian Dalam Konteks PBO Pengujian Sistem
2
3
11
Avinanta Tarigan
Perancangan Sistem Informasi
Proses Pengembangan PL
Denisi
Proses Pengembangan PLHimpunan dari aktitas yang bertujuan untuk mengembangkan PL atau evolusi dari PL Secara generik:1
2
3
4
Spesikasi Mendinisikan bagaimana sistem harus bekerja, ruang lingkup, dan hambatan2nya Pengembangan Fase produksi: programming, dokumentasi, cek error, etc Validasi dan verikasi Memvalidasi bahwa PL dapat memenuhi kebutuhan pengguna (requirement) Evolusi Merubah PL sesuai dengan perubahan kebutuhan pengguna
12
Avinanta Tarigan
Perancangan Sistem Informasi
Proses Pengembangan PL
Denisi
Model Proses Pengembangan PL
Simplikasi proses pengembangan PL dari perspektiv yang spesik Perspektiv:Workow - aliran aktivitas Data-Flow based - aliran informasi Role/Action based - peran-peran pengembang
Beberapa model proses PLWaterfall model Evolutionary Formal transformation Integration from reusable components Agile and eXtreme Software Development
13
Avinanta Tarigan
Perancangan Sistem Informasi
Proses Pengembangan PL
Model Proses Pengembangan PL
Outline1
Aspek-aspek Dalam R/P-PL Rekayasa Perangkat Lunak Problema Proses Pengembangan PL Denisi Model Proses Pengembangan PL Pengujian Perangkat Lunak Strategi Pengujian Secara Umum Pengujian PL Berarsitektur Konvensional Pengujian Dalam Konteks PBO Pengujian Sistem
2
3
14
Avinanta Tarigan
Perancangan Sistem Informasi
Proses Pengembangan PL
Model Proses Pengembangan PL
The Waterfall ModelThe Spirit
15
Avinanta Tarigan
Perancangan Sistem Informasi
Proses Pengembangan PL
Model Proses Pengembangan PL
The Waterfall ModelAs is
16
Avinanta Tarigan
Perancangan Sistem Informasi
Proses Pengembangan PL
Model Proses Pengembangan PL
The Waterfall ModelProblem Dari Waterfall Model
Sangat sulit untuk mengakomodasi perubahan dalam proses Tidak eksibel dalam pemisahan proyek dalam beberapa langkah pengembangan Tidak mudah untuk merespon perubahan Dapat digunakan apabila kebutuhan pengguna sudah benar2 dimengerti, dikuasai, diresapi dan tidak akan berubah selama pengembangan
17
Avinanta Tarigan
Perancangan Sistem Informasi
Proses Pengembangan PL
Model Proses Pengembangan PL
Evolutionary DevelopmentVersioning dan Prototyping
18
Avinanta Tarigan
Perancangan Sistem Informasi
Proses Pengembangan PL
Model Proses Pengembangan PL
Evolutionary DevelopmentProblema dan Pengejawantahannya
Problem:Visibilitas proses tidak jelas terlihat Sistem kadang2 tidak terstruktur Membutuhkan skill khusus (misalnya, bahasa untuk rapid prototyping)
Dapat digunakan dalam:sistem interaktif yang kecil atau menengah mengembangkan bagian dari sistem yang besar (misalnya, user interface) sistem yang life-cyclenya pendek
19
Avinanta Tarigan
Perancangan Sistem Informasi
Proses Pengembangan PL
Model Proses Pengembangan PL
Formal System DevelopmentKebutuhan user dispesikasikan dalam bentuk matematik Bentuk matematik tsb ditransformasikan dalam abstraksi-abstraksi spesikasi sampai pada program yang dapat dijalankan Requirement Deniiton Formal Specication Formal Transformation Executable Program Integration & System Testing Transformasi tsb correctness-preserving, dapat dengan mudah membuktikan bahwa program akhir sesuai dengan spesikasi awal Pendekatan Cleanroom20 Avinanta Tarigan Perancangan Sistem Informasi
Proses Pengembangan PL
Model Proses Pengembangan PL
Formal System DevelopmentPenggunaannya
investasi awal sangat tinggi bias dalam penyusunan kebutuhan dapat diperkecil karena analisis detail sangat diperlukan dan mandatory ketidaklengkapan dan ketidakkonsistenan dapat diidentikasi dan dibetulkan penghematan dalam proyek yang biasanya disebabkan oleh problem dalam pendenisian kebutuhan
21
Avinanta Tarigan
Perancangan Sistem Informasi
Proses Pengembangan PL
Model Proses Pengembangan PL
Formal System DevelopmentContoh Spesikasinya Dalam TLA+
22
Avinanta Tarigan
Perancangan Sistem Informasi
Proses Pengembangan PL
Model Proses Pengembangan PL
Formal System DevelopmentFormal Transformation and Proofs
P1 P2 P3 P4 TRUE
23
Avinanta Tarigan
Perancangan Sistem Informasi
Proses Pengembangan PL
Model Proses Pengembangan PL
Formal System DevelopmentProblems and Applicability
ProblemaDibutuhkan kepala yang pintar dan terlatih Tidak mudah (tidak mungkin) untuk memformalkan semua aspek dalam sistem
AplikasiCritical systems : safety dan security
24
Avinanta Tarigan
Perancangan Sistem Informasi
Proses Pengembangan PL
Model Proses Pengembangan PL
Component-Reuse Oriented DevelopmentDenisi
Berdasarkan penggunaan kembali komponen-komponen PL dengan metoda yang sistematik (COTS Commercial-o-the-shelf) ProsesAnalisa Komponen Kebutuhan Modikasi Mendesain sistem dg memanfaatkan komponen-komponen yang ada Pengembangan dan Integrasi
Sangat disukai dan penting (bagi bisnis) tetapi tanpa metode yang tepat malah akan mendapatkan sistem yang tidak robust
25
Avinanta Tarigan
Perancangan Sistem Informasi
Proses Pengembangan PL
Model Proses Pengembangan PL
Component-Reuse Oriented DevelopmentProses Pengembangannya
26
Avinanta Tarigan
Perancangan Sistem Informasi
Proses Pengembangan PL
Model Proses Pengembangan PL
Process Iteration
Ide dasar: kebutuhan SELALU berubah selama pengembangan, sehingga perulangan proses dimana pengerjaan sebelumnya dirubah lagi adalah bagian pengembangan sistem secara keseluruhan Iterasi dapat diimplementasikan dalam setiap fase pengembangan generik Pendekatan berbasis perulangan prosesIncremental development Spiral development
27
Avinanta Tarigan
Perancangan Sistem Informasi
Proses Pengembangan PL
Model Proses Pengembangan PL
Incremental DevelopmentDenition
Pengembangan dibagi menjadi bagian2 yang dapat berkembang secara bertambah (increments) Setiap bagian harus memenuhi fungsi-fungsi yang diperlukan Kebutuhan pengguna diprioritaskan dan prioritas tertinggi didahulukan dalam pengembangan Begitu dimulai, kebutuhan yang telah tertangani akan dibekukan sehingga memberikan tempat bagi kebutuhan lain untuk dapat berevolusi
28
Avinanta Tarigan
Perancangan Sistem Informasi
Proses Pengembangan PL
Model Proses Pengembangan PL
Incremental DevelopmentIn a Diagram
29
Avinanta Tarigan
Perancangan Sistem Informasi
Proses Pengembangan PL
Model Proses Pengembangan PL
Incremental DevelopmentKelebihan
Kebutuhan pengguna / kustomer dipenuhi pada setiap bagian yang selesai terlebih dahulu Bagian yang selesai terlebih dahulu menjadi prototipe Resiko rendah Bagian yang punya prioritas tertinggi dapat dites secara intensive
30
Avinanta Tarigan
Perancangan Sistem Informasi
Proses Pengembangan PL
Model Proses Pengembangan PL
eXtreme programming
Pendekatan baru Pengembangan bagian-bagian kecil dari fungsi sistem Bergantung kepada :improvemen kode yang konstan keikutsertaan user dalam pengembangan pairwise programming
31
Avinanta Tarigan
Perancangan Sistem Informasi
Proses Pengembangan PL
Model Proses Pengembangan PL
The Spiral Model (Boehm)
Proses direpresentasikan dalam aktivitas berbentuk spiral Setiap perulangan (loop) dalam spiral merepresentasikan sebuah fase dalam proses Fase-fase tidak x (spesikasi - design loop) dipilih sesuai dengan yang diperlukan Resiko selalu secara transparan dimonitor dan dipecahkan selama proses berlangsung
32
Avinanta Tarigan
Perancangan Sistem Informasi
Proses Pengembangan PL
Model Proses Pengembangan PL
The Spiral Model (Boehm)
33
Avinanta Tarigan
Perancangan Sistem Informasi
Proses Pengembangan PL
Model Proses Pengembangan PL
The Spiral Model (Boehm)1
Mendenisikan tujuan dalam 1 siklus spiralTujuan spesik harus didenisikan sebagai output dari 1 siklus spiral
2
Indentikasi Resiko, assasement, pemecahanMencari semua resiko yang mungkin dan memecahkannya sebelum langkah berikutnya dimulai
3
Pengembangan dan ValidasiPengembangan sistem / software itu sendiri dan memvalidasinya sesuai dengan kebutuhan Pengembangan sesuai dengan model generik
4
Perencanaan berikutnyaReview hasil dari 1 siklus proyek Merencanakan pengembangan berikutnya
34
Avinanta Tarigan
Perancangan Sistem Informasi
Pengujian Perangkat Lunak
Strategi Pengujian Secara Umum
Outline1
Aspek-aspek Dalam R/P-PL Rekayasa Perangkat Lunak Problema Proses Pengembangan PL Denisi Model Proses Pengembangan PL Pengujian Perangkat Lunak Strategi Pengujian Secara Umum Pengujian PL Berarsitektur Konvensional Pengujian Dalam Konteks PBO Pengujian Sistem
2
3
35
Avinanta Tarigan
Perancangan Sistem Informasi
Pengujian Perangkat Lunak
Strategi Pengujian Secara Umum
Strategi Pengujian
BerupaRencana Pengujian Desain Pengujian Eksekusi Pengujian
Cukup eksibel sehingga setiap proyek dapat mempunyai kasus pengujian yang berbeda Harus cukup detail sehingga dapat dijadikan tolok ukur kemajuan proyek Hasil: Dokumen Spesikasi Pengujian panduan bagi pelaksana dan milestone bagi manajemen
36
Avinanta Tarigan
Perancangan Sistem Informasi
Pengujian Perangkat Lunak
Strategi Pengujian Secara Umum
Karakteristik Pengujian Generik
Memasukkan formal technical reviews untuk mengeliminasi error sebelum pengujian dimulai Dimulai dari komponen-komponen sistem sampai pada sistem secara keseluruhan Teknik pengujian dipilih sesuai dengan ketepatannya setiap waktu / kasus Dilaksanakan oleh pengembang PL atau tim independen Pengujian & Debugging tidak sama, tetapi debugging harus ada di setiap testing
37
Avinanta Tarigan
Perancangan Sistem Informasi
Pengujian Perangkat Lunak
Strategi Pengujian Secara Umum
Organisasi Pengujian Perangkat Lunak
Perbedaan konsep Verikasi (membuat PL dengan benar) dan Validasi (membuat PL yang benar) Problem Psikologi:Pengembang cenderung untuk memperlihatkan tur sistem dan validasinya terhadap kebutuhan user Pelaksanaan oleh tim luar potensi membuat konik dg pengembang
Tim luar bukan bertanggungjawab thd kualitas PL
38
Avinanta Tarigan
Perancangan Sistem Informasi
Pengujian Perangkat Lunak
Strategi Pengujian Secara Umum
Kapan Pengujian Selesai ?
Problem: Tidak pernah selesai Biaya: Selesai begitu dana untuk Pengujian telah habis Kriteria Statistik (Musa & Ackerman)95% kepercayaan terhadap sistem tsb apabila dalam 1000 jam sisem berjalan terdapat probabilitas 0.995 operasi PL yang tidak gagal
39
Avinanta Tarigan
Perancangan Sistem Informasi
Pengujian Perangkat Lunak
Pengujian PL Berarsitektur Konvensional
Outline1
Aspek-aspek Dalam R/P-PL Rekayasa Perangkat Lunak Problema Proses Pengembangan PL Denisi Model Proses Pengembangan PL Pengujian Perangkat Lunak Strategi Pengujian Secara Umum Pengujian PL Berarsitektur Konvensional Pengujian Dalam Konteks PBO Pengujian Sistem
2
3
40
Avinanta Tarigan
Perancangan Sistem Informasi
Pengujian Perangkat Lunak
Pengujian PL Berarsitektur Konvensional
Proses Pengujian
41
Avinanta Tarigan
Perancangan Sistem Informasi
Pengujian Perangkat Lunak
Pengujian PL Berarsitektur Konvensional
Proses Pengujian IPengujian UnitKomponen-komponen diuji secara individual Pengujian terhadap kode program dan algoritma
Pengujian ModulPengujian himpunan komponen-komponen yang saling berkaitan atau bergantungan
Pengujian Sub-SistemPengujian modul yang diintegrasikan kedalam satu sub-sistem. Fokus ada pada pengujian antar-muka
Pengujian SistemPengujian sistem secara keseluruhan Pengujian terhadap adanya pembrojolan (emergent properties)42 Avinanta Tarigan Perancangan Sistem Informasi
Pengujian Perangkat Lunak
Pengujian PL Berarsitektur Konvensional
Proses Pengujian II
Pengujian Penerimaan PenggunaPengujian Penerimaan Pengguna terhadap PL tersebut Validasi terhadap Kebutuhan Pengguna
43
Avinanta Tarigan
Perancangan Sistem Informasi
Pengujian Perangkat Lunak
Pengujian PL Berarsitektur Konvensional
Testing Phases
44
Avinanta Tarigan
Perancangan Sistem Informasi
Pengujian Perangkat Lunak
Pengujian PL Berarsitektur Konvensional
Pengujian Unit
45
Avinanta Tarigan
Perancangan Sistem Informasi
Pengujian Perangkat Lunak
Pengujian PL Berarsitektur Konvensional
Pengujian UnitAntarmuka:untuk memastikan aliran data yang masuk dan keluar sesuai
Struktur Data Lokalmemastikan integritas variabel lokal selama eksekusi
Kondisi Unit Pada Batas Limitunit selalu beroperasi dengan benar pada limit-limit tertentu
Independent Pathalgoritma yang berdiri sendiri beroperasi dengan benar
Error handling pathalgoritma untuk mendeteksi dan menangani error beroperasi dengan benar
46
Avinanta Tarigan
Perancangan Sistem Informasi
Pengujian Perangkat Lunak
Pengujian PL Berarsitektur Konvensional
Kesalahan Umum
kesalahan aritmatika operasi menggunakan modus yang bercampur inisialisasi yang tidak benar presisi yang tidak terakurasi representasi simbolik yang tidak benar
47
Avinanta Tarigan
Perancangan Sistem Informasi
Pengujian Perangkat Lunak
Pengujian PL Berarsitektur Konvensional
Pengujian Modul
48
Avinanta Tarigan
Perancangan Sistem Informasi
Pengujian Perangkat Lunak
Pengujian PL Berarsitektur Konvensional
Pengujian Integrasi Sistem
Incremental Integration vs Big Bang Top-down IntegrationDepth First Integration Breadth First Integration Memverikasi kontrol
Bottom-up IntegrationStubs tidak diperlukan Clustering
49
Avinanta Tarigan
Perancangan Sistem Informasi
Pengujian Perangkat Lunak
Pengujian PL Berarsitektur Konvensional
Pengujian Regresi dan Smoke
Pengujian berulang terhadap komponen / modul yang telah diuji sebelumnya akibat integrasi dengan yang belum diuji Smoke:integrasi bertahap dibuat setiap hari dalam bentuk build pengujian diulang pada tahap integrasi ini
KeuntunganResiko integrasi diminimalisasi Kualitas produk meningkat Memudahkan diagnosa error dan koreksi Kemajuan proyek dapat dilihat dengan mudah
50
Avinanta Tarigan
Perancangan Sistem Informasi
Pengujian Perangkat Lunak
Pengujian Dalam Konteks PBO
Outline1
Aspek-aspek Dalam R/P-PL Rekayasa Perangkat Lunak Problema Proses Pengembangan PL Denisi Model Proses Pengembangan PL Pengujian Perangkat Lunak Strategi Pengujian Secara Umum Pengujian PL Berarsitektur Konvensional Pengujian Dalam Konteks PBO Pengujian Sistem
2
3
51
Avinanta Tarigan
Perancangan Sistem Informasi
Pengujian Perangkat Lunak
Pengujian Dalam Konteks PBO
Pengujian Dalam Konteks OO
Prinsip enkapsulasi dan information hiding Pengujian class-class dan penurunannya Detail algoritma dalam setiap class dan keturunannya
52
Avinanta Tarigan
Perancangan Sistem Informasi
Pengujian Perangkat Lunak
Pengujian Dalam Konteks PBO
Pengujian Integrasi Dalam Konteks OO
Pengujian Threadpengujian terhadap beberapa class yang tergabung dalam satu thread diuji terhadap input yang ditentukan sebelumnya
Pengujian Berdasarkan Penggunaanpengujian class terhadap penggunaannya di class yang lain pertama adalah pengujian independent class kedua adalah pengujian dependent class
Cluster Testing
53
Avinanta Tarigan
Perancangan Sistem Informasi
Pengujian Perangkat Lunak
Pengujian Sistem
Outline1
Aspek-aspek Dalam R/P-PL Rekayasa Perangkat Lunak Problema Proses Pengembangan PL Denisi Model Proses Pengembangan PL Pengujian Perangkat Lunak Strategi Pengujian Secara Umum Pengujian PL Berarsitektur Konvensional Pengujian Dalam Konteks PBO Pengujian Sistem
2
3
54
Avinanta Tarigan
Perancangan Sistem Informasi
Pengujian Perangkat Lunak
Pengujian Sistem
Pengujian Sistem
Pengujian RecoveryBagaimana sistem dapat merekover dirinya thd suatu kesalahan
Pengujian KeamananBagaimana sistem dapat mempertahankan dirinya agar tidak masuk ke dalam state of insecure
Pengujian StressBagaimana sistem dapat bertahan beroperasi dalam tekanan waktu dan pelayanan
Pengujian PerformaBagaimana performa sistem dalam melaksanakan pekerjaannya
55
Avinanta Tarigan
Perancangan Sistem Informasi
End
Terimakasih