Sabtu, 22 September 2012

konsep waterfall

Konsep Waterfall 

 

Model ini merupakan model yang paling banyak dipakai oleh para pengembang software. Ada lima tahap dalam model waterfall, yaitu: Requirement Analysis, System Design, Implementation, Integration & Testing, Operations & Maintenance. Sesuai dengan namanya waterfall (air terjun) maka tahapan dalam model ini disusun bertingkat, setiap tahap dalam model ini dilakukan berurutan, satu sebelum yang lainnya (lihat tanda anak panah). Selain itu dari satu tahap kita dapat kembali ke tahap sebelumnya.

Berikut ini penjelasan tentang masing-masing tahap dalam model waterfall:

1. Requirement Analysis
Seluruh kebutuhan software harus bisa didapatkan dalam fase ini, termasuk didalamnya kegunaan software yang diharapkan pengguna dan batasan software. Informasi ini biasanya dapat diperoleh melalui wawancara, survey atau diskusi. Informasi tersebut dianalisis untuk mendapatkan dokumentasi kebutuhan pengguna untuk digunakan pada tahap selanjutnya.

2. System Design
Tahap ini dilakukan sebelum melakukan coding. Tahap ini bertujuan untuk memberikan gambaran apa yang seharusnya dikerjakan dan bagaimana tampilannya. Tahap ini membantu dalam menspesifikasikan kebutuhan hardware dan sistem serta mendefinisikan arsitektur sistem secara keseluruhan.

3. Implementation
Dalam tahap ini dilakukan pemrograman. Pembuatan software dipecah menjadi modul-modul kecil yang nantinya akan digabungkan dalam tahap berikutnya. Selain itu dalam tahap ini juga dilakukan pemeriksaaan terhadap modul yang dibuat, apakah sudah memenuhi fungsi yang diinginkan atau belum.

4. Integration & Testing
Di tahap ini dilakukan penggabungan modul-modul yang sudah dibuat dan dilakukan pengujian ini dilakukan untuk mengetahui apakah software yang dibuat telah sesuai dengan desainnya dan masih terdapat kesalahan atau tidak.

5. Operation & Maintenance
Ini merupakan tahap terakhir dalam model waterfall. Software yang sudah jadi dijalankan serta dilakukan pemeliharaan. Pemeliharaan termasuk dalam memperbaiki kesalahan yang tidak ditemukan pada langkah sebelumnya. Perbaikan implementasi unit sistem dan peningkatan jasa sistem sebagai kebutuhan baru.
Model kedua adalah model V. Bisa dikatakan model ini merupakan perluasan dari model waterfall. Disebut sebagai perluasan karena tahap-tahapnya mirip dengan yang terdapat dalam model waterfall. Jika dalam model waterfall proses dijalankan secara linear, maka dalam model V proses dilakukan bercabang. Dalam model V ini digambarkan hubungan antara tahap pengembangan software dengan tahap pengujiannya.

Berikut penjelasan masing-masing tahap beserta tahap pengujiannya:

1. Requirement Analysis & Acceptance Testing
Tahap Requirement Analysis sama seperti yang terdapat dalam model waterfall. Keluaran dari tahap ini adalah dokumentasi kebutuhan pengguna.
Acceptance Testing merupakan tahap yang akan mengkaji apakah dokumentasi yang dihasilkan tersebut dapat diterima oleh para pengguna atau tidak.

2. System Design & System Testing
Dalam tahap ini analis sistem mulai merancang sistem dengan mengacu pada dokumentasi kebutuhan pengguna yang sudah dibuat pada tahap sebelumnya. Keluaran dari tahap ini adalah spesifikasi software yang meliputi organisasi sistem secara umum, struktur data, dan yang lain. Selain itu tahap ini juga menghasilkan contoh tampilan window dan juga dokumentasi teknik yang lain seperti Entity Diagram dan Data Dictionary.

3. Architecture Design & Integration Testing
Sering juga disebut High Level Design. Dasar dari pemilihan arsitektur yang akan digunakan berdasar kepada beberapa hal seperti: pemakaian kembali tiap modul, ketergantungan tabel dalam basis data, hubungan antar interface, detail teknologi yang dipakai.

