Notasi-notasi khusus
digunakan terutama dalam rancangan arsitektural perangkat lunak dan rancangan
terinci yang dapat mendeskripsikan tujuan suatu perangkat lunak, dikategorikan
ke dalam notasi Structural Descriptions (Statis) dan Behavioral Descriptions (Dinamis)
Kriteria notasi desain :
- Automatic processing : memungkinkan desainer untuk memverifikasi kebenaran dan kualitas desain
- Modularity : notasi mendukung pengembangan perangkat lunak modular
- Structure enforcement : memberlakukan penggunaan konstruksi pemrograman terstruktur
- Ease of editing : mudah untuk melakukan modifikasi desain
- Data representation : kemampuan untuk menggambarkan data local dan global secara langsung
- Maintainability : pemeliharaan konfigurasi
- Logic verification : mampu melakukan verifikasi logika untuk meningkatkan kecukupan pengujian
- Overall simplicity : mudah untuk dipelajari, digunakan dan penulisannya Machine readability : notasi dapat menjadi masukan secara langsung ke dalam pembangunan sistem
- Easily converted to program source code : memudahkan dan mempercepat dalam pembuatan kode program
Structural Descriptions (Statis).
Notasi-notasi
berikut ini, sebagian besar grafis, menjelaskan dan merepresentasikan aspek struktural dari rancangan perangkat lunak
- Entity Relatinship Diagram (ERD) : digunakan untuk merepresentasikan model konseptuan dari data yang tersimpan dalam sistem informasi.
- Diagram Objek dan Class : Digunakan untuk merepresentasikan sekumpulan class (dan objek) dan hubungan timbal-balik diantaranya.
- Architecture Description Languages (ADLs) : Tekstual, terkadang formal, bahasa yang digunakan untuk menjelaskan arsitektur perangkat lunak dalam hal komponen dan konektor
- Diagram Komponen : digunakan untuk merepresentasikan sekumpulan komponen dari sebuah sistem yang cocok dan menyediakan realisasi sekumpulan interface dan hubungannya.
- Class Responsibility Collaborate Cards (CRCs) : digunakan untuk menunjukkan nama komponen (class), tanggung jawabnya, nama komponen yang berkolaborasi.
- Deployment Diagrams : digunakan untuk merepresentasikan sekumpulan nodes (fisik) dan hubungannya, dan demikian juga pada aspek fisik sistem. Berikut contoh Deployment diagram sistem galeri VCD.
- Interface Description Languages (IDLs) : bahasa programming-like digunakan untuk mendefinisikan interface dari komponen perangkat lunak.
- Diagram Struktur Jackson : digunakan untuk menjelaskan struktur data dalam hal urutan, pemilihan, dan iterasi.
- Diagram Struktur : digunakan untuk menjelaskan struktur pemanggilan program. Dipakai dalam analisis sistem terstruktur/desain terstruktur.
Notasi
dan bahasa, beberapa grafis dan tekstual berikut ini digunakan untuk
menjelaskan kelakuan dinamis dari perangkat lunak dan komponen
- Sequence Diagrams : digunakan untuk menunjukkan interaksi diantara sekelompok objek, dengan penekanan pada urutan waktu pesan. Sequence diagram adalah tabel yang menunjukan objek pesan di sepanjang sumbu X, dan time ordering-nya (waktu pemesanan) di sepanjang sumbu Y
- Activity Diagrams : digunakan untuk menunjukkan kendali aliran dari aktifitas yang satu ke aktifitas yang lain. Sebenarnya merupakan flowchart, yang menunjukan aliran kontrol activity ke activity yang lain.
- Pseudocode dan Program Design Languages (PDLs) : bahasa structured-programming-like digunakan untuk menjelaskan, secara umum pada tahap rancangan terinci, kelakuan prosedur atau metode.
- Flowcharts dan Structured Flowcharts : digunakan untuk merepresentasikan aliran kendali dan tindakan yang berhubungan yang akan dilakukan. Berikut contoh diagram flowchart menentukan bilangan ganjil dan genap.
- Collaboration Diagrams : digunakan untuk menunjukkan interaksi yang timbul diantara kelompok objek, dimana penekanannya pada objek dan link-nya. Urutan peristiwa ditandai oleh angka-angka urutan pesan terlebih dahulu.
- Data Flow Diagrams (DFDs) : digunakan untuk menunjukkan aliran data diantara sekumpulan proses
- Bahasa spesifikasi formal : bahasa tekstual yang menggunakan notasi dasar dari matematik (contoh : logic, set, sequence) untuk mendefinisikan kelakuan dan interface komponen perangkat lunak secara abstrak dan teliti. Dirancang untuk menetapkan apa yang akan dihitung dan bukan bagaimana perhitungan harus terpenuhi.
- Diagram dan tabel keputusan : digunakan untuk merepresentasikan kombinasi komplek dari kondisi dan tindakan
- State Transition dan statechart diagram : digunakan untuk menunjukkan aliran kendali dari state ke state dalam sebuah state machine