Skip to main content

Legacy Systems (Sistem Warisan) Menurut Ian Sommerville

 Karena kompleksitasnya dan upaya yang diperlukan dalam pengembangan, sistem komputer berbasis besar umumnya memiliki masa pakai yang lama. Sebagai contoh, sistem militer seringkali dirancang untuk digunakan selama 20 tahun, dan sebagian besar sistem pengendalian lalu lintas udara di dunia masih mengandalkan perangkat lunak dan proses operasional yang pertama kali dikembangkan pada tahun 1960-an dan 1970-an. Kadang-kadang, biaya dan risiko yang terlibat menjadi terlalu tinggi untuk menggantikan sistem bisnis yang krusial tersebut setelah beberapa tahun digunakan. Sistem-sistem ini terus mengalami perkembangan sepanjang masa hidupnya, dengan dilakukan perubahan untuk memenuhi persyaratan baru, menggunakan platform operasi baru, dan sebagainya.

Sistem warisan merujuk pada sistem komputer yang dibangun di masa lampau dan umumnya menggunakan teknologi yang sudah tua atau usang. Sistem tersebut meliputi tidak hanya perangkat keras dan perangkat lunak, tetapi juga proses dan prosedur yang sudah lama digunakan—cara-cara yang sulit diubah karena ketergantungan pada perangkat lunak yang sudah ketinggalan zaman. Ketika terjadi perubahan pada salah satu bagian sistem, pasti akan melibatkan perubahan pada komponen lainnya.

Sistem yang sudah lama seringkali merupakan sistem bisnis yang sangat penting. Mereka tetap dipertahankan karena risiko yang terlalu tinggi untuk menggantikannya. Sebagai contoh, dalam banyak bank, sistem akuntansi pelanggan adalah salah satu sistem yang paling awal yang digunakan. Kebijakan dan prosedur organisasi seringkali bergantung pada sistem ini. Jika bank memutuskan untuk mengganti perangkat lunak akuntansi pelanggan (yang mungkin berjalan pada perangkat keras mainframe yang mahal), ada risiko serius bagi bisnis jika sistem pengganti tidak berfungsi dengan baik. Selain itu, perubahan tersebut akan memerlukan penyesuaian pada prosedur yang ada, yang dapat mengganggu anggota organisasi dan menimbulkan kesulitan dalam hal audit oleh pihak bank.

Ilustrasi dalam Gambar 1 menjelaskan komponen logis dari sistem yang sudah ada dan keterkaitannya:

Gambar 1

  1. System hardware (Perangkat keras sistem). Pada banyak situasi, sistem yang sudah ada telah dikembangkan untuk perangkat keras utama yang tidak lagi tersedia, yang membutuhkan biaya pemeliharaan yang tinggi, dan mungkin tidak sesuai dengan kebijakan pembelian teknologi informasi yang saat ini diterapkan oleh organisasi.
  2. Support software (Perangkat lunak pendukung). Sistem yang sudah ada seringkali bergantung pada berbagai perangkat lunak pendukung seperti sistem operasi dan utilitas yang diberikan oleh produsen perangkat keras, bahkan hingga kompiler yang digunakan untuk mengembangkan sistem. Namun, perangkat lunak tersebut mungkin sudah ketinggalan zaman dan tidak lagi mendapatkan dukungan dari penyedia aslinya.
  3. Application software (Aplikasi perangkat lunak). Sistem aplikasi yang memberikan layanan bisnis umumnya terdiri dari sejumlah program yang dibangun pada waktu yang berbeda. Terkadang, istilah "legacy system" merujuk kepada kumpulan perangkat lunak aplikasi ini daripada seluruh sistem secara keseluruhan.
  4. Application data (Data aplikasi). Data ini merupakan informasi yang diolah oleh sistem aplikasi. Pada banyak sistem yang sudah ada, terjadi penumpukan volume data yang sangat besar selama penggunaan sistem tersebut. Data tersebut mungkin tidak konsisten dan terdapat kemungkinan adanya duplikasi data dalam beberapa file.
  5. Business processes (Proses bisnis). Proses ini merupakan metode yang digunakan dalam lingkungan bisnis untuk mencapai berbagai tujuan bisnis. Sebagai contoh, di perusahaan asuransi, proses bisnis yang terjadi adalah penerbitan polis asuransi, sedangkan di perusahaan manufaktur, proses bisnis melibatkan penerimaan pesanan produk dan persiapan proses manufaktur terkait. Proses bisnis ini dapat didesain berdasarkan sistem yang sudah ada dan terbatas oleh fungsionalitas yang tersedia dalam sistem tersebut.
  6. Business policies and rules (Kebijakan dan aturan bisnis). Ini adalah penjabaran tentang cara pelaksanaan bisnis dan batasan-batasan yang berlaku dalam bisnis tersebut. Penerapan sistem aplikasi warisan dapat diintegrasikan dengan kebijakan dan peraturan yang ada.

Perspektif alternatif dalam memandang komponen sistem lama dapat diilustrasikan sebagai serangkaian lapisan, sebagaimana ditunjukkan dalam Gambar 2. Setiap lapisan bergantung pada lapisan yang berada di bawahnya dan berinteraksi dengan lapisan tersebut. Apabila antarmuka tetap dipertahankan, maka dimungkinkan untuk melakukan perubahan di dalam lapisan tanpa mempengaruhi lapisan yang berdekatan.

Gambar 2

