DomaiNesia

Software Process

 


           Rekayasa Perangkat Lunak merupakan suatu disiplin Teknik yang berkaitan dengan semua aspek produksi perangkat lunak dari tahap konsep awal sampai operasi hingga pemeliharan perangkat lunak. Rekayasa perangkat lunak memiliki aktivitas mendasar seperti spesifikasi perangkat lunak, pengembangan perangkat lunak, dan evolusi perangkat lunak.

Software engineering merupakan orang yang mengembangkan produk perangkat lunak yang dapat dijual ke pelanggan. Terdapat dua macam produk perangkat lunak :

1.      Generic Produk

Generic Produk adalah system yang berdiri sendiri yang diproses oleh organisasi pengembangan dan dijual di pasar umum kepada setiap pelanggan yang ada mampu membelinya.

2.      Custom Software

Custom Software adalah system yang ditugaskan oleh dan kebangkan untuk pelanggan tertentu seperti instansi/organisasi/perorangan. Seorang software engineering akan meranvang dan mengimplementasikan perangkat lunak tersebut khusus untuk pelanggan tersebut.

            Proses perangkat lunak adalah serangkaian aktivitas terkait yang mengarah pada produksi perangkat lunak system. Dalam pemrosesan perangkat lunak tidak ada proses yang diterapkan secara universal, proses yang digunakan di berbagai instansi/ogranisasi/perusahaan bergantung pada jenis perangkat lunak yang dikembangkan, meskipun ada banyak proses perangkat lunak yang berbeda semuanya harus memiliki empat aktivitas rekayasa perangkat lunak yang mendasar, diantaranya :

1.      Spesifikasi Perangkat Lunak, fungsionalitas perangkat lunak dan Batasan system harus ditentukan.

2.      Pengembangan Perangkat Lunak, perangkat lunak untuk memenuhi spesifikasi harus diproduksi.

3.      Validasi Perangkat Lunak, perangkat lunak harus divalidasi untuk memastikan bahwa system melakukan apa yang diinginkan oleh pelanggan.

4.      Evolusi Perangkat Lunak, perangkat lunak harus dikembangkan untuk memenuhi kebutuhan pelangganyang terus berubah.

 

Namun, saat mendeskripsikan proses, penting juga untuk dijelaskan siapa saja terlibat, apa yang diproduksi, dan kondisi yang mempengaruhi urutan kegitan dalam perangkat lunak :

1.      Produk adalah hasil dari suatu aktivitas proses. Misalnya, hasil dari aktivitas desain aristektur dapat berupa model perangkat lunak arsitektur.

2.      Peran mencerminkan tanggung jawab orang-orang yang terlibat dalam proses. Contohnya peran adalah manajer proyek, manajer konfigurasi, dan programmer.

3.      Kondisi sebelum dan sesudah adalah kondisi yang harus dimiliki sebelum dan sesudah aktivitas proses diberlakukan atau produk yang diproduksi. Misalnya, sebelum memulai design arsitektur dimulai, prasyaratnya adalah bahwasanya konsumen telah menyetujui semua persyaratannya.

Model dalam proses perangkat lunak kadang-kadang disebut dengan Software Development Life Circle (SDLC) adalah representasi perangkat lunak yang disederhanakan prosesnya. Setiap model proses yang merepresentasikan proses dari perspektif tertentu dengan hanya memberikan Sebagian informasi tentang proses itu, sebagai contoh model aktivitas proses menunjukan aktivitas dan urutannya tetapi mungkin tidak menunjukan peran orang-orang yang terlibat dalam aktivitas ini.

Dalam proses perangkat lunak terdapat beberapa model diantaranya :

·         Model Generik

Model ini adalah mendeskripsikan penjelasan tingkat tinggi dari suatu proses perangkat lunak yang dapat digunakan untuk menjelaskan pendekatan yang berbeda untuk pengembangan perangkat lunak. Anda dapat menganggapnya sebagi kerangka proses yang dapat diperluas dan diadaptasi untuk membuat proses rekyasa perangkat lunak yang lebih spesifik.

·         Waterfall


Metode ini mengambil aktifitas proses yang fundamental dari spesifikasi, pengembangan, validasi, dan evolusi dengan proses terpisah pada setiap fasenya seperti spesifikasi persyaratan, design perangkat lunak, implementasi dan pengujian.

 

 


 

 

 

 

1.      Analisis dan definisi persyaratan Layanan sistem, batasan, dan tujuan ditetapkan melalui konsultasi dengan pengguna sistem. Mereka kemudian didefinisikan secara rinci dan berfungsi sebagai spesifikasi sistem.

2.      Desain sistem dan perangkat lunak Proses desain sistem mengalokasikan persyaratan untuk sistem perangkat keras atau perangkat lunak. Ini menetapkan arsitektur sistem secara keseluruhan. Desain perangkat lunak melibatkan pengidentifikasian dan penggambaran abstraksi sistem perangkat lunak dasar dan hubungannya.

3.      Implementasi dan pengujian unit Selama tahap ini, desain perangkat lunak direalisasikan sebagai satu set program atau unit program. Pengujian unit melibatkan verifikasi bahwa setiap unit memenuhi spesifikasinya.

4.      Integrasi dan pengujian sistem Unit program atau program individual diintegrasikan dan diuji sebagai sistem yang lengkap untuk memastikan bahwa persyaratan perangkat lunak telah dipenuhi. Setelah pengujian, sistem perangkat lunak dikirimkankepada pelanggan.

5.      Operasi dan pemeliharaan Biasanya, ini adalah fase siklus hidup terpanjang. Sistem dipasang dan digunakan secara praktis. Pemeliharaan melibatkan koreksi kesalahan yang tidak ditemukan pada tahap awal siklus hidup, meningkatkan implementasi unit sistem, dan meningkatkan layanan sistem sebagai yang baru.persyaratan ditemukan.

·         Incremental development

Pendekatan ini menyisipkan aktivitas spesifikasi, pengembangan, dan validasi. Sistem ini dikembangkan sebagai serangkaian versi (increments), dengan setiap versi menambahkan fungsionalitas ke versi sebelumnya.

 

 




Pengembangan perangkat lunak tambahan, yang merupakan bagian mendasar dari metode pengembangan tangkas (agile development methods), lebih baik daripada pendekatan air terjun (waterfall) untuk sistem yang persyaratannya cenderung berubah selama proses pengembangan. Ini adalah kasus untuk sebagian besar sistem bisnis dan produk perangkat lunak. Perkembangan inkremental mencerminkan cara kita memecahkan masalah.

Pengembangan inkremental memiliki tiga keunggulan utama dibandingkan model air terjun:

1. Biaya penerapan perubahan persyaratan berkurang. Jumlah analisis dan dokumentasi yang harus diulang secara signifikan lebih sedikit daripada yang dibutuhkan dengan model air terjun.

2. Lebih mudah untuk mendapatkan umpan balik pelanggan atas pekerjaan pengembangan yang telah dilakukan. Pelanggan dapat mengomentari demonstrasi perangkat lunak dan melihat seberapa banyak yang telah diterapkan. Pelanggan merasa sulit untuk menilai kemajuan daridokumen desain perangkat lunak.

3. Pengiriman awal dan penyebaran perangkat lunak yang berguna kepada pelanggan dimungkinkan, bahkan jika semua fungsi belum disertakan. Pelanggan dapat menggunakan dan mendapatkan nilai dari perangkat lunak lebih awal dari yang dimungkinkan dengan proses air terjun.


Baca juga

Posting Komentar

DomaiNesia