11
KuliahKuliahRekayasa Perangkat LunakRekayasa Perangkat Lunak
(Software Engineering)(Software Engineering)Bagian 2Bagian 2
Software Engineering: A PractitionerSoftware Engineering: A Practitioner’’s Approach, 6/es Approach, 6/e
Chapter 6Chapter 6Rekayasa SistemRekayasa Sistem
2
Business Area AnalysisBusiness Area Analysis Menemukan Menemukan ““pengelompokan fungsi dan data bisnis yang pengelompokan fungsi dan data bisnis yang
secara natural kohesifsecara natural kohesif”” (Martin)(Martin) Melakukan aktivitas yang banyak sama dengan ISP, tetapi Melakukan aktivitas yang banyak sama dengan ISP, tetapi
lingkupnya lebih dekat ke area bisnis individuallingkupnya lebih dekat ke area bisnis individual Mengenali sistem informasi yang telah ada Mengenali sistem informasi yang telah ada
sebelumnya/menentukan kompatibilitas dengan model ISP sebelumnya/menentukan kompatibilitas dengan model ISP barubaru Menentukan sistem yang bermasalahMenentukan sistem yang bermasalah Menemukan sistem yang tidak kompatibel dengan model Menemukan sistem yang tidak kompatibel dengan model
informasi baruinformasi baru Mulai membuat prioritas reMulai membuat prioritas re--engineeringengineering
3
Proses BAAProses BAA
salesacct
manufacturing
QC
eng’ring
distribution
admin.
DataModel
ProcessDecomposition
DiagramMatrices
e.g.,entity/process
matrix
Process Flow
Models
4
Rekayasa ProdukRekayasa ProdukSystem analysis
(World view)The complete
product
capabilities
Componentengineering
(Domain view)
Processing requirement
Analysis & DesignModeling
(Element view)
Construction&
Integration(Detailed view)
software
function
SoftwareEngineering
programcomponent
hardware
data behavior
5
Template Arsitektur ProdukTemplate Arsitektur Produk
user interface processing
inputprocessing
outputprocessing
maintenance and self-test
process and controlfunctions
6
Architecture Flow DiagramArchitecture Flow Diagram
bar codereader
subsystem
bar codedecoding
subsystem
data baseaccess
subsystem
shuntcontrol
subsystem
reportformatingsubsystem
diagnosticssubsystem
operatorinterface
subsystem
shuntcontroller
mainframecommunications
driver
operator requests CLSS queries, reports, displays
shunt control statusbar code acquisition request
bar code
pulse tach input
linespeed
bar codereader status
sensor status
raw barcode data
partnumber
reportrequests
binlocation
key
sort records
formatedreporting data
sorting reports
shunt commands
CLSS reports
BCR statusshunt status
communications status
timing/location data
operatorinterface
data acquisitioninterface diagnostic interface output interface
CLSS processing & control
sensor dataacquisitionsubsystem
7
Pemodelan Sistem dengan UMLPemodelan Sistem dengan UML
Deployment diagramsDeployment diagrams Setiap box 3D menggambarkan elemen perangkat keras Setiap box 3D menggambarkan elemen perangkat keras
yang merupakan bagian arsitektur fisik dari sistemyang merupakan bagian arsitektur fisik dari sistem
Activity diagramsActivity diagrams Menampilkan aspek prosedural dari elemen sistemMenampilkan aspek prosedural dari elemen sistem
Class diagramsClass diagrams Menampilkan elemen tingkat sistem dalah hal data yang Menampilkan elemen tingkat sistem dalah hal data yang
menjelaskan elemen dan operasi yang memanipulasi menjelaskan elemen dan operasi yang memanipulasi data tersebutdata tersebut
These and other UML models will be discussed laterThese and other UML models will be discussed later
8
Deployment DiagramDeployment DiagramCLSS processor
Sort ing subsystem
Sensor dataacquisit ion subsystem
Operator display
shunt cont roller
Conveyor Pulse tach
Bar code reader Shunt actuator
9
Activity DiagramActivity Diagram
get c onv eyor speed
send shuntc ont ro l da t a
ge t shunt st a t us read bar code
st a rt convey or l i ne
de t e r m ine bi n loca t i on
valid bar code
set f or re jec t b in
conveyor in m ot ion
read bar c ode
get convey or st a t us
produce report ent ry
conveyor s topped
invalid bar code
10
Class DiagramClass Diagram
Box
barcode forwardSpeed conveyorLocat ion height widt h dept h weight cont ent s
readBarcode( ) updat eSpeed ( ) readSpeed( ) updat eLocat ion( ) readLocat ion() get Dimensions( ) get Weight( ) checkCont ent s( )
class name
at t ribut es not e use of capit al let t er f or mult i-word at t ribut e names
operat ions (parent heses at endof name indicat e t he list of at t ribut es t hat t heoperat ion requires)