Professional Documents
Culture Documents
Thiết Kế Web Nhà Sách Angular
Thiết Kế Web Nhà Sách Angular
ĐỒ ÁN MÔN JAKARTA EE
LỜI CẢM ƠN
Để hoàn thành đề tài khoá luận đồ án này, chúng em đã nhận được sự hướng
dẫn, giúp đỡ và góp ý nhiệt tình của quý thầy cô trường Đại Học Quốc Tế Hồng Bàng
và thầy ThS.Hoàng Ngọc Long.
Chúng em xin gửi lời biết ơn sâu sắc đến thầy ThS.Hoàng Ngọc Long đã dành
nhiều thời gian và tâm huyết hướng dẫn nghiên cứu và giúp em hoàn thành khóa luận
đồ án môn học.
Chúng em cũng xin chân thành cảm ơn đến quý thầy cô trường Đại học Quốc
Tế Hồng Bàng, đặc biệt là những thầy cô đã tận tình dạy bảo cho em suốt thời gian
học tập tại trường.
Chúng em xin chân thành cảm ơn Ban Giám Hiệu trường Đại Học Quốc Tế
Hồng Bàng cùng quý thầy cô trong Khoa Công Nghệ Thông Tin đã tạo rất nhiều điều
kiện để em học tập và hoàn thành tốt khóa học.
Chúng em đã có nhiều cố gắng hoàn thiện luận văn tốt nghiệp bằng tất cả năng
lực của mình, tuy nhiên không thể tránh khỏi nhiều thiếu sót, rất mong nhận được
những đóng góp quý báu của quý thầy cô và các bạn.
1 NGUYỄN VƯƠNG
NGỌC TRÍ
i
Thiết kế web nhà sách
ii
Thiết kế web nhà sách
iii
Thiết kế web nhà sách
v
Thiết kế web nhà sách
vi
Thiết kế web nhà sách
vii
Thiết kế web nhà sách
Mục lục
LỜI CẢM ƠN.......................................................................................................i
TRANG CAM KẾT............................................................................................ii
NHẬN XÉT CỦA GIẢNG VIÊN......................................................................iii
DANH MỤC HÌNH............................................................................................iv
DANH MỤC BẢNG..........................................................................................vi
DANH MỤC THUẬT NGỮ VIẾT TẮT..........................................................vii
MỞ ĐẦU.............................................................................................................x
Chương 1. Tổng quan đề tài..............................................................................1
1.1 MỤC TIÊU VÀ Ý NGHĨA THỰC TIỄN CỦA ĐỀ TÀI.......................1
1.1.1 Tính cấp thiết của đề tài...................................................................1
1.1.2 Mục tiêu của đề tài...........................................................................1
1.1.3 Ý nghĩa thực tiễn của đề tài..............................................................1
1.2 GIỚI THIỆU CÔNG NGHỆ SẼ SỬ DỤNG..........................................2
1.2.1 Môi trường lập trình Intellij IDEA...................................................2
1.2.2 Ngôn ngữ lập trình Java...................................................................2
1.2.3 Ngôn ngữ lập trình Angular.............................................................2
1.2.4 JDBC................................................................................................3
1.2.5 Mysql................................................................................................3
Chương 2. NỘI DUNG CHÍNH CỦA ĐỀ TÀI................................................4
2.1 GIỚI THIỆU VỀ CHƯƠNG TRÌNH CẦN XÂY DỰNG.....................4
2.2 KHẢO SÁT HIỆN TRẠNG...................................................................4
2.2.1 Nội dung yêu cầu của đề tài.............................................................4
2.2.2 Các hoạt động chính của các đơn vị sử dụng trang web..................6
2.3 Phân tích..................................................................................................7
2.3.1 Mô hình Use Case tổng quát hệ thống.............................................7
2.3.2 Danh sách các Use case và mô tả.....................................................7
viii
Thiết kế web nhà sách
ix
Thiết kế web nhà sách
MỞ ĐẦU
Công nghệ thông tin là một trong những lĩnh vực bức thiết không thể thiếu
trong bộ máy kinh tế của nhiều nước trên thế giới đặc biệt là những nước đang phát
triển như Việt Nam hiện nay.
Việc cập nhập thông tin là rất cần thiết với nhà quản lý, nhà kinh doanh trong
lĩnh vực này. Để quảng bá sản phẩm nhiều nhà kinh doanh của các công ty lớn đã có
chiến lược quảng bá sản phẩm trên các thông tin đại chúng như báo, radio, TV trong
đó quảng bá sản phẩm trên website là một trong những giải pháp hữu hiệu nhất. Đây
là hình thức truyền tải thông tin nhanh chóng, hiệu quả và chi phí thấp. Những khách
hàng có nhu cầu mua cho mình một cuốn sách có thể trực tiếp mua thông qua website
trực tuyến, không mất nhiều thời gian mà khách hàng đã có thể sở hữu cuốn sách mà
mình yêu thích
Với nhiều thành quả quan trọng, công nghệ thông tin đã được ứng dụng rộng
rãi trong nhiều lĩnh vực, trở thành một trong những yếu tố quan trọng nhất của sự phát
triển kinh tế - xã hội, an ninh - quốc phòng. Việc đẩy mạnh ứng dụng công nghệ thông
tin sẽ làm thay đổi tác phong làm việc, nâng cao năng suất lao động, nâng cao dân trí,
… Chính vì thế, công nghệ thông tin sẽ trở thành nền kinh tế mũi nhọn của nước ta
trong những năm tới đây.
Qua quá trình được học trên lớp và tìm hiểu về môn học lập trình PHP em đã
áp dụng những kiến thức đã học để xây dựng hệ thống “WEBSITE BÁN SÁCH
ONLINE BOOK” với sự hướng dẫn tận tình của giáo viên hướng dẫn. Ngoài ra làm
đồ án này cũng giúp cho em nâng cao khả năng lập trình và rút được nhiều kinh
nghiệm cho các trang web sau. Do kiến thức và kinh nghiệm lập trình, thiết kế còn
hạn chế nên phần mềm của em còn có nhiều thiếu xót. Rất mong được sự đóng góp
của thầy cô và các bạn để phần mềm của em được hoàn thiện hơn nữa.
x
Thiết kế web nhà sách
11
Thiết kế web nhà sách
Angular hoạt động với mô hình MVC, hỗ trợ các công việc chủ yếu ở phía
Client tạo ra các ứng dụng web động, mang lại cho người dùng những trải nghiệm
thú vị khi sử dụng.
Nhờ có Angular, các lập trình viên có thể nhanh chóng tạo ra các Single Page
Application, thông qua việc sử dụng HTML và TypeScript.
1.2.4 JDBC
JDBC là viết tắt của Java Database Connectivity, là một công nghệ cung cấp
các giao diện lập trình ứng dụng để kết nối và thao tác với CSDL trong ngôn ngữ lập
trình Java. JDBC cho phép các ứng dụng Java truy cập các CSDL quan hệ, chẳng hạn
như MySQL, Oracle, Microsoft SQL Server,... JDBC cung cấp một tập hợp các API
để thực hiện các nhiệm vụ liên quan đến CSDL, bao gồm kết nối CSDL, tạo và thực
thi câu truy vấn, xử lý kết quả truy vấn, và quản lý các transaction. Việc sử dụng
JDBC cho phép các lập trình viên Java tương tác với CSDL một cách dễ dàng, hiệu
quả và an toàn. JDBC cũng có một số hạn chế và nhược điểm. Để sử dụng JDBC, lập
trình viên cần có kiến thức về SQL và kiến thức về các CSDL cụ thể mà họ đang làm
việc. Ngoài ra, việc sử dụng JDBC cũng đòi hỏi lập trình viên phải quản lý và xử lý
các lỗi liên quan đến kết nối CSDL. Dù vậy, JDBC vẫn là một công nghệ quan trọng
trong việc phát triển các ứng dụng Java liên quan đến CSDL. Việc sử dụng JDBC giúp
các lập trình viên Java tạo ra các ứng dụng có khả năng tương tác với các CSDL quan
trọng và cung cấp cho người dùng các chức năng và thông tin hữu ích.
1.2.5 Mysql
MySQL chính là hệ quản trị cơ sở dữ liệu mã nguồn mở Relational Database
Management System – RDBMS hiện nay được sử dụng phổ biến trên phạm vi toàn cầu. Hệ
quản trị cơ sở dữ liệu này hoạt động dựa trên mô hình tiêu chuẩn là Client (Máy khách) –
Server (Máy chủ).
Hiện nay, những website lớn, hoạt động với lượng người dùng đông đảo như mạng
xã hội Facebook, Yahoo, hay Google, Twitter,… đều đang sử dụng hệ quản trị dữ
liệu MySQL để hỗ trợ cho việc lưu trữ thông tin được thực hiện hiệu quả. Từ đó có thể thấy
tính hữu dụng, phổ biến của MySQL trong lĩnh vực thiết kế và phát triển website.
Với hệ thống quản trị cơ sở dữ liệu MySQL khi đưa vào sử dụng được đánh giá cao
nhờ việc tích hợp với apache cũng như PHP. Không chỉ vậy, việc có tính tương thích với
nhiều trình duyệt, với nhiều hệ điều hành tiêu biểu như Ubuntu, Linux, macOS, Microsoft
Windows,… càng giúp việc sử dụng MySQL được tin tưởng và ưa chuộng nhiều hơn. Trong
số rất nhiều phần mềm RDBMS thì MySQL được biết tới rộng rãi và phổ biến nhất hiện nay,
được ứng dụng cho phát triển nhiều website.
13
Thiết kế web nhà sách
14
Thiết kế web nhà sách
thương hiệu, vừa có thể tăng doanh thu bán hàng hiệu quả. Vì bạn không cần phải đầu
tư một số tiền lớn để thuê mặt bằng làm cửa hàng, không cần phải thuê nhân viên
phục vụ mà chỉ cần đầu tư một khoản tiền nhỏ để thiết kế website thì bạn đã có thể thu
về nhiều lợi nhuận với hình thức kinh doanh này.
Một lợi ích vô cùng quan trọng khi thiết kế website bán hàng đó chính là giúp
doanh nghiệp xây dựng và quảng bá thương hiệu sản phẩm của công ty mình. Nếu bạn
muốn đạt hiệu quả trong kinh doanh và quảng bá được thương hiệu sản phẩm công ty
thì bạn phải biết tận dụng một số hình thức marketing như: SEO cao
cấp, facebook adwords, google adwords. Vì người dùng sẽ biết đến sản phẩm của bạn
thông qua các công cụ tìm kiếm và một số trang mạng xã hội như: zalo, facebook,…
Đây có lẽ là lợi ích lớn nhất mà mọi đối tượng kinh doanh đều mong muốn.
Khi sở hữu một website bán hàng chuyên nghiệp thì bạn có thể tiết kiệm được nhiều
thời gian bán hàng. Khách hàng có thể truy cập vào website để lựa chọn sản phẩm và
đăng ký mua hàng vào bất cứ thời gian nào trong ngày và ở bất cứ nơi nào. Các hình
thức mua bán và thanh toán diễn ra nhanh chóng chỉ bằng một thao tác click chuột.
Chính vì thế, doanh nghiệp tăng được hiệu quả kinh doanh.
2.2.1.2 Nội dung khảo sát
Website bán hàng trực tuyến cần phải có bố cục càng rõ ràng càng tốt. Vì bạn
cần phải để cho khách hàng thấy ngay những gì họ đang tìm kiếm nhu vậy mới thu hút
được lượt truy cập.
Bạn nên thiết kế website theo phong cách đơn giản, những nội dung cần được
thể hiện bằng bảng điều hướng với từ ngữ ngắn gọn thì dễ dàng thu hút được người
đọc.
Sử dụng ngôn từ dễ hiểu: nếu bạn chỉ sử dụng hình ảnh để minh hoan cho sản
phẩm thì khách hàng không nắm rõ được thông tin và cách thức sử dụng. Chính vì thế,
kèm theo hình ảnh sản phẩm thì bạn cần phải có nội dung mô tả. Tuy nhiên, bạn nên
sử dụng câu từ ngắn gọn, cô đọng và chỉ mô tả những gì cần thiết nhất. Tránh dài
dòng sẽ làm cho khách hàng khó chịu và không muốn đọc.
Khi thiết kế website bán hàng trực tuyến thì bạn nên tạo các đường link URL
bằng các biểu tượng hoặc chữ để khách hàng có thể dễ dàng chuyển đổi qua lại khi sử
dụng trang web mà không cần đến các nút như: home, back, forward của trình duyệt.
Bạn cần cung cấp một số tính năng bán hàng cần thiết và thuận tiện để khách
hàng có thể hiểu rõ về sản phẩm của bạn, cũng như các phương thức đặt hàng thuận
tiện nhất. Điều đó sẽ tạo cho khách hàng cảm thích thú khi sử dụng sản phẩm của bạn.
Ngày nay, người dùng thường sử dụng các thiết bị di động để truy cập internet
nhiều hơn sử dụng máy tính. Chính vì thế, website bán hàng của bạn phải chuẩn Seo
15
Thiết kế web nhà sách
và phù hợp với các thiết bị di động cũng như tương thích với hầu hết các trình duyệt
web.
2.2.2 Các hoạt động chính của các đơn vị sử dụng trang web
Admin Quản lý tài khoản: Đăng nhập, Không xoá được thông
đăng xuất, Quản lý Khách hàng: tin tài khoản của khách
xem thông tin khách hàng, tìm hàng
kiếm thông tin khách hàng, Quản lý
sách: thêm sách, xem sách, tìm
kiếm sách, xoá sách, quản lý đơn
đặt hàng
16
Thiết kế web nhà sách
UC5 Xem chi tiết sách Khách hàng xem Xem chi tiết của
được chi tiết của sách sách
trong cửa hàng
17
Thiết kế web nhà sách
UC6 Quản lý tài khoản Khách hàng có thể Xem và chỉnh sửa
xem và chỉnh tài khoản
thông tin, mật khẩu
UC7 Quản ly sách Người quản lý quản Thêm, sửa, xoá
sách
lý sách
UC8 Quản lý hóa đơn Người quản lý xem Xem và xử lý hoá
và xử lý hoá đơn cho đơn
khách hàng
UC9 Quản lý giỏ hàng Khách hàng xem và Thêm, sửa, xoá,
chỉnh sửa sách trong cập
giỏ hàng nhật giỏ hàng
UC10 Xem thanh toán Khách hàng thanh Thanh toán
toán bằng VNPAY
VNPAY hoặc Trả sau hoặc trả sau
UC11 Lịch sử đơn hàng Xem lại lịch sử đã đặt Thông tin lịch sử
hàng đặt hàng
Bảng 2-2: Bảng tổng đặc tả Usecase
18
Thiết kế web nhà sách
Đặc tả:
Use case: Đăng nhập
Mục đích: Khách hàng và người quản lý đăng nhập
vào hệ thống website
Mô tả: Khách hàng và người quản lý đăng nhập
vào hệ thống website
với tài khoản và mật khẩu đã có
Tác nhân: Khách hàng và người quản lý
Điều kiện trước: Khách hàng và người quản lý đã có tài
khoản để đăng nhập hệ
thống website
Điều kiện sau: Khách hàng và người quản lý đăng nhập
được vào hệ thống website
Luồng sự kiện chính (Basic flows): 1. Hệ thống website hiển thị giao diện
đăng nhập
2. Khách hàng và người quản lý nhập tài
khoản và mật khẩu của mình
3. Hệ thống website kiểm tra tính hợp lệ
của tài khoản và mật khẩu
4. Hệ thống website hiển thị giao diện
chính tương ứng với tác nhân
Luồng sự kiện phụ (Alternative Flows): 1. Người dùng nhập tài khoản và mật
khẩu sai
2. Hệ thống website thông báo lỗi và
yêu cầu nhập lại
3. Khách hàng và người quản lý nhập
lại để tiếp tục các
bước sau
Bảng 2-3: Bảng đặc tả Usecase đăng nhập
19
Thiết kế web nhà sách
Đặc tả:
Use case: Đăng ký
Mục đích: Khách hàng đăng ký tài khoản để mua
sách và sử dụng các chức năng khác của
hệ thống website
Mô tả: Khách hàng đăng ký thành công khi
nhập đúng tất cả các dữ liệu yêu cầu
Tác nhân: Khách hàng
Điều kiện trước: khách hàng đã nhập tất cả thông tin cần
20
Thiết kế web nhà sách
Luồng sự kiện phụ (Alternative Flows): Thông tin đăng ký không đúng:
- Họ và tên chưa nhập
- Tên tài khoản chưa nhập hoặc bị trùng
- Mật khẩu chưa đủ kí tự và yêu cầu
- Nhập lại mật khẩu sai
Khách hàng cần nhập lại để đăng ký
Khách hàng nhập đúng tất cả để tiếp tục
các bước sau
Bảng 2-4: Bẳng đặc tả usecase đăng ký
Đặc tả:
Use case: Xem trang chủ
Mục đích: Giúp khách hàng xem những sản phẩm
nổi bật của cửa hàng
Mô tả: Xem sách nổi bật chưc năng nổi bật của
website
Tác nhân: Khách hàng
Điều kiện trước: Khách hàng vào website
Điều kiện sau: Khách hàng vào thành công
Luồng sự kiện chính (Basic flows): 1. Khách hàng vào trình duyệt web
21
Thiết kế web nhà sách
Đặc tả:
Use case: xem Cửa hàng sách
Mục đích: Giúp khách hàng có thể xem tất cả các
sách có trên website
Mô tả: Xem nhiều loại sách của website
Tác nhân: Khách hàng
Điều kiện trước: Khách hàng đã vào trang chủ của
22
Thiết kế web nhà sách
website
Điều kiện sau: Xem sách thành công
Luồng sự kiện chính (Basic flows): 1. Khách hàng vào trang chủ website
thành công
2. Khách hàng ấn chọn vào mục sách để
xem
3. Các sách hiện lên thành công
4. Khách hàng xem sách thành công
Luồng sự kiện phụ (Alternative Flows): 1. Sách hiện lên không thành công
2. Khách hàng cần ấn chọn lại để tiếp tục
Bảng 2-6; Bảng đặc tả usecase xem cửa hàng sách
Đặc tả:
Use case: Xem chi tiết sách
Mục đích: Giúp khách hàng xem chi tiết của sách
Mô tả: Khách hàng xem được chi tiết của các
sách khi cần
23
Thiết kế web nhà sách
Đặc tả:
Use case: Quản lý tài khoản
Mục đích: Xem thông tin khách hàng và chỉnh sửa
tài khoản
Mô tả: Chỉnh sửa thông tin, thêm , sửa , xóa
24
Thiết kế web nhà sách
Đặc tả:
Use case: Quản lý sách
Mục đích: Giúp người quản lý quản lý sách
Mô tả: Người quản lý có thể thêm, sửa, xoá
sách
25
Thiết kế web nhà sách
Đặc tả:
26
Thiết kế web nhà sách
27
Thiết kế web nhà sách
Đặc tả:
Use case: Quản lý giỏ hàng
Mục đích: Giúp khách hàng xem và chỉnh sửa sách
trong giỏ hàng
Mô tả: Thêm, sửa, xoá, cập nhật giỏ hàng
Tác nhân: Khách hàng
Điều kiện trước: Khách hàng đã đăng nhập vào hệ thống
Điều kiện sau: Thêm, sửa, xoá cập nhật giỏ hàng thành
công
Luồng sự kiện chính (Basic flows): 1. Khách hàng đã đăng nhập vào hệ
thống
2. Khách hàng kích hoạt quản lý giỏ
hàng
3. Chọn nút thêm hoặc sửa hoặc xoá
hoặc cập nhật tuỳ nhu cầu
4. -Nút thêm : Điền thông tin theo yêu
cầu
-Nút sửa : Sửa lại các nội dung tuỳ ý
-Nút xoá : Xoá sách khỏi giỏ hàng
-Nút cập nhật : cập nhật số lượng sách
5. Thêm, sửa, xoá cập nhật sách trong
giỏ hàng thành công
28
Thiết kế web nhà sách
2.3.3.10Biểu đồ và Đặc tả UC10 “Thanh toán VNpay hoặc thanh toán nhận hàng
trả sau”
Biểu đồ:
Đặc tả:
Use case: Thanh toán
Mục đích: Giúp khách hàng thanh toán
Mô tả: Thanh toán đơn hàng
Tác nhân: Khách hàng
Điều kiện trước: Khách hàng chọn sản phẩm cần thanh
toán
Điều kiện sau: Khách hàng chọn 1 trong 2 cách thanh
toán
Luồng sự kiện chính (Basic flows): 1. Khách hàng đăng nhập vào hệ
thống
2. Khách hàng kích hoạt vào giỏ
29
Thiết kế web nhà sách
hàng
3. Chọn thanh toán
4. Chọn 1 thanh toán khi nhận hàng
– 2 thanh toán bằng vnpay
Luồng sự kiện phụ (Alternative Flows): 1. Hệ thống thông báo đơn hàng
chưa thanh toán
2. Hệ thông thông báo đơn hàng đã
thanh toán bằng vnpay
3. Tiếp tục mua hàng
Bảng 2-12: bảng đặc tả usecase thanh toán
Đặc tả:
Luồng sự kiện chính (Basic flows): 1. Khách hàng đã đăng nhập vào hệ
thống
2. Khách hàng xem lịch sử đơn hàng
Luồng sự kiện phụ (Alternative Flows): 1. Hệ thống hiển trị trang chủ
2. Hệ thống hiển thị lịch sử đơn
hàng khi khách hàng xem
Hình 2-13: bảng đặc tả usecase lịch sử giao hàng
31
Thiết kế web nhà sách
2.4 Thiết kế
2.4.1 Thiết kế cơ sở dữ liệu
2.4.1.1 Ánh xạ Class Diagram thành mô hình quan hệ
1 ID Int (11) PK ID
2 Product_name Varchar (255) Not null Tên sách
3 description Varchar (255) Not null Giải thích sách
4 category Varchar (255) null Loại sách
5 author Varchar (255) null Tác giả
6 price float null Giá tiền
7 image Varchar (255) Null Hình ảnh
6 Is_deleted Tinyint (4) null Xóa tài khoản
Bảng 2-17: bảng product
34
Thiết kế web nhà sách
35
Thiết kế web nhà sách
36
Thiết kế web nhà sách
37
Thiết kế web nhà sách
38
Thiết kế web nhà sách
39
Thiết kế web nhà sách
40
Thiết kế web nhà sách
41
Thiết kế web nhà sách
42
Thiết kế web nhà sách
- Hạn chế về mặt thời gian nên đề tài còn nhiều thiếu sót, một số chức năng chưa
được hoàn thiện hẳn và còn xảy ra lỗi nhỏ
4.2 Hướng phát triển của đề 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ụng
Website.
- 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ế.
- Bổ sung những hạn chế của đề tài , mở rộng các chức năng của hệ thống
website , đảm bảo độ tin cậy của hệ thống.
- Phát triển forum, hỗ trợ kĩ thuật cho người dùng trên forum này.
-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
44