Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
1
JSD
2
Cara Programmer menghadapi Software Engineering
Lewati fase spesifikasi kebutuhan dan desain Mulai menulis kode program
3
Kenapa? Desain dianggap membuang waktu
Programmer harus secepatnya menunjukkan hasil ke konsumen Kinerja programmer dilihat dari jumlah LOC/bulan Kemungkinan jadwal yang sempit
4
Kenyataannya Membuat program berdasarkan desain akan mempercepat penyelesaian pembuatan program Namun Proses desain bersifat trial-and-error Proses ≠ Hasil Ada kesinambungan antara spesifikasi kebutuhan, arsitektur dan desain See also the architecture chapter © SE, Design, Hans van Vliet
5
Metode Desain Functional decomposition Data Flow Design (SA/SD)
Design based on Data Structures (JSD/JSP)
6
Sample of design methods
Decision tables E-R Flowcharts FSM JSD JSP LCP Meta IV NoteCards OBJ OOD PDL Petri Nets SA/SD SA/WM SADT SSADM Statecharts
7
Functional decomposition
bottom-up top-down
8
Functional decomposition
Extremes: bottom-up and top-down Desain tidak selalu sesuai/rasional: Klien tidak tahu apa yang mereka inginkan Keputusan awal akan mengalami perubahan Kesalahan manusia Proyek tidak dimulai dari nol Desain umumnya bersifat bolak-balik Proses desain bersifat perkiraan/mendekati kebenaran Mention another important article by David Parnas © SE, Design, Hans van Vliet
9
Data flow design Yourdon and Constantine (early 70s)
Proses dua langkah secara umum: Structured Analysis (SA), berupa logical design, digambarkan sebagai data flow diagrams Structured Design (SD) merubah logical design kedalam program structure digambarkan sebagai structure charts
10
Design based on data structures (JSP & JSD)
JSP = Jackson Structured Programming JSD = Jackson Structured Design In the slides, we only discuss JSP. JSD is of historical interest, but little used now © SE, Design, Hans van Vliet
11
JSP Program yang baik menyesuaikan dengan struktur input dan output
Program dapat dibuat secara mekanik dari deskripsi input dan output input dan output digambarkan menggunakan structure diagram atau structured text/schematic logic (pseudocode) 3 komponen dasar JSP: sequence, iteration, dan selection © SE, Design, Hans van Vliet
12
Compound components in JSP
13
Compound components in JSP
B A * iteration B C D A o selection A B C D sequence © SE, Design, Hans van Vliet
14
Compound components in JSP
Sequence direpresentasikan dengan kotak polos, dijalankan dari kiri ke kanan Selection direpresentasikan dengan kotak yang ditandai lingkaran Bagian akhir diartikan sebagai conditionless / ELSE Iteration direpresentasikan dengan kotak yang ditandai asterisk Ketiga bentuk ini tidak dapat dicampur dalam sebuah cabang(1 kotak)
15
JSP procedure Gambar setiap data stream input dan output
Gabungkan semuanya untuk membuat program JSD Buat daftar operasi yang harus dilakukan program dan alokasikan setiap operasi dalam 1 blok Konversikan blok program ke dalam teks sesuai urutan tanpa kondisi Masukkan kondisi untuk setiap selection dan iteration
16
Karakteristik JSP JSP dikonsentrasikan untuk pengembangan algoritma menggunakan JSD yang disesuaikan dengan pseudo-code untuk spesifikasi proses. Memiliki hasil struktur program yang sesuai dengan struktur pekerjaan JSP mendekomposisi prosedur Tidak mempermasalahkan modularity Mentransformasikan urutan data statis menjadi urutan operasi yang dinamis(berdasarkan waktu eksekusi)
17
Sequence
18
Selection
19
Selection (If then else)
Tidak harus T/F
20
Selection
21
Iterasi
22
Iterasi
23
Prosedur
24
Data & return values
25
Perbandingan hitung jumlah
26
Absensi
27
Contoh: Pom Bensin Sebuah pom bensin memiliki pompa untuk diesel dan petrol. Pada pompa diberikan computer yang menampilkan harga dan volume bensin. Ketika selang dikembalikan ke pompa, computer akan memberikan record data pembelian ke komputer kasir. Record berupa detail transaksi yaitu: Identitas pompa; jenis bensin; volume bensin. Kasir dan konsumen akan mendapatkan total biaya per transaksi.
28
1: Gambar JSD input/output
JSD output
29
2: Buat JSD untuk program
Gabungkan input dan output Verifikasi bahwa program tree konsisten dengan input (C[consume]) dan output (P[produce])
30
Comparison
31
Tuliskan leaf elements ke Diagram
3: Buat daftar operasi untuk blok program Inputs: Outputs: 1. Ambil identitas pompa 5. Tulis identitas pompa 2. Ambil tipe bensin Tulis volume bensin 3. Ambil volume bensin 7. Tulis biaya ke konsumen 4. Kalikan harga bensin dengan volume Tuliskan leaf elements ke Diagram
32
4: Konversikan ke teks
33
5: Masukkan kondisi
34
Perbandingan
35
Perbandingan
36
Tipe Structure clash Ordering clash: Data disortir dengan cara yang berbeda Boundary clash: data dikelompokkan dengan kriteria yang berbeda (jenis input & output berbeda) Multi-threading clash: unit data input overlap
37
Program inversion Program inversion menyortir sebuah input agar sama dengan input lainnya: Mengatasi ordering clash menggunakan intermediate file
38
Klasifikasi metode desain
problem-oriented product-oriented I ER modeling Structured analysis II Structured design conceptual III JSD VDM IV Functional decomposition JSP formal
39
Karakteristik klasifikasi
ER modeling Structured analysis II Structured design III JSD VDM IV Functional decomposition JSP I: mengerti permasalahan II: mengubah menjadi implementasi III: merepresentasikan properties IV: menciptakan unit implementasi
40
Metode terbaik? Kebiasaan Pengalaman Alat yang ada
Filosofi pengembangan
41
METODE WARNIER/ORR
42
Sejarah Metodologi pengembangan sistem ini pertama kali dikembangkan tahun 1970 oleh Jean Domique Warnier dari Paris.Kemudian dikembangkan lebih lanjut untuk desain sistem oleh Ken Orr dari Kansas Metodologi W/O menggunakan alat yg disebut dengan diagram W/O, yg secara lintas mirip dengan bagan berjenjang yg diputar.
43
Kegunaan Representasi grafis dari algoritma
Membantu programmer menentukan masalah yang harus diselesaikan. Mengurangi kompleksitas program. Membantu mengerti struktur logika Mudah dibuat dan dimengerti Membantu mengidentifikasi input, output, kombinasi input untuk setiap proses
45
Urutan Backward read for input combination
46
Repetisi (N)
47
Seleksi (XOR ; (0,1))
48
Rekursi
49
Pertemuan akhir selesai
:D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.