Pada kesempatan kali ini berhubung tugas yang menumpuk lalu telah mendekati UTS saya agak telat menjelaskan tentang analisis berbagai jenis generic software proses model :D, software proses model ini merupakan hal terpenting atau salah satu aspek utama dalam proses pembuatan software yaitu pemodelan sistem, tanpa adanya pemodelan sistem maka suatu sistem akan bisa jadi gagal untuk di kembangkan karena tahap-tahapnya yang kurang terjadwal, terencana, terkonsep atau terorganisir dengan baik dari segi biaya, sumber daya, tenaga, maupun estimasi waktu proses pembuatan sistem ...
Dalam jenis-jenis pemodelan sistem ada 7 macam yang saat ini saya ketahui dan mungkin saja seiring dengan perkembangan zaman model-model software ini akan terus berkembang menjadi lebih kompleks karena mungkin saja teknologi yang berkembang di masa mendatang akan menjadi lebih canggih dan modern di bandingkan teknologi informasi (sumber daya) yang ada saat ini ...
7 jenis software proses model yaitu sebagai berikut :
Waterfall Model
Waterfall model? apa sih yang kita ketahui tengang waterfall? air terjun? *benar memang air terjun :D ... lalu apa hubungannya dengan pemodelan sistem? *jelas ada hubungannya karena ya memang bentuknya seperti air terjun yang dari tahap atas sampai tahap paling bawah (minimalisasi) dari segi kebutuhan yang sudah terpenuhi artinya kebutuhan yang tadinya maksimal menjadi minimal karena proses model waterfall ini ... waterfall model ini bisa juga disebut "linear sequence model" atau "classic life cycle", model ini sistem ini pertama kali di kenal pada tahun 1970an *sudah kuno sekali ya? memang kuno ... namun jangan salah software proses model ini merupakan model yang sering digunakan (populer) ....
Ciri khas model waterfall ini yaitu dalam tahap rekayasa perangkat lunak nya harus berurutan dari satu tahap ke tahap selanjutnya jadi tidak bisa melompati dari tahap satu ke 2 tahap setelah nya ataupun sebelumnya, lalu memakan banyak biaya dan waktu bila suatu sistem yang di kembangkan selalu melakukan perubahan dalam sistemnya, maka dari itu model software proses ini biasa di gunakan oleh development skala kecil yang jarang melakukan perubahan sistem maupun peningkatan versi ...
Waterfall model ini ada 2 jenis menurut referensi pressman & referensi sommerville namun pada intinya tetep sama menjelaskan tentang requerments, design dan quality ...
Waterfall Model Referensi Pressman
Waterfall Model Refersnsi Sommerville
Kelebihan Model Waterfall
- Merupakan model pengembangan paling handal dan paling lama digunakan.
- Cocok untuk system software berskala besar.
- Cocok untuk system software yang bersifat generic.
- Pengerjaan project system akan terjadwal dengan baik dan mudah dikontrol.
Kekurangan Model Waterfall
- Perubahan sulit dilakukan karena sifatnya yang kaku.
- 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.
- Waterfall pada umumnya digunakan untuk rekayasa sistem yang besar dimana proyek dikerjakan di beberapa tempat berbeda, dan dibagi menjadi beberapa bagian sub-proyek.
- Persyaratan system harus digambarkan dengan jelas.
- Rincian proses harus benar-benar jelas dan tidak boleh berubah-ubah.
- Sulit untuk mengadaptasi jika terjadi perubahan spesifikasi pada suatu tahapan pengembangan.
Spiral Model
Spiral Model? mendengar kata-katanya terbayang akan sesuatu yang bentuknya melingkar? seperti galaksi spiral :D yang dari dalam makin keluar dan terus berkembang membentuk lingkaran spiral, alangkah indahnya nan takjub andai saya melihat itu semua :D wow saya suka dengan hal hal yang berbau antariksa (astronomi) :D hehe *kembali ke topik lagi ^_^ ... model spiral ini merupakan gabungan dari model waterfall dengan model prototyping yang melakukan iterasi namun selalu berkembang secara bertahap ...
Ciri khas dari model spiral ini yaitu pada Risk Analysis (analisis resiko) ... jadi pada intinya analsis resiko ini memungkinkan kita mencegah berbagai aspek resiko agar tidak terjadi saat pemeralakukan perancangan sisitem ... aspek analisis resiko yang biasa di fokuskan pada analisis yaitu sebagai berikut :
- Concept Development Project (proyek pengembangan konsep)
- New Product Development Project (proyek pengembangan produk baru)
- Product Enhancement Project (proyek peningkatan produk)
- dan Product Maintenance Project (proyek pemeliharaan proyek)
Kelebihan Model Spiral
- Dapat disesuaikan agar perangkat lunak bisa dipakai selama hidup perangkat lunak komputer
- Lebih cocok untuk pengembangan sistem dan perangkat lunak skala besar
- Pengembang dan pemakai dapat lebih mudah memahami dan bereaksi terhadap resiko setiap tingkat evolusi karena perangkat lunak terus bekerja selama proses
- Menggunakan prototipe sebagai mekanisme pengurangan resiko dan pada setiap keadaan di dalam evolusi produk
- Tetap mengikuti langkah-langkah dalam siklus kehidupan klasik dan memasukkannya ke dalam kerangka kerja iteratif
- Membutuhkan pertimbangan langsung terhadp resiko teknis sehingga mengurangi resiko sebelum menjadi permaslahan yang serius
Kekurangan Model Spiral
- Sulit untuk menyakinkan pelanggan bahwa pendekatan evolusioner ini bisa dikontrol.
- Memerlukan penaksiran resiko yang masuk akal dan akan menjadi masalah yang serius jika resiko mayor tidak ditemukan dan diatur.
- Butuh waktu lama untuk menerapkan paradigma ini menuju kepastian yang absolute.
Prototype Model
Prototype model yaitu suatu model yang belum sepenuhnya menjadi suatu rancangan jadi yang utuh karena bertujuan untuk lebih dekat berkomunikasi dengan pemesan program, perancangan berfokus pada "listen to customer" jadi pada proses pembuatan modelnya antara development dan customer lebih banyak berkomunikasi (feed back) dalam perancangannya yang pada intinya pengembang lebih di tekankan untuk lebih banyak berkomunikasi untuk memenuhi kebutuhan pemesan sistem (customer) ...
Pada tahap pertama "Listen to Customer" yang melakukan proses komunikasi dengan development yang langsung di terapkan dengan keinginan customer dengan tahap "Build/Revise Mock-Up" yaitu pembuatan pemodelan setengah jadi dan di lanjutkan ke tahap "Customer Test Drives Mock-Up" yang merupakan suatu kegiatan test program kepada customer apa sesuai yang di harapkan atau ada yang ingin di tambahkan dari system program yang di rancang bila ada kebutuhan yang kurang di lanjutkan ke tahap semula "Listen to Costumer" terus melakukan looping sampai sistem program yang di rancang sudah cukup memuaskan customer dari segi kebutuhan sistem ... kelemahannya mungkin kegiatan looping ini terus melakukan iterasi tanpa perkembangan jadi hanya mencakup skup" tertentu saja ... kelebihannya mungkin lebih banyak komunikasi antara development dengan customer ...
Extreme Programming Model atau bisa di singkat menjadi XP Model, XP Model ini merupakan model terbaru bagi kalangan perancangan pemodelan sistem yang diciptakan oleh kent black.
Tahap dalam XP yaitu sebgai berikut :
Ciri khas dalam XP
Kelebihan XP Model
Komunikasi
Komunikasi antara developer dan klien sering menjadi masalah, karena itu komunikasi dalam XP dibangun dengan melakukan pemrograman berpasangan "pair programming". Developer didampingi oleh pihak klien dalam melakukan coding dan unit testing sehingga klien bisa terlibat langsung dalam pemrograman sambil berkomunikasi dengan developer.
Sederhana
Menekankan pada kesederhanaan dalam melakukan pengkodingan, lebih baik melakukan hal yang sederhana dan mengembangkannya besok jika diperlukan. Komunikasi yang lebih banyak mempermudah dan rancangan yang sederhana mengurangi penjelasan, intinya langsung di kerjakan dengan sedikit penjelasan.
Feedback
Setiap feedback yang ditanggapi dengan melakukan tes, unit test atau system integration dan jangan pernah menunda proses karena biaya akan membengkak dari segi uang, tenaga dan waktu.
Berani
Banyak ide baru dan berani mencobanya, berani mengerjakan kembali dan setiap kali kesalahan ditemukan dan langsung diperbaiki.
Quality Work
Semua nilai di atas berujung pada sebuah kondisi di mana kita melakukan pekerjaan dengan berkualitas. Dengan proses yang berkualitas maka implikasinya akan muncul pula perangkat lunak yang berkualitas sebagai hasil akhirnya.
Kelemahan XP Model
RUP menggunakan konsep object oriented, dengan aktifitas yang berfokus pada pengembangan model dengan menggunakan Unified Model Language (UML), intinya model ini lebih di tekankan pada kumpulan latihan yang bisa di jadikan suatu sistem utuh.
Opportunistic Softwere System Development Model atau bisa disebut (OSSDM) merupakan suatu sistem pemodelan yang masih baru dan masih jarang sekali digunakan oleh para programmer, model ini berfokus pada menemukan dan merekatkan potongan-potongan RPL yang belum sama sekali di satukan, sepertinya ini hampir sama dengan RUP namun bedanya bila RUP menyatukan kumpulan dari contoh latihan yang terbaik.
3 Aspek Utama Dalam OSSDM
Penekanannya adalah pada rekayasa cerdas, kreativitas, inovasi, dan cara-cara imajinatif untuk menemukan dan menempelkan software untuk menyediakan sistem interoperable dan di maintenance yang memenuhi kebutuhan pengguna.
Bisa kita lihat pada gambar di atas ada tahap "First Prototype" yang artinya rancangan awal pertama yang langsung di sajikan kepada customer lalu bila ada kekurangan langsung dilakukan modifikasi sesuai kebutuhan agar sistem benar benar optimal dan customer merasa terpuaskan lalu dilanjutkan pada tahap "Think of Idea for Improvement" dilakukan kegiatan ide ide baru apa yang ingin di tambahkan pada sistem yang sedang di rancang, jadi sistem ini terus melakukan iterasi sampai muncul ide ide baru dan terus berkembang demi tercapainya kepuasan dari customer dengan sistem yang sedang di rancang sampai benar benar matang lalu di hentikan proses iterasi tersebut, jadi pada model OSSDM ini sama halnya dengan model prototyping & XP model yang banyak melakukan komunikasi (feedback) antara development (pengembang) dengan customer (klien).
Jadi intinya Model Generic Software Oportunitis Software System Development (OSSDM) ini sepeti pembahasan sebelumnya mencari dan melakukan perekatan bersama dalam ruang lingkup perangkat lunak (software) yang tidak pernah dirancang untuk bekerja bersama-sama, dilakukan perubahan agar bisa berkerja bersama-sama.
Sekian dulu postingan terakhir Rekayasa Perangkat Lunak di akhir menjelang UTS ini, sampai ketemu lagi di postingan selanjutnya setelah UTS, pasti akan banyak sekali materi-materi yang akan kita bahas nanti ^_^ ...
Kelebihan Model Prototype
- Model ini akan digunakan jika perangkat lunak yang akan dibuat telah didefinisikan secara khusus oleh pelanggan dan pengembang.
- Pendefinisian tersebut antara lain mengidentifikasi kebutuhan output, pemrosesan, input detail, kepastian terhadap efisiensi algoritme, penyesuaian dari sebuah sistem operasi, dan bentuk-bentuk yang harus dilakukan oleh interaksi manusia dengan mesin.
- Intinya model ini dirancang untuk mendorong konsumen maupun pengembang agar memahami kebutuhan.
Kekurangan Model Prototype
- Tidak ada cara untuk mengetahui banyaknya iterasi yang diperlukan.
- Membuat prototype / prototyping dapat mendorong ke arah perancangan sistem yang kurang baik.
- Tujuan utama protoyping adalah perkembangan cepat, perancangan sistem kadang-kadang dapat rusak sebab sistem dibangun pada rangkaian “lapisan” tanpa integrasi pertimbangan global dari semua komponen lain.
Incremental Model
Model jenis ini ada karena gabungan dari 2 atau lebih element-element yang ada pada model waterfall pressman dan juga model waterfall yang iteratif atau melakukan perulangan versi waterfall model.
Model waterfall merupakan model yang cukup populer dengan kemudahan dalam perancangannya dalam skala tertentu "sequensial" berurutan, bila model waterafall tersebut saling digabungkan maka dibentuklah model baru yang lebih baik, lengkap, statis yaitu incremental model.
Inti dari model ini merupakan pengembangan dari model waterfall yang bardampak positif bagi sistem demi kelengkapan dari segi kebutuhan (requirement) yang seminimal mungkin karena sudah banyak yang terpenuhi sedikit demi sedikit di dalam sistem yang menggunakan model perancangan incremental model.
Kelebihan Incremental Model
- Relatif sedikit jumlah programer atau developer yang digunakan.
- Memberikan operasional mutu produk pada tiap stage, tetapi satu yang memuaskan hanya subset kebutuhan klien.
- Mengurangi efek traumatis dari mengesankan suatu produk sepenuhnya baru pada organisasi klien dengan menyediakan suatu pengenalan berangsur-angsur.
- Klien bisa melihat sistem dan memberikan feedback.
Kekurangan Incremental Model
- Semangat melakukan proses membangun dan memperbaiki perangkat lunak bisa menurun, karena terlalu banyaknya iterasi yang dilakukan.
- Kesalahan pada design menjadi bagian dari sistem dan sulit untuk memperbaikinya.
- Klien melihat kemungkinan-kemungkinan yang ada sehingga ingin mengubah kebutuhan.
Extreme Programming Model atau bisa di singkat menjadi XP Model, XP Model ini merupakan model terbaru bagi kalangan perancangan pemodelan sistem yang diciptakan oleh kent black.
Tahap dalam XP yaitu sebgai berikut :
- Listen
- Test
- Code
- Design
Ciri khas dalam XP
- Efisien
- Fleksibel
- Dapat di perkirakan
- Bersifat ilmiah
- Resiko rendah dalam development
Kelebihan XP Model
Komunikasi
Komunikasi antara developer dan klien sering menjadi masalah, karena itu komunikasi dalam XP dibangun dengan melakukan pemrograman berpasangan "pair programming". Developer didampingi oleh pihak klien dalam melakukan coding dan unit testing sehingga klien bisa terlibat langsung dalam pemrograman sambil berkomunikasi dengan developer.
Sederhana
Menekankan pada kesederhanaan dalam melakukan pengkodingan, lebih baik melakukan hal yang sederhana dan mengembangkannya besok jika diperlukan. Komunikasi yang lebih banyak mempermudah dan rancangan yang sederhana mengurangi penjelasan, intinya langsung di kerjakan dengan sedikit penjelasan.
Feedback
Setiap feedback yang ditanggapi dengan melakukan tes, unit test atau system integration dan jangan pernah menunda proses karena biaya akan membengkak dari segi uang, tenaga dan waktu.
Berani
Banyak ide baru dan berani mencobanya, berani mengerjakan kembali dan setiap kali kesalahan ditemukan dan langsung diperbaiki.
Quality Work
Semua nilai di atas berujung pada sebuah kondisi di mana kita melakukan pekerjaan dengan berkualitas. Dengan proses yang berkualitas maka implikasinya akan muncul pula perangkat lunak yang berkualitas sebagai hasil akhirnya.
Kelemahan XP Model
- Developer harus selalu siap dengan perubahan karena perubahan akan selalu diterima.
- Tidak bisa membuat kode yang detail di awal "prinsip simplicity dan juga anjuran untuk melakukan apa yang diperlukan hari itu juga".
Rational Unified Process
Rational Unified Process (RUP) merupakan suatu metode rekayasa perangkat lunak yang dikembangkan dengan mengumpulkan berbagai best practises yang terdapat dalam industri pengembangan perangkat lunak.
RUP menggunakan konsep object oriented, dengan aktifitas yang berfokus pada pengembangan model dengan menggunakan Unified Model Language (UML), intinya model ini lebih di tekankan pada kumpulan latihan yang bisa di jadikan suatu sistem utuh.
Inception
- Menentukan ruang lingkup proyek.
- Membuat business case.
- Memenuhi syarat bahwa program telah memenuhin syarat..
Elaboration
- Menganalisa berbagai persyaratan dan resiko.
- Menetapkan base line.
- Merencanakan fase berikutnya yaitu construction.
- Melakukan sederetan iterasi.
- Pada setiap iterasi akan melibatkan proses analisa desain, implementasi dan testing.
Transistion
- Membuat apa yang sudah dimodelkan menjadi suatu produk yang utuh.
- Beta dan performance testing.
- Membuat dokumentasi tambahan seperti training, user guides dan sales kit.
- Membuat rencana peluncuran produk ke komunitas pengguna.
- Software yang dikembangkan dengan metode ini biasanya menghasilkan kualitas yang baik.
- Document pengembangan sistem sangat terorganisir, karena setiap fase harus terselesaikan dengan lengkap sebelum melangkah ke fase berikutnya.
- Membutuhkan keahlian yang baik atau yang telah berpengalaman dalam mengembangkan perangkat lunak dalam arti metode ini kurang cocok bagi pemula.
- Diperlukan majaemen yang baik, karena proses pengembangan tidak dapat berulang sebelum menghasilkan suatu produk yaitu aplikasi. Jadi apabila dalam suatu proses seperti perancangan tidak selesai tepat waktu maka akan mempengaruhi keseluruhan proses pengembangan perangkat lunak.
Opportunistic Softwere System Development Model atau bisa disebut (OSSDM) merupakan suatu sistem pemodelan yang masih baru dan masih jarang sekali digunakan oleh para programmer, model ini berfokus pada menemukan dan merekatkan potongan-potongan RPL yang belum sama sekali di satukan, sepertinya ini hampir sama dengan RUP namun bedanya bila RUP menyatukan kumpulan dari contoh latihan yang terbaik.
3 Aspek Utama Dalam OSSDM
Penekanannya adalah pada rekayasa cerdas, kreativitas, inovasi, dan cara-cara imajinatif untuk menemukan dan menempelkan software untuk menyediakan sistem interoperable dan di maintenance yang memenuhi kebutuhan pengguna.
Bisa kita lihat pada gambar di atas ada tahap "First Prototype" yang artinya rancangan awal pertama yang langsung di sajikan kepada customer lalu bila ada kekurangan langsung dilakukan modifikasi sesuai kebutuhan agar sistem benar benar optimal dan customer merasa terpuaskan lalu dilanjutkan pada tahap "Think of Idea for Improvement" dilakukan kegiatan ide ide baru apa yang ingin di tambahkan pada sistem yang sedang di rancang, jadi sistem ini terus melakukan iterasi sampai muncul ide ide baru dan terus berkembang demi tercapainya kepuasan dari customer dengan sistem yang sedang di rancang sampai benar benar matang lalu di hentikan proses iterasi tersebut, jadi pada model OSSDM ini sama halnya dengan model prototyping & XP model yang banyak melakukan komunikasi (feedback) antara development (pengembang) dengan customer (klien).
Jadi intinya Model Generic Software Oportunitis Software System Development (OSSDM) ini sepeti pembahasan sebelumnya mencari dan melakukan perekatan bersama dalam ruang lingkup perangkat lunak (software) yang tidak pernah dirancang untuk bekerja bersama-sama, dilakukan perubahan agar bisa berkerja bersama-sama.
Sekian dulu postingan terakhir Rekayasa Perangkat Lunak di akhir menjelang UTS ini, sampai ketemu lagi di postingan selanjutnya setelah UTS, pasti akan banyak sekali materi-materi yang akan kita bahas nanti ^_^ ...
2 comments:
terima kasih untuk share info nya ^^
Thanks gan
Post a Comment