Top Banner

of 76

PPL - 109 [Compatibility Mode]

Jul 09, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript

REKAYASA PERANGKAT LUNAK I

RITA DEWI RISANTY.SKOM.MMSI

FAKULTAS TEKNIK JURUSAN TEKNIK INFORMATIKA UNIVERSITAS MUHAMMADIYAH JAKARTA

Metodologi Pengembangan Perangkat Lunak Mengetahui prinsip dasar metodologi pengembangan perangkat lunak. Paradigma pengembangan perangkat lunak. Perkembangan metodologi. Tahapan umum pengembangan. Proyek pengembangan secara umum. Sarana, teknologi dan sumber daya yang dipergunakan.

Memahami metodologi untuk penerapan nyata , terutama dalam dunia bisnis.

Perangkat Lunak (software) ? Program komputer dan dokumen-dokumen yang berhubungan dengannya. Produk perangkat lunak dapat dikembangkan untuk pemakaian khusus atau dikembangkan untuk suatu keperluan umum. Generik : dikembangkan untuk dijual kepada sejumlah pemakaia yang berbeda-beda. Custom : dikembangkan untuk pemakai tunggal sesuai spesifikasi yang diinginkan.

PERANGKAT LUNAK(SOFTWARE)

Menurut Terminologi IEEE : Software adalah koleksi dari program-program programkomputer, prosedur-prosedur, aturan-aturan serta proseduraturandata dan dokumentasi yang terhimpun didalamnya

PERANGKAT LUNAKProsedurprosedur

Instruksiinstruksi

Perangkat Lunak Dokumendokumen

Data-data terstruktur

Perangkat lunak dapat berupa: Instruksi-instruksi (program komputer) yang jika Instruksidieksekusi memberikan fungsi dan keandalan yang diinginkan. Prosedur-prosedur yang menggambarkan tahapanProsedurtahapantahapan pelaksanaan program, keluaran dari tiap tahap, kendali jaminan kualitas dan mile-stones milekemajuan Data-data terstruktur yang memungkinkan Dataprogram dapat memanipulasi informasi. Dokumen-dokumen yang menggambarkan operasi Dokumendan penggunaan program.

Software engineering adalah suatu disipilin rekayasa yang berhubungan dengan seluruh aspek produksi perangkat lunak. Perekayasa perangkat lunak harus: Menerapkan pendekatan sistematik dan terorganisasi kedalam pekerjaan mereka. Menggunakan perangkat dan teknik tertentu yang tergantung pada: Masalah yang harus dipecahkan; Keterbatasan-keterbatasan untuk pengembangan; Keterbatasan Sumber-sumber yang tersedia. Sumber-

Perbedaan antara Software engineering dengan computer scienceComputer Science Software Engineering

Berhubungan dengan:

Teori-teori Dasar-dasar Ilmu Komputer

Pengetahuan praktis untuk pengembangan Untuk menghasilkan perangkat lunak yang berguna.

Perbedaan antara Software engineering dengan computer science Computer science terkait dengan teori-teori dan teoridasardasar-dasar dari ilmu komputer, sedangkan software engineering terkait pada pengetahuan praktis mengenai pengembangan dan penyerahan perangkat lunak yang berguna. Teori-teori Ilmu Komputer biasanya tidak cukup Teoridigunakan sebagai pendukung yang lengkap dari software engineering.

SOFTWARE ENGINEERING Software engineering berhubungan dengan teori-teori, teorimetodametoda-metoda dan alat-alat (tools) untuk alatpengembang perangkat lunak profesional. Tools dan prosedur digunakan untuk membantu mengelola ukuran, kompleksitas dan jaminan kualitas dari produk perangkat lunak yang dihasilkan.

Mengapa perlu Software Engineering Masalahnya adalah kompleksitas Banyak dibutuhkan sumber-sumber, tetapi sumberkuncinya adalah ukuran (size): UNIX berisi 4 juta lines of code Windows 2000 berisi 108 lines of codedikerjakan oleh Tim dengan 1400 orang

Software engineering adalah bagaimana mengelola kompleksitas tersebut dan dapat bekerja dalam satu Tim Work.

Permasalahan Pemakai Meningkatnya kompleksitas permasalahan dan alternatif solusi yang ditawarkan pada pemakai. Masa pakai (life time) semakin singkat karena cepatnya perkembangan teknologi informasi. Perangkat lunak aplikasi harus terwujud dalam waktu yang relatif singkat, pemakai tidak dapat menunggu terlalu lama. Pemakai tidak dapat atau sukar merumuskan spesifikasi perangkat lunak yang dibutuhkan.

