Phương pháp hướng đối tượng giúp chúng ta tạo ra các thế hệ phần mềm có quy mô lớn, có khả năng thích ứng và bền chắc. Các giai đoạn của chu trình phát triển phần mềm hướng đối tượng
Trang 1Em xin cảm ơn toàn thể các thầy cô giáo – Trường Đại học Công nghệ thông tin và Truyền thông đã truyền dạy cho em những kiến thức quý báu trong suốt quá trình học tập tại trường để em có thể hoàn thành tốt đồ án tốt nghiệp.
Nhân dịp này em xin gửi lời cảm ơn chân thành tới gia đình, bạn bè, những người thân đã cổ vũ động viên em trong quá trình em hoàn thành đồ án tốt nghiệp
Mặc dù đã rất nhiều cố gắng, nhưng do thời gian và kiến thức có hạn nên không thể tránh khỏi những sai lầm và thiếu sót Em rất mong được sự đóng góp của quý thầy cô và các bạn để đồ án của em được hoàn thiện hơn
Em xin chân thành cảm ơn!
Thái Nguyên, tháng 6 năm 2016
Sinh viên thực hiện
Vũ Tiến Thành
1
Trang 2LỜI CAM ĐOAN
Sau quá trình học tập tại trường Đại học Công Nghệ Thông Tin và Truyền Thông, có sự kết hợp, vận dụng giữa lý thuyết và thực tế, em đã nghiên cứu và tập hợp các tài liệu để hoàn thành đồ án tốt nghiệp của mình Em xin cam đoan đồ án tốt nghiệp của em là công trình do chính bản thân em tự tìm hiểu, nghiên cứu và hoàn thành dưới sự hướng dẫn của cô giáo Ths.Dương Thúy Hường
Em xin chịu trách nhiệm về đồ án của mình
Thái Nguyên, tháng 6 năm 2016
Sinh viên thực hiện
Vũ Tiến Thành
Trang 3MỤC LỤC
LỜI CAM ĐOAN 2
DANH MỤC HÌNH 5
CHƯƠNG I: CƠ SỞ LÝ THUYẾT 8
1.1 Tổng quan về phân tích thiết kế hướng đối tượng 8
1.1.1 Định nghĩa 8
1.1.2 Ưu điểm của phân tích thiết kế hướng đối tượng 8
1.1.3 Các giai đoạn của chu trình phát triển phần mềm hướng đối tượng 9
1.1.4 Những vấn đề đặt ra trong phân tích thiết kế hướng đối tượng 9
1.1.5 Phân tích thiết kế hướng đối tượng với UML 9
1.1.6 Biểu đồ Use case (Usecase Diagrams): 11
1.1.7 Biểu đồ lớp 13
1.1.8 Biểu đồ trình tự 15
1.1.9 Biểu đồ hoạt động 16
1.2 Ngôn ngữ lập trình 16 1.2.1 Hệ quản trị MySQL 16
1.2.2 PHP 17
1.2.3 Kết nối PHP và MySQL 19
1.2.4 Thiết kế giao diện 19
CHƯƠNG II: KHẢO SÁT VÀ PHÂN TÍCH THIẾT KẾ HỆ THỐNG 23 2.1 Hiện trạng thực tế 23 2.1.1 Giới thiệu về cửa hàng BBQ 23
2.1.2 Mô hình bán hàng 24 2.2 Phân tích yêu cầu đề tài 24
3
Trang 42.2.1 Tóm tắt hoạt động của hệ thống 24
2.2.2 Phạm vi đề tài được ứng dụng 25
2.2.3 Đối tượng sử dụng 25
2.2.4 Mục đích của đề tài 25
2.3 Xác định yêu cầu của khách hàng 26 2.3.1 Hệ thống hiện hành của trung tâm 26
2.3.2 Hệ thống đề nghị 26
2.4 Yêu cầu giao diện của website 28 2.4.1 Giao diện người dùng 28
2.4.2 Giao diện người quản trị 28
2.5 Phân tích các chức năng của hệ thống 28 2.5.1 Các chức năng của đối tượng Khách hàng 29
2.5.2 Chức năng của Admin 31
2.6 Biểu đồ phân tích thiết kế hệ thống 33 2.6.1 Biểu đồ Use case tổng quát 33
2.6.2 Biểu đồ hoạt động 35
2.6.3 Biểu đồ trình tự 41
2.6.4 Biểu đồ lớp 48
CHƯƠNG III: XÂY DỰNG WEBSITE 49 3.1 Một số yêu cầu thiết kế giao diện ứng dụng 49 3.1.1 Các tính chất của hình giao diện 49
3 1.2 Các kỹ thuật 49
3.2 Thiết kế giao diện trang khách hàng 49 3.2.1 Thiết kế giao diện trang chủ 49
3.2.2 Thiết kế giao diện trang quản trị admin 52 KẾT QUẢ ĐẠT ĐƯỢC 54
TÀI LIỆU THAM KHẢO 55
Trang 6DANH MỤC HÌNH
Hình 2.1 Biểu đồ use case tổng quát 33
Hình 2.2 Biểu đồ use case Quản lý sản phẩm 34
Hình 2.3 Biểu đồ use case Quản lý khách hàng 34
Hình 2.4.Biểu đồ use case Quản lý đơn hàng 35
Hình 2.5 Biểu đồ hoạt động chức năng Đăng nhập vào hệ thống 35
Hình 2.6 Biểu đồ hoạt động chức năng Đăng xuất 36
Hình 2.7 Biểu đồ hoạt động chức năng Tìm kiếm 36
Hình 2.8 Biểu đồ hoạt động chức năng Đăng kí thành viên 37
Hình 2.9 Biểu đồ hoạt động chức năng Xem thông tin về sản phẩm 37
Hình 2.10 Biểu đồ hoạt động chức năng Đặt hàng 38
Hình 2.11 Biểu đồ hoạt động chức năng Xoá đơn hàng 38
Hình 2.12 Biểu đồ hoạt động chức năng Thêm sản phẩm 39
Hình 2.13 Biểu đồ hoạt động chức năng Sửa thông tin sản phẩm 39
Hình 2.14 Biểu đồ hoạt động chức năng Xoá sản phẩm 40
Hình 2.15 Biểu đồ hoạt động chức năng Xoá thông tin khách hàng 40
Hình 2.16 Biểu đồ trình tự chức năng Đăng nhập 41
Hình 2.17 Biểu đồ trình tự chức năng Đăng xuất 41
Hình 2.18 Biểu đồ trình tự chức năng Đăng ký thành viên 42
Hình 2.19 Biểu đồ trình tự chức năng Tìm kiếm 43
Hình 2.20 Biểu đồ trình tự chức năng Thêm mới sản phẩm 44
Hình 2.21 Biểu đồ trình tự chức năng Sửa thông tin sản phẩm 45
Hình 2.22 Biểu đồ trình tự chức năng Xóa sản phẩm 46
Hình 2.23 Biểu đồ trình tự chức năng Đặt hàng 47
Hình 2.24: Biểu đồ lớp 48
Hình 3.1 Giao diện trang chủ 49
Hình 3.2 Giao diện giới thiệu 50
Trang 7Hình 3.3 Giao diện thực đơn 51
Hình 3.4 Giao diện hướng dẫn thanh toán 51
Hình 3.5 Giao diện đăng nhập của admin 52
Hình 3.6 Giao diện trang chủ của admin 52
Hình 3.7 Giao diện thực đơn 53
Hình 3.8 Giao diện người dùng 53
7
Trang 8LỜI NÓI ĐẦU
Trong những năm gần đây với sự phát triển vượt trội của khoa học kỹ thuật đặc biệt là công nghệ thông tin, với những ứng dụng của công nghệ thông tin vào các lĩnh vực đã đóng góp phần to lớn cho sự nghiệp phát triển của con người
Việc xây dựng các trang web để phục vụ cho các nhu cầu riêng của các tổ chức, công ty thậm chí các cá nhân ngày càng phổ biến và không còn là vấn đề xa
lạ Và một người bất kì có thể trở thành chủ của một website giới thiệu về bất cứ gì
mà họ quan tâm: một website giới thiệu về bản thân và gia đình họ, hay là một website trình bày các bộ sưu tập hình ảnh, các sở thích mà họ yêu thích,
Đối với các nhà hàng thì việc xây dựng các website riêng càng ngày càng trở nên cấp thiết Thông qua những website này, thông tin về họ cũng như các món
ăn, dịch vụ mới của nhà hàng sẽ đến với những người quan tâm, đến với khách hàng của họ một cách nhanh chóng kịp thời, tránh những phiền hà mà phương thức giao tiếp truyền thống thường gặp phải
Từ vốn kiến thức có được trong quá trình học tập và thông qua tham khảo một số trang Web giới thiệu sản phẩm, quảng bá sản phẩm Em đã thực hiện đề
tài: “Xây dựng hệ thống website đặt món ăn trực tuyến cho chuỗi cửa hàng BBQ Thái Nguyên”.
Đề tài gồm 3 chương:
Chương I: Cơ sở lý thuyết
Chương II: Khảo sát và phân tích thiết kế hệ thống
Chương III: Xây dựng website
Trang 10CHƯƠNG I: CƠ SỞ LÝ THUYẾT 1.1 Tổng quan về phân tích thiết kế hướng đối tượng
Định nghĩa
Ý tưởng cơ bản của việc tiếp cận hướng đối tượng là phát triển một hệ thống bao gồm các đối tượng độc lập tương đối với nhau Mỗi đối tượng bao hàm trong nó cả dữ liệu và các xử lý tiến hành trên các dữ liệu này được gọi là đóng gói thông tin Ví dụ khi đã xây dựng một số đối tương căn bản, ta có thể ghép chúng lại với nhau để tạo ứng dụng của mình
Ưu điểm của phân tích thiết kế hướng đối tượng
Đối tượng độc lập tương đối: Che giấu thông tin, việc sửa đổi một đối tượng không ảnh hưởng lan sang đối tượng khác Những đối tượng trao đổi thông tin được với nhau bằng cách truyền thông điệp làm cho liên kết giữa các đối tượng lỏng lẻo, có thể ghép nối tùy ý, bảo trì và nâng cấp dễ dàng
Việc phân tích và thiết kế theo cách phân bài toán thành các đối tượng là hướng tới lời giải của thế giới thực Các đối tượng có thể sử dụng lại được là do tính kế thừa của đối tượng Hệ thống hướng đối tượng dễ dàng được mở rộng thành các hệ thống lớn hơn nhờ tương tác thông qua việc nhận và gửi thông báo Xây dựng hệ thống thành các thành phần khác nhau Mỗi thành phần được xây dựng độc lập và sau đó ghép chúng lại với nhau đảm bảo được có đầy đủ các thông tin giao dịch Việc phát triển và bảo trì hệ thống đơn giản hơn rất nhiều do có sự phân hoạch rõ ràng, đó là kết quả của việc đóng gói thông tin và kết nối các đối tượng thông qua giao diện, việc sử dụng lại các thành phần đảm bảo độ tin cậy Quá trình phát triển phần mềm đồng thời là quá trình cộng tác của khách hàng /người dùng, nhà phân tích, nhà thiết kế, nhà phát triển, chuyên gia lĩnh vực, chuên gia kỹ thuật nên lối tiếp cận này khiến cho việc giao tiếp giữa họ với nhau dễ dàng hơn Một trong những ưu điểm quan trọng nhất của phương pháp phân tích thiết kế hướng đối tượng là tính tái sử dụng: bạn có thể tạo các đối tượng một lần và dùng chúng nhiều lần sau đó Vì các đối tượng đã được thử nghiệm kỹ càng trong những
Trang 11lần dùng trước đó, nên khả năng tái sử dụng giúp hạn chế lỗi và các khó khăn trong việc bảo trì, giúp tăng tốc độ thiết kế và phát triển phần mềm Phương pháp hướng đối tượng giúp chúng ta tạo ra các thế hệ phần mềm có quy mô lớn, có khả năng thích ứng và bền chắc.
Các giai đoạn của chu trình phát triển phần mềm hướng đối tượng
Phân tích hướng đối tượng (Object Oriented Analynis - OOA)
Là giai đoạn phát triển một mô hình chính xác và súc tích của vấn đề, có thành phần là các đối tượng khái niệm đời thực, dễ hiểu đối với người sử dụng
Thiết kế hướng đối tượng (Object Oriented Design - OOD)
Là giai đoạn tổ chức chương trình thành các tập hợp đối tượng cộng tác với nhau, mỗi đối tượng trong đó là một lớp Các lớp là thành viên tạo thành một cây cấu trúc với mối quan hệ thừa kế hay tương tác bằng thông báo
Lập trình hướng đối tượng (Object Oriented Programming - OOP)
Giai đoạn xây dựng phần mềm có thể được thực hiện sử dụng kỹ thuật lập trình hướng đối tượng Đó là phương thức thực hiện việc chuyển các thiết kế hướng đối tượng thành chương trình bằng việc sử dụng một ngôn ngữ lập trình có
hỗ trợ các tính năng có thể chạy được, nó chỉ được đưa vào sử dụng sau khi đã trải qua nhều bước thử nghiệm khác nhau
Những vấn đề đặt ra trong phân tích thiết kế hướng đối tượng
Đặc điểm của phân tích và thiết kế hướng đối tượng: là nhìn nhận hệ thống như một tập các đối tượng tương tác với nhau để tạo ra một hành động cho một kết quả ở mức cao hơn Để thực hiện được điều này người ta phải sử dụng hệ thống
mô hình các đối tượng với các đặc trưng cơ bản sau:
Tính trừu tượng hóa cao
Tính bao gói thông tin
Tính module hóa
Tính kế thừa
11
Trang 12 Phân tích thiết kế hướng đối tượng với UML
Các loại biểu đồ trong UML
Biểu đồ lớp (Class Diagrams)
Là một mô hình tĩnh để biểu diến các lớp đối tượng và mối quan hệ giữa chúng, nó không thay đổi trong hệ thống theo thời gian Miêu tả các lớp bao gồm
cả hành vi và trạng thái, cùng với quan hệ giữa các lớp
Biểu đồ đối tượng (Object Diagrams):
Chỉ chứa các đối tượng và giá trị dữ liệu Đối tượng là một thể hiện cụ thể của một thành phần hoặc toàn bộ sơ đồ lớp, thường dùng khi muốn xem xét chi tiết của một lớp Thông qua đó có thể phát hiện sai lầm khi liên kết sơ đồ lớp
Biểu đồ Use Case (Use Case Dagrams):
Khái niệm actor: là những người dùng (tác nhân) hay hệ thống khác mà
có tương tác với hệ thống, có thể là một người, một thiết bị hoặc một hệ thống khác, có thể trao đổi thông tin với hệ thống với vai trò của người cung cấp lẫn người nhận thông tin
Biểu đồ Use case bao gồm một tập hợp các Use case, các actor và thể hiện mối quan hệ tương tác giữa actor và Use case Nó rất quan trọng trong việc tổ chức và mô hình hóa hành vi của hệ thống
Biểu đồ trình tự (Sequence Diagrams):
Biểu diễn sự tương tác giữa các đối tượng tham gia vào một use case và thông điệp được truyền giữa các đối tượng trong use case đó Biểu đồ trình tự đặc biết thích hợp để định nghĩa các tương tác phức tạp theo thời gian Biểu đồ trình tự thường thích hợp hơn biểu đồ cộng tác trong các trường hợp: có rất nhiều tương tác trong một hành vi cụ thể, trình tự của tương tác khá phức tạp
Biểu đồ cộng tác (Colloboration Diagrams):
Gần giống như biểu đồ trình tự, biểu đồ cộng tác là một cách khác để thể hiện một tình huống có thể sảy ra trong hệ thống Nhưng nó chỉ mô tả sự tương tác
Trang 13giữa các đối tượng mà không quan tâm đến trình tự thời gian sảy ra tương tác.
Biểu đồ trạng thái (Statechart Diagrams):
Là đồ thị có hướng với các nút là các trạng thái nối với nhau bởi các cung
mô tả việc chuyển đổi trạng thái Mô tả chu trình sống của các đối tượng chính từ khi sinh ra, hoạt động và mất đi Mỗi đối tượng có thể có nhiều sơ đồ trạng thái theo các góc nhìn khác nhau
Biểu đồ hoạt động (Activity Diagrams):
Được dùng để mô hình hóa các quá trình nghiệp vụ ở mức cao Nó chỉ ra: các bước trong luồng công việc, các điểm quyết định, ai có trách nhiềm thực hiện từng bước, các đối tượng ảnh hưởng đến luồng công việc
Biểu đồ thành phần (Component Diagrams):
Chỉ ra cách tổ chức và phụ thuộc của các thành phần (component) Nó liên quan tới biểu đồ lớp, trong đó một thành phần thường ánh xạ tới một hay nhiều lớp, giao diện, cộng tác
Biểu đồ triển khai (Deployment Diagrams): Phân bố vật lý của hệ thống
Biểu đồ Use case (Usecase Diagrams):
Một số lưu ý khi thiết kế usecase:
Nên đơn giản và cô đọng
Không viết ngay mọi usecase mà phát triển chúng dần dần
Xem xét lại các usecase một cách thường xuyên
Gán độ ưu tiên cho các usecase
Bảo đảm chúng có duy nhất một mục tiêu hữu hình và có thể triển khai được
Viết ra theo quan điểm của người dùng và dùng ngôn ngữ kinh doanh
Thiết lập khung hệ thống rõ ràng và không đưa vào các chi tiết
Sử dụng hiệu ứng để minh họa dòng usecase
Không được chấp nhận usecase nếu chỉ mới đọc qua một lần
13
Trang 14 Xem kỹ các dòng thay thế và các dòng ngoại lệ.
Vai trò của biểu đồ usecase:
Mô hình hóa hệ thống sắp được xây dựng:
Các thực thể có liên quan: Ai sẽ tương tác với hệ thống
Cung cấp một chuỗi hoạt động thống nhất trong quá trình phát triển hệ thống
Mục tiêu: làm cho hệ thống đáp ứng được yêu cầu của khách hàng
Biểu đồ usecase là cầu nối giữa các chức năng và hành vi của hệ thống với khách hàng / người dùng cuối
Trang 15 Lợi ích của biểu đồ usecase:
Dễ hiểu:
Sử dụng các thuật ngữ mà khách hàng/ người tiêu dùng hiểu được
Kiểm tra lại hiểu biết về hệ thống của người phát triển
Cho biết ngữ cảnh của các yêu cầu:
Nhận diện người dùng
Nhận diện giao diện hệ thống
Sắp xếp lại yêu cầu hệ thống một cách trình tự logic
Giúp kiểm tra lại sự thiếu sót (nếu có) của các yêu cầu
Giúp người dùng dễ dàng chấp nhận các yêu cầu hệ thống
- Usecase:
15
Trang 16Là một chuỗi các hành động mà hệ thống thực hiện mang lại một kết quả quan sát được đối với actor
Quan hệ giữa tác nhân và uscase:
Quan hệ giữa tác nhân và use case
Quan hệ giữa các use case:
Quan hệ khái quát hóa: chỉ ra một vài usecase có một số cái chung, giống nhau
Quan hệ mở rộng <<extend>> : được dùng khi chúng ta có một usecase tương tự nhưng cần thêm một vài xử lý đặc biệt (có thể có hoặc không)
Biểu đồ lớp (Class Diagrams):
Cung cấp một bức tranh mô tả một số hoặc tất cả các lớp trong mô hình
Trang 17 Thể hiện cấu trúc và ứng xử của một hay nhiều lớp.
Thể hiện mối quan hệ kế thừa giữa các lớp
Tên mối kết hợp: giải thích rõ bản chất của kết hợp
Cơ số: Cho biết số lượng các đối tượng ở bên kia so với 1 đối tượng của
đầu bên này của kết hợp
Trang 18Quan hệ kết nhập
Quan hệ hợp thành (Composition):
Quan hệ hợp thành
Các kiểu lớp
Boundary class (lớp biên):
Giao tiếp người dùng
Form trong C#, Frame trong Java…
Nắm giữ sự tương tác giữa phần bên ngoài với phần bên trong của hệ thống (giao diện chương trình)
Ký hiệu:
Control class (lớp điều khiển):
Phối hợp sự tương tác giữa các lớp
Thể hiện trình tự xử lý của hệ thống trong một hay nhiều use-case
Ký hiệu:
Entity class (lớp thực thể):
Trang 19 Các thực thể chứa thông tin trong hệ thống.
Mô hình hóa các thông tin lưu trữ lâu dài trong hệ thống, nó thường độc lập với các đối tượng khác ở xung quanh
Ký hiệu:
Biểu đồ trình tự
Các bước tạo một biểu đồ tuần tự:
Xác định ngữ cảnh
Xác định các đối tượng tham gia
Thiết lập chu kỳ sống (lifeline) cho mỗi đối tượng
Thêm các thông điệp vào
Đặt các tiêu điểm trên các lifeline
Xem xét lại hồ sơ
Trang 20 Biểu đồ hoạt động (Activity diagram) do Odell đề xuất cho UML để :
Mô tả luồng công việc trong tiến trình nghiệp vụ trong mô hình hóa nghiệp vụ
Mô tả luồng sự kiện trong mô hình hóa hệ thống
Sử dụng text như trước đây sẽ khó đọc khi logíc phức tạp, có nhiều rẽ nhánh
Biểu đồ hoạt động sử dụng để mô hình hóa khía cạnh động của hệ thống các bước trình tự hay tương tranh trong quá trình tính toán
Các câu lệnh cơ bản trong mysql
Lệnh tạo cơ sở dữ liệu : Create database <ten_csdl>
Lệnh tạo bảng: dùng để tạo ra các bang để lưu trữ dữ liệu trong hệ thống lệnh tạo bảng có cấu trúc như sau:
Create table <ten_bang>
<ten_thuoc_tinh> <kieu_du_lieu>
Để tạo liên kết với bảng khác ta dùng thêm lệnh:
Constraint ten_thuoc_tinh foreign key (ten_thuoc_tinh) references ten_bang_lien_ket (ten_thuoc_tinh)
Lệnh truy vấn: trong hệ thống thì lệnh truy vấn này được sử dụng để truy xuất thông tin từ cơ sở dữ liệu như là đưa ra danh mục khách hàng, danh mục mặt hàng v.v.v lệnh truy vấn có cấu trúc như sau:
Select <ten_thuoc_tinh> from <ten_bang> where <dieu_kien_loc>
Having /* nếu điều kiện có sử dụng hàm */
Trang 21Group by <ten_thuoc_tinh> /* nếu có sử dụng các hàm như sum, max v.v.v */Order by <ten_thuoc_tinh> ASC| DESC /*sắp sếp theo một thuộc tính nào đó */LIMIT <so_dong_bat_dau>,<so_dong_ket_th uc> /*lay tu dòng đến dòng */
Lệnh thêm dữ liệu: Trong hệ thống lệnh thêm dữ liệu này dùng để thêm các thông tin mới vào hệ thống như thêm mới khách hàng, thêm mới hàng v.v lệnh thêm dữ liệu có cấu trúc như sau:
Insert into <ten_bang> value(danh sách thuộc tính)
Lệnh cập nhật dữ liệu: dùng để cập nhật lại dữ liệu nếu có sai sót lệnh cập nhật dữ liệu có cấu trúc như sau:
Update <ten_bang> set ten_thuoc_tinh = ‘du_lieu’ where <dieu_kien>
Lệnh xóa dữ liệu: dùng để xóa dữ liệu khi cần thiết, lệnh xóa dữ liệu có cấu trúc như sau:
delete from <ten_bang> where <dieu_kien>
PHP
Khái niệm:
PHP (viết tắt hồi quy "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ở, dùng cho mục đích tổng quát 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
Các thành phần cơ bản
Biến: biến trong php là một ô nhớ tạm thời dùng để chứa dữ liệu tạm thời
trong php biến không cần khai báo kiểu dữ liệu khi khai báo biến ta dùng kí hiệu $ trước tên biến Ví dụ: $ma_hang; trong php biến phân biệt chữ hoa và chữ thường
Session: là phương thức truyền dữ liệu từ trang này sang trang khác,
21
Trang 22session tồn tại trong suốt quá trình hoạt động của hệ thống chỉ mất đi khi người dùng thoát khỏi hệ thống Trong hệ thống này session được dùng để nhận biết xem người đang truy cập hệ thống là ai và hệ thống sẽ sẽ cho người đó truy cập vào những quyền mà họ được phép.
Ta phải có một form để lấy dữ liệu cấu trúc như sau:
<form action=”link xử lý” method = “post”>
<input type=”text” name=” ten_bien” />
<input type=”submit” name=” submit” value=”ok”/>
</form>
Trang 23Khi ấn “ok” thì ta sẽ lấy được giá trị trên form để gán vào cho biến thông qua biến $_POST.
$ten_bien = $_POST[‘ten_bien’] ;
Phương thức này giúp cho người dùng nhập dữ liệu vào cơ sơ dữ liệu
Mảng: là vùng nhớ cố định dùng để lựa các giá trị có các tính chất tương tự nhau
Kết nối PHP và MySQL
Php và mysql là 2 thế giới cách biệt nhau do đó chúng ta phải kết nối chúng lại thông thường kết nối này thường được tạo riêng thành một file và khi muốn sử dụng nó thì chỉ cần gọi lại nó thôi lênh nó như sau:
$conn = mysqli_connect(‘localhost’,’root’,’’, ’ten_co_so_du _lieu’) or die(“không thể kết nối cơ sở dữ liệu”);
Thiết kế giao diện
HTML
Định nghĩa HTML
Trang Web là sự kết hợp giữa văn bản và các thẻ HTML HTML là chữ viết tắt của HyperText Markup Language được hội đồng World Wide Web Consortium (W3C) quy định.Một tập tin HTML chẳng qua là một tập tin bình thường, có đuôi html hoặc htm
HTML giúp định dạng văn bản trong trang Web nhờ các thẻ.Hơn nữa, các thẻ html có thể liên kết từ hoặc một cụm từ với các tài liệu khác trên Internet.Đa số các thẻ HTML có dạng thẻ đóng mở Thẻ đóng dùng chung từ lệnh giống như thẻ
mở, nhưng thêm dấu xiên phải (/) Ngôn ngữ HTML qui định cú pháp không phân biệt chữ hoa chữ thường.Ví dụ, có thể khai báo <html> hoặc <HTML>.Không có khoảng trắng trong định nghĩa thẻ
Cấu trúc chung của 1 trang HTML
<html>
<head>
23
Trang 24<title> Tiêu đề của trang Web </title>
+ <body></body>: Phần chứa nội dung của trang web, nơi hiển thị nội dung Phần thân của trang web có thể được bố cục 3 phần là : Header (phần đầu), Body_main (phần thân nội dung), Footer (phần chân)
CSS:
Định nghĩa CSS
CSS là chữ viết tắt cụm từ tiếng Anh “Cascading Style Sheet”, là kiểu thiết kế sử dụng nhiều lớp định dạng chồng lên nhau.CSS được tổ chức Worrld Wide Web <W3C> giới thiệu vào năm 1996 Cách đơn giản nhất để hiểu CSS là hãy coi nó như một phần
mở rộng của HTML để giúp đơn giản hóa và cải thiện việc thiết kế cho các trang web
Mỗi khi bắt đầu một Style Sheet, thì bắt buộc mở bằng <head> và kết thúc bằng </head> và tiếp theo sau đó là khai báo <style> và kết thúc bằng </style> và sau những bước trên thì có thể nhìn thấy đoạn code như sau:
<head>
<style>
Nội dung
Trang 25</head>
Cấu trúc của CSS:
Tag {definition1; definition2; …; definition n }
Ví dụ sau đây về dòng lệnh của CSS
H2 {font-size: 16pt; font-style: italic; font-family: arial}
Các đặc tính cơ bản của CSS
CSS quy định cách hiển thị các thẻ của HTML bằng cách quy định các thuộc tính của các thẻ đó (font chữ, màu sắc) Để cho thuận tiện có thể đặt toàn bộ các thuộc tính của thẻ vào trong một file riêng có phần mở rộng là “.css”, thường người ta hay đặt tên nó là stylesheet.css
CSS nó phá vỡ giới hạn trong thiết kế Web, bởi chỉ cần một file CSS có thể cho phép quản lý định dạng và layout trên nhiều trang khác nhau Các nhà phát triển Web có thể định nghĩa sẵn thuộc tính của một số thẻ HTML nào đó và sau đó
nó có thể dừng lại trên nhiều trang khác nhau
Có thể khai báo CSS bằng nhiều cách khác nhau, có thể đặt đoạn CSS phía trong thẻ <head> </head>, hoặc gửi nó ra một file riêng với phần mở rộng “.css”, ngoài ra còn có thể đặt chúng trong từng thẻ HTML riêng biệt
+ Thứ tự xếp lớp
Style nào sẽ được áp dụng khi có nhiều hơn một style được chỉ định cho một thành phần HTML.Tùy vào cách đặt khác nhau mà mức độ ưu tiên cho nó cũng khác nhau Mức độ ưu tiên này tuân theo thứ tự sau:
Style nội tuyến- Style đặt trong từng thẻ HTML riêng biệt
Style bên trong- Style đặt bên trong cặp thẻ <head>…</head>
Style bên ngoài- Style đặt trong các file riêng biệt có đuôi “.css”
Style theo mặc định của trình duyệt
CSS có tính kế thừa và tính kết hợp
+ Tính kế thừa:
25
Trang 26Giả sử rằng ở đầu file stylesheet.css bạn khai báo cho body có các thuộc tính sau:Body{
Font: Arial, Verdana;
Trang 28Vì thế rất nhiều cơ sở, doanh nghiệp ngoài việc quảng bá sản phẩm theo phương thức cũ (quảng cáo, tờ rơi, hội chợ, triển lãm…) với những khách hàng truyền thống thì cũng đã đặt ra phương thức quảng bá kinh doanh mới, đó là qua mạng Internet để có thêm nhiều khách hàng.
Trang 292.1.1 Giới thiệu về cửa hàng BBQ
BBQ là cụm từ viết tắt của Best Of The Best Quality hay có thể nói rằng BBQ- hương vị ngon nhất toàn cầu
Ở BBQ Chicken, sức khỏe của khách hàng là điều mà luôn được đặt lên hàng đầu Chính vì vậy, sologan trong những năm tiếp theo luôn là “BBQ- Great Taste, Eat Fresh” hay có thể hiểu là “BBQ- Đồ ăn tươi ngon, hương vị tuyệt hảo”
Để giữ vững thương hiệu của mình, BBQ cam kết:
- Sử dụng 100% nguyên liệu là gà TƯƠI, SẠCH Kiên quyết nói không với
29
Trang 30gà đông lạnh Chính vì vậy BBQ Việt Nam chỉ hợp tác duy nhất với CP Việt Nam,
1 đơn vị uy tín và có tên tuổi trong việc cung cấp gà tươi tại Việt Nam Đảm bảo nguyên liệu gà của BBQ đúng tiêu chuẩn, an toàn, vệ sinh và tốt cho sức khỏe người tiêu dùng
- Các gia vị kết hợp được nhập tại Hàn Quốc, Malaysia, và luôn có các chứng nhận về an toàn thực phẩm
- Tại BBQ Chicken, khách hàng luôn được phục vụ bởi những món ăn đảm bảo cho sức khỏe, dịch vụ thân thiện và nhanh chóng
2.1.2 Mô hình bán hàng
Công ty có không trưng bày sản phẩm đẹp mắt, địa điểm kinh doanh thuận lợi Các mẫu thực đơn, món ăn rất đa dạng, nhưng chủ yếu là các sản phẩm từ gà tươi như: gà nướng, gà rán… Bên cạnh đó, công ty còn có đội ngũ nhân viên nhiệt tình tư vấn cho khách hàng khi chọn mua sản phẩm tại cửa hàng
2.2 Phân tích yêu cầu đề tài
2.2.1 Tóm tắt hoạt động của hệ thống
Là một Website quản lý các sản phẩm về thức ăn nhanh, đồ uống, đồ tráng miệng…cho các cá nhân và doanh nghiệp
Là một Website động, các thông tin được cập nhật theo định kỳ
Người dùng truy cập vào Website có thể xem, tìm kiếm, mua các sản phẩm, hoặc đặt hàng sản phẩm
Các sản phẩm được sắp xếp hợp lý Vì vậy, người dùng sẽ có cái nhìn tổng quan về tất cả các sản phẩm hiện có
Người dùng có thể xem chi tiết từng sản phẩm (có hình ảnh minh hoạ sản phẩm)
Khi đã chọn được sản phẩm vừa ý thì người dùng click vào nút cho vào giỏ hàng hoặc chọn biểu tượng giỏ hàng để sản phẩm được cập nhật trong giỏ hàng
Người dùng vẫn có thể quay trở lại trang sản phẩm để xem và chọn tiếp,
Trang 31các sản phẩm đã chọn sẽ được lưu vào trong giỏ hàng.
Khách hàng cũng có thể bỏ đi những sản phẩm không vừa ý đã có trong giỏ hàng
Nếu đã quyết định mua các sản phẩm trong giỏ hàng thì người dùng click vào mục thanh toán để hoàn tất việc mua hàng, hoặc cũng có thể huỷ mua hàng
Đơn giá của các món hàng sẽ có trong giỏ hàng
Người dùng sẽ chọn các hình thức vận chuyển, thanh toán hàng do hệ thống
đã định
2.2.2 Phạm vi đề tài được ứng dụng
Dành cho mọi đối tượng có nhu cầu mua sắm trên mạng
Do nghiệp vụ của cửa hàng kết hợp với công nghệ mới và được xử lý trên hệ thống máy tính nên công việc liên lạc nơi khách hàng cũng như việc xử lý hoá đơn thực hiện một cách nhanh chóng và chính xác Rút ngắn được thời gian làm việc, cũng như đưa thông tin về các sản phẩm mới nhanh chóng đến cho khách hàng
2.2.3 Đối tượng sử dụng
Có 2 đối tượng sử dụng cơ bản là người dùng và nhà quản trị:
*Người dùng: Qua Website, khách hàng có thể xem thông tin, lựa chọn
những sản phẩm ưa thích ở mọi nơi thậm chí ngay trong phòng làm việc của mình
* Nhà quản trị: Nhà quản trị có toàn quyền sử dụng và cập nhật sản phẩm,
hoá đơn, quản lý khách hàng, đảm bảo tính an toàn cho Website
2.2.4 Mục đích của đề tài
Đáp ứng nhu cầu mua bán ngày càng phát triển của xã hội, xây dựng nên một môi trường làm việc hiệu quả
Thúc đẩy phát triển buôn bán trực tuyến
Rút ngắn khoảng cách giữa người mua và người bán, tạo ra một Website
31
Trang 32trực tuyến có thể đưa nhanh thông tin cũng như việc trao đổi mua bán các loại điện thoại qua mạng.
Việc quản lý hàng trở nên dễ dàng
Sản phẩm được sắp xếp có hệ thống nên người dùng dễ tìm kiếm sản phẩm
2.3 Xác định yêu cầu của khách hàng
2.3.1 Hệ thống hiện hành của trung tâm
Hiện tại, trung tâm đang sử dụng cơ chế quảng cáo, hợp đồng trưng bày, đặt hàng trực tiếp tại trung tâm do các nhân viên bán hàng trực tiếp đảm nhận (hoặc có thể gọi điện đến nhà phân phối để đặt hàng và cung cấp địa chỉ để nhân viên giao hàng tận nơi cho khách hàng) Trong cả hai trường hợp trên khách hàng đều nhận hàng và thanh toán trực tiếp bằng tiền mặt tại nơi giao hàng.Và trong tờ hoá đơn khách hàng phải điền đầy đủ thông tin cá nhân và số lượng mặt hàng cần mua Kế toán phải chuẩn bị hoá đơn thanh toán, nhập một số dữ liệu liên quan như ngày, giờ, tên khách hàng, mã số mặt hàng, số lượng mua, các hợp đồng trưng bày sản phẩm, tổng số các hoá đơn vào trong sổ kinh doanh
Dựa vào những ràng buộc cụ thể của hệ thống hiện hành chúng ta có thể đề nghị một hệ thống khác tiên tiến hơn, tiết kiệm được thời gian…
2.3.2 Hệ thống đề nghị
Để có thể vừa quảng cáo, bán hàng và giới thiệu sản phẩm của cửa hàng trên mạng thì website cần có các phần như:
Về giao diện:
Giao diện người dùng:
Phải có một giao diện thân thiện dễ sử dụng
Phải nêu bật được thế mạnh của website, cũng như tạo được niềm tin chokhách hàng ngay từ lần viếng thăm đầu tiên
Giới thiệu được sản phẩm của cửa hàng đang có
Trang 33 Có biểu mẫu đăng ký để trở thành thành viên.
Có danh mục sản phẩm
Chức năng đặt hàng, mua hàng
Có biểu mẫu liên hệ
Chức năng tìm kiếm sản phẩm
Mỗi loại sản phẩm cần phải có trang xem chi tiết sản phẩm
Mục login của khách hàng khi đã trở thành thành viên gồm có: Tên đăng nhập (Username), mật khẩu đăng nhập (password)
Giao diện người quản trị
Đơn giản, dễ quản lý và không thể thiếu các mục như:
Người xây dựng nên hệ thống đặc biệt phải hiểu rõ các thông số kĩ thuật
về máy tính: Có thể đưa ra đựơc một cái nhìn tổng quát, sâu rộng về sản phẩm
Trang 34 Phần cứng: PC bộ vi xử lý pentium III, ram 128 trở lên, ổ cứng 10G trở lên.
Hệ điều hành: Windown XP trở lên
MySQL - Cơ sở dữ liệu
FileZilla - Giả lập FTP server
Và các tính năng chuyên sâu khác
mySQL: Dùng để lưu cơ sở dữ liệu
Javascript: Bắt lỗi dữ liệu
Dreamweaver: Tạo form, thiết kế giao diện
Photoshop, flash: Thiết kế giao diện
2.4 Yêu cầu giao diện của website
2.4.1 Giao diện người dùng
Phải có một giao diện thân thiện dễ sử dụng:
Màu sắc hài hoà làm nổi bật hình ảnh của sản phẩm, font chữ thống nhất, tiện lợi khi sử dụng
Giới thiệu những thông tin về cửa hàng: Địa chỉ liên hệ của cửa hàng hoặc các đại lý trực thuộc, các số điện thoại liên hệ, email liên hệ
Sản phẩm của cửa hàng: sản phẩm đang có, sản phẩm bán chạy, sản phẩm mới nhất, sản phẩm sắp ra mắt…
Trang 352.4.2 Giao diện người quản trị
Giao diện đơn giản, dễ quản lý dữ liệu
Phải được bảo vệ bằng User & Password riêng của Admin
2.5 Phân tích các chức năng của hệ thống
2.5.1 Các chức năng của đối tượng Khách hàng
Khi tham gia vào hệ thống thì họ có thể đăng ký làm thành viên của hệ thống, đăng nhập, đăng xuất, xem thông tin, tìm kiếm sản phẩm, gửi phản hồi, đặt hàng, thanh toán
Chức năng Đăng ký thành viên
Description: Dành cho khách hàng đăng ký làm thành viên để có thêm nhiều chức năng cho việc mua bán sản phẩm, cũng như tạo mối quan hệ lâu dài với công ty Qua đó, thành viên sẽ được hưởng chế độ khuyến mại đặc biệt
Input: Khách hàng 35
Trang 36phải nhập đầy đủ các thông tin (*: là thông tin bắt buộc).
Tên đăng nhập: (*)
Địa chỉ email: Nhập địa chỉ email của Member (*)
Mật khẩu: (*)
Nhập lại mật khẩu (*)
Process: Kiểm tra thông tin nhập Nếu thông tin chính xác sẽ lưu thông tin vào CSDL và thêm thông tin của thành viên đó vào CSDL
Output: Đưa ra thông báo đăng ký thành công hoặc yêu cầu nhập lại nếu thông tin không hợp lệ
b) Chức năng Đăng nhập
+ Description: Cho Member login vào hệ thống
+ Input: Người dùng nhập vào các thông tin về username, password để login
+ Process: Kiểm tra username và password của người dùng nhập vào và so sánh với username và password trong CSDL
+ Output: nếu đúng cho đăng nhập và hiển thị các chức năng của Member, ngược lại hiển thị thông báo yêu cầu nhập lại nếu thông tin không chính xác
c) Chức năng Đăng xuất
+ Description: Cho phép người dùng đăng xuất khỏi hệ thống khi không còn nhu cầu sử dụng hệ thống
+ Input: Người dùng click vào nút thoát trên hệ thống
+ Process: Tiến hành xóa session lưu thông tin đăng nhập để dừng phiên làm việc của tài khoản Member trong hệ thống
+ Output: Quay trở lại trang hiện hành Ẩn hết các chức năng của Member
d) Chức năng Tìm kiếm sản phẩm
Trang 37+ Input: Nhập vào hoặc lựa chọn thông tin tìm kiếm theo Hãng, theo Giá, theo tên sản phẩm, theo chủng loại…
+ Process: Lấy thông tin sản phẩm từ CSDL theo các trường tìm kiếm.+ Output: Hiện chi tiết thông tin sản phẩm thỏa mãn yêu cầu tìm kiếm
e) Chức năng Xem thông tin sản phẩm
+ Description: Cho phép xem chi tiết thông tin của sản phẩm
+ Input: Chọn sản phẩm cần xem
+ Process: Lấy thông tin sản phẩm từ CSDL thông qua ID
+ Output: Hiện chi tiết thông tin sản phẩm
f) Chức năng Đặt hàng
+ Description: Cho phép tất cả các khách hàng có thể đặt hàng mà không cần phải là thành viên của hệ thống
+ Input: Sau khi xem giỏ hàng, khách hàng có nhu cầu đặt hàng qua mạng thì
có thể click vào nút đặt hàng và điền một số thông tin cần thiết để người quản trị có thể xác nhận thông tin và giao hàng trực tiếp đến đúng địa chỉ một cách nhanh nhất
2.5.2 Chức năng của Admin
Các chức năng Quản lý khách hàng (thành viên):
Chức năng xoá thành viên:
+ Description: Giúp Admin có thể xóa thành viên ra khỏi CSDL
+ Input: Chọn thành viên cần xóa
+ Process: Lấy các thông tin của thành viên và hiển thị ra màn hình để chắc chắn rằng Admin xóa đúng thành viên cần thiết
+ Output: Load lại danh sách thành viên để biết được đã xoá thành công
37
Trang 38thành viên ra khỏi CSDL.
Chức năng xem thông tin chi tiết khách hàng:
+ Description: Xem chi tiết thành viên có trong CSDL
+ Input: Chọn tên thành viên đó
+ Process: Lấy toàn bộ thông tin chi tiết của thành viên có trong CSDL.+ Output: Hiển thị chi tiết thông tin của thành viên
Chức năng sửa thông tin khách hàng:
+ Description: Cập nhật thành viên có trong CSDL
+ Input: Chọn chức năng cập nhật thành viên
+ Process: Lấy toàn bộ thông tin của thành viên có trong CSDL
+ Output: Hiển thị bảng thành viên
Các chức năng Quản lý sản phẩm
Chức năng chỉnh sửa thông tin sản phẩm:
+ Description: Giúp Admin thay đổi thông tin của sản phẩm đã có trong CSDL
+ Input: Admin nhập thông tin mới của sản phẩm
+ Process: Cập nhật thông tin mới cho sản phẩm
+ Output: Hiển thị thông báo đã cập nhật sản phẩm
Chức năng xoá sản phẩm:
+ Description: Giúp Admin có thể xoá sản phẩm
+ Input: Chọn sản phẩm cần xoá
+ Process: Xoá trong CSDL
+ Output: Load lại danh sách sản phẩm
Chức năng thêm sản phẩm:
+ Description: Giúp Admin có thể thêm sản phẩm mới
+ Input: Admin nhập vào những thông tin cần thiết của sản phẩm mới
+ Process: Kiểm tra xem những trường nào không được để trống Nếu tất cả
Trang 39đều phù hợp thì thêm vào database.Ngược lại thì không thêm vào database.
+ Output: Load lại danh sách sản phẩm để xem sản phẩm mới đã được thêm vào CSDL
Các chức năng Quản lý đơn hàng
Chức năng xem thông tin chi tiết các đơn đặt hàng (đang chờ được xử
lý, đang xử lý, đã hoàn thành, hoặc hoá đơn bị huỷ bỏ):
+ Description: Xem chi tiết đơn đặt hàng có trong CSDL
+ Input: Chọn tên hoá đơn hoặc tên khách hàng của hoá đơn đó
+ Process: Lấy toàn bộ thông tin chi tiết của đơn đặt hàng có trong CSDL.+ Output: Hiển thị chi tiết thông tin trong đơn đặt hàng
Chức năng cập nhật đơn hàng:
+ Description: Cập nhật đơn hàng có trong CSDL
+ Input: Chọn chức năng cập nhật
+ Process: Lấy toàn bộ thông tin của đơn hàng có trong CSDL
+ Output: Hiển thị thông tin của đơn hàng
Chức năng xoá đơn hàng:
+ Description: Giúp Admin có thể xoá đơn hàng
+ Input: Chọn đơn hàng cần xoá
+ Process: Xoá trong CSDL
+ Output: Load lại danh sách đơn hàng
Các chức năng Quản lý nội dung
Chức năng xem thông tin chi tiết nội dung:
+ Description: Xem chi tiết nội dung có trong CSDL
+ Input: Chọn tên nội dung đó
+ Process: Lấy toàn bộ thông tin chi tiết của nội dung có trong CSDL
+ Output: Hiển thị chi tiết thông tin của nội dung
Chức năng cập nhật nội dung:
39
Trang 40+ Description: Cập nhật nội dung có trong CSDL.
+ Input: Chọn chức năng cập nhật nội dung
+ Process: Lấy toàn bộ thông tin của nội dung có trong CSDL.+ Output: Hiển thị thông tin của nội dung
Chức năng xoá nội dung:
+ Description: Giúp Admin có thể xoá nội dung
+ Input: Chọn nội dung cần xoá
+ Process: Xoá trong CSDL
+ Output: Load lại danh sách nội dung
2.6 Biểu đồ phân tích thiết kế hệ thống
2.6.1 Biểu đồ Use case tổng quát