3. proses software- model

25
 1 Rekayasa Perangkat Lunak 1 Proses Sof twa re Arna Fariza PENS-ITS Rekayasa Perangkat Lunak 2 Pro ses Sof tware Sekumpulan aktifitas yang saling terkait untuk spesifikasi, desain, implementasi dan testing sistem software

Upload: deded-ramad-kamda

Post on 09-Jul-2015

179 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: 3. Proses Software- Model

5/10/2018 3. Proses Software- Model - slidepdf.com

http://slidepdf.com/reader/full/3-proses-software-model 1/25

Rekayasa Perangkat Lunak

1

Proses Software

Arna Fariza

PENS-ITS

Rekayasa Perangkat Lunak

2

Proses Software

Sekumpulan aktifitas yang saling

terkait untuk spesifikasi, desain,

implementasi dan testing sistem

software

Page 2: 3. Proses Software- Model

5/10/2018 3. Proses Software- Model - slidepdf.com

http://slidepdf.com/reader/full/3-proses-software-model 2/25

Rekayasa Perangkat Lunak

3

Tujuan

Memperkenalkan model proses software Menggambarkan beberapa model proses dan

kapan digunakan

Menggambarkan outline model proses untuk

rekayasa kebutuhan, pengembangan software,

testing dan evolusi

Mengenalkan teknologi CASE untuk mendukung

aktifitas proses software

Rekayasa Perangkat Lunak

4

Topik  Model proses software

Iterasi proses

Spesifikasi software

Desain dan implementasi software

Validasi software

Evolusi software

Automated process support

Page 3: 3. Proses Software- Model

5/10/2018 3. Proses Software- Model - slidepdf.com

http://slidepdf.com/reader/full/3-proses-software-model 3/25

Rekayasa Perangkat Lunak

5

Proses Software

Sekumpulan aktifitas terstruktur yangdibutuhkan untuk mengembangkan sistem

software

o Spesifikasi

o Desain

o Validasi

o Evolusi

Model proses software adalah representasi

abstrak dari proses. Merupakan gambaran dari

proses dari beberapa perspektif tertentu

Rekayasa Perangkat Lunak

6

Model Proses Software Generik  Model waterfall

o Membagi dan membedakan fase spesifikasi dan

pengembangan

Pengembangan Evolusioner

o Spesifikasi dan pengembangan terpisah

Pengembangan sistem Formal

o Model sistem matematis yang secara formal

diterjemahkan ke dalam implementasi Pengembangan Reuse-based

o Sistem dibangun dari komponen yang sudah ada

Page 4: 3. Proses Software- Model

5/10/2018 3. Proses Software- Model - slidepdf.com

http://slidepdf.com/reader/full/3-proses-software-model 4/25

Rekayasa Perangkat Lunak

7

Model Waterfall

Definisi

kebutuhan

Implementasi

dan testing unit

Desain sistem

dan software

Integrasi dan

testing sistem

Operasi dan

maintenance

Rekayasa Perangkat Lunak

8

Fase model Waterfall Analisa dan definisi kebutuhan

Desain sistem dan software

Implementasi dan unit testing

Integrasi dan testing sistem

Operasi dan maintenance

Kekurangan dari model waterfall adalah

kesulitan untuk mengakomodasi perubahan

setelah proses berjalan

Page 5: 3. Proses Software- Model

5/10/2018 3. Proses Software- Model - slidepdf.com

http://slidepdf.com/reader/full/3-proses-software-model 5/25

Rekayasa Perangkat Lunak

9

Permasalahan Model Waterfall

Tidak fleksibel dalam pembagian proyek kedalam tingkat yang berbeda

Sulit untuk merespon perubahan kebutuhan

konsumen

Sehingga model ini hanya cocok jika kebutuhan

sudah dimengerti dengan baik

Rekayasa Perangkat Lunak

10

Pengembangan Evolusioner Pengembangan Exploratory

o Obyektif : bekerja dengan konsumen dan

melibatkan sistem akhir dari spesifikasi skema

inisial. Dimulai dengan kebutuhan yang

dimengerti dengan baik

Throw-away prototyping

o Obyektif : mengerti kebutuhan sistem. Dimulai

dengan kebutuhan yang tidak dimengerti dengan

baik

Page 6: 3. Proses Software- Model

5/10/2018 3. Proses Software- Model - slidepdf.com

http://slidepdf.com/reader/full/3-proses-software-model 6/25

Rekayasa Perangkat Lunak

11

Pengembangan Evolusioner

Versi inisial

Versimenengah

Versi akhir

Aktifitas yangberjalan

Deskripsioutline

Spesifikasi

Pengembangan

Validasi

Rekayasa Perangkat Lunak

12

Pengembangan Evolusioner Permasalahan

o Tidak ada visibilitas proses

o Sistem biasanya tidak terstruktur dengan baik

o Kemampuan khusus (misalnya bahasa untuk

prototipe cepat) kemungkinan diperlukan

Aplikasi

o Untuk sistem interaktif berukuran kecil atau

medium

o Untuk bagian dari sistem besar (misalnya user

interface)

o Untuk sistem dengan daur hidup pendek

Page 7: 3. Proses Software- Model

5/10/2018 3. Proses Software- Model - slidepdf.com

http://slidepdf.com/reader/full/3-proses-software-model 7/25

Rekayasa Perangkat Lunak

13

Pengembangan Sistem Formal

Berbasis transformasi dari spesifikasimatematis melalui representasi yang berbeda

untuk program yg dapat dieksekusi

Transformasi adalah ‘pemelihara kebenaran’

sehingga dapat menunjukkan program sesuai

spesifikasinya

Merupakan pendekatan ‘Cleanroom’ untuk

pengembangan software

Rekayasa Perangkat Lunak

14

Pengembangan Sistem Formal

Definisi

kebutuhan

Spesifikasi

formal

Transformasi

formal

Integrasi dan

testing sistem

Page 8: 3. Proses Software- Model

5/10/2018 3. Proses Software- Model - slidepdf.com

http://slidepdf.com/reader/full/3-proses-software-model 8/25

Rekayasa Perangkat Lunak

15

Transformasi Formal

Transformasi Formal

Pembuktian kebenaran

transformasi

R2 R3

P2 P3 P4

T1 T2 T3 T4

R1

P1

Spesifikasiformal

EksekusiProgram

Rekayasa Perangkat Lunak

16

Pengembangan Sistem Formal

Permasalahan

o Perlu kemampuan dan training khusus untuk

mengaplikasikan teknik ini

o Secara formal sulit untuk menentukan beberapa

aspek dari sistem seperti antarmuka user

Aplikasi

o Sistem kritis terutama dimana keselamatan dan

keamanan harus dibuat sebelum sistem beroperasi

Page 9: 3. Proses Software- Model

5/10/2018 3. Proses Software- Model - slidepdf.com

http://slidepdf.com/reader/full/3-proses-software-model 9/25

Rekayasa Perangkat Lunak

17

Pengembangan Reuse-oriented

Berbasis systematic reuse dimana sistemdiintegrasikan dalam komponen yang sudahada atau sistem COTS (Commercial-off-the-shelf)

Level Proseso Analisa komponen

o Modifikasi kebutuhan

o Desain sistem dengan reuse

o Pengembangan dan integrasi

Pendekatan ini menjadi lebih penting tetapimasih terbatas penggunaannya

Rekayasa Perangkat Lunak

18

Pengembangan Reuse-oriented

Spesifikasikebutuhan

Analisakomponen

Modifikasikebutuhan

Desain sistemdengan reuse

Pengembangandan integrasi

Validasi sistem

Page 10: 3. Proses Software- Model

5/10/2018 3. Proses Software- Model - slidepdf.com

http://slidepdf.com/reader/full/3-proses-software-model 10/25

Rekayasa Perangkat Lunak

19

Iterasi Proses

Kebutuhan sistem SELALU berkembang selamaproyek berlangsung sehingga iterasi proses

dimana level sebelumnya dilakukan rework

merupakan bagian dari proses untuk sistem

yang besar

Iterasi dapat diaplikasikan untuk semua model

proses generik

2 pendekatan :

o Pengembangan incremental

o Pengembangan spiral

Rekayasa Perangkat Lunak

20

Pengembangan Incremental

Pelepasan sistem tidak dalam bentuk pelepasan

tunggal, tetapi pengembangan dan pelepasan

dibagi ke dalam ‘increment’ dimana setiap

‘increment’ melepaskan bagian dari fungsional yang

dibutuhkan

Kebutuhan user diprioritaskan dan kebutuhan

prioritas tertinggi dimasukkan dalam ‘increment’

awal

Bila pengembangan ‘increment’ dimulai, kebutuhandibekukan lebih dahulu dan setelah itu kebutuhan

untuk ‘increment’ selanjutnya dapat dilanjutkan

Page 11: 3. Proses Software- Model

5/10/2018 3. Proses Software- Model - slidepdf.com

http://slidepdf.com/reader/full/3-proses-software-model 11/25

Rekayasa Perangkat Lunak

21

Incremental development

System incomplete

Sistemfinal

Mendefinisikankebutuhan outline

Incrementkebutuhan

Desain arsitektursistem

MengembangkanIncrement sistem

Validasiincrement

Integrasiincrement

Validasisistem

Rekayasa Perangkat Lunak

22

Keuntungan Pengembanan

Incremental

Nilai konsumen dapat diserahkan pada setiap

‘increment’ sehingga fungsional sistem

tersediah lebih dahulu

‘increment’ awal berfungsi sebagai prototype

untuk membantu memperoleh kebutuhan

‘increment’ selanjutnya

Resiko lebih rendah dari keseluruhan kegagalan

proyek

Layanan sistem prioritas tertinggi cenderung

menerima testing terbanyak

Page 12: 3. Proses Software- Model

5/10/2018 3. Proses Software- Model - slidepdf.com

http://slidepdf.com/reader/full/3-proses-software-model 12/25

Rekayasa Perangkat Lunak

23

Pemrograman Extreme

Pendekatan baru untuk pengembanganberbasis pengembangan dan pelepasan

fungsional ‘increment’ yang sangat kecil

Mempercayakan perbaikan konstan,

keterlibatan user dalam tim pengembang dan

pemrograman

Rekayasa Perangkat Lunak

24

Pengembangan Spiral

Proses direpresentasikan sebagai spiral bukan

sebagai urutan aktivitas dengan melihat sistem

sebelumnya (backtracking)

Setiap loop dalam spiral merepresentasikan

fase dalam proses

Tidak ada fase yang tetap seperti spesifikasi

atau desain- loop dalam spiral dipilih

tergantung pada apa yang dibutuhkan Resiko ditaksir secara eksplisit dan

penyelesaian sepanjang proses

Page 13: 3. Proses Software- Model

5/10/2018 3. Proses Software- Model - slidepdf.com

http://slidepdf.com/reader/full/3-proses-software-model 13/25

Rekayasa Perangkat Lunak

25

Model Spiral model pada Proses

Software

-

Concepto f Operation

Menentukan alternatifdan batasan obyektif

Evaluasi identifikasialternative, pemecahan

resiko

Perencanaan faseberikutnya

Mengembangkan,verifikasi produk level

berikutnya

Analisaresiko

Analisaresiko

Analisaresiko

Analisaresiko

REVIEWPrototype 1

Prototype 2Prototype 3

Prototype

operasional

Simulasi, model, benchmark

Desaindetail

Kode

TesUnitTes

IntegrasiTes

penerimaanServis

DesainProduk

DesainV&V

Kebutuhan

S/W

Validasikebutuhan

RencanaPengembangan

Integrasi dantest plan

Rencana kebutuhan danrencana daur hidup

Rekayasa Perangkat Lunak

26

Sektor Model Spiral

Setting Obyektif 

o Obyektif khusus untuk fase diidentifikasi

Penaksiran dan pengurangan resiko

o Resiko ditaksir dan aktifitas didigunakan untuk

mengurangi resiko

Pengembangan dan Validasi

o Model pengembangan untuk sistem dipilih yang

berupa model generik Perencanaan

o Proyek direview dan fase berikutnya dari spiral

direncanakan

Page 14: 3. Proses Software- Model

5/10/2018 3. Proses Software- Model - slidepdf.com

http://slidepdf.com/reader/full/3-proses-software-model 14/25

Rekayasa Perangkat Lunak

27

Spesifikasi Software

Dari proses yang sudah berjalan ditentukanlayanan apa yang dibutuhkan dan batasan

operasi dan pengembangan sistem

Proses rekayasa kebutuhan

o Studi kelayakan

o Perolehan dan analisa kebutuhan

o Spesifikasi kebutuhan

o Validasi kebutuhan

Rekayasa Perangkat Lunak

28

Proses Rekayasa Kebutuhan

Studikelayakan

Mendapatkandan analisakebutuhan

Spesifikasikebutuhan

Validasikebutuhan

Laporankelayakan

Model sistem

Kebutuhan

sistem dan user

Dokumenkebutuhan

Page 15: 3. Proses Software- Model

5/10/2018 3. Proses Software- Model - slidepdf.com

http://slidepdf.com/reader/full/3-proses-software-model 15/25

Rekayasa Perangkat Lunak

29

Implementasi dan Desain Software

Proses mengubah spesifikasi sistem menjadisistem yang dijalankan

Desain software

o Mendesain struktur software yang didapatkan dari

spesifikasi

Implementasi

o Mengubah struktur software ke dalam program

yang dieksekusi

Aktifitas desain dan implementasi saling

berhubungan dan mungkin terpisah

Rekayasa Perangkat Lunak

30

 Aktifitas Proses Desain

Desain arsitektur

Spesifikasi abstrak

Desain antar muka

Desain komponen

Desain struktur data

Desain algoritma

Page 16: 3. Proses Software- Model

5/10/2018 3. Proses Software- Model - slidepdf.com

http://slidepdf.com/reader/full/3-proses-software-model 16/25

Rekayasa Perangkat Lunak

31

Proses Desain Software

Aktifitas desain

Produk desain

Spesifikasikebutuhan

Desainarsitektur

Spesifikasiabstrak

Desainantar muka

Desainkomponen

Desainstruktur

data

Desainalgoritma

Arsitektursistem

Spesifikasisoftware

Spesifikasiantar muka

Spesifikasikomponen

Spesifikasistruktur

data

Spesifikasialgoritma

Rekayasa Perangkat Lunak

32

Metode Desain

Pendekatan sistematis untuk pengembangan

desain software

Desain biasanya terdokumentasi sebagai

kumpulan model grafis

Model yang mungkin

o Model data-flow

o Model entity-relation-attribute

o Model strukturalo Model obyek

Page 17: 3. Proses Software- Model

5/10/2018 3. Proses Software- Model - slidepdf.com

http://slidepdf.com/reader/full/3-proses-software-model 17/25

Rekayasa Perangkat Lunak

33

Pemrograman dan Debugging

Mengubah desain ke dalam program danmenghilangkan error dari program

Pemrograman adalah aktifitas personal – tidak

ada proses pemrograman generik

Programmer membawa beberapa program

testing untuk menemukan kegagalan dalam

program dan menghilangkan kegagalan dalam

proses debugging

Rekayasa Perangkat Lunak

34

Proses Debugging

Mencarierror

Desainperbaikan

error

Perbaikanerror

Re-testprogram

Page 18: 3. Proses Software- Model

5/10/2018 3. Proses Software- Model - slidepdf.com

http://slidepdf.com/reader/full/3-proses-software-model 18/25

Rekayasa Perangkat Lunak

35

 Validasi Software

Verifikasi dan validasi bertujuan untukmenunjukkan bahwa sistem sesuai

spesifikasinya dan sesuai kebutuhan konsumen

Melibatkan pengecekan dan review proses dan

testing sistem

Testing sistem melibatkan eksekusi sistem

dengan test case yang diambil dari spesifikasi

data riil untuk diproses oleh sistem

Rekayasa Perangkat Lunak

36

Proses Testing

Testing

komponen

Testing

integrasi Testing

user

Testingunit

Testingmodul

Testingsub sistem

Testingsistem

Testingpenerimaan

Page 19: 3. Proses Software- Model

5/10/2018 3. Proses Software- Model - slidepdf.com

http://slidepdf.com/reader/full/3-proses-software-model 19/25

Rekayasa Perangkat Lunak

37

Tingkat Testing

Testing Unito Dilakukan tes pada komponen individu

Testing Modul

o Dilakukan tes pada kumpulan komponan yang

berhubungan

Testing sub-system

o Modul diintegrasikan ke dalam sub sistem dan dilakukan

tes. Fokus pada testing antar muka

Testing sistem

o Testing pada keseluruhan sistem. Terting terhadap

properti penting

Testing Penerimaan

o Testing dengan data konsumen untuk memeriksa apakah

dapat diterima

Rekayasa Perangkat Lunak

38

Fase Testing

Spesifikasikebutuhan

Spesifikasisistem

Desainsistem

Desaindetail

Kode dantes moduldan unit

ServisTes integrasisub sistem

Tes integrasisistem

Tespenerimaan

Perencanaantes penerimaan

Perencanaantes integrasi

sistem

Perencanaantes integrasisub sistem

Page 20: 3. Proses Software- Model

5/10/2018 3. Proses Software- Model - slidepdf.com

http://slidepdf.com/reader/full/3-proses-software-model 20/25

Rekayasa Perangkat Lunak

39

Evolusi Software

Software bersifat fleksibel dan dapat berubah Perubahan kebutuhan karena perubahan

lingkungan bisnis, software yang mendukung

bisnis juga harus terlibat dan berubah

Meskipun terdapat batas antara pengembangan

dan evolusi (pemeliharaan), peningkatan yang

tidak berhubungan menyebabkan sistem sedikit

demi sedikit menjadi sistem baru.

Rekayasa Perangkat Lunak

40

Evolusi Sistem

Sistem yangsudah ada

Sistem

baru

Modifikasisistem

Menawarkanperubahan sistem

Menaksir sistemyang sudah ada

Menentukankebutuhan sistem

Page 21: 3. Proses Software- Model

5/10/2018 3. Proses Software- Model - slidepdf.com

http://slidepdf.com/reader/full/3-proses-software-model 21/25

Rekayasa Perangkat Lunak

41

Pendukung Proses Otomasi (CASE)

Computer-aided software engineering (CASE)adalah software untuk mendukung proses

pengembangan dan evolusi

Aktifitas otomasi

o Editor grafis untuk pengembangan model sistem

o Data dictionary untuk mengatur desain entity

o Graphical UI builder untuk konstruksi antar muka

user

o Debugger untuk menemukan kegagalan program

o Translator otomatis untuk membangkitkan versibaru dari program

Rekayasa Perangkat Lunak

42

Teknologi CASE

Teknologi Case memudahkan perbaikan

signifikan dalam proses software merkipun

bukan perbaikan penting sesuai perkiraan

o Rekayasa software membutuhkan pemikiran

kreatif – hal ini tidak dapat diotomasi

o Rekayasa software adalah aktifitas tim dan untuk

proyek besar, banyak waktu dihabiskan untuk

interaksi tim. Teknologi CASE tidak mendukung

hal ini

Page 22: 3. Proses Software- Model

5/10/2018 3. Proses Software- Model - slidepdf.com

http://slidepdf.com/reader/full/3-proses-software-model 22/25

Rekayasa Perangkat Lunak

43

Klasifikasi CASE

Klasifikasi membantu mengerti perbedaan tipetool CASE dan dukungan untuk aktifitas proses

Perspektif Fungsional

o Tool diklasifikasi berdasarkan fungsi tertentu

Perspektif Proses

o Tool diklasifikasi berdasarkan aktifitas proses yang

didukung

Perspektif Integrasi

o Tool diklasifikasi berdasarkan organisasi ke dalam

unit integrasi

Rekayasa Perangkat Lunak

44

Klasifikasi Functional Tool

Tool type Examples

Planning tools PERT tools, estimation tools,

spreadsheets

Editing tools Text editors, diagram editors, word

processors

Change management tools Requirements traceability tools, change

control systems

Configuration management tools Version management systems, system

building tools

Prototyping tools Very high-level languages,

user interface generators

Method-support tools Design editors, data dict ionar ies, code

generators

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

analysers, dynamic analysers

Testing tools Test data generators, file comparators

Debugging tools Interactive debugging systems

Documentation tools Page layout programs, image editors

Re-engineering tools Cross-reference systems, program re-

structuring systems

Page 23: 3. Proses Software- Model

5/10/2018 3. Proses Software- Model - slidepdf.com

http://slidepdf.com/reader/full/3-proses-software-model 23/25

Rekayasa Perangkat Lunak

45Klasifikasi berbasis aktifitas

Reengineering tools

Testing tools

Debugging tools

Program analysis tools

Language-processingtools

Method support tools

Prototyping tools

Configurationmanagement tools

Change management tools

Documentation tools

Editing tools

Planning tools

Specification Design Implementation Verification

andValidation

Rekayasa Perangkat Lunak

46

Integrasi CASE

Tool

o Mendukung task proses individu seperti

pemeriksaan konsistensi desain, text editing dll

Workbench

o Mendukung fase proses seperti spesifikasi atau

desain. Biasanya melibatkan sejumlah tool

integrasi

Lingkungan

o Mendukung semua atau bagian substansi dari

keseluruhan proses software. Biasanya melibatkan

beberapa workbench terintegrasi

Page 24: 3. Proses Software- Model

5/10/2018 3. Proses Software- Model - slidepdf.com

http://slidepdf.com/reader/full/3-proses-software-model 24/25

Rekayasa Perangkat Lunak

47

Tool, workbench, lingkungan

Teknologi

CASE

LingkunganWorkbenchTools

Editor Compiler PembandingFile

Lingkungan

terintegrasi

Lingkungan proses

terpusati

TestingPemrogramanAnalisis

dan desain

Workbench

multi-method

Workbench

single-method

Workbench

general-purpose

Workbench

special language

Rekayasa Perangkat Lunak

48

Summary

Proses software adalah aktivitas yang terjadi

dalam memproduksi dan menghasilkan sistem

software. Direpresentasikan dalam model

proses software

Aktifitas umum adalah spesifikasi, desain dan

implementasi, validasi dan evolusi

Model proses generik menggambarkan

organisasi dari proses software Model proses iteratif menggambarkan proses

software sebagai siklus aktifitas

Page 25: 3. Proses Software- Model

5/10/2018 3. Proses Software- Model - slidepdf.com

http://slidepdf.com/reader/full/3-proses-software-model 25/25

Rekayasa Perangkat Lunak

49

Summary

Rekayasa kebutuhan adalah prosesmengembangkan spesifikasi software

Proses desain dan implementasi mengubah

spesifikasi ke program eksekusi

Validasi melibatkan pemeriksaan bahwa sistem

sesuai dengan spesifikasi dan keperluan user

Evolusi menyangkut modifikasi sistem setelah

digunakan

Teknologi CASE mendukung aktifitas prosessoftware