Anda di halaman 1dari 19

Definisi Software Process

Kerangka untuk aktivitas yang membangun untuk mendapatkan software dengan kualitas
tinggi .
Generic Process Framework :
1. communication
2. planning
3. modelling
4. construction
5. deployment
Process Flow
Mendeskripsikan bagaimana aktivitas 5 kerangka kerja .
Terdapat 4 proses diantaranya :

Linier Process Flow.

Linier Process dimulai dari proses "Communication" kemudian "Planning" / merencanakan


apa yang sudah di dapatkan datanya melalui komunikasi, "Modeling", "Construction" sampai
dengan "Deployment".

Iteratif Process Flow .

Pada Process Iteratif ini tiap bagian dapat berulang kembali atau mengulang lagi ketika
membutuhkan sesuatu yang kurang . Sehingga proses ini dapat mengulang untuk
mendapatkan hasil yang bagus .

Evoluntary Process Flow .

Parallel Process Flow .

Process Patterns
Menjelaskan masalah yang terkait dengan proses selama software engineer bekerja .
Macam - macam patern diantaranya :
1. Stage Patterns : Mendefinisikan masalah yang berhubungan dengan aktivitas .
2. Task Patterns : Mendefinisikan masalah dengan aksi software engineer .
3. Phase Patterns : Mendefinisikan urutan atau flow dari aktivitas kerangka kerja .
Software Process Models

Waterfall Models .
Incremental Models .
Evolutionary Models .
Concurrent Development Models .

Software Process
Definisi
Sekumpulan aktifitas yang saling terkait (koheren) untuk menspesifikasikan, design,
implementasi dan pengujian sistem perangkat lunak.
Atribut dan karakteristik proses
o Understandability
o Visibility
o Supportability
o Acceptability
o Reliability
o Maintainability
o Rapidity
Kegiatan Yang Umum Bagi Semua Proses PL
a. Spesifikasi perangkat lunak, apa yang harus dilakukan oleh perangkat lunak dan
batasan/kendala pengembangannya
b. Pengembangan (perancangan dan implementasi), proses memproduksi sistem perangkat
lunak
c. Validasi perangkat lunak, pengujian perangkat lunak terhadap keinginan pengguna
d. Evolusi perangkat lunak, perubahan perangkat lunak berdasarkan perubahan keinginan.
Ada 5 tingkat kematangan proses yang dikemukakan SEI (Software Engineering Institute),
yaitu:
a. Level 1: Initial

Proses PL yang ditandai sebagai Ad Hoc dan kadang-kadang bersifat kacau (Chaotic)
b. Level 2: Repeatable
Proses manajemen proyek dasar dibangun untuk menelusuri biaya, jadwal dan fungsi
c. Level 3: Defined
Proses PL, baik untuk manajemen didokumentasikan, distandarkan dan diintegrasikan ke
dalam proses PL
d. Level 4: Managed
Pengukuran detail terhadap proses PL dan kualitas produksi dikumpulkan dan dipahami
secara kuantitatif
e. Level 5: Optimizing
Pertambahan proses yang terus-menerus dimungkinkan oleh umpan balik kuantitaif
Model Proses Perangkat Lunak
o Model Konvensional
1. Sekuensial Linear (waterfall)
Disajikan dalam proses terpisah
Bersifat sistematis
Berurutan (mendefinisikan setiap langkah)
Kekurangan:
Proyek nyata sering tidak sesuai dengan aliran tahapan.
Pengembang sering melakukan penundaan yang tidak perlu, karena menunggu tim lain
yang memiliki ketergantungan tinggi.
Pelanggan harus sabar.
Kelebihan:
Dokumentasi lengkap mencakup tiap tahapan.
Mudah dipahami.
Paling banyak digunakan.
2. RAD (Rapid Aplication Development )
Menekankan siklus perkembangan sangat pendek
Pendekatan kontruksi berbasis komponen
Kekurangan:
Perlu SDM yang memadai untuk menciptakan jumlah tim RAD yang baik.
RAD menuntut pengembang dan pelanggan punya komitmen dalam aktifitas untuk
melengkapi sistem.
Hasil tidak modular.
Kelebihan:
Waktu penyelesaian proyek lebih cepat, 60-90 hari
o Model Evolusioner
1. Prototype
Menurut Howard (1997):
Mendemonstrasikan bagaimana perangkat lunak bekerja dalam lingkungannya sebelum
tahapan konstruksi aktual.
Berfungsi sebagai mekanisme pengidentifikasian kebutuhan software.
Kekurangan:
Pengembang sering membuat kompromi-kompromi implementasi untuk membuat
prototype bekerja cepat.
Pelanggan sering hanya melihat apa yang tampak dari software tanpa memperhatikan

kualitas, sehingga ketika pengembang menawarkan informasi, pelanggan menolak.


