Inilah Pengertian dan Tujuan Rekayasa Perangkat Lunak

Post a Comment
Rekayasa Perangkat Lunak Menurut Fritz Bauer : “Penggunaan dan pemanfaatan prinsip-prinsip rekayasa untuk menjadikan perngkat lunak yang ekonomis yang handal dan bekerja secara efisisen pada mesin-mesin yang kongkret” Karakteristik Perangkat Lunak Dioptimalkan atau direkayasa, tidak dibuat dalam pengertian pada lazimnya. Tak ‘lapuk’ atau mengalami penyusutan secara fisis.

Pada lazimnya dibuat secara khusus, tidak dibentuk dari bagian-bagian yang telah ada. Situasi Perangkat Lunak Perangkat lunak tidak berfungsi secara baik (kualitas yang kurang).Ketidaktepatan penjadwalan proses dan biaya produksi. Produktivitas yang belum bisa memenuhi tuntutan kebutuhan pemakai. Pemeliharaan yang sukar. Perkembangan teknologi perangkat keras di luar kesanggupan programmer untuk membuat perangkat lunak yang    bisa memanfaatkan potensi perangkat keras secara optimal.

Rekayasa perangkat lunak (RPL atau SE [Software Engineering]) merupakan satu bidang pekerjaan yang mendalami metode-metode pengembangan perangkat lunak termasuk pembuatan, pemeliharaan, manajemen organisasi pengembangan perangkat lunak, dan sebagainya.



Tujuan Rekayasa Perangkat Lunak
Bahwa  bidang  rekayasa  akan  selalu berusaha menghasilkan output yang kinerjanya tinggi,biaya rendah dan waktu penyelesaian yang tepat.  Secara lebih khusus kita dapat menyatakantujuan RPL adalah :


  • Memperoleh biaya produksi perangkat lunak yang rendah.
  • Menghasilkan perangkat lunak yang kinerjanya  tinggi, andal dan tepat waktu
  • Menghasilkan perangkat lunak yang dapat bekerja pada berbagai jenis Platform.
  • Menghasilkan perangkat lunak yang biaya perawatannya rendah.
  • Ruang Lingkup Rekayasa Perangkat Lunak
  • Berikut dibawah ini terdapat beberapa ruang lingkup rekayasa perangkat lunak, antara lain:
Berikut dibawah ini terdapat beberapa ruang lingkup rekayasa perangkat lunak, antara lain:

  • Software  requirements  berhubungan  dengan  spesifikasi  kebutuhan  dan persyaratan perangkat lunak.
  • Software  design  mencakup  proses   penentuan   arsitektur,  komponen, antarmuka, dan karakteristik lain dari perangkat lunak.
  • Software construction berhubungan dengan detil pengembangan perangkat lunak, termasuk algoritma, pengkodean, pengujian dan pencarian kesalahan.
  • Software testing meliputi pengujian pada keseluruhan perilaku  perangkat lunak.
  • Software maintenance mencakup upaya-upaya perawatan ketika perangkat lunak telah dioperasikan.
  • Software configuration management berhubungan dengan usaha perubahan konfigurasiperangkat lunak untuk memenuhi kebutuhan tertentu.
  • Software  engineering  management  berkaitan  dengan  pengelolaan  dan pengukuran RPL, termasuk perencanaan proyek perangkat lunak.
  • Software engineering tools and methods mencakup kajian teoritis tentang alat bantu danmetode RPL.
  • Software engineering process berhubungan dengan definisi, implementasi, pengukuran, pengelolaan, perubahan  dan perbaikan proses RPL.
  • Software quality menitikberatkan pada  kualitas dan  daur hidup perangkat lunak.
Perkembangan Rekayasa Perangkat Lunak
Meskipun baru dicetuskan pada tahun 1968, namun RPL telah memiliki sejarah yang cukup yang panjang. Dari sisi disiplin ilmu, RPL masih reklatif muda dan akan terus berkembang.


