1. Trang chủ
  2. » Luận Văn - Báo Cáo

XÂY DỰNG WEBSITE QUẢN LÍ HỆ THỐNG QUÁN CÀ PHÊ

74 13 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Xây Dựng Website Quản Lí Hệ Thống Quán Cà Phê
Tác giả Đoàn Ngọc Tân
Người hướng dẫn TS. Nguyễn Đình Lầu
Trường học Đại học Đà Nẵng
Chuyên ngành Công nghệ thông tin
Thể loại khóa luận tốt nghiệp
Năm xuất bản 2020 - 2021
Thành phố Đà Nẵng
Định dạng
Số trang 74
Dung lượng 2,2 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Xuất phát từ các nhu cầu thực tiễn trên, em đã quyết định “Xây dựng trang web quản lí hệ thống quán cà phê ” nhằm tạo ra hệ thống quản lý bán hàng mang tính thiết thực và ứng dụng vào th

Trang 1

ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC SƯ PHẠM

KHOA TIN HỌC

KHÓA LUẬN TỐT NGHIỆP

ĐỀ TÀI XÂY DỰNG WEBSITE QUẢN LÍ HỆ THỐNG QUÁN CÀ PHÊ

Giảng viên hướng dẫn : TS NGUYỄN ĐÌNH LẦU Sinh viên thực hiện : Đoàn Ngọc Tân

Đà Nẵng, tháng 4 năm 2021

Trang 2

LỜI GIỚI THIỆU MỞ ĐẦU

Cùng với sự phát triển của internet, con người dần biết đến khái niệm thương mại điện tử Thương mại điện tử nó dần có mặt hầu hết các lĩnh vực kinh doanh và thể hiện rõ tầm quan trọng của mình Trước đây, khi mà chúng

ta muốn mua một chiếc quần hay cái áo đều phải tới các cửa hàng quần áo hay trung tâm mua sắm… Nhưng khi internet phát triển chúng ta có thể thực hiện việc mua sắm các mặt hàng thời trang ở bất cứ đâu và bất cứ khi nào chúng ta muốn Khi đó con người đã thực sự nhận thấy được sự quan trọng của thương mại điện tử Một loại website ra đời để phục vụ nhu cầu con người và lợi nhuận nó thu về đã chứng minh cho sự thành công của việc ứng dụng internet vào hoạt động sản xuất kinh doanh Do đó, ngày nay có rất nhiều doanh nghiệp, hộ kinh doanh ứng dụng thương mại điện tử vào công việc kinh doanh của mình

Sự thuận lợi nhanh chóng của các website đã thu hút sự quan tâm của nhiều người Và các cửa hàng kinh doanh mặt hàng thời trang cũng không ngoại lệ Một địa chỉ website riêng với đầy đủ các mặt hàng mà cửa hàng mình đang kinh doanh cộng với việc có một giao diện đẹp mắt độc đáo và dễ dàng sử dụng luôn là một sự lựa chọn hàng đầu cho các cửa hàng thời trang Xuất phát từ các nhu cầu thực tiễn trên, em đã quyết định “Xây dựng trang web quản lí hệ thống quán cà phê ” nhằm tạo ra hệ thống quản lý bán hàng mang tính thiết thực và ứng dụng vào thực tế Hệ Thống giúp việc kinh doanh quán cà phê trở nên độc đáo khi sử dụng buôn bán oline và giúp nhân viên tiết kiệm được thời gian hơn Hệ thống cho phép, của hàng triển khai thông tin các mặt hàng thức uống đang kinh doanh lên website, đồng thời khách hàng tương tác với hệ thống thông qua giao diện website để tìm kiếm những mặt hàng đồ ăn , thưc uống mà mình mong muốn và đặt hàng để mua chúng

Trang 3

tế để tìm hiểu và học hỏi nhiều hơn

Tiếp đến, chúng em xin cảm ơn thầy Nguyễn Đình Lầu – giảng viên trực tiếp hướng dẫn đề tài, đã nhiệt tình giảng dạy, chỉ bảo và đề xuất hướng giải quyết khi chúng em gặp khó khăn cũng như tạo mọi điều kiện thuận lợi giúp chúng em hoàn thành dự án này

Với những hạn chế về mặt kinh nghiệm thực tế cũng như thời gian còn hạn chế, nên sự nhìn nhận là không thể tránh khỏi những sai sót Rất mong nhận được sự đóng góp ý kiến của thầy cô để bài báo cáo thực tập của em được hoàn thiện hơn

Em xin chân thành cảm ơn!

(Ký và ghi rõ họ tên)

Trang 4

2

NHẬN XÉT CỦA GIẢNG VIÊN

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

Giảng viên hướng dẫn ký (ghi rõ họ tên)

Trang 5

3

NHẬN XÉT CỦA HỘI ĐỒNG PHẢN BIỆN

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

HĐ phản biện ký (ghi rõ họ tên)

Trang 6

4

MỤC LỤC

LỜI GIỚI THIỆU MỞ ĐẦU 0

LỜI CẢM ƠN 1

NHẬN XÉT CỦA GIẢNG VIÊN 2

NHẬN XÉT CỦA HỘI ĐỒNG PHẢN BIỆN 3

DANH MỤC HÌNH ẢNH 6

DANH MỤC BẢNG 7

CHƯƠNG 1 : MỞ ĐẦU 8

1 Giới thiệu đề tài 8

1.1 Giới thiệu 8

1.2 Mô tả dự án 8