PERANCANGAN PERANGKAT LUNAK(SOFTWARE ENGINEERING)Istilah software engineering pertama software engineering kali dibicarakan pada dua konferensi yang disponsori oleh Komite Sains NATO pada tahun 1960-an di Garmisch Eropa. 1960Eropa.Tujuannya: Tujuannya: memecahkan krisis yang terjadi pada perangkat lunak yang membesar dan kompleks. kompleks. Perangkat Lunak diserahkan: Terlambat Melebihi anggaran yang disediakan Dengan banyak kesalahan-kesalahan kesalahan-

DEFINISIMenurut Fritz Bauer (1969) Software Engineering adalah pendekatan sistematik untuk pengembangan, pengoperasian, perawatan pengembangan, pengoperasian, suatu perangkat lunak yaitu dengan menerapkan menerapkan prinsip rekayasa dalam usaha memperoleh perangkat lunak yang ekonomis, dapat bekerja secara andal dan ekonomis, efisien pada mesin sebenarnya. Menurut Boehm (1986) Software Engineering adalah aplikasi dari sains dan matematika yang membuat peralatan komputer menjadi bermanfaat bagi manusia melalui program komputer, prosedur dan dokumentasi yang berhubungan dengannya. dengannya.

DEFINISI (lanjutan)Menurut Richard Fairly (1985) Software Engineering adalah disiplin yang secara teknologi dan manajerial berhubungan dengan produksi dan perawatan suatu perangkat lunak, yang dikembangkan dan dimodifikasi menurut fungsi waktu dan dengan perkiraan biaya didalamnya.

CATATANTujuan pokok dari software engineering adalah membuat pengembangan perangkat lunak lebih dekat ke sains dan jauh dari suatu karya seni seni Tujuan Dasar dari suatu software engineering adalah untuk menghasilkan suatu perangkat lunak berkualitas, berkualitas, tepat waktu dan ekonomis. Ekonomis sebab rancangan yang buruk berakibat pada peningkatan biaya pemeliharaan.

TUJUAN DARI REKAYASA PL (Menurut Bill Gates)

Menciptakan suatu program untuk dapat memecahkan masalah secara fungsional. Menjamin kualitas karakteristik seperti reliability dan performance. Membuat dokumentasi yang baik, mudah dimengerti dan mudah dimodifikasi.

Jadi Software Engineering terutama untuk menjawab masalah: Kualitas Perangkat Lunak Menentukan kehandalan sistem komputer. Mempengaruhi unjuk kerja sistem. Menentukan apakah perangkat lunak mudah dipelihara dan dikembangkan.

Pemeliharaan Perangkat Lunak Memperbaiki kesalahan (bugs) pada perangkat lunak. Menyesuaikan dengan perubahan perangkat keras dan sistem perangkat lunak. Menyesuaikan dengan perkembangan dunia usaha dan organisasi.

Tiga Elemen Kunci pada Rekayasa PLPerangkat Bantu

Metodologi

Software Engineering

Prosedur

1. Metodologi Merupakan sekumpulan teknik atau metoda untuk membangun suatu perangkat lunak melalui beberapa tahap pengembangan. 2. Perangkat pembantu (Tools) Perkakas untuk dipergunakan pada proses pengembangan. Misal: CASE, data flow diagram, decision table, program design language (PDL), dll. 3. Prosedur Pengelolaan kegiatan pengembangan (manajemen). Misal: Mendefinisikan tahapan-tahapan untuk tahapanpenerapan metoda, keluaran dari tiap tahap (dokumen, laporan, formulir), kendali jaminan kualitas dan mile-stones kemajuan proyek. mile-

Mitos dalam Software EngineeringThe only deliverable for a successful project is a working program

Data Structures Working Program Plan Requirements Design Listings

Test Specs

SIKLUS PENGEMBANGAAN PERANGKAT LUNAK (SDLC)Software Development Life Cycle adalah kegiatan untuk menghasilkan atau menyempurnakan suatu perangkat lunak melalui proses rekayasa.

Evolusi Perangkat LunakSoftware Evolution: perangkat lunak selalu Evolution: mengalami perkembangan dan perubahan. Evolusi disini adalah suatu rangkaian aktivitas yang terjadi selama pengembangan, pemakaian dan pemeliharaan sistem perangkat lunak.

