Đề thi Học kì 1 môn Công nghệ phần mềm - Đề 2 - Năm học 202-2021

ĐỀ 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  
BỘ 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?  
c. SCIs  
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  
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. 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  
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.  
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)  
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  
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ó  
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. Độ 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?  
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. Quản lý thay đổi (Change Control)  
b. Quản lý phiên bản (Version Control)  
a. Tính khả chuyển  
b. Khả năng bảo trì  
(Đề 1) - Trang 1  
c. Tính sẵn có  
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.  
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.  
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.  
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  
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.  
c. Quản lý phiên bản bàn giao  
d. Quản lý nhánh phát triển  
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  
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  
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  
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  
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  
pdf 3 trang Thùy Anh 27/04/2022 3680
Bạn đang xem tài liệu "Đề thi Học kì 1 môn Công nghệ phần mềm - Đề 2 - Năm học 202-2021", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfde_thi_hoc_ki_1_mon_cong_nghe_phan_mem_de_2_nam_hoc_202_2021.pdf