IFA-451 Jaminan Mutu Perangkat Lunak

Slides:



Advertisements
Presentasi serupa
Ana Kurniawati ANALISIS SISTEM Ana Kurniawati
Advertisements

Rekayasa Perangkat Lunak dan Proses Software
GOPI YUDOYO ( ) OLFI PRASYAS ( )
SOFTWARE QUALITY Pemodelan Eko Prasetyo Teknik Informatika
DAMPAK TEKNOLOGI INFORMASI PADA PROSES AUDIT
Functional Requirements (FR) dan Non-Functional Requirements (NFR)
Functional & Nonfunctional Requirements
Software Requirement Specification
Rekayasa Web “Materi 6 – WebApp Testing” Sandhika Galih
Analisis Kebutuhan dan Spesifikasi Perangkat Lunak
Analisis Persyaratan Perangkat Lunak dan Spesifikasi
Pengenalan Rekayasa Perangkat Lunak
SOFTWARE QUALITY ASSURANCE (SQA)
Software Testing Pertemuan III.
REKAYASA PERANGKAT LUNAK
TEKNIK TESTING DAN STRATEGI TESTING
Managing Software Requirement 1
PERANCANGAN BASIS DATA
Rekayasa Perangkat Lunak (Lanjut)
Masalah Perangkat Lunak
Membangun Sistem Informasi ERP
Testing dan implementasi sistem
PENGENALAN PERANGKAT LUNAK KOMPUTER
REKAYASA PERANGKAT LUNAK
KONSEP & DEFINISI KEBUTUHAN PL
Komponen teknologi informasi
SISTEM INFORMASI MANAJEMEN DATABASE SISTEM MANAJEMEN
14. PENGUJIAN PERANGKAT LUNAK
DATABASE ADMINISTRATION
STRATEGI PENGUJIAN SISTEM PERANGKAT LUNAK
DBMS Basis Data Pertemuan 2.
SOFTWARE QUALITY ASSURANCE (SQA)
DESAIN SISTEM Muhammad Taqiyyuddin Alawiy, ST., MT TEKNIK ELEKTRO
ANALISA DAN DESAIN SISTEM DISTRIBUSI BARANG
Desain Sistem Akuntansi
Pemeliharaan Perangkat Lunak
TESTING DAN IMPLEMENTASI SISTEM (Pertemuan Ke-9)
TESTING DAN IMPLEMENTASI SISTEM (Pertemuan Ke-9)
Analisis Kebutuhan Perangkat Lunak
Testing dan Implementasi Sistem
Strategi Pengujian Perangkat Lunak & Sistem
Database Change Management source : Database Administration the complete guide to practices and procedures chapter 7 by. Craig S. Mullins.
Pertemuan 5-2 Database dan Sistem
PERTEMUAN 6 SISTEM INFORMASI SUMBER DAYA MANUSIA DAN
Rekayasa Kebutuhan Software
FAKTOR FAKTOR MUTU SOFTWARE
Testing dan Implementasi
PERTEMUAN 6 SISTEM INFORMASI SUMBER DAYA INFORMASI PENDAHULUAN
Perancangan dan Pemeliharaan
Proses Software & Project Metrics
Functional/Software Requirement Specification ATM
ANALISA DAN DESAIN SISTEM DISTRIBUSI BARANG
KONSEP & DEFINISI KEBUTUHAN PL
PERTEMUAN 2 Proses Pengembangan Perangkat Lunak
DATABASE ADMINISTRATION
Software Quality Assurance (SQA)
DATABASE ADMINISTRATION
Membangun Sistem Informasi ERP
Membangun Sistem Informasi ERP
KEPASTIAN KUALITAS KOMPONEN MAINTENANCE SOFTWARE
PERANCANGAN BASIS DATA
APLIKASI CLIENT SERVER
KUALITAS SISTEM INFORMASI MIK | FAKULTAS ILMU-ILMU KESEHATAN
Oleh: Devie Rosa Anamisa, S.Kom
Pengujian Perangkat Lunak
Kebutuhan fungsional (FR) dan Kebutuhan Non Fungsional (NFR)
Sistem Informasi Dimas Ardi Nugraha
BAGIAN 12 PENGARUH TI TERHADAP AUDIT
PENGANTAR Testing dan implementasi sistem. Definisi testing Testing adalah proses menganalisa suatu entitas software untuk mendeteksi perbedaan antara.
FONDASI PEMROGRAMAN & STRUKTUR DATA #1 - 2
Transcript presentasi:

