bài báo cáo khóa luận dài 80 trang đầy đủ các yêu cầu của giáo viên hướng dẫn:PHẦN I: MỞ ĐẦUPHẦN II: NỘI DUNGCHƯƠNG I: LÝ THUYẾTCHƯƠNG 2: PHÂN TÍCH THIẾT KẾ DỮ LIỆUChương 3: THIẾT KẾ GIAO DIỆN
Trang 1TRƯỜNG ĐẠI HỌC THỦ DẦU MỘT
KHOA CÔNG NGHỆ THÔNG TIN
BÁO CÁO KHÓA LUẬN TỐT NGHIỆP
NGÀNH: KỸ THUẬT PHẦN MỀM
TÊN ĐỀ TÀI:
XÂY DỰNG WEBSITE THỜI TRANG ONLINE
Mã số sinh viên:
Trang 2LỜI CẢM ƠN
“Cơm cha áo mẹ chữ thầy”, câu nói từ xưa đã thấm nhuần vào tâm tư tình cảm của mỗi
người Việt Nam để nói lên công ơn nuôi dưỡng, dạy dỗ của cha mẹ, thầy cô Trong thời gian học tập tại trường đại học Thủ Dầu Một, câu nói ấy ngày càng in sâu vào tâm trí em Ngày hôm nay, được nhận đề tài tốt nghiệp do nhà trường giao phó, em cảm thấy rất vinh
dự Trong quá trình thực hiện đồ án tốt nghiệp, tuy đã rất nỗ lực nhưng em nhận thấy kiến thức và kinh nghiệm của bản thân còn rất hạn hẹp Để vượt lên những trở ngại đó, cha mẹ luôn động viên, các thầy cô đã không quản ngại hướng dẫn, giúp đỡ tận tình để em hoàn thành khóa luận tốt nghiệp này
Nếu không có cha mẹ, không có thầy cô chắc chắn em sẽ không có được như ngày hôm nay
Trước tiên, con xin thành kính cảm ơn cha mẹ đã cho con tất cả để con vững bước trên con đường đời
Em xin gửi lời cảm ơn chân thành đến thầy Ths Nguyễn Thái Nho đã tận tình hướng
dẫn em hoàn thành đồ án tốt nghiệp này Em sẽ luôn trân trọng và gìn giữ những tình cảm tốt đẹp mà thầy đã dành cho em
Một lần nữa, em xin gửi lời cảm ơn đến tất cả các thầy cô Trường đại học Thủ Dầu Một
đã giảng dạy, giúp đỡ em trong thời gian vừa qua
Bình Dương, Ngày tháng năm 2013
Sinh viên thực hiện
Phan Thị Thanh Hương
Trang 3TRƯỜNG ĐẠI HỌC THỦ DẦU MỘT KHOA CÔNG NGHỆ THÔNG TIN
NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN
(Nhận xét này ghi riêng cho từng sinh viên)
Họ và tên cán bộ hướng dẫn:
Học hàm:
Học vị:
Chức vụ:
Nhận xét báo cáo thực tập của sinh viên:………
Lớp: Khoá:
Tên đề tài: Nội dung nhận xét:
Điểm:
Bằng số:
Bằng chữ:
XÁC NHẬN CỦA LÃNH ĐẠO KHOA
(Chức vụ, ký, ghi rõ họ tên)
GIẢNG VIÊN HƯỚNG DẪN
(Ký, ghi rõ họ tên)
Trang 4TRƯỜNG ĐẠI HỌC THỦ DẦU MỘT KHOA CÔNG NGHỆ THÔNG TIN
NHẬN XÉT CỦA GIẢNG VIÊN PHẢN BIỆN
(Nhận xét này ghi riêng cho từng sinh viên)
Họ và tên cán bộ hướng dẫn:
Học hàm:
Học vị:
Chức vụ:
Nhận xét báo cáo thực tập của sinh viên:………
Lớp: Khoá:
Tên đề tài: Nội dung nhận xét:
Điểm:
Bằng số:
Bằng chữ:
XÁC NHẬN CỦA LÃNH ĐẠO KHOA
(Chức vụ, ký, ghi rõ họ tên)
GIẢNG VIÊN PHẢN BIỆN
(Ký, ghi rõ họ tên)
Trang 5MỤC LỤC
PHẦN I: MỞ ĐẦU 1
1 Lý do chọn đề tài: 1
2 Mục đích của đề tài 1
3 Đối tượng và phạm vi của đề tài 2
4 Ứng dụng của đề tài 2
5 Phương pháp nghiên cứu: 2
PHẦN II: NỘI DUNG 3
CHƯƠNG I: LÝ THUYẾT 3
1 PHP 3
2 PhpMyAdmin 4
3 Mô hình MVC (Model – View - Controller) 5
4 XAMPP: 7
5 Navicat (MySQL GUI) 9
6 Power designer 13
7 Netbean 14
CHƯƠNG 2: PHÂN TÍCH & THIẾT KẾ DỮ LIỆU 16
1 Đặt vấn đề 16
2 Khảo sát hiện trạng 16
3 Đặt tả yêu cầu 17
4 Yêu cầu phi chức năng 17
5 Phạm vi hệ thống 18
6 Phân tích 19
7 Mô hình vật lý 20
8 Thiết kế 24
Chương 3: THIẾT KẾ GIAO DIỆN 39
1 Giao diện trang quản trị 39
1.1 Đăng nhập 39
1.2 Users 39
1.3 Loại hàng 40
Trang 61.4 Mặt hàng 41
1.5 Khách hàng 42
1.6 Nhà cung cấp 43
1.7 Phiếu nhập 44
1.8 Hoá đơn 44
1.9 Liên hệ 45
1.10 Tin tức 45
1.11 Thống kê 46
1.12 Tồn kho 47
2 Giao diện trang web 47
2.1 Trang chủ 47
2.2 Giới thiệu 49
2.3 Sản phẩm 49
2.4 Chi tiết sản phẩm 50
2.5 Giỏ hàng 51
2.6 Tin tức – sự kiện 52
2.7 Liên hệ 52
2.8 Tìm kiếm 53
CHƯƠNG 4: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 54
TÀI LIỆU KHAM KHẢO 55
PHỤ LỤC 56
1 Chuẩn bị 56
2 Hướng dẫn import dữ liệu 56
3 Hướng dẫn chạy website Bán Hàng Online 58
Trang 7DANH MỤC CÁC BẢNG
Bảng 1: R1 24
Bảng 2: R2 25
Bảng 3: R3 25
Bảng 4: R4 25
Bảng 5: R5 25
Bảng 6: R6 26
Bảng 7: R7 26
Bảng 8: R8 26
Bảng 9: R9 27
Bảng 10: R10 27
Bảng 11: R11 27
Bảng 12: R12 27
Bảng 13: R13 28
Bảng 14: R14 28
Bảng 15: R15 28
Bảng 16: R16 29
Bảng 17: R17 29
Bảng 18: R18 29
Bảng 19: R19 30
Bảng 20: R20 30
Bảng 21: R21 30
Bảng 22: R22 31
Bảng 23: R23 31
Trang 8Bảng 24: R 32
DANH MỤC CÁC HÌNH Hình 2.1: Quá trình thông dịch trang PHP 3
Hình 2.2: Giao diện của PhpMyAdmin 5
Hình 2.3: Mô hình MVC 6
Hình 2.4: Giao diện của XAMPP 8
Hình 2.5: Giao diện của Navicat (MySQL GUI) 9
Hình 2.6: Giao diện của Sybase PowerDesigner 13
Hình 2.7: Giao diện của NetBean IDE 15
Hình 2.8: Hoá đơn bán hàng 16
Hình 2.9: Pham vi hệ thống 18
Hình 2.10: Mô hình ERD 19
Hình 2.11: Mô hình tối ưu hoá 19
Hình 1.12: Mô hình vật lýTheo thành phần xử lý 20
Hình 2.13: Quản lý 21
Hình 2.14: Active 21
Hình 2.15: Khách hàng 22
Hình 2.16: Đăng nhập 22
Hình 2.17: Duyệt hàng 23
Hình 2.18: Huỷ đơn hàng 23
Hình 2.19: Môi hình Database 24
Hình 2.20: Xử lý đăng nhập 33
Hình 2.21: Đăng ký 34
Trang 9Hình 2.22: Duyệt hàng 35
Hình 2.23: Kiểm tra8.2.5 Hủy đơn hàng 36
Hình 2.24: Huỷ đơn hàng 37
Hình 2.25: Cấu trúc website 38
Hình 2.26: Giao diện đăng nhập 39
Hình 2.27: Danh sách users 39
Hình 2.28: Xem loại hàng 40
Hình 2.29: Thêm loại hàng 40
Hình 2.30: Xem mặt hàng 41
Hình 2.31: Thêm mặt hàng 41
Hình 2.32: Xem khách hàng 42
Hình 2.34: Xem nhà cung cấp 43
Hình 2.35: Thêm nhà cung cấp 43
Hình 2.36: Xem phiếu nhập 44
Hình 2.37: Thêm phiếu nhập 44
Hình 2.38: Xem hoá đơn 44
Hình 2.39: Xem liên hệ 45
Hình 2.40: Xem tin tức 45
Hình 2.41: Thêm tin tức 46
Hình 2.42: Xem số lượng mặt hàng 46
Hình 2.43: Số lượng doanh thu theo ngày 47
Hình 2.44: Mặt hàng tồn kho 47
Hình 2.45: Trang chủ 48
Hình 2.46: Giới thiệu 49
Hình 2.47: Sản phẩm 49
Trang 10Hình 2.48: Chi tiết sản phẩm 50
Hình 2.49: Giỏ hàng 51
Hình 2.50: Tin tức – sự kiện 52
Hình 2.51: Liên hệ 52
Hình 2.52: Tìm kiếm theo giá 53
Hình 2.53: Tìm kiếm theo tên 53
Trang 11GVHD: Th.s Nguyễn Thái Nho Trang 1
PHẦN I: MỞ ĐẦU
1 Lý do chọn đề tài:
Ngày nay với việc khoa học kỹ thuật ngày càng phát triển mạnh mẽ đặc biệt là công nghệ thông tin, những gì mà công nghệ thông tin tạo ra giúp con người phát triển trong nhiều lĩnh vực
Đặc biệt trong lĩnh vực thương mại điện tử, việc áp dụng công nghệ thông tin vào thương mại điện tử giúp cho việc mua bán trên mạng ngày càng dễ dàng và thuận tiện hơn Việc mua bán trên mạng dễ dàng hơn, sẽ kích thích người tiêu dùng mua hàng nhiều hơn qua đó sẽ làm tăng doanh thu cho cửa hàng Tuy nhiên hiện nay việc mua bán trên mạng cũng còn gặp phải nhiều vấn đề cần phải giải quyết như:
- Người tiêu dùng lo ngại về chất lượng sản phẩm
- Lo ngại về hàng hóa không đến được tay người tiêu dùng
- Lo ngại về tính bảo mật thông tin của khách hàng trên website thương mại điện tử
- Lo ngại về tính bảo mật của hệ thống thanh toán trên website thương mại điện tử Mặt khác việc bán hàng qua mạng có nhiều lợi ích hơn so với bán hàng truyền thống như:
- Quảng bá thông tin và tiếp thị trong thị trường toàn cầu với chi phí thấp
- Cung cấp dịch vụ tốt hơn cho khách hàng
- Tăng doanh thu và giảm chi phí
- Tạo lợi thế cạnh tranh
Do đó, để tạo nên một website thương mại điện tử chuyên nghiệp và tạo được lòng tin cho khách hàng là một việc không dễ dàng
Trong khuôn khổ đề tài của mình, em chỉ dừng lại ở việc giới thiệu sản phẩm thời trang và nhận đặt hàng qua mạng Mặc dù đã cố gắng rất nhiều để hoàn thành công việc nhưng do thời gian có hạn và kiến thức thực tế chưa nhiều nên còn nhiều thiếu sót cần được bổ xung Em mong nhận được ý kiến đóng góp của thầy cô và bạn bè
2 Mục đích của đề tài
- Thông tin hiện nay là một lĩnh vực rất quan trọng đối với cuộc sống hiện nay, bên cạnh đó các nhu cầu nghe nhìn, giải trí, trao đổi thông tin,…Vì vậy cần các mặt hàng khác nhau để phục vụ nhu cầu trên, nhưng để chọn được những mặt hàng như ý đúng với nhu cầu sử dụng thì không phải dễ, với lý do đó mà em xây dựng nên website bán hàng online Nhằm một phần nào đó giúp khách hàng có thể lựa chọn và
Trang 12GVHD: Th.s Nguyễn Thái Nho Trang 2
mua những mặt hàng mọi lúc mọi nơi mà không cần đi xa mà hàng về tận nhà chỉ cần một cú click chuột
3 Đối tượng và phạm vi của đề tài
- Khách hàng
- Mạng Internet
- Các thiết bị sử dụng trên mạng như máy tính ,…
4 Ứng dụng của đề tài
cho người sử dụng có thể dễ dàng mua bán sản phẩm, quảng bá sản phẩm, cập nhật thông tin của các sản phẩm mới, sản phẩm bán chạy của cửa hàng, tư vấn trực tiếp cho khách hàng qua internet, góp phần quảng bá thương hiệu, giảm chi phí kinh doanh và tăng doanh thu cho cửa hàng
tin chi tiết về sản phẩm của cửa hàng, tìm kiếm sản phẩm, có thể đăng nhập để mua hàng, gửi các góp ý đến với cửa hàng để cửa hàng có thể hoàn thiện hơn, làm cho cửa hàng ngày càng trở nên vững mạnh hơn
thương mại điện tử Ngoài ra có thể giúp em hiểu biết sâu rộng về những ngôn ngữ
và phần mềm hỗ trợ em trong quá trình làm đồ án Bên cạnh đó còn giúp em hoàn thành đồ án tốt nghiệp
5 Phương pháp nghiên cứu:
- Sử dụng các công cụ sau: Xampp, Navicar for MySQL, Dreamweaver CS6,
Powwer designer, Netbean
- Sử dụng ngôn ngữ: PHP
Trang 13PHẦN II: NỘI DUNG
CHƯƠNG I: LÝ THUYẾT
1.1 Giới thiệu:
PHP (Hypertext Preprocessor) là một ngôn ngữ lập trình kịch bản hay một loại mã
lệnh chủ yếu được dùng để phát triển các ứng dụng viết cho máy chủ, mã nguồn mở Nó rất thích hợp với web và có thể dễ dàng nhúng vào trang HTML Do được tối ưu hóa cho các ứng dụng web, tốc độ nhanh, nhỏ gọn, cú pháp giống C và Java, dễ học và thời gian xây dựng sản phẩm tương đối ngắn hơn so với các ngôn ngữ khác nên PHP đã nhanh
chóng trở thành một ngôn ngữ lập trình web phổ biến nhất thế giới
PHP là kịch bản trình chủ (Server Script) được chạy trên nền PHP Engine, cùng với ứng dụng Web Server để quản lý chúng Web Server thường sử dụng là IIS, Apache Web Server, Xampp,…
Khi người sử dụng gọi trang PHp, Web Server triệu gọi PHP Engine để thông dịch (tương tự như ASP 3.0 chỉ thông dịch chứ không phải biên dịch) dịch trang PHP va trả về kết quả cho người sử dụng
Hình 2.1: Quá trình thông dịch trang PHP
Trang 141.2 Ưu điểm
Đa môi trường
- Web Servers: Apache, Microsft IIS, Caudium, Netscape Enterprise Server
- Hệ điều hành: UNIX, Mac OSX, Windows NT/98/2000/xp/2003/Vista/Win7
- Hệ quản trị: MySQL, ODBC, Oracle,…
Miễn phí, Được sử dụng rộng rãi trong môi trường phát triển web
Thư viện script PHP cũng rất phong phú và đa dạng
Với thư viện code phong phú, việc học tập và ứng dụng PHP trở nên rất dễ dàng và nhanh chóng Đây cũng chính là đặc điểm khiến PHP trở nên khá nổi bật và cũng là nguyên nhân vì sao ngày càng có nhiều người sử dụng PHP để phát triển web
Với việc tích hợp sẵn nhiều Database Client trong PHP đã làm cho ứng dụng PHP dễ dàng kết nối tới các hệ cơ sở dữ liệu thông dụng
Việc cập nhật và nâng cấp các Database Client đơn giản chỉ là việc thay thế các Extension của PHP để phù hợp với hệ cơ sở dữ liệu mà PHP sẽ làm việc
Một số hệ cơ sở dữ liệu thông dụng mà PHP có thể làm việc là: MySQL, MS SQL, Oracle, Cassandra…
2.1 Giới thiệu:
MySQL là hệ quản trị cơ sở dữ liệu mã 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 Vì 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 ích rất mạnh
Trang 15Hình 2.2: Giao diện của PhpMyAdmin
2.2 Ưu điểm:
Phần mềm quản trị CSDL dạng server-based
Quản lý dữ liệu thông qua các CSDL, mỗi CSDL có thể có nhiều bảng quan hệ chứa
dữ liệu
Có cơ chế phân quyền người sử dụng riêng, mỗi người dùng có thể được quản lý một
hoặc nhiều CSDL khác nhau
Trang 16Hình 2.3: Mô hình MVC Module: là một đối tượng hoặc một tập hợp các đối tượng biểu diễn cho phần dữ
liệu của chương trình
View: là phần giao diện với người dùng, bao gồm việc hiện dữ liệu ra mang hình,
cung cấp các menu, nút bấm, hộp đối thoại, chọn lựa…,để người dùng có thể thêm, xóa, sửa., tìm kiếm và làm các thao tác khác đối với dữ liệu trong hệ thống …
Controller: chịu trách nhiệm xử lý các tác động về mặt giao diện, các thao tác đối
với models, và cuối cùng là chọn một view thích hợp để hiện thị ra màng hình Trong kiến trúc MVC, view chỉ có tác dụng hiển thị giao diện mà thôi, còn điều khiển dòng nhập xuất của người dùng vẫn do controller đảm trách
Sẽ giúp cho tiếng độ thực hiện ứng dụng sẽ nhanh hơn
Việc nâng cấp chỉnh sửa sẽ dễ dàng hơn
Rất thích hợp với các ứng dụng web nhiều người cùng tham gia phát triển
Có tính chuyên nghiệp hóa, có thể chia cho nhiều nhóm được đào tạo nhiều kỹ năng khác nhau, từ thiết kế mỹ thuật cho đến lập trình đến tổ chức database
Việc thêm chức năng vào cho từng lớp sẽ dễ dàng hơn là phân chia theo cách khác
Tiện về debug lỗi, kiểm soát code, workflow dễ dàng hơn và nhiều người có thể tham gia phát triển cùng trên một module
Trang 17 Đối với dự án nhỏ : cồng kềnh, tốn thời gian phát triển
Trade-off là performance, do tốn thời gian trung chuyển DTO (Data Transfer Object) giữa các layers
Xampp là chương trình tạo máy chủ Web (Web Server) được tích hợp
sẵn Apache, PHP, MySQL, FTP Server, Mail Server và các công cụ nhưphpMyAdmin Không như Appserv, Xampp có chương trình quản lý khá tiện lợi, cho phép chủ động bật tắt hoặc khởi động lại các dịch vụ máy chủ bất kỳ lúc nào
XAMPP là viết tắt của X + Apache + Mysql + PHP + Perl
- XAMPP là gói cài đặt localhost được tích hợp tất cả những thành phần cần thiết như : Apache, MYSQL, PHP, Perl …
- Bản XAMPP V1.6.3a với những thông số như sau :
Các thành phần trong XAMPP 1.6.3a
+ Apache 2.2.4
+ MySQL 5.0.45
+ PHP 5.2.3 + PHP 4.4.7 + PEAR
+ PHP-Switch win32 1.0 (please use the “php-switch.bat”)
+ XAMPP Control Version 2.5
Trang 18- Chương trình giúp chúng ta thực hành về phát triển Web phụ vụ học tập và giải trí
- Dùng được cho cả 4 hệ điều hành khác nhau : Windows, Linux, Solaris và MAC
Trang 195 Navicat (MySQL GUI)
5.1 Giới thiệu:
Navicat (MySQL GUI) là một công cụ quản lý cơ sở dữ liệu MySQL Phần mềm này cho phép bạn chuyển đổi các file XML, CSV, MS Excel, MS Access, và các định dạng
dữ liệu phổ biến sang cơ sở dữ liệu MySQL nhanh và chính xác
Navicat là công cụ quản trị và phát triển cơ sở dữ liệu ưu việt Nó không chỉ phù hợp đối với một nhà phát triển phần mềm chuyên nghiệp mà còn giúp cho những người mới
sử dụng dễ dàng học
Với giao diện thân thiện với người sử dụng, Navicat cho phép nhanh chóng và dễ dàng tạo, sắp xếp, truy cập và chia sẻ thông tin theo cách an toàn và tiện lợi Navicat hỗ trợ đa kết nối MySQL server, giúp kết nối cục bộ hay từ xa
Hình 2.5: Giao diện của Navicat (MySQL GUI)
5.2 Ưu điểm:
- Hỗ trợ tất cả các phiên bản của MySQL
- Hỗ trợ các chức năng của MySQL như Event(sự kiện), View(xem kết quả truy vấn), Trigger, Stored Procedure(tạo các thủ tục lưu trữ)- Hỗ trợ gõ tiếng Việt Unicode và hệ thống ký hiệu
- Hỗ trợ HTTP Tunnel và SSH Tunnel
Trang 20- Hỗ trợ Foreign Key (khóa phụ) cho các bảng InnoDB
- Hỗ trợ Foreign Key cho chọn dữ liệu
- Xem trước Form
- In cấu trúc bảng
- Nhóm ảo
- Công cụ thiết lập truy vấn ảo
- câu truy vấn từ các cơ sỏ dữ liệu khác nhau
- Hỗ trợ sinh mã tự động hoàn chỉnh câu lệnh truy vấn, xem truy vấn(View) và xem kết quả (Event)
- SQL console
- MySQL Views Builder
- Nhập dữ liệu thông qua ODBC
- Nhập dữ liệu từ Oracle sang MySQL
- Hỗ trợ nhập dữ liệu đối với 18 định dạng phổ biến bao gồm MS Access, MS Excel, XML, PDF và TXT
- Kết xuất dữ liệu ra MS Access / MS Excel
- Kết xuất dữ liệu sang các định dạng file khác: MS Word, HTML, PDF, TXT, CSV, DBF, XML, …
- Lập lịch cho các tác vụ sao lưu, nhập, xuất, chuyển dữ liệu, lưu truy vấn và dữ liệu
- Sinh mã lệnh tự động – tăng tốc viết truy vấn sql
- Giao diện Form – Nhập các bản ghi thông qua Form
- Hệ thống profile mới – Mở profile trực tiếp ngay trên màn hình máy tính
- Nhóm ảo – Cung cấp chức năng phân chia danh mục các đối tượng chi tiết hơn
- Lập lịch sự kiện – MySQL mớI có đặc điểm tương tự MySQL 5.1
- Kết xuất báo cáo – Kết xuất báo cáo ra dạng file PDF, HTML …
- Gửi thông báo qua E-mail – Gửi thông báo qua e-mail các tác vụ đã được lập lịch
- Tương thích với bất kỳ MySQL server nào từ bản 5.1.x trở lên
- Hỗ trợ tính năng tìm kiếm tối ưu, soạn thảo dạng mã HEX và nhiều hỗ trợ khác trong Table View
- Table Design với các tính năng nổi bật hữu dụng
- Nhiều cải tiến trong các tính năng khác và sự thân thiện với người dùng
Trang 215.3 Nhược điểm:
cả các phiên bản củaLinux, Unix, và Windows đang được hỗ trợ Và dĩ nhiên, tính chất
mã nguồn mở của MySQL cho phép sự tùy biến hoàn toàn theo ý muốn để thêm vào các yêu cầu thích hợp cho database server
- Tính thực thi cao:
Kiến trúc storage-engine cho phép các chuyên gia cơ sở dữ liệu cấu hình máy chủ cơ sở
dữ liệu MySQL đặc trưng cho các ứng dụng đặc thù Dù ứng dụng là một hệ thống xử lý giao dịch tốc độ cao hay web site dung lượng lớn phục vụ hàng triệu yêu cầu mỗi ngày, MySQL có thể đáp ứng khả năng xử lý những đòi hỏi khắt khe nhất của bất kì hệ thống nào Với các tiện ích tải tốc độ cao, đặc biệt bộ nhớ caches, và các cơ chế xử lý nâng cao khác, MySQL đưa ra tất cả các vũ khí cần phải có cho các hệ thống doanh nghiệp khó tính ngày nay
- Có thể sử dụng ngay:
Sự đáng tin cậy cao và tính “mì ăn liền” là những tiêu chuẩn đảm bảo của MySQL MySQL đưa ra nhiều tùy chọn có thể dùng ngay từ cấu hình tái tạo chủ/tớ tốc độ cao, để các nhà phân phối thứ 3 đưa ra những giải pháp có thể dùng ngay duy nhất cho server cơ
sở dữ liệu MySQL
- Hỗ trợ giao dịch mạnh:
MySQL đưa ra một trong số những engine giao dịch cơ sở dữ liệu mạnh nhất trên thị trường Các đặc trưng bao gồm hỗ trợ giao dịch ACID hoàn thiện ( Atomic – tự động, Consistent – thống nhất, Isolated – độc lập, Durable – bền vững), khóa mức dòng không hạn chế, khả năng giao dịch được phân loại, và hỗ trợ giao dịch đa dạng (multi-version)
mà người đọc không bao giờ gây trở ngại cho người viết và ngược lại Tính toàn vẹn của
Trang 22dữ liệu cũng phải được bảo đảm trong suốt quá trình server có hiệu lực, các mức giao dịch độc lập được chuyên môn hóa, và phát hiện khóa chết ngay lập tức
- Nơi lưu trữ Web và Data đáng tin cậy:
MySQL là nhà máy chuẩn cho các web sites phải trao đổi thường xuyên vì nó có engine
xử lý tốc độ cao, khả năng chèn dữ liệu nhanh ghê gớm, và hỗ trợ mạnh cho các chức năng chuyên dụng của web như tìm kiếm văn bản nhanh Những tính năng này cũng được áp dụng cho môi trường lưu trữ dữ liệu mà MySQL tăng cường đến hàng terabyte cho các server đơn Các tính năng khác như bảng nhớ chính, cây B và chỉ số băm, và bảng lưu trữ đã được cô lại để giảm các yêu cầu lưu trữ đến 80% làm cho MySQL trở thành lựa chọn tốt nhất cho cả ứng dụng web và các ứng dụng doanh nghiệp
- Chế độ bảo mật dữ liệu mạnh:
Vì bảo mật dữ liệu cho một công ty là công việc số một của các chuyên gia về cơ sở dữ liệu, MySQL đưa ra tính năng bảo mật đặc biệt chắc chắn dữ liệu sẽ được bảo mật tuyệt đối Trong việc xác nhận truy cập cơ sở dữ liệu, MySQL cung cấp các kĩ thuật mạnh mà chắc chắn chỉ có người sử dụng đã được xác nhận mới có thể truy nhập được vào server
cơ sở dữ liệu, với khả năng này để chặn người dùng ngay từ mức máy khách là điều có thể làm được
- Mã nguồn mở tự do và hỗ trợ 24/7:
Nhiều công ty lưỡng lự trong việc giao phó toàn bộ cho phần mềm mã nguồn mở vì họ tin họ không thể tìm được một cách hỗ trợ hay mạng lưới an toàn phục vụ chuyên nghiệp, hiện tại, họ tin vào phần mềm có bản quyền để chắc chắn về sự thành công toàn diện cho
Trang 23các ứng dụng chủ chốt của họ Những lo lắng của họ có thể được dẹp bỏ với MySQL, sự bồi thường là có trong mạng lưới MySQL
- Tổng chi phí thấp nhất:
Bằng cách sử dụng MySQL cho các dự án phát triển mới, các công ty đang thấy rõ việc tiết kiệm chi phí Được hoàn thành thông qua sử dụng server cơ sở dữ liệu MySQL và kiến trúc scale-out, các doanh nghiệp đã tìm ra cái mà họ có thể đạt được ở mức ngạc nhiên về khả năng xử lý
6.1 Giới thiệu:
Sybase PowerDesigner là một phần mềm hỗ trợ đắc lực trong việc thiết kế mô hình quan
hệ, mô hình CDM, PDM, ERD, ER, trong môn phân tích thiết kế hệ thống thông tin
Hình 2.6: Giao diện của Sybase PowerDesigner
6.2 Ưu điểm:
Trang 24- Phát sinh ràng buột toàn vẹn tham chiếu (referential integrity triggers) nếu chúng được hổ trợ bởi CSDL đích
6.3 Nhược điểm:
6.4 Lý do chọn:
7 Netbean
7.1 Giới thiệu:
NetBean IDE là một “môi trường phát triển tích hợp“ (Integrated Development Environment) kiểu như Visual Studio của Microsoft và được xem là một một bộ ứng dụng "must-download" dành cho các nhà phát triển phần mềm
NetBean IDE hỗ trợ nhiều hệ điều hành khác nhau như Windows, Mac, Linux, và Solaris NetBean bao gồm một IDE mã nguồn mở và một nền tảng ứng dụng cho phép nhà phát triển nhanh chóng tạo nên các ứng dụng dành cho web, doanh nghiệp, desktop
và thiết bị di động bằng các ngôn ngữ lập trình Java, C/C++, JavaScript, Ruby, Groovy,
và PHP
NetBeans IDE còn cung cấp nhiều tính năng mới như shortcut tìm kiếm trong toàn bộ IDE gọi là QuickSearch, giao diện thận thiện hơn với người dùng, và tính năng tự động biên dịch khi lưu Ngoài việc hỗ trợ Java mọi phiên bản (Java SE, Java EE, Java ME), NetBean IDE còn là công cụ lý tưởng cho việc phát triển phần mềm bằng các ngôn ngữ PHP, C/C++, Groovy and Grails, Ruby and Rails, Ajax and JavaScript Phiên bản 6.5 còn tăng cường hỗ trợ cho web framework (Hibernate, Spring, JSF, JPA), trình ứng dụng máy chủ GlassFish và cơ sở dữ liệu
Trang 25Hình 2.7: Giao diện của NetBean IDE
7.2 Ưu điểm:
Chất lượng các plugin của Netbeans thì cao Netbeans là một nền tảng được implement 1 cách nhất quán và có định hướng, vốn được tạo ra không phải là chỉ để làm Java IDE Netbeans IDE thì có thiên hướng hội tụ tất cả những gì lập trình viên Java cần trong 1 IDE Mọi thứ đều có sẵn và không phải cài Hơn thế Netbeans hướng đến các công nghệ rất mới trong thế giới Java một cách bài bản: Tomcat 6 và Glassfish 2 được bundle cùng, profiler cho phép lập trình viên nhìn vào tận bên trong máy ảo, lập trình Swing dựa trên layout mới hỗ trợ kéo thả giao diện tương tự như làm việc với JSF, rất tiện khi làm prototyping Việc run và deploy một ứng dụng dù là commandline, Swing hay web cũng rất dễ dàng
+ Netbeans quá nặng, máy cấu hình thấp sẽ không chạy nổi
+ Netbeans chạy rất nhanh trong Linux và rất chậm trong Windows
+ Đòi hỏi máy có cấu hình cao, khoảng 2GB RAM, Chip Core2Duo
Với giao diện thân thiện và em đã được làm quen qua một số môn học, dễ sử dụng, hỗ trợ trên nhiều hệ điều hành, nhược điểm không đáng kể nên em chọn phần mềm này
Trang 26CHƯƠNG 2: PHÂN TÍCH & THIẾT KẾ DỮ LIỆU
mà khách hàng còn thắc mắc đến nhà quản trị website Cho nên trang website chúng tôi
có câu: “Khách hàng là thượng đế & là nơi tin cậy cho mọi nhà”
Hình 2.8: Hoá đơn bán hàng
Trang 27 Thông tin của sản phẩm
Tin tức mới nhất về các công nghệ và sản phẩm đó
Thiết lập máy server ảo và database defaut
Tạo user để vào quản trị hệ thống
Các user có thể vào thay đổi password cho user của mình
Phân quyền cho từng user vào quản trị từng mục
Phân quyền thêm, xóa, sửa sản phẩm , tin tức
4.2 Backup dữ liệu
Người quản trị có thể backup dữ liệu về để tránh trường hợp website bị virus xóa
hết toàn bộ dữ liệu
Trang 28- Duyệt mặt hàng:
+ Duyệt hàng theo loại
+ Duyệt hàng theo giá
+ Xem danh sách mặt hàng bán chạy
+ Xem chi tiết mặt hàng
+ Thêm mặt hàng vào giỏ hàng
+ Thêm mặt hàng vào danh sách ưa chuộng
+ Xem danh sách mặt hàng ưa chuộng
+ Kiểm tra đơn hàng
- Thanh toán đơn hàng
- Xem chi tiết đơn hàng
- Nhận phiếu giảm giá (KH Đăng ký)
- Đánh giá mặt hàng (KH Đăng ký)
- Xử lý:
+ DS đơn đăt hàng + Hủy đơn hàng
- Báo cáo bán hàng:
+ Báo cáo Doanh thu + Báo cáo lợi nhuận
- Gửi thông báo đến KH đăng ký
- Quản lý tài khoản:
+ Thiết lập lại mật khẩu + Xóa tài khoản
- Thống kê bán hàng + Hàng tồn + Doanh thu + Lợi nhuận
- Lưu trữ:
+ Thông tin tài khoản + Thông tin Khách hàng + Thông tin phục vụ KH
Hình 2.9: Pham vi hệ thống
Trang 29MaCT N DonGiaNhap SoLuongNhap NgayNhap
Integer Integer Integer Date
Integer Vari abl e characters (255) Vari abl e characters (255) Integer
Vari abl e characters (255)
Loai Hang
# o MaLoai
T enLoai Variable characters (255) Variable characters (255)
Vari able characters (255)
Vari able characters (255)
Vari able characters (255)
ChiT ietHoaDon
# o o o
MaCT SoLuongBan DonGiaBan
T hanhTi enBan
Integer Integer Integer Integer HoaDon
User
# o o o o
MaUser
T enUser DiaChi User DienThoai Quyen
Integer Variabl e characters (255) Variabl e characters (255) Variabl e characters (255) Variabl e characters (255)
DangTi n
o NgayDang Date
T inT uc
# o MaTi n Noi Dung Integer Variabl e characters (255)
*
M aCT N DonGiaNhap SoLuon gNhap NgayNh ap
Integer Integer Date
Integer Vari able characters (255) Integer
Vari able characters (255)
LoaiHang
# M aLoai
T en Loai Variabl e cha racters (255)
HoaDon
# o o
MaHD SoLuongBan DonGi aBan
T hanhT i enBan NgayLap Nguoi Lap
In teger
In teger Date Variabl e characters (255)
User
# o o
M aUser
T enUser
Di aChi User
Di enT hoai Quyen
Integer Variabl e cha racters (255) Variabl e cha racters (255)
DangT in
o NgayDan g Date
T i nT uc
# M aT in Noi Dung Integer Variabl e cha racters (255)
Hình 2.10: Mô hình ERD
6.1.2 Mô hình tối ưu hóa
Hình 2.11: Mô hình tối ưu hoá
Trang 30MaHang MaMH DonGiaNhap SoLuongNhap NgayNhap
int int int int int datetime
<pk>
<fk1>
<fk2>
MatHang MaMH
MaLoai TenMH Hinh SoLuongMH DVT
int varchar(255) varchar(255) varchar(255) int varchar(255)
<pk>
<fk>
LoaiHang MaLoai TenLoai varchar(255) varchar(255)
<pk>
KhachHang MaKH
<pk>
ChiTietHoaDon MaCT
MaMH MaHD SoLuongBan DonGiaBan ThanhTienBan
int int int int int int
<pk>
<fk1>
<fk2>
HoaDon MaHD
<pk>
<fk>
User MaUser TenUser DiaChiUser DienThoai Quyen
int varchar(255) varchar(255) varchar(255) varchar(255)
<pk>
DangTin MaTin MaUser NgayDang
int int datetime
<fk2>
<fk1>
TinTuc MaTin NoiDung int varchar(255)
<pk>
Hình 1.12: Mô hình vật lý
Trang 33 Duyệt hàng
Hình 2.17: Duyệt hàng
Hủy đơn hàng
Hình 2.18: Huỷ đơn hàng
Trang 34Theo miền giá trị:
Mối quan hệ: ChiTietNhap
Phát biểu: R1 = Đơn giá nhập cho mỗi mặt hàng phải lớn hơn 0
Mối quan hệ: ChiTietNhap
Phát biểu: R2 = Số lượng nhập cho mỗi mặt hàng phải lớn hơn 0
Bối cảnh: ChiTietNhap
Bảng tầm ảnh hưởng: