You are on page 1of 6

Giảng viên ra đề: 22/12/2022 Người phê duyệt: 23/12/2022

ThS. Nguyễn Thanh Tùng PGS.TS. Trần Minh Quang

Học kỳ/năm học 1 2022-2023


THI CUỐI KỲ Ngày thi 25/12/2022
Môn học Phân tích và thiết kế hệ thống
TRƯỜNG ĐH BÁCH KHOA – ĐHQG-HCM Mã môn học CO3025
KHOA ………………….
Thời lượng 100 phút Mã đề
Ghi - Được sử dụng tài liệu trong 2 tờ giấy A4
chú: - Được sử dụng viết chì để vẽ hình
- Nộp lại đề thi cùng với bài làm

Câu 1. (1.5 điểm)


a. Sinh viên phân tích cách mã hóa ID theo dạng Tuần tự đơn giản (Simple Sequence Codes), Khối tuần tự
(Block Sequence Codes). Với mỗi loại mã hóa, sinh viên trình bày cách thức mã hóa, ưu / nhược điểm và
ví dụ minh họa. (1 điểm)
Đáp án: Chương 15, slide 12-17
b. Cho mã có khả năng tự kiểm tra lỗi với số nhân là 3 số cuối của mã sinh viên, số chia là 9. Sinh viên cho
biết mã số 12252022 do người dùng nhập có hợp lệ hay không? (0.5 điểm)
A
Đáp án: Chương 15, slide 59

Ví dụ số nhân là 123. Mã số 12252022 có số kiểm tra là 2. Ta chỉ nhân mã số 1225202:

1x1 + 2x2 + 2x3 + 5x1 + 2x2 + 0x3 + 2x1 = 22

Chia cho số chia 9, ta có: 22 / 9 = 2 dư 4

Số kiểm tra lỗi là: 9 – 4 = 5

Số kiểm tra lỗi là 5, không phải 2. Vậy người dùng nhập sai mã số.

Câu 2. (2 điểm)
a. Sinh viên trình bày các loại hệ cơ sở dữ liệu NoSQL, gồm tên, mô tả, ưu / nhược điểm, các phần mềm.
Đáp án:

_ Key Value: là kiểu lưu trữ đơn giản nhất trong các loại CSDL NoSQL đồng thời nó cũng là kiểu lưu trữ
cho tất cả các HQT CSDL NoSQL. Thông thường, các HQT CSDL Key-value lưu trữ dữ liệu dưới dạng
key (là một chuỗi duy nhất) liên kết với value có thể ở dạngchuỗi văn bản đơn giản hoặc các tập, danh sách
dữ liệu phức tạp hơn. Quá trình tìm kiếm dữ liệu thường sẽ được thực hiện thông qua key, điều này dẫn
đến sự hạn chế về độ chính xác. Các phần mềm như Redis, MemcacheDB

_ Document được gọi là các cơ sở dữ liệu hướng tài liệu, một thiết kế riêng biệt cho việc lưu trữ tài liệu
dạng văn kiện JSON, BSON hoặc XML. Vì là cấu trúc dữ liệu không ràng buộc khác với SQL, các CSDL
này không đòi hỏi người dùng tự tạo bảng nhập liệu trước khi nhập dữ liệu vào. Các tài liệu có thể chứa bất
kì dữ liệu nào. CSDL dạng này có các cặp khoá – giá trị nhưng cũng có đính kèm các trị số siêu dữ liệu
giúp việc truy vấn dễ dàng hơn. Các phần mềm như MongoDB, CouchDB

MSSV: Họ và tên SV: Trang 1/2


_ Column-Oriented là kiểu lưu trữ đơn giản nhất trong các loại CSDL NoSQL đồng thời nó cũng là kiểu
lưu trữ cho tất cả các HQT CSDL NoSQL. Thông thường, các HQT CSDL Key-value lưu trữ dữ liệu dưới
dạng key (là một chuỗi duy nhất) liên kết với value có thể ở dạngchuỗi văn bản đơn giản hoặc các tập,
danh sách dữ liệu phức tạp hơn. Quá trình tìm kiếm dữ liệu thường sẽ được thực hiện thông qua key, điều
này dẫn đến sự hạn chế về độ chính xác. Các phần mềm như HBase, Casandra.

_ Cơ sở dữ liệu đồ thị (Graph) là một cơ sở dữ liệu dạng đồ thị sử dụng các cấu trúc đồ thị với các nút
(nodes), các mối quan hệ (relationships), các thuộc tính (properties) để mô tả và lưu trữ dữ liệu. Graph
Database thường được sử dụng để giải quyết các vấn đề về mạng. Trong thực tế, hầu hết các trang web
mạng xã hội đều sử dụng một số hình thức của graph database để làm những việc mà chúng ta đã biết như:
kết bạn, bạn của bạn, … Các phần mềm như Neo4J, GraphDB

