ETS KPPL Rafie Zaidan U 5025231245
Nama: Rafie Zaidan U
NRP: 5025231245
Mata Kuliah: Konsep Pengembangan Perangkat Lunak
NRP: 5025231245
Mata Kuliah: Konsep Pengembangan Perangkat Lunak
Evaluasi Tengah Semester (ETS)
1. Mengapa perangkat lunak cenderung menjadi lebih kompleks seiring dengan perkembangannya? Jelaskan dua faktor utama yang menyebabkannya
Faktor utama, diantaranya adalah:
a. Penambahan Fitur Baru: Ketika perangkat lunak berkembang, fitur-fitur baru sering kali ditambahkan untuk memenuhi kebutuhan pengguna, pasar, atau bisnis yang terus berubah. Setiap fitur baru biasanya memerlukan perubahan dalam arsitektur perangkat lunak, penyeusuaian fungsi yang ada, dan integrasi dengan bagian sistem lain dari sistem. Akumulasi fitur-fitur ini seiring waktu membuat pernagkat lunak menjadi lebih rumit untuk dipahmi, dipelihara, dan diuji karena fitur-fitur tersebut sering kali saling berinteraksi secara kompleks
b. Teknologi dan Standar yang Berkembang: Perangkat lunak harus terus diperbarui agar sesuai dengan perkembangan teknologi, standar keamanan atau integrasi dengan sistem lain juga berkembang. Hal ini menyebabkan perubahan pada infrastruktur atau platform yang mendukung perangkat lunak tersebut yang dapat meningkatkan kompleksitas kode dan arsitektur sistem.
2. Apa yang dimaksud dengan software reusability, dan mengapa hal ini penting dalam pengembangan perangkat lunak modern?
Software Reusability adalah kemampuan suatu komponen perangkat lunak, seperti kode, modul, atau fungsi untuk digunakan kembali dalam proyek atau aplikasi lain tanpa perlu banyak perubahan.
Mengapa penting dalam moder ini? karena tentunya menghemat waktu dan biaya, dengan menggunakan kembali komponen yang sudah ada, ini akan mengurangi waktu pengembangan, dan juga hemat biaya, karena usaha dan sumber daya yang dibutuhkan menjadi lebih sedikit. selain itu juga fleksibilitas dan skalabilitas, di mana komponen yang dapat digunakan kembali memungkinkan sistem yang lebih fleksibel dan mudah dikembangkan . Ini memungkinkan untuk skalabilitas yang lebih baik saat aplikasi bertambah kompleks atau perlu disesuaikan dengan kebutuhan baru.
3. Apa peran pengujian perangkat lunak (software testing) dalam siklus hidup pengembangan perangkat lunak, dan sebutkan dua jenis oengujian yang umum dilakukan
Tentunya peran dari pengujian perangkat lunak itu sangat penting karena bertujuan untuk memastikan bahwa pernagkat lunak berfungsi sesuai dengan yang diharapkan, bebas dari bug, dan memenuhi spesifikasi yang telah ditentukan, peran pengujian sendiri meliputi beberapa yaitu: mendeteksi kesalahan, meningkatkan kualitas perangkat lunak, memastikan keandalan dan stabilitas. Selain itu juga ada 2 jenis pengujian perangkat lunak yang umum dilakukan, yaitu pengujian fungsional dan pengujian non-fungsional.
4.Sebutkan dan jelaskan tiga komponen utama dari struktur proses perangkat lunak Framework Activities, Umbrella Activities, Task Set
- Framework Activities: aktivitas inti atau utama yang selalu ada dalam setiap proses pengembangan perangkat lunak, terlepas dari model atau metodologi yang digunakan (seperti Waterfall, Agile, atau Spiral). Komponennya meliputi:
- Communication: Melibatkan interaksi antara tim pengembang dan pemangku kepentingan (stakeholders) untuk memahami kebutuhan perangkat lunak dan mendokumentasikannya dalam bentuk spesifikasi.
- Planning: Merencanakan seluruh proses pengembangan, termasuk jadwal, anggaran, sumber daya, dan strategi untuk mencapai tujuan proyek.
- Modeling; Mencakup desain perangkat lunak dan pembuatan model yang akan menggambarkan bagaimana solusi perangkat lunak diimplementasikan
2. Umbrella Activities: Aktifitas pendukung yang berlangsung sepanjang siklus hidup pengembangan perangkat lunak, dan sering kali bersifat lintas fungsi, memberikan dukungan, kepada framewrok activities. Umbrella activities sendiri memastikan kualitas dan juga manjemen risiko. Komponennya meliputi
- Quality Assuranc (QA): Mengelola dan memastikan bahwa kualitas perangkat lunak sesuai dengan standar yang diinginkan, termasuk melalui pengujian dan inspeksi.
- Configure Management: Mengelola perubahan pada perangkat lunak, dokumentasi, dan aset lainnya selama proses pengembangan, untuk menjaga konsistensi dan integritas sistem.
- Risk Managament: Mengidentifikasi, menganalisis, dan menangani risiko potensial yang dapat memengaruhi keberhasilan proyek perangkat lunak.
3. Task Set: serangkaian tugas atau aktivitas spesifik yang harus dilakukan dalam setiap framework activity dan disesuaikan berdasarkan ukuran, kompleksitas, serta tipe proyek. Komponennya meliputi:
- Langkah-langkah detail: misalnya, langkah-langkah yang harus dilakukan selama pengumpulan kebutuhan.
- Kriteria atau metrik untuk mengevaluasi hasil dari setiap langkah.
- Sumber daya atau alat yang dibutukan: ntuk mendukung tugas tersebut (misalnya, alat dokumentasi atau alat desain).
5. Bagaimana manajemen konflik dapat berperan dalam keberhasilan tim rekayasa perangkat lunak, dan sebutkan dua teknik untuk menangani konflik dalam tim pengembangan?
Manajemen konflik berperan penting dalam keberhasilan tim rekayasa pernagkat lunak akrena dalam sebuah proyek, terutama yang melibatkan banyak anggota dengan latar belakang dan keahlian yang berbeda.
Beberapa Peran Manajemen Konflik dalam Keberhasilan Tim Rekayasa Perangkat Lunak
1. Menignkatkan Kolaborasi: Manajemen konflik yang efektif memastikan bahwa perbedaan pendapat tidak memecah tim, melainkan diatasi secara konstruktif untuk meningkatkan kolaborasi.
2. Meminimalkan Gangguan dan Penurunan Kinerja: Konflik yang tidak terkelola dengan baik dapat mengganggu fokus anggota tim, menurunkan moral, dan menghambat produktivitas.
3. Menghasilkan Keputusan yang Lebih Baik: : Dengan adanya manajemen konflik yang baik, berbagai sudut pandang yang berbeda bisa diolah untuk menghasilkan keputusan yang lebih matang. Hal ini dapat meningkatkan kualitas solusi teknis serta memfasilitasi pencapaian hasil yang lebih efektif.
Dua Teknik untuk Menangani Konflik dalan Tin Pengembangan
1. Kolaborasi (Collaboration): pendekatan yang berfokus pada menemukan solusi yang memuaskan bagi semua pihak yang terlibat dalam konflik. Teknik ini melibatkan diskusi terbuka, di mana setiap anggota tim diberi kesempatan untuk mengemukakan pendapatnya dan bersama-sama mencari solusi yang menguntungkan semua pihak.
2. Kompromi (Compromise): teknik di mana pihak-pihak yang terlibat dalam konflik bernegosiasi dan masing-masing membuat konsesi untuk mencapai kesepakatan yang dapat diterima. Teknik ini sering digunakan ketika waktu atau sumber daya terbatas, dan solusi cepat diperlukan.
6. Studi Kasus: Sebuah perusahaan startup teknologi ingin mengembangkan aplikasi e-commerce yang akan digunakan oleh jutaan pengguna di seluruh dunia, Mereka memiliki tim pengembangan kecil yang berpengalaman, namun mereka tidak memiliki pengamalan sebelum dalam membangun aplikasi berskala besar. Jelaskan tantangan yang dihadapi startup tersebut terkait dengan sifat perangkat lunak (Nature of Software) yang berkembang secara terus menerus. Bagaimana mereka harus mempersiapkan diri untuk menghadapi tantangan-tantangan ini?
Beberapa tentangan yang akan dihadapi adalah kompleksitas yang bertambah, perubahan dan evolving nature of software , skalabilitas dan kinerja, keamanan privasi data, dan juga pengalaman pengguna user (user experience). Beberapa persiapan tim unutuk menghadapi tantangan tersebut meningkatkan kemampuan teknis, perencenaan asrsitektur yang baik, mengadopsi metodolgi Agile, dan juga membangun budaya pengujian dan pemantauan
Comments
Post a Comment