TRƯỜNG ĐẠI HỌC QUẢN CÔNG NGHỆ HẢI PHÒNG
KHOA CÔNG NGHỆ THÔNG TIN
KỸ NGHỆ PHẦN MỀM
Đánh Giá Phần Mềm Google
Sinh viên: Nguyễn Tiến Dũng
Hoàng Việt Trung
Lớp: CT2601
Hải Phòng, 2025
1.1. tả bài toán
Google Search một hệ thống tìm kiếm dữ liệu khổng lồ, hoạt
động trên quy toàn cầu. Bài toán đặt ra cho hệ thống này bao
gồm:
Thu thập dữ liệu: Google phải liên tục thu thập cập nhật
dữ liệu từ hàng tỷ trang web trên Internet, sử dụng các bot
tự động (Google Crawlers).
Lập chỉ mục: Sau khi thu thập, dữ liệu cần được xử lý, phân
loại lập chỉ mục theo nhiều tiêu chí khác nhau (từ khóa,
độ phổ biến, nội dung liên quan, mức độ tin cậy...).
Truy xuất thông tin: Khi người dùng nhập truy vấn tìm kiếm,
hệ thống phải nhanh chóng xử đưa ra kết quả chính xác
dựa trên thuật toán xếp hạng phức tạp.
Tối ưu hóa hiệu suất: Do số lượng truy vấn mỗi giây lên đến
hàng triệu, hệ thống phải đảm bảo khả năng xử nhanh
không ảnh hưởng đến trải nghiệm người dùng.
Bảo mật quyền riêng tư: Hệ thống cần bảo vệ dữ liệu
nhân của người dùng, đồng thời ngăn chặn các hành vi thao
túng xếp hạng tìm kiếm.
1.2. Mục tiêu
Phân tích các yêu cầu chức năng phi chức năng của
Google Search.
Xây dựng các hình trực quan như Use Case Diagram,
Data Flow Diagram (DFD) Class Diagram.
Đánh giá hệ thống dựa trên các tiêu chí về hiệu suất, bảo
mật trải nghiệm người dùng.
2. Đặc tả yêu cầu hệ thống
2.1. Yêu cầu chức năng
1. Tìm kiếm thông tin: Người dùng nhập từ khóa hệ thống
trả về danh sách kết quả liên quan.
2. Gợi ý tìm kiếm: Google đề xuất các cụm từ tìm kiếm dựa trên
lịch sử hoặc xu hướng.
3. Bộ lọc kết quả: Cho phép lọc theo loại nội dung (hình ảnh,
video, tin tức, bản đồ...).
4. Xếp hạng kết quả: Hệ thống sử dụng thuật toán để sắp xếp
kết quả theo mức đliên quan.
5. Lưu lịch sử tìm kiếm: Người dùng thể xem lại lịch sử tìm
kiếm nếu đã đăng nhập.
2.2. Yêu cầu phi chức năng
1. Hiệu suất cao: Hệ thống phải phản hồi trong vòng dưới 1
giây.
2. Khả năng mở rộng: Hỗ trợ hàng triệu người dùng đồng thời.
3. Bảo mật: Bảo vệ dữ liệu người dùng chống tấn công
mạng.
4. Trải nghiệm người dùng tốt: Giao diện đơn giản, dễ sử dụng.
Đặc tả yêu cần phần cứng phần mềm, yêu cầu người dung
2.3. Yêu cầu phần cứng
Máy chủ:
o CPU đa lõi hiệu suất cao (Intel Xeon hoặc AMD EPYC).
o RAM tối thiểu 128GB (có thể mở rộng lên TB).
o cứng SSD NVMe tốc độ cao để lưu trữ chỉ mục tìm
kiếm.
o Hạ tầng mạng tốc độ cao, băng thông lớn.
Người dùng nhân (thiết bị truy cập):
o Máy tính, điện thoại trình duyệt hiện đại.
o Kết nối internet ổn định.
2.4. Yêu cầu phần mềm
Máy chủ:
o Hệ điều hành: Linux (Ubuntu Server, CentOS...).
o sở dữ liệu: NoSQL (Elasticsearch, MongoDB) kết hợp
SQL.
o Ngôn ngữ lập trình: Python, Java, Go...
o Hệ thống tìm kiếm: Sử dụng Apache Solr hoặc
Elasticsearch.
o Công cụ học máy: TensorFlow/PyTorch để tối ưu tìm
kiếm.
Phía người dùng:
o Trình duyệt hỗ trợ HTML5, JavaScript (Chrome, Firefox,
Edge).
o Hệ điều hành: Windows, macOS, Linux, Android, iOS.
2.5. Yêu cầu người dùng
1. Kiến thức bản về công nghệ:
o Biết cách sử dụng trình duyệt web để nhập tkhóa tìm
kiếm.
o Hiểu cách sử dụng bộ lọc kết quả.
2. Kết nối Internet ổn định để đảm bảo tốc đtìm kiếm nhanh.
3. tài khoản Google (nếu muốn sử dụng các chức năng nâng
cao như lưu lịch stìm kiếm).
3. Biểu đồ hệ thống
3. 1Mô hình hệ thống
3.2Biểu đồ ngữ cảnh
Tác nhân chính: Người dùng, Hệ thống Google Search, Nhà
quảng cáo, sdữ liệu Google.
tả luồng dữ liệu:
o Người dùng gửi truy vấn tìm kiếm Hệ thống Google
Search xử Truy xuất thông tin từ CSDL Trả kết
quả.
o Nhà quảng cáo gửi dữ liệu quảng cáo Hệ thống xử
hiển thị quảng cáo phù hợp.
3.3Phân chức năng
1. Quản tìm kiếm
o Nhận truy vấn tìm kiếm
o Xử tìm kiếm lập chỉ mục
o Hiển thị kết quả
2. Quản quảng cáo
o Tiếp nhận quảng cáo từ nhà quảng cáo
o Gán quảng cáo vào kết quả tìm kiếm
3. Quản người dùng
o Lưu lịch sử tìm kiếm
o Cung cấp gợi ý dựa trên lịch sử
3.4.. Danh sách hồ yêu cầu
3.4.5Ma trận yêu cầu
3.4.6 Biểu đồ phân luồng
Bước 1: Người dùng nhập truy vấn Hệ thống kiểm tra dữ
liệu sẵn Nếu , trả kết quả Nếu không, truy xuất dữ
liệu từ CSDL.
Bước 2: Hệ thống xử xếp hạng kết quả Hiển thị danh
sách kết quả tìm kiếm.
Bước 3: Nếu quảng cáo phù hợp, hệ thống hiển thị quảng
cáo kèm theo kết quả.
Bước 4: Người dùng có thể chọn kết quả hoặc điều chỉnh truy
vấn.
4. Kết luận
Báo cáo đã phân tích hệ thống Google Search một cách chi tiết từ
góc nhìn phát triển hệ thống, bao gồm tả bài toán, đặc tả u
cầu, xây dựng các hình như biểu đồ ngữ cảnh, phân chức
năng, danh sách hồ sơ, ma trận yêu cầu biểu đồ phân luồng.
Hệ thống Google Search cần đảm bảo hiệu suất cao, bảo mật tốt
cung cấp trải nghiệm người dùng tối ưu. Để đạt được mục tiêu
này, các công nghệ xử dữ liệu lớn, tối ưu thuật toán tìm kiếm
xử ngôn ngữ tự nhiên cần được áp dụng.
5 xxĐặc tả yêu cầu hệ thống
5.1Đặc tả chức năng với hình phân cấp chức năng
5.2 biểu đồ ngữ cảnh
5.3 Biểu đồ luồng dữ liệu(DFD) cấp 0
5.4 đồ luồng dữ liệu
Ý tưởng thuật toán cho hệ thống tìm kiếm Google
Dựa vào nh EER trong hình, hệ thống tìm kiếm Google
thể hoạt động theo các bước chính sau:
1. Thu thập lập chỉ mục dữ liệu
Công cụ thu thập dữ liệu (Web Crawler): Quét nội dung
trên các trang web công khai.
Phân tích lập chỉ mục:
o Trích xuất nội dung quan trọng từ trang web.
o Lưu trữ thông tin trong với cácsở dữ liệu tìm kiếm
thuộc tính như tiêu đề, URL, tả, từ khóa.
o Xây dựng bảng từ khóa (Keyword) liên kết với tài
nguyên web.
2. Xử truy vấn tìm kiếm
Khi người dùng nhập từ khóa vào ô tìm kiếm:
1. Tiền xử dliệu đầu vào:
Chuẩn hóa từ khóa (loại bỏ dấu, viết hoa/thường).
Kiểm tra lỗi chính tả gợi ý sửa lỗi.
Phân tích từ khóa để hiểu mục đích tìm kiếm
(truy vấn thông tin, mua hàng, xem tin tức...).
2. Tìm kiếm trong sở dữ liệu:
So khớp từ khóa với .bảng chỉ mục
Sử dụng thuật toán tìm kiếm nhanh như TF-IDF,
BM25, hoặc hình ngôn ng để xác định độ
liên quan.
Lấy ra danh sách kết quả điểm số cao nhất.
3. :Sắp xếp kết quả
Xếp hạng theo độ phổ biến, số lượt truy cập, chất
lượng nội dung.
Nếu nhiều kết quả trùng lặp, loại bỏ nội dung
trùng.
3. Hiển thị kết quả tìm kiếm
Trả về danh sách kết quả gồm: tiêu đề, tả, URL, hình
ảnh xem trước.
Hiển thị quảng o nếu phù hợp với truy vấn người dùng.
4. Lưu lịch sử tìm kiếm
Hệ thống lưu lại:
o Từ khóa tìm kiếm.
o Thời gian tìm kiếm.
o Kết quả đã chọn.
Dùng để:
o Gợi ý từ khóa liên quan.
o nhân hóa kết quả tìm kiếm.
o Phân tích xu hướng người dùng.
5. Học máy cải thiện thuật toán
Phân tích hành vi người dùng:
o Click vào kết quả o nhiều nhất.
o Thời gian lại trang.
Cập nhật để tối ưu hóa trải nghiệm tìm hình xếp hạng
kiếm.
Tóm tắt thuật toán
1. Crawl dữ liệu Xây dựng chỉ mục.
2. Xử truy vấn Phân tích từ khóa, so khớp chỉ mục.
3. Xếp hạng kết quả Hiển thị nội dung phù hợp.
4. Lưu lịch sử tìm kiếm Phân tích nhân hóa.
5. Cải thiện thuật toán Học từ hành vi người dùng.
<Thiếu thiết kế chương trình>
5.4 thiết kế giao diện
Thiết kế tìm kiếm
Quản quảng cáo
Quản google Icloud
Quản tài khoản
KIỂM THỬ
1: Bảng kế hoạch kiểm th
Mục tiêu kiểm thử tổng quát:
Đảm bảo các chức năng hoạt động đúng như tả.
Giao diện hiển thị ràng, dễ sử dụng.
Hệ thống phản hồi nhanh, không bị lỗi logic hoặc hiển thị.
Đáp ứng được các yêu cầu của người dùng cuối khi sử dụng hệ
thống tìm kiếm.
2. Các loại cần kiểm th
8.Kết luận
Đặc tả toàn diện này nhằm mục đích nêu chi tiết các yêu cầu để
tạo ra một hệ thống tìm kiếm GOOGLE. khả năng tìm kiếm,lữu
trữ. Với các tính năng mạnh mẽ giao diện hỗ trợ, hệ thống
được thiết kế để đáp ng cả nhu cầu tìm kiếm của đối tượng toàn
cầu

Preview text:

TRƯỜNG ĐẠI HỌC QUẢN LÝ VÀ CÔNG NGHỆ HẢI PHÒNG
KHOA CÔNG NGHỆ THÔNG TIN
KỸ NGHỆ PHẦN MỀM
“Đánh Giá Phần Mềm Google”
Sinh viên: Nguyễn Tiến Dũng Hoàng Việt Trung Lớp: CT2601
Hải Phòng, 2025 1. Giới thiệu 1.1. Mô tả bài toán
Google Search là một hệ thống tìm kiếm dữ liệu khổng lồ, hoạt
động trên quy mô toàn cầu. Bài toán đặt ra cho hệ thống này bao gồm: 
Thu thập dữ liệu: Google phải liên tục thu thập và cập nhật
dữ liệu từ hàng tỷ trang web trên Internet, sử dụng các bot
tự động (Google Crawlers). 
Lập chỉ mục: Sau khi thu thập, dữ liệu cần được xử lý, phân
loại và lập chỉ mục theo nhiều tiêu chí khác nhau (từ khóa,
độ phổ biến, nội dung liên quan, mức độ tin cậy...). 
Truy xuất thông tin: Khi người dùng nhập truy vấn tìm kiếm,
hệ thống phải nhanh chóng xử lý và đưa ra kết quả chính xác
dựa trên thuật toán xếp hạng phức tạp. 
Tối ưu hóa hiệu suất: Do số lượng truy vấn mỗi giây lên đến
hàng triệu, hệ thống phải đảm bảo khả năng xử lý nhanh mà
không ảnh hưởng đến trải nghiệm người dùng. 
Bảo mật và quyền riêng tư: Hệ thống cần bảo vệ dữ liệu cá
nhân của người dùng, đồng thời ngăn chặn các hành vi thao
túng xếp hạng tìm kiếm. 1.2. Mục tiêu 
Phân tích các yêu cầu chức năng và phi chức năng của Google Search. 
Xây dựng các mô hình trực quan như Use Case Diagram,
Data Flow Diagram (DFD) và Class Diagram. 
Đánh giá hệ thống dựa trên các tiêu chí về hiệu suất, bảo
mật và trải nghiệm người dùng.
2. Đặc tả yêu cầu hệ thống 2.1. Yêu cầu chức năng
1. Tìm kiếm thông tin: Người dùng nhập từ khóa và hệ thống
trả về danh sách kết quả liên quan.
2. Gợi ý tìm kiếm: Google đề xuất các cụm từ tìm kiếm dựa trên
lịch sử hoặc xu hướng.
3. Bộ lọc kết quả: Cho phép lọc theo loại nội dung (hình ảnh,
video, tin tức, bản đồ...).
4. Xếp hạng kết quả: Hệ thống sử dụng thuật toán để sắp xếp
kết quả theo mức độ liên quan.
5. Lưu lịch sử tìm kiếm: Người dùng có thể xem lại lịch sử tìm
kiếm nếu đã đăng nhập.
2.2. Yêu cầu phi chức năng
1. Hiệu suất cao: Hệ thống phải phản hồi trong vòng dưới 1 giây.
2. Khả năng mở rộng: Hỗ trợ hàng triệu người dùng đồng thời.
3. Bảo mật: Bảo vệ dữ liệu người dùng và chống tấn công mạng.
4. Trải nghiệm người dùng tốt: Giao diện đơn giản, dễ sử dụng.
Đặc tả yêu cần phần cứng phần mềm, yêu cầu người dung 2.3. Yêu cầu phần cứng  Máy chủ: o
CPU đa lõi hiệu suất cao (Intel Xeon hoặc AMD EPYC). o
RAM tối thiểu 128GB (có thể mở rộng lên TB). o
Ổ cứng SSD NVMe tốc độ cao để lưu trữ chỉ mục tìm kiếm. o
Hạ tầng mạng tốc độ cao, băng thông lớn. 
Người dùng cá nhân (thiết bị truy cập): o
Máy tính, điện thoại có trình duyệt hiện đại. o
Kết nối internet ổn định. 2.4. Yêu cầu phần mềm  Máy chủ: o
Hệ điều hành: Linux (Ubuntu Server, CentOS...). o
Cơ sở dữ liệu: NoSQL (Elasticsearch, MongoDB) kết hợp SQL. o
Ngôn ngữ lập trình: Python, Java, Go... o
Hệ thống tìm kiếm: Sử dụng Apache Solr hoặc Elasticsearch. o
Công cụ học máy: TensorFlow/PyTorch để tối ưu tìm kiếm.  Phía người dùng: o
Trình duyệt hỗ trợ HTML5, JavaScript (Chrome, Firefox, Edge). o
Hệ điều hành: Windows, macOS, Linux, Android, iOS. 2.5. Yêu cầu người dùng
1. Kiến thức cơ bản về công nghệ: o
Biết cách sử dụng trình duyệt web để nhập từ khóa tìm kiếm. o
Hiểu cách sử dụng bộ lọc kết quả.
2. Kết nối Internet ổn định để đảm bảo tốc độ tìm kiếm nhanh.
3. Có tài khoản Google (nếu muốn sử dụng các chức năng nâng
cao như lưu lịch sử tìm kiếm). 3. Biểu đồ hệ thống 3. 1Mô hình hệ thống 3.2Biểu đồ ngữ cảnh 
Tác nhân chính: Người dùng, Hệ thống Google Search, Nhà
quảng cáo, Cơ sở dữ liệu Google.  Mô tả luồng dữ liệu: o
Người dùng gửi truy vấn tìm kiếm → Hệ thống Google
Search xử lý → Truy xuất thông tin từ CSDL → Trả kết quả. o
Nhà quảng cáo gửi dữ liệu quảng cáo → Hệ thống xử lý
và hiển thị quảng cáo phù hợp. 3.3Phân rã chức năng 1. Quản lý tìm kiếm o Nhận truy vấn tìm kiếm o
Xử lý tìm kiếm và lập chỉ mục o Hiển thị kết quả 2. Quản lý quảng cáo o
Tiếp nhận quảng cáo từ nhà quảng cáo o
Gán quảng cáo vào kết quả tìm kiếm 3. Quản lý người dùng o Lưu lịch sử tìm kiếm o
Cung cấp gợi ý dựa trên lịch sử
3.4.. Danh sách hồ sơ yêu cầu 3.4.5Ma trận yêu cầu
3.4.6 Biểu đồ phân luồng 
Bước 1: Người dùng nhập truy vấn → Hệ thống kiểm tra dữ
liệu có sẵn → Nếu có, trả kết quả → Nếu không, truy xuất dữ liệu từ CSDL. 
Bước 2: Hệ thống xử lý và xếp hạng kết quả → Hiển thị danh sách kết quả tìm kiếm. 
Bước 3: Nếu có quảng cáo phù hợp, hệ thống hiển thị quảng cáo kèm theo kết quả. 
Bước 4: Người dùng có thể chọn kết quả hoặc điều chỉnh truy vấn. 4. Kết luận
Báo cáo đã phân tích hệ thống Google Search một cách chi tiết từ
góc nhìn phát triển hệ thống, bao gồm mô tả bài toán, đặc tả yêu
cầu, xây dựng các mô hình như biểu đồ ngữ cảnh, phân rã chức
năng, danh sách hồ sơ, ma trận yêu cầu và biểu đồ phân luồng.
Hệ thống Google Search cần đảm bảo hiệu suất cao, bảo mật tốt
và cung cấp trải nghiệm người dùng tối ưu. Để đạt được mục tiêu
này, các công nghệ xử lý dữ liệu lớn, tối ưu thuật toán tìm kiếm và
xử lý ngôn ngữ tự nhiên cần được áp dụng.
5 xxĐặc tả yêu cầu hệ thống
5.1Đặc tả chức năng với Mô hình phân cấp chức năng 5.2 biểu đồ ngữ cảnh
5.3 Biểu đồ luồng dữ liệu(DFD) cấp 0
5.4 Sơ đồ luồng dữ liệu
Ý tưởng thuật toán cho hệ thống tìm kiếm Google
Dựa vào mô hình EER trong hình, hệ thống tìm kiếm Google có
thể hoạt động theo các bước chính sau:
1. Thu thập và lập chỉ mục dữ liệu
Công cụ thu thập dữ liệu (Web Crawler): Quét nội dung
trên các trang web công khai. 
Phân tích và lập chỉ mục: o
Trích xuất nội dung quan trọng từ trang web. o
Lưu trữ thông tin trong cơ sở dữ liệu tìm kiếm với các
thuộc tính như tiêu đề, URL, mô tả, từ khóa. o
Xây dựng bảng từ khóa (Keyword) liên kết với tài nguyên web.
2. Xử lý truy vấn tìm kiếm
Khi người dùng nhập từ khóa vào ô tìm kiếm:
1. Tiền xử lý dữ liệu đầu vào: 
Chuẩn hóa từ khóa (loại bỏ dấu, viết hoa/thường). 
Kiểm tra lỗi chính tả và gợi ý sửa lỗi. 
Phân tích từ khóa để hiểu mục đích tìm kiếm
(truy vấn thông tin, mua hàng, xem tin tức...).
2. Tìm kiếm trong cơ sở dữ liệu: 
So khớp từ khóa với bảng chỉ mục. 
Sử dụng thuật toán tìm kiếm nhanh như TF-IDF,
BM25, hoặc mô hình ngôn ngữ để xác định độ liên quan. 
Lấy ra danh sách kết quả có điểm số cao nhất.
3. Sắp xếp kết quả: 
Xếp hạng theo độ phổ biến, số lượt truy cập, chất lượng nội dung. 
Nếu có nhiều kết quả trùng lặp, loại bỏ nội dung trùng.
3. Hiển thị kết quả tìm kiếm
Trả về danh sách kết quả gồm: tiêu đề, mô tả, URL, hình ảnh xem trước. 
Hiển thị quảng cáo nếu phù hợp với truy vấn người dùng.
4. Lưu lịch sử tìm kiếm  Hệ thống lưu lại: o Từ khóa tìm kiếm. o
Thời gian tìm kiếm. o
Kết quả đã chọn.  Dùng để: o
Gợi ý từ khóa liên quan. o
Cá nhân hóa kết quả tìm kiếm. o
Phân tích xu hướng người dùng.
5. Học máy và cải thiện thuật toán
Phân tích hành vi người dùng: o
Click vào kết quả nào nhiều nhất. o Thời gian ở lại trang. 
Cập nhật mô hình xếp hạng để tối ưu hóa trải nghiệm tìm kiếm.
Tóm tắt thuật toán
1. Crawl dữ liệu → Xây dựng chỉ mục.
2. Xử lý truy vấn → Phân tích từ khóa, so khớp chỉ mục.
3. Xếp hạng kết quả → Hiển thị nội dung phù hợp.
4. Lưu lịch sử tìm kiếm → Phân tích và cá nhân hóa.
5. Cải thiện thuật toán → Học từ hành vi người dùng. 5.4 thiết kế giao diện Thiết kế tìm kiếm Quản lí quảng cáo Quản lý google Icloud Quản lý tài khoản KIỂM THỬ
1: Bảng kế hoạch kiểm thử
Mục tiêu kiểm thử tổng quát:
Đảm bảo các chức năng hoạt động đúng như mô tả.
Giao diện hiển thị rõ ràng, dễ sử dụng.
Hệ thống phản hồi nhanh, không bị lỗi logic hoặc hiển thị.
Đáp ứng được các yêu cầu của người dùng cuối khi sử dụng hệ thống tìm kiếm.
2. Các loại cần kiểm thử 8.Kết luận
Đặc tả toàn diện này nhằm mục đích nêu chi tiết các yêu cầu để
tạo ra một hệ thống tìm kiếm GOOGLE. Có khả năng tìm kiếm,lữu
trữ. Với các tính năng mạnh mẽ và giao diện hỗ trợ, hệ thống
được thiết kế để đáp ứng cả nhu cầu tìm kiếm của đối tượng toàn cầu