REKAYASA PERANGKAT LUNAK : IMPLEMENTASI DAN PEMELIHARAAN

 Selamat malam, kali ini saya akan sedikit membahas mengenai IMPLEMENTASI dan PEMELIHARAAN pada mata kuliah REKAYASA PERANGKAT LUNAK pertemuan 14. Apa saja sih yang akan saya bahas pada pertemuan 14 kali ini?. Materi yang terdapat pada pertemuan 14 kali ini yaitu :

1.    Implementasi perangkat lunak

a.     Reuse

b.    Manajemen konfigurasi

c.     Host target development

2.    Pemeliharaan

a.     Kategori pemeliharaan perangkat lunak

b.    Pemeliharaan korektif

c.     Pemeliharaan adaptif

d.    Pemeliharaan perfektif

e.     Pemeliharaan preventif

3.    Pemeliharaan Manajemen

 

Mari kita masuk ke pembahasan dari materi materi di atas.

1.   Implementasi perangkat lunak

Perancangan dan implementasi perangkat lunak adalah tahap dalam proses rekayasa perangkat lunak dimana dikembangkan sistem Perangkat Lunak yang dapat dieksekusi. Implementasi adalah proses mewujudkan desain sebagai sebuah program. Rekayasa perangkat lunak mencakup semua kegiatan yang terlibat dalam pengembangan perangkat lunak dari persyaratan awal sistem hingga pemeliharaan dan pengelolaan sistem yang digunakan. Implementasi dapat melibatkan pengembangan program atau menyesuaikan dan mengadaptasi sistem generik, offthe-shelf untuk memenuhi persyaratan khusus dari suatu organisasi.

 

Aspek implementasi yang sangat penting untuk rekayasa perangkat lunak :

1.     Reuse

Sebagian besar perangkat lunak modern dibangun dengan menggunakan kembali komponen atau sistem yang ada.

2.     Configuration Management

Selama proses pengembangan, banyak versi yang berbeda dari setiap komponen perangkat lunak.

3.     Host-Target Development

Produksi perangkat lunak biasanya tidak dijalankan pada komputer yang sama dengan lingkungan pengembangan perangkat lunak . Pengembangan pada satu komputer (sistem host) dan dijalankan pada komputer yang terpisah (sistem target).

 

a.    Reuse

Penggunaan ulang (reuse) perangkat lunak dimungkinkan pada sejumlah level yang berbeda:

1.     Tingkat Abstraks.

Pada tingkat ini, tidak menggunakan reuse software secara langsung tetapi menggunakan pengetahuan abstraksi dalam desain perangkat lunak menggunakan pola desain dan pola arsitektur.

2.     Tingkat Objek.

Pada tingkat ini, langsung menggunakan reuse objects dari library dari pada menulis kode sendiri.

3.     Tingkat Komponen.

Komponen adalah kumpulan objek dan kelas objek yang beroperasi bersama untuk menyediakan fungsi dan layanan terkait. Pada tingkat ini harus menyesuaikan dan memperluas komponen dengan menambahkan beberapa kode sendiri.

4.     Tingkat Sistem.

Pada tingkat ini, menggunakan kembali seluruh sistem aplikasi. Biasanya melibatkan beberapa jenis konfigurasi sistem. Dapat dilakukan dengan menambahkan dan memodifikasi kode atau dengan menggunakan antarmuka konfigurasi sistem sendiri.

Keuntungan menggunakan reuse software yang ada:

a.     Dapat mengembangkan sistem baru dengan lebih cepat

b.     Dengan risiko pengembangan yang lebih sedikit dan juga biaya yang lebih rendah

c.     Karena reuse software yang digunakan telah diuji dalam aplikasi lain, sehingga lebih dapat diandalkan dari pada Perangkat Lunak baru.

Biaya yang terkait dengan penggunaan kembali:

1.     Biaya waktu yang dihabiskan dalam mencari perangkat lunak untuk digunakan kembali dan menilai apakah sudah memenuhi kebutuhan atau tidak, dan menguji perangkat lunak untuk memastikan bahwa dapat bekerja di lingkungan sistem.

2.     Biaya membeli perangkat lunak yang dapat digunakan kembali.

3.     Biaya untuk adaptasi dan mengkonfigurasi komponen perangkat lunak/sistem yang dapat digunakan kembali.

4.     Biaya untuk mengintegrasikan elemen reuse software yang dapat digunakan satu sama lain (jika menggunakan perangkat lunak dari sumber yang berbeda) dan dengan kode baru yang telah dikembangkan.

 

b.    Manajemen konfigurasi

