PROSES-PROSES PERANGKAT LUNAK...Mengerti secara garis besar, tentang model proses untuk rekayasa...

57
Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt nisi, eget sagittis mi tortor quis ipsum. PROSES-PROSES PERANGKAT LUNAK REKAYASA PERANGKAT LUNAK

Transcript of PROSES-PROSES PERANGKAT LUNAK...Mengerti secara garis besar, tentang model proses untuk rekayasa...

Page 1: PROSES-PROSES PERANGKAT LUNAK...Mengerti secara garis besar, tentang model proses untuk rekayasa persyaratan, pengembangan,pengujian dan evolusi perangkat lunak. Mengetahui teknologi

Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt

nisi, eget sagittis mi tortor quis ipsum.

PROSES-PROSES

PERANGKAT LUNAK

REKAYASA

PERANGKAT LUNAK

Page 2: PROSES-PROSES PERANGKAT LUNAK...Mengerti secara garis besar, tentang model proses untuk rekayasa persyaratan, pengembangan,pengujian dan evolusi perangkat lunak. Mengetahui teknologi

Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt

nisi, eget sagittis mi tortor quis ipsum.

Muhlis tahir

092904033

ptik a 09 unm

2

Page 3: PROSES-PROSES PERANGKAT LUNAK...Mengerti secara garis besar, tentang model proses untuk rekayasa persyaratan, pengembangan,pengujian dan evolusi perangkat lunak. Mengetahui teknologi

Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt

nisi, eget sagittis mi tortor quis ipsum.

Memahami konsep proses perangkat

lunak dan model proses perangkat lunak.

Memahami berbagai model proses dan

kapan model-model tersebut digunakan.

Mengerti secara garis besar, tentang

model proses untuk rekayasa persyaratan,

pengembangan,pengujian dan evolusi

perangkat lunak.

Mengetahui teknologi CASE sebagai

penunjang proses perangkat lunak.

TUJUAN

Page 4: PROSES-PROSES PERANGKAT LUNAK...Mengerti secara garis besar, tentang model proses untuk rekayasa persyaratan, pengembangan,pengujian dan evolusi perangkat lunak. Mengetahui teknologi

Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt

nisi, eget sagittis mi tortor quis ipsum.

1) Model Proses Perangkat Lunak

2) Iterasi Proses

3) Spesifikasi Perangkat Lunak

4) Perancangan dan Implementasi Perangkat Lunak.

5) Validasi Perangkat Lunak

6) Evolusi Perangkat Lunak

7) Pendukung Proses Yang Terotomasi

MATERI

Page 5: PROSES-PROSES PERANGKAT LUNAK...Mengerti secara garis besar, tentang model proses untuk rekayasa persyaratan, pengembangan,pengujian dan evolusi perangkat lunak. Mengetahui teknologi

Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt

nisi, eget sagittis mi tortor quis ipsum.

Proses perangkat lunak merupakan serangkaian

kegiatan dan hasil yang berhunbungan

dengannya,yang menuju pada dihasilkannya

produk perangkat lunak.

Kegiatan ini mencakup pengembangan perangkat

lunak mulai dari awal, walaupun kenyataannya

makin sering terjadi bahwa perangkat lunak yang

baru dikembangkan dengan memperluas dan

memodifikasi sistem yang telah ada.

Walaupun ada banyak proses perangkat lunak,

ada kegiatan-kegiatan mendasar yang umum bagi

semua proses perangkat lunak.

Pendahuluan

Page 6: PROSES-PROSES PERANGKAT LUNAK...Mengerti secara garis besar, tentang model proses untuk rekayasa persyaratan, pengembangan,pengujian dan evolusi perangkat lunak. Mengetahui teknologi

Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt

nisi, eget sagittis mi tortor quis ipsum.

Kegiatan Mendasar Perangkat Lunak

1. Penspesifikasikan Perangkat Lunak

2. Perancangan dan Implementasi Perangkat Lunak

3. Pemvalidasian Perangkat Lunak

4. Pengevolusian Perangkat Lunak

Pendahuluan

Page 7: PROSES-PROSES PERANGKAT LUNAK...Mengerti secara garis besar, tentang model proses untuk rekayasa persyaratan, pengembangan,pengujian dan evolusi perangkat lunak. Mengetahui teknologi

Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt

nisi, eget sagittis mi tortor quis ipsum.

Model proses perangkat lunak merupakan

representasi abstrak dari proses perangkat lunak.

