Langsung ke konten utama

Rekayasa Perangkat Lunak : Pengertian dan Model Proses Pengembangan










Rekayasa Perangkat Lunak atau Software Engineering adalah satu bidang profesi yang mendalami cara-cara pengembangan perangkat lunak termasuk pembuatan, pemeliharaan, manajemen organisasi pengembanganan perangkat lunak dan manajemen kualitas.


Menurut Roger S. Pressman (2005)
Perangkat lunak adalah sebuah produk yang dibangun oleh Software Professional dan kemudian mendukung semua perangkat lunak dalam jangka waktu yang panjang.
Sehingga definisi perangkat lunak menurut Pressman (2005) adalah sebagai berikut :
  1. Instruksi-instruksi
    Yang bila dijalankan akan memberikan ciri-ciri, fungsi, dan kinerja yang
  2. Struktur Data
    Yang memungkinkan program tersebut mampu memanipulasi suatu informasi.
  3. Dokumen-dokumen.
Perangkat lunak merupakan ilmu yang paling penting untuk diperdalam karena teknologi ini memberikan stabilitas, kontrol, dan organisasi aktifitas. Beberapa tujuan yang dilakukan rekayasa perangkat lunak antara lain:
  1. Untuk membangun software yang benar dan benar sebuah software (Right, Software and Software Right).
  2. Untuk membangun software yang tepat (Correct).
  3. Dikelola dengan baik untuk pemeliharaan kebenarannya (Correctness)

Model dan Proses Pengembangan Rekayasa Perangkat Lunak
A. Model Waterfall



Pada model Waterfall atau disebut model air terjun, ada beberapa fase yang harus kita terapkan, yaitu:
1. Analisis kebutuhan lalu pendefenisiannya
2. Perancangan Sistem dan Perangkat lunaknya
3. Implementasi dan unit testing
4. Integrasi dan pengujian sistem
5. Pengoprasian dan perawatan
Dimana sebuah proses akan kembali ke state sebelumnya agar tidak ada perubahan setelah proses menuju state di bawahnya sebab sangat sulit.
Setiap model pasti ada kekurangan dan kelebihan, dan berikut merupakan kekurangan dan kelebihan dari model Waterfall :
Kelebihan Model Waterfall:
  • Bisa digunakan jika suatu persyaratan untuk membuat suatu software sudah dipahami dengan baik dan sudah lengkap semua persyaratan yang ada.
Kekurangan Model Waterfall:
  • Terjadinya pembagian proyek menjadi tahap-tahap yang tidak fleksibel, karena komitmen harus dilakukan pada tahap awal proses.
  • Hal ini mengakibatkan sulitnya untuk merespon perubahan kebutuhan pengguna (user).
  • Model air terjun harus digunakan hanya ketika persyaratan dipahami dengan baik.
B. Model RAD
fase-fase-rad

Rapid Aplication Model (RAD) adalah sebuah proses perkembangan perangkat lunak sekuensial linier yang menekankan siklus perkembangan yang sangat pendek. Model RAD ini merupakan sebuah adaptasi “kecepatan tinggi” dari model sekuensial linier dimana perkembangan cepat dicapai dengan menggunakan pendekatan konstruksi berbasis komponen.
Kelebihan Penggunaan Model RAD
  • Dimungkinkan dalam proses pembuatan membutuhkan waktu yang sangat singkat (60-90 hari).
  • Menghemat biaya, karena penekannya adalah penggunaan komponen-komponen yang sudah ada.
  • RAD menggunakan kembali komponen-komponen yang sudah ada, maka beberapa komponen program sudah diuji sehingga kita dapat melakukan penghematan waktu dalam uji coba
Kekurangan Penggunaan Model RAD
Seperti semua proses model yang lain, pendekatan RAD memiliki kekurangan-kekurangan sebagi berikut :
  • Bagi proyek yang besar tetapi berskala, RAD memerlukan sumber daya manusia yang memadai untuk menciptakan jumlah tim RAD yang baik.
  • RAD menuntut pengembangan dan pelanggan yang memiliki komitmen di dalam aktifitas rapid-fire yang diperlukan untuk melengkapi sebuah sistem, di dalam kerangka waktu yang sangat diperpendek. Jika komitmen tersebut tidak ada, proyek RAD akan gagal. RAD menekankan perkembangan komponen program yang bisa dipakai kembali. Reusable menjadi batu pertama teknologi objek dan ditemui di dalam proses rakitan komponen
  • Tidak semua aplikasi sesuai untuk RAD. Bila sistem tidak dapat dimodulkan dengan teratur, pembangunan komponen penting pada RAD akan menjadi sangat problematis.
  • RAD menjadi tidak sesuai jika risiko teknisnya tinggi. Hal ini terjadi bila sebuah aplikasi baru memforsir teknologi baru atau bila perangkat lunak baru membutuhkan tingkat interoperabilitas yang tinggi dengan program komputer yang ada.

C. Model Prototyping
prototype model

Metode prototyping adalah sistem informasi yang menggambarkan hal-hal penting dari sistem informasi yang akan datang. Prototipe sistem informasi bukanlah merupakan sesuatu yang lengkap, tetapi sesuatu yang harus dimodifikasi kembali, dikembangkan, ditambahkan atau digabungkan dengan sistem informasi yang lain bila perlu.

Keunggulan Prototyping:
  1. user dapat berpartisipasi aktif
  2. Penentuan kebutuhan lebih mudah diwujudkan
  3. Mempersingkat waktu pengembangan SI
Kelemahan Prototyping :
  1. Proses analisis dan perancangan terlalu singkat
  2. Mengesampingkan alternatif pemecahan masalah
  3. Biasanya kurang fleksible dalam mengahadapi perubahan
  4. Prototype yang dihasilkan tidak selamanya mudah dirubah
  5. Prototype terlalu cepat selesai
D. Model Spiral

















  • Model ini cukup baru ditemukan,yaitu tahun 1988 oleh Barry Boehm. Spiral adalah salah satu bentuk evolusi yang menggunakan metode iterasi natural yang dimiliki oleh model prototyping dan digabungkan dengan aspek sistematis yang dikembangkan model waterfall.
    Kelebihan model Spiral :
    1.  Dapat disesuaikan agar perangkat lunak bisa dipakai selama hidup perangkat lunak komputer.
    2.  Lebih cocok untuk pengembangan sistem dan perangkat lunak skala besar
    3.  Pengembang dan pemakai dapat lebih mudah memahami dan bereaksi terhadap resiko setiap   tingkat evolusi karena perangkat lunak terus bekerja selama proses .
    Kelemahan model Spiral:
    1. Sulit untuk menyakinkan pelanggan bahwa pendekatan evolusioner ini bisa dikontrol.
    2. Memerlukan penaksiran resiko yang masuk akal dan akan menjadi masalah yang serius jika resiko mayor tidak ditemukan dan diatur.
    3. Butuh waktu lama untuk menerapkan paradigma ini menuju kepastian yang absolute
    E. Model Incremental

    Model Incremental dalam rekayasa perangkat lunak, menerapkan rekayasa perangkat lunak perbagian, hingga menghasilkan perangkat lunak yang lengkap.  Proses membangun berhenti jika produk telah mencapai seluruh fungsi yang diharapkan.
    Kelebihan Incremental :
    • Kebutuhan pengguna / customer dipenuhi pada setiap bagian yang selesai terlebih dahulu
    • Bagian yang selesai terlebih dahulu menjadi prototipe
    • Resiko rendah
    • Bagian yang punya prioritas tertinggi dapat dites secara intensive
    Kekurangan Incremental
    • Permasalahan
    • Batasan proses tidak jelas
    • Sistem kurang terstruktur
    • Kemampuan aplikasi
    • Untuk sistem dengan interaksi skala kecil dan medium
    • Untuk antarmuka user
    • Untuk sistem dengan masa penggunaan pendek
    F.  Rational Unified Process
    RUP Hump Chart

    Menggunakan konsep object oriented, dengan aktifitas yang berfokus padapengembangan model dengan menggunakan Unified Model Language (UML).
    Ada beberapa keuntungan dengan mengunakan RUP di antaranya :
    • Menyediakan akses yang mudah terhadap pengetahuan dasar bagi anggota tim.
    • Menyediakan petunjuk bagaimana menggunakan UML secara efektif.
    • Mendukung proses pengulangan dalam pengembangan software.
    • Memungkinkan adanya penambahan-penambahan pada proses.
    • Memungkinkan untuk secara sistematis mengontrol perubahan-perubahan yang terjadi pada software selama proses pengembangannya.
    • Memungkinkan untuk menjalankan test case dengan menggunakan Rational Test
    Kekurangan Pengembangan Perangkat Lunak RUP :
    • Metodologi ini hanya dapat digunakan pada pengembangan perangkat lunak yang berorientasi objek dengan berfokus pada UML (Unified Modeling Language)

    G.Agile Modeling
    Agile Modeling merupakan filosofi tentang bagaimana membangun model, dengan beberapa diantaranya dilakukan secara format dan terperinci dan yang lainnya dilakukan secara samar dan minim. Agile Software Development juga melihat pentingnya komunikasi antara anggota tim, antara orang-orang teknis dan businessmen, antara developer dan managernya. Ciri lain adalah klien menjadi bagian dari tim pembangun software.
    Kelebihan dari Agile Modeling:
    1. Meningkatkan kepuasan kepada klien
    2. Pembangunan system dibuat lebih cepat
    3. Mengurangi resiko kegagalan implementasi software dari segi non-teknis
    4. Jika pada saat pembangunan system terjadi kegagalan,kerugian dar segi materi relative kecil.
    Kelemahan dari Agile Modeling:
    Developer harus selalu siap dengan perubahan karena perubahan akan selalu diterima.

    H. Extreme Programming (XP) Model

    Extreme Programming (XP) adalah metode :
    • pengembangan perangkat lunak yang ringan dan termasuk salah satu agile methods yang dipelopori oleh Kent Beck, Ron Jeffries, dan Ward Cunningham.
    • XP merupakan agile methods yang paling banyak digunakan dan menjadi sebuah pendekatan yang sangat terkenal.
    • Sasaran XP adalah tim yang dibentuk berukuran antara kecil sampai medium saja, tidak perlu menggunakan sebuah tim yang besar. Hal ini dimaksudkan untuk menghadapi requirements yang tidak jelas maupun terjadinya perubahan-perubahan requirements yang sangat banyak.
    Keunggulan:
    • Menjalin komunikasi yang baik dengan klien. (Planning Phase)
    • Menurunkan biaya pengembangan (Implementation Phase)
    • Meningkatkan komunikasi dan sifat saling menghargai antar developer. (Implementation Phase)
    • XP merupkan metodologi yang semi formal. (Planning Phase)
    • Developer harus selalu siap dengan perubahan karena perubahan akan selalu diterima, atau dengan kata lain fleksibel. (Maintenance Phase)
    Kelemahan :
    • Tidak bisa membuat kode yang detail di awal (prinsip simplicity dan juga anjuran untuk melakukan apa yang diperlukan hari itu juga).XP juga memiliki keunggulan yang sekaligus menjadi kelemahannya, yaitu XP tidak memiliki dokumentasi formal yang dibuat selama pengembangan. Satu-satunya dokumentasi adalah dokumentasi awal yang dilakukan oleh user.
    I. Timeboxing Model
    Timeboxing Model
    Dalam model timeboxing, unit dasar dari pembangunan adalah kotak waktu, yang adalah jangka waktu yang tetap. Karena durasi adalah tetap, faktor kunci dalam memilih persyaratan atau fitur yang akan dibangun di kotak waktu yang bisa masuk ke dalam waktu box. Hal ini berbeda dengan pendekatan berulang biasa di mana fungsi dipilih dan kemudian waktu untuk memberikan ditentukan. Perubahan timeboxing perspektif pembangunan dan membuat jadwal non dinegosiasikan dan Komitmen prioritas tinggi.

    Referensi
    http://aryapramana.blogspot.com/2011/09/model-proses-rekayasa-perangkat-lunak.html
    http://www.bambanghariyanto.com/2012/06/pengertian-rekayasa-perangkat-lunak.html
    http://id.wikipedia.org/wiki/Rekayasa_perangkat_lunak
    http://libgen.org/book/index.php?md5=0FF209CD7C4B50F098448632D2152375
    http://kityyulia.blogspot.com/2013/02/pengertian-dan-tujuan-rpl.html
    EBook Roger S.Pressman__Software_Engineering.

    Komentar

    Postingan populer dari blog ini

    Apa itu Silicon Valley? Berikut Penjelasan dan Sejarah Singkatnya.

    Silicon Valley merupakan istilah yang banyak dikenal oleh kaum  technopreuneurship  maupun mereka yang sekadar mengamati perkembangan teknologi informasi. Lalu sebenarnya  apa itu Silicon Valley? Jika diterjemahkan Silicon Valley berarti lembah silikon. Tapi tentu saja tidak ada hal yang disebut dengan “lembah silikon”. Silicon Valley bukanlah nama daerah yang secara  de jure  terdaftar dalam administrasi negara. Silicon Valley hanyalah sebuah julukan yang mengacu pada kawasan di Amerika Serikat. Tepatnya daerah selatan San Fransisco, Bay Area, dan California. Kawasan ini dikenal sebagai kawasan yang melahirkan banyak industri teknologi. Bahkan kawasan ini dikenal sebagai jantungnya perusahaan teknologi dunia. Dari penjelasan tersebut, dapat dipahami bahwa Silicon Valley merupakan sebutan untuk sebuah kawasan teknologi. Jadi, jika nanti ada yang bertanya, “ apa itu Silicon Valley? ” maka tentu jawabannya adalah sebuah kawasan teknologi terkemuka yang melahirk...

    Bagaimana Membangun Startup Yang Bisa Menarik Hati Investor ? Sharing Oleh @AndyZain

    Artikel di bawah ini akan menjelaskan dan memberikan beberapa wawasan, tips, dan trik dalam menarik investor agar mereka yakin dan tertarik untuk berinvestasi dalam startup anda. Isi dari bahasan ini bersumber dari  startuplokal meetup  yang berlangsung pada tanggal 26 Juni lalu, dengan pembicara  Andy Zain . Andy menjelaskan berbagai alasan yang membuat investor itu bisa tertarik dengan startup anda, bagaimana membangun bisnis yang potensial sehingga investor bersedia menaruh sejumlah uang mereka dalam bisnis anda. Selamat membaca! “Siapa yang bilang bahwa membangun startup itu adalah hal yang mudah? Data menunjukkan bahwa 85 persen startup gagal hanya dalam 18 bulan,” ungkap Andy. Ia menekankan bahwa jika anda sudah tahu bahwa startup anda tidak bisa berjalan setidaknya enam bulan, lebih baik anda segera mengganti bisnis model, pivot, atau membangun startup yang baru lagi daripada menunggu 18 bulan lamanya hanya untuk menyadari bahwa bisnis anda tidak bisa berjalan...