Perangkat lunak dan Pengembangannya (Software and Software Engineering)

dokumen-dokumen yang mirip
REKAYASA BERKOMPONEN

Perangkat lunak dan Pengembangannya (Software and Software Engineering)

Proses Software. Tujuan

Produk perangkat lunak tersebut:

PENGENALAN. Perancangan Perangkat Lunak. (Software Engineering) Bertalya Program Pascasarjana Univesitas Gunadarma

Pengembangan Sistem Informasi

Pendahuluan Rekayasa Perangkat Lunak

LATAR BELAKANG PRINSIP AGILE SOFTWARE DEVELOPMENT

A. IDENTITAS B. DESKRIPSI MATAKULIAH C. TUJUAN MATAKULIAH

Konsep Sistem Informasi Manajemen

Software Requirement (Persyaratan PL)

BAB III ANALISIS DAN PERANCANGAN SISTEM. Berdasarkan System Development Life Cycle (SDLC) metode waterfall yang

ANALISIS KELEMAHAN SISTEM LAMA Hanif Al Fatta M.Kom

Teknik Informatika S1

SDLC Concepts. Muhammad Yusuf D3 Manajemen Informatika Universitas Trunojoyo

BAB III ANALISIS DAN PERANCANGAN SISTEM

RENCANA PEMBELAJARAN SEMESTER PROGRAM STUDI D3 KOMPUTERISASI AKUNTANSI FAKULTAS ILMU TERAPAN TELKOM UNIVERSITY

system) yang elemennya terdiri dari hardware, software dan brainware. Ketiga

BAB III TEORI PENUNJANG

BAB I PENDAHULUAN. PLN, di ganti menjadi kwh meter digital yang dapat memberikan nilai lebih

BAB 2 LANDASAN TEORI. Sejak komputer ditemukan, para peneliti telah berpikir adakah kemungkinan agar

BAB I PENDAHULUAN 1.1 REVOLUSI KOMUNIKASI KOMPUTER


Desain Software. Arna Fariza PENS. Rekayasa Perangkat Lunak. Materi. Apakah desain software itu? Apakah modularisasi itu? Model

PENDAHULUAN. Data dan Informasi. Sistem Informasi. Komponen sistem informasi. Basis data

BAB 1 Pengenalan Pemrograman Komputer

SILABUS. Sifat: Pendukung

2. Genesis Proyek Konsep kerja manajemen proyek

PENGEMBANGAN PERANGKAT LUNAK

Pemodelan Industri Perangkat Lunak

REKAYASA PERANGKAT LUNAK I

1. PENDAHULUAN 1. PERANGKAT LUNAK DAN PERKEMBANGANNYA

DATA & INFORMASI DALAM SISTEM INFORMASI BISNIS ASIH ROHMANI,M.KOM

REKAYASA PERANGKAT LUNAK I ALIF FINANDHITA, M.T. - TEKNIK INFORMATIKA UNIKOM 1

Perbedaan referensi risiko dan lingkup kontrol

[Summary] Sistem Informasi Perusahaan Chapter 1 & 2

Computer Aided Design / Computer Aided Manufactur [CAD/CAM]

BAGIAN 4. METODE ILMIAH

BAB III METODE PENELITIAN. yaitu: Audit Subject, Audit Objective, Preaudit Planning, Audit Procedure &

SISTEM INFORMASI MANAJEMEN

STMIK AMIKOM YOGYAKARTA

BAB 1 PENDAHULUAN. Setiap usaha yang didirikan dengan orientasi laba (keuntungan) mempunyai

BAB II LANDASAN TEORI

PROSES DESAIN. 1. Metodologi Pengembangan Sistem

Pertemuan 2 SOFTWARE DEVELOPMENT LIFE CYCLE (SDLC)

BAB II LANDASAN TEORI

BAB 3. TINJAUAN PROFESI DI BIDANG TEKNOLOGI INFORMASI

Tujuan Perkuliahan. PENGANTAR RPL (Pert. 2 chapter 1 Pressman) Agenda. Definisi Software (Perangkat Lunak) Lunak) 23/09/2010

BAB 4. ANALISIS dan PEMBAHASAN

Jenis Metode Pengembangan Perangkat Lunak

E-journal Teknik Informatika, Volume 5, No. 1 (2015), ISSN :

Implementasi dan Maintenance Sistem. Fakultas Ilmu Komputer dan Teknologi Informasi Jurusan Sistem Informasi Univesitas Gunadarma PTA 2015/2016

