IF3037 Rekayasa Perangkat Lunak Lanjut
description
Transcript of IF3037 Rekayasa Perangkat Lunak Lanjut
IF-ITB/YW/Agustus 2008IF3037 Overview Analisis Terstruktur
Page 1
IF3037 Rekayasa Perangkat Lunak LanjutIF3037 Rekayasa Perangkat Lunak Lanjut
Program Studi Teknik InformatikaProgram Studi Teknik InformatikaSTEI ITBSTEI ITB
Overview Analisis TerstrukturOverview Analisis Terstruktur
IF-ITB/YW/Agustus 2008IF3037 Overview Analisis Terstruktur
Page 2
Review Analisis TerstrukturReview Analisis TerstrukturApa tujuan analisis ?Apa tujuan analisis ?Apa yang dimodelkan pada tahap analisis ?Apa yang dimodelkan pada tahap analisis ?Apa keterkaitan antar model analisis ?Apa keterkaitan antar model analisis ?
* SEPA 6th ed, Roger S. Pressman
IF-ITB/YW/Agustus 2008IF3037 Overview Analisis Terstruktur
Page 3
Review Analisis Terstruktur (2)Review Analisis Terstruktur (2)Apa tujuan analisis ?Apa tujuan analisis ? Memodelkan Memodelkan PROBLEMPROBLEM agar lebih mudah dipahami dan agar lebih mudah dipahami dan
siap di-design solusinyasiap di-design solusinyaApa yang dimodelkan pada tahap analisis ?Apa yang dimodelkan pada tahap analisis ? Pemodelan fungsional: DFDPemodelan fungsional: DFD Pemodelan data: ERDPemodelan data: ERD Pemodelan Pemodelan behaviourbehaviour: STD: STDApa keterkaitan antar model analisis ?Apa keterkaitan antar model analisis ? Data store (DFD) vs entitas/relasi (ERD)Data store (DFD) vs entitas/relasi (ERD) Process (DFD) vs aksi (STD)Process (DFD) vs aksi (STD) Harus dipastikan agar konsistenHarus dipastikan agar konsisten
IF-ITB/YW/Agustus 2008IF3037 Overview Analisis Terstruktur
Page 4
Review DFDReview DFD
Apa yang dimodelkan pada DFD ?Apa yang dimodelkan pada DFD ?Sebutkan elemen DFD !Sebutkan elemen DFD !
IF-ITB/YW/Agustus 2008IF3037 Overview Analisis Terstruktur
Page 5
Review DFD (2)Review DFD (2)
Apa yang dimodelkan pada DFD ?Apa yang dimodelkan pada DFD ? Proses dan aliran data antar prosesProses dan aliran data antar proses Proses pada DFD level 1 berkaitan dengan Proses pada DFD level 1 berkaitan dengan
kebutuhan fungsionalitas P/Lkebutuhan fungsionalitas P/LSebutkan elemen DFD !Sebutkan elemen DFD ! External EntityExternal Entity ProcessProcess Data flowData flow Data storeData store
IF-ITB/YW/Agustus 2008IF3037 Overview Analisis Terstruktur
Page 6
Review Elemen DFDReview Elemen DFD
External EntityExternal Entity Bagaimana mengidentifikasi Bagaimana mengidentifikasi external entity external entity ?? Bagaimana memberi nama Bagaimana memberi nama external entity external entity ?? Kesalahan umum terkait Kesalahan umum terkait external entityexternal entity::
Tidak lengkap digambarkanTidak lengkap digambarkan
IF-ITB/YW/Agustus 2008IF3037 Overview Analisis Terstruktur
Page 7
Review Elemen DFD (2)Review Elemen DFD (2)
ProcessProcess Bagaimana mengidentifikasi Bagaimana mengidentifikasi processprocess ? ? Bagaimana memberi nama Bagaimana memberi nama processprocess ? ? Bagaimana menurunkan Bagaimana menurunkan processprocess ke level ke level
berikutnya ?berikutnya ? Sampai kapan Sampai kapan processprocess perlu diturunkan ? perlu diturunkan ? Kesalahan umum terkait Kesalahan umum terkait processprocess::
Penamaan Penamaan processprocessProcessProcess yang tidak punya data masukan yang tidak punya data masukan “magic” “magic”ProcessProcess yang tidak punya data keluaran yang tidak punya data keluaran “black hole” “black hole”
IF-ITB/YW/Agustus 2008IF3037 Overview Analisis Terstruktur
Page 8
Review Elemen DFD (3)Review Elemen DFD (3)Aliran dataAliran data Bagaimana mengidentifikasi aliran data ?Bagaimana mengidentifikasi aliran data ? Bagaimana menamakan data ?Bagaimana menamakan data ? Apa itu kamus data ?Apa itu kamus data ? Bagaimana membuat kamus data ?Bagaimana membuat kamus data ? Kesalahan umum terkait aliran data:Kesalahan umum terkait aliran data:
Penamaan data terlalu generik, mis.: DATA, LAPORANPenamaan data terlalu generik, mis.: DATA, LAPORAN““Tramp data”; data keluar masuk proses tetapi tidak berubah namaTramp data”; data keluar masuk proses tetapi tidak berubah namaData mengalir langsung dari external entity ke data storeData mengalir langsung dari external entity ke data storeData mengalir dari data store ke data storeData mengalir dari data store ke data storeAda aliran data dari external entity yang satu ke external entity Ada aliran data dari external entity yang satu ke external entity lainnyalainnyaAliran data antar level TIDAK BALANCE Aliran data antar level TIDAK BALANCE gunakan gunakan toolstools
IF-ITB/YW/Agustus 2008IF3037 Overview Analisis Terstruktur
Page 9
Review Elemen DFD (4)Review Elemen DFD (4)Data StoreData Store Apa yang dimodelkan data store ?Apa yang dimodelkan data store ? Bagaimana menamakan data store ?Bagaimana menamakan data store ? Kesalahan umum terkait data store:Kesalahan umum terkait data store:
Data store terlalu generik, mis.: DATA, LAPORAN, Data store terlalu generik, mis.: DATA, LAPORAN, BASISDATABASISDATAData store terlalu detil, mis.: UMUR, ALAMATData store terlalu detil, mis.: UMUR, ALAMATData store tidak pernah diisi, hanya dibaca sajaData store tidak pernah diisi, hanya dibaca sajaData store tidak pernah dibaca, hanya diisi sajaData store tidak pernah dibaca, hanya diisi saja
IF-ITB/YW/Agustus 2008IF3037 Overview Analisis Terstruktur
Page 10
Contoh Diagram KonteksContoh Diagram Konteks
EMPLOYEE
GENERAL-LEDGER
MANAGEMENT
0PAYROLL
EMPLOYEE-MAINTENANCE-TRANSACTION
EMPLOYEE-HOURS-WORKED-TRANSACTION
EMPLOYEE-PAYCHECK
EMPLOYEE-PAY-RATE-TRANSACTION
PAYROLL-AUDIT-TRAIL
EMPLOYEE-MAINTENANCE-AUDIT-TRAIL
PAYROLL-VOUCHER
PAYROLL-AUDIT-TRAIL
GENERAL-LEDGER-ACCOUNT-NUMBER
Context Diagram
10
IF-ITB/YW/Agustus 2008IF3037 Overview Analisis Terstruktur
Page 11
Contoh DFD Level 1Contoh DFD Level 1
2MAINTAIN-EMPLOYEE-
RECORD
1PRODUCE-
EMPLOYEE-PAYCHECK
EMPLOYEE-MAINTENANCE-TRANSACTION
EMPLOYEE-PAY-RATE-TRANSACTION
EMPLOYEE-HOURS-WORKED-TRANSACTION
GENERAL-LEDGER-ACCOUNT-NUMBER
PAYROLL-AUDIT-TRAIL
PAYROLL-VOUCHER
EMPLOYEE-PAYCHECK
EMPLOYEE-MAINTENANCE-AUDIT-TRAIL
11
EMPLOYEE
IF-ITB/YW/Agustus 2008IF3037 Overview Analisis Terstruktur
Page 12
Review ERDReview ERD
Apa yang dimodelkan pada ERD ?Apa yang dimodelkan pada ERD ?Apa elemen ERD ?Apa elemen ERD ?
IF-ITB/YW/Agustus 2008IF3037 Overview Analisis Terstruktur
Page 13
Review ERD (2)Review ERD (2)
Apa yang dimodelkan pada ERD ?Apa yang dimodelkan pada ERD ? Data yang harus dikelola perangkat lunak dan Data yang harus dikelola perangkat lunak dan
relasinyarelasinya
Apa elemen ERD ?Apa elemen ERD ? Entity/EntitasEntity/Entitas Relationship/RelasiRelationship/Relasi AtributAtribut KardinalitasKardinalitas ModalitasModalitas
IF-ITB/YW/Agustus 2008IF3037 Overview Analisis Terstruktur
Page 14
Review Elemen ERDReview Elemen ERD
Entity/EntitasEntity/Entitas Apa yang dimodelkan oleh entitas ?Apa yang dimodelkan oleh entitas ? Bagaimana menamakan entitas ?Bagaimana menamakan entitas ? Kesalahan umum terkait entitas:Kesalahan umum terkait entitas:
Entitas hanya akan mempunyai 1 data, mis.: Entitas hanya akan mempunyai 1 data, mis.: PERUSAHAAN, padahal data perusahaan hanya ada 1PERUSAHAAN, padahal data perusahaan hanya ada 1Entitas terlalu detil, mis.: UMUR, ALAMATEntitas terlalu detil, mis.: UMUR, ALAMAT
Entitas vs atributEntitas vs atribut
Penamaan entitas tidak jelas, mis.: BASISDATAPenamaan entitas tidak jelas, mis.: BASISDATA
IF-ITB/YW/Agustus 2008IF3037 Overview Analisis Terstruktur
Page 15
Review Elemen ERD (2)Review Elemen ERD (2)
Relationship/RelasiRelationship/Relasi Apa yang dimodelkan oleh relasi ?Apa yang dimodelkan oleh relasi ? Bagaimana menamakan relasi ?Bagaimana menamakan relasi ? Kesalahan umum terkait relasi:Kesalahan umum terkait relasi:
Penamaan kurang pasPenamaan kurang pas Belum tergambar dengan lengkapBelum tergambar dengan lengkap
IF-ITB/YW/Agustus 2008IF3037 Overview Analisis Terstruktur
Page 16
Review Elemen ERD (3)Review Elemen ERD (3)
AtributAtribut Apa yang dimodelkan oleh atribut ?Apa yang dimodelkan oleh atribut ? Bagaimana menamakan atribut ?Bagaimana menamakan atribut ? Kesalahan umum terkait atribut:Kesalahan umum terkait atribut:
Penamaan kurang pasPenamaan kurang pas Atribut tidak menggambarkan properti entitas atau Atribut tidak menggambarkan properti entitas atau relasirelasi Tidak teridentifikasi dengan lengkapTidak teridentifikasi dengan lengkap
IF-ITB/YW/Agustus 2008IF3037 Overview Analisis Terstruktur
Page 17
Review Elemen ERD (4)Review Elemen ERD (4)
KardinalitasKardinalitas Apa yang dimodelkan oleh kardinalitas ?Apa yang dimodelkan oleh kardinalitas ? Bagaimana menentukan kardinalitas ?Bagaimana menentukan kardinalitas ?
ModalitasModalitas Apa yang dimodelkan oleh modalitas ?Apa yang dimodelkan oleh modalitas ? Bagaimana menentukan modalitas ?Bagaimana menentukan modalitas ?
IF-ITB/YW/Agustus 2008IF3037 Overview Analisis Terstruktur
Page 18
Contoh ERDContoh ERD
Mahasiswa
Mata KuliahMengambil
IF-ITB/YW/Agustus 2008IF3037 Overview Analisis Terstruktur
Page 19
Contoh ERD (2)Contoh ERD (2)
IF-ITB/YW/Agustus 2008IF3037 Overview Analisis Terstruktur
Page 20
Review STDReview STD
Apa yang dimodelkan pada STD ?Apa yang dimodelkan pada STD ?Apa elemen STD ?Apa elemen STD ?
IF-ITB/YW/Agustus 2008IF3037 Overview Analisis Terstruktur
Page 21
Review STD (2)Review STD (2)
Apa yang dimodelkan pada STD ?Apa yang dimodelkan pada STD ? Aspek dinamis perangkat lunakAspek dinamis perangkat lunak
Apa elemen STD ?Apa elemen STD ? StateState EventEvent ActionAction
IF-ITB/YW/Agustus 2008IF3037 Overview Analisis Terstruktur
Page 22
Review Elemen STDReview Elemen STD
StateState Bagaimana mengidentifikasi state ?Bagaimana mengidentifikasi state ? Bagaimana menamakan state ?Bagaimana menamakan state ?EventEvent Bagaimana mengidentifikasi event ?Bagaimana mengidentifikasi event ? Bagaimana menamakan event ?Bagaimana menamakan event ?ActionAction Bagaimana mengidentifikasi action ?Bagaimana mengidentifikasi action ? Bagaimana menamakan action ?Bagaimana menamakan action ?
IF-ITB/YW/Agustus 2008IF3037 Overview Analisis Terstruktur
Page 23
Contoh STDContoh STD
Minuman tersedia = 0
Terima koin baru
Menunggu koin
Menunggu masukan pilihan
Mengeluarkan minuman
Mengembalikan pembayaran
inisialisasi
Kembalikan pembayaran
Permintaan pengembalian koin
Kembalikan pembayaran
Terima koin baru
Pembayaran dikembalikan
Terima permintaan
Koin sah terdeteksi
Keluarkan minuman
Pembayaran mencukupiTerima koin baru
Minuman dikeluarkan