IF2036 Software Engineering Architectural Design Program Studi Teknik Informatika STEI ITB
Structured Design objective: to derive a program architecture that is partitioned approach: the DFD is mapped into a program architecture the PSPEC and STD are used to indicate the content of each module notation: structure chart Add 1. Tujuan : untuk mendapatkan sebuah arsitektur program yang disekat-sekat Add 2. DFD dipetakan ke dalam sebuah arsitektur program PSEC dan STD digunakan untuk menindikasi isi dari setiap modul Add 3. Notasi : Structure chart
Structured Design (2) Architectural design Interface design Data design Procedural design/component-level design Perancangan arsitektur Rancangan interface Perancgan data Perancangan prosedural/ komponen
Architectural Design Mapping Requirements to Software Architecture Establish type of information flow (transform flow - overall data flow is sequential and flows along a small number of straight line paths; transaction flow - a single data item triggers information flow along one of many paths) Flow boundaries indicated DFD is mapped into program structure Control hierarchy defined Resultant structure refined using design measures and heuristics Architectural description refined and elaborated Add 1. PEnetapan jenis aliran informasi Add 2. Indikasi cakupan aliran Add 3. DFD dipetakan ke dalam struktur program Add 4. mendefinisikan tingkatan kontrol Add 5. Menghasilkan struktur yang disaring menggunakan rancangan ukuran dan heuristic Add 5. akibat sturktur yang disaring menggunakan rancangan ukuran dan tingkatan Add 6. Penjelasan Arsitektur disaring dan dirinci
Flow Characteristics Transform flow Transaction flow
General Mapping Approach isolate incoming and outgoing flow boundaries; for transaction flows, isolate the transaction center working from the boundary outward, map DFD transforms into corresponding modules add control modules as required Add 1 memisahkan aliran incoming dan outgoing; untuk aliran transaksi, pisahkan pusat transaksi Add 2. BEkerja dari batas sebelah luar, memetakan dfd ke dalam modul Add 3. MEnambah modul kontrol bila dibutuhkan Add 4. Menyaring hasil struktur program menggunakan konsep modul yang efektif refine the resultant program structure using effective modularity concepts
Transform Mapping
Factoring
First Level Factoring main program controller output input processing
Second Level Mapping
Transaction Flow incoming flow action path T
Transaction Example fixture fixture setting servos commands operator process report display operator commands screen robot control robot control software Fixture= perlengkapan assembly record in reality, other commands would also be shown
Transaction Mapping Principles 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 Memisahkan jalur aliran kedatangan Mendefinisikan setiap jalur aksi yang dicari “berbicara dari kemudi” Mengakses aliran dalam tiap jlur aksi Mendefinisikan pengiriman dan struktur kontrol Memetakan tiap aliran jalur aksi individu map each action path flow individually
Transaction Mapping
Map the Flow Model
Refining Architectural Design Processing narrative developed for each module Interface description provided for each module Local and global data structures are defined Design restrictions/limitations noted Design reviews conducted Refinement considered if required and justified Memperhalus PErancangan Arsitektur Pemrosesan naratif dibangun untuk tiap modul Deskripsi interface disediakan untuk tiap modul Struktur data lokal dan global diefinisikan Pematasan/ batasan rancangan dicatat Review perancangan dilakukan Penghalusan dibandingakn jika dibutuhkan dan dibenarkan
Refined Structure Chart
Architecture Design Assessment Questions How is control managed within the architecture? Does a distinct control hierarchy exist? How do components transfer control within the system? How is control shared among components? What is the control topology? Is control synchronized or asynchronous? How are data communicated between components? Is the flow of data continuous or sporadic? What is the mode of data transfer? Do data components exist? If so what is their role? How do functional components interact with data components? Are data components active or passive? How do data and control interact within the system? Bagaimana kendali mengatur arsitektur ? Bagaimana komponen transfer mengontrol sistem ? Bagaimana kendali menshare sepanjang komponen ? Bagaimana komunikasi data antar komponen ? Apa mode transfer data ? Apa yang komponen data keluarkan ? Bila iya apa aturannya ? Bagaimana komponen fungsional berinteraksi dengan komponen data ? Apakah komponen data nya aktif atau pasif ? Bagaimana data dan kontrol berinteraksi dengan sistem ?