Sabtu, 30 Maret 2013

Rekayasa Perangkat Lunak Bab III







A.1-
Sistem 
berasal dari bahasa Latin (systēma) dan bahasa Yunani (sustēma) adalah suatu kesatuan yang terdiri komponen atau elemen yang dihubungkan bersama untuk memudahkan aliran informasi, materiatau energi untuk mencapai suatu tujuan. Istilah ini sering dipergunakan untuk menggambarkan suatu set entitas yang berinteraksi, di mana suatu model matematika seringkali bisa dibuat.
Sistem juga merupakan kesatuan bagian-bagian yang saling berhubungan yang berada dalam suatu wilayah serta memiliki item-item penggerak, contoh umum misalnya seperti negara. Negara merupakan suatu kumpulan dari beberapa elemen kesatuan lain seperti provinsi yang saling berhubungan sehingga membentuk suatu negara dimana yang berperan sebagai penggeraknya yaitu rakyat yang berada dinegara tersebut.
Kata "sistem" banyak sekali digunakan dalam percakapan sehari-hari, dalam forum diskusi maupun dokumen ilmiah. Kata ini digunakan untuk banyak hal, dan pada banyak bidang pula, sehingga maknanya menjadi beragam. Dalam pengertian yang paling umum, sebuah sistem adalah sekumpulan benda yang memiliki hubungan di antara mereka.Berikut pengertian dari system menurut para ahli :::

Menurut Fat pengertian sistem adalah sebagai berikut :“Sistem adalah suatu himpunan suatu “benda” nyata atau abstrak (a set of thing) yang terdiri dari bagian–bagian atau komponen-komponen yang saling berkaitan, berhubungan, berketergantungan, saling mendukung, yang secara keseluruhan bersatu dalam satu kesatuan (Unity) untuk mencapai tujuan tertentu secara efisien dan efektif”
Menurut Davis, G.B, (1991 : 45 ) Sistem secara fisik adalah kumpulan dari elemen-elemen yang beroperasi bersama-sama untuk menyelesaikan suatu sasaran
Menurut Lani Sidharta (1995: 9), “Sistem adalah himpunan dari bagian-bagian yang saling berhubungan yang secara bersama mencapai tujuan-tujuan yang sama”
Menurut Saya
sendiri adalah Bentuk kumpulan bagian elemen-elemen yg saling berhubungan untuk mencapai tujuan tertentu.

Dengan demikian sistem merupakan kumpulan dari beberapa bagaian yang memiliki keterkaitan dan saling bekerja sama serta membentuk suatu kesatuan untuk mencapai suatu tujuan dari sistem tersebut. maksud dari suatu sistem adalah untuk mencapai suatu tujuan dan sasaran dalam ruang lingkup yang sempit.Jadi pada intinya Sistem adalah sesuatu yg berhubungan dan mencapai tujuan.
Tujuan dari system adalah untuk mengorganisasikan sistem informasi yang baru agar dapat mengatasi berbagai masalah yang terjadi pada suatu organisasi, serta memberikan pengertian mengenai suatu bentuk sistem yang ada pada suatu organisasi serta trik-trik management yang berkaitan dengan sistem informasi manageman (SIM) berbasis komputer.

