0% menganggap dokumen ini bermanfaat (0 suara)
71 tayangan35 halaman

Pengantar PPLBO dan Rekayasa Perangkat Lunak

Software engineering merupakan proses sistematis untuk mengembangkan perangkat lunak dengan melakukan aktivitas rekayasa seperti analisis, pemodelan, spesifikasi, implementasi, dan validasi. Dokumen ini menjelaskan kontrak kuliah, definisi perangkat lunak dan rekayasa perangkat lunak, model proses generik, serta penerapan aspek komunikasi, perencanaan, pemodelan, konstruksi, dan implementasi dalam proses pengembangan perangkat lunak.

Diunggah oleh

Eka Laras
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PPTX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
71 tayangan35 halaman

Pengantar PPLBO dan Rekayasa Perangkat Lunak

Software engineering merupakan proses sistematis untuk mengembangkan perangkat lunak dengan melakukan aktivitas rekayasa seperti analisis, pemodelan, spesifikasi, implementasi, dan validasi. Dokumen ini menjelaskan kontrak kuliah, definisi perangkat lunak dan rekayasa perangkat lunak, model proses generik, serta penerapan aspek komunikasi, perencanaan, pemodelan, konstruksi, dan implementasi dalam proses pengembangan perangkat lunak.

Diunggah oleh

Eka Laras
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PPTX, PDF, TXT atau baca online di Scribd

Pengembangan Perangkat Lunak

Berbasis Objek (PPLBO)


Introduction
Team Teaching PPLBO
Outline
Kontrak Kuliah
Definisi Software
• Kategori
• Biaya
• Fitur
Definisi Software Engineering
Generic Process Model
KONTRAK KULIAH
Detail PPLBO

2 SKS

6 Jam/Minggu

Menguasai konsep pengantar RPL, SDLC,


Pemodelan Sistem, Pengantar PBO, Desain
Antarmuka, Dasar Pengujian, Pemeliharaan
Perangkat Lunak
Silabus
• Introduction ◦ Physical Data Model
• SDLC Waterfall, ◦ Prototipe User Interface
Prototype ◦ Pengujian
• Software Requirement ◦ Kuis 2
• Pengantar Berorientasi ◦ Pemeliharaan Perangkat
Object (Kodular) Lunak (git)
• Kuis 1 ◦ Proyek Software
• UML : Activity, Use Case requirements
• UML : Class Diagram specification
• UML : Sequence ◦ Proyek SRS
Diagram ◦ UAS
• UTS
Assesment

2X Kuis: 30%
Tugas: 30%
UTS: 20%
UAS: 20%
Referensi dan Software
Refenrensi
1. Roger S. Pressman, Software Engineering A
Practioner's Apporach, 2014
2. John Hunt, 2000, The Unified Process for Practioners:
Object-Oriented Design, UML and Java, Second
Edition, Springer Science & Business Media
Software
1. Star UML
2. Rational Rose
DEFINISI SOFTWARE
Apakah Software (Perangkat
lunak) itu?
Produk yang dibuat oleh software developer dan
dikelola dalam waktu tertentu

Software terdiri dari:


• Instruksi
• Data Struktur
• Dokumentasi
Kategori Software sebagai Produk
Generik Produk
• Sistem yang dipasarkan dan dijual untuk komputer secara
umum
• Contoh : Microsoft Office, Photoshop
Custom Produk
• Sistem yang dibuat berdasarkan kebutuhan pengguna
• Contoh : Sistem Pelaporan, Sistem IOT penyiram tanaman
Kenapa Software Penting?
Perkembangan ekonomi negara maju tidak dapat
dipisahkan dari software
Banyak sistem yang dikelola dengan menggunakan
software (transportasi, medis, militer dan hiburan)
Software engineer membuat inovasi (teori, metode
dan alat) yang dapat digunakan profesional
developer
Biaya pada Sotfware
Biaya software selalu mendominasi biaya komputer
secara keseluruhan.
• Biaya software lebih dari biaya hardware
Biaya lebih banyak digunakan untuk mengelola
software dari pada untuk membuatnya.
Software engineering berkaitan dengan
pengembangan software yang hemat biaya.
Fitur pada Software
Hal ini merupakan karakteristik yang membedakan
software yang satu dengan yang lain.
• Software dikembangkan tidak diproduksi seperti di pabrik
sehingga kualitasnya berbeda-beda
• Software tidak “aus” akan tetapi dapat memburuk
(performa turun) karena ada perubahan yang dilakukan.
• Banyak software dikembangkan secara custom, pada era
modern telah menggunakan reuseable components.
Penggunaan VS Performa
Contoh Software ?
1. Sistem software
2. Software teknik/biomedis
3. Software embedded
4. Aplikasi web
5. Kecerdasan Buatan
SOFTWARE ENGINEERING
Software Engineering ?
Definisi IEEE
• Software engineering adalah cara yang sistematis, disiplin,
terukur untuk mengembangkan, mengoperasikan dan
memelihara software

