• Tidak ada hasil yang ditemukan

Rekayasa Perangkat Lunak (Software Engineering)

N/A
N/A
Protected

Academic year: 2021

Membagikan "Rekayasa Perangkat Lunak (Software Engineering)"

Copied!
9
0
0

Teks penuh

(1)

Rekayasa Perangkat Lunak

Rekayasa Perangkat Lunak

(Software Engineering)

Graha Prakarsa, ST. MT.

Sekolah Tinggi Teknologi Bandung

1

 Memahami arti pengembangan perangkat lunak.

 Mengetahui aktivitas pengembangan perangkat lunak.

 Memahami model proses pengembangan perangkat lunak dan mengetahui beberapa jenis model proses yang sering digunakan.

M t h i t d b k t

 Mengetahui metode pengembangan perangkat lunak.

 Memahami perbedaan dari setiap metode pengembangan perangkat lunak.

2

1.

Proses Pengembangan Perangkat Lunak

g

g

g

2.

Model Proses Pengembangan Perangkat

Lunak

3.

Aktivitas Pengembangan Perangkat Lunak

4

Metode Pengembangan Perangkat Lunak

4.

Metode Pengembangan Perangkat Lunak

Proses dimana kebutuhan pemakai diterjemahkan menjadi produk perangkat lunak melalui suatu rangkaian aktivitas tertentu sesuai model proses yang digunakan

Kebutuhan pemakai Perangkat lunak

Pengembangan Perangkat Lunak

(2)

Orang (people)  analis sistem, pemrogram, penguji perangkat lunak termasuk pemakai dan pelanggan.

Proyek (project)

Produk (product)  source code, executable

programs, model‐model dan dokumen‐dokumen

yang dihasilkan sebagai produk yang dihasilkan sebagai produk.

Proses (process)  kumpulan aktivitas untuk menghasilkan perangkat lunak.

 Alat bantu

5

P

Proyek Proses

Orang Alat Bantu

partisipan template otomasi Produk hasil 6

 Suatu cara atau strategi pengembangan yang memadukan metode, teknik dan alat bantu sedemikian rupa sehingga produk perangkat lunak dapat diwujudkan.

 Model proses ini ada karena beragamnya sifat proyek dan aplikasi, metode dan alat yang digunakan, serta pengendalian dan hasil yang diinginkan.

 Model proses pengembangan perangkat lunak yang pelaksanaan proses pengembangannya dilakukan secara berurutan.

 Artinya, aktivitas pengembangan berikutnya baru dapat dilaksanakan jika aktivitas sebelumnya sudah diselesaikan lebih dahulu.

(3)

 Model Proses Linear Sequential

R ekayasa S istem /

 Model Proses Waterfall

A li i

R ekayasa S istem / Inform asi

A nalisis P erancangan P engkodean P engujian

Analisis Kebutuhan Perancangan Pengkodean Pengujian Pengoperasian 9

 Pemakai hanya memberikan gambaran umum dari spesifikasi dan gambaran umum dari spesifikasi dan kegunaan perangkat lunak tanpa merinci seperti apa masukan, proses, dan keluarannya.

 Model proses prototyping

dilaksanakan secara berulang dengan diawali oleh aktivitas pengumpulan kebutuhan sistem dan berakhir jika produk perangkat lunak yang dihasilkan sudah sesuai dengan yang diharapkan oleh pemakai

10

Mengkombinasikan model linear sequential dan pengulangan dari model prototyping.

Analisis Perancangan Implementasi Pengujian

Analisis Perancangan Implementasi Pengujian penambahan pertama penambahan kedua hasil penambahan pertama hasil penambahan kedua

Analisis Perancangan Implementasi Pengujian kedua penambahan ke-n kedua hasil akhir / produk lengkap . . .

PERENCANAAN ANALISIS RESIKO

Mengadopsi pengulangan

model prototyping dan

pengendalian model linear

sequential dengantambahan elemen analisis resiko pada

elemen analisis resiko pada proses pengembangannya.

REKAYASA EVALUASI PEMAKAI

(4)

A. Persiapan pengembangan B. Analisis kebutuhan sistem C. Perancangan sistem

D. Analisis kebutuhan perangkat lunak

E. Perancangan perangkat lunak

F. Implementasi perangkat lunak (coding)

G P ji k t l k

G. Pengujian perangkat lunak

H. Integrasi perangkat lunak

I. Pengujian sistem

J. Penyerahan kepada pemakai (user acceptance)

13

Bertujuan untuk menetapkan baseline dari pengerjaan pengembangan:

 Pendefinisian model proses pengembangan perangkat lunak yang akan digunakan .

 Penentuanstandaryang akan dijadikan acuan serta alat bantu dan perangkat implementasi yang akan digunakan

digunakan.

 Pembuatanrencanapengembangan.

 Penetapan produk‐produk yang akan diserahkan kepada pemakai.

14

Aktivitas untuk mempelajari dan menentukan kebutuhan sistem yang menjadi lingkungan dimana perangkat lunak akan beroperasi:

 Kebutuhan lingkungan sistem  kebutuhan perangkat keras, perangkat lunak, dan komunikasi data.

 Kebutuhan bisnis fungsional.

K b h i f i

 Kebutuhan informasi.

 Kebutuhan antarmuka sistem.

 Kebutuhan lain  unjuk kerja, keselamatan, keamanan dan sebagainya.

Aktivitas untukmerancang strukturdan keterkaitanantar komponen‐komponen sistem sesuai kriteria yang sudah ditetapkan, termasuk antarmuka dengan lingkungan operasionalnya.

 Prosedur (berkaitan dengan bagaimana sistem nanti akan digunakan).

 Antarmuka  formulir isian dan dokumen output atau  Antarmuka  formulir isian dan dokumen output, atau

modul‐modul penghubung.

 Arsitektur perangkat keras dan perangkat lunak sistem.  Data dan informasi.

(5)

d. Analisis Kebutuhan Perangkat Lunak  Aktivitas untuk

mendefinisikan kebutuhan perangkat lunak, yaitu kondisi ataukemampuan yang harus dimilikioleh perangkat lunak untuk memenuhi apa yang disyaratkan atau diinginkan pemakai.

e. Perancangan Perangkat Lunak  Aktivitas untuk menentukan bagaimana perangkat lunak memenuhi kebutuhan yang sudah didefinisikan. Cakup perancangan meliputi perancangan data, arsitektur perangkat lunak, antarmuka, dan algoritma.

17

f. Implementasi Perangkat Lunak (Coding)  Aktivitasg g

untuk mewujudkan perangkat lunak melalui proses

transformasi semua model hasil perancangan menjadi program komputer dan data, dengan menggunakan perangkat implementasi tertentu. g.Pengujian Perangkat Lunak  Aktivitas untuk

memeriksa perangkat lunak yang dihasilkanapakah sudah memenuhi kebutuhan yang sudah didefinisikan atau belum.

18

Aktivitas untuk mengintegrasikan perangkat lunak yang sudah selesai diuji dengan perangkat keras dan bagian‐ bagian sistem lainnya menjadi suatu kesatuan.

 Pembuatan rencana integrasi dan dokumentasinya.  Instalasi perangkat keras dan perangkat lunak

pendukung yang dibutuhkan oleh perangkat lunak.  Pengujiang j apakahp perangkatp g keras yangy g sudah

diinstalasi dan perangkat lunak pendukungnya sudah bekerja dengan benar.

 Instalasi perangkat lunak.

 Pengujian dan evaluasi hasil integrasi.

Aktivitas untuk menguji perangkat lunak di lingkungan sebenarnya dengan menggunakan data sebenarnya, dan melibatkan komponen sistem lainnya, seperti perangkat keras, perangkat komunikasi data, pemakai, dan prosedur‐prosedur seperti prosedur manual, prosedur audit, dan prosedur keamanan.

 Pembuatan dokumen rencana pengujian sistem. Penyusunan petunjuk operasi

 Penyusunan petunjuk operasi.

 Konversi dan penyiapan data yang sebenarnya.

 Pelaksanaan pengujian oleh pemakai atau perwakilan pemakai yang benar‐benar mengetahui kebutuhannya.  Evaluasi hasil pengujian.

(6)

Apabila pemakai dapat menerima seluruh hasil pengujian, perangkat lunak dapat segera diserahterimakan.

 Spesifikasi produk perangkat lunak

 Manual pemakaian perangkat lunak

 Manual masukan/keluaran perangkat lunak/ p g

 Manual pengoperasian komputer

21

A.

Konvensional atau Tradisional.

B.

Berorientasi Aliran Data atau Fungsi.

C.

Berorientasi Struktur Data.

D.

Berorientasi Objek.

22

 Sudut pandang ditujukan pada sistem fisik (prosedur kerja).

T h b

 Tahap pengembangan:

 mengamati dokumen apa yang menjadi media data atau informasi,

 bagaimana dokumen tersebut terbentuk,

 bagaimana dokumen tersebut mengalir dari satu bagian ke bagian yang lain,

 proses apa yang terjadi pada dokumen tersebut, dan seterusnya.

 Hasil setiap tahap pengembangan dimodelkan denganHasil setiap tahap pengembangan dimodelkan dengan menggunakan alat bantu yang disebut bagan alir (flowchart).  Pemodelan yang dibuat pada umumnya adalah:

Peta aliran kerja (flowmap)

System Flowchart

(7)

25

 Sudut pandangnya mengacu pada aspek fungsional dan perilaku sistem.

perilaku sistem.

 Pengembang harus mengetahui fungsi‐fungsi atau proses‐ proses apa saja yang ada dalam sistem, data apa yang menjadi masukannya, dimana data tersebut disimpan, transformasi apa yang akan dilakukan terhadap data tersebut, dan apa yang menjadi hasil transformasinya.  Hasil analisis dan perancangan dimodelkan menjadi:

l l

Diagram Aliran Data (Data Flow Diagram atau DFD)

Kamus Data (Data Dictionary)

Spesifikasi Proses (Process Specification atau P‐Spec)

Diagram Transisi Keadaan (State Transition Diagram atau STD)

 Diagram E‐R  Pseudo‐code 26 Functional Decomposition =  function + sub‐functionsf + functions interfaces

 Sudut pandangnya mengacu pada struktur data dari dokumen masukan/keluaran yang digunakan dalam sistem.  Tahap pengembangannya:

Mengidentifikasi entitas‐entitas atau item‐item yang menjadi objek informasi kunci berikut operasi‐operasinya.

 Menyatakan struktur informasi (dari dokumen) secara hirarki dengan menggunakan konstruksi sequence, selection dan repetition.

 Memetakan hirarki struktur informasi menjadi struktur programMemetakan hirarki struktur informasi menjadi struktur program.

 Contoh:

Data Structured System Development (DSSD)

Jackson System Development (JSD)

Structured Systems Analysis and Design Methodology (SSADM)

(8)

Data Flow Approach  =  data (& control) flows + data (& control) transformation  data (& control) stores + data (& control) stores + terminators + process specs (mini‐specs) + data dictionary 29

 Memandang perangkat lunak yang akan dikembangkan sebagai suatu kumpulan objek yang berkorespondensi dengan objek‐objek dunia

t nyata.

Sistem Akademik

Dosen Jadwal Kuliah Konteks

Dekomposisi berdasarkan objek atau konsep Dekomposisi berdasarkan fungsi atau proses

Contoh: Object Modeling Technique (OMT), Object Oriented Software Engineering (OOSE), Unified Modeling Language (UML), dll.

Mahasiswa Kontrak Kuliah

Pengambilan

Kuliah Penjadwalan Penilaian Metodologi Berorientasi Objek Metodologi Berorientasi Fungsi

30

Object Oriented  = classes and objects + inheritance

+ communication with messages

Proses pengembangan umumnya  penetapan baseline, analisis dan perancangan sistem analisis kebutuhan dan perancangan dan perancangan sistem, analisis kebutuhan dan perancangan perangkat lunak, penulisan program, pengujian, instalasi dan pengujian sistem, dan penyerahan kepada pemakai.

 Model proses pengembangan  cara atau strategi bagaimana mengembangkan PL berdasarkan model proses, metode pengembangan, teknik, dan alat bantu tertentu sehingga produk PL d t di j dk

PL dapat diwujudkan.

 Penentuan model proses mana yang digunakan saat pengembangan, tergantung sepenuhnya kepada sifat dan ukuran proyek, area aplikasi, atau kompleksitas masalah.

(9)

 Metode pengembangan adalah metode teknis untuk menyelesaikan setiap aktivitas dari pengembangan perangkat lunak yang mempunyaip p g g p g y g p y pendekatan, sudut pandang dan kumpulan aturan tertentu.

 Jika diklasifikasi sesuai pendekatannya, dikenal empat metode pengembangan, yaitu metode konvensional, berorientasi fungsi, data, dan objek.

 Strategi utama untuk menangani kompleksitas pembangunan perangkat lunak adalah dekomposisi permasalahan menjadi bagian‐ bagian kecil yang dapat dikelola

bagian kecil yang dapat dikelola.

 Pada metode berorientasi fungsi atau aliran data (DFD) dekomposisi permasalahan dilakukan berdasarkan fungsi atau proses secara hirarki, mulai dari konteks sampai proses‐proses yang paling kecil.

 Sementara pada metode berorientasi objek, dekomposisi permasalahan dilakukan berdasarkan objek‐objek yang ada dalam

sistem. 33

 Rekayasa Sistem

 Analisis kebutuhan sistem  Perancangan sistem

34

Referensi

Dokumen terkait

Di dalam mata kuliah ini akan dibahas masalah Produk perangkat lunak, Proses perangkat lunak, Konsep Manajemen proyek, Metriks proses pembuatan dan proyek perangkat

Pendekatan prototyping model digunakan jika pemakai hanya mendefenisikan objektif umum dari perangkat lunak tanpa merinci kebutuhan input, pemrosesan dan outputnya, sementara

Elemen-elemen perangkat lunak realtime mencakup komponen pengumpul data yang mengumpulkan dan memformat informasi dari lingkungan eksternal, sebuah komponen analisis

Fase ini berfokus pada “apa” (what); di mana pada definisi ini pengembang perangkat lunak harus mengidentifikasi informasi apa yang akan diproses, fungsi dan

 Bisa mencakup kegiatan yang merupakan bagian dari proses perangkat lunak, produk perangkat lunak, dan peran orang yang terlibat pada.. rekayasa perangkat lunak

Pengertian RPL sendiri adalah suatu disiplin ilmu yang membahas semua aspek produksi perangkat lunak, mulai dari tahap awal yaitu analisa kebutuhan pengguna,

mengembangkan suatu rekayasa perangkat lunak aplikasi penjualan yang sesuai dengan kebutuhan tempat studi kasus yaitu Chelsea outlet.. Model yang digunakan dalam proses

• Sasaran utama dari teknik perangkat lunak adalah pengembangan produk-produk perangkat lunak yang tepat untuk digunakan.