Setiap model proses merepresentasikan suatu

proses dari sudut pandang tertentu sehingga hanya

memberikan informasi parsial mengenai proses

tersebut.

Model-model ini biasanya merupakan abstraksi

yang dapat digunakan untuk menjelaskan

pendekatan-pendekatan terhadap pengembangan

perangkat lunak.

Untuk banyak sistem besar, tentu saja, tidak

hanya ada satu proses perangkat lunak yang

digunakan.

1. Model Proses Perangkat Lunak

Page 8: PROSES-PROSES PERANGKAT LUNAK...Mengerti secara garis besar, tentang model proses untuk rekayasa persyaratan, pengembangan,pengujian dan evolusi perangkat lunak. Mengetahui teknologi

Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt

nisi, eget sagittis mi tortor quis ipsum.

• Model proses meliputi;

• Pendekatan Model Air terjun (Water fall),

Menempatkan semua aktifitas sesuai dengan

tahapan pada model Waterfall dengan memisahkan

dan membedakan antara spesifikasi dan

pengembangan

• Pengembangan yang berevolusi, Pendekatan

yang melanjutkan Aktifitas satu dan yang lainnya

dari Spesifikasi dan pengembangan serta validasi

secara cepat

1. Model Proses Perangkat Lunak

Page 9: PROSES-PROSES PERANGKAT LUNAK...Mengerti secara garis besar, tentang model proses untuk rekayasa persyaratan, pengembangan,pengujian dan evolusi perangkat lunak. Mengetahui teknologi

Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt

nisi, eget sagittis mi tortor quis ipsum.

• Pengembangan sistem Formal, Pendekatan

aktifitas bersasar suatu model sistem matematika

yang ditransformasikan ke implementasi,

• Pengembangan Sstem berbasis Re-use

(penggunaan ulang) komponen, sistem dibangun

dari komponen yang sudah ada dengan fokus

integrasi sistem.

Lanjutan…

Page 10: PROSES-PROSES PERANGKAT LUNAK...Mengerti secara garis besar, tentang model proses untuk rekayasa persyaratan, pengembangan,pengujian dan evolusi perangkat lunak. Mengetahui teknologi

Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt

nisi, eget sagittis mi tortor quis ipsum.

Model Air Terjun (Waterfall)

Requirementsdefini tion

System andsoftware design

Implementationand uni t testing

Integration andsystem testing

Operation andmaintenance

Page 11: PROSES-PROSES PERANGKAT LUNAK...Mengerti secara garis besar, tentang model proses untuk rekayasa persyaratan, pengembangan,pengujian dan evolusi perangkat lunak. Mengetahui teknologi

Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt

nisi, eget sagittis mi tortor quis ipsum.

Fase Model Air Terjun

1) Analisis Kebutuhan dan pendefinisiannya

2) Perancangan sistem dan Perangkat Lunak

3) Implementasi dan unit testing

4) Integrasi dan pengujian sistem

5) Pengoperasian dan perawatan

Model Air Terjun (Waterfall)

Page 12: PROSES-PROSES PERANGKAT LUNAK...Mengerti secara garis besar, tentang model proses untuk rekayasa persyaratan, pengembangan,pengujian dan evolusi perangkat lunak. Mengetahui teknologi

Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt

nisi, eget sagittis mi tortor quis ipsum.

Kelebihan Model Air Terjun

Mudah diterangkan kepada pelanggan yang tidak

biasa dengan pembangunan perisian

Model ini boleh memberikan pembangun perisian

pandangan tahap-tinggi semasa proses

pembangunan

Kebanyakan model lain adalah ubahsuai dari

model air terjun

Model Air Terjun (Waterfall)

Page 13: PROSES-PROSES PERANGKAT LUNAK...Mengerti secara garis besar, tentang model proses untuk rekayasa persyaratan, pengembangan,pengujian dan evolusi perangkat lunak. Mengetahui teknologi

Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt

nisi, eget sagittis mi tortor quis ipsum.

Kekurangan Model Terjun

Pembagian proyek yang tidak flexibel dalam

bentuk tahapan yang berbeda

Hal ini mengakibatkan kesulitan saat merespon

perubahan kebutuhan customer

Dengan demikian, model ini hanya akan sesuai

apabila kebutuhan telah disepakati dan dipahami

dengan baik antara customer dan developer

Model Air Terjun (Waterfall)