2 Khảo sát yêu cầu 9

2.1 Yêu cầu thiết bị và phần mềm 9

2.2 Yêu cầu về trang Web 9

CHƯƠNG 2 : CƠ SỞ LÍ THUYẾT VÀ THỰC TIỄN 11

1 Môi trường- Apache: 11

2 Giao diện - Front End: 12

2.1 HTML (Hypertext Markup Language): 12

2.2 CSS&Bootstrap: 12

3 Máy chủ - Back End: 13

3.1 Spring MVC Frameworks và jsp-servlet trong JAVA web : 13

3.2 Cơ sở dữ liệu MariaDB mysql 19

CHƯƠNG 3 : PHÂN TÍCH THIẾT KẾ HỆ THỐNG 23

1 Phân tích hiện trạng 23

1.1 Điểm mạnh 23

1.2 Điểm yếu 23

1.3 Cơ hội 23

1.4 Thách thức 23

2 Thiết kế hệ thống 24

2.1 Mô hình hệ thống 24

2.2 Công nghệ 26

Trang 7

5

2.3 Sơ đồ Use Case diagram 26

2.4 Sơ đồ ERD (Thực thể quan hệ ) 48

2.5 Sơ đồ trình tự 49

3 Thực hiện dự án 52

3.1 Tổ chức dự án 52

3.2 Thư viện 52

4 Công cụ hỗ trợ 53

4.1 Docker 53

4.2 Boostrap 56

4.3 Github 58

CHƯƠNG IV : TRIỂN KHAI XÂY DỰNG WEBSITE 61

1 Xây dựng website: 61

1.1 Giao diện người dùng - Front End: 61

1.2 Giao diện quản trị: 64

1.3Back End & Cơ sở dữ liệu: 67

2 Hướng dẫn sử dụng phần mềm 69

TỔNG KẾT ĐÁNH GIÁ VÀ HƯỚNG PHÁT TRIỂN 70

1 Hệ thống làm được: 70

2 Hệ thống chưa làm được: 70

3 Hướng phát triển: 70

4 Tổng kết: 71

5 Tư liệu tham khảo: 72

Trang 8

6

DANH MỤC HÌNH ẢNH

Hình 1 : Mô hình website thương mại điện tử 10

Hình 2 : Mô hình hoạt động trang web 14

Hình 3 : Vai trò của Servlet 16

Hình 4 : Cơ sở dữ liệu MariaDB 20

Hình 5 Thao tác dữ liệu MSQL mariaDB 22

Hình 6 : Mô hình hệ thống khách hàng 24

Hình 7 : Mô hình hệ thống admin 25

Hình 8 UC Tổng quan 27

Hình 9 UC Users 29

Hình 10 : UC Product 32

Hình 11 UC Information Customer 35

Hình 12 Uc information product 37

Hình 13 UC Cart 38

Hình 14 UC Order 40

Hình 15 : UC Category 41

Hình 16 UC Statistics 45

Hình 17 : UC Login 46

Hình 18 : Sơ đồ ERD 48

Hình 19 : Sơ đồ trình tự đăng nhập hệ thống 49

Hình 20 : Sơ đồ trình tự đăng kí hệ thống 50

Hình 21 : Sơ đồ trình tự mua hàng 51

Hình 22 : Tổ chức dự án 52

Hình 23 Kiến trúc Docker 53

Hình 24 dockercommandline 55

Hình 25 : Giao diện trang github 60

Hình 26 : Công nghệ front_end 61

Hình 27 : Trang chủ 62

Hình 28 : Trang đăng nhập, đăng kí 63

Hình 29 : Trang liên hệ 64

Hình 30 : Tra chủ quản trị viên 65

Hình 31 : Trang quản lí người dùng 65

Hình 32 : Trang quản lí sản phẩm 66

Hình 33 : Trang Quản lí Giỏ hàng 66

Trang 9

7

DANH MỤC BẢNG

Bảng 1 : Bảng Uc List Users 30

Bảng 2 : Bảng Uc Search Users 30

Bảng 3 : Uc View Detail Users 31

Bảng 4 : Uc Add New Users 31

Bảng 5 : Uc Edit Users 31

Bảng 6 : Uc Delete Users 32

Bảng 7 : Uc Update Product 33

Bảng 8 : Uc Insert Product 33

Bảng 9 : Uc Delete Product 33

Bảng 10 : Uc Information Product 34

Bảng 11 : Uc Search Product 34

Bảng 12 : Uc Edit Information 36

Bảng 13 : Uc View Order 36

Bảng 14 : Uc View Information 36

Bảng 15 : UP to cart 37

Bảng 16 : Uc Payment To Customer 38

Bảng 17 : Uc View Cart 39

Bảng 18 : Uc Remove Product From Cart 39

Bảng 19 : Uc Purchase Cart 39

Bảng 20 : Uc Edit Order (Cancel Order) 40

Bảng 21 : Uc Edit Order 41

Bảng 22 : Uc Search Category 42

Bảng 23 : Uc Add New Category 42

Bảng 24 : Uc Edit Category 43

Bảng 25 : Uc Delete Category 43

Bảng 26 : Uc View Detail Category 44

Bảng 27 : Uc List Category 44

Bảng 28 : Filter By Month 45

Bảng 29 : Filter By Year 46

Bảng 30 : login 47

Bảng 31 : Uc Logout 47

Bảng 32 : Registration 48

Trang 10

Để không bị lạc hậu so với các đối thủ cạnh trang cũng như nhằm tăng năng suất kinh doanh Việc đưa Coffee House lên thị trường thương mại điện

tử là một điều tất yếu

Chính vì lẽ đó mà tôi muốn tạo ra một sản phẩm với giao diện được thiết kế đẹp mắt dễ nhìn, chủ cửa hàng có thể quản lý và rao bán tất cả các sản phẩm mình có, khách hàng có thể dễ dàng tìm kiếm và chọn mua các món đồ thời trang mà mình cần mà không cần phải trực tiếp tới cửa hàng

1.2 Mô tả dự án

a Tóm tắt hệ thống

Dịch vụ website sẽ mang lại cho khách hàng đầy đủ các thông tin về sản phẩm mà cửa hàng đang kinh doanh như tên sản phẩm, hình ảnh, giá thành cũng như dịch vụ khuyến mãi giảm giá Đồng thời khách hàng có thể thực hiện việc đặt mua sản phẩm ngay trên website thanh toán và nhận hàng ngay trong ngày

Về phía Coffee House, chủ cửa hàng sẽ dễ dàng tiếp nhận các đơn hàng

và xử lý chúng ngay trên website Bên cạnh đó, các thông tin về nhân viên, thông tin chi tiết về sản phẩm, doanh thu đều được quản lý ngay tại trang quản trị

Trang 11

2 Khảo sát yêu cầu

2.1 Yêu cầu thiết bị và phần mềm

- Một máy làm web server

- Hệ điều hành Window 7 trở lên

- Hệ cơ sở dữ liệu dùng là MariaDB MySQL

2.2 Yêu cầu về trang Web

a Phần dành cho khách hàng

Khách hàng là những người có nhu cầu mua sắm các sản phầm hiện đang có tại cửa hàng và đặt hàng trực tiếp trên trang web Do đó, hệ thống phải có những yêu cầu sau đây:

Đầu tiên: Trang web cung cấp chức năng đăng nhập, đăng ký để khách

hàng có thể tương tác với trang web

Thứ hai: Hiển thị các danh mục sản phẩm hiện đang có trong cửa hàng,

ứng với đó là các danh sách sản phẩm của danh mục đó

Thứ ba: Xem thông tin chi tiết về sản phẩm Sau khi tìm được sản phẩm

mình cần, khách hàng có thể xem thông tin chi tiết của sản phẩm đó và có thể thêm sản phẩm vào giỏ hàng của mình

Thứ tư: Trang web cung cấp chức năng giỏ hàng Chức năng này là

không thể thiếu của mỗi trang web bán hàng Với chức năng này, khách hàng

có thể xem tất cả những sản phẩm mình đã chọn trước đó và tổng giá tiền mình cần thanh toán

Trang 12

10

Thứ năm: Trang web cung cấp chức năng hóa đơn Với chức năng này,

khách hàng có thể tạo hóa đơn và quản lý hóa đơn của mình

Cuối cùng: Trang web cung cấp chức năng quản lý hồ sơ cá nhân Đây

là chức năng cực kì quan trọng của mỗi trang web bán hàng Với chức năng này khách hàng có thể cập nhật thông tin của mình

Hình 1 : Mô hình website thương mại điện tử

Trang 13

11

1 Môi trường- Apache:

Apache là phần mềm web server miễn phí mã nguồn mở Nó đang chiếm đến khoảng 46% thị phần websites trên toàn thế giới Tên chính thức của Apache là Apache HTTP Server, được điều hành và phát triển bởi Apache Software Foundation

Nó giúp chủ website đưa nội dung lên web – vì vậy có tên gọi là “web server” Apache là một trong số những web server lâu đời và đáng tin cậy nhất, phiên bản đầu tiên đã được ra mắt từ hơn 20 năm trước, tận những năm

1995

Khi một người truy cập vào website của bạn, họ sẽ điền tên miền vào thanh địa chỉ Sau đó, webserver sẽ chuyển những files được yêu cầu xuống như là một nhân viên chuyển hàng ảo

Apache được phát triển và duy trì bởi một cộng đồng mã nguồn mở dưới

sự bảo trợ của Apache Software Foundation Apache được phát hành với giấy phép Apache License và là một phần mềm tự do và miễn phí

Ưu điểm:

- Phần mềm mã nguồn mở và miễn phí, kể cả cho mục đích thương mại

- Phần mềm đáng tin cậy, ổn định

- Được cập nhật thường xuyên, nhiều bản vá lỗi bảo mật liên tục

- Linh hoạt vì có cấu trúc module

- Dễ cấu hình, thân thiện với người mới bắt đầu

- Đa nền tảng (hoạt động được cả với server Unix và Windows)

- Hoạt động cực kỳ hiệu quả với WordPress sites

- Có cộng đồng lớn và sẵn sàng hỗ trợ với bất kỳ vấn đề nào

Nhược điểm:

- Gặp vấn đề hiệu năng nếu website có lượng truy cập lớn

Trang 14

12

- Quá nhiều lựa chọn thiết lập có thể gây ra các điểm yếu bảo mật

2 Giao diện - Front End:

2.1 HTML (Hypertext Markup Language):

HTML là một ngôn ngữ đánh dấu được thiết kế ra để tạo nên các trang web với các mẩu thông tin được trình bày trên World Wide Web Cùng với CSS và JavaScript, HTML tạo ra bộ ba nền tảng kỹ thuật cho World Wide Web

