REKAYASA PERANGKAT LUNAK
Software
- Intruksi – intruksi ( computer program ), jika
dieksekusi memberikan fungsi dan performance yang diinginkan.
- Struktur data yang memungkinkan program untuk
memanipulasi informasi secara tepat
- Dokumen deskripsi dari
program dan penggunaannya.
Rekayasa Perangkat Lunak
Software Engineering
Software Engineering
Adalah
suatu ilmu yang bersifat teknikal dan manajerial, untuk produksi dan
maintenance software, dimana berfungsi untuk pengembangan modifikasi, estimasi
biaya
Aplikasi Perangkat Lunak
1.
System Software
Kumpulan
program yang ditulis untuk membantu program lain. Contoh : OS
2. Real Time Software
PL yang digunakan untuk mengukur / menganalisa /
mengontrol proses pemasukan data dari lingkungan luar sampai menghasilkan
laporan yang sesuai dengan keinginan. Contoh : Program pada pengukuran tutup
botol pada industri minuman
3. Bussines Software
PL yang banyak digunakan
dalam aplikasi bisnis.
4. Engineering and Scientific Software
PL yang digunakan dalam aplikasi teknik dan
rekayasa.
6. Embedded Software
Pl yang
digunakan untuk mengontrol suatu proses dalam pabrik, biasanya disimpan dalam ROM. Contoh :
Program untuk magic jar
7. Personal Computer Software
digunakan dalam
aplikasi komputer mikro. Contoh : Ms. Word, Ms. Excel
8. Artificial Intellegence Software
PL yang digunakan dalam aplikasi kecerdasan buatan.
Contoh : program untuk robot.
9. Web Aplication
Problem Dalam
Pengembangan PL
Software Crisis
Software Crisis
v Estimasi
jadwal dan biaya sering tidak akurat
v Produktivitas
dari orang-orang software tidak sepadan dengan permintaan untuk pelayanan
mereka
v Kualitas
software kurang baik
v Sulit
dalam maintenance
v Kualitas
diragukan
Langkah Kerja Software Engineering
1.
Metode
metode yg digunakan
untuk membuat / mengembangkan PL
Meliputi :
Perencanaan
proyek dan perkiraan, analisis keperluan sistem dan software, perancangan
struktur data, arsitektur program, prosedur algoritma, coding, testing,
pemeliharaan
2. Tools ( alat bantu )
Alat bantu yang digunakan untuk mendukung
pelaksanaan pengembangan / pembuatan PL
ex. Editor,
debugger, compiler
3.
Prosedur
v merupakan
gabungan antara tools dan metode
v Mendefinisikan
metode yang dipakai
v Mengontrol
kriteria kualitas
Daur Hidup Rekayasa Perangkat Lunak
1.
Sistem Engineering
Pembuatan suatu PL merupakan bagian terbesar dari
pengerjaan suatu proyek. Untuk pekerjaan dimulai dengan menetapkan segala hal
yang diperlukan dalam pelaksanaan proyek
2. Analysis
Merupakan
tahap dimana system engineering menganalisa hal-hal yang diperlukan dalam
pelaksanaan proyek pembuatan / pengembangan PL
3. Desain
Merupakan
tahap penerjemahan dari keperluan / data yang telah dianalisis ke dalam bentuk
yang mudah dimengerti user.
4. Kode
Menerjemahkan
data /pemecahan masalah yang telah dirancang
kedalam bahasa pemrograman komputer yang telah ditentukan
5. Testing
Uji coba terhadap
program tersebut
6. Pemeliharaan
PL yang telah selesai dibuat dapat mengalami
perubahan / penambahan sesuai dengan permintaan user.
Rekayasa Sistem Berbasis Komputer
Sistem adalah kumpulan dari elemen elemen ( sub sistem )
yang saling bekerjasama ( berinteraksi ) untuk mencapai tujuan yang sama
Elemen – elemen dalam sistem komputer
1.
Perangkat keras
2.
Perangkat lunak
3.
Manusia
4.
Database
5.
Procedure
6.
Dokumentasi
Beberapa Pertimbangan Dalam Computer System Engineering
1.
Pertimbangan Perangkat Keras
Software
Engineering harus mampu menentukan HW yang diperlukan dalam membangun perangkat
keras.
•
Jenis perangkat keras yang cocok unt pengembangan
PL
•
Biaya & kemampuan HW mudah ditentukan
•
Interface antar komponen mudah dipadukan
•
HW mudah didapat
2. Pertimbangan Perangkat Lunak
- Elemen dalam computer based system terdiri
dari aplication SW, system SW
- Aplication SW merupakan implementasi sejumlah
prosedur yang diperlukan untuk mengerjakan proses informasi
- System SW merupakan implementasi fungsi
kontrol yang memungkinkan aplikasi PL dapat dihubungkan
3. Pertimbangan Manusia
Agar
mampu menjabarkan kebutuhan tenaga manusia dalam pengembangan PL. Unsur manusia
bertanggung jawab terhadap pengembnagan, support, maintenance.
Software Engineering
1.
Software
Engineering Layers
a) Tools
b) Methods
c) Process
d) Quality
Engineering
meliputi kegiatan analisis, desain, konstruksi, verifikasi, dan manajemen
entitas teknik atau social.
General Phase to SE
1.
Definition phase à berfokus pada apa (what)
v Informasi yang akan diproses
v Fungsi dan performance yang dibutuhkan
v Tingkah laku sistem yang diharapkan
v Interface yang akan dibangun
v
Batasan sistem yang sukses
2.
Development phase à berfokus pada ’bagaimana’ (how)
v Data dikonstruksikan
v Fungsi-fungsi dimplementasikan
v Detail prosedur akan diimplementasikan
v Interface dikarakterisasi
v Rancangan akan diterjemahkan ke dalam pemrograman
v Pengujian dilakukan
3.
Maintenance phase à berfokus pada ’perubahan’ (change)
v Dihubungkan dengan koreksi kesalahan
v Ketika lingkungan perangkat lunak berkembang.
v Sehubungan dengan perubahan kebutuhan pelanggan.
Change in Phase Development
a) Correction
(koreksi) : Membetulkan cacat atau kerusakan
b)
Adaptation (adaptasi) : Modifikasi
perangkat lunak karena perubahan kebutuhan fungsional original (CPU, OS, aturan
bisnis, karakteristik produk eksternal dll.)
c)
Enhancement (perkembangan) :
memperluas perangkat lunak sehingga melampaui kebutuhan fungsi originalnya.
d)
Prevention (pencegahan) :
pencegahan sebagai antisipasi perubahan karena usia perangkat lunak.
Software Process Model
1.
Linier Sequential Model
·
Waterfall model
Waterfall Model
Sebuah
pendekatan pengembangan perangkat lunak yang sistematik dan sekuensial.
Disebut
juga classic life cycle
Paradigma
yang sudah lama sekali, tetapi masih banyak yang memakai karena dianggap masih
sesuai dengan keadaan sekarang.
Waterfall Model Diagram
·
V Model
·
RAD Model
RAD Model
RAD =
Rapid Application Development
Adaptasi dari waterfall model yang :
·
Menekankan siklus pengembangan
perangkat lunak yang sangat pendek,
·
Menggunakan pendekatan
konstruksi berbasis komponen.
·
Menciptakan sistem fungsional
yang utuh dalam waktu 60-90 hari
Business modelling
Memodelkan fungsi-fungsi bisnis untuk menjawab
pertanyaan-pertanyaan :
Informasi apa yang mengendalikan proses bisnis? Informasi
apa yang dimunculkan? Kemana informasi itu pergi? Siapa yang memprosesnya?
Data modelling
Aliran informasi yang didefinisikanpada fase business
modelling ditransformasikan ke dalam serangkaian obyek data.
Process modelling
Mentransformasikan obyek data pada suatu fungsi yang
menghasilkan aliran informasi yang dibutuhkan.
Application generation
Mengkonstruksi perangkat lunak dengan memakai komponen
yang ada (bila memungkinkan) atau menciptakan komponen yang dapat dipakai lagi.
Testing and Turnover
Menguji komponen baru.
2.
Prototyping
Prototyping Model
Dipakai jika :
1.
Sistem mempunyai resiko tinggi
-
tidak jelas permasalahannya.
2.
Lebih fokus pada perancangan
dialog user – komputer
-
bagaimana membuat dialog yang
baik, ramah, mudah?
3.
Sistem diminati oleh banyak
pemakai
-
mencari kesepakatan (dasar
untuk menyamakan persepsi)
4.
user ingin cepat selesai
-
user tidak sabar menunggu
-
prototipe segera
memperlihatkan bentuk kerja sistem
5.
masa pakai singkat
- sistem hanya
dipakai beberapa kali saja
6.
Ingin menunjukan inovasi
-pengembang dapat menunjukkan kecanggihan
7.
Kebutuhan berubah-ubah
-User sulit menjelaskan kebutuhan
Prototyping Speciality
1.
Frekuensi komunikasi user –
developer meningkat
· Pengembang akan selalu meminta pendapat user
2.
Membantu analis dalam
· Menentukan kebutuhan user yang sebenarnya
· Meminimalkan salah persepsi
3.
Peran user meningkat
·
Evaluasi oleh user
berkali-kali
·
User bisa memberikan masukan
setiap saat
4.
Pengembangan lebih cepat
·
Program bisa langsung dibuat
·
User melihat perkembangan tahap demi tahap
5.
Implementasi mudah
·
User sudah mengenal perangkat
lunak yang dikembangkan
·
User tidak akan merasa asing
·
Sejak awal user sudah merasa
memiliki.
Prototyping Weaknes
1.
User sibuk
·
User & pengembang harus
sama-sama memiliki komitmen menyediakan waktu untuk bertemu
2.
User sulit melakukan evaluasi
·
Bentuk prototipe sering
berubah, disesuaikan dengan kebutuhan user.
3.
User ingin cepat selesai
·
Bentuk program sudah terlihat
sejak awal
·
User merasa tidak akan lama
lagi selesai.
·
Pengembang sering mengabaikan
dokumentasi.
4.
User berharap terlalu banyak
·
Keseringan evaluasi &
komunikasi membuat user menjadi berubah keinginan dan tidak pasti dengan
kebutuhan
5.
Prototipe bekerja tidak
efisien
·
Lebih mementingkan
keberhasilan.
3
Evolutionary model
a.
Incremental model
b.
Spiral model
c.
Component assembly model
d.
Concurrent development model
4. Formal model
5. Fourth generation techniques
Linier Sequential Model
|
|||||||
MENDESAIN
USER INTERFACE
PRINSIP DESAIN YG BAIK
•
Naturalness/Bersifat Natural
•
Consistency/Bersifat konsisten
•
Minimizing/Bersifat meminimalkan
•
Supportiveness/Memiliki daya dukung (Bantuan)
•
Flexxibility/Sifat fleksibel
BERSIFAT NATURAL
•
Natural menurut desaigner belum tentu sama
naturalnya dg user
•
Dialog yg dibangun harus diusahakan secara
natural/alamiah sesuai dg kebiasaan & kemampuan user
•
Misal :bhs:copy,save,open,printrename mudah
dimengerti dibandingkan : cp,sv,opn,m
BERSIFAT KONSISTEN
•
Konsisten sangat penting utk
menghindari frustasi user
•
Misal 1:
–
Pada windows 1 terdapat
perintah LIST yg berarti daftar menu makanan
–
Pada windows 2 LIST berarti memunculkan laporan utk
dicetak (semacam preview)
•
Misal 2:
–
Pada windows 1 button OK terletak di posisi
bawah-tengah
–
Pada windows 2 button OK terletak di posisi
bawah-kiri
MINIMIZING
•
Setiap dialog yg dibangun harus diupayakan utk
–
Meminimalkan USER ERROR
–
Meminimalkan perubahan data yg
disebabkan oleh USER (sengaja/tidak)
•
Gunakan Default value,jika perlu
•
Jangan terlalu banyak informasi
MEMILIKI DAYA DUKUNG
•
Memiliki
fasilitas/kemampuan asistesi
•
Ada
3 aspek yg perlu diperhatikan:
–
Kuantitas & kualitas institusi
–
Pesan-pesan kesalahan (error message) &
–
Konfirmasi thd apa yg harus
dilakukan
•
Misal:
–
Error message: ”SALAH TANGGAL”
–
Error message: “SALAH TANGGAL,GUNAKAN FORMAT
:DD/MM/YYYY
FLEKSIBEL
•
Diberikan berbagai cara utk
dapat mengakses software
•
Misal:
–
Open file dengan memilih menu FILE-OPEN atau
–
Open file dg memilih icon “MAP TERBUKA”
•
Kemudahan mencari bantuan dari posisi mana saja
GUIDELINES UTK MENU/DIALOG YG
BAIK
Daftar
menu harus berada pada pola penyajian yg benar
=umumnya
user memulai sesuatu dg pola order kiri ke kanan serta atas ke bawah
•
OPEN File diletakan lebih dulu dibandingkan dg SAVE
FILE
•
HELP diletakan paling kanan
krn penggunaannya tidak sesering menu FILE
Daftar
menu/dialog harus berada pada pola pengelompokan yg benar
•
Pengelompokan menu harus logis
& sesuai dg tugasnya
–
Isi Sub menu FILE adl hal-hal
yg terkait dg fasilitas memanipulasi FILE seperti open,save,print,page
setup,dll
•
Pengelompokan dialog perlu dilakukan
–
Dibuat kelompok OPSI utk JENIS KELAMIN yg berisi
Radio button Laki-laki & Perempuan.
•
Shortcut: suatu mekanisme yg memungkinkan pengguna u/ lebih
cepat dlm pengaksesan yg pengimplementasiannya menggunakan tombol” kombinasi
khusus.
LKT :
LEMBAR KERJA TAMPILAN
•
Mrpk alat bantu didalam
mendisain suatu form dan dialog,baik berbasis:
–
Text (TUI: Text Based User Interface)
–
Gambar (GUI: Graphical User Interface)
•
Bagian-bagian LKT:
–
Nomor Lembar Kerja
–
Bagian Tampilan
–
Bagian Navigator
–
Bagian Keterangan
•
Fungsi Bagian-bagian LKT:
–
Nomor Lembar Kerja
Utk
memberikan penomoran berkaitan dg sejumlah tampilan yg ingin dibuat
Dapat
digunakan sebagai nomor pada model jaringan sematik
–
Bagian Tampilan
Utk
menempatkan tools dan teks yg ingin dimunculkan
–
Bagian Navigator Dapat
digunakan utk memberikan penjelasan lebih lanjut bagi user tentang “Bagian
Tampilan” yg dibuat
–
Bagian Keterangan Dapat
digunakan oleh designer utk memberikan penjelasan bagi dirinya sendiri dan
tidak utk diimplementasikan
Dapat digunakan sebagai uang keterangan bagi user &
diimplementasikan
JARINGAN
SEMATIK TAMPILAN
•
Merupakan alat bantu bagi
pemrogram utk dpt bekerja dg banyak tampilan
•
Jaring sematik terdiri dari:
–
Lingkaran (node): menjelaskan windows tampilan
–
Anak panah (arrow): menjelaskan transisi dari satu
node ke node yg lain
Macam
Ragam Dialog
- Command Line Dialog
(Dialog Berbasis Perintah Tunggal)
- Programming Language Dialog (Dialog Berbasis
Pemrograman)
- Natural Language Dialog (Dialog Berbasis
Bahasa Alami)
- Sistem Menu
- Dialog Berbasis Pengisian Borang
- Dialog Berbasis Ikon
- Sistem Penjendelaan
- Manipulasi Langsung
- Antar muka Berbasis Interaksi Grafis
Sistem Menu
•
Terdapat 2 Jenis Menu
- Menu Datar.
Perintah
ditulis dlm bentuk kalimat dg perintah yg jelas, walaupun tdk harus kalimat
lengkap, semua fasilitas sistem sudah tersaji dlm 1 layar
b. MenuTarik (Pulldown / Pull-Up Menu)
•
Terdiri atas menu utama dan
sub menu. Sub menu terdiri atas sub”
menu
•
Perintah ditulis dlm satu kata
/ bila kurang jelas maksimal dalm 2 kata. Disebut menu tarik, krn seolah-olah
kita “memegang” sebuah menu/pilihan dan kemudian “menarik” kebawah/kesamping
(pilldown) u/ melihat submenu dari menu / pilihan tsb.
Tidak ada komentar:
Posting Komentar
Komentarnya ya...