Kelebihan:
User dapat langsung melihat wujud PL yang akan dibangun meski sederhana
2. Model Pertambahan (incremental model)
Kekurangan:
Timbul masalah terkait arsitektur sistem.
Tiap fase iterasi bersifat kaku
Kelebihan:
Lenih fleksibel
Mudah diuji/di debug
Resiko lebih rendah
3. Model Spiral
Menekankan pada putaran, dalam 1 putaran semua tahap dilakukan. Setelah 1 putaran selesai
lalu dirilis kemudian diulang dari awal.
4. Model Rakitan Komponen (component-based development model)
5. Model Perkembangan Konkuren
o Model Formal
Metode ini berbasiskan pada transformasi spesifikasi secara matematik melalui representasi
yang berbeda untuk suatu program yang dapat dieksekusi. Trasformasi menyatakan
spesifikasi program Menggunakan pendekatan Cleanroom untuk pengembangan PL.

Metode Incremental
04.31

Sii Cupu

4 comments

Kirimkan Ini lewat Email BlogThis! Berbagi ke Twitter Berbagi ke Facebook


Incremental model adalah model pengembangan sistem pada software engineering
berdasarkan requirement software yang dipecah menjadi beberapa fungsi atau bagian sehingga
model pengembangannya secara bertahap. dilain pihak ada mengartikan model incremental
sebagai perbaikan dari model waterfall dan sebagai standar pendekatan topdown. Layaknya Model
Waterfall, model ini pun juga memiliki tahapan tahapan untuk perancangan perangkat lunaknya,
yaitu:

1. Requirement , Requirment adalah proses tahapan awal yang dilakukan pada incremental
model adalah penentuan kebutuhan atau analisis kebutuhan.
2. Specification, Specification adalah proses spesifikasi dimana menggunakan analisis
kebutuhan sebagai acuannya.
3. Architecture Design, adalah tahap selanjutnya, perancangan software yang terbuka agar
dapat diterapkan sistem pembangunan per-bagian pada tahapan selanjutnya.
4. Code setelah melakukan proses desain selanjutnya ada pengkodean.
5. Test merupakan tahap pengujian dalam model ini.

gambar 1.2 desain pemodelan Incremental

Tahapan-tahapan tersebut dilakukan secara berurutan. Setiap bagian yang sudah selesai
dilakukan testing, dikirim ke pemakai untuk langsung dapat digunakan. Pada incremental model, tiga
tahapan awal harus diselesaikan terlebih dahulu sebelum sebelum tahap membangun tiap
increment. Untuk mengantisipasi kondisi yang terjadi pada incremental model, diperkenalkan model
More Risky Incremental Model. Model ini menerapkan sistem kerja yang paralel. Setelah daftar
kebutuhan didapatkan dari pemakai, tim spesifikasi membuat spesifikasi untuk modul pertama.
Setelah spesifikasi pertama selesai, tim desain menindak lanjuti. Tim spesifikasi sebelumnya juga
langsung membuat spesifikasi untuk model kedua, dan seterusnya. Jadi, tidak harus menunggu
modul
pertama
selesai
hingga
dikirim
ke
user.
Beberapa Kelebihan Dari Mode Incremental atara lain :
1. Merupakan model dengan manajemen yang sederhana
2. Pengguna tidak perlu menunggu sampai seluruh sistem dikirim untuk mengambil
keuntungan dari sistem tersebut. Increment yang pertama sudah memenuhi persyaratan
mereka yang paling kritis, sehingga perangkat lunak dapat segera digunakan.
3. Resiko untuk kegagalan proyek secara keseluruhan lebih rendah. Walaupun masalah masih
dapat ditemukan pada beberapa increment. Karena layanan dengan prioritas tertinggi
diserahkan pertama dan increment berikutnya diintegrasikan dengannya, sangatlah penting
bahwa layanan sistem yang paling penting mengalami pengujian yang ketat. Ini berarti
bahwa pengguna akan memiliki kemungkinan kecil untuk memenuhi kegagalan perangkat
lunak pada increment sistem yang paling bawah.
4. Nilai penggunaan dapat ditentukan pada setiap increment sehingga fungsionalitas sistem
disediakan lebih awal.
5. Memiliki risiko lebih rendah terhadap keseluruhan pengembagan sistem,
6. Prioritas tertinggi pada pelayanan sistem adalah yang paling diuji
Kelemahannya adalah :
1. kemungkinan tiap bagian tidak dapat diintegrasikan

2. Dapat menjadi build and Fix Model, karena kemampuannya untuk selalu mendapat
perubahan selama proses rekayasa berlangsung
3. Harus Open Architecture
4. Mungkin terjadi kesulitan untuk memetakan kebutuhan pengguna ke dalam rencana
spesifikasi masing-masing hasil increment.

Model Linear Sequential/Waterfall


Model Linear Sequential/Waterfall merupakan paradigma rekayasa perangkat lunak yang
paling tua dan paling banyak dipakai.
Kelebihan model Linear Sequential/Waterfall :
Mudah diaplikasikan
Memberikan template tentang metode analisis, desain, pengkodean, pengujian, dan
pemeliharaan
Cocok digunakan untuk produk software yang sudah jelas kebutuhannya di awal, sehingga
minim kesalahannya
Kekurangan model Linear Sequential/Waterfall :
Terjadinya pembagian proyek menjadi tahap-tahap yang tidak fleksibel, karena komitmen
harus dilakukan pada tahap awal proses

Sulit untuk mengalami perubahan kebutuhan yang diinginkan customer

