View
244
Download
5
Embed Size (px)
Citation preview
Unified Modeling Language (UML)
What is UML ?What is UML ?
“UML is a graphical language for visualizing, specifying, constructing, and documenting the artifacts of a software intensive system.
The UML offers a standard way to write a system’s blueprints, including conceptual things such as business processes and system functions as well as concrete things such as programming language statements, database schemas, and reusable software components”
UML…
• bahasa grafik utk. melihat dan memahami dgn. lebih jelas
• menspesifikasi, membina dan mendokumenkan ARTIFACT : output setiap fasa/tahap pembangunan
• kaedah piawai utk. menulis BLUEPRINTS : dokumen/pelan projek bagi
Bahan KoseptualProses perniagaan & fungsi sistem
Bahan KonkritPangkalan data, bahasa pengaturcaraan, penggunaan semula komponen perisian
UML…
• INGAT ! UML ialah ‘bahasa’ untuk menspesifikasi dan bukannya satu kaedah atau prosidur
• digunakan utk. mendefinasikan sistem perisian
• utk. memperincikan lagi artifact sistem
• bahasa yg. digunakan utk. menulis dokumen/ blueprint
UML…
• UML boleh digunakan utk. menyokong pelbagai metodologi pembangunan perisian (cth. Rational Unified Process) ;
• TETAPI, UML dengan sendirinya tidak menspesifikasikan metodologi atau proses yang tertentu
UML…
• UML mendefinasikan notasi bagi domain berikut:
Interaksi Pengguna (User Interaction) Interaksi (Interaction) Dinamik (Dynamic) Logikal (Logical) Komponen Fizikal(Physical Component) Strategi Fizikal (Pyhsical Deployment)
UML…
Interaksi Pengguna (User Interaction)
- menerangkan sempadan dan interaksi antara sistem dan pengguna.- Cth : Use Case Model
Interaksi (Interaction)
- menerangkan bagaimana objek di dalam sistem berinteraksi antara satu sama lain utk. melaksanakan suatu tugas- Cth : Collaboration Model
UML…
Dinamik (Dynamic)
- Digunakan utk. menerangkan dan memodelkan kelakuan sistem sepanjang ia beroperasi- Cth : Activity Diagram, State Diagram,
Sequence Diagram
Logikal (Logical)
- Menerangkan kelas dan objek bagi sistem- Cth : Class Model
UML…
Komponen Fizikal(Physical Component)- Menerangkan komponen perisian yg. akan digunakan utk. membangunkan sistem- Cth : Component Model
Strategi Fizikal (Pyhsical Deployment)- Menerangkan senibina fizikal dan strategi penyusunan komponen dalam senibina perkakasan- Cth : Physical/Deployment Model
Pengenalan : USE CASE
Keperluan fungsian yg. ditawarkan oleh sistem:KELAKUAN SISTEM yang akan dibangunkan
KELAKUAN sistem didokumenkan dalam MODEL USE CASE
MODEL USE CASE ????• ilustrasikan fungsi-fungsi sistem (use cases)• persekitaran (actors)• hubungan antara use cases dan actors (Use case Diagram)• Ia membolehkan komunikasi antara pelanggan, pengguna dan pembangun perisian
ACTORS (pelakon)
• BUKAN sebahagian drp. sistem
• mewakili sesiapa atau sebarang item yang berinteraksi dengan sistem
• ACTOR mungkin hanya:
1. Input maklumat ke dalam sistem2. Menerima maklumat drp. sistem3. Input dan terima maklumat ke dalam /dari sistem
ACTORS…
• Persoalan di bawah boleh digunakan utk. mengenalpasti ACTORS bagi sesebuah sistem :
• Siapa yang terlibat dalam sesuatu keperluan?
• Di mana sistem itu digunakan dalam organisasi?
• Siapa yang benefit bila menggunakan sistem?
• Siapa yang input/guna/hapus maklumat dari sistem?
• Siapa yang sokong/menyelenggara sistem?
• Adakah sistem menggunakan sumber luaran?
• Adakah seorang memainkan pelbagai peranan?
• Adakah ramai orang memainkan hanya satu peranan?
• Adakah sistem berinteraksi dengan sistem legasi?
ACTORS…
ACTORS…Contoh ACTOR :
Sistem Pendaftaran Kursus
PelajarProfessorPendaftarSistem Kewangan Contoh ACTOR :
Sistem Perpustakaan
PelajarPustakawan
• Memodelkan dialog antara ACTOR dan sistem
• Mewakili fungsi yang disediakan oleh sistem
• Apakah perkhidmatan yg. ditawarkan kepada actor oleh sistem?
• Koleksi USE CASES menunjukkan cara-cara sistem itu boleh digunakan
• Definasi USE CASE :
Merupakan satu siri transaksi yang dilaksanakan oleh sistem di mana nilai ACTOR boleh diukur di akhir transaksi
USE CASES
USE CASES…
• Persoalan di bawah boleh digunakan utk. mengenalpasti USE CASES bagi sesebuah sistem :
• Apakah aktiviti yg. dijalankan oleh ACTOR
• Adakah ACTOR akan cipta, stor, tukar, hapus atau capai maklumat dalam sistem?
• USE CASE apa yang akan cipta, stor, tukar, hapus atau capai maklumat dalam sistem?
• Perlukah ACTOR memberitahu sistem jika ada perubahan luaran?
• Perlukah ACTOR diberitahu jika berlaku perubahan dalam sistem?
• USE CASE apa yang menyokong dan menyelenggara sistem?
• Bolehkah semua keperluan fungsian dilaksanakan oleh USE CASES?
• Dalam UML, USE CASE diwakili oleh bentuk oval
USE CASES…
Notasi UML bagi USE CASE
USE CASES…
Contoh USE CASE :
Sistem Pendaftaran Kursus :
Mendaftar kursusMemilih kursusMeminta jadual kursusMenyelenggara maklumat kursusMenyelenggara maklumat pelajarMencipta katalog kursus
USE CASES…
HUBUNGAN USE CASE (Association Relationship)
• HUBUNGAN ini mungkin wujud di antara ACTOR dan USE CASE
• Ia juga dikenali sebagai HUBUNGAN KOMUNIKASI kerana ia mewakili komunikasi antara ACTOR dan USE CASE.
• Ia mungkin 2 hala atau sehala iaitu :ACTOR USE CASE orACTOR USE CASE orUSE CASE ACTOR
USE CASES…
• ARAH NAVIGASI HUBUNGAN ditentukan oleh siapa/apa yang memulakan komunikasi
• Cth : ACTOR memulakan komunikasi dgn. USE CASEUSE CASE memulakan komunikasi dgn. ACTOR
• Hubungan diwakili dengan GARIS yang menghubungkan elemen yang berkaitan
• NAVIGASI hanya dalam satu arah diwakili dengan menambahkan kepala anak panah kepada garis hubungan mengikut arah navigasi
USE CASES…
• Terdapat 2 jenis hubungan yang mungkin wujud antara USE CASES :
Uses Extends
Hubungan <<Uses>>
• Beberapa USE CASES mungkin berkongsi fungsi yang sama.
• Fungsi ini diletakkan dalam USE CASE yang berasingan dan TIDAK didokumenkan dalam setiap USE CASE yang memerlukannya
USE CASES…
• Dicipta antara USE CASE baru dan USE CASE yang menggunakan fungsi yang sama
• Cth : Dalam Sistem Pendaftaran Kursus :
Setiap USE CASE dlm. sistem bermula dengan pengesahan pengguna.
Fungsi ini akan diletakkan dalam use case berasingan, katakan use case PENGESAHAN PENGGUNA
Di mana use case PENGESAHAN PENGGUNA boleh digunakan oleh use case lain bila diperlukan.
USE CASES…• Hubungan <<Uses>> , diwakili dengan anak panah (kepala kosong) dan hampir dengan USE CASE yang digunakan
Meminta Jadual Kursus
Mendaftar Kursus
Pengesahan Pengguna
Pelajar
<<Uses>>
<<Uses>>
Hubungan <<Extends>>
• Digunakan untuk menunjukkan : Kelakuan pilihan (optional behaviour) Kelakuan yang hanya berlaku di bawah syarat tertentu seperti bunyi alarm aliran yang berlainan yang hanya akan dilaksanakan bergantung kepada pilhan ACTOR
• Cth : Bagi USE CASE yang memerhatikan aliran bungkusan di gudang, di <<Extend>> oleh use case Bunyi Alarm JIKA aliran bungkusan-bungkusan berhenti disebabkan JAM.
• Hubungan <<Extends>> , diwakili dengan anak panah (kepala kosong) dan hampir dengan USE CASE asal
Buat temujaniji/appointment
Buat penyediaan bayaran
Pesakit
<<Extends>>
USE CASES…
USE CASES…
Konsep stereotype
• Menyediakan kemudahan utk. meluaskan lagi elemen-elemen asas pemodelan dengan mencipta elemen baru
• Konsep ini membolehkan UML menyediakan set simbol yang minimum yang boleh diperluaskan penggunaanya di mana perlu
• Ini membolehkan ARTIFACT yang disediakan dikomunikasikan dengan mudah mengikut makna yang sesuai dengan perisian yang sedang dibangunkan
• Nama stereotype ditulis di dalam << nama stereotype >> dan ditempatkan sepanjang garis hubungan
• Ia digunakan utk. menghasilkan hubungan use case yang dikehendaki
• Stereotype <<Communicates>> digunakan utk. menunjukkan hubungan komunikasi. Hanya hubungan komunikasi boleh digunakan sebagai hubungan di antara ACTOR dan USE CASE. Oleh itu, ia adalah optional.
USE CASES…
•Menulis hubungan ini tidak wajib kerana jika tidak tulis, secara automatik difahamkan bahawa ia adalah <<Communicates>>
• Hanya hubungan Uses dan Extends sahaja perlu menggunakan stereotype
USE CASES…
Rajah USE CASE (USE CASE DIAGRAM)
• Ia adalah view grafik bagi sebahagian atau semua ACTORS, USE CASES dan HUBUNGAN yang dikenalpasti bagi sistem
• Setiap sistem biasanya mempunyai :
Main Use Case Diagram Other Use Case Diagrams created as needed
USE CASES…
Main Use Case Diagram
• Menunjukkan sempadan sistem (ACTORS) dan fungsi major/utama yang disediakan oleh sistem (USE CASES).
Other Use Case Diagrams created as neededContoh:
• Rajah yang menunjukkan semua USE CASES bagi ACTOR terpilih Cth : Pelajar• Rajah menunjukkan semua USE CASES yang dimplementasikan secara berulang• Rajah menunjukkan satu USE CASE dan semua hubungannya
USE CASES…
Contoh Rajah USE CASE 1
Sistem Appointment
Buat appointment
Hasilkan Maklumat Jadual
Rekod kehadiran
Pengurusan
Pesakit
Doktor
Contoh Rajah USE CASE 2Sistem Pembelian Buku
Pelanggan
Gelintar katalog buku
Cari buku ikut tajuk/pengarang
Tempah buku yang tiada