0% menganggap dokumen ini bermanfaat (0 suara)
20 tayangan47 halaman

Rekayasa Perangkat Lunak dan Metodologinya

Kuliah ini membahas tentang rekayasa perangkat lunak, meliputi pengantar rekayasa perangkat lunak, model proses pembangunan perangkat lunak, kebutuhan sistem dan perangkat lunak, metodologi pengembangan perangkat lunak, dan luaran yang diharapkan setelah mengikuti kuliah ini.

Diunggah oleh

Najim Qori
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 PPT, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
20 tayangan47 halaman

Rekayasa Perangkat Lunak dan Metodologinya

Kuliah ini membahas tentang rekayasa perangkat lunak, meliputi pengantar rekayasa perangkat lunak, model proses pembangunan perangkat lunak, kebutuhan sistem dan perangkat lunak, metodologi pengembangan perangkat lunak, dan luaran yang diharapkan setelah mengikuti kuliah ini.

Diunggah oleh

Najim Qori
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 PPT, PDF, TXT atau baca online di Scribd

Rekayasa Perangkat Lunak

Introduction

Program Studi Informatika Universitas Siliwangi

Dr. Aradea, S.T., M.T.


Source : Roger S Pressman, Ian Sommervile, Grady Booch
Edward Yourdon , KK-Informatika ITB, Priyanto,
Mohamad Sidiq
Komposisi Penilaian dan
Aturan Perkuliahan
• ABSENSI : 10 % (Wajib Hadir 75 %)
• TUGAS : 20 %
• UTS : 35 %
• UAS : 35 %
• Apabila dosen sudah berada di ruangan kelas, seluruh
peserta TIDAK DIPERKENANKAN :
• Memasuki ruangan kelas.
• Melakukan tindakan yang menyebabkan KEGADUHAN
sehingga akan mengganggu proses perkuliahan.
Silabus

Kuliah ini memberikan pengertian tentang :


•Rekayasa perangkat lunak
•Kemampuan dasar dalam membangun perangkat
lunak
•Kemampuan mengoperasikan tools terkait
pemodelan perangkat lunak
Silabus
• Pengantar Rekayasa Perangkat Lunak (PL);
• Model Proses Pembangunan PL;
• Kebutuhan: kebutuhan pengguna, kebutuhan
sistem, dan kebutuhan PL;
• Metodologi Pengembangan PL (termasuk metode
berbasis aliran data/ proses dan berorientasi
objek): kelebihan, kekurangan dan aspek
praktisnya di industri;
• Analisis Kebutuhan PL (termasuk alat bantu
pemodelannya);
Silabus

• Perancangan PL (termasuk alat bantu


pemodelannya);
• Modularitas dan Parameter Kualitas PL;
• Arsitektur dan Implementasi PL;
• Standard dan Dokumentasi PL;
• Metrik PL dan Pengujian PL;
• Studi Kasus: Pembangunan PL (diberikan
spesifikasi kebutuhan, dilakukan analisis,
perancangan, implementasi, dan pengujian);
Luaran
Setelah lulus dari kuliah ini, mahasiswa mampu :
•Mengenali berbagai tipe perangkat lunak dan
karakteristiknya
•Memahami berbagai semua istilah dan terminologi di
bidang rekayasa perangkat lunak
•Memahami pentingnya rekayasa perangkat lunak
•Memahami beberapa model proses pembangunan
perangkat lunak dan metodologi pengembangan perangkat
lunak
•Menerapkan pengetahuannya untuk membangun
perangkat lunak skala kecil dan menengah dengan
memanfaatkan alat bantu yang diperlukan
Introduction to Software Engineering
• Apakah perangkat lunak itu?
• Apakah peran perangkat lunak?
• Bagaimana perkembangan perangkat lunak?
• Apakah permasalahan perangkat lunak?
• Apakah jenis aplikasi perangkat lunak?
• Apakah perbedaan antara perangkat lunak (software),
rekayasa perangkat lunak (software engineering) dan
rekayasa sistem (system engineering)?
• Apa isu dan tanggungjawab professional perekayasa
perangkat lunak (software engineers)?
Introduction to Software Engineering
What is software ?

Software is a set of items or objects


that form a “configuration” that
includes
• programs
• documents
• data ...
What is software ?

Definitions:
Computer programs, procedures, and possibly
associated documentation and data pertaining
to the operation of a computer system
(IEEE Standard Glossary of Software Engineering Terminology, 1990)
What is software ?
Software adalah sekelompok item atau
objek yang membentuk konfigurasi
dimana di dalamnya termasuk:
•Program : sekumpulan instruksi yang
ketika dieksekusi akan memberi fungsi
dan hasil yang diinginkan.
•Data : sekumpulan data yang
memungkinkan program memanipulasi
informasi.
•Dokumen : sekumpulan dokumen
yang menggambarkan operasi dan
penggunaan program.
What is software ?