• Sebuah profesi atau pekerjaan di dunia IT yang deskripsi


kerjanya melakukan aktivitas engineering (analisa,
rekayasa, spesifikasi, implementasi, dan validasi) untuk
menghasilkan produk berupa perangkat lunak yang
digunakan untuk memecahkan masalah pada berbagai
bidang
Pentingnya Software Engineering
Semakin banyak, individu dan masyarakat
bergantung pada software yang canggih.
• Developer harus mampu menghasilkan sistem yang andal
dan dapat dipercaya secara ekonomis dan cepat.
Untuk jangka panjang, biasanya lebih murah untuk
menggunakan metode dan teknik software
engineering daripada hanya menulis program seolah-
olah adalah proyek pemrograman pribadi.
• Sebagian besar biaya adalah biaya untuk mengubah
perangkat lunak setelah digunakan.
FAQ Software Engineering
Pertanyaan Jawaban
Apakah Software? Software terdiri dari program komputer, struktur data,
dan dokumentasi. Produk perangkat lunak (Software)
dapat dikembangkan untuk pelanggan tertentu atau
dapat dikembangkan untuk pasar umum.
Apakah kriteria Software Perangkat lunak (software) yang baik harus memberikan
yang bagus/bermutu? fungsionalitas dan kinerja yang diperlukan kepada
pengguna dan harus dapat dipertahankan, dapat
diandalkan, dan dapat digunakan.
Apakah definisi software Rekayasa perangkat lunak (Software engineering) adalah
engineering? teknik yang berkaitan dengan semua aspek produksi
perangkat lunak.
Apakah perbedaan Ilmu komputer berfokus pada teori dan fundamental;
antara software rekayasa perangkat lunak berkaitan dengan praktik
engineering dan ilmu pengembangan dan menghasilkan perangkat lunak yang
komputer? bermanfaat.
Kriteria Software yang Bagus
Karakteristik Produk Deskripsi
Maintainability Perangkat lunak harus dicoding sedemikian rupa sehingga
dapat berkembang untuk memenuhi perubahan kebutuhan
pelanggan. Ini adalah atribut penting karena perubahan
perangkat lunak merupakan persyaratan yang tak
terhindarkan dari lingkungan bisnis yang berubah.
Dependability and Ketergantungan perangkat lunak mencakup serangkaian
security karakteristik termasuk keandalan, keamanan, dan
keselamatan. Perangkat lunak yang dapat diandalkan tidak
boleh menyebabkan kerusakan fisik atau ekonomi jika
terjadi kegagalan sistem. Pengguna yang tidak diharapkan
(malicious) seharusnya tidak dapat mengakses atau
merusak sistem.
Efficiency Perangkat lunak tidak boleh menggunakan sumber daya
sistem secara boros seperti siklus memori dan prosesor.
Karenanya efisiensi mencakup responsif, waktu
pemrosesan, pemanfaatan memori, dll.
Acceptability Perangkat lunak harus dapat diterima oleh tipe pengguna
yang ditarget. Ini berarti bahwa harus dapat dimengerti,
dapat digunakan dan kompatibel dengan sistem lain yang
mereka gunakan.
Layer Software Engineering
tools
methods
process model
a “quality” focus
Setiap pendekatan teknik harus bertumpu pada komitmen organisasi terhadap
kualitas (quality) yang mendorong budaya peningkatan proses yang berkelanjutan
Proses (process) layer sebagai dasar mendefinisikan kerangka kerja dengan
kegiatan untuk menghasilkan software secara efektif. Tetapkan konteks di mana
produk diproduksi, milestones dicapai, kualitas dipastikan baik dan perubahan
dikelola.
Metode (method) menyediakan cara teknis untuk membangun perangkat lunak.
Ini mencakup banyak tugas termasuk komunikasi, analisis kebutuhan, pemodelan
desain, pembangunan program, pengujian dan bantuan (support)
Tools menyediakan suport otomatis dan semi-otomatis untuk proses dan metode
GENERIC PROCESS MODEL
Generic Process Model

Kumpulan kegiatan, tindakan,


dan tugas yang dilakukan
ketika produk akan dibuat.

Komunikasi, Perencanaan, Pemodelan,


Kontruksi, Implementasi

Umbrella Activities membantu tim perangkat


lunak mengelola dan mengendalikan
kemajuan/progress, kualitas, perubahan, dan
risiko.
Proses dalam Pengembangan
Software
Proses adalah kumpulan kegiatan, tindakan, dan
tugas yang dilakukan ketika produk akan dibuat.
• Tidak kaku
• Untuk memilih tidakan dan tugas kerja yang sesuai

