4. Mampu mengetahui dan memahami Pengenalan Model - Model Proses
Mampu mengetahui dan memahami Pengenalan Model – Model Khusus
Mampu mengetahui dan memahami Siklus Proses Perangkat Lunak 1
Mampu mengetahui dan memahami Siklus Proses Perangkat Lunak 2
Mampu Mengetahui dan memahami Konsep Perancangan
Mampu Mengetahui dan memahami Analisis Perancangan Level Komponen
Mampu mengetahui dan memahami Analisis Perancangan Berbasis Pola
Ujian Tengah Semester
Mampu mengetahui dan memahami Analisis dan perancangan menggunakan UML
(Analysis and Design Using UML)
Mampu mengetahui dan memahami Konsep Diagram Use Case (Use Case Diagram)
Mampu Mengetahui dan Memahami Konsep Diagram Activity (Activity Diagram)
Mampu Mengetahui dan Memahami Konsep Diagram Sequence (Squance Diagram)
Mampu mengetahui dan Memahami Konsep Diagram Class (Class Diagram)
Mampu mengetahui dan Memahami Konsep Object Diagram
Mampu mengetahui dan Memahami Perancangan Konsep dan Prinsip Collaboration
Diagram
Ujian Akhir Semester
Materi Perkuliahan Teori
5. Pengenalan Java dan IDE
Eclipse
Android Studio
Database MySql or SQL Server
Materi Perkuliahan Praktek
6. Materi dapat dilihat di E-learning Kampus
http://elearning.potensi-utama.ac.id
untuk pertemuan 1 dan 7 (sebelum UTS) serta (setelah
UTS) 9 dan 15, maka setiap Dosen Wajib melakukan Zoom
(min 45 menit) (jikalau bisa setiap kuliah )
Untuk diskusi akan dilakukan melalui forum yang ada
dihalaman E-learning Kampung http://elearning.potensi-
utama.ac.id (wajib harus ada setiap perkuliahan
berlangsung).
Perkuliahan
8. Model Proses Generik
- Mendefinisikan framework activity
- Process Pattern
Model Perspektif
- Model Waterfall
- Model Incremental
- Model-model Evolusi
- Model-model Konkuren
Bahan Materi
9. Serangkaian proses terstruktur yang dibutuhkan
untuk mengembangkan sistem
Spesifikasi
Perancangan
Validasi
Evolusi
Model proses perangkat lunak adalah gambaran
abstrak dari suatu proses. Model ini menyajikan
deskripsi suatu proses dari beberapa sudut pandang
tertentu.
Pendahulan
10. Perancangan/pemodelan adalah pendeskripsian atau
gambaran bentuk tertentu sebelum memulai
pengkodingan. Konsep pemodelan berorientasi objek
merupakan konsep yang digunakan untuk
menyederhanakan segala jenis permasalahan yang
ada dalam sebuah sistem dengan menggunakan
banyak objek.
Konsep Perancangan Berorientasi
Objek
11. Model sistem perangkat lunak yang sistematis dan terstruktur
mempunyai tahapan- tahapan tertentu yang bisa dikembangkan
untuk menjadikan sebuah aplikasi atau sistem tersebut lebih baik.
Konsep yang digunakan untuk menyederhanakan segala jenis
permasalahan yang ada dalam sebuah sistem (tahap awal
pengembangan). Pemodelan sistem adalah proses
mengembangkan model sistem, dengan masing – masing model
mewakili perspektif yang berbeda dari sistem itu.
Aspek yang paling penting tentang model sistem
adalah bahwa ia meninggalkan detail. Ini adalah representasi
abstrak dari sistem. Model biasanya didasarkan pada notasi grafis,
yang hampir selalu didasarkan pada notasi dalam Unified Modeling
Language (UML). UML adalah bahasa pemodelan visual untuk
menjelaskan sebuah sistem perangkat lunak. Yang termasuk UML
antara lain Diagram Kelas, Diagram Activity, Diagram Use Case.
Pemodelan Sistem
12. – Media Komunikasi
– Sarana Pendukung Sistem
– Proses Pengujian
– Mendefinisikan Struktur
– Perilaku Sistem
Tujuan Pemodelan Perangkat Lunak
13. Metode pengembangan perangkat lunak terdapat beberapa
macam metode pengembangan diantaranya adalah metode
waterfall, metode prototype, metode spiral, metode RAD,
metode agile dan metode scrum.
Metode pengembangan perangkat lunak adalah suatu kerangka
aktivitas yang digunakan untuk membuat, merancang,
merencanakan, meningkatkan, dan mengaplikasikan fungsi
program.
Metode adalah suatu cara sistematis yang digunakan untuk
melaksanakan pekerjaan guna mencapai tujuan yang diinginkan.
Dapat disimpulkan bahwa pengertian metode pengembangan
perangkat lunak adalah sebuah cara sistematis untuk merancang
dan meningkatkan fungsi program agar pemakai lebih mudah
dalam mengoperasikan perangkat lunak.
Metode Pengembangan Perangkat
Lunak
14. Model Proses PL Generik
Model waterfall
Memisahkan dan membedakan fase-fase spesifikasi dan
pengembangan.
Pengembangan evolusioner
Spesifikasi, pengembangan, dan validasi bercampur aduk
RPL berbasis komponen
Sistem dirakit dari komponen yang ada.
Ada banyak varian dari model ini misalnya pengembangan
formal yang menggunakan proses mirip waterfall tapi
spesifikasinya adalah spesifikasi formal yang disesuaikan
melalui beberapa tahapan sampai menjadi rancangan yang
bisa diimplementasi.
15. Metode waterfall merupakan suatu proses
pengembangan perangkat lunak berurutan, model
berkembang secara sistematis dari satu tahap ke
tahap lain seperti halnya dengan air terjun, melewati
fase-fase perencanaan, pemodelan, implementasi
(konstruksi), dan pengujian.
pengenalan Model Waterfall
16. Fase Model Waterfall
Analisis dan definisi kebutuhan
Perancangan sistem dan perangkat lunak
Implementasi dan pengujian unit
Operasi dan pemeliharaan
17. Dalam metode waterfall, fase-fasenya berurutan sebagai berikut:
1. System And Modeling, mencari kebutuhan dari keseluruhan sistem
yang akan diaplikasikan ke dalam bentuk perangkat lunak.
2. Software Requirements Analysis, proses pencarian kebutuhan
diintensifkan dan difokuskan pada perangkat lunak.
3. Design, mengubah kebutuhan menjadi representasi ke dalam
bentuk blueprint perangkat lunak.
4. Coding, implementasi dari bentuk desain diubah menjadi bentuk
bahasa pemrograman yang dikerjakan oleh programmer.
5. Testing, Pengujicobaan fungsi-fungsi program agar terbebas dari
bug atau error.
6. Maintenance, Pemeliharaan suatu perangkat lunak dan di
dalamnya termasuk pengembangan.
Fase Model Waterfall
18. Masalah utama dari model ini adalah kesulitan untuk
mengakomodasi perubahan setelah proses berjalan.
Satu fase harus selesai sebelum pindah ke fase
selanjutnya.
Fase Model Waterfall
19. Masalah Model Waterfall
Pembagian proyek yang tidak fleksibel menjadi tahapan
yang berbeda membuatnya susah untuk menanggapi
kebutuhan pelanggan yang berubah.
Oleh sebab itu, model ini hanya cocok jika kebutuhan
sudah dimengerti dengan baik dan perubahan terbatas
selama proses perancangan.
Tidak banyak bisnis yang memiliki kebutuhan yang stabil.
Model ini kebanyakan digunakan untuk proyek rekayasa
sistem besar yang sistemnya dikembangkan pada
beberapa tempat.
20. Metode prototype merupakan proses pembuatan
model perangkat lunak yang pengembang dan
pengguna saling berinteraksi selama proses
pembuatan. Pengguna memiliki gambaran dasar
program dan diijinkan melakukan pengujian awal
sehingga pengembang dapat dengan mudah
memodelkan perangkat lunak yang akan dibuat
Metode Prototype
21. 1. Pengumpulan Kebutuhan, mengidentifikasi semua kebutuhan.
2. Membangun Prototyping, perencanaan sementara yang berfokus
pada penyajian pelanggan.
3. Evaluasi Prototyping , apakah sudah sesuai dengan keinginan
pelanggan.
4. Mengkodekan Sistem, disepakati diterjemahkan kedalam bahasa
pemrograman yang sesuai.
5. Menguji Sistem, mengetes sistem yang sudah menjadi perangkat
lunak yang siap dipakai.
6. Evaluasi Sistem, apakah sistem yang sudah jadi sudah sesuai
dengan yang diharapkan.
7. Menggunakan Sistem, perangkat lunak diterima pelanggan siap
dipakai.
Ada 7 tahapan metode prototype
yaitu:
22. Motode Spiral adalah gabungan dari Model
Prototyping dan Model Waterfall dengan penekanan
yang tinggi pada analisis risiko tiap tahapannya.
Metode Spiral
23. 1. Komunikasi, pemilik proyek menyampaikan kebutuhannya
kepada pengembang perangkat lunak.
2. Perencanaan mendetail tentang proyek yang digarap seperti
estimasi biaya, batas waktu, pengaturan jadwal, identifikasi
lingkungan kerja, sumber-sumber informasi untuk melakukan
literasi. Hasilnya adalah dokumen spesifikasi kebutuhan sistem.
3. Analisis untuk mengidentifikasi berbagai kemungkinan yang
bisa terjadi selama pengembangan dan menghasilkan suatu
solusi alternatif secara teknis untuk menyelesaikannya.
4. Pengembangan perangkat lunak.
5. Evaluasi dari pelanggan. Mereka dapat memberikan masukan
dan tanggapan, mengevaluasi produk kerja sesuai kebutuhan.
Metode spiral dilakukan dalam lima
langkah
24. Metode RAD (Rapid Application Development)
merupakan model proses untuk menghasilkan sebuah
sistem dengan penekanan pada mempersingkat
waktu pengerjaan dan proses agar segera mungkin
mengaplikasikan sistem perangkat lunak tersebut
secara cepat dan tepat.
Metode RAD (Rapid Application
Development)
25. 1. Requirements Planning
Pengguna dan pengembang bertemu untuk mengidentifikasi
tujuan dan syarat aplikasi, dimana seluruh pihak terlibat aktif
dalam setiap perumusannya.
2. RAD Design Workshop
Pengembang menunjukkan tampilan visual desain dan alur
kerja kepada pengguna. Berkomunikasi dengan pengguna
untuk merancang sistem. Pengguna menanggapi sehingga
pengembang bisa langsung menyempurnakannya.
3. Implementation
Implementasi dari desain ke bahasa pemrograman, sistem diuji
dan diperkenalkan.
Alur kerja hanya dibagi menjadi tiga
tahap
26. Metode Agile adalah kumpulan dari metode-metode
pengembangan perangkat lunak yang berbasis pada
iterative dan incremental model. agile memungkinkan
mengembangkan perangkat lunak yang memiliki
requirement yang mudah berubah dengan cepat.
Metode Agile
27. 1. Perencanaan, pengembang dan pengguna merencanakan tentang
kebutuhan untuk perangkat lunak yang akan dibuat.
2. Implementasi, proses dimana programmer melakukan
pengkodean perangkat lunak.
3. Tes Perangkat Lunak, menguji perangkat lunak yang telah dibuat
dan memperbaikinya jika terdapat bug agar kualitas perangkat
lunak terjaga.
4. Dokumentasi, proses dokumentasi perangkat lunak
mempermudah proses maintenance kedepannya.
5. Deployment, menguji kualitas sistem, setelah memenuhi syarat
maka perangkat lunak siap di deployment.
6. Pemeliharaan, perangkat lunak dipelihara secara berkala karena
tidak ada perangkat lunak yang 100% bebas dari bug
Tahapan metode agile ada 6
28. Scrum adalah kerangka kerja dalam pemodelan perangkat
lunak yang menggunakan metode perencanaan,
pengerjaan, pengecekan, dan tindak lanjut. Kesalahan yang
dilakukan banyak orang adalah pengecekan dan tindak
lanjut pekerjaan dilakukan setelah kerjaan itu selesai.
Dengan scrum, pengecekan dan tindak lanjut kerjaan
dilakukan selama pengerjaan. Ini mendorong untuk
melakukan perbaikan sesegera mungkin ketika sebuah
kesalahan terjadi. Dengan begitu suatu kerjaan akan lebih
cepat diperbaiki dan tidak perlu mengulang dari awal
sehingga lebih menghemat waktu
Metode Scrum
29. 1. Product Backlog, bertujuan menentukan prioritas dalam
mengerjakan sprint.
2. Sprint Planning Meeting, semua tim berkumpul
mengidentifikasi tugas masing-masing.
3. Daily Scrum, evaluasi karena proses untuk mendiskusikan
berbagai kendala.
4. Sprint Review Meeting, anggota tim mendemonstrasikan
yang sudah dikerjakannya dalam periode satu sprint.
5. Sprint Retrospective, anggota tim bisa menyampaikan
pendapat dan evaluasi mengenai kinerja selama
menerapkan scrum.
5 tahapan metode scrum
30. Pengembangan Evolusioner
Pengembangan eksploitori
Tujuannya adalah bekerja dengan pelanggan dan mengevolusi
sistem akhir dari spesifikasi kerangka awal. Harus dimulai
dengan kebutuhan yang telah dimengerti dengan baik dan
menambahkan fitur ketika diusulkan pelanggan.
Throw-away prototyping
Tujuannya adalah mengerti kebutuhan sistem. Harus dimulai
dengan kebutuhan yang tidak dimengerti dengan baik untuk
menjelaskan apa yang benar-benar dibutuhkan.
31. Pengembangan Evolusioner
Masalah
Kurangnya visibilitas proses
Sistem seringkali berstruktur buruk
Keahlian khusus mungkin dibutuhkan.
Penerapan
Untuk sistem interaktif ukuran sedang
Untuk bagian dari sistem besar (misalnya antarmuka
pengguna)
Untuk sistem umur pendek
33. RPL Berbasis Komponen
Berdasarkan pada penggunaan ulang sistematis di mana
sistem diintegrasikan dari komponen-komponen yang ada
atau sistem COTS.
Tahapan proses
Analisis komponen
Modifikasi kebutuhan
Perancangan sistem dengan penggunaan ulang
Pengembangan dan itegrasi
Pendekatan ini semakin banyak digunakan ketika standar
komponen muncul.
35. Iterasi Proses
Kebutuhan sistem SELALU berevolusi sepanjang
proyek sehingga iterasi proses dimana tahapan lebih
awal dikerja ulang selalu menjadi bagian proses untu
sistem besar.
Iterasi dapat diterapkan pada model proses generik
manapun.
Dua pendekatan (yang berhubungan)
Pengembangan meningkat;
Pengembangan spiral.
36. Pengembangan Meningkat
Pengembangan dan penyerahan dibagi menjadi
beberapa bagian yang meningkat dengan tiap
peningkatan menghasilkan bagian fungsionalitas yang
dibutuhkan.
Kebutuhan pengguna diprioritaskan dan kebutuhan
prioritas tertinggi dimasukkan dalam bagian awal.
Sekali pengembangan bagian dimulai, kebutuhan
dibekukan meskipun untuk peningkatan selanjutnya
dapat terus berevolusi.
38. Kelebihan Pengembangan Meningkat
Nilai pelanggang dapat dihasilkan dengan tiap
peningkatan sehingga fungsionalitas sistem tersedia
lebih awal.
Bagian awal berlaku sebagai purwarupa untuk
membantu memperoleh kebutuhan untuk
peningkatan selanjutnya.
Tingkat kegagalan keseluruhan proyek yang lebih
kecil
Layanan sistem prioritas tertinggi cenderung untuk
menerima pengujian terbesar.
39. Pemrograman Ekstrim
Pendekatan pengembangan berdasarkan pada
pengembangan dan penyampaian bagian yang sangat
kecil dari fungsionalitas.
Bersandarkan pada peningkatan kode konstan,
keterlibatan pengguna dalam tim pengembangan dan
pemrograman.
40. Pengembangan Spiral
Proses diwakili sebagai spiral dari pada sebagai urutan
aktivitas.
Tiap putaran dalam spiral mewakili satu fase dalam
proses.
Tidak ada fase tetap seperti spesifikasi atau
perancangan – putaran dalam spiral dipilih
berdasarkan apa yang dibutuhkan.
Resiko dinilai secara eksplisit dan diselesaikan
sepanjang proses.
42. Sektor Model Spiral
Penentuan tujuan
Tujuan spesifik untuk fase diidentifikasi
Penilaian dan pengurangan resiko
Resiko dinilai dan dilakukan aktivitas untuk mengurangi resiko
utama.
Pengembangan dan validasi
Model pengembangan untuk sistem yang dipilih dapat berupa
model generik manapun.
Perencanaan
Proyek diulas dan fase selanjutnya dari spiral direncanakan.
43. Aktivitas Proses
Spesifikasi perangkat lunak
Perancangan dan implementasi perangkat lunak
Validasi perangkat lunak
Evolusi perangkat lunak
44. Spesifikasi Perangkat Lunak
Proses penentuan layanan apa yang dibutuhkan dan
batasan pada operasi dan pengembangan sistem.
Proses rekayasa kebutuhan
Studi kelayakan;
Elisitasi dan analisis kebutuhan;
Spesifikasi kebutuhan;
Validasi kebutuhan.
46. Perancangan dan Implementasi
Proses mengkonversi spesifikasi sistem menjadi sistem
yang dapat dijalankan.
Perancangan perangkat lunak
Perancangan struktur perangkat lunak yang merealisasikan
spesifikasi;
Implementasi
Menerjemahkan struktur ini ke dalam program yang dapat
dijalankan;
Aktivitas perancangan dan implementasi berhubungan
dekat dan mungkin saling tumpang tindih.
47. Aktivitas Proses Perancangan
Perancangan arsitektur
Spesifikasi abstrak
Perancangan antarmuka
Perancangan komponen
Perancangan struktur data
Perancangan algoritma
49. Metode Terstruktur
Pendekatan sistematis untuk mengembangkan
perancangan perangkat lunak.
Rancangan biasanya didokumentasikan sebagai satu set
model grafis.
Model-model
Model objek;
Model urutan;
Model perubahan status;
Model struktural;
Model aliran data.
50. Pemrograman dan Debugging
Penerjemahan suatu rancangan menjadi program dan
menghilangkan kesalahan dari program tersebut.
Pemrograman merupakan aktivitas perorangan –
tidak ada proses pemrograman.
Para pemrogram melaksanakan pengujian program
untuk menemukan kegagalan dalam program dan
menghilangkan kegagalan ini dalam proses
debugging.
52. Validasi Perangkat Lunak
Verifikasi dan validasi (V & V) ditujukan untuk
menunjukkan bahwa sistem sesuai dengan
spesifikasinya dan memenuhi kebutuhan pelanggan
sistem.
Melibatkan proses pengecekan dan pengulasan serta
pengujian sistem.
Pengujian sistem melibatkan eksekusi sistem dengan
kasus pengujian yang dikembangkan dari spesifikasi
data sebenarnya yang akan diproses oleh sistem.
54. Tahapan Pengujian
Pengujian komponen atau unit
Komponen secara terpisah diuji;
Komponen mungkin berupa fungsi atau objek atau
pengelompokan koheren dari entitas ini.
Pengujian sistem
Pengujian sistem sebagai keseluruhan. Pengujian sifat
munculan merupakan hal yang penting.
Pengujian penerimaan
Pengujian dengan data pelanggan untuk memeriksa bahwa
sistem memenuhi kebutuhan pelanggan.
56. Evolusi Perangkat Lunak
Perangkat lunak pada dasarnya fleksibel dan dapat
berubah.
Karena perubahan kebutuhan melalui situasi bisnis
yang berubah, perangkat lunak yang mendukung
bisnis harus juga berevolusi dan berubah.
Meskipun telah ada batas antara pengembangan dan
evolusi (pemeliharaan), ini menjadi semakin tidak
relevan karena semakin sedikit sistem yang benar-
benar baru.
58. RUP
Model proses modern dikembangkan dari pengerjaan
UML dan proses yang berkaitan.
Normalnya dideskripsikan dari 3 sudut pandang
Sudut pandang dinamis yang menunjukkan fase-fase
Sudut pandang statis yang menunjukkan aktivitas-
aktivitas proses
Sudut pandang praktek yang menganjurkan praktek
yang baik.
60. Fase RUP
Permulaan
Membuat kasus bisnis untuk sistem.
Perluasan
Mengembangkan pemahaman dari ranah masalah dan
arsitektur sistem.
Konstruksi
Perancangan sistem, pemrograman, dan pengujian.
Transisi
Memasang sistem padal lingkungan operasinya.
61. Praktek Yang Baik RUP
Mengembangkan sistem secara iteratif
Mengelola kebutuhan
Menggunakan arsitektur berbasis komponen
Secara visual memodelkan perangkat lunak
Memverifikasi mutu perangkat lunak
Mengendalikan perubahan terhadap perangkat lunak
62. CASE
Computer-aided software engineering (CASE) adalah
perangkat lunak yang mendukung proses pengembangan
dan evolusi perangkat lunak.
Otomasi aktivitas
Penyunting grafis untuk pengembangan model sistem;
Kamus data untuk mengelola entitas rancangan;
Pembangun antarmuka pengguna grafis bagi konstruksi
antarmuka pengguna;
Debugger untuk mendukung pencarian kegagalan program;
Penertemah terotomasi untuk membangkitkan versi baru
program.
63. Hal-hal Penting
Proses perangkat lunak adalah aktivitas yang terlibat
dalam memproduksi dan mengevolusi sistem perangakat
lunak.
Model proses adalah gambaran abstrak dari proses-proses
ini.
Aktivitas umumnya adalah spesifikasi, perancangan dan
implementasi, validasi dan evolusi.
Model proses generic menggambarkan organisasi proses
perangkat lunak. Contohnya adalah model waterfall,
pengembangan evolusioner, dan RPL berbasis komponen.
Model proses iteratif menggambarkan proses perangkat
lunak sebagai siklus aktivitas.
64. Hal-hal Penting
Rekayasa kebutuhan merupakan proses
pengembangan spesifikasi perangkat lunak.
Proses perancangan dan implementasi mengubah
spesifikasi menjadi program yang dapat dijalankan.
Validasi melibatkan pemeriksaan bahwa sistem
memenuhi spesifikasinya dan keperluan pengguna.