Didalam Sistem mempunyai karakteristik system yg dimaksud dengan Karakteristik sistem adalah sistem yang mempunyai komponen-komponen, batas sistem, lingkungan sistem, penghubung, masukan, keluaran, pengolah dan sasaran. Untuk lebih jelasnya dapat dilihat pada gambar 2.2 dibawah ini yang merupakan karakteristik sistem.
Gambar 2.2 Karakteristik Sistem
Dari gambar diatas dapat dijelaskan bahwa karakteristik sistem dapat dibagi menjadi 8 bagian, yaitu :
1. Komponen
Elemen-elemen yang lebih kecil yang disebut sub sistem, misalkan sistem komputer terdiri dari sub sistem perangkat keras, perangkat lunak dan manusia.
Elemen-elemen yang lebih besar yang disebut supra sistem. Misalkan bila perangkat keras adalah sistem yang memiliki sub sistem CPU, perangkat I/O dan memori, maka supra sistem perangkat keras adalah sistem komputer.
2. Boundary (Batasan Sistem)
Batas sistem merupakan daerah yang membatasi antara suatu sistem dengan sistem yang lainnya atau dengan lingkungan luarnya. Batas sistem ini memungkinkan suatu sistem dipandang sebagai suatu kesatuan. Batas suatu sistem menunjukkan ruang lingkup dari sistem tersebut.
3. Environment (lingkungan Luar Sistem)
Lingkungan dari sistem adalah apapun di luar batas dari sistem yang mempengaruhi operasi sistem. Lingkungan luar sistem dapat bersifat menguntungkan dan dapat juga bersifat merugikan sistem tersebut. lingkungan luar yang mengutungkan merupakan energi dari sistem dan dengan demikian harus tetap dijaga dan dipelihara. Sedang lingkungan luar yang merugikan harus ditahan dan dikendalikan, kalau tidak akan mengganggu kelangsungan hidup dari sistem.
4. Interface (Penghubung Sistem)
Penghubung merupakan media perantara antar sub sistem. Melalui penghubung ini memungkinkan sumber-sumber daya mengalir dari satu subsistem ke subsistem lainnya. Output dari satu sub sistem akan menjadi input untuk subsistem yang lainnya dengan melalui penghubung. Dengan penghubung satu subsistem dapat berinteraksi dengan sub sistem yang lainnya membentuk satu kesatuan.
5. Input (Masukan)
Masukan adalah energi yang dimasukkan ke dalam sistem. Masukan dapat berupa maintenance input dan sinyal inputMaintenance input adalah energi yang dimasukkan supaya sistem tersebut dapat beroperasi. Sinyal inputadalah energi yang diproses untuk didapatkan keluaran.
6. Output (Keluaran)
Keluaran adalah hasil dari energi yang diolah dan diklasifikasikan menjadi keluaran yang berguna dan sisa pembuangan. Keluaran dapat merupakan masukan untuk subsistem yang lain atau kepada supra sistem.
7. Proses (Pengolahan Sistem)
Suatu sistem dapat mempunyai suatu bagian pengolah atau sistem itu sendiri sebagai pengolahnya. Pengolah yang akan merubah masukan menjadi keluaran. Suatu sistem produksi akan mengolah masukan berupa bahan baku dan bahan-bahan yang lain menjadi keluaran berupa barang jadi.
8. Objective and Goal (Sasaran dan Tujuan Sistem)
Suatu sistem pasti mempunyai tujuan atau sasaran. Kalau suatu sistem tidak mempunyai sasaran, maka operasi sistem tidak akan ada gunanya. Sasaran dari sistem sangat menentukan sekali masukan yang dibutuhkan sistem dan keluaran yang akan dihasilkan sistem. Suatu sistem dikatakan berhasil bila mengenai sasaran atau tujuannya.

Semua komponen-komponen diatas haruslah mencangkup semua atau dengan kata lain harus ada
karena apabila tidak ada maka system tidak akan dapat melakukan sesuatu atau tidak berfungsi sesuai yg diinginkan yaitu menghasilkaninformasi yg relevan