4. Module Design & Unit Testing
Sering juga disebut sebagai Low Level Design. Perancangan dipecah menjadi modul-modul yang lebih kecil. Setiap modul tersebut diberi penjelasan yang cukup untuk memudahkan programmer melakukan coding. Tahap ini menghasilkan spesifikasi program seperti: fungsi dan logika tiap modul, pesan kesalahan, proses input-output untuk tiap modul, dan lain-lain.

5. Coding
Dalam tahap ini dilakukan pemrograman terhadap setiap modul yang sudah dibentuk

. Interaction Overview Diagram

UML 2 Interaksi Ikhtisar Diagram


Interaksi Ikhtisar Diagram
Sebuah diagram gambaran interaksi adalah bentuk diagram aktivitas di mana node mewakili diagram interaksi. Diagram interaksi dapat menyertakan urutan, komunikasi, gambaran interaksi dan diagram waktu. Sebagian besar notasi untuk diagram gambaran interaksi adalah sama untuk diagram aktivitas. Sebagai contoh, awal, akhir, keputusan, menggabungkan, garpu dan bergabung node semua sama. Namun, interaksi diagram gambaran memperkenalkan dua elemen baru: interaksi kejadian dan elemen interaksi.
Interaksi Kejadian
Kejadian interaksi adalah referensi untuk diagram interaksi yang ada. Sebuah terjadinya interaksi ditampilkan sebagai kerangka acuan, yaitu, bingkai dengan "ref" di sudut kiri atas. Nama diagram yang direferensikan ditampilkan di tengah frame.
Interaksi Elemen
Interaksi elemen yang mirip dengan kejadian interaksi, karena mereka menampilkan representasi diagram interaksi yang ada dalam bingkai persegi panjang. Mereka berbeda dalam bahwa mereka menampilkan isi inline diagram referensi.
Puting itu semua Bersama
Semua kontrol yang sama dari diagram aktivitas (garpu, bergabung, menggabungkan, dll) dapat digunakan pada diagram gambaran interaksi untuk menempatkan logika kontrol sekitar diagram tingkat yang lebih rendah. Contoh berikut ini menggambarkan proses penjualan sampel, dengan sub-proses disarikan dalam kejadian interaksi.

diagram struktur komposit

UML 2 Diagram Struktur Komposit


Komposit Diagram
Sebuah diagram struktur komposit adalah diagram yang menunjukkan struktur internal dari sebuah classifier, termasuk titik interaksi ke bagian lain dari sistem. Ini menunjukkan konfigurasi dan hubungan bagian, yang bersama-sama, melakukan perilaku classifier mengandung.
Elemen kelas telah dijelaskan dengan sangat rinci pada bagian diagram kelas. Bagian ini menggambarkan cara kelas dapat ditampilkan sebagai elemen komposit mengekspos antarmuka dan mengandung port dan bagian.
Bagian
Bagian A merupakan unsur yang mewakili satu set dari satu atau lebih kasus yang dimiliki oleh contoh classifier mengandung. Jadi misalnya, jika contoh diagram dimiliki satu set elemen grafis, maka elemen grafis dapat direpresentasikan sebagai bagian, jika hal itu berguna untuk melakukannya, untuk model semacam hubungan di antara mereka. Perhatikan bahwa bagian dapat dihapus dari induknya sebelum induk dihapus, sehingga bagian tersebut tidak dihapus pada waktu yang sama.
Bagian A ditunjukkan sebagai sebuah persegi panjang tanpa hiasan terkandung dalam tubuh elemen kelas atau komponen.
Pelabuhan
Sebuah port adalah elemen diketik yang merupakan bagian eksternal terlihat dari contoh classifier mengandung. Ports mendefinisikan interaksi antara classifier dan lingkungannya. Sebuah port dapat muncul pada batas bagian yang terkandung, kelas atau struktur komposit. Sebuah port dapat menentukan layanan classifier yang menyediakan serta layanan yang diperlukan dari lingkungannya.

Sebuah port ditampilkan sebagai persegi panjang bernama di tepi batas classifier yang memiliki.
Antarmuka
Sebuah antarmuka mirip dengan kelas, tapi dengan sejumlah pembatasan. Semua operasi antarmuka yang umum dan abstrak, dan tidak memberikan implementasi standar. Semua atribut antarmuka haruslah konstanta. Namun, sementara kelas hanya dapat mewarisi dari kelas super-tunggal, mungkin mengimplementasikan beberapa interface.
Sebuah antarmuka, ketika berdiri sendirian di sebuah diagram, adalah baik ditampilkan sebagai persegi panjang elemen kelas dengan kata kunci «antarmuka» dan dengan nama dicetak miring untuk menunjukkan itu adalah abstrak, atau ditampilkan sebagai lingkaran.
Perhatikan bahwa notasi lingkaran tidak menunjukkan operasi antarmuka. Ketika interface ditampilkan sebagai yang dimiliki oleh kelas, mereka disebut sebagai antarmuka terkena. Sebuah antarmuka terbuka bisa didefinisikan sebagai disediakan atau diperlukan. Sebuah antarmuka yang disediakan adalah penegasan bahwa classifier mengandung memasok operasi didefinisikan oleh elemen antarmuka bernama dan didefinisikan dengan menggambar hubungan antara realisasi kelas dan antarmuka. Sebuah antarmuka dibutuhkan adalah pernyataan bahwa classifier mampu berkomunikasi dengan beberapa classifier lain yang menyediakan operasi didefinisikan oleh elemen antarmuka bernama dan didefinisikan dengan menggambar hubungan ketergantungan antara kelas dan antarmuka.
Sebuah antarmuka yang diberikan ditampilkan sebagai "bola pada tongkat" melekat ke tepi elemen classifier. Sebuah antarmuka yang diperlukan ditampilkan sebagai "cangkir di tongkat" melekat ke tepi elemen classifier.
Melimpahkan
Sebuah konektor delegasi digunakan untuk mendefinisikan kerja internal port eksternal komponen dan interface. Sebuah konektor delegasi ditampilkan sebagai panah dengan kata kunci «delegasi». Ini menghubungkan kontrak eksternal dari komponen seperti yang ditunjukkan oleh port untuk realisasi internal perilaku bagian komponen.
Kolaborasi
Sebuah kolaborasi mendefinisikan satu set co-operasi peran kolektif digunakan untuk menggambarkan suatu fungsi tertentu. Kolaborasi A hanya harus menunjukkan peran dan atribut yang diperlukan untuk menyelesaikan tugas yang ditetapkan atau fungsi. Mengisolasi peran utama adalah latihan dalam menyederhanakan struktur dan mengklarifikasi perilaku, dan juga menyediakan untuk digunakan kembali. Sebuah kolaborasi sering menerapkan pola.
Unsur kolaborasi ditampilkan sebagai elips.
Binding Peran
Sebuah konektor Peran mengikat diambil dari kolaborasi ke classifier yang memenuhi peran. Hal ini ditunjukkan sebagai garis putus-putus dengan nama peran pada akhir classifier.
Merupakan
Sebuah merupakan konektor bisa diambil dari kerjasama untuk classifier untuk menunjukkan bahwa kolaborasi digunakan dalam classifier. Hal ini ditunjukkan sebagai garis putus-putus dengan panah dan kata kunci «mewakili».
Kejadian
Konektor terjadinya dapat diambil dari kerjasama untuk classifier untuk menunjukkan bahwa kolaborasi merupakan (sic) classifier. Hal ini ditunjukkan sebagai garis putus-putus dengan panah dan kata kunci «terjadinya».

diagram package

Package Diagram : Basic Concepts


