rekayasa perangkat lunak - · pdf fileprototipe pada proses perangkat lunak teknik pembuatan...

40
REKAYASA PERANGKAT LUNAK Chapter 8 1

Upload: dinhkiet

Post on 22-Feb-2018

235 views

Category:

Documents


8 download

TRANSCRIPT

Page 1: REKAYASA PERANGKAT LUNAK -  · PDF filePrototipe pada proses perangkat lunak Teknik pembuatan prototipe yang cepat User interface prototipe Chapter 8 4

REKAYASA PERANGKAT LUNAK

Chapter 8 1

Page 2: REKAYASA PERANGKAT LUNAK -  · PDF filePrototipe pada proses perangkat lunak Teknik pembuatan prototipe yang cepat User interface prototipe Chapter 8 4

Chapter 8 2

Page 3: REKAYASA PERANGKAT LUNAK -  · PDF filePrototipe pada proses perangkat lunak Teknik pembuatan prototipe yang cepat User interface prototipe Chapter 8 4

Memahami peran pembuatan prototipe pada berbagai

tipe proyek pengembangan

Mengerti perbedaan antara pembuatan prototipe

evolusioner dan throw-away

Mengetahui tiga teknik pengembangan prototipe

yaitu : - pengembangan bahasa tingkat tinggi

- pemrograman database

- pemakaian ulang komponen

Chapter 8 3

Page 4: REKAYASA PERANGKAT LUNAK -  · PDF filePrototipe pada proses perangkat lunak Teknik pembuatan prototipe yang cepat User interface prototipe Chapter 8 4

Prototipe pada proses perangkat lunak

Teknik pembuatan prototipe yang cepat

User interface prototipe

Chapter 8 4

Page 5: REKAYASA PERANGKAT LUNAK -  · PDF filePrototipe pada proses perangkat lunak Teknik pembuatan prototipe yang cepat User interface prototipe Chapter 8 4

Prototipe adalah proses pembuatan sistem secara

cepat

Di masa yang lalu pembangunan sistem

dilaksanakan setelah kebutuhan sistem diketahui

Saat ini, batasan antara protipe dan pembangunan

sistem secara normal sangat kabur dan banyak

sistem dibangun dengan pendekatan evolusi

Chapter 8 5

Page 6: REKAYASA PERANGKAT LUNAK -  · PDF filePrototipe pada proses perangkat lunak Teknik pembuatan prototipe yang cepat User interface prototipe Chapter 8 4

Pada prinsipnya, prototipe membantu pemakai dan

pengembang untuk memahami kebutuhan dari

sistem

Elisitasi Persyaratan. User dapat bereksperimen untuk

melihat bagaimana sistem mendukung pekerjaan

mereka

Validasi Persyaratan. Prototipe dapat mengungkapkan

error dan hal2 yang terlewatkan pada persyaratan

Prototipe dapat dipakai untuk teknik analisis dan

mengurangi resiko

Chapter 8 6

Page 7: REKAYASA PERANGKAT LUNAK -  · PDF filePrototipe pada proses perangkat lunak Teknik pembuatan prototipe yang cepat User interface prototipe Chapter 8 4

Dapat diketahui lebih awal kesalahpahaman antara

pengembang dengan user/pemakai

Staf pengembang perangkat lunak mungkin menemukan

persyaratan yang tidak lengkap atau tidak berfungsi saat

prototipe dikembangkan

Sistem dapat bekerja, walaupun terbatas pada penjelasan

fungsi dari sistem

Prototipe dapat mensupport pengujian dan pelatihan

Chapter 8 7

Page 8: REKAYASA PERANGKAT LUNAK -  · PDF filePrototipe pada proses perangkat lunak Teknik pembuatan prototipe yang cepat User interface prototipe Chapter 8 4

Establ ishprototypeobjectives

Defineprototype

functionali ty

Developprototype

Evaluateprototype

Prototypingplan

Outlinedefini tion

Executableprototype

Evaluationreport

Chapter 8 8

Page 9: REKAYASA PERANGKAT LUNAK -  · PDF filePrototipe pada proses perangkat lunak Teknik pembuatan prototipe yang cepat User interface prototipe Chapter 8 4

Meningkatkan kegunaan sistem menjadi lebih baik

Kesesuaian sistem yang lebih dekat dengan

kebutuhan user

Meningkatkan kualitas desain menjadi lebih baik

Meningkatkan keterpelihraan sistem lebih baik

Mengurangi Cost

Chapter 8 9

Page 10: REKAYASA PERANGKAT LUNAK -  · PDF filePrototipe pada proses perangkat lunak Teknik pembuatan prototipe yang cepat User interface prototipe Chapter 8 4

Prototipe evolusioner

Dimulai dengan sistem yang relatif sederhana, yang

mengimplementasikan hanya persyaratan user yang

paling penting

Prototipe Throw-Away

Membantu analisis dan validasi persyaratan

Chapter 8 10

Page 11: REKAYASA PERANGKAT LUNAK -  · PDF filePrototipe pada proses perangkat lunak Teknik pembuatan prototipe yang cepat User interface prototipe Chapter 8 4

Tujuan dari evolutionary prototyping adalah

menyerahkan sistem yang dapat dipakai kepada end-

user .Pembangunan sistem di mulai dari kebutuhan

yang paling dipahami.

Tujuan throw-away prototyping adalah memvalidasi

dan menurunkan persyaratan sistem. Prototipe dapat

di mulai dari kebutuhan yang paling tidak dipahami

Chapter 8 11

Page 12: REKAYASA PERANGKAT LUNAK -  · PDF filePrototipe pada proses perangkat lunak Teknik pembuatan prototipe yang cepat User interface prototipe Chapter 8 4

Evolutionaryprototyping

Throw-awayPrototyping

Del iveredsystem

Executable Prototype +System Specification

OutlineRequirements

Chapter 8 12

Page 13: REKAYASA PERANGKAT LUNAK -  · PDF filePrototipe pada proses perangkat lunak Teknik pembuatan prototipe yang cepat User interface prototipe Chapter 8 4

Pembuatan prototipe evolusioner didasarkan pada ide pengembangan implementasi awal, memperlihatkannya kepada user untuk dikomentari , dan menyempurnakannya melalui banyak tahap sampai sistem yang memadai telah dikembangkan

Pembuatan prototipe evolusioner merupakan bagian dari teknik pengembangan aplikasi cepat [RAD]

Pembuatan prototipe evolusioner dan pendekatan yang berbasis spesifikasi terhadap perkembangan perangkat lunak berbeda dalam pandangannya mengenai verifikasi dan validasi

Chapter 8 13

Page 14: REKAYASA PERANGKAT LUNAK -  · PDF filePrototipe pada proses perangkat lunak Teknik pembuatan prototipe yang cepat User interface prototipe Chapter 8 4

Build prototypesystem

Develop abstractspecification

Use prototypesystem

Del iversystem

Systemadequate?

YES

N

Chapter 8 14

Page 15: REKAYASA PERANGKAT LUNAK -  · PDF filePrototipe pada proses perangkat lunak Teknik pembuatan prototipe yang cepat User interface prototipe Chapter 8 4

Percepatan penyerahan sistem

Penyerahan dalam waktu cepat , kadang-kadang lebih

penting dari fungsionalitas atau pemeliharaaan

perangkat lunak dalam jangka penjang.

Keterlibatan user dengan sistem

Tidak hanya berarti bahwa sistem lebih mungkin

memenuhi persyaratan mereka, namun membuat user

akan memenuhi komitmennya dan ingin membuat

sistem tersebut di pakai

Chapter 8 15

Page 16: REKAYASA PERANGKAT LUNAK -  · PDF filePrototipe pada proses perangkat lunak Teknik pembuatan prototipe yang cepat User interface prototipe Chapter 8 4

Proses spesifikasi, perancangan dan implementasi

saling bertumpang tindih

Sistem dikembangkan dalam serangkaian bagian

(inkrement)

Dipakai teknik-teknik untuk pengembangan sistem

yang cepat ( 4GL dan CASE tools )

Interface sistem user biasanya dikembangkan dengan

menggunakan sistem interaktif

Chapter 8 16

Page 17: REKAYASA PERANGKAT LUNAK -  · PDF filePrototipe pada proses perangkat lunak Teknik pembuatan prototipe yang cepat User interface prototipe Chapter 8 4

Masalah Manajemen

Manajemen mengasumsikan pengembangan sistem menggunakan pendekatan waterfall

Pengembangan prototipe membutuhkan keahlian khusus, yang mungkin saja tidak ada pada team pengembangnan saat ini

Masalah Pemeliharaan

Perubahan yang terus menerus cendrung merusak struktur sistem prototipe, dalam jangka panjang pemeliharaan cenderung menjadi mahal

Masalah Kontraktual

Chapter 8 17

Page 18: REKAYASA PERANGKAT LUNAK -  · PDF filePrototipe pada proses perangkat lunak Teknik pembuatan prototipe yang cepat User interface prototipe Chapter 8 4

Menghindari beberapa masalah perubahan konstan yang

menjadi ciri pembuatan prototipe evolusioner

Arsitektur sistem yang menyeluruh ditentukan pada awal

proses untuk berfungsi sebagai kerangka kerja

Komponen sistem dikembangkan secara inkremental dalam

kerangka kerja ini

Setelah di validasi dan diserahkan, baik kerangka kerja

maupun komponen tidak diubah kecuali ditemukan error

Chapter 8 18

Page 19: REKAYASA PERANGKAT LUNAK -  · PDF filePrototipe pada proses perangkat lunak Teknik pembuatan prototipe yang cepat User interface prototipe Chapter 8 4

Validateincrement

Build systemincrement

Specify systemincrement

Design systemarchi tecture

Define systemdel iverables

Systemcomplete?

Integrateincrement

Validatesystem

Del iver finalsystem

YES

NO

Chapter 8 19

Page 20: REKAYASA PERANGKAT LUNAK -  · PDF filePrototipe pada proses perangkat lunak Teknik pembuatan prototipe yang cepat User interface prototipe Chapter 8 4

Pendekatan ini memperluas proses analisis

persyaratan dengan tujuan mengurangi biaya siklus-

hidup secara keseluruhan

Fungsi utama prototipe adalah memperjelas

persyaratan dan memberikan informasi tambahan

bagi manajer untuk menilai resiko proses

Umum digunakan untuk sistem H/W

Chapter 8 20

Page 21: REKAYASA PERANGKAT LUNAK -  · PDF filePrototipe pada proses perangkat lunak Teknik pembuatan prototipe yang cepat User interface prototipe Chapter 8 4

Outlinerequirements

Developprototype

Evaluateprototype

Specifysystem

Developsoftware

Validatesystem

Del iveredsoftwaresystem

Reusablecomponents

Chapter 8 21

Page 22: REKAYASA PERANGKAT LUNAK -  · PDF filePrototipe pada proses perangkat lunak Teknik pembuatan prototipe yang cepat User interface prototipe Chapter 8 4

Pengembang kadang2 ditekan oleh Manajer untuk menyerahkan prototipe Throw-away untuk di pakai, terutama jika ada waktu tunda dalam penyerahan versi akhir dari perangkat lunak tersebut.

Hal diatas tidak bijaksana karena :

Bisa saja tidak mungkin menyesuaikan prototipe untuk memenuhi persyaratan non-fungsional seperti persyaratan kinerja, keamanan, keandalan dll

Prototipe pada akhirnya tidak didokumentasikan karena pengembangan dilakukan dengan cepat

Perubahan yang dilakukan pada saat pengembangan prototipe mungkin akan merusak struktur sistem

Standar kualitas organisasi biasanya dilonggarkan untuk pengembangan prototipe

Chapter 8 22

Page 23: REKAYASA PERANGKAT LUNAK -  · PDF filePrototipe pada proses perangkat lunak Teknik pembuatan prototipe yang cepat User interface prototipe Chapter 8 4

Berbagai teknik dapat digunakan untuk rapid development

Dynamic high-level language development

Database programming

Component and application assembly

Tidak ada teknik yang eksklusif – karen ateknik ini digunakan secara bersama-sama

Visual programming adalah bagian yang inherent dalam pembangunan prototipe

Chapter 8 23

Page 24: REKAYASA PERANGKAT LUNAK -  · PDF filePrototipe pada proses perangkat lunak Teknik pembuatan prototipe yang cepat User interface prototipe Chapter 8 4

Bahasa yang memiliki fasilitas pengelolaan data yang

sangat baik

Memiliki dukungan run-time yang baik.

Mempermudah pengembangan program karena

banyak masalah alokasi dan manajemen media

penyimpanan yang dapat diselesaikan

Beberapa bahasa memiliki dukungan yang

terintegrasi, hal ini dapat dimanfaatkan untuk

prototipe

Chapter 8 24

Page 25: REKAYASA PERANGKAT LUNAK -  · PDF filePrototipe pada proses perangkat lunak Teknik pembuatan prototipe yang cepat User interface prototipe Chapter 8 4

Language Type Application domainSmalltalk Object-oriented Interactive systemsJava Object-oriented Interactive systemsProlog Logic Symbolic processingLisp List-based Symbolic processing

Chapter 8 25

Page 26: REKAYASA PERANGKAT LUNAK -  · PDF filePrototipe pada proses perangkat lunak Teknik pembuatan prototipe yang cepat User interface prototipe Chapter 8 4

Apa domain masalah tersebut ?

Interaksi user apa yang dibutuhkan ?

Lingkungan pendukung apa yang disediakan dengan

bahasa tersebut ?

Bagian yang berbeda dari sistem dapat diprogramkan

dengan bahasa yang berbeda, hal ini akan

menimbulkan problem komunikasi antar modul

Chapter 8 26

Page 27: REKAYASA PERANGKAT LUNAK -  · PDF filePrototipe pada proses perangkat lunak Teknik pembuatan prototipe yang cepat User interface prototipe Chapter 8 4

Pengembangan evolusioner sekarang merupakan teknik standar

untuk implementasi aplikasi berukuran kecil dan menengah

pada domain sistem bisnis

Lazimnya termasuk database query language, screen generator,

report generator dan spreadsheet.

Dapat diintegrasikan dengan CASE toolset

Bahasa dan lingkungan ini kadang-kadang disebut fourth-

generation language (4GL)

Cost-effective untuk institusi bisnis kelas kecil-menengah

Chapter 8 27

Page 28: REKAYASA PERANGKAT LUNAK -  · PDF filePrototipe pada proses perangkat lunak Teknik pembuatan prototipe yang cepat User interface prototipe Chapter 8 4

DBprogramminglanguage

Interfacegenerator Spreadsheet

Reportgenerator

Database management system

Fourth-generation language

Chapter 8 28

Page 29: REKAYASA PERANGKAT LUNAK -  · PDF filePrototipe pada proses perangkat lunak Teknik pembuatan prototipe yang cepat User interface prototipe Chapter 8 4

Prototipe dapat di create secara cepat dari

sekumpulan komponen yang pernah ada ditambah

dengan mekanisme untuk merekat komponen ini

bersama-sama

Mekanisme komposisi ini mesti memuat fasilitas

kontrol dan mekanisme untuk komunikasi

Sistem spesifikasi harus dimasukkan kedalam

account yang ada dan fungsi dari komponen yang

semula tetap ada

Chapter 8 29

Page 30: REKAYASA PERANGKAT LUNAK -  · PDF filePrototipe pada proses perangkat lunak Teknik pembuatan prototipe yang cepat User interface prototipe Chapter 8 4

Pembangunan level Aplikasi

Sistem aplikasi yang ada diintegrasikan dengan prototipe dengan demikian fungsinya dapat di pakai bersama

Contoh, jika dibutuhkan text maka word processor standar dapat digunakan

Pembangunan level Komponen

Komponen individual diintegrasikan dengan kerangka kerja standard kemudian diintegrasikan ke sistem

Frame work can be a scripting language or an integration framework such as CORBA

Chapter 8 30

Page 31: REKAYASA PERANGKAT LUNAK -  · PDF filePrototipe pada proses perangkat lunak Teknik pembuatan prototipe yang cepat User interface prototipe Chapter 8 4

Componentcompositionframework

Executableprototype

Reusablesoftware

components

Control andintegration code

Chapter 8 31

Page 32: REKAYASA PERANGKAT LUNAK -  · PDF filePrototipe pada proses perangkat lunak Teknik pembuatan prototipe yang cepat User interface prototipe Chapter 8 4

Untuk beberapa aplikasi, prototipe dapat di-create dengan pembangunan “ compound document “

Hal ini adalah dokumen dengan elemen aktif [seperti spreadsheet] menyediakan dokumen untuk komputasi user

Tiap-tiap elemen aktif berhubungan dengan aplikasi yang dipilih

Dokumen itu sendiri merupakan integrator untuk berbagai dokumen yang berbeda

Chapter 8 32

Page 33: REKAYASA PERANGKAT LUNAK -  · PDF filePrototipe pada proses perangkat lunak Teknik pembuatan prototipe yang cepat User interface prototipe Chapter 8 4

Compound document

Word processor Spreadsheet Audio player

Text 1 Text 2 Text 3

Text 4 Text 5

Table 1

Table 2

Sound 1

Sound 2

Chapter 8 33

Page 34: REKAYASA PERANGKAT LUNAK -  · PDF filePrototipe pada proses perangkat lunak Teknik pembuatan prototipe yang cepat User interface prototipe Chapter 8 4

Bahasa Script seperti VB di mana prototipe di

bangun dengan memakai UI dari item standar dan

hubungannya dengan komponen lain

Bahasa ini memiliki komponen library yang lengkap

untuk mendukung pembangunan sistem/prototipe

Programer aplikasi membangun sistem secara

interaktif dengan mendefinisikan interface dalam

layar , field, tombol, dan menu

Chapter 8 34

Page 35: REKAYASA PERANGKAT LUNAK -  · PDF filePrototipe pada proses perangkat lunak Teknik pembuatan prototipe yang cepat User interface prototipe Chapter 8 4

Fi le Edit Views Layout Options Help

GeneralIndex

Hypertextdisplay componentDate component

Range checkingscript

Tree displaycomponent

1 2th January 2000

3.876

Draw canvascomponent

User promptcomponent +

script

Chapter 8 35

Page 36: REKAYASA PERANGKAT LUNAK -  · PDF filePrototipe pada proses perangkat lunak Teknik pembuatan prototipe yang cepat User interface prototipe Chapter 8 4

Sukar untuk mengkoordinasikan team

pembangunan sistem

Tidak ada arsitektur sistem yang eksplisit

Ada ketergantungan yang sangat kompleks diantara

bagian dari program yang menyebabkan

pemeliharaan menjadi rumit

Chapter 8 36

Page 37: REKAYASA PERANGKAT LUNAK -  · PDF filePrototipe pada proses perangkat lunak Teknik pembuatan prototipe yang cepat User interface prototipe Chapter 8 4

UI merupakan norma bagi sistem interaktif

Pembangunan UI mengkonsumsi biaya yang semakin

meningkat dari keseluruhan biaya pembangunan

sistem

Generator interface membuat program yang

terstruktur dengan baik, yang di buat dari spesifikasi

interface

Prototipe Interface berbasis Web dapat di buat

dengan editor web

Chapter 8 37

Page 38: REKAYASA PERANGKAT LUNAK -  · PDF filePrototipe pada proses perangkat lunak Teknik pembuatan prototipe yang cepat User interface prototipe Chapter 8 4

Prototipe sistem dapat dikembangkan untuk memberi end-user

kesan yang konkrit mengenai kemampuan sistem

Prototipe semakin populer karena ada tekanan agar sistem

diserahkan dengan cepat

Prototipe Throw-away mencakup pengembangan prototipe untuk

memahami persyaratan sistem

Prototipe evolusioner , sistem dibangun dengan cara memulai dari

versi initial sampai versi final

Chapter 8 38

Page 39: REKAYASA PERANGKAT LUNAK -  · PDF filePrototipe pada proses perangkat lunak Teknik pembuatan prototipe yang cepat User interface prototipe Chapter 8 4

Pengembangan cepat sangat penting untuk prototipe

Teknik prototipe mencakup bahasa pemrograman tingkat tinggi ,

database, dan konstruksi dari kompunen yang sudah ada

Prototipe adalah bagian yang penting dari pengembangan sistem.

User harus terlibat dalam melakukan evaluasi terhadap prototipe

yang sudah di buat dan menyesuaikannya dengan persyaratan

sistem awal

Chapter 8 39

Page 40: REKAYASA PERANGKAT LUNAK -  · PDF filePrototipe pada proses perangkat lunak Teknik pembuatan prototipe yang cepat User interface prototipe Chapter 8 4

Chapter 8 40