2009-06-22 24 views

Trả lời

7

Tôi sẽ nói rằng câu trả lời tùy thuộc vào người bạn yêu cầu.

Tôi nghĩ sự khác biệt là một trong những chi tiết và vai trò. Một thành phần phần mềm cho sự hiểu biết của tôi là một thực thể khép kín với giao diện được xác định rõ ràng (và ổn định hơn) tương tác với các phần còn lại của hệ thống, và có ý nghĩa quan trọng từ quan điểm của kiến ​​trúc hệ thống. Một ví dụ sẽ là lớp trừu tượng truy cập dữ liệu. Một mô-đun cho tôi thà là một gói mã nguồn có thể triển khai có chứa mã chia sẻ một mục đích chung, nhưng không thực hiện bất kỳ vai trò quan trọng nào trong hệ thống (có nghĩa là thay thế nó sẽ không yêu cầu thay đổi kiến ​​trúc tổng thể của hệ thống). . Một ví dụ sẽ là một serializer JSON trong một dịch vụ web.

4

Mô-đun là khả năng cung cấp chức năng phần mềm mới.

Các thành phần là các phần tử

0

Thành phần chỉ là một tên khác cho mô-đun, chúng giống nhau. Thông thường thành phần là thuật ngữ mà bạn có thể tìm thấy trong cuốn sách kỹ thuật phần mềm trong khi mô đun có cách sử dụng rộng rãi hơn.

+0

Điều đó không đúng. Thành phần và mô-đun không chính xác giống nhau. Mặc dù, thường được sử dụng không chính xác thay thế cho nhau. – iCrus

2

Các thành phần thường được coi là các mục có thể cắm, độc lập theo một số loại đặc tả giao diện phần mềm. Một ví dụ tốt là các mục GUI chẳng hạn như hộp văn bản nâng cao và trình đơn thả xuống. Về cơ bản bất cứ điều gì đó không phải là một chương trình hoàn chỉnh, nhưng có thể được cắm vào một chương trình khác để tăng cường chức năng của nó.

Mô-đun từ đã không còn được ưa chuộng trong vài năm qua. Mô-đun là một thuật ngữ chung chung hơn, nhưng một số ngôn ngữ có nó như là một từ khóa, tức là Modula 2. VB.NET có một từ khóa mô-đun, nhưng đó chỉ là một lớp bình thường với các thành viên tĩnh, và sự hiểu biết của tôi là hầu hết các lập trình viên VB thích sử dụng từ khóa Lớp.

1

thành phần: mô-đun hộp đen.

Nhưng thực sự không có sự khác biệt đáng kể nào. Đừng cố tìm ý nghĩa sâu sắc ở đây.

6

Nói chung,

  • một thành phần là một nhóm tương đối mịn hạt của các yếu tố đó phục vụ một dịch vụ cụ thể trong dung dịch .
  • một mô-đun được đặt dưới dạng hạt và hoạt động như một nhóm một hoặc nhiều dịch vụ liên quan được cung cấp bởi phần mềm .

Mô-đun sẽ có khuynh hướng sử dụng nhiều thành phần để cung cấp dịch vụ trong khi thành phần có thể sẽ được xây dựng từ một số ít các lớp và các thành phần khác.

Trong mọi trường hợp, nó chủ quan và phụ thuộc vào quy mô của ứng dụng. Đối với một ứng dụng nhỏ có khả năng là một chương trình duy nhất (một mô-đun) và một số thành phần. Trong ứng dụng có kích thước trung bình có thể có một số mô-đun và nhiều thành phần. Trong một ứng dụng lớn, bạn có thể muốn giới thiệu thuật ngữ hệ thống con, mà thậm chí còn có nhiều courser hơn một module!

+4

Thú vị - theo kinh nghiệm của tôi, các định nghĩa hoàn toàn ngược lại. Các tiêu chuẩn phát triển phần mềm có xu hướng sử dụng "thử nghiệm mô-đun" thay thế lẫn nhau với "thử nghiệm đơn vị", ví dụ. – JeffP

1

Thành phần được xác định ở cấp hệ thống phần mềm (như đã xem/suy nghĩ khi chạy). Chúng là những yếu tố của một hệ thống thực thi và cùng nhau tạo ra một hệ thống lớn hơn. Các thành phần/yếu tố này tương tác với nhau bằng cách sử dụng các kết nối (giao diện). Hãy tưởng tượng các hộp đen giao tiếp với nhau, không quan tâm đến việc triển khai/mã nguồn của chúng.

Mô-đun được xác định ở cấp độ ngôn ngữ lập trình (ví dụ: thiết lập 5 lớp bao gồm một mô-đun cung cấp một số chức năng). Chúng được định nghĩa ở cấp mã nguồn theo chức năng được cung cấp bởi bộ sưu tập mã đó. (ví dụ: các lớp kiên trì trong ứng dụng của bạn chịu trách nhiệm tương tác với cơ sở dữ liệu).

Lưu ý rằng, mô-đun cũng là một loại thành phần (theo phân loại và chia sẻ liên kết "là-a" với thành phần).

Tham chiếu: Len Bass, Phần mềm vòm. trong thực tế và Dr. Timothy Lethbridge lecture

Các vấn đề liên quan