Customer harus sabar untuk menanti produk selesai, karena dikerjakan tahap per
tahap,menyelesaikan tahap awal baru bisa ke tahap selanjutnya
Perubahan ditengah-tengah pengerjaan produk akan membuat bingung team work yang
sedang membuat produk
Adanya waktu menganggur bagi pengembang, karena harus menunggu anggota tim proyek
lainnya menuntaskan pekerjaannya
2. Model Prototyping
Pendekatan prototyping model digunakan jika pemakai hanya mendefinisikan objektif
umum dari perangkat lunak tanpa merinci kebutuhan input, pemrosesan dan outputnya,
sementara pengembang tidak begitu yakin akan efisiensi algoritma, adaptasi sistem operasi,
atau bentuk interaksi manusia-mesin yang harus diambil.
Kelebihan model Prototyping :

Menghemat waktu pengembangan

Adanya komunikasi yang baik antara pengembang dan pelanggan


Pengembang dapat bekerja lebih baik dalam menentukan kebutuhan pelanggan
Penerapan menjadi lebih mudah karena pemakai mengetahui apa yang diharapkannya

User dapat berpartisipasi aktif dalam pengembangan sistem


Kekurangan model Prototyping :

Proses analisis dan perancangan terlalu singkat

Biasanya kurang fleksible dalam mengahadapi perubahan


Walaupun pemakai melihat berbagai perbaikan dari setiap versi prototype, tetapi pemakai
mungkin tidak menyadari bahwa versi tersebut dibuat tanpa memperhatikan kualitas dan
pemeliharaan jangka panjang
Pengembang kadang-kadang membuat kompromi implementasi dengan menggunakan sistem
operasi yang tidak relevan dan algoritma yang tidak efisien
3. Model RAD (Rapid Application Development)
Model RAD merupakan model proses pengembangan perangkat lunak secara linear
sequential yang menekankan pada siklus pengembangan yang sangat singkat.

Kelebihan model RAD :


Lebih efektif dari pendekatan waterfall/sequential linear dalam menghasilkan sistem yang
memenuhi kebutuhan langsung dari pelanggan
Cocok untuk proyek yang memerlukan waktu yang singkat
Kekurangan model RAD :
RAD tidak cocok digunakan untuk sistem yang mempunyai resiko teknik yang tinggi
Membutuhkan orang yang banyak untuk menyelesaikan sebuah proyek berskala besar
Pengembang dan customer harus punya komitmen yang kuat untuk menyelesaikan sebuah
software
Jika sistem tidak di bangun dengan benar maka RAD akan bermasalah
Jika ada perubahan di tengah-tengah pengerjaan maka harus membuat kontrak baru antara
pengembang dan customer
4. Model Increment
Model Increment merupakan kombinasi linear sequential model dan filosofi pengulangan
dari prototyping model.
Kelebihan model Increment :
Cocok digunakan bila pembuat software tidak banyak/kekurangan pembuat
Mampu mengakomodasi perubahan kebutuhan customer
Kekurangan model Increment :
Hanya akan berhasil jika tidak ada staffing untuk penerapan secara menyeluruh
Penambahan staf dilakukan jika hasil incremental akan dikembangkan lebih lanjut
Hanya cocok untuk proyek dengan skala kecil
5. Model Spiral
Model spiral merupakan model proses perangkat lunak yang memadukan wujud
pengulangan dari model prototyping dengan aspek pengendalian dan sistematika dari linear
sequential model.
Kelebihan model Spiral :
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
Kekurangan model Spiral :
Sulit untuk meyakinkan pemakai (saat situasi kontrak) bahwa penggunaan pendekatan ini akan
dapat dikendalikan
Memerlukan tenaga ahli untuk memperkirakan resiko, dan harus mengandalkannya supaya
sukses
Belum terbukti apakah metode ini cukup efisien karena usianya yang relatif baru

Model ini adalah model klasik yang mengusung pengembangan perangkat lunak yang
sistematis, berurutan/sekuensial dimulai pada tingkat dan kemajuan system pada seluruh
persyaratan dalam analisis, perancangan (desain), pengkodean, pengujian (testing), hingga ke
tahap pemeliharaan dalam membangun software (perangkat lunak). Berikut ini gambaran dari
Linear Sequential Model / waterfall model.

Gambar 1. The linear sequential model


