Modul Rekayasa Perangkat Lunak 2

21
9/30/2013 1 MODEL PROSES MODEL PROSES PERANGKAT LUNAK PERANGKAT LUNAK PROSES PERANGKAT LUNAK PROSES PERANGKAT LUNAK Serangkaian Serangkaian kegiatan kegiatan dan dan hasil hasil yang yang berhubungan berhubungan dengannya, dengannya, yang yang menuju menuju pada pada dihasilkannya dihasilkannya produk produk perangkat perangkat lunak lunak. Kegiatan Kegiatan-kegiatan kegiatan mendasar mendasar yg yg umum umum bagi bagi semua semua proses proses Perangkat Perangkat Lunak Lunak : 1. 1. Spesifikasi Spesifikasi Perangkat Perangkat Lunak Lunak Fungsionalitas Fungsionalitas perangkat perangkat lunak lunak dan dan batasan batasan kemampuan kemampuan operasinya operasinya harus harus didefinisikan didefinisikan. 2. 2. Pengembangan Pengembangan (Perancangan (Perancangan dan dan Implementasi) Implementasi) Perangkat Perangkat Lunak Lunak Perangkat Perangkat lunak lunak yang yang memenuhi memenuhi spesifikasi spesifikasi harus harus di di produksi produksi 3. 3. Validasi Validasi Perangkat Perangkat Lunak Lunak Perangkat Perangkat lunak lunak harus harus divalidasi divalidasi untuk untuk menjamin menjamin bahwa bahwa perangkat perangkat lunak lunak bekerja bekerja sesuai sesuai dengan dengan apa apa yang yang diinginkan diinginkan oleh oleh pelanggan pelanggan. 4. 4. Evolusi Evolusi Perangkat Perangkat Lunak Lunak Perangkat Perangkat lunak lunak harus harus berkembang berkembang untuk untuk memenuhi memenuhi kebutuhan kebutuhan pelanggan pelanggan.

description

Modul Rekayasa Perangkat Lunak 2

Transcript of Modul Rekayasa Perangkat Lunak 2

Page 1: Modul Rekayasa Perangkat Lunak 2

9/30/2013

1

MODEL PROSES MODEL PROSES PERANGKAT LUNAKPERANGKAT LUNAK

PROSES PERANGKAT LUNAKPROSES PERANGKAT LUNAK

SerangkaianSerangkaian kegiatankegiatan dandan hasilhasil yangyang berhubunganberhubungan dengannya,dengannya,yangyang menujumenuju padapada dihasilkannyadihasilkannya produkproduk perangkatperangkat lunaklunak..

KegiatanKegiatan--kegiatankegiatan mendasarmendasar ygyg umumumum bagibagi semuasemua prosesprosesPerangkatPerangkat LunakLunak ::

1.1. SpesifikasiSpesifikasi PerangkatPerangkat LunakLunak FungsionalitasFungsionalitas perangkatperangkatlunaklunak dandan batasanbatasan kemampuankemampuan operasinyaoperasinya harusharusdidefinisikandidefinisikan..

2.2. PengembanganPengembangan (Perancangan(Perancangan dandan Implementasi)Implementasi) PerangkatPerangkatLunakLunak PerangkatPerangkat lunaklunak yangyang memenuhimemenuhi spesifikasispesifikasi harusharusdidi produksiproduksi

3.3. ValidasiValidasi PerangkatPerangkat LunakLunak PerangkatPerangkat lunaklunak harusharus divalidasidivalidasiuntukuntuk menjaminmenjamin bahwabahwa perangkatperangkat lunaklunak bekerjabekerja sesuaisesuaidengandengan apaapa yangyang diinginkandiinginkan oleholeh pelangganpelanggan..

4.4. EvolusiEvolusi PerangkatPerangkat LunakLunak PerangkatPerangkat lunaklunak harusharusberkembangberkembang untukuntuk memenuhimemenuhi kebutuhankebutuhan pelangganpelanggan..

Page 2: Modul Rekayasa Perangkat Lunak 2

9/30/2013

2

Model Proses Perangkat LunakModel Proses Perangkat Lunak

A.A. ModelModel airair terjunterjun (waterfall)(waterfall) BiasaBiasa jugajugadisebutdisebut siklussiklus hiduphidup perangkatperangkat lunaklunak..MengambilMengambil kegiatankegiatan dasardasar sepertiseperti spesifikasi,spesifikasi,pengembangan,pengembangan, validasi,validasi, dandan evolusievolusi dandanmerepresentasikannyamerepresentasikannya sebagaisebagai fasefase--fasefase prosesprosesyangyang berbedaberbeda sepertiseperti spesifikasispesifikasi persyaratan,persyaratan,perancanganperancangan perangkatperangkat lunak,lunak, implementasi,implementasi,pengujianpengujian dandan seterusnyaseterusnya..

Gambar model Gambar model waterfallwaterfall

Requirementsdefinition

System andsoftware design

Implementationand unit testing

Integration andsystem testing

Operation andmaintenance

Page 3: Modul Rekayasa Perangkat Lunak 2

9/30/2013

3

B.B. PengembanganPengembangan EvolusionerEvolusioner BerdasarkanBerdasarkanpadapada ideide untukuntuk mengembangkanmengembangkan implementasiimplementasiawal,awal, memperlihatkannyamemperlihatkannya kepadakepada useruser untukuntukdikomentari,dikomentari, dandan memperbaikinyamemperbaikinya versiversi demidemiversiversi sampaisampai sistemsistem yangyang memenuhimemenuhipersyaratanpersyaratan diperolehdiperoleh..

TidakTidak adaada kegiatankegiatan spesifikasi,spesifikasi, pengembangan,pengembangan,dandan validasivalidasi yangyang terpisahterpisah.. KegiatanKegiatan22 iniinidilakukandilakukan padapada saatsaat yangyang bersamaanbersamaan dengandenganumpanumpan balikbalik yangyang cepatcepat untukuntuk masingmasing22kegiatankegiatan..

Gambar model Pengembangan Gambar model Pengembangan EvolusionerEvolusioner

ValidationFinal

version

DevelopmentIntermediate

versions

SpecificationInitial

version

Outlinedescription

Concurrentactivities

Page 4: Modul Rekayasa Perangkat Lunak 2

9/30/2013

4

Ada 2 jenis pengembangan Ada 2 jenis pengembangan evolusioner evolusioner

1.1. PengembanganPengembangan EksplotariEksplotari TujuanTujuanprosesproses iniini adalahadalah bekerjabekerja dengandenganpelangganpelanggan untukuntuk menyelidikimenyelidiki persyaratanpersyaratanmerekamereka dandan mengirimkanmengirimkan sistemsistem akhirakhir..HarusnyaHarusnya diawalidiawali dengandengan kebutuhankebutuhan yangyangsudahsudah dimengertidimengerti..

2.2. PrototipePrototipe yangyang dapatdapat dibuangdibuang (throw(throw--away)away) BerkonsentrasiBerkonsentrasi padapada eksperimen,eksperimen,dengandengan persyaratanpersyaratan pelangganpelanggan yangyang tidaktidakdipahamidipahami dengandengan baikbaik..

Kelebihan model Pengembangan Kelebihan model Pengembangan EvolusionerEvolusioner

LebihLebih efektifefektif daridari pendekatanpendekatan airair terjunterjundalamdalam menghasilkanmenghasilkan sistemsistem yangyangmemenuhimemenuhi kebutuhankebutuhan langsunglangsung daridaripelangganpelanggan..

SementaraSementara useruser mendapatmendapatpemahamanpemahaman yangyang lebihlebih baikbaik daridarimasalahmasalah mereka,mereka, sistemsistem perangkatperangkatlunaklunak dapatdapat merefleksikannyamerefleksikannya..

Page 5: Modul Rekayasa Perangkat Lunak 2

9/30/2013

5

Masalah pada model Masalah pada model Pengembangan EvolusionerPengembangan Evolusioner

Kurangnya visibilitas proses Kurangnya visibilitas proses Jika sistem Jika sistem dikembangkan dengan cepat, tidaklah efektif dikembangkan dengan cepat, tidaklah efektif dari segi biaya jika dihasilkan dokumen yang dari segi biaya jika dihasilkan dokumen yang merefleksikan setiap versi sistem.merefleksikan setiap versi sistem.

Sistem seringkali memiliki struktur yang buruk Sistem seringkali memiliki struktur yang buruk Perubahan yang terusPerubahan yang terus--menerus cenderung menerus cenderung merusak struktur perangkat lunak. merusak struktur perangkat lunak. Penyesuaian perubahan menjadi kian sulit dan Penyesuaian perubahan menjadi kian sulit dan mahal.mahal.

Membutuhkan kemampuan khusus.Membutuhkan kemampuan khusus.

C. Model Pengembangan Sistem C. Model Pengembangan Sistem FormalFormal

Proses pengembangan Perangkat Lunak Proses pengembangan Perangkat Lunak didasarkan pada transformasi matematis dari didasarkan pada transformasi matematis dari spesifikasi sistem menjadi program yang spesifikasi sistem menjadi program yang dapat dijalankan.dapat dijalankan.

Requirementsdefinition

Formalspecification

Formaltransformation

Integration andsystem testing

Page 6: Modul Rekayasa Perangkat Lunak 2

9/30/2013

6

Masalah dalam Pengembangan Masalah dalam Pengembangan Metode FormalMetode Formal

MemerlukanMemerlukan keahliankeahlian khususkhusus dandanpelatihanpelatihan untukuntuk mengaplikasikannyamengaplikasikannya

UntukUntuk sebagiansebagian besarbesar sistem,sistem, metodemetodeiniini tidaktidak memberikanmemberikan keuntungankeuntunganbiayabiaya atauatau kualitaskualitas yangyang signifikansignifikandibandingkandibandingkan dengandengan pendekatanpendekatanyangyang lainlain..

D. Model Pengembangan Berorientasi D. Model Pengembangan Berorientasi Pemakaian Ulang Pemakaian Ulang (Re(Re--Usable)Usable)

BergantungBergantung padapada sejumlahsejumlah besarbesar komponenkomponenperangkatperangkat lunaklunak yangyang dapatdapat dipakaidipakai ulang,ulang, yangyangbisabisa didapat,didapat, dandan berapaberapa kerangkakerangka kerjakerjaintegrasiintegrasi untukuntuk komponenkomponen--komponenkomponen iniini..

KomponenKomponen--komponenkomponen iniini dapatdapat jugajuga disebutdisebutsistemsistem yangyang disebutdisebut COTSCOTS (Commercial(Commercial OffOff--TheThe--ShelfShelf Systems/Systems/SistemSistem SiapSiap BeliBeli Komersial)Komersial) yangyangdapatdapat digunakandigunakan untukuntuk memberikanmemberikanfungsionalitasfungsionalitas khususkhusus sepertiseperti formatformat teks,teks,perhitunganperhitungan numerik,dllnumerik,dll..

Page 7: Modul Rekayasa Perangkat Lunak 2

9/30/2013

7

Gambar Model Pengembangan Berorientasi Gambar Model Pengembangan Berorientasi Pemakaian Ulang Pemakaian Ulang (Re(Re--Usable)Usable)

Requirementsspecification

Componentanalysis

Developmentand integration

System designwith reuse

Requirementsmodification

Systemvalidation

TahapTahap--tahap tahap ReRe--UsableUsable

1.1. AnalisisAnalisis KomponenKomponen SpesifikasiSpesifikasi persyaratanpersyaratan telahtelahdiketahui,diketahui, komponenkomponen22 untukuntuk implementasiimplementasi spesifikasispesifikasitersebuttersebut akanakan dicaridicari.. Biasanya,Biasanya, tidaktidak adaada kesesuaiankesesuaianyangyang tepattepat dandan komponenkomponen yangyang dapatdapat dipakaidipakai hanyahanyamemberikanmemberikan sebagiansebagian daridari fungsionalitasfungsionalitas yangyangdibutuhkandibutuhkan..

22.. ModifikasiModifikasi PersyaratanPersyaratan PersyaratanPersyaratan dianalisisdianalisismenggunakanmenggunakan informasiinformasi tentangtentang komponenkomponen yangyangdidapat,didapat, kemudiankemudian dimodifikasidimodifikasi untukuntuk merefleksikanmerefleksikankomponenkomponen yangyang adaada.. JikaJika modifikasimodifikasi tidaktidak mungkinmungkindilakukan,dilakukan, makamaka kegiatankegiatan analisisanalisis komponenkomponen bisabisadiulangdiulang untukuntuk mencarimencari solusisolusi alternatifalternatif..

Page 8: Modul Rekayasa Perangkat Lunak 2

9/30/2013

8

3.3. PerancanganPerancangan sistemsistem dengandengan pemakaianpemakaianulangulang KerangkaKerangka kerjakerja sistemsistem dirancang,dirancang,atauatau kerangkakerangka kerjakerja yangyang telahtelah adaada dipakaidipakaiulangulang..

4.4. PengembanganPengembangan dandan IntegrasiIntegrasi PerangkatPerangkatLunakLunak yangyang tidaktidak dapatdapat dibelidibeli akanakandikembangkandikembangkan dandan komponenkomponen dandan sistemsistemCOTSCOTS diintegrasikandiintegrasikan untukuntuk membantumembantusistemsistem..

Keuntungan Model Keuntungan Model ReRe--UsableUsable

Mengurangi besarnya perangkat Mengurangi besarnya perangkat lunak yang akan dikembangkan lunak yang akan dikembangkan

Memperkecil biaya dan resikoMemperkecil biaya dan resiko

Memungkinkan penyelesaian Memungkinkan penyelesaian perangkat lunak dengan cepatperangkat lunak dengan cepat

Page 9: Modul Rekayasa Perangkat Lunak 2

9/30/2013

9

ITERASI PROSESITERASI PROSES

Digunakan untuk kebanyakan sistem besarDigunakan untuk kebanyakan sistem besar

Perlu digunakan berbagai pendekatan untuk Perlu digunakan berbagai pendekatan untuk berbagai bagian sistem, sehingga harus berbagai bagian sistem, sehingga harus digunakan model HIBRID digunakan model HIBRID bagian proses bagian proses diulang, sementara persyaratan sistem berubah.diulang, sementara persyaratan sistem berubah.

Terdapat 2 model iterasi :Terdapat 2 model iterasi :

Pengembangan InkrementalPengembangan Inkremental

Pengembangan SpiralPengembangan Spiral

A. Pengembangan InkrementalA. Pengembangan Inkremental

Pengembangan sistem berdasarkan Pengembangan sistem berdasarkan model sistem yang dipecah sehingga model sistem yang dipecah sehingga model pengembangannya secara model pengembangannya secara increment/bertahap.increment/bertahap.

Kebutuhan pengguna diprioritaskan Kebutuhan pengguna diprioritaskan dan prioritas tertinggi dimasukkan dan prioritas tertinggi dimasukkan dalam awal incrementdalam awal increment

Page 10: Modul Rekayasa Perangkat Lunak 2

9/30/2013

10

Penjelasan model Inkremen Penjelasan model Inkremen PressmanPressman

Kombinasikan elemet-element dari waterfall dengan sifat iterasi/perulangan.

Element-element dalam waterfall dikerjakan dengan hasil berupa produk dengan spesifikasi tertentu, kemudian proses dimulai dari fase pertama hingga akhir dan menghasilkan produk dengan spesifikasi yang lebih lengkap dari yang sebelumnya. Demikian seterusnya hingga semua spesifikasi memenuhi kebutuhan yang ditetapkan oleh pengguna.

Produk hasil increment pertama biasanya produk inti (core product), yaitu produk yang memenuhi kebutuhan dasar. Produk tersebut digunakan oleh pengguna atau menjalani review/pengecekan detil. Hasil review tersebut menjadi bekal untuk pembangunan pada increment berikutnya. Hal ini terus dikerjakan sampai produk yang komplit dihasilkan.

Mampu mengakomodasi perubahan secara fleksibel. Produk yang dihasilkan pada increment pertama bukanlah

prototype, tapi produk yang sudah bisa berfungsi dengan spesifikasi dasar.

Page 11: Modul Rekayasa Perangkat Lunak 2

9/30/2013

11

Model Increment SommervilleModel Increment Sommerville

Valida teincrement

Develop systemincrement

Design systemarchitecture

Integrateincrement

Valida tesystem

Define outline requirements

Assign requirements to increments

System incomplete

Finalsystem

B. SPIRAL MODELB. SPIRAL MODEL

Page 12: Modul Rekayasa Perangkat Lunak 2

9/30/2013

12

Proses digambarkan sebagai spiral.

Setiap loop mewakili satu fase dari software process.

Loop paling dalam berfokus pada kelayakan dari sistem, loop selanjutnya tentang definisi dari kebutuhan, loop berikutnya berkaitan dengan desain sistem dan seterusnya

Setiap Loop dibagi menjadi beberapa sektor :

1. Objective settings (menentukan tujuan): menentukan tujuan dari fase yang ditentukan. Batasan-batasan pada proses dan produk sudah diketahui. Perencanaan sudah disiapkan. Resiko dari proyek sudah diketahui. Alternatif strategi sudah disiapkan berdasarkan resiko-resiko yang diketahui, dan sudah direncanakan.

2. Risk assessment and reduction (Penanganan dan pengurangan resiko): setiap resiko dianalisis secara detil pada sektor ini. Langkah-langkah penanganan dilakukan, misalnya membuat prototype untuk mengetahui ketidakcocokan kebutuhan.

Page 13: Modul Rekayasa Perangkat Lunak 2

9/30/2013

13

3. Development and Validation (Pembangunan dan pengujian):

Setelah evaluasi resiko, maka model pengembangan sistem dipilih.

Misalnya jika resiko user interface dominan, maka membuat prototype User Interface.

Jika bagian keamanan yang bermasalah, maka menggunakan model formal dengan perhitungan matematis,

Jika masalahnya adalah integrasi sistem model waterfall lebih cocok.

4. Planning : Proyek dievaluasi atau ditinjau-ulang dan diputuskanuntuk terus ke fase loop selanjutnya atau tidak. Jika melanjutkanke fase berikutnya rencana untuk loop selanjutnya.

Pada model spiral, resiko sangat dipertimbangkan. Resiko adalah sesuatu yang mungkin mengakibatkan kesalahan. Model spiral merupakan pendekatan yang realistik untuk PL

berskala besar. Pengguna dan pembangun (Perekayasa) bisa memahami dengan

baik software yang dibangun karena setiap kemajuan yang dicapai selama proses dapat diamati dengan baik.

Namun demikian, waktu yang cukup panjang mungkin bukan pilihan bagi pengguna, karena waktu yang lama sama dengan biaya yang lebih besar.

Page 14: Modul Rekayasa Perangkat Lunak 2

9/30/2013

14

RAD (Rapid Application Development)

RAD adalah model proses pembangunan PL yang incremental.

RAD menekankan pada siklus pembangunan yang pendek/singkat.

RAD mengadopsi model waterfall dan pembangunan dalam waktu singkat dicapai dengan menerapkan component based construction.

Waktu yang singkat adalah batasan yang penting untuk model ini.

Jika kebutuhan lengkap dan jelas maka waktu yang dibutuhkan untuk menyelesaikan secara komplit software yang dibuat adalah misalnya 60 sampai 90 hari.

Kelemahan dalam model ini:

Tidak cocok untuk proyek skala besar

Proyek bisa gagal karena waktu yang disepakati tidak dipenuhi

Sistem yang tidak bisa dimodularisasi tidak cocok untuk model ini

Resiko teknis yang tinggi juga kurang cocok untuk model ini

Page 15: Modul Rekayasa Perangkat Lunak 2

9/30/2013

15

Gambar Model RADGambar Model RAD

Fase-fase di atas menggambarkan proses dalam model RAD. Sistem dibagi-bagi menjadi beberapa modul dan dikerjakan

dalam waktu yang hampir bersamaan dalam batasan waktu yang sudah ditentukan.

Business modelling : menjawab pertanyaan-pertanyaan: informasi apa yang mengendalikan proses bisnis? Informasi apa yang dihasilkan? Siapa yang menghasilkan informasi? Kemana informasi itu diberikan? Siapa yang mengolah informasi? kebutuhan dari sistem

Data modelling: aliran informasi yang sudah didefinisikan, disusun menjadi sekumpulan objek data. Ditentukan karakteristik/atribut dan hubungan antar objek-objek tersebut analisis kebutuhan dan data

Process Modelling : objek data yang sudah didefinisikan diubah menjadi aliran informasi yang diperlukan untukmenjalankan fungsi-fungsi bisnis.

Application Generation: RAD menggunakan component program yang sudah ada atau membuat component yang bisa digunakan lagi, selama diperlukan.

Testing and Turnover: karena menggunakan component yang sudah ada, maka kebanyakan component sudah melalui uji atau testing. Namun component baru dan interface harus tetap diuji.

Page 16: Modul Rekayasa Perangkat Lunak 2

9/30/2013

16

Prototyping Model

Kadang-kadang klien hanya memberikan beberapa kebutuhan umum software tanpa detil input, proses atau detil output.

Di lain waktu mungkin dimana tim pembangun (developer) tidak yakin terhadap efisiensi dari algoritma yang digunakan, tingkat adaptasi terhadap sistem operasi atau rancangan form user interface.

Ketika situasi seperti ini terjadi model prototyping sangat membantu proses pembangunan software.

Proses pada model prototyping yang bisa dijelaskan sebagai berikut:

Pengumpulan kebutuhan: developer dan klien bertemu dan menentukan tujuan umum, kebutuhan yang diketahui dan gambaran bagian-bagian yang akan dibutuhkan berikutnya. Detil kebutuhan mungkin tidak dibicarakan disini, pada awal pengumpulan kebutuhan

Perancangan : perancangan dilakukan cepat dan rancangan mewakili semua aspek software yang diketahui, dan rancangan ini menjadi dasar pembuatan prototype.

Evaluasi prototype: klien mengevaluasi prototype yang dibuat dan digunakan untuk memperjelas kebutuhan software.

Page 17: Modul Rekayasa Perangkat Lunak 2

9/30/2013

17

Gambar model PrototypeGambar model Prototype

Perulangan ketiga proses ini terus berlangsung hingga semua kebutuhan terpenuhi.

Prototype-prototype dibuat untuk memuaskan kebutuhan klien dan untuk memahami kebutuhan klien lebih baik.

Prototype yang dibuat dapat dimanfaatkan kembali untuk membangun software lebih cepat, namun tidak semua prototype bisa dimanfaatkan.

Sekalipun prototype memudahkan komunikasi antar developer dan klien, membuat klien mendapat gambaran awal dari prototype , membantu mendapatkan kebutuhan detil lebih baik namun demikian prototype juga menimbulkan masalah.

Page 18: Modul Rekayasa Perangkat Lunak 2

9/30/2013

18

Masalah2 yg ada pada Prototype Masalah2 yg ada pada Prototype Model :Model :

1. Dalam membuat prototype banyak hal yang diabaikan seperti efisiensi, kualitas, kemudahan dipelihara/dikembangkan, dan kecocokan dengan lingkungan yang sebenarnya. Jika klien merasa cocok dengan prototype yang disajikan dan berkeras terhadap produk tersebut, maka developer harus kerja keras untuk mewujudkan produk tersebut menjadi lebih baik, sesuai kualitas yang seharusnya.

2. developer biasanya melakukan kompromi dalam beberapa hal karena harus membuat prototype dalam waktu singkat. Mungkin sistem operasi yang tidak sesuai, bahasa pemrograman yang berbeda, atau algoritma yang lebih sederhana.

Agar model ini bisa berjalan dengan baik, perlu disepakati bersama oleh klien dan developer bahwa prototype yang dibangun merupakan alat untuk mendefinisikan kebutuhan software.

Page 19: Modul Rekayasa Perangkat Lunak 2

9/30/2013

19

Dari model yang disebut di atas dapat diambil suatu kesimpulan, bahwa proses pengembangan software terdiri dari 3 fase, yaitu :• Fase Definisi• Fase Pengembangan (Development)• Fase Pemeliharaan (Maintenance)

1. Fase DefinisiFase definisi memfokuskan pada “What”. Selama definisi ini, developer

software berusaha untuk :

• Mengidentifikasi informasi apa yang dikerjakan proses• Fungsi dan performance apa yang diinginkan• Interface apa yang dibutuhkan• Hambatan desain apa yang ada, dan• Kriteria validasi apa yang dibutuhkan untuk menetapkan keberhasilan sistem.

Sistem AnalisSistem analis menetapkan peranan dari setiap elemen dalam sistem berbasis komputer, terutama menga-lokasikan peranan software.

Sistem Software PlanningDalam sistem ini, setelah lingkungan software dialokasikan, maka langkah dari sistem software plan-ning ini adalah :• Pengalokasian sumber / resource• Estimasi biaya• Penetapan tugas pekerjaan dan jadual.

Requirement AnalysisPenetapan lingkup untuk software memberikan petunjuk / arah. Namun definisi yang lebih rinci dari in-formasi dan fungsi software diperlukan sebelum pekerjaan dimulai.

Page 20: Modul Rekayasa Perangkat Lunak 2

9/30/2013

20

2. Fase PengembanganFase pengembangan berfokus pada “How”. Selama pengembangan,

developer software berusaha menjelas-kan :

• Bagaimana struktur data dan arsitektur software yang didesain• Bagaimana rincian prosedur diimplementasikan ( diterapkan )• Bagaimana desain diterjemahkan ke dalam bahasa pemrograman atau bahasa non prosedur, dan• Bagaimana pengetesan akan dilaksanakan.

Desain software ( Software Design )Desain menterjemahkan kebutuhan-kebutuhan software ke dalam sekumpulan representasi (grafik, ta-bel, diagram, atau bahasa yang menjelaskan struktur data, arsitektur software dan prosedur algoritma).

CodingRepresentasi desain harus diterjemahkan ke dalam bahasa tiruan / artificial language yang menghasilkan perintah-perintah yang dapat dieksekusi oleh komputer.

Software TestingSegera sesudah software diimplementasikan dalam bentuk yang dapat dieksekusi oleh mesin, software perlu ditest untuk menemukan kesalahan ( merupakan fungsi logika dan implementasi ).

Page 21: Modul Rekayasa Perangkat Lunak 2

9/30/2013

21

3. Fase PemeliharaanFase pemelihaaan berfokus pada “Change” atau perubahan. Ini dapat

disebabkan :

• Perubahan karena software error ( Corective Maintenance )• Perubahan karena software disesuaikan / diadaptasi denganlingkungan external, misalnya munculnya CPU baru, sistem operasi baru( Adaptive Maintenance )• Perubahan software yang disebabkan customer / user meminta fungsitambahan, misalnya fungsi grafik, fungsi matematik, dll ( PerfectiveMaintenance )