A.2 Rekayasa Sistem
Pengertian dari Rekayasa Sistem adalah aktivitas untuk menetapkan kebutuhan-kebutuhan pada tingkat sistem, kemudian mengalokasikan beberapa bagian dari kebutuhan-kebutuhan tersebut ke satu atau beberapa komponen rekayasa, misalnya perangkat lunak. Rekayasa sistem dapat membantu menerjemahkan kebutuhan pelanggan menjadi model sistem tertentu, sehingga dapat memberikan gambaran bagaimana interaksi antara satu elemen sistem dengan elemen sistem lainnya.Atau dalam kata lain Rekayasa Sistem adalah kegiatan penspesifikasian,perancangan,pengimplementasian,penvalidasian,penyebaran dan pemeliharaan system sebaga isatu kesatuan.
Menurut Pressman, cakupan rekayasa sistem meliputi:
·         Rekayasa informasi, yaitu rekayasa sistem yang konteks pekerjaan rekayasanya berfokus pada perusahaan bisnis (business enterprise), meliputi pengumpulan kebutuhan-kebutuhan untuk tingkat bisnis strategis dan tingkat area bisnis.
·         Rekayasa produk (sering disebut juga dengan rekayasa sistem), yaitu rekayasa sistem yang merupakan aktivitas penyelesaian masalah. Data, fungsi, dan perilaku produk yang diinginkan dicari, dianalisis, dibuat model kebutuhannya, kemudian dialokasikan ke komponen rekayasa. Selanjutnya komponen-komponen ini disatukan dengan infrastruktur pendukungnya sampai produk tersebut jadi.
Kedua bentuk rekayasa diatas digunakan untuk pengembangan system berbasis komputer,Dalam hal ini mengalokasikan peran perngakat lunak komputer serta menentukan kaitan yg menyatukan perangkat lunak dengan elemen system berbasis komputer lainnya.
berikut adalah proses Rekayasa Sistem :::
A.3 Rekayasa Informasi
Rekayasa Informasi adalah kegiatan penspesifikasian ,perancangan ,pengimplementasian ,penvalidasian ,penyebaran dan pemeliharaan system sebagai satu kesatuan dalam pengertian lainnya Rekayasa Informasi adalah sekumpulan teknik dimana model perusahaan,model proses dibangun dalam suatu basis pengetahuan komprehensif dan digunakan untuk membuat dan memelihara system pemmrosesan data dan bidang yg mengaitkan teknik formal untuk perencanaan ,analisis,desain dan kontruksi system informasi dalam skala perusahaan atau lintas sector perusahaan.

Karakteristik Rekayasa Informasi :::
-Menereapkan pendekatan top-down dengan beberapa tahapan (dibahas kemudian)
-Menerapkan teknik terstruktur dalam skala perusahaan.
-Membangun pengetahuan repository/ensiklopedia yg mantap tentang perusahaan (model data ,model proses dan desain system).
-Membuat kerangka kerja untuk mengembangkan komputerisasi perusahaan.
-Melibatkan end-user secara kuat dalam setiap tahapan.
-Memfasilitasi evolusi system jangka panjang.
Mengendifikasikan bagaimana computing dapat memenuhi tujuan strategis perusahaan.

Berikut adalah gambar system informasi secara pyramid :::


Tahapan-tahapan Rekayasa Informasi :::
·         Perencanaan strategi informasi berkaitan dengan tujuan manajemen perusahaan
Berkaitan dengan bagaimana teknologi bisa digunakan untuk membuat peluang-peluang baru dan keunggulan kompetitif.
·         Analisis Area Bisnis adalah berhubungan dengan bagaimana proses yg dipilih dalam area bisnis dimplemntasikan dalam prosedur.Dan dilanjutkan bagaimana  setiap proses tersebut.Berhubungan dengan data apa saja yg dibutuhkan.
·         Desain Sistem adalah berkaitan dengan bagaimana proses dalam bisnis diImplementasikan dan bagaimana prosedur-prosedur tersebut bekerja.Keterlibatan pengguna secara langsung dipelukan dalam desain.
·         Ensiklopedia adalah repository  / gudang terkomputerisasi yg menghimpun informasi yg berkaitan dengan : perencanaan hingga pemeliharaan.Model data ,Proses dan perencanaan informasi disimpan dalam ensiklopedia.


