You are on page 1of 49

VI045102

By : Rizky Yuniar Hakun


Ian Somerville, Software Engineering, 6
th
Edition,
Addison Wesley, 2001
Roger R. Pressman, Software Engineering, 6
th
Edition
McGraw-Hill, 2005
Erich Gamma, Richard Helm, Ralph Johnson, John
Vlissides, Design Patterns: Elements of Reusable
Object-Oriented Software, Addison-Wesley, 1995

Tugas : 30%
UTS : 30%
UAS : 40%
Power Designer 6 / Power Designer 9
Rational Rose 7 / IBM Rational Software Architect
Java Compiler (Netbeans, Gel, Eclipse)
Review RPL
Pemodelan PL
Pemodelan Data dan CASE Tool
UML in Depth ( Kelas, Use Case, State, dll)
Design Pattern
Day 1
By : Rizky Yuniar Hakun
Perangkat Lunak
Review Rekayasa Perangkat Lunak
Pemodelan Perangkat Lunak
Perangkat Lunak adalah suatu aplikasi program komputer
yang di dalamnya terdapat:
program itu sendiri,
konfigurasi yang digunakan,
dokumentasi yang menjelaskan struktur sistem,
dokumentasi yang menjelaskan bagaimana
menggunakan sistem,
dan informasi tentang versi terbaru
Produk Perangkat Lunak dikembangkan sesuai dengan
siapa pemakai perangkat lunak tersebut.
Produk Perangkat lunak dibagi menjadi:
Produk Generik, yang dijual pada pasar terbuka
Produk Spesifik, yang dibuat dan dijual sesuai pesanan
dari pemakai.

Software is developed or engineered, not
manufactured
Software doesnt wear out
Most software are custom built, not assembled from
existing component

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

Perangkat Lunak Berdasarkan Pemakai
Generik: Perangkat lunak yang bisa digunakan secara
umum
Spesifik: Perangkat lunak yang dibuat berdasarkan
pesanan
Perangkat Lunak Berdasarkan Fungsional
Interfacing
Operating System
Perangkat Lunak Aplikasi
CASE Tools

Generik: Perangkat lunak yang digunakan secara umum.
Sebagai contoh:
Operating System, seperti Microsoft Windows,
Word Processing, seperti Microsoft Word, WordPad
Spreadsheet, seperti Microsoft Excell
Beberapa aplikasi khusus bisa dibuat menjadi generik dengan
membuatnya general dan mudah digunakan siapa saja seperti
aplikasi akuntansi, aplikasi sekolah, dan lain-lain
Spesifik: Perangkat lunak yang dibuat berdasarkan
pesanan. Banyak Software House yang menghasilkan
perangkat lunak ini berdasarkan proyek/pesanan tertentu.
Sebagai contoh: Aplikasi Rumah Sakit, Aplikasi
Pendidikan, Aplikasi Kesehatan, dan lain-lain
INTERFACING: Perangkat lunak ini menghubungkan
suatu perangkat keras tertentu, seperti hardware
driver, interfaces dengan perangkat keras lain. Misal:
Driver untuk Kamera, Handphone atau perangkat keras
lainnya
Program interface seperti Sensor Suhu dengan LM555,
PPI 8255, Komunikasi Serial RS232.

OPERATING SYSTEM: Perangkat lunak yang
menjalankan sistem komputer dan merupakan
interface dari sistem komputer dan program
aplikasi yang berjalan diatasnya.
Beberapa OS yang dikenal secara luas:
Microsoft Windows
Linux dan varians-nya, seperti Redhat, SuSE, Mandrake,
Debian, dsb.
Unix
FreeBSD
Macintosh (Apple)

PROGRAM APLIKASI: program ini digunakan
untuk keperluan tertentu, yang tujuannya
membantu pekerjaan manusia menjadi lebih
mudah. Program ini yang banyak dibahas dalam
pembuatan perangkat lunak.
Program Aplikasi ini tergantung pada kebutuhan
dari program itu sendiri, seperti:
Program Office
Program Graphics Design
Program Multimedia
dan lain-lain
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

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
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.

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

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

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
Rekayasa Perangkat Lunak adalah disiplin ilmu yang
membahas semua aspek produksi perangkat lunak,
mulai tahap awal spesifikasi sistem sampai
pemeliharaan sistem setelah digunakan.
Perekayasa Perangkat Lunak memakai pendekatan
yang sistematis dan terorganisir untuk menghasilkan
perangkat lunak berkualitas tinggi.

