Catatan Kuliah Catatan Kuliah
Rekayasa Perangkat Lunak Rekayasa Perangkat Lunak
(Software Engineering) (Software Engineering)
Bagian 2 Bagian 2
copyright © 2006
R.S. Pressman & Associates, Inc M. Idham Ananta Timur, S.T., M.Kom.
Hanya digunakan di lingkungan Universtias
Hanya boleh digandakan untuk mahasiswa di lingkungan universitas yang menggunakan buku Software Engineering: A Practitioner's Approach.
Selain itu dilarang keras menggandakan.
Presentasi, slide atau hardcopy tidak boleh digunakan untuk
short courses, seminar industri, atau kepentingan konsultasi.
Software Engineering: A Practitioner’s Approach, 6/e Software Engineering: A Practitioner’s Approach, 6/e
Chapter 6 Chapter 6
Rekayasa Sistem Rekayasa Sistem
copyright © 1996, 2001, 2005, 2006
R.S. Pressman & Associates, Inc.
M. Idham Ananta Timur, S.T., M.Kom
Hanya digunakan di lingkungan Universtias
Hanya boleh digandakan untuk mahasiswa di lingkungan universitas yang menggunakan buku Software Engineering: A Practitioner's Approach.
Selain itu dilarang keras menggandakan
Rekayasa Sistem Rekayasa Sistem
Elemen sistem berbasis komputer : Elemen sistem berbasis komputer :
Software Software
Hardware Hardware
People People
Database Database
Documentation Documentation
Procedures Procedures
Sistem : Sistem :
Hierarki dari elemen makro Hierarki dari elemen makro
Pemodelan Sistem Pemodelan Sistem
Menentukan proses yang melayani kebutuhan sesuai dengan Menentukan proses yang melayani kebutuhan sesuai dengan konsideran yang ada.
konsideran yang ada.
Menampilkan perilaku proses dan asumsi dimana perilaku itu Menampilkan perilaku proses dan asumsi dimana perilaku itu berada.
berada.
Secara eksplisit menentukan input exogen dan endogen pada Secara eksplisit menentukan input exogen dan endogen pada model.
model.
Input exogen menghubungkan satu konstituen dan satu pandangan Input exogen menghubungkan satu konstituen dan satu pandangan dengan konstituen lain pada tingkat yang sama di level yang lain. Input dengan konstituen lain pada tingkat yang sama di level yang lain. Input endogen menghubungkan komponen individu pada konstituen pada endogen menghubungkan komponen individu pada konstituen pada pandangan khusus.
pandangan khusus.
Menampilkan seluruh kaitan (termasuk output) yang Menampilkan seluruh kaitan (termasuk output) yang
memungkinkan engineer mempunya pemahaman yang lebih baik.
memungkinkan engineer mempunya pemahaman yang lebih baik.
Hierark Hierark
i i
World viewBusiness or Product Domain
Domain of interest
Domain view
System element
Element view
Detailed view
Business Process Engineering Business Process Engineering
Menggunakan sekumpulan prosedur, Menggunakan sekumpulan prosedur, metode dan tool yang terpadu untuk metode dan tool yang terpadu untuk
menentukan bagaimanan sistem informasi menentukan bagaimanan sistem informasi
dapat memenuhi tujuan strategis dapat memenuhi tujuan strategis
perusahaan.
perusahaan.
Fokus pada perusahaan, baru kemudian ke Fokus pada perusahaan, baru kemudian ke area bisnis
area bisnis
Menciptakan model enterprise, model data Menciptakan model enterprise, model data dan model proses
dan model proses
Menciptakan bingkai kerja untuk distribusi Menciptakan bingkai kerja untuk distribusi
dan kontrol manajemen informasi yang lebih
dan kontrol manajemen informasi yang lebih
baik baik
Arsitektur Sistem Arsitektur Sistem
Tiga arsitektur yang berbeda harus dianalisis dan didesain dalam Tiga arsitektur yang berbeda harus dianalisis dan didesain dalam konteks tujuan bisnis:
konteks tujuan bisnis:
Arsitektur data Arsitektur data
Arsitektur aplikasi Arsitektur aplikasi
Arsitektur teknologi Arsitektur teknologi
Arsitektur data Arsitektur data menyediakan bingkai kerja untuk kebutuhan menyediakan bingkai kerja untuk kebutuhan infromasi dari bisnis atau fungsi bisnis
infromasi dari bisnis atau fungsi bisnis
Arsitektur aplikasi Arsitektur aplikasi mencakup elemen-elemen sistem yang mencakup elemen-elemen sistem yang
mentransformasi objek dalam arsitektur data untuk tujuan bisnis mentransformasi objek dalam arsitektur data untuk tujuan bisnis
Infrastruktur teknologi Infrastruktur teknologi menyediakan pondasi untuk arsitektur data menyediakan pondasi untuk arsitektur data dan arsitektur aplikasi
dan arsitektur aplikasi
Hierarki BPE Hierarki BPE
Information strategy planning (ISP) Information strategy planning (ISP)
Tujuan strategis ditentukan Tujuan strategis ditentukan
Faktor sukses/aturan bisnis ditentukan Faktor sukses/aturan bisnis ditentukan
Model perusahaan dibuat Model perusahaan dibuat
Business area analysis (BAA) Business area analysis (BAA)
Proses/layanan dimodelkan Proses/layanan dimodelkan
Inter-relasi proses dan data Inter-relasi proses dan data
Application Engineering Application Engineering
RPL RPL
Pemodelan aplikasi/prosedur yang merujuk Pemodelan aplikasi/prosedur yang merujuk pada BAA dan batasan-batasan ISP
pada BAA dan batasan-batasan ISP
Construction and delivery Construction and delivery
menggunakan CASE dan 4GTs, pengujian menggunakan CASE dan 4GTs, pengujian
Information Strategy Planning Information Strategy Planning
Isu manajemen Isu manajemen
Menentukan tujuan bisnis strategis Menentukan tujuan bisnis strategis
Isolasi critical success factors Isolasi critical success factors
Melakukan analisis pada pengaruh Melakukan analisis pada pengaruh teknologi
teknologi
Melakukan analisis pada sistem strategis Melakukan analisis pada sistem strategis
Isu teknis Isu teknis
Membuat model data tingkat tertinggi Membuat model data tingkat tertinggi
Dikelompokkan berdasar area Dikelompokkan berdasar area bisnis/organisasi
bisnis/organisasi
Memperbaiki model dan clustering Memperbaiki model dan clustering
Menentukan Tujuan dan Sasaran Menentukan Tujuan dan Sasaran
Tujuan Tujuan —pernyataan umum tentang arahan —pernyataan umum tentang arahan
Sasaran Sasaran —menentukan tujuan yang bisa diukur : —menentukan tujuan yang bisa diukur : mengurangi biaya pabrik pada produk
mengurangi biaya pabrik pada produk
Sub Sasaran Sub Sasaran : :
Menurunkan angka reject dengan 20% di dalam 6 bulan Menurunkan angka reject dengan 20% di dalam 6 bulan pertama
pertama
Memperoleh konsesi 10% dari supplier Memperoleh konsesi 10% dari supplier
re-engineer 30% dari komponen untuk fabrikasi yang re-engineer 30% dari komponen untuk fabrikasi yang lebih mudah selama tahun pertama
lebih mudah selama tahun pertama
Tujuan cenderung strategis, sasaran cenderung Tujuan cenderung strategis, sasaran cenderung taktis
taktis
Business Area Analysis Business Area Analysis
Menemukan “pengelompokan fungsi dan data bisnis Menemukan “pengelompokan fungsi dan data bisnis yang secara natural kohesif” (Martin)
yang secara natural kohesif” (Martin)
Melakukan aktivitas yang banyak sama dengan ISP, tetapi Melakukan aktivitas yang banyak sama dengan ISP, tetapi lingkupnya lebih dekat ke area bisnis individual
lingkupnya lebih dekat ke area bisnis individual
Mengenali sistem informasi yang telah ada Mengenali sistem informasi yang telah ada
sebelumnya/menentukan kompatibilitas dengan model sebelumnya/menentukan kompatibilitas dengan model ISP baru
ISP baru
Menentukan sistem yang bermasalah Menentukan sistem yang bermasalah
Menemukan sistem yang tidak kompatibel dengan model Menemukan sistem yang tidak kompatibel dengan model informasi baru
informasi baru
Mulai membuat prioritas re-engineering Mulai membuat prioritas re-engineering
Proses BAA Proses BAA
sales
acct
manufacturing
QC
eng’ring distribution admin.
Data Model
Process Decomposition
Diagram
Matrices e.g.,
entity/process matrix
Process
Flow
Models
Rekayasa Produk Rekayasa Produk
System analysis (World view) The complete
product
capabilities
Component engineering (Domain view)
Processing requirement
Analysis & Design Modeling (Element view)
Construction
&
Integration (Detailed view) software
function
Software Engineering program
component hardware
data behavior
Template Arsitektur Produk Template Arsitektur Produk
user interface processing
input
processing output
processing
maintenance and self-test process and control
functions
Architecture Flow Diagram Architecture Flow Diagram
bar code reader subsystem
bar code decoding subsystem
data base access subsystem
shunt control subsystem
report formating subsystem
diagnostics subsystem operator interface subsystem
shunt controller
mainframe communications
driver operator requests CLSS queries, reports, displays
shunt control status bar code acquisition request
bar code
pulse tach input
line speed
bar code reader status sensor status
raw bar code data
part number
report requests
bin location
key sort records
formated reporting data sorting reports
shunt commands
CLSS reports
BCR status
shunt status communications status
timing/location data operator
interface
data acquisition
interface diagnostic interface output interface
CLSS processing & control
sensor data acquisition subsystem
Pemodelan Sistem dengan UML Pemodelan Sistem dengan UML
Deployment diagrams Deployment diagrams
Setiap box 3D menggambarkan elemen perangkat keras Setiap box 3D menggambarkan elemen perangkat keras yang merupakan bagian arsitektur fisik dari sistem
yang merupakan bagian arsitektur fisik dari sistem
Activity diagrams Activity diagrams
Menampilkan aspek prosedural dari elemen sistem Menampilkan aspek prosedural dari elemen sistem
Class diagrams Class diagrams
Menampilkan elemen tingkat sistem dalah hal data yang Menampilkan elemen tingkat sistem dalah hal data yang menjelaskan elemen dan operasi yang memanipulasi data menjelaskan elemen dan operasi yang memanipulasi data tersebut
tersebut
These and other UML models will be discussed later
These and other UML models will be discussed later
Deployment Diagram Deployment Diagram
CLSS processor
Sorting subsystem
Sensor data acquisition subsystem
Operator display
shunt controller
Conveyor
Pulse tach Bar code reader Shunt actuator
Activity Diagram Activity Diagram
get c onveyor speed
send shunt c ontrol data
get shunt status read bar c ode start c onveyor line
determine bin loc ation valid bar code
set f or rejec t bin
conveyor in motion read bar c ode
get c onveyor status
produc e report entry
conveyor stopped
invalid bar code
Class Diagram Class Diagram
Box barcode forwardSpeed conveyorLocation height
width depth weight contents readBarcode() updateSpeed() readSpeed() updateLocation() readLocation() getDimensions() getWeight() checkContents()
class name
attributes
note use of capital letter for multi-word attribute names
operations
(parentheses at end of name indicate the list of attributes that the operation requires)