Hypertext là cách mà các trang Web (các tài liệu HTML) được kết nối với nhau Và như thế, đường link có trên trang Web được gọi là Hypertext Như tên gọi đã gợi ý, HTML là ngôn ngữ đánh dấu bằng thẻ (Markup Language), nghĩa là HTML đánh dấu một tài liệu text bằng các thẻ (tag) để nói cho trình duyệt Web cách để cấu trúc nó để hiển thị ra màn hình

2.2 CSS&Bootstrap:

CSS là Cascading Style Sheets, là một ngôn ngữ được sử dụng để tìm và định dạng lại các phần tử được tạo ra bởi các ngôn ngữ đánh dấu (ví dụ như HTML) CSS sẽ giúp chúng ta có thể thêm một chút “phong cách” vào các phần tử HTML như đổi màu sắc trang, đổi màu chữ, thay đổi cấu trúc, Bootstrap là một framework cho phép thiết kế website responsive nhanh hơn và dễ dàng hơn Bootstrap là bao gồm các HTML templates, CSS templates và Javascript tao ra những cái cơ bản có sẵn như: typography, forms, buttons, tables, navigation, modals, image carousels và nhiều thứ khác Trong bootstrap có thêm các plugin Javascript trong nó Giúp cho việc thiết

kế responsive của bạn dễ dàng hơn và nhanh chóng hơn

2 JavaScript (JS):

JavaScript giúp cải thiện việc hoạt động của web Đến 92% website đang

sử dụng JavaScript vào năm 2016 Chỉ trong 20 năm, nó từ một ngôn ngữ lập trình riêng trở thành công cụ quan trọng nhất trên bộ công cụ của các chuyên

Trang 15

13

viên lập trình web Nếu bạn đang dùng internet, vậy chắc chắn bạn đã từng sử dụng JavaScript rồi

3 Máy chủ - Back End:

3.1 Spring MVC Frameworks và jsp-servlet trong JAVA web:

- JAVA web:

Java web được hiểu đơn giản là dùng ngôn ngữ lập trình java, kết hợp với một số công nghệ khác như HTML, javascript, CSS… nhằm tạo ra các website hoặc ứng dụng web

Java là một ngôn ngữ lập trình hướng đối tượng (OOP) và dựa trên các lớp (class), ban đầu được phát triển bởi Sun Microsystems do James Gosling khởi xướng và phát hành vào năm 1995 Khác với phần lớn ngôn ngữ lập trình thông thường, thay vì biên dịch mã nguồn thành mã máy hoặc thông dịch mã nguồn khi chạy, Java được thiết kế để biên dịch mã nguồn thành bytecode, bytecode sau đó sẽ được môi trường thực thi (runtime environment) chạy Hiện nay, ngôn ngữ lập trình java cũng thường được sử dụng để xây dựng các trang web thương mại điện tử hoặc ứng dụng web cho các tổ chức chính phủ, tổ chức giáo dục, y tế, quốc phòng… Bên cạnh đó, ngôn ngữ lập trình này còn được dùng để tạo ra các trò chơi trên nền tảng website, giúp khai thác tối đa tính hấp dẫn của website

- Spring MVC Frameworks :

Spring là framework phát triển ứng dụng phổ biến nhất dành cho Java

Enterprise Ban đầu nó được viết bởi Rod Johnson và lần đầu tiên được phát

hành theo giấy phép Apache 2.0 vào tháng 6 năm 2003 Spring có kích thướng nhẹ, phiên bản cơ bản của Spring framework có kích thước khoảng 2MB

Spring framework là một Java Platform mã nguồn mở, một giải pháp

gọn nhẹ dành cho Java Enterprise Với Spring Framework các nhà phát triển

có thể tạo ra các mã có hiệu suất cao, dễ kiểm thử và có thể sử dụng lại được

Trang 16

14

Các tính năng core của Spring Framework có thể được sử dụng trong việc phát triển bất kỳ ứng dụng Java nào Bên cạnh đó, phần mở rộng được sử dụng để xây dựng các ứng dụng web trên nền tảng Java EE Mục tiêu của Spring Framework là làm cho việc phát triển ứng dụng J2EE dễ dàng hơn và thúc đẩy việc lập trình tốt hơn bằng mô hình POJO-based

Hình 2 : Mô hình hoạt động trang web

Trên đây là mô hình Spring MVC là một trong những mô hình ứng

dụng mà ở đó các thành phần được phân tách thành nhiều lớp riêng biệt và

mỗi cái có các nhiệm vụ đặc trưng Spring MVC được xây dựng theo cấu trúc MVC (Model-View-Controller) ở đó có các API cho phép việc xây

dựng các ứng dụng trên web được dễ dàng và có quy tắc hơn

* Giới thiệu về servlet

Hiện nay, trong lập trình có một xu hướng rất quan trọng đang được tập trung phát triển ứng dụng, đó là xây dựng các chương trình dịch vụ Java ở phía máy chủ (Server)

Trang 17

15

Servlet là thành phần chính được sử dụng để phát triển các chương trình dịch vụ Java ở phía máy chủ Các Servlet là các chương trình Java thực hiện ở các ứng dụng Server (tên gọi “Servlet” cũng gần giống như “Applet” ở phía máy Client) để trả lời cho các yêu cầu của Client Các Servlet không bị ràng buộc chặt với một giao thức Client-Server cụ thể nào cả, nhưng giao thức thường được sử dụng là HTTP, do vậy, khi nói tới Servlet nghĩa là nói tới HTTP Servlet Servlet là sự phát triển mở rộng của CGI để đảm bảo Server thực hiện được các chức năng của mình Ta có thể sử dụng Servlet của Java