Bagi yang pernah belajar jaringan komputer tentu tidak asing dengan istilah package. Package yang dalam bahasa Indonesianya berarti paket dalam dunia networking dimanfaatkan dalam komunikasi datanya dimana data tidak dikirimkan langsung dalam bentuk binernya melainkan dikelompokkan terlebih dahulu dalam paket-paket. Package diagram merupakan salah satu dari delapan/sembilan diagram UML. Atau saat kita download salah satu installer linux, yang kita download berupa package-package. Dalam literatur pemrograman dengan visual basic, saat akan mendeploy software yang baru kita buat kita diminta untuk mengambil package-package yang dibutuhkan. Sedangkan dalam bahasa Java dan C++, package selalu diimport saat kita menuliskan code programnya.
Package merupakan kumpulan dari class. Penggambaran diagram Package mirip dengan simbol folder dalam Microsoft Windows. Kita ambil kasus pada sistem penjualan dan pembelian, maka kita dapat membuat dua package yaitu package penjualan dan package pembelian. Di dalam package penjualan kita bisa menggambarkan use case penjualan. Salah satu manfaat package adalah kemampuannya untuk digunakan pada component lainnya. Dalam menggunakan package sistem lain dikenal dua istilah yaitu:
1. Import Package: Meminjam package lain yang bertipe public.
2. Access Package: seperti import hanya saja tipe package berubah menjadi private.
Import dilukiskan dengan garis putus-putus dengan panah menunjuk pada package induk (si pemilik kelas) dengan tulisan "import" dekat garis putus-putus tersebut. Sedangkan access dengan cara yang sama, hanya saja tulisan "import" diganti dengan "access".

diagram object

DIAGRAM OBJECT

DIAGRAM OBJECT

DIAGRAM OBJECT

Transisi dari desain ke implementasi
Mengindikasikan anggota dan hubungan objek
Dibangun selama desain dan analisa
Tujuan : - ilustrasi struktur data /objek
Dikembangkan oleh analisis, desainer dan implementer
Object diagram adalah diagram yang memberikan gambaran model instance-instance dari sebuah class.
Diagram ini digunakan untuk menggambarkan sebuah sistem pada sebuah
sudut pandang waktu tertentu. Dengan menggunakan diagram ini dapat memeriksa
keabsahan kelas-kelas diagram berikut aturan-aturan multiplisitasnya dengan “real data” dan mengujinya dengan scenario-skenario tertentu.
Menggambarkan object dan hubungannya dalam urutan time, umumnya sebuah special case dari class diagram atau communication diagram
Digambarkan sebagai sample diagram (diagram yang menggambarkan sample object dari sebuah class dan relasi diantaranya)


diagram deployment

DIAGRAM DEPLOYMENT

Deployment Diagram: Basic Concepts


Setelah membahas Component diagram, kini saatnya kita masuk ke deployment diagram yang jika diartikan dalam bahasa Indonesia berarti diagram pendistribusian. Berarti bagaimana caranya kita mempermudah user bila ingin menggunakan sistem yang kita buat, bagian apa dan dimana kita pasang, apakah ada server khusus baik server database maupun web server? Diagram yang satu ini masih masuk dalam kategori statis.

Apa hubungan deployment diagram dini dengan diagram-diagram yang lain? Begini ceritanya, Obyek sejenis dikumpulkan dalam satu class, class-class dalam satu bidang kerja, katakanlah satu transaksi (penjualan, pembelian dan lain-lain) dikelompokkan dalam satu package (paket) kemudian package-package itu dikelompokkan dalam satu component agar lebih memiliki dependency sehingga component yang rusak atau harus direvisi tinggal dicopot tanpa mengganggu kerja component lainnya.

Jika sistem yang kita buat harus didistribusikan dalam tiga sistem misalnya: database diletakkan di komputer khusus, demikian pula dengan server web dengan client lainnya maka deployment diagram akan sangat membantu dalam menjelaskan sistem yang kita buat kepada para stakeholder. Ngomong-ngomong ... stakeholder apaan ya? Dalam literatur analisa dan disain sistem, stakeholder diartikan sebagai pihak-pihak yang berkepentingan dengan sistem yang kita buat dari pemilik perusahaan, analis sistem, programmer hingga user pengguna sistem. Model dan diagram UML yang kita buat ditujukan kepada mereka.

diagram statechart

STATECHART DIAGRAM