IEEE Standard 1074-1991 for Developing 1074of Software Life Cycle Processes. Stardar IEEE untuk Pengembangan Proses Siklus Hidup Perangkat Lunak. Standar ini meliputi proses-proses pada prosespengembangan perangkat lunak dan perawatannya. Standard ini diikuti oleh ISO/IEC 12207 untuk Software Life Cycle Processes yang dipublikasikan pada 1 Agustus 1995.

TAHAPTAHAP-TAHAP PROSES PENGEMBANGAN PERANGKAT LUNAKBagaimana bekerja dalam suatu proyek skala besar, kompleks dan melibatkan banyak orang ? 1. Spesifikasi Kebutuhan

(requirement specification). 2. Analisis (analysis). 3. Perancangan (design).4. Implementasi dan Pengujian.

(implementation and testing).5. Perawatan dan Up-grade. Up-

(maintenance and upgrades).

Software Development Life Cycle (SDLC)System Initiation/Adoption Analysis Design Coding Testing Maintenance

System Initiation/Adoption: Pengkajian sistem apakah harus dilakukan pengembangan sistem baru atau melengkapi sistem yang sudah ada. Software requirement analysis & Specification: Identifikasi masalah yang akan diselesaikan, domain informasi dan fungsi-fungsi yang diinginkan, fungsikeandalan dan antar muka yang dibutuhkan (spesifikasi fungsi dan spesifikasi teknis). Software design: Proses bertahap yang mengubah kebutuhan perangkat lunak menjadi sejumlah tampilan (grafik, tabular, basis bahasa) yang menggambarkan arsitektur, struktur dan prosedur perangkat lunak, algoritma dan sifat-sifat antar muka. sifat-

Coding: Bentuk rancangan diubah menjadi suatu bahasa pemrograman yang dapat dimengerti oleh mesin komputer. Hasilnya merupakan kode-kode kodeyang dapat dieksekusi komputer. Software Integration & Testing: Jika perangkat lunak sudah ditanam, maka harus dilakukan proses pengujian untuk mengetahui adanya penyimpangan dari fungsi, dari logika, atau kesalahan-kesalahan kesalahanlain dimana hasilnya tidak sesuai dengan spesifikasi. Software maintenance. Dukungan terhadap maintenance. pengoperasian sistem perangkat lunak setelah diserahkan kepada pemakai yang membutuhkan perubahan atau perbaikan akibat ketidak sempurnaan (bugs), perubahan sistem operasi, penggantian peralatan. Bisa juga karena permintaan tambahan fungsi atau untuk peningkatan kinerja.

Siklus Pengembangan Perangkat Lunak yang RinciSoftware requirements Preliminary design Detailed design Programming/ Coding Software System test planning System testing Integration testing Unit testing

Biaya Relatif Untuk Setiap Tahap

Maintenance constitutes 67% of total cost

Persentase Kesalahan Dalam Pengembangan Perangkat Lunak

Sumber kesalahan terbesar (50%) adalah dalam mendefinisikan spesifikasi kebutuhan perangkat lunak.

Bagaimana Program Biasanya Ditulis

Ini adalah pemahaman dari Pengembang Definisi dari Spesifikasi Kebutuhan Bagaimana masalah dipecahkan sebelumnya

Bagaimana masalah dipecahkan sekarang

MODELMODEL-MODEL DALAM SIKLUS HIDUP PENGEMBANGAN PERANGKAT LUNAK1. MODEL WATERFALL MODEL 2. MODEL PROTOTYPING 3. MODEL INCREMENTAL 4. MODEL SPIRAL 5. TEKNIK FOURTH-GENERATION (4GT) FOURTH-

MODEL WATERFALLDiusulkan oleh Royce pada tahun 1970 Pendekatan tradisional, pertama digunakan untuk proyek angkasa luar/pertahanan. Kegiatan disusun dalam suatu urutan linier dari kemajuan sebagai fungsi waktu, dengan titik awal dan titik akhir yang eksplisit, tanpa umpan balik. Setiap tahapan harus didefinisikan dengan jelas dan lengkap sebelum melakukan pengembangan yang berikutnya.

MODEL WATERFALLKelayakan Sistem Validasi Perencanaan & Kebutuhan Kelayakan Validasi Laporan

