1.1. Lý do chọn đề tài Hiện nay, ngành công nghệ thông tin đã có những bước phát triển nhanh chóng, ứng dụng của nó được áp dụng trong mọi lĩnh vực trên pham vi toàn thế giới. Công nghệ thông tin trở thành một phần không thể thiếu trong đời sống văn minh của nhân loại, góp phần đẩy mạnh công cuộc công nghiệp hóa, hiện đại hóa đất nước. Ứng dụng của công nghệ thông tin được xem là một trong những yếu tố mang tính quyết định sự thành bại trong hoạt động của công ty, các tổ chức, cá nhân,...
Trang 1TRƯỜNG ĐẠI HỌC QUẢNG KHOA: CÔNG NGHỆ THÔNG TIN
-ĐỀ CƯƠNG BÁO CÁO THỰC TẬP TỐT NGHIỆP
ĐỀ TÀI:
THIẾT KẾ WEBSITE BÁN MÁY TÍNH ONLINE
Sinh viên thực hiện: Lê Tự Tân
Lớp: DT15CTT02
Ngành: Công nghệ thông tin
Khóa học: 2015 – 2019
Giảng viên hướng dẫn: Ths Nguyễn Thị Minh Châu
Quảng Nam, ngày 20 tháng 2 năm 2019
Trang 2TRƯỜNG ĐẠI HỌC QUẢNG NAM
KHOA CÔNG NGHỆ THÔNG TIN
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập-Tự do- Hạnh phúc
ĐỀ CƯƠNG CHI TIẾT BÁO CÁO THỰC TẬP TỐT NGHIỆP
I THÔNG TIN CÁ NHÂN
1) Họ và tên: Lê Tự Tân
II THÔNG TIN ĐỀ TÀI:
9) Tên đề tài: Thiết kế Website bán máy tính online
10) Người hướng dẫn: Ths.Nguyễn Thị Minh Châu
Trang 3III NỘI DUNG
Phần 1 MỞ ĐẦU 1.1 Lý do chọn đề tài
Hiện nay, ngành công nghệ thông tin đã có những bước phát triển nhanhchóng, ứng dụng của nó được áp dụng trong mọi lĩnh vực trên pham vi toàn thếgiới Công nghệ thông tin trở thành một phần không thể thiếu trong đời sống vănminh của nhân loại, góp phần đẩy mạnh công cuộc công nghiệp hóa, hiện đạihóa đất nước Ứng dụng của công nghệ thông tin được xem là một trong nhữngyếu tố mang tính quyết định sự thành bại trong hoạt động của công ty, các tổchức, cá nhân,
Công nghệ thông tin làm thay đổi suy nghĩ, tư duy của mỗi người giúp conngười năng động hơn, kết nối nhanh hơn ở mọi lúc mọi nơi làm tăng hiệu quả,năng suất công việc Đặt biệt là trong các hệ thống thương mại điện tử
Trong thời buổi nền kinh tế thị trường phát triển, sản phẩm của nhà sản xuấtphải cạnh tranh mãnh liệt để được càng nhiều khách hàng biết đến và được bánvới doanh thu cao nhất càng tốt Cùng với sự thay đổi trong phương thức giaotiếp, cũng như nhu cầu gia tăng của số lượng người dùng sử dụng Internet Đây
có thể xem là một thách thức nhưng cũng là một cơ hội của doanh nghiệp bằngcách áp dụng công nghệ, phương thức quảng cáo mới nhằm phổ biến rộng rãisản phẩm của doanh nghiệp mình
Trước đây để có thể mua các sản phẩm máy tính phải ra tận cửa hàng mới
có thể mua được, tốn thời gian Để phục vụ nhu cầu mua được những sản phẩmvừa chất lượng vừa đáp ứng được đúng yêu cầu khách hàng Em đã quyết địnhthực hiện đề tài : Xây dựng website thương mại điện tử bán máy tính
1.2 Tính năng mới của đề tài
Giúp người mua dễ dàng tìm mua các loại máy tính phù hợp với nhu cầucông việc và túi tiền khách hàng qua đó nâng cao giá trị trang web
1.3 Mục tiêu của đề tài
- Mục tiêu:
+ Xây dựng được bộ cơ sở dữ liệu chính xác, cập nhật, ổn định
Trang 4+ Tìm hiểu về Java, JSP, Servlet cùng các thư viện hổ trợ thiết kế website+ Giao diện website: thân thiện với người dùng, đầy đủ một số chức năng
cơ bản của website bán hàng
+ Đơn giản hóa cách thức mua hàng qua mạng
- Mục đích:
+ Xây dựng website hoàn thiện về mặt nội dung cũng như giao diện, gópphần nâng cao chất lượng quản cáo, giá trị thương mại các mặt hàng thời trang,giúp người mua và người bán tìm đến nhau dễ dàng hơn
1.4 Đối tượng và phạm vi nghiên cứu
- Hệ quản trị cơ sở dữ liệu MySQL
- Ngôn ngữ: Java, Jsp, Servlet
- Framework : Bootstrap, Jquery
1.5 Phương pháp nghiên cứu
- Phương pháp nghiên cứu lý thuyết:
+ Phân tích và thiết kế theo hướng đối tượng.
+ Tìm hiểu mô hình của ứng dụng
+ Tham khảo các nguồn tài liệu từ Internet
- Phương pháp nghiên cứu thực nghiệm:
+ Đưa ra các yêu cầu quản lý và chức năng cần có, từ đó phân tích và thiết
kế hệ thống theo quy trình nghiệp vụ của một website thương mại điện tử
+ Xây dựng website hoàn chỉnh.
Trang 5Phần 2 NỘI DUNG NGHIÊN CỨU
CHƯƠNG I: CƠ SỞ LÝ THUYẾT 1.1 HTML
HTML (HyperText Markup Language) còn được gọi là ngôn ngữ đánh dấu
siêu văn bản, được tạo ra nhằm cấu trúc lên một trang web với các mẩu thông tinđược trình bày trên World Wide Web
1.2 CSS (Cascading Style Sheet)
Website được cấu tạo từ các thẻ html nhưng với những thẻ html mới chỉ thểhiện được bộ khung của website Để căn chỉnh, trình bày cho đẹp mắt thì ta cần
sử dụng ngôn ngữ CSS
Có thể chèn CSS vào HTML theo 3 cách:
- Trực tiếp: sử dụng thuộc tính style trong các thẻ HTML
- Nội bộ: sử dụng thẻ <style> trong phần <head> của HTML
- CSS ngoài: sử dụng một hoặc nhiều tập tin CSS ở bên ngoài
1.3 MySQL
MySQL là hệ quản trị cơ sở dữ liệu tự do nguồn mở phổ biến nhất thế giới
và được các nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng.MySQL là cơ sở dữ liệu tốc độ cao, ổn định và dễ sử dụng, có tính khả chuyển,hoạt động trên nhiều hệ điều hành cung cấp một hệ thống lớn các hàm tiện íchrất mạnh Với tốc độ và tính bảo mật cao, MySQL rất thích hợp cho các ứngdụng có truy cập CSDL trên internet
MySQL có nhiều đặc điểm cuốn hút:
- Tốc độ: MySQL rất nhanh Những nhà phát triển cho rằng MySQL là cơ
sở dữ liệu nhanh nhất mà bạn có thể có
- Dễ sử dụng: MySQL tuy có tính năng cao nhưng thực sự là một hệ thống
cơ sở dữ liệu rất đơn giản và ít phức tạp khi cài đặt và quản trị hơn các hệ thốnglớn
- Giá thành: MySQL là miễn phí cho hầu hết các việc sử dụng trong một
tổ chức
Trang 6- Hỗ trợ ngôn ngữ truy vấn: MySQL hiểu SQL, là ngôn ngữ của sự chọn
lựa cho tất cả các hệ thống cơ sở dữ liệu hiện đại Bạn cũng có thể truy cậpMySQL bằng cách sử dụng các ứng dụng mà hỗ trợ JDBC (Java DatabaseConnectivity - một chuẩn API (Application Program Interface) cho phép kết nốicác chương trình viết bởi Java với các hệ quản trị cơ sở dữ liệu)
- Năng lực: Nhiều client có thể truy cập đến server trong cùng một thời
gian Các client có thể sử dụng nhiều cơ sở dữ liệu một cách đồng thời Bạn cóthể truy cập MySQL tương tác với sử dụng một vài giao diện để bạn có thể đưavào các truy vấn và xem các kết quả: các dòng yêu cầu của khách hàng, các trìnhduyệt Web…
- Kết nối và bảo mật: MySQL được nối mạng một cách đầy đủ, các cơ sở
dữ liệu có thể được truy cập từ bất kỳ nơi nào trên Internet do đó bạn có thể chia
sẽ dữ liệu của bạn với bất kỳ ai, bất kỳ nơi nào Nhưng MySQL kiểm soát quyềntruy cập cho nên người mà không nên nhìn thấy dữ liệu của bạn thì không thểnhìn được
- Tính linh động: MySQL chạy trên nhiều hệ thống UNIX cũng như không
phải UNIX chẳng hạn như Windows hay OS/2 MySQL chạy được các với mọiphần cứng từ các máy PC ở nhà cho đến các máy server
- Sự phân phối rộng: MySQL rất dễ dàng đạt được, chỉ cần sử dụng trình
duyệt web của bạn Nếu bạn không hiểu làm thế nào mà nó làm việc hay tò mò
về thuật toán, bạn có thể lấy mã nguồn và tìm tòi nó Nếu bạn không thích mộtvài cái, bạn có thể thay đổi nó
- Sự hỗ trợ: Có thể tìm thấy các tài nguyên có sẵn mà MySQL hỗ trợ.
Cộng đồng MySQL rất có trách nhiệm Họ trả lời các câu hỏi trên mailing listthường chỉ trong vài phút Khi lỗi được phát hiện, các nhà phát triển sẽ đưa racách khắc phục trong vài ngày, thậm chí có khi trong vài giờ và cách khắc phục
đó sẽ ngay lập tức có sẵn trên Internet
1.4 Bootstrap
Bootstrap là một trong những CSS Framework phổ biến nhất hiện nay, do
Twitter phát triển CSS Framework này có ưu điểm là hỗ trợ khả năng
Trang 7responsive (tức là trang web sẽ tự động co giãn theo kích thước của cửa sổ trìnhduyệt), tương thích tốt với thiết bị cỡ nhỏ, với sự phổ biến của smartphone,tablet hiện nay, đây là một yếu tố vô cùng quan trọng giúp các nhà thiết kế, pháttriển ứng dụng web không cần phải design một bản riêng cho mobile hay PC,
mà chỉ cần thiết kế một lần duy nhất cho mọi thiết bị Việc này giúp tiết kiệm chiphí cho người chủ ứng dụng
1.5 Jquery
Jquery là một thư viện được tạo ra từ JavaScript, Ajax hay nói cách khác đó
là một bước phát triển mới của JavaScript Jquery làm cho chúng ta dễ dàng thaotác hơn và đỡ mất thời gian hơn khi thao tác trên Ajax cũng như JavaScript
1.6 Kiến trúc Client/Server
Kiến trúc Client/ Server là kiến trúc nổi tiếng trong mạng máy tính,hầu hết
các website hoạt động dựa trên kiến trúc này Trong đó Client là máy khách gửiyêu cầu đến máy Server Tại đây thì Server lắng nghe các yêu cầu từ máy Client,nhận thông tin từ Client sau đó xử lý, trả kết quả về cho máy Client
Kiến trúc Client/Server
1.7 Mô hình MVC
Mô hình MVC ( Model – View – Controller) là một trong những mô hìnhthiết kế được sử dụng trong kỹ thuật phát triển phần mềm, giúp cho cácdeveloper tách ứng dụng thành 3 phần là Model – View – Controller
Mỗi thành phần có một nhiệm vụ, chức năng riêng biệt, giúp phát triển ứngdụng nhanh, dễ bảo trì, nâng cấp hệ thống
Trang 8Mô hình MVC
Trong đó :
- Model: Là thành phần chứa tất cả các nghiệp vụ logic, phương thức
xử lý, truy xuất database, đối tượng mô tả dữ liệu, các ràng buộc quanhệ…
- View: Đảm bảo việc hiển thị thông tin, tương tác với người dùng, nơi
chứa tất cả các đối tượng GUI như textbox, images…
- Controller: Là phần quan trọng nhất trong mô hình MVC Đóng vai
trò nhận các yêu cầu từ phía client, tiến hành xử lí thông tin rồi trả thôngtin về cho client
Mô hình MVC với Java/JSP/Servlet
Mô hình MVC trong Java/JSP/Servlet
Controller
View Model
Trang 9- Model: đại diện cho đối tượng POJO ( các đối tượng java thuần túy gồm
các thuộc tính và phương thức), kết nối và tương tác với database để lấy dữliệu
- View: thể hiện đây là nơi người dùng có thể nhìn thấy được và dữ liệu
được trình bày dưới dạng trực quan Tại đây, View chỉ có nhiệm vụ hiển thị dữliệu
- Controller: hay nói cách khác là bộ điều khiển là thành phần chịu tráchnhiệm truyền thông giữa Model và View
1.2 Khái quát về ngôn ngữ Java
1.2.1 Java được sử dụng để làm gì
Viết ứng dụng web (J2EE): Java thường được sử dụng để xây dựng các hệthống web lớn đòi hỏi độ bảo mật cao, số lượng người dùng lớn như ngân hàng,phần mềm quản lý bệnh viện, CRM, HRM Đối với các website nhỏ thôngthường rất ít viết bằng Java
Viết ứng dụng mobile (J2ME): Trước đây nền tảng J2ME thường được sửdụng để viết game và app cho di động feature phone (file jar) và giờ đây khismartphone Android lên ngôi Java lại tiếp tục được sử dụng để viết app và gamecho nền tảng Android (file apk)
Viết ứng dụng desktop (J2SE): Các ứng dụng desktop viết bằng Java thật
sự không nhiều có thể kể đến một số phần mềm như JMeter hoặc DesignerVista Lợi thế lớn nhất của ứng dụng Java là bạn chỉ viết một lần và sau đó cóthể đem chương trình lên Windows, Linux hay Mac để chạy mà không cần phảiviết lại Tuy nhiên do chạy trên JVM nên hiệu suất của ứng dụng thấp hơn mộtchút so với các ngôn ngữ như C/C++, C#
Để lập trình Java cần cài đặt :
- JDK (Java Development KIT): bao gồmJRE (Java RuntimeEnviroment)
và thư viện để phát triển
- IDE (Integrated Development Environment): là ứng dụng giúp lập trình
viên phát triển dễ dàng và nhanh chóng hơn Bạn có thể sử dụng Netbeans,Eclipse hoặc IntelliJ IDEA để phát triển
Trang 101.2.2 Cơ chế hoạt động
Java thiết kế cho mục đích đa nền (không phụ thuộc vào bất kì hệ điềuhành nào) nên mã của chương trình Java sau khi biên dịch thường là một file nhịphân Java biên dịch ra mã nhị phân gọi là byte-code và được triệu gọi thực thitrong máy ảo Java mang tên mở rộng là class
Máy ảo Java (JVM) là một trình thông dịch bình thường có khả năng thựcthi các mã bytecode tương tự như một bộ xử lý của máy tính thực thi các mã nhịphân thành các chỉ thị mã máy Chính vì lý do này ta chỉ cần viết máy ảo javacho từng hệ điều hành là chương trình Java có thể chạy như nhau ở mọi nơi trêncùng một kiến trúc máy ảo
Java có thể dùng để viết một chương trình ứng dụng tương tự như mọingôn ngữ lập trình khác Có thể dùng Java để viết Applet hoặc Servlet hay mãtrang JSP là những thành phần ứng dụng đặc biệt dùng cho trình duyệt (browser)
và trình chủ (web server)
1.2.3 Đặc điểm
Java là ngôn ngữ lập trình hướng đối tượng nên nó cũng có 4 đặc điểmchung của các ngôn ngữ hướng đối tượng:
a Tính trừu tượng (Abstraction)
Là tiến trình xác định và nhóm các thuộc tính, các hành động liên quan đếnmột thực thể đặc thù, xét trong mối tương quan với ứng dụng đang phát triển
b Tính đa hình (Polymorphism)
Java là ngôn ngữ lập trình hướng đối tượng nên nó cũng có 4 đặc điểmchung của các ngôn ngữ hướng đối tượng
c Tính kế thừa (Inheritance)
Điều này cho phép các đối tượng chia sẻ hay mở rộng các đặc tính sẵn có
mà không phải tiến hành định nghĩa lại
d Tính đóng gói (Encapsulation)
Là tiến trình che giấu việc thực thi những chi tiết của một đối tượng đối vớingười sử dụng đối tượng ấy
Trang 11e Một số đặc tính khác
Độc lập nền (Write Once, Run Anywhere): Không giống như nhiều ngônngữ lập trình khác như C và C ++, khi Java được biên dịch, nó không được biêndịch sang mã máy cụ thể, mà thay vào đó là mã byte code chạy trên máy ảo Java(JVM) Điều này đồng nghĩa với việc bất cứ thiết bị nào có cài đặt JVM sẽ cóthể thực thi được các chương trình Java
Đơn giản: học Java thật sự dễ hơn nhiều so với C/C++, nếu bạn đã quen vớicác ngôn ngữ lập trình hướng đối tượng thì việc học Java sẽ dễ dàng hơn Javatrở nên đơn giản hơn so với C/C++ do đã loại bỏ tính đa kế thừa và phép toáncon trỏ từ C/C++
Bảo mật: Java hỗ trợ bảo mật rất tốt bởi các thuật toán mã hóa như mã hóamột chiều (one way hashing) hoặc mã hóa công cộng (public key)
Đa luồng: Với tính năng đa luồng Java có thể viết chương trình có thể thựcthi nhiều task cùng một lúc Tính năng này thường được xử dụng rất nhiều tronglập trình game
Hiệu suất cao: Nhờ vào trình thu gom rác (garbage collection), giải phóng
bộ nhớ đối với các đối tượng không được dùng đến
Linh hoạt: Java được xem là linh hoạt hơn C/C ++ vì nó được thiết kế đểthích ứng với nhiều môi trường phát triển
1.2.4 Công nghệ máy chủ web Java
a JSP
JSP (JavaServer Pages) là một công nghệ (API) của java sử dụng để làmweb cho phép người lập trình có thể đưa các cú pháp của java vào trong mộttrang HTML bằng cách sửa dụng các thẻ JSP mở đầu bằng <% và kết thúc %>
từ đó một trang HTML năng động hơn
b SERVLET
Java Servlet API cho phép nhà phát triển phần mềm thêm những nội dungđộng vào Web server sử dụng nền tảng Java Nó phát sinh nội dung thôngthường là HTML, đôi khi cũng có thể là các ngôn ngữ khác như XML
Trang 12Servlets là bản sao Java của các kỹ thuật trình bày nội dung Web động khácnhư là PHP, CGI và ASP.NET Servlets có thể duy trì tình trạng thông qua cácgiao dịch của máy chủ bằng việc sử dụng HTTP cookies, các giá trị session hoặcURL rewriting.
1.3 Công cụ sử dụng
1.3.1 Eclipse
Eclipse IDE là một môi trường phát triển tích hợp (IDE) cho Java và cácngôn ngữ lập trình khác như C, C ++, PHP, và Ruby … Eclipse còn hỗ trợ cholập trình viên code theo các mô hình phát triển như MVC, tạo thêm các lib ( thưviện ) hỗ trợ phát triển phần mềm
1.3.2 Navicat
Navicat là một công cụ quản lý cơ sở dữ liệu được sử dụng rộng rãi bởi cácnhà phát triển phần mềm bên cạnh đó còn giúp những người mới sử dụng dễdàng thao tác với cơ sở dữ liệu Với giao diện thân thiện, Navicat cho phép bạnnhanh chóng tạo, sắp xếp, truy cập và chia sẻ thông tin an toàn và tiện lợi
Navicat hỗ trợ đa kết nối như MySQL, PostgreSQL, Oracle, SQLite, SQLServer
Trang 13CHƯƠNG II: PHÂN TÍCH THIẾT KẾ HỆ THỐNG 2.1 Mô tả bài toán
Hệ thống buôn bán qua mạng chạy trên nền web giúp công việc trao đổihàng hóa được tiến hành một cách nhanh chóng, tiện lợi và ít tốn kém nhất.Cung cấp những dịch vụ và giải pháp quảng cáo rao vặt hàng đầu trên internet
Hệ thống ra đời nhằm đáp ứng mọi nhu cầu giúp khách hàng mua nhữngsản phẩm của apple Thông tin sẽ được truyền tải tới người sử dụng một cáchnhanh chóng và hiệu quả nhất giúp người dùng dễ dàng tìm kiếm thông tin sảnphẩm mình cần với giá cả chính xác Sau khi khách hàng đặt những mặt hàngcần mua sẽ hiển thị đơn đặt hàng để khách hàng nhập vào những thông tin cầnthiết, tránh đòi hỏi hay yêu cầu quá nhiều từ khách hàng, tạo cảm giác thoải mái,riêng tư cho khách hàng
Hệ thống giúp quản trị viên làm chủ mọi hoạt động của trang web , quản trịviên truy cập vào hệ thống nhằm thực hiện các chức năng như: quản lý sảnphẩm, thành viên, kiểm tra và xử lý đơn đặt hàng
Hệ thống gồm 3 phân hệ: Phân hệ khách hàng, phân hệ thành viên và phân
2.2.3 Quản trị viên
Theo dõi đơn hàng, quản lý sản phẩm và thông tin khách hàng
Trang 142.3 Xác định Use Case
2.3.1 Khách hàng
- Xem trang chủ
- Xem sản phẩm theo chủng loại
- Tìm kiếm theo tên sản phẩm
- Xem chi tiết sản phẩm được chọn
Trang 152.4 Biểu đồ UC
2.4.1 Biểu đồ UC tổng quát
Trang 162.4.2 Biểu đồ UC chi tiết
Trang 17g UC Quản lý thông tin cá nhân
i UC Mua hàng
k UC Quản lý đơn hàng
l UC Quản lý sản phẩm
Trang 18m UC Quản lý danh sách khách hàng
2.5 Biểu đồ trình tự và Đặc tả các UC 2.5.1 UC Đăng nhập
Trang 19a Đặc tả UC đăng nhập
Quản trị viên
Mô tả Cho phép người dùng truy cập vào tài khoản
website Điều kiện tiền quyết Thành viên chưa đăng nhập vào website
- Nếu nhập sai thông tin đăng nhập thì chuyển sang luồng thay thế
6 Kết thúc UC Luồng thay thế A1 Nhập sai thông tin đăng nhập
Tác nhân Hệ thống phản hồi
nhập không chính xác
- Nếu không đồng
ý thì UC kết thúc Điều kiện sau Đăng nhập vào tài khoản website thành công Điều kiện thoát
Trang 20b Biểu đồ trình tự UC đăng nhập