A.4 Rekayasa Produk
                Melakukan pengembangan terhadap produk yang sudah ada sehingga dihasilkan produk baru yang lebih memenuhi kebutuhan masyarakat, hal ini dilakukan tidak lain juga untuk menghasilkan produk yang mempunyai daya jual sehingga dapat menghasilkan keuntungan bagi produsen(perusahaan). Dalam rekayasa produk ada beberapa aktivitas yang akan dilakukan untuk mengetahui data, fungsi dan perilaku produk yang diinginkan sebelum pengembangan produk dilakukan diantaranya adalah:
·         Analisa Sistem
Tujuan dilakukan analisa sistem adalah
a)      §  Mengidentifikasi kebutuhan pelanggan.
b)      §  Mengevaluasi kelayakan sistem.
c)       §  Melakukan analisis teknis dan ekonomis,
d)      §  Mengalokasikan fungsi-fungsi untuk perangkat lunak, perangkat keras,
e)      §  basisdata, manusia, dan elemen sistem yang lain.

·         Identifikasi Kebutuhan
Langkah pertama dari aktivitas analisa sistem adalah analisa kebutuhan dengan mengidentifikasi kebutuhan dari pelanggan. Mengidentifikasikan kebutuhan ini dilakukan dengan melakukan pertemuan antara seorang analis dengan pelanggan. Seperti halnya rekayasa informasi, tujuan dari pertemuan ini untuk memahami sasaran produk dan menentukan tujuan dibangunnya sebuah produk supaya sasaran tersebut tercapai. Setelah tujuan ditentukan, analis akan melanjutkan aktivitas evaluasi informasi. Berikut ada beberapa pertanyaan yang dapat digunakan untuk membantu mengevaluasi informasi dari sistem atau produk yang akan dibangun.
§  Adakah teknologi untuk membangun sistem?
§  Batasan apa saja yang akan dialokasikan terhadap jadwal dan biaya?
§  Pengembangan dan sumber daya apa saja yang dibutuhkan?
Jika sistem atau produk yang akan dibangun berupa produk yang akan dijual ke pelanggan, ada beberpa pertanyaan yang bisa diajukan yaitu
§  Bagaimana produk tersebut dapat bersaing dengan produk yang telah ada?
§  Pasar apa saja yang potensial bagi produk yang akan dibangun?
Setelah semua informasi dikumpulkan pada aktivitas identifikasi kebutuhan.Informasi tersebut akan dispesifikasikan dalam sebuah dokumen konsep




·         Studi Kelayakan
Pengembangan sistem atau produk berbasis komputer lebih banyak terganggu dengan kurangnya sumber daya dan waktu penyelesaian dan penyampaian produk. Oleh karena itu, perlu dilakukan lebih awal evaluasi terhadap kelayakan sebuah proyek pengembangan sistem atau produk tersebut. Berikut ada empat studi kelayakan yang dapat dievaluasi.
1.      Kelayakan Ekonomis
Studi mengenai evaluasi biaya pengembangan dengan keuntungan yang diperoleh dari sistem atau produk yang dikembangkan.
2.      KelayakanTeknis
Studi mengenai fungsi, sasaran dan kinerja yang perlu dipertimbangkanyang dapat mempengaruhi kemampuan sistem yang akan dikembangkan.
Pertimbangan yang dihubungkan dengan kelayakan teknis meiputi
§  Resiko pengembangan
§  Keberadaaan sumber daya
§  Teknologi

·         Analisis Ekonomis
Analisis biaya dan keuntungan merupakan salah satu informasi analisa ekonomis yang paling penting yang diisikan dalam studi kelayakan. Analisis biaya dan keuntungan menggambarkan biaya pengembangan proyek dan membandingkannya dengan keuntungan yang akan diperoleh dari pengembangan sistem.
Analisis biaya dan keuntungan berbeda antara sistem yang satu dengan yang lainnya tergantung dari karakteristik dari sistem yang akan dikembangkan dan ukuran proyek. Keuntungan yang diperoleh dari pengembangan sistem tidak hanya berupa hal yang bisa diukur. Keuntungan yang tidak bisa diperoleh dari pengembangan proyek seperti kepuasan pelanggan, keputusan bisnis yang lebih baik, kualitas desain yang lebih baik dan lainnya.
Hasil dari analisa ekonomi didokumentasikan menjadi satu dalam dokumen studi kelayakan

·         Analisis Teknis
Pada aktivitas analisis teknis, seorang analis melakukan evaluasi secara teknisterhadap sistem serta mengumpulkan informasi mengenai reliabilitas, kinerja, pemeliharaan dan produktifitas dari sistem yang akan dikembangkan. Analisis meliputi penilaian viabilitas teknis dari sistem seperti teknologi apa yang akan dibutuhkan untuk membangun sistem, materi, metode, algoritma atau proses baru apa yang diperlukan oleh sisem, bagaimana masalah teknologi mempengaruhi sistem dan bagaimana resiko pengembangan sistem. Pemodelan matematis atau teknik optimasi pada saat analisis teknis dapat digunakan untuk mempermudah analis dalam menggambarkan sistem yang akan dikembangkan. Menurut Blanchard dan Fabrycky ada beberapa criteria penggunaan model selama analisis teknis pada sistem, yaitu:
§  Model harus mewakili sistem yang sedang dievalusi dengan cara yang sederhana dan mudah dipahami.
§  Model harus menggambarkan faktor-faktor yang relevan dengan masalah yang ada dan hindari faktor yang tidak penting.
§  Model harus dibuat komprehensif dengan memasukkan semua factor yang relevan dan sistem harus mampu memberikan hasil yang sama.
§  Desain   model   harus   sederhana   supaya   memungkinkan pengimplementasian yang tepat waktu dalam pemecahan masalah.
§  Desain model harus dapat mengantisipasi faktor-faktor yang memungkinkan adanya modifikasi dan atau perluasan terjadi pada sistem.
Hasil dari analisis teknis meruapakan dasar apakah pengembangan sebuah sistem akan diteruskan atau dihentikan.

A.5 Pemodelan Arsitektur Sistem
                Setiap sistem berbasis komputer dapat dimodelkan sebagai sebuah pemindahan informasi dengan menggunakan arsitektur input-pemrosesan-output. Pemodelan Arsitektur Sistem memperluas arsitektur ini dengan menambahkan 2 fitur tambahan yaitu pemrosesan antarmuka pemakai dan pemrosesan self-test. Meskipun dua fitur tambahan ini tidak selalu dipakai tetapi fitur tambahan ini umum dipakai pada pemodelan sistem berbasis komputer yang membuat model sistem menjadi lebih baik. Model sistem ini menjadi dasar bagi analisis kebutuhan dan langkah desain selanjutnya.
Untuk memodelkan sistem maka digunakan model template arsitektur yang mengalokasikan elemen sistem menjadi 5 bagian pemrosesan yaitu

1.      antarmuka pemakai,
2.      input
3.      fungsi dan kontrol sistem,
4.      output dan
5.      pemeliharaan dan self-test.
6.     
Gambar 3.3 Template Arsitektur Sistem

Seperti halnya pemodelan pada rekayasa sistem dan perangkat lunak, template arsitektur memungkinkan analis membuat herarki sistem secara detail. Diagram konteks arsitektur menggambar sistem pada level paling atas. Diagram konteks ini membangun batas informasi diantara sistem yang akan diimplementasikan dengan lingkungan dimana sistem akan dioperasikan.
Gambar 3.4 diagram konteks arsitektur untuk sistem pengurutan pembawa barang
pada bidang manufaktur

