2. Software engineering paradigma (ada 3) :
1. Classic Life Cycle Paradigma
RPL
Model Software Engineering
(cont.)
SISTEM ENGINEERING
ANALYS
DESIGN
CODE
TESTING
MAINTENANCE
3. Kelebihan Model Sekuensial Linear / Waterfall Development Model :
Tahapan proses pengembangannya tetap (pasti), mudah diaplikasikan, dan prosesnya teratur.
Cocok digunakan untuk produk software/program yang sudah jelas kebutuhannya di awal, sehingga
minim kesalahannya.
Software yang dikembangkan dengan metode ini biasanya menghasilkan kualitas yang baik.
Documen pengembangan sistem sangat terorganisir, karena setiap fase harus terselesaikan dengan
lengkap sebelum melangkah ke fase berikutnya.
Kekurangan Model Sekuensial Linear / Waterfall Development Model :
• Proyek yang sebenarnya jarang mengikuti alur sekuensial seperti diusulkan, sehingga perubahan yang
terjadi dapat menyebabkan hasil yang sudah didapatkan tim pengembang harus diubah kembali/iterasi
sering menyebabkan masalah baru.
• Terjadinya pembagian proyek menjadi tahap-tahap yang tidak fleksibel, karena komitmen harus dilakukan
pada tahap awal proses.
• Sulit untuk mengalami perubahan kebutuhan yang diinginkan oleh customer/pelanggan.
• Pelanggan harus sabar untuk menanti produk selesai, karena dikerjakan tahap per tahap, dan proses
pengerjaanya akan berlanjut ke setiap tahapan bila tahap sebelumnya sudah benar-benar selesai.
• Perubahan ditengah-tengah pengerjaan produk akan membuat bingung tim pengembang yang sedang
membuat produk.
• Adanya waktu kosong (menganggur) bagi pengembang, karena harus menunggu anggota tim proyek
lainnya menuntaskan pekerjaannya.
4. Contoh dari penerapan model pengembangan ini adalah pembuatan program
pendaftaran online ke suatu Instansi Pendidikan. Program ini akan sangat membantu
dalam proses pendaftaran, karena dapat meng-efektifkan waktu serta pendaftar tidak
perlu repot-repot langsung mendatangi Instansi Pendidikan. Teknisnya adalah sebagai
berikut :
Sistem program untuk pendaftaran dibuat menggunakan bahasa pemrograman PHP,
dengan Sistem Database yang dibuat menggunakan MySQL, dan diterapkan
(diaplikasikan) pada PC (personal computer) dengan sistem operasi berbasis
Microsoft Windows, Linux, dan sebagainya.
Setelah program selesai dibuat dan kemudian dipergunakan oleh user, programmer
akan memelihara serta menambah atau menyesuaikan program dengan kebutuhan
serta kondisi user.
5. 2. Prototype Paradigma
RPL
Model Software Engineering
(cont.)
REQUIMENTS GATHERING
"QUICK DESIGN"
BUILD PROTOTYPE
EVALUATED AND REFINEMENTS
ENGINEER PRODUCT
6. Kelebihan Model Prototype :
•Pelanggan berpartisipasi aktif dalam pengembangan sistem, sehingga hasil produk pengembangan akan
semakin mudah disesuaikan dengan keinginan dan kebutuhan pelanggan.
•Penentuan kebutuhan lebih mudah diwujudkan.
•Mempersingkat waktu pengembangan produk perangkat lunak.
•Adanya komunikasi yang baik antara pengembang dan pelanggan.
•Pengembang dapat bekerja lebih baik dalam menentukan kebutuhan pelanggan.
•Lebih menghemat waktu dalam pengembangan sistem.
•Penerapan menjadi lebih mudah karena pelanggan mengetahui apa yang diharapkannya.
Kekurangan Model Prototype :
•Proses analisis dan perancangan terlalu singkat.
•Biasanya kurang fleksibel 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.
7. Sebuah rumah sakit ingin membuat aplikasi sistem database untuk pendataan
pasiennya. Seorang atau sekelompok programmer akan melakukan identifikasi
mengenai apa saja yang dibutuhkan oleh pelanggan, dan bagaimana model kerja
program tersebut. Kemudian dilakukan rancangan program yang diujikan kepada
pelanggan. Hasil/penilaian dari pelanggan dievaluasi, dan analisis kebutuhan pemakai
kembali di lakukan.
8. 3. Fourth Generation Technique Paradigma
RPL
Model Software Engineering
(cont.)
REQUIMENTS GATHERING
"DESIGN STRATEGICS"
IMPLEMENTATION USING 4GL
PRODUCT
9. Metode pengembangan perangkat lunak 4GT menggunakan perangkat bantu (tools)
yang akan membuat kode sumber secara otomatis berdasarkan spesifikasi dari
pengembang perangkat lunak. Hanya digunakan untuk menggunakan perangkat
lunak yang menggunakan bahasa khusus atau notasi grafik yang diselesaikan dengan
syarat yang dimengerti pemakai.
10. Saat ini pengembangan perangkat lunak yang mendukung 4GT, berisi tool-tool
berikut:
Bahasa non prosedural untuk query basis data;
Report generation;
Data manipulation ;
Interaksi layar ;
Kemampuan grafik level tinggi ;
Kemampuan spreadsheet .
11. Kelebihan dari metode pengembangan perangkat lunak ini diantaranya :
•Pengurangan waktu dan peningkatan produktivitas secara besar
•Karena 4GT menggunakan 4GL yang merupakan bahasa pemrograman yang khusus dirancang dengan
tujuan tertentu (spesifik), maka untuk permasalahan yang tertentu dengan 4GL tertentu pula sangat
tepat menggunakan 4GT.
•Tool yang menggunakan metode pengembangan perangkat lunak 4GL bisa meng-generate sistem dari
output yang dihasilkan oleh CASE tools.
Kekurangan metode pengembangan perangkat lunak ini
•Penggunaan perangkat bantu (tools) dibandingkan dengan bahasa pemrograman, dan juga kode
sumber yang dihasilkannya tidak efisien.
•Untuk usaha yang besar, dibutuhkan pengembangan strategi desain untuk sistem, walau digunakan
bahasa 4GL.
•Penggunaan 4GT tanpa perencanaan matang (untuk proyek besar) akan menyebabkan kesulitan yang
sama (kualitas dan pemeliharaan yang jelek, ketidakpuasan pelanggan) seperti dengan metode
konvensional.
•4GL tidak selalu berhasil menghasilkan sistem yang diinginkan.
12. 4. Model Kombinasi
RPL
Model Software Engineering
(cont.)
REQUIMENTS
GATHERINGS
PROTOTY PING
PROTOTY PE
APPLY
4GL
EVALUATE
ENGINEER
PRODUCT
CLASSIC LIFE
CYCLE
DAPAT LANGSUNG JIKA PENDEKATANNY A JELAS
14. Rational Unified Process (RUP) merupakan suatu model pengembangan sistem secara
objek oriented yang dikembangkan oleh Rational Rose, bagian dari IBM. Secara luas,
RUP telah diakui sebagai standar metodologi pengembangan sistem berorientasi
objek. Vesri asli dari RUP didefinisikan sangat rumit untuk setiap kegiatan, namun
versi terbaru dari RUP yakni metodologinya lebih sederhana.
>> RUP tepat digunakan saat kondisi :
a. Pengembangan perangkat lunak yang berorientasi objek dengan berfokus pada
UML (Unified Modeling Language).
b. Mempunyai waktu pengembangan yang panjang.
c. Dikembangkan pada perangkat lunak sebagai sarana interaksi antara pengguna dan
perangkat keras.
d. Mempunyai tim programmer yang cukup banyak.
e. Pengembangan dan perubahan perangkat lunak berdasarkan kebutuhan user.
15. >> Keuntungan Pengembangan Perangkat Lunak RUP :
a. Menyediakan akses yang mudah terhadap pengetahuan dasar bagi anggota tim.
b. Menyediakan petunjuk bagaimana menggunakan UML secara efektif.
c. Mendukung proses pengulangan dalam pengembangan software.
d. Memungkinkan adanya penambahan-penambahan pada proses.
e. Memungkinkan untuk secara sistematis mengontrol perubahan-perubahan yang terjadi
pada software selama proses pengembangannya.
f. Memungkinkan untuk menjalankan test case dengan menggunakan Rational Test Manager
Tool
>> Kekurangan Pengembangan Perangkat Lunak RUP :
a. Metodologi ini hanya dapat digunakan pada pengembangan perangkat lunak yang
berorientasi objek dengan berfokus pada UML (Unified Modeling Language).
b. Membutuhkan waktu yang cukup lama dibandingkan XP dan Scrum
Rational Unified Process (RUP)
16. Extreme Programming (XP)
XP merupakan suatu model yang tergolong dalam pendekatan agile yang diusulkan oleh Kent
Back. Menurut penjelasannya, definisi XP adalah sebagai berikut: “Extreme Programming (XP)
is a lightweight, efficient, low-risk, flexible, predictable, scientific, and fun way to develop
software”. Model ini cenderung menggunakan pendekatan Object-Oriented serta tahapan-
tahapan yang harus dilalui antara lain: Planning, Design, Coding, dan Testing.
Sasaran Extreme Programming 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 cepat. Extreme Programming merupakan agile methods yang
paling banyak digunakan dan menjadi sebuah pendekatan yang sangat terkenal.
17. >> XP tepat digunakan saat kondisi:
a. Keperluan berubah dengan cepat
b. Resiko tinggi dan ada proyek dengan tantangan yang baru
c. Tim programmer sedikit, yaitu 2-10 orang
d. Mampu mengotomatiskan tes
e. Ada campur tangan klien secara langsung
>> Kelemahan XP:
a. Cerita-cerita yang menunjukkan requirements kemungkinan besar tidak lengkap sehingga
Developer harus selalu siap dengan perubahan karena perubahan akan selalu diterima.
b. Tidak bisa membuat kode yang detail di awal (prinsip simplicity dan juga anjuran untuk
melakukan apa yang diperlukan hari itu juga).
c. XP tidak memiliki dokumentasi formal yang dibuat selama pengembangan. Satu-satunya
dokumentasi adalah dokumentasi awal yang dilakukan oleh user.
18. Agile Modeling
Agile Modeling merupakan filosofi tentang bagaimana membangun model dengan
beberapa diantaranya dilakukan dengan format yang terperinci sedangkan model lain
beberapa ada yang dilakukan secara samar dan minimalis. Agile Software
Development juga melihat pentingnya komunikasi antara anggota tim, antara orang-
orang teknis dan businessman, serta antara developer dan managernya. Ciri lain dari
Agile Software Development adalah klien menjadi bagian dari tim pembangun
software.
19. >> Kelebihan dari Agile Modeling:
a. Meningkatkan kepuasan kepada klien
b. Pembangunan sistem dibuat lebih cepat
c. Mengurangi resiko kegagalan implementasi software dari segi non-teknis
d. Jika pada saat pembangunan system terjadi kegagalan,kerugian dari segi materi
relative kecil.
>> Kelemahan dari Agile Modeling:
Developer harus selalu siap dengan perubahan karena perubahan akan selalu
diterima.
20. Scrum merupakan suatu kerangka kerja yang berupa deskripsi rinci tentang
bagaimana segala sesuatu yang harus dilakukan pada proyek. Hal ini dilakukan
dikarenakan tim akan tahu bagaimana cara terbaik untuk memecahkan masalah yang
disajikan untuk mereka.
Ada 3 elemen organisasi utama pada scrum yaitu :
OWNER
Scrum master
Scrum team
SCRUM Modeling
21. >> Scrum tepat digunakan saat kondisi:
a. Keperluan berubah dengan cepat
b. Tim programmer sedikit, yaitu 5-9 orang
c. Pelanggan tidak terlalu paham dengan apa yang diinginkan
>> Scrum memiliki prinsip yaitu:
a. Ukuran tim yang kecil melancarkan komunikasi, mengurangi biaya, dan
memberdayakan satu sama lain
b. Proses dapat beradaptasi terhadap perubahan teknis dan bisnis
c. Proses menghasilkan beberapa software increment
d. Pembangunan dan orang yang membangun dibagi dalam tim yang kecil
e. Dokumentasi dan pengujian terus menerus dilakukan setelah software dibangun
f. Proses scrum mampu menyatakan bahwa produk selesai kapanpun diperlukan
22. >> Kelebihan Scrum antara lain:
a. Keperluan berubah dengan cepat
b. Tim berukuran kecil sehingga melancarkan komunikasi, mengurangi biaya dan
memberdayakan satu sama lain
c. Pekerjaan terbagi-bagi sehingga dapat diselesaikan dengan cepat
d. Dokumentasi dan pengujian terus menerus dilakukan setelah software dibangun
e. Proses Scrum mampu menyatakan bahwa produk selesai kapanpun diperlukan
>> Kelemahan Scrum antara lain:
Developer harus selalu siap dengan perubahan karena perubahan akan selalu
diterima.
Notas del editor
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
Scrum Master dapat dianggap sebagai pelatih / guru bagi tim yang mengajarkan cara kerja lebih kolaboratif dan menyenangkan dalam mengembangkan software. Product Owner mewakili bisnis, pelanggan atau pengguna dan memandu tim ke arah pengembangan produk yang tepat. Sedangkan Scrum Team merupakan grup pengembang kecil biasanya terdiri dari 5-9 orang.
Untuk project yang sangat besar, biasanya pekerjaan akan dibagi dan didelegasikan ke grup-grup kecil. Jika sangat dibutuhkan scrum master juga dapat ikut membantu dalam koordinasi team.