Page 14: PROSES-PROSES PERANGKAT LUNAK...Mengerti secara garis besar, tentang model proses untuk rekayasa persyaratan, pengembangan,pengujian dan evolusi perangkat lunak. Mengetahui teknologi

Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt

nisi, eget sagittis mi tortor quis ipsum.

• Lanjutan…

Tidak menggambarkan cara kod dihasilkan –

kecuali sesuatu perisian itu sudah benar-benar

difahami

Tidak menyediakan panduan untuk

mengendalikan sebarang perubahan yang berlaku

pada produk dan aktiviti

Gagal untuk mengganggap perisian sebagai satu

proses penyelesaian masalah – model air terjun

adalah hasil dari proses pembangunan perkakasan

Model Air Terjun (Waterfall)

Page 15: PROSES-PROSES PERANGKAT LUNAK...Mengerti secara garis besar, tentang model proses untuk rekayasa persyaratan, pengembangan,pengujian dan evolusi perangkat lunak. Mengetahui teknologi

Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt

nisi, eget sagittis mi tortor quis ipsum.

• Pengembangan Evolusioner berdasarkan pada ide untuk

mengembangkan implementasi awal, memperlihatkan kepada

user untuk dikomentari, dan memperbaikinya versi demi versi

sampai sistem yang memenuhi persyaratan.

• Tidak ada kegiatan spesifikasi,pengembangan, dan validasi

yang terpisah, alih-alih kegiatan-kegiatan ini dilakukan pada

saat yang bersamaan dengan umpan balik yang cepat untuk

masing-masing kegiatan.

Pengembangan Evolusioner

Page 16: PROSES-PROSES PERANGKAT LUNAK...Mengerti secara garis besar, tentang model proses untuk rekayasa persyaratan, pengembangan,pengujian dan evolusi perangkat lunak. Mengetahui teknologi

Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt

nisi, eget sagittis mi tortor quis ipsum.

• Dua jenis pengembangan evolusioner:

I. Pengembangan Eksploratori. Bekerja dengan

pelanggan untuk menyelidiki persyaratan mereka

dan mengirimkan sistem akhir.

II. Prototipe Yang Dapat Dibuang (Throw-Away).

Memahami persyaratan pelanggan dan dengan

demikian mengembangkan definisi persyaratan

yang lebih untuk sistem.

Pengembangan Evolusioner

Page 17: PROSES-PROSES PERANGKAT LUNAK...Mengerti secara garis besar, tentang model proses untuk rekayasa persyaratan, pengembangan,pengujian dan evolusi perangkat lunak. Mengetahui teknologi

Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt

nisi, eget sagittis mi tortor quis ipsum.

Pengembangan Evolusioner

Validation Finalversion

Development Intermediateversions

Specification Ini tialversion

Outlinedescription

Concurrentactivities

Page 18: PROSES-PROSES PERANGKAT LUNAK...Mengerti secara garis besar, tentang model proses untuk rekayasa persyaratan, pengembangan,pengujian dan evolusi perangkat lunak. Mengetahui teknologi

Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt

nisi, eget sagittis mi tortor quis ipsum.

• Pendekatan evolusioner erhadap pengembangan

pendekatan air terjun dalam menghasilkan sistem

yang memenuhi kebutuhan langsung dari

pelanggan.

Keuntungannya adalah:

bahwa spesifikasi dapat dikembangkan secara

inkremental.

User mendapat pemahaman yang lebih baik dari

masalah mereka, sistem perangkat lunak dapat

merefleksikannya.

Pengembangan Evolusioner

Page 19: PROSES-PROSES PERANGKAT LUNAK...Mengerti secara garis besar, tentang model proses untuk rekayasa persyaratan, pengembangan,pengujian dan evolusi perangkat lunak. Mengetahui teknologi

Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt

nisi, eget sagittis mi tortor quis ipsum.

Ada tiga Masalah Dalam Pengembangan evolusioner

I. Proses Tidak Bisa Dilihat

II. Sistem Seringkali Memiliki Struktur Yang Buruk

III. Mungkin Diperlukan Alat Bantu Dan Teknik Khusus.

IV. Untuk Sistem Kecil (kurang dari 100.000 baris kode)

V. Untuk Sistem Menengah(sampai 500.000 baris kode)

VI. Waktu Hidup Yang Pendek Bagi Pengembangan Sistem

Yang Besar.

Pengembangan Evolusioner