Aspek Rekayasa Perangkat Lunak
Aspek multidisiplin ilmu factor manusia  menjelma pada tingkat masalah, isu yang dibahas adalah disiplin yang terkait dengan orang-orang yang dapat membantu seseorang untuk memahami dasar masalah. Pada tingkat solusi, perhatian yang utama adalah disiplin yang terkait dengan orang-orang yang memungkinkan seseorang untuk ditunjuk di dalam pemecahan masalah yang lebih baik.

Suatu proyek dapat dipikirkan sebagai kelompok trugas dan aktivitas yang dilakukan di dalam periode dan pertemuan spesifik. Sebuah proyek melibatkan suatu kumpulan sumber daya temporer yang ada bersama-sama untuk memecahkan sebuah masalah spesifik.

Tatnall dan Shackleton (1995), Rosenau (1998), dan Meredith dan Mantel (1995) mengidentifikasi beberapa fitur karakteristik proyek dan menjelaskn bahwa proyek itu unik. Proyek harus diselesaikan pada periode waktu tertentu. Definisi proyek yang benar menjadi penting pada manajemen proyek. Definisi proyek membantu menetapkan suatu lingkup yang jelas untuk proyek dan bertindak sebagai dasar perencanaan proyek.

Langkah-langkah yang diperlukan untuk menggambarkan sebuah awal proyek dilakukan dengan menggambarkan peluang proyeknya, penyediaan uraian latar belakang yang menerapkan kebutuhan pada proyek, dan kemudian menggambarkan tujuan untuk proyek. Setelah mengidentifikasi stakeholder dan sumber daya yang tersedia, seseorang harus mengidentifikasi proyek yang terkait yang akan memengaruhi atau dipengaruhi oleh proyek dalam pertimbangan.

Seseorang kemudian mengidentifikasi kriteria-kriteria untuk memutuskan apakah suatu proyek itu baik, pemahamannya mencakup batasan proyek, asumsi, dan risiko, seerti halnya implikasi seperti batasan dan asumsi untuk risiko proyek. Manajemen proyek dapat digambarkan sebagai sekumpulan prinsip, metode, alat, dan teknik untuk perencanaan, pengorganisasian, penempatan pekerja, pengarahan, dan pengendalian aktivitas yang berkaitan dengan proyek untuk mencapai tujuan proyek di dalam waktu, di bawah biaya, dan batasan kinerja.

Aktivitas manajemen proyek dapat digolongkan menurut tahapan proyek, yaitu:

Konsepsi proyek
Tujuan dari tahap konseptual adalah untuk menentukan kelayakan proyek. Sasaran akan diujidalam konteks lingkungan bisnis, cara alternative akan ditetapkan dan dievaluasi, dan perkiraan persiapan biaya, jadwal, dan risiko yang dikerjakan akan ditentukan. Puncak dari tahap ini adalah keputusan, misalnya keputusan untuk meneruskan proyek.

Perencanaan
Kinerja, biaya, dan perkiraan jadwal ditentukan sampai batas pemerincian rencana untuk pelaksanaan proyek dapat dibuat. Anggaran dan jadwal akan dikembangkan, tim proyek dibentuk, dan system manajemen proyek dibentuk untuk memandu manajemen proyek.

Eksekusi
Manajer proyek akan bertanggung jawab untuk mengatur sumber daya yang diperlukan untuk memenuhi sasaran. Penekanan dari tanggung jawab bergeser dari perencanaan untuk control.

Terminasi
Tahap ini dapat dipicu dengan terminasi premature atau dengan pencapaian kesuksesan dari tujuan.


Tahapan Rekayasa Perangkat Lunak
Berikut dibawah ini terdapat beberapa tahapan rekayasa perangkat lunak, antara lain:

Analisis
Analisis sistem adalah sebuah teknik pemecahan masalah yang menguraikan sebuah sistem menjadi komponen-komponennya dengan tujuan mempelajari seberapa bagus komponen-komponen tersebut bekerja dan berinteraksi untuk meraih tujuan mereka.

