SINH VIÊN BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC Ngành Hệ Thống Thông Tin TÊN ĐỀ TÀI XÂY DỰNG WEBSITE BÁN SÁCH CHO NHÀ SÁCH NHÃ NAM CBHD NGÀNH Sinh viên Mã số sinh viên Hà Nội – Năm 2022 LỜI CẢM ƠN Quãng thời gian 4 năm học tập và rèn luyện tại Trường Đại học Công nghiệp Hà Nội, em đã nhận được rất nhiều sự quan tâm, giúp đỡ của quý thầy cô và bạn bè Với lòng biết ơn sâu sắc và chân thành nhất, em xin gửi đến quý thầy cô ở khoa Công nghệ thông tin – Trường Đại.
Trang 1-ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC
Ngành Hệ Thống Thông Tin
TÊN ĐỀ TÀI XÂY DỰNG WEBSITE BÁN SÁCH CHO NHÀ SÁCH NHÃ NAM
Trang 2LỜI CẢM ƠN
Quãng thời gian 4 năm học tập và rèn luyện tại Trường Đại học Côngnghiệp Hà Nội, em đã nhận được rất nhiều sự quan tâm, giúp đỡ của quý thầy cô
và bạn bè Với lòng biết ơn sâu sắc và chân thành nhất, em xin gửi đến quý thầy
cô ở khoa Công nghệ thông tin – Trường Đại học Công nghiệp Hà Nội đã cùngvới tri thức và tâm huyết của mình để truyền đạt vốn kiến thức quý báu chochúng em trong suốt thời gian học tập tại trường
Đặc biệt hơn nữa, em xin chân thành cảm ơn ThS…………, vì lý do đại
dịch COVID-19 nên giữa cô và trò không có nhiều cơ hội gặp mặt trực tiếp đểtrao đổi và thảo luận về đề tài mà em nghiên cứu Thay vào đó, cô luôn tâmhuyết, tận tình hướng dẫn chúng em qua các buổi báo cáo trực tuyến Em cũngxin bày tỏ lòng biết ơn đến ban lãnh đạo của Trường Đại học Công nghiệp HàNội và các Khoa, Phòng ban chức năng đã trực tiếp và gián tiếp giúp đỡ emtrong suốt quá trình học tập và nghiên cứu đề tài này
Với điều kiện thời gian cũng như kinh nghiệm còn hạn chế của sinh viên,bài báo cáo này không thể tránh được những thiếu sót Em rất mong nhận được
sự chỉ bảo, đóng góp ý kiến của các quý thầy cô để em có điều kiện bổ sung,nâng cao ý thức của mình, phục vụ tốt hơn công tác thực tế sau này
Em xin chân thành cảm ơn!
Sinh viên thực hiện
Trang 3DANH MỤC HÌNH ẢNH
Hình 1.1: Cơ chế hoạt động của MVC 3
Hình 2.1: Logo của nhà sách Nhã Nam 6
Hình 3.1: Biểu đồ use case tổng quát 10
Hình 3.2: Biểu đồ phân rã Use case người dùng 11
Hình 3.3: Biểu đồ phân rã Use case giỏ hàng 11
Hình 3.4: Biểu đồ phân rã Use case đặt hàng 12
Hình 3.5: Biểu đồ phân rã Use case tìm kiếm sản phẩm 12
Hình 3.6: Biểu đồ phân rã Use case quản lý thông tin sản phẩm 13
Hình 3.7: Biểu đồ phân rã use case quản lý tài khoản 13
Hình 3.8: Biểu đồ phân rã use case quản lý thông tin bài viết 14
Hình 3.9: Biểu đồ phân rã use case cập nhật Banner 14
Hình 3.10: Biểu đồ phân rã use case Quản lý liên hệ 15
Hình 3.11: Biểu đồ tuần tự use case đăng nhập 27
Hình 3.12: Biểu đồ tuần tự use case xem sản phẩm 27
Hình 3.13: Biểu đồ tuần tự use case đăng ký 28
Hình 3.14: Biểu đồ tuần tự use case tìm kiếm sản phẩm 28
Hình 3.15: Biểu đồ trình tự xem danh mục sản phẩm 29
Hình 3.16: Biểu đồ trình tự xem bài viết 29
Hình 3.19: Biểu đồ thực thể liên kết 31
Hình 4.1: Màn hình thiết kế giao diện trang xem sản phẩm 40
Hình 4.2: Màn hình thiết kế giao diện trang quản lý sản phẩm 41
Hình 4.3: Màn hình thiết kế giao diện trang đăng ký 42
Hình 4.4: Màn hình thiết kế giao diện trang quản lý tài khoản 43
Hình 4.5: Màn hình thiết kế giao diện cho chức năng đặt hàng 44
Hình 4.6: Màn hình thiết kế giao diện trang quản lý bài viết 45
Hình 4.7: Màn hình giao diện trang chủ 47
Hình 4.8: Màn hình giao diện danh sách sản phẩm 47
Hình 4.9: Màn hình giao diện chi tiết sản phẩm 48
Trang 4Hình 4.10: Màn hình giao diện giỏ hàng 49
Hình 4.11: Màn hình giao diện thanh toán đặt hàng 49
Hình 4.12: Màn hình giao diện trang đăng nhập 50
Hình 4.13: Màn hình giao diện trang đăng ký 50
Hình 4.14: Giao diện đăng nhập của admin 52
Hình 4.15: Giao diện chính của trang chủ Admin 52
Hình 4.16: Giao diện quản lý khách hàng 53
Hình 4.17: Giao diện quản lý sản phẩm 55
Hình 4.18: Giao diện quản lý danh mục sản phẩm 56
Hình 4.19: Giao diện quản lý đơn hàng 57
Hình 4.20: Giao diện quản lý bài viết 59
Trang 5DANH MỤC BẢNG
Bảng 1: Bảng cơ sở dữ liệu danh mục sản phẩm 32
Bảng 2: Bảng cơ sở dữ liệu sản phẩm 33
Bảng 3: Bảng cơ sở dữ liệu bài viết 34
Bảng 4: Bảng cơ sở dữ liệu bài viết 35
Bảng 5: Bảng cơ sở dữ liệu Slider 35
Bảng 6: Bảng cơ sở dữ liệu đơn hàng 36
Bảng 7: Bảng cơ sở dữ liệu chi tiết đơn hàng 37
Bảng 8: Bảng cơ sở dữ liệu User 38
Bảng 9: Bảng cơ sở dữ liệu menu 38
Bảng 10: Bảng cơ sở dữ liệu khách hàng 39
Bảng 11: Bảng cơ sở dữ liệu Liên kết 39
Trang 6MỤC LỤC
LỜI CẢM ƠN i
DANH MỤC HÌNH ẢNH ii
DANH MỤC BẢNG iv
MỞ ĐẦU vii
1 Lý do chọn đề tài vii
2 Mục tiêu nghiên cứu viii
3 Nội dung nghiên cứu viii
4 Phạm vi nghiên cứu viii
5 Cấu trúc của báo cáo viii
Chương 1 Giới thiệu công cụ và ngôn ngữ lựa chọn 1
1.1 Giới thiệu về ASP.NET 1
1.2 Tổng quan mô hình MVC 2
1.3 Các Framework dùng trong Website 4
Chương 2 Khảo sát hệ thống 6
2.1 Khảo sát sơ bộ 6
2.1.1 Giới thiệu về chung về hệ thống 6
2.2 Khảo sát chi tiết 7
2.2.1 Hoạt động của hệ thống 7
2.2.2 Các yêu cầu chức năng 8
2.2.3 Các yêu cầu phi chức năng 9
Chương 3 PHÂN TÍCH HỆ THỐNG 10
3.1 Biểu đồ use case 10
3.1.1 Biểu đồ Uc tổng quát 10
3.1.2 Biểu đồ UC phân rã 11
3.2 Mô tả chi tiết các use case 16
3.2.1 Use case Đăng nhập 16
3.2.2 Use case Đăng ký 17
Trang 73.2.3 Use case Tìm kiếm 18
3.2.4 Use case Xem sản phẩm 18
3.2.5 Use case Liên hệ 19
3.2.6 Use case Đặt hàng 20
3.2.7 Use case Quản lý bài viết 21
3.2.8 Use case Quản lý sản phẩm 22
3.2.9 Use case Quản lý tài khoản 23
3.2.10 Use case Quản lý danh mục sản phẩm 25
3.3 Phân tích các use case 27
3.3.1 Biểu đồ trình tự 27
3.4 Thiết kế cơ sở dữ liệu 31
3.4.1 Biểu đồ thực thể liên kết 31
3.4.2 Mô tả vắn tắt các thực thế 31
3.4.3 Thiết kế bảng 32
Chương 4 Thiết kế giao diện và cài đặt chương trình 40
4.1 Thiết kế giao diện 40
4.1.1 Hình dung màn hình 40
4.2 Cài đặt chương trình 46
4.2.1 Giao diện phía khách hàng 46
4.2.2 Giao diện phía quản trị 51
KẾT LUẬN VÀ KIẾN NGHỊ 60
Nội dung đã đạt được 60
Hạn chế của đề tài 60
Hướng phát triển đề tài 61
Tài liệu tham khảo 62
Trang 8MỞ ĐẦU
1 Lý do chọn đề tài
Nghành công nghệ thông tin đang phát triển như vũ bão Các phần mềm,ứng dụng website lần lượt ra đời để phục vụ các quá trình quản lý, tính toán,thống kê… Vì thế có rất nhiều trang web, phần mềm quản lý đã ra đời Bán hàng
là một trong những khâu quan trọng trong chiến lược kinh doanh, có ý nghĩa đến
sự tồn tại và phát triển của cả cửa hàng Hiện nay, trong điều kiện kinh tế khốcliệt, các cửa hàng muốn bán được hàng ngoài việc tìm ra thị trường còn cần phải
có các chiến lược bán hàng hợp lý và linh động trong khâu bán hàng, đánh đúngvào tâm lý và nhu cầu của khách hàng Vì thế các cửa hàng, doanh nghiệp cần
có một hệ thống trang web quảng cáo cho cửa hàng cũng như sản phẩm của cửahàng một cách chân thực và hoàn chỉnh nhất
Sách là nguồn tri thức bất tận của nhân loại, là liều thuốc tinh thần khơinguồn cảm hứng cho con người, làm cho họ có những suy nghĩ tích cực hơn.Thế nhưng, giới trẻ hiện nay lại thờ ơ và làm mai một đi thói quen đọc sách tốtđẹp này Họ xem việc đọc sách là nỗi ám ảnh và không mấy thiện cảm với sách.Xuất phát từ chính bản thân, cũng như khảo sát từ mọi người xung quanh thìmột phần lý do dẫn đến việc lười đọc sách cũng vì tâm lý ngại đi xa, cảm thấytốn thời gian để mua được một cuốn sách, cũng như việc quảng bá sách trêninternet rất ít , những trang web về sách cũng không đẹp mắt, không gây thiệncảm
Chính vì thế em muốn xây dựng một “Website bán sách online” Việc cómột website tạo điều kiện thuận lợi cho người tiêu dùng sẽ dễ dàng tiếp cậnđược với các sản phẩm và dịch vụ của shop bán hàng mọi lúc mọi nơi Qua đó
sẽ giúp của hàng có thể quảng cáo hình ảnh, xây dựng được thương hiệu và uytín riêng cho mình Chủ cửa hàng có thể quản lý sản phẩm, loại sản phẩm và đơnhàng, thống kê báo cáo doanh thu một cách nhanh chóng, chính xác, giảm nhânlực, giảm chi phí và thời gian hơn rất nhiều Về mặt khách hàng, một shoponline sẽ giúp họ tiết kiệm thời gian mua sắm cũng như giúp “đặt chỗ” trước
Trang 9những sản phẩm mà họ yêu thích, không sợ bị mua trước hay hết hàng khi họkhông đến shop chủ động trong việc xem và đặt hàng.
2 Mục tiêu nghiên cứu
- Xây dựng kênh bán hàng cho công ty
- Phát triển thương hiệu cho công ty
- Phân tích, thiết kế, phát triển website bán sách trực tuyến đơn giản, thânthiện, dễ sử dụng, cho phép khách hàng xem thông tin và đặt hàng một cáchnhanh chóng và hiệu quả Giúp người quản trị quản lý các thông tin về sảnphẩm cũng như người dùng
3 Nội dung nghiên cứu
Để đạt được mục tiêu đề tài, cần thực hiện các nội dung nghiên cứu sau:
- Nghiên cứu mô hình trong lập trình website và sử dụng ngôn ngữ C#
- Khảo sát và đặc tả hệ thống
- Thiết kế hệ thống
- Lập trình cho các module của hệ thống
- Tích hợp hệ thống và kiểm tra lỗi
- Nguyên tắc thiết kế web
- Website dùng cho cửa hàng vừa và nhỏ
5 Cấu trúc của báo cáo
Ngoài phần mở đầu, kết luận và tài liệu tham khảo, báo cáo đồ án tốt nghiệpđược bố cục thành 4 chương chính như sau:
- Chương 1: Giới thiệu công cụ và ngôn ngữ lựa chọn
- Chương 2: Khảo sát hệ thống
- Chương 3: Phân tích hệ thống.
- Chương 4: Thiết kế giao diện và cài đặt chương trình.
Trang 111.1 Giới thiệu về ASP.NET
Lịch sử phát triển
Sau khi phát hành phiên bản Internet Information Service 4.0 vào năm
1997, hãng Microsoft bắt đầu nghiên cứu một mô hình ứng dụng web để giảiquyết những bất tiện của ASP, đặc biệt là việc tách riêng biệt phần thể hiện vàphần nội dung cũng như cách viết mã rõ ràng hơn Mark Anders, quản lý củanhóm IIS và Scott Guthrie, gia nhập Microsoft vào năm 1997 sau khi tốt nghiệpĐại học Duke, được giao nhiệm vụ định hình mô hình cần phát triển Nhữngthiết kế ban đầu được thực hiện trong vòng 2 tháng bởi Anders và Guthrie,Guthrie đã viết mã prototype đầu tiên trong khoảng thời gian nghỉ lễ Giáng sinhnăm 1997
Ưu điểm
- Code chạy bằng ngôn ngữ asp.net rất ổn định tiêu biểu là trang vnexpress.nettrang web tin tức online số 1 việt nam hiện nay, thời đầu vnexpress được xâydựng bằng ASP sau đó khi ASP.net ra đời được cập nhật lên, bên cạnh đódân trí cũng chạy bằng asp.net cũng rất ổn định
- Bảo mật tốt được thiết kế bằng ngôn ngữ lập trình hướng đối tượng và thừahưởng các điểm mạnh của JS giúp bảo mật cao hơn
- Có khả năng tùy biến cao
Trang 12- Có độ truy xuất dữ liệu nhanh nhờ sử dụng các đối tượng để truy xuất khôngnhững giúp bảo mật của ASP.net được đánh giá cao mà tốc độ xử lý, truyxuất dữ liệu của nó cũng được cải thiện một cách rõ rệt.
Nhược điểm
- Không hỗ trợ cho các thiết bị sử dụng hệ điều hành Linux
- Không hỗ trợ Visual studio trong quá trình viết code
- ASP.NET có phí sử dụng khá cao, không phù hợp sử dụng cho các doanhnghiệp nhỏ hay các cá nhân
1.2 Tổng quan mô hình MVC
MVC (Model – View - Controller) là một design partern đã tồn tại rất lâutrong ngành công nghệ phần mềm Một ứng dụng viết theo mô hình MVC sẽbao gồm 3 thành phần tách biệt nhau đó là Model, View, Controller Giống nhưtrong cấu trúc Three – Tier, mô hình MVC giúp tách biệt 3 tầng trong mô hìnhlập trình web, vì vậy giúp tối ưu ứng dụng, dễ dàng thêm mới và chỉnh sửa codehoặc giao diện
- Model: ở phần trước mình đã nhắc lại cho các bạn về 3 tầng trong mô hình
- Three – Tier thì trong đó gồm có 2 tầng Data Access Layer và tầng BusinessLogic Layer Hai tầng này là hai tầng tương đương với tầng model trong môhình MVC
- View: là tầng giao diện, hiển thị dữ liệu được truy xuất từ tầng model Tầngnày tương đương với tầng Presentation Layer trong cấu trúc Three – Tier
- Controller: đây là tầng giúp kết nối giữa tầng model và tầng view trong môhình MVC, có nghĩa là nếu phía client yêu cầu hiển thị dữ liệu thì controllergọi giữ liệu từ model và trả về cho view vì view tương tác trực tiếp với client
Trang 13 Các phiên bản của MVC
Hình 1.1: Cơ chế hoạt động của MVC
- User gửi 1 yêu cầu tới server bằng cách truyền vào 1 URL trong browser
- Yêu cầu đó được gửi tới controller đầu tiên, controller sẽ xử lý yêu cầu, nếuyêu cầu cần truy xuất dữ liệu thì controller sẽ chuyển qua tầng model
- Tại tầng model, dữ liệu được truy xuất từ database và sau đó truyền quaview thông qua controller
- Controller sẽ giúp dữ liệu được chuyển từ model qua view
- View là tầng cuối cùng giao tiếp với User, mọi dữ liệu sẽ được hiển thị choUser thông qua tầng View
- Thể hiện tính chuyên nghiệp trong lập trình, phân tích thiết kế
- Do được chia thành các thành phần độc lập nên giúp chúng phát triển ứng dụng nhanh, đơn giản, dễ nâng cấp, bảo trì, …
- Đối với dự án nhỏ việc áp dụng mô hình MVC gây cồng kềnh
- Tốn thời gian trong quá trình phát triển
- Tốn thời gian trung chuyển dữ liệu của các thành phần
Trang 141.3 Các Framework dùng trong Website
dữ liệu với ít mã hơn so với các ứng dụng truyền thống
- Truy vấn: EF cho phép chúng tôi sử dụng các truy vấn LINQ (C # /VB.NET) để truy xuất dữ liệu từ cơ sở dữ liệu cơ bản Nhà cung cấp cơ sở
dữ liệu sẽ dịch các truy vấn LINQ này sang ngôn ngữ truy vấn dành riêngcho cơ sở dữ liệu (ví dụ: SQL cho cơ sở dữ liệu quan hệ) EF cũng cho phépchúng tôi thực hiện các truy vấn SQL thô trực tiếp đến cơ sở dữ liệu
- Theo dõi thay đổi: EF theo dõi các thay đổi xảy ra đối với các phiên bản củacác thực thể của bạn (Giá trị thuộc tính) cần được gửi đến cơ sở dữ liệu
- Lưu: EF thực thi các lệnh INSERT, UPDATE và DELETE vào cơ sở dữ liệudựa trên những thay đổi xảy ra với các thực thể của bạn khi bạn gọi phươngthức SaveChanges () EF cũng cung cấp phương thức SaveChangesAsync ()không đồng bộ Đồng thời: EF sử dụng Đồng thời lạc quan theo mặc định đểbảo vệ các thay đổi ghi đè do người dùng khác thực hiện do dữ liệu được lấy
từ cơ sở dữ liệu
Trang 15- Giao dịch: EF thực hiện quản lý giao dịch tự động trong khi truy vấn hoặclưu dữ liệu Nó cũng cung cấp các tùy chọn để tùy chỉnh quản lý giao dịch.
- Bộ nhớ đệm: EF bao gồm cấp bộ nhớ đệm đầu tiên ra khỏi hộp Vì vậy, truyvấn lặp đi lặp lại sẽ trả về dữ liệu từ bộ đệm thay vì nhấn cơ sở dữ liệu
- Các quy ước tích hợp: EF tuân theo các quy ước về mẫu lập trình cấu hình
và bao gồm một bộ quy tắc mặc định tự động định cấu hình mô hình EF
- Cấu hình: EF cho phép chúng tôi định cấu hình mô hình EF bằng cách sửdụng các thuộc tính chú thích dữ liệu hoặc API Fluent để ghi đè các quy ướcmặc định
- Di chuyển: EF cung cấp một tập hợp các lệnh di chuyển có thể được thực thitrên Bảng điều khiển Trình quản lý gói NuGet hoặc Giao diện dòng lệnh đểtạo hoặc quản lý Lược đồ cơ sở dữ liệu cơ bản
Trang 16CHƯƠNG 2 KHẢO SÁT HỆ THỐNG 2.1 Khảo sát sơ bộ
2.1.1 Giới thiệu về chung về hệ thống
Công ty Cổ phần Văn hóa và Truyền thông Nhã Nam, thường gọi tắt
là Nhã Nam là doanh nghiệp hoạt động trong lĩnh vực kinh doanh dịch vụ vănhóa và xuất bản phẩm tại Việt Nam
Công ty được thành lập vào năm 2005 với một nhóm nòng cốt say mê vănchương, sách vở, cuốn sách best-seller đầu tiên là Nhật ký Đặng Thùy Trâm,tiêu thụ 500.000 bản ngay trong năm đầu tiên Cuốn sách đã tạo nên một cúhuých cực mạnh đưa cái tên Nhã Nam đến với nhiều độc giả hơn, đánh dấu thời
kỳ chuyển mình của thương hiệu này
Nhã Nam là một trong những công ty cổ phần làm về xuất bản Bắt đầu từviệc tập trung vào ba mảng sách: Văn - Sử - Triết, Nhã Nam đã dần mở rộngsang nhiều thể loại khác: sách thiếu nhi, sách kinh doanh, sách kỹ năng - thamkhảo v.v Các đầu sách bao gồm cả mảng hư cấu và phi hư cấu, sách trong nước
và sách dịch
Hình 2.2: Logo của nhà sách Nhã Nam
Xây dựng một hệ thống bán sách trực tuyến đơn giản, thân thiện, dễ sửdụng, cho phép khách hàng xem thông tin và đặt hàng qua mạng, người quản trịquản lý các thông tin về sản phẩm cũng như người dùng
Trang 172.2 Khảo sát chi tiết
- Khách hàng có thể liên hệ trực tiếp tới nhân viên của công ty để trao đổi, tưvấn
- Có thể cho tổ chức lưu trữ, cập nhật thông tin tin tức, thông tin các chươngtrình của công ty
- Cho phép lưu trữ, cập nhật thông tin về sản phẩm, chi tiết sản phẩm
- Cho phép cập nhật thông tin của khách hàng đặt hàng
- Cho phép lưu trữ, cập nhật thông tin đặt hàng, đơn hàng
- Cho phép người quản trị và nhân viên quản lý thực hiện dễ dàng các nghiệp
vụ có liên quan
- Vào website và chọn sản phẩm để xem các mặt hàng mà cửa hàng cung cấp,
có thể đăng kí tài khoản để thực hiện mua hàng trực tuyến
- Có thể xem thông tin về cửa hàng, địa chỉ liên hệ, chính sách bảo mật,hướng dẫn đặt hàng
Trang 18- Quản lý sản phẩm: Hiển thị danh sách sản phẩm hiện có của cửa hàng, thêmnhững sản phẩm mới, cập nhật lại thông tin của những sản phẩm cũ và xóasản phẩm.
- Quản lý tất cả tài khoản: Chủ cửa hàng có thể phân quyền cho các nhân viên,thêm tài khoản nhân viên Thực hiện vô hiệu hóa, kích hoạt tài khoản nhânviên và khách hàng
- Quản lý liên hệ: Các liên hệ được gửi từ phía khách hàng
- Quản lý bài viết và chủ đề bài viết: Cập nhật các bài viết, tin tức
Khách hàng:
- Tìm kiếm sản phẩm: Khách hàng khi truy cập vào trang web có thể thựchiện tìm kiếm sản phẩm theo các tiêu chí: Tên sản phẩm, danh mục sảnphẩm
- Xem sản phẩm: Khách hàng có thể xem thông tin chi tiết về sản phẩm khiclick chọn sản phẩm đó
- Quản lý giỏ hàng: Khách hàng có thể thực hiện thêm sản phẩm vào giỏ hàng,xóa sản phẩm khỏi giỏ hàng
- Đặt hàng: Khách hàng có thể thực hiện đặt hàng Thông tin đặt hàng baogồm họ tên người nhận, số điện thoại, địa chỉ, email, tên sản phẩm và sốlượng và giá tiền sản phẩm khách hàng muốn đặt
- Theo dõi đơn hàng: Khách hàng có thể theo dõi tình trạng đơn hàng sau khithực hiện đặt hàng
- Liên hệ: Khách hàng có thể gửi thông tin phản hồi về cho cửa hàng trongmục liên hệ
- Đăng ký: Khách hàng có thể thực hiện đăng ký Khi đăng ký khách hàngphải điền các thông tin cơ bản như tên họ tên, tên đăng nhập, email, số điệnthoại, mật khẩu
- Đăng nhập: Khách hàng có thể đăng nhập vào hệ thống bằng cách nhậpđúng thông tin tên đăng nhập và mật khẩu
Trang 192.2.2 Các yêu cầu chức năng
Chức năng của người dùng:
- Xem các danh mục sản phẩm
- Tìm kiếm sản phẩm theo từng phân loại sản phẩm
- Xem chi tiết sản phẩm
- Thêm sản phẩm vào giỏ hàng
- Cập nhật giỏ hàng
- Theo dõi tình trạng đơn hàng
- Mua, đặt hàng trực tuyến
- Đăng ký, đăng nhập tài khoản
- Liên hệ: gửi thông tin phản hồi cho cửa hàng
Chức năng của Admin:
- Quản lý sản phẩm :Thêm, sửa, xóa, tìm kiếm sản phẩm
- Quản lý khách hàng: Thêm, sửa, xóa, tìm kiếm khách hàng
- Quản lý danh mục sản phẩm: Thêm, sửa, xóa, tìm kiếm danh mục sảnphẩm
- Quản lý đơn hàng: Thêm, sửa, xóa, tìm kiếm đơn hàng
- Quản lý liên hệ: Thực hiện phản hồi hoặc xóa liên hệ
- Quản lý bài viết: Thêm, sửa, xóa, tìm kiếm bài viết
- Quản lý Slider: Thêm, sửa, xóa, tìm kiếm Slider
2.2.3 Các yêu cầu phi chức năng
- Giới thiệu hình ảnh của cửa hàng đến với mọi người
- Giao diện thân thiện, dễ sử dụng
- Mua bán sản phẩm trực tiếp trên website
- Tìm kiếm thông tin sản phẩm, thông tin khách hàng, thông tin nhà cung cấpnhanh chóng, dễ dàng
- Thống kê bán hàng, nhập hàng, doanh thu, sản phẩm bán chạy nhất một cáchnhanh chóng, chính xác
- Cập nhật những mẫu sách mới nhất đến với khách hàng nhanh chóng
Trang 20- An toàn thông tin: Bảo mật, toàn vẹn, xác thực.
Trang 213.1.2 Biểu đồ UC phân rã
Hình 3.4: Biểu đồ phân rã Use case người dùng
Hình 3.5: Biểu đồ phân rã Use case giỏ hàng
Trang 22Hình 3.6: Biểu đồ phân rã Use case đặt hàng
Hình 3.7: Biểu đồ phân rã Use case tìm kiếm sản phẩm
Trang 23Hình 3.8: Biểu đồ phân rã Use case quản lý thông tin sản phẩm
Hình 3.9: Biểu đồ phân rã use case quản lý tài khoản
Trang 24Hình 3.10: Biểu đồ phân rã use case quản lý thông tin bài viết
Hình 3.11: Biểu đồ phân rã use case cập nhật Banner
Trang 25Hình 3.12: Biểu đồ phân rã use case Quản lý liên hệ
Trang 263.2 Mô tả chi tiết các use case
3.2.1 Use case Đăng nhập
Use case này cho phép người dùng đăng nhập vào hệ thống để thực hiện cácchức năng của mình
Luồng sự kiện:
o Luồng cơ bản:
1 Use case này bắt đầu ngay khi người dùng click vào chức năng
“Đăng nhập” trên menu, hệ thống sẽ hiển thị ra màn hình đăngnhập
2 Người dùng nhập đầy đủ thông tin đăng nhập bao gồm tàikhoản và mật khẩu
3 Hệ thống kiểm tra thông tin đã hợp lệ hay chưa Tra bảng Usertrên CSDL Cho phép người dùng đăng nhập, hiển thị màn hìnhchính, use case kết thúc
o Luồng rẽ nhánh:
1 Tại bước 3 trong luồng cơ bản, nếu người dùng nhập thông tinkhông hợp lệ, hệ thống sẽ hiển thị thông báo “Không tồn tại tàikhoản”, ngược lại use case sẽ tiếp tục
2 Không kết nối được cơ sở dữ liệu tại bất kì thời điểm nào trongquá trình thực hiện use case thì hệ thống sẽ hiển thị báo “Lỗi kếtnối” và use case kết thúc
Các yêu cầu đặc biệt
Không có
Tiền điều kiện
Người dùng đã có tài khoản đăng nhập
Hậu điều kiện
Nếu use case thành công thì hiển thị màn hình chính Nếu không trạngthái của hệ thống không thay đổi
Điểm mở rộng
Không có
Trang 273.2.2 Use case Đăng ký
Use case này cho phép người dùng có thể tạo tài khoản để có tài khoản đăngnhập vào hệ thống
Luồng sự kiện:
o Luồng cơ bản:
1 Use case này bắt đầu ngay khi người dùng click vào chức năng
“Đăng ký” trên menu, hệ thống sẽ hiển thị ra màn hình đăng kýtài khoản
2 Người dùng nhập đầy đủ thông tin đăng ký và nhấn vào đăngký
3 Hệ thống kiểm tra thông tin đăng ký và xác nhận thông tin hợp
2 Không kết nối được cơ sở dữ liệu tại bất kì thời điểm nào trongquá trình thực hiện use case thì hệ thống sẽ hiển thị báo “Lỗi kếtnối” và use case kết thúc
Các yêu cầu đặc biệt
Không có
Tiền điều kiện
Không có
Hậu điều kiện
Đăng ký thành viên thành công, đăng nhập vào hệ thống
Điểm mở rộng
Không có
Trang 283.2.3 Use case Tìm kiếm
Use case này cho phép người dùng có thể tìm kiếm được sản phẩm theo nhu cầumột cách nhanh chóng và hiệu quả
Các yêu cầu đặc biệt
Trang 293.2.4 Use case Xem sản phẩm
Use case này cho phép khách hàng xem chi tiết một sản phẩm nằm trongdanh mục các sản phẩm đan-g được bán tại cửa hàng
số kỹ thuật, bảo hành, các sản phẩm liên quan và các sảnphẩm đã xem Use case kết thúc
o Luồng rẽ nhánh :
1 Tại bất kì thời điểm nào trong quá trình thực hiện use case,nếu không kết nối được với CSDL thì hệ thống sẽ hiển thịmột bảng báo lỗi và use case kết thúc
Các yêu cầu đặc biệt : Không có
Tiền điều kiện : Không có
Hậu điều kiện :
- Nếu kết nối mạng ổn định thì hệ thống sẽ hiển thị thông tin sản phẩm
- Ngược lại hệ thống không thay đổi
Điểm mở rộng : Mua hàng
3.2.5 Use case Liên hệ
Use case này cho phép người dùng gửi các thắc mắc, yêu cầu lên cho cửa hàng
Luồng sự kiện:
o Luồng cơ bản:
1 Use case này bắt đầu ngay khi người dùng click vào chức năng
“Liên hệ” trên màn hình chính, hệ thống sẽ hiển thị ra màn hìnhthông tin liên hệ
Trang 302 Người dùng nhập đầy đủ thông tin vào form liên hệ như họ tên,email, số điện thoại, tiêu đề, nội dung liên hệ Sau đó bấm vàonút gửi cho chúng tôi
3 Hệ thống kiểm tra thông tin đã hợp lệ hay chưa Tra bảngContact trên CSDL Cho phép người dùng gửi liên hệ, hiển thịmàn hình chính, use case kết thúc
o Luồng rẽ nhánh:
1 Không kết nối được cơ sở dữ liệu tại bất kì thời điểm nào trongquá trình thực hiện use case thì hệ thống sẽ hiển thị báo “Lỗi kếtnối” và use case kết thúc
Các yêu cầu đặc biệt
Trang 312 Tại bất kì thời điểm nào trong quá trình thực hiện, use case khôngkết nối được với CSDL thì hệ thống hiển thị thông báo lỗi Use casekết thúc.
Các yêu cầu đặc biệt:
Khách hàng không thể đặt quá số lượng sản phẩm trong kho Nếu đặt quá sẽ đưa
ra thông báo
Tiền điều kiện:
Khách hàng phải đăng nhập tài khoản
Hậu điều kiện:
Không có
Điểm mở rộng:
Không có
3.2.7 Use case Quản lý bài viết
Use case này cho phép người quản trị cập nhật của website
• Luồng sự kiện:
o Luồng cơ bản:
1 Use case này bắt đầu ngay khi người dùng chọn vào chức năng
“Quản lý bài viết”, hệ thống sẽ hiển thị ra danh sách các bàiviết
2 Hệ thống yêu cầu admin chọn chức năng cần thực hiện ví dụnhư thêm, sửa hoặc xóa bài viết
3 Hệ thống kiểm tra thông tin đã hợp lệ hay chưa Tra bảng Posttrên CSDL Cho phép admin thêm sửa xóa bài viết và hiển thịbài viết đã được update trên màn hình chính của hệ thống, usecase kết thúc
Trang 32sung đầy đủ thông tin hoặc hủy bỏ thao tác, use case kếtthúc
2 Không kết nối được cơ sở dữ liệu tại bất kì thời điểm nàotrong quá trình thực hiện use case thì hệ thống sẽ hiển thịbáo “Lỗi kết nối” và use case kết thúc
Các yêu cầu đặc biệt
Không có
Tiền điều kiện
Người quản trị phải đăng nhập vào hệ thống để thực hiện chức năng
Hậu điều kiện
Bài viết sẽ được cập nhật vào cơ sở dữ liệu và hiển thị trên hệ thống.Ngược lại hệ thống không thay đổi
Điểm mở rộng
Không có
3.2.8 Use case Quản lý sản phẩm
Mô tả vắn tắt: Use case này cho phép người quản trị quản lí, thêm, sửa, xóa,update thông tin sản phẩm trong bảng Product trong CSDL
Luồng sự kiện:
o Luồng cơ bản:
Use case này bắt đầu khi người quản trị kích vào “Quản lý sản phẩm”trong menu quản trị Hệ thống sẽ truy vấn bảng Product và hiển thị danhsách các sản phẩm
1 Thêm sản phẩm
a) Người quản trị kích vào nút “Thêm sản phẩm” trên màn hình Hệthống sẽ hiển thị màn hình yêu cầu nhập thông tin cho sản phẩmmới
b) Khi người quản trị nhập thông tin chi tiết vào biểu mẫu bên dướimàn hình và kích vào nút “Lưu” Hệ thống sẽ kiểm tra dữ liệu nhập
vào và lưu thông tin sản phẩm mới vào bảng Product.
2 Sửa sản phẩm
Trang 33a) Khi người quản trị click vào nút “Sửa” thông tin sản phẩm tươngứng với nút đó sẽ được hiển thị lên màn hình.
c) Người quản trị thay đổi thông tin và kích vào nút “Lưu” Hệ thống
sẽ kiểm tra thông tin thay đổi và cập nhật vào bảng Product.
3 Xóa sản phẩm
Khi người dùng click chuột vào nút “Xóa” trên một hàng sản phẩm, hệthống sẽ gửi yêu cầu xác thực có muốn xóa sản phẩm tương ứngkhông Click “Đồng ý” để xóa sản phẩm tương ứng
o Luồng rẽ nhánh:
1 Tại bước 2b và 3b trong luồng cơ bản nếu người quản trị không nhậpthông tin hoặc nhập thông tin không hợp lệ, hệ thống sẽ hiển thịthông báo lỗi yêu cầu nhập lại Người quản trị sẽ nhập lại để tiếp tục
2 Tại bước 2b, 3b trong luồng cơ bản nếu người quản trị bấm nút
“Hủy” thì use case sẽ kết thúc
3 Trong kết nối được cơ sở dữ liệu: Tại bất kì thời điểm nào trong quátrình thực hiện use case Nếu không kết nối được với cơ sở dữ liệuthì hệ thống sẽ hiển thị một thông báo lỗi và use case kết thúc
Các yêu cầu đặc biệt:
Không có
Tiền điều kiện:
Admin phải đăng nhập tài khoản trước khi thực hiên use case
Hậu điều kiện:
Không có
Điểm mở rộng:
Không có
3.2.9 Use case Quản lý tài khoản
Mô tả vắn tắt: Use case này cho phép người quản trị quản lí, thêm, sửa, xóathông tin khách hàng trong bảng Contact trong CSDL
Luồng sự kiện:
Trang 34o Luồng cơ bản:
Use case này bắt đầu khi người quản trị kích vào “Quản lý tài khoản” trongmenu quản trị Hệ thống sẽ truy vấn bảng Contact và hiển thị danh sách cácsản phẩm
1 Thêm tài khoản
a) Người quản trị kích vào nút “Thêm mới” trong cửa sổ danh sáchcác danh mục Hệ thống sẽ hiển thị màn hình yêu cầu nhập thôngtin cho khách hàng mới
b) Khi người quản trị nhập thông tin chi tiết vào biểu mẫu bên dướimàn hình và kích vào nút “Lưu” Hệ thống sẽ kiểm tra dữ liệu nhậpvào, tạo một khách hàng mới vào bảng Contact
2 Sửa tài khoản
a) Khi người quản trị click vào nút “Sửa” thông tin khách hàng tươngứng với nút đó sẽ được hiển thị lên màn hình
b) Người quản trị thay đổi thông tin khách hàng sau đó click “Lưu”
để cập nhật lại thông tin tài khoản khách hàng
3 Xóa tài khoản
Khi người quản trị kích vào nút “Xóa” ở trên 1 dòng thông tin về danh
mục Hệ thống sẽ gửi yêu cầu xác thực tài xóa tài khoản Click “Đồngý” để xác nhận xóa
o Luồng rẽ nhánh:
a) Tại bước 2b và 3b trong luồng cơ bản nếu người quản trị không nhậpthông tin hoặc nhập thông tin không hợp lệ, hệ thống sẽ hiển thị thôngbáo lỗi yêu cầu nhập lại Người quản trị sẽ nhập lại để tiếp tục
b) Tại bước 2b và 3b trong luồng cơ bản nếu người quản trị bấm nút “Hủy”thì use case sẽ kết thúc
c) Trong kết nối được cơ sở dữ liệu: Tại bất kì thời điểm nào trong quátrình thực hiện use case Nếu không kết nối được với cơ sở dữ liệu thì
hệ thống sẽ hiển thị một thông báo lỗi và use case kết thúc
Các yêu cầu đặc biệt:
Trang 35Không có.
Tiền điều kiện:
Admin phải đăng nhập tài khoản trước khi thực hiên use case
Hậu điều kiện:
Không có
Điểm mở rộng:
Không có
3.2.10 Use case Quản lý danh mục sản phẩm
Mô tả vắn tắt: Use case này cho phép người quản trị quản lý các danh mục sảnphẩm của cửa hàng
Luồng sự kiện:
o Luồng cơ bản:
Use case này bắt đầu khi người quản trị kích vào “Quản lý danh mục sảnphẩm” trong menu quản trị Hệ thống sẽ truy vấn bảng Category và hiển thịdanh sách các danh mục sản phẩm
1 Thêm danh mục sản phẩm
a) Người quản trị kích vào nút “Thêm mới” trên màn hình, hệ thống
sẽ hiển thị form nhập liệu thông tin cho danh mục sản phẩm mới b) Click “Lưu” để thêm mới một loại sản phẩm Hệ thống sẽ kiểm tra
dữ liệu nhập vào và lưu vào bảng Category
Khi người quản trị kích vào nút “Xóa” ở trên 1 dòng thông tin về danh
mục Hệ thống sẽ gửi yêu cầu xác thực tài xóa tài khoản Click “Đồngý” để xác nhận xóa