coupling between module p and the other modules in the software produc translation - coupling between module p and the other modules in the software produc Vietnamese how to say

coupling between module p and the o

coupling between module p and the other modules in the software product. But if 10 new modules are designed and implemented, all of which can modify globalVariable, then the number of instances of common coupling between module p and the other modules increases to 11, even though module p itself has not been changed in any way. Clandestine common coupling can have surprising consequences. For example, between 1993 and 2000, there were nearly 400 releases of Linux; 5332 versions of the 17 Linux kernel modules were unchanged between successive releases. In more than half of the 5332 versions, the number of instances of common coupling between each of those kernel modules and the rest of Linux increased or decreased, even though the kernel module itself did not change. Considerably more modules exhibited clandestine common coupling in an upward direction (2482) than downward (379) [Schach et al., 2003a]. The number of lines of code in the Linux kernel grew linearly with version number, but the number of instances of common coupling grew exponentially [Schach et al., 2002]. It seems inevitable that, at some future date, the dependencies between modules induced by clandestine common coupling will render Linux extremely hard to maintain. It will then be exceedingly hard to change one part of Linux without inducing a regression fault (an apparently unrelated fault) elsewhere in the product.
6. This problem is potentially the most dangerous. As a consequence of common coupling, a module may be exposed to more data than it needs. This defeats any attempts to control data access and ultimately may lead to computer crime. Many types of computer crime need some form of collusion. Properly designed software should not allow any one programmer access to all the data and modules needed to commit a crime. For example, a programmer writing the check printing part of a payroll product needs to have access to employee records; but, in a well-designed product, such access is exclusively in read-only mode, preventing the programmer from making unauthorized changes to his or her monthly salary. To make such changes, the programmer has to fi nd another dishonest employee, one with access to the relevant records in update mode. But if the product has been badly designed and every module can access the payroll database in update mode, then an unscrupulous programmer acting alone can make unauthorized changes to any record in the database.
Although we hope that these arguments will dissuade all but the most daring of readers from using common coupling, in some situations, common coupling might seem to be preferable to the alternatives. Consider, for example, a product that performs computer-aided design of petroleum storage tanks [Schach and Stevens-Guille, 1979]. A tank is specifi ed by a large number of descriptors such as height, diameter, maximum wind speed to which the tank will be subjected, and insulation thickness. The descriptors have to be initialized but do not change in value thereafter, and most of the modules in the product need access to the values of the descriptors. Suppose that there are 55 tank descriptors. If all these descriptors are passed as arguments to every module, then the interface to each module will consist of at least 55 arguments and the potential for faults is huge. Even in an object-oriented language like Ada 95 [ISO/IEC 8652, 1995], which requires strict type checking of arguments, two arguments of the same type still can be interchanged, a fault that would not be detected by a type checker.
One solution is to put all the tank descriptors in a database and design the product in such a way that one module initializes the values of all the descriptors, whereas all the other modules access the database exclusively in read-only mode. However, if the database solution is impractical, perhaps because the specifi ed implementation language cannot be interfaced with the available database management system, then an alternative is to use common coupling but in a controlled way. That is, the product should be designed so that the 55 descriptors are initialized by one module, but none of the other modules changes the value of a descriptor. This programming style has to be enforced by management, unlike the database solution, where enforcement is imposed by the software. Therefore, in situations where there is no good alternative to the use of common coupling, close supervision by management can reduce some of the risks. A better solution, however, is to obviate common coupling by using information hiding, as described in Section 7.6.
0/5000
From: -
To: -
Results (Vietnamese) 1: [Copy]
Copied!
khớp nối giữa mô-đun p và các mô-đun khác trong các sản phẩm phần mềm. Nhưng nếu 10 mô-đun mới được thiết kế và triển khai thực hiện, tất cả đều có thể sửa đổi globalVariable, sau đó số lượng các trường hợp của các khớp nối phổ biến giữa các mô-đun p và các mô-đun khác tăng lên đến 11, mặc dù mô-đun p chính nó đã không được thay đổi trong bất kỳ cách nào. Khớp nối bí mật phổ biến có thể có những hậu quả đáng ngạc nhiên. Ví dụ, từ năm 1993 đến năm 2000, đã có gần 400 bản phát hành của Linux; Các phiên bản 5332 của mô-đun hạt nhân Linux 17 đã không thay đổi giữa các phiên bản kế tiếp. Trong hơn một nửa của các phiên bản 5332, số lượng các trường hợp của các khớp nối phổ biến giữa mỗi người trong số những mô-đun hạt nhân và phần còn lại của Linux tăng hoặc giảm, mặc dù các mô-đun hạt nhân chính nó đã không thay đổi. Mô-đun đáng kể hơn trưng bày clandestine khớp nối phổ biến trong một hướng trở lên (2482) hơn xuống (379) [Schach và ctv., 2003a]. Số lượng các dòng mã trong hạt nhân Linux lớn tuyến tính với số phiên bản, nhưng số lượng các trường hợp của các khớp nối thường tăng theo cấp số nhân [Schach et al., 2002]. Có vẻ như không thể tránh khỏi rằng, tại một số ngày trong tương lai, các phụ thuộc giữa các mô-đun gây ra bởi bí mật phổ biến bộ sẽ khiến Linux vô cùng khó khăn để duy trì. Sau đó, nó sẽ vượt khó để thay đổi một phần của Linux mà không gây ra một hồi quy lỗi (một lỗi rõ ràng không liên quan) ở những nơi khác trong các sản phẩm. 6. này vấn đề là có khả năng nguy hiểm nhất. Do hậu quả của khớp nối phổ biến, một mô-đun có thể được tiếp xúc với nhiều dữ liệu hơn nó cần. Điều này đánh bại bất kỳ nỗ lực để kiểm soát truy cập dữ liệu và cuối cùng có thể dẫn đến tội phạm máy tính. Nhiều loại tội phạm máy tính cần một số hình thức thông đồng. Đúng thiết kế phần mềm không nên cho phép bất kỳ truy cập một lập trình viên cho tất cả các dữ liệu và các mô-đun cần thiết để cam kết một tội phạm. Ví dụ, một lập trình viên viết phần phòng in ấn của một sản phẩm biên chế phải có quyền truy cập vào hồ sơ nhân viên; Tuy nhiên, trong một sản phẩm được thiết kế tốt, truy cập đó là độc quyền trong chế độ chỉ đọc, ngăn chặn các lập trình viên thực hiện thay đổi trái phép tiền lương hàng tháng của mình. Để thực hiện thay đổi như vậy, các lập trình viên đã fi nd một nhân viên không trung thực, một trong những quyền truy cập vào các hồ sơ có liên quan trong chế độ Cập Nhật. Nhưng nếu sản phẩm đã nặng được thiết kế và mỗi mô-đun có thể truy cập cơ sở dữ liệu biên chế trong chế độ Cập Nhật, sau đó một lập trình viên vô đạo Đức, hoạt động một mình có thể thực hiện thay đổi trái phép cho bất kỳ bản ghi trong cơ sở dữ liệu. Mặc dù chúng tôi hy vọng rằng những luận cứ sẽ ngăn cản tất cả nhưng táo bạo nhất của độc giả sử dụng khớp nối phổ biến, trong một số trường hợp, khớp nối phổ biến có vẻ là thích hợp hơn cho các lựa chọn thay thế. Hãy xem xét, ví dụ, một sản phẩm thực hiện máy tính hỗ trợ thiết kế của dầu khí chứa [Schach và Stevens-Guille, 1979]. Một chiếc xe tăng là thuật ed bởi một số lớn các descriptor chẳng hạn như chiều cao, đường kính, tốc độ gió tối đa mà xe tăng sẽ phải chịu, và độ dày vật liệu cách nhiệt. Bộ mô tả phải được khởi tạo nhưng không thay đổi giá trị sau đó, và hầu hết các mô-đun trong các sản phẩm cần truy cập vào các giá trị của bộ mô tả. Giả sử rằng có 55 xe tăng descriptor. Nếu tất cả các mô tả này được thông qua như là đối số cho mỗi mô-đun, sau đó giao diện để mỗi mô-đun sẽ bao gồm ít nhất 55 đối số và tiềm năng cho các lỗi là rất lớn. Ngay cả trong một đối tượng theo định hướng ngôn ngữ như Ada 95 [tiêu chuẩn ISO/IEC 8652, 1995], đòi hỏi nghiêm ngặt loại kiểm tra của đối số, hai đối số cùng loại vẫn có thể interchanged, một lỗi sẽ không được phát hiện bởi một kiểm tra loại. Một giải pháp là để đặt tất cả các descriptor xe tăng trong cơ sở dữ liệu và thiết kế sản phẩm theo cách đó một mô-đun khởi các giá trị của tất cả các descriptor, trong khi các mô-đun khác truy cập vào cơ sở dữ liệu độc quyền trong chế độ chỉ đọc. Tuy nhiên, nếu các giải pháp cơ sở dữ liệu là không thực tế, có lẽ bởi vì thuật ed thực hiện ngôn ngữ không thể được giao với hệ thống quản lý cơ sở dữ liệu có sẵn, sau đó một cách thay thế để sử dụng khớp nối phổ biến nhưng theo một cách kiểm soát. Có nghĩa là, các sản phẩm nên được thiết kế để các descriptor 55 được khởi tạo bởi một mô-đun, nhưng không ai trong số các mô-đun khác thay đổi giá trị của một mô tả. Phong cách lập trình này đã được thi hành bởi quản lý, không giống như các giải pháp cơ sở dữ liệu, nơi thực thi pháp luật được áp đặt bởi các phần mềm. Vì vậy, trong những tình huống nơi không có không có lựa chọn tốt để sử dụng khớp nối phổ biến, giám sát chặt chẽ bởi quản lý có thể làm giảm một số của những rủi ro. Một giải pháp tốt hơn, Tuy nhiên, là obviate khớp nối phổ biến bằng cách sử dụng thông tin ẩn, như được diễn tả trong phần 7.6.
Being translated, please wait..
Results (Vietnamese) 2:[Copy]
Copied!
khớp nối giữa các mô-đun p và các module khác trong sản phẩm phần mềm. Nhưng nếu 10 mô-đun mới được thiết kế và thực hiện, tất cả đều có thể sửa đổi globalVariable, sau đó số lượng các trường hợp của các khớp nối giữa các mô-đun phổ biến p và các mô-đun khác tăng đến 11, mặc dù mô-đun p chính nó đã không được thay đổi trong bất kỳ cách nào. Bí mật khớp nối phổ biến có thể có những hậu quả đáng ngạc nhiên. Ví dụ, từ năm 1993 đến năm 2000, đã có gần 400 phiên bản của Linux; 5332 phiên bản của 17 mô-đun hạt nhân Linux không thay đổi giữa các phiên bản kế tiếp. Trong hơn một nửa của phiên bản 5332, số lượng các trường hợp của các khớp nối chung giữa mỗi trong những module kernel và phần còn lại của Linux tăng hoặc giảm, mặc dù các mô-đun hạt nhân chính nó đã không thay đổi. Đáng kể các mô đun trưng bày bí mật khớp nối phổ biến trong chiều hướng đi lên (năm 2482) xuống hơn (379) [Schach et al., 2003a]. Số lượng các dòng mã trong nhân Linux đã tăng tuyến tính với số phiên bản, nhưng số lượng các trường hợp của các khớp nối phổ biến tăng theo hàm mũ [Schach et al., 2002]. Nó dường như không thể tránh khỏi rằng, vào một ngày trong tương lai, sự phụ thuộc giữa các module gây ra bởi bí mật khớp nối phổ biến sẽ làm cho Linux cực kỳ khó khăn để duy trì. Sau đó nó sẽ là cực kỳ khó khăn để thay đổi một phần của Linux mà không gây ra một lỗi hồi quy (một lỗi dường như không liên quan) ở những nơi khác trong sản phẩm.
6. Vấn đề này là có khả năng nguy hiểm nhất. Như một hệ quả của khớp nối phổ biến, một mô-đun có thể được tiếp xúc với nhiều dữ liệu hơn so với nó cần. Điều này đánh bại bất kỳ nỗ lực để kiểm soát truy cập dữ liệu và cuối cùng có thể dẫn đến tội phạm máy tính. Nhiều loại tội phạm máy tính cần một số hình thức thông đồng. Phần mềm được thiết kế đúng cách không cho phép bất kỳ một lập trình viên truy cập vào tất cả các dữ liệu và các module cần thiết để thực hiện một tội phạm. Ví dụ, một lập trình viên viết các check in một phần của bảng lương sản phẩm cần phải có quyền truy cập vào hồ sơ nhân viên; nhưng, trong một sản phẩm được thiết kế tốt, truy cập như là độc quyền trong chế độ read-only, ngăn ngừa các lập trình viên từ các thay đổi trái phép vào lương hàng tháng của mình. Để thay đổi như vậy, các lập trình viên có fi nd một nhân viên không trung thực, một với quyền truy cập vào các hồ sơ có liên quan trong chế độ cập nhật. Nhưng nếu sản phẩm đã được thiết kế tồi và mỗi mô-đun có thể truy cập vào cơ sở dữ liệu biên chế trong chế độ cập nhật, sau đó là một lập trình viên vô đạo đức hành động một mình có thể làm thay đổi trái phép bất kỳ bản ghi trong cơ sở dữ liệu.
Mặc dù chúng tôi hy vọng rằng những lập luận này sẽ ngăn cản tất cả, nhưng sự táo bạo nhất của độc giả sử dụng khớp nối phổ biến, trong một số trường hợp, khớp nối phổ biến có vẻ là một lợi thế để các lựa chọn thay thế. Xem xét, ví dụ, một sản phẩm mà thực hiện CAD ​​bồn chứa xăng dầu [Schach và Stevens-Guille, 1979]. Một bể là ed specifi bởi một số lượng lớn các mô tả như chiều cao, đường kính, tốc độ gió tối đa mà xe tăng sẽ phải chịu, và độ dày lớp cách nhiệt. Các mô tả phải được khởi tạo nhưng không thay đổi về giá trị sau đó, và hầu hết các mô-đun trong sản phẩm cần truy cập vào các giá trị của các bộ mô tả. Giả sử rằng có 55 mô tả chiếc xe tăng. Nếu tất cả các mô tả được thông qua như là đối số cho mỗi mô-đun, sau đó giao diện cho từng môn học sẽ bao gồm ít nhất 55 đối số và tiềm năng cho những lỗi lầm là rất lớn. Ngay cả trong một ngôn ngữ hướng đối tượng như Ada 95 [ISO / IEC 8652, 1995], trong đó yêu cầu loại nghiêm ngặt kiểm tra các đối số, hai đối số của cùng loại vẫn có thể thay đổi cho nhau, một lỗi mà có thể không được phát hiện bởi một loại kiểm tra.
Một giải pháp là đặt tất cả các mô tả chiếc xe tăng trong một cơ sở dữ liệu và thiết kế các sản phẩm trong một cách mà một module khởi tạo các giá trị của tất cả các mô tả, trong khi tất cả các mô-đun khác truy cập vào cơ sở dữ liệu độc quyền trong chế độ chỉ đọc. Tuy nhiên, nếu các giải pháp cơ sở dữ liệu là không thực tế, có lẽ vì các specifi ngôn ngữ thực hiện ed không thể giao tiếp với các hệ thống quản lý cơ sở dữ liệu có sẵn, sau đó một sự thay thế là sử dụng khớp nối phổ biến nhưng trong một cách có kiểm soát. Đó là, các sản phẩm phải được thiết kế sao cho 55 mô tả được khởi tạo bởi một module, nhưng không ai trong số các module khác thay đổi giá trị của một mô tả. Phong cách lập trình này phải được thực thi bởi quản lý, không giống như các giải pháp cơ sở dữ liệu, nơi thi hành quyết định áp đặt bởi phần mềm. Vì vậy, trong trường hợp không có lựa chọn tốt để sử dụng các khớp nối phổ biến, giám sát chặt chẽ bởi quản lý có thể làm giảm một số rủi ro. Một giải pháp tốt hơn, tuy nhiên, để phòng ngừa khớp nối phổ biến bằng cách sử dụng ẩn thông tin, như được mô tả trong Phần 7.6.
Being translated, please wait..
 
