NEW
Font size
WorksheetsCâu hỏi về nguyên tắc lập trình và thiết kế phần mềm
Total questions: 73
Worksheet time: 37mins
Tính khả chuyển của chương trình gốc đề cập đến điều gì sau đây?
Tốc độ xử lý nhanh hơn trên máy tính cũ.
Khả năng tích hợp với phần mềm khác.
Khả năng dịch sang mã máy hiệu quả.
Khả năng chạy chương trình trên nhiều nền tảng khác nhau.
Nguyên tắc nào trong SOLID khuyến khích việc chia nhỏ các giao diện lớn để các lớp chỉ thực hiện những phương thức cần thiết?
Dependency Inversion Principle (DIP)
Open/Closed Principle (OCP)
Interface Segregation Principle (ISP)
Liskov Substitution Principle (LSP)
Phương án nào sau đây nêu đúng một trong những nội dung của nguyên tắc SOLID?
Tránh lặp lại mã
Phát triển các tính năng cần thiết
Bộ nguyên tắc thiết kế hướng đối tượng
Đơn giản hóa mã
Ngôn ngữ lập trình nào sau đây thường được sử dụng cho phần mềm hệ thống?
C
Ruby
Java
Python
Nguyên tắc YAGNI khuyến khích lập trình viên làm gì trong các việc sau đây?
Tập trung vào những tính năng cần thiết ở hiện tại
Đưa ra nhiều giả định về yêu cầu của khách hàng
Phát triển mọi tính năng có thể trong tương lai
Đề ra mã phức tạp để xử lý tình huống không chắc chắn
Bạn đang xây dựng một hệ thống quản lý học sinh. Hiện tại, khách hàng chỉ yêu cầu các chức năng quản lý thông tin học sinh cơ bản. Một thành viên trong nhóm đề xuất thêm chức năng phân tích chuyên sâu dữ liệu học tập, dù khách hàng chưa yêu cầu. Theo nguyên tắc YAGNI, bạn nên làm gì?
Thêm chức năng phân tích & thiết kế linh hoạt để có thể mở rộng trong tương lai
Bỏ qua chức năng phân tích để tập trung vào các yêu cầu hiện tại
Liên hệ với khách hàng để xác nhận yêu cầu trước khi thực hiện
Thêm chức năng phân tích để chuẩn bị cho các yêu cầu trong tương lai
Cho biểu thức sau: X=((52+3∗4−6)/(2+1))∗6−8/4+7(2−1) . Kết quả của biểu thức này được tính như thế nào?
X=((52+3)∗(4−6)/(2+1))∗6−(8/4+7)(2−1)
X=((52+(3∗4)−6)/(2+1))∗6−(8/4)+(7(2−1))
X=((52+3∗(4−6))/(2+1))∗6−8/4+7(2−1)
X=((5((2+3))∗4−6)/(2+1))∗(6−8/4)+7(2−1)
Bạn đang phát triển một ứng dụng quản lý khóa học. Lớp Course đang quản lý thông tin khóa học A gửi email thông báo. Để tuân thủ nguyên tắc SOLID, bạn nên làm gì?
Thêm các phương thức gửi thông báo cho các sự kiện khác trong cùng lớp Course
Giữ nguyên thiết kế hiện tại
Chia lớp Course thành hai lớp riêng biệt: một lớp xử lý thông tin khóa học và một lớp xử lý thông báo
Thay lớp Course bằng một lớp cha tổng quát hơn
Bảo trì phần mềm là gì?
Là hoạt động chỉnh sửa chương trình trong quá trình sử dụng.
Là giai đoạn thử nghiệm phần mềm trước khi phát hành.
Là quá trình phát triển và nâng cấp hệ thống phần mềm ban đầu.
Là việc viết lại toàn bộ hệ thống phần mềm từ đầu.
Tại sao phần mềm cần phải bảo trì?
Vì phần mềm luôn có chi phí bảo trì thấp.
Vì phần mềm không cần cải thiện hiệu năng hoặc độ tin cậy.
Vì các thiết bị mới không ảnh hưởng đến hệ thống phần mềm.
Vì các yếu cầu mới, lỗi phần mềm, và thay đổi môi trường có thể xuất hiện.
Giai đoạn bảo trì phần mềm bắt đầu khi nào?
Khi bắt đầu phát triển mã nguồn của sản phẩm.
Sau khi hoàn thành giai đoạn thiết kế hệ thống.
Trong quá trình thử nghiệm hệ thống phần mềm.
Sau khi sản phẩm được khách hàng chấp thuận và cần thay đổi.
Những lý do nào sau đây là nguyên nhân chính khiến phần mềm cần được bảo trì?
Để giảm chi phí phát triển phần mềm.
Để hiệu chỉnh lỗi, hoàn thiện hiệu năng, và thích ứng với môi trường thay đổi.
Để bảo đảm rằng sản phẩm không bao giờ cần thay đổi chức năng.
Để loại bỏ hoàn toàn mã nguồn cũ.
Phân loại bảo trì phần mềm bao gồm những loại nào sau đây?
Bảo trì sửa lỗi, bảo trì tích hợp hệ thống, bảo trì bổ sung hoặc chỉnh sửa yêu cầu chức năng.
Bảo trì nâng cấp hệ điều hành, bảo trì tài liệu, bảo trì kiểm thử tự động.
Bảo trì hiệu năng, bảo trì giảm chi phí, bảo trì thay đổi giao diện.
Bảo trì sửa lỗi, bảo trì nâng cấp phần cứng, bảo trì tăng cường bảo mật.
Bảo trì phần mềm thường không bao gồm điều gì?
Bổ sung những thành phần mới.
Thực hiện các thay đổi lớn liên quan đến kiến trúc của hệ thống.
Chỉnh sửa những thành phần hiện có.
Điều chỉnh chương trình theo yêu cầu mới.
Theo quy trình cải tiến phần mềm, bước nào sau đây là tiền đề để đưa ra các đề xuất thay đổi?
Cài tiến phần mềm để áp dụng vào một hệ thống hoàn toàn mới.
Thực hiện quy trình cải tiến phần mềm nhằm nâng cấp hệ thống hiện có.
Tạo một hệ thống mới thay thế hoàn toàn hệ thống hiện tại.
Phát hiện thay đổi cần thiết trong hệ thống để đáp ứng các yêu cầu mới.
Trong quy trình cài đặt thay đổi, bước nào sau đây thường được thực hiện sau khi cập nhật yêu cầu?
Đề xuất các thay đổi cần thiết trong hệ thống.
Đánh giá lại các yêu cầu để đảm bảo tính chính xác.
Phát triển hoặc sửa đổi phần mềm theo yêu cầu.
Phân tích tác động của yêu cầu thay đổi.
Trong quy trình cài đặt thay đổi khẩn cấp, bước nào sau đây thường được thực hiện ngay sau khi phân tích mã nguồn?
Xác định các yêu cầu bổ sung cần được triển khai.
Chỉnh sửa mã nguồn để đáp ứng các yêu cầu thay đổi.
Chuyển giao hệ thống đã thay đổi cho người dùng cuối.
Thực hiện kiểm tra hệ thống trước khi sửa đổi.
Trong quy trình cải tiến phần mềm, bước nào sau đây thường được thực hiện sau khi phân tích ảnh hưởng của yêu cầu thay đổi?
Xây dựng hệ thống mới.
Tích hợp các thành phần đã sửa đổi.
Sửa lỗi phát sinh trong hệ thống.
Lập kế hoạch chi tiết cho việc thay đổi.
Khó khăn nào sau đây thường gặp trong quá trình bảo trì phần mềm?
Việc bảo trì nhiều có thể làm thay đổi cấu trúc và tăng độ phức tạp phần mềm.
Bảo trì chỉ liên quan đến một giai đoạn duy nhất trong vòng đời phần mềm.
Chi phí bảo trì không bị ảnh hưởng bởi yếu tố kỹ thuật và phi kỹ thuật.
Phần mềm cũ thường có chi phí bảo trì thấp hơn do dùng công nghệ cũ.
Nhân tố nào sau đây giải thích tại sao đội dự án ổn định có thể làm giảm chi phí bảo trì phần mềm?
Vì nhân viên ổn định có thể sửa chữa lỗi mà không cần thay đổi trách nhiệm.
Vì đội dự án ổn định thường cam kết bảo trì trong thời gian ngắn hơn.
Sự ổn định giúp giảm số lượng thay đổi lớn trong cấu trúc chương trình.
Vì nhân viên ổn định sẽ không cần nhiều thời gian để làm quen với hệ thống.
Tái kỹ nghệ hệ thống (System Re-engineering) có ý nghĩa chính là gì?
Viết lại hoặc cấu trúc lại một phần hoặc toàn bộ hệ thống hiện có mà không thay đổi chức năng của nó.
Xóa bỏ hệ thống cũ và phát triển một hệ thống mới với các chức năng hoàn toàn khác biệt.
Tạo ra một hệ thống hoàn toàn mới với các chức năng được cải tiến để thay thế hệ thống cũ.
Nâng cấp hệ thống bằng cách bổ sung các chức năng mới mà không quan tâm đến cấu trúc cũ.
Trong bốn chiến lược cơ bản để cải tiến hệ thống hiện có, chiến lược nào liên quan đến việc thay đổi cấu trúc hệ thống để nâng cao khả năng bảo trì mà không cần thay thế hoàn toàn?
Biến đổi hệ thống bằng cách tái kỹ nghệ để nâng cấp khả năng bảo trì của nó.
Tách hệ thống và chỉnh sửa các quy trình nghiệp vụ trong doanh nghiệp.
Tiếp tục bảo trì hệ thống hiện tại bằng cách sửa các lỗi nhỏ phát sinh.
Thay thế hệ thống cũ bằng một hệ thống mới có chức năng tương tự.
Trong quy trình tái kỹ nghệ hệ thống, hoạt động nào sau đây thể hiện việc tổ chức lại cấu trúc của chương trình để nâng cao tính dễ bảo trì và dễ mở rộng?
Dịch mã nguồn để chuyển đổi chương trình từ ngôn ngữ lập trình cũ sang một ngôn ngữ hiện đại hơn.
Tái kỹ nghệ dữ liệu nhằm cấu trúc lại và làm sạch dữ liệu trong hệ thống hiện có.
Mô-đun hoá chương trình để tái tổ chức các thành phần và cải thiện cấu trúc chương trình.
Kỹ nghệ ngược nhằm phân tích chương trình và hiểu rõ các chức năng của nó.
Trong quá trình tái kỹ nghệ hệ thống CRM, chi phí tái kỹ nghệ sẽ cao nhất khi xảy ra tình huống nào sau đây?
Công ty sở hữu đội ngũ kỹ thuật có nhiều kinh nghiệm về tái kỹ nghệ và công cụ hỗ trợ hiện đại.
Phạm vi tái kỹ nghệ chỉ tập trung vào cải thiện giao diện mà không liên quan đến logic hệ thống.
Dữ liệu của hệ thống cũ đã được chuẩn hóa và không yêu cầu chuyển đổi nhiều.
Hệ thống ban đầu có chất lượng thấp với mã nguồn khó đọc và nhiều lỗi nghiêm trọng.
Nếu công ty quyết định sử dụng công cụ hỗ trợ tự động hóa trong quá trình tái kỹ nghệ, yếu tố nào sau đây sẽ được cải thiện và giúp giảm chi phí?
Đẩy nhanh quá trình chuyển đổi dữ liệu với công cụ tự động hóa hiện đại.
Đảm bảo chất lượng của hệ thống ban đầu với ít lỗi trong mã nguồn hơn.
Tăng cường kỹ năng tái kỹ nghệ của nhân viên để xử lý các lỗi mã nguồn.
Tăng mức mở rộng cần thiết của việc chuyển đổi dữ liệu trong hệ thống.
Nếu công ty cần tái cấu trúc dữ liệu từ định dạng cũ để đảm bảo tương thích với cơ sở dữ liệu hiện đại, bước nào nên được thực hiện?
Tái kỹ nghệ dữ liệu để tổ chức lại, làm sạch và chuẩn hóa dữ liệu hiện có.
Mô-đun hoá chương trình để phân chia các chức năng thành các phần nhỏ rõ ràng.
Kỹ nghệ ngược để tìm hiểu logic chương trình và chức năng dữ liệu.
Chuyển đổi mã nguồn để hiện đại hóa ngôn ngữ lập trình sử dụng trong hệ thống.
Tình huống quản lý nhân sự (COBOL): Trong trường hợp công ty cần chuyển đổi mã nguồn của hệ thống quản lý nhân sự từ COBOL sang Java, hoạt động nào trong quy trình tái kỹ nghệ được áp dụng?
Tái kỹ nghệ dữ liệu để chuyển đổi cơ sở dữ liệu hiện tại sang một định dạng mới.
Mô-đun hoá chương trình để tái tổ chức các chức năng của hệ thống.
Kỹ nghệ ngược để phân tích và hiểu rõ các quy trình kinh doanh trong phần mềm.
Chuyển đổi mã nguồn để chuyển hệ thống từ ngôn ngữ lập trình cũ sang ngôn ngữ mới.
Tình huống hệ thống quản lý bệnh viện (HIS): Cách tiếp cận nào sau đây là hợp lý nhất để vừa sửa lỗi, vừa thêm tính năng mà không ảnh hưởng đến hoạt động hệ thống?
Dừng vận hành toàn bộ hệ thống và triển khai lại phiên bản mới sau khi đã sửa lỗi và thêm tính năng.
Tái thiết kế toàn bộ hệ thống để loại bỏ lỗi và tích hợp trực tiếp các yêu cầu mới từ khách hàng.
Sửa lỗi trước để đảm bảo hệ thống hoạt động ổn định, sau đó phát triển và thử nghiệm tính năng mới.
Dự án phần mềm là gì?
Một chương trình phần mềm hoạt động ổn định trên máy tính.
Một tập hợp các nhiệm vụ được thực hiện để đạt được kết quả dự kiến trong thời gian và ngân sách nhất định.
Một kế hoạch phát triển phần mềm không cần ràng buộc ngân sách và thời gian.
Chuỗi các công việc không có mục tiêu cụ thể và không bị ràng buộc thời gian.
Tại sao cần quản lý dự án phần mềm?
Để giảm thiểu thời gian phát triển mà không cần quan tâm đến ngân sách.
Để thay đổi các yêu cầu liên tục mà không cần theo quy trình.
Để đảm bảo phần mềm được thực hiện đúng tiến độ, đủ chi phí và đạt chất lượng dự kiến.
Để tạo ra phần mềm miễn phí.
Quản lý rủi ro trong dự án phần mềm bao gồm hoạt động nào?
Chỉ giám sát các hoạt động đã hoàn thành.
Tập trung hoàn toàn vào việc đảm bảo chất lượng sản phẩm cuối cùng.
Tìm cách giảm chi phí bằng cách bỏ qua các bước không cần thiết.
Dự đoán các sự cố có thể xảy ra và lập kế hoạch xử lý.
Công cụ quản lý dự án nào được Henry Gantt phát triển vào đầu thế kỷ 20?
Phương pháp đường găng.
Bảng phân rã công việc WBS.
Sơ đồ Gantt.
Sơ đồ mạng PERT.
Yếu tố nào quan trọng nhất để đảm bảo dự án phần mềm thành công?
Thay đổi liên tục các yêu cầu để phù hợp.
Quản lý dự án hiệu quả.
Đội ngũ phát triển có chi phí thấp.
Công nghệ hiện đại nhất.
Câu 6: Đội phát triển phát hiện một số thư viện mã nguồn mở trong hệ thống có nguy cơ bị khai thác bảo mật. Người quản lý dự án nên ưu tiên làm gì để xử lý rủi ro này?
Đánh giá và cập nhật hoặc thay thế các thư viện có lỗ hổng bảo mật.
Bỏ qua rủi ro vì chưa có sự cố xảy ra.
Chỉ thông báo cho khách hàng mà không thực hiện hành động nào.
Tiếp tục sử dụng các thư viện mà không kiểm tra thêm.
Mục tiêu chính của việc lập kế hoạch trong quản lý dự án phần mềm là gì?
Hoàn thành dự án mà không cần tài nguyên.
Tạo ra một kế hoạch giúp tổ chức các nhiệm vụ để đạt được mục tiêu dự án.
Tăng tối đa số lượng nhân viên tham gia vào dự án.
Đảm bảo các bên liên quan không can thiệp vào quá trình phát triển.
Trong quản lý dự án, ràng buộc bộ ba mục tiêu bao gồm các yếu tố nào?
Ngân sách, nhân lực, tiến độ.
Chi phí, thời gian, phạm vi.
Tiến độ, quy trình, tài nguyên.
Chất lượng, hiệu quả, phạm vi.
Trong dự án phát triển phần mềm quản lý nhân sự, một thành viên chủ chốt của đội phát triển xin nghỉ việc đột xuất khi dự án đang trong giai đoạn triển khai. Điều này gây ra áp lực lớn cho các thành viên còn lại và có nguy cơ chậm trễ tiến độ. Người quản lý dự án nên ưu tiên làm gì trong tình huống này?
Tuyển ngay một thành viên mới mà không cần kiểm tra kỹ năng để lấp chỗ trống.
Phân tích lại khối lượng công việc và tái phân bổ nhiệm vụ giữa các thành viên hiện tại, đồng thời tìm kiếm sự hỗ trợ tạm thời từ các bên liên quan.
Yêu cầu các thành viên còn lại làm thêm giờ để bù đắp khối lượng công việc.
Tạm dừng dự án để tuyển dụng nhân sự phù hợp.
Nguyên nhân phổ biến nhất dẫn đến thất bại của dự án phần mềm là gì?
Quá phụ thuộc vào công nghệ hiện đại.
Không có mục tiêu rõ ràng và quản lý kém.
Không có đủ nguồn nhân lực.
Dự toán chi phí vượt ngân sách.
Một công ty phát triển phần mềm học trực tuyến nhận được phản hồi từ khách hàng rằng ứng dụng không hoạt động ổn định trên thiết bị di động. Điều này có thể ảnh hưởng lớn đến việc triển khai sản phẩm đúng hạn. Người quản lý dự án nên làm gì để đảm bảo chất lượng sản phẩm?
Yêu cầu khách hàng sử dụng phiên bản web để thay thế tạm thời.
Bỏ qua phản hồi của khách hàng vì đây không phải là yêu cầu ban đầu.
Tiếp tục phát triển các tính năng mới mà không sửa lỗi hiện tại để giữ đúng tiến độ.
Nếu một dự án vượt ngân sách nhưng đáp ứng tốt yêu cầu của khách hàng và hoàn thành đúng thời hạn, dự án này được đánh giá là:
Thất bại vì vượt ngân sách.
Thành công vì thỏa mãn hai trong ba mục tiêu chính.
Thất bại vì không đạt được mục tiêu chi phí.
Thành công vì đáp ứng được nhu cầu khách hàng.
Sơ đồ Gantt được sử dụng để làm gì trong quản lý dự án phần mềm?
Theo dõi tiến độ các công việc trong dự án theo thời gian.
Phân tích chi phí và ước lượng rủi ro.
Tổ chức đội ngũ nhân sự dự án.
Xác định tất cả các bên liên quan của dự án.
Một dự án phần mềm thành công khi nào?
Hoàn thành đúng thời hạn, trong phạm vi chi phí và đáp ứng yêu cầu của khách hàng.
Kéo dài thời hạn nhưng tạo ra sản phẩm chất lượng cao hơn dự kiến.
Đáp ứng một số yêu cầu, bỏ qua các yêu cầu không quan trọng.
Tiết kiệm chi phí tối đa mà không quan tâm đến chất lượng.
Một công ty phần mềm đang phát triển một hệ thống ERP (Enterprise Resource Planning) nhưng gần đây đã vượt 20% ngân sách dự kiến do phát sinh chi phí kiểm thử và sửa lỗi ngoài kế hoạch. Người quản lý dự án nên làm gì để giảm thiểu chi phí phát sinh trong tương lai?
Yêu cầu đội ngũ sử dụng ít tài nguyên hơn trong quá trình phát triển.
Điều chỉnh lại kế hoạch và phân bổ ngân sách cho các hoạt động phát sinh cần thiết.
Tăng giá trị hợp đồng với khách hàng để bù đắp chi phí.
Loại bỏ bước kiểm thử để tiết kiệm ngân sách.
Stakeholders của một dự án phần mềm bao gồm những ai?
Những người đầu tư vào công ty phát triển phần mềm.
Nhà bảo trợ, nhà quản lý, khách hàng, người dùng, đội phát triển, nhà cung cấp.
Chỉ có khách hàng và đội phát triển.
Các chuyên gia công nghệ bên ngoài tổ chức.
Một dự án phát triển phần mềm cho bệnh viện cần hoàn thành trước tháng 6 để kịp triển khai hệ thống mới của bệnh viện hoạt động. Tuy nhiên, đội phát triển gặp khó khăn trong việc triển khai tính năng liên kết với hệ thống lưu trữ bệnh án cũ, dẫn đến nguy cơ trễ hạn. Người quản lý dự án nên ưu tiên thực hiện hành động nào để đảm bảo tiến độ dự án?
Tập trung nguồn lực để sửa các lỗi trên thiết bị di động, ngay cả khi phải điều chỉnh thời gian hoàn thành.
Đàm phán với bệnh viện để kéo dài thời hạn dự án.
Tập trung nguồn lực để giải quyết các vấn đề liên quan đến tính năng liên kết hệ thống lưu trữ bệnh án cũ.
Tạm dừng dự án để đánh giá lại toàn bộ kế hoạch.
Yếu tố nào không phải là đặc trưng của một dự án phần mềm?
Kết quả chuyển giao.
Tính tương thích với các công cụ cũ.
Mục tiêu.
Nguồn nhân lực.
Vai trò của người quản lý dự án trong việc giải quyết các vấn đề của đội phát triển là gì?
Chỉ thực hiện việc kiểm tra tiến độ dự án.
Đóng vai trò trung gian, giải quyết xung đột và hỗ trợ đội đạt mục tiêu dự án.
Chỉ ra lỗi và yêu cầu đội phát triển tự khắc phục.
Tập trung vào việc làm hài lòng khách hàng mà bỏ qua ý kiến đội phát triển.
Khách hàng trong một dự án phát triển phần mềm thường mặc định từ yêu cầu bổ sung chức năng thanh toán đã đóng khi sau khi dự án đã hoàn thành 80% công việc ban đầu. Người quản lý dự án nên làm gì trong tình huống này?
Đánh giá chi phí và thời gian phát sinh, đồng thời thương thảo lại hợp đồng với khách hàng.
Chấp nhận yêu cầu bổ sung mà không cần điều chỉnh kế hoạch.
Tiến hành phát triển chức năng mới ngay lập tức để làm hài lòng khách hàng.
Từ chối thay đổi vì yêu cầu không nằm trong phạm vi đã ký kết.
Dự án phần mềm là gì?
Một chương trình phần mềm hoạt động ổn định trên máy tính.
Một tập hợp các nhiệm vụ được thực hiện để đạt được kết quả dự kiến trong thời gian và ngân sách nhất định.
Một kế hoạch phát triển phần mềm không cần ràng buộc ngân sách và thời gian.
Chuỗi các công việc không có mục tiêu cụ thể và không bị ràng buộc thời gian.
Tại sao cần quản lý dự án phần mềm?
Để giảm thiểu thời gian phát triển mà không cần quan tâm đến ngân sách.
Để thay đổi các yêu cầu liên tục mà không cần theo quy trình.
Tập trung ưu tiên phát triển các tính năng quan trọng nhất và điều chỉnh phạm vi công việc còn lại.
Thay đổi yêu cầu từ phía bệnh viện để giảm độ phức tạp của hệ thống.
Quản lý rủi ro trong dự án phần mềm bao gồm hoạt động nào?
Chỉ giám sát các hoạt động đã hoàn thành.
Tập trung hoàn toàn vào việc đảm bảo chất lượng sản phẩm cuối cùng.
Tìm cách giảm chi phí bằng cách bỏ qua các bước không cần thiết.
Dự đoán các sự cố có thể xảy ra và lập kế hoạch xử lý.
Công cụ quản lý dự án nào được Henry Gantt phát triển vào đầu thế kỷ 20?
Phương pháp đường găng.
Bảng phân rã công việc WBS.
Sơ đồ Gantt.
Sơ đồ mạng PERT.
Yếu tố nào quan trọng nhất để đảm bảo dự án phần mềm thành công?
Thay đổi liên tục các yêu cầu để phù hợp.
Quản lý dự án hiệu quả.
Đội ngũ phát triển có chi phí thấp.
Công nghệ hiện đại nhất.
Trong dự án phát triển phần mềm quản lý tài chính cho một ngân hàng, đội phát triển phát hiện rằng một số thư viện mã nguồn mở được sử dụng trong hệ thống có nguy cơ bị khai thác bảo mật. Người quản lý dự án nên ưu tiên làm gì để xử lý rủi ro này?
Thay thế ngay lập tức tất cả các thư viện mã nguồn mở bằng mã tùy chỉnh của đội phát triển.
Tạm hoãn dự án để tìm kiếm giải pháp thay thế tối ưu nhất.
Thực hiện đánh giá mức độ ảnh hưởng của các thư viện và đưa ra giải pháp phù hợp.
Tiếp tục sử dụng các thư viện hiện tại để không làm ảnh hưởng đến tiến độ.
Mục tiêu chính của việc lập kế hoạch trong quản lý dự án phần mềm là gì?
Hoàn thành dự án mà không cần tài nguyên.
Tạo ra một kế hoạch giúp tổ chức các nhiệm vụ để đạt được mục tiêu dự án.
Tăng tối đa số lượng nhân viên tham gia vào dự án.
Đảm bảo các bên liên quan can thiệp vào quá trình phát triển.
Trong quản lý dự án, ràng buộc bộ ba mục tiêu bao gồm các yếu tố nào?
Ngân sách, nhân lực, tiến độ.
Chi phí, thời gian, phạm vi.
Chất lượng, tiến độ, nhân lực.
Phạm vi, ngân sách, chất lượng.
Trong dự án phát triển phần mềm quản lý nhân sự, một thành viên chủ chốt của đội phát triển xin nghỉ việc đột xuất khi dự án đang trong giai đoạn triển khai. Người quản lý dự án nên ưu tiên làm gì trong tình huống này?
Tuyển ngay một thành viên mới mà không cần kiểm tra kỹ năng để lấp chỗ trống.
Phân tích lại khối lượng công việc và tái phân bổ nhiệm vụ giữa các thành viên hiện tại, đồng thời tìm kiếm sự hỗ trợ tạm thời từ các bên liên quan.
Yêu cầu các thành viên còn lại làm thêm giờ để bù đắp khối lượng công việc.
Tạm dừng dự án để tuyển dụng nhân sự phù hợp.
Nguyên nhân phổ biến nhất dẫn đến thất bại của dự án phần mềm là gì?
Quá phụ thuộc vào công nghệ hiện đại.
Không có mục tiêu rõ ràng và quản lý kém.
Không có đủ nguồn nhân lực.
Dự toán chi phí vượt ngân sách.
Một ví dụ của việc sử dụng phần mềm cho mục đích phi đạo đức là gì?
Tấn công DDoS vào các trang web.
Phát triển ứng dụng từ thiện miễn phí.
Kiểm thử phần mềm để phát hiện lỗi.
Mã hóa dữ liệu người dùng.
Đạo đức nghề nghiệp trong công nghệ phần mềm là gì?
Tập hợp các nguyên tắc và giá trị hướng dẫn hành vi của các chuyên gia trong ngành phần mềm.
Quy tắc bảo vệ quyền lợi của nhà phát triển phần mềm.
Tiêu chuẩn để đánh giá chất lượng phần mềm.
Tập hợp các quy định pháp lý về phát triển phần mềm.
Tổ chức nào phát triển các tiêu chuẩn đạo đức toàn cầu trong công nghệ phần mềm?
WTO và WHO.
GDPR và DMCA.
ISO và CE.
IEEE và ACM.
Công ty phát triển phần mềm nên làm gì để cải thiện tình hình khi bán dữ liệu người dùng cho bên thứ ba mà không được phép?
Ngừng bán dữ liệu và tuân thủ quy định bảo mật.
Tiếp tục bán dữ liệu nhưng thông báo cho người dùng sau.
Chỉ bán dữ liệu cho các công ty lớn.
Tăng giá bán dữ liệu để giảm số lượng khách hàng.
Một hệ thống AI chấm điểm thi trực tuyến bị phản ánh là thiên lệch đối với các học sinh từ một khu vực nhất định. Làm thế nào để khắc phục vấn đề này?
Thử nghiệm với các tập dữ liệu đa dạng hơn và kiểm tra lại kết quả.
Thay đổi toàn bộ hệ thống chấm điểm.
Giảm bớt số lượng bài kiểm tra để hệ thống hoạt động nhanh hơn.
Tiếp tục sử dụng hệ thống mà không điều chỉnh gì.
Hậu quả nào có thể xảy ra nếu phần mềm không được phát triển theo đúng tiêu chuẩn cam kết?
Đạt được sự tôn trọng từ các đối thủ cạnh tranh.
Mất lòng tin, tranh chấp pháp lý và thiệt hại uy tín.
Gia tăng lòng tin từ khách hàng.
Khách hàng sẵn sàng trả thêm tiền để cải thiện phần mềm.
Phần mềm không phân biệt đối xử là phần mềm:
Không cho phép truy cập từ các quốc gia khác nhau.
Tập trung vào lợi ích của nhà phát triển.
Đảm bảo công bằng và không thiên lệch với bất kỳ nhóm người nào.
Chỉ phục vụ cho một nhóm người dùng cụ thể.
DMCA là gì?
Luật bảo vệ bản quyền tác giả trên nền tảng số.
Một luật bảo vệ quyền riêng tư dữ liệu.
Quy định về phát triển phần mềm mã nguồn mở.
Tiêu chuẩn phát triển phần mềm an toàn.
Vì sao thiếu trung thực trong phát triển phần mềm lại nguy hiểm?
Dẫn đến mất lòng tin từ khách hàng và các tranh chấp pháp lý.
Dễ dàng sửa chữa trong tương lai.
Không gây ảnh hưởng nghiêm trọng đến nhà phát triển.
Chỉ ảnh hưởng đến trải nghiệm người dùng.
Hành vi nào sau đây là vi phạm bản quyền phần mềm?
Mua bản quyền phần mềm từ nhà phát triển chính thức.
Phát triển phần mềm mã nguồn mở và công khai mã nguồn.
Sử dụng phần mềm lậu mà không trả phí bản quyền.
Đóng góp mã nguồn cho dự án cộng đồng.
Điều nào sau đây không phải là biện pháp bảo vệ dữ liệu người dùng?
Mã hóa dữ liệu.
Tuân thủ tiêu chuẩn bảo mật quốc tế.
Kiểm soát truy cập.
Thu thập dữ liệu mà không xin phép.
Luật bảo vệ quyền riêng tư GDPR áp dụng cho đối tượng nào?
Các tổ chức giáo dục và y tế.
Các công ty trong EU và xử lý dữ liệu cá nhân của công dân EU.
Tất cả các công ty trên toàn thế giới.
Chỉ các công ty tại Hoa Kỳ.
Một công ty phát triển ứng dụng quản lý sức khỏe đã thu thập dữ liệu vị trí của người dùng mà không thông báo. Hành động nào là cần thiết để tránh sự cố tương tự?
Chỉ thu thập dữ liệu vị trí vào ban ngày.
Ngừng thu thập dữ liệu vị trí.
Thông báo rõ ràng và xin phép người dùng trước khi thu thập dữ liệu.
Chuyển dữ liệu cho bên thứ ba để bảo vệ.
Một công ty phát triển phần mềm đã sử dụng phiên bản thư viện mã nguồn mở không tuân thủ giấy phép. Biện pháp nào sau đây là hợp lý?
Sử dụng phiên bản crack của thư viện khác.
Tiếp tục sử dụng thư viện hiện tại mà không cần thay đổi.
Gỡ bỏ mọi thư viện khỏi dự án.
Tuân thủ giấy phép và cập nhật thư viện hợp pháp.
Trách nhiệm pháp lý của nhà phát triển phần mềm là gì?
Sử dụng các công cụ phát triển phần mềm tốt nhất.
Hạn chế chi phí phát triển.
Tập trung tối ưu hóa hiệu suất của phần mềm.
Đảm bảo phần mềm tuân thủ pháp luật, bảo vệ dữ liệu người dùng và hợp đồng khách hàng.
