Teknik Informatika S1 Rekayasa Perangkat Lunak Lanjut Overview: Perancangan Terstruktur Disusun Oleh: Egia Rosi Subhiyakto, M.Kom, M.CS Teknik Informatika UDINUS egia@dsn.dinus.ac.id +6285740278021
SILABUS MATA KULIAH 1. Pendahuluan 2. Overview: Analisis Terstruktur 3. Overview: Perancangan Terstruktur 4. Introduction Web App + Req. Web App 5. Konsep Dasar Web Engineering 6. Introduction OOA (UML) + Penugasan (Tim dan Topik) 7. OOA + Presentasi Awal Topik
Review Perancangan Terstruktur (2) Apa tujuan perancangan? Memodelkan SOLUSI agar siap diimplementasikan (dibuat program-nya)
Review Perancangan Terstruktur (2) Apa yang dimodelkan pada tahap perancangan? 1. Perancangan Arsitektural: Struktur Modul 2. Perancangan Antarmuka: Antarmuka dengan pengguna Antarmuka dengan S/W lain atau H/W Antarmuka antar-modul 3. Perancangan Data: Struktur Data dan Skema Basis Data 4. Perancangan Prosedural / Component-Level: Algoritma
Analysis to Design
Design Principles Should consider alternative approaches Harus mempertimbangkan pendekatan alternatif
Design Principles Should be traceable to the analysis model Harus dirujuk dari model analisis
Design Principles Should minimize the intellectual distance Haruskah "meminimalkan jarak intelektual"
Design Principles Should exhibit uniformity and integration Harus menampakkan keseragaman dan integrasi
Design Principles Should be structured to accommodate change Harus terstruktur untuk mengakomodasi perubahan
Design Principles Should be structured to degrade gently Harus terstruktur untuk mendegradasi lembut
Design Principles Design is not coding, coding is not design Desain bukan coding, coding bukan desain
Design Principles Should be assessed for quality Harus dinilai untuk kualitas
Design Principles Should be reviewed to minimize conceptual (semantic) error Harus direview untuk meminimalkan konseptual (semantik) error
Review Arsitektural Design Struktur Modul Apa yang digambarkan oleh struktur modul? Bagaimana langkah-langkah perancangan arsitektural? Sebutkan elemen struktur modul!
Review Arsitektural Design Struktur Modul (2) Apa yang digambarkan oleh struktur modul? Modul-modul P/L dan keterkaitannya
Review Arsitektural Design Struktur Modul (2) Bagaimana langkah-langkah perancangan arsitektural? Identifikasi jenis aliran pada DFD transform flow atau transaction flow Cari batas incoming flow dan outgoing flow pada DFD Gambarkan hirarki modulnya
Review Arsitektural Design Struktur Modul (2) Sebutkan elemen struktur modul! Modul Keterkaitan antar-modul
Review Arsitektural Design Struktur Modul (3) Kesalahan umum: Perancangan modul dibuat tanpa mengacu pada DFD Tiap modul belum dilengkapi dengan daftar fungsi yang harus disediakan modul
Flow Characteristics Transform flow Transaction flow
Transform Mapping a b d e f g h c data flow model i j x1 "Transform" mapping x2 x3 x4 b c d e f g i a h j
Factoring direction of increasing decision making typical "decision making" modules typical "worker" modules
First Level Factoring main program controller input controller processing controller output controller
Second Level Mapping D B C A control main A C B mapping from the flow boundary outward D
Transaction Flow incoming flow T action path
Transaction Mapping a b data flow model x1 t l m g d n h e i j f k Mapping b t a x2 x3 x4 d e f g h x3.1 l m n i j k
EMPLOYEES Diagram 1 EDIT-HOURS- WORKED- TRANSACTION VALID-HOURS- WORKED PAY-RATE EMPLOYEE- RECORD CALCULATE- EMPLOYEE- PAYCHECK- AMOUNT PAYCHECK- AMOUNT EMPLOYEE-HOURS- WORKED- TRANSACTION 1.1 1.2 1.3 UPDATE- EMPLOYEE- RECORD 1.4 PRODUCE- EMPLOYEE- PAYCHECK EMPLOYEE-PAYCHECK EMPLOYEE- PAYCHECK- DETAIL GENERAL-LEDGER-ACCOUNT-NUMBER PAYCHECK- AMOUNT PAYROLL-AUDIT-TRAIL PAYROLL-VOUCHER
EDIT-HOURS- WORKED- TRANSACTION CALCULATE- EMPLOYEE- PAYCHECK- AMOUNT UPDATE- EMPLOYEE- RECORD PRODUCE- EMPLOYEE- PAYCHECK PRODUCE- REPORTING
EMPLOYEES Diagram 1.1 EMPLOYEE-RECORD 1.1.1 VERIFY- EMPLOYEE- NUMBER PAY-RATE EMPLOYEE-NAME-AND- NUMBER REGULAR- HOURS- WORKED OVERTIME- HOURS- WORKED INVALID- REGULAR- HOURS- WORKED INVALID- OVERTIME- HOURS- WORKED 1.1.2 EDIT- REGULAR- HOURS- WORKED 1.1.3 EDIT- OVERTIME- HOURS- WORKED VALID-REGULAR-HOURS-WORKED VALID-OVERTIME-HOURS-WORKED
EDIT-HOURS- WORKED- TRANSACTION CALCULATE- EMPLOYEE- PAYCHECK- AMOUNT EDIT- REGULAR- HOURS- WORKED EDIT- OVERTIME- HOURS- WORKED UPDATE- EMPLOYEE- RECORD PRODUCE- EMPLOYEE- PAYCHECK PRODUCE- REPORTING VERIFY- EMPLOYEE- NUMBER
Review: Perancangan Antarmuka Apa yang dihasilkan pada perancangan antarmuka? Apa arahan untuk merancang antarmuka?
Review: Perancangan Antarmuka Apa yang dihasilkan pada perancangan antarmuka? Inter-modular interface design External interface design Human-computer interface design
Review: Perancangan Antarmuka Apa arahan untuk merancang antarmuka? Three golden rules Theo Mandel Place user in control Reduce the user s memory load Make the interface consistent
Review: Perancangan Data Apa yang dihasilkan dari perancangan data? Bagaimana tahapan merancang data?
Review: Perancangan Data Apa yang dihasilkan dari perancangan data? 1. Struktur data 2. Skema basis data 3. Rancangan detil tiap tabel: Nama, deskripsi, volume, field, key, dll
Review: Perancangan Data Bagaimana tahapan merancang data (sederhana)? 1. Review ERD 2. Petakan menjadi skema basis data Entity tabel Relasi: N ke M jadi tabel 1 ke N jadi tabel 1 ke 1 dititipkan
Review: Perancangan Data Mahasiswa 0..N 0..M Mata Kuliah Mengambil
Skema Basis Data Tabel Mahasiswa o NIM, Nama, Alamat, Tabel Mata Kuliah o KD_Kul, Nama_Kul, SKS Tabel Pengambilan_Kuliah o Sem, Thn, NIM, Kd_Kul, Nilai
Review: Perancangan Prosedural Apa yang dihasilkan dari perancangan prosedural? Notasi apa yang bisa digunakan?
Review: Perancangan Prosedural Apa yang dihasilkan dari perancangan prosedural? Rancangan detil tiap modul dan fungsi
Review: Perancangan Prosedural Notasi apa yang bisa digunakan? Flowcharts Box diagrams (Nassi-Scheidnerman charts) Decision table Program Design Language
Review: Assessment Criteria Modularity notation supports development of modular software Overall simplicity easy to learn, easy to use, easy to write Ease of editing easy to modify design representation when changes are necessary Machine readability notation can be input directly into a computer-based development system Maintainability maintenance of the configuration usually involves maintenance of the procedural design representation
Review: Assessment Criteria (2) Structure enforcement enforces the use of structured programming constructs Automatic processing allows the designer to verify the correctness and quality of the design Data representation ability to represent local and global data directly Logic verification automatic logic verification improves testing adequacy Easily converted to program source code makes code generation quicker
TERIMA KASIH