Dalam realitas praktiknya, pencapaian enkapsulasi yang sederhana jarang berhasil, sehingga perubahan pada satu lapisan sistem mungkin membutuhkan perubahan yang berdampak pada lapisan di atas dan di bawahnya. Hal ini disebabkan oleh beberapa alasan berikut:

  1. Dengan melakukan perubahan pada satu lapisan dalam sistem, kemungkinan akan memperkenalkan fasilitas baru yang dapat dimanfaatkan oleh lapisan yang lebih tinggi dalam sistem. Sebagai contoh, ketika sebuah basis data baru diperkenalkan dalam lapisan perangkat lunak pendukung, dapat disediakan fasilitas untuk mengakses data melalui browser web. Hal ini kemudian memungkinkan modifikasi pada proses bisnis untuk memanfaatkan fasilitas tersebut.
  2. Melakukan perubahan pada perangkat lunak dapat mengakibatkan penurunan kecepatan sistem, yang kemudian membutuhkan penggunaan perangkat keras baru untuk meningkatkan performa sistem. Peningkatan performa melalui penggunaan perangkat keras baru ini dapat membuka kemungkinan untuk melakukan perubahan lebih lanjut pada perangkat lunak yang sebelumnya tidak praktis dilakukan.
  3. Terkadang, sulit untuk mempertahankan antarmuka perangkat keras, terutama ketika ada rencana perubahan signifikan pada jenis perangkat keras yang digunakan. Sebagai contoh, jika sebuah perusahaan beralih dari perangkat keras mainframe ke sistem server klien, hal ini sering kali berarti menggunakan sistem operasi yang berbeda. Dalam situasi ini, kemungkinan diperlukan perubahan besar pada perangkat lunak aplikasi.



Source: Sommerville, Ian. 2007. Software Engineering Eight Edition. s.l. : Addison-. Wisley, 2007.

Comments

Popular posts from this blog

Proses Perangkat Lunak Menurut Roger S. Pressman

Suatu proses adalah gabungan dari beberapa kegiatan, aksi, dan pekerjaan yang dikerjakan saat akan membuat beberapa produk. Setiap kegiatan memiliki tujuan yang luas (seperti komunikasi dengan pemangku kepentingan) dan diterapkan secara universal, tidak peduli pada domain aplikasi, ukuran proyek, kompleksitas usaha, atau tingkat ketelitian rekayasa perangkat lunak yang digunakan. Aksi (contohnya, desain arsitektur) mencakup rangkaian tugas yang menghasilkan produk utama (sebagai contoh, model desain arsitektural). Sebuah tugas berfokus pada tujuan yang kecil namun terdefinisi dengan baik (seperti melakukan pengujian unit) yang menghasilkan hasil yang konkret. Dalam dunia rekayasa perangkat lunak, suatu proses tidaklah berarti resep yang kaku untuk membuat perangkat lunak. Sebaliknya, proses ini merupakan pendekatan yang dapat disesuaikan yang memungkinkan tim pengembang perangkat lunak untuk memilih dan mengeksekusi serangkaian tindakan dan tugas yang sesuai. Tujuannya adalah untuk sel...

Extreme Programming (XP) Menurut Roger S. Pressman

 Untuk memberikan gambaran yang lebih rinci tentang proses agile, saya akan memaparkan Extreme Programming (XP), suatu pendekatan yang banyak digunakan dalam pengembangan perangkat lunak agile. Meskipun ide dan metode yang terkait dengan XP telah muncul pada akhir 1980-an, Kent Beck telah menulis secara ekstensif mengenai topik ini. Baru-baru ini, sebuah varian XP yang disebut Industrial XP (IXP) telah diajukan. IXP telah menyempurnakan XP dan dirancang untuk digunakan khusus dalam organisasi besar dengan proses yang lebih fleksibel. 1.1 XP Values Sebuah seperangkat lima nilai yang menjadi dasar bagi seluruh pekerjaan yang dilakukan dalam XP telah didefinisikan oleh Beck. Nilai-nilai ini mencakup communication, simplicity, feedback, courage, dan respect, dan masing-masing nilai ini digunakan sebagai motivasi dalam aktivitas, tindakan, dan tugas XP yang spesifik. XP menekankan pada kolaborasi yang erat namun tidak formal secara verbal untuk mencapai komunikasi yang efektif anta...

Other Agile Process Models (Model Process Agile Lainnya) Menurut Roger S. Pressman

 Sejarah pengembangan perangkat lunak telah dicatat dengan banyak deskripsi dan metodologi proses yang telah usang, alat-alat, dan teknologi, serta notasi pemodelan. Semua hal tersebut telah mencapai popularitasnya masing-masing sebelum akhirnya digantikan oleh yang baru dan lebih baik. Dalam upaya mencapai penerimaan di komunitas pengembangan perangkat lunak, berbagai agile process model telah diperkenalkan dan bersaing satu sama lain, mengikuti pola yang sama dengan gerakan sebelumnya. Sudah saya sampaikan pada bagian terakhir bahwa Extreme Programming (XP) merupakan agile process models yang paling sering digunakan. Meskipun demikian, terdapat banyak agile process models lain yang telah diusulkan dan diterapkan dalam berbagai industri. Beberapa model yang paling umum meliputi: Adaptive Software Development (ASD) Scrum Dynamic Systems Development Method (DSDM) Crystal Feature Drive Development (FDD) Lean Software Development (LSD) Agile Modeling (AM) Agile Unified Process (AUP) P...