Pada setiap tahapan dianalogikan bak air yang mengalir dari tempat tinggi ke tempat yang
lebih rendah, artinya sebuah proses baru bias dilanjutkan setelah satu tahap awal selesai
dengan sempurna.
Penjelasan tentang setiap tahapan dapat diringkas sebagai berikut:
Tahap analisis: pada tahap ini berlangsung proses pengumpulan kebutuhan secara lengkap
untuk dianalisis dan didefinisikan kebutuhan apa saja yang harus dipenuhi oleh program yang
akan dibuat, seperti memahami domain permasalahan, tingkah laku, unjuk kerja dan interface
(antar muka).
Tahap desain: proses ini melibatkan empat atribut sebuah program yaitu struktur data,
arsitektur, perangkat lunak, representasi interface, dan detail (algoritma) prosedural.
Tahap pengkodean: proses penterjemahan desain ke dalam bentuk bahasa mesin yang dapat
dilakukan secara mekanis.
Tahap pengujian: proses ini dikerjakan setelah kode dirancang dan difokuskan pada fungsi
dan jumlah kesalahan untuk diperbaiki.
Tahap pemeliharaan: meliputi penyesuaian atau perubahan yang berkembang seiring
dengan adaptasi perangkat lunak dengan kondisi atau situasi sebenarnya setelah disampaikan
kepada konsumen atau pelanggan.
Kelebihan metode ini antara lain mudah diaplikasikan karena urutan-urutan pengerjaan
sudah sering dipakai; selain itu juga cocok untuk software berskala besar dan yang bersifat
umum; yang paling penting, karena langkah-langkahnya sangat sekuensial, pengerjaan
proyek akan mudah dikontrol dan terjadwal dengan baik.
Namun, terdapat pula beberapa kelemahan yang menjadi kekurangan dari metode
waterfall ini, seperti kurang fleksibel, dikarenakan rincian prosesnya harus benar-benar jelas
dan tidak boleh diubah-ubah. Apabila dikerjakan dengan melampaui tahap yang seharusnya
maka proses desain yang sebelumnya itu akan berubah total dan memakan waktu yang
banyak jika harus mengulang proses.

Model waterfal ini sangat sesuai digunakan dalam pengembangan sistem perangkat lunak
dan hardware yang luas dan apabila kebutuhan pengguna telah dimengerti dengan baik.
Selain itu, juga apabila waktu yang tersedia juga masih cukup banyak.
2.

Prototyping Model

Metode ini menyajikan gambaran yang lengkap dari sistem, terdiri atas model kertas, model
kerja dan program. Pihak pengembang akan melakukan identifikasi kebutuhan pemakai,
menganalisa sistem dan melakukan studi kelayakan serta studi terhadap kebutuhan pemakai,
meliputi model interface, teknik prosedural dan teknologi yang akan dimanfaatkan.

Gambar 2. Prototyping Model


Secara ringkas, tahapan-tahapan dalam model prototyping adalah:
Tahap Pengumpulan kebutuhan: pada tahap ini, pelanggan dan pengembang saling bantu
dalam mendefinisikan format seluruh perangkat lunak, menentukan keperluan dan garis besar
sistem yang akan dirancang.
Tahap Quick design: membangun rancangan global sebagai contoh bagi user
Tahap Pembangunan Prototipe: proses perancangan sementara yang fokusnya kepada
penyajian kepada pelanggan, termasuk pengujian dan penyempurnaan.
Tahap Evaluasi Pelanggan: di mana pelanggan melakukan pengujian terhadap prototipe
yang ada dan pengembang memperhalus analisis kebutuhan pemakai.
Tahap Pembuatan dan Implementasi: tahap ini termasuk proses desain (rancang),
pengkodean dan testing.

Keunggulan model ini adalah sifatnya yang sangat interaktif sehingga pengembang dan
pengguna (pemakai) dapat terus berinteraksi selama pengerjaan tahapan-tahapan tersebut.
Peran aktif pemakai ini dapat menghemat waktu dalam pengembangan sistem dan bila
terdapat kesalahan atau ketidaksesuaian keinginan, pemakai dapat segera
memberitahukannya sehingga pengembang dapat secepatnya melakukan penyesuaian.
Kelemahan model ini antara lain, akibat adanya quick design, kadang pemakai tidak
menyadari bahwa perangkat lunak yang ditunjukkan masih berupa blue print sehingga tidak
ada jaminan terhadap kualitas secara keseluruhan dan pemeliharaan jangka panjangnya. Dari
sisi pengembang, karena ingin menyegerakan selesainya proyek, sering menggunakan bahasa
pemrograman yang sederhana dalam membuat prototipe tanpa memikirkan lebih lanjut
program yang lebih kompleks untuk membangun sistem yang sebenarnya.
Model Prototyping ini sangat sesuai diterapkan untuk kondisi yang beresiko tinggi di
mana masalah-masalah tidak terstruktur dengan baik, terdapat fluktuasi kebutuhan pemakai
yang berubah dari waktu ke waktu atau yang tidak terduga, bila interaksi dengan pemakai
menjadi syarat mutlak dan waktu yang tersedia sangat terbatas sehingga butuh penyelesaian
yang segera. Model ini juga dapat berjalan dengan maksimal pada situasi di mana sistem
yang diharapkan adalah yang inovatif dan mutakhir sementara tahap penggunaan sistemnya
relatif singkat.
3. RAD Model (Rapid Aplication Development)
RAD adalah proses pembangunan Perangkat Lunak yang menekankan pada siklus
pengembangan yang pendek dan singkat. Model ini mengawinkan model waterfall dan model
component based construction.

Gambar 3. Model RAD


Secara ringkas, tahapan-tahapan RAD adalah sebagai berikut.
Tahap Pemodelan Bisnis: dibuat agar dapat menjawab pertanyaan-pertanyaan berikut:
informasi apa yang mengontrol proses bisnis? Informasi apa yang didapat? Siapa yang
mendapatkannya? Untuk siapa informasi itu ditujukan? Siapa yang akan memprosesnya?

