Skip to main content

Posts

Penjadwalan dalam Proyek Software - Tinjauan Sekilas

Apa yang dimaksud dengan "penjadwalan" dalam proyek software? Kita telah memilih process model yang sesuai, kita telah mengidentifikasi tugas-tugas software engineering yang harus dilakukan, kita memperkirakan jumlah pekerjaan dan jumlah orang, kita tahu tenggat waktunya, kita bahkan telah mempertimbangkan risikonya. Sekarang saatnya menghubungkan titik-titik tersebut. Artinya, kita harus membuat jaringan tugas dalam software engineering yang akan mendorong kita menyelesaikan pekerjaan tepat waktu. Setelah jaringan tersebut dibuat, kita harus menetapkan tanggung jawab untuk setiap tugas, memastikan itu dilakukan, dan menyesuaikan jaringan tersebut karena ada risiko-risiko yang terjadi. Singkatnya, ini adalah yang disebut dengan penjadwalan dan pelacakan proyek software. Siapa yang melakukannya? Di tingkat proyek, manajer proyek software menggunakan informasi yang diminta dari para software engineer. Pada tingkat individu, para software engineer itu sendiri.

Ruang Lingkup dan Kelayakan Proyek Software - Tinjauan Sekilas

Ruang lingkup proyek software menjelaskan fungsi dan fitur yang akan disampaikan kepada pengguna; data yang merupakan input dan output; "konten" yang disajikan kepada pengguna sebagai konsekuensi dari penggunaan software; dan kinerja, kendala, antarmuka, dan keandalan yang mengikat sistem. Lingkup didefinisikan menggunakan salah satu dari dua teknik berikut: Deskripsi naratif lingkup software dibuat setelah komunikasi dengan semua stakeholder. Satu set use cases dibat oleh para pengguna akhir. Fungsi yang dijelaskan dalam pernyataan ruang lingkup (atau dalam use cases) dievaluasi dan dalam beberapa kasus disempurnakan untuk memberikan rincian lebih lanjut sebelum awal "estimasi" proyek. Karena "estimasi" biaya dan jadwal berorientasi fungsional, beberapa tingkat dekomposisi seringkali bermanfaat. Pertimbangan kinerja mencakup requirements untuk pemrosesan dan waktu respons. Berbagai macam constraints akan mengidentifikasi batasan-batasan yang aka...

"Estimasi" dalam Proyek Software - Tinjauan Sekilas

Apa yang dimaksud dengan "estimasi" dalam proyek software? Kebutuhan nyata akan software sudah ditetapkan; para stakeholder sudah ada, software engineer siap untuk dimulai, dan proyek segera dimulai. Tetapi bagaimana kita melanjutkan perjalanan proyek? Perencanaan dalam proyek software meliputi lima kegiatan utama, yaitu — estimasi, penjadwalan, analisis risiko, perencanaan manajemen mutu, dan perencanaan manajemen perubahan (change management). Dalam konteks ini, kita hanya membahas "estimasi", yaitu — upaya kita untuk menentukan berapa banyak uang, effort, sumber daya, dan waktu yang diperlukan untuk membangun sistem atau produk berbasis software tertentu. Siapa yang melakukan hal ini? Manajer proyek software — dengan menggunakan informasi yang diminta dari para stakeholder proyek dan data metrik software yang dikumpulkan dari proyek sebelumnya.

Faktor-faktor Untuk Mengukur Kualitas Software

Meskipun ada banyak ukuran kualitas software, correctness, maintanability, integrity, dan usability adalah yang paling dianggap memberikan indikator yang bermanfaat untuk tim proyek. Gilb memberikan definisi dan ukuran untuk masing-masing poin tersebut. Correctness . Correctness adalah sejauh mana software melakukan fungsi yang diperlukan. Cacat (lack of correctness) adalah berbagai problem yang dilaporkan oleh pengguna program setelah program dirilis ke penggunaan umum. Untuk tujuan penilaian kualitas, cacat dihitung selama periode waktu standar, biasanya satu tahun. Ukuran yang paling umum untuk correctness adalah cacat per KLOC (Kilo Lines of Codes), di mana cacat didefinisikan sebagai kurangnya kesesuaian dengan persyaratan yang terverifikasi.

Karakteristik Atribut-Atribut Untuk Metrics Software Yang Efektif

Ratusan metrik sudah dicoba diusulkan untuk software komputer, tetapi tidak semua memberikan poin yang praktis kepada software engineer. Beberapa pengukuran terlalu kompleks, beberapa yang lain terlalu esoteris sehingga tidak banyak profesional yang mau memahaminya, dan beberapa yang lainnya menabrak gagasan intuitif dasar tentang apa sebenarnya software yang berkualitas tinggi itu.  Ejiogu mendefinisikan seperangkat atribut yang harus ada dalam metrik software yang efektif. Metrik dan pengukuran-pengukuran yang mengarah kesitu haruslah: Sederhana dan dapat dihitung . Sebuah metric seharusnya mudah dipelajari mengenai bagaimana metric tersebut diturunkan. Perhitungan metric seharusnya dapat dilakukan tanpa menyita terlalu banyak waktu dan usaha.

Kompresi File: Lossless vs Lossy

Lossless compression : secara singkat adalah bahwa teknik kompresi ini tidak ada informasi yang hilang. Sehingga metode ini merupakan metoda kompresi data yang memungkinkan data asli dapat disusun kembali dari data hasil kompresi maka rasio kompresi pun tidak dapat terlalu besar untuk memastikan semua data dapat dikembalikan ke bentuk semula. Metode lossless menghasilkan data yang identik dengan data aslinya. Kompresi lossless utamanya digunakan untuk pengarsipan, dan penyuntingan. Untuk keperluan pengarsipan seperti catatan bank, artikel text, dll. Teknik/metode yang masuk ke dalam kategori lossless compression Run-Length Coding (RLC) Entropy Coding  Variable-Length Coding (VLC): Shannon-Fano, Huffman Arithmetic Coding Dictionary-Based / LZ variations coding (LZW, LZ77, LZ78, etc)

Manajemen Konfigurasi Software (SCM / Software Configuration Management) - Tinjauan Sekilas

Pengertian Manajemen Konfigurasi Software dalam Proses Pembuatan Software Apa itu Manajemen konfigurasi perangkat lunak (SCM / Software Configuration Management)? Ketika kita membuat perangkat lunak komputer, pasti ada perubahan. Dan karena itu pasti terjadi, kita perlu mengelolanya secara efektif. Manajemen konfigurasi perangkat lunak (SCM), sering disebut juga manajemen perubahan (change management), adalah serangkaian kegiatan yang dirancang untuk mengelola perubahan dengan mengidentifikasi produk/hasil kerja yang kemungkinan besar akan mengalami perubahan, membuat hubungan di antara mereka, menentukan mekanisme untuk mengelola berbagai versi produk kerja tersebut, mengendalikan perubahan yang terjadi, dan mengaudit dan melaporkan perubahan yang dilakukan.