Bookmarks

Minggu, 18 Agustus 2013

Tugas 10. Pemeliharaan Software (Software Maintenance)

Pendahuluan 
Istilah pemeliharaan perangkat lunak digunakan untuk menjabarkan aktivitas dari analis sistem (software engineering) yang terjadi pada saat hasil produk perangkat lunak sudah dipergunakan oleh pemakai (user). Biasanya pengembangan produk perangkat lunak memerlukan waktu antara 1 sampai dengan 2 tahun, tetapi pada pase pemeliharaan perangkat lunak menghabiskan 5 sampai dengan 10 tahun. Aktivitas yang terjadi pada pase pemeliharaan antara lain :

Penambahan atau peningkatan atau juga perbaikan untuk produk perangkat lunak, meliputi :
       1. penambahan fungsi-fungsi baru

       2. perbaikan tampilan dan modus interaktif

       3. perbaharui dokumen ekstemal

       4. perbaharui dokumentasi internal
       5. perbaharui karakteristik perfomansi dari sistem


              Adaptasi produk dengan lingkungan mesin yang baru, meliputi :
       1. pemindahan perangkat lunak ke mesin yang berlainan
       2. modifikasi untuk dapat mempergunakan protokol atau disk drive tambahan.

              Pembetulan permasalahan yang timbul, meliputi :         
    1. pembenaran kesalahan yang timbul setelah produk perangkat lunak dipergunakan oleh user (pemakai).   
Aktivitas pemeliharaan menghabiskan biaya terbesar dari seluruh anggaran pengembangan atau pembuatan perangkat lunak. Hal ini merupakan yang sering kali terjadi jika pemeliharaan menghabiskan 70% Bari seluruh biaya pengembangan perangkat lunak. Sedangkan pada pase pemeliharaan sekitar 60% digunakan untuk anggaran penambahan atau perbaikan perangkat lunak, sisanya untuk adaptasi atau pembetulan. Dari besarnya biava yang dihabiskan untuk pase pemeliharaan maka tidak heran apabila tujuan dari pengembangan atau pembuatan perangkat lunak adalah menghasilkan sistem perangkat lunak yang dapat diandalkan dan mudah dalam pemeliharaannya. Atribut utama dari perangkat lunak yang mudah dalam pemeliharaan adalah:
-          perangkat lunak dikerjakan per modul
-          perangkat lunak mempunyai kejelasan
-          dokumentasi internal yang baik dan jelas
-          dokumen-dokumen pendukung lainnya

Alasan biaya pemeliharaan lebih tinggi dari pada biaya pengembangan, berikut adalah beberapa faktor yang menyebabkannya :
  1. Stabilitas Tim, biasanya tim pengembang dan tim pemelihara adalah orang yang berbeda karena tim pengembang biasanya sudah lari ke proyek baru sehingga tim pemeliharanya tidak begitu paham atas sistem yang dikembangkan.
  2. Tanggung Jawab Kontrak, kontrak bagi pengembang dan pemelihara kebanyakan terpisah atau diberikan kepada perusahaan yang berbeda dan bahkan bukan pengembang sistem aslinya, akibatnya tidak ada insentif bagi pengembang untuk membuat sistem yang mudah untuk diubah.
  3. Keahlian Staff, staff pemelihara kebanyakan tidak berpengalaman dalam hal pemeliharaan software dan staff pemelihara sering diaangap tidak memerlukan keahlian yang mendalam di bidang software.
  4. Umur dan Struktur Program, program yang sudah tua biasanya strukturnya sudah terdegradasi oleh perkembangan jaman sehingga sangat sulih dipahami oleh pemelihara.
Pemeliharaan perangkat lunak jika ditinjau dari daur siklus pengembangan perangkat lunak dapat dikelompokkan sebagai herikut: 
-    perluasan dan analisis merupakan perwujudan kembali dari fase analisis pada daur siklus pengembangan.
-    pembenaran merupakan perwujudan kembali dari fase analisis, perancangan dan penerapan.

Selain itu juga seluruh alat bantu yang digunakan pada pengembangan perangkat lunak dapat digunakan pada pemeliharaan perangkat lunak.

Aktivitas analisis selama pemeliharaan perangkat lunak meliputi: Pengertian skope dan pengaruh yang ditimbulkan akibat dari perubahan, selain itu juga batasan (kendala) yang terjadi akibat perubahan. Sedangkan pada perancangan dan fase pemeliharaan meliputi perancangan kembali dari perubahan-perubahan yang diinginkan, dimana perubahan ini akan diterapkan sehingga menyebabkan dokumentasi internal dan program sumber juga harus diperbaharui, dan test case yang baru harus dirancang untuk memulai keakuratan hasil modifikasi, Selama itu juga dokumen pendukung (keperluan, spesifikasi perancangan, rencana uji coba, prinsip pengoperasian, petunjuk pemakaian) harus diperbaharui untuk memperlihatkan hasil perubahan. 

Pemeliharaan Perangkat Lunak adalah proses umum pengubahan/pengembangan perangkat lunak setelah diserahkan ke konsumen. Perubahan mungkin berupa perubahan sederhana untuk membetulkan error koding atau perubahan yg lebih ekstensif untuk membetulkan error perancangan/perbaikan signifikan untuk membetulkan error spesifikasi/akomodasi persyaratan baru.

Jenis-Jenis Pemeliharaan Software

1. Corrective (perubahan yang dilakukan guna memperbaiki kesalahan)

       Perawatan perangkat lunak korektif melibatkan mengembangkan dan menyebarkan solusi untuk masalah ("bug") yang timbul selama penggunaan program perangkat lunak. Pengguna komputer akan melihat masalah kinerja dengan perangkat lunak, seperti pesan error yang datang pada layar atau program pembekuan atau menabrak, berarti perawatan perangkat lunak perbaikan perlu dilakukan. Seringkali perbaikan ini secara permanen memecahkan masalah, tetapi tidak selalu. Beberapa perbaikan bertindak sebagai solusi sementara sambil pemrogram komputer bekerja pada solusi yang lebih permanen. 

2. Perfective (perubahan untuk meningkatkan kualitas sistem tanpa merubah fungsinya)

        Tidak ada program perangkat lunak yang berisi nol kekurangan atau area yang perlu diperbaiki. Perawatan perangkat lunak perfektif melibatkan pemrogram komputer bekerja untuk meningkatkan cara fungsi program perangkat lunak atau seberapa cepat proses permintaan. Programmer juga dapat terlibat dalam perawatan perangkat lunak perfektif untuk meningkatkan tata letak menu perangkat lunak dan antarmuka perintah. Terkadang programmer perlu melakukan pemeliharaan perfektif pada perangkat lunak karena pengaruh luar, seperti peraturan pemerintah baru yang mempengaruhi bagaimana bisnis beroperasi.

3. Adaptive (perawatan berdasarkan perubahan lingkungan)

          Bidang teknologi terus berubah melalui hardware dan pengembangan perangkat lunak. Perawatan perangkat lunak Adaptive mengatasi perubahan ini. Perubahan dalam kecepatan prosesor, misalnya, akan mempengaruhi bagaimana perangkat lunak melakukan pada sebuah komputer. Software berinteraksi dengan program perangkat lunak lain pada komputer atau jaringan, yang berarti perubahan dalam satu program dapat memerlukan perubahan dalam program lain. Seorang pengguna akhirnya akan memperkenalkan perangkat lunak baru ke komputer atau jaringan, yang juga dapat mempengaruhi bagaimana perangkat lunak lain yang sudah ada beroperasi.

4. Preventative (Meningkatkan reliability, future maintainability, future enhancement  (reverse engineering dan re-engineering))

            Ketika pemrogram komputer terlibat dalam perawatan perangkat lunak preventif mereka mencoba untuk mencegah masalah dengan program perangkat lunak sebelum terjadi. Programmer berusaha mencegah pemeliharaan korektif sebanyak mungkin, sementara juga mengantisipasi kebutuhan pemeliharaan adaptif sebelum pengguna mengalami masalah. Programer komputer yang pengujian perangkat lunak, sebagai perusahaan otomotif menguji kendaraan yang mereka buat, untuk memastikan perangkat lunak dapat menangani beban data yang tinggi dan operasi stres lain tanpa masalah. Programmer komputer juga menguji perangkat lunak dengan pengguna program lain kemungkinan akan digunakan pada komputer mereka, membuat masalah kompatibilitas yakin tidak muncul.

Manfaat Pemeliharaan Software
Ada beberapa manfaat dari pemeliharaan software, yaitu sebagai berikut :
1. Dapat memastikan kesesuaian dengan kebutuhan fungsionalitas teknis software.
2. Dapat memastikan kesesuaian kebutuhan pihak manajerial mengenai jadwal dan budget.
3. Dapat meningkatkan efisiensi software berikut juga aktifitas pemeliharaannya.

Referensi :
http://www.ehow.com/list_6632907_types-software-maintenance.html
http://aandaru.wordpress.com/2011/11/10/pengertin-pemeliharaan-perangkat-lunak/
http://rangkuman-pengetahuan.blogspot.com/2013/02/pemeliharaan-perangkat-lunak-software.html


Jumat, 16 Agustus 2013

Tugas I. Paradigma Pengembangan Perangkat Lunak (Prototyping Model)

Pendahuluan      
         Pengembangan perangkat lunak (juga disebut pengembangan aplikasi, desain perangkat lunak, merancang perangkat lunak, pengembangan aplikasi perangkat lunak, pengembangan aplikasi perusahaan, atau pengembangan platform) adalah pengembangan suatu produk perangkat lunak. Istilah "pengembangan perangkat lunak" bisa dipakai untuk menyebut aktivitas pemrograman komputer, yaitu proses menulis dan mengelola kode sumber, namun dalam artian luas istilah ini mencakup semua hal yang terlibat antara penciptaan perangkat lunak yang diinginkan melalui pewujudan akhir perangkat lunak, idealnya dalam proses yang terencana dan terstruktur. Karena itu, pengembangan perangkat lunak bisa mencakup penelitian, pengembangan baru, purwarupa, modifikasi, pemakaian kembali, rekayasa ulang, pengelolaan, atau aktivitas lain yang menghasilkan produk perangkat lunak.

Perangkat lunak bisa dikembangkan untuk berbagai tujuan, tiga tujuan paling umum adalah memenuhi kebutuhan klien/bisnis tertentu (perangkat lunak kustom), memenuhi persepsi kebutuhan sejumlah pengguna potensial (perangkat lunak komersial dan terbuka), atau memenuhi kebutuhan pribadi (misalnya seorang ilmuwan menulis perangkat lunak untuk mengotomasikan sebuah tugas yang rumit). Pengembangan perangkat lunak tertanam adalah pengembangan perangkat lunak tertanam seperti yang dipakai untuk mengontrol produk konsumen, membutuhkan proses pengembangan yang terintegrasikan dengan pengembangan produk fisik yang dikontrol.

Perlunya pengawasan kualitas yang lebih baik pada proses pengembangan perangkat lunak menciptakan disiplin teknik perangkat lunak, yang bertujuan menerapkan pendekatan sistematis yang tercantum dalam paradigma teknik hingga proses pengembangan perangkat lunak.

Model Prototyping pada Rekayasa Perangkat Lunak
   Sebuah prototipe adalah bagian dari produk yang mengekspresikan logika maupun fisik antarmuka eksternal yang ditampilkan. Konsumen potensial menggunakan prototipe dan menyediakan masukan untuk tim pengembang sebelum pengembangan skal besar dimulai. Melihat dan mempercayai menjadi hal yang diharapkan untuk dicapai dalam prototipe. Dengan menggunakan pendekatan ini, konsumen dan tim pengembang dapat mengklarifikasi kebutuhan dan interpretasi mereka.

      Prototyping perangkat lunak (software prototyping) atau siklus hidup menggunakan protoyping (life cycle using prototyping) adalah salah satu metode siklus hidup sistem yang didasarkan pada konsep model bekerja (working model). Tujuannya adalah mengembangkan model menjadi sistem final. Artinya sistem akan dikembangkan lebih cepat dari pada metode tradisional dan biayanya menjadi lebih rendah. Ada banyak cara untuk memprotoyping, begitu pula dengan penggunaannya. Ciri khas dari metodologi ini adalah pengembang sistem (system developer), klien, dan pengguna dapat melihat dan melakukan eksperimen dengan bagian dari sistem komputer dari sejak awal proses pengembangan.

Dengan prototype yang terbuka, model sebuah sistem (atau bagiannya) dikembangkan secara cepat dan dipoles dalam diskusi yang berkali-kali dengan klien. Model tersebut menunjukkan kepada klien apa yang akan dilakukan oleh sistem, namun tidak didukung oleh rancangan desain struktur yang mendetil. Pada saat perancang dan klien melakukan percobaan dengan berbagai ide pada suatu model dan setuju dengan desain final, rancangan yang sesungguhnya dibuat tepat seperti model dengan kualitas yang lebih bagus.

Protoyping membantu dalam menemukan kebutuhan di tahap awal pengembangan,terutama jika klien tidak yakin dimana masalah berasal. Selain itu protoyping juga berguna sebagai alat untuk mendesain dan memperbaiki user interface – bagaimana sistem akan terlihat oleh orang-orang yang menggunakannya.

Salah satu hal terpenting mengenai metodologi ini, cepat atau lambat akan disingkirkan dan hanya digunakan untuk tujuan dokumentasi. Kelemahannya adalah metode ini tidak memiliki analisa dan rancangan yang mendalam yang merupakan hal penting bagi sistem yang sudah kokoh, terpercaya dan bisa dikelola. Jika seorang pengembang memutuskan untuk membangun jenis prototipe ini, penting untuk memutuskan kapan dan bagaimana ia akan disingkirkan dan selanjutnya menjamin bahwa hal tersebut telah diselesaikan tepat pada waktunya. 

Tahapan-Tahapan Prototyping dan Kelebihannya
Tahapan-tahapan dalam Prototyping adalah sebagai berikut:

1. Pengumpulan kebutuhan
Pelanggan dan pengembang bersama-sama mendefinisikan format seluruh perangkat lunak, mengidentifikasikan semua kebutuhan, dan garis besar sistem yang akan dibuat.

