pertemuan 2 - WordPress.com

Download Report

Transcript pertemuan 2 - WordPress.com

Pengembangan dan Perancangan
Perangkat Lunak
Diema HS
Plan
Act
Do
Check
Siklus Pengembangan PL
1.
2.
3.
4.
Pengembangan Sistem Biasa
Pengembangan Iteratif (Prototyping/CASE)
Pemeliharaan Sistem
Kontrak/Pembelian Software
Tipe Pengembangan Sistem (Proyek
Perangkat Lunak)
a. Karakteristik :
 Metodologi pengembangan sistem
 User mengetahui requirement
 Pengembangan menentukan struktur
b. Siasat Pengujian : pengujian dilakukan di akhir tiap-tiap
tahap
c. Melakukan verifikasi tiap-tiap spesifikasi yang
diperlukan
d. Menguji struktur dan fungsi
Pengembangan Sistem Biasa
a.
Karakteristik :
 Requirement tidak diketahui
 Struktur didefinisikan di awal pengembangan
Siasat Pengujian : Verifikasi alat Bantu CASE yang
digunakan
c. Verifikasi kebutuhan tiap prototype
d. Menguji fungsionalitas
b.
Pengembangan Iteratif
a.
b.
c.
d.
Karakteristik : Memodifikasi struktur
Siasat Pengujian : Menguji struktur
Mengeluarkan metode kerja yang terbaik
Memerlukan pengujian regresi
Pemeliharaan Sistem
• Karakteristik : Struktur tidak diketahui
• Banyak terjadi defect
• Fungsionalitas tercantum dalam dokumen
• Terdapat berbagai document
• Siasat Pengujian : Verifikasi fungsi yang diperlukan
• Pengujian fungsionalitas
• Pengujian di dalam lingkungan kerja
Kontrak/Pembelian
Software
• Ditentukan berdasarkan keseluruhan aktivitas yang
tersangkut dalam pengembangan perangkat lunak
• Menggambarkan karakteristik yang lebih terperinci
dengan menekankan pada daftar requirements yang telah
ditentukan terlebih dahulu.
Menentukan Lingkup
Proyek
A. Pengembangan Sistem baru
a) Apakah akan mengotomatisasi proses bisnis yang manual
b) Proses bisnis yang mana yang akan dipengaruhi oleh system baru
c) Area bisnis yang mana yang akan dipengaruhi oleh system baru
d) Program Perantara dengan system lama
e) Sistem yang lama akan terpengaruh atau tidak
B. Perubahan system yang telah ada
a) Apakah hanya melakukan koreksi
b) Apakah hanya melakukan proses rekayasa PL secara standar
c) Pengoreksian untuk mengetahui defect dalam rangka perluasan system
d) Apakah terdapat system yang terpengaruh
e) Adakah resiko atau kemunduran system
Perbedaan Lingkup
Proyek
• Perangkat Lunak Komersial dari Vendor
• Perangkat Lunak Pesanan (customized software)
dikembangkan secara in-house atau oleh kontraktor
pemrograman independent
Sumber Perangkat Lunak
Aplikasi
• Paket (off-the-self) yang tersedia bisa diterapkan dalam
berbagai kebutuhan bisnis.
• Beberapa paket bersifat generik dan multifungsional yang
memungkinkan para pemakai memprogram sofware
tersebut untuk kebutuhannya sendiri.
• Paket-paket tersebut mengotomisasi fungsi-fungsi bisnis
dasar yang umumnya tidak terlalu bervariasi dari satu
organisasi dengan organisasi lain.
 Contoh jenis paket adalah spreadsheet dan DBMS.