để tuỳ chỉnh lại một dịch vụ bất kỳ, như Web Server, Mail Server, v.v

Web Server hiển thị các tư liệu được viết trong HTML và hồi đáp cho

yêu cầu của người sử dụng qua HTTP Các tư liệu HTML chứa các văn bản được đánh dấu (định dạng) để các trình duyệt như IE, Netscape đọc được Một trình duyệt chấp nhận đầu vào ở dạng HTML, khi người sử dụng nhấn một nút để yêu cầu một số thông tin nào đó, một Servlet đơn giản được gọi để xử lý các yêu cầu đó Các công việc chính của Servlet được mô tả khái quát trong hình 1, bao gồm:

▪ Đọc các dữ liệu tường minh được Client gửi đến từ các yêu cầu (dữ liệu theo các khuôn dạng – form data)

▪ Đọc các dữ liệu không tường minh được Client gửi đến từ các yêu cầu (dữ liệu trong phần đầu của yêu cầu – request headers)

▪ Xử lý và lưu trữ các dữ liệu được cung cấp dưới dạng HTML

▪ Gửi trả lời dữ liệu tường minh cho Client (dạng HTML), cung cấp các nội dung động, ví dụ trả lời yêu cầu Client về các câu truy vấn vào các CSDL

▪ Quản lý các thông tin trạng thái và trả lời dữ liệu không tường minh cho Client (các mã trạng thái và các phần đầu của trả lời)

Trang 18

16

Hình 3 : Vai trò của Servlet

Viết một Servlet là tương đối dễ Ta chỉ cần có Tomcat, nó là tổ hợp của Java Server PagesTM 1.1 và Servlets 2.2 Tomcat có thể nạp miễn phí từ http://java.sun.com/products/jsp/tomcat/, phần cài đặt sẽ được mô tả ở phần sau

Các Servlet cũng được sử dụng thay cho kịch bản giao diện cổng chung CGI Script Khi tạo ra một trang Web, ta cũng sẽ tạo ra một ứng dụng Web Trước khi sử dụng Servlet để tạo ra các ứng dụng Web, chúng ta đi tìm hiểu xem có những khả năng lựa chọn nào khác để phát triển những ứng dụng Web

➢ CGI: Theo cách thông thường, để bổ sung các chức năng vào cho một

Web Server người ta hay sử dụng Common Gateway Interface (CGI), một giao diện độc lập với ngôn ngữ cho phép một Server khởi động một tiến trình ngoại để nhận thông tin được yêu cầu thông qua các biến môi trường Mỗi yêu cầu được trả lời bởi một tiến trình riêng thông qua một đại diện riêng của một chương trình CGI hoặc bởi một kịch bản CGI (thường được viết bằng ngôn ngữ thông dịch như Perl)

HTTP Servlet

JDB

C JNI RMI XML Servlet

Trang 19

17

➢ Fast CGI: Open Marked đã phát triển một chuẩn khác thay cho CGI

được gọi là Fast CGI Fast CGI hành động giống như CGI Nó khác ở chỗ, Fast CGI tạo ra một tiến trình bền vững cho từng chương trình

➢ Một số chương trình ứng dụng khác như ASP và Java Script cũng hỗ trợ để tạo ra các ứng dụng Web ASP được Microsoft phát triển để tạo ra các nội dung cho các trang Web động Trong ASP, trang HTML có thể nhúng những phần nhỏ được viết bằng VBScript hoặc JScript Netscape đưa ra kỹ thuật được gọi là JavaScript, cho phép đưa các phần mã lệnh nhỏ nhúng vào trang HMTL, nhằm tạo ra những nội dung Web động một cách linh họat hơn Ngoài ra, Netscape còn cung cấp NSAPI, Microsoft đưa ra ISAPI cho các Web Server của họ

Servlet có một số ưu điểm so với CGI:

• Một Servlet không làm việc trong một tiến trình riêng Điều này loại bỏ được việc phải tạo ra quá nhiều tiến trình mới cho mỗi yêu cầu

• Một Servlet sẽ thường trực trong bộ nhớ giữa các yêu cầu, trong khi các chương trình CGI cần phải tải xuống và được khởi động cho từng yêu cầu CGI

• Chỉ cần một Servlet trả lời đồng thời cho tất cả các yêu cầu Điều này cho phép tiết kiệm được bộ nhớ và đảm bảo nó dễ dàng quản lý được dữ liệu một cách thống nhất

• Một Servlet có thể thực hiện bởi một Servlet Engine trong phạm vi kiểm soát Sandbox để đảm bảo an toàn trong việc sử dụng các Servlet

Các lớp Servlet của Java có thể được nạp tự động để mở rộng các chức năng của Server Các Servlet của Java thực hiện bên trong JVM Chúng được đảm bảo an toàn và chuyển đổi tương thích giữa các hệ điều hành và giữa các Server với nhau Điều này khác với các Applet, Servlet chỉ thao tác được trong miền của một Server

Trang 20

18

Servlet API được phát triển dựa trên những điểm mạnh của Java platform nhằm giải quyết vấn đề của CGI và Server API Nó là một API đơn giản, hỗ trợ tất cả các Web server và thậm chí cho phép các ứng dụng máy chủ dùng để kiểm tra và quản lý các công việc trên Server Nó giải quyết vấn

