Alat Analisis & Desain Perangkat Lunak
Analisis dan desain perangkat lunak mencakup semua aktivitas, yang membantu transformasi spesifikasi kebutuhan menjadi implementasi. Spesifikasi kebutuhan menentukan semua harapan fungsional dan non-fungsional dari perangkat lunak. Spesifikasi persyaratan ini datang dalam bentuk dokumen yang dapat dibaca dan dipahami manusia, yang tidak ada hubungannya dengan komputer.
Analisis dan desain perangkat lunak adalah tahap perantara, yang membantu persyaratan yang dapat dibaca manusia untuk diubah menjadi kode aktual.
Mari kita lihat beberapa alat analisis dan desain yang digunakan oleh perancang perangkat lunak:
Diagram aliran data
Diagram aliran data merupakan representasi grafik dari aliran data dalam suatu sistem informasi. Itu mampu menggambarkan aliran data yang masuk, aliran data keluar dan data yang disimpan. DFD tidak menyebutkan apapun tentang bagaimana data mengalir melalui sistem.
Ada perbedaan mencolok antara DFD dan Flowchart. Diagram alir menggambarkan aliran kontrol dalam modul program. DFD menggambarkan aliran data dalam sistem di berbagai tingkatan. DFD tidak berisi kontrol atau elemen cabang apa pun.
Jenis DFD
Diagram Alir Data bisa berupa Logis atau Fisik.
- Logical DFD - Jenis DFD ini berkonsentrasi pada proses sistem, dan aliran data dalam sistem. Misalnya dalam sistem perangkat lunak Perbankan, bagaimana data dipindahkan antara entitas yang berbeda.
- Physical DFD- DFD jenis ini menunjukkan bagaimana aliran data sebenarnya diimplementasikan dalam sistem. Ini lebih spesifik dan dekat dengan implementasi.
Komponen DFD
DFD dapat mewakili Sumber, tujuan, penyimpanan, dan aliran data menggunakan kumpulan komponen berikut -
- Entities- Entitas adalah sumber dan tujuan data informasi. Entitas diwakili oleh persegi panjang dengan nama masing-masing.
- Process - Kegiatan dan tindakan yang dilakukan pada data diwakili oleh lingkaran atau persegi panjang bermata bulat.
- Data Storage - Ada dua varian penyimpanan data - dapat ditampilkan sebagai persegi panjang dengan tidak adanya kedua sisi yang lebih kecil atau sebagai persegi panjang sisi terbuka dengan hanya satu sisi yang hilang.
- Data Flow- Pergerakan data ditunjukkan dengan panah runcing. Perpindahan data ditunjukkan dari bagian dasar panah sebagai sumbernya menuju kepala panah sebagai tujuan.
Tingkat DFD
- Level 0- DFD tingkat abstraksi tertinggi dikenal sebagai DFD Tingkat 0, yang menggambarkan seluruh sistem informasi sebagai satu diagram yang menyembunyikan semua detail yang mendasarinya. DFD Tingkat 0 juga dikenal sebagai DFD tingkat konteks.
- Level 1- DFD Level 0 dipecah menjadi lebih spesifik, DFD Level 1. DFD Level 1 menggambarkan modul dasar dalam sistem dan aliran data di antara berbagai modul. DFD Tingkat 1 juga menyebutkan proses dasar dan sumber informasi.
Level 2 - Pada level ini, DFD menunjukkan bagaimana data mengalir di dalam modul yang disebutkan di Level 1.
DFD tingkat yang lebih tinggi dapat diubah menjadi DFD tingkat bawah yang lebih spesifik dengan tingkat pemahaman yang lebih dalam, kecuali jika tingkat spesifikasi yang diinginkan tercapai.
Bagan Struktur
Bagan struktur adalah bagan yang berasal dari Data Flow Diagram. Ini mewakili sistem secara lebih rinci daripada DFD. Ini memecah seluruh sistem menjadi modul fungsional terendah, menjelaskan fungsi dan sub-fungsi dari setiap modul sistem secara lebih rinci daripada DFD.
Bagan struktur mewakili struktur hierarki modul. Pada setiap lapisan, tugas tertentu dilakukan.
Berikut adalah simbol yang digunakan dalam konstruksi bagan struktur -
- Module- Ini mewakili proses atau subrutin atau tugas. Sebuah modul kontrol bercabang ke lebih dari satu sub-modul. Modul Perpustakaan dapat digunakan kembali dan tidak dapat diakses dari modul apa pun.
- Condition- Ini diwakili oleh berlian kecil di dasar modul. Ini menggambarkan bahwa modul kontrol dapat memilih salah satu sub-rutin berdasarkan beberapa kondisi.
- Jump - Sebuah panah ditampilkan menunjuk ke dalam modul untuk menggambarkan bahwa kontrol akan melompat di tengah sub-modul.
- Loop- Panah melengkung mewakili lingkaran dalam modul. Semua sub-modul tercakup oleh eksekusi pengulangan modul.
- Data flow - Panah berarah dengan lingkaran kosong di ujungnya melambangkan aliran data.
- Control flow - Panah terarah dengan lingkaran terisi di ujungnya mewakili aliran kendali.
Diagram HIPO
Diagram HIPO (Hierarchical Input Process Output) adalah kombinasi dari dua metode yang terorganisir untuk menganalisis sistem dan menyediakan sarana dokumentasi. Model HIPO dikembangkan oleh IBM pada tahun 1970.
Diagram HIPO merepresentasikan hierarki modul dalam sistem perangkat lunak. Analis menggunakan diagram HIPO untuk mendapatkan tampilan tingkat tinggi dari fungsi sistem. Ini menguraikan fungsi menjadi sub-fungsi secara hierarkis. Ini menggambarkan fungsi yang dilakukan oleh sistem.
Diagram HIPO bagus untuk tujuan dokumentasi. Representasi grafis mereka memudahkan desainer dan manajer untuk mendapatkan ide bergambar dari struktur sistem.
Berbeda dengan diagram IPO (Input Process Output) yang menggambarkan aliran kendali dan data dalam suatu modul, HIPO tidak memberikan informasi apapun tentang aliran data atau aliran kendali.
Contoh
Kedua bagian dari diagram HIPO, presentasi hierarki dan grafik IPO digunakan untuk desain struktur program perangkat lunak serta dokumentasi yang sama.
Bahasa Inggris Terstruktur
Sebagian besar pemrogram tidak menyadari gambaran besar perangkat lunak sehingga mereka hanya bergantung pada apa yang diperintahkan oleh manajer mereka. Merupakan tanggung jawab manajemen perangkat lunak yang lebih tinggi untuk memberikan informasi yang akurat kepada pemrogram untuk mengembangkan kode yang akurat namun cepat.
Bentuk metode lain, yang menggunakan grafik atau diagram, terkadang dapat ditafsirkan berbeda oleh orang yang berbeda.
Oleh karena itu, analis dan perancang perangkat lunak menghasilkan alat seperti Bahasa Inggris Terstruktur. Ini tidak lain adalah deskripsi tentang apa yang diperlukan untuk membuat kode dan cara mengkodekannya. Bahasa Inggris Terstruktur membantu pemrogram untuk menulis kode bebas kesalahan.
Bentuk metode lain, yang menggunakan grafik atau diagram, terkadang dapat ditafsirkan secara berbeda oleh orang yang berbeda. Di sini, Structured English dan Pseudo-Code mencoba mengurangi kesenjangan pemahaman itu.
Bahasa Inggris Terstruktur adalah Menggunakan kata-kata bahasa Inggris biasa dalam paradigma pemrograman terstruktur. Ini bukan kode pamungkas tetapi semacam deskripsi apa yang diperlukan untuk membuat kode dan cara mengkodekannya. Berikut ini adalah beberapa token pemrograman terstruktur.
IF-THEN-ELSE,
DO-WHILE-UNTIL
Analis menggunakan variabel dan nama data yang sama, yang disimpan dalam Kamus Data, sehingga lebih mudah untuk menulis dan memahami kode.
Contoh
Kami mengambil contoh yang sama dari Autentikasi Pelanggan di lingkungan belanja online. Prosedur untuk mengotentikasi pelanggan ini dapat ditulis dalam Bahasa Inggris Terstruktur sebagai:
Enter Customer_Name
SEEK Customer_Name in Customer_Name_DB file
IF Customer_Name found THEN
Call procedure USER_PASSWORD_AUTHENTICATE()
ELSE
PRINT error message
Call procedure NEW_CUSTOMER_REQUEST()
ENDIF
Kode yang ditulis dalam Bahasa Inggris Terstruktur lebih seperti bahasa Inggris lisan sehari-hari. Ini tidak dapat diterapkan secara langsung sebagai kode perangkat lunak. Bahasa Inggris terstruktur tidak bergantung pada bahasa pemrograman.
Kode Pseudo
Kode semu ditulis lebih dekat dengan bahasa pemrograman. Ini dapat dianggap sebagai bahasa pemrograman tambahan, penuh dengan komentar dan deskripsi.
Kode semu menghindari deklarasi variabel tetapi mereka ditulis menggunakan beberapa konstruksi bahasa pemrograman yang sebenarnya, seperti C, Fortran, Pascal dll.
Kode semu berisi lebih banyak detail pemrograman daripada Bahasa Inggris Terstruktur. Ini menyediakan metode untuk melakukan tugas, seolah-olah komputer sedang menjalankan kode.
Contoh
Program untuk mencetak Fibonacci hingga n angka.
void function Fibonacci
Get value of n;
Set value of a to 1;
Set value of b to 1;
Initialize I to 0
for (i=0; i< n; i++)
{
if a greater than b
{
Increase b by a;
Print b;
}
else if b greater than a
{
increase a by b;
print a;
}
}
Tabel Keputusan
Tabel Keputusan mewakili kondisi dan tindakan masing-masing yang akan diambil untuk mengatasinya, dalam format tabel terstruktur.
Ini adalah alat yang ampuh untuk men-debug dan mencegah kesalahan. Ini membantu mengelompokkan informasi serupa ke dalam satu tabel dan kemudian dengan menggabungkan tabel-tabel itu memberikan pengambilan keputusan yang mudah dan nyaman.
Membuat Tabel Keputusan
Untuk membuat tabel keputusan, pengembang harus mengikuti empat langkah dasar:
- Identifikasi semua kondisi yang mungkin untuk ditangani
- Tentukan tindakan untuk semua kondisi yang teridentifikasi
- Buat aturan semaksimal mungkin
- Tentukan tindakan untuk setiap aturan
Tabel Keputusan harus diverifikasi oleh pengguna akhir dan akhir-akhir ini dapat disederhanakan dengan menghilangkan aturan dan tindakan duplikat.
Contoh
Mari kita ambil contoh sederhana dari masalah sehari-hari dengan konektivitas Internet kita. Kami mulai dengan mengidentifikasi semua masalah yang dapat muncul saat memulai internet dan kemungkinan solusinya.
Kami mencantumkan semua kemungkinan masalah di bawah kondisi kolom dan tindakan prospektif di bawah kolom Tindakan.
Kondisi / Tindakan | Aturan | ||||||||
---|---|---|---|---|---|---|---|---|---|
Kondisi | Acara Terhubung | N | N | N | N | Y | Y | Y | Y |
Ping Bekerja | N | N | Y | Y | N | N | Y | Y | |
Membuka Situs Web | Y | N | Y | N | Y | N | Y | N | |
Tindakan | Periksa kabel jaringan | X | |||||||
Periksa router internet | X | X | X | X | |||||
Mulai ulang Browser Web | X | ||||||||
Hubungi penyedia layanan | X | X | X | X | X | X | |||
Jangan lakukan tindakan apa pun |
Model Hubungan Entitas
Model Entity-Relationship adalah jenis model database yang didasarkan pada pengertian entitas dunia nyata dan hubungan di antara mereka. Kita dapat memetakan skenario dunia nyata ke dalam model database ER. Model ER membuat sekumpulan entitas dengan atributnya, sekumpulan batasan dan hubungan di antara mereka.
Model ER paling baik digunakan untuk desain konseptual database. Model ER dapat direpresentasikan sebagai berikut:
Entity - Entitas dalam Model ER adalah makhluk dunia nyata, yang memiliki beberapa properti yang disebut attributes. Setiap atribut ditentukan oleh sekumpulan nilai yang sesuai, yang disebutdomain.
Misalnya, Pertimbangkan database sekolah. Di sini, siswa adalah entitas. Siswa memiliki berbagai atribut seperti nama, id, usia dan kelas dll.
Relationship - Asosiasi logis antar entitas disebut relationship. Hubungan dipetakan dengan entitas dalam berbagai cara. Kardinalitas pemetaan menentukan jumlah asosiasi antara dua entitas.
Kardinalitas pemetaan:
- satu lawan satu
- satu ke banyak
- banyak banding satu
- banyak ke banyak
Kamus data
Kamus data adalah kumpulan informasi yang terpusat tentang data. Ini menyimpan arti dan asal data, hubungannya dengan data lain, format data untuk penggunaan dll. Kamus data memiliki definisi yang ketat dari semua nama untuk memudahkan pengguna dan perancang perangkat lunak.
Kamus data sering disebut sebagai repositori meta-data (data tentang data). Itu dibuat bersama dengan model program perangkat lunak DFD (Data Flow Diagram) dan diharapkan untuk diperbarui setiap kali DFD diubah atau diperbarui.
Persyaratan Kamus Data
Data direferensikan melalui kamus data saat merancang dan mengimplementasikan perangkat lunak. Kamus data menghilangkan kemungkinan ambiguitas. Ini membantu menjaga sinkronisasi pekerjaan pemrogram dan desainer saat menggunakan referensi objek yang sama di mana pun dalam program.
Kamus data menyediakan cara dokumentasi untuk sistem database lengkap di satu tempat. Validasi DFD dilakukan dengan menggunakan kamus data.
Isi
Kamus data harus berisi informasi tentang berikut ini
- Aliran data
- Struktur data
- Elemen Data
- Penyimpanan Data
- Pengolahan data
Aliran Data dijelaskan dengan menggunakan DFD seperti yang dipelajari sebelumnya dan direpresentasikan dalam bentuk aljabar seperti yang dijelaskan.
= | Terdiri dari |
---|---|
{} | Pengulangan |
() | Pilihan |
+ | Dan |
[/] | Atau |
Contoh
Alamat = No Rumah + (Jalan / Area) + Kota + Negara
ID Kursus = Nomor Kursus + Nama Kursus + Tingkat Kursus + Nilai Kursus
Elemen Data
Elemen data terdiri dari Nama dan deskripsi Item Data dan Kontrol, penyimpanan data Internal atau Eksternal dll. Dengan detail sebagai berikut:
- Nama Utama
- Nama Sekunder (Alias)
- Use-case (Bagaimana dan di mana menggunakan)
- Deskripsi Isi (Notasi dll.)
- Informasi Tambahan (nilai preset, batasan, dll.)
Penyimpanan data
Ini menyimpan informasi dari mana data masuk ke dalam sistem dan keluar dari sistem. Penyimpanan Data mungkin termasuk -
- Files
- Internal ke perangkat lunak.
- Eksternal ke perangkat lunak tetapi pada mesin yang sama.
- Di luar perangkat lunak dan sistem, terletak di mesin yang berbeda.
- Tables
- Konvensi penamaan
- Mengindeks properti
Pengolahan data
Ada dua jenis Pemrosesan Data:
- Logical: Seperti yang dilihat pengguna
- Physical: Seperti yang dilihat perangkat lunak