Meningkatkan keakuratan, performance & efficiency
produk secara keseluruhan dalam pengembangan
Menerapkan metodologi yang terdefinisi dengan baik
untuk resolusi software
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.

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

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
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
Development activities are performed in sequential
order, with possibly minor overlap, and minimal or no
iteration between activities.
User needs are determined, requirements are defined,
and the full system is designed, built, and tested for
ultimate delivery at one point in time. Some people
refer to this as a stage-wise model.
Pengembangan Eksplorasi:
Sistem berubah dengan adanya fitur-fitur tambahan
dari user.
Prototype yang dapat dibuang (Throw-Away):
Memahami persyaratan user untuk mendapatkan
definisi persyaratan yang lebih baik.

Penjelasan
Garis Besar
Spesifikasi
Pengembangan
Validasi
Versi Awal
Versi Menengah
Versi Akhir
Masalah-masalah dalam Pengembangan
Evolusioner
Proses tidak dapat dilihat
Sistem seringkali mempunyai struktur yang tidak baik
Mungkin diperlukan alat bantu khusus
Model pengembangan evolusioner ini cocok untuk
aplikasi yang kecil dan life-cycle yang pendek.

Spiral Model Description
The development spiral consists of four quadrants
Quadrant 1: Determine objectives, alternatives, and
constraints.
Quadrant 2: Evaluate alternatives, identify, resolve risks.
Quadrant 3: Develop, verify, next-level product.
Quadrant 4: Plan next phases.
Proses perangkat lunak dibagi menjadi
serangkaian increment yang dikembangkan secara
bergantian.
Keuntungan Pengembangan Incremental
User tidak perlu menunggu seluruh sistem dikirimkan,
karena increment pertama mempunyai persyaratan kritis dan
perangkat lunak segera dapat digunakan.
User dapat memakai increment pertama sebagai prototype
Resiko kegagalan proyek secara keseluruhan lebih rendah
Pengujian paling ketat diberlakukan pada increment
pertama.

Studi Kelayakan
Elisitasi dan Analisis Persyaratan
Spesifikasi Persyaratan
Validasi Persyaratan

Studi
Kelayakan
Elisitasi dan
Analisis
Persyaratan
Spesifikasi
Persyaratan
Validasi
Persyaratan
Laporan
Kelayakan
Model Sistem
Persyaratan
User dan Sistem
Dokumen
Persyaratan
Perancangan Arsitektural
Spesifikasi Abstrak
Perancangan Interface
Perancangan Komponen
Perancangan Struktur Data
Perancangan Algoritma

Spesifikasi
Persyaratan
Perancangan
Arsitektural
Spesifikasi
Abstrak
Perancangan
Interface
Perancangan
Komponen
Perancangan
Struktur Data
Perancangan
Algoritma
Arsitektur
Sistem
Spesifikasi
Perangkat Lunak
Spesifikasi
Interface
Spesifikasi
Komponen
Spesifikasi
Struktur data
Spesifikasi
Algoritma

Pengujian
Unit
Pengujian
Modul
Pengujian
Sub Sistem
Pengujian
Sistem 1
Pengujian
Sistem 2
Pengujian
Komponen
Pengujian Integrasi Pengujian User
Definisi
Persyaratan
Sistem
Nilai Sistem
Yang Ada
Pengajuan
Perubahan
Sistem
Modifikasi
Sistem
Sistem
Yang Ada
Sistem
Baru
Pemodelan dan analisa dapat dianggap sebagai akar konsep dari
semua displin teknik karena keutamaannya dalam
mendokumentasikan dan mengevaluasi alternatif serta pilihan
desain.
Pemodelan dilakukan pada awal analisa, spesifikasi dan validasi
persyaratan.
Persyaratan yang dimaksud adalah semua kebutuhan pengguna,
kustomer dan stakeholder yang harus dipenuhi oleh sistem.
Dalam pembuatan persyaratan melibatkan :
Analisa studi kelayakan dari sistem yang akan dibuat,
Memperoleh dan menganalisa kebutuhan dari stakeholder
Pembuatan gambaran yang akurat terhadap sistem tentang apa
yang harus dilakukan sistem dan apa yang tidak.
Validasi terhadap dokumen atau spesifikasi oleh stakeholder

Information modeling (e.g. entity-relationship modeling,
class diagrams, etc.)
Behavioral modeling (e.g. structured analysis, state
diagrams, use case analysis, interaction diagrams, failure
modes and effects analysis, fault tree analysis etc.)
Structure modeling (e.g. architectural, etc.)
Domain modeling (e.g. domain engineering approaches,
etc.)
Functional modeling (e.g. component diagrams, etc.)
Enterprise modeling (e.g. business processes,
organizations, goals, etc.)
Modeling embedded systems (e.g. real-time schedulability
analysis, external interface analysis, etc.)
Rational Rose UML
PowerDesigner Data Modeling

You might also like