Mohamad Sidiq Teknik Informatika Fakultas Ilmu Komputer Universitas Dian Nuswantoro1
Arsitektur bukanlah PL operasional, namun dia merupakan representasi yang memungkinkan pengembang PL untuk: (1) menganalisa efektivitas desain dalam memenuhi kebutuhan,
(2) Mengetahui alternatif2x arsitektur pada keadaan dimana membuat perubahan desain masih relatif lebih mudah, dan (3) Mengurangi resiko terkait dengan konstruksi PL. 2
3
4
5
1. Prinsip2 analisis semantik yang diterapkan pada fungsi dan perilaku harus juga dapat berjalan pada data. 2. Seluruh struktur data dan operasi yang akan dilakukan harus dapat diidentifikasi. 3. Sebuah data dictionary harus dibuat dan digunakan untuk menentukan desain program dan data. 4. Keputusan desain data level rendah harus ditunda hingga akhir proses desain. 5. Representasi struktur dara harus diketahui oleh modul yang menggunakannya langsung dalam struktur tersebut (enkapsulasi). 6. Sebuah pustaka struktur data dan operasi yang memungkinkan untuk diterapkan harus dikembangkan. 7. Desain PL dan bahasa pemrograman harus mendukung spesifikasi dan realisasi dari tipe data abstrak.
6
Masing2 menggambarkan kategori sistem yang menunjukkan : (1) sekumpulan komponen (mis database, modul komputasi) yang menunjukkan fungsi yan dibutuhkan sistem, (2) sekumpulan connectors yang memungkinkan komunikasi, koordinasi dan kerjasama antar komponen components, (3) batasan yang menentukan bagaimana komponen dapat diintegrasikan untuk membentuk sistem, dan (4) model semantik yang memungkinkan desainer untk memahami properti keseluruhan dari sistem dengan menganlisai properti dalam bagian2 di dalamnya.
7
8
9
10
11
12
13
Safehome Product
control panel homeowner
Internet-based system
target system: Security Function
uses
surveillance function peers
uses uses
sensors
sensors
14
Cont roller
communicat es wit h
Node
Det ect or
Indicat or
15
Figure 10.7 UML relat ionships f or Saf eHome securit y f unct ion archet ypes (adapt ed f rom [ BOS00] )
SafeHome Execut ive Funct ion select ion Ext ernal Communicat ion Management
Securit y
GUI
Surveillance
Home management
Int ernet Int erface Cont rol panel processing
det ect or management
alarm processing
16
SafeHome Executive
Ext ernal Communicat ion Management
Security GUI
Internet Interface Co n t ro l p an e l p ro ce ssin g
Ke y p ad p ro ce ssin g
d e t e ct o r m an ag e m e n t
sch e d u le r
CP d isp lay fu n ct io n s
alarm p ro ce ssin g
phone co m m u n icat io n
alarm sennnso sorrr se se se soso r se nn so se so se nn so rrr se n so r se n so r
17
1. Kumpulkan semua skenario. 2. Dapatkan kebutuhan2, batasan2, dan gambaran lingkungan.
3. Gambarkan pola/gaya arsitektur yang telah dipilih untuk menangani skenario2 dan kebutuhan2 :: • module view • process view
• data flow view 4. Evaluasi kualitas atribut2 dengan melihat setiap atribut dalam isolasi. 5. Kenali kualitas atribut untuk setiap atribut arsitektural untuk masingmasik gaya arsitektur yang spesifik. 6. Lakukkan kritik pada arsitektur2 kandidat (yg dikembangkan pada langkah 3) menggunakan analisis pada langkah 5. 18
customer requirements "four bedrooms, three baths, lots of glass ..."
architectural design 19
Program Architecture
20
21
function 3
function 1
function 2
22
decision-makers
workers 23
24
25
Aliran Transformasi
Aliran Transaksi
26
Isolasi aliran ke dalam dan ke luar batasan; untuk aliran transaksi, isolasi pusat transaksi Bekerja dari batasan luar, petakan transformasi DFD ke modul terkait
Tambahkan modul kontrol jika dibutuhkan
Sempurnakan struktur program menggunakan konsep modularitas efektif 27
a
b d
e
h
g
f
i
c
j
data flow model x1 x2 b
x4
x3 c
a
"Transform" mapping
d
e
f
g
i
h
j 28
direction of increasing decision making
typical "decision making" modules
typical "worker" modules 29
main program controller
input controller
processing controller
output controller
30
main
D C control
B
A A B C
mapping from the flow boundary outward
D
31
incoming flow
action path T
32
fixture servos
fixture setting
operator
commands process operator commands
report
display screen
robot control robot control software assembly record
in reality, other commands would also be shown 33
1.
write an English language processing narrative for the level 01 flow model
2.
apply noun/verb parse to isolate processes, data items, store and entities
3.
develop level 02 and 03 flow models
4.
create corresponding data dictionary entries
5.
refine flow models as appropriate ... now, we're ready to begin design! 34
Processing narrative for " process operator commands"
noun-verb parse
Proses perintah operator perangkat lunak membaca perintah operator dari operator seluler. Pesan kesalahan ditampilkan untuk perintah yang tidak benar. Tipe perintah ditentukan untuk perintah yang benar dan tindakan yang tepat diambil. Saat perintah fixture (alat bantu) ditemukan, status fixture dianalisis dan pengaturan fixture adalah output ke servlet fixture. Saat sebuah laporan dipilih, file catatan perakitan dibaca dan laporan dibuat dan ditampilkan pada layar tampilan operator. Saat saklar kontrol robot dipilih, nilai kontrol dikirim ke sistem kontrol robot.
Process operator command software reads operator commands from the cell operator. An error message is displayed for invalid commands. The command type is determined for valid commands and appropriate action is taken. When fixture commands are encountered, fixture status is analyzed and a fixture setting is output to the fixture servos. When a report is selected, the assembly record file is read and a report is generated and displayed on the operator display screen. When robot control switches are selected, control values are sent to 35 the robot control system.
operator
commands
Error msg
read operator commands
valid command fixture determine command type
control robot
send control value
fixture servos
status
fixture setting
analyze fixture status
select report
generate report
report
assembly record
display screen
robot control system
robot control 36
command
er ror msg pr oduce er ror msg
re ad command invalid c omma nd command validate command determine type
ro bot con tr ol
fo rmat setting
statu s determine setting re ad fixture statu s
re ad re cord
ra w setting
combined statu s
re cord calculate output values values
send contro l value
fixture se ttin g
fo rmat re port
re port
asse mbly re cord start /stop
37
isolate the incoming flow path define each of the action paths by looking for the "spokes of the wheel" assess the flow on each action path define the dispatch and control structure map each action path flow individually 38
a
e
d
b t
f i
g
h
k
l
data flow model
j m n
x1
Mapping
t
b a
x3
x2 d
e
f
g
x4
h
x3.1 i
l
m
n
j k
39
command
er ror msg pr oduce er ror msg
re ad command invalid co mma nd command validate command determine type
ro bot con tr ol
fo rmat setting
statu s determine setting re ad fixture statu s
re ad re cord
ra w setting
combined statu s
re cord calculate output values values
send contro l value
fixture se ttin g
fo rmat re port
re port
asse mb ly re cord start /stop
40
process operator commands command input controller read command
validate command
determine type
produce error message
fixture status controller
report generation controller
send control value
each of the action paths must be expanded further
41
process operator commands command input controller read command
validate command
read fixture status
determine type
produce error message
determine setting
fixture status controller
format setting
report generation controller
read record
send control value
calculate output values
format report 42