BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC DUY TÂN KHOA CÔNG NGHỆ THÔNG TIN NGUYỄN QUANG HƯNG XÂY DỰNG ỨNG DỤNG “NGHIÊN CỨU FRAMEWORK CÓ TÍCH HỢP AI VÀ XÂY DỰNG ỨNG DỤNG” KHÓA LUẬN CỬ NHÂN CÔNG NGHỆ THÔNG.
Trang 1TRƯỜNG ĐẠI HỌC DUY TÂN KHOA CÔNG NGHỆ THÔNG TIN
NGUYỄN QUANG HƯNG
XÂY DỰNG ỨNG DỤNG “NGHIÊN CỨU FRAMEWORK CÓ
TÍCH HỢP AI VÀ XÂY DỰNG ỨNG DỤNG”
KHÓA LUẬN CỬ NHÂN CÔNG NGHỆ THÔNG TIN
Đà Nẵng, năm 2020
Trang 2TRƯỜNG ĐẠI HỌC DUY TÂN KHOA CÔNG NGHỆ THÔNG TIN
KHÓA LUẬN CỬ NHÂN CÔNG NGHỆ THÔNG TIN
XÂY DỰNG ỨNG DỤNG “NGHIÊN CỨU FRAMEWORK CÓ
TÍCH HỢP AI VÀ XÂY DỰNG ỨNG DỤNG”
Chuyên ngành: Công nghệ phần mềm
GVHD: Th.S NGUYỄN TẤN THUẬN SVTH:NGUYỄN QUANG HƯNG LỚP: K20TPM
MSSV:1921613394
Đà Nẵng, năm 2020
Trang 3LỜI CAM ĐOAN
1 Những nội dung trong báo cáo này là do em thực hiện dưới sự hướng dẫn trực tiếp của thầy Nguyễn Tấn Thuận
2 Mọi tham khảo dùng trong báo cáo này đều được trích dẫn rõ ràng tên tác giả, tên công trình, thời gian và địa điểm công bố
3 Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trái, em xin chịu hoàn toàn trách nhiệm
Sinh viên thực hiện
Nguyễn Quang Hưng
Trang 4và góp ý từ phía quý thầy cô và các bạn
Một lần nữa em xin chân thành cảm ơn!
Sinh viên thực hiện
Nguyễn Quang Hưng
Trang 5DANH MỤC BIỂU ĐỒ
Trang 6Biểu đồ 2.30: Biểu đồ tuần tự thêm sản phẩm vào giỏ hàng 47
Trang 8MỤC LỤC
MỞ ĐẦU 1
Chương I: CƠ SỞ LÝ THUYẾT 3
1.1.KHẢO SÁT YÊU CẦU 3
1.1.1.Quan sát, phỏng vấn 3
1.1.2.Phân tích kết quả 3
1.2.Ý TƯỞNG 3
1.2.1.Ý tưởng, cách xử lý 3
1.2.2.Các đối tượng sử dụng, độ khó 4
1.2.3.Khả năng phát triển 4
1.3.TỔNG QUAN VỀ HTML, CSS, JAVASCRIPT, JQUERY, BOOTSTRAP 5 1.3.1.Ngôn ngữ HTML 5
1.3.2.Tìm hiểu CSS 5
1.3.3.Thư viện bootstrap 5
1.3.4.Ngôn ngữ JavaScript - Jquery 5
1.4.TÌM HIỂU SPRING MVC FRAMEWORK 6
1.5.MÔ HÌNH MVC 10
1.6.GIỚI THIỆU CƠ SỞ DỮ LIỆU MYSQL 11
1.7.MYSQL WORKBENCH 13
1.8.WEB SERVICE 14
1.8.1.Tìm hiểu Web Service 14
CHƯƠNG II: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 15
2.1.MÔ TẢ NGHIỆP VỤ 15
2.1.1.Danh sách Actor 15
2.1.2.Xác định use case của hệ thống 15
2.2.BIỂU ĐỒ USE CASE 16
2.2.1.Use case tổng quát 16
2.2.2.Use case chi tiết 17
2.3.XÂY DỰNG BIỂU ĐỒ TUẦN TỰ 43
2.3.1.Biểu đồ tuần tự Admin trên Website 43
Trang 92.3.2.Biểu đồ tuần tự người dùng (khách hàng, khách hàng tiềm năng)trên
Website……… 49
2.4.XÂY DỰNG BIỂU ĐỒ HOẠT ĐỘNG 53
2.4.1.Biểu đồ hoạt động của Admin trên Website 53
2.4.2.Biểu đồ hoạt động của người dùng(khách hàng, khách hàng tiềm năng) trên trang web 56
2.5.BIỂU ĐỒ LỚP 59
2.5.1.Biểu đồ lớp Admin trên trang web 59
2.5.2.Biểu đồ lớp người dùng (khách hàng, khách hàng tiềm năng)trên trang web……… 60
2.6.CƠ SỞ DỮ LIỆU 61
2.7.THIẾT KẾ GIAO DIỆN 61
2.7.1.Giao diện Admin Website 61
2.7.2.Giao diện người dùng trang web 63
CHƯƠNG III: XÂY DỰNG TRANG WEB 64
3.1.Trang chủ của người dùng (khách hàng, khách hàng tiềm năng) 64
3.1.1.Chức năng đăng ký tài khoản 64
3.1.2.Chức năng đăng nhập 64
3.1.3.Chức năng tìm kiếm 65
3.1.4.Chức năng quản lý giỏ hàng 66
3.1.5.Chức năng đặt hàng 66
3.1.6.Chức năng quản lý tài khoản 67
3.1.7.Chức năng đăng xuất 68
3.2.TRANG CHỦ CỦA ADMIN 68
3.2.1.Chức năng Đăng nhập 68
3.2.2.Chức năng quản lý tài khoản 68
3.2.3.Chức năng quản lý sản phẩm 69
3.2.4.Chức năng quản lý danh mục 69
3.2.5.Chức năng quản lý đơn hàng 70
3.2.6.Chức năng đăng xuất 70
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 71
TÀI LIỆU THAM KHẢO 72
Trang 10MỞ ĐẦU
1 Lý do chọn đề tài
Ngày nay, công nghệ thông tin không ngừng phát triển một cách mạnh mẽ vàhiện đại Các ứng dụng của công nghệ thông tin ngày càng đi sâu vào đời sống conngười trở thành một bộ phận không thể thiếu của thế giới văn minh Với xu thế toáncàu hóa nền kinh tế thế giới, đặc biệt là nhu càu trao đổi hàng hóa của con ngườingày càng tăng cả về số lượng và chất lượng, nhu cầu sử dụng Internet ngày càngnhiều và các hình thức kinh doanh trên mạng ngày càng đa dạng và trở thành mộtcông cụ không thể thiếu Vì vậy, nhiều cửa hàng sách đã áp dụng phương pháp bánhàng qua mạng (thương mại điện tử)
để khách hàng dễ dạng tìm kiếm thông tin và không cần tốn nhiều thời gianvà chiphí
Bằng việc lựa chọn và thực hiện đề tài “Xây dựng website bán điện”, em
muốn tìm hiểu và đưa ra một giải pháp tốt nhằm giải quyết công việc bán hàng trựctuyến cho cửa hàng Website mang lại cho cửa hàng rất nhiều lợi ich như: khả năngquảng cáo, phổ biến tên tuổi cửa hàng rất nhanh trên môi trường mạng toàn cầu,việc kinh doanh sẽ mở 24/24, giảm thiểu chi phí nhân viên cho tiếp thị, quảng cáo,
dễ dàng nhận phải hồi từ phía khách hàng, cơ hôi mở rộng liên kết và hợp tác v v
Website bán hàng giúp cho cửa hàng cung cấp cho khách hàng những lựa chọnlinh hoạt và tiện lợi trong việc tìm mua sản phẩm thông qua chức năng tìm kiếm vàgiỏ hàng Các thông tin về sản phẩm được hiển thị chi tiết với từng sản phẩm, từ đókhách hàng dễ dàng nhận biết và lựa chọn được thứ mình cần Về phía cửa hàng , hệthống mang lại sự tiện dụng trong việc cập nhập và quản lý các thông tin chowebsite, tạo khả năng liên lạc nhanh và dễ dàng với khách hàng
2 Mục đích và ý nghĩa của đề tài
a Mục đích
Xây dựng các chức năng cơ bản của một website bán hàng thương mại
Website có khả năng tự tương thích, hiển thị được trên tất cả các thiết bị hiện tại và
có thể nâng cấp trong tương lai
Trang 11Đem lại sự tiện lợi cho người sử dụng, tiết kiệm một khoản chi phí nhất định.
Áp dụng công nghệ vào trong cuộc sống, đem lại tính tiện ích cao cho mọingười
3 Đối tượng nghiên cứu
Tất cả mọi người sử dụng điện thoại thông minh, máy tính, laptop
4 Phạm vi nghiên cứu
Website bán hàng trực tuyến được xây dựng với tiêu chí phục vụ cho tất cảmọi người trong lĩnh vực thiết bị công nghệ với mong muốn đáp ứng đầy đủ cácmặt hàng, các chức năng của một website bán hàng trực tuyến
5 Phương pháp nghiên cứu
Phỏng vấn trực tiếp: gặp và tìm hiểu các yêu cầu, các mong muốn của người dùng
Quan sát: quan sát cách thức giao dịch, trao đổi điện thoại
6 Bố cục đề tài
Bài báo cáo được chia ra làm 4 chương chính như sau:
● Chương 1: Cơ sở lý thuyết
● Chương 2: Phân tích và thiết kế hệ thống
● Chương 3:Thiết kế cơ sở dữ liệu
● Chương 4: Xây dựng hệ thống
Trang 12Chương I: CƠ SỞ LÝ THUYẾT
1.1 KHẢO SÁT YÊU CẦU
- Qua thăm dò ý kiến của nhiều người dùng, mọi người đều thích một trangweb có thể tìm kiếm sản phẩm và thực hiện mua bán ngay trên điện thoại của mình
- Một số người lớn tuổi không thích sử dụng thiết bị thông minh,việc sửdụng cần nhiều thiết bị máy móc rắc rối nên cũng ít sử dụng
Trang 13- Giới trẻ rất dễ dàng tiếp cận với công nghệ và nhu cầu sử dụng thiết bị công nghệcao.
Trang 141.3 TỔNG QUAN VỀ HTML, CSS, JAVASCRIPT, JQUERY, BOOTSTRAP
1.3.1 Ngôn ngữ HTML
HTML(HyperText Markup Language hay “Ngôn ngữ Đánh dấu Siêu vănbản”), là một ngôn ngữ đánh dấu được thiết kế để tạo nên các trang web với cácmẩu thông tin được trình bày Trên Wide Web
Tim Berners-Lee là cha đẻ của HTML Từ năm 1996, các chi tiết kỹ thuậtHTML đã được duy trì, với sự đóng góp từ các nhà cung cấp phần mềm thươngmại, bởi World Wide Web Consortium(W3C)
HTML được viết theo mẫu của các thành phần HTML bao gồm các thẻ đượcđặt bên trong dấu ngoặc nhọn <>
HTML không phải là ngôn ngữ lập trình, nó là ngôn ngữ trình bày
1.3.2 Tìm hiểu CSS
Hiểu đơn giản: CSS dùng để tô màu cho website
Về định nghĩa:
- CSS là viết tắt của từ Cascading Style Sheets
- Được tổ chức World Wide Web (W3C) giới thiệu vào năm 1996
- Là ngôn ngữ định nghĩa cách hiển thị các thẻ html trên website ( nó sẽ làmcho các thẻ html có màu sắc, font chữ to nhỏ như Word)
- CSS khiến mã nguồn trang Web được gọn gàng hơn, tách nội dung củatrang web, định dạng và hiển thị dễ dàng cho việc nhập nội dung
- Có thể tạo ra các kiểu dáng áp dụng cho nhiều trang web, giúp tránh việclặp lại định dạng cho các trang web giống nhau
1.3.3 Thư viện bootstrap
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 pluginJavascript 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
Trang 151.3.4 Ngôn ngữ JavaScript - Jquery
● JavaScript
JavaScript, theo phiên bản hiện hành, là một ngôn ngữ lập trình kịch bản dựatrên đối tượng được phát triển từ các ý niệm nguyên mẫu Ngôn ngữ này được dùngrộng rãi cho các trang web, nhưng cũng được dùng để tạo khả năng viết script sửdụng các đối tượng nằm sẵn trong các ứng dụng Nó vốn được phát triển bởiBrendan Eich tại Hãng truyền thông Netscape với cái tên đầu tiên Mocha, rồi sau đóđổi tên thành LiveScript, và cuối cùng thành JavaScript Giống Java, JavaScript có
cú pháp tương tự C, nhưng nó gần với Self hơn Java .js là phần mở rộng thườngđược dùng cho tập tin mã nguồn JavaScript
Phiên bản mới nhất của JavaScript là phiên bản 1.5, tương ứng với ECMA-262bản ECMAScript là phiên bản chuẩn hóa của JavaScript Trình duyệt Mozilla phiênbản 1.8 beta 1 có hỗ trợ không đầy đủ cho E4X - phần mở rộng cho JavaScript hỗtrợ làm việc với XML, được chuẩn hóa trong ECMA-357
● Jquery
JQuery thư viện JavaScript đa trình duyệt được thiết kế để đơn giản hóa lậptrình phía máy người dùng của HTML, phát hành vào tháng 1 năm 2006 tạiBarCamp NYC bởi John Resig jQuery là thư viện JavaScript phổ biến nhất được sửdụng ngày nay
1.4 TÌM HIỂU SPRING MVC FRAMEWORK
1.4.1 Spring Framework
Spring là một Framework phát triển các ứng dụng Java được sử dụng bởi hàngtriệu lập trình viên Nó giúp tạo các ứng dụng có hiệu năng cao, dễ kiểm thử, sửdụng lại code…
Spring nhẹ và trong suốt (nhẹ: kích thước nhỏ, version cơ bản chỉ khoảng2MB; trong suốt: hoạt động một cách trong suốt với lập trình viên)
Spring là một mã nguồn mở, được phát triển, chia sẻ và có cộng đồng ngườidùng rất lớn
Spring Framework được xây dựng dựa trên 2 nguyên tắc design chính là:Dependency Injection và Aspect Oriented Programming
Trang 16Những tính năng core (cốt lõi) của Spring có thể được sử dụng để phát triểnJava Desktop, ứng dụng mobile, Java Web Mục tiêu chính của Spring là giúp pháttriển các ứng dụng J2EE một cách dễ dàng hơn dựa trên mô hình sử dụng POJO(Plain Old Java Object)
Spring Framework có 7 module riêng, mỗi module sẽ có file Jar riêng:
- Spring core: cung cấp những đặc tính Ioc và Dependency Ịnection
- Spring text: cung cấp cách để truy cập đối tượng
- Spring Dao: cung cấp cho tầng JDBC, bỏ bớt những coding dài dòng củaJDBC và chuyển đổi mã lỗi được xác định bởi database vendor
- Spring Orm: cung cấp tích hợp với HiberNate,JDO,Oracle Toplink, IBATISSQL Maps và JPA
- Spring AOP: tích hợp chức năng lập trình hướng khía cạnh vào Sringframework thông qua cấu hình của nó
- Spring Web: cung cấp đặc tính web như file-upload, khởi tạo IoC container
sử dụng trình lắng nghe servlet và web-oriented application context
- Spring MVC: cung cấp mô hình MVC cho ứng dụng web Spring MVCframework cung cấp sự phân biệt rõ ràng giữa các domain model và web form chophép bạn sử dụng tất cả các đặc tính khác của Spring framework
1.4.2 Spring MVC Framework
Tương tự như Struts,Spring MVC là một request-base framework Họ địnhnghĩa các phương pháp chung cho tất cả các response phải được giải quyết bằngmột request-based framework Mục đích của họ đơn giản là dễ dàng hơn chodeveloper viết các bổ sung và các cải tiến của riêng họ
Spring MVC giúp cho việc xây dựng ứng dụng web một cách chặt chẽ và linh động.Mẫu thiết kế Model-View-Controller giúp phân chia rạch ròi 3 công việc businesslogic, presentation logic và navigation logic Models chịu trách nhiệm đóng gói dữliệu của ứng dụng View có nhiệm vụ hiển thị thông tin cung cấp bởi đối tượngModel trả về cho người dùng Controllers chịu trách nhiệm nhận request từ ngườidùng và gọi dịch vụ bên dưới để xử lý
●Các thành phần quan trọng nhất và chức năng của một Spring MVC framework:
Trang 17○ Dispatcher Servlet là một lớp đứng ra quản lý toàn bộ các hành động củaframework(front controller) trong suốt quá trình thực thi các lệnh thông quaHTTP request.
○ Handler Mapping: chọn một đối tượng sẽ xử ý các request dựa trên các thuộctính và điều kiện của các request đó
○ Handler Adapter: thực thi các handler đã được chọn
○ Controller: đứng giữa Model và View để quản lý các request được gửi tới vàchuyển các response chính xác
○ View: chịu trách nhiệm trả các response cho client
○ ViewResolver: chọn phương pháp view dựa trên các ligical name đã có sẵn củaview
○ Handler Interceptor: ngăn chặn(lọc) các request từ user Nó được coi nhưServlet filler(không bắt buộc và không bị quản lý bởi Dispatcher Servlet)
○ LocaleResollver: xử lý và lưu một phần các thông tin của user
○ MultipartResolver: làm cho việc upload file dễ dang hơn bằng các gói cácrequest lại
● Luồng xử lý request trong Spring MVC Framework:
Việc xử lý request và response trong spring MVC Framwork được mô tả như sau:
Bước 1:
- DispatcherServlet nhận request
Trang 18- DispatcherServlet tra trong Handler Mapping và gọi Controller kết hợp với
request
Bước 2:
- Controller xử lý request bằng cách gọi những phương thức dịc vụ thích hợp
và sau đó trả về một đối tượng Model and View cho DispatcherServlet Đối tượng
Model and View này chứa dữ liệu trong đối tượng Model và tên của View
Bước 3: DispacherServlet gửi tên của View đến cho một ViewResolver
ViewResolver sẽ tìm view thực sự cần dùng
Bước 4:
- DispatcherServlet truyền đối tượng Model đến cho View đã xác định để hiểnthị kết quả
- View lấy dữ liệu trong đối tượng Model và hiển thị kết quả cho người dùng
● Các ưu điểm và khuyết điểm của Spring MVC:
+Spring MVC cung cấp một phân chia rất rõ ràng, rành mạch giữa những
controller, Java Bean models và View
+Spring MVC rất linh hoạt toàn bộ Spring MVC được xây dựng dựa trên
những Interface, class tiện ích sẵn có, và thậm chí được tạo bởi người dùng,
+Spring không chỉ sử dụng công nghệ JSP mà còn có thể dễ dàng tích họp với các công nghệ khác view khác như: Veloity, XSLT, FreeMarker,XL…
+Cung cấp cơ chế che dấu nền công nghệ bên dưới, trang web khi hiển thị chỉ
có extension là html, không thể biết được bên dưới ta sử dụng công nghệ, kỹ thuật JSP hay velocity, XLST… thậm chí những công nghệ view được custom bởi người dùng
+Spring Controller được cấu hình thông qua IoC như mọi đối tượng khác
Điều này làm chúng dễ dàng được test và được tích hợp dễ dàng với những đối
tuọng khác được quản lý bởi Spring
Trang 19+Kết buộc trực tiếp các input từ view với các đối tượng domains.
- Khuyết điểm:
+Cấu hình phức tạp và cồng kềnh nên không phát huy được sức mạnh khi áp
dụng cho các ứng dụng quy mô nhỏ mà có thể ngược lại làm cho ứng dụng phúc
tạp
1.5 MÔ HÌNH MVC
MVC (viết tắt của Model-View-Controller) là một mẫu kiến trúc phần mềm đểtạo lập giao diện người dùng trên máy tính MVC chia một ứng dụng thành ba phầntương tác được với nhau để tách biệt giữa cách thức mà thông tin được xử lý nộihàm và phần thông tin được trình bày và tiếp nhận từ phía người dùng
Khi sử dụng đúng cách, mẫu MVC giúp cho người phát triển phần mềm côlập các nguyên tắc nghiệp vụ và giao diện người dùng một cách rõ ràng hơn Phầnmềm phát triển theo mẫu MVC tạo nhiều thuận lợi cho việc bảo trì vì các nguyêntắc nghề nghiệp và giao diện ít liên quan với nhau
Trong mẫu Model-View-Controller, mô hình (model) tượng trưng cho dữliệu của chương trình phần mềm Tầm nhìn hay khung nhìn (view) bao gồm cácthành phần của giao diện người dùng Bộ kiểm tra hay bộ điều chỉnh (controller)quản lý sự trao đổi giữa dữ liệu và các nguyên tắc nghề nghiệp trong các thao tácliên quan đến mô hình
Trang 20Hình 1.2: Mô tả mô hình hoạt động MVCQuy trình xử lý chung của web hiện đại thường như sau:
Người dùng gọi yêu cầu xử lý tại trang chủ
● “Controller” nhận yêu cầu này và đưa lệnh xử lý yêu cầu đó Các lệnh thực
thi với phần “View” thì cập nhập hoặc phục vụ yêu cầu website, với “Model”thì để trình diễn logic Ta giả sử lệnh yêu cầu có yếu tố logic
● “Model” thực thi phần logic được lấy từ cơ sở dữ liệu và gửi trả lại phản hồi dựa trên hướng dẫn của “Controller”
● “Controller” truyền dữ liệu ra phần “View”, cập nhật giao diện hiển thị cho
người dùng
Với bất kì yêu cầu nào đều phải đi qua “Controller” trước khi chuyển hóa thành
lệnh thực thi cho “View” hoặc “Model”
1.6 GIỚI THIỆU CƠ SỞ DỮ LIỆU MYSQL
1.6.1 Giới thiệu về SQL
SQL, viết tắt của Structured Query Language (ngôn ngữ hỏi có cấu trúc), làcông cụ sử dụng để tổ chức, quản lý và truy xuất dữ liệu được lưu trữ trong các cơ
sở dữ liệu (CSDL) SQL là một hệ thống ngôn ngữ bao gồm tập các câu lệnh sử
Trang 21dụng để tương tác với CSDL quan hệ SQL được sử dụng để điều khiển tất cả cácchức năng mà một hệ quản trị CSDL cung cấp cho người dùng gồm:
● Định nghĩa dữ liệu: SQL cung cấp khả năng định nghĩa các CSDL, các cấutrúc lưu trữ và tổ chức dữ liệu cũng như mối quan hệ giữa các thành phần dữ liệu
● Truy xuất và thao tác dữ liệu: Với SQL, người dùng có thể dễ dàng thựchiện các thao tác truy xuất, bổ sung, cập nhật và loại bỏ dữ liệu trong các CSDL
● Điều khiển truy cập: SQL có thể được sử dụng để cấp phát và kiểm soát cácthao tác của người sử dụng trên dữ liệu, đảm bảo sự an toàn cho CSDL
● Đảm bảo toàn vẹn dữ liệu: SQL định nghĩa các ràng buộc toàn vẹn trongCSDL nhờ đảm bảo tính hợp lệ và chính xác của dữ liệu trước các thao tác cập nhậtcũng như các lỗi của hệ thống
SQL là một ngôn ngữ hoàn thiện được sử dụng trong các hệ thống CSDL và làmột thành phần không thể thiếu trong các hệ quản trị CSDL Mặc dù SQL khôngphải là một ngôn ngữ lập trình như C, C++, Java… song các câu lệnh mà SQL cungcấp có thể được nhúng vào trong các ngôn ngữ lập trình nhằm xây dựng các ứngdụng tương tác với CSDL
1.6.2 Vai trò của SQL
Trong hầu hết các hệ quản trị CSDL quan hệ, SQL có những vai trò như sau:
● SQL là ngôn ngữ hỏi có tính tương tác: Người sử dụng có thể dễ dàngthông qua các trình tiện ích để gửi yêu cầu dưới dạng các câu lệnh SQL đến CSDL
và nhận kết quả trả về từ CSDL
● SQL là ngôn ngữ lập trình CSDL: Các lập trình viên có thể nhúng các câulệnh SQL vào trong các ngôn ngữ lập trình để xây dựng nên các chương trình ứngdụng giao tiếp với CSDL
● SQL là ngôn ngữ quản trị CSDL: Thông qua SQL, người quản trị CSDL cóthể quản lý được CSDL, định nghĩa cấu trúc lưu trữ dữ liệu, điều khiển truy cậpCSDL…
● SQL là ngôn ngữ cho các hệ thống khách/chủ (client/server): Trong các hệthống CSDL khách/chủ, SQL được sử dụng như là công cụ để giao tiếp giữa cáctrình ứng dụng phía máy khách với máy chủ CSDL
Trang 22● SQL là ngôn ngữ truy cập dữ liệu trên Internet: Cho đến nay, hầu hết cácmáy chủ Web cũng như máy chủ trên Internet sử dụng SQL với vai trò là ngôn ngữ
để tương tác với dữ liệu trong các CSDL
● SQL là ngôn ngữ CSDL phân tán: Đối với các hệ quản trị CSDL phân tán,mỗi một hệ thống sử dụng SQL để giao tiếp với các hệ thống khác trên mạng, gởi
và nhận các yêu cầu truy xuất dữ liệu với nhau
● SQL là ngôn ngữ sử dụng cho các cổng giao tiếp CSDL: Trong một hệthống mạng máy tính với nhiều hệ quản trị CSDL khác nhau, SQL thường được sửdụng như là một chuẩn ngôn ngữ để giao tiếp giữa các hệ quản trị CSDL
1.6.3 Lập trình cơ sở dữ liệu SQL
● Đóng kết nối
conn.close();
1.7 MYSQL WORKBENCH
● Giới thiệu sơ lược về workbench
MySQL Workbench là một công cụ truy cập cơ sở dữ liệu được mô hình hóa
và thiết kế trực quan sử dụng cho cơ sở dữ liệu quan hệ MySQL server MySQL
Workbench giúp tạo ra các mô hình dữ liệu vật lý mới và hỗ trợ sửa đổi các cơ sở
dữ liệu MySQL hiện có với các kỹ thuật đảo ngược / chuyển tiếp, các chức năng
quản lý tùy chọn
● Một số tính năng nổi bật của Mysql Workbench
Trang 23Hỗ trợ nền tảng Windows, Linux và Mac OS X Hỗ trợ kết nối với máy chủ
MySQL Thiết lập cấu hình máy chủ, quản trị người dùng Sao lưu và khôi phục dữ liệu Các thao tác với bảng, khung nhìn, thủ tục, kích hoạt và sự kiện Khởi chạy cáccâu truy vấn SQL Nhập và xuất các tập tin SQL
1.8 WEB SERVICE
1.8.1. Tìm hiểu Web Service
Khi bạn xây dựng và phát triển một ứng dụng phân tán với số lượng ngườidùng lên đến hàng trăm, hàng nghìn người ở nhiều địa điểm khác nhau, khó khănđầu tiên mà bạn gặp phải là sự giao tiếp giữa Client và Server bị tường lửa(firewalls) và Proxy Server ngăn chặn lại
Web Services có thể giúp bạn giải quyết vấn đề khó khăn nêu trên Chúng ta
có thể hiểu rằng Web Services (tạm dịch là dịch vụ web) là tập hợp các phươngthức của một đối tượng mà các Client có thể gọi thực hiện
Ngoài khả năng ưu việt trên, Web Services có thể phối hợp hoạt động giữa cácứng dụng rất tốt
Web Services là một chuẩn mới để xây dựng và phát triển ứng dụng phân tán,
có khả năng làm việc trên mọi hệ điều hành, mở rộng khả năng phối hợp giữa cácứng dụng, có thể tái sử dụng, tăng cường sự giao tiếp giữa Client và Server thôngqua môi trường Web
Sau khi hoàn tất việc xây dựng, kiểm tra độ tin cậy và tính chính xác của Web Service, chúng ta sẽ tiến hành đưa Web Service đi vào sử dụng
Để sử dụng một Web Service, Client cần phải biết Web Service đó hỗ trợnhững phương thức nào, phương thức cần có những tham số nào, kết quả trả về rasao…
Trang 24CHƯƠNG II: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
2.1 MÔ TẢ NGHIỆP VỤ
2.1.1 Danh sách Actor
hàng, khách hàng tiềm năng) truy cậpwebsite
quản lý toàn bộ hệ thống như quản lý khách hàng, quản lý sản phẩm, quản
lý loại sản phẩm, quản lý thương hiệu,quản lý khuyến mãi, quản lý đơn hàng
2.1.2 Xác định use case của hệ thống
Quản lý tài khoảnQuản lý sản phẩmQuản lý đơn hàngQuản lý chi tiết đơn hàng
Quản lý tài khoản cá nhânQuản lý giỏ hàng
Tìm kiếm sản phẩmĐặt đơn hàng
Trang 252.2 BIỂU ĐỒ USE CASE
2.2.1 Use case tổng quát
● Use case Admin:
Biểu đồ 2.1: Sơ đồ use case Admin trên Website
● Use case khách hàng tiềm năng
Biểu đồ 2 2: Sơ đồ use case người dùng truy cập website
Trang 26● Use case Khách hàng
Biểu đồ 2.3: Sơ đồ use case khách hàng
2.2.2 Use case chi tiết
2.2.2.1 Use Case Admin trên Website
● Use case đăng nhập
Biểu đồ 2 4: Sơ đồ use case đăng nhập
Trang 27Use case ID: <UC_1.1>
được phân quyền
2 Hệ thống hiển thị trang đăng nhập
3 Admin nhập username
4 Admin nhập password
5 Admin nhấn nút Đăng nhập
6 Hệ thống sẽ load toàn bộ các chức năngcủa hệ thống
7 Use case kết thúc
(bắt đầu sau bước 1 của dòng sự kiện chính)
● Kết thúc use caseAlternative/exceptional
4 Hệ thống hiển thị trang đăng nhập
5 Use case kết thúc
● Admin phải có tài khoản
● Admin đang ở trang đăng nhập
công
● Fail: Admin đăng nhập thất bại
Trang 28Mockup screen:
● Use case quản lý tài khoản:
Biểu đồ 2.5: Sơ đồ use case quản lý tài khoản
2 Admin đăng nhập vào hệ thống
3 Admin chọn chức năng quản lý tài khoản
4 Hệ thống hiển thị trang quản lý tài khoản
5 Admin nhập thông tin khách hàng
6 Admin nhấn nút thêm
7 Hệ thống sẽ thêm tài khoản mà Admin vừa nhập
8 Use case kết thúc
khoản(bắt đầu sau bước 4 của dòng sự kiện chính)
● Kết thúc use caseAlternative/exceptional
flows:
● Exception flow
1 1 Admin chưa nhập đúng và đủ thông tin tài khoản (bắt đầu sau bước 4 của dòng sự kiện chính)
Trang 292 Hiển thị thông báo “Vui lòng kiểm tra lại thông tin vừa nhập!”
● Admin phải có tài khoản
● Admin đang ở trang quản lý tài khoản
công
● Fail: Thông tin tài khoản chưa được lưuMockup screen:
hàng
2 Admin đăng nhập vào hệ thống
3 Admin chọn chức năng quản lý tài khoản
4 Hệ thống hiển thị trang quản lý tài khoản
5 Admin chọn tên tài khoản cần sửa đổi
6 Admin nhập thông tin mới
7 Admin nhấn nút lưu
8 Hệ thống sẽ lưu những thông tin thay đổicủa User vừa sửa
9 Use case kết thúc
khoản(bắt đầu sau bước 4 của dòng sự kiện chính)
Trang 30● Kết thúc use caseAlternative/exceptional
flows:
● Exception flow
1 1: Admin chưa nhập đúng và đủ thông tin User cần sửa (bắt đầu sau bước 5 của dòng sự kiện chính)
2 Hiển thị thông báo “Vui lòng kiểm tra lại thông tin vừa nhập!”
● Admin phải có tài khoản
● Admin đang ở trang quản lý tài khoản
● Fail: Thông tin User sau khi sửa chưa được lưu
Mockup screen:
2 Admin đăng nhập vào hệ thống
3 Admin chọn chức năng quản lý tài khoản
4 Hệ thống hiển thị trang quản lý tài khoản
5 Admin chọn User cần xóa
6 Admin nhấn nút xóa
7 Hệ thống sẽ xóa User được chọn
8 Use case kết thúc
Trang 31a Admin đóng trang quản lý tài khoản(bắt đầu sau bước 4 của dòng sự kiện
4 Hệ thống hiển thị trang quản lýtài khoản
5 Use case kết thúc
● Admin phải có tài khoản
● Admin đang ở trang quản lý tài khoản
● Fail: User chưa được xóaMockup screen:
● Use case quản lý sản phẩm
Biểu đồ 2.6: Sơ đồ use case quản lý sản phẩm
Trang 32Use case Name: Thêm sản phẩm
2 Admin đăng nhập vào hệ thống
3 Admin chọn chức năng quản lý sản phẩm
4 Hệ thống hiển thị trang quản lý sản phẩm
5 Admin nhập thông tin sản phẩm vào trang
6 Admin nhấn nút thêm
7 Hệ thống sẽ thêm thông tin sản phẩm mà Admin vừa nhập
8 Use case kết thúc
hát(bắt đầu sau bước 4 của dòng sự kiện chính)
● Kết thúc use caseAlternative/exceptional
flows:
● Exception flow
1 Admin chưa nhập đúng và đủ thông tin bài hát (bắt đầu sau bước 4 của dòng sựkiện chính)
2 Hiển thị thông báo “Vui lòng kiểm tra lại thông tin vừa nhập!”
3 Admin nhấn “Đồng ý”
4 Hệ thống hiển thị trang quản lý bài hát
5 Use case kết thúc
● Admin phải có tài khoản
● Admin đang ở trang quản lý sản phẩm
Trang 33● Fail: Thông tin sản phẩm chưa được thêm
Mockup screen:
2 Admin đăng nhập vào hệ thống
3 Admin chọn chức năng quản lý sản phẩm
4 Hệ thống hiển thị trang quản lý sản phẩm
5 Admin chọn tên sản phẩm cần sửa đổi
6 Admin nhập thông tin mới
7 Admin nhấn nút lưu
8 Hệ thống sẽ lưu những thông tin thay đổicủa sản phẩm vừa sửa
9 Use case kết thúc
hát(bắt đầu sau bước 4 của dòng sự kiện chính)
● Kết thúc use caseAlternative/exceptional
flows:
● Exception flow
1 Admin chưa nhập đúng và đủ thông tin bài hát cần sửa (bắt đầu sau bước 5 củadòng sự kiện chính)
2 Hiển thị thông báo “Vui lòng kiểm tra lại thông tin vừa nhập!”
3 Admin nhấn “Đồng ý”
4 Hệ thống hiển thị trang quản lý bài hát
Trang 345 Use case kết thúc
● Admin phải có tài khoản
● Admin đang ở trang quản lý sản phẩm
công
● Fail: Thông tin sản phẩm sau khi sửa chưa được cập nhật
Mockup screen:
2 Admin đăng nhập vào hệ thống
3 Admin chọn chức năng quản lý sản phẩm
4 Hệ thống hiển thị trang quản lý sản phẩm
5 Admin chọn sản phẩm cần xóa
6 Admin nhấn nút xóa
7 Hệ thống sẽ xóa sản phẩm được chọn
8 Use case kết thúc
sản phẩm (bắt đầu sau bước 4 của dòng
Trang 35● Admin phải có tài khoản
● Admin đang ở trang quản lý sản phẩm
công
● Fail: sản phẩm chưa được xóaMockup screen:
●
Trang 36● Use case quản lý đơn hàng
Biểu đồ 2.7: Sơ đồ use case quản lý quản lý đơn hàng
2 Admin đăng nhập vào hệ thống
3 Admin chọn chức năng quản lý đơn hàng
4 Hệ thống hiển thị trang quản lý đơn hàng
5 Admin chọn đơn hàng cần xác nhận
6 Hệ thống cập nhật đơn hàng
7 Use case kết thúc
1 Admin đóng trang quản lý đơn hàng(bắt đầu sau bước 4 của dòng sự kiện chính)
2 Hiển thị chi tiết đơn hàng
3 Admin nhấn “Xác nhận đơn hàng”
4 Hệ thống cập nhật xác nhận đơn hàng
5 Hệ thống hiển thị trang quản lý đơn hàng
Trang 376 Use case kết thúc Alternative/exceptional
flows:
Không có
● Admin phải có tài khoản
● Admin đang ở trang quản lý đơn hàng
● Fail: đơn hàng chưa được xác nhậnMockup screen:
2 Admin đăng nhập vào hệ thống
3 Admin chọn chức năng quản lý đơn hàng
4 Hệ thống hiển thị trang quản lý đơn hàng
5 Admin chọn đơn hàng cần xóa
6 Admin chọn “Xóa đơn hàng”
7 Hệ thống xóa đơn hàng
8 Use case kết thúc
1 Admin đóng trang quản lý đơn hàng(bắt đầu sau bước 4 của dòng sự kiện chính)
2 Hiển thị chi tiết đơn hàng
3 Admin nhấn “Xóa đơn hàng”
4 Hệ thống xóa chi tiết đơn hàng
5 Hệ thống hiển thị trang quản lý đơn hàng
6 Use case kết thúc
Trang 38Alternative/exceptional
flows:
Không có
● Admin phải có tài khoản
● Admin đang ở trang quản lý đơn hàng
công
● Fail: Xóa đơn hàng không thành côngMockup screen:
● Use case quản lý danh mục sản phẩm
Biểu đồ 2.8: Sơ đồ use case quản lý danh mục sản phẩm
Trang 39Brief description: Thêm thông tin danh mục sản phẩm
2 Admin đăng nhập vào hệ thống
3 Admin chọn chức năng quản lý danh mục
4 Hệ thống hiển thị trang quản lý danh mục
5 Admin nhập thông tin danh mục vào form
6 Admin nhấn nút lưu
7 Hệ thống sẽ lưu thông tin danh mục mà Admin vừa nhập
8 Use case kết thúc
● Admin đóng trang quản lý danh mục(bắtđầu sau bước 4 của dòng sự kiện chính)
● Kết thúc use caseAlternative/exceptional
flows:
Không có
● Admin phải có tài khoản
● Admin đang ở trang quản lý danh mục
công
● Fail: Thông tin danh mục chưa được lưuMockup screen:
Trang 402 Admin đăng nhập vào hệ thống
3 Admin chọn chức năng quản lý danh mục
4 Hệ thống hiển thị trang quản lý danh mục
5 Admin chọn tên danh mục cần sửa đổi
6 Admin nhập thông tin mới
7 Admin nhấn nút lưu
8 Hệ thống sẽ lưu những thông tin thay đổicủa danh mục vừa sửa
9 Use case kết thúc
● Admin đóng trang quản lý danh mục(bắtđầu sau bước 4 của dòng sự kiện chính)
● Kết thúc use caseAlternative/exceptional
flows:
Không có
● Admin phải có tài khoản
● Admin đang ở trang quản lý danh mục
công
● Fail: Thông tin bài hát sau khi sửa, chưa được lưu
Mockup screen:
2 Admin đăng nhập vào hệ thống