Kamis, Januari 09, 2014

rekayasa perangkat lunak

Definisi Perangkat Lunak 

 merupakan program komputer yang berfungsi sebagai sarana interaksi antara pengguna dan perangkat keras. Selain itu dapat juga dikatakan sebagai ‘penterjemah’ perintah-perintah yang dijalankan pengguna komputer untuk diteruskan ke atau diproses oleh perangkat keras.

Perangkat Lunak seharusnya memberikan pengguna kebutuhan fungsionalitas dan unjuk kerja yang dapat :
Maintanability = Perangkat Lunak harus dapat memenuhi perubahan kebutuhan
Dependability = Perangkat Lunak harus dapat dipercaya
Efisiensi = Perangkat Lunak harus efisien dalam penggunaan sumber daya
Usability = Perangkat Lunak harus dapat digunakan sesuai dengan yang direncanakan

Macam-macam perangkat lunak :
Perangkat Lunak Sistem -> Merupakan software yang mengelola perangkat keras dan perangkat lunak yang digunakan komputer. Contoh : DOS, Macintosh, Windows, dll.
Perangkat Lunak Bahasa Pemograman -> Merupakan software yang berfungsi untuk membantu melakukan pembuatan program aplikasi komputer. Contoh : Visual Basic, C++, dll.
Perangkat Lunak Aplikasi -> Merupakan software yang berfungsi untuk membantu melakukan berbagai tugas perkantoran/aktivitas sehari-hari. Contoh : pengolah kata, pengolah gambar, lembar sebar, dll.

Model Konvensional Proses Perangkat Lunak . Terdapat 4 jenis model, antara lain :
  • Model aliran kerja (workflow) : Menunjukkan kegiatan pada proses bersama dengan input, output dan ketergantungannya. Merepresentasikan pekerjaan manusia.
  • Model aliran data (data flow) : Merepresentasikan proses sebagai suatu set kegiatan yang melakukan transformasi data. Menunjukkan bagaimana input ke proses, misalnya spesifikasi ditransformasi menjadi output, misalnya menjadi desain.
  • Model peran/aksi : Merepresentasikan peran orang yang terlibat pada perangkat lunak dan kegiatan yang menjadi tanggungjawab mereka.
  • Model air terjun (waterfall) : Mengambil kegiatan dasar seperti spesifikasi, pengembangan, validasi dan evolusi dan merepresentasikannya sebagai fase-fase proses yang berbeda seperti spesifikasi persyaratan, perancangan perangkat lunak, implementasi, pengujian dan seterusnya.

Pengertian Rekayasa Perangkat Lunak atau Software Engineering
Istilah Rekayasa Perangkat Lunak (RPL) secara umum sebagai terjemahan dari istilah Software Engineering. Istilah Software Engineering dipopulerkan tahun 1968 pada Sofware Engineering Conference yang diselenggarakan oleh NATO. Sebagian orang mengartikan RPL hanya sebatas pada bagaimana membuat program komputer. Padahal ada perbedaan yang mendasar antara perangkat lunak (software) dan program komputer.

Perangkat lunak adalah seluruh perintah yang digunakan untuk memproses informasi. Perangkat lunak dapat berupa program atau prosedur. Program adalah kumpulan perintah yang dimengerti oleh komputer sedangkan prosedur adalah perintah yang dibutuhkan oleh pengguna dalam memproses informasi (O’ Brien, 1999). Pengertian RPL sendiri adalah sebagai berikut :
Suatu disiplin Ilmu yang membahas semua aspek produksi perangkat lunak, mulai dari tahap awal yaitu analisa kebutuhan pengguna, menentukan spesifikasi dari kebutuhan pengguna, desain, pengkodean, pengujian sampai memelihara system setelah digunakan.
Jelaslah bahwa RPL tidak hanya berhubungan dengan cara pembuatan program komputer. Pernyataan “semua aspek produksi” pada pengertian diatas, mempunyai arti semua hal yang berhubungan dengan proses produksi seperti manajemen proyek, penentuan personil, anggaran biaya, metode, jadwal, kualitas sampai dengan pelatihan pengguna merupakan bagian dari RPL.