Manajemen konfigurasi merupakan proses rekayasa sistem untuk menetapkan dan mempertahankan konsistensi dari kinerja produk, fungsional, dan atribut fisik dengan persyaratan, desain, dan informasi operasional sepanjang hidupnya. Tujuan dari manajemen konfigurasi adalah untuk mendukung proses integrasi sistem sehingga semua pengembang dapat mengakses kode dan dokumen dengan cara yang terkontrol, mencari tahu perubahan yang telah dibuat, dan mengkompilasi dan menghubungkan komponen untuk membuat sistem.

Tiga aktivitas dasar manajemen konfigurasi:

1.     Version Management, dukungan diberikan untuk melacak berbagai versi komponen perangkat lunak, mencakup fasilitas untuk mengkoordinasikan pengembangan oleh beberapa programmer.

2.     Integrasi sistem, dukungan disediakan untuk membantu pengembang menentukan versi komponen yang digunakan untuk membuat setiap versi sistem.

3.     Pelacakan masalah, dukungan diberikan untuk memungkinkan user melaporkan bug dan masalah lain, dan memungkinkan semua pengembang untuk melihat siapa yang bekerja pada masalah ini dan memperbaikinya

 

c.     Host target development

Perangkat lunak dikembangkan pada satu komputer (host), tetapi berjalan pada mesin yang terpisah (target). Platform lebih dari sekedar perangkat keras, termasuk sistem operasi yang terinstal ditambah perangkat lunak pendukung lainnya seperti DBMS, platform pengembangan, dan lingkungan pengembangan interaktif. Platform pengembangan dan eksekusi adalah sama, sehingga memungkinkan untuk mengembangkan perangkat lunak dan mengujinya di mesin yang sama. Tetapi terkadang sering berbeda sehingga perlu memindahkan perangkat lunak yang dikembangkan ke platform eksekusi untuk menguji atau menjalankan simulator pada mesin untuk pengembangan

Platform pengembangan perangkat lunak harus menyediakan berbagai alat untuk mendukung proses rekayasa perangkat lunak, termasuk:

1.     Sebuah kompilator terintegrasi dan sistem pengeditan yang dirancang secara sintaks yang memungkinkan untuk membuat, mengedit, dan mengkompilasi kode.

2.     Sistem debug bahasa.

3.     Alat pengeditan grafis, seperti alat untuk mengedit UML.

4.     Alat pengujian, seperti JUnit yang dapat menjalankan serangkaian tes secara otomatis pada versi baru program.

5.     Alat dukungan proyek yang membantu mengatur kode untuk berbagai proyek pengembangan.

Diperlukan keputusan tentang bagaimana perangkat lunak yang dikembangkan akan digunakan pada platform target. Pertimbangan dalam membuat keputusan adalah:

1.     Persyaratan perangkat keras dan perangkat lunak dari suatu komponen

2.     Ketersediaan persyaratan sistem

3.     Komunikasi komponen, jika ada tingkat lalu lintas komunikasi yang tinggi antar komponen.

 

2.   Pemeliharaan(MAINTENANCE)

Pemeliharaan perangkat lunak adalah suatu aktivitas yang sangat luas yang sering digambarkan mencakup semua pekerjaan yang dibuat di suatu sistem setelah perangkat lunak beroperasi. Aktivitas meliputi:

a.     Penambahan atau perbaikan program, seperti penambahan fungsi baru, dan perbaikan tampilan.

b.     Perbaikan terhadap kesalahan yang timbul

c.     Penghapusan kemampuan kualitas

d.     Peningkatan pencapaian & memperluas daya guna untuk memenuhi kebutuhan user yang semakin bertambah

e.     Menyesuaikan perangkat lunak untuk memenuhi lingkungan yang berubah.

 

a.    Kategori pemeliharaan perangkat lunak

·       Korektif adalah perbaikan program akibat adanya kesalahan

·       Adaptif adalah penyesuaian dengan lingkungan yang baru, seperti penerapan pada platform di lingkungan yang baru, format tampilan printer, dll

·       Perfective terjadi pada saat pengguna sistem atau stakeholder merubah requirement dari sistem yang dibangun

·       Preventif berhubungan dengan prediksi yang akan datang, seperti penggunaan anti virus untuk keamanan data, backup data dan program

CONTOH TUGAS-TUGAS PEMELIHARAAN


 

b.    Pemeliharaan korektif (Corrective Maintenance)

