Jumat, 14 September 2012

Pengembangan Software

PENGEMBANGAN SOFTWARE DENGAN MODEL WATERFALL

Model Waterfall adalah suatu proses pengembangan perangkat lunak berurutan, di mana kemajuan dipandang sebagai terus mengalir ke bawah (seperti air terjun) melewati fase-fase perencanaan, pemodelan, implementasi (konstruksi), dan pengujian. Berikut adalah gambar pengembangan perangkat lunak berurutan/ linear (Pressman, Roger S. 2001):


Gambar Pengemr


Berikut adalah langkah-langkah pengembangan perangkat lunak dengan model waterfall:

1. Scope
Kegiatan awal pada perencanaan adalah penentuan scope. Pernyataan scope mencakup data, fungsi, dan perilaku yg harus diimplementasikan, performance dan constrain serta informasi-informasi pendukung lainnya

2. Software Requirement (Kebutuhan Perangkat Lunak)
Requirement adalah gambaran dari layanan (services) dan batasan bagi sistem yang akan dibangun.

Pengumpulan requirement

Interviews : Memberi informasi yang terbaik,mahal.
Questionnaires: Bagus jika banyak orang terlibat dan tersebar, respon cenderung kurang baik.
Observation: Akurat jika dilakukan dengan baik, mahal.
Searching: Informasi terbatas, cenderung tidak menampilkan hal-hal yang mungkin jadi masalah.
Beberapa macam requirement:

User Requirement (Kebutuhan Pengguna)
Pernyataan tentang layanan yang disediakan sistem dan tentang batasan-batasan operasionalnya. Dilengkapi dengan gambar/diagram yang dapat dimengerti dengan mudah.

System Requirement (Kebutuhan Sistem)
Sekumpulan layanan/kemampuan sistem dan batasan-batasannya yang ditulis secara detil. Ini bisa berlaku sebagai kontrak antara klien dan pembangun.

Software Requirement Specification (Spesifikasi Kebutuhan Perangkat Lunak)
Gambaran abstrak dari rancangan perangkat lunak yang menjadi dasar bagi perancangan dan implementasi yang lebih detil

3. Analisa
Tujuan analisa adalah sebagai berikut:

Mengambarkan kebutuhan pelanggan,
Membangun dasar-dasar untuk proses desain perangkat lunak,
Mendefinisikan semua kebutuhan pelanggan sesuai dengan lingkup kontrak yang disepakati kedua belah pihak.



Gambar Struktur Pemodelan Analisa

Gambar diatas adlah gambar struktur pemodelan analisa (Pressman, Roger S. 2001) yang menggambarkan bahwa pemodelan analisa terdiri dari 3 bagian yaitu pemodelan data, pemodelan fungsional, dan pemodelan kelakuan.

Pemodelan Data adalah mendeskripsikan data yang terlibat dalam PL yang terdiri dari:

Data Object Description
Yaitu deskripsi atribut dari setiap objek data.
Entity Relationship Diagram
Yaitu diagram keterhubungan antar objek data.
Data Dictionary
Yaitu deskripsi semua objek data yang dibutuhkan maupun dihasilkan oleh perangkat lunak.
Pemodelan Fungsional adalah mendeskripsikan seluruh fungsi yang terlibat dalam perangkat lunak yang terdiri dari:

Data Flow Diagram
Menggambarkan bagaimana data ditransformasikan pada perangkat lunakdan enggambarkan fungsi-fungsi yang mentransformasikan data.

Process Specification
Berisi deskripsi dari setiap fungsi yang muncul pada DFD.

Pemodelan Status/Kelakuan adalah mendeskripsikan status sistem yang dapat muncul ketika perangkat lunak digunakan atau mendeskripsikan kelakuan sistem.

State Transition Diagram
Control Specification
4. Perancangan
Perancangan perangkat lunak adalah proses dimana analisa diterjemahkan menjadi “cetak-biru” untuk membangun perangkat lunak. Awalnya, cetak biru menggambarkan pandangan menyeluruh perangkat lunak. Yaitu, desain diwakili pada tingkat abstraksi tinggi-tingkat yang dapat langsung ditelusuri pada sistem tertentu objektif dan data yang lebih rinci, fungsional, dan perilaku persyaratan. Seperti terjadi pengulangan desain, perbaikan berikutnya mengarah pada representasi desain yang jauh lebih rendah tingkat abstraksi.

Berikut adalah gambar hubungan pemodelan antara analisa dan pemodelan perancangan (Pressman, Roger S. 2001):



Gambar Hubungan Antara Analisa dan Perancangan

Prinsip perancangan perangkat lunak:

Siap dengan alternatif solusi.
Perancangan yang dibuat bisa dilacak sampai ke model analisis.
Untuk bagian-bagian yang berpola sama gunakan komponen yang sudah ada. Ini sering disebut : reuse design component.
Struktur perangkat lunak sebisa mungkin mendekati struktur domain yang sebenarnya.
Perancangan sebaiknya menampilkan keseragaman dan kesatuan.
Perancangan harus terstruktur dan mudah menerima perubahan.
Mampu mengatasi kejadian tidak normal dengan baik.
Perancangan tidak sama dengan pengkodean.
Kualitas perangkat lunak harus sudah terlihat dari perancangan.
Perancangan, sebelum dikodekan, perlu diuji untuk mengurangi kesalahan.
Metode Perancangan:

Perancangan Data
Yaitu transformasi model data yang dihasilkan oleh proses analisis menjadi struktur data yang dibutuhkan pada saat implementasi.

Hasil perancangan data adalah:

- struktur data siap diprogram

- struktur basis data siap dibuat oleh pemrogram

- prosedur/operasi untuk mengakses data, siap diprogram

Perancangan Arsitektur
Yaitu definisi keterkaitan antar elemen-elemen utama yang akan membentuk program.

Hasil perancangan arsitektural:

Structure Chart yang merepresentasikan gambaran menyeluruh struktur/ arsitektur perangkat lunak, beserta seluruh hierarki kendali/passing parameter, yang siap dituliskan dalam bentuk modul program.

Perancangan Antarmuka
Yaitu penjabaran komunikasi: internal perangkat lunak, antara perangkat lunak, dengan sistem diluarnya, dan antara perangkat lunak dengan usernya.

Hasil perancangan antarmuka adalah:

- definisi antarmuka modul yang siap untuk diprogram

- definisi / format rancangan layar yang siap diimplementasikan

Perancangan Prosedur
Yaitu transformasi elemen struktural dari arsitektur program menjadi deskripsi prosedur.

Hasil perancangan prosedur adalah:

- Flow-chart

- Algoritma/pseudocode/program design language

5. Implementasi
Implementasi perangkat lunak adalah melaksanakan,eksekusi, atau praktek dari rencana, metode, atau desain dalam pengembangan perangkat lunak.

Pada tahap ini dilakukan kerja untuk membangun perangkat lunak berdasarkan analisa dan pemodelan yang telah dilakukan. Sehigga hasil dari tahap ini adalah basis data dan source code perangkat lunak.

6. Pengujian
Setelah source code dihasilkan, perangkat lunak harus diuji untuk menemukan (dan membenarkan) sebanyak mungkin kesalahan yang dibuat.

Pengujian perangkat lunak adalah penyelidikan empiris para pemangku kepentingan untuk menyediakan informasi mengenai kualitas perangkat lunak yang diuji. Pengujian perangkat lunak juga menyediakan pandangan independen dari perangkat lunak yang objektif untuk memungkinkan bisnis untuk menghargai dan memahami risiko pada pelaksanaan perangkat lunak.

Teknik uji meliputi, tetapi tidak terbatas pada, proses eksekusi sebuah program atau aplikasi dengan tujuan menemukan bug perangkat lunak.

Metode pengetesan:

1. Black box testing

Black box testing memperlakukan pengujian perangkat lunak sebagai “kotak hitam” – tanpa pengetahuan tentang pelaksanaan internal.

2. White box testing

White box testing adalah ketika penguji memiliki akses ke struktur data internal dan algoritma termasuk source code.

0 komentar:

Posting Komentar