Dokumen Kebutuhan dan Perencanaan Proyek Perancangan Sistem Validasi Dokumen Perancangan Rinci Validasi

Perancangan Sistem Dokumen Perancangan Rinci Program

Pengkodean Validasi

Pengujian dan Penyatuan

Pengkodea Validasi

Program

Pengujian dan Penyatuan

Rencana Pengujian & Laporan Pengujian Laporan Instalasi Pengoperasian dan Pemeliharaan

Instalasi

Tahap-tahap Model Waterfall: Requirements analysis and definition System and software design Implementation and unit testing Integration and system testing Operation and maintenance

Feasibility studies Feasibility study memutuskan apakah sistem yang diajukan layak atau tidak. Suatu studi yang terfokus pada pemeriksaan: Apakah sistem memberikan sumbangan pada tujuan organisasi. Apakah sistem dapat direkayasa menggunakan teknologi saat ini dan dapat dibiayai. Apakah sistem dapat diintegrasikan dengan sistem-sistem lain yang telah ada.

Implementasi dari Studi Kelayakan Didasarkan pada kajian informasi (apa yang dibutuhkan), laporan tertulis dan koleksi informasi. Pertanyaan-pertanyaan yang diajukan kepada orangorang dalam organisasi: Apa yang terjadi jika sistem tidak diterapkan ? Apa yang dapat terjadi pada watu pengintegrasian? Apakah dibutuhkan teknologi baru ? Keahlian apa yang diperlukan ? Fasilitas-fasilitas apa yang harus didukung oleh sistem yang diajukan ?

PENJELASAN MODEL WATERFALLVerifikasi dan validasi Suatu mekanisme sertifikasi harus dilakukan pada akhir setiap tahap. tahap. Keluaran dari suatu tahap harus konsisten dengan masukan ke tahap berikutnya dan konsisten dengan seluruh kebutuhan sistem. sistem. keluaran-keluaran yang telah disertifikasi menjadi keluaranmasukan untuk tahap berikutnya dan tidak boleh dirubah atau dimodifikasi. dimodifikasi. Jika harus ada perubahan, maka perubahanperubahanperubahan tersebut harus dilakukan secara terkendali melalui kendali konfigurasi atau manajemen konfigurasi. konfigurasi.

Himpunan dokumen yang harus dihasilkan dalam setiap proyek adalah:Dokumen Kebutuhan (Requirement Document). Rencana Proyek (Project Plan). Dokumen Perancangan Sistem (System Design Document). Dokumen Perancangan Terperinci (Detailed Design Document). Rencana Pengujian dan Laporan Pengujian (Test Plan and Test Report). Kode program Akhir (Final Code) Petunjuk pemakaian perangkat lunak (Software perangkat Manuals). Pemeriksaan Kembali Laporan-laporan (Review LaporanReports).

KELEBIHAN MODEL WATERFALL KELEBIHAN Lebih disiplin, terutama menyangkut tahap-tahap tahappenyelesaian dalam perjanjian kontrak kerja dan tahaptahap-tahap pembayarannya. Dokumen selalu tersedia untuk tiap tahapan sehingga memudahkan pemeriksaan. Setiap produk yang dihasilkan pada setiap tahapan, selalu diverifikasi dan disertifikasi. Model Waterfall sangat baik digunakan untuk menyelesaikan masalah yang sudah dikenal sebelumnya dengan baik.

KEKURANGAN MODEL WATERFALL KEKURANGAN Untuk menentukan kebutuhan suatu sistem baru adalah sangat sulit, apalagi pemakai sendiri belum sulit, tahu apa yang dia butuhkan. Pembekuan kebutuhan umumnya telah memilih perangkat keras yang harus digunakan. Proyek besar biasanya membutuhkan penyelesaian dalam beberapa tahun, sehingga karena kecepatan teknologi, teknologi, perangkat lunak akan dijalankan pada teknologi perangkat keras yang ketinggalan atau obsolete. obsolete. Setiap tahap harus diselesaikan dahulu baru menuju tahap berikutnya, jadi pengembang harus sudah mempunyai banyak pengalaman dalam pelaksanaan produk tersebut. tersebut.

Model Waterfall didasarkan pada asumsi: Kita sudah mengenal keseluruhan masalah dari awal sampai akhir. Tidak ada satupun yang akan berubah. Kita tidak pernah membuat kesalahan. Bagaimana kebenaran dari asumsi-asumsi ini ? asumsi-

