Skip to main content

System Evolution (Evolusi Sistem) Menurut Ian Sommerville

 Sistem yang memiliki skala besar dan kompleks memiliki umur yang sangat panjang. Selama masa penggunaannya, sistem tersebut akan mengalami modifikasi untuk memperbaiki kesalahan dalam persyaratan awal serta menerapkan persyaratan baru yang muncul. Kemungkinan besar, komputer sistem akan digantikan oleh mesin baru yang lebih cepat. Organisasi yang menggunakan sistem tersebut juga dapat melakukan restrukturisasi dan dengan demikian mengadopsi pendekatan yang berbeda dalam penggunaan sistem. Selain itu, lingkungan eksternal sistem dapat mengalami perubahan yang memaksa sistem untuk beradaptasi dan mengalami perubahan pula.

Proses evolusi sistem, serupa dengan evolusi perangkat lunak yang dibahas dalam pembahasan sebelumnya, secara umum memerlukan biaya yang tinggi karena beberapa faktor yang meliputinya:

  1. Setiap perubahan yang diusulkan harus dianalisis secara cermat dari sudut pandang bisnis dan teknis. Perubahan tersebut harus memberikan kontribusi pada tujuan sistem dan tidak semata-mata didorong oleh pertimbangan teknis semata.
  2. Karena sub-sistem tidak dapat sepenuhnya beroperasi secara independen, perubahan yang dilakukan pada satu sub-sistem dapat berpotensi mempengaruhi kinerja atau perilaku sub-sistem lainnya secara negatif. Oleh karena itu, perubahan yang konsisten pada sub-sistem tersebut mungkin diperlukan.
  3. Banyak alasan mengapa keputusan desain asli seringkali tidak terdokumentasikan. Para pemangku kepentingan yang bertanggung jawab terhadap evolusi sistem harus melakukan investigasi untuk memahami alasan di balik pengambilan keputusan desain tertentu.
  4. Seiring berjalannya waktu, sistem cenderung mengalami kerusakan struktural akibat perubahan, sehingga biaya untuk melakukan perubahan tambahan meningkat.

Sistem yang mengalami perkembangan seiring berjalannya waktu sering kali tergantung pada teknologi perangkat keras dan perangkat lunak yang sudah usang. Jika sistem-sistem tersebut memiliki peran yang krusial dalam suatu organisasi, mereka dikenal sebagai legacy systems — sistem yang ingin digantikan oleh organisasi namun memiliki risiko tinggi dalam pengenalan sistem baru. Beberapa masalah terkait dengan sistem lama telah dibahas dalam bagian sebelumnya.



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...