02 Materi Software Deevelopment
02 Materi Software Deevelopment
2 SOFTWARE PROCESS
THE
INCREMENTAL MODEL
Pengembangan inkremental dalam
beberapa bentuk sekarang menjadi
pendekatan yang paling umum untuk
pengembangan sistem aplikasi dan
produk perangkat lunak.
THE
INCREMENTAL MODEL
Incremental bagian mendasar dari metode pengembangan agile.
THE
INCREMENTAL MODEL
Setiap peningkatan atau versi sistem menggabungkan
beberapa fungsionalitas yang dibutuhkan oleh pelanggan.
Keuntungan Utama
Permasalahan
INTEGRATION &
CONFIGURATION
Tiga jenis komponen perangkat lunak yang
sering digunakan kembali:
1. Sistem aplikasi yang berdiri sendiri /
mandiri merupakan sistem dengan
tujuan umum yang terdapat banyak
fitur tetapi diubah, dikonfigurasi,
diintegrasikan untuk bekerja di
lingkungan tertentu untuk kebutuhan
unik, sehingga menghasilkan sistem
tujuan tertentu.
2. Kumpulan objek yang dikembangkan
sebagai komponen atau sebagai paket
untuk diintegrasikan dengan kerangka
kerja komponen seperti Java Spring
Framework, Node.JS, Flutter, UI di
React, dll.
3. Layanan web yang dikembangkan
sesuai dengan standar layanan dan
tersedia untuk pemanggilan jarak jauh
melalui Internet, contoh: Payment
Gateway, Marketing Mail, dll.
INTEGRATION &
CONFIGURATION
Spesifikasi Persyaratan
INTEGRATION &
CONFIGURATION STAGES
Penemuan & Evaluasi
CONFIGURATION STAGES
Perbaikan
INTEGRATION &
CONFIGURATION STAGES
Konfigurasi
Pada fase ini, jika seluruh sistem dipilih, sistem tersebut akan dikonfigurasikan secara tunggal untuk
menyiapkan lingkungan guna menyediakan fungsionalitas yang diperlukan. Di sisi lain, jika sekumpulan
komponen dipilih, komponen-komponen tersebut dikonfigurasikan secara keseluruhan untuk bekerja
sama sebagai sistem yang benar-benar baru guna menyediakan fungsionalitas yang diperlukan; fase ini
dapat mengarah pada pembuatan komponen baru jika diperlukan.
Integrasi
Ini adalah fase terakhir, di mana semua komponen atau sistem yang dikonfigurasi diintegrasikan dan
diuji untuk memeriksa apakah komponen atau sistem tersebut berfungsi dan menyediakan
fungsionalitas yang diperlukan seperti yang diharapkan.
INTEGRATION &
CONFIGURATION STAGES
Rekayasa perangkat lunak yang berorientasi pada penggunaan ulang,
yang didasarkan pada konfigurasi dan integrasi, memiliki keuntungan
yang jelas dalam mengurangi jumlah perangkat lunak yang akan
dikembangkan sehingga mengurangi biaya dan risiko.
Hal ini biasanya juga mengarah pada pengiriman perangkat lunak yang
lebih cepat.
Namun demikian, kompromi persyaratan tidak dapat dihindari, dan hal ini
dapat menyebabkan sistem yang tidak memenuhi kebutuhan nyata
pengguna.
INTEGRATION &
CONFIGURATION STAGES
Model Incremental Model Air Terjun
Model pengembangan di mana keseluruhan model dibagi Model air terjun pertama-tama dilakukan pengembangan
menjadi berbagai sub fase pengembangan, di mana fase aplikasi dan setelah itu dilakukan pengujian aplikasi yang
pengujian yang sesuai untuk setiap fase pengembangan berbeda. Proses yang lengkap dibagi menjadi beberapa
adalah praktik. Untuk setiap tahapan dalam siklus tahap, dan masing-masing tahap mengalir ke tahap
Definisi pengembangan, terdapat fase pengujian terkait dan fase berikutnya, setelah selesai. Pengujian dilakukan pada akhir
pengujian terkait dari fase pengembangan direncanakan pengembangan.
secara paralel.
Pengerjaan tahapan yakni pengembangan dan pengujian Ini adalah pendekatan desain sekuensial yang relatif linier,
berlangsung secara berurutan, sehingga prosesnya bersifat karena setiap fase harus diselesaikan untuk mencapai fase
Jenis/Sifat berurutan/paralel. berikutnya. Jadi, jenis model ini bersifat Kontinu.
Setiap fase pengembangan diikuti dengan pengujiannya Pengujian dilakukan setelah pengembangan selesai. Oleh
sendiri. Jika ada validasi yang perlu diterapkan, maka karena itu, jika ada validasi yang hilang diidentifikasi untuk
Pengujian dan Validasi validasi tersebut dapat diterapkan pada tahap tersebut. diterapkan, maka fase pengembangan tersebut perlu
dikenali dan kemudian validasi tersebut diterapkan.
Karena fase-fase berurutan harus berfungsi, maka biayanya Karena pengembangan linier, hanya satu fase
lebih tinggi dibandingkan dengan Model Air Terjun. Selain pengembangan yang operasional sehingga biaya dan
Biaya dan Kompleksitas itu, kompleksitasnya lebih rumit. kompleksitasnya rendah dibandingkan dengan Model
Inkremental.
Kemungkinan jumlah total kekurangan dalam Kemungkinan jumlah total kekurangan dalam
Kekurangannya pengembangan aplikasi rendah karena pengujian dilakukan pengembangan aplikasi tinggi karena pengujian dilakukan
secara paralel dengan pengembangan. pasca pengembangan.
4 aktivitas proses dasar yaitu spesifikasi, pengembangan,
validasi, dan evolusi diorganisasikan secara berbeda dalam
proses pengembangan yang berbeda.
Requirements specification
Aktivitas menerjemahkan informasi yang dikumpulkan selama
analisis kebutuhan ke dalam dokumen yang mendefinisikan
serangkaian persyaratan.
Requirements validation
Memeriksa persyaratan untuk realisme, konsistensi, dan
kelengkapan. Selama proses ini, kesalahan dalam dokumen
persyaratan tidak dapat dihindari. Kemudian harus diubah
untuk memperbaiki masalah ini.
Database design
Merencanakan struktur data sistem dan bagaimana cara diwakili dalam database.
Pekerjaan di sini tergantung pada apakah database yang ada akan digunakan kembali
atau database baru akan dibuat.
Interface design
Tentukan antarmuka antara komponen sistem. Spesifikasi antarmuka ini harus jelas.
Dengan antarmuka yang tepat, sebuah komponen dapat digunakan oleh komponen
lain tanpa perlu mengetahui bagaimana implementasinya. Setelah spesifikasi
antarmuka disepakati, komponen-komponen dapat dirancang dan dikembangkan
secara terpisah.
Component selection and design
Mencari komponen yang dapat digunakan kembali dan, jika tidak ada komponen sesuai
yang tersedia, merancang komponen perangkat lunak baru. Ini bisa menjadi daftar
perubahan yang harus dilakukan pada komponen yang dapat digunakan kembali atau
model desain terperinci yang dinyatakan dalam UML. Model desain kemudian dapat
digunakan untuk secara otomatis menghasilkan implementasi.
Uji program, di mana sistem dieksekusi menggunakan data uji simulasi, adalah
teknik validasi utama. Validasi juga dapat melibatkan pemeriksaan proses, seperti
inspeksi dan peninjauan, di setiap tahap proses perangkat lunak mulai dari definisi
kebutuhan pengguna hingga pengembangan program.
Untuk produk yang dijual sebagai aplikasi, pengujian pelanggan terkadang disebut
pengujian beta di mana pengguna terpilih mencoba dan memberikan komentar
tentang perangkat lunak.
Benefits
Pengiriman berulang menjadi masalah ketika sistem baru dimaksudkan untuk
menggantikan sistem yang sudah ada. Pengguna memerlukan semua fungsionalitas
sistem lama dan biasanya tidak mau bereksperimen dengan sistem baru yang belum
lengkap.
Kebanyakan sistem memerlukan serangkaian fungsi dasar yang digunakan oleh
berbagai bagian sistem. Dan mungkin sulit untuk menemukan fasilitas umum yang
dibutuhkan oleh semua kalangan.
Kekurangannya
Peningkatan proses
berarti memahami proses
yang ada dan mengubah
proses tersebut untuk
meningkatkan kualitas
produk dan/atau
mengurangi biaya dan
waktu pengembangan.
PROCESS
IMPROVEMENT
Pendekatan kematangan proses
Berfokus pada peningkatan proses dan
manajemen proyek serta memperkenalkan
praktik rekayasa perangkat lunak yang baik
ke dalam organisasi. Tujuan utama dari
pendekatan ini adalah peningkatan kualitas
produk dan prediktabilitas proses.
Pendekatan agile
Berfokus pada pengembangan berulang dan
pengurangan biaya tambahan dalam proses
perangkat lunak. Karakteristik utamanya
adalah pengiriman fungsionalitas yang cepat
dan responsif terhadap perubahan
kebutuhan pelanggan.
TUGAS https://pressrelease.kontan.co.id/news/blu-by-bca-digital-umumkan-pertumbuhan-
bisinis-di-sepanjang-tahun-2023
1. Sebutkan dan jelaskan terkait dengan proses model yang digunakan berdasarkan kasus di atas dalam hal
SDLC (Software Development Life Cycle)
2. Jelaskan struktur organisasi yang terlibat di dalam SDLC mulai dari Planning sampai dengan Implementasi?
3. Pada fase testing di dalam SDLC Process berdasarkan kasus diatas, terdapat struktur organisasi testing yang
dibutuhkan beserta job descriptionnya, mohon dijelaskan yang Anda ketahui perihal dengan hal tersebut?
4. Sebutkan dan jelaskan perbedaan dari White Box Testing dengan Black Box Testing serta menurut Anda
berdasarkan kasus diatas termasuk ke dalam jenis testing yang seperti apa dan jelaskan?
TUGAS KELOMPOK