b. Sinh viên dùng cơ sở dữ liệu dạng cột (column-oriented DBMS) để minh họa LƯU TRỮ các bảng sau.
Lưu ý: mỗi bảng, sinh viên tạo dữ liệu mẫu ít nhất 3 dòng dữ liệu.
• Bảng Student (Id, Fullname, Birthday)

• Bảng Subject (Id, Name, Description)

• Bảng Class (StudentId, SubjectId, Point)

So với cơ sở dữ liệu quan hệ (relational DBMS), cơ sở dữ liệu dạng cột tốt hơn điểm nào?

Đáp án:

Bảng Student

Id Fullname Birthday

00001 Nguyễn Văn Tú 13/01/1999

00002 Nguyễn Văn Bách 30/07/1999

00003 Nguyễn Thanh Văn 20/10/1999

Bảng Subject

Id Name Description

PTTKHT Phân tích thiết kế hệ thống A

CNPM Công nghệ phần mềm B

HDH Hệ điều hành C

Bảng Class

StudentId SubjectId Point

00001 PTTKHT 8

00002 CNPM 8

00002 HDH 7

MSSV: Họ và tên SV: Trang 2/2


Khi lưu trữ dạng cột vào đĩa cứng sẽ như sau:

Bảng Student:

00001 00002 00003 Nguyễn Nguyễn Nguyễn 13/01/1999 30/07/1999 20/10/1999


Văn Tú Văn Thanh
Bách Văn

Bảng Subject:

PTTKHT CNPM HDH Phân tích Công Hệ điều A B C


thiết kế nghệ hành
hệ thống phần
mềm

Bảng Class:

00001 00002 PTTKHT CNPM HDH 8 7

So với cơ sở dữ liệu quan hệ, cơ sở dữ liệu cột tốt hơn:

_ Tối ưu lưu trữ: loại dữ liệu trùng

_ Tối ưu truy vấn khi các dữ liệu cùng cột lưu trữ liên tiếp nhau trên đĩa. Một lần đọc block disk sẽ đọc
được nhiều dữ liệu thuộc cùng một cột, truy xuất được nhiều dòng thỏa điều kiện tìm kiếm.

Câu 3. (1.5 điểm)


Nhân dịp Giáng sinh, Circle K tạo ứng dụng di động để khách hàng săn quà thưởng. Với mỗi 30.000 đồng mua
hàng, khách hàng được một lần săn quà. Khách hàng cần tải app và quét barcode trên hoá đơn để app truy vấn
cơ sở dữ liệu, rút trích tổng số tiền của hoá đơn và tính ra số lược săn quà cho khách hàng.

Sinh viên lưu ý trên hoá đơn ngoài barcode dành cho trò chơi còn có QR code cho mục đích khác. Hai code
này có giá trị khác nhau. Barcode của hoá đơn có thể bị tổn hại bởi chất lượng máy in, dầu mỡ, bị rách.

a. Thiết kế giao diện ứng dụng di động Circle K cho màn hình quét hoá đơn. (0.5 điểm)
b. Trong giao diện màn hình mà sinh viên thiết kế, hãy trình bày 2 điểm nhằm tăng trải nghiệm người dùng (1
điểm)
Đáp án: sinh viên vẽ mockup giao diện hóa đơn, màn hình, gồm chủ yếu thông tin chương trình săn quà
thưởng của Circle K, và quan trọng nhất là ô quét Barcode. Để tăng trải nghiệm người dùng, thì ô quét Barcode
nên có hình chữ nhật, rõ bên trong, mờ xung quanh để người dùng đưa barcode vào khung hình chữ nhật. Các
phần mềm quét code thường cho phép quét đồng thời nhiều loại code, nên hạn chế thư viện để chỉ quét
Barcode, không quan tâm đến QR code. Ngoài ra, cho người dùng một ô để nhập mã tham dự trò chơi vào,
phòng hờ trường hợp Barcode bị hư. Hóa đơn có thể hư mã, nên cần có chuỗi ID để người dùng nhập vào khi
mã hư. Hóa đơn cũng cần có lưu ý che đi QR code không dùng đến để ứng dụng dễ quét hơn.

Hệ thống sau dùng cho 6 câu tiếp theo


Một phòng khám muốn xây dựng hệ thống chăm sóc khách hàng (CRM) để tăng chất lượng phục vụ bệnh
nhân. Bệnh nhân cảm thấy hài lòng khi được phòng khám chăm sóc thông qua phần mềm di động, như nhắc
uống thuốc, liều lượng, các triệu chứng có thể xảy ra,… Tuy nhiên họ rất lo lắng vấn đề thông tin cá nhân, sự
riêng tư, bệnh án của họ có thể bị tiết lộ. Thông tin bệnh nhân được bác sĩ (người chủ) phòng khám khai thác
MSSV: Họ và tên SV: Trang 3/2
cho vấn đề khoa học, nên có thể dùng một phần dữ liệu của hệ thống trong các công bố khoa học. Bác sĩ chủ
phòng khám quyết định xây dựng hệ thống quản lý phòng khám dựa trên web và mobile app.