Page 20: PROSES-PROSES PERANGKAT LUNAK...Mengerti secara garis besar, tentang model proses untuk rekayasa persyaratan, pengembangan,pengujian dan evolusi perangkat lunak. Mengetahui teknologi

Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt

nisi, eget sagittis mi tortor quis ipsum.

• 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.

Pengembangan Sistem Formal

Page 21: PROSES-PROSES PERANGKAT LUNAK...Mengerti secara garis besar, tentang model proses untuk rekayasa persyaratan, pengembangan,pengujian dan evolusi perangkat lunak. Mengetahui teknologi

Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt

nisi, eget sagittis mi tortor quis ipsum.

Pengembangan Sistem Formal

Page 22: PROSES-PROSES PERANGKAT LUNAK...Mengerti secara garis besar, tentang model proses untuk rekayasa persyaratan, pengembangan,pengujian dan evolusi perangkat lunak. Mengetahui teknologi

Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt

nisi, eget sagittis mi tortor quis ipsum.

Pengembangan Sistem Formal

R2Formalspecification R3 Executable

program

P2 P3 P4

T1 T2 T3 T4

Proofs of transformation correctness

Formal transformations

R1

P1

Page 23: PROSES-PROSES PERANGKAT LUNAK...Mengerti secara garis besar, tentang model proses untuk rekayasa persyaratan, pengembangan,pengujian dan evolusi perangkat lunak. Mengetahui teknologi

Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt

nisi, eget sagittis mi tortor quis ipsum.

• 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

Pengembangan Sistem Formal

Page 24: PROSES-PROSES PERANGKAT LUNAK...Mengerti secara garis besar, tentang model proses untuk rekayasa persyaratan, pengembangan,pengujian dan evolusi perangkat lunak. Mengetahui teknologi

Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt

nisi, eget sagittis mi tortor quis ipsum.

• 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

• Tahap Proses ini :

Component analysis(Analisis Komponen)

Requirements modification(Modifikasi Persyaratan)

System design with reuse(Perancangan Sistem dengan Pemakaian Ulang)

Development and integration(Pengembangan Dan Integrasi)

• Pendekatan ini menjadi sangat penting namun kajian dan

pengalaman masih sangat terbatas

Pengembangan Berorientasi Pemakaian ulang

Page 25: PROSES-PROSES PERANGKAT LUNAK...Mengerti secara garis besar, tentang model proses untuk rekayasa persyaratan, pengembangan,pengujian dan evolusi perangkat lunak. Mengetahui teknologi

Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt

nisi, eget sagittis mi tortor quis ipsum.

Pengembangan Berorientasi Pemakaian ulang

Requirementsspecification

Componentanalysis

Developmentand integration

System designwith reuse

Requirementsmodification

Systemval idation

Page 26: PROSES-PROSES PERANGKAT LUNAK...Mengerti secara garis besar, tentang model proses untuk rekayasa persyaratan, pengembangan,pengujian dan evolusi perangkat lunak. Mengetahui teknologi

Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt

nisi, eget sagittis mi tortor quis ipsum.

• Model ini mempunyai keuntungan yang nyata yaitu

mengurangi besarnya perangkat lunak yang akan

dikembangkan, serta memperkecil biaya dan resiko.

• Memungkinkan penyelesaian perangkat lunak

dengan cepat.

Pengembangan Berorientasi Pemakaian ulang

Page 27: PROSES-PROSES PERANGKAT LUNAK...Mengerti secara garis besar, tentang model proses untuk rekayasa persyaratan, pengembangan,pengujian dan evolusi perangkat lunak. Mengetahui teknologi

Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt

nisi, eget sagittis mi tortor quis ipsum.

• 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.

Proses Iterasi

Page 28: PROSES-PROSES PERANGKAT LUNAK...Mengerti secara garis besar, tentang model proses untuk rekayasa persyaratan, pengembangan,pengujian dan evolusi perangkat lunak. Mengetahui teknologi

Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt

nisi, eget sagittis mi tortor quis ipsum.

• 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

Proses Iterasi-(Pengembangan Inkremental)

Page 29: PROSES-PROSES PERANGKAT LUNAK...Mengerti secara garis besar, tentang model proses untuk rekayasa persyaratan, pengembangan,pengujian dan evolusi perangkat lunak. Mengetahui teknologi

Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt

nisi, eget sagittis mi tortor quis ipsum.

Proses Iterasi-(Pengembangan Inkremental)

Validateincrement

Develop systemincrement

Design systemarchi tecture

Integrateincrement

Validatesystem