IFA-451 Jaminan Mutu Perangkat Lunak PERTEMUAN 2 : Faktor-faKtor kualitas perangkat lunak PRESENTED BY : Kurnia R. Putra Itenas 2018

Tujuan Pembelajaran Kebutuhan untuk mendefinisikan kebutuhan perangkat lunak (software requirement) secara komprehensif/menyeluruh Mampu mengklasifikasikan kebutuhan perangkat lunak ke dalam faktor-faktor kualitas perangkat

Kebutuhan mendefinisikan software requirement secara komprehensif Semua proyek perangkat lunak dituntut untuk melakukan perhitungan dengan benar (cost, time) Semua proyek perangkat lunak mengalami performansi yang buruk akibat kurangnya menerapkan faktor-faktor kualitas Kinerja buruk yang terjadi terhadap proyek perangkat lunak yang dikembangkan disebabkab oleh kurangnya mendefenisikan kebutuhan yang mencakup aspek-aspek penting dari PL secara fungsional. Mencakup semua aspek perangkat lunak seperti aspek usability, reusability, maintainability, dll untuk memastikan kepuasan dari user. Poin 1: Karena biaya dan dan waktu sangat berpengaruh terhadap kualitas perangkat lunak. Jika ingin kualitas baik maka waktu dan biaya yang dibutuhkan juga lebih besar Poin 4: Perbedaan Usability dengan Reusability * Usability dapat diukur dengan: - efektifitas (mengukur kebenaran misalnya 100% itu baik sekali, 78% itu dapat diterima) - efisiensi (dapat diukur dengan waktu penyelesaian tugas misalnya 1 detik itu cepat, 2-4 detik dapat diterima, 5 detik lambat) - kepuasan (dapat diukur dengan rating atau skala 1-5, 5 artinya sangat baik dan 1 buruk sekali)

Klasifikasi Faktor Kualitas Perangkat Lunak Beberapa model klasik dari faktor kualitas diperkenalkan oleh: Mc Call (1977) Boehm (1978) Evans dan Marciniak (1987) Deutsch dan Willis (1988) ISO 9126 (1991) FURPS (1992)

Mc Call’s Factor (1977) Mencakup 11 faktor kualitas yang dibagi ke dalam tiga kelompok: Product Operation : kemampuan produk untuk beroperasi dan memberikan hasil sesuai dengan kebutuhan user (Correctness, Reliability, Efficiency, Integrity, Usability) Product Revision : kemampuan produk perangkat lunak untuk beradaptasi terhadap perubahan (Maintainability, Flexibility, Testability) Product Transition: kemampuan produk untuk melakukan transisi sesuai lingkungannya karena perubahan hardware yang begitu cepat (Portability, Reusability, Interoperability)

Product Operation Correctness: berarti “bebas dari bug” tetapi secara spesifik diartikan “terbukti bebas dari bug”. Untuk meningkatkan correctness ada 2 hal yang dapat dilakukan yaitu menggunakan compiler dan testing. Contoh: Metod TotalGaji() harus dihitung menggunakan rumus jumlahHadir x upahPerSKS. Reliability: terkait dengan keandalan software untuk meberikan layanan dan tingkat kegagalan maksimum software yang diizinkan baik merujuk ke satu sistem maupun fungsi terpisah. Contoh: -Availability: Server website e-commerce harus selalu up 99,99 % setiap waktu. Efficiency: kebutuhan sumber daya hardware yang disepakati untuk menjalankan semua fungsi software secara optimal. Contoh: time-response: Waktu yang dibutuhkan oleh prosesor untuk mengeksekusi fungsi perhitungan transaksi penjualan bulanan tidak lebih dari 2 detik. Selain itu juga bisa ukuran data, kecepatan transfer, dll. Integrity: berhubungan dengan keamanan sistem perangkat lunak, untuk memberikan otorisasi ke pihak yang berwenang. Integrity digunakan untuk membedakan siapa yang berhak melihat data dan mengubah data. Contoh: Perangkat Lunak GIS mengizinkan warga untuk mengakses GIS hanya untuk melihat dan meng-copy data tetapi tidak untuk memasukkan data. Usability: seberapa mudah perangkat lunak digunakan oleh user. Contoh: 99.5% dari user mampu melakukan transfer ke bank internasional menggunakan aplikasi perbankan pertama kali tanpa bantuan asisten. Availability: Misal 1 bulan 30 hari = 720 jam. Up: 99,99 % x 720 = 719,928 jam Down: 720-719,928 = 0,072 jam x 60 = 4,32 menit