Câu 4. (1 điểm)
Có 3 đề xuất phát triển hệ thống. Sinh viên sử dụng lựa chọn đa tiêu chí để đánh giá các giải pháp phát triển
hệ thống nêu trên.
1. Phòng khám thuê nhân viên IT để tự phát triển phần mềm.

2. Phòng khám ký hợp đồng với công ty phát triển phần mềm để phát triển hệ thống cho phòng khám.

3. Dùng phần mềm thương mại dạng dịch vụ. Sản phẩm thương mại, nên tính năng đầy đủ, ổn định, đảm
bảo bảo trì nhưng phải trả phí khởi tạo, duy trì dịch vụ phần mềm mỗi tháng. Ngoài ra, khả năng tuỳ biến
và mở rộng thấp.

Yêu cầu: sinh viên nêu ra ít nhất 10 tiêu chí, trọng số và các thang điểm đều cho từ 1 đến 10.

Đáp án:

Trọng số Tự phát triển Phần mềm mã Phần mềm


phần mềm nguồn mở thương mại
Giá thành 9 8 10 3
Chi phí vận hành 8 5 6 8
Đầy đủ tính năng 10 8 6 10
Hệ thống ổn định 9 9 6 10
Bảo trì hệ thống 8 8 6 9
Sở hữu phần mềm 7 10 8 4
Khả năng mở rộng 8 8 7 5
Tạo ra đặc thù, thế 10 10 8 6
mạnh riêng
Nhân sự phát triển 8 7 5 10
Nhân sự duy trì 5 6 8 10
Tổng 657 572 611

Câu 5. (2 điểm)
Khi phòng khám ký hợp đồng với công ty phát triển phần mềm, sinh viên hãy trình bày lợi ích và chi phí,
cả vô hình và hữu hình của phòng khám trong trường hợp này.
Đáp án:
a. Lợi ích hữu hình / vô hình của hệ thống
_ Lợi ích hữu hình: hệ thống chăm sóc từ xa khách hàng với chi phí nhân công giảm xuống. Số lượng
khách hàng được chăm sóc qua app tăng lên, chi phí cho quảng cáo cũng giảm xuống. Thời gian chăm sóc
khách hàng giảm xuống, tăng thời gian phục vụ khách hàng tại phòng khám, tăng thu nhập.
_ Lợi ích vô hình: hệ thống chăm sóc khách hàng từ xa, giúp khách hàng cảm nhận sự quan tâm, chăm sóc,
gần gủi của phòng khám và khách. Từ đó cung cấp các thông tin về các sản phẩm, dịch vụ của phòng
khám, các chương trình, sự kiện khuyến mãi khách hàng. Từ đó, tạo ra khách hàng trung thành, giảm thời
gian tái sử dụng sản phẩm, dịch vụ của phòng khám, tạo niềm tin để khách hàng giới thiệu người quen đến
phòng khám.
b. Chi phí hữu hình / vô hình của hệ thống
_ Chi phí hữu hình: Chi phí server, thiết bị Android, iOS, internet, điện, thời gian phát triển phần mềm,
kiểm thử phần mềm… Ngoài ra còn có chi phí mua tài khoản và duy trì tài khoản hằng năm trên các chợ
phần mềm Google Play, App Store.

MSSV: Họ và tên SV: Trang 4/2


_ Chi phí vô hình: Nếu hệ thống thất bại sẽ mất đi hình ảnh của doanh nghiệp, mất lợi thế cạnh tranh, mất
uy tín với khách hàng, đưa ra các quyết định, chính sách chăm sóc khách hàng không phù hợp, mất khách.
Câu 6. (1 điểm)
Sau khi hệ thống được triển khai thành công tại phòng khám, các phòng khám khác trong cùng lĩnh vực
chuyên môn cũng liên hệ công ty để triển khai phần mềm. Các phòng khám muốn có kho dữ liệu chung
được chia sẽ từ các khoa dữ liệu riêng, độc lập của các phòng khám. Chỉ các dữ liệu được đồng ý chia sẽ
mới được đưa lên kho dữ liệu chung và liên tục cập nhật. Sinh viên hãy vẽ kiến trúc hệ thống đáp ứng mô
hình này.
Đáp án:

Câu 7. (1 điểm)
Sinh viên hãy trình bày 4 mức kiểm thử cho hệ thống này, kèm ví dụ minh hoạ.
Đáp án: trình bày theo 4 mức kiểm thử hệ thống này dữa trên slide bài giảng:

Câu 8. (1 điểm)
Triển khai ở nhiều địa điểm khác nhau, trên máy tính của phòng khám, máy chủ trung tâm và điện thoại di
động. Sinh viên hãy đề xuất cách thức triển khai hệ thống.
Đáp án: Sinh viên vẽ kiến trúc hệ thống phân tán, gồm cả cơ sở dữ liệu trung tâm và dữ liệu riêng của từng
phòng khám. Ngoài triển khai trên hệ thống server, sinh viên triển khai app trên Google Play và App Store.

MSSV: Họ và tên SV: Trang 5/2


--- HẾT---

MSSV: Họ và tên SV: Trang 6/2

You might also like