Anda di halaman 1dari 49

VI045102

By : Rizky Yuniar Hakun


Ian Somerville, Software Engineering, 6th
Edition, Addison Wesley, 2001
Roger R. Pressman, Software Engineering, 6th
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.
Spesifikasi Versi
VersiAwal
Awal

Penjelasan
Penjelasan
Garis
Garis Pengembangan Versi
VersiMenengah
Menengah
Besar
Besar

Validasi Versi
VersiAkhir
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
Elisitasi
Elisitasidan
dan
Studi
Studi Analisis
Analisis
Kelayakan
Kelayakan Persyaratan
Persyaratan
Spesifikasi
Spesifikasi
Persyaratan
Persyaratan

Validasi
Validasi
Laporan
Laporan Model
ModelSistem
Sistem Persyaratan
Persyaratan
Kelayakan
Kelayakan

Persyaratan
Persyaratan
User
Userdan
danSistem
Sistem

Dokumen
Dokumen
Persyaratan
Persyaratan
Perancangan Arsitektural
Spesifikasi Abstrak
Perancangan Interface
Perancangan Komponen
Perancangan Struktur Data
Perancangan Algoritma
Spesifikasi Perancangan Arsitektur
Arsitektur
Persyaratan Arsitektural Sistem
Sistem

Spesifikasi Spesifikasi
Spesifikasi
Abstrak Perangkat
PerangkatLunak
Lunak

Perancangan Spesifikasi
Spesifikasi
Interface Interface
Interface

Perancangan Spesifikasi
Spesifikasi
Komponen Komponen
Komponen

Perancangan Spesifikasi
Spesifikasi
Struktur Data Struktur
Strukturdata
data

Perancangan Spesifikasi
Spesifikasi
Algoritma Algoritma
Algoritma
Pengujian
Pengujian
Unit
Unit
Pengujian
Pengujian
Modul
Modul
Pengujian
Pengujian
Sub
SubSistem
Sistem

Pengujian
Pengujian
Sistem
Sistem11
Pengujian
Pengujian
Sistem
Sistem22
Pengujian
Pengujian Integrasi Pengujian User
Komponen
Definisi
Definisi Pengajuan
Pengajuan
Nilai
NilaiSistem
Sistem Modifikasi
Modifikasi
Persyaratan
Persyaratan Perubahan
Perubahan
Yang
YangAda
Ada Sistem
Sistem
Sistem
Sistem Sistem
Sistem

Sistem
Sistem Sistem
Sistem
Yang
YangAda
Ada Baru
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

Anda mungkin juga menyukai