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

Post on 22-Feb-2018

235 Views

Category:

Documents

8 Downloads

Preview:

Click to see full reader

TRANSCRIPT

REKAYASA PERANGKAT LUNAK

Chapter 8 1

Chapter 8 2

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

Prototipe 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

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

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

Establ ishprototypeobjectives

Defineprototype

functionali ty

Developprototype

Evaluateprototype

Prototypingplan

Outlinedefini tion

Executableprototype

Evaluationreport

Chapter 8 8

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

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

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

Evolutionaryprototyping

Throw-awayPrototyping

Del iveredsystem

Executable Prototype +System Specification

OutlineRequirements

Chapter 8 12

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

Build prototypesystem

Develop abstractspecification

Use prototypesystem

Del iversystem

Systemadequate?

YES

N

Chapter 8 14

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

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

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

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

Validateincrement

Build systemincrement

Specify systemincrement

Design systemarchi tecture

Define systemdel iverables

Systemcomplete?

Integrateincrement

Validatesystem

Del iver finalsystem

YES

NO

Chapter 8 19

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

Outlinerequirements

Developprototype

Evaluateprototype

Specifysystem

Developsoftware

Validatesystem

Del iveredsoftwaresystem

Reusablecomponents

Chapter 8 21

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

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

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

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

Chapter 8 25

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

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

DBprogramminglanguage

Interfacegenerator Spreadsheet

Reportgenerator

Database management system

Fourth-generation language

Chapter 8 28

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

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

Componentcompositionframework

Executableprototype

Reusablesoftware

components

Control andintegration code

Chapter 8 31

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

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

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

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

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

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

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

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

Chapter 8 40

top related