Tujuan Rekayasa Perangkat Lunak :
Gambar Tujuan RPL

Secara lebih khusus kita dapat menyatakan tujuan 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


·         Sofware 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 konfigurasi perangkat 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 dan metode 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

Setelah mempelajari Rekayasa Perangkat Lunak mahasiswa diharapkan mampu :
Memahami karakteristik umum model proses dalam rekayasa perangkat lunak
Menyebutkan beberapa model rekayasa perangkat lunak
Mengetahui prinsip-prinsip dari metode waterfall, prototyping dan univied process

Memahami tahapan-tahapan dalam rekayasa Perangkat Lunak

RPL telah memiliki sejarah yang cukup panjang, arah perkembangan yang saat ini sedang dikembangkan antara lain meliputi :

Metode Rekayasa Perangkat Lunak :
Deskripsi Model -> Deskripsi pemodelan dengan grafik
Aturan -> Batasa yang digunakan pada model sistem
Rekomendasi -> Saran dalam membentuk perancangan yang baik
Petunjuk Proses -> Aktifitas yang harus diikuti

Ada 4 kegiatan/aktivitas pada proses perangkat lunak :
  1. ·         Spesifikasi Perangkat Lunak : Fungsionalitas perangkat lunak dan batasan kemampuasn operasinya harus didefinisikan
  2. ·         Pengembangan (Perancangan dan Implementasi) Perangkat Lunak : Perangkat lunak yang memenuhi spesifikasi harus diproduksi
  3. ·         Validasi Perangkat Lunak : Perangkat Lunak harus divalidasi untuk menjamin bahwa perangkat lunak melakukan apa yang diinginkan oleh pelanggan
  4. ·         Evolusi Perangkat Lunak : Perangkat Lunak harus berkembang untuk memenuhi kebutuhan pelanggan

Rancangan Pemodelan Logis

  • Use Case Diagram
 
  • ·         Class Diagram

  • ·         Statechart Diagram 
  •         Activity Diagram
  • ·         Sequence Diagram




Metode Pengembangan Perangkat Lunak - Evolusioner

Kali ini saya akan membahas mengenai metode pengembangan perangkat lunak model evolusioner. sebenarnya metode ini bisa di pisah menjadi 2 metode, tetapi beberapa referensi yang saya dapat menyatakan bahwa metode spiral dan incremental masuk ke dalam metode evolusioner. saya tidak akan membahas mengenai perbedaan kesepakan tetapi saya akan menjelaskan sedikit mengenai metode tersebut. Metode pengembangan perangkat lunak model evolusioner adalah model iterative, ditandai dengan tingkah laku yang memungkinkan perekayasa perangkat lunak mengembangkan versi perangkat lunak yang lebih lengkap sedikit demi sedikit. Kebutuhan produk dan bisnis kadang-kadang berubah seiring dengan laju perkembanganya. Dalam situasi tersebut maupun lainya, perekayasa perangkat lunak membutuhkan sebuah model proses yang sudah dirancang secara eksplisit untuk mengakomodasi perkembangan produk sepanjang waktu. Model ini bukan termasuk metode pengembangan perangkat lunak klasik. Model evolusioner meliputi :

A.    Model pertambahan

Metode pengembangan perangkat lunak secara incremental menggabungkan elemen-elemen model sekuensial linier (diaplikasikan secara berulang) dengan filosofi prototype iterative. Model ini memakai urutan-urutan linier di dalam model yang membingungkan, seiring dengan laju waktu kalender. Setiap urutan linier menghasilkan pertambahan, perangkat lunak “yang bisa disampaikan.” Contoh, perangkat lunak pengolah kata yang dikembangkan dengan menggunakan paradigm pertambahan akan menyampaikan manajemen file, editing, serta fungsi penghasilan dokumen pada pertambahan pertama, dan selanjutnya. Pertambahan pertama dapat disebut sebagai produk inti (core product).
Model ini berfokus pada penyampaian produk operasional dalam Setiap pertambahanya. Pertambahan awal ada di versi stripped down dari produk akhir, tetapi memberikan kemampuan untuk melayani pemakai dan juga menyediakan platform untuk evaluasi oleh pemakai.
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjzaLstKfHhM2kqNx1dPiHM6ZrpDMZMtIOmZbXCjswxaskeZ6r_k_orJe9877Xsee5chiJ0ONe7hZ3Fmzfd7zO6gAeTMOplebBdYD1drojS73eVsU46n1NQZrtEvbq5bqSUjn_auRTqpMw/s1600/metode-pengembangan-perangkat-lunak-incremental.jpg
Gb. Model Incremental

Perkembangan pertambahan, khususnya berguna pada staffing, tidak bisa dilakukan menggunakan implementasi lengkap oleh batas waktu bisnis yang sudah disepakati untuk proyek tersebut. jika produk inti diterima dengan baik, maka staf tambahan bisa ditambahkan untuk mengimplementasi pertambahan selanjutnya.

B.    Model spiral

https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEge9eIU5yT__ZSbco6mEJTlccYqL5bUqLryGubyt6W74oIcCnozsfKBDO383fNKBeVSim_mHgEqk0BwoOdy5Z-6OcLLIbuzarTJ4fl-1QRJvqFQSEyRkImVJaTEQDjPDWXcdQ0uou-WO8U/s1600/metode-pengembangan-perangkat-lunak-spiral.jpg

Awalnya diusulkan oleh Boehm (BOE88), adalah metode pengembangan perangkat lunak yang evolusioner, merangkai sifat iterative dari prototype dengan cara control dan aspek sistematis dari model sekuensial linier. Model yang berpotensi untuk pengembangan versi pertambahan perangkat lunak secara cepat. Model spiral dibagi menjadi sejumlah aktifitas kerangka kerja atau wilayah tugas, antara lain :


  • Komunikasi pelanggan, tugas-tugas yang dibutuhkan untuk membangun komunikasi yang efektif diantara pengembang dan pelanggan.
  • Perencanaan, tugas-tugas yang dibutuhkan untuk mendefinisikan sumber-sumber daya, ketepatan waktu, dan proyek informasi lain yang berhubungan.
  • Analisis resiko, tugas-tugas yang dibutuhkan untuk menaksir resiko-resiko, baik manajemen maupun teknis.
  • Perekayasaan, tugas-tugas yang dibutuhkan untuk membangun satu atau lebih representasi dari aplikasi tersebut.
  • Konstruksi dan peluncuran, tugas-tugas yang dibutuhkan untuk mengkonstruksi, menguji, memasang (instal), dan memberikan pelayanan kepada pemakai (contohnya pelatihan dan dokumentasi) 
  • Evaluasi pelanggan, tugas-tugas untuk memperoleh umpan balik dari pelanggan dengan didasarkan pada evaluasi representasi perangkat lunak, yang dibuat selama masa perekayasaan, dan dimplementasikan selama masa pemasangan.
Metode pengembangan perangkat lunak spiral menjadi pendekatan yang realistis bagi perkembangan system dan perangkat lunak skala besar. Karena perangkat lunak terus bekerja  selama proses bergerak, pengembang dan pemakai memahami, dan bereaksi lebih baik terhadap resiko dari Setiap tingkat evolusi. Model spiral menggunakan prototype sebagai mekanisme pengurangan resiko.

Model spiral membutuhkan keahlian penafsiran resiko yang masuk akal, dan sangat bertumpu pada keahlian ini untuk mencapai keberhasilan. Jika sebuah resiko tidak dapat ditemukan dan diatur, pasti akan terjadi masalah. Model ini membutuhkan waktu bertahun-tahun sampai kehandalannya bisa dipertimbangkan dengan kepastian absolute.

Metode Pengembangan Perangkat Lunak - Evolusioner