Pekerjaan pemeliharaan sistem harus dilakukan terlebih dahulu di lingkungan pengujian, dan kemudian dimigrasikan ke operasional sistem. Situasi terburuk adalah kegagalan sistem. Jika keadaan darurat terjadi, tim pemeliharaan mencoba memperbaiki masalah dengan segera, sementara permintaan sistem tertulis disiapkan dan ditambahkan ke log pemeliharaan. Ketika sistem beroperasi kembali, tim pemeliharaan menentukan penyebabnya, menganalisa masalah, dan mendesain solusi permanen. Kemudian memperbarui file data, menguji sistem secara menyeluruh, dan menyiapkan dokumentasi lengkap.

 

c.     Pemeliharaan adaptif (Adaptive Maintenance)

Pemeliharaan adaptif menambahkan peningkatan pada operasional sistem dan membuat sistem lebih mudah digunakan berupa peningkatan fitur baru/perubahan.

Misalnya : layanan baru, teknologi manufaktur baru, atau dukungan untuk operasi berbasis web baru.

Pemeliharaan adaptif membutuhkan lebih banyak sumber daya departemen IT daripada pemeliharaan korektif. Pemeliharaan adaptif bisa lebih sulit daripada pengembangan sistem baru karena penyempurnaan harus bekerja dalam batasan sistem yang ada/baru.

 

d.    Pemeliharaan perfektif (Perfective Maintenance)

Melibatkan perubahan operasional sistem agar lebih efisien, dapat diandalkan, dan dapat dipelihara. Permintaan untuk pemeliharaan korektif dan adaptif biasanya berasal dari pengguna, sedangkan departemen IT biasanya memulai pemeliharaan perfektif. Pemeliharaan perfektif dapat meningkatkan keandalan sistem.

Misalnya, masalah input dapat menyebabkan program berhenti secara tidak normal, sehingga diperlukan program yang dapat menangani masalah tsb.

Semakin banyak program berubah, semakin besar ketidakefisienan dan sulit dipertahankan.

 

e.     Pemeliharaan preventif (Preventive Maintenance)

Untuk menghindari masalah, pemeliharaan preventif membutuhkan area analisis dimana masalah mungkin terjadi. Pemeliharaan preventif menghasilkan peningkatan kepuasan pengguna, downtime yang menurun, dan pengurangan biaya. Pemeliharaan harus dilayani oleh teknisi yang ahli sehingga kualitas pemeliharaan akan langsung mempengaruhi keberhasilan organisasi.

 

3.   Pemeliharaan Manajemen

A.    TIM PEMELIHARAAN

1.     Systems Administrator

Bertanggung jawab untuk pemeliharaan rutin dan berwenang mengambil tindakan pencegahan untuk menghindari keadaan darurat. Seperti kerusakan server, pemadaman jaringan, insiden keamanan, dan kegagalan perangkat keras.

2.     Systems Analyst

Bertugas menyelidiki dan menemukan sumber masalah dengan menggunakan keterampilan analisis dan sintesis. Analisis: memeriksa keseluruhan unsur-unsur individu. Sintesis: mempelajari bagian-bagian untuk memahami keseluruhan sistem.

3.     Programmer

Programmer aplikasi bekerja pada pengembangan dan pemeliharaan sistem baru. Programmer sistem berkonsentrasi pada perangkat lunak dan utilitas sistem Programmer basis data fokus pada pembuatan dan dukungan sistem basis data skala besar.

 

B.    PERMINTAAN PEMELIHARAAN

Pengguna mengirimkan sebagian besar permintaan untuk pemeliharaan korektif dan adaptif ketika sistem tidak berfungsi dengan baik, atau jika mereka menginginkan fitur baru.

1.     Determinasi Awal

Ketika pengguna mengajukan permintaan pemeliharaan, administrator membuat penentuan awal, jika permintaan memerlukan perhatian segera, administrator akan mengambil tindakan sekaligus.

2.     Komite Peninjau Sistem

Ketika suatu permintaan melebihi tingkat biaya yang telah ditentukan atau melibatkan perubahan konfigurasi utama, komite peninjau sistem akan menetapkan prioritas, atau menolaknya.

3.     Penyelesaian Tugas

Administrator sistem bertanggung jawab untuk mempertimbangkan pengalihan tugas di antara staf IT atau membatasi tugas pemeliharaan kepada individu atau tim tertentu agar tugas dapat diselesaikan dengan baik.

4.     User Notification

Pengguna yang memulai permintaan pemeliharaan mengharapkan tanggapan yang cepat, terutama jika situasi tersebut secara langsung mempengaruhi pekerjaan mereka. Bahkan ketika tindakan korektif tidak dapat terjadi dengan segera, pengguna akan menghargai umpan balik dari administrator sistem dan harus terus diberitahu tentang keputusan atau tindakan yang 

Komentar