Anda di halaman 1dari 48

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, AddisonWesley, 1995

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

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 stagewise 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
Penjelasan
Garis
Garis
Besar
Besar

Spesifikasi

Versi
VersiAwal
Awal

Pengembangan

Versi
VersiMenengah
Menengah

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 lifecycle 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
Studi
Kelayakan
Kelayakan

Elisitasi
Elisitasidan
dan
Analisis
Analisis
Persyaratan
Persyaratan
Spesifikasi
Spesifikasi
Persyaratan
Persyaratan

Laporan
Laporan
Kelayakan
Kelayakan

Validasi
Validasi
Persyaratan
Persyaratan

Model
ModelSistem
Sistem
Persyaratan
Persyaratan
User
Userdan
danSistem
Sistem

Dokumen
Dokumen
Persyaratan
Persyaratan

Perancangan Arsitektural
Spesifikasi Abstrak
Perancangan Interface
Perancangan Komponen
Perancangan Struktur Data
Perancangan Algoritma

Spesifikasi
Persyaratan

Perancangan
Arsitektural

Arsitektur
Arsitektur
Sistem
Sistem

Spesifikasi
Abstrak

Spesifikasi
Spesifikasi
Perangkat
PerangkatLunak
Lunak

Perancangan
Interface

Spesifikasi
Spesifikasi
Interface
Interface

Perancangan
Komponen

Spesifikasi
Spesifikasi
Komponen
Komponen

Perancangan
Struktur Data

Spesifikasi
Spesifikasi
Struktur
Strukturdata
data

Perancangan
Algoritma

Spesifikasi
Spesifikasi
Algoritma
Algoritma

Pengujian
Pengujian
Unit
Unit
Pengujian
Pengujian
Modul
Modul
Pengujian
Pengujian
Sub
SubSistem
Sistem
Pengujian
Pengujian
Sistem
Sistem11
Pengujian
Pengujian
Sistem
Sistem22
Pengujian
Komponen

Pengujian Integrasi

Pengujian User

Definisi
Definisi
Persyaratan
Persyaratan
Sistem
Sistem

Nilai
NilaiSistem
Sistem
Yang
YangAda
Ada

Sistem
Sistem
Yang
YangAda
Ada

Pengajuan
Pengajuan
Perubahan
Perubahan
Sistem
Sistem

Sistem
Sistem
Baru
Baru

Modifikasi
Modifikasi
Sistem
Sistem

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