Define outl ine requirements

Assign requirements to increments

System incomplete

Finalsystem

Page 30: PROSES-PROSES PERANGKAT LUNAK...Mengerti secara garis besar, tentang model proses untuk rekayasa persyaratan, pengembangan,pengujian dan evolusi perangkat lunak. Mengetahui teknologi

Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt

nisi, eget sagittis mi tortor quis ipsum.

Kebutuhan customer dapat di-delivered di tiap-

tiap increment sehingga sistem akan tersedia lebih

awal.

increments awal bertindak sebagai prototype

untuk membantu menentukan kebutuhan untuk

increment selanjutnya.

Menurunkan resiko kegagalan proyek secara

keseluruhan.

Layanan prioritas yang paling tertinggi sistem

cenderung untuk menerimanya.

Proses Iterasi-(Pengembangan Inkremental)

Page 31: PROSES-PROSES PERANGKAT LUNAK...Mengerti secara garis besar, tentang model proses untuk rekayasa persyaratan, pengembangan,pengujian dan evolusi perangkat lunak. Mengetahui teknologi

Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt

nisi, eget sagittis mi tortor quis ipsum.

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

Proses Iterasi-(Pengembangan Inkremental)

Page 32: PROSES-PROSES PERANGKAT LUNAK...Mengerti secara garis besar, tentang model proses untuk rekayasa persyaratan, pengembangan,pengujian dan evolusi perangkat lunak. Mengetahui teknologi

Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt

nisi, eget sagittis mi tortor quis ipsum.

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.

Proses Iterasi-(Pengembangan Spiral)

Page 33: PROSES-PROSES PERANGKAT LUNAK...Mengerti secara garis besar, tentang model proses untuk rekayasa persyaratan, pengembangan,pengujian dan evolusi perangkat lunak. Mengetahui teknologi

Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt

nisi, eget sagittis mi tortor quis ipsum.

Proses Iterasi-(Pengembangan Spiral)

Riskanalysis

Riskanalysis

Riskanalysis

Riskanalysis Proto-

type 1

Prototype 2Prototype 3

Opera-tionalprotoype

Concept ofOperation

Simulations, models, benchmarks

S/Wrequirements

Requirementvalidation

DesignV&V

Productdesign Detailed

design

CodeUni t test

IntegrationtestAcceptance

testService Develop, verifynext-level product

Evaluate alternativesidentify, resolve risks

Determine objectivesalternatives andconstraints

Plan next phase

Integrationand test plan

Developmentplan

Requirements planLife-cycle plan

REVIEW

Page 34: PROSES-PROSES PERANGKAT LUNAK...Mengerti secara garis besar, tentang model proses untuk rekayasa persyaratan, pengembangan,pengujian dan evolusi perangkat lunak. Mengetahui teknologi

Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt

nisi, eget sagittis mi tortor quis ipsum.

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

Proses Iterasi-(Pengembangan Spiral)

Page 35: PROSES-PROSES PERANGKAT LUNAK...Mengerti secara garis besar, tentang model proses untuk rekayasa persyaratan, pengembangan,pengujian dan evolusi perangkat lunak. Mengetahui teknologi

Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt

nisi, eget sagittis mi tortor quis ipsum.

Proses ini untuk menentukan services apa yang

dibutuhkan dan batasan pada tahapan pengoperasian dan

pengembangan sistem.

Ada 4 Fase Utama Pada Proses Rekayasa Persyaratan:

Studi kelayakan

Elisitasi Dan Analisis Persyaratan

Spesifikasi Persyaratan

Validasi Persyaratan

Spesifikasi Perangkat Lunak

Page 36: PROSES-PROSES PERANGKAT LUNAK...Mengerti secara garis besar, tentang model proses untuk rekayasa persyaratan, pengembangan,pengujian dan evolusi perangkat lunak. Mengetahui teknologi

Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt

nisi, eget sagittis mi tortor quis ipsum.

Spesifikasi Perangkat Lunak

Feasibi li tystudy

Requirementselicitation and

analysi sRequirementsspecification

Requirementsval idation

Feasibi li tyreport

Systemmodels

User and systemrequirements

Requirementsdocument

Page 37: PROSES-PROSES PERANGKAT LUNAK...Mengerti secara garis besar, tentang model proses untuk rekayasa persyaratan, pengembangan,pengujian dan evolusi perangkat lunak. Mengetahui teknologi

Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt

nisi, eget sagittis mi tortor quis ipsum.

