Menurut Stephen Schach, "Rekayasa Perangkat Lunak Klasik dan Berorientasi Objek", bab 6:
modul terdiri dari satu blok kode yang dapat dipanggil dengan cara prosedur, fungsi, atau metode dipanggil
Ini sepertinya sangat kabur dan luas. Jadi, adakah yang bisa menjelaskannya dengan jelas dan menunjukkan beberapa contoh aktual tentang bagaimana memecah persyaratan menjadi modul? Terima kasih.
Modul mungkin istilah yang kelebihan beban, sehingga Wikipedia menggambarkannya dengan istilah Modular Programming ketika membahas penggunaannya relatif terhadap perangkat lunak. Mereka membahasnya dalam hal pemrograman terstruktur yang didasarkan pada pendekatan desain top-down. Karakteristik kunci dari modularitas terkait dengan penggunaan kopling rendah dan kohesi tinggi .
Penggunaan saya adalah bahwa dalam bahasa seperti C atau bahkan C ++, modul terkait dengan mendefinisikan unit yang dikompilasi secara terpisah dari file sumber (.c atau .cpp) dan biasanya satu file header terkait (.h). Bahasa lain menggunakan modul sebagai deskripsi, dan bahasa Modula-2 menempatkan penataan di sekitar modul bagian depan dan tengah dalam nama dan pendekatannya.
Secara historis, modul memiliki beberapa implikasi lain seperti yang dijelaskan dalam makalah DL Parnas "Pada Kriteria yang akan Digunakan dalam Penguraian Perangkat Lunak menjadi Modul" . Dia terutama prihatin dengan membahas manfaat menggantikan dekomposisi fungsional dengan dekomposisi berorientasi data yang merupakan langkah besar menuju keadaan kita saat ini yang dekomposisi berorientasi objek.
Bahasa berorientasi objek diatur di sekitar kelas, jadi mungkin istilah modul kurang penting dan kurang tepat dalam konteks itu.
sumber
Tidak ada definisi formal dari modul, dan apa modul itu (atau tidak) dalam konteks proyek Anda sangat tergantung pada sifat dan desain proyek.
Secara umum, modul adalah bagian mandiri dari kode yang menyediakan fungsionalitas spesifik dan erat, modul menentukan dan menegakkan batasan logis dalam kode Anda.
sumber