Diagram StateChart
Behaviors dan state dimiliki oleh obyek. Keadaan dari suatu obyek bergantung pada kegiatan dan keadaan yang berlaku pada saat itu. Diagram StateChart menunjukan kemungkinan dari keadaan obyek dan proses yang menyebabkan perubahan pada keadaannya. Untuk lebih jelas, contoh yang digunakan model diagram untuk login yang merupakan bagian dari Online Banking System. Logging in terdiri atas masukan input Social Security Number dan Personal Id Number yang berlaku, lalu memutuskan kesahan dari informasi tersebut.




Gambar 8. Contoh Diagram StateChart ‘Sistem Perbankkan secara
Online’
Logging in dapat dibagi menjadi empat tahapan proses, yaitu :
• Getting SSN (masukkan SSN)
• Getting PIN (masukkan PIN)
• Validating (periksa kesahannya)
• Rejecting (keluar)
Analisis dan Perancangan Sistem Halaman 13 Proses peralihan digambarkan dengan panah dari satu state ke yang lainnya. Event (peristiwa) atau condition (keadaan) yang menyebabkan perubahan dituliskan pada samping panah. Diagram ini mengandung dua self-transition (transisi sendiri), satu pada getting SSN dan lainnya pada getting PIN. Keadaan awal Start (black circle /lingkar hitam) adalah dummy (model)
untuk memulai action (kegiatan). Keadaan akhir juga keadaan model yang menghentikan kegiatan.
Aksi yang terjadi sebagai hasil dari suatu peristiwa atau keadaan ditandai dalam bentuk /action. Pada Validating State, obyek tidak menunggu peristiwa dari luar untuk menyebabkan suatu perubahan.
Sebagai gantinya melakukan suatu activity (aktifitas). Hasil dari aktifitas tersebut menentukan keadaan berikutnya dari obyek tersebut.

diagram kelas

CLASS DIAGRAM


