1 JSD Cara Programmer menghadapi Software Engineering Lewati

















































- Slides: 49
1 JSD
Cara Programmer menghadapi Software Engineering Lewati fase spesifikasi kebutuhan desain Mulai menulis kode program 2
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
5 Metode Desain Functional decomposition Data Flow Design (SA/SD) Design based on Data Structures (JSD/JSP)
6 Sample of design methods Decision tables OOD E-R PDL Flowcharts Petri Nets FSM SA/SD JSD SA/WM JSP SADT LCP SSADM Meta IV Statecharts Note. Cards OBJ
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
9 Data flow design Yourdon and Constantine (early 70 s) 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
Design based on data structures (JSP & JSD) JSP = Jackson Structured Programming JSD = Jackson Structured Design 10
11 JSP Program yang baik menyesuaikan dengan struktur input dan output Program dapat dibuat secara mekanik dari deskripsi input dan output digambarkan menggunakan structure diagram atau structured text/schematic logic (pseudocode) 3 komponen dasar JSP: sequence, iteration, dan selection
12 Compound components in JSP
13 Compound components in JSP B sequence iteration A A C D B* selection A o B C o o D
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
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 dikonsentrasikan untuk pengembangan algoritma menggunakan JSD yang disesuaikan dengan pseudocode 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.
1: Gambar JSD input/output JSD input 28 JSD output
2: Buat JSD untuk program 29 Gabungkan input dan output Verifikasi bahwa program tree konsisten dengan input (C[consume]) dan output (P[produce])
Comparison 30
3: Buat daftar operasi untuk blok program Inputs: Outputs: 1. Ambil identitas pompa 5. Tulis identitas pompa 2. Ambil tipe bensin 6. Tulis volume bensin 3. Ambil volume bensin 7. Tulis biaya ke konsumen 4. Kalikan harga bensin dengan volume Tuliskan leaf elements ke Diagram 31
32 4: Konversikan ke teks
33 5: Masukkan kondisi
34 Perbandingan
Perbandingan 35
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 menyortir sebuah input agar sama dengan input lainnya: Mengatasi ordering clash menggunakan intermediate file
38 Klasifikasi metode desain problem-oriented product-oriented conceptual I ER modeling Structured analysis II Structured design formal III JSD VDM IV Functional decomposition JSP
39 Karakteristik klasifikasi I 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
44
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 ”