SOFTWARE PROCESS MODEL

BAB I PENDAHULUAN. sangat membutuhkan alat pengukur kemiringan kendaraan terhadap media yang

Ratna Wardani. Department of Electronic Engineering Yogyakarta State University

PRODUK DAN PROSES. Aprilia Sulistyohati, S.Kom. Jurusan Teknik Informatika Universitas Islam Indonesia. Your Logo

SISTEM INFORMASI PENGOLAHAN BANK SAMPAH MALANG

BAB 3 LANGKAH PEMECAHAN MASALAH

BAB IV DESKRIPSI PEKERJAAN. Fortuna Badja Inti, menemukan permasalahan seperti pencatatan permintaan dari

6. Perangkat Lunak Aplikasi perkantoran dan bisnis

2. BAB II LANDASAN TEORI. lanjut sehingga terbentuk suatu aplikasi yang sesuai dengan tujuan awal.

Konsep Basisdata Bab 1

Analisis Dan Perancangan Sistem Informasi

WEB-BASED SOFTWARE CONFIGURATION MANAGEMENT TOOL UNTUK PENGEMBANGAN SOFTWARE DALAM TIM

BAB IV DISKRIPSI PEKERJAAN. cara langsung menemui bagian PPQC (Production Planning and Quality Control)

DESAI EVALU IMPLEM BAB I PENDAHULUAN

THE SOFTWARE PRODUCT

Manajemen Proyek. Manajemen

Implementasi Sistem dan Maintenace Sistem. Sistem Informasi Universitas Gunadarma 2012/2013

BAB II LANDASAN TEORI. pembelian dilakukan dengan mengubah bentuk barang. 2003). Menurut Soemarso S.R (1994) kegiatan pembelian dalam perusahaan

BAB IV DESKRIPSI PEKERJAAN

BAB 1 PENDAHULUAN. memarkirkan mobilnya di tempat-tempat perparkiran yang cukup sibuk seperti

BAB III ANALISIS_DAN_PERANCANGAN_APLIKASI. kontrak kru yaitu menggunakan metode System Development Lyfe Cycle (SDLC)

PENGANTAR RUP & UML. Pertemuan 2

BAB III ANALISIS DAN PERANCANGAN SISTEM

BAB III METODOLOGI PENELITIAN

Hanif Fakhrurroja, MT

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

Pertemuan 3 Metodologi Pengembangan Sistem Informasi

SILABUS TEKNOLOGI INFORMASI DAN KOMUNIKASI

BAB II LANDASAN TEORI. yang digunakan dalam penyelesaian Tugas Akhir ini, yaitu System Development

MAKALAH REKAYASA PERANGKAT LUNAK ( PERENCANAAN PROYEK PERANGKAT LUNAK )

SIKLUS REKAYASA PERANGKAT LUNAK (SDLC)

RANCANG BANGUN SISTEM INFORMASI PENJUALAN BUKU MENGGUNAKAN PHP & MYSQL (STUDI KASUS CV PUTRA MANDIRI JAYA)

Pertemuan 1. Pengenalan Delphi 7

BAB I PENDAHULUAN. 1.1 Pengenalan Algoritma dan Pemrograman

Hanif Fakhrurroja, MT

ANALISIS DAN PERANCANGAN SISTEM INFORMASI

SISTEM INFORMASI PENJADWALAN DAN PENILAIAN SEKOLAH BERDASAR KURIKULUM 2013 (STUDI KASUS : SMA PGRI SUMBERREJO)

Pengembangan Sistem Informasi

Metodologi pengembangan sistem METODOLOGI PENGEMBANGAN SISTEM INFORMASI DIAN PALUPI RINI, M.KOM 1

PERATURAN & TATA TERTIB PRAKTIKUM ANALISIS DAN PERANCANGAN PERUSAHAAN

Teknik Informatika S1

BAB 1 PENDAHULUAN 1.1 Latar Belakang Masalah

TESTING DAN IMPLEMENTASI SISTEM. WAHYU PRATAMA, S.Kom., MMSI.

BAB IV DESKRIPSI PEKERJAAN. kerja praktek di CV. Sinergi Design adalah melakukan pengenalan terhadap

Review of Process Model. SE 3773 Manajemen Proyek Teknologi Informasi *Imelda Atastina*

BAB IV DESKRIPSI PEKERJAAN

Analisis dan Perancangan Sistem Hanif Al Fatta M.kom

MODUL 4 Unified Software Development Process (USDP)

Transkripsi:

Perangkat lunak dan Pengembangannya (Sftware and Sftware Engineering) Apa yang dipelajari??? Mata kuliah ini memperkenalkan prinsip-prinsip ujicba dan implementasi perangkat lunak kmputer. Tpik implementasi meliputi : bentuk-bentuk peng-kdean, prinsip-prinsip packaging, penggunaan ulang surce cde (reuse), membuat surecde yang dapat diujikan dan dipelihara (testable and maintainable cde). Tpik-tpik dalam ujicba meliputi : peninjauan ulang kde (cde reviews), Ujicba berbasis spesifikasi (black bx testing), Ujicba struktural (clear bx testing), tes ketercukupan (adequacy test), dan tes administrasi. Sftware dan Evlusi Sftware Sftware adalah prgram kmputer dan dkumentasi yang terkait dengannya. Prduk sftware yang dikembangkan untuk custmer tertentu atau untuk kebutuhan general market. Prduk sftware terdiri dari: 1. Generic dikembangkan untuk dijual ke berbagai custmer 2. Bespke (custm) dikembangkan untuk memenuhi kebutuhan custmer yang tertentu Sftware mengalami evlusi dalam beberapa dekade, terlihat dalam gambar berikut : The early years : Batch Orientatin Limited Distributin Custm Sftware The secnd era : Multiuser Real-Time Database Prduct Sftware The third era : Distributed systems Embedded Intelligence Lw-cst Hardware Cnsumer Impact The furth era: Pwerful desk-tp systems Object-riented technlgies Expert Systems Artificial Neural netwrks Parallel Cmputing 1950 1960 1970 1980 1990 2000 Sftware Evlutin Selama awal peride, hardware dengan fungsi umum memegang peranan penting, sedangkan sftware merupakan tambahan untuk setiap aplikasi dan mempunyai distribusi yang terbatas. Selama awal peride lebih ditekankan pada implementasi sistem berbasis kmputer dari pada pengembangan sistem. Era kedua mulai pertengahan 1960 sampai 1970-an. Sistem multiprgramming dan multi user mulai diperkenalkan sebagai knsep baru dalam interaksi manusia-kmputer. Sistem Real-time mampu mengumpulkan, menganalisa dan memindahkan data dari berbagai sumber dengan prses pengawasan dan menghasilkan utput dalam hitungan milisecnd. Karakteristik lainnya dari era kedua adalah penggunaan prduk-prduk sftware yang disediakan leh sftware huse. Era ketiga mulai pertengahan 1970 hingga akhir 1980-an. Sistem terdistribusi dengan multiple kmputer, dan masing-masing menjalankan fungsi secara serentak, serta berkmunikasi antar kmputer, menambah rumit sistem berbasis kmputer. Era ketiga juga ditandai dengan penggunaan mikrprsesr, kmputer persnal dan stasiun kerja yang handal. Era keempat baru saja dimulai. Teknlgi berrientasi bjek diterapkan dalam berbagai area aplikasi. 1

Karakteristik Sftware Penting untuk memeriksa karakteristik sftware, yang membedakannya dari hal lainnya yang dapat dibangun/dibuat leh manusia. Sftware merupakan elemen sistem yang bersifat lgikal, karakterisktik sftware diantaranya : 1. Sftware dibangun/direncanakan, bukan barang pabrikan dalam artian umum Walaupun sepertinya ada kesamaan antara Pengembangan sftware (sftware develpment ) dan pembuatan hardware (hardware manufacture ), tetapi kedua aktivitas ini secara mendasar sangat berbeda. 2. Sftware tidak lekang leh waktu Hardware dapat habis dimakan waktu (wear ut), dan ketika terjadi kerusakan atau kesalahan pada hardware, yang dapat dilakukan adalah dengan mengganti bagian yang rusak dengan yang baru, tetapi hal tersebut tidak berlaku dalam sftware. Jika terjadi kerusakan atau kesalahan pada sftware maka kesalahan tersebut dapat mengindikasikan kesalahan pada saat perancangan 3. Kebanyakan sftware merupakan `custm-builts` dari pada dibuat untuk suatu kepentingan tertentu Jika dalam perancangan suatu hardware serang perancang cukup menggambarkan rancangannya, kemudian membangun/membuat hardware yang dimaksud, tetapi tidak demikian dengan sftware, tidak ada gambar yang dapat mendeskripsikan kmpnen sftware Aplikasi-aplikasi sftware 1. System Sftware, merupakan kumpulan prgram-prgram yang dibuat untuk menjalankan prgram lainnya. Beberapa cnth system sftware diantaranya : cmpiler, editr, dan file management utilities, jenis lainnya adalah OS, cmpnent, drivers dan telecmmunicatins prcessrs. Dari kesemuanya, area sistem sftware dapat ditandai dengan interaksi yang kuat dengan hardware cmputer, penggunaan yang banyak leh banyak user, perasi knkuren yang memerlukan penjadwalan, penggunaan bersama sumberdaya yang ada, manajemen prses yang baik, struktur data yang rumit, dan interface eksternal yang banyak 2. Real time sftware, adalah sftware yang mengawasi/menganalisa/ mengatur kejadian nyata. Elemen dari real-time sftware termasuk kmpnen pengumpulan data yang mengumpulkan dan memfrmat infrmasi dari lingkungan luar, kmpnen analisis merubah infrmasi yang dibutuhkan leh aplikasi, kmpnen input/utput yang memberikan respn pada lingkungan luar dan kmpnen pengawasan yang mengkrdinasikan seluruh kmpnen sehingga respn real-time (dengan kisaran waktu 1 milidetik s/d 1 menit)dapat dilaksanakan. 3. Business sftware, pemrsesan infrmasi bisnis merupakan area aplikasi sftware terbesar. Sistem terbatas (seperti prgram penggajian, prgram inventry dsb) mengalami perubahan menjadi sistem infrmasi manajemen (MIS) yang mengakses satu atau lebih database yang berisikan infrmasi bisnis. Aplikasi dalam area ini merestrukturisasi data yang telah ada dengan suatu cara yang bertujuan untuk menfasilitasi perasi bisnis dan pembuat keputusan manajemen. 4. Engineering and scientific sftware, lingkup aplikasinya mulai dari astrnmi hingga vulkanlgi, dari bilgi mlekuler hingga pabrikan tmatis. Aplikasi barunya berupa sistem simulasi dan sistem interaksi lainnya yang bersifat real-time 5. Embedded sftware, prduk-prduk pintar mulai menguasai knsumen, embedded sftware digunakan untuk mengatur prduk dan sistem untuk knsumen dan pasar industri, misalnya fungsi-fungsi digital pada kendaraan seperti alat ukur tangki bensin, tampilan dashbard, sistem rem dll. 6. Persnal Cmputer sftware, meliputi wrd prcessing, spreadsheet, cmputer graphic, entertainment, database management, aplikasi bisnis keuangan dsb. PC sftware merepresentasikan rancangan interface manusia-kmputer yang paling invatif 7. Artificial intelligence sftware, menggunakan algritma nnnumerik untuk mengatasi masalah yang rumit, cnthnya adalah expert system. Juga dikenal dengan istilah knwledge based system. Sftware Engineering Sftware engineering adalah bidang disiplin ilmu rekayasa yang terkait dengan aktifitas prduksi sftware. Perekayasa sftware semestinya mengadpsi pendekatan yang sistematik dan terrganisir dalam menyelesaikan pekerjaannya dengan memanfaatkan tls dan teknik yang tepat bergantung pada permasalahan yang akan dipecahkan, batasan pengembangan dan sumberdaya yang tersedia Sftware prcess adalah sekumpulan aktifitas yang terstruktur yang dibutuhkan untuk pengembangan atau evlusi sftware. Aktifitas umum dalam sftware prcesses diantaranya : 1. Specificatin Apa yang harus dikerjakan sistem dan batasan pengembangannya 2. Develpment Prduksi dari sistem sftware 2

3. Validatin Pemeriksaan apakah sftware memenuhi kebutuhan custmer 4. Evlutin Perubahan sftware terhadap perubahan kebutuhan Sftware prcess mdel adalah representasi sederhana dari sftware prcess, yang dipresentasikan dari sudut pandang tertentu. Cnth dari sudut pandang prses diantaranya : 1. Wrkflw perspective - sequence f activities 2. Data-flw perspective - infrmatin flw 3. Rle/actin perspective - wh des what Mdel prses secara umum 1. The waterfall mdel, memisahkan dan membedakan tahapan-tahapan spesifikasi dan pengembangan. 2. Evlutinary develpment, specifikasi dan pengembangan saling berselakan 3. Frmal systems develpment, mdel sistem matematika yang secara frmal diubah untuk di implementasikan 4. Reuse-based develpment, sistem dibangun dengan menggunakan kmpnen-kmpnen yang sudah ada The Waterfall Mdel Dalam sftware lifecycle (waterfall mdel) terdapat beberapa tahapan utama yang menggambarkan aktivitas pengembangan sftware. definitin System and sftware Implementatin and unit testing Integr atin and system testing Operatin and maintenance Sftware lifecycle (Smmerville, 2001) a. analysis and definitin, merupakan layanan, batasan dan tujuan dari sistem yang dibuat dengan mengknsultasikannya bersama para pengguna sistem. Hal tersebut didefinisikan secara detail dan ditampilkan sebagai spesifikasi dari sistem. b. System and sftware, prses desain sistem membagi kebutuhan sistem akan sftware dan hardware. Hal tersebut membangun arsitektur sistem keseluruhan. Desain sftware meliputi identifikasi dan penjabaran abstrasi sistem sftware dasar dan keterhubungannya. c. Implementatin and unit testing, selama tahapan ini, desain sftware direalisasikan sebagai sekumpulan prgram atau unit prgram. Unit testing meliputi verifikasi bahwa setiap unit telah memenuhi spesifikasinya. d. Integratin and system testing, unit-unit prgram individual digabungkan (integrated) dan diujicba (tested) sebagai sebuah sistem lengkap untuk memastikan bahwa kebutuhan-kebutuhan sftware telah terpenuh. Setelah pengujian, sistem sftware desampaikan pada pelanggan. e. Operatin and maintenance, biasanya tahapan ini merupakan tahapan terpanjang dalam lifecycle. Sistem di-install dan digunakan secara praktikal. Pemeliharaan meliputi perbaikan kesalahan yang tidak diketahui pada tahapan sebelumnya, memperbaiki implementasi unit sistem dan meningkatkan layanan sistem ketika terdapat kebutuhan baru. 3

Masalah-masalah yang muncul dalam mdel waterfall ini diantaranya : 1. Pembagian pryek yang tidak flexibel dalam bentuk tahapan yang berbeda 2. Hal ini mengakibatkan kesulitan saat merespn perubahan kebutuhan klien. 3. Dengan demikian, mdel ini hanya akan sesuai apabila kebutuhan telah disepakati dan dipahami dengan baik antara klien dan pengembang Evlutinary develpment Terdapat 2 macam pendekatan : 1. Explratry develpment (Pengembangan dengan penyelidikan) Bertujuan untuk bekerja sama dengan klien untuk membangun sebuah sistem dari spesifikasi awal. Harus dimulai dengan pemahaman kebutuhan yang memadai 2. Thrw-away prttyping Bertujuan untuk mengerti akan kebutuhan sistem. Dimulai dengan pemahanan kebutuhan yang sangat minim, karena pada umumnya knsumen mendefinisikan sekumpulan tujuan secara umum untuk sftware, tetapi tidak mengidentifikasikan secara detail mengenai input, prses dan utput yang diperlukan. Cncurr ent activities Specificatin Initial versin Outline descriptin Develpment Intermediate versins Validatin Final versin Evlutinary develpment Mdel Masalah yang mungkin muncul diantaranya : 1. Ketidakjelasan dari alur prses 2. Struktur sistem yang amat buruk 3. Dibutuhkan kemampuan khusus (misalnya : penguasaan pemrgraman untuk rapid prttyping) Mdel ini dapat diterapkan pada : 1. Sistem interaktif berukuran kecil atau sedang 2. Untuk bagian/subsistem dari sebuah sistem yang besar (misalnya User interface) 3. Untuk sistem dengan siklus hidup/penggunaan yang pendek Frmal systems develpment 1. Didasarkan pada perubahan bentuk spesifikasi matematika melalui representasi yang berbeda menjadi prgram executable. 2. Perubahan bentuk bersifat crrectness-preserving, sehingga secara lasung dapat menunjukkan bahwa prgram telah sesuai dengan spesifikasinya. Frmal systems develpment 4

Frmal transfrmatins T1 T2 T3 T4 Frmal R1 R2 R3 Executable prgram P1 P2 P3 P4 Prfs f transfrmatin crrectness Masalah yang mungkin muncul diantaranya : 1. Dibutuhkan ketrampilan dan pelatihan khusus untuk mengaplikasikan teknik ini 2. Kesulitan dalam menspesifikasikan beberapa aspek ke dalam sistem misalnya dalam penentuan user interface Mdel ini dapat diterapkan pada sistem-sistem kritis khususnya sistem yang mengutamakan faktr keselamatan dan keamanan sebelum sistem utamanya diperasikan Reuse-based develpment 1. Berdasarkan pada pendekatan pakai-ulang yang sistematik dimana sistem dintegrasikan dari kmpnen-kmpnen yang telah tersedia atau disebut COTS (Cmmercial-ff-the-shelf) systems 2. Tahapan prses : Cmpnent analysis mdificatin System with reuse Develpment and integratin 3. Pendekatan ini menjadi sangat penting namun kajian dan pengalaman masih sangat terbatas Cmpnent analysis mdificatin System with reuse Develpment and integratin System validatin Reuse-based develpment Iterasi prses : 1. Dalam suatu prject system requirements SELALU mengalami perubahan, itulah sebabnya iterasi prses pada tahapan awal yang selalu dikerjakan berulang-ulang menjadi bagian dari prses pada sistem yang lebih besar 2. Iterasi dapat di aplikasikan pada mdel prses generik manapun 3. Terdapat 2 pendekatan : Incremental develpment Spiral develpment 5

Incremental develpment 1. Bukan sekedar menghantarkan sistem sebagai single delivery, develpment dan delivery dipecah menjadi beberapa tahapan dimana tiap tahap akan men-deliver bagian dari kebutuhan fungsinalitas sistem 2. Kenutuhan User diberi urutan priritas dan kebutuhan dengan priritas tertinggi akan disertakan pada pengembangan awal. 3. Ketika pengembangan pada suatu tahapan dimulai, maka kebutuhan akan di bekukan, walaupun kebutuhan untuk tahapan berikutnya dapat melanjutkan untuk berubah. Define utline requirements Assign requirements t increments Design system architecture Develp system increment Valida te increment System incmplete Integrate increment Valida te system Final system Incremental develpment prcess Keuntungan menggunakan pendekatan Incremental develpment : 1. Kebutuhan klien dapat dikirimkan di tiap-tiap increment sehingga sistem akan tersedia lebih awal 2. increment awal bertindak sebagai prttype untuk membantu menentukan kebutuhan untuk increment selanjutnya 3. Resik yang lebih rendah terjadinya kesalahan prjek secara keseluruhan 4. Layanan sistem dengan priritas tertinggi yang akan paling di uji Spiral develpment 1. Prses direpresentasikan sebagai spiral bukan aktifitas berurutan dengan backtracking 2. setiap lp/perulangan dalam spiral merepresentasikan sebuah tahapan dalam suatu prses. 3. Tidak terdapat tahapan yang tetap seperti spesifikasi atau desain, perulangan-perulangan (lps) dalam spiral dipilih bergantung pada apa yang dibutuhkan 4. Secara eksplisit resik dikenali dan diselesaikan selama prses berlangsung Spiral develpment terbagi menjadi 4 sektr : 1. Objective setting, menentukan tujuan untuk phase yang diidentifikasi 2. Risk assessment and reductin, resik dikenali dan aktifitas dilakukan untuk mengurangi sejumlah resik 3. Develpment and validatin, mdel pengembangan sistem ditentukan yang memungkinkan penggunaan berbagai mdel secara umum 4. Planning, prjek ditinjau ulang dan tahapan berikutnya dari spiral direncanakan 6

Determine bjectives alternatives and cnstraints Plan next phase REVIEW plan Life cycle plan Develpment plan Integratin and test plan Risk analysis Risk analysis Risk analysis Prttype 2 Risk analysis Prttype 1 Cncept f Operatin S/W requirements Requirement validatin Design V&V Service Acceptance test Evaluate alternatives identify, reslve risks Prttype 3 Operatinal prtype Simulatins, mdels, benchmarks Prduct Cde Unit test Integr atin test Detailed Develp, verify next level prduct Spiral develpment prcess Sftware Specificatin Spesifikasi sftware adalah suatu prses yang bertujuan untuk menentukan layanan-layanan apa yang dibutuhkan dari sebuah sistem dan batasan pada tahapan pengperasian dan pengembangan sistem Aktivitas ini biasa disebut perencanaan kebutuhan-kebutuhan (requirements engineering), yang merupakan tahapan kritis dari prses pembuatan sftware, karena kesalahan pada tahap ini akan berpengaruh/ menjadi masalah dalam desain dan implementasi sistem. Prses perencanaan kebutuhan-kebutuhan (requirements engineering) dibagi menjadi empat tahap utama. 1. Feasibility study (Studi kelayakan), sebuah perkiraan/talsiran ditetapkan untuk menetapkan apakah kebutuhan user yang diidentifikasikan telah terpenuhi leh teknlgi sftware dan hardware saat ini. Studi ini akan menetapkan apakah sistem yang akan dibuat akan efektif secara biaya dan dapat dibangun dengan batasan biaya yang ada. Studi kemungkinan ini harus relatif mirah dan cepat. Hasilnya harus melaprkan keputusan apakah akan dilanjutkan dengan analisis yang lebih detail. 2. elicitatin and analysis (Pembentukan kebutuhan dan analisis), merupakan prses untuk mendapatkan kebutuhan-kebutuhan sistem melalui bservasi dari sistem yang ada, diskusi bersama pengguna ptensial dan analisis tugas. Dapat meliputi pembentukan satu atau lebih mdel sistem dan prttype yang berbeda. Hal ini membanti analis untuk mengerti sistem yang dispesifikasikan. 3. (Spesifikasi kebutuhan), merupakan aktifitas penerjemahan infrmasi yang didapat selama aktifitas analisis kedalam dkumen yang mendefinisikan kumpulan kebutuhan. Terdapat 2 tipe kebutuhan, yaitu : (1) Kebutuhan pengguna, yang merupakan pernyataan abstrak dari kebutuhan sistem untuk cstumer dan end user, (2) Kebutuhan sistem, merupakan deskripsi yang lebih detail dari fungsi-fungsi yang harus disediakan. 4. validatin (Validasi kebutuhan), merupakan aktifitas yang memeriksa kebutuhan untuk direalisasikan, knsisten dan lengkap. Selama prses ini kesalahan dalam dkumen kebutuhan dapat terjadi, dan selanjutnya diubah untuk perbaikan. 7

Feasibility study elicitatin and analysis Requir ements Feasibility reprt validatin System mdels User and system requirements dcument The engineering prcess(smmerville, 2001) Sftware Implementatin and Design Tahapan implementasi dari pembuatan sftware merupakan prses mengknversi spesifikasi sistem kedalam executable sistem. Meliputi prses-prses dari desain dan pemrgraman sftware, tetapi jika digunakan pendekatan evlutinary, menyertakan perbaikan dari spesifikasi sftware. Desain Sftware, yaitu prses mendesain struktur sftware yang mengacu pada dkumen spesifikasi. Implementasi adalah menterjemahkan struktur yang telah didapat kedalam executable prgram. Aktifitas desain dan implementasi sangatlah berdekatan dan kadang saling tumpang tindih Design acti vities Architectur al Abstract Interface Cmpnent Data structur e Algrithm System architectur e Sftware Interface specifica tin Cmpnent Data structur e Algrithm specifica tin Design pr ducts Sftware Design Prcess/Activity Metde-metde desain : Metde desain yaitu pendekatan sistematik dalam pengembangan desain sftware. Hasil desain biasanya didkumentasikan dalam bentuk mdel grafikal. Mdel-mdel yang dapat digunakan diantaranya : 1. Data-flw mdel 2. Entity-relatin-attribute mdel 3. Structural mdel 4. Object mdels 8

Prgramming and Debugging Prgramming and Debugging yaitu prses yang merubah desain kedalam prgram dan menghilangkan errrs yang ditimbulkan dari prgram. Prgramming merupakan aktivitas persnal dan tidak terdapat prses generic prgramming. Serang pemrgram hanya dapat melakukan beberapa ujicba prgram untuk mencari kesalahan dan menghilangkan kesalahan ini dalam prses debugging. Lcate errr Design errr repair Repair errr Re test prgram Prgramming and Debugging Prcess Debugging terjadi sebagai knsekuensi dari keberhasilan ujicba/testing, yaitu ketika uji kasus berhasil menemukan kesalahan, debugging merupakan prses yang memberi hasil dalam menghilangkan kesalahan-kesalahan tersebut. Debugging merupakan hasil dari ujicba-ujicba sebelumnya yang akan menempatkan dan memperbaiki kesalahan yang terjadi. Perhatikan gambar berikut : Prses debugging dimulai dari eksekusi uji, hasilnya diperkirakan dan kurangnya keterhubungan antara hasil yang diharapkan dengan hasil yang sesungguhnya akan ditemui. Dalam banyak kasus, data yang tidak salin gterhubung merupakan gejala yang merupakan penyebab dasar yang masih tersembunyi Prse debugging berusaha untuk menyesuaikan gejala dengan sebab yang akan mengarahkan pada perbaikan kesalahan Prses debugging akan selalu mempunyai salah satu dari 2 utput yang mungkin : Sebab akan ditemukan, diperbaiki dan dihilangkan Sebab tidak ditemukan. Dalam kasus selanjutnya rang yang melaksanakan debugging akan memperkirakan penyebabnya, mendesain kasus uji untuk membantu mem-validasi kecurigaannya dan mengerjakan perbaikan secara iterative Beberapa pendekatan untuk membantu identifikasi dan menempatkan kesalahan, termasuk : a. Memry dumps, tampilan sederhana yang menampilkan status dari memry pada saat itu, biasanya pada saat kesalahan(errr) terdeteksi. Memry dumps memungkinkan untuk mencari data tertentu yang diprses secara salah. 9

b. Executin trace, menyebabkan kmputer mencetak catatan dari urutan eksekusi prgram. Penelusuran pada umumnya akan mendaftar nama-nama mdul yang dieksekusi. Penelusuran eksekusi disajikan sebagai tl untuk menentukan urutan prses dari suatu prgram. Jika prgram digagalkan karena suatu kesalahan, maka akan dapat ditemukan mdul terakhir yang dieksekusi dan dititik ini perbaikan akan dilaksanakan. c. Prgram desk checking, dilakukan melalui pemeriksaan detail dari surce cde yang mengakibatkan pengeksekusian lgika dalam pikiran pemeriksa. Serang prgramer yang berpengalaman dapat menelusuri lgika dan persesan data dengan me-review surce cde-nya. d. Hypthesis testing, melihat prgram melalui metde analisis. Berlaku ketika prgramer mengaplikasikan teknik penanganan dan perbaikan masalah. Ketika satu kesalahan teridentifikasi, analisis dilakukan untuk menentukan jenis kesalahan pemrgraman yang mungkin menghasilkan hasil tertentu. Hiptesis berisikan tentang dimana kemungkinan terjadi kesalahan dalam prgram dan jenis kesalahan apa yang menyebabkan deteksi kesalahan. Debugging Appraches Terdapat 3 kategri pendekatan dalam debugging Brute frce Merupakan metde yang paling umum dan efisien untuk mengislasi kesalahan sftware. Mengaplikasikan metde ini dengan menggunakan filsfi let the cmputer find the errr Menggunakan Memry dumps, tampilan sederhana yang menampilkan status dari memry pada saat itu, biasanya pada saat kesalahan(errr) terdeteksi. Memry dumps memungkinkan untuk mencari data tertentu yang diprses secara salah. Walaupun infrmasi yang dihasilkan sering sukses, tetapi memerlukan usaha dan waktu yang lebih banyak Backtracking Merupakan metde debugging yang umum dan dapat digunakan pada prgram skala kecil Dimulai dari saat gejala kesalahan terjadi, kde prgram ditelusuri kebelakang secara manual sampai saat kesalahan ditemukan Executin trace, menyebabkan kmputer mencetak catatan dari urutan eksekusi prgram. Penelusuran pada umumnya akan mendaftar nama-nama mdul yang dieksekusi. Penelusuran eksekusi disajikan sebagai tl untuk menentukan urutan prses dari suatu prgram. Jika prgram digagalkan karena suatu kesalahan, maka akan dapat ditemukan mdul terakhir yang dieksekusi dan dititik ini perbaikan akan dilaksanakan. Prgram desk checking, dilakukan melalui pemeriksaan detail dari surce cde yang mengakibatkan pengeksekusian lgika dalam pikiran pemeriksa. Serang prgramer yang berpengalaman dapat menelusuri lgika dan persesan data dengan me-review surce cde-nya. Sayangnya semakin banyak baris kde yang ditelususi maka prses akan semakin lama. Cause eliminatin Data yang terkait dengan kesalahan dirganisasikan untuk mengislasi penyebab ptensial. Hypthesis testing, melihat prgram melalui metde analisis. Berlaku ketika prgramer mengaplikasikan teknik penanganan dan perbaikan masalah. Ketika satu kesalahan teridentifikasi, analisis dilakukan untuk menentukan jenis kesalahan pemrgraman yang mungkin menghasilkan hasil tertentu. Hiptesis berisikan tentang dimana kemungkinan terjadi kesalahan dalam prgram dan jenis kesalahan apa yang menyebabkan deteksi kesalahan. 10