Pengertian Class Diagram
Class diagram digunakan untuk menampilkan kelas-kelas dan paket-paket di dalam system. Class diagram memberikan gambaran system secara statis dan relasi antar mereka. Biasanya, dibua beberapa class diagram untuk system tunggal. Beberapa diagram akan menampilkan subset dari kelas-kelas dan relasinya. Dapat dibuat beberapa diagram sesuai dengan yang diinginkan untuk mendapatkan gambaran lengkap terhadap system yang dibangun.
Class diagram adalah alat perancangan terbaik untuk tim pengembang. Diagram tersebut membantu pengembang mendapatkan struktur system sebelum kode ditulis, dan membantu untuk memastikan bahwa system adalah desain terbaik.
-          Kelas
Kelas adalah sesuatu yang membungkus informasi dan perilaku. Secara tradisional, system dibangun dengan ide dasar bahwa akan menyimpan informasi pada sisi baris data dan data perilaku pengolahnya pada sisi aplikasi. Salah satu perbedaan terstruktur dengan pendekatan berorientasi obyek adalah
pada berorientasi obyek menggabungkan informasi dan perilaku pengolah informasi dan menyembunyikan semua kedalam sesuatu yang disebut kelas. Dalam UML, kelas ditunjukkan menggunakan notasi sebagai berikut.

 
Bagian paling atas pada notasi Class digunakan sebagai nama kelas, dan secara opsional juga digunakan stereotype-nya. Bagian tengah digunakan untuk menyimpan atribut, dan bagian paling bawah digunakan menyimpan operasi.
-          Menentukan kelas
Cara yang baik untuk menemukan kelas-kelas adalah mulai dari memperhatikan aliran kejadian (flow of event) dari suatu use case. Perhatikan kata benda didalam aliran kejadian, mungkin merupakan salah satu dari empat hal berikut.
1.      Actor
2.      Kelas
3.      Atribut dari kelas
4.      Ekspresi, bukan actor, bukan kelas, dan bukan atribut.
Dengan melakukan seleksi kata benda dalam aliran kejadian, dapat ditemukan kelas-kelas dalam system. Alternative lainnya, dapat di uji obyek-obyek dalam sequence diagram dan collaboration diagram.
Ada dua cara yang biasa dilakukan berkaitan dengan urutan pendefinisian antar kelas-kelas dalam class diagram dan sequence diagram atau collaboration diagram. Yang pertama, dengan membuat sequence diagram atau collaboration diagram lebih dulu. Kemudian melanjutkannya dengan membuat class diagram. Sebaliknya, yang kedua, yaitu dengan menemukan kelas-kelas dan membuat class diagram terlebih dahulu, kemudian menggunakan kelas-kelas terebut sebagai “Kamus” obyek-obyek dan relasinya untuk membuat sequence diagram atau collaboration diagram.
-          Stereotype pada kelas
Stereotype adalah sebuah mekanisme yang digunakan untuk mengkategorikan kelas-kelas. Misalnya, dapat dibuat stereotype form lebih dulu, kemudian menentukan kelas-kelas dilangkah selanjutnya. Fitur ini membantu untuk lebih memahami tanggung jawab terhadap masing-masing kelas dalam model. Kelas-kelas dengan stereotype ‘form’ bertanggung jawab menampilkan dan menerima informasi dari pemakai.
Stereotype juga membantu dalam proses pembangkitan kode. Ketika proses pembangkitan kode, stereotype kelas menentukan tipe kelas yang akan diabawa kebahasa pemrograman.
Beberapa Stereotype dapat digunakan sejak pada tahap proses analisis, pada saat belum ditentukan bahasa pemrograman teretentu untuk membangkitkan kode. Stereotype juga dapat tergantung pada bahasa pemrograman yang dipilih dan digunakan pada tahap proses desain.
Ketika analisis, kelas-kelas dapat dikategorikan menurut fungsi yang mereka lakukan. Ada 3 tipe Stereotype kelas dalam UML yang digunakan pada analisis, yaitu : pembatas (boundry), entitas(entity) dan control.
a.       Kelas-kelas pembatas
Kelas-kelas pembatas adalah kelas-kelas yang terletak antara system dengan dunia sekililingnya. Semua form, laporan-laporan, antarmuka(interface) keperangkat lunak seperti Printer atau scanner, dan antar muka (interface) ke system lainnya adalah termasuk dalam kategori ini. UML mempresentasikan
kelas pembatas sebagai berikut.
Untuk menemukan dan mengidentifikasi kelas-kelas pembatas dapat dilakukan dengan menguji diagram use case. Minimal harus ada satu kelas pembatas untuk setiapa interaksi antara actor - use case. Kelas pembatas adalah apa saja yang memungkinkan actor berinteraksi dengan system.
Tidak perlu membuat kelas pembatas untuk setiap pasangan actor- use case. Sebagai contoh, bila mempunyai dua actor yang sama-sama menginisialisasi use case yang sama untuk berkomunikasi dengan system.
b.      Kelas-kelas entitas
Kelas-kelas entitas menangani informasi yang disimpan dalam penyimpanan tetap. Kelas entitas biasanya ditemukan dalam aliran kejadian (flow of event) pada diagram interaksi. Mereka adalah kelas-kelas yang sebagian besar bermakna terhadap pemakai dan secara tipikal diberikan nama menggunakan teknologi domain bisnisnya.

       Perhatikan kata benda dalam aliran kejadian. Beberapa kata benda akan menjadi kelas entitas dalam system. Cara lainnya adalah dengan memperhatikan struktur basis data. Jika rancangan basis data telah dibuat, perhatikan nama-nama table. Tabel-tabel menangani beberapa record informasi secara permanen, sementara kelas entitas, menangani informasi didalam memori computer saat computer sedang dihidupkan. Dalam UML, notasi kelas entitas digambarkan sebagai berikut.
Dari rancangan basis data, dapat di telusuri balik beberapa field pada basis data kebutuhan system. Kebutuhan system menentukan aliran kejadian(flow of event), dan aliran kejadian menentukan obyek-obyek, kelas-kelas, dan attribut-attribut dalam kelas. Masing-masing attribut dalam kelas entitas mungkin akan menjadi field dalam basis data.
c.       Kelas-kelas Kontrol
Kelas kontrol bertanggung jawab untuk mengkoordinasikan kegiatan-kegiatan terhadap kelas lainnya. Kelas ini bersifat opsional, tetapi jika kelas Kontrol ini digunakan, maka secara tropical satu kelas control untuk satu use case tersebut. Ada kelas-kelas control yang digunakan bersama oleh beberapa use case. Dalam UML, notasi kelas entitas digambarkan sebagai berikut.