Tujuan proses
• memberikan perangkat lunak secara tepat waktu dan
dengan kualitas yang memadai untuk memuaskan
customer yang telah memberikan dana dan yang akan
menggunakannya.
5 Aktivitas Generic Process Framework
1. Komunikasi: berkomunikasi dengan pelanggan untuk
memahami tujuan dan memenuhi persyaratan
2. Perencanaan: membuat ”map" mendefinisikan pekerjaan
dengan menggambarkan tugas, risiko dan sumber daya,
produk kerja dan jadwal kerja.
3. Pemodelan: Buat "sketsa", seperti apa arsitekturnya,
bagaimana bagian-bagian penyusunnya bersatu dan
karakteristik lainnya.
4. Konstruksi: pembuatan kode dan pengujian.
5. Implementasi: Dikirim ke pelanggan yang mengevaluasi
produk dan memberikan umpan balik berdasarkan
evaluasi.
Adaptasi Proses (Process Model)
Prosesnya harus gesit (agile) dan mudah beradaptasi (adaptable)
terhadap masalah. Proses yang diadopsi untuk satu proyek
mungkin jauh berbeda dari proses yang diadopsi dari proyek lain.
Di antara perbedaannya adalah:

•Keseluruhan alur (overall flow) aktivitas, tindakan, dan tugas


•Sejauh mana tindakan dan tugas didefinisikan dalam setiap
kegiatan
•Sejauh mana produk kerja diidentifikasi dan diperlukan
•Cara kegiatan penjaminan kualitas diterapkan
•Cara dimana pelacakan proyek dan kontrol kegiatan diterapkan
•Tingkat kedetailan dan ketelitian suatu proses dijabarkan
•Sejauh mana pelanggan dan stakeholder terlibat dalam proyek
•Tingkat otonomi yang diberikan kepada tim software
•Sejauh mana organisasi dan peran tim ditentukan
Penerapan Software Engineering
Bagaimana penerapan software engineering sesuai
dengan proses komunikasi, perencanaan, pemodelan,
konstruksi dan implementasi ?
George Polya menguraikan inti dari pemecahan
masalah tersebut, yaitu:
1. Understand the problem (komunikasi dan analisis).
2. Plan a solution (pemodelan dan software design).
3. Carry out the plan (pembuatan kode).
4. Examine the result for accuracy (pengujian dan quality assurance).
Prinsip David Hooker untuk
Implementasi Software Engineering
1: The Reason It All Exists: provide values to users
2: KISS (Keep It Simple, Stupid! As simple as possible)
3: Maintain the Vision (otherwise, incompatible design)
4: What You Produce, Others Will Consume (code with
concern for those that must maintain and extend the
system)
5: Be Open to the Future (never design yourself into a
corner as specification and hardware changes)
6: Plan Ahead for Reuse
7: Think! Place clear complete thought before action
produces better results.
Mitos dalam Pengembangan Software
Myth 1: Setelah mengcoding program dan berfungsi,
pekerjaan sudah selesai.
Reality: Semakin cepat Anda mencoding, semakin lama akan
selesai. 60% hingga 80% dari semua upaya dihabiskan setelah
perangkat lunak dikirim ke customer untuk pertama kalinya.
Myth 2: Sampai saya menjalankan program, saya tidak dapat
menilai kualitasnya.
Reality: technical review adalah filter kualitas yang dapat
digunakan untuk menemukan cacat dari software sejak awal
proyek.
Myth 3: software engineering akan membuat kita membuat
dokumentasi yang banyak dan tidak perlu dan akan selalu
memperlambat kita.
Reality: ini bukan tentang membuat dokumen. Ini tentang
menciptakan produk yang berkualitas. Kualitas yang lebih baik
mengurangi pekerjaan yang berulang. Pekerjaan yang
berkurang menghasilkan waktu pengiriman yang lebih cepat.
Studi Kasus
Pompa insulin personal
• Sistem tertanam pada pompa insulin yang digunakan oleh
penderita diabetes untuk mengontrol glukosa darah.
Sistem Kontrol Pompa Insulin
Mengumpulkan data dari sensor gula darah dan
menghitung jumlah insulin diperlukan untuk disuntik
Perhitungan didasarkan pada tingkat perubahan kadar
gula darah.
Mengirim sinyal ke pompa mikro untuk memberikan
dosis insulin yang benar.
Sistem keselamatan pada kondisi kritis (Safety-critical
system) karena gula darah rendah dapat menyebabkan
kerusakan otak, koma, dan kematian; kadar gula darah
tinggi memiliki konsekuensi jangka panjang seperti
kerusakan mata dan ginjal.
Arsitektur Hardware Pompa Insulin
Activity model dari pompa Insulin
Kesimpulan
Software terdiri dari program komputer, struktur
data, dan dokumentasi.
Produk perangkat lunak (Software) dapat
dikembangkan untuk pelanggan tertentu atau dapat
dikembangkan untuk pasar umum.
Software engineering adalah teknik yang berkaitan
dengan semua aspek produksi perangkat lunak.
Terdapat 4 layer pada software engineering
Generic process model terdiri dari 3 bagian utama
To do list
• Install Star UML
• Mempelajari SDLC

Anda mungkin juga menyukai