đề thực thi bằng việc thực hiện tất cả các yêu cầu như các luồng Thread trong quá trình xử lý, hoặc việc cân bằng tải trên một Server trong các cụm máy tính Cluster Các Servlet dễ dàng chia sẻ tài nguyên với nhau

Trong định nghĩa Servlet, vấn đề bảo mật được cải tiến theo nhiều cách Trước hết, bạn hiếm khi thực thi được các câu lệnh trên Shell với dữ liệu cung cấp bởi người dùng mà Java API đã cung cấp với những khả năng truy cập đến tất cả các hàm thông dụng Bạn có thể sử dụng Java Mail để đọc và gửi mail, kết nối vào các CSDL (thông qua JDBC), tệp lớp (.class) và những lớp liên quan để truy cập hệ thống tệp, CSDL, RMI, CORBA, Enterprise Java Beans (EJB), …

* Ưu điểm của servlet:

Servlet được sử dụng để thay thế cho những công nghệ Web động Việc

sử dụng Servlet mang lại những lợi thế:

▪ Dễ di chuyển Servlet được viết bằng Java nên nó có tính di động cao,

thực hiện được trên nhiều hệ điều hành, trên các Web Server khác nhau Khái niệm “Viết một lần, chạy ở mọi nơi” cũng rất đúng với Servlet

▪ Mạnh mẽ Servlet hỗ trợ rất hiệu quả cho việc sử dụng các giao diện lõi

API như lập trình mạng, xử lý đa luồng, xử lý ảnh, nén dữ liệu, kết nối các CSDL, bảo mật, xử lý phân tán và triệu gọi từ xa RMI, CORBA, v.v Nó cũng thích hợp để trao đổi tin, truyền thông giữa Client và Server một cách bình thường

Trang 21

19

▪ Hiệu quả Servlet có tính hiệu quả cao Một khi được tải về, nó sẽ được

lưu lại trong bộ nhớ của máy chủ Servlet duy trì các trạng thái của nó, do vậy những tài nguyên ngoại như việc kết nối với CSDL cũng sẽ được lưu giữ lại

▪ An toàn Bởi vì Servlet được viết bằng Java nên nó kế thừa được tính

an toàn của Java Cơ chế tự động dọn rác và việc không sử dụng con trỏ của Java giúp cho Servlet thoát khỏi nhiều công việc quản lý bộ nhớ Đồng thời

nó xử lý các lỗi rất an toàn theo cơ chế xử lý ngoại lệ của Java

▪ Tính tích hợp Các Servlet được tích hợp với các Server Chúng cộng

tác với các Server tốt hơn các chương trình CGI

▪ Tính linh hoạt Các Servlet hoàn toàn mềm dẻo Một HTTP Servlet

được sử dụng để tạo ra một trang Web, sau đó ta có thể sử dụng thẻ <Servlet>

để đưa nó vào trang Web tĩnh, hoặc sử dụng với các Servlet khác để lọc ra các nội dung cần thiết

3.2 Cơ sở dữ liệu MariaDB mysql

a Giới thiệu về MariaDB mysql

MariaDB là hệ quản trị cơ sở dữ liệu miễn phí được phát triển từ hệ quản trị cơ sở dữ liệu mã nguồn mở MySQL MariaDB được phát triển

nhằm thay thế công nghệ cơ sở dữ liệu MySQL, vì thế nó tương thích và cho một hiệu suất cao hơn so với MySQL

Trang 22

20

Hình 4 : Cơ sở dữ liệu MariaDB

MariaDB là một hệ quản trị cơ sở dữ liệu mã nguồn mở được nhiều chuyên gia đánh giá cao

MariaDB được Michael “Monty” Widenius, developer hàng đầu của

MySQL dẫn dắt và phát triển Ưu điểm lớn nhất của hệ quản trị này là tương thích với nhiều hệ điều hành, bao gồm Linux CentOS, Ubuntu và Window với các gói cài đặt tar, zip, MSI, rpm cho cả 32bit và 64bit với hiệu suất cao hơn

so với MySQL

Vì thế, MariaDB đang ngày càng được đông đảo các nhà phát triển sử dụng, trong đó có wikipedia, Fullstack-Station,… MariaDB đang có xu hướng thay thế cho MySQL – hệ quản trị cơ sở dữ liệu mã nguồn mở lâu đời nhất được sử dụng từ trước đến nay

b Ưu điểm của MariaDB

Hoàn toàn miễn phí

Đây là một hệ quản trị sử dụng mã nguồn mở hoàn toàn miễn phí Do đó, người dùng không cần phải bỏ tiền mua bản quyền và vẫn có thể sử dụng đầy

đủ những tính năng của phần mềm này

Trang 23

21

Khắc phục những hạn chế của MySQL

MariaDB được phát triển từ MySQL, do đó nó kế thừa những đặc điểm

chủ yếu của hệ quản trị này từ phiên bản 5.1 -> 5.5 Do đó, người dùng có thể

chuyển từ MySQL sang MariaDB mà không ảnh hưởng đến hệ thống

Đặc biệt, những hạn chế của MySQL, khi chuyển qua MariaDB đều sẽ

được khắc phục một cách triệt để nhất, thậm chí có thể tăng tốc độ hơn so

với MySQL từ 3-5% Ngoài ra, hệ quản trị này còn cải thiện hiệu năng và có thêm nhiều chức năng mới hơn so với MySQL