Tahap Pemodelan Data: informasi-informasi yang dipadu dari pemodelan bisnis dipilahpilah ke menjadi sekumpulan objek data yang masing-masing objek diidentifikasikan dan
ditentukan hubungan antara objek-objek tersebut.
Tahap Pemodelan Proses: aliran informasi yang didapat dalam proses pemodelan data
diolah sedemikian untuk dapat menopang fungsi-fungsi bisnis. Prosesnya dikreasikan untuk
menambah, memodifikasi, menghapus dan atau mendapatkan kembali sebuah objek data.
Tahap Pembuatan Aplikasi: RAD dapat saja memakai kembali komponen program yang
sudah ada bila dimungkinkan, atau membuat komponen yang dapat digunakan lagi bila
diperlukan di masa mendatang. RAD juga diasumsikan menggunakan teknik generasi
keempat (4GT).
Tahap Pengujian dan Pergantian: Proses RAD menekankan pada pemakaian kembali yang
memungkinkan berkurangnya keseluruhan waktu pengujian, namun komponen harus diuji
dan harus dilatih secara penuh dan terintegrasi.
Kelebihan model RAD: tahap-tahap RAD membuatnya mampu untuk menggunakan
kembali komponen yang ada (reusable object), karena setiap komponen software dikerjakan
secara terpisah dengan tim-tim tersendiri sehingga dapat digunakan juga untuk aplikasi lain
yang pada akhirnya akan menghemat waktu. Penggunaan tim yang terpisah untuk
mengerjakan pekerjaan yang berbeda membuat pekerjaan lebih cepat dalam proses integrasi
dan efisien terhadap waktu tanpa mengacaukan aplikasi.
Kelemahan model RAD: Tidak begitu cocok untuk proyek dengan skala besar karena
dibutuhkan sumber daya manusia yang semakin banyak seiring dengan semakin banyaknya
komponen yang dikerjakan, selain itu, semakin besar proyek, semakin kompleks pula
koordinasi yang dibutuhkan. Dalam waktu yang singkat, rasanya sulit untuk pengembang
dan pemakai berkomitmen untuk melaksanakan berbagai kegiatan untuk melengkapi sistem.
Apalagi bila sistem ternyata tidak dapat dimodularisasi sementara sistem mempunyai resiko
teknik yang tinggi.
Model RAD sangat tepat diterapkan untuk sistem yang telah jelas dan lengkap
kebutuhannya, di mana terdapat komponen-komponen yang dapat dipakai kembali dalam
proyek yang berskala kecil dengan waktu pengembangan perangkat lunak yang singkat.
4.
4A.

Evolutionary software process model, terbagi dua:\


Incremental Model

Model ini merupakan hasil kombinasi elemen-elemen dari model waterfall yang
diaplikasikan secara berulang. Elemen-elemen tersebut dikerjakan hingga menghasilkan
produk dengan spesifikasi tertentu kemudian proses dimulai dari awal kembali hingga
muncul hasil yang spesifikasinya lebih lengkap dari sebelumnya dan tentunya memenuhi
kebutuhan pemakai.

Gambar 4. Incremental Model


Kelebihan model ini adalah mampu mengakomodasi perubahan secara fleksibel, dengan
waktu yang relatif singkat dan tidak dibutuhkan anggota/tim yang banyak untuk
menjalankannya.
Kekurangannya adalah tidak cocok untuk proyek berukuran besar (lebih dari 200.000 baris
coding) dan sulit untuk memetakan kebutuhan pemakai ke dalam rencana spesifikasi tiap-tiap
hasil dari increament.
Model ini cocok dipakai untuk proyek kecil dengan anggota tim yang sedikit dan
ketersediaan waktu yang terbatas.
4B.

Spiral Model/Spiral Boehm

Model ini mengadaptasi dua model perangkat lunak yang ada yaitu model prototyping
dengan pengulangannya dan model waterfall dengan pengendalian dan
sistematikanya. Model ini dikenal dengan sebutan Spiral Boehm. Pengembang dalam model
ini memadupadankan beberapa model umum tersebut untuk menghasilkan produk khusus
atau untuk menjawab persoalan-persoalan tertentu selama proses pengerjaan proyek.

Gambar 5. Model Spiral Boehm


Tahap-tahap model ini dapat dijelaskan secara ringkas sebagai berikut.
Tahap Liason: pada tahap ini dibangun komunikasi yang baik dengan calon
pengguna/pemakai
Tahap Planning (perencanaan): pada tahap ini ditentukan sumber-sumber informasi, batas
waktu dan informasi-informasi yang dapat menjelaskan proyek.
Tahap Analisis Resiko: mendefinisikan resiko, menentukan apa saja yang menjadi resiko
baik teknis maupun manajemen.
Tahap Rekayasa (engineering): pembuatan prototipe
Tahap Konstruksi dan Pelepasan (release): pada tahap ini dilakukan pembangunan
perangkat lunak yang dimaksud, diuji, diinstal dan diberikan sokongan-sokongan tambahan
untuk keberhasilan proyek.
Tahap Evaluasi: Pelanggan/pemakai/pengguna biasanya memberikan masukan berdasarkan
hasil yang didapat dari tahap engineering dan instalasi.
Kelebihan model ini adalah sangat mempertimbangkan resiko kemungkinan munculnya
kesalahan sehingga sangat dapat diandalkan untuk pengembangan perangkat lunak skala
besar. Pendekatan model ini dilakukan melalui tahapan-tahapan yang sangat baik dengan
menggabungkan model waterfall ditambah dengan pengulangan-pengulangan sehingga lebih
realistis untuk mencerminkan keadaan sebenarnya. Baik pengembang maupun pemakai dapat
cepat mengetahui letak kekurangan dan kesalahan dari sistem karena proses-prosesnya dapat
diamati dengan baik.