Model ini menggabungkan beberapa karakteristik model spiral. Bersifat evolusioner, sehingga membutuhkan pendekatan iterative untuk menciptakan perangkat lunak. Tetapi model ini merangkai aplikasi dari komponen perangkat lunak sebelum dipaketkan (kadang disebut kelas). 
Aktivitas pengembangan perangkat lunak dimulai dengan  identifikasi calon kelas. Dipenuhi dengan mengamati data yang akan dimanipulasi oleh aplikasi dan algoritma-algoritma yang akan diaplikasikan. Data dan algoritma yang berhubungan dikemas ke dalam kelas. Kelas-kelas tersebut disimpan dalam class library (tempat penyimpanan).

Model ini membawa pada penggunaan kembali perangkat lunak, dan kegunaan kembali itu memberi sejumlah keuntungan yang bisa diukur pada pengembangan perangkat lunak.

Metode Pengembangan Perangkat Lunak (RAD)

https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzAgTHgUNgLrsyeeCiDOdLwzqB_4nZFVvAO6wP4b9SaQxe8KVJdAwZJpuSlkc2MRK_EaQOo0lDAQLZ8OxtPf7BZvd49LSzx9lGcXf-7Hvo9YDacjArMyRnTYm2gjMUdiSf-R474eAJ_yQ/s1600/pengembangan-perangkat-lunak-metode-RAD.jpg

Metode Pengembangan Perangkat Lunak (RAD)

Metode pengembangan perangkat lunak yang akan saya bahas adalah model raid aplication development atau yang biasa disebut dengan metode RAD, Metode ini di dalam pengembangannya menggunakan semua sumberdaya yang ada dengan tujuan pengembangan perangkat lunak yang sangat cepat dan singkat.  Dan boleh dikatakan ini merupakan model pengembangan perangkat lunak secara linear sequential yang menekankan pada siklus pengembangan yang sangat singkat atau pendek. Jika kebutuhan dipahami dengan baik, proses metode pengembangan perangkat lunak RAD memungkinkan tim pengembangan menciptakan “sistem fungsional yang utuh” dalam periode waktu yang sangat pendek (kira-kira 60-90 hari). Pendekatan RAD model menekankan cakupan :

a.     Pemodelan bisnis (Bussiness Modelling)

Aliran informasi diantara fungsi-fungsi bisnis dimodelkan dengan suatu cara untuk menjawab pertanyaan-pertanyaan berikut : Informasi apa yang mengendalikan proses bisnis ? Kemana informasi itu pergi? Siapa yang memprosesnya ?

b.    Pemodelan data (Data Modelling)

Aliran informasi yang didefinisikan sebagai bagian dari fase pemodelan bisnis disaring ke dalam serangkaian objek data yang dibutuhkan untuk menopang bisnis tersebut. Karakteristik/attribut dari masing-masing objek diidentifikasi dan hubungan antara objek-objek tersebut didefinisikan.

c.     Pemodelan proses (Process Modelling)

Aliran informasi yang didefinisikan dalam fase pemodelan data ditransformasikan untuk mencapai aliran informasi yang perlu bagi implementasi sebuah fungsi bisnis. Gambaran pemrosesan diciptakan untuk menambah, memodifikasi, menghapus atau mendapatkan kembali sebuah objek data.

d.    Pembuatan aplikasi (Application generation)

Selain menciptakan perangkat lunak dengan menggunakan bahasa pemrograman generasi ketiga yang konvensional, metode pengembangan perangkat lunak RAD lebih banyak memproses kerja untuk memakai lagi komponen program yang telah ada atau menciptakan komponen yang bisa dipakai lagi. Pada semua kasus, alat-alat Bantu otomatis dipakai untuk memfasilitasi kontruksi perangkat lunak.

e.    Pengujian dan pergantian (Testing and turnover)

Karena proses metode pengembangan perangkat lunak RAD menekankan pada pemakaian kembali, banyak komponen yang telah diuji. Hal ini mengurangi keseluruhan waktu pengujian. Tapi komponen baru harus diuji
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0JIyZPPJTv6N-PAabVjET-60yRLF0Ibd9qoBFoX8a89MkxdRKMunb4VJv0kdAkZ5OoOBU-M0eCQtCWdLh8GPK9vTvHZx6FUjbYDdag16xYDaUNQowouYyYCKdSusd5LXmmseRbFI81Ok/s1600/model-pengembangan-rad.GIF

