Skip to main content

Maintenance dan Reengineering dalam Proyek Software - Tinjauan Sekilas

Apa itu maintenance dan reengineering dalam Proyek Software?
Pikirkan tentang produk teknologi apa pun yang kita miliki. Kita menggunakannya secara teratur, tetapi semakin lama semakin tua. Kerusakan menjadi terlalu sering, membutuhkan waktu lebih lama untuk diperbaiki daripada yang kita inginkan, dan tidak lagi mewakili teknologi terbaru. Apa yang harus dilakukan? Untuk sementara waktu, Kita mencoba memperbaikinya, menambalnya, bahkan memperluas fungsinya. Itu disebut dengan maintenance (pemeliharaan).
Namun maintenance (pemeliharaan) menjadi semakin sulit seiring berlalunya waktu. Ada saatnya kita perlu membuatnya kembali. Kita akan membuat produk dengan fungsionalitas tambahan, kinerja dan kehandalan yang lebih baik, dan peningkatan maintanability. Itulah yang kita sebut reengineering (rekayasa ulang).
Siapa yang melakukan ini?
Di tingkat organisasi, maintenance dilakukan oleh staf pendukung yang merupakan bagian dari organisasi software engineering
Reengineering dilakukan oleh business spesialist (seringkali perusahaan konsultan), dan pada tingkat perangkat lunak, reeingineering dilakukan oleh para software engineer.
Mengapa ini penting?
Kita hidup di dunia yang berubah dengan cepat. Tuntutan pada fungsi bisnis dan teknologi informasi yang mendukung juga berubah dengan cepat dan memberikan tekanan kompetitif yang sangat besar pada setiap organisasi komersial. Itu sebabnya software lunak harus dipelihara terus-menerus, dan pada waktu yang tepat, direkayasa ulang untuk mengimbangi hal tersebut.
Apa saja langkah-langkahnya?
Maintenance memperbaiki cacat, menyesuaikan software untuk memenuhi lingkungan yang berubah, dan meningkatkan fungsionalitas untuk memenuhi kebutuhan pelanggan yang terus berubah. Pada tingkat strategis, Business Process Reengineering (BPR) mendefinisikan tujuan bisnis, mengidentifikasi dan mengevaluasi proses bisnis yang ada, dan menciptakan proses bisnis yang direvisi menjadi lebih baik untuk memenuhi tujuan saat ini. Software reengineering mencakup analisis inventaris, restrukturisasi dokumen, reverse engineering, restrukturisasi program dan data, dan forward engineering.
Maksud dari kegiatan ini adalah untuk membuat versi program yang ada yang menunjukkan kualitas yang lebih tinggi dan maintanability yang lebih baik.
Apa produk pekerjaan ini?
Berbagai produk kerja maintenance and reengineering (mis., use cases, model analisis dan desain, prosedur pengujian). Hasil akhir adalah software yang sudah upgrade.
Bagaimana kita memastikan bahwa kita telah melakukannya dengan benar?
Gunakan praktik SQA yang sama yang diterapkan dalam setiap proses software engineering — review teknis untuk menilai analisis dan model desain; review khusus untuk mempertimbangkan penerapan dan kompatibilitas bisnis; dan pengujian juga diterapkan untuk mengungkap kesalahan dalam konten, fungsionalitas, dan interoperabilitas.
--o0o-- 

Referensi: 
Software Engineering - A Practitioner's Approach - Roger S. Pressman / Bruce R. Maxim

Comments

Popular posts from this blog

Pengertian Binding dalam Bahasa Pemrograman dan Kapan Terjadinya

Binding dimaksudkan sebagai pengikatan (association) antara suatu entity dengan atributnya, misalnya binding/pengikatan antara suatu variable dengan tipe datanya atau dengan nilainya, atau dapat juga antara suatu operasi dengan simbol, misalnya simbol + dikenali sebagai operasi penjumlahan atau simbol ^ dikenali sebagai operasi pangkat, dll.  Peristiwa binding dan kapan terjadinya binding (biasanya disebut dengan binding time ) berperan penting dalam membicarakan semantics suatu bahasa pemrograman. Beberapa kemungkinan binding time adalah:

Latihan Soal Jawab Matematika Diskrit

Berikut di bawah ini adalah latihan soal jawab untuk matematika diskrit dengan topik-topik: Pernyataan Logika Circuits dan Ekspresi Boolean Argumen (valid/tidak valid) Teori Himpunan Permutasi Fungsi --o0o-- Pernyataan Logika 1. Buatlah tabel kebenaran untuk menentukan yang mana tautology dan yang mana contradiction dalam pernyataan logika (a) dan (b) di bawah ini: a. (p ∧ q) ∨ (∼p ∨ (p ∧ ∼q)) b.  (p ∧ ∼q) ∧ (∼p ∨ q)

Contoh proses normalisasi relasi dari UNF – 1NF – 2NF – dan 3NF

Dalam posting tulisan tentang: “Tujuan dan Manfaat Normalisasi dalam Perancangan Database” , kita sudah mempelajari tentang: “Apa itu normalisasi” dan “Mengapa kita perlu melakukan normalisasi”. Kedua pertanyaan itu sudah terjawab dalam tulisan tersebut.  Kemudian dalam posting tulisan tentang: “Konsep Ketergantungan Fungsional, Normalisasi, dan Identifikasi Primary Key dalam Perancangan Sistem Database” , kita sudah mempelajari suatu konsep penting yang digunakan untuk melakukan normalisasi, yaitu konsep ketergantungan fungsional yang terdiri dari ketergantungan penuh, ketergantungan parsial atau sebagian, dan ketergantungan transitif. Proses normalisasi pertama-tama dilakukan dengan mengidentifikasi adanya ketergantungan-ketergantungan tersebut dalam relasi-relasi dan kemudian menghilangkannya. Cara melakukan normalisasi, mengidentifikasi berbagai macam ketergantungan, dan menghilangkan ketergantungan pada relasi-relasi bisa dipelajari ulang dalam postingan tulisan di at