• Software is designed and built by software


engineers
• Software is used by virtually everyone in society
• Software engineers have a moral obligation to
build reliable software that does no harm to
other people
• Software users are only concerned with whether
or not software products meet their expectations
and make their tasks easier to complete
What is software ?

• Software is both a product and a vehicle for


delivering a product (information)
• Software is engineered not manufactured
• Software does not wear out, but it does
deteriorate
• Currently, most software is still custom-built
Failure Curve
Failure
"Infant "Wear
Rate Change
Mortality" Out"

Actual

Ideal

Time Time
FAILURE CURVE FAILURE CURVE
FOR HARDWARE FOR SOFTWARE

* Software Engineering, Module 1, Richard Conn, University of Cincinnati, May 1993


Peran Perangkat Lunak
Perangkat lunak adalah sebuah produk
•Menyajikan potensi komputasi
•Menghasilkan, mengelola, memperoleh, modifikasi,
menampilkan atau mengirimkan informasi

Perangkat lunak adalah alat untuk menyajikan sebuah produk


•Mendukung atau menyediakan langsung fungsi sistem
•Mengendalikan program lain (mis : operating system)
•Mempengaruhi komunikasi (mis : networking software)
•Membantu membangun PL lain (mis : software tools)
Produk Perangkat Lunak

Produk perangkat lunak dibuat untuk pelanggan


tertentu ataupun untuk pasar umum Produk
perangkat lunak ada dua jenis :
•Generik – dibuat untuk dijual ke suatu kumpulan
pengguna yang berbeda atau pasar umum.
•Bespoke (custom) – dibuat untuk suatu
pengguna tunggal sesuai dengan spesifikasi yang
diinginkan pengguna.
Tipe Aplikasi Perangkat Lunak

• System software
• Application software
• Embedded software
• Engineering/Scientific software
• Product software
• Product-line software
• Web applications software
• Artificial intelligence software
System Software

System Software adalah kumpulan program yang


ditulis untuk melayani program-program lain :
•Compilers, editors, dan file management utilities.
•Operating system components, driver, networking
SW

Karakteristik: berinteraksi kuat dengan hardware


Application Software

Program stand-alone untuk menyelesaikan


kebutuhan bisnis yang spesifik.

Contoh: point-of-sale, transaction processing, real-


time manufacturing process control.
Embedded Software

SW yang menempel didalam produk atau sistem


yang digunakan untuk mengontrol sistem.

•Terdapat pada produk-produk cerdas: photo


copy, microwave oven, mesin cuci, otomotif (fuel
control, dashboard display, etc).
•Software memiliki tugas yang khusus dan
terbatas, tersimpan di dalam ROM yang digunakan
untuk mengontrol perangkat keras
Product-line Software

Dirancang untuk keperluan khusus, untuk pasar


terbatas atau masal.

•Untuk pasar terbatas: inventory control


•Untuk pasar masal: Word processing,
spreadsheets, computer graphics, multimedia,
entertainment, database management, aplikasi
finansial personal dan bisnis, dsb.
Web Applications Software
(WebApps)
“Web apps” adalah network centric software,
dikembangkan dalam lingkungan komputasi yang
canggih tidak hanya menyediakan fitur standalone,
fungsi komputasi, tetapi juga terintegrasi dengan
database perusahaan dan aplikasi lain.

Contoh: SIMAK di UNSIL, webmail, dll.


Sifat Unik WebApps
• Network intensiveness : Intranet dan/atau Internet
• Concurrency : Jumlah pengguna yang banyak
• Unpredictabeload : jumlah pengguna sulit ditebak
• Performance : menunggu terlalu lama dalam proses
• Availability : 24/7/365
• Content sensitive : kualitas dan sifat dasar estetis konten
menjadi determinan kualitas.
• Continuous evolution : konten diperbaharui menit demi
menit.
• Security : sangat diperlukan karena akses melalui jaringan
• Aesthetics : estetika menjadi kesuksesan desain teknis
Artificial Intelligence Software

Software menggunakan algoritma nonnumerik


untuk menyelesaikan permasalahan yang
kompleks yang tidak mengikuti komputasi atau
algoritma yang straightforward.

Contoh: robotika, sistem adaptive, sistem pakar,


pengenalan pola (gambar dan suara), game
Evolusi Perangkat Lunak
Evolusi Perangkat Lunak

• Process by which programs change shape,


adapt to the market place, and inherit
characteristics from preexisting programs

• Unified theory for software evolution (Lehman):


