Faktor-Faktor Rekayasa Perangkat Lunak

10. Kualitas perangkat lunak.

2. Faktor-Faktor Rekayasa Perangkat Lunak

Berbagai faktor yang memengaruhi perncanaan, manajemen, dan pemilihan aktivitas SQM dan teknik-teknik adalah sebagai berikut: 1. Daerah system yang akan ditempati perangkat lunak safety-critical, mission- critical, dan business critical, 2. Kebutuhan system dan perangkat lunak, 3. Komponen komersial eksternal atau standar internal untuk digunakan di dalam sistem, 4. Standar rekayasa perangkat lunak spesifik yang bisa diterapkan, 5. Metode dan tool perangkat lunak yang digunakan untuk pengembangan dan pemeliharaan, dan untuk peningkatan dan evaluasi kualitas, 6. Anggaran, staf, organisasi proyek, rencana, dan penjadwalan dari semua proses-proses, 7. Pengguna yang diharapkan dan penggunaan system, dan 8. Tingkat integritas system. Informasi pada factor ini memengaruhi bagaimana proses SQM diorganisasikan dan didokumentasikan, bagaimana aktivitas SQM spesifik dipilih, dan sumber daya apa yang diperlukan dan yang akan memaksakan batas atau usaha. 1. Keterkaitan Dalam situasi dengan kegagalan system yang mungkin mempunyai konsekuensi yang sangat hebat, keterkaitan keseluruhan perangkat keras, perangkat lunak, dan manusia adalah kebutuhan kualitas yang utama disamping kemampuan dasar. Keterkaitan perangkat lunak mencakup karakteristik toleransi kesalahan, keselamatan, keamanan, dan usabilitas. Keandalan juga menjadi sebuah ukuran yang dapat digambarkan dalam hubungannya dengan keterkaitan. Badan literature untuk system harus sangat dapat tergantung “kepercayaan tinggi” atau “system integritas tinggi”. Istilah untuk mekanisme tradisional dan system elektrik yang tidak boleh mencakup perangkat lunak telah di import untuk mendiskusikan ancaman atau risiko, integritas system, dan konsep yang berhubungan, dan mungkin menemukan acuan yang dikutip untuk bagian ini. 2. Tingkat integritas perangkat lunak Tingkat integritas ditentukan berdasarkan pada konsekuensi kegagalan dari perangkat lunak. Dalam perangkat lunak yang mementingkan keselamatan atau keamanan, teknik-teknik seperti analisis risiko untuk keselamatan atau analisis ancaman untuk keamanan mungkin digunakan untuk mengembangkan suatu aktivitas perencanaan yang akan mengidentifikasi daerah yang potensial terhadap kekacauan. Sejarah kegagalan dari perangkat lunak juga bisa membantu mendeteksi kesalahan dan menilai kualitas. Tingkatan integritas miasalnya, gradasi integritas akan di usulkan di dalam suatu perangkat lunak. 3. Faktor Tim Tim dapat digambarkansebagai suatu kelompok perseorangan yang telah terorganisasi untuk kepentingan bekerja bersama untuk mencapai sekumpulan tujuan yang tidak bisasecara efektif dicapai oleh perseorangan yang bekerja sendiri. Efektivitas suatu tim mungkin diukur dalam hasil terhadap penerimaa pelanggan, kemampuan tim, dan kepuasan perseorangan. Masukan perseorangan dan organisasi dengan mantap memengaruhi masukan tim. Proses pekerjaan tim ditandai oleh usaha yang mengarah pada tujuan, pengetahuan dan keahlian yang digunakan, strategi pengadopsian, dadan dinamika kelompok. Konstruksi tim dan manajemen merupakan sebuah tantangan kritis di dalam pemecahan masalah yang dikendalikan perangkat lunak software- driven. Sebuah tim akan memerlukan: 1. Identifikasi tujuan, 2. Definisi strategi, 3. Manajemen tugas, 4. Manajemen waktu, 5. Penempatan sumber daya, 6. Komposisi tim antardispilin ilmu, 7. Waktu control, 8. Pelatihan, 9. Komunikasi tim, 10. Keterpaduan tim, dan 11. Evaluasi dan jaminan kualitas. Karakteristik utama dari kesuksesan tim mencakup: 1. Pembagian tujuan Harus ada kesadaran bersama pada tujuan tim umum dari semua anggota tim. Berbagi tujuan adalah sasaran yang langsung, panduan dan pengintegrasian usaha perseorangan untuk mencapai hasil yang diharapkan. 2. Kolaborasi efektif Suatu tim harus bekerja sebagai tim. Tim ini memerlukan kerja sama, individu pemberi kontribusi, pertukaran gagasan dan pengetahuan oleh individu, dan pembangunan hubungan antarpribadi, dan kepercayaan. Lingkungan proyek memudahkan dan mendorong kerja sama yang efektif dan interoperasi. 3. Kemampuan individual Masing-masing anggota tim harus dilatih dan dipandu agar bisa bekerja sama dengan anggota tim lainnya. Beberapa karakteristik lain dari tim yang berjalan dengan baik meliputi: 1. Pembagian misis dan tujuan, 2. Penyebaran informasi lengkap tentang jadwal, aktivitas, dan prioritas, 3. Pengembangan suatu pemahaman peran dari tiap anggota tim, 1. 4.Pemahaman untuk memperhatikan konflik dan kebutuhan untuk memecahkannya, 4. Secara efisien memanfaatkan kemampuan perseorangan, 5. Secara efektif menyebarkan pertemuan –pertemuan, 6. Dengan teliti mengevaluasi kinerja dari tiap anggota tim, dan 7. Secara terus menerus memperbarui keahlian perseorangan untuk menemukan kebutuhan yang ada. Indicator tambahan dari operasi yang efektif meliputi tingkat dari keterlibatan dan keikutsertaan manajemen proyek, focus pada tujuan, tanggung jawab bersama, orientasipada pemikiran secara strategis, dan kecepatan untuk tanggap terhadap tantangan dan peluang. Karakteristik kinerja tim ini memerlukan tiap-tiap anggota tim untuk menyokong ide, beroperasi pada lingkungan yang berisi keanekaragaman keahlian , memahami kontribusi dari yang lain, berbagi pengetahuan, menanyakan tingkat pemahaman secara aktif, mengambil bagian dengan penuh semangat, dan melatih fleksibilitas. 4. Faktor Pelanggan Ada suatu kebenaran yang mutlak, yaitu rekayasa perangkat lunak harus bisa menjadi pengendali pelanggan customer-driver. Bagian ini mempertimbangkan beberapa karakteristik dan teknik khusus dari lingkungan pengembangan perangkat lunak yang dikendalikan pelanggan customer-driven, yang meliputi: 1. Pengembangan yang dikendalikan pelanggan bersifat padat kebutuhan dan dikendalikan fitur Karena kebutuhan pelanggan adalah prioritas yang tertinggi, kebutuhan pelanggan harus secara hati-hati dikumpulkan, dikenali, ditetapkan, divisualisasikan, dan secara internal, diprioritaskan anatarkebutuhan sendiri. Sebagai konsekuensinya, kebutuhan rekayasa menjadi kunci tahap strategis antarproses rekayasa perangkat lunak. 2. Pengembangan yang dikendalikan pelanggan bersifat iterative Pengembangan iterative menjadi penting karena mengizinkan umpan balik yang luas dan pemberian jawaban untuk umpan balik. 3. Pengembangan yang dikendalikan pelanggan bertujuan untuk mengembangkan aplikasi-aplikasi terbaik killer application Teknik ini adalah satu-satunya cara untuk bertahan pada pasar yang sangat tinggi kompetisisnya 4. Pengembangan yang dikendalikan pelanggan sangat menghargai waktu pemasaran. Waktu berarti kesempatan sehingga aplikasi harus direkayasa secara cepat dan efisien, cukup untuk menangkap peluang pasar yang bergantung waktu. 5. Pengembangan yang dikendalikan pelanggan berusaha untuk memberikan kepuasan pada banyak stakeholder melalui situasi yang saling menguntungkan 6. Setiap aktivitas pengembangan perangkat lunak melibatkan banyak orang, masing-masing mempunyai tujuan dan pandangan yang berbeda. Oleh karena itu, rekonsiliasi yang efektif dari konflik atas kebutuhan system menjadi sebuah factor kunci dalam meyakinkan kepuasan pelanggan. 7. Pengembangan yang dikendalikan pelanggan berfokus pada kualitas produk dan layanan. Jaminan kualitas menyiratkan pengaturan proses perangkat lunak, seperti pengembang dan pelanggan yang dicukupi dengan kualitas dan konsistensi barang-barang atau jasa yang dihasilkan atau yang disediakan. Pengembangan yang dikendalikan pelanggan memandang pelanggan sebagai mitra, tidak hanya sebagai pembeli Dalam meyakinkan harapan pelanggan, pelanggan perlu duduk bersama dengan pengembang pada masing-masing tahap proses pengembangan perangkat lunak. Hal tersebut dapat memperkecil resiko dan mengurangi siklus waktu selama proses pengembangan. 8. Pengembangan yang dikendalikan pelanggan dapat dikostumisasi, dipersonalisasi, dan sesuai dengan kebutuhan individu dan perubahan pada kebutuhan Tidak ada dua bisnis atau perseorangan yang sama permintaan dan kebutuhan bertukar-tukar dan meningkat bahkan antarorganisasi tunggal. Mengenali perbedaan perseorangan dan keanekaragaman organisasi menjadi suatu kerumitan dalam penyediaan solusi yan efektif. 9. Pengembangan yang dikendalikan pelanggan diarahkan oleh psikologi kognitif Psikologi kognitif mendapat pemikiran seperti bahasa untuk program sumber perangkat lunak. Oleh karena itu, suatu pendekatan pengembangan perangkat lunak yang dikendalikan pelanggan perlu menguji luas perancangan perangkat lunak denagn teliti untuk mencerminkan kebutuhan pelanggan sebagai kebutuhan yang dirasakan oleh pelanggan. 10.Pengembangan yang dikendalikan pelanggan harus informative dan mudah diakses Perancangan suatu solusi perangkat lunak di dalam “era pelanggan” customer age memerlukan layanan pelanggan yang penuh, dan mendukung bantuan yang terdokumentasi dengan baik dan web interaktif. Aplikasi tidak menyediakan informasi pendukung, seperti subjek kepada keluhan pelanggan, ketidakpuasan, dan penolakan. 11.Keamanan dan privasi adalah suatu pertimbangan dalam solusi yang dikendalikan pelanggan Untuk mendapatkan kepercayaan pelanggan, perekayasa perangkat lunak harus merancang system yang dapat dipercaya, dan peka akan invasi privasi atau serangan peretas hacker. Keamanan dan privasi merupakan perhatian utama dari pelanggan perangkat lunak.

3. Aspek Rekayasa Perangkat Lunak