Dari diagram konteks diatas dapat saring kembali menjadi subsistem- subsistem atau modul-modul sistem dengan aliran informasi yang penting antar modul tersebut dengan menggunakan model diagram aliran arsitektur (architecture flow diagram). Diagram aliran arsitektur ini masih membagi pemrosesan sub sistem ke dalam lima elemen pemrosesn seperti diagram konteks arsitektur. Pada tingkat ini, masing-masing dari subsistem dapat berisi satu elemen sistem atau lebih (perangkat keras, perangkat lunak, manusia).
Gambar 3.5 Diagram aliran arsitektur untuk sistem pengurutan barang pada
barang manufaktur

Diagram aliran arsitektur yang awal menjadi puncak dari hirarki diagram aliran arsitektur. Masing-masing bujursangkar pada diagram aliran arsitektur dapat diperluas atau didetailkan lagi ke dalam template arsitektur yang lain.
Deskripsi naratif dari masing-masing subsistem dan definisi semua data yang mengalir pada diagram aliran arsitektur menjadi elemen penting dalam membuat spesifikasi sistem.
Gambar 3.6 Hirarki Diagram Aliran Arsitektur

3.1.  Pemodelan Sistem dan Simulasi
Meskipun demikian , sepertinya metode ini akan banyak penganutnya diantara pengembangan perangkat lunak yang harus membangun perangkat lunak yang kritis untuk keselamatan (misal perangkat medis, dan penerbangan pesawat), serta diantara pengembangan yang harus menderita karena factor ekonomis yang harus dialami oleh perangkat lunak.

3.2.  Spesikasi Sistem
Spesifikasi sistem merupakan dokumen yang berfungsi menggambarkan fungsi dan kinerja sistem berbasis komputer yang akan dikembangkan, membatasi elemen-elemen sistem yang telah dialokasikan, serta memberikan indikasi mengenai perangkat lunak dan konteks sistem keseluruhan dan informasi data dan kontrol yang dimasukkan dan dikeluarkan oleh sistem yang telah digambarkan dalam diagram aliran arsitektur.

Senin, 11 Maret 2013

RPL ( "Rekayasa Perangkat Lunak" )


                                        بِسْمِ اللهِ الرَّحْمنِ الرَّحِيمِ

Pengertian dari Perangkat Lunak adalah kumpulan beberapa perintah komputer yang dieksekusi oleh mesin komputer dalam menjalankan pekerjaannya yaitu memproses informasi. perangkat lunak ini merupakan catatan bagi mesin komputer untuk menyimpan perintah, maupun dokumen serta arsip lainnya. Perangkat lunak tidak dapat disentuh dan dilihat secara fisik, software memang tidak tampak secara fisik dan tidak berwujud benda tapi bisa di operasikan.

Pengertian Rekayasa Perangkat Lunak (RPL) adalah aplikasi ilmu komputer untuk membangun sistem perangkat lunak praktis yang membahas semua aspek produksi perangkat lunak, mulai dari tahap awal yaitu analisa kebutuhan pengguna, menentukan spesifikasi dari kebutuhan pengguna, disain, pengkodean, pengujian sampai pemeliharaan sistem setelah digunakan.jadi RPL merupakan data elektronik yang disimpan sedemikian rupa oleh komputer itu sendiri, data yang disimpan ini dapat berupa program atau instruksi yang akan dijalankan oleh perintah, maupun catatan-catatan yang diperlukan oleh komputer untuk menjalankan perintah yang dijalankannya. Jadi perangkat lunak itu dapat berupa program atau prosedur


Berikut Pengertian Rekayasa Perangkat Lunak menurut para ahli ::
1. Menurut Stephen R. Schach
Rekayasa perangkat lunak adalah sebuah disiplin dimana dalam menghasilkan perangkat lunak bebas dari kesalahan dan dalam pengiriman anggaran tepat waktu serta memuaskan keinginan pemakai.

2. Menurut Fritz Bauer
Rekayasa perangkat lunak adalah penetapan dan penggunaan prinsip rekayasa dalam rangka memperoleh perangkat lunak yang dapat dipercaya dan dapat bekerja secara efisien pada mesin nyata.

