Tổng hợp Đề thi học kì I môn Nhập môn công nghệ phần mềm - Năm học 2019-2020
au khi chọn xong giỏ hàng, khách hàng sẽ thực hiện các bước thanh toán. Khách hàng được yêu cầu
cung cấp các thông tin các nhân như: họ tên, số điện thoại liên hệ, địa chỉ, email để dùng cho việc giao
hàng. Khách hàng có thể lựa chọn phương thức thanh toán: thanh toán khi giao hàng hoặc thanh toán trực
tuyến. Nếu chọn thanh toán trực tuyến, khách hàng cần cung cấp các thông tin: ngân hàng, số tài khoản/số
thẻ, họ tên chủ tài khoản. Hệ thống sẽ kết nối với hệ thống thanh toán của ngân hàng để kiểm tra thông tin
tài khoản và thực hiện thanh toán. Tất cả những thông tin do khách hàng cung cấp đều được hệ thống mã
hoá trước khi lưu trữ hoặc truyền tải nhằm đảm bảo tính bảo mật. Trong trường hợp khách hàng có cung
cấp địa chỉ email, hệ thống sẽ gửi thông tin đơn đặt hàng cùng với ngày dự kiến giao hàng cho khách
hàng. Hệ thống cũng cung cấp chức năng tích luỹ điểm thưởng cho khách hàng (dựa trên giá trị đơn hàng
đặt mua) phục vụ cho các chương trình khuyến mãi hoặc đổi quà.
Bộ phận giao hàng sẽ truy cập vào hệ thống để xác nhận các đơn đặt hàng của khách hàng. Mỗi đơn
hàng sau khi xác nhận sẽ được xem xét xử lý trong khoảng thời gian từ 1 đến 3 ngày. Hệ thống hỗ trợ kết
xuất danh sách đơn hàng theo nhiều tiêu chí khác nhau: ngày đặt hàng, khu vực giao hàng, loại mặt hàng,
trạng thái. Dựa vào danh sách kết xuất, bộ phận giao hàng sẽ phân chia lực lượng giao hàng sao cho hiệu
quả nhất. Những đơn đặt hàng đã được giao nhận xong sẽ được bộ phận giao hàng cập nhật lại tình trạng
là hoàn tất.
Vào cuối mỗi ngày, sau khi tiến hành kiểm kê các sản phẩm tồn kho, bộ phận bán hàng chịu trách
nhiệm cập nhật lại danh sách các sản phẩm được bày bán. Công việc bao gồm: cập nhật lại số lượng sản
phẩm tồn, thêm vào thông tin các sản phẩm mới nhập, ẩn đi các sản phẩm hết hàng. Ngoài ra bộ phận bán
hàng cũng tiến hành thống kê doanh thu của từng loại sản phẩm vào cuối mỗi tháng.
Các nhân viên sau khi xác thực tài khoản thành công mới được phép truy cập vào hệ thống để thực
hiện công việc nghiệp vụ của mình. Thông tin tài khoản và các cấu hình của website được quản lý bởi bộ
phận quản trị hệ thống.
7 trang |
Chia sẻ: hachi492 | Ngày: 05/01/2022 | Lượt xem: 466 | Lượt tải: 0
Bạn đang xem nội dung tài liệu Tổng hợp Đề thi học kì I môn Nhập môn công nghệ phần mềm - Năm học 2019-2020, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Điền đầy đủ thông tin vào chỗ trống trong đề thi. Không sử dụng máy tính, điện thoại di động, thiết bị điện tử.
Cán bộ coi thi không giải thích gì thêm. Nộp bài kèm theo đề.
Phần 1 .(4 điểm ) Trắc nghiệm: sinh viên làm bài vào đề thi . Tô đen (●) vào phương án bạn lựa chọn cho mỗi câu
hỏi trong bảng sau. (Chú ý: chỉ tính điểm các câu trả lời được đánh dấu trong bảng)
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”?
a. Ứng dụng được chia ra thành các đơn vị
nhỏ. Sau đó từng đơn vị trong chúng được thiết kế
và lập trình tuần tự cái nọ tiếp cái kia.
b. 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.
c. Một sản phẩm thực nghiệm được sinh ra,
và việc kiểm tra các đặc tả yêu cầu và ước lượng
được thực hiện trong giai đoạn sớm.
d. Thời gian phát triển được rút ngắn bởi sự
tham gia của người dùng, bằng việc phát triển với ít
kĩ sư hơn và bằng việc dùng có hiệu quả các công
cụ phát triển.
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?
a. Kiểm thử hệ thống Kiểm thử tích hợp
Kiểm thử đơn vị
b. Kiểm thử hệ thống Kiểm thử đơn vị
Kiểm thử tích hợp
c. Kiểm thử đơn vị Kiểm thử tích hợp
Kiểm thử hệ thống
d. Kiểm thử đơn vị Kiểm thử hệ thống
Kiểm thử tích hợp
3. 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à?
a. Xây dựng giải pháp cho vấn đề.
b. Nhận biết vấn đề, bài toán thực tế, các yêu
cầu mà người dùng đặt ra.
c. Xây dựng một hệ thống thực thi được dựa
vào thiết kế.
d. Thẩm định lại tính đúng đắn của giải pháp
theo yêu cầu ban đầu đã đặt ra.
4. Mô tả nào phù hợp nhất với mô hình
Agile?
a. Công việc được thực hiện theo trình tự: lập
kế hoạch cơ bản, thiết kế ngoài, thiết kế trong, thiết
kế chương trình, lâp trình, kiểm thử.
b. Tập trung vào xây dựng các tài liệu trong
tiến trình phát triển.
c. Nhấn mạnh đặc điểm toán học của yêu cầu.
d. 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)?
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?
a. Các đối tượng liên lạc với nhau thông qua
các biến dùng chung.
b. Các đối tượng liên lạc với nhau thông qua
trao đổi thông báo.
c. Các đối tượng độc lập với nhau và không
liên lạc.
d. Các đối tượng chia sẻ với nhau thông qua
trạng thái hệ thống tập trung.
(Đề 1) - Trang 1
BỘ MÔN
CÔNG NGHỆ
PHẦN MỀM
ĐỀ THI HỌC KỲ 1 NĂM HỌC 2019-2020
Thời gian: 90 phút Ngày thi: 13/01/2020
Mã học phần: IT3180 Tên học phần: Nhập môn công nghệ phần mềm Đề 1
Họ và tên sinh viên:.
Mã số sinh viên: Mã lớp:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
A ⚪ ⚪ ⚪ ⚪ ⚪ ⚪ ⚪ ⚪ ⚪ ⚪ ⚪ ⚪ ⚪ ⚪ ⚪ ⚪ ⚪ ⚪ ⚪ ⚪
B ⚪ ⚪ ⚪ ⚪ ⚪ ⚪ ⚪ ⚪ ⚪ ⚪ ⚪ ⚪ ⚪ ⚪ ⚪ ⚪ ⚪ ⚪ ⚪ ⚪
C ⚪ ⚪ ⚪ ⚪ ⚪ ⚪ ⚪ ⚪ ⚪ ⚪ ⚪ ⚪ ⚪ ⚪ ⚪ ⚪ ⚪ ⚪ ⚪ ⚪
D ⚪ ⚪ ⚪ ⚪ ⚪ ⚪ ⚪ ⚪ ⚪ ⚪ ⚪ ⚪ ⚪ ⚪ ⚪ ⚪ ⚪ ⚪ ⚪ ⚪
7. Các dự án phần mềm có đặc trưng nào
cơ bản nhất?
a. Người quản lý không cần chuyên môn.
b. Các thành viên trong đội dự án phải có
cùng ý tưởng.
c. Rất khó tiêu tiền nên thường không giải
ngân được.
d. 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?
a. Mô tả sự biến đổi trạng thái của hệ thống.
b. Nguyên mẫu được phát triển để xác định
yêu cầu tốt hơn.
c. 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.
d. Mô tả về môi trường kĩ thuật của hệ thống.
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?
a. Kết thúc với việc xuất xưởng sản phẩm
phần mềm
b. Nhiều hỗn độn hơn với mô hình gia tăng
c. Bao gồm việc đánh giá những rủi ro phần
mềm trong mỗi vòng lặp
d. Chỉ phù hợp cho thiết kế phần cứng máy
tính
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?
a. Phạm vi (Scope of Software)
b. Tài liệu tham chiếu (References)
c. Thành phần cấu hình (Configuration Item)
d. 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 ?
a. Các lớp con nên được thiết kế để thay thế
được các lớp cha.
b. Các lớp không được tái sử dụng cùng nhau
thì không nên nhóm lại với nhau.
c. Nhiều giao diện con cụ thể thì tốt hơn một
giao diện lớn tổng quát.
d. 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?
a. Quản lý thay đổi (Change Control)
b. Quản lý phiên bản (Version Control)
c. SCIs
d. Không có đáp án nào đúng
13. Đáp án nào trong các đáp án sau không
phải là một nhiệm cụ của quản lý cấu hình phần
mềm?
a. Xác định các thành phần cấu hình
b. Quản lý rủi ro
c. Quản lý phiên bản bàn giao
d. Quản lý nhánh phát triển
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à:
a. Xây dựng hệ thống
b. Quản lý phiên bản bàn giao
c. Quản lý thay đổi
d. Quản lý cấu hình
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?
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
16. Đâu là giải pháp cho thiết kế cấu trúc?
a. Mô hình đặc tả theo sơ đồ luồng dữ liệu
b. Các thủ tục được thể hiện dưới dạng các
bubbles
c. 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
d. Nhấn mạnh vào phân rã 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?
a. 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
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
18. Thiết kế phần mềm là:
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
19. Đâu là các loại yêu cầu phần mềm?
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
20. Các yêu cầu phần mềm nhìn từ quan điểm
của người phát triển?
a. Tính khả chuyển
b. Khả năng bảo trì
c. Tính sẵn có
d. Cả tính khả chuyển và khả năng bảo trì
Phần 2. (6 điểm ) Tự luận. Đọc mô tả Casestudy dưới đây và trả lời các câu hỏi kèm theo:
(Đề 1) - Trang 2
Cửa hàng BKStore cần xây dựng một hệ thống bán hàng trên nền tảng Web. Hệ thống cho phép
khách hàng có thể truy cập xem thông tin các sản phẩm được bày bán và đặt mua hàng trực tuyến vào mọi
thời điểm trong ngày 24/7.
Với mục tiêu tạo sự tiện lợi cho khách hàng, hệ thống cho phép mọi khách hàng đều có thể xem thông
tin sản phẩm. Chỉ khi thanh toán đơn hàng thì mới yêu cầu đăng nhập tài khoản hoặc đăng ký thành viên.
Giao diện Web cần được thiết kế để tương thích tốt với các kích thước màn hình hiển thị khác nhau bao
gồm cả màn hình điện thoại di động. Các sản phẩm bày bán được sắp xếp theo danh mục và được trình
bày bằng hình ảnh kèm theo mô tả chi tiết. Khách hàng đặt mua sản phẩm bằng cách chọn các sản phẩm
mong muốn vào giỏ hàng. Khách hàng có thể tìm kiếm sản phẩm theo nhiều tiêu chí khác nhau như: tên
sản phẩm, chủng loại, giá thành. Để phục vụ cho các khách hàng là người nước ngoài hệ thống cần cung
cấp chức năng chuyển đổi ngôn ngữ hiển thị với hai ngôn ngữ là tiếng Việt và tiếng Anh.
Sau khi chọn xong giỏ hàng, khách hàng sẽ thực hiện các bước thanh toán. Khách hàng được yêu cầu
cung cấp các thông tin các nhân như: họ tên, số điện thoại liên hệ, địa chỉ, email để dùng cho việc giao
hàng. Khách hàng có thể lựa chọn phương thức thanh toán: thanh toán khi giao hàng hoặc thanh toán trực
tuyến. Nếu chọn thanh toán trực tuyến, khách hàng cần cung cấp các thông tin: ngân hàng, số tài khoản/số
thẻ, họ tên chủ tài khoản. Hệ thống sẽ kết nối với hệ thống thanh toán của ngân hàng để kiểm tra thông tin
tài khoản và thực hiện thanh toán. Tất cả những thông tin do khách hàng cung cấp đều được hệ thống mã
hoá trước khi lưu trữ hoặc truyền tải nhằm đảm bảo tính bảo mật. Trong trường hợp khách hàng có cung
cấp địa chỉ email, hệ thống sẽ gửi thông tin đơn đặt hàng cùng với ngày dự kiến giao hàng cho khách
hàng. Hệ thống cũng cung cấp chức năng tích luỹ điểm thưởng cho khách hàng (dựa trên giá trị đơn hàng
đặt mua) phục vụ cho các chương trình khuyến mãi hoặc đổi quà.
Bộ phận giao hàng sẽ truy cập vào hệ thống để xác nhận các đơn đặt hàng của khách hàng. Mỗi đơn
hàng sau khi xác nhận sẽ được xem xét xử lý trong khoảng thời gian từ 1 đến 3 ngày. Hệ thống hỗ trợ kết
xuất danh sách đơn hàng theo nhiều tiêu chí khác nhau: ngày đặt hàng, khu vực giao hàng, loại mặt hàng,
trạng thái. Dựa vào danh sách kết xuất, bộ phận giao hàng sẽ phân chia lực lượng giao hàng sao cho hiệu
quả nhất. Những đơn đặt hàng đã được giao nhận xong sẽ được bộ phận giao hàng cập nhật lại tình trạng
là hoàn tất.
Vào cuối mỗi ngày, sau khi tiến hành kiểm kê các sản phẩm tồn kho, bộ phận bán hàng chịu trách
nhiệm cập nhật lại danh sách các sản phẩm được bày bán. Công việc bao gồm: cập nhật lại số lượng sản
phẩm tồn, thêm vào thông tin các sản phẩm mới nhập, ẩn đi các sản phẩm hết hàng. Ngoài ra bộ phận bán
hàng cũng tiến hành thống kê doanh thu của từng loại sản phẩm vào cuối mỗi tháng.
Các nhân viên sau khi xác thực tài khoản thành công mới được phép truy cập vào hệ thống để thực
hiện công việc nghiệp vụ của mình. Thông tin tài khoản và các cấu hình của website được quản lý bởi bộ
phận quản trị hệ thống.
a) (2 điểm) Yêu cầu của quản lý của hàng cần phải nhanh chóng quảng bá thông tin các sản phẩm
đang bày bán. Nhóm phát triển đưa ra đề xuất một phiên bản tạm của hệ thống được xây dựng và cài đặt
trên một máy chủ thử nghiệm. Việc phát triển tiếp theo của hệ thống sẽ thông qua các kinh nghiệm thu
được từ quá trình hoạt động của phiên bản tạm và phản hồi của khách hàng và các bộ phận. Em hãy phân
tích ưu nhược điểm của chiến lược phát triển nói trên trong việc xây dựng hệ thống phần mềm này?
b) (2 điểm) Các quy tắc cơ bản trong thiết kế giao diện người dùng? Hãy thiết kế chi tiết giao diện
màn hình hỗ trợ bộ phận giao hàng kết xuất danh sách đơn hàng theo các tiêu chí:
● Trạng thái đơn hàng
● Loại mặt hàng
● Ngày đặt hàng: trong một khoảng nào đó
● Khu vực giao hàng: các quận huyện trong thành phố
c) (2 điểm) Chức năng quy đổi điểm thưởng tích luỹ được xác định như sau:
- Nếu đơn hàng có ít hơn 3 loại sản phẩm thì được tích luỹ 1 điểm
- Nếu đơn hàng có từ 3 loại sản phẩm trở lên:
+ Nếu giá trị đơn hàng < 500.000đ thì được tính 2 điểm
+ Nếu giá trị đơn hàng >= 500.000đ đến dưới 1.600.000đ thì được tính 3 điểm
(Đề 1) - Trang 3
+ Nếu giá trị đơn hàng >= 1.600.000đ thì được tính 4 điểm
Hãy áp dụng phương pháp phân lớp tương đương trong kỹ thuật kiểm thử hộp đen đưa ra các trường
hợp kiểm thử tối thiểu cho mô đun tính điểm tích luỹ. Em thấy phương pháp phân lớp tương đương có
nhược điểm gì trong trường hợp này?
(Đề 1) - Trang 4
BỘ MÔN
CÔNG NGHỆ
PHẦN MỀM
ĐỀ THI HỌC KỲ 1 NĂM HỌC 2020-2021
Thời gian: 90 phút Ngày thi: 22/01/2020
Mã học phần: IT3180 Tên học phần: Nhập môn công nghệ phần mềm Đề 2
Họ và tên sinh viên:.
Mã số sinh viên: Mã lớp:
Điền đầy đủ thông tin vào chỗ trống trong đề thi. Không sử dụng máy tính, điện thoại di động, thiết bị điện tử.
Cán bộ coi thi không giải thích gì thêm. Nộp bài kèm theo đề.
Phần 1.(4 điểm) Trắc nghiệm: sinh viên làm bài vào đề thi. Tô đen ( ) vào phương án bạn lựa chọn cho mỗi câu
hỏi trong bảng sau. (Chú ý: chỉ tính điểm các câu trả lời được đánh dấu trong bảng)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
A
B
C
D
1. Mô tả nào phù hợp nhất với mô hình Agile?
a. Tập trung vào xây dựng các tài liệu trong tiến
trình phát triển.
b. Nhấn mạnh đặc điểm toán học của yêu cầu.
c. Công việc được thực hiện theo trình tự: lập kế
hoạch cơ bản, thiết kế ngoài, thiết kế trong, thiết kế
chương trình, lâp trình, kiểm thử.
d. Dễ dàng thích nghi với các thay đổi xảy ra.
2. Đáp án nào sau đây không đại diện cho
thiết kế hướng đối tượng?
a. 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
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
3. 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?
a. Phạm vi (Scope of Software)
b. Tài liệu tham chiếu (References)
c. Thành phần cấu hình (Configuration Item)
d. Cấu hình cơ bản (Baseline)
4. Đâu là các loại yêu cầu phần mềm?
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
5. Đ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?
a. Quản lý thay đổi (Change Control)
b. Quản lý phiên bản (Version Control)
c. SCIs
d. Không có đáp án nào đúng
6. Các dự án phần mềm có đặc trưng nào cơ
bản nhất?
a. Các thành viên trong đội dự án phải có cùng ý
tưởng.
b. Phức tạp và sản phẩm ít hữu hình.
c. Rất khó tiêu tiền nên thường không giải ngân
được.
d. Người quản lý không cần chuyên môn.
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à?
a. Xây dựng một hệ thống thực thi được dựa vào
thiết kế.
b. Thẩm định lại tính đúng đắn của giải pháp
theo yêu cầu ban đầu đã đặt ra.
c. Xây dựng giải pháp cho vấn đề.
d. Nhận biết vấn đề, bài toán thực tế, các yêu cầu
mà người dùng đặt ra.
8. Thiết kế phần mềm là:
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?
a. Bao gồm việc đánh giá những rủi ro phần
mềm trong mỗi vòng lặp
b. Nhiều hỗn độn hơn với mô hình gia tăng
c. Kết thúc với việc xuất xưởng sản phẩm phần
mềm
d. Chỉ phù hợp cho thiết kế phần cứng máy tính
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?
a. Tính khả chuyển
b. Khả năng bảo trì
(Đề 1) - Trang 1
c. Tính sẵn có
d. Cả tính khả chuyển và khả năng bảo trì
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 ?
a. Nhiều giao diện con cụ thể thì tốt hơn một
giao diện lớn tổng quát.
b. 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.
c. Các lớp không được tái sử dụng cùng nhau thì
không nên nhóm lại với nhau.
d. Các lớp con nên được thiết kế để thay thế
được các lớp cha.
12. Đáp án nào trong các đáp án sau không
phải là một nhiệm cụ của quản lý cấu hình phần
mềm?
a. Xác định các thành phần cấu hình
b. Quản lý rủi ro
c. Quản lý phiên bản bàn giao
d. Quản lý nhánh phát triển
13. 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à:
a. Xây dựng hệ thống
b. Quản lý phiên bản bàn giao
c. Quản lý thay đổi
d. Quản lý cấu hình
14. 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”?
a. Một sản phẩm thực nghiệm được sinh ra, và
việc kiểm tra các đặc tả yêu cầu và ước lượng được
thực hiện trong giai đoạn sớm.
b. Ứng dụng được chia ra thành các đơn vị nhỏ.
Sau đó từng đơn vị trong chúng được thiết kế và
lập trình tuần tự cái nọ tiếp cái kia.
c. Thời gian phát triển được rút ngắn bởi sự tham
gia của người dùng, bằng việc phát triển với ít kĩ sư
hơn và bằng việc dùng có hiệu quả các công cụ
phát triển.
d. 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.
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?
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
16. Lý do khiến nhóm phát triển phần mềm
nên tạo nguyên mẫu (prototype)?
a. Tạo nguyên mẫu dùng làm bản kiểm thử cho
phần mềm sau này.
b. Tạo nguyên mẫu làm sơ sở cho việc viết đặc tả
cho sản phẩm.
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.
17. 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?
a. Các đối tượng liên lạc với nhau thông qua trao
đổi thông báo.
b. Các đối tượng độc lập với nhau và không liên
lạc.
c. Các đối tượng liên lạc với nhau thông qua các
biến dùng chung.
d. Các đối tượng chia sẻ với nhau thông qua
trạng thái hệ thống tập trung.
18. Đâu là giải pháp cho thiết kế cấu trúc?
a. Mô hình đặc tả theo sơ đồ luồng dữ liệu
b. Các thủ tục được thể hiện dưới dạng các
bubbles
c. 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
d. Nhấn mạnh vào phân rã các thủ tục
19. Phát biểu nào là phù hợp nhất cho
usecases?
a. Nguyên mẫu được phát triển để xác định yêu
cầu tốt hơn.
b. 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.
c. Mô tả sự biến đổi trạng thái của hệ thống.
d. Mô tả về môi trường kĩ thuật của hệ thống.
20. 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?
a. Kiểm thử hệ thống Kiểm thử đơn vị
Kiểm thử tích hợp
b. Kiểm thử đơn vị Kiểm thử tích hợp
Kiểm thử hệ thống
c. Kiểm thử hệ thống Kiểm thử tích hợp
Kiểm thử đơn vị
d. Kiểm thử đơn vị Kiểm thử hệ thống
Kiểm thử tích hợp
Phần 2. (6 điểm) Tự luận. Đọc mô tả Casestudy dưới đây và trả lời các câu hỏi kèm theo:
Cửa hàng BKStore cần xây dựng một hệ thống bán hàng trên nền tảng Web. Hệ thống cho phép
khách hàng có thể truy cập xem thông tin các sản phẩm được bày bán và đặt mua hàng trực tuyến vào mọi
thời điểm trong ngày 24/7.
Với mục tiêu tạo sự tiện lợi cho khách hàng, hệ thống cho phép mọi khách hàng đều có thể xem thông
tin sản phẩm. Chỉ khi thanh toán đơn hàng thì mới yêu cầu đăng nhập tài khoản hoặc đăng ký thành
viên.Giao diện Web cần được thiết kế để tương thích tốt với các kích thước màn hình hiển thị khác nhau
(Đề 1) - Trang 2
bao gồm cả màn hình điện thoại di động. Các sản phẩm bày bán được sắp xếp theo danh mục và được
trình bày bằng hình ảnh kèm theo mô tả chi tiết. Khách hàng đặt mua sản phẩm bằng cách chọn các sản
phẩm mong muốn vào giỏ hàng. Khách hàng có thể tìm kiếm sản phẩm theo nhiều tiêu chí khác nhau
như: tên sản phẩm, chủng loại, giá thành. Để phục vụ cho các khách hàng là người nước ngoài hệ thống
cần cung cấp chức năng chuyển đổi ngôn ngữ hiển thị với hai ngôn ngữ là tiếng Việt và tiếng Anh.
Sau khi chọn xong giỏ hàng, khách hàng sẽ thực hiện các bước thanh toán. Khách hàng được yêu cầu
cung cấp các thông tin các nhân như: họ tên, số điện thoại liên hệ, địa chỉ, email để dùng cho việc giao
hàng. Khách hàng có thể lựa chọn phương thức thanh toán: thanh toán khi giao hàng hoặc thanh toán trực
tuyến. Nếu chọn thanh toán trực tuyến, khách hàng cần cung cấp các thông tin: ngân hàng, số tài khoản/số
thẻ, họ tên chủ tài khoản. Hệ thống sẽ kết nối với hệ thống thanh toán của ngân hàng để kiểm tra thông tin
tài khoản và thực hiện thanh toán. Tất cả những thông tin do khách hàng cung cấp đều được hệ thống mã
hoá trước khi lưu trữ hoặc truyền tải nhằm đảm bảo tính bảo mật. Trong trường hợp khách hàng có cung
cấp địa chỉ email, hệ thống sẽ gửi thông tin đơn đặt hàng cùng với ngày dự kiến giao hàng cho khách
hàng. Hệ thống cũng cung cấp chức năng tích luỹ điểm thưởng cho khách hàng (dựa trên giá trị đơn hàng
đặt mua) phục vụ cho các chương trình khuyến mãi hoặc đổi quà.
Bộ phận giao hàng sẽ truy cập vào hệ thống để xác nhận các đơn đặt hàng của khách hàng. Mỗi đơn
hàng sau khi xác nhận sẽ được xem xét xử lý trong khoảng thời gian từ 1 đến 3 ngày. Hệ thống hỗ trợ kết
xuất danh sách đơn hàng theo nhiều tiêu chí khác nhau: ngày đặt hàng, khu vực giao hàng, loại mặt hàng,
trạng thái. Dựa vào danh sách kết xuất, bộ phận giao hàng sẽ phân chia lực lượng giao hàng sao cho hiệu
quả nhất. Những đơn đặt hàng đã được giao nhận xong sẽ được bộ phận giao hàng cập nhật lại tình trạng
là hoàn tất.
Vào cuối mỗi ngày, sau khi tiến hành kiểm kê các sản phẩm tồn kho, bộ phận bán hàng chịu trách
nhiệm cập nhật lại danh sách các sản phẩm được bày bán. Công việc bao gồm: cập nhật lại số lượng sản
phẩm tồn, thêm vào thông tin các sản phẩm mới nhập, ẩn đi các sản phẩm hết hàng. Ngoài ra bộ phận bán
hàng cũng tiến hành thống kê doanh thu của từng loại sản phẩm vào cuối mỗi tháng.
Các nhân viên sau khi xác thực tài khoản thành công mới được phép truy cập vào hệ thống để thực
hiện công việc nghiệp vụ của mình. Thông tin tài khoản và các cấu hình của website được quản lý bởi bộ
phận quản trị hệ thống.
a) (2 điểm) Phân biệt yêu cầu chức năng (functional requirements) và yêu cầu phi chức năng
(nonfunctional reqquirements)? Hãy xác định các tác nhân của hệ thống bán hàng được mô tả ở trên và
xác định các yêu cầu chức năng và phi chức năng của hệ thống này?
b) (2 điểm) Phân biệt hai giải pháp mô hình các yêu cầu: phân tích cấu trúc và phân tích hướng đối
tượng? Hãy xây dựng biểu đồ hoạt động (activity diagram) cho chức năng thanh toán đơn hàng theo mô
tả của hệ thống trên.
c) (2 điểm) Trong một module xử lý có xây dựng một phương thức như sau::
int process(int n,int a) {
int t=0;
if (n%2==0){
switch (a){
case 4: t = 2; break;
case 6: t = 3; break;
}
} else {
for(int i =1; i<=n; i++)
t = t+(i%2);
}
return t;
}
Hãy áp dụng phương pháp Basis path testing trong kỹ thuật kiểm thử hộp trắng đưa ra các trường hợp
kiểm thử tối thiểu cho phương thức trên.
(Đề 1) - Trang 3