Kekurangan model ini adalah waktu yang dibutuhkan untuk mengembangkan perangkat
lunak cukup panjang demikian juga biaya yang besar. Selain itu, sangat tergantung kepada
tenaga ahli yang dapat memperkirakan resiko. Terdapat pula kesulitan untuk mengontrol
proses. Sampai saat ini, karena masih relatif baru, belum ada bukti apakah metode ini cukup
handal untuk diterapkan.
Model Boehm sangat cocok diterapkan untuk pengembangan sistem dan perangkat lunak
skala besar di mana pengembang dan pemakai dapat lebih mudah memahami kondisi pada
setiap tahapan dan bereaksi terhadap kemungkinan terjadinya kesalahan. Selain itu,
diharapkan juga waktu dan dana yang tersedia cukup memadai.
5.

Component Assembly Model (CAM/Model Perakitan Komponen)

Model ini merupakan gabungan dari berbagai sifat dan karakter dari model spiral Boehm dan
sangat erat keterikatannya dengan model RAD (Rapid Application Development) model
karena model CAM ini menggunakan peralatan-peralatan dan GUI (Graphic User Interface)
untuk membangun software. Dengan kata lain, pembuatan aplikasinya dibuat dari paket
perangkat lunak yang berisi serangkaian komponen yang telah ada sebelumnya. Namun,
waktu yang dibutuhkan dapat disesuaikan atau lebih efektif ketimbang harus mengerjakan
program dari awal.

Gambar 6. CAM
Tahapan-tahapan Model ini adalah:
Tahap Identifikasi calon-calon komponen (kelas objek); Tahap melihat komponen-komponen
dalam pustaka; Tahap mengekstrak komponen jika ada; Tahap membangun komponen jika
tidak ada; Tahap menyimpan komponen baru pada pustaka; Tahap mengkonstruksi iterasi ken dari sistem.
Kelebihan model ini adalah tinggal mencaplok atau menggunakan program atau komponen
yang sudah ada dan menyusunnya menjadi sebuah program yang lebih kompleks dan
berkembang sesuai dengan kebutuhan user/pengguna sehingga dapat mengefisienkan
penggunaan waktu dan tenaga. Selain itu, model ini juga menyediakan kemampuan untuk
memvisualisasikan hasil rakitan dengan kesanggupan untuk mengukur, menganalisa,
merancang dan merancang ulang program.

Kekurangan model ini adalah seringnya program atau komponen-komponen terdahulu tidak
kompatibel atau sejalan dengan model perakitan komponen ini sehingga untuk perusahaan
berskala kecil akan kesulitan menemukan komponen yang sesuai untuk dirakit.
Model ini sangat sesuai digunakan oleh perusahaan besar yang sudah berpengalaman
mengembangkan software. Mereka dapat memanfaatkan software-software yang telah umum
dikembangkan sebelumnya menjadi bentuk baru dari software yang ingin dikomersilkan.
6.

The Concurrent Development Model

Model ini disebut juga dengan concurrent engineering yang dapat digambarkan secara
skematik sebagai serial dari kegiatan teknis utama, tugas-tugas, dan hubungan antar
bagian-bagian yang saling terkait di mana aktifitas analisa seperti desain/rancangan atau
komunikasi pelanggan dapat diskemakan dengan cara yang sama.

Gambar 7. The Concurrent Development Model


Concurrent process model cocok digunakan untuk pengembangan aplikasi client/server
yang terdiri atas satu set komponen yang fungsional. Terdapat dua dimensi aktivitas yang
digambarkan oleh model ini sebagai berikut.
Dimensi sistem: terdapat tiga proses di dalamnya yakni perancangan, perakitan (assembly)
dan penggunaan (use).
Dimensi komponen: terdapat dua kegiatan utama yaitu perancangan dan realisasi.
Concurrency (pertemuan) dapat diperoleh dengan dua cara: 1) sistem dan komponen kegiatan
(aktifitas) terjadi secara simultan dan dapat diperagakan dengan memanfaatkan pendekatan
yang berdasar pada status sebelumnya; 2) aplikasi client/server yang bersifat unik/khas di

mana dapat diterapkan pada banyak komponen yang tiap-tiap komponen bisa dirancang dan
direalisasikan secara serentak.
7.

Formal Method Models

Pada model ini, digunakan notasi matematika yang terperinci dan penuh ketelitian dalam
mengidentifikasi desain dan menguji sistem yang berbasis komputer. Metode ini sering
dipakai untuk spesifikasi yang detail, rancangan dan verifikasi pada bagian-bagian sistem
yang penting (bersifat kritikal) seperti pada sistem avionic dan aerospace, serta pada sistem
keamanan yang kritikal pada monitor jantung, ATM (Anjungan Tunai Mandiri) dan pada
perbankan.
Secara khusus, metode formal sangat cocok dijalankan pada sistem yang kompleks.
8. Fourth Generation Techniques/Model Teknik Generasi ke-4/4GT

Gambar 8. Model Teknik Generasi ke-4


Istilah Fourth Generation Techniques (4GT) mencakup seperangkat peralatan
perangkat lunak yang berfungsi sebagai perangkat bantu yang memudahkan seorang
pengembang software mengaplikasi beberapa karakteristik software pada tingkat yang tinggi,
yang akan menghasilkan source code dan object code secara otomatis sesuai dengan
spesifikasi (persyaratan khusus) yang dibuat oleh sang pengembang perangkat lunak.
Dewasa ini, 4GT tools dipakai sebagai bahasa non prosedur untuk DataBase Query,
Pembentukan laporan (Report Generation), Manipulasi data, Definisi dan interaksi layar
(screen), Pembentukan object dan source ( Object and source generation ), Kemampuan
grafik yang tinggi, dan Kemampuan spreadsheet.
Tahapan-tahapan model 4GT dapat diringkas sebagai berikut.
Tahap Pengumpulan Kebutuhan: tahap ini dimulai dengan mengumpulkan serangkaian
kebutuhan yang nantinya akan diterjemahkan ke dalam prototipe. Namun, apabila pelanggan
tidak yakin dengan apa yang diperlukan dan fakta-fakta tidak jelas diketahui maka prototipe
tidak dapat dikerjakan oleh peralatan 4GT.
Tahap Merancang Strategi: tahap ini dibutuhkan untuk proyek besar yakni dengan
menterjemahkan kebutuhan menjadi prototipe operasional agar tidak timbul masalah yang

sama jika dibuat dengan model konvensional. Namun, untuk proyek skala kecil tahap ini
dapat dihilangkan dengan langsung melakukan implementasi dengan menggunakan bahasa
generasi keempat (4GT).
Tahap Implementasi Menggunakan Bahasa Keempat: untuk skala kecil tahap ini dapat
langsung dilakukan ketika kebutuhan telah jelas, dan untuk proyek besar tahapan ini
dijalankan setelah dirancang prototipe operasional. Implementasi yang menggunakan 4GT
memudahkan pengembang software untuk menjelaskan hasil yang diharapkan yang nantinya
akan diterjemahkan ke dalam bentuk kode sumber dan kode objek.
Tahap Produksi: Tahap ini merupakan langkah terakhir yakni mengubah
implementasi 4GT ke dalam hasil akhir berupa produk.
Kelebihan model ini adalah pengurangan waktu dan peningkatan produktivitas yang besar.
Kekurangan model ini adalah kemungkinan akan sulit memanfaatkan alat
bantu/peralatan/tools 4GT dibandingkan dengan menggunakan bahasa pemrograman yang
konvensional, selain itu terdapat juga masalah dalam hal kode sumber yang tidak efisien. Di
samping itu, pemeliharaan sistem software besar yang dikembangkan oleh 4GT juga masih
sedang dalam proses pengkajian.
Model ini diaplikasikan untuk mengembangkan perangkat lunak yang memakai bentuk
bahasa khusus atau notasi grafik yang dieksekusi/diselesaikan dengan syarat atau ketentuan
yang dipahami oleh pemakai/pengguna/kustomer.
No. 2 Andaikan Saya terpilih menjadi seorang manajer proyek pada sebuah perusahaan
kecil yang memproduksi perangkat lunak di mana tugas saya adalah membangun sebuah
aplikasi yang sangat mirip dengan aplikasi lain yang sudah dibangun sebelumnya, meskipun
yang satu ini lebih besar dan kompleks, sementara syarat-syarat sudah didokumentasikan
dengan teliti oleh pemakai.
Maka, struktur yang akan saya pilih adalah struktur table karena fleksibelitas rancangan
struktur table ini yang dapat menjelaskan dengan baik hubungan antar elemen/komponen
yang dijelaskan, hal tersebut memudahkan pengembang untuk menggunakannya.
Dan, model proses yang akan saya terapkan adalah RAD model (Rapid Aplication
Development), mengingat dalam tahapan RAD dapat digunakan kembali dokumentasi dari
pemakai yang sebelumnya telah ada. Dalam RAD ini terdapat tahapan di mana pengembang
harus mengetes atau menguji coba program,karena program terdahulunya masih dapat
dipakai, pengembang cukup melakukan testing terhadap program-program dan komponenkomponen baru saja sehingga dapat menghemat waktu. Oleh karena produksinya dilakukan
oleh perusahaan kecil dengan estimasi proyek berskala kecil dan tenaga manusianya (dalam
bentuk) tim dapat dipenuhi maka RAD sangat memungkinkan untuk diterapkan demi
efisiensi waktu dan kerja.
No. 3 Andaikan saya terpilih menjadi seorang manajer proyek pada sebuah perusahaan
besar yang memproduksi perangkat lunak, di mana tugas saya adalah mengatur
perkembangan versi generasi selanjutnya dari perangkat lunak pengolah kata produk yang
sudah dipakai sangat luas, sementara itu, kondisinya adalah kompetisi dan batas waktu yang
ketat sudah dibangun dan ditetapkan.

