Materi 1a Kuliah IT-505 PSBO
Materi 1a Kuliah
IT-505 PSBO
©Ayi Purbasari, S.T., M.T.
@Unpas – 2010/2011 Tujuan
- Bagian ini menjelaskan tentang pengertian perangkat lunak dan rekayasa perangkat lunak.
- – Mengetahui arti, karakteristik, dan jenis-jenis perangkat lunak sebagai produk rekayasa perangkat lunak.
- – Memahami tujuan pengggunaan rekayasa perangkat lunak.
- – Mengetahui proses pengembangan perangkat lunak.
- – Mengetahui aktivitas dan model proses pengembangan perangkat lunak.
- – Mengetahui metode pengembangan perangkat lunak .
Defnisi Perangkat
LunakDefnisi Rekayasa
- Rekayasa:
- – Upaya pembentukan produk melalui pendekatan
berkualitas yang sistematis yang berdasarkan sains
dan matematika dalam merancang,
menghasilkan dan mengoperasikan
struktur, mesin, proses atau sistem [Har03]Defnisi Perangkat Lunak .. (1)
- “1) Instruksi (program komputer) yang bila dieksekusi dapat menjalankan fungsi tertentu; 2) Struktur data yang dapat membuat program memanipulasi informasi; dan 3) Dokumen yang menjelaskan operasi dan penggunaan program.” [Pre01]
Defnisi Perangkat Lunak .. (2)
• “Program komputer, prosedur, aturan,
dan dokumentasi yang berkaitan dengannya serta data yang berkaitan dengan operasi suatu sistemkomputer.” The Institute of Electrical
and Electronics Engineers (IEEE) [IEE93]- “Program komputer dan dokumen yang berkaitan dengannya [Som95]
Defnisi Perangkat Lunak .. (3)
- Perangkat Lunak = Program Komputer + Data + Dokumen
- – Program Komputer: Kumpulan instruksi yang apabila dieksekusi oleh sistem komputer akan menjalankan proses atau fungsi tertentu.
- – Data: Struktur data atau basis data yang memungkinkan data yang tersimpan padanya dimanipulasi oleh program.
- – Dokumen: Dokumentasi yang menjelaskan
bagaimana pengembangan, cara instalasi,
penggunaan, dan pemeliharaan program
Defnisi RPL .. (1)
- Rekayasa perangkat lunak merupakan suatu proses rancang bangun perangkat lunak yang menggunakan kaidah-kaidah ilmu, seperti prinsip, konsep, dan metode sehingga dihasilkan perangkat lunak yang berkualitas (dapat digunakan dan beroperasi dengan benar, bermanfaat, serta sesuai dengan kebutuhan yang diinginkan).
- Pembentukan dan penggunaan prinsip rekayasa (engineering) untuk mendapatkan perangkat
lunak secara ekonomis namun andal dan dapat
bekerja secara efsien pada komputer (Fritz Bauer, 1968, [PRE01]).
Defnisi RPL .. (2)
- Suatu disiplin yang mengintegrasikan proses,
metode, dan alat (tools) untuk pembangunan
perangkat lunak komputer. [PRE01] - Suatu yaitu alat bantu (tools), metode dan model proses, dengan kualitas sebagai dasar utamanya. [PRE01]
- Teori, metode, dan alat bantu yang dibutuhkan untuk mengembangkan perangkat lunak. [SOM96]
- Penerapan pendekatan yang sistematis, disiplin dan terukur untuk pengembangan,
operasi, dan pemeliharaan perangkat lunak.
[IEE93]
Defnisi RPL .. (3)
Apa Tujuan RPL? .. (1)
- Fokus dari rekayasa perangkat lunak adalah
kualitas:
- – perangkat lunak yang dihasilkan
sesuai dengan kebutuhan yang diinginkan.
- – dapat digunakan dan beroperasi dengan
benar di lingkungan sebenarnya.
- – memberikan
manfaat bagi pemakai yang menggunakannya.
yang dikeluarkan untuk membuatnya rendah, dalam arti efektif dan sesuai dengan anggaran yang telah ditetapkan.
- – biaya
, baik saat pembuatan, penyerahan ke pemakai, maupun instalasinya.
- – tepat waktu
- – setiap tahap pekerjaan terjamin kualitasnya, terdokumentasi, dan dapat
dipertanggungjawabkan kebenarannya (ada proses verifkasi dan validasi
). Apa Tujuan RPL? .. (2)
• Lebih jauh lagi, rekayasa perangkat lunak harus
mampu
menghasilkan produk perangkat : [IEE93] lunak dengan atribut kualitas
: Perangkat lunak harus memungkinkan
- – Maintainability
untuk dikembangkan sesuai dengan perubahan kebutuhan
pemakai.: Berkaitan dengan rentang karakteristik
- – Dependability
yang mencakup keandalan, keamanan, dan keselamatan.
Perangkat lunak harus tidak menyebabkan kerusakan fsis dan ekonomis saat sistem mengalami kegagalan.
: Perangkat lunak harus efsien dalam
- – Efciency
penggunaan sumber daya seperti memory dan siklus pemroses.
: Perangkat lunak harus mempunyai antarmuka
- – Usability pengguna yang tepat dan dokumentasi yang memadai.
Pengembangan
Perangkat Lunak
Proses Pengembangan Perangkat Lunak
- Pengembangan perangkat lunak didefnisikan sebagai suatu proses dimana kebutuhan pemakai diterjemahkan menjadi produk perangkat lunak melalui suatu rangkaian
aktivitas tertentu sesuai model proses yang
digunakan
Kebutuhan Pemakai Pengembangan Perangkat Lunak Perangkat Lunak
Proses Pengembangan Perangkat Lunak Kumpulan aktivitas Kumpulan aktivitas dengan menggunakan dengan menggunakan pendekatan atau pendekatan atau
Proses teknis tertentu teknis tertentu Otomatisasi
Template Proyek Oramg
Alat Bantu Partisipan Hasil Kumpulan perangkat
Kumpulan perangkat Kode sumber Produk
Kode sumber bantu atau kakas bantu atau kakas executable executable otomatis dan semi- otomatis dan semi- programs , model- programs , model-
Fase Proses Perangkat Lunak
- Software engineering encompasses a process, management techniques, technical methods, and the use of tools.
- – Defnition phase - focuses on
what (information engineering, software project planning, requirements analysis).
- – Development phase - focuses on
how
(software design, code generation, software
testing).- – Support phase - focuses on
change (corrective maintenance, adaptive maintenance, perfective maintenance, preventative maintenance).
Model Proses Perangkat Lunak
- Linear Sequential Model (old fashioned but
reasonable approach when requirements are
well understood) - Prototyping Model (good frst step when customer has a legitimate need, but is clueless about the details, developer needs to resist pressure to extend a rough prototype into a production product)
- Rapid Application and Development (RAD)
Model (makes heavy use of reusable software
components with an extremely short development cycle)
Linear Sequential Model Communication Planning Modeling Construction Deployment
analysis design code test project initiation requirement gathering estimating scheduling tracking delivery support f eedback Iterative Models Communication
Quick plan
Quick design Modeling Deployment & Feedback Delivery prototypeof
ConstructionIterative Models Communication Planning Modeling business modeling data modeling process modeling
Construction component reuse automatic code generation testing Deployment
60 - 90 days Team # 1 Modeling
business modeling data modeling
process modeling Construction component reuse automat ic code generation testing Mo d e lin g business modeling data modeling process modeling Co n st ru ct io n component reuse automatic code generation testing Team # 2
Team # n integration delivery feedback The Incremental Model increment # n C o m m u n i c a t i o n P l a n n i n g M o d e l i n g des ign analys is C o n s t r u c t i o n c ode D e p l o y m e n t t es t f e e d b a c k d e l i v e r y increment # 2 C o m m u n i c a t i o n P l a n n i n g M o d e l i n g analys is
C o n s t r u c t i o n
delivery of nth increment increment # 1 C o m m u n i c a t i o n P l a n n i n g M o d e l i n g des ign t es t c ode D e p l o y m e n t d e l i v e r y f e e d b a c k delivery of 2nd increment des ign analys is C o n s t r u c t i o n t es t c ode f e e d b a c k d e l i v e r y D e p l o y m e n t 1st increment delivery of project calendar timeMetode Pengembangan Perangkat Lunak
• Metodologi adalah kesatuan metode-metode,
prosedur-prosedur, konsep-konsep pekerjaan, aturan-aturan yang digunakan oleh suatu ilmupengetahuan, seni atau disiplin yang lainnya.
• Metode adalah suatu cara, teknik yang
sistematik untuk mengerjakan sesuatu.• Metode pengembangan perangkat lunak disini
adalah pendekatan, sudut pandang, atau kumpulan aturan yang harus diikuti untuk menyelesaikan tahap-tahap pekerjaan saat melaksanakan pengembangan perangkat lunak.
Beberapa Metode
• Ada beberapa pendekatan atau
metode yang sudah dikenal:- – Konvensional,
- – Berorientasi Aliran Data,
- – Berorientasi Data dan – Berorientasi Objek.
- Metode ini berbeda
Paradigma! Paradigma
- Cara pandang spesifk
dalam usaha pencarian solusi
- Menyangkut
Konseptualisasi
permasalah dan solusi
- – Bukan urutan aktivitas penyelesaian solusi
Paradigma Konvensional
- Dekomposisi berdasarkan
fungsi
- Contoh:
- – Sistem Akademik
- Fungsi Pengajaran
- – Sub Fungsi Perwalian – Sub Fungsi Pembelajaran – Sub Fungsi Evaluasi
- Fungsi Penelitian
Paradigma Konvensional
- Structured Analysist • Modern Structured Analysist • Algoritma + Data Struktur = Program
Niklaus Wirth Tom DeMarco Edward Yourdon Paradigma Berorientasi Objek
- Dekomposisi berdasarkan
objek
- Objek = things
- Contoh:
- – Sistem Akademik
- Objek Dosen • Objek Mahasiswa • Objek Jadwal • Dll
Berorientasi Objek .. (1)
• Berbeda dengan pendekatan-pendekatan
sebelumnya, metode berorientasi objek memandang perangkat lunak yang akan dikembangkan sebagai
suatu kumpulan yang berkorespondensi dengan objek- objek objek dunia nyata.
- – Pada metode ini, informasi dan proses yang dipunyai oleh suatu objek “dienkapsulasi” (dibungkus) dalam satu kesatuan.
- – Gambar berikut menunjukkan cara pandang metode berorientasi objek dibandingkan dengan metode berorientasi fungsi.
Berorientasi Objek ..
(2)
dosen
mahasiswa materi kuliahContoh : Pengembangan P/L untuk mengolah data perkuliahan pada suatu sisitem
Berorientasi Objek .. (3)
Sistem Akademik Sistem Akademik
Dekomposisi berdasarkan objek atau konsep Dekomposisi berdasarkan fungsi atau proses
Dosen Jadual Kuliah Mahasiswa KontrakKuliah Dosen Jadual Kuliah Mahasiswa Berorientasi Objek ..
(4) Abstraksi dan Pemodelan :
Objek Dosen Kelas Dosen
Atribut
Kode_Dosen Diabstraksikan Nama_Dosen Pendidikan menjadi …….
Metode
Rekam ( ) Search ( ) Retrieve ( )
Berorientasi Objek .. (5)
• Beberapa teknik pengembangan perangkat
lunak yang berorientasi objek ini diantaranya adalah:- – Object Oriented Analysis (OOA) dan Object Oriented Design (OOD) dari Peter Coad dan Edward Yourdon (1990).
- – Object Modeling Technique (OMT) dari James Rumbaugh, Michael Blaha, William Premerlan, Frederick Eddy dan William Lorensen (1991).
- – Object Oriented Software Engineering (OOSE) dari Ivar Jacobson (1992).
- – Metode Booch dari Grady Booch (1994).
- – Syntropy dari Steve Cook dan John Daniels (1994).
Paradigma Berorientasi Objek
- Coad-Yourdon, 1990-1991
- Rumbaugh: Object Modelling Technique, 1991
- Jacobson: Object Orie
- Metho
Software Engineering, 1992
- Booch, 1991
d WAR!
- Beck-Cunningham, 1994
UML
Paradigma Berorientasi Objek
- Gagasan Berorientasi Objek dimaksudkan untuk diterapkan di semua tahap pengembangan perangkat lunak,
termasuk analisis, perancangan, implementasi dan digunakan dan pemeliharaan, untuk menurunkan kesenjangan antara langkah-langkah yang perlu dilalui dalam pengembangan perangkat lunak.
Bertrand Meyer
Paradigma Berorientasi Objek
OOP OOAD OOT