Proses mengkonversi spesifikasi system

specification kedalam executable system

Desain Sotwre

– Desain struktur software yng mengacu pada dokumen specification

Implementation

– Struktur ini Terjemahkan ke dalam suatu program executable

Aktifitas desain dan implementasi sangatlah

berdekatan dan kadang saling tumpang tindih

Perancangan Implementasi Perangkat Lunak

Page 38: PROSES-PROSES PERANGKAT LUNAK...Mengerti secara garis besar, tentang model proses untuk rekayasa persyaratan, pengembangan,pengujian dan evolusi perangkat lunak. Mengetahui teknologi

Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt

nisi, eget sagittis mi tortor quis ipsum.

Kegiatan-Kegiatan Proses Perancangan Yang Spesifik:

I. Perancangan Arsitektural (Architectural design)

II. Spesifikasi Abstrak (Abstract specification)

III. Perancangan Inteface (Interface design)

IV. Perancangan Komponen (Component design)

V. Perancangan Struktur Data (Data structure design)

VI. Perancangan Algoritma (Algorithm design)

Perancangan Implementasi Perangkat Lunak

Page 39: PROSES-PROSES PERANGKAT LUNAK...Mengerti secara garis besar, tentang model proses untuk rekayasa persyaratan, pengembangan,pengujian dan evolusi perangkat lunak. Mengetahui teknologi

Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt

nisi, eget sagittis mi tortor quis ipsum.

Perancangan Implementasi Perangkat Lunak

Architecturaldesign

Abstractspecification

Interfacedesign

Componentdesign

Datastructuredesign

Algorithmdesign

Systemarchitecture

Softwarespecification

Interfacespecification

Componentspecification

Datastructure

specification

Algorithmspecification

Requirementsspecification

Design activities

Design products

Page 40: PROSES-PROSES PERANGKAT LUNAK...Mengerti secara garis besar, tentang model proses untuk rekayasa persyaratan, pengembangan,pengujian dan evolusi perangkat lunak. Mengetahui teknologi

Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt

nisi, eget sagittis mi tortor quis ipsum.

Pendekatan sistemastis untuk mengembangkan

desain sofware.

Desain biasanya didokumentasikan sebagai satu

set model grafis.

Kemungkinan model menjadi:

Data Flow Model

Hubungan Entitas-Atribut Model

Model Struktural

Model Berorintasi Objek

Metode Perancangan

Page 41: PROSES-PROSES PERANGKAT LUNAK...Mengerti secara garis besar, tentang model proses untuk rekayasa persyaratan, pengembangan,pengujian dan evolusi perangkat lunak. Mengetahui teknologi

Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt

nisi, eget sagittis mi tortor quis ipsum.

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

Pemrograman Dan Debug

Page 42: PROSES-PROSES PERANGKAT LUNAK...Mengerti secara garis besar, tentang model proses untuk rekayasa persyaratan, pengembangan,pengujian dan evolusi perangkat lunak. Mengetahui teknologi

Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt

nisi, eget sagittis mi tortor quis ipsum.

Pemrograman Dan Debug

Locateerror

Designerror repair

Repairerror

Re-testprogram

Proses Debug

Page 43: PROSES-PROSES PERANGKAT LUNAK...Mengerti secara garis besar, tentang model proses untuk rekayasa persyaratan, pengembangan,pengujian dan evolusi perangkat lunak. Mengetahui teknologi

Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt

nisi, eget sagittis mi tortor quis ipsum.

• Verification dan validation diperlukan untuk

menunjukkan bahwa system telah sesuai dengan

spesifikasinya dan memenuhi kebutuhan dari

customer

• Melibatkan checking dan review proses serta

system testing

• System testing meliputi mengeksekusi system

dengan skenario test yang diturunkan dari

spesifikasi data real untuk diproses oleh system

Validasi Perangkat Lunak

Page 44: PROSES-PROSES PERANGKAT LUNAK...Mengerti secara garis besar, tentang model proses untuk rekayasa persyaratan, pengembangan,pengujian dan evolusi perangkat lunak. Mengetahui teknologi

Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt

nisi, eget sagittis mi tortor quis ipsum.

Validasi Perangkat Lunak

Sub-systemtesting

Moduletesting

Uni ttesting

Systemtesting

Acceptancetesting

Componenttesting

Integration testing Usertesting

Proses Pengujian