Product Revision Maintainability: pernyataan requirement untuk menentukan upaya yang dibutuhkan oleh user dan personil yang bertugas untuk melakukan pemeliharaan untuk mengidentifikasi kenapa perangkat lunak mengalami kegagalan. Contoh: Ukuran dari package suatu aplikasi tidak diizinkan melebihi dari 30 class. Flexibility: kemampuan dan upaya yang dibutuhkan untuk mendukung adaptive maintenance. Contoh: Perangkat lunak mampu beroperasi pada Android Nougat, Oreo, dan Pie. Testability: pernyataan requirement yang berkaitan dengan pengujian sistem informasi dan operasinya. Contoh: Id customer harus terdiri dari 8 digit angka, sehingga harus dilakukan pengujian terhadap id customer dengan huruf dan melebihi 8 digit. Aktivitas pemeliharaan PL: - Corrective maintenance: ketika ditemukan sebuah bug, harus dilakukan maintenance untuk melakukan perbaikan. - Adaptive maintenance: ketika sistem yang dibuat harus mengadaptasi perubahan environment/lingkungan operasinya. - Perfective maintenance: ketika pengguna sistem/stakeholder merubah requirement dari sistem yang dibangun.

Product Transition Portability: pernyataan requirement yang berkaitan dengan adaptasi perangkat lunak sesuai dengan lingkungannya, termasuk perangkat keras dan sistem operasi. Contoh: Aplikasi dapat dijalankan pada lingkungan sistem operasi Windows maupun Linux. Reusability: pernyataan requirement yang menyatakan bahwa bagian dari sistem informasi, dapat berupa komponen, kode, desain, module atau library yang dapat digunakan ulang pada aplikasi lain. Fungsi save_data() dapat digunakan untuk menyimpan data dosen, mahasiswa dan matakuliah. Interoperability: berfokus pada pembuatan interface untuk menghubungkan satu sistem dengan sistem lainnya. Contoh: Sub sistem penggajian mampu menarik data karyawan dari sub sistem kepegawaian.

Mengukur RELIABILITY (KEANDALAN) SISTEM SISTEM SERI Jika salah satu komponen mengalami kegagalan maka akan mengakibatkan kegagalan terhadap sistem secara keseluruhan. Keandalan sistem yang dirancang secara seri dapat diukur menggunakan formula: 𝑅𝑠= 𝑅 𝑖 𝑥 𝑅 𝑖+1 𝑥… 𝑅 𝑛−1 Keterangan: 𝑅𝑠=𝑅𝑒𝑙𝑖𝑎𝑏𝑖𝑙𝑖𝑡𝑦 𝑠𝑖𝑠𝑡𝑒𝑚 𝑘𝑒𝑠𝑒𝑙𝑢𝑟𝑢ℎ𝑎𝑛 𝑛=𝑏𝑎𝑛𝑦𝑎𝑘𝑛𝑦𝑎 𝑘𝑜𝑚𝑝𝑜𝑛𝑒𝑛 𝑅𝑖=𝑅𝑒𝑙𝑖𝑎𝑏𝑖𝑙𝑖𝑡𝑦 𝑘𝑜𝑚𝑝𝑜𝑛𝑒𝑛 𝑘𝑒−𝑖 Contoh: Sebuah sistem core-banking menggunakan 3 buah server yang dipasang secara seri. Masing-masing reliability dari server tersebut, Server 1 dengan reliability 99,5%, Server 2 dengan reliability 98,7%, dan Server 3 dengan reliability 97,3%. Berapa reliability sistem secara keseluruhan? Jawab: 𝑅𝑠= 𝑅 𝑠𝑒𝑟𝑣𝑒𝑟1 𝑥 𝑅 𝑠𝑒𝑟𝑣𝑒𝑟2 𝑥 𝑅 𝑠𝑒𝑟𝑣𝑒𝑟3 =0,9950 𝑥 0,9870 𝑥 0,9730=0,9955549245=0,9955=99,55%

Mengukur RELIABILITY (KEANDALAN) SISTEM - Lanjutan SISTEM PARALEL Setidaknya ada satu komponen yang beroperasi maka akan berhasil untuk sistem secara keseluruhan, dan jika salah satu komponen mengalami kegagalan maka dapat digantikan oleh komponen lainnya. Keandalan sistem yang dirancang secara seri dapat diukur menggunakan formula: 𝑅𝑠=1− 𝑄 𝑠 =1− 𝑄 𝑖 𝑥 𝑄 𝑖+1 𝑥… 𝑄 𝑛−1 =1−[ 1− 𝑅 𝑖 𝑥 1− 𝑅 𝑖+1 𝑥… 1− 𝑅 𝑛−1 ] Keterangan: 𝑅𝑠=𝑅𝑒𝑙𝑖𝑎𝑏𝑖𝑙𝑖𝑡𝑦 𝑠𝑖𝑠𝑡𝑒𝑚 𝑘𝑒𝑠𝑒𝑙𝑢𝑟𝑢ℎ𝑎𝑛 Q𝑠=𝑈𝑛𝑟𝑒𝑙𝑖𝑎𝑏𝑖𝑙𝑖𝑡𝑦 𝑠𝑦𝑠𝑡𝑒𝑚 𝑅𝑖=𝑅𝑒𝑙𝑖𝑎𝑏𝑖𝑙𝑖𝑡𝑦 𝑘𝑜𝑚𝑝𝑜𝑛𝑒𝑛 𝑘𝑒−𝑖 Contoh: Sebuah sistem core-banking menggunakan 3 buah server yang dipasang secara paralel. Masing-masing reliability dari server tersebut, Server 1 dengan reliability 99,5%, Server 2 dengan reliability 98,7%, dan Server 3 dengan reliability 97,3%. Berapa reliability sistem secara keseluruhan? Jawab: 𝑅𝑠=1−[ 1− 𝑅 𝑖 𝑥 1− 𝑅 𝑖+1 𝑥… 1− 𝑅 𝑛−1 ] =1−[(1−0,9950) 𝑥 (1−0,9870) 𝑥(1− 0,9730)=1−[(0,005𝑥0,013𝑥0,027)] =0,9999=99,99%

Mendeskripsikan kebutuhan Non-fungsional / Non-functional requirement Nomor Jenis Kebutuhan Deskripsi NFR-01 Correctness Metod TotalGaji() harus dihitung menggunakan rumus jumlahHadir x upahPerSKS NFR-02 Reliability Server harus selalu dalam kondisi up 99,99 % setiap waktu. NFR-03 Efficiency Waktu yang dibutuhkan oleh prosesor untuk mengeksekusi fungsi perhitungan transaksi penjualan bulanan tidak lebih dari 2 detik NFR-04 Integrity User hanya mampu melihat data dan mengcopy data tetapi tidak diijinkan untuk mengubah, menambah, dan menghapus data. NFR-05 Usability 99.5% dari user mampu melakukan pendaftaran akun baru pada aplikasi tanpa bantuan asisten atau melihat buku panduan. NFR-06 Maintainability Ukuran dari satu package pada aplikasi tidak diizinkan melebihi dari 30 class NFR-07 Flexibelity Perangkat lunak mampu beroperasi pada SO Windows 7 sampai Windows 10. NFR-08 Testability Id customer harus terdiri dari 8 digit angka NFR-09 Portability Video pembelajaran matakuliah IFA451 harus dapat diputar oleh mahasiswa pada berbagai sistem operasi, mencakup Microsoft Windows, macOS, and Android NFR-10 Reusability Fungsi save_data() dapat digunakan untuk menyimpan data dosen, mahasiswa dan matakuliah NFR-11 Interoperability Sub sistem penggajian mampu menarik data karyawan dari sub sistem kepegawaian

SOAL LATIHAN 1. Klasifikasikan pernyataan requirement berikut ini ke dalam faktor kualitas Mc Call FR-01 : Dalam satu buah kelas pada program aplikasi tidak diizinkan melebihi dari 20 fungsi atau prosedur. FR-02 : Nama user hanya diperbolehkan maksimal 50 huruf. FR-03 : Library java.util.Math harus dapat digunakan oleh semua kelas Java. FR-04 : User dengan role “Mahasiswa” hanya dapat melihat dan mengubah data personal dan tidak diizinkan melihat dan mengubah data mahasiswa lain. FR-05 : Sistem harus selalu dapat diakses 99,90 % dalam waktu 7x24 jam. FR-06 : Anak-anak umur 5 tahun dapat memainkan game aplikasi tanpa bantua orang tua. FR-07 : Server Backend aplikasi web Tokoku menyediakan API data produk yang dapat diakses oleh aplikasi web lain. FR-08 : Perangkat lunak dapat dijalankan pada mini komputer Rasspberry maupun Arduino. FR-09 : Ukuran bandwidth yang digunakan untuk menampilkan laporan penjualan tidak lebih dari 2MB. FR-10 : Pengolahan data perangkat lunak dapat menggunakan DBMS MySQL atau Oracle. 01 = (Maintainability) 06 = (Usability) 02 = (Testability) 07 = (Interoperability) 03 = (Reusability) 08 = (Flexibility) 04 = (Integrity) 09 = (Efficiency) 05 = (Reliability) 10 = (Portability)

SOAL LATIHAN (Lanjutan) 2. Sebuah sistem pada Universitas menggunakan 3 buah server yang dipasang secara seri untuk menangani data Mahasiswa, Dosen, dan Perkuliahan. Masing-masing reliability dari server tersebut, Reliability sistem keseluruhan adalah 96, 20%, server untuk menangani data mahasiwa dengan reliability 99,6%, server untuk menangani data dosen dengan reliability 99,55%. Berapa reliability server untuk menangani data perkuliahan? 3. Sebuah komputer Highend dengan merk X mampu beroperasi selama 1x24 jam. Pada komputer tersebut dipasang 2 buah memory secara paralel, dimana memory pertama memiliki reliability sebesar 99,89% sedangkan memory kedua memiliki reliability sebesar 99,35%. Dalam seminggu komputer tersebut pernah mengalami down. Berapa menit komputer X tersebut mengalami down selama seminggu?

JAWAB 2. 𝑅𝑠= 𝑅 𝑚ℎ𝑠 𝑥 𝑅 𝑑𝑠𝑛 𝑥 𝑅 𝑘𝑙ℎ 0,9620=0,9960 𝑥 0,9955 𝑥 𝑅 𝑘𝑙ℎ 𝑅 𝑘𝑙ℎ = 0,9620 (0,9960𝑥0,9955) = 0,9620 0,991518 =0,97022=97,02% 3. 𝑅𝑠=1− 1− 𝑅 𝑖 𝑥 1− 𝑅 𝑖+1 𝑥… 1− 𝑅 𝑛−1 1 𝑚𝑖𝑛𝑔𝑔𝑢=7𝑥24 𝑗𝑎𝑚=168 𝑗𝑎𝑚 𝑅𝑠=1−[ 1− 𝑅 𝑚𝑒𝑚1 𝑥 1− 𝑅 𝑚𝑒𝑚2 ] 𝐷𝑜𝑤𝑛=168𝑥0,0001=0,0168 jam =1−[ 1−0,9989 𝑥 1−0,9935 ] =0,0168𝑥60=±1,008 𝑚𝑒𝑛𝑖𝑡 =1− 0,0011 𝑥 0,0065 =1− 0,00000715 =0,9999=99,99% 𝐷𝑜𝑤𝑛=1−99,99%=0,0001%

Boehm’FACTOR (1978) Barry W. Boehm memodelkan karakteristik ke dalam tiga pilar utama yang berada pada high level: As-is_Utility: sejauh mana perangkat lunak itu dapat digunakan (ease to use, reliability, dan efficiency) Maintainability: kemudahan untuk mengidentifikasi apa yang perlu diubah serta kemudahan mofikasi dan pengujian ulang. Portability: kemudahan dalam mengubah perangkat lunak mengikuti lingkungannya yang baru. Ketiga faktor tersebut dijabarkan lagi secara hierarki pada middle level: Portability: sejauh mana perangkat lunak dapat bekerja pada konfigurasi komputer yang berbeda (Sistem operasi, database, dll) Reliability: sejauh mana perangkat lunak bekerja sesuai dengan yang seharusnya, bebas dr kecacatan (defect) Efficiency: sejauh mana sumber daya komputer dimanfaatkan secara optimal selama proses eksekusi program. Human Engineering: kemudahan dalam penggunaan Testability: kemudahan dalam validasi, dimana software yang dibangun harus memenuhi requirementnya. Understandability: sejauh mana perangkat lunak dapat dipahami berkaitan dengan tujuan dan strukturnya. Flexibility: kemudahan mengubah perangkat lunak sesuai dengan requirementnya.

ALTERNATIVE FACTOR MODEL EVANS & MARCINIAK (1987) Verifiability: menentukan fitur desain dan pemrograman yang memungkinkan untuk melakukan verifikasi desain dan pemrograman yang efisien. Expandability: merujuk pada suatu upaya yang akan dilakukan di masa mendatang untuk meningkatkan layanan, atau tambahkan aplikasi baru untuk meningkatkan kegunaan. (dicakup pada McCall’s flexibility) DEUTSCH & WILLIS (1988) Safety: dimaksudkan untuk menghilangkan kondisi berisiko sebagai akibat dari kesalahan dalam proses control perangkat lunak. Manageability:merujuk pada administrasi yang mendukung modifikasi perangkat lunak selama periode pengembangan dan pemeliharaan. Survivability: merujuk pada stabilitas layanan. (dicakup pada McCall’s reliability)

Perbandingan Mc Call, Evans & marciniak, dan DEUTSCH & WILLIS

ISO 9126 (1991) Functionality: karakteristik yang terkait dengan pencapaian tujuan Reliability: kemampuan perangkat lunak untuk menjaga kinerja dari perangkat lunak tersebut Usability: usaha yang dibutuhkan dalam menggunakan software (mudah/sulit) Efiiciency: hubungan antara tingkat kinerja dengan jumlah sumber daya. Maintainability: usaha yang diperlukan untuk melakukan modifikasi dan peningkatan. Portability: menjalankan software dari satu sistem ke sistem lainnya.

FURPS (1992) Functionality: dinilai sebagai evaluasi fitur dan kemampuan program secara keseluruhan Usability: dinilai dengan mempertimbangkan faktor manusia, keseluruhan estetika, tampilan dan kemudahan belajar. Reliability: dinilai sebagai pengukuran dari frekuensi kegagalan, keakuratan hasil, dan Mean-Time-To-Failure(MTTF)/ lamanya waktu suatu perangkat atau produk diharapkan bertahan dalam operasi, kemampuan untuk pulih dari kegagalan. Performance: dinilai sebagai kecepatan proses, response time, pemanfaatan sumber daya dan efesiensi. Supportability: dinilai sebagai kemampuan untuk memperluas program (extensibility), adaptability, serviceability and maintainability.

KESIMPULAN Mempelejari mendefinisikan requirement secara komprehensif. Mempelajari faktor-faktor kualitas perangkat lunak (Mc Call, Boehm, Evans & Marciniak, Deutsch & Willis, ISO 9126, dan FURPS) Mengklasifikasikan pernyataan requirement ke dalam model faktor kualitas perangkat lunak. Mempelajari perhitungan realibilitas perangkat lunak.The additional factors suggested by alternatives factor models.

SELESAI