Analisis mungkin adalah bagian terpenting dari proses rekayasa perangkat lunak. Karena semua proses lanjutan akan sangat bergantung pada baik tidaknya hasil analisis. Ada satu bagian penting yang biasanya dilakukan dalam tahapan analisis yaitu pemodelan proses bisnis. 

Model proses adalah model yang memfokuskan pada seluruh proses di dalam sistem yang mentransformasikan data menjadi informasi (Harris, 2003). Model proses juga menunjukkan aliran data yang masuk dan keluar pada suatu proses. Biasanya model ini digambarkan dalam bentu Diagram Arus Data (Data Flow Diagram / DFD). DFD meyajikan gambaran apa yang manusia, proses dan prosedur lakukan untuk mentransformasi data menjadi informasi.

External Entity melambangkan sumber data (dari mana data berasal) atau penerima informasi (tujuan akhir dari data). Contoh external entity antara lain konsumen yang memesan suatu produk, manajer yang mengevaluasi laporan penjualan mingguan, dan lain-lain.

Proses adalah serangkaian langkah yang dilakukan untuk memanipulasi data, misalnya pengumpulan, pengurutan, pemilihan, pelaporan, peringkasan, analisis dan lain-lain.

Data store adalah tempat untuk menyimpan data untuk digunakan kemudian. Nama yang pada data store ini merupakan abstraksi dari data yang disimpan. Namun detil / item data apa saja yang ada, bagaimana cara akses, atau bagaimana mengorganisasinya tidak dijelaskan dalam notasi ini.

Data flow menunjukkan aliran data dari satu tempat ke tempat lain. Perpindahan data ini dapat dariexternal entity ke proses, antar proses satu dengan yang lain, dari proses ke data store. Dalam penggambarannya setiap data flow harus diberi label yang menunjukkan data apa yang mengalir.

Context diagram adalah DFD ruang lingkup dari sistem yang menunjukkan batas-batas sistem,external entitiy yang berinteraksi dengan sistem dan aliran data utama antara external entitydengan sistem. Context diagram menggambarkan keseluruhan sistem dalam suatu proses tunggal. Pada proses ini diberi notasi angka 0 untuk menunjukkan ini adalah level paling abstrak dari sistem. 

Selain itu ada tiga external entity yaitu customer, kitchen dan restaurant  manager. Ketiganya dapat berperan sebagai sumber data (dalam contoh di atas adalah customer) atau sebagai penerima informasi (dalam contoh di atas customer, kitchen, dan restaurant manager).

Data flow yang tampak pada gambar menunjukkan ada satu data flow yang masuk ke sistem dan ada tiga data flow yang keluar dari sistem. Masing-masing data flow diberi label yang menunjukkan data apa yang sedang mengalir.

Setelah context diagram terbentuk dengan benar maka langkah selanjutnya adalah merinci contextdiagram tersebut dalam DFD Level 0. DFD Level 0 adalah DFD yang merepresentasikan proses-proses, data flow dan data storage utama di dalam sistem. DFD Level 0 ini akan digunakan sebagai dasar untuk membangun DFD yang level dibawahnya (Level 1, 2, 3, .. dst) atau biasa disebut sebagai dekomposisi DFD.

Masing-masing proses diberi nomor kode 1.0, 2.0, 3.0 dan 4.0. Jumlah external entity harus tetap yaitu 3 demikian puladata flow yang keluar dan masuk (input dan output) ke dalam sistem harus sama dengan pada context diagram. Sedangkan data flow yang berada di dalam sistem (yang mengalir antar proses dan atau data storage) tergantung pada proses dan data storage yang terlibat.

Ada dua data storage yaitu Goods Sold File dan Inventory File. Kedua data storage ini digunakan untuk menyimpan data dari suatu proses. Data ini juga akan dibaca / diakses oleh proses yang lain. Sebagai contoh data storage Inventory File berisi data hasil proses 3.0(Update Inventory File). Data ini akan digunakan proses 4.0 (Produce Management Reports) untuk membuat laporan yang akan disampaikan pada Restaurant Manager. 


