Weblog | Báo cáo dự án học phần Phân Tích Và Thiết Kế Phần Mềm | Trường Đại học Phenikaa
Chúng tôi đề xuất xây dựng một hệ thống blog hoàn chỉnh, dễ sử dụng và đa năng, giúp giải quyết những khó khăn được nêu trên. Hệ thống này sẽ cung cấp giao diện trực quan để tạo và quản lý blog, cung cấp công cụ tối ưu hóa trải nghiệm đọc giả và tích hợp các tính năng xã hội để tương tác với độc giả. Đặc biệt, sẽ có sự quan tâm đặc biệt đối với bảo mật dữ liệu để đảm bảo sự an toàn của thông tin cá nhân và nội dung quan trọng. Với hệ thống blog này, chúng tôi muốn tạo ra một nền tảng dễ dàng truy cập và sử dụng, giúp mọi người chia sẻ kiến thức và kinh nghiệm một cách hiệu quả trên internet mà không cần kiến thức kỹ thuật sâu và đồng thời đảm bảo sự bảo mật và tương tác tích cực trong cộng đồng trực tuyến. Tài liệu giúp bạn tham khảo, ôn tập và đạt kết quả cao. Mời bạn đón xem.
Môn: Phân tích và thiết kế phần mềm
Trường: Đại học Phenika
Thông tin:
Tác giả:
Preview text:
TRƯỜNG ĐẠI HỌC PHENIKA KHOA CÔNG NGHỆ THÔNG TIN
Báo Cáo Dự Án Học Phần Phân Tích Và Thiết Kế Phần Mềm Đề tài: Weblog Thành viên: Đặng Huy Thọ – 21012521 Nguyễn Đại Nghĩa – 21012886 Đào Bá Đạt – 21012490 Đỗ Quốc Bình – 21012040
Giảng viên hướng dẫn: Mai Xuân Tráng Mục lục
1. Yêu cầu (Requirements).............................................................................................2 1.1
Đặt vấn đề (Problem statement)...................................................................................................2
1.1.1 Mô tả vấn đề...........................................................................................................................2
1.1.2 Giải pháp................................................................................................................................2 1.2
Thuật ngữ (Glossary)...................................................................................................................3 1.3
Thông số kỹ thuật bổ sung...........................................................................................................3 1.4
Mô hình sử dụng hệ thống (Use-case models).............................................................................4 1.4.1
Mô tả chi tiết use-case đăng nhập...........................................................................................5 1.4.2
Mô tả chi tiết use-case đăng ký..............................................................................................6 1.4.3
Mô tả chi tiết use-case đăng xuất............................................................................................7 1.4.4
Mô tả chi tiết use-case đổi mật khẩu......................................................................................8 1.4.5
Mô tả chi tiết use-case quên mật khẩu....................................................................................9 1.4.6
Mô tả chi tiết use-case tạo bài đăng......................................................................................10
1.4.7 Mô tả chi tiết use-case chỉnh sửa bài đăng............................................................................11 1.4.8
Mô tả chi tiết use-case tìm kiếm...........................................................................................12
2. Phân tích trường hợp sử dụng (Use-case analysis).................................................13 2.1
Phân tích kiến trúc hệ thống.......................................................................................................13 2.1.1
Kiến trúc mức cao của hệ thống...........................................................................................13 2.1.2
Các đối tượng trừu tượng chính của hệ thống (Key abstractions).........................................13 2.2
Thực thi trường hợp sử dụng (Use-case relizations)...................................................................14
2.2.1 Các biểu đồ tuần tự (Sequence diagrams).............................................................................14
2.2.2 Góc nhìn của các lớp trong hệ thống (Views of participating classes)..................................23 3. Thiết
kế (Use-case design)........................................................................................24 3.1 Xác định
các thành phần thiết kế (Identify design elements).....................................................24
Xác định các lớp (Identify classes)....................................................................................................24
3.2 Thiết kế trường hợp sử dụng (Use-case design).........................................................................25 Thiết
kế các biểu đồ hoạt động (Design Activities diagrams)............................................................25 4. Demo giao
diện..........................................................................................................324.1 Giao diện
trang chủ....................................................................................................................32 4.2
Giao diện đăng nhập..................................................................................................................33 4.3
Giao diện đăng ký......................................................................................................................34 4.4
Giao diện tạo bài đăng...............................................................................................................35 4.5
Giao diện chỉnh sửa bài đăng.....................................................................................................35 4.6 Giao diện xem bài
đăng.............................................................................................................36
5. Bảng phân công công việc........................................................................................37
1. Yêu cầu (Requirements)
1.1Đặt vấn đề (Problem statement) SD
Trong thời đại số hóa hiện nay, việc chia sẻ thông tin và kiến thức thông qua các
nền tảng trực tuyến, như blog, đã trở thành một phần quan trọng của cuộc sống
hàng ngày của chúng ta. Tuy nhiên, một số thách thức đáng kể xuất hiện khi người
dùng muốn tạo và quản lý một hệ thống blog cá nhân hoặc doanh nghiệp để chia sẻ
ý tưởng, kinh nghiệm và kiến thức với cộng đồng trực tuyến. 1.1.1 Mô tả vấn đề
Khó khăn trong việc tạo blog cá nhân: Hiện nay, việc tạo một blog cá nhân yêu cầu
kiến thức kỹ thuật về lập trình và quản trị web, điều này đặt ra rào cản cho những
người muốn chia sẻ thông tin cá nhân mà không có kỹ năng này.
Quản lý nội dung phức tạp: Khi blog phát triển, việc quản lý và tổ chức nội dung
trở nên phức tạp. Người viết blog gặp khó khăn trong việc tìm kiếm, chỉnh sửa và
xuất bản bài viết một cách hiệu quả.
Tương tác xã hội và phản hồi độc giả: Giao tiếp với độc giả và tạo mối quan hệ
tương tác trên các mạng xã hội cũng là một phần quan trọng của việc quản lý blog.
Điều này đòi hỏi sự hiện diện liên tục trên các nền tảng truyền thông xã hội và
quản lý phản hồi từ độc giả.
Tối ưu hóa trải nghiệm đọc giả: Một hệ thống blog cần phải đảm bảo trải nghiệm
đọc giả tốt, với tốc độ tải nhanh, giao diện thân thiện và tương thích trên nhiều thiết bị.
Quản lý dữ liệu và bảo mật: Bảo vệ thông tin cá nhân của người dùng và dữ liệu
quan trọng trên blog là một ưu tiên quan trọng. Hiệu suất và bảo mật luôn là thách
thức khi xây dựng và quản lý một hệ thống blog. 1.1.2 Giải pháp
Chúng tôi đề xuất xây dựng một hệ thống blog hoàn chỉnh, dễ sử dụng và đa năng,
giúp giải quyết những khó khăn được nêu trên. Hệ thống này sẽ cung cấp giao diện
trực quan để tạo và quản lý blog, cung cấp công cụ tối ưu hóa trải nghiệm đọc giả
và tích hợp các tính năng xã hội để tương tác với độc giả. Đặc biệt, sẽ có sự quan
tâm đặc biệt đối với bảo mật dữ liệu để đảm bảo sự an toàn của thông tin cá nhân và nội dung quan trọng.
Với hệ thống blog này, chúng tôi muốn tạo ra một nền tảng dễ dàng truy cập và sử
dụng, giúp mọi người chia sẻ kiến thức và kinh nghiệm một cách hiệu quả trên
internet mà không cần kiến thức kỹ thuật sâu và đồng thời đảm bảo sự bảo mật và
tương tác tích cực trong cộng đồng trực tuyến.
1.2Thuật ngữ (Glossary)
1. Blog: Một trang web cá nhân hoặc trang web cộng
đồng cho phép người dùng đăng bài viết, hình ảnh,
video và các nội dung khác.
2. Blogger: Người viết blog 3. Blogging: Quá trình viết blog
4. Post: blog đã đăng tải.
5. Tittle: Câu văn hoặc cụm từ ngắn gọn, súc tích mô tả nội dung của bài viết.
6. Desriptions: Văn bản ngắn gọn mô tả nội dung chính của bài viết.
7. Tag: Các từ khóa mô tả nội dung của bài viết.
8. Visitor: Người truy cập vào trang web nhưng không đăng nhập, chỉ có quyền xem các bài đăng.
1.3Thông số kỹ thuật bổ sung
1. Security: Hệ thống phải ngăn người dùng đăng nhập nếu họ không có mật khẩu.
Chỉ Quản trị viên mới có thể xóa tài khoản Người dùng. Một thông tin bài
đăng chỉ có thể xóa bởi người quản lí của phân mục chứa bài viết đó. Người
dùng có thể yêu cầu người quản lí đăng bài hỗ trợ hoặc xóa bài khi đã giải quyết xong vấn đề.
2. Design Contraints: Chỉ Quản trị viên mới có thể phê duyệt các bài đăng
thông tin đang chờ xử lý. Ràng buộc thiết kế Hệ thống phải cung cấp giao
diện dựa trên web đáp ứng có thể sử dụng được trên máy tính và thiết bị di động.
1.4Mô hình sử dụng hệ thống (Use-case models) SD 1.4.1
Mô tả chi tiết use-case đăng nhập Kịch bản User-case Tên Use Case Đăng nhập Tác nhân Admin, User
Mô tả Cho phép tác nhân đăng nhập vào hệ thống và sử dụng các chức năng khác nhau Điều kiện
Admin hay các thành viên tiến hành đăng nhập vào hệ thống
Chuỗi sự kiện chính
- Tác nhân tiến hành đăng nhập vào trang web
- Tác nhân nhập dữ liệu yêu cầu như
• Tên đăng nhập hay email • Mật khẩu tài khoản
- Kiểm tra dữ liệu đầu vào gồm
• Tên đăng nhập hay email • Mật khẩu tài khoản
- Hệ thống kiểm tra tính hợp hệ của tài khoản và mật khẩu
- Hệ thống hiển thị giao diện tương ứng với các chức năng của tác nhân Ngoại lệ
- Tác nhân nhập tài khoản hay mật khẩu không chính xác
• Hệ thống yêu cầu nhập lại dữ liệu
• Tác nhân nhập lại và tiếp tục các bước sau 1.4.2
Mô tả chi tiết use-case đăng ký Kịch bản User-case Tên Use Case Đăng ký Tác nhân User Mô tả
Cho phép tác nhân đăng ký thông tin vào
website để tạo tài khoản Điều kiện
Tác nhân đã truy cập vào trang web
Chuỗi sự kiện chính
- Tác nhân truy cập vào trang web
- Tác nhân chọn chức năng đăng kí tài khoản
- Tác nhân điền đầy đủ thông tin mà hệ thống yêu cầu
- Hệ thống tiến hành cập nhập thông tin và gửi email xác nhận đăng ký tài khoản cho tác nhân
- Tác nhân bấm vào link xác nhận đăng ký
- Hệ thống lưu thông tin đăng ký, đưa ra thông báo đăng ký thành công và
đưa tác nhân đến màn hình đăng nhập Ngoại lệ
- Hệ thông thông báo tên tài khoản bị trùng
• Hệ thống yêu cầu nhập lại tên tài khoản 1.4.3
• Tác nhân nhập lại và tiếp tục các bước sau
Mô tả chi tiết use-case đăng xuất Kịch bản User-case Tên Use Case Đăng xuất Tác nhân Admin, User Mô tả
Admin, thành viên khi muốn thoát khỏi hệ thống
thì sẽ thông qua đăng xuất để thoát Điều kiện
Admin hay khách hàng có tài khoản để đăng nhập vào hệ thống
Chuỗi sự kiện chính
- Tác nhân tiến hành đăng nhập vào trang web.
- Hệ thống xác nhận và cấp quyền đăng nhập tương ứng.
- Tác nhân chọn đăng xuất khỏi trang web
- Hệ thống đưa ra thông báo xác nhận đăng xuất
- Tác nhân chọn “xác nhận”
- Hệ thống đưa người dùng về trang chủ Ngoại lệ
- Tác nhân không chọn xác nhận
- Hệ thống trở về giao diện trước đó 1.4.4
Mô tả chi tiết use-case đổi mật khẩu Kịch bản User-case Tên Use Case Đổi mật khẩu Tác nhân Admin, User Mô tả
Giúp tác nhân thay đổi mật khẩu khi muốn bảo
mật hoặc đặt lại mật khẩu nếu quên Điều kiện
Tác nhân đã tiến hành đăng nhập vào trang web
Chuỗi sự kiện chính
- Tác nhân tiến hành đăng nhập vào trang web
- Hệ thống xác nhận và cấp quyền đăng nhập tương ứng
- Tác nhân truy cập trang quản lý tài khoản, tiến hành chọn chức năng đổi mật khẩu
- Tác nhân nhập dữ liệu yêu cầu như: mật khẩu cũ, mật khẩu mới
- Kiểm tra dữ liệu đầu vào gồm: mật khẩu cũ, mật khẩu mới
- Hệ thống xác nhận mật khẩu cũ có không trùng với tài khoản trong cơ sở
dũ liệu và xác nhận mật khẩu mới
- Hệ thông thông báo đổi mật khẩu thành công Ngoại lệ
- Hệ thống xác nhận mật khẩu cũ trùng với tài khoản trong cở sở dữ liệu •
Hệ thống yêu cầu nhập lại dữ liệu •
Tác nhân nhập lại và tiếp tục các bước sau 1.4.5
Mô tả chi tiết use-case quên mật khẩu Kịch bản User-case Tên Use Case Quên mật khẩu Tác nhân Admin, User Mô tả
Tác nhân không thể đăng nhập do không nhớ mật khẩu Điều kiện
Tác nhân đã truy cập vào trang web
Chuỗi sự kiện chính
- Tác nhân nhấn vào phần quên mật khẩu
- Hệ thống gửi mail xác nhận tới email đã đăng kí của tài khoản
- Tác nhân xác nhận với hệ thống
- Hệ thống yêu cầu tác nhân nhập mật khẩu mới, xác nhận mật khẩu mới
- Hệ thống lưu thông tin mật khẩu của tác nhân 1.4.6
Mô tả chi tiết use-case tạo bài đăng Kịch bản User-case Tên User-case Tạo bài đăng Tác nhân User, Admin Mô tả
Tác nhân tạo một bài viết với nội dung (và hình ảnh)
sau đó đăng lên đanh mục bài đăng của bản thân Điều kiện
Tác nhân đã đăng nhập vào hệ thống
Chuỗi sự kiện chính
- Tác nhân tạo bài viết và hoàn thiện nội dung
- Tác nhân chọn Add post để đăng lên bài viết
- Hệ thống lưu bài viết vào danh mục bài đăng của tác nhân Ngoại lệ
- Tác nhân ấn đăng bài viết không chứa nội dung (bài viết trống)
Hệ thống tự động xóa bài viết và thông báo lại tác nhân 1.4.7
Mô tả chi tiết use-case chỉnh sửa bài đăng Kịch bản User-case Tên User-case Chỉnh sửa bài viết Tác nhân Admin, User Mô tả
Tác nhân chọn bài viết trong danh mục bài đăng của bản thân và chỉnh sửa Điều kiện
Tác nhân là tác giả của bài viết cần chỉnh sửa
Chuỗi sự kiện chính
- Tác nhân chọn bài viết cần chỉnh sửa
- Tác nhân chọn Edit post để chỉnh sửa bài viết
- Tác nhân thay đổi nội dung bài viết và nhần Save
- Hệ thống cập nhật lại bài viết trên danh muc bài đăng của tác nhân 1.4.8
Mô tả chi tiết use-case tìm kiếm Tên Use Case Tìm kiếm bài viết Tác nhân User Mô tả
Cho phép người dùng tìm kiếm bài viết có đặc điểm mình đang quan tâm Điều kiện
Tác nhân đã truy cập vào trang web
Chuỗi sự kiện chính
- Tác nhân truy cập vào trang web
- User chọn tìm kiếm thông tin
- User nhập từ khóa vào thanh tìm kiếm
- Hệ thống hiển thị ra các thông tin chứa từ khóa đó. Ngoại lệ
- Không có bài viết nào chứa từ khóa tìm kiếm được nhập
Hiẻn thị không có bài viết được tìm thấy lOMoARcPSD|48650905
2. Phân tích trường hợp sử dụng (Use-case analysis)
2.1Phân tích kiến trúc hệ thống 2.1.1
Kiến trúc mức cao của hệ thống
Phân tích yêu cầu: Xây dựng một website có đầy đủ các chức năng đáp ứng nhu
cầu của người dùng và người quản lý. Giao diện:
+ Hiển thị đầy đủ các tính năng của website. Chức năng:
+ Thực hiện được các chức năng cơ bản của người quản lý cũng như người dùng. 2.1.2
Các đối tượng trừu tượng chính của hệ thống (Key abstractions)
Bài viết (Post): Đây là nội dung chính trên một trang blog, bao gồm tiêu đề,
nội dung, hình ảnh và thời gian đăng bài.
Tác giả (Author): Người viết bài viết và quản lý nội dung trên trang blog.
Mỗi bài viết thường có tên tác giả kèm theo.
Chủ đề (Category): Một trang blog thường có nhiều chủ đề khác nhau. Chủ
đề giúp sắp xếp bài viết thành các danh mục hoặc loại hình để dễ dàng tìm kiếm và đọc.
Thẻ (Tag): Thẻ là từ khóa hoặc cụm từ mô tả nội dung của bài viết. Chúng
giúp tăng khả năng tìm kiếm và gắn kết giữa các bài viết có liên quan.
Trang chủ (Homepage): Đây là trang chính của trang web blog, hiển thị
các bài viết mới nhất hoặc được chọn lọc. Trang chủ thường có cấu trúc đặc biệt để
giới thiệu trang web và dẫn dắt người đọc. lOMoARcPSD|48650905
Mục đích (Purpose): Mục đích của trang blog, cụ thể là cung cấp thông tin,
giảng dạy, chia sẻ ý kiến, hoặc khuyến nghị sản phẩm/dịch vụ.
2.2Thực thi trường hợp sử dụng (Use-case relizations) 2.2.1
Các biểu đồ tuần tự (Sequence diagrams)
2.2.1.1 Đăng nhập lOMoARcPSD|48650905
2.2.1.2 Đăng xuất lOMoARcPSD|48650905
2.2.1.3 Đăng kí lOMoARcPSD|48650905
2.2.1.4 Đổi mật khẩu lOMoARcPSD|48650905
2.2.1.5 Quên mật khẩu