Metode Pengembangan Perangkat Lunak (RAD)

Kelemahan model  RAD :
  1. Untuk proyek dengan skala besar, metode pengembangan perangkat lunak RAD membutuhkan sumber daya manusia yang cukup untuk membentuk sejumlah tim RAD yang baik.
  2. Metode pengembangan perangkat lunak RAD membutuhkan pengembang dan pemakai yang mempunyai komitmen dalam aktivitas rapid-fire untuk melaksanakan aktivitas melengkapi sistem dalam kerangka waktu yang singkat. Jika komitmen tersebut tidak ada, proyek RAD gagal.
  3. Tidak semua aplikasi sesuai untuk metode pengembangan perangkat lunak RAD.bila sistem tidak dapat dimodulkan dengan teratur, pembangunan komponen penting pada RAD akan menjadi sangat problematic. RAD menjadi tidak sesuai jika risiko teknisnya tinggi.

METODE PENGEMBANGAN PERANGKAT LUNAK (Prototype)

https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiPDFgg9bXTi_gIp9McjRDtxoi-OpNz_0HEjUXDyxLVpqNNuWVqgDZPbZaGOFBI1qe8XpoUbeM_N_43n93BrTBG-MhPru2HoFG1dvpMFjdl1SeF1m5hBXiLxCrLwtdUNfkmvlPvIko8rWc/s1600/pengembangan-perangkat-lunak-prototype.jpg

Metode Pengembangan Perangkat Lunak (Prototype)

Metode pengembangan perangkat lunak yang akan saya bahas adalah model prototype, seperti tulisan yang sebelumnya yang membahas metode pengembangan perangkat lunak model sekuel linier. Metode ini memiliki 3 unsur yang perlu diperhatikan di dalam pengembangan perangkat lunak yaitu kebutuhan pelanggan, pembuatan pasar atau market dan uji coba kebutuhan pasar. Secara garis besar dapat terlihat pada gambar berikut ini

https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjApt8n2B2bLc3JARhcw3JSefol5YaYax_X0Rfk7HljXYR5rNywnTVHPcNWvbrKtTSVnJdP-rPOb8tFKFPFvwmsddwf9msMAithzFKTdb6EYOUM8Agcq3fE6XYrvFobv5UW5LoqIopowKU/s1600/metode-pengembangan-perangkat-lunak-prototype.JPG

Metode Prototyping sebagai suatu paradigma baru dalam metode pengembangan perangkat lunak dimana metode ini tidak hanya sekedar evolusi dalam dunia pengembangan perangkat lunak tetapi juga merevolusi mwtode pengembangan perangkat lunak yang lama yaitu sistem sekuensial yang biasa dikenal dengan nama SDLC. Metode Prototype merupakan metode pengembangan perangkat lunak yang memodelkan dari sistem kerja suatu perangkat lunak yang belum lengkap dari pihak user. Para pengembang perangkat lunak melakukan koordinasi dan pertemuan-pertemuan yang secara intensif dengan user guna menampung informasi yang akan dijadikan dasar dalam perancangan perangkat lunak. Prototype dari perangkat lunak yang dihasilkan kemudian dipresentasikan kepada  dan user diberikan kesempatan untuk memberikan masukan masukan sehingga perangkat lunak yang dihasilkan nantinya betul-betul sesuai dengan keinginan dan kebutuhan user.

Perubahan dan presentasi prototype ini dapat dilakukan berkali-kali sampai dicapai kesepakatan bentuk perangkat lunak yang akan dipakai

Metode Pengembangan Perangkat Lunak (Prototype)

