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..
