Skip to main content

Pengertian Desain Komponen dalam Software Engineering - Tinjauan Sekilas

Component-level design (desain di tingkat komponen) terjadi setelah iterasi pertama dari desain arsitektur selesai. Pada tahap ini, keseluruhan data dan struktur program software telah ditetapkan. Tujuannya adalah untuk menerjemahkan model desain ke dalam software operasional.

Jadi, apa itu component-level design (desain di tingkat komponen)?
Satu set lengkap komponen-komponen software didefinisikan selama desain arsitektur. Tetapi struktur data internal dan detail-detail pemrosesan masing-masing komponen tidak disajikan pada tingkat abstraksi yang dekat dengan kode. Desain tingkat komponen mendefinisikan struktur data, algoritma, karakteristik antarmuka, dan mekanisme komunikasi yang dialokasikan untuk masing-masing komponen software.

Siapa yang melakukan pekerjaan ini?
Seorang software engineer.

Mengapa ini penting?
Kita harus dapat menentukan apakah software akan berfungsi sebelum kita membangunnya. Desain tingkat komponen menyajikan software dengan cara yang memungkinkan kita meninjau detail-detail desain untuk kebenaran dan konsistensi dengan penyajian desain lainnya (mis., data, arsitektur, dan desain antarmuka). Ini menyediakan sarana untuk menilai apakah struktur data, antarmuka, dan algoritma akan berfungsi.

Apa saja langkah-langkahnya?
Berbagai penyajian desain data, arsitektur, dan antarmuka akan membentuk fondasi untuk desain tingkat komponen. Definisi kelas atau narasi pemrosesan untuk setiap komponen diterjemahkan ke dalam desain terperinci yang memanfaatkan bentuk diagram atau teks yang menentukan struktur data internal, detail antarmuka lokal (tiap komponen), dan logika pemrosesan. Notasi desain mencakup diagram UML dan berbagai form tambahan. Desain prosedural ditentukan dengan menggunakan seperangkat konstruksi pemrograman terstruktur. Seringkali sangat mungkin menggunakan komponen software yang sudah ada dan reusable dibandingkan dengan membangun yang baru.

Apa hasil/produk pekerjaan ini?
Desain untuk setiap komponen, yang disajikan dalam bentuk notasi grafis, tabel, atau berbasis teks, adalah hasil/produk yang dihasilkan selama desain tingkat komponen. 

Bagaimana kita memastikan bahwa kita telah melakukannya dengan benar?
Kita lakukan review desain. Desain diperiksa untuk menentukan apakah struktur data, antarmuka, urutan pemrosesan, dan kondisi logis sudah benar dan akan menghasilkan data yang sesuai atau transformasi kontrol yang dialokasikan ke komponen selama langkah-langkah pada desain sebelumnya.

--o0o--

Referensi:
Software Engineering - A Practitioner's Approach - Roger S. Pressman / Bruce R. Maxim

Comments

Popular posts from this blog

Pengertian Binding dalam Bahasa Pemrograman dan Kapan Terjadinya

Binding dimaksudkan sebagai pengikatan (association) antara suatu entity dengan atributnya, misalnya binding/pengikatan antara suatu variable dengan tipe datanya atau dengan nilainya, atau dapat juga antara suatu operasi dengan simbol, misalnya simbol + dikenali sebagai operasi penjumlahan atau simbol ^ dikenali sebagai operasi pangkat, dll.  Peristiwa binding dan kapan terjadinya binding (biasanya disebut dengan binding time ) berperan penting dalam membicarakan semantics suatu bahasa pemrograman. Beberapa kemungkinan binding time adalah:

Latihan Soal Jawab Matematika Diskrit

Berikut di bawah ini adalah latihan soal jawab untuk matematika diskrit dengan topik-topik: Pernyataan Logika Circuits dan Ekspresi Boolean Argumen (valid/tidak valid) Teori Himpunan Permutasi Fungsi --o0o-- Pernyataan Logika 1. Buatlah tabel kebenaran untuk menentukan yang mana tautology dan yang mana contradiction dalam pernyataan logika (a) dan (b) di bawah ini: a. (p ∧ q) ∨ (∼p ∨ (p ∧ ∼q)) b.  (p ∧ ∼q) ∧ (∼p ∨ q)

Contoh proses normalisasi relasi dari UNF – 1NF – 2NF – dan 3NF

Dalam posting tulisan tentang: “Tujuan dan Manfaat Normalisasi dalam Perancangan Database” , kita sudah mempelajari tentang: “Apa itu normalisasi” dan “Mengapa kita perlu melakukan normalisasi”. Kedua pertanyaan itu sudah terjawab dalam tulisan tersebut.  Kemudian dalam posting tulisan tentang: “Konsep Ketergantungan Fungsional, Normalisasi, dan Identifikasi Primary Key dalam Perancangan Sistem Database” , kita sudah mempelajari suatu konsep penting yang digunakan untuk melakukan normalisasi, yaitu konsep ketergantungan fungsional yang terdiri dari ketergantungan penuh, ketergantungan parsial atau sebagian, dan ketergantungan transitif. Proses normalisasi pertama-tama dilakukan dengan mengidentifikasi adanya ketergantungan-ketergantungan tersebut dalam relasi-relasi dan kemudian menghilangkannya. Cara melakukan normalisasi, mengidentifikasi berbagai macam ketergantungan, dan menghilangkan ketergantungan pada relasi-relasi bisa dipelajari ulang dalam postingan tulisan di at