Maka, struktur yang akan saya pilih adalah struktur chart karena dapat menjelaskan
hubungan antar elemen/komponen dengan sangat baik, selain itu, interface yang
menghubungkan komponen-komponen dapat dengan mudah ditentukan seperti halnya dapat
ditetapkannya wujud dan penempatan komponen dalam tempat penyimpanan sekunder secara
fisik.
Dan, model proses yang akan saya terapkan adalah Component Assembly Model
(CAM/Model Perakitan Komponen) karena saya dapat menggunakan kembali programprogram dan peralatan-peralatan software yang sudah ada sebelumnya untuk dikembangkan
menjadi generasi berikutnya. Oleh karena ini adalah perusahaan besar yang tentunya telah
berpengalaman dengan software serupa, maka tools dan program yang akan digunakan untuk
CAM sudah kompatibel sehingga dapat mempersingkat waktu.
Apa itu Software ???
Software adalah kumpulan elemen-elemen atau item-item yang terdiri dari programprogram, data-data, dan dokumen-dokumen yang saling berkaitan yang membentuk suatu
konfigurasi. Dokumen-dokumen yang dimaksudkan di sini adalah petunjuk penggunaan
program dan data. Softwarejuga merupakan salah satu elemen penting dalam sistem operasi
komputer karena software yang bertugas untuk menghubungkan hardware(komputer) dengan
brainware(pengguna), sehingga pengguna dapat mengontrol komputer dengan mudah.

Macam-macam Software

1.
2.

3.
4.

5.
6.
7.
8.

Sekarang ini, Software terus berkembang dengan pesatnya dengan berbagai macam
kegunaan-kegunaannya yang memudahkan penggunanya dalam melaksanakan kegiatankegiatannya. Namun, software ini dapat kita kelompokkan menjadi beberapa macam, antara
lain :
System software, adalah software yang digunakan untuk menjalankan software atau
program yang lain. Contoh Windows, Linux, MacOS, dan lain-lain.
Real-Time software, adalah software yang digunakan untuk membaca keadaan lingkungan
sekitar pada saat yang sama. Contoh Sistem pembaca kecepatan angin, Sistem Navigasi, dan
lain-lain.
Business software, adalah software yang digunakan untuk membantu proses bisnis. Contoh
Point Of Sales(POS), Sistem Kontrol Stok Gudang, dan lain-lain.
Engineering and scientific software, adalah software yang digunakan untuk melakukan
pengukuran di bidang engineering dan sains. Contoh AutoCAD, Pro/ENGINEER, dan lainlain.
Embedded software, adalah software yang ditanamkan dalam sebuah perangkat keras.
Contoh sistem yang terdapat pada televisi, AC dan lain-lain.
PC software, adalah software yang digunakan secara pribadi. Contoh Windows Media
Player, Microsoft Office, dan lain-lain.
AI Software, adalah software yang dibuat dengan kecerdasan buatan. Contoh sistem yang
terdapat pada robot, sistem pakar, dan lain-lain
WEB application, adalah software yang digunakan dengan fasilitas internet. Contoh
Google Chrome, Mozilla Firefox, dan lain-lain.

Karakteristik Software

Ketika kita membuat software, ada beberapa karakteristif yang harus dipenuhi agar
software kita dapat digunakan sampai kapan pun. Karakteristik tersebut antara lain :
1.
Software dibangun/direncanakan. Dalam membangun software, kita harus membuat
rancangan software yang akan dibuat dan tidak seperti hardware yang dibuat secara masalah
karena setiap kebutuhan akan sebuah software berbeda-beda.
2.
Software tidak lekang oleh waktu. Karena software dapat terus diperbaiki jika terdapat
kesalahan.
3.
Kebanyakan software dibuat berdasarkan kebutuhan.
Setelah kita mengetahui mengenai software , selanjutnya kita membahas mengenai software
process.
Apa itu Software process ???

1.

2.

3.

4.

Software process adalah sekumpulan kegiatan-kegiatan yang saling berkaitan untuk


membangun sebuah sistem yang terdiri dari merancang sistem, mengimplementasi sistem,
melakukan testing dan melakukan pengembangan sistem. Ada juga konsep umum yang
bisanya digunakan dalam membangun sebuah sistem yang disebut Software Layer. Software
layer terbagi menjadi empat lapisan, yaitu :
A quality focus
Pada saat membuat sistem, focus pertama kali yang dibuat adalah kualitas sistem yang akan
kita buat itu seperti apa, sasaran penggunanya siapa saja, dan lain-lain.
Process model
Setelah A Quality Focus terpenuhi, maka kita harus megetahui proses-proses apa saja yang
terjadi agar A quality focus yang sudah direncanakan terpenuhi. Proses-proses yang lakukan
ini harus tepat dan terurut agar tidak terjadi kesalahan ketika sistem sedang bekerja.
Methods
Setelah Proses Model yang dibuat tersebut sudah tepat, maka kita memilih metode-metode
apa yang akan digunakan agar proses model yang dibuat dapat kita implementasikan ke
dalam sistem
Tools
Tools adala alat bantu yang digunakan dalam membuat sistem.

Anda mungkin juga menyukai