istilah rekayasa perangkat lunak secara umum disepakati sebagai terjemahan dari software engineering ,istilah ini mulai dipopulerkan oleh NATO pada tahun 1968 .beberapa orang mengartikan RPL hanya sebatas pada bagaimana membuat suatu program komputer.padahal ada perbedaan yang cukup signifikan antara perangkat lunak (software) dan program komputer.
perangkat lunak adalah seluruh perintah yang dibuat untuk memproses informasi.perangkat lunak dapat berbentuk program atau prosedur.program adalah kumpulan perintah yang dimengerti oleh komputer sedangkan prosedur adalah printah yang dibutuhkan oleh pengguna untuk memproses informasi(o'Brien 1999).
pengertian RPL sndiri adalah ilmu yang membahas semua aspek produksi perangkat lunak,mulai dari tahap awal analisa kebutuhan pengguna ,hingga tahap akhir yaitupemeliharaan sistem setelah digunakan.
jelaslah bahwa RPL bukan hanya mengenai pembuatan program komputer melainkan brhubungan dgn semua aspek produksi.
adapun ruang lingkup software engineering :
- software reqruitments
- software design
- software constructions
- software testing
- software maintenance
- software configurations management
- software engineering management
- software engineering tools and methods
- software engineering process
- software quality
METODE REKAYASA PERANGKAT LUNAK,
pada rekayasa perangkat lunak banyak model yang telah dikembangkan,untuk
membantu proses pengembangan rekayasa perangkat lunak.modelmodel ini umumnya mengacu pada model proses pengembangan sistem yang disebut sistem development life cycle (sdlc)
diantara modelmodelnya berikut akan sdikit dijelaskan ttg 3 model berikut.
- WATERFALL MODEL
model siklus hidup (life cycle model)adalah model utama dan dasar dari banyak model. salah satu model yang cukup dikenal didunia rekayasa perangkat lunak adalah waterfall model ,disebut waterfall model karena memang diagram tahapan prosesnya mirip airterjun yang bertingkat.
ada lima tahapan dalam waterfall model,yaitu
1.tahap investigasi dilakukan untuk mnentukan apakah ada suatu maslah atau adakah suatu peluang suatu sistem informasi dikembangkan.
2.tahap analisis bertujuan untuk mencari kebutuhan pengguna dan organisasi serta menganalisa semua kondisi yang ada.
3.tahap design bertujuan untuk n]menentukan spesifikasi detil dari komponen sistem informasi(manusia,hardware,software,network,dll)
4.tahap implementasi merupakan tahapan untuk mndapatkan atau mengembangkan hardware dan software (pengkodean program) dan pnempatan ke sistem baru.
5.tahapan perawatan (maintenance) ketika sistem informasi sudah d'operasikan .pada tahap ini dilakukan monitoring proses,evaluasi dan perbaikan bila perlu.
-PROTOTYPING MODEL
proyotyping merupakan salah satu pendekatan dalam rekayasa perangkat lunak secara langsung mendemonstrasikan bagaimana suatu perangkat lunak atau komponenkomponen perangkat lunak akan bekerja dalam lingkunganya sebelum tahapan konstruksi dilakukan (howard,1997)
prototyping model dapat diklasifikasikan menjadi beberapa tipe ,diantaranya..
.reusable prototype - prototype yang akan ditransformasikan menjadi produk final
.throwaway prototype - prototype yang akan dibuang begitu selesai menjalankan maksudnya
.input/output prototype - prototype yang terbatas pada antar muka pengguna (user interface)
.processing prototype - prototype yang meliputi perawatan file dasar dan proses transaksi
.system prototype - prototyppe yang berupa model lengkap dari perangkat lunak
tahap tahap dalam prototyping boleh dikatakan merupakan tahapthapyang dipercepat .strategi utama dalam prototyping adalah kerjakan yang bmudah terlebih dahulu lalu sampaikan hasil sesegera mungkin oleh pengguna.
-UNIFIED PROCESS
kadang disebut unified software development process (USDP)adalah kerangka proses pengembangan yang bersifat use-case-driven ,berpusat pada arsitektur perangkat lunak,interatif dan tumbuh kembang.kerangka pengembangan ini termasuk baru dalam metoselogi pengembangan perangkat lunak.UP dapat diaplikasikan dalam berbagai skala proyek dari pskala kecil hingga besar.
adapun empat tahap dalam pengembanganya yaitu,
.inception tahapan ini merupakan tahapan paling awal dimana penilaian terhadap perangkat lunak dilakukan.
.elaboration tujuan tahapan ini adalah untuk mendapatkan gambaran umum kebutuhan persyaratan dan fungsifungsi utama perangkat lunak.
.construction mempunyai tujuan untuk membangun perangkat lunak dari awal sampai dengan perangkat lunak tersebut siap digunakan.
.transition tahap ini brtujuan menyampaikan perangkat lunak yang sudah jadi pada pengguna.
TAHAPAN REKAYASA PERANGKAT LUNAK
1.ANALYSIS
analisis sistem merupakan sebuah tkhnik pemecahan msalah yang mnguraikan sebuah sistem menjadi komponenkomponenya dengan tujuan mempek=lajari seberapa bagus komponen tersebut bekerja dan berinteraksi untuk mncapai tujuan mereka.
analisis merupakan tahapan paling penting dalam rekayasa perangkat lunak,karena semua proses lanjutan akan sangat bergantung pada baik tidaknya hasil analisis.
2.DISAIN
disain perangkat lunak adalah tugas,tahapan,atau aktivitas yang difokuskan pada spesifikasi detil dari solusi berbasis komputer.disain perangkat lunak sering juga disebut physical design.jika tahapan analisis sistem menekankan pada tahapan bisnis
maka sebaliknya disain perangkat lunak lenih menekankan pada sisi teknis dan implementasi sebuah perangkat lunak.output utama disain perangkat lunak adalah spesifikasi disain.
disan arsitektur ini terdiri dari disain data base,disain process,disain user interface yang mencakup disain input,output form dan report,disain hardware software dan jaringan.disain proses merupakan pemodelan proses yang dilakukan pada tahapan analisis.
3.KONSTRUKSI
adalah tahapan menyampaikan hasil disain logis ke dalam kode kode program komputer.
4.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 yang telah ditetapkan.
5.PERAWATAN DAN KONFIGURASI
ketika sebuah perangkat lunak telah dianggap layak untuk dijalankan ,maka tahapan baru menjadi muncul yaitu tahap perawatan perangkat lunak.ada beberapa tahapan yang biasa digunakan dalam dunia perangkat lunak.
.perawatan corrective
dilakukan jika terjadi kesalahan atau bugs.dilakukan dengan cara memperbaiki kode program.
.perawatan routine biasa juga disebut prepentive maintenance dilakukan secara rutin untuk melihat kinerja perangkat lunak.
.perawatan sistem upgrade dilakukan jika ada perubahan dari komponenkomponen yang terlibat dalam perangakat lunak tersebut.