Sau quá trình tìm hiểu, khảo sát, nghiên cứu và thực hiện đến nay, đề tài “Website chia sẻ tài liệu” của chúng em đã hoàn thành. Trong suốt quá trình thực hiện đề tài, chúng em đã nhận được rất nhiều sự giúp đỡ nhiệt tình của thầy Đặng Quốc Hùng. Chúng em xin chân thành cảm ơn các thầy các cô đã trang bị những kiến thức quý báu cho chúng em trong suốt quá trình học tập tại trường Đại học Hải Phòng. Đặc biệt là các thầy các cô trong khoa Công nghệ thông tin đã tận tình giảng dạy, chỉ bảo, trang bị cho chúng em những kiến thức cần thiết nhất trong suốt quá trình học tập và nghiên cứu tại khoa, đã tạo mọi điều kiện thuận lợi giúp chúng em thực hiện đề tài này. Chúng em cũng xin chân thành cám ơn thầy Đặng Quốc Hùng đã tận tình giảng dạy và hướng dẫn chúng em hoàn thành tốt đề tài để phần mềm của chúng em được hoàn chỉnh và có thể ứng dụng vào thực tế. Với kinh nghiệm còn non nớt, cùng với kiến thức còn hạn chế, tuy em đã cố gắng nỗ lực hết mình nhưng đề tài của em vẫn không tránh khỏi những thiếu sót. Em mong nhận được những đóng góp về thiếu sót trong đề tài của em từ thầy cô và các bạn để em có thể rút kinh nghiệm cho những lần bảo vệ đề tài sau.
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN
- -BÁO CÁO THỰC HÀNH DỰ ÁN PHÁT TRIỂN PHẦN MỀM
Đề tài: Website chia sẻ tài liệu
Giảng viên hướng dẫn: Th.s Lê Như Hiền
Sinh viên thực hiện: Vương Tuấn Đạt
Lớp:CNTT3.K17
Hà Nội,tháng 3/2018
Trang 2LỜI CẢM ƠN
Sau quá trình tìm hiểu, khảo sát, nghiên cứu và thực hiện đến nay, đề tài “Website chia sẻ tài liệu” của chúng em đã hoàn thành Trong suốt quá trình thực hiện đề tài,
chúng em đã nhận được rất nhiều sự giúp đỡ nhiệt tình của thầy Đặng Quốc Hùng
Chúng em xin chân thành cảm ơn các thầy các cô đã trang bị những kiến thức quýbáu cho chúng em trong suốt quá trình học tập tại trường Đại học Hải Phòng Đặc biệt làcác thầy các cô trong khoa Công nghệ thông tin đã tận tình giảng dạy, chỉ bảo, trang bịcho chúng em những kiến thức cần thiết nhất trong suốt quá trình học tập và nghiên cứutại khoa, đã tạo mọi điều kiện thuận lợi giúp chúng em thực hiện đề tài này
Chúng em cũng xin chân thành cám ơn thầy Đặng Quốc Hùng đã tận tình giảng dạy
và hướng dẫn chúng em hoàn thành tốt đề tài để phần mềm của chúng em được hoànchỉnh và có thể ứng dụng vào thực tế
Với kinh nghiệm còn non nớt, cùng với kiến thức còn hạn chế, tuy em đã cố gắng nỗlực hết mình nhưng đề tài của em vẫn không tránh khỏi những thiếu sót Em mong nhậnđược những đóng góp về thiếu sót trong đề tài của em từ thầy cô và các bạn để em có thểrút kinh nghiệm cho những lần bảo vệ đề tài sau
Em xin chân thành cảm ơn!
Sinh viên thực hiện
Vương Tuấn Đạt
Trang 3MỤC LỤC
DANH MỤC CÁC BẢNG 3
DANH MỤC CÁC HÌNH VẼ 6
LỜI CẢM ƠN 8
PHẦN I: MỞ ĐẦU 9
1.1 Tên đề tài 9
1.2 Lý do chọn đề tài 9
1.3 Ưu khuyết điểm 9
1.3.1 Ưu điểm 9
1.3.2 Nhược điểm 9
1.4 Hướng tiếp cận đề tài 10
1.5 Ý nghĩa lý luận và ý nghĩa thực tiễn của đề tài 10
1.6 Cấu trúc của báo cáo 10
Phần II NỘI DUNG 11
Chương 1: KHẢO SÁT, XÁC ĐỊNH YÊU CẦU VÀ PHÂN TÍCH HỆ THỐNG 11
1.1 Khảo sát hệ thống 11
1.2 Xác định yêu cầu hệ thống 11
1.3 Phân tích yêu cầu hệ thống 12
Chương 2: PHÂN TÍCH THIẾT KẾ VỚI UML 15
2.1 Sơ đồ phân cấp chức năng 15
2.2 Biểu đồ Uscase 19
2.4 Biểu đồ tuần tự 40
Trang 4Chương 3: PHÂN TÍCH THIẾT KẾ CƠ SỞ DỮ LIỆU 58
3.1 Các bảng dữ liệu 58
3.2 Mối quan hệ giữa các bảng cơ sở dữ liệu 62
Chương 4: GIAO DIỆN CHƯƠNG TRÌNH 63
4.1 Hệ thống các chức năng của chương trình 63
4.2 Thiết kế giao diện hệ thống chương trình 65
PHẦN III: THỰC NGHIỆM, ĐÁNH GIÁ KẾT QUẢ VÀ HƯỚNG PHÁT TRIỂN CỦA ĐỀ TÀI 81 1 Thực nghiệm 81
2 Kết quả đạt được 81
3 Hạn chế 81
4 Hướng phát triển 81
PHẦN IV: TÀI LIỆU THAM KHẢO 82
1 Tài liệu tiếng Việt 82
2 Tài liệu tiếng Anh 82
Trang 5DANH MỤC CÁC BẢNG
Bảng 2-1: Danh sách các Actor của hệ thống 14
Bảng 2-1: Danh sách các UseCase 16
Bảng 3.1: Đề bài 54
Bảng 3.2: Thí sinh 55
Bảng 3.3: Câu hỏi 55
Bảng 3.4: Môn thi 55
Bảng 3.5: Kết quả 56
Bảng 3.6: Tài khoản 56
Bảng 4.1 : Hệ thống các chức năng của chương trình 60
Bảng 4.2.1: Các thành phần trang chủ 63
Bảng 4.2.2: Các thành phần trang đăng ký tài khoản 65
Bảng 4.2.3: Các thành pần trang đăng nhập 67
Hình 4.2.4: Giao diện trang quản lý môn học 67
Bảng 4.2.4: Các thành phần quản lý môn học 68
Bảng 4.2.5: Các thành phần trang quản lý câu hỏi 71
Bảng 4.2.6: Các thành phần trang quản lý đề thi 73
DANH MỤC CÁC HÌNH VẼ Hình 1-1:Sơ đồ phân cấp chức năng 13
Hình 2.2.1: Biểu đồ usecase tổng quát 17
Trang 6Hình 2.2.3 Biểu đồ usecase thi online 21
Hinh 2.2.4: Biểu đồ usecase thống kê 25
Hình 2.2.5: Biểu đồ usecase quản lý câu hỏi 28
Hình 2.2.6: Biểu đồ usecase quản lý môn học 30
Hình 2.2.7: Biểu đồ usecase quản lý đề thi 32
Hình 2.2.8: Biểu đồ usecase quản ý kiến 33
Hình 2.2: Biểu đồ Usecase Đăng nhập vào hệ thống 36
Hình2-2: Biểu đồ tuần tự cho chức năng Đăng Nhập 39
Hình2-4: Biểu đồ tuần tự cho chức năng Thêm câu hỏi 41
Hình2-5: Biểu đồ tuần tự cho chức năng Cập nhật câu hỏi 43
Hình2-6: Biểu đồ tuần tự cho chức năng Xóa câu hỏi 45
Hình2-7 : Biểu đồ tuần tự cho chức năng Thêm mới một đề thi 47
Hình2-8: Biểu đồ tuần tự cho chức năng Cập nhật đề thi 49
Hình2-9: Biểu đồ tuần tự cho chức năng Xóa đề thi 50
Hình2-10: Biểu đồ tuần tự cho chức năng Thi Trắc Nghiệm 52
Hình 2-11 Biểu đồ tuần tự cho chức năng thêm môn học 53
Hình 2-12: Biểu đồ tuần tự cho chức năng sửa, xóa thông tin môn học 54
Hình 3.2: Mô hình quan hệ giữa các bảng cơ sở dữ liệu 59
Hình 4.2.1: Trang chủ 63
Hình 4.2.2: Giao diện trang đăng ký tài khoản 65
Hình 4.2.3: Giao diện trang đăng nhập 67
Hình 4.2.5: Giao diện trang quản lý câu hỏi 70
Hình 4.2.6: Giao diện trang quản lý đề thi 73
Trang 7CHƯƠNG 1: WBS
Trang 8CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ
PHẦN I: MỞ ĐẦU 1.1 Tên đề tài
Tìm hiểu các công nghệ cơ bản trong xây dựng hệ thống Website
Đề tài mang tính gần gũi với học sinh, sinh viên
Đề tài có khả năng ứng dụng thành công cao
1.3.2 Nhược điểm
Việc tối ưu hệ thống chưa được tốt
Trang 91.4 Hướng tiếp cận đề tài
Tìm hiểu các công nghệ mới để sử dụng vào việc phát triển ứng dụngWebsite
Tìm hiểu thông qua các tài liệu và lập trình web, javascript, jquery…
Thông qua các đề tài đã được triển khai trong thực tế
Việc gặp hàng tuần với giáo viên hướng dẫn giúp cho việc nghiên cứu vàxây dựng đi đúng hướng
1.5 Ý nghĩa lý luận và ý nghĩa thực tiễn của đề tài
Ý nghĩa lý luận:
Đây là đề tài thực tập trong toàn bộ chương trình học, vì vậy nó đóng vai trò rấtquan trọng, giúp sinh viên làm quen với vcác ứng dụng mang tính thực tế cao, từ đó rút rakinh nghiệm thực tiễn và phát triền lên làm đồ án và công việc về sau
Ý nghĩa thực tiễn:
Tăng cường nhận thức và tư duy của các thành viên
Rèn luyện cách làm việc nhóm có hiệu quả
Phát huy tính sáng tạo và cách làm việc độc lập của mỗi thành viên trong nhóm
Củng cố và nâng cao kiến thức cho các thành viên trong nhóm
1.6 Cấu trúc của báo cáo
Báo cáo gồm có các phần chính như sau:
Phần I: Mở đầu
Phần II: Nội dung
Phần III: Thực nghiệm, đánh giá kết quả và hướng phát triển
Trang 10Phần II NỘI DUNG 1: KHẢO SÁT, XÁC ĐỊNH YÊU CẦU VÀ PHÂN TÍCH HỆ THỐNG
1.1 Khảo sát hệ thống.
Do không có địa điểm để khảo sát hệ thống quản trị và làm website chuyên nghiệpnên nhóm đã khảo sát toàn bộ hệ thống quản trị website tin tức trên mạng Internet vànhững thông tin từ hình thi trắc nghiệm Các thông tin khảo sát được gồm có:
Quy trình thiết kế website
Cách thức làm website bằng mô hình MVC, ASP.Net
Cách thức thiết kế website
Ngoài ra nhóm cũng tham khảo cách làm website của các anh chị khóa trên
để tìm hiểu rõ hơn về nhiệm vụ và phương hướng làm việc trong toàn bộ đềtài
1.2 Xác định yêu cầu hệ thống.
Từ dữ liệu thu thập được trong quá trình khảo sát, có thể xác định được hệ thốnggồm những chức năng chính sau đây:
Đăng nhập hệ thống
Quản lý tin tức
Quản lý bài đăng
Kiểm tra báo cáo
Quản lý hóa đơn
Quản lý phân quyền
(Đóng góp câu hỏi
Chức năng phản hồi)
Trang 111.3 Phân tích yêu cầu hệ thống.
Sau khi khảo sát và xác định được các yêu cầu của hệ thống, có thể phân tích đểđưa ra các quy trình nghiệp vụ chung của hệ thống bao gồm các phần:
1.3.1 Chức năng quản lý tin tức.
Mục tiêu: Cho phép người quản lý, quản trị viên chương trình cập nhật, xóa, thayđổi các thông tin Người sử dụng thực hiện phải có quyền hạn được phép cập nhật thôngtin được khai báo trong quyền chức năng Quản lý phân quyền và cấp quyền hạn đăngnhập tương ứng cho từng thành viên Có các chức năng xem, thêm, sửa, xóa
1.3.2 Chức năng Quản lý bài đăng
Mục tiêu: Cho phép người quản lý, quản trị viên chương trình cập nhật, xóa, thayđổi, duyệt, từ chối các bài đăng Người sử dụng thực hiện phải có quyền hạn được phépcập nhật thông tin được khai báo trong quyền chức năng Quản lý phân quyền và cấpquyền hạn đăng nhập tương ứng cho từng thành viên Có các chức năng xem, thêm, sửa,xóa, duyệt, từ chối bài đăng
1.3.3 Chức năng Kiểm tra báo cáo
Mục tiêu: Cho phép người quản lý, quản trị viên chương trình xem, kiểm tra cácthông tin Người sử dụng thực hiện phải có quyền hạn được phép cập nhật thông tin đượckhai báo trong quyền chức năng Quản lý phân quyền và cấp quyền hạn đăng nhập tươngứng cho từng thành viên Có các chức năng xem, kiểm tra
1.3.4 Chức năng Quản lý hóa đơn
Mục tiêu: Cho phép người quản lý, quản trị viên chương trình thống kê, xóa, rút,nạp Người sử dụng thực hiện phải có quyền hạn được phép cập nhật thông tin được khaibáo trong quyền chức năng Quản lý phân quyền và cấp quyền hạn đăng nhập tương ứngcho từng thành viên Có các chức năng xem, rút/nạp, xóa
Trang 121.3.5 Chức năng Quản lý phân quyền
Mục tiêu: Cho phép người quản lý, quản trị viên chương trình cập nhật, xóa, thayđổi các thông tin Người sử dụng thực hiện phải có quyền hạn được phép cập nhật thôngtin được khai báo trong quyền chức năng Quản lý phân quyền và cấp quyền hạn đăngnhập tương ứng cho từng thành viên Có các chức năng xem, thêm, sửa, xóa
(1.3.6 Chức năng Đóng góp câu hỏi
1.3.7 Chức năng phản hồi)
2: PHÂN TÍCH THIẾT KẾ VỚI UML 2.1 Sơ đồ phân cấp chức năng
Hình 1-1: Sơ đồ phân cấp chức năng
Trang 132.2 Biểu đồ usecase
2.2.1 Danh sách các Actor và các usecase
Sau khi đi khảo sát thực tế và tham khảo một số tài liệu chúng em đã phân tích Danh sách các tác nhân( Actor)
1
QuanLy, Admin
Là tác nhân giữ vai trò chính của website:Quyền quản lý là quyền cao nhất của hệthống Những người giữ vai trò quản lýchính có thể phân quyền cho các thànhviên trong website
Tác nhân có thể thực hiện được tất cả cácchức năng của website như: Tạo,quản lýtài khoản thành viên, quản lý và phânquyền các chuyên mục, Đăng sửa xóa tinbài…
Tác nhân có quền thêm, sửa, xóa,cập nhậtthông tin mới
2
Thành viên
Đăng nhập hệ thống: Mỗi một thànhviên có một số quyền giới hạn do ngườiAdminstrator giao cho
Đăng ký tài khoản thành viên khimuốn tham gia website
Đăng tin mới: Khi có thông tin mớicần đăng thì Users biên tập thông tin và đănglên website
Sửa thông tin: Khi cần update, sửathông tin thì Users sẽ vào bài viết đó và sửa
Trang 14thông tin cho chính xác.
Xóa thông tin: Khi thông tin quá cũ vàkhông cần thiết thì Users tìm thông tin đó vàxóa khỏi CSDL
Bảng 2-1: Danh sách các Actor của hệ thống
Mô tả yêu cầu đối với các Actor
QuanLy, Admin:
- Đăng nhập vào Website
- Quản lý thành viên
- Quản lí chuyên mục về: tin tức, bài đăng, hóa đơn, phân quyền
- Thống kê, kiểm tra báo cáo
- Bảo trì, bảo dưỡng hệ thống website
Users:
- Thêm, sửa, xoá thông tin các bài viết
- Quản lý việc đăng bài, hóa đơn, kiểm tra báo cáo
Danh sách các usecase
ST
Ý nghĩa
1 Đăng kí thành viên Mô tả các chức năng đăng kí làm một thành
viên chính thức của website2
Quản lí thành viên
Quản lí các thông tin của các thành viêncũng như cấp các quyền hạn phù hợp chotừng thành viên
Trang 153 Đăng nhập thành viên Đăng nhập vào hệ thống với vai trò là một
thành viên để sử dụng các chức năng nóitrên của một thành viên được phép sử dụng4
Đăng nhập quản lí
Đăng nhập với vai trò là một người quản lí
để có quyền hạn sử dụng các chức năng củamột người quản lí
Bảng 2-1: Danh sách các UseCase
2.2 Biểu đồ Uscase
2.2.1 Biểu đồ Uscase tổng quát hệ thống
Trang 16Hình 2.2.1: Biểu đồ usecase tổng quát Tóm tắt:
Use này mô tả các chức năng tổng quát của hệ thống gồm có các chức năng chínhnhư sau: quản lý tin tức, quản lý bài đăng, quản lý hóa đơn, quản lý thanh toán, quản lýphân quền, kiểm tra báo cáo
Tác nhân chính: Quản lý, thành viên, quản trị viên
Trang 172.2.2 Biểu đồ usecase quản lý tin tức
Hình 2.2.2: Biểu đồ usecase quản lý tin tức Tác nhân: Quản lý, quản trị viên
Tóm tắt chung: Chức năng này cho phép quản lý tin tức bao gồm thêm, xem, sửa, xóa tin
tức
Trang 182.2.3 Biểu đồ usecase quản lý bài đăng
Trang 19Hình 2.2.3 Biểu đồ quản lý bài đăng Tóm tắt: Use case này cho người quản lý, quản trị viên có thể thêm, xem, sửa, xóa, duyệt
và từ chối bài đăng
Tác nhân chính: Người quản lý, quản trị viên
Trang 202.2.4 Biểu đồ usecase kiểm tra báo cáo
Trang 21Hinh 2.2.4: Biểu đồ usecase kiểm tra báo cáo Tóm tắt: Usecase có chức năng xem báo cáo, kiểm tra (duyệt)
Tác nhân: Người quản lý, quản trị viên
2.2.5 Biểu đồ usecase quản lý hóa đơn
Hình 2.2.5: Biểu đồ usecase quản lý hóa đơn Tóm tắt:
Use case này mô tả chức năng thống kê hóa đơn, rút/nạp và xóa hóa đơn
Tác nhân chính: Người quản lý, quản trị viên
Trang 222.2.6 Biểu đồ usecase quản lý phân quyền
Hình 2.2.6: Biểu đồ usecase quản lý phân quyền Tóm tắt: Use case này mô tả chức năng xem, thêm, sửa, xóa phân quyền Tác nhân chính: Quản trị viên
Trang 232.2.7 Usecase Đăng nhập
Hình 2.2: Biểu đồ Usecase Đăng nhập vào hệ thống
Tác nhân : quản lý, quản trị viên, khách hàng
Tóm tắt:
Chức năng này cho phép admin và thành viên đăng nhập vào hệ thống để sử dụngcác chức năng mà mình đã được cấp trong hệ thống Use case đăng nhập bao giờ cũngđược hiện ra ở trang chính người dùng muốn vào hệ thống
Trang 242.4 Biểu đồ tuần tự
2.4.1 Biểu đồ tuần tự đăng kí thành viên
Hình 2-1: Biểu đồ tuần tự cho chức năng Đăng kí thành viên
Đặc tả chức năng Đăng nhập:
Khi khách vào trang chủ của hệ thống mà chưa có tài khoản người dùng chọn vàođăng kí thì trang chính đăng kí thành viên hiện thị
Người dùng nhập thông tin liên quan đến mình
Nếu thông tin đăng kí lưu vào CSDL hệ thống sẽ đưa ra thông báo thành công và ngược lại sẽ đưa ra thông báo lỗi
Trang 252.4.2 Biểu đồ tuần tự cho chức năng Đăng Nhập
Hình2-2: Biểu đồ tuần tự cho chức năng Đăng Nhập
Trang 262.5 Biểu đồ lớp
Trang 273: PHÂN TÍCH THIẾT KẾ CƠ SỞ DỮ LIỆU Mối quan hệ giữa các bảng cơ sở dữ liệu
Hình 3.2: Mô hình quan hệ giữa các bảng cơ sở dữ liệu
Trang 284: GIAO DIỆN CHƯƠNG TRÌNH
a.Trang chủ
Giao diện khách
Trang 29Giao diện thành viên
Trang 30b Tin tức
Trang 31c Tài liệu
Trang 32Bình luận
Đăng tải
Trang 33Hồ sơ cá nhân
Đổi mật khẩu
d Trang quản trị
Trang 34Đăng nhâp:
Dashboard
Trang 35Tài liệu
Tin tức
Trang 36Bình luận
Kiểm duyệt
Trang 37Báo lỗi
Trang 38PHẦN III: THỰC NGHIỆM, ĐÁNH GIÁ KẾT QUẢ VÀ HƯỚNG PHÁT TRIỂN CỦA ĐỀ TÀI
1 Thực nghiệm
Website đã chạy tương đối ổn định
Phần mềm của em chưa được triển khai thực tế
2 Kết quả đạt được
- Giao diện trang web đẹp, dễ sử dụng và có tính bảo mật
- Hệ thống trang thi hoàn chỉnh cơ bản xử lý kết quả nhanh
- Chức năng thi đơn giản tiện ích cho
- Phần mềm được xây dựng trên ứng dụng ASP.net Sử dụng công nghệ LinQ
- Cơ sở dữ liệu được xây dựng thành công trên Microsoft SQL ServerManagement 17.1
- Sử dụng Netframwork 6
- Visual Studio 2017
- Mô hình MVC 5
3 Hạn chế
- Chưa bắt được hết các lỗi của hệ thống
- Chưa tối ưu UI
4 Hướng phát triển
- Hoàn thiện chức năng ôn luyện, thi
- Cơ sở dữ liệu được tối đa hóa đến mức chi tiết
- Phát triển và nâng cao hệ thống thi cử
Trang 39CHƯƠNG 3: PHÒNG CHỐNG RỦI RO
1 Mở đầu:
Dự án được thực thi trong môi trường thực với nhiều biến động, do đó rủi ro là điều không thể tránh khỏi Nói cách khác, không có dự án nào không có rủi ro Rủi ro nếu không được nhận diện và kiểm soát tốt có khả năng làm dự án hoàn toàn thất bại, hoặc chí ít cũng làm phát sinh nhiều vấn đề khó khăn, làm hao tổn nhân lực và thời gian, bào mòn lòng tin của khách hàng, giảm lợi nhuận Do
đó, việc nhận diện và kiểm soát tốt rủi ro luôn là một trong những công việc quan trọng bậc nhất trong việc quản trị dự án.Vì không ai đoán trước được tương lai, nên việc quản lý rủi ro là một cách để giảm thiểu ảnh hưởng của các rắc rối có thể xảy ra, quan tâm đến nó trước khi nó trở nên nghiêm trọng Việc này giúp cải thiệnthành công của dự án, giảm chi phí và tránh được nhiều hậu quả khác do tránh được rủi ro
Trong thực tế, khả năng xuất hiện cũng như tác hại của các rủi ro ở những dự án khác nhau là hoàn toàn khác nhau Có những rủi ro xuất hiện trong rất nhiều dự án, nhưng tác hại gây ra lại không lớn, hoặc chỉ lớn trong vài dự án Ngược lại, một số rủi ro chỉ xảy ra trong những điều kiện hoặc dự án nhất định, nhưng tác hại do chúng gây ra là rất lớn, hoặc tác hại có thể dự đoán và ngăn ngừa được Có những rủi ro có thể tránh được nếu ta phát hiện sớm, có những rủi ro buộc phải chấp nhận và phải có hành động đối phó hoặc khắc phục