2. Membangun prototyping
Membangun prototyping dengan membuat perancangan sementara yang berfokus pada penyajian kepada pelanggan (misalnya dengan membuat input dan format output).

3. Evaluasi protoptyping
Evaluasi ini dilakukan oleh pelanggan apakah prototyping yang sudah dibangun sudah sesuai dengan keinginann pelanggan. Jika sudah sesuai maka langkah 4 akan diambil. Jika tidak prototyping direvisi dengan mengulang langkah 1, 2 , dan 3.

4. Mengkodekan sistem
Dalam tahap ini prototyping yang sudah di sepakati diterjemahkan ke dalam bahasa pemrograman yang sesuai.

5. Menguji sistem
Setelah sistem sudah menjadi suatu perangkat lunak yang siap pakai, harus dites dahulu sebelum digunakan. Pengujian ini dilakukan dengan White Box, Black Box, Basis Path, pengujian arsitektur dan lain-lain.

6. Evaluasi Sistem
Pelanggan mengevaluasi apakah sistem yang sudah jadi sudah sesuai dengan yang diharapkan. Jika ya, langkah 7 dilakukan; jika tidak, ulangi langkah 4 dan 5.

7. Menggunakan sistem
Perangkat lunak yang telah diuji dan diterima pelanggan siap untuk digunakan.

Model pengembangan ini (Prototyping Model) memiliki beberapa kelebihan, diantaranya :
  • Adanya komunikasi yang baik antara pengembang dan pelanggan
  • Pengembang dapat bekerja lebih baik dalam menentukan kebutuhan pelanggan
  • Pelanggan berperan aktif dalam pengembangan system
  • Lebih menghemat waktu dalam pengembangan system
  • Penerapan menjadi lebih mudah karena pemakai mengetahui apa yang diharapkannya
  • membuat klien mendapat gambaran awal dari prototype
  • Membantu mendapatkan kebutuhan detil lebih baik

Implementasi Prototyping Model
            Metode prototyping sebagai suatu paradigma baru dalam pengembangan sistem informasi manajemen, tidak hanya sekedar suatu efolusi dari metode pengembangan sistem informasi yang sudah ada, tetapi sekaligus merupakan refolusi dalam pengembangan sistem informasi manajemen. Metode ini dikjatakan refolusi karena merubah proses pengembangan sistem informasi yang lama (SDLC).

Menurut literatur, yang dimaksud dengan prototipe (prototype) adalah ”model pertama”, yang sering digunakan oleh perusahaan industri yang memproduksi barang secara masa. Tetapi dalam kaitannya dengan sistem informasi definisi kedua dari Webster yang menyebutkan bahwa ”prototype is an individual that exhibits the essential peatures of later type”, yang bila diaplikasikan dalam pengembangan sistem informasi manajemen dapat berarti bahwa Prototipe tersebut adalah sistem informasi yang menggambarkan hal-hal penting dari sistem informasi yang akan datang. Prototipe sistem informasi bukanlah merupakan sesuatu yang lengkap, tetapi sesuatu yang harus dimodifikasi kembali, dikembangkan, ditambahkan atau digabungkan dengan sistem informasi yang lain bila perlu.

Dalam beberapa hal pengembangan software berbeda dengan produk-produk manufaktur, setiap tahap atau fase pengembangan sistem informasi merupakan bagian yang tidak terpisahkan dari seluruh proses yang harus dilakukan. Proses ini umumnya hanya untuk satu produk dan karakteristik dari produk tersebut tidak dapat ditentukan secara pasti seperti produk manufaktur, sehingga penggunaan ”model pertama” bagi pengembangan software tidaklah tepat. Istilah prototyping dalam hubungannya dengan pengembangan software sistem informasi manajemen lebih merupakan suatu proses bukan prototipe sebagai suatu produk.

Sebagai contoh, pembuat mobil dapat mengembangkan sebuah purwarupa yang dapat digunakan dalam lintasan pengujuan khusus dan kemudian ditampilkan dalam showroom. Informasi yang diperoleh dari perlakuan seperti itu dapat digunakan untuk meningkatkan desain sebelum implementasi/produksi dilakukan secara massal.

Karakteristik metode prototyping
Ada empat langkah yang menjadi karakteristik metode prototyping yaitu :
1.    Pemilahan Fungsi
        Mengacu pada pemilahan fungsi yang harus ditampilkan oelh prototyping. Pemilahan harus selalu dilakukan berdasarkan pada tugas-tugas yang relevan yang sesuai dengan contoh kasus yang akan dipergakan.
2.    Penyusunan Sistem Informasi
       Bertujuan untuk memenuhi permintaan akan tersedianya prototype
3.    Evaluasi
4.    Penggunaan Selanjutnya


Referensi :








Resources

About

Featured Posts Coolbthemes