Bổ sung thêm nhiều Engine hơn

Ngoài các storage engines cơ bản như MyISAM, BLACKHOLE, CSV, MEMORY, ARCHIVE, MERGE; MariaDB còn phát triển thêm các storage engines khác bao gồm: Aria, XtraDB, FederatedX, OQGRAPH, SphinxSE, IBM DB2I, Spider, PBXT,…

Kết hợp cả SQL và NoSQL

MariaDB là sự kết hợp của cả 2 loại cơ sở dữ liệu là SQL và NoSQL

Việc kết hợp sẽ giúp hệ thống này có thể tích hợp được tất cả ưu điểm của cả

2 cơ sở dữ liệu này là Dynamic Column và Cassandra Storage Engine

Hỗ trợ tiếng Việt

Một ưu điểm tuyệt vời của MariaDB là đã có bản tiếng Việt Mặc dù

bản dịch chưa thật sự hoàn hảo nhưng vẫn có thể hỗ trợ nhiều cho người dùng

Trang 24

22

+ Mã nguồn mở thực sự

Hình 5 Thao tác dữ liệu MSQL mariaDB

 MariaDB mặc dù bản dịch vẫn chưa phải quá tốt, tuy nhiên cho thấy

sự tiếp cận cộng đồng là khá tốt Việc đọc tài liệu bằng tiếng mẹ đẻ rõ ràng dễ hiểu hơn khi tính kế thừa luôn là thế mạnh!

Trang 25

Giao diện đẹp và dễ dàng thao tác, sử dụng

Việc quảng bá sản phẩm của cửa hàng đến với khách hàng một cách nhanh chóng và tiện lợi

Khách hàng có thể đặt hàng trực tuyến thông qua website

Thiết kế và nội dung lấy khách hàng làm trung tâm

Nội dung hữu ích, điều hướng và tìm kiếm trực quan

1.2 Điểm yếu

Mối quan hệ giữa khách hàng với cửa hàng sẽ không còn thân thiết Thiếu hỗ trợ di động

Tính bảo mật chưa cao, đối với việc bảo hành còn khá hạn chế

Chi phí phát sinh trong quá trình làm việc còn chưa quản lý tốt

1.3 Cơ hội

Các công nghệ mới để cải thiện trải nghiệm người dùng

Internet ngày càng phát triển, người dùng ngày càng có điều kiện tiếp xúc với Internet Đây là thị trường tiềm năng ngày càng được mở rộng không ngừng của cửa hàng

1.4 Thách thức

Sự xuất hiện của đối thủ cạnh tranh mới

Nhu cầu của khách hàng thay đổi

Spam hoặc quảng cáo không mong muốn, hoạt động gian lận

Trang 27

25

b Đối tượng quản lý (Admin & Staff)

Hình 7 : Mô hình hệ thống admin

Trang 28

26

2.2 Công nghệ

a Phần mềm thiết kế giao diện:

Visual Studio code

Adobe Photoshop CS6

b Phần mềm lập trình:

Eclipse EE (Phiên bản web)

Visual Studio Code

Hệ quản trị CSDL Xampp MariaDB MySQL

JDK 15, Tomcat

2.3 Sơ đồ Use Case diagram

Use case là sơ đồ tổng quan về mặt chức năng và phân vai trò người sử dụng Dựa vào yêu cầu hệ thống của khách hàng, chúng ta có thể phác thảo sở

đồ use case như sau:

Biểu đồ Use case chỉ ra một số lượng các tác nhân ngoại cảnh và mối liên kết của chúng đối với Use case mà hệ thống cung cấp Một Use case là một lời miêu tả của một chức năng mà hệ thống cung cấp Lời miêu tả Use case thường là một văn bản tài liệu, nhưng kèm theo đó cũng có thể là một biểu đồ hoạt động Các Use case được miêu tả duy nhất theo hướng nhìn từ ngoài vào của các tác nhân (hành vi của hệ thống theo như sự mong đợi của người sử dụng), không miêu tả chức năng được cung cấp sẽ hoạt động nội bộ bên trong

hệ thống ra sao Các Use case định nghĩa các yêu cầu về mặt chức năng đối với hệ thống

Trang 29

27

a Uc Tổng:

Hình 8 UC Tổng quan

Trang 30

28

Nhìn vào sơ đồ Use Case Tổng, chúng ta có thể nhận thấy rằng hệ thống

Website bán hàng thời trang Jewelry Sale sẽ gồm 3 đối tượng sử dụng,

tương ứng với mỗi đối tượng sẽ có các chức năng nghiệp vụ:

• Đối tượng là nhân viên (Staff):

Chức năng đăng nhập – đăng xuất

Chức năng quản lý sản phẩm

Chức năng quản lý thương hiệu

Chức năng quản lý kích thước

Chức năng quản lý đặt hàng

Chức năng quản lý danh mục sản phẩm

Chức năng quản lý thông tin cá nhân

• Đối tượng là người quản lý (Admin):

Chức năng đăng nhập – đăng xuất

Chức năng quản lý nhân viên

Chức năng quản lý sản phẩm

Chức năng quản lý thương hiệu

Chức năng quản lý kích thước

Chức năng quản lý đặt hàng

Chức năng quản lý danh mục sản phẩm

Chức năng xem thông tin đánh giá sản phẩm

Trang 31

29

Chức năng quản lý thông tin cá nhân

Chức năng thống kê doanh thu

b Uc Users:

