Title: Masalah Perangkat Lunak
1- Masalah Perangkat Lunak
- Proses Perangkat Lunak
2Perangkat lunak (software)
- Perangkat lunak (software) komputer adalah suatu
perangkat yang berisi serangkaian instruksi,
program, prosedur, pengendali, pendukung, dan
aktifitas-aktifitas pengolahan perintah pada
sistem komputer. Jadi software merupakan komponen
abstrak dari susunan sistem komputer. Tanpa
software, komputer adalah rongsokan elektronik,
jadi komputer adalah susunan atas hardware dan
software yang saling bekerjasama. Hardware
komputer akan hidup dan memiliki fungsi jika
digunakan bersama-sama dengan software-nya. - Secara umum fungsi dari software komputer yang
utama adalah - Melakukan aktifitas bersama-sama dengan hardware
- Menyediakan segala sumber daya yang bisa
digunakan pada sebuah komputer - Bertindak sebagai perantara antara pengguna
(user) dengan perangkat keras (hardware) untuk
melakukan aktifitas dengan perintah yang harus
dilakukan dalam software komputer.
3Struktur Software Komputer
Mengelola dan mendukung operasi sistem komputer
dan jaringan
- Software Suites
- Web Browser
- Electronic Mail
- Pengolah Kata
- Lembar Kerja
- Database Managers
- Presentasi Grafis
- Personal Information Manager
- GroupWare
- - Bisnis Akuntansi, pengolah transaksi,
Perencanaan sumber daya perusahaan, perdagangan
elektronik, dll - - Ilmu pengetahuan dan teknik
- Pendidikan, Entertainment, dll
- Sistem Operasi
- Program pengelola jaringan
- DBMS (database management system)
- Sistem Utilitas
- Monitoring Unjuk kerja Sistem
- Monitoring Keamanan
- Bahasa Program Translator (compiler)
- Pemrograman Editor dan Tools
- Paket CASE (Computer Aided Software Engineering)
4Tujuan Rekayasa Perangkat Lunak
- Diharapkan setelah mempelajari materi ini
mahasiswa dapat mengetahui dan memahami - Bagaimana melakukan rekayasa terhadap sebuah
perangkat lunak. - Siklus kehidupan perangkat lunak.
- Analisa kebutuhan untuk mengembangkan suatu
perangkat lunak. - Merancang suatu perangkat lunak sesuai life
cycle. - Mengintegrasikan perangkat lunak yang akan/telah
dibuat. - Melakukan pengujian dan debugging terhadap
perangkat lunak.
5Beli langsung
Generik
Beli Modifikasi
Kebutuhan
Perangkat lunak
Sumber daya sendiri
Menyerahkan ke pihak lain
Pesanan
Sewa SDM
6Definisi Rekayasa Perangkat Lunak
- RPL secara umum disepakati dari terjemahan
Software Engineering yang mulai populer tahun
1968 pada Software Engineering Conference oleh
NATO. - pengertian RPL sendiri yaitu disiplin ilmu yang
membahas seluruh aspek produksi perangkat lunak
dari tahap analisa kebutuhan user, menentukan
spesifikasi kebutuhan user, disain pengkodean,
pengujian, hingga kepemeliharaan sistem setelah
dipakai. - jadi jelas RPL bukan hanya pembuatan tapi juga
semua aspek dalam pembuatan suatu software.
7- Tahapan Pengembangan Sistem secara umum
- Perencanaan
- Analisis
- Perancangan
- Implementasi
- pemeliharaan
- Aspek produksi perangkat lunak dari
- Tahap analisa kebutuhan user,
- Menentukan spesifikasi kebutuhan user,
- Disain pengkodean,
- Pengujian , hingga
- Pemeliharaan
8(No Transcript)
9System Development Proses
- Peningkatan keuntungan perusahaan
- Pengurangan biaya bisnis
- Biaya dan keuntungan sistem
- Peningkatan pangsa pasar
- Perbaikan relasi pelanggan
- Peningkatan efisiensi
- Perbaikan pembuatan keputusan
- Pemenuhan peraturan lebih baik
- Kesalahan lebih sedikit
- Perbaikan keamanan
- Kapasitas lebih besar
- Libatkan Pengguna Sistem
- Gunakan Pendekatan Pemecahan Masalah
- Bentuklah Fase dan Aktivitas
- Dokumentasikan Sepanjang Pengembangan
- Bentuklah Estándar
- Kelola Proses dan Proyek
- Membenarkan System Informasi sebagai Investasi
Modal - Jangan Takut untuk Membatalkan atau Merevisi
Lingkup - Bagilah dan Takhlukkan
- Desainlah Sistem untuk Pertumbuhan dan Perubahan
10Perkembangan Pengembangan Perangkat Lunak
Indonesia
11Temuan Survey Global
- Temuan 1 Negara dengan pertumbuhan TI yang
cepat memiliki pertumbuhan ekonomi yang cepat
pula. - Temuan 2 Sektor TI tumbuh melalui pengeluaran
di bidang software dan layanan TI - Untuk itu Pertumbuhan industri software lokal
akan mendorong tidak hanya pasar TI tapi juga
pertumbuhan ekonomi yang lebih baik
12Perkembangan Industri TI di Indonesia
2001 Indonesia Singapore Malaysia India China
Revenue ( Juta) (Growth) 903 3.228 (46,72 ) 2.137 (32,91 ) 4.778 (111,69 ) 19.567 (312,80 )
of GDP 0,6 3,68 2,4 0,96 1,67
IT Companies 5.023 3.777 5.431 16.530 42.842
IT Employees 113.017 87.285 141.610 561.357 1.736.831
Source dari IDC
Pertumbuhan TI di Indonesia sungguh sangat
tertinggal Dibandingkan dengan hasil yang
dicapai di negara Tetangga
13Perkembangan Industri TI di Indonesia
2005 Indonesia Singapore Malaysia India China
Revenue ( Juta) Growth 1.720 (90,47 ) 5.226 (61,89 ) 3.739 (74,96 ) 12.025 (151,67 ) 50.520 (158,18 )
of GDP 0,7 4,74 3,36 1,89 2,91
IT Companies 7.141 4.874 7.374 26.648 71.954
IT Employees 164.250 129.220 224.967 1.181.735 3.742.964
Source dari IDC
Apakah kita dapat mencapai hasil yang LEBIH BAIK
lagi ? Dengan IKLIM USAHA yang lebih baik dapat
dicapai hasil yang lebih baik
14(No Transcript)
15(No Transcript)
16Jumlah pengembang software maupun penyedia
layanan TI yang masuk dalam keanggotaan ASPILUKI
kini ada 218 perusahaan. Sebagian besar bermain
di sektor software perbankan dan jasa keuangan.
Hal ini dapat dimaklumi mengingat belanja TI
tertinggi masih dipegang sektor perbankan dan
jasa keuangan, disusul sektor pemerintahan,
manufaktur, pertambangan, serta minyak dan gas.
Perusahaan di sektor perbankan dan jasa keuangan
masih mendominasi belanja telematika 2011 yang
diperkirakan mencapai US 9 miliar lebih atau
sekitar Rp 82,7 triliun.
17(No Transcript)
18Dari segi sumber daya manusia, Indonesia tidak
kalah bersaing dengan luar negeri. Sebuah survei
yang diadakan pada 2009 mengenai kualitas teknisi
Indonesia, kualitas SDM Indonesia ada peringkat
14 dari 50 negara. Sedangkan dari segi harga,
Indonesia termasuk paling kompetitif, peringkat
dua setelah Vietnam. Namun dari sisi lingkungan
bisnis, terlempar di peringkat 49. Kalau melihat
kualitas dari dunia akademis sebenarnya juga
sudah cukup baik. Sayangnya kualitas yang cukup
baik itu tidak dibarengi dengan kuantitas SDM.
Setiap tahunnya ada 115 ribu orang lulusan
teknik, namun hanya 35 ribu orang yang bisa
disebut lulusan teknologi informatika. Angka
tersebut jauh dibandingkan dengan China yang
mampu mencetak 600 ribu orang lulusan teknik
informatika tiap tahunnya. India sekitar 350 ribu
orang dan AS dalam kisaran 70 ribu.
19Tantangan Perkembangan Industri Software Indonesia
- Pembajakan Berdasarkan Direktur Pemasaran BSA (
Bussines Software Alliance ) mengatakan sebanyak
84 dari 100 komputer diperkirakan software
bajakan. - Keterbatasan pengetahuan dalam software
development. - Kurangnya ide dalam produk dan inovasi.
- Kurangnya keterlibatan pemerintah untuk
melindungi pengembang software lokal. - Keterbatasan modal usaha.
20REKAYASA PERANGKAT LUNAK
- RPL atau Software Engineering (SE) ? Disiplin
ilmu yang membahas semua aspek produksi perangkat
lunak, mulai dari tahap awal spesifikasi sistem
sampai pemeliharaan sistem setelah digunakan. Ada
2 istilah kunci disini - disiplin rekayasa ? Perekayasa membuat suatu
alat bekerja. Menerapkan teori, metode, dan alat
bantu yang sesuai, selain itu mereka
menggunakannya dengan selektif dan selalu mencoba
mencari solusi terhadap permasalahan. - semua aspek produksi perangkat lunak ? RPL
tidak hanya berhubungan dengan proses teknis dari
pengembangan perangkat lunak tetapi juga dengan
kegiatan seperti Manajemen proyek PL dan
pengembangan alat bantu, metode, dan teori untuk
mendukung produksi PL.
21REKAYASA PERANGKAT LUNAK
- Rekayasa perangkat lunak (software engineering)
adalah suatu proses rancang bangun. Beberapa
definisi tentang rekayasa perangkat lunak - Pembentukan dan penggunaan prinsip rekayasa
(engineering) untuk mendapatkan perangkat lunak
secara ekonomis namun andal dan dapat bekerja
secara efesien pada komputer (Fritz Bauer, 1968).
- Penerapan pendekatan yang sistematis, disiplin,
dan terukur untuk pengembangan, operasi, dan
pemeliharaan perangkat lunak (IEEE, 1993). - Suatu disiplin yang mengintegrasikan
proses/prosedur, metode, dan perangkat tools
untuk pembangunan perangkat lunak komputer
(Pressman, 97). - Merupakan aplikasi dari prinsip-prinsip sains
untuk - Mengurutkan transformasi masalah menjadi solusi
yang dapat bekerja dengan baik - Urutan pemeliharaan perangkat lunak tersebut
sampai tidak dapat digunakan lagi (Alan M. Davis)
- Proses RPL dimulai jauh sebelum Coding
dilakukan dan berlanjut terus setelah versi awal
dari program selesai dikerjakan.
22Sejarah Pekayasa Perangkat Lunak
Sejarah masuknya mata kuliah Rekayasa Perangkat
Lunak ke perguruan tinggi dikarenakan telah
terjadinya krisis Perangkat Lunak pada tahun
1960-an. Hal ini dipicu oleh banyaknya kegagalan
produksi Perangkat Lunak sehingga anggaran dana
pun semakin menipis dan faktor lainnya. Selain
itu, pada masa itu juga Rekayasa Perangkat Lunak
hanya menjadi konsumsi bagi kalangan bisnis dan
cuma berkembang di kalangan bisnis (jalan di
tempat). Untuk itulah diadakan pertemuan dan
akhirnya dimasukkanlah Rekayasa Perangkat Lunak
di perguruan tinggi sebagai mata kuliah dengan
harapan akan berkembang di masa mendatang.
Kinerja
Biaya
Waktu
23MENGAPA RPL?
- Perangkat lunak dibuat supaya bisa digunakan
(oleh pemakai) untuk membantu menyelesaikan
masalah/ pekerjaan. - Perangkat lunak digunakan oleh pemakai di
lingkungan operasional dengan teknologi tertentu
sebagai bagian dari sistem yang lebih besar. - Perangkat lunak yang dibuat harus memenuhi apa
yang diinginkan oleh pemakai (bukan yang
diinginkan developer), ekonomis (memberikan
keuntungan bagi developer), dan andal (dapat
digunakan dalam jangka waktu yang lama).
24KAPAN RPL ?
- Ukuran perangkat lunak besar
- Cakupan atau ruang lingkup persoalan luas dan
dalam. - Kompleksitas masalah dan tingkat kekritisan
tinggi. - Melibatkan banyak personal pelaksana.
- Waktu dan anggaran pengembangan terbatas.
25MANFAAT RPL
- Perangkat lunak yang dihasilkan sesuai dengan
kebutuhan yang diinginkan. - Perangkat lunak dapat digunakan dan beroperasi
dengan benar di lingkungan sebenarnya. - Perangkat lunak memberikan manfaat bagi pemakai
yang menggunakannya. - Biaya yang dikeluarkan untuk membuatnya rendah
(efisien), efektif dan sesuai dengan anggaran
yang telah ditetapkan. - Tepat waktu, baik saat pembuatan, penyerahan ke
pemakai, maupun instalasinya. - Setiap tahap pekerjaan terjamin kualitasnya,
terdokumentasi, dan dapat dipertanggungjawabkan
kebenarannya (ada proses verifikasi dan validasi).
26Perbedaan Rekayasa Perangkat Lunak dan Ilmu
Komputer
- Ilmu Komputer berhubungan dengan teori dan metode
yang mendasari sistem komputer dan perangkat
lunak. Teori ini merupakan suatu model fisik dan
analitik untuk menyelesaikan kasus yang spesifik. - Rekayasa Perangkat Lunak berhubungan dengan
masalah-masalah praktis untuk menghasilkan suatu
perangkat lunak. Pendekatan dilakukan dengan
model bisnis dan strategi bisnis suatu perangkat
lunak.
27Perbedaan Rekayasa Perangkat Lunak dan Rekayasa
Sistem
- Rekayasa Sistem berhubungan dengan semua aspek
pengembangan sistem berbasis komputer, termasuk
perangkat keras, perangkat lunak dan rekayasa
proses. - Rekayasa Perangkat Lunak adalah bagian dari
Rekayasa Sistem
28Proses Perangkat Lunak
- Proses perangkat lunak adalah serangkaian
kegiatan yang tujuannya untuk mengembangkan atau
evolusi perangkat lunak. - Kegiatan-kegiatan tersebut adalah
- Spesifikasi perangkat lunak,
- Pengembangan perangkat lunak,
- Validasi perangkat lunak,
- Evolusi perangkat lunak
29Perkembangan Software
- Generasi Awal
- Batch orientation
- Custom software
- Generasi Kedua
- Multi-user, Real-time
- Database
- Product software
- Generasi Ketiga
- Distributed systems
- Low cost hardware
- Generasi Keempat
- Desktop systems
- Object Oriented Technologies
- Expert Systems
- AI, neural networks
- Parallel computing
- Network computers
30System Development Proses
- Peningkatan keuntungan perusahaan
- Pengurangan biaya bisnis
- Biaya dan keuntungan sistem
- Peningkatan pangsa pasar
- Perbaikan relasi pelanggan
- Peningkatan efisiensi
- Perbaikan pembuatan keputusan
- Pemenuhan peraturan lebih baik
- Kesalahan lebih sedikit
- Perbaikan keamanan
- Kapasitas lebih besar
- Libatkan Pengguna Sistem
- Gunakan Pendekatan Pemecahan Masalah
- Bentuklah Fase dan Aktivitas
- Dokumentasikan Sepanjang Pengembangan
- Bentuklah Estándar
- Kelola Proses dan Proyek
- Membenarkan System Informasi sebagai Investasi
Modal - Jangan Takut untuk Membatalkan atau Merevisi
Lingkup - Bagilah dan Takhlukkan
- Desainlah Sistem untuk Pertumbuhan dan Perubahan
31Model Pengembangan Sistem
- Model proses perangkat lunak adalah representasi
yang disederhanakan dari proses perangkat lunak
yang dipresentasikan dari sudut pandang tertentu - Paradigma pengembangan model sistem
- Waterfall Development Model
- Evolutionary Development Model
- Spiral Development Model
- Incremental Development Model
32Tujuan Rekayasa Perangkat Lunak
- Meningkatkan keakuratan, performance efficiency
produk secara keseluruhan dalam pengembangan - Menerapkan metodologi yang terdefinisi dengan
baik untuk resolusi software
33TUJUAN REKAYASA PERANGKAT LUNAK
- Memperoleh biaya produksi software yang rendah
- menghasilkan software berkinerja tinggi, handal
dan tepat waktu - menghasilkan software yang dapat bekerja pada
berbagai platform - menghasilkan software dengan biaya perawatan
rendah
34Tujuan dari RPL
- Menghasilkan sebuah perangkat lunak yang
berkualitas. Yang dimaksud dengan berkualitas
dapat dilihat dari tiga sisi, sisi sponsor
(individu atau organisasi yang telah mengeluarkan
biaya dalam pembangunan perangkat lunak), sisi
pemakai (siapapun yang menggunakan perangkat
lunak tersebut), sisi maintainer / modifier (yang
memelihara dan memodifikasi perangkat lunak
tersebut). - Tujuan kedua dari RPL adalah menghasilkan
perangkat lunak dengan biaya yang efisien. - Sedangkan tujuan ketiga dari RPL adalah
menghasilkan perangkat lunak tepat pada waktunya.
35RUANG LINGKUP REKAYASA PERANGKAT LUNAK
- Software requirements berhubungan dengan
spesifikasi kebutuhan dan persyaratan perangkat
lunak. - Software design mencakup proses penentuan
arsitektur, komponen, antarmuka, dan
karakteristik lain dari perangkat lunak. - Software construction berhubungan dengan detil
pengembangan perangkat lunak, termasuk algoritma,
pengkodean, pengujian, dan pencarian kesalahan. - Software testing meliputi pengujian pada
keseluruhan perilaku perangkat lunak. - Software maintenance mencakup upaya-upaya
perawatan ketika perangkat lunak telah
dioperasikan.
36RUANG LINGKUP REKAYASA PERANGKAT LUNAK
- - Software configuration management berhubungan
dengan usaha perubahan konfigurasi perangkat
lunak untuk memenuhi kebutuhan tertentu. - - Software engineering management berkaitan
dengan pengelolaan dan pengukuran RPL, termasuk
perencanaan proyek perangkat lunak. - - Software engineering tools and methods mencakup
kajian teoritis tentang alat bantu dan metode
RPL. - - Software engineering process berhubungan dengan
definisi, implementasi, pengukuran, pengelolaan,
perubahan dan perbaikan proses RPL. - - Software quality menitikberatkan pada kualitas
dan daur hidup perangkat lunak.
37Perkembangan Gaya Komputasi
38PERKEMBANGAN REKAYASA PERANGKAT LUNAK (RPL)
- 1940anKomputer pertama yang membolehkan pengguna
menulis kode program langsung - 1950anGenerasi awal interpreter dan bahasa macro
Generasi pertama compiler Generasi kedua compiler - 1960anKomputer mainframe mulai dikomersialkan
Pengembangan perangkat lunak pesanan Konsep
Software Engineering mulai digunakan
39PERKEMBANGAN REKAYASA PERANGKAT LUNAK (RPL)
- 1970anPerangkat pengembang perangkat lunak
Perangkat minicomputer komersial - 1980anPerangkat Komputer Personal (PC) komersial
Peningkatan permintaan perangkat lunak - 1990anPemrograman berorientasi obyek (OOP) Agile
Process dan Extreme Programming Peningkatan
drastis kapasitas memori Peningkatan penggunaan
internet - 2000anPlatform interpreter modern (Java, .Net,
PHP, dll)Outsourcing
40Permasalahan Perangkat Lunak
41Problem dalam Pembuatan Software
- Tidak memiliki waktu yang cukup dalam
mengumpulkan data pada proses pembuatan perangkat
lunak. - Ketidakpuasan user pada S/W yang dibuat
- Kualitas S/W terkadang meragukan.
- Sulit dalam memaintenance S/W sekarang
42Problem Solving
COMPUTER SCIENCE
CUSTOMER
Fungsi Computer
Teori
Problem
SOFTWARE ENGINEERING
Tools dan Teknik utk Menyelesaikan Problem
43Ongoing Problems (Masalah yang terus menerus ada)
- Kemajuan perangkat keras melebihi kemampuan
membuat software - Kemampuan membangun program baru tidak dapat
memenuhi permintaan program-program baru, begitu
juga kecepatan membangun program tidak dapat
mnegikuti kebutuhan bisnis dan pasar - Penyebaran penggunaan computer telah membuat
kebergantungan masyarakat thdp komputer - Tantangan untuk membangun software dengan
reliability quality yang tinggi - Kemampuan men-support dan meningkatkan program
terancam oleh design yang buruk dan keterbatasan
sumberdaya
44Persyaratan Perangkat Lunak
- Perangkat lunak harus memberikan bantuan dalam
merepresentasikan dan mengakses file-file
eksternal yang dibuat dengan alat bantu lain. - Persyaratan Fungsional dan Non-Fungsional
- Persyaratan User
- Persyaratan Sistem
- Dokumentasi Persyaratan Perangkat Lunak
45Persyaratan Fungsional dan Non-Fungsional
- Persyaratan Fungsional Pernyataan layanan
tentang bagaimana sistem harus bereaksi terhadap
input, sistem harus berlaku pada situasi-situasi
tertentu. Secara khusus menyatakan apa yang tidak
boleh dilakukan sistem. - Persyaratan Non Fungsional Pernyataan tentang
batasan layanan dan fungsi yang diberikan sistem. - Persyaratan Domain Persyaratan yang datang dari
domain aplikasi sistem dan merefleksikan
karakteristik domain tersebut
46Persyaratan Non Fungsional
- Persyaratan Produk persyaratan yang diambil dari
spesifikasi produk, seperti persyaratan hardware
untuk mendukung kinerja. - Persyaratan Organisasi persyaratan yang berasal
dari kebijakan dan prosedur pada organisasi. - Persyaratan Eksternal Persyaratan yang berasal
dari faktor eksternal terhadap sistem dan proses
pengembangannya.
47Ukuran Persyaratan Non Fungsional
- Kecepatan dalam Transaksi yang diproses/detik,
waktu tanggal user/event atau waktu refresh layar - Ukuran dalam KB atau jumlah Chip RAM
- Kemudahan penggunaan dalam waktu pelatihan atau
jumlah frame help - Kehandalan dalam waktu rata-rata kegagalan,
probabilitas ketidaksediaan, kecepatan terjadinya
kegagalan, atau ketersediaan - Ketahanan dalam waktu start ulang setelah
kegagalan, prosentase event yang gagal, atau
probabilitas korupsi data - Portabilitas dalam prosentase pernyataan
tergantung target, atau jumlah sistem target
48Persyaratan User
- Mendeskripsikan persyaratan fungsional dan
non-fungsional sehingga dapat dipahami oleh user
yang tidak memiliki pengetahuan teknik. - Persyaratan user harus ditulis memakai bahasa
natural, formal dan diagram intuitif yang
sederhana. Persyaratan user tidak boleh
didefinisikan memakai model implementasi. - Masalah yang sering muncul
- Tidak Adanya Kejelasan
- Kesimpang-siuran Persyaratan
- Penggabungan Persyaratan
49Persyaratan Sistem
- Persyaratan sistem ini lebih rinci dari
persyaratan user, dan berfungsi sebagai dasar
kontrak untuk implementasi sistem. - Persyaratan sistem ini digunakan sebagai titik
awal perancangan sistem. - Bahasa natural banyak digunakan dalam
mendefinisikan persyaratan sistem
50Pentingnya Evolusi Perangkat Lunak
- Perusahaan akan memberikan investasi yang besar
pada sistem perangkat lunak mereka karena
merupakan aset bisnis yang vital. - Untuk mempertahankan nilai aset tersebut untuk
bisnis, sistem perangkat lunak harus diubah dan
diperbaharui. - Mayoritas anggaran perangkat lunak dalam
perusahaan besar dikhususkan untuk memperbarui
perangkat lunak yang telah ada daripada
mengembangkan perangkat lunak baru.
51Alasan Perangkat Lunak Berevolusi
- Kebutuhan cenderung berevolusi ketika sistem
sedang dikembangkan karena lingkungannya berubah.
Oleh karena itu, sistem yang dikirim tidak akan
memenuhi harapan pengguna. - Sistem terkait erat dengan lingkungannya. Bila
sistem dipasang di suatu lingkungan, sistem itu
mengubah lingkungan nya sehingga perubahan juga
terjadi pada kebutuhan sistem.
52Pendorong Perangkat Lunak Berevolusi
- Faktor Eksternal
- Lingkungan Sistem, meliputi
- Inovasi Kompetitor
- Ancaman Keamanan
- Meningkatnya Bandwith
- Mobilitas
- Legislasi (pengaruh dari pemerintah)
- Perubahan Ekspektasi Pengguna, meliputi
- Fungsionalitas
- Usability
- Keandalan
- Waktu Respon
- Faktor Internal
- Kebutuhan Sistem yang Berubah-Ubah
- Peraturan dan Prosedur Perusahaan
- Proses Bisnis
- Pergantian Sasaran Pengguna
- Kondisi Operasional
- Perbaikan bug
- Perangkat Keras Baru
- Pengingkatan Fitur Umum
- Waktu Hidup
- Degradasi Performa
- Teknologi Kuno
- Kompleksitas Berkembang di Luar Perkiraan
53MITOS PERANGKAT LUNAK
- Mitos dalam perangkat lunak berbeda dengan
mitos-2 kuno. Mitos dalam PL memiliki sejumlah
atribut yang membuat mereka tersembu-nyi dan
berbahaya. Ada beberapa mitos dalam PL yang masih
tetap dipercaya.
- .Mitos Manajemen
- Mitos Kita sudah memiliki buku-2 yang memenuhi
SOP untuk buat PL. Apa ini - tidak membantu staf saya ?
- Kenyataan Apakah buku-2 tsb mencerminkan
perangkat lunak modern? - 2. Mitos Staf saya memiliki alat pengembang PL
terkini. OSI saya membeli - komputer terbaru untuk mereka
- Kenyataan Hardware tidak membantu, krn yang
penting adalah CASE untuk - mencapai kualitas dan produktivitas
54MITOS PERANGKAT LUNAK
2. Mitos Pelanggan Mitos Kebutuhan proyek
berubah-rubah terus dan pasti nantinya dapat
mengakomodir perubahan, karena PL
bersifat fleksibel kan ? Kenyataan
Perubahan-2 tsb akan berdampak ke bagian lain
(lihat gambar 1.5) 3. Mitos para Praktisi
Mitos Satu-2 nya yang dapat disampaikan untuk
sebuah proyek yang sukses adalah
bahwa program itu bekerja Kenyataan
Program yang bekerja hanya salah satu bagian
dalam PL, tapi masih ada
hal seperti dokumen, data, dokumentasi
55Sasaran Proyek dan 3 Kendala (Triple Constraint)
Setiap Proyek memiliki tujuan khusus, didalam
proses pencapaian tujuan tersebut ada 3
constraint yang harus dipenuhi, yang dikenal
dengan Trade-off Triangle atau Triple Constraint
MUTU
ANGGARAN
JADWAL
56Sasaran Proyek dan 3 Kendala (Triple Constraint)
MUTU
BIAYA
Sesuai Anggaran Tidak harus dicairkan sekaligus
Sesuai Target
WAKTU
On Time Delivery per Modul / Process / Phase
57- Anggaran (Cost)
- Proyek harus diselesaikan dengan biaya yang tidak
melebihi anggaran. - Untuk proyek-proyek yang melibatkan dana dalam
jumlah yang besar dan jadwal bertahun-tahun,
anggaran bukan hanya ditentukan untuk total
proyek atau per periode tertentu (misalnya per
kwartal) yang jumlahnya disesuaikan dengan
keperluan. - Dengan demikian penyelesaian bagianbagian proyek
pun harus memenuhi sasaran anggaran per periode.
58- Mutu (Quality)
- Produk atau hasil kegiatan proyek harus memenuhi
spesifikasi dan kriteria yang dipersyaratkan. - Sebagai contoh, bila hasil kegiatan proyek
tersebut berupa instalasi pabrik, maka kriteria
yang harus dipenuhi adalah pabrik harus mampu
beroperasi secara memuaskan dalam kurun waktu
yang telah ditentukan. - Jadi, memenuhi persyaratan mutu berarti mampu
memenuhi tugas yang dimaksudkan atau sering
disebut sebagai fit for the intended use.
59- Waktu (Time)
- Proyek harus dikerjakan sesuai dengan kurun waktu
dan tanggal akhir yang telah ditentukan. - Bila hasil akhir adalah produk baru, maka
penyerahannya tidak boleh melewati batas waktu
yang telah ditentukan. - Walaupun secara teoritis pelaksanaan proyek harus
tepat waktu, namun sering terjadi pada waktu
pelaksanaannya tidak berjalan sebagaimana yang
diharapkan. - (Soeharto,I. 1995)
60Biaya Rekayasa Perangkat Lunak
- Umumnya sekitar 60 untuk biaya pengembangan
(development) dan 40 biaya pengujian (testing). - Distribusi biaya yang tepat selama proses
perangkat lunak bergantung pada proses yang
digunakan dan jenis perangkat lunak yang
dikembangkan.
61Metode-metode RPL
- Pendekatan-pendekatan terstruktur terhadap
pengembangan perangkat lunak mencakup model,
notasi, aturan, saran pengembangan sistem
(rekomendasi), dan panduan proses. - Deskripsi model sistem ? Deskripsi model yang
harus dikembangkan dan notasi yang digunakan
untuk mendefinisikan model-model ini. Ex model
aliran data. - Aturan ? Batasan yang berlaku bagi model sistem.
Ex Setiap entitas pada model sistem harus
memiliki nama yang unik. - Rekomendasi ? Saran dalam membentuk perancangan
yang baik. Ex Tidak ada objek yang memiliki
lebih dari tujuh sub-objek yang berhubungan
dengannya. - Panduan Proses ? Aktifitas yang bisa diikuti
untuk mengembangkan model sistem. Ex Atribut
objek harus didokumentasi sebelum mendefinisikan
operasi yang berhubungan dengan objek.
62CASE (Computer-Aided Software Engineering)
- Mencakup berbagai macam program yang digunakan
untuk mendukung kegiatan PL seperti analisis
persyaratan, pemodelan sistem, debugging, dan
pengujian.
63Tantangan Kunci yang dihadapi RPL ?
- Tantangan Warisan (Legacy) ? Tantangan memelihara
dan meng-update PL sedemikian sehingga biaya yg
berlebihan dapat dihindari dan layanan bisnis yg
penting tetap dilakukan. - Tantangan Heterogenitas ? Tantangan teknik
pengembangan untuk membangun perangkat lunak yang
dapat diandalkan dan cukup flexibel untuk
menghadapi heterogenitas yang ada. - Tantangan Pengiriman ? Tantangan mempersingkat
waktu kirim sistem besar dan kompleks, tanpa
mengurangi kualitas sistem.
64DOKUMEN PERANGKAT LUNAK
- Software Project Management Plan (SPMP)
- Software Requirement Specification (SRS)
- Software Design Description (SDD)
- Software Test Plan (STP)
- Software Test Description (STD)
- Software Test Result (STR)
- Software Version
- User Guide / User Manual