DFD level berikutnya yaitu level 1, 2 dan seterusnya diperlukan apabila level sebelumnya dirasa kurang detil. Sebagai contoh apabila DFD level 0 (Gambar 14.12) dirasa belum cukup detil menunjukkan arus data yang mengalir, maka dapat dibuat detilnya pada DFD level 1. 

Bagian yang harus didetilkan biasanya adalah proses. Detil pada level berikutnya, mungkin pada semua proses atau hanya pada proses-proses tertentu saja. DFD pada level 0 maupun level di bawahnya memiliki kesamaan aturan yang tersaji.

Disain
Disain perangkat lunak adalah tugas, tahapan atau aktivitas yang difokuskan pada spesifikasi detil dari solusi berbasis computer (Whitten et al, 2004). Disain perangkat lunak sering juga disebut sebagai physical design. Jika tahapan analisis sistem menekankan pada masalah bisnis (business rule), maka sebaliknya disain perangkat lunak fokus pada sisi teknis dan implementasi sebuah perangkat lunak (Whitten et al, 2004).

Output utama dari tahapan disain perangkat lunak adalah spesifikasi disain. Spesifikasi ini meliputi spesifikasi disain umum yang akan disampaikan kepada stakeholder sistem dan spesifikasi disain rinci yang akan digunakan pada tahap implementasi. Spesifikasi disain umum hanya berisi gambaran umum agar stakeholder sistem mengerti akan seperti apa perangkat lunak yang akan dibangun.

Biasanya diagram USD tentang perangkat lunak yang baru merupakan point penting dibagian ini. Spesifikasi disain rinci atau kadang disebut disain arsitektur rinci perangkat lunak diperlukan untuk merancang sistem sehingga memiliki konstruksi yang baik, proses pengolahan data yang tepat dan akurat, bernilai, memiliki aspek user friendly dan memiliki dasar-dasar untuk pengembangan selanjutnya.

Desain arsitektur ini terdiri dari desain database, desain proses, desain user interface yang mencakup desain input, output form dan report, desain hardware, software dan jaringan. Desain proses merupakan kelanjutan dari pemodelan proses yang dilakukan pada tahapan analisis.

Konstruksi
Konstruksi adalah tahapan menerjemahkan hasil disain logis dan fisik ke dalam kode-kode program computer. Buku ini sebagian besar berisi tentang bagian ini.

Pengujian
Pengujian sistem melibatkan semua kelompok pengguna yang telah direncanakan pada tahap sebelumnya. Pengujian tingkat penerimaan terhadap perangkat lunak akan berakhir ketika dirasa semua kelompok pengguna menyatakan bisa menerima perangkat lunak tersebut berdasarkan kriteria–kriteria yang telah ditetapkan.

Perawatan dan Konfigurasi
Ketika sebuah perangkat lunak telah dianggap layak untuk dijalankan, maka tahapan baru menjadi muncul yaitu perawatan perangkat lunak. 

  1. Tipe perawatancorrective dilakukan jika terjadi kesalahan atau biasa dikenal sebagai bugs. Perawatan bisa dilakukan dengan memperbaiki kode program, menambah bagian yang dirasa perlu atau malah menghilangkan bagian-bagian tertentu.
  2. Tipe perawatanroutine biasa juga disebut preventive maintenance dilakukan secara rutin untuk melihat kinerja perangkat lunak ada atau tidak ada kesalahan.
  3. Tipe perawatan sistemupgrade dilakukan jika ada perubahan dari komponen-komponen yang terlibat dalam perangkat lunak tersebut. Sebagai contoh perubahan platform sistem operasi dari versi lama ke versi baru menyebabkan perangkat lunak harus diupgrade.

Related Posts

Post a Comment

Subscribe Our Newsletter