Metode pengembangan perangkat lunak ini dimulai dengan pengumpulan kebutuhan. Pendekatan prototyping model digunakan jika pemakai hanya mendefenisikan secara umum dari perangkat lunak tanpa merinci kebutuhan input, pemrosesan dan outputnya, sementara pengembang tidak begitu yakin akan efisiensi algoritma, adaptasi sistem operasi, atau bentuk antarmuka manusia-mesin yang harus diambil. Cakupan aktivitas dari prototyping model terdiri dari :
  1. Mendefinisikan objektif secara keseluruhan dan mengidentifikasi kebutuhan yang sudah diketahui.
  2. Melakukan perancangan secara cepat sebagai dasar untuk membuat prototype.
  3. Menguji coba dan mengevaluasi prototype dan kemudian melakukan penambahan dan perbaikan-perbaikan terhadap prototype yang sudah dibuat.
secara ideal prototype berfungsi sebagai sebuah mekanisme untuk mengidentifikasi kebutuhan perangkat lunak. Bila prototype yang sedang bekerja dibangun, pengembang harus menggunakan fragmen-fragmen program yang ada atau mengaplikasikan alat-alat bantu (contoh: window manager, dsb) yang memungkinkan program yang bekerja agar dimunculkan secara cepat.

Kelemahan prototyping model :
  1. Pelanggan yang melihat working version dari model yang dimintanya tidak menyadari, bahwa mungkin saja prototype dibuat terburu-buru dan rancangan tidak tersusun dengan baik
  2. Pengembang kadang-kadang membuat implementasi sembarang, karena ingin working version bekerja dengan cepat.
Metode pengembangan perangkat lunak model prototype dirancang agar dapat menerima perubahan-perubahan dalam rangka menyempurnakan protitype yang sudah ada sehingga pada akhirnya dapat menghasilkan perangkat lunak yang dapat diterima dan perubahan-perubahan yang terjadi dapat dianggap merupakan bagian dari proses pengembangan itu sendiri.


Kesalahan dalam pembuatan DAD:
1.       Entitas mengirim aliran data pada entitas
Seharusnya
2.       Proses memiliki input saja/black hole
Seharusnya
3.       Proses memiliki output saja
Seharusnya
4.       Entitas mengakses langsung dta storage
Seharusnya
5.       Data storage mengirim data pada data storage
Seharusnya

 










1.       Diagram siatem informasi penggajian





2.       Kasus pemesanan kereta api on line
DAD level 0 sistem informasi pemesanan kereta api online
DAD level 1 sistem pemesanan kereta api online
3.       Kasus Pemesanan baju online

DAD level 0 Pemesanan baju online
DAD level 1 pemesanan baju online














Kesimpulan RPL :
·         Perangkat lunak adalah seluruh perintah yang digunakan untuk memproses informasi
·         Program adalah kumpulan perintah yang dimengerti oleh komputer
·         Prosedur adalah perintah yang dibutuhkan oleh pengguna dalam memproses informasi
·         RPL adalah suati disiplin ilmu yang membahas semua aspek produksi perangkat lunak, mulai dari tahap awal yaitu analisa kebutuhan pengguna, menentukan spesifikasi dari kebutuhan pengguna, desain, pengkodean, pengujian sampai pemeliharaan sistem setelah digunakan
·         Tujuan RPL adalah menghasilkan perangkat lunak dengan kinerka tinggi, tepat waktu, berbiaya rendah dan multiplatform
·         RPL merupakan sub bidang ilmu komputer yang dalam penerapannya membutuhkan dukungan baik dari sub bidang ilmu komputer lainnya maupun bidang-bidang ilmu lain
·         Sertifikasi untuk bidang RPL belum tersedia namun mengacu pada bidang Programmer
·         Masalah (problem) adalah perbedaan antara kondisi yang terjadi dan kondisi yang diharapkan dan gejala adalah tanda/petunjuk terjadinya suatu masalah
·         Model-model rekayasa perangkat lunak pada umumnya mengacu pada model proses pengembangan sistem yang disebut System Development Life Cycle (SDLC)
  • ·         Model pengembangan perangkat lunak yang sekarang umum digunakan adalah The Waterfall Model, Prototyping Model dan Unified Process (UP)