PROTOTYPINGPemikiran dasar dari prototyping adalah daripada membekukan kebutuhan sebelum suatu perancangan atau pengkodean dilaksanakan, suatu prototip dapat dibuat untuk membantu memahami kebutuhan lunak) (spesifikasi perangkat lunak) Prototyping adalah suatu proses yang memungkinmemungkinkan pengembang membuat model dari suatu perangkat lunak sebelum perangkat dibangun. Dengan menggunakan prototip pelanggan dapat diberikan perasaan aktual terhadap suatu sistem, perasaan aktual yaitu dapat berinteraksi dengan prototip tersebut yang memungkinkan pelanggan lebih mengerti kebutuhan dari sistem yang dikehendaki .

Proses dilakukan secara iteratif dan berkembang (incremental). Pengembang bekerjasama dengan calon pemakai dalam mengevaluasi dan mengembangkan sistem. Prototyping dimungkinkan dengan tersedianya teknologi pengembangan perangkat lunak generasi baru. Teknik ini sangat populer terutama untuk aplikasi pengembangan basis data.

Bagaimana kita dapat memakan seekor gajah ? Iteratif : penemuan dan implementasi dilakukan dalam siklus secara berulang-ulang. Penambahan: pembangunan dilakukan dari hasil sebelumnya.

Analisis kebutuhan Disain cepat Membangun prototip

Produk rekayasa

Penyempurnaan prototip Evaluasi prototip oleh pelanggan

Desain cepat menitik beratkan pada penggambaran aspekaspek-aspek yang akan tampak bagi pemakai, misalkan bentuk-bentuk masukan dan format-format bentukformatkeluaran (fungsionalitas sistem dikurangi).

PROSES ITERATIF

Kelebihan Model Prototyping Pengembang bekerjasama dengan pemakai dalam satu tim, sehingga sangat mendukung penerapan sistem yang diinginkan. Pembuatan prototip dapat mempercepat proses pengembangan selanjutnya. Walaupun biaya analisis kebutuhan pelanggan meningkat, tetapi biaya-biaya lain seperti untuk tetapi biayaperancangan, pengujian, penulisan dokumen pengujian, terperinci dan perawatan perangkat lunak akan berkurang. berkurang. Pendekatan iteratif/incremental adalah jantung dari teknik pengembangan perangkat lunak moderen.

Kekurangan Model Prototyping Pelanggan melihat apa yang muncul pada versi kerja prototip adalah produk akhir, tetapi ketika sistem digabung, ternyata tidak sesuai dengan keinginan, kualitas dan pemakaian jangka panjang. Anggapan disisi pemakai bahwa perubahan dapat dilakukan dengan mudah dan secepat prototip. Pemakai meminta lebih banyak setelah melihat prototip.

MODEL SPIRAL Diusulkan oleh Boehm pada tahun 1986. Model spiral dikembangkan untuk mengabungkan kelebihan model Waterfall dan Prototyping dengan menambahkan elemen baru yaitu analisis resiko. resiko. Model Spiral membagi proses menjadi 4 kuadran: 1. Perencanaan (Planning). 2. Analisis Resiko (Risk Analysis) 3. Rekayasa (Engineering) 4. Evaluasi Pelanggan (Customer Evaluation). Beriterasi menurut suatu siklus menggunakan pendekatan prototyping.

MODEL SPIRALPerencanaanKebutuhan awal dan perencanaan proyek Evaluasi pelanggan

Analisis resiko Analisis Resiko didasarkan pada kebutuhan awal Prototip awal

Evaluasi Pelanggan

Rekayasa

Proses digambarkan dalam bentuk spiral dari pada dalam bentuk urutan kegiatan. Setiap loop menggambarkan satu fasa dalam proses

Aktivitas disusun dalam bentuk spiral yang mempunyai banyak siklus. Dimensi radial menggambarkan biaya kumulatif yang dibutuhkan untuk menyelesaikan setiap tingkat. tingkat. Dimensi sudut menggambarkan kemajuan yang dicapai dalam penyelesaian setiap siklus dari spiral

MODEL SPIRAL