3. Menurut IEEE 610.12
Rekayasa perangkat lunak adalah sebuah studi pendekatan dan aplikasi secara sistematis, disiplin pengembangan operasi dan pemeliharaan perangkat lunak yang kesemuanya itu merupakan aplikasi rekayasa yang berkaitan dengan perangkat lunak.

Pengertian yang diberikan Stephen R.Schach mengacu pada hal-hal yang inging dicapai pada Software Crisis, yaitu: tepat waktu, sesuai budget, berkualitas (bebas dari kesalahan), dan sesuai keinginan pemakai.
Fritz Bauer tidak mengartikan Software Engineering sesederhana Stephen R.Schach. Rekayasa peraknkat lunak merupakan sebuah cara untuk mendapatkan Software yang ekonomis dan dapat serta efisien bila diterapkan pada mesin nyata.
Pengertian yang diberikan standar IEEE 610.12 lebih mengarah pada konsep perangkat lunak.
Dari ketiga pengertian tersebut, arti yang diberikan Fritz Bauer sangat sesuai dengan tujuan dan sasaran dari rekayasa perangkat lunak. Pernytaan Stephen R.Schach terbatas pada menanggulangi kekurangan yang terjadi jika tidak menerapkan rekayasa penrngkat lunak. Pengertian yang diberikan IEEE 610.12 paling baik dalam menyampaikan wujud dari rekayasa perangkat lunak.
Rekayasa perangkat lunak merupakan ilmu yang penting untuk diperdalam karena teknologi ini memberikan stabolitas, kontrol, dan organisasi aktifitas yang jika tidak terkontrol dapat menjadi sangat kacau.

Latar Belakang muncul-nya Rekayasa Perangkat Lunak ::
Munculnya software engineering terjadi ketika adanya krisis software di era tahun 1960-an. Krisis ini terjadi akibat lahirnya komputer generasi ke III yang ditandai dengan penggunaan IC (Integrated Circuit). Kemampuan hardware yang meningkat, membuat adanya kebutuhan untuk memproduksi software yang lebih baik. Akibatnya software yang dihasilkan pada saat itu menjadi beberapa kali lebih besar dan kompleks. Pendekatan informal yang digunakan dalam pengembangan perangkat lunak, menjadi tidak cukup efektif (secara biaya, waktu dan kualitas). Biaya hardware mulai jatuh dan biaya perangkat lunak malah menjadi naik secara cepat. Oleh karena itu muncullah pemikiran untuk menggunakan pendekatan yang lebih efektif, standar dan terukur dalam mengembangan perangkat lunak.
Faktor yang melatarbelakangi adanya rekayasa perangkat lunak ::
a. Ketidakmampuan organisasi memprediksi waktu, usaha dan biaya untuk membangun perangkat lunak.
b. Perubahan nisbah/rasio biaya perangkat keras terhadap harga perangkat lunak
c. Kemajuan pesat perangkat keras
d. Kemajuan dalam teknik-teknik pembuatan perangkat lunak
e. Tuntutan yang lebih tinggi terhadap jumlah perangkat lunak
f. Tuntutan yang lebih tinggi terhadap mutu perangkat lunak
g. Meningkatnya peran pemeliharaan.



 Berikut adalah jenis - jenis Rekaya Perangkat Lunak ::
  1. Perangkat Lunak Sistem (Sistem Software)
    Sekumpulan program yang ditulis untuk kepentingan program lain, contoh editor,driver dan lain-lain
  2. Perangkat Lunak Waktu Nyata (Real Time Software)
    Perangkat lunak yang digunakan untuk mengukur/menganalisis atau mengontrol proses pemasukan data dari lingkungan luar sampai menghasilkan laporan yang diinginkan
  3. Perangkat Lunak Bisnis (Business Software)
    Perangkat lunak yang memberikan fasilitas operasi untuk bisnis atau fasilitas pengambilan keputusan manajemen, contoh sistem akuntansi,inventory, payroll dan lain-lain
  4. Perangkat Lunak Rekayasa dan Sains (Engineering and Scientific Software)
    Perangkat lunak yang digunakan di dalam bidang aplikasi teknik dan kerekayasaan Perangkat lunak jenis ini biasanya berhubungan dengan komputasi data numerik, CAD (Computer Aided Design), simulasi sistem, dan lain-lain.
  5. Embedded Software
    Perangkat lunak yang digunakan untuk mengontrol suatu produk dan sistem dimana perangkat lunak tersebut disimpan. Biasanya ditempatkan di ROM, contoh Tombol di Microwave Oven
  6. Perangkat Lunak Komputer Pribadi (Personal Computer Software)
    Banyak digunakan pada aplikasi yang bersifat perorangan, contohnya :pengolah kata, spreadsheet, game, DBMS dan lain-lain.
  7. Perangkat Lunak Intelegensia Buatan (Artificial Intelligent Software) Dibuat dengan menggunakan teknik algoritma non-numerik untuk memecahkan masalah yang kompleks, digunakan dalam bidang aplikasi kecerdasan buatan, contohnya : game, expert sistem, neural network, Turbo Prolog, dan lain-lain dan masih banyak lagi yg  lainnya. 