Other languages
The translation tool support: Afrikaans, Albanian, Amharic, Arabic, Armenian, Azerbaijani, Basque, Belarusian, Bengali, Bosnian, Bulgarian, Catalan, Cebuano, Chichewa, Chinese, Chinese Traditional, Corsican, Croatian, Czech, Danish, Detect language, Dutch, English, Esperanto, Estonian, Filipino, Finnish, French, Frisian, Galician, Georgian, German, Greek, Gujarati, Haitian Creole, Hausa, Hawaiian, Hebrew, Hindi, Hmong, Hungarian, Icelandic, Igbo, Indonesian, Irish, Italian, Japanese, Javanese, Kannada, Kazakh, Khmer, Kinyarwanda, Klingon, Korean, Kurdish (Kurmanji), Kyrgyz, Lao, Latin, Latvian, Lithuanian, Luxembourgish, Macedonian, Malagasy, Malay, Malayalam, Maltese, Maori, Marathi, Mongolian, Myanmar (Burmese), Nepali, Norwegian, Odia (Oriya), Pashto, Persian, Polish, Portuguese, Punjabi, Romanian, Russian, Samoan, Scots Gaelic, Serbian, Sesotho, Shona, Sindhi, Sinhala, Slovak, Slovenian, Somali, Spanish, Sundanese, Swahili, Swedish, Tajik, Tamil, Tatar, Telugu, Thai, Turkish, Turkmen, Ukrainian, Urdu, Uyghur, Uzbek, Vietnamese, Welsh, Xhosa, Yiddish, Yoruba, Zulu, Language translation.

Copyright ©2025 I Love Translation. All reserved.

E-mail: