Người dùng dễ dàng thiết lập tài khoản của mình về thông tin, cácchủ đề quan tâm. Hỗ trợ người quản trị hệ thống quản lí người dùng, thêm sửa xóathông tin người dùng một cách dễ dàng,
Trang 1HỌC VIỆN KĨ THUẬT MẬT MÃ KHOA AN TOÀN THÔNG TIN
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
Xây dựng website tin tức
GVHD: PHẠM THỊ THUẬN
Lớp L06 Nhóm 6 PHẠM THÁI HOÀNG
VŨ BÁ QUANG NGUYỄN DUY SƠN
Hà Nội, 2021
Trang 2MỤC LỤC
LỜI MỞ ĐẦU 2
1 GIỚI THIỆU 3
1.1 Mục đích tài liệu 3
1.2 Phạm vi tài liệu 3
1.3 Từ điển thuật ngữ 4
2 TỔNG QUAN VỀ HỆ THỐNG 5
2.1 Phát biểu bài toán 5
2.2 Mục tiêu hệ thống 5
2.3 Phạm vi hệ thống 5
3 NẮM BẮT YÊU CẦU 7
3.1 Quy trình nghiệp vụ 7
3.2 Mô hình phần cấp chức năng 7
3.2.1 Yêu cầu chức năng: 7
3.2.2 Yêu cầu phi chức năng: 8
3.2.3 Mô hình phân cấp chức năng 8
3.3 Biểu đồ 9
3.3.1 Biểu đồ ca sử dụng ở mức tổng thể của hệ thống 9
3.3.2 Biểu đồ ca sử dụng mức chi tiết 9
3.3.3 Đặc tả ca sử dụng 12
3.3.4 Đặc tả ca sử dụng với biểu đồ hoạt động 22
4 PHÂN TÍCH 29
4.1 Phân tích kiến trúc 29
4.2 Phân tích ca sử dụng 30
5 THIẾT KẾ 36
5.1 Kiến trúc vật lý 36
5.2 Xác định các phần tử thiết kế 37
5.2.1 Xác định các lớp thiết kế 37
5.2.2 Xác định các giao diện 37
5.2.3 Xác định các gói thiết kế 38
5.3 Thiết kế lớp 39
5.4 Thiết kế cơ sở dữ liệu 45
Trang 3LỜI MỞ ĐẦU
Ngành công nghệ thông tin là một ngành khoa học đang trên đà phát triển mạnh và ứng dụng rộng rãi trên nhiều lĩnh vực Cùng với xu hướng phát triển của các website, ứng dụng trên điện thoại thì việc tiếp cận thông tin là vô cùng dễ dàng Truy cập Internet chúng ta có một kho thông tin khổng lồ phục vụ mọi nhu cầu, mục đích của chúng ta.
Nhận thức được nhu cầu tìm hiểu thông tin, giải trí của xã hội là
sự ra đời của hàng loạt website, ứng dụng cho các mục đích thương mại, tin tức, giải trí…Để đáp ứng với việc cập nhật thông tin hằng ngày, tình hình chính trị, sức khỏe, giải trí…thì website tin tức ra đời
là một nhu cầu tất yếu.
Do đó, chúng em đã vận dụng kiến thức học được ở môn Phân tích thiết kế hệ thống để xây dựng một ứng dụng website tin tức cơ bản.
Để hoàn thành xong bài tập lớn chúng em cảm ơn cô Phạm Thị
Thuận đã nhiệt tình giảng dạy, hướng dẫn cho chúng em trong suốt
quá trình học và nghiên cứu thực hiện đề tài.
Trang 41 GIỚI THIỆU.
1.1 Mục đích tài liệu.
Nhận thấy nhu cầu thông tin của mọi người hiện nay là rất lớn dovậy cần phải xây dựng hệ thống thông tin mới cung cấp thông tin một cáchnhanh chóng, chính xác đến độc giả
Tài liệu này sẽ cung cấp một cái nhìn từ tổng quan đến chi tiết vềmột hệ thống Website tin tức và cách chung vận hành trong thực tế Tài liệu sẽmiêu tả:
Phân tích thiết kế hệ thống Website tin tức phù hợp với yêu cầu đề
ra nhằm đáp ứng nhu cầu người dùng
Nhằm cung cấp cho độc giả một khung nhìn tổng thể về cách hoạtđộng của hệ thống Website tin tức đối với mỗi người chúng ta
Cho thấy cách mà mỗi người dùng có thể tham gia và tương tác với
Trang 5Quản trị viên: Là người quản lý và duy trì hệ thống.
Người viết: Là những người tạo ra những bài viết có chất lượng giúp mọingười nắm bắt tin tức tốt hơn
Bài viết: Là những bài báo lá cải do người viết tạo ra thuộc các chủ đềkhác nhau như: xã hội, giáo dục, y tế, pháp luật, …
Trang 62 TỔNG QUAN VỀ HỆ THỐNG.
2.1 Phát biểu bài toán
Với sự bùng nổ của thông tin trên internet, vai trò của các trang thông tinđiện tử trực tuyến ngày càng trở nên quan trọng Khác với báo chí truyền thống
có giới hạn thời gian cập nhật tin tức, các tờ báo trực tuyến đã cung cấp được sựtiện lợi trong việc câp nhật và phát hành thông tin Về phía người dùng, họ cóthể xem thông tin mọi lúc mọi nơi Về phía những người cung cấp thông tin, cácnhà báo, họ có thể dễ dàng cập nhật những tin tức mới nhất, thời sự nhất
Dựa trên những nhu cầu thực tế đó và những kiến thức đã học được từmôn Phân tích thiết kế hệ thống chúng em đã quyết định xây dựng một hệ thốngWebsite tin tức
2.2 Mục tiêu hệ thống.
- Hệ thống Website tin tức sẽ cung cấp thông tin cho người dùng thôngqua website mà người dùng có thể dùng nhiều thiết bị để truy cập như máy tính,laptop, điện thoại để vào các trình duyệt
- Đưa ra các thông tin mới nhất phù hợp với người dùng giúp họ có thểcập nhật tin tức một cách nhanh chóng và trang bị thêm kiến thức cho bản thân
- Tin tức luôn được cập nhật dựa trên các vấn đề nóng của xã hội
- Thông tin trong nhiều lĩnh vực: Chính trị, sức khỏe đời sống, giải trí, …
- Thông tin đến từ nhiều nguồn như: Nhà báo, cơ quan nhà nước, …
- Dữ liệu cập nhật thông minh
- …
2.3 Phạm vi hệ thống.
Người dùng cuối hệ thống: Là người dùng truy cập vào hệ thống nhằm
mục đích xem và tìm kiếm thông tin
Các bên liên quan:
Trang 7- Người viết bài đăng lên Website: Là người dùng viết bài theo nội dung
và quy cách chuẩn để được duyệt và đăng lên trang chủ của Website Quản trịviên hệ thống sẽ duyệt bài
- Nhà cung cấp hệ thống Website (Server): Đảm bảo cho hệ thống vậnhành tốt, tính bảo mật cao, lưu trữ và truy xuất thông tin chính xác, bảo trì vànâng cấp hệ thống theo thời gian
Trang 83 NẮM BẮT YÊU CẦU.
3.1 Quy trình nghiệp vụ.
Quy trình nghiệp vụ của hệ thống Website tin tức được phân tích như sau:
Website có một Server lưu trữ tất cả các bài viết của người cung cấpbài viết được gửi đến độc giả để đọc
Nhà cung cấp dịch vụ Server ký kết hợp đồng thuê Server với chủWebsite
Xây dựng lên một Website gồm giao diện và các chức năng hỗ trợQuản trị viên, Người dùng, Khách sử dụng
Các bài viết được quản lý bởi Quản trị viên và các quy chuẩn kiểmduyệt
Các tài khoản được quản lý bởi Quản trị viên
Thông tin về tất cả lĩnh vực trong đời sống xã hội, cập nhật từng ngày,từng giờ
Người dùng và Khách được xem và tìm kiếm thông tin về các chủ đề,lĩnh vực quan tâm
Người dùng có thể tự thiết lập tài khoản của mình
Người dùng lưu lại những chủ đề, lình vực mình quan tâm
Hệ thống tự động gợi ý những bài viết liên quan đến chủ đề mà độc giả
đã lựa chọn và lưu
Người dùng, Khách xem những thông tin họ muốn xem
3.2 Mô hình phần cấp chức năng.
3.2.1 Yêu cầu chức năng:
Cung cấp cho người dùng thông tin nóng trong ngày, những thôngtin bổ ích về mọi lĩnh vưc trong đời sống Gợi ý nội dung bài viết phù hợp vớingười dùng dựa theo chủ đề mà người dùng quan tâm
Giúp người dùng có thể tìm kiếm thông tin theo nội dung, tác giả,theo thời gian thông qua giao diện đẹp, dễ sử dụng mang lại hiệu quả cao
Trang 9 Người dùng dễ dàng thiết lập tài khoản của mình về thông tin, cácchủ đề quan tâm.
Hỗ trợ người quản trị hệ thống quản lí người dùng, thêm sửa xóathông tin người dùng một cách dễ dàng, hiệu quả
Hỗ trợ người quản trị hệ thống quản lý bài đăng, kiếm duyệt bàiđăng một cách thông minh nhằm đưa thông tin chính xác, thời sự thiết thực đếnngười dùng
3.2.2 Yêu cầu phi chức năng:
Thông tin đưa đến người dùng phải đảm bảo tính chính xác, khôngphản cảm Theo luật pháp của nhà nước
3.2.3 Mô hình phân cấp chức năng.
Hình 1: Mô hình phân cấp chức năng.
Trang 11Hình 4: Ca sử dụng Quản lý bài đăng.
Hình 5: Ca sử dụng Đăng bài
Trang 12Hình 6: Ca sử dụng Tìm kiếm bài viết.
Hình 7: Ca sử dụng Thiết lập người dùng.
Trang 133.3.3 Đặc tả ca sử dụng
Actor Quản trị viên, người viết bài, người dùng
Brief Description Mô tả cách đăng nhập vào website
Pre-conditons Tài khoản có tồn tại
Basic Flows 1 Hiển thị trang đăng nhập với các trường
như: tài khoản, mật khẩu, email, …
2 Người đăng nhập nhập thông tin sau đó chọn nút đăng nhập
3 Hệ thống truy vấn DB và trả lại thông báo: thành công
Alternative Flows Sai thì đưa thông báo nhập lại, không có tài
khoản, các lỗi đăng nhậpPost-conditions Nếu đăng nhập thành công thì chuyển đến
trang tài khoản của người đăng nhập như: đăngbài với kí giả, quản lí website với quản trị viên, …
Special Requirements Không có
Trang 14Basic Flows 1 Hiển thị giao diện đăng kí với các
trường: tài khoản, mật khẩu, xác nhận mật khẩu
2 Người đăng kí nhập thông tin và chọn nút đăng kí
3 Hệ thống kiểm tra mục “mật khẩu” và
“xác nhận mật khẩu” và thông báo thành công.Alternative Flows Sai “xác nhận mật khẩu”, tài khoản đã tồn tại:
thông báo thất bại và yêu cầu nhập lại
Post-conditions 1 Hệ thống thêm tài khoản của người dùng
vào cơ sở dữ liệu
2 Hiển thị giao diện đăng nhập
Special Requirements Không có
Trang 15dung theo từ khoá.
Alternative Flows Nếu hệ thống không tìm được nội dung phù
hợp thì sẽ đưa thông báo “không tìm thấy nội dung yêu cầu”
Post-conditions Đưa ra danh sách bài viết
Special Requirements Không có
Bảng 3: Đặc tả ca sử dụng Tìm kiếm bài viết
Brief Description Xem bài viết chi tiết
Pre-conditons Bài viết còn tồn tại trong hệ thống của websiteBasic Flows 1 Bấm chọn bài viết cần xem chi tiết
2 Chuyển đến trang chi tiết bài viết đã chọn
Alternative Flows Không có
Post-conditions Không có
Special Requirements Không có
Bảng 4: Đặc tả ca sử dụng Xem bài đăng.
Trang 16Use case Đăng bài
Brief Description Đăng bài viết lên hệ thống
Pre-conditons Đã đăng nhập vào hệ thống
Basic Flows 1 hiển thị giao diện đăng bài
2 viết bài theo định dạng có sẵn hiển thị trên website
3 chọn nút đăng bài để đẩy bài lên hệ thống chờ duyệt
Alternative Flows Bài viết sai định dạng, hệ thống gửi thông báo
yêu cầu sửa đổi, bổ sungPost-conditions hiện tuỳ chọn sửa bài, xoá bài vừa viết
Special Requirements Không có
Bảng 5: Đặc tả ca sử dụng đăng bài.
Use case Quản lí người dùng
Brief Description quản trị viên thêm, sửa thông tin và xoá tài
khoản người dùng trong hệ thốngPre-conditons Đăng nhập vào hệ thống
Basic Flows 1 hiển thị trang quản lí người dùng
2 nếu chọn thêm người dùng
- hiển thị form thêm người dùng
- quản trị viên nhập thông tin của đối tượng muốn thêm vào form
- chọn nút thêm để bổ sung đối tượng vào
hệ thống
- thông báo thêm thành công
3 nếu chọn sửa thông tin
- hiển thị form sửa thông tin người dùng
- quản trị viên thay đổi thông tin của đối tượng muốn sửa trong form
Trang 17- chọn nút sửa để thay đổi thông tin đối tượng đối tượng
- thông báo sửa thành công
- thông báo xoá thành công đối tượng
Alternative Flows nếu chọn thêm: Tài khoản đã tồn tại, đưa ra
thông báo yêu cầu nhập lại thông tin đối tượngnếu chọn sửa: Thông tin nhập vào sai định dạng thì yêu cầu nhập lại
nếu chọn xoá: không cóPost-conditions chọn thêm: hệ thống thêm người dùng vào cơ
sở dữ liệuChọn sửa: hệ thống cập nhật thông tin mới vào
cơ sở dữ liệuChọn xoá: hệ thống xoá đối tượng khỏi cơ sở
dữ liệuSpecial Requirements Không có
Bảng 6: Đặc tả ca sử dụng Quản lí người dùng
Trang 18Use case Quản lí bài đăng
Brief Description Quản trị viên duyệt bài biết trong hàng đợi, xoá,
sửa bài viết có sẵnPre-conditons Đăng nhập vào hệ thống
Basic Flows 1 Chọn chức năng duyệt bài
- hiển thị form duyệt bài với danh sách các bài đăng trong hàng đợi
- chọn 1 bài viết trong danh sách, nếu đủ yêu cầu thì chọn duyệt
- thông báo thành công
2 Chọn chức năng sửa bài
- hiển thị form sửa nội dung bài viết
- quản trị viên thay đổi thông tin cần sửa
- chọn nút sửa để thay đổi nội dung bài viết trong hệ thống
- thông báo sửa thành công
3 Chọn chức năng xoá bài
- hiển thị form xoá bài viết với danh sách các bài viết trong hệ thống
- quản trị viên chọn bài viết cần xoá từ danh sách
- chọn nút xoá để xoá bài viết khỏi hệ thống
- thông báo xoá thành côngAlternative Flows Đối với sửa, nếu thông tin sai định dạng thì yêu cầu
làm lại
Post-conditions 1 Duyệt bài:
- duyệt: hệ thống đẩy bài viết vào cơ sở dữ liệu
và đăng lên trang chính
- huỷ: hệ thống xoá bài viết khỏi danh sách đợi
2 Sửa bài:
Trang 19- hệ thống thay đổi thông tin mới của bài viết trong cơ sở dữ liệu
Trang 20Use case Thiết lập người dùng
Brief Description Thay đổi thông tin sẵn có của mình, thêm chủ đề
quan tâm, đổi mật khẩuPre-conditons Đăng nhập vào hệ thống
Basic Flows 1 Chọn sửa thông tin:
- hiển thị form sửa thông tin người dùng với các thông tin của bản thân
- người dùng thay đổi thông tin tài khoản
- chọn nút sửa để thay đổi thông tin tài khoản trong hệ thống
- hệ thống thông báo sửa thành công
2 Chọn thêm chủ đề quan tâm:
- hiển thị form chọn chủ đề quan tâm với danh sách các chủ đề có sẵn
- người dùng chọn những chủ đề mình quan tâm bằng cách tích vào những mục quan tâm, và bỏ tích với chủ đề mình hết quan tâm
- chọn nút thêm để cập nhật những chủ đề này vào tài khoản
- thông báo cập nhật thành công
3 Chọn đổi mật khẩu:
- hiển thị form đổi mật khẩu
- người dùng nhập mật khẩu hiện tại, mật khẩumới, và nhập lại mật khẩu mới
- hệ thống xác thực mât khẩu hiện tại và “nhậplại mật khẩu mới”
- thông báo thành côngAlternative Flows Chọn sửa: Thông tin nhập vào sai định dạng thì yêu
cầu nhập lạichọn thêm chủ đề: không có
Trang 21chọn đổi mật khẩu: mật khẩu hiện tại không đúng hoặc nhập lại mật khẩu mới không khớp thì yêu cầunhập lại
Post-conditions chọn sửa thông tin: hệ thống thay đổi thông tin mới
của đối tượng trong cơ sở dữ liệuchọn thêm chủ đề quan tâm: hệ thống cập nhật những chủ đề nên gợi ý cho người dùng
chọn đổi mật khẩu: hệ thống cập nhật mật khẩu mớiSpecial Requirements Không có
Bảng 8: Đặc tả ca sử dụng Thiết lập người dùng.
Trang 223.3.4 Đặc tả ca sử dụng với biểu đồ hoạt động.
Hình 8: Biểu đồ hoạt động Đăng nhập
Trang 23Hình 9: Biều đồ hoạt động Đăng kí
Trang 24Hình 10: Biểu đồ hoạt động Xem bài đăng.
Hình 11: Biều đồ hoạt động Tìm kiếm bài viết.
Trang 25Hình 11: Biểu đồ hoạt động Xem bài đăng.
Trang 26Hình 13: Biểu đồ hoạt động Quản lý người dùng.
Trang 27Hình 14: Biểu đồ hoạt động Quản lý bài đăng.
Trang 28Hình 15: Biểu đồ hoạt động Thiết lập người dùng.
Trang 29 Lớp Middleware cung cấp các dịch vụ để cho phép quản lý và giao
tiếp dữ liệu trên các hệ thống phân tán
Trang 304.2 Phân tích ca sử dụng.
Hiện thực hóa ca sử dụng (Biểu đồ tuần tự)
Hình 16: Biểu đồ tuần tự Đăng ký
Trang 31Hình 17: Biểu đồ tuần tự Đăng nhập
Hình 18: Biểu đồ tuần tự Tìm kiếm bài viết
Hình 19: Biểu đồ tuần tự Xem bài đăng
Trang 32Hình 20: Biểu đồ tuần tự Đăng bài
Trang 33Hình 20: Biểu đồ tuần tự Quản lý bài đăng
Trang 34Hình 21: Biểu đồ tuần tự Quản lý người dùng.
Trang 35Hình 22: Biểu đồ tuần tự Thiết lập người dùng.
Trang 365 THIẾT KẾ
5.1 Kiến trúc vật lý.
Hình 32: Kiến trúc vật lý của hệ thống
Hệ thống được xây dựng dựa trên kiến trúc client-server:
- Kiến trúc Client-Server (máy khách-máy chủ) là một mô hình máytính, trong đó máy chủ (server) cung cấp và quản lý hầu hết các nguồn lực vàdịch vụ cho máy khách
- Kiến trúc này có một hoặc nhiều máy khách kết nối với máy chủtrung tâm thông qua mạng Internet
- Đối với Client
Trình duyệt (Chrome, FireFox, MS Edge, …)
- Đối với Server:
Hệ điều hành của server (OS server)
Server của trang web (Web server)
Server dữ liệu (Database server)
Trang 375.2 Xác định các phần tử thiết kế.
5.2.1 Xác định các lớp thiết kế.
Analysis class Design element
Tài khoản Tài khoản, Database Tài khoảnBài viết Bài viết, Database Bài viếtController đăng nhập
Ánh xạ trực tiếp đến các lớp thiết
kế
Controller đăng kí
Controller quản lý người dùng
Controller thiết lập người dùng
Controller tìm kiếm bài viết
Controller xem bài viết
Controller đăng bài
Controller quản lý bài đăng
Form đăng nhập
Form đăng kí
Form quản lý người dùng
Form thiết lập người dùng
Form tìm kiếm bài viết
Form xem bài viết
Form đăng bài
Form quản lý bài đăng
5.2.2 Xác định các giao diện.
Trang 385.2.3 Xác định các gói thiết kế.
Trang 395.3 Thiết kế lớp.
Hình 23: Biểu đồ lớp Đăng ký
Trang 40Hình 24: Biểu đồ lớp Đăng nhập
Trang 41Hình 25: Biểu đồ lớp Tìm kiếm bài viết.
Trang 42Hình 26: Biểu đồ lớp Xem bài viết
Trang 43Hình 27: Biểu đồ lớp Đăng bài.
Trang 44Hình 28: Biểu đồ lớp Quản lý bài đăng.
Trang 45Hình 30: Biểu đồ lớp Quản lý người dùng
Hình 31: Biểu đồ lớp Thiết lập người dùng.
5.4 Thiết kế cơ sở dữ liệu.
Hình 32: Mô hình thực thể liên kết ER.