Page 45: PROSES-PROSES PERANGKAT LUNAK...Mengerti secara garis besar, tentang model proses untuk rekayasa persyaratan, pengembangan,pengujian dan evolusi perangkat lunak. Mengetahui teknologi

Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt

nisi, eget sagittis mi tortor quis ipsum.

Tahap-Tahap Pada Proses Pengujian:

I. Pengujian Unit. Masing Masing Komponen Diuji.

II. Pengujian Modul. Terkait koleksi komponen tergantung

diuji.

III. Pengujian SubSistem. Modul diintegrasikan ke dalam

subsistem dan diuji. Disini harus fokus dalam pengujian

interface.

IV. Pengujian Sistem. Pengujian secara Keseluruhan.

V. Pengujian Penerimaan. Pengujian data pelanggan untuk

memeriksa kinerja sistem.

Validasi Perangkat Lunak

Page 46: PROSES-PROSES PERANGKAT LUNAK...Mengerti secara garis besar, tentang model proses untuk rekayasa persyaratan, pengembangan,pengujian dan evolusi perangkat lunak. Mengetahui teknologi

Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt

nisi, eget sagittis mi tortor quis ipsum.

Validasi Perangkat Lunak

Requirementsspecification

Systemspecification

Systemdesign

Detaileddesign

Module anduni t codeand tess

Sub-systemintegrationtest plan

Systemintegrationtest plan

Acceptancetest plan

Service Acceptancetest

Systemintegration test

Sub-systemintegration test

Fase Pengujian Pada Proses Perangkat Lunak

Page 47: PROSES-PROSES PERANGKAT LUNAK...Mengerti secara garis besar, tentang model proses untuk rekayasa persyaratan, pengembangan,pengujian dan evolusi perangkat lunak. Mengetahui teknologi

Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt

nisi, eget sagittis mi tortor quis ipsum.

Software pada dasarnya flexible dan dapat

dirubah.

Dengan berubahnya kebutuhan seiring dengan

perubahan kondisi bisnis, software yang

mendukung bisnis sudah selayaknya juga ikut

berubah

Walaupun sering terjadi pembatasan antara

proses pengembangan perangkat lunak dan

proses evolusi perangkat lunak (pemeliharaan

perangkat lunak). Proses pemeliharaan dianggap

menantang dari pengembangan perangkat lunak

aslinya.

Evolusi Perangkat Lunak

Page 48: PROSES-PROSES PERANGKAT LUNAK...Mengerti secara garis besar, tentang model proses untuk rekayasa persyaratan, pengembangan,pengujian dan evolusi perangkat lunak. Mengetahui teknologi

Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt

nisi, eget sagittis mi tortor quis ipsum.

Evolusi Sistem

Assess existingsystems

Define systemrequirements

Propose systemchanges

Modifysystems

Newsystem

Existingsystems

Page 49: PROSES-PROSES PERANGKAT LUNAK...Mengerti secara garis besar, tentang model proses untuk rekayasa persyaratan, pengembangan,pengujian dan evolusi perangkat lunak. Mengetahui teknologi

Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt

nisi, eget sagittis mi tortor quis ipsum.

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

Pendukung Proses Terotomasi

Page 50: PROSES-PROSES PERANGKAT LUNAK...Mengerti secara garis besar, tentang model proses untuk rekayasa persyaratan, pengembangan,pengujian dan evolusi perangkat lunak. Mengetahui teknologi

Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt

nisi, eget sagittis mi tortor quis ipsum.

Case technology telah berkembang dengan

sangat pesat dalam mendukung software

process melebihi dari yang diperkirakan

sebelumnya:

Perancangan Perangkat lunak memerlukan pikiran kreatif.

Perancang Perangkat lunak adalah suatu aktivitas tim dan, karena proyek besar yang memerlukan banyak waktu untuk ber interaksi dengan timnya. CASE teknologi tidak benar-benar memberi banyak mendukung ini

Pendukung Proses Terotomasi

Page 51: PROSES-PROSES PERANGKAT LUNAK...Mengerti secara garis besar, tentang model proses untuk rekayasa persyaratan, pengembangan,pengujian dan evolusi perangkat lunak. Mengetahui teknologi

Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt

nisi, eget sagittis mi tortor quis ipsum.

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.

Klasifikasi CASE

Page 52: PROSES-PROSES PERANGKAT LUNAK...Mengerti secara garis besar, tentang model proses untuk rekayasa persyaratan, pengembangan,pengujian dan evolusi perangkat lunak. Mengetahui teknologi

Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt

nisi, eget sagittis mi tortor quis ipsum.

Klasifikasi Fungsional dari CASE Tool

Tool type ExamplesPlanning tools PERT tools, estimation tools,

spreadsheetsEditing tools Text editors, diagram editors, word

processorsChange management tools Requirements traceabili ty tools, change

control systemsConfiguration management tools Version management systems, system

building toolsPrototyping tools Very high-level languages,

user interface generatorsMethod-support tools Design editors, data dictionaries, code

generatorsLanguage-processing tools Compilers, interpretersProgram analysis tools Cross reference generators, static

analysers, dynamic analysersTesting tools Test data generators, file comparatorsDebugging tools Interactive debugging systemsDocumentation tools Page layout programs, image editorsRe-engineering tools Cross-reference systems, program re-

structuring systems

Page 53: PROSES-PROSES PERANGKAT LUNAK...Mengerti secara garis besar, tentang model proses untuk rekayasa persyaratan, pengembangan,pengujian dan evolusi perangkat lunak. Mengetahui teknologi

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 tools

Debugging tools

Program analysi s tools

Language-processingtools

Method support tools

Prototyping tools

Configurationmanagement tools

Change management tools

Documentation tools

Editing tools

Planning tools

Specification Design Implementation Verificationand

Val idation

Page 54: PROSES-PROSES PERANGKAT LUNAK...Mengerti secara garis besar, tentang model proses untuk rekayasa persyaratan, pengembangan,pengujian dan evolusi perangkat lunak. Mengetahui teknologi

Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt

nisi, eget sagittis mi tortor quis ipsum.

1) Tool (Alat Bantu)

– Mendukung pekerjaan proses individual seperti memeriksa konsistensi perancangan,kompilasi program, membandingkan hasil pengujian dll.

2) Workbench

– Fase atau kegiatan proses seperti spesifikasi, perancangan, dsb. Terdiri dari serangkain tool dengan derajat integrasi yang lebih besar atau lebih kecil.

3) Lingkungan Mendukung

– Semua atau paling tidak bagian yang penting dari proses lengkap lunak. Lingkungan biasanya mencakup beberapa workbench yang terintegrasi dengan suatu cara.

CASE Integration

Page 55: PROSES-PROSES PERANGKAT LUNAK...Mengerti secara garis besar, tentang model proses untuk rekayasa persyaratan, pengembangan,pengujian dan evolusi perangkat lunak. Mengetahui teknologi

Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt

nisi, eget sagittis mi tortor quis ipsum.

Tool, Workbench dan Lingkungan

Single-methodworkbenches

General-purposeworkbenches

Multi-methodworkbenches

Language-specificworkbenches

Programming TestingAnalysi s anddesign

Integratedenvironments

Process-centredenvironments

Fi lecomparatorsCompi lersEditors

EnvironmentsWorkbenchesTools

CASEtechnology

Page 56: PROSES-PROSES PERANGKAT LUNAK...Mengerti secara garis besar, tentang model proses untuk rekayasa persyaratan, pengembangan,pengujian dan evolusi perangkat lunak. Mengetahui teknologi

Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt

nisi, eget sagittis mi tortor quis ipsum.

Proses Perangkat Lunak adalah aktifitas meliputi

producing dan evolving software system. Aktifitas

ini direpresentasikan dalam software process

model

Activitas umumnya meliputi specification, design

dan implementation, validation dan evolution

Model process secara umum menggambarkan

organisasi process software

Iterative process models mendiskripsikan

software process sebagai siklus aktifitas

Hal-Hal Penting

Page 57: PROSES-PROSES PERANGKAT LUNAK...Mengerti secara garis besar, tentang model proses untuk rekayasa persyaratan, pengembangan,pengujian dan evolusi perangkat lunak. Mengetahui teknologi

Nam dapibus, nisi sit amet pharetra consequat, enim leo tincidunt

nisi, eget sagittis mi tortor quis ipsum.

Rekayasa Kebutuhan adalah process

pengembangan spesifikasi software

Proses Perancangan dan implementasi

mengubah spesifikasi menjadi executable

program

Validasi Perangkat Lunak memastikan system

telah memenuhi spesifikasi dan kebutuhan user

Evolusi Perangkat Lunak fokus pada modifikasi

system setelah software system diterapkan

Teknologi CASE mendukung aktifitas Proses

Perangkat Lunak.

Hal-Hal Penting(2)