PERANGKAT LUNAK
REKAYASA
PERANGKAT LUNAK
Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt
nisi, eget sagittis mi tortor quis ipsum.
TUJUAN
Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt
nisi, eget sagittis mi tortor quis ipsum.
MATERI
Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt
nisi, eget sagittis mi tortor quis ipsum.
Pendahuluan
Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt
nisi, eget sagittis mi tortor quis ipsum.
Pendahuluan
Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt
nisi, eget sagittis mi tortor quis ipsum.
1. Model Proses Perangkat Lunak
Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt
nisi, eget sagittis mi tortor quis ipsum.
1. Model Proses Perangkat Lunak
Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt
nisi, eget sagittis mi tortor quis ipsum.
Lanjutan…
Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt
nisi, eget sagittis mi tortor quis ipsum.
Model Air Terjun (Waterfall)
Requirements
defi ni ti on
System and
software design
Impl ementation
and uni t testing
Integration and
system testing
Operation and
maintenance
Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt
nisi, eget sagittis mi tortor quis ipsum.
Model Air Terjun (Waterfall)
Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt
nisi, eget sagittis mi tortor quis ipsum.
Model Air Terjun (Waterfall)
Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt
nisi, eget sagittis mi tortor quis ipsum.
Model Air Terjun (Waterfall)
Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt
nisi, eget sagittis mi tortor quis ipsum.
Model Air Terjun (Waterfall)
• Lanjutan…
Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt
nisi, eget sagittis mi tortor quis ipsum.
Pengembangan Evolusioner
Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt
nisi, eget sagittis mi tortor quis ipsum.
Pengembangan Evolusioner
Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt
nisi, eget sagittis mi tortor quis ipsum.
Pengembangan Evolusioner
Concurrent
activities
Initial
Specification
version
Outline Intermediate
Development
description versions
Final
Validation
version
Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt
nisi, eget sagittis mi tortor quis ipsum.
Pengembangan Evolusioner
Keuntungannya adalah:
bahwa spesifikasi dapat dikembangkan secara
inkremental.
User mendapat pemahaman yang lebih baik dari
masalah mereka, sistem perangkat lunak dapat
merefleksikannya.
Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt
nisi, eget sagittis mi tortor quis ipsum.
Pengembangan Evolusioner
Ada tiga Masalah Dalam Pengembangan evolusioner
Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt
nisi, eget sagittis mi tortor quis ipsum.
Pengembangan Sistem Formal
• Pengembangan sistem formal merupakan pendekatan
terhadap pengembangan perangkat lunak yang memiliki
kesamaan dengan model air terjun, tetapi proses
pengembangannya didasarkan pada transformasi matematis
dari spesifikasi sistem menjadi program yang dapat
dijalankan.
• Perbedaan kritis antara pendekatan evolusioner dengan air
terjun adalah:
Spesifikasi persyaratan perangkat lunak diperbaiki menjadi
spesifikasi formal yang rinci yang dinyatakan dalam notasi
matematis.
Proses pengembangan perancangan,implementasi dan
pengujian unit digantikan oleh proses pengembangan
transformasional di mana spesifikasi formal
diperbaiki,melalui serangkaian transformasi menjadi
program.
Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt
nisi, eget sagittis mi tortor quis ipsum.
Pengembangan Sistem Formal
Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt
nisi, eget sagittis mi tortor quis ipsum.
Pengembangan Sistem Formal
Formal transformations
T1 T2 T3 T4
Formal R1 Executable
R2 R3
specifi cation program
P1 P2 P3 P4
Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt
nisi, eget sagittis mi tortor quis ipsum.
Pengembangan Sistem Formal
• Problems
Dibutuhkan ketrampilan dan pelatihan khusus
untuk mengaplikasikan teknik ini
Kesulitan dalam menspesifikasikan beberapa aspek
ke dalam sistem misalnya dalam penentuan user
interface
• Applicability
System kritis khususnya sistem yang
mengutamakan faktor keselamatan dan keamanan
sebelum sistem utamanya dioperasikan
Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt
nisi, eget sagittis mi tortor quis ipsum.
Pengembangan Berorientasi Pemakaian ulang
• Berdasarkan pada pendekatan pakai-ulang yang sistematik
dimana sistem dintegrasikan dari komponen-komponen yang
telah tersedia atau disebut COTS (Commercial-off-the-shelf)
system-system
Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt
nisi, eget sagittis mi tortor quis ipsum.
Pengembangan Berorientasi Pemakaian ulang
Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt
nisi, eget sagittis mi tortor quis ipsum.
Pengembangan Berorientasi Pemakaian ulang
Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt
nisi, eget sagittis mi tortor quis ipsum.
Proses Iterasi
• Dalam suatu project system requirements selalu mengalami
perubahan, itulah sebabnya iterasi proses pada tahapan awal
yang selalu dikerjakan berulang-ulang menjadi bagian dari
prosess pada system yang lebih besar.
• Iterasi dapat diterapkan pada setiap model proses yang
generik.
• Model Pendekatan Itersi:
1. Pengembangan Inkremental. Dimana spesifikasi,
perancangan dan implementasi perangkat lunak dibagi
menjadi serangkaian inkremen yang dikembangkan secara
bergantian.
2. Pengembangan Spiral. Dimana pengembangan sistem
seolah beralur membentuk spiral ke luar dari garis awal
sampai sistem pengembangan akhir.
Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt
nisi, eget sagittis mi tortor quis ipsum.
Proses Iterasi-(Pengembangan Inkremental)
• Bukan sekedar menghantarkan sistem sebagai “single
delivery”, development dan delivery dipecah menjadi
beberapa tahapan dimana tiap tahap akan mendeliver
bagian dari kebutuhan fungsionalitas sistem.
• Mengurangi pengerjaan ulang pada proses pengembangan
dan memberi kesempatan bagi pelanggan untuk menunda
keputusan persyaratan rinci sampai mereka memperoleh
pengalaman dengan sistem.
• Pada proses ini pelanggan mengidentifikasi, secara garis
besar, layanan (service) yang akan disediakan oleh sistem.
• Persyaratan pengguna diprioritiskan dan persyaratan
prioritas tertinggi dimasukkan dalam awal increment
Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt
nisi, eget sagittis mi tortor quis ipsum.
Proses Iterasi-(Pengembangan Inkremental)
Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt
nisi, eget sagittis mi tortor quis ipsum.
Proses Iterasi-(Pengembangan Inkremental)
Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt
nisi, eget sagittis mi tortor quis ipsum.
Proses Iterasi-(Pengembangan Inkremental)
Extreme programming:
Pendekatan baru pada tahapan pengembangan
dengan berbasis pada development and delivery of
very small increments of functionality
Mengacu pada pengembangan kode secara
konstan, pelibatan user dalam development team
dan pairwise programming
Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt
nisi, eget sagittis mi tortor quis ipsum.
Proses Iterasi-(Pengembangan Spiral)
Process direpresentasikan sebagai spiral bukan aktifitas
sequence dengan backtracking
Merupakan model proses perangkat lunak yang
memadukan wujud pengulangan dari model prototyping
dengan aspek pengendalian dan sistematika dari linear
sequential model.
Dalam model ini perangkat lunak dikembangkan dalam
suatu seri incremental release.
Setiap loop dalam spiral merupakan tahap dalam proses.
Tidak ada fase tetap seperti spesifikasi atau desain-loop
dalam spiral dipilih tergantung pada apa yang dibutuhkan.
Resiko secara eksplisit dinilai dan diselesaikan selama
proses.
Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt
nisi, eget sagittis mi tortor quis ipsum.
Proses Iterasi-(Pengembangan Spiral)
Determine objectives
Evaluate alternatives
alternatives and identify, resol ve risks
constraints Risk
analysis
Risk
analysis
Risk
analysis Opera-
Prototype 3 ti onal
Prototype 2 protoype
Risk
REVIEW analysis Proto-
type 1
Requi rements pl an Simul ati ons, models, benchmarks
Li fe-cycle pl an Concept of
Operati on S/W
requi rements Product
desi gn Detail ed
Requi rement desi gn
Development
pl an validati on Code
Desi gn Uni t test
Integrati on
and test plan V&V Integrati on
Plan next phase test
Acceptance
Service test Develop, verify
next-level product
Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt
nisi, eget sagittis mi tortor quis ipsum.
Proses Iterasi-(Pengembangan Spiral)
Setiap Untai Pada Spiral dibagi Menjadi Empat Sektor
Penentuan Tujuan
• Menentukan tujuan untuk phase yang diidentifikasi
Penilaian dan Pengurangan Resiko
• Resiko dikenali dan aktifitas dilakukan untuk mengurangi
sejumla resiko
Pegembangan Dan Validasi
• Model development system ditentukan yang memungkinkan
penggunaan berbagai model secara umum
Perencanaan
• Proyek ini ditinjau dan dibuat rencana untuk fase proyek
berikutnya
Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt
nisi, eget sagittis mi tortor quis ipsum.
Spesifikasi Perangkat Lunak
Proses ini untuk menentukan services apa yang
dibutuhkan dan batasan pada tahapan pengoperasian dan
pengembangan sistem.
Studi kelayakan
Spesifikasi Persyaratan
Validasi Persyaratan
Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt
nisi, eget sagittis mi tortor quis ipsum.
Spesifikasi Perangkat Lunak
Feasi bi li ty Requirements
study eli citati on and
analysi s
Requirements
specifi cati on
Feasi bi li ty Requirements
report val idati on
System
models
User and system
requirements
Requirements
document
Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt
nisi, eget sagittis mi tortor quis ipsum.
Perancangan Implementasi Perangkat Lunak
Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt
nisi, eget sagittis mi tortor quis ipsum.
Perancangan Implementasi Perangkat Lunak
Kegiatan-Kegiatan Proses Perancangan Yang Spesifik:
Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt
nisi, eget sagittis mi tortor quis ipsum.
Perancangan Implementasi Perangkat Lunak
Requirements
specifica
tion
Design acti
vities
Architectur
al Interface Component Data Algorithm
Abstract
design design design structur
e design
specifica
tion
design
Design pr
oducts
Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt
nisi, eget sagittis mi tortor quis ipsum.
Metode Perancangan
Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt
nisi, eget sagittis mi tortor quis ipsum.
Pemrograman Dan Debug
Merubah desain kedalam program dan menghilangkan
errors yang ditimbulkan dari program
Pemrograman merupakan kegiatan pribadi dan disini tidak
ada proses yang biasanya dipakai dan akan memulai
dengan komponen-komponen yang mereka ketahui.
Pemrogram melakukan beberapa pengujian untuk
menemukan kesalahan dalam program dan menghapus
kesalahan dalam proses debugging.
Debugger harus membuat hipotesis mengenai perilaku
program yang dapat terlihat, kemudian menguji hipotesis
ini dengan harapan menemukan kesalahan yang
menyebabkan penyimpangan output
Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt
nisi, eget sagittis mi tortor quis ipsum.
Pemrograman Dan Debug
Proses Debug
Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt
nisi, eget sagittis mi tortor quis ipsum.
Validasi Perangkat Lunak
Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt
nisi, eget sagittis mi tortor quis ipsum.
Validasi Perangkat Lunak
Uni t
testi ng
Module
testi ng
Sub-system
testing
System
testi ng
Acceptance
testi ng
Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt
nisi, eget sagittis mi tortor quis ipsum.
Validasi Perangkat Lunak
Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt
nisi, eget sagittis mi tortor quis ipsum.
Evolusi Perangkat Lunak
Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt
nisi, eget sagittis mi tortor quis ipsum.
Evolusi Sistem
Existing New
systems system
Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt
nisi, eget sagittis mi tortor quis ipsum.
Pendukung Proses Terotomasi
Computer-aided software engineering (CASE) adalah
software untuk mendukung software development dan
process evolusi.
Activity automation
Pengembangan model sistem grafis.
Pemahaman rancangan menggunakan kamus data yang
menyimpan informasi mengenai entitas dan hubungan
pada rancangan.
Pembuatan interface user dari deskripsi grafis yang dibuat
secara interaktif dengan user.
Debug program dengan menyediakan informasi mengenai
program yang sedang berjalan.
Penerjemahan program yang terotomasi dari bahasa
pemrograman
Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt
nisi, eget sagittis mi tortor quis ipsum.
Pendukung Proses Terotomasi
Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt
nisi, eget sagittis mi tortor quis ipsum.
Klasifikasi CASE
Pengklasifikasian CASE membantu kita dalam memahami
berbagai tipe dari CASE tools dan dukungannya terhadap
process activities.
CASE Tool dari tiga sudut pandang:
1. Sudut Pandang Fungsional. Di mana CASE Tool
diklasifikasikan menurut fungsinya.
2. Sudut Pandang Proses. Di mana CASE Tool
diklasifikasikan menurut kegiatan proses yang
didukungnya.
3. Sudut Pandang Integrasi. Di mana CASE Tool
diklasifikasikan menurut bagaimana mereka
diorganisasikan ke dalam unit-unit yang terintegrasi, yang
memberikan dukungan bagi satu kegiatan proses atau
lebih.
Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt
nisi, eget sagittis mi tortor quis ipsum.
Klasifikasi Fungsional dari CASE Tool
Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt
nisi, eget sagittis mi tortor quis ipsum.
Klasifikasi Berbasis Kegiatan dan CASE Tool
Reengineering tools
Testing tool s
Debuggi ng tools
Language-processi ng
tools
Prototypi ng tool s
Configuration
management tools
Documentation tools
Editing tool s
Pl anning tool s
Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt
nisi, eget sagittis mi tortor quis ipsum.
Tool, Workbench dan Lingkungan
CASE
technol ogy
Fi le Integrated Process-centred
Editors Compi lers
comparators environments environments
Analysi s and
Programming Testing
design
Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt
nisi, eget sagittis mi tortor quis ipsum.
Hal-Hal Penting
Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt
nisi, eget sagittis mi tortor quis ipsum.
Hal-Hal Penting(2)
Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt
nisi, eget sagittis mi tortor quis ipsum.