Tujuan Rekayasa Perangkat Lunak
Menghasilkan sebuah perangkat lunak yang berkualitas. Yang dimaksud dengan
berkualitas dapat dilihat dari tiga sisi, sisi sponsor (individu atau organisasi yang telah
mengeluarkan biaya dalam pembangunan perangkat lunak), sisi pemakai (siapapun
yang menggunakan perangkat lunak tersebut), sisi maintainer / modifier (yang
memelihara dan memodifikasi perangkat lunak tersebut) dengan biaya yang efisien
dan tepat pada waktunya.
Untuk lebih jelasnya lihat gambar 1.1.

image Gambar 1.1 Paremeter Perangkat Lunak Yang Berkualitas Berdasarkan Sudut Pandang
\
Sisi Sponsor :
Tujuan utama sponsor adalah menghasilkan dan atau menghemat uang. Sponsor
ingin menggunakan perangkat lunak tersebut untuk meningkatkan produktivitas
organisasi. Sponsor mengharapkan untuk dapat menghasilkan sebuah layanan
dengan biaya yang rendah tetapi masuk akal. Karena itu sistem yang dibuat
harus handal, fleksibel dan efisien. Selain itu biaya dari pemeliharaan,
modifikasi dan peningkatan dari sistem tersebut harus serendah mungkin.
Sisi Pemakai :
Bagi pemakai perangkat lunak adalah alat untuk membantu menyelesaikan
tugas-tugasnya. Karena itu perangkat lunak harus menyediakan fungsi-fungsi
yang dibutuhkan oleh pemakai. Perangkat lunak juga harus handal dan efisien,
perangkat lunak harus dapat menghasilkan output yang konsisten. Selain itu
pemakai harus merasa perangkat lunak yang dibuat mudah untuk dipelajari,
mudah digunakan dan mudah untuk diingat.
Sisi Maintainer/modifier :
Perangkat lunak tersebut memiliki sangat sedikit error pada saat penginstallan
pertama (catatan : sangat kecil kemungkinannya untuk menghasilkan perangkat
lunak yang 100 % bebas dari bug). Selain itu perangkat lunak tersebut harus
terdokumentasi dengan baik. Source code juga harus mudah dibaca, terstruktur
dan dirancang dengan baik dan bersifat modular.


Demikian sekilas tentang RPL mohon maaf mungkin ada tulisan atau pengertian yg anda cari kurang atau tidak ada Terima Kasih sudah mau luangin waktunya untuk mampir diBlog ini Semoga Bermanfaat dan Berfaedah :D

#Amin