Hình 9 UC Users

Trang 32

30

B1 Uc List Users (danh sách người dùng)

Bảng 1 : Bảng Uc List Users

Name LIST USERS

Description Cho phép actor xem danh sách nhân viên trong hệ thống

Actor Admin Trigger Load trang Quản lý nhân

viên

Pre-condition Actor đã đăng nhập vào hệ thống

Post condition Hiển thị toàn bộ danh sách nhân viên trong hệ thống

B2 Uc Search Users (tìm kiếm người dung)

Bảng 2 : Bảng Uc Search Users

Name SEARCH USERS

Description Cho phép actor tìm kiếm thông tin nhân viên trong hệ thống

theo tên

Actor Admin Trigger Actor click button Tìm kiếm trên

màn hình Quản lý nhân viên

Pre-condition Actor đã đăng nhập vào hệ thống

Post condition

Hiển thị danh sách nhân viên tìm thấy trong hệ thống hoặc hiển thị thông báo nếu không tìm thấy nhân viên nào thỏa mãn điều kiện

Trang 33

31

B3 Uc View Detail Users (xem chi tiết người dung)

Bảng 3 : Uc View Detail Users

Name VIEW DETAIL USERS

Description Cho phép actor xem thông tin chi tiết của một nhân viên

trong hệ thống

Actor Admin Trigger Actor click button Chi tiết trên

màn hình quản lý nhân viên

Pre-condition Actor đã đăng nhập vào hệ thống

Post condition Hiển thị thông tin chi tiết của 1 nhân viên trong hệ thống

B4 Uc Add New Users (Thêm người dùng mới)

Bảng 4 : Uc Add New Users

Name ADD NEW USERS

Description Cho phép actor thêm thông tin một nhân viên trong hệ

thống

Actor Admin Trigger Actor click button Thêm trên

màn hình Thêm mới nhân viên

Pre-condition Actor đã đăng nhập vào hệ thống

Post condition Thêm mới thành công thông tin 1 nhân viên vào hệ thống B5 Uc Edit Users (Sửa người dung)

Bảng 5 : Uc Edit Users

Name EDIT USERS

Description Cho phép actor chỉnh sửa thông tin một nhân viên trong hệ

thống

Actor Admin Trigger Actor click button Cập nhật trên

màn hình Thông tin nhân viên

Pre-condition Actor đã đăng nhập vào hệ thống

Post condition Chỉnh sửa thành công thông tin của 1 nhân viên trong hệ thống

Trang 34

32

B6 Uc Delete Users (Xóa người dùng)

Bảng 6 : Uc Delete Users

Name DELETE USERS

Description Cho phép actor xóa thông tin một nhân viên trong hệ thống

Actor Admin Trigger Actor click button Xóa trên màn

hình Quản lý nhân viên

Pre-condition Actor đã đăng nhập vào hệ thống

Post condition Xóa thành công 1 nhân viên trong hệ thống

c Uc Product

Hình 10 : UC Product

Trang 35

33

C1 Uc Update Product (cập nhập sản phẩm)

Bảng 7 : Uc Update Product

Name UPDATE PRODUCT

Description Cho phép actor cập nhật sản phẩm trong hệ thống

Actor Admin/Staff Trigger

Actor click button Cập nhật trên màn hình Cập nhật kích thước

Pre-condition Actor đã đăng nhập vào hệ thống

Post condition Cập nhật thành công 1 sản phẩm trong hệ thống

C1 Uc Insert Product (Thêm sản phẩm)

Bảng 8 : Uc Insert Product

Name INSERT PRODUCT

Description Cho phép actor thêm mới sản phẩm trong hệ thống

Actor Admin/Staff Trigger Actor click button Thêm mới trên

màn hình Thêm mới kích thước

Pre-condition Actor đã đăng nhập vào hệ thống

Post condition Thêm mới thành công 1 sản phẩm trong hệ thống

C2 Uc Delete Product (Xóa sản phẩm)

Bảng 9 : Uc Delete Product

Name DELETE PRODUCT

Description Cho phép actor xóa sản phẩm trong hệ thống

Actor Admin/Staff Trigger Actor click button Xóa trên màn

hình Quản lý kích thước

Pre-condition Actor đã đăng nhập vào hệ thống

Post condition Xóa thành công 1 sản phẩm trong hệ thống

Trang 36

34

C3 Uc Information Product (Thông tin sản phẩm)

Bảng 10 : Uc Information Product

Name INFORMATION PRODUCT

Description Cho phép actor xem thông tin sản phẩm trong hệ thống

Actor Admin/Staff Trigger Actor click button Cập nhật trên

màn hình Quản lý kích thước

Pre-condition Actor đã đăng nhập vào hệ thống

Post condition Hiển thị đầy đủ thông tin 1 sản phẩm trong hệ thống

C4 Uc Search Product (Tìm kiếm sản phẩm )

Bảng 11 : Uc Search Product

Name SEARCH PRODUCT

Description Cho phép actor tìm kiếm sản phẩm trong hệ thống theo tên

Actor Admin/Staff Trigger Actor click button Tìm kiếm trên

màn hình Quản lý kích thước

Pre-condition Actor đã đăng nhập vào hệ thống

Post condition Hiển thị danh sách sản phẩm tìm thấy trong hệ thống

Trang 37

35

d Uc Information Customer (Thông tin khách hàng)

Hình 11 UC Information Customer

Ngày đăng: 09/05/2022, 01:04

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w