Yêu cầu chức năng: Chức năng đăng ký tài khoản Chức năng đăng nhập tài khoản Chức năng cập nhật mật khẩu Chức năng tạo bài viết Chức năng tạo chủ đề, danh mục Chức năng bình luận bài viế
Trang 1TRƯỜNG ĐẠI HỌC MỞ HÀ NỘI
TRUNG TÂM ĐÀO TẠO ELEARNING
Nguyễn Hoàng Văn Nhi
Trang 2LỜI CẢM ƠN
Lời đầu tiên, em xin tỏ lòng biết ơn sâu sắc đến quý thầy, cô đã giảngdạy và truyền đạt những kiến thức quý báu nhất cho chúng em bằng cả tâmhuyết của một người giáo viên Nhờ sự tận tâm giảng dạy, hết lòng truyền đạtnhững kiến thức của quý thầy cô giúp em thấy được những khuyết điểm củabản thân mình đế em rút kinh nghiệm và có được những kiến thức quy báulàm hành trang khi bước vào xã hội ngày một phát triển như hiện nay
Em xin chân thành cám ơn Giảng viên.ThS Lê Hữu Dũng, ThS PhạmQuang Vinh đã hướng dẫn và giúp đỡ em trong suốt thời gian thực tập cuối khóa vừa qua Thầy (cô) luôn hỗ trợ em hết mình, theo dõi và nhắc nhở trongsuốt quá trình hoàn thiện đề tài của em, do đó em mới có thể hoàn thành tốt
đề tài thực tập cuối khóa của mình
Bước tiếp cận với dự án thực tế, kiến thức của chúng em vẫn còn hạnchế Do vậy, không tránh khỏi những thiếu sót, chúng em rất mong nhận đượcnhững ý kiến đóng góp, phê bình của quý thầy cô và các bạn Những ý kiếnđóng góp đó là hành trang quý giá giúp chúng em hoàn thiện được kiến thứcsau này
Cuối cfng em xin chúc quý thầy cô trường ĐẠI HỌC MỞ HÀ NỘI,quý thầy cô khoa Công Nghệ Thông Tin có thật nhiều sức khỏe, nhiều niềmvui và thành công trong cuộc sống
Xin chân thành cảm ơn!
Trang 3MỤC LỤC CHƯƠNG 1: GIỚI THIỆU CHUNG
Giới thiệu bài toán
1 Đánh giá các đề tài/sản phẩm tương tự, liên quan
2 Mục tiêu của đề tài
3 Phân công nhiệm vụ
CHƯƠNG 2: XÁC ĐỊNH YÊU CẦU
1 Yêu cầu chức năng
2 Yêu cầu phi chức năng
CHƯƠNG 3: PHÂN TÍCH & THIẾT KẾ
1 Phân tích Hệ thống về chức năng
2 Phân tích và thiết kế Hệ thống về Dữ liệu
3 Thiết kế Hệ thống về Giao diện
Phần giao diện người dfng
Phần giao diện quản trị
4 Thiết kế đảm bảo an toàn cho Hệ thống
CHƯƠNG 4: MỘT SỐ CHỨC NĂNG CHÍNH
1 Trang chủ
CHƯƠNG 5: KẾT LUẬN
Chức năng đã hoàn thành
Chức năng chưa hoàn thành
Đánh giá ưu, nhược điểm của website
TÀI LIỆU THAM KHẢO
Trang 4CHƯƠNG 1: GIỚI THIỆU CHUNG Giới thiệu bài toán
Đề tài: Xây dựng trang báo điện tử
1 Đánh giá các đề tài/sản phẩm tương tự, liên quan:
Xây dựng 1 website, 1 trang thông tin điện tử hay 1 trang báo điện tử là
2 Mục tiêu của đề tài:
Trên website, tin tức được biên tập thành các chủ đề khác nhau
Cho phép nhiều người đăng tin
Chức năng đăng tin hỗ trợ đăng tải nội dung dài, dễ dàng định dạng, soạnthảo
Các tin có thể liên quan tới nhau
Tin tức chỉ được hiển thị sau khi admin kiểm duyệt
Trang 5Người dfng có thể truy cập để đọc tin, in tin, gửi tin cho bạn bè, đăng kýnhận newsletter
Chương trình đảm bảo các nghiệp vụ chính của bài toán
* Đề tài cần đạt được mức độ chức năng cơ bản sau:
- Website- thực hiện được chức năng hiển thị website
- Hiển thị được thông tin các chủ đề- danh mục
- Các chủ đề - danh mục được phân cấp rõ ràng
- Tạo được bài viết
- Tạo được bình luận về bài viết, chủ đề
- Tạo được chia sẻ bài viết trên mạng xã hội
- Tạo được like/ unlike bài viết
- Tạo và quản lý được tài khoản
- Tạo và quản lý được danh mục
- Tạo và quản lý được menu
- Tạo và quản lý thông tin hệ thống
- Tạo và phân quyền cho tài khoản
- Phân loại được bài viết theo chủ đề, danh mục
- Tạo và quản lý được quảng cáo
3 Phân công nhiệm vụ
Tìm hiểu về công nghệ ASP.NET
Tìm hiểu về cơ sở dữ liệu- hệ quản trị cơ sở dữ liệu MS SQL SERVER
Trang 6CHƯƠNG 2: XÁC ĐỊNH YÊU CẦU
Các yêu cầu mà website phải đáp ứng
1 Yêu cầu chức năng:
Chức năng đăng ký tài khoản
Chức năng đăng nhập tài khoản
Chức năng cập nhật mật khẩu
Chức năng tạo bài viết
Chức năng tạo chủ đề, danh mục
Chức năng bình luận bài viết
Chức năng thích/ không thích bài viết
Chức năng chia sẻ bài viết
Chức năng quản lý bài viết
Chức năng quản lý quảng cáo
Chức năng quản lý menu
Chức năng cập nhật bài viết
Chức năng cập nhật đề tài, danh mục, chủ đề
Chức năng cập nhật menu
Chức năng cập nhật quảng cáo
Chức năng khoá tài khoản
Chức năng xoá bài viết
Chức năng xoá chủ dề
Chức năng xoá menu
Chức năng xoá quảng cáo
2 Yêu cầu phi chức năng:
- Giao diện thuận tiện, dễ dfng, đáp ứng chuẩn Responsive
- Đảm bảo các thành phần Client Side, Server side
- Đảm bảo bảo mật thông tin, phân cấp sử dụng chức năng, chống đượccác kiểu tấn công cơ bản
Trang 7CHƯƠNG 3: PHÂN TÍCH & THIẾT KẾ
1 Phân tích Hệ thống về chức năng:
* Chức năng xem- hiển thị:
Về mặt chức năng chung, khi người dfng vào website thì có thể xemcác bài viết, thuộc chủ đề, danh mục nào đó
* Chức năng tạo tài khoản:
Người dfng có thể tạo tài khoản bằng cách chọn chức năng đăng ký tàikhoản
Sau khi nhập thông tin tài khoản của mình vào Rồi nhấn nút đăng ký,
hệ thống sẽ kiểm tra xem tài khoản đã tồn tại hay chưa Nếu tài khoản đã tồntài, thông báo cho người dfng không tạo được tài khoản với tên đăng nhậpnhư vậy, thông báo thử lại
Nếu tài khoản chưa tồn tại, người dfng có thể đăng ký tài khoản này.Tài khoản mới đăng ký cần được quản trị viên xét duyệt Nếu khôngđược duyệt, tài khoản không thể đăng nhập vào hệ thống
* Chức năng quản lý tài khoản cá nhân:
Trang quản trị tài khoản, người dfng có thể xem thông tin tài khoản,người dfng có thể cập nhật lại mật khẩu của tài khoản
Trang quản trị tài khoản, người dfng có thể quản lý bài viết mình đãtạo
* Chức năng quên mật khẩu:
Trang 8Người dfng có thể có chức năng quên mật khẩu để lấy lại tài khoản.Trường hợp quên tài khoản, mật khẩu, người dfng cần vào chức năngquên mật khẩu
Ở đây, người dfng nhập vào email xác nhận của mình để nhận thôngtin tài khoản và mật khẩu mới
Trường hợp email không tồn tại trong hệ thống, thông báo, tài khoảnchưa được sử dụng
Trường hợp email tồn tại trong hệ thống, 1 thư chứa thông tin mật khẩu
sẽ được gửi tới email đã đăng ký
Người dfng có thể sử dụng mật khẩu mới này để đăng nhập vào hệthống và cập nhật mật khẩu mới
* Chức năng tạo bài viết:
Khi người dfng đăng nhập thành công vào hệ thống
Người dfng có chức năng tạo bài viết, viết bài
Khi chọn chức năng viết bài, người dfng được chuyển tới trang viếtbài
Nhập thông tin tên bài viết, nội dung, ngày viết… Sau đó nhấn nút gửi.Bài viết mới được tạo và gửi tới ban quản trị phê duyệt trước khi hiểnthị với người ngoài
* Chức năng tạo, viết bình luận:
Sau khi đăng nhập, người dfng có chức năng bình luận bài viết.Người dfng vào bài viết bất kì và nhấn bình luận
Người dfng được chuyển sang màn hình viết bình luận
Ở đây, người dfng nhập nội dung cần bình luận vào bài viết Sau đónhấn nút gửi thông tin
Trang 9Bình luận sẽ được lưu trên hệ thống Sau khi quản trị viên kiểm tra vàphê duyệt thì bình luận này sẽ được hiển thị ra cho mọi người thấy ở bài viếttương ứng
* Chức năng xoá bình luận:
Sau khi đăng nhập, người dfng có thể xoá bình luận của mình trong bàiviết mình đã tạo Người dfng chỉ có chức năng xoá bình luận mà họ tạo ra.Quản trị viên cũng có thể xoá bình luận của người khác
* Chức năng cập nhật bình luận:
Sau khi đăng nhập, người dfng có thể sửa, cập nhật bình luận của mìnhtrong bài viết mà mình đã tạo Người dfng chỉ có chức năng sửa bình luậncủa họ tạo ra Sau khi sửa bình luận thì bình luận đó cần phải chờ quản trịviên phê duyệt trước khi hiển thị ra màn hình Quản trị viên có quyền cập nhậtbình luận của người khác
* Chức năng phê duyệt bài viết:
Sau khi đăng nhập hệ thống, nếu tài khoản có quyền quản trị viên thì cóchức năng sử dụng phê duyệt bài viết Bài viết sau khi phê duyệt sẽ được hiểnthị hoặc ẩn so với người khác
* Chức năng phê duyệt bình luận:
Sau khi đăng nhập hệ thống, nếu tài khoản có quyền quản trị viên thì cóchức năng sử dụng phê duyệt bình luận Bình luận sau khi phê duyệt sẽ đượchiển thị hoặc ẩn so với người khác
* Chức năng xoá bài viết:
Sau khi đăng nhập hệ thống, nếu tài khoản có quyền quản trị viên thì cóchức năng xoá bài viết Bài viết sau khi xoá sẽ bị xoá khỏi hệ thống
* Chức năng xoá bình luận:
Sau khi đăng nhập hệ thống, nếu tài khoản có quyền quản trị viên thì cóchức năng xoá bình luận bình luận sau khi xoá sẽ bị xoá khỏi hệ thống
Trang 10* Chức năng tạo chủ đề:
Sau khi đăng nhập hệ thống, nếu tài khoản có quyền quản trị viên thì cóchức năng tạo chủ đề Người dfng lựa chọn chức năng, sau đó được chuyểnsang màn hình nhập thông tin
Sau khi điền đầy đủ thông tin cho màn hình chức năng, người dfngnhấn nút cập nhật thông tin, Thông tin được cập nhật, lưu lại vào cơ sở dữliệu
Chủ đề sau khi tạo sẽ được hiển thị trên hệ thống
Thông tin được cập nhật, lưu lại vào cơ sở dữ liệu
Chủ đề sau khi cập nhật sẽ được hiển thị hoặc ẩn trên hệ thống
Nếu người dfng đồng ý- thì xoá dữ liệu đi
Thông tin được xoá trong cơ sở dữ liệu
Chủ đề sau khi xoá sẽ được hiển thị trên hệ thống
Trang 11* Chức năng tạo menu:
Sau khi đăng nhập hệ thống, nếu tài khoản có quyền quản trị viên thì cóchức năng tạo mới menu
Người dfng lựa chọn chức năng, sau đó được chuyển sang màn hìnhnhập thông tin
Sau khi điền đầy đủ thông tin cho màn hình chức năng, người dfngnhấn nút cập nhật thông tin,
Thông tin được cập nhật, lưu lại vào cơ sở dữ liệu
Dữ liệu sau khi tạo sẽ được hiển thị trên hệ thống
Thông tin được cập nhật, lưu lại vào cơ sở dữ liệu
Menu sau khi cập nhật sẽ được hiển thị hoặc ẩn trên hệ thống.
* Chức năng xoá menu:
Sau khi đăng nhập hệ thống, nếu tài khoản có quyền quản trị viên thì cóchức năng xoá chủ đề
Người dfng lựa chọn chức năng, các đối tượng cần xoá
Sau đó nhấn nút xoá
Hệ thống đưa thông báo, bạn có chắc chắn muốn xoá dữ liệu không?Nếu người dfng nhấn không- thì không thực hiện gì
Nếu người dfng đồng ý- thì xoá dữ liệu đi
Thông tin được xoá trong cơ sở dữ liệu
Trang 12Menu sau khi xoá sẽ được hiển thị trên hệ thống.
2 Phân tích và thiết kế Hệ thống về Dữ liệu:
- Hệ thống: chứa thông tin cấu hình website
Thông tin như tiêu đề website, logo, lời giới thiệu, keyseo, decriptions,tag, googleadres, facebook, footer, email, …
+ Tài khoản: Chứa thông tin đăng nhập của người dfng
Tên đăng nhập, mật khẩu, tên hiển thị, quyền…
+ Menu: Chứa thông tin menu, thanh điều hướng
Tên menu, link menu, vị trí menu, thứ tự của menu, quyền hạn củamenu
+ Danh mục, chủ đề: Chứa thông tin danh mục, danh mục cha.Tên danh mục, ghi chú mô tả, id danh mục cha, vị trí danh mục, thứ tựcủa danh mục,
+ Bài viết: Chứa thông tin bài viết
Tên bài viết, mã bài viết, phần mô tả bài viết, nội dung bài viết, ngàyđăng, số lượt xem bài viết, số lượt thích bài viết, số lượt không thích bài viết,
mã danh mục, chủ đề, người tạo…
+ Quảng cáo- banner: Chứa thông tin quảng cáo- banner
Mã, tên quảng cáo, banner, đường link, nội dung, hình ảnh, thời gian,ghi chú, hạn…
+ Bình luận: Quản lý bình luận bài viết
Mã bình luận, mã bài viết, mã người tạo, nội dung bình luận, ngày tạo,ngày cập nhật, trạng thái bình luận (duyệt, chưa duyệt )
+ Tài khoản: Quản lý tài khoản đăng nhập
Mã tài khoản, tên đăng nhập, mật khẩu, mã quyền, tên hiển thị, hìnhảnh avatar, điện thoại, email.địa chỉ, ngày tạo, trạng thái, rank…
+ Tin thích: Quản lý những ai thích bài viết nào
Trang 14BÌNH LUẬN
CẤU HÌNH
Trang 15DANH MỤC- CHỦ ĐỀ
MENU
Trang 16TÀI KHOẢN
TIN
TỨC-TIN THÍCH
3 Thiết kế Hệ thống về Giao diện:
* Phần giao diện người dùng
Trang chủ
Trang 1717
Trang 18Trang tin theo danh mục
Trang chi tiết tin
Trang 19Trang cá nhân
Trang 20Trang thay đổi mật khẩu
Trang đăng nhập
Trang đăng ký
Trang 21Trang quản lý bài viết
Trang bình luận
Trang 22Trang viết bình luận
* Phần giao diện quản trị
Trang quản trị chung
Trang 23Trang quản trị menu
Trang quản trị menu cập nhật
Trang 24Trang quản lý tài khoản
4 Thiết kế đảm bảo an toàn cho Hệ thống:
Chương trình Server được viết theo mô hình 3 layer Chống tấn công bằng htactck, json
Mã hoá mật khẩu theo MD5
Phân quyền tài khoản
Trang 25CHƯƠNG 4: MỘT SỐ CHỨC NĂNG CHÍNH
Trang chủ
Chức năng viết bài,
Sau khi đăng nhập hệ thống, người dfng có thể thấy chức năng viết bài trên thanh menu trên cfng, bên tay phải màn hình
Nhấp vào chức năng này để tạo bài viết mới
Nhấp vào thêm mới nếu muốn tạo bài viết mới
Nhấn vào sửa- để sửa bài viết của mình
Nhấn vào xoá để xoá bài viết tương tứng
Chức năng đăng nhập
Trang 26Để đăng nhập hệ thống, nhấp vào chữ đăng nhập- ở thanh menu trên cfng, bên phải màn hình
Hiện nên màn hình đăng nhập,
Nhập tài khoản và mật khẩu vào
Sau đó nhấn đăng nhập
Nếu tài khoản và mật khẩu đúng thì sẽ đăng nhập thành công
Nếu tài khoản và mật khẩu sai thì sẽ nhập lại hoặc nhấn vào đăng ký- Chức năng đăng nhập
protected void btndangnhap_Click(object sender, EventArgs e)
Trang 27{
Session["ChuaDangNhap"] = true;
Session["emailkhachhang"] = txtemail.Text;
5 SqlConnection cn = new SqlConnection();
6 SqlCommand cmd = new SqlCommand();
Trang 28<div class="list-group">
<ahref="#"class="list-group-item active">
<asp Label: ID="lblthongbao"runat="server"Text="Danh mục"></asp:Label>
</ >a
<asp:DataList ID="DataList1"runat="server"DataKeyField="id"Width="100%">
<ItemTemplate>
<ahref="listtin.aspx?c=<% Eval(# "id")%>&n=<
% doiten2(Eval(# "name"))%>" class="list-group-item">
Trang 29BasicPage xulychung = new BasicPage();
public string sobaiviet;
public void loaddata()
Trang 30var finder = new CKFinder();
finder.selectActionFunction = function (fileUrl) { $('#<% txtImgUrl.ClientID %>').val(fileUrl);= };
finder.popup();
});
});
</script>
<div class="panel panel-primary">
<divclass="panel-heading">
<h3class="panel-title text-center">
Trang 31<asp Label: ID="lblthongbao"runat="server"Text="ĐĂNG KÍ TÀI KHOẢN"></asp:Label>
</ >h3
<divclass="text-center">
<asp Label: ID="lblresult"runat="server"ForeColor=""
Text="* Sau khi tài khoản được kích hoạt, bạn có thể đăng bài viết, bình luận, và chia sẻ nhiều hơn Cảm ơn bạn đã tham gia với chúng
tôi!"></asp:Label>
</div>
</div>
<divclass="panel-body">
<divclass="form-horizontal">
<divclass="form-group">
<labelclass="control-label col-sm-3">TÊN ĐĂNG NHẬP:</label> <divclass="col-sm-9">
<asp TextBox: ID="txtten"runat="server"classcontrol"></asp:TextBox>
<asp CustomValidator: ID="CustomValidator1"runat="server"ControlToValidate="txtten"ErrorMessage="* Không để trống, Không được
có khoảng trắng"></asp:CustomValidator>
</div>
</div>
<divclass="form-group">
<labelclass="control-label col-sm-3">MẬT KHẨU:</label> <divclass="col-sm-9">
<asp TextBox: ID="txtmatkhau"runat="server"classcontrol" TextMode="Password"></asp:TextBox>
</div>
</div>
<divclass="form-group">
Trang 32<labelclass="control-label col-sm-3">NHẬP LẠI MẬT
KHẨU :</label>
<divclass="col-sm-9">
<asp TextBox: ID="txtmatkhaumoi"runat="server"classcontrol" TextMode="Password"></asp:TextBox>
<asp CompareValidator: ID="CompareValidator1"runat="server"ErrorMessage="* Kiểm tra lại mật khẩu"ControlToCompare="txtmatkhau"ControlToValidate="txtmatkhaumoi"></asp:CompareValidator>
</div>
</div>
<divclass="form-group">
<labelclass="control-label col-sm-3">TÊN HIỂN THỊ:</label> <divclass="col-sm-9">
<asp TextBox: ID="txttenhienthi"runat="server"classcontrol"></asp:TextBox>
</div>
</div>
<divclass="form-group">
<labelclass="control-label col-sm-3">ẢNH ĐẠI DIỆN:</label> <divclass="col-sm-9">
<inputtype="button"id="btnSelectImg"value="Chọn " />
<asp Image: ID="Image1"runat="server"Height="90px"Width="90px" ImageUrl="/Uploads/noimage.png" />
<asp TextBox: ID="txtImgUrl"runat="server"
Width="364px">/Uploads/noimage.png</asp:TextBox>
</div>
</div>
<divclass="form-group">
<labelclass="control-label col-sm-3">ĐIỆN THOẠI:</label>
Trang 33<divclass="col-sm-9">
<asp TextBox: ID="txtdienthoai"runat="server"classcontrol"></asp:TextBox>
</div>
</div>
<divclass="form-group">
<labelclass="control-label col-sm-3">EMAIL:</label>
<divclass="col-sm-9">
<asp TextBox: ID="txtemail"runat="server"classcontrol"></asp:TextBox>
</div>
</div>
<divclass="form-group">
<labelclass="control-label col-sm-3">ĐỊA CHỈ:</label> <divclass="col-sm-9">
<asp TextBox: ID="txtdiachi"runat="server"classcontrol"></asp:TextBox>
</div>
</div>
</div>
</div>
<divclass="panel-footer">
<divclass="row text-center">
<asp TextBox: ID="txtma"runat="server"ReadOnly="True"Width="61px" Visible="False"> </0 asp:TextBox>
<asp TextBox: ID="txtidnhanvien"runat="server"ReadOnly="True"Width="61px" Visible="False"> </0 asp:TextBox>
<asp TextBox: ID="txtiduser"runat="server"ReadOnly="True"Width="61px" Visible="False"> </0 asp:TextBox>
Trang 34BasicPage xuly = new BasicPage();
taikhoandtond xulydoituong = new taikhoandtond();
public void loaddoituong()
Trang 35xuly.ShowAlert(this.Page, "Cảm ơn bạn đã đăng ký, tài khoản của bạn
sẽ được duyệt trước khi bạn có thể sử dụng Vui lòng chờ! Cảm ơn"); }
catch (Exception ex)