Dokumen tersebut membahas proses pengembangan perangkat lunak mulai dari tahapan-tahapannya, metode-metode pengembangan yang ada seperti waterfall, prototyping, RAD, dan spiral beserta kelebihan dan kekurangannya. Dokumen juga membahas tentang dokumentasi pengembangan perangkat lunak yang meliputi dokumentasi requirements, architecture/design, technical, end user, dan marketing.
3. SOFTWARE DEVELOPMENT PROCESS
Activities and steps
Requirements Specification Architecture Design Implementation Testing
Debugging Deployment Maintenance
Methodologies
Waterfall Prototype model Incremental Iterative V-Model Spiral Scrum
Cleanroom RAD DSDM RUP XP Agile Lean Dual Vee Model TDD
Supporting disciplines
Configuration management Documentation Quality assurance (SQA) Project
management User experience design
Tools
Compiler Debugger Profiler GUI designer IDE Build automation
4. PENGEMBANGAN PERANGKAT LUNAK
Metode Pengembangan Perangkat Lunak
Tahapan Pengembangan Perangkat Lunak
Dokumentasi Pengembangan
5. PENGEMBANGAN PERANGKAT LUNAK
Metode Pengembangan Perangkat Lunak
Linear Sequential / waterfall method
Prototyping
RAD (Rapid Application Development)
Spiral
Tahapan Pengembangan Perangkat Lunak
Dokumentasi Pengembangan
6. PENGEMBANGAN PERANGKAT LUNAK
Metode Pengembangan Perangkat Lunak
Tahapan Pengembangan Perangkat Lunak
Dokumentasi Pengembangan
Dokumentasi Requirements
Dokumentasi Architecture/Design
Dokumentasi Technical
Dokumentasi End User
Dokumentasi Marketing
7. Linear Sequential – Prototyping – RAD – Spiral
METODE & TAHAPAN PENGEMBANGAN
PERANGKAT LUNAK
10. LINEAR SEQUENTIAL / WATERFALL
Keunggulan
Mudah aplikasikan.
Memberikan template tentang metode analisis,
desain, pengkodean, pengujian, dan pemeliharaan.
Kelemahan
11. LINEAR SEQUENTIAL / WATERFALL
Keunggulan
Kelemahan
Proyek yang sebenarnya jarang mengikuti alur
sekuensial seperti diusulkan.
Linear sequential metode mengharuskan semua
kebutuhan pemakai sudah dinyatakan secara eksplisit di
awal proses.
Pemakai harus bersabar karena versi dari program tidak
akan didapat sampai akhir rentang waktu proyek.
Adanya waktu menganggur bagi pengembang.
14. PROTOTYPING
Keunggulan
Adanya komunikasi yang baik antara pengembang dan
pelanggan.
Pengembang dapat bekerja lebih baik dalam menentukan
kebutuhan pelanggan.
Pelanggan berperan aktif dalam pengembangan sistem.
Lebih menghemat waktu dalam pengembangan sistem.
Penerapan menjadi lebih mudah karena pemakai
mengetahui apa yang diharapkannya.
Kelemahan
15. PROTOTYPING
Keunggulan
Kelemahan
Pelanggan kadang tidak menyadari bahwa perangkat
lunak yang ada belum mencantumkan kualitas
perangkat lunak secara keseluruhan.
Pengembang biasanya ingin cepat menyelesaikan
proyek.
Hubungan pelanggan dengan komputer yang
disediakan mungkin tidak mencerminkan teknik
perancangan yang baik.
18. RAD (RAPID APPLICATION DEVELOPMENT)
Keunggulan
Waktu yang digunakan sangat cepat karena pekerjaan
bisa dilakukan secara simultan.
Kualitas software yang dihasilkan cenderung lebih
baik dibandingkan prototype dan linear, karena
model ini menggabungkan kedua model tersebut.
Kelemahan
19. RAD (RAPID APPLICATION DEVELOPMENT)
Keunggulan
Kelemahan
Untuk proyek dengan skala besar, RAD membutuhkan sumber
daya manusia yang cukup untuk membentuk sejumlah tim
RAD.
RAD membutuhkan pengembang dan pemakai yang
mempunyai komitmen untuk melaksanakan
aktivitas melengkapi sistem dalam kerangka waktu yang
singkat.
Akan menimbulkan masalah jika sistem tidak dapat dibuat
secara modular.
RAD tidak cocok digunakan untuk sistem yang mempunyai
resiko teknik yang tinggi.
22. SPIRAL
Keunggulan
Lebih cocok untuk pengembangan sistem dan
perangkat lunak skala besar
Pengembang dan pemakai dapat lebih mudah
memahami dan bereaksi terhadap resiko
setiap tingkat evolusi
Kelemahan
23. SPIRAL
Keunggulan
Kelemahan
Memerlukan tenaga ahli untuk memperkirakan
resiko, dan harus mengandalkannya supaya sukses.
Belum terbukti apakah metode ini cukup efisien
karena usianya relatif baru.
29. DOKUMENTASI TECHNICAL
/**
* Short one line description. (1)
* Longer description. If there were any, it would be [2]
* here.
*
* @param variable Description text text text. (3)
* @return Description text text text.
*/
public int methodName (...) {
// method body
}
31. DOKUMENTASI END USER
Pengantar
Instalasi
Tutorial
Instruksi detail
Detail Teknis
32. DOKUMENTASI MARKETING
Untuk menarik calon pengguna dan membuat
mereka berkeinginan untuk ikut merasakan
produk.
Memberi tahu apa yang bisa dilakukan oleh
produk
adalah proses pembuatan dan pengubahan sistem serta model dan metodologi yang digunakan untuk mengembangkan sistem-sistem tersebut.
Analisis Kebutuhan Perangkat LunakProses menganalisis dan pengumpulan kebutuhan sistem yang sesuai dengan domain informasi tingkah laku, unjuk kerja, dan antar muka (interface) yang diperlukan. Kebutuhan-kebutuhan tersebut didokumentasikan dan dilihat lagi dengan pelanggan.3. DesainProses desain akan menerjemahkan syarat kebutuhan ke sebuah perancangan perangkat lunak yang dapat diperkirakan sebelum dibuat coding. Proses ini berfokus pada : struktur data, arsitektur perangkat lunak, representasi interface, dan detail (algoritma) prosedural.4. Pengkodeaan (Coding)Pengkodean merupakan proses menerjemahkan desain ke dalam suatu bahasa yang bisa dimengerti oleh komputer.5. PengujianProses pengujian dilakukan pada logika internal untuk memastikan semua pernyataan sudah diuji. Pengujian eksternal fungsional untuk menemukan kesalahan-kesalahan dan memastikan bahwa input akan memberikan hasil yang aktual sesuai yang dibutuhkan.6. PemeliharaanPerangkat lunak yang sudah disampaikan kepada pelanggan pasti akan mengalami perubahan. Perubahan tersebut bisa karena mengalami kesalahan karena perangkat lunak harus menyesuaikan dengan lingkungan (periperal atau sistem operasi baru) baru, atau karena pelanggan membutuhkan
Proyek yang sebenarnya jarang mengikuti alur sekuensial seperti diusulkan, sehingga perubahan yang terjadi dapat menyebabkan hasil yang sudah didapat tim harus diubah kembali/iterasi sering menyebabkan masalah baru.Linear sequential metode mengharuskan semua kebutuhan pemakai sudah dinyatakan secara eksplisit di awal proses, tetapi kadang-kadang ini tidak dapat terlaksana karena kesulitan yang dialami pemakai saat akan mengungkapkan semua kebutuhannya tersebut.Pemakai harus bersabar karena versi dari program tidak akan didapat sampai akhir rentang waktu proyek.Adanya waktu menganggur bagi pengembang, karena harus menunggu anggota tim proyek lainnya menuntaskan pekerjaannya.
Tahapan-tahapan dalam Prototyping adalah sebagai berikut:1. Pengumpulan kebutuhanPelanggan dan pengembang bersama-sama mendefinisikan format seluruh perangkat lunak, mengidentifikasikan semua kebutuhan, dan garis besar sistem yang akan dibuat.2. Membangun prototypingMembangun prototyping dengan membuat perancangan sementara yang berfokus pada penyajian kepada pelanggan (misalnya dengan membuat input dan format output)3. Evaluasi prototypingEvaluasi ini dilakukan oleh pelanggan apakah prototyping yang sudah dibangun sudah sesuai dengan keinginann pelanggan. Jika sudah sesuai maka langkah 4 akan diambil. Jika tidak prototyping direvisi dengan mengulangu langkah 1, 2 , dan 3.4. Mengkodekan sistemDalam tahap ini prototyping yang sudah di sepakati diterjemahkan ke dalam bahasa pemrograman yang sesuai5. Menguji sistemSetelah sistem sudah menjadi suatu perangkat lunak yang siap pakai, harus dites dahulu sebelum digunakan. Pengujian ini dilakukan dengan White Box, Black Box, Basis Path, pengujian arsitektur dan lain-lain6. Evaluasi SistemPelanggan mengevaluasi apakah sistem yang sudah jadi sudah sesuai dengan yang diharapkan . Jika ya, langkah 7 dilakukan; jika tidak, ulangi langkah 4 dan 5.7. Menggunakan sistemPerangkat lunak yang telah diuji dan diterima pelanggan siap untuk digunakan.
Pengguna atau pemilik sistem bisa terus menerus menambah kompleksitas sitem hingga sistem menjadi sangat kompleks, hal ini bisa menyebabkan pengembang meninggalkan pekerjaanya sehingga sistem yang dikerjaan tidak akan pernah terselesaikan.Pelanggan kadang tidak melihat atau menyadari bahwa perangkat lunak yang ada belum mencantumkan kualitas perangkat lunak secara keseluruhan dan juga belum memikirkan kemampuan pemeliharaan untuk jangja waktu lama.Pengembang biasanya ingin cepat menyelesaikan proyek. Sehingga menggunakan algoritma dan bahasa pemrograman yang sederhana untuk membuat prototyping lebih cepat selesai tanpa memikirkan lebih lanjut bahwa program tersebut hanya merupakan cetak biru sistem .Hubungan pelanggan dengan komputer yang disediakan mungkin tidak mencerminkan teknik perancangan yang baik
Model RAD bisa dibilang keluarganya dari waterfall hehehe… soalnya pada Model RAD mengadopsi dari model waterfall.. lebih jelasnya mungkin bisa diliat keterangan di bawah…RAD adalah model proses pembangunan perangkat lunak 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.Pada model ini waktu yang singkat yang di gunakan pada model tsb.Jika kebutuhan lengkap dan jelas maka waktu yang diperlukan kira2 60 sampai 90 hari(wah cepat juga y…).Penjelasan gambarnya mungkin seperti ini:Business modelling : berfungsi menjawab pertanyaan-pertanyaan seperti informasi apa yang mengendalikan proses bisnis? Informasi apa yang dihasilkan? Siapa yang menghasilkan informasi? Kemana informasi itu diberikan? Siapa yang mengolah informasi?Data modelling: aliran informasi yang sudah didefinisikan, disusun menjadi sekumpulan objek data. karakteristik/atribut dan hubungan antar objek-objek tersebut à analisis kebutuhan dan dataProcess 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.
Merupakan metode proses perangkat lunak yang memadukan wujud pengulangan dari metode prototyping dengan aspek pengendalian dan sistematika dari linear sequential metode, dengan penambahan elemen baru yaitu analisis resiko. metode ini memiliki 4 aktivitas penting, yaitu :- Perencanaan (Planning), penentuan tujuan, alternatif dan batasan- Analisis resiko (Risk Analysis), analisis alternatif dan identifikasi/pemecahan resiko- Rekayasa (Engineering), pengembangan level berikutnya dari produk- Evaluasi Pemakai (Customer Evaluation) penilaian terhadap hasil rekayasaBentuk spiral memberikan gambaran bahwa semakin besar iterasinya, maka menunjukkan makin lengkap versi dari perangkat lunak yang dibuat. Selama awal sirkuit, objektif, alternatif dan batasan didefinisikan serta resiko diidentifikasikan dan dianalisa. Jika resiko menunjukkan ada ketidakpastian terhadap kebutuhan, maka prototyping harus dibuat pada kuadran rekayasa. Simulasi dan pemodelan lain dapat digunakan untuk mendefinisikan masalah dan memperbaiki kebutuhan. Pelanggan mengevaluasi hasil rekayasa (kuadran evaluasi pelanggan) dan membuat usulan untuk perbaikan. Berdasarkan masukan dari pelanggan, fase berikutnya adalah perencanaan dan analisis resiko. Setelah analisis resiko selalu diperiksa apakah proyek diteruskan atau tidak, jika resiko terlalu besar, maka proyek dapat dihentikan. Model spiral ini adalah pendekatan yang paling realistic untuk sistem sekala besar. Metode ini menggunakan pendekatan evolusioner, sehingga pelanggan dan pengembang dapat mengerti dan bereaksi terhadap suatu resiko yang mungkin terjadi
Sulit untuk meyakinkan pemakai (saat situasi kontrak) bahwa penggunaan pendekatan ini akan dapat dikendalikan.
written text that accompanies computer software. It either explains how it operates or how to use it, and may mean different things to people in different roles.
Database Design Document (DDD). It contains Conceptual, Logical, and Physical Design Elements. The DDD includes the formal information that the people who interact with the database need. The purpose of preparing it is to create a common source to be used by all players within the scene. The potential users are:Database DesignerDatabase DeveloperDatabase AdministratorApplication DesignerApplication Developer
This is what most programmers mean when using the term software documentation. When creating software, code alone is insufficient. There must be some text along with it to describe various aspects of its intended operation.
For many applications it is necessary to have some promotional materials to encourage casual observers to spend more time learning about the product. This form of documentation has three purposes:-To excite the potential user about the product and instill in them a desire for becoming more involved with it.To inform them about what exactly the product does, so that their expectations are in line with what they will be receiving.To explain the position of this product with respect to other alternatives.One good marketing technique is to provide clear and memorable catch phrases that exemplify the point we wish to convey, and also emphasize the interoperability of the program with anything else provided by the manufacturer.
For many applications it is necessary to have some promotional materials to encourage casual observers to spend more time learning about the product. This form of documentation has three purposes:-To excite the potential user about the product and instill in them a desire for becoming more involved with it.To inform them about what exactly the product does, so that their expectations are in line with what they will be receiving.To explain the position of this product with respect to other alternatives.One good marketing technique is to provide clear and memorable catch phrases that exemplify the point we wish to convey, and also emphasize the interoperability of the program with anything else provided by the manufacturer.