-          Penamaan kelas
Masing-masing kelas harus mempunyai nama yang unik. Sebagian besar organisasi mempunyai konvensi penamaan sendiri untuk menamakan kelas-kelas yang dibuatnya. Umumnya kelas-kelas dinamakan menggunakan kata benda tunggal.
Nama kelas tidak menggunkan spasi. Ini dilakukan karena alasan praktis, dimana beberapa bahasa pemrograman tidak membolehkan adanya spasi. Hal lainnya yang perlu diperhatikan adalah bahwa nama kelas hendaknya pendek, cukup untuk menjelaskan apa yang akan kelas lakukan.
Jadi penamaan kelas sangat tergantung pada organisasi kita. Jika kita mempunyai kelas yang digunakan dalam organisasi yang bersangkutan, tetapi yang jelas bahwa hal tersebut harus konsisten digunakan untuk keseluruhan kelas-kelas yang dibuatnya.
-          Visibilitas kelas
Pilihan visibilitas menentukan dapat tidaknya sebuah kelas dilihat dari luar paket. Ada 3 pilihan visibilitas untuk sebuah kelas yaitu :
1.      Public
2.      Menyatakan bahwa sebuah kelas dapat dilihat dari kelas-kelas lainnya dalam system.
3.      Protected atau private
4.      Menyatakan bahwa sebuah kelas dapat dilihat dari kelas-kelas majemuk(nested), friends, atau dari kelas itu sendiri.
5.      Package atau implementation.
6.      Menyatakan bahwa sebuah kelas dapat dilihat hanya oleh kelas yang lain dalam paket yang sama.
-          Multiplicity kelas
Multiplicity memberikan gambaran ebuah instant yang akan ditampung dalam kelas. Misalnya, dalam kelas pegawai, kita mungkin mempunyai beberapa instant, satu untuk Ani, satu untuk Ina, satu untuk Nana dan seterusnya. Sehingga Multiplicity untuk kelas pegawai diset n. Pada kelas control, Multiplicity diset 1, karena pada saat aplikasi berjalan hanya satu kelas.
Beberapa jenis Multiplicity kelas.
Table Multiplicity untuk kelas :
Multiplicity
Arti
n (default)
Banyak
0..0
Nol
0..1
Nol atau Satu
0..n
Nol atau Banyak
1..1
Tepat satu
1. .n
Satu atau banyak


Table Notasi Multiplicity menggunakan kustomisasi
Format
Arti

Tepat
..
Antara
..
Atau nol
,

, ..
Tepat atau antara dan
.. ,
..
Antara dan atau antara dan

-          Paket
Paket digunakan unruk mengelompokkan kelas-kelas yang mempunyai kesamaan. Dalam UML, digambarkan sebagai berikut :
Ada beberapa cara mengelompokkan kelas-kelas dalam paket, tetapi bagaimanapun juga,  kelas-kelas dapat dikelompokkan dalam paket yang sama tergantung dari keinginan kita sendiri. Salah satu pendekatan yang dapat digunakan adalah berdasarkan Stereotype-nya. Dengan pendekatan ini, dapat dibuat satu paket untuk kelas-kelas entitas, dan satu kelas untuk  kelas-kelas control.
Pendekatan lainnya yang dapat digunakan adalah dengan fungsionalitasnya. Misalnya, kita punya paket security untuk kelas-kelas yang digunakan menangani keamanan system.
Akhirnya, dapat digunakan kombinasi dua pendekatan diatas. Paket dapat dibuat bersarang, dimana satu paket mengandung paket lainnya. Pada level tertinggi, dapat dikelompokkan berdasarkan fungsionalitasnya, kemudian diikuti dengan sub fungsionalitasnya lainnya atau dengan stereotype-nya.