Setiap siklus spiral dimulai dengan identifikasi sasaran dari siklus tersebut, kemudian pengumpulan alternatif untuk mencapai sasaran, dan menentukan kendalakendalakendala. kendala. Tingkat berikutnya adalah mengevaluasi alternatifalternatifalternatif berdasarkan sasaran dan kendala. Disini termasuk mengidentifikasi ketidak pastian dan resiko (juga benchmarking, simulasi dan prototyping). Tingkat berikutnya ditentukan berdasarkan resiko yang belum tertangani. Model spiral yang ditentukan oleh resiko memungkinkan mengakomodasi setiap penggabungan orientasi kebutuhan, prototip, simulasi dan lainnya. lainnya.

Manajemen Resiko Manajemen resiko mengidentifikasi resiko dan membuat perencanaan untuk mengurangi akibat resiko pada proyek. Resiko terjadinya permasalahan adalah: Resiko proyek mempengaruhi jadwal dan sumbersumber. Resiko produk mempengaruhi kualitas atau kinerja perangkat lunak. Resiko bisnis mempengaruhi organisasi pengembangan dan pembuat perangkat lunak.

Proses Manajemen Resiko Risk identification Mengidentifikasi resiko proyek, produk dan bisnis.

Risk analysis Mengkaji kemiripan dan akibat-akibat dari resikoresiko ini.

Risk planning Buat perencanaan untuk mencegah atau meminimalkan pengaruh dari resiko.

Risk monitoring Pantau resiko melalui manajemen proyek.

The risk management processRisk identification Risk analysis Risk planning Risk monitoring

List of potential risks

Prioritised risk list

Risk avoidance and contingency plans

Risk assessment

Kelebihan Model Spiral Paradigma model spiral merupakan pendekatan yang paling realistik untuk pengembangan sistem perangkat lunak dengan skala besar. Pendekatan evolutif memungkinkan pengembang dan pelanggan mengerti dan bereaksi pada tiap tingkat evolusi.

Kekurangan Model Spiral Perangkat lunak dikembangkan secara iteratif sehingga membutuhkan waktu dan biaya yang besar. Dibutuhkan ahli pengkajian resiko pada seluruh tingkat proyek. Sulit untuk meyakinkan pelanggan besar, terutama dalam kondisi kontrak, bahwa pendekatan evolutif ini dapat dikendalikan.

FOURTHFOURTH-GENERATION TECHNIQUES Istilah fourth-generation techniques (4GT) karena fourthmemotong kompas sejumlah perangkat pengembangan perangkat lunak. Paradigma 4GT untuk software engineering adalah menitik beratkan pada kemampuannya membantu pengembang menspesifikasi karakteristik perangkat lunak pada tingkat mendekati bahasa alamiah dan secara otomatis membangkitkan kode komputer (source code) dari spesifikasi tersebut. 4GT dimulai dengan tahap pengumpulan kebutuhan (requirements gathering), dimana pelanggan dapat menggambarkan kebutuhannya yang langsung diubah menjadi prototip operasional.

Untuk aplikasi kecil, setelah tahap pengumpulan kebutuhan langsung diimplementasikan menggunakan fourth-generation language (4GL). fourth Sedangkan untuk proyek besar sangat penting untuk mengembangkan suatu strateji perancangan sistem, karena penggunaan 4GT tanpa perancangan akan menimbulkan permasalahan yang sama seperti pada pengembangan dengan pendekatan konvensional (kualitas kurang baik, perawatan menjadi sulit, pelanggan menjadi tidak puas). Implementasi menggunakan 4GL memungkinkan pengembang perangkat lunak dapat merepresentasikan hasil yang diinginkan dan kemudian membangkitkan kode/program komputernya secara otomatis.

FourthFourth-generation techniques (4GT)Memungkinkan pengembang menghasilkan spesifikasi perangkat lunak tingkat tinggi, karena: Membangkitkan source code secara otomatis. Bahasa non-prosedural untuk query basisdata. non Manipulasi data. Membangkitkan laporan. Definisi dan interaksi melalui layar. Pengembangan aplikasi grafik tingkat tinggi.

FourthFourth-generation techniques (4GT)Requirement gathering Design strategy Implementation using 4GL Testing

Kelebihan 4GT Pelanggan dapat menggambarkan kebutuhannya dalam suatu rancangan sistem dan secara otomatis rancangan dapat diubah menjadi prototip operasional. Penggunaan perangkat 4GT tidak membutuhkan pengetahuan bahasa pemrograman, karena kode komputer (source code) dapat dibangkitkan oleh sistem 4GT. 4GT mengurangi waktu pengembangan perangkat lunak dan meningkatkan produktivitas manusia yang mengambangkannya.