Perangkat Lunak Komersial
dari Vendor
1.
2.
Implementasi yang cepat
Software tersebut bersifat siap, teruji, dan
terdokumentasi.
Paket
yang
dibeli
biasanya
pengimplementasiannya jauh lebih cepat dari pada
mengembangkan program yang sama secara in-house atau
menyuruh kontraktor independen untuk mengembangkannya
sehingga secara potensial membantu memecahkan backlog
(penimbunan pekerjaan yang belum selesai).
Penghematan Biaya
Satu paket perangkat lunak komersial bisa dijual kepada
banyak organisasi sehingga biaya pengembangan ditanggung
oleh banyak pemakai, dan biaya total suatu paket akan lebih
murah dari pada program pesanan yang sama
Keuntungan/kelebihan dari Perangkat
Lunak Komersial :
3. Estimasi biaya dan waktu
Biaya atau harga paket komersial telah diketahui,
dan tanggal pengimplementasian-nya mudah diestimasi.
Sebaliknya program pesanan biasanya cenderung
melampaui estimasi waktu dan biaya.
4. Reliabilitas
Sebelum diterbitkan di pasaran umum, paket
perangkat lunak komersial pasti telah diuji secara teliti.
Melalui penggunaan yang ekstensif oleh sejumlah
organisasi, segala kesalahan yang dijumpai telah
dideteksi dan dikoreksi sehingga peluang kesalahannya
lebih sedikit.
Keuntungan/kelebihan dari Perangkat
Lunak Komersial :
1.
2.
Kesesuaian Rancangan sistem yang tidak baik
Paket software komersial dibuat untuk berbagai organisasi, dan tidak
untuk organisasi tertentu maka paket ini mungkin mempunyai beberapa fungsi
yang tidak diperlukan atau mungkin tidak mempunyai fungsi yang diperlukan
sehingga paket tersebut harus dimodifikasi. Jika vendor tidak membuat kode
sumber (source code) yang bisa digunakan untuk penyesuaian dan tidak
menyediakan layanan penyesuaian maka rancangan sistem mungkin harus
diubah agar sesuai dengan paket tersebut. Jika hal ini terjadi sebaiknya
mengembangkan program secara in-house agar programnya bisa memenuhi
spesifikasi rancangan sistem yang tepat.
Ketergantungan Vendor
Jika organisasi memerlukan perubahan paketnya maka organisasi akan
tergantung pada vendor dalam perolehan dukungannya, dan jika vendor telah
tiada maka organisasi akan kesulitan mencari dukungannya.
Kerugian/kelemahan :
3. Biaya tidak langsung dari kerusakan SDLC
Seringkali apa yang ingin dicapai, manajemen tidak
melaksanakan SDLC menyeluruh atau mungkin melewati
tahap SDLC, dan secara langsung menuju ke paket
perangkat lunak komersial Strategi ini seringkali
mengakibatkan paket perangkat lunak komersial tidak
berjalan sesuai yang diharapkan dan masalah sistem serta
organisasional yang terjadi sebelum implementasi paket
tersebut tetap muncul sehingga menimbulkan kesulitan
atau harus dibayar kemudian yaitu adanya peningkatan
biaya implementasi, operasi, dan pemeliharaan.
• Jika system yang sedang dikembangkan tidak bisa
didukung oleh paket software maka harus memesan
dari perusahaan jasa/kontraktor independen atau
membangun sendiri perangkat lunak (in-house) agar
sesuai dengan rancangan sistemnya.
• Mengikuti SWDLS (Software Development Life
Cycle)
• Rancangan (Design)
• Kode (Code)
• Uji (Test)
Perangkat Lunak Pesanan (customized
software)
Siklus Hidup Pengembangan Perangkat Lunak
(Software Development Life Cycle)
1.
Rancangan (design) :
Alat (tools) rancangan program yang pokok adalah :
 Bagan terstruktur
 Bahasa Inggris terstruktur
 Tabel Keputusan
 Pohon Keputusan
 Persamaan/mirip bahasa pemrograman (Pseudocode)
 Kamus data
Membangun perangkat lunak
mengikuti tiga tahap SWDLC
2.
Kode (Code):
 Menulis statemen dalam bahasa pemrograman, misal
3GL, 4GL, Pemrograman Object
3.
Uji(Test)
 Pengujian terhadap semua modul kode untuk
mendeteksi kesalahan,misal White Box, Black Box
 Perangkat Lunak Berdasarkan Pemakai
 Generik: Perangkat lunak yang bisa digunakan secara umum
 Spesifik: Perangkat lunak yang dibuat berdasarkan pesanan
 Perangkat Lunak Berdasarkan Fungsional
 Interfacing
 Operating System
 Perangkat Lunak Aplikasi
 CASE Tools – – – – – –
Macam-Macam Perangkat Lunak
 Perancang
dan analis sistem terlibat dalam tim
pengembangan perangkat lunak dan harus mengetahui
bagaimana program ini dikode dan bagaimana hasil
akhirnya.
 Untuk itu diperlukan keterampilan pengorganisasian dalam
tim proyek. Pengorganisasian proyek pengembangan
perangkat lunak memerlukan komunikasi, integrasi dan
koordinasi yang baik. Pengorganisasian tim pemrograman
menggunakan pendekatan organisasional.
Mengorganisasi Proyek Pengembangan
perangkat lunak
 Tiga cara untuk mengorganisasi tim pemrograman, yaitu :
Tim Pengembangan Program ( Program development team)
2. Tim programmer kepala (chief programmer team)
3. Tim pemrograman bersama (Egoless programming team)
1.
Pendekatan Organisasional
 tersusun atas 2 perancang, 1 pengkode, 2 penguji. Interface dan lintasan
