Professional Documents
Culture Documents
Tài liệu CNPM
Tài liệu CNPM
* Hệ thống phần mềm luôn thay đổi trong quá trình phát triển và sử dụng
.•Quản lý cấu hình phần mềm là một phần cơ bản của kế hoạch quản lý dự án để quản lý các hệ thống phần mềm đang phát triển
và điều phối các thay đổi đối với chúng.
•Quản lý cấu hình liên quan đến các chính sách, quy trình và công cụ để quản lý các hệ thống phần mềm đang thay đổi.
•SCM cần thiết vì rất dễ mất dấu những thay đổi và các phiên bản thành phần đã được tích hợp vào mỗi phiên bản hệ thống.
•SCM rất cần thiết cho các dự án nhóm để kiểm soát các thay đổi do các nhà phát triển khác nhau thực hiện
* Kỹ nghệ yêu cầu phần mềm:
Khởi đầu (Inception): Hỏi một loạt các câu hỏi để xác định:•Hiểu biết căn bản về vấn đề cần giải quyết.•Người đang cần giải
pháp•Loại giải pháp mong muốn•Mức độ hiệu quả ban đầucủa việc trao đổithông tin giữa khách hàng và nhà phát triển•Khám
phá (Elicitation): tìm ra yêu cầu của tất cả khách hàng.•Xây dựng (Elaboration): tạo ra mô hình phân tích xác địnhdữ liệu, chức
năng và hành vi được yêu cầu.•Đàmphán (Negotiation): đồngý với một hệ thống có thể bàn giao một cách thực tế đối với cả 2
bên.
1. Lựa chọn nào sau đây là giải thích phù hợp nhất với mô hình thác nước “WaterFall Model”? x2 Việc phát
triển hệ thống sẽ được làm theo thứ tự các pha trong tiến trình phần mềm, không quay trở lại công việc ở pha trước
của tiến trình.
2. Trong các giai đoạn phát triển phần mềm, thứ tự kiểm thử nào sau đây phù hợp nhất? x3 Kiểm thử đơn vị -
Kiểm thử tích hợp - Kiểm thử hệ thống
4. Mô tả nào phù hợp nhất với mô hình Agile? x2 Dễ dàng thích nghi với các thay đổi xảy ra.
5. Lý do khiến nhóm phát triển phần mềm nên tạo nguyên mẫu (prototype)? x2
a. Tạo nguyên mẫu làm sơ sở cho việc viết đặc tả cho sản phẩm.
b. Tạo nguyên mẫu dùng làm bản kiểm thử cho phần mềm sau này.
c. Tạo nguyên mẫu giúp hạ thấp chi phí sửa lỗi.
d. Tất cả các phương án đều đúng.
6. Trong các tính chất sau, tính chất nào là đặc trưng của thiết kế hướng đối tượng? x2 Các đối tượng liên lạc
với nhau thông qua trao đổi thông báo.
7. Các dự án phần mềm có đặc trưng nào cơ bản nhất? x2 Phức tạp và sản phẩm ít hữu hình.
8. Phát biểu nào là phù hợp nhất cho usecases? x3 Tập hợp các kịch bản mô tả việc sử dụng hệ thống dưới góc
nhìn của tác nhân.
10. Thành phần của một kế hoạch quản lý cấu hình cho phép thiết lập phạm vi và hướng dẫn cho phiên bản
hiện tại của phần mềm? x2 Cấu hình cơ bản (Baseline)
11. Phát biểu nào dưới đây mô tả phù hợp nhất cho nguyên lý mở-đóng (OCP) trong các nguyên lý thiết kế cơ
bản ? x2 Một mô-đun (thành phần) nên được thiết kế thuận tiện cho việc mở rộng nhưng nên đóng cho việc hiệu
chỉnh
12. Điều gì kết hợp các thủ tục và công cụ để quản lý các phiên bản khác nhau của các đối tượng cấu hình
được tạo ra trong quy trình phát triển phần mềm? x2 Quản lý phiên bản (Version Control)
13. Đáp án nào trong các đáp án sau không phải là một nhiệm vụ của quản lý cấu hình phần mềm? x3 Quản lý
rủi ro
14. Việc kết hợp các mã nguồn chương trình, thư viện và dữ liệu, biên dịch sau đó liên kết để tạo ra một hệ
thống thực thi được là: x2 Xây dựng hệ thống
16. Đâu là giải pháp cho thiết kế cấu trúc? x2 Mô hình đặc tả là biểu đồ cấu trúc hiển thị phân cấp gọi và phân
luồng dữ liệu đến và đi của các thủ tục
17. Đáp án nào sau đây không đại diện cho thiết kế hướng đối tượng? x2 Các thủ tục trong thiết kế cấu trúc được
phân rã dưới dạng các lớp và đối tượng
19. Đâu là các loại yêu cầu phần mềm? x2
a. Tính sẵn có
b. Độ tin cậy
c. Tính khả dụng
d. Tất cả các đáp án trên
2. Đáp án nào sau đây đại diện cho thiết kế hướng đối tượng?
b. Chương trình được xem như là một tập hợp các đối tượng
c. Biểu diễn bằng các biểu đồ lớp cho biết một chương trình tạo ra từ những lớp nào và quan hệ giữa chúng
d. Phương pháp hướng đối tượng kết hợp cả phương pháp hướng cấu trúc
7. Trong quá trình phát triển phần mềm, giai đoạn thiết kế phần mềm có nghĩa là? x2 Xây dựng giải pháp cho
vấn đề.
8. Thiết kế phần mềm là: x2
a. Một hoạt động phải chịu các ràng buộc
b. Chỉ định bản chất và thành phần của sản phẩm phần mềm
c. Đáp ứng nhu cầu và mong đợi của khách hàng
d. Tất cả những đáp án trên
9. Phát biểu nào phù hợp với mô hình phát triển phần mềm xoắn ốc? x2 Bao gồm việc đánh giá những rủi ro
phần mềm trong mỗi vòng lặp
10. Các yêu cầu phần mềm nhìn từ quan điểm của người phát triển? x2 Cả tính khả chuyển và khả năng bảo trì
15. Điều gì trong các điều sau là phát biểu không đúng về thiết kế cấu trúc? x2
a. Thiết kế cấu trúc tập trung vào việc phân rã các thủ tục
b. Ưu điểm là biểu diễn được luồng dữ liệu
c. Thiết kế cấu trúc tuân theo biểu đồ cấu trúc
d. Không có đáp án nào sai
a) Chọn phát biểu đúng nhất về sản phẩm phần mềm trong các phát biểu sau? Phần mềm gồm ba phần chính: chương
trình máy tính, cấu trúc dữ liệu (ngoài và trong) và tài liệu
b) MS Word thuộc loại phần mềm nào? Phần mềm ứng dụng
c) Chọn phát biểu đúng nhất trong các phát biểu sau? Mục tiêu của công nghệ phần mềm (SE) là phát triển các sản
phẩm phần mềm có chất lượng cao, thời gian phát triển nhanh với chi phí hợp lý
a) Mô hình bản mẫu (prototyping model) của phát triển phần mềm là : Một cách tiếp cận hữu ích khi khách hàng
không thể định nghĩa yêu cầu rõ ràng
b) Bước đầu tiên trong vòng đời phát triển phần mềm (Software Development Life Cycle) là? Xác định các nhu cầu
và ràng buộc
c) Tình huống nào không phù hợp để có thể áp dụng mô hình thác nước? (chọn nhiều)
1. Khó khăn trong việc bổ sung yêu cầu mới trong các pha sau của tiến trình
2. Khách hàng muốn có sản phẩm vận hành được sớm
3. Khó thu thập đầy đủ yêu cầu ngay ở giai đoạn đầu của dự án
a) Nội dung nào sau đây được chuyển giao vào cuối Sprint? Một phiên bản gia tăng của phần mềm hoàn thành
b) Product Backlog chứa những thông tin cơ bản gì? Danh sách đầy đủ các yêu cầu hiện không có trong bản phát
hành sản phẩm
c) Chuỗi hoạt động nào sau đây là đúng cho Extreme Programming (XP)? Write test, write code, refactor
a) Loại nào sau đây là một phần của đầu ra của quy trình phần mềm?
3. Dữ liệu
b) Khái niệm quản lý cấu hình phần mềm nào giúp chúng ta kiểm soát sự thay đổi mà không cản trở đến những thay
đổi chính đáng?
1. Baselines
2. Source code
3. Data model
c) Quá trình nào sau đây tập hợp các thành phần chương trình, dữ liệu và thư viện, sau đó biên dịch và liên kết các
thành phần này để tạo ra một hệ thống thực thi? System building
e) Những gì liên quan đến việc chuẩn bị phần mềm để phát hành bên ngoài và theo dõi các phiên bản hệ thống đã
được phát hành cho khách hàng sử dụng? Version management
a. Lựa chọn nào sau đây mô tả một yêu cầu phi chức năng? Hệ thống phải có khả năng lưu trữ ban đầu là
500MB dữ liệu, mỗi năm tăng lên 100MB
b. Lựa chọn nào sau đây mô tả một yêu cầu chức năng? Hệ thống cho phép người sử dụng thêm một sản
phẩm muốn mua vào giỏ hàng
c. Sơ đồ luồng dữ liệu cung cấp thông tin gì? Đưa ra hình ảnh những chức năng biến đổi luồng dữ liệu
d. Đặc tả hệ thống mô tả _____? Chức năng, hiệu năng và các ràng buộc của hệ thống
e. Hoạt động nào sau đây không phải là mục tiêu của xây dựng mô hình yêu cầu?
1. Xác định một tập các yêu cầu phần mềm có thể được thẩm định
2. Mô tả các yêu cầu khách hàng
3. Tạo lập một cơ sở cho thiết kế phần mềm
4. Đưa ra giải pháp sơ bộ cho vấn đề đặt ra
f. Điều gì xảy ra khi sử dụng ngôn ngữ tự nhiên để mô tả các yêu cầu? (chọn nhiều)
1. Một vài yêu cầu được diễn đạt chung, đi cùng nhau ở dạng một yêu cầu
2. Các yêu cầu, mục tiêu hệ thống và thông tin thiết kế có thể không được phân biệt rõ ràng
3. Dễ dẫn đến hiểu nhầm giữa người đọc và người viết
4. Cung cấp thông tin đầy đủ nhất cho người phát triển
a. Tác nhân ca sử dụng luôn là con người, không phải là các thiết bị hệ thống? Sai
b. Use-cases là một kịch bản mà mô tả? Kế hoạch xây dựng cho sản phẩm phần mềm
c. Phát biểu nào sau đây là đúng về yêu cầu phần mềm? Trả lời bằng cách đánh dấu T (đúng) hoặc F
(sai).
(1) T / F Độ tin cậy và bảo mật là ví dụ về các yêu cầu chức năng.
(2) T / F Yêu cầu đóng vai trò như một cơ sở cho việc kiểm tra và xác minh.
(3) T / F Yêu cầu mô tả kiến trúc phần mềm.
(4) T / F Các yêu cầu về hành vi thường mang tính chủ quan và không thể đo lường được.
(5) T / F Các trường hợp sử dụng nắm bắt các yêu cầu chức năng.
(6) T / F Lý do số một mà các dự án thành công là sự tham gia của nhà phát triển.
(7) T / F Một ca sử dụng đại diện cho một hành vi ví dụ của hệ thống.
(8) T / F Các tình huống mở rộng của một ca sử dụng thiết lập sự hiểu biết giữa khách hàng và nhà phát triển
hệ thống về các yêu cầu.
(9) T / F Trong hầu hết các trường hợp sử dụng, gần như mọi bước đều có thể bị lỗi.
a. Kiểu kiến trúc ống dẫn – bộ lọc (pipes and filters) là một dạng đặc biệt của kiểu client-server? Sai
b. Yếu tố nào có ảnh hưởng đến việc thiết kế kiến trúc phần mềm?
1. Công nghệ sử dụng
2. Yêu cầu về thuộc tính chất lượng
3. Chiến lược triển khai hệ thống
4. Tất cả các phương án trên
c. Chọn những yếu tố quan trọng tạo nên kiến trúc phần mềm (chọn nhiều)?
1. Phần tử phần mềm
2. Mối quan hệ giữa các phần tử
3. Thuộc tính của mối quan hệ
4. Thuộc tính của môi trường hoạt động
5. Thuộc tính của phần tử
d. Mẫu thiết kế chỉ áp dụng được cho lập trình hướng đối tượng? Sai
e. Một số lớp có được trong giai đoạn phân tích có thể được lược bỏ trong giai đoạn thiết kế? Đúng
f. Trong thiết kế theo phương pháp cấu trúc, tương tác giữa các chương trình con (subprogram) được thể
hiện trong …? Biểu đồ cấu trúc
a. Giao diện người dùng là gì? Là phương tiện để người dùng khai thác các tính năng của phần mềm
b. Lựa chọn nào là các kiểu giao diện người dùng?
1. Giao diện người dùng đồ họa
2. Giao diện dòng lệnh
3. Giao diện ngôn ngữ tự nhiên
4. Tất cả các phương án trên
c. Phần mềm có thể cho phép người dùng tương tác qua thiết bị đa dạng như chuột, bàn phím, thiết bị
nhận dạng giọng nói, màn cảm ứng,…? Đúng
d. Để xây dựng một giao diện người dùng hiệu quả, nhà thiết kế phải bắt đầu bằng sự hiểu biết về người
dùng, bao gồm hồ sơ về tuổi, khả năng thể chất, kỹ năng, trình độ học vấn, sở thích,…? Đúng
e. Nguyên tác cơ bản trong thiết kế giao diện người dùng?
1. Lấy người dùng làm trung tâm
2. Giảm tải bộ nhớ trên máy người dùng
3. Giao diện cần nhất quán (consistent)
4. Tất cả các phương án trên
f. Những hoạt động được chú trọng khi thiết kế giao diện người dùng?
1. Mô hình hóa và phân tích người dùng, nhiệm vụ, môi trường
2. Thiết kế giao diện
3. Thẩm định giao diện
4. Tất cả các phương án trên
g. Hướng tiếp cận nào để phân tích tác vụ của người dùng trong thiết kế giao diện? Quan sát thao tác
người dùng
a. Cài đặt phần mềm là triển khai thiết kế chi tiết thành chương trình? Đúng
b. Mã nguồn dễ bảo trì là?
1. Dễ hiểu
2. Dễ sửa lỗi
3. Dễ nâng cấp
4. Tất cả các phương án trên
c. Các quy định về chuẩn viết code được đề xuất bởi? Ngôn ngữ lập trình
d. Đặt tên biến và tên hàm nên? Có nghĩa, gợi nhớ
e. Việc chú thích các mô-đun là để làm rõ? Mục đích, chức năng của mô-đun
2) Phương pháp nào phù hợp nhất cho việc kiểm thử được tiến hành với sự chú ý nhất được dành cho cấu trúc bên
trong của chương trình và giải thuật? Kiểm thử hộp trắng
3) Phương án nào là kỹ thuật phù hợp nhất đối với mối quan hệ giữa dữ liệu vào và kết quả đầu ra trong việc
chuẩn bị dữ liệu kiểm thử, kiểm thử các chức năng của chương trình? Kiểm thử hộp đen
4) Mô tả chính xác nhất về kiểm thử tích hợp trong tiến trình phát triển hệ thống, ngay sau kiểm thử đơn vị được
hoàn tất? Xác nhận không có vấn đề về giao diện giữa các đơn vị / các thành phần của chương trình