Điều gì thực sự là một mô-đun trong công nghệ phần mềm? [đóng cửa]


18

Theo Stephen Schach, Kỹ thuật phần mềm cổ điển và hướng đối tượng của Drake, chương 6:

một mô-đun bao gồm một khối mã duy nhất có thể được gọi theo cách mà một thủ tục, hàm hoặc phương thức được gọi

Điều này có vẻ rất mơ hồ và rộng. Vì vậy, bất cứ ai có thể giải thích rõ ràng và hiển thị một số ví dụ thực tế về cách chia một yêu cầu thành các mô-đun? Cảm ơn.

Câu trả lời:


16

Một mô-đun,

  • đóng gói mã và dữ liệu để thực hiện một chức năng cụ thể.
  • có giao diện cho phép khách hàng truy cập chức năng của nó một cách thống nhất.
  • có thể dễ dàng cắm với một mô-đun khác mong đợi giao diện của nó.
  • thường được đóng gói trong một đơn vị để có thể dễ dàng triển khai.

Ví dụ, dapper.net đóng gói truy cập cơ sở dữ liệu. Nó có một API để truy cập chức năng của nó. Nó là một tệp duy nhất có thể cắm vào cây nguồn được xây dựng.

Khái niệm mô-đun xuất phát từ mô hình lập trình mô-đun, trong đó chủ trương rằng phần mềm nên bao gồm các thành phần riêng biệt, có thể thay thế được gọi là mô-đun bằng cách chia nhỏ các chức năng của chương trình thành các mô-đun, mỗi mô đun thực hiện một chức năng và chứa mọi thứ cần thiết để thực hiện điều này.


Nếu chúng ta có một loạt các yêu cầu để mỗi yêu cầu có thể được coi là một mô-đun? Ví dụ: yêu cầu "Thêm nhân viên" có thể là một mô-đun?
Hoan

1
Không hoặc nó phụ thuộc. Các chức năng của chương trình nên được chia thành các đơn vị gắn kết. Nếu các yêu cầu có thể được chia nhỏ theo cách như vậy, có thể là có. Nhưng tôi chưa thấy bất cứ điều gì như thế này. Ngoài ra, "Thêm nhân viên" không nên là một ứng cử viên cho mô-đun. Thông thường các mô-đun là các cấu trúc cấp cao hơn, phân tách các chương trình thành các đơn vị hợp lý logic.
theD

12

Mô-đun có thể là một thuật ngữ quá tải, đến nỗi Wikipedia mô tả nó theo thuật ngữ Lập trình mô-đun khi thảo luận về việc sử dụng nó so với phần mềm. Họ thảo luận về mặt lập trình có cấu trúc dựa trên phương pháp thiết kế từ trên xuống. Các đặc điểm chính của mô đun liên quan đến việc sử dụng khớp nối thấp và độ gắn kết cao .

Cách sử dụng của tôi là trong một ngôn ngữ như C hoặc thậm chí C ++, một mô-đun có liên quan đến việc xác định một đơn vị được biên dịch riêng từ tệp nguồn (.c hoặc .cpp) và thường là một tệp tiêu đề được liên kết (.h). Các ngôn ngữ khác sử dụng mô-đun làm mô tả và ngôn ngữ Modula-2 đặt cấu trúc xung quanh mô-đun phía trước và trung tâm theo tên và cách tiếp cận của nó.

Trong lịch sử, mô-đun có một số hàm ý khác như được mô tả trong bài viết DL Parnas "Về các tiêu chí được sử dụng trong việc phân tách phần mềm thành các mô-đun" . Ông chủ yếu quan tâm đến việc thảo luận về lợi ích của việc thay thế phân rã chức năng bằng phân rã theo định hướng dữ liệu, đó là một bước tiến lớn đối với tình trạng hiện tại của chúng ta về nghệ thuật là phân rã hướng đối tượng.

Các ngôn ngữ hướng đối tượng được tổ chức xung quanh các lớp, vì vậy có thể mô đun thuật ngữ ít quan trọng và kém chính xác hơn trong bối cảnh đó.


7

Không có định nghĩa chính thức về mô-đun và mô-đun là gì (hoặc không) trong bối cảnh dự án của bạn chủ yếu phụ thuộc vào bản chất và thiết kế của dự án.

Nói chung, một mô-đun là một đoạn mã độc lập cung cấp chức năng được liên kết chặt chẽ và cụ thể, các mô-đun xác định và thực thi các ranh giới logic trong mã của bạn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.