Kekurangan 4GT Kode komputer yang dihasilkan tidak efisien dan perawatan sistem perangkat lunak besar yang dikembangkan menggunakan 4GT masih menjadi tanda tanya. Penggunaan 4GT masih terbatas pada aplikasi sistem informasi bisnis, khususnya analisis informasi dan pelaporan yang mengacu pada database besar.

Preliminary Requirement gathering Requirements analysis Design Coding 4GT Testing Operational system Prototyping nth iteration 4GT

Prototyping

4GT

Spiral model

Paradigma Kombinasi

Maintenance

PelakuPelaku-pelaku Pengembangan Perangkat Lunak Project Manager System Analyst Programmer Software Tester Software Inspector Software Librarian Change Controller Technical Writer Database Administrator Network Administrator User

Masalah yang dihadapi Sistem sudah kadaluwarsa (obsolete) sebelum diserah terimakan (delivered) . Tidak mampu memenuhi kebutuhan-kebutuhan kebutuhanmendatang. Hanya 25% dari proyek yang berhasil menjadi sistem yang berjalan. Sistem tidak dapat memenuhi kepuasan pelanggan.

Apa yang diinginkan pelanggan Sistem Memenuhi kebutuhan-kebutuhan fungsional kebutuhan Dapat menyesuaikan dengan perubahan lingkungan yang cepat. Perangkat Lunak Tahan lama (maintainable) Dikembangkan sesuai dengan dana dan untuk jangka panjang Tampilan Perangkat Lunak Tampilan/kesan pertama adalah yang paling penting karena akan mempengaruhi opini keseluruhan. Produk grafis yang indah bisa menyebabkan user memaafkan satu atau dua kekurangan.

Software Requirements Specification (SRS)Functional Requirements

Performance Requirements

Software Requirement Specification Document

Design Constraints

External Interfaces

Performance Requirements Ada dua jenis Kebutuhan Peningkatan Kinerja yaitu: statis dan dinamis. dinamis. Kebutuhan statis tidak menimbulkan kendala pada sifat eksekusi dari sistem disebut juga kapasitas dari sistem, misalnya: - jumlah terminal yang dapat didukung - jumlah file dan ukuran yang dapat diproses. jum Kebutuhan dinamis menentukan keterbatasan perilaku eksekusi sistem, misalnya: - response time - throughput : jumlah operasi (transaksi)/unit waktu transaksi)/unit

Functional Requirements Kebutuhan fungsional menentukan keluaran-keluaran keluaranyang harus dihasilkan dari masukan-masukan tertentu. masukan Disini digambarkan hubungan antara masukan dan keluaran suatu sistem. Seluruh operasi yang harus dilakukan pada suatu data masukan untuk memperoleh keluaran harus dispesifikasikan. - pemeriksaan validasi - parameter dan unit pengukuran - persamaan-persamaan atau operasi logika lainnya persamaan- perilaku sistem dalam situasi normal (masukan atau keluaran yang valid).

Design ConstraintsAda banyak faktor pada lingkungan pelanggan yang menyebabkan terbatasnya pilihan dari seorang perancang, misalnya: 1. Standards compliance. Standard yang harus diikuti misalnya format laporan dan prosedur akuntabilitas. 2. Resources limitation. Keterbatasan sumber-sumber sumbermisalnya jenis dari mesin yang harus digunakan, sistem operasi yang tersedia, bahasa pemrograman yang didukung, dan keterbatasan media penyimpan. 3. Reliability and Fault Tolerance. Reliabilitas penting bagi aplikasi yang kritis. Toleransi kepada kesalahan merupakan kendala utama pada perancangan sistem, karena membuat sistem lebih kompleks dan mahal. 4. Security. Penting pada sistem pertahanan dan database.

External Interface RequirementsSeluruh interaksi yang mungkin antara perangkat lunak dengan pemakai, hardware dan perangkat lunak lain harus dijelaskan secara spesifik.1.

User Interface. Manual pemakai harus dibuat dengan perintahperintah-perintah pemakai, format-format tampilan, formatketerangan bagaimana sistem akan muncul, umpan balik dan pesan-pesan kesalahan. pesanHardware interface requirement. SRS harus menentukan sifat-sifat logis untuk setiap interface sifatantara produk perangkat lunak dengan komponenkomponenkomponen perangkat kerasnya, misalnya: batas kecepatan prosesor, kapasitas memori.

2.

See..you