• Law of continuing change
• Law of increasing complexity

“Self-Adaptive Software Systems”


The Cost of Change

60-100x

1.5-6x
1x

Definition Development After release


Tantangan Perangkat Lunak

• Ubiquitous computing : jaringan nirkabel.


• Netsourcing : web sebagai mesin komputasi.
• Open source : kode program dibuka gratis
kepada komunitas komputasi.
• Termasuk …
• Data mining/ Machine Learning
• Grid computing
• Cognitive machines
• Software for nanotechnologies
Krisis Perangkat Lunak

Adalah sekumpulan masalah yang ditemukan dalam


pengembangan software komputer. Masalahnya tidak
hanya terbatas pada software yang tidak berfungsi
sebagaimana mestinya, tetapi krisis software ini terdiri dari
masalah yang berhubungan dengan :
•Bagaimana mengembangkan software.
•Bagaimana memelihara software yang ada, yang
berkembang dalam jumlah besar.
•Bagaimana mengimbangi permintaan software yang
makin besar.
Mitos Perangkat Lunak
• Mitos: Jika sebuah perusahaan memutuskan untuk
melakukan outsourcing suatu proyek software,
perusahaan tidak perlu melakukan apapun dan cukup
membiarkan perusahaan outsource untuk melakukan
keseluruhan proyek.

• Realitas: Apabila sebuah perusahaan tidak mengerti


bagaimana cara mengatur dan menngontrol sebuah
proyek software secara internal, usaha akan selau
dibutuhkan meskipun outsourcing dilakukan.
Mitos Perangkat Lunak
• Mitos: Kebutuhan software berubah secara terus-
menerus, tetapi perubahan tersebut dapat dengan
mudah diatasi, karena software itu fleksibel.

• Realitas: Kebutuhan software memang akan terus


berubah, namun dampak dari perubahan tersebut
sangat bervariasi berdasarkan tahap dimana perubahan
itu terjadi.
Mitos Perangkat Lunak
• Mitos: Ketika program ditulis dan dapat dijalankan,
pekerjaan kita selesai.

• Realitas: Pada kenyataannya 60%-80% dari


keseluruhan pekerjaan dilakukan setelah software
diberikan kepada user untuk pertama kalinya.
Mitos Perangkat Lunak
• Mitos: Satu-satunya produk yang dapat disampaikan
dari proyek yang berhasil adalah program yang dapat
dijalankan.

• Realitas: Program hanya merupakan salah satu bagian


dari konfigurasi software yang terdiri dari banyak elemen
lainya (contoh: model, dokumentasi, perencanaan, dll).

• Dan masih banyak lagi .... mitos vs realitas ...


Software Engineering
Software Engineering atau (SE) adalah satu bidang profesi
yang mendalami cara-cara pengembangan perangkat
lunak termasuk pembuatan, pemeliharaan, manajemen
organisasi pengembanganan perangkat lunak dan
manajemen kualitas.

Software engineering adalah (IEEE Computer Society):


•Penerapan suatu pendekatan yang sistematis, disiplin dan
terkuantifikasi atas pengembangan, penggunaan dan
pemeliharaan perangkat lunak.
•Studi tentang pendekatan-pendekatan seperti pada (1)
System Engineering
Software Engineering vs System
Engineering
System Engineering
• System engineering adalah sub disiplin rekayasa yang
berkaitan dengan manajemen keseluruhan proyek
rekayasa selama siklus hidup mereka (lebih fokus pada
aspek fisik) yang terkait dengan logistik, koordinasi tim,
kontrol mesin otomatis, proses kerja dan alat serupa

• System engineering mempunyai kaitan dengan semua


aspek pengembangan system berbasis komputer yang
mencakup perangkat keras, perangkat lunak,dan yang
terkait dengan proses bisnis.
Its about the integrated plan ……..
Software and System Engineering
Software and System Engineering
• Systems engineering is responsible for the big picture.
– Systems engineering
has the bird’s-eye
view of the system.

– It must ensure that the system satisfies its


requirements throughout the entire system life
cycle, from birth to death.*
Software and System Engineering
SE is the glue that
holds it all together

Tool 1
Tool 2
Tool 3
Tool 4
Production
Pre-Production
Prototype
Model
1

4
nt

nt

nt

nt
ne

ne

ne

ne
po

po

po

po
m

m
Co
Co

Co

Co
Software and System Engineering
Is systems
engineering
the frosting on the
cake?
Software and System Engineering
No, System engineering is the foundation that the system is built on
Software and System Engineering
The orchestra conductor …
does not write the music, play the instruments or make the instruments. The
conductor like the system engineering coordinates everything.
ADA PERTANYAAN

?
Terima Kasih

Anda mungkin juga menyukai