Langsung ke konten utama

SOFTWARE PROCESS MODELS

Layer-layer pada Software Engineering:
1. Quality Focus Merupakan  dasar atau fondasi  yang mensupport Software Engineering. Karena tanpa sebuah kualitas yang kita tetapkan maka kita tidak akan tahu software seperti apa yang akan kita buat.
2. Process Proses merupakan dasar dimana terdapat: 
Komunikasi dengan klien untuk mengetahui spesifikasi software yang dia inginkan.
Perencanaan, Siapa saja yang terlibat dalam pembuatan software, Scheduling, dan pembagian tugas.
Modelling, dibuat model dari software yang akan kita buat supaya user dan developer mengerti software kita. Konstruksi, mulai coding dan testingnya. Deployment, Software yang sudah jadi di-deliver ke customer.
3. Methods
Pada Methods muncul pertanyaan “bagaimana” kita membuat  software, prosedur/fungsi apa saja yang dibutuhkan (pada Procedural Programming) atau behaviour apa saja yang dimiliki oleh sebuah objek tertentu (pada Object Oriented Programming).
4.Tools
Jelas terlihat, tanpa tools proses yang sudah direncanakan dan metode yang sudah ditentukan tidak akan bisa ter-realisasi. Tools itu adalah software apa yang akan kita gunakan untuk membuat software yang akan kita buat.

Linear SequentialModel/Waterfall Model
Model ini adalah model klasik yang bersifat sistematis, berurutan dalam membangun software. Berikut ini ada dua gambaran dari waterfall model.
Sekalipun keduanya menggunakan nama-nama fase yang berbeda, namun sama dalam intinya.
Fase-fase dalam Waterfall Model menurut referensi Pressman:

Fase-fase dalam Waterfall Model menurut referensi Sommerville :
 
  1. Requirements analysis and definition: Mengumpulkan kebutuhan secara lengkap kemudian kemudian dianalisis dan didefinisikan kebutuhan yang harus dipenuhi oleh program yang akan dibangun. Fase ini harus dikerjakan secara lengkap untuk bisa menghasilkan desain yang lengkap.
  2. System and software design: Desain dikerjakan setelah kebutuhan selesai dikumpulkan secara lengkap.
  3. Implementation and unit testing: desain program diterjemahkan ke dalam kode-kode dengan menggunakan bahasa pemrograman yang sudah ditentukan. Program yang dibangun langsung diuji baik secara unit.
  4. Integration and system testing: Penyatuan unit-unit program kemudian diuji secara keseluruhan (system testing).
  5. Operation and maintenance: mengoperasikan program dilingkungannya dan melakukan pemeliharaan, seperti penyesuaian atau perubahan karena adaptasi dengan situasi sebenarnya. Kekurangan yang utama dari model ini adalah kesulitan dalam mengakomodasi perubahan setelah proses dijalani. Fase sebelumnya harus lengkap dan selesai sebelum mengerjakan fase berikutnya.

 Masalah dengan waterfall :
  1. Perubahan sulit dilakukan karena sifatnya yang kaku.
  2. Karena sifat kakunya, model ini cocok ketika kebutuhan dikumpulkan secara lengkap sehingga perubahan bisa ditekan sekecil mungkin. Tapi pada kenyataannya jarang sekali konsumen/pengguna yang bisa memberikan kebutuhan secara lengkap, perubahan kebutuhan adalah sesuatu yang wajar terjadi.
  3. Waterfall pada umumnya digunakan untuk rekayasa sistem yang besar dimana proyek dikerjakan di beberapa tempat berbeda, dan dibagi menjadi beberapa bagian sub-proyek.
Evolutionary Software Process Models
Bersifat iteratif/ mengandung perulangan. Hasil proses berupa produk yang makin lama makin lengkap sampai versi terlengkap dihasilkan sebagai produk akhir dari proses. Dua model dalam evolutionary software process model adalah:

Incremental Model (Original: Mills)


  1. kombinasikan element-element dari waterfall dengan sifat iterasi/perulangan.
  2. element-element dalam waterfall dikerjakan dengan hasil berupa produk dengan spesifikasi tertentu, kemudian proses dimulai dari fase pertama hingga akhir dan menghasilkan produk dengan spesifikasi yang lebih lengkap dari yang sebelumnya. Demikian seterusnya hingga semua spesifikasi memenuhi kebutuhan yang ditetapkan oleh pengguna.
  3. Produk hasil increment pertama biasanya produk inti (core product), yaitu produk yang memenuhi kebutuhan dasar. Produk tersebut digunakan oleh pengguna atau menjalani review/pengecekan detil. Hasil review tersebut menjadi bekal untuk pembangunan pada increment berikutnya. Hal ini terus dikerjakan sampai produk yang komplit dihasilkan.
  4. model ini cocok jika jumlah anggota tim pengembang/pembangun PL tidak cukup.
  5. Mampu mengakomodasi perubahan secara fleksibel.
  6. Produk yang dihasilkan pada increment pertama bukanlah prototype, tapi produk yang sudah bisa berfungsi dengan spesifikasi dasar.
Masalah dengan Incremental model:
  1. cocok untuk proyek berukuran kecil (tidak lebih dari 200.000 baris coding)
  2. mungkin terjadi kesulitan untuk memetakan kebutuhan pengguna ke dalam rencana spesifikasi masing-masing hasil increment
Spiral Model (Original: Boehm)






Proses digambarkan sebagai spiral. Setiap loop mewakili satu fase dari software process. Loop paling dalam berfokus pada kelayakan dari sistem, loop selanjutnya tentang definisi dari kebutuhan, loop berikutnya berkaitan dengan desain sistem dan seterusnya. Setiap Loop dibagi menjadi beberapa sektor :

  1. Objective settings (menentukan tujuan): menentukan tujuan dari fase yang ditentukan. Batasan-batasan pada proses dan produk sudah diketahui. Perencanaan sudah disiapkan. Resiko dari proyek sudah diketahui. Alternatif strategi sudah disiapkan berdasarkan resiko-resiko yang diketahui, dan sudah direncanakan.
  2. Risk assessment and reduction (Penanganan dan pengurangan resiko): setiap resiko dianalisis secara detil pada sektor ini. Langkahlangkah penanganan dilakukan, misalnya membuat prototype untuk mengetahui ketidakcocokan kebutuhan.
  3. Development and Validation (Pembangunan dan pengujian): Setelah evaluasi resiko, maka model pengembangan sistem dipilih. Misalnya jika resiko user interface dominan, maka membuat prototype User Interface. Jika bagian keamanan yang bermasalah, maka menggunakan model formal dengan perhitungan matematis, dan jika masalahnya adalah integrasi sistem model waterfall lebih cocok.
  4. Planning: Proyek dievaluasi atau ditinjau-ulang dan diputuskan untuk terus ke fase loop selanjutnya atau tidak. Jika melanjutkan ke fase berikutnya rencana untuk loop selanjutnya.


  1. Customer communication: membangun komunikasi yang baik dengan pengguna/customer.
  2. Planning: mendefinisikan sesumber, batas waktu, informasi-informasi lain seputar proyek
  3. Risk analysis: identifikasi resiko managemen dan teknis
  4. Engineering: pembangunan contoh-contoh aplikasi, misalnya prototype
  5. Construction and release : pembangunan, test, install dan support.
  6. Customer evaluation: mendapatkan feedback dari pengguna beradasarkan evaluasi PL pada fase engineering dan fase instalasi. Pada model spiral, resiko sangat dipertimbangkan. Resiko adalah sesuatu yang mungkin mengakibatkan kesalahan.
Model spiral merupakan pendekatan yang realistik untuk PL berskala besar. Pengguna dan pembangun bisa memahami dengan baik software yang dibangun karena setiap kemajuan yang dicapai selama proses dapat diamati dengan baik. Namun demikian, waktu yang cukup panjang mungkin bukan pilihan bagi pengguna, karena waktu yang lama sama dengan biaya yang lebih besar.




Komentar

Postingan populer dari blog ini

Cara Menambahkan Plugin TextFX di notepad++

TextFX adalah plugin pada notepad++ yang digunakan untuk menyortir kata atau kalimat yang sama atau istilah kerenya duplikat data. Berikut saya share cara untuk menambahkan plugin TextFX, perhatikan langkah-langkah berikut! 1. install notepad++ dulu dengan mengunduh filenya disini 2. setelah diunduh kemudian install, setelah di install lalu buka menu Plugins>Plugin Manager>Show Plugin Manager  3. pada Plugin Manager, klik tab Available kemudia geser kebawah dan cari TextFx. klik centang lalu Install. 4. Berhasil, setelah itu restart program notepad++ sekian share dari saya semoga bermanfaat, silahkan bertanya dikolom komentar jika kurang paham. terimakasih

Tenggorokan Kering dan Sakit? Hati-hati! Bisa Jadi Itu Adalah Gejala Kanker Stadium Awal

Kamu harus perhatikan dengan baik! Kanker tenggorokan adalah salah satu kanker yang sering dijumpai pada kebanyakan orang, dan tentu saja hasil pengobatan kanker ini tergantung pada seberapa cepat kita menyadari tingkat keparahan kanker tersebut. Seorang ahli bedah mengatakan bahwa kanker yang didiagnosa pada 5 tahun pertama itu mempunyai tingkat kesembuhan sebesar 90%, tetapi sebaliknya, kanker yang baru diketahui setelah 5 tahun, hanya mempunyai tingkat kesembuhan sekitar 20-30% saja.  Kanker tenggorokan ini tumbuh dari sel Mesothelial yang berkembang pada selaput kerongkongan, dan karena faktor inilah yang akhirnya tumbuh menjadi kanker secara bertahap. Waktu yang diperlukan kanker ini untuk berkembang pada tenggorokan mencapai beberapa tahun lamanya, bahkan dari stadium awal hingga stadium menengah membutuhkan waktu sekitar satu tahun.  Gejala-gejala kanker tenggorokan stadium awal ini adalah sebagai berikut: 1. Merasa kesulitan ketika menelan; biasanya disebabkan oleh ma...

Setting Hamachi

Hamachi adalah zero-configuration virtual private network (VPN) atau jaringan virtual pribadi tanpa konfigurasi. Hamachi merupakan aplikasi opensource yang didistribusikan secara bebas yang mampu membangun hubungan secara langsung antar-komputer yang terkoneksi ke dalam jaringan internet tanpa ada konfigurasi yang rumit, dengan kata lain, membentuk hubungan antar-komputer yang saling berjauhan melalui jaringan internet, seakan-akan komputer tersebut terhubung ke dalam jaringan lokal atau LAN. Pertama-tama  Download softwarenya DISINI  Cara Instal seperti biasa, tinggal next next next :) yang perlu diperhatikan adalah pada saat proses instal beri tanda cek pada Disable vulnerable .... (mungkin windows mendeteksinya sebagai virus)     Setelah proses instalasi berhasil, jalankan program hamachi maka akan tampil seperti berikut :   Klik tombol Power On maka akan berubah menjadi hijau dan tampil ip dari Hamachi 5.X.X.X, selanjutnya secara otomatis saat anda menjala...