komunikasi berada antara perancang dan pengkode, pengkode dan penguji,
perancang dan penguji. Interface dan lintasan komunikasi ke manajer tim
hanya memberikan rekapitulasi dan informasi kinerja karena manajer tidak
terlibat langsung dalam pekerjaan yang sebenarnya. Jadi total interface dan
lintasan komunikasi ada lima, dan satu interface manajemen.
Tim Pengembangan Program
• terdiri dari lima programmer pendukung mempunyai lima interface dan
lintasan komunikasi, dan lebih mungkin memenuhi deadline yang ketat
Tim programmer kepala
 terdiri dari lima programmer. Jumlah interface dan lintasan
komunikasi = n(n-1)/2= 5(5-1)/2=10
Tim pemrograman bersama
 Perangkat yang digunakan adalah teknik tinjauan dan
evaluasi program (PERT)
 PERT : untuk menentukan rangkaian atau urutan
pelaksanaan tugas pengembangan perangkat lunak dan
untuk mengestimasikan lamanya waktu yang diperlukan
dari awal
sampai selesainya pelaksanaan tugas
Merencanakan
proyek
Siklus
pengembangan perangkat lunak
Hidup
 Identifikasi semua tugas
 Mengestimasi waktu
 Menetapkan rangkaian tugas
 Menentukan jalur kritis
Langkah menyusun jaringan PERT
Contoh..
Penjadwalan
PERT
Project Investment
 Software Development Management (terdiri dari banyak fungsi dan
tim), yaitu
1. Software Project Manager:
pertama berhubungan dengan konsumen, menetapkan anggaran dan
jadwal pelaksanaan proyek perangkat lunak.
2. Software Engingeering Analyst
berhubungan dengan konsumen secara lebih rinci; bertugas
mendeskripsikan atau menggali fungsi dan unjuk kerja software yang
akan dibangun.
Designer : bertugas merancang algoritma/prosedur yang tepat
untuk fungsi tersebut disesuaikan dengan hardware atau software
pendukung yang ada.
Programmer : mengimplementasikan algoritma dalam bentuk
kode-kode program menggunakan bahasa pemograman.
Fungsi dalam Pengembangan
Perangkat Lunak
3.
Software Configuration Management : memantau fungsifungsi/prosedur prosedur yang telah ditentukan, mencatat
konfigurasi pada tahap-tahap/ waktu tertentu berdasarkan
kenyataan yang ada.
System Administrator : bertugas melakukan pengelolaan
terhadap
sistem pada saat diimplementasikan.
4. Software Quality
Software Test Engineer : bertugas melakukan pengujian
sistem.
Software Quality Assurance: bertugas melakukan pengawasan
apakah software yang dibangun telah berjalan sesuai dengan
fungsi dan kebutuhannya
Dokumen Rencana Pengembangan
Perangkat Lunak (RPPL)
• Tahapan Rancangan Perangkat Lunak
• 2 Pendekatan rancangan perangkat lunak
• Rancangan perangkat lunak terstruktur
• Rancangan perangkat lunak berorientasi objek
Tahap rancangan perangkat lunak :
Tahapan Perancangan PL
Orientasi pada Proses dan Data
Alat perancangan perangkat lunak terstuktur :
•
•
•
•
•
•
Kamus data
Model data logik
ERD
DFD
STD
Bagan terstruktur
Perancangan Terstruktur
Adalah Strategi perancangan dimana perancang sistem
memikirkan ‘benda’ dan bukan operasi atau fungsi.
Orientasi pada Obyek
Alat yang digunakan : DFD, ERD, STD,Bagan
Terstruktur, SE/Pseodocode
Tahapan:
• Mendeskripsikan Obyek, Kelas, Atribut dan Daftar Operasi
• Memodelkan relasi antara Obyek dan Kelas
• Memodelkan Pewarisan
Rancangan Perangkat
Lunak Berorientasi Obyek
Objek
• Memberi identitas kepada orang atau benda
• Merepresentasikan entitas dari aplikasi yang dirancang
Kelas Objek
• Dibuat untuk menurut definisi kelas objek
• Definisi kelas objek berfungsi sebagai template untuk
membuat objek
Objek dan kelas objek
•
•
•
•
•
Mendefinisikan Konteks sistem dan model penggunaan
Merancang arsitektur sistem
Mengidentifikasi obyek utama sistem
Mengembangkan model desain
Menspesifikasi interface obyek
Tahapan perancangan
berorientasi objek
TERIMA KASIH