Các ứng dụng được biết đến trực tiếp trên Web.Trong bối cảnh hiện nay nhu cầu phục vụ tận nơi luôn được chú trọng và đánh giácao,không cần phải đến trực tiếp cửa hàng để xem sản phẩm, mà
Trang 1CHƯƠNG 1: MỞ ĐẦU
1.1 Tính cấp thiết khi chọn đề tài
Với sự phát triển mạnh mẽ của công nghệ thông tin và sự lớn mạnh, rộng khắp của mạngmáy tính toàn cầu Việc ứng dụng tin học vào các lĩnh vực của cuộc sống ngày được quantâm và sử dụng hiệu quả, đem lại lợi ích to lớn về mọi mặt Sự lớn mạnh của mạng máytính đã xóa bỏ mọi ranh giới về không gian và thời gian để đem con người và tri thứcxích lại gần nhau hơn Tiếp xúc nhiều với công nghệ, nhiều phần mềm được tạo ra đểphục vụ cho nhu cầu của con người Các ứng dụng được biết đến trực tiếp trên Web.Trong bối cảnh hiện nay nhu cầu phục vụ tận nơi luôn được chú trọng và đánh giácao,không cần phải đến trực tiếp cửa hàng để xem sản phẩm, mà chúng ta co thể ở bắt cứđâu, truy cập vào web thì có thể mua được những sản phẩm mình thích
Xuất phát từ thực tế trên, đề tài “WEBSITE BÁN BÁNH KEM”ra đời để phục vụ nhucầu mua hàng trực tiếp và tiện lợi được rất nhiều người quan tâm
“WEB BÁN BÁNH KEM” chạy trên nền web có tính thực tế phù hợp với những kháchhàng công sở, khách hàng nội trợ, không có nhiều thời gian, sản phẩm theo ý thích củamình thì mua hàng trực tiếp sẽ là sự lựa chọn thông minh, dễ sự dụng và nhanh chống vàtiện lợi
1.2 Đối tượng nghiên cứu
-Đối tượng nghiên cứu là web bán bánh kem trên tất cả các chi nhánh của cửa hàng trênmột số tỉnh thành
-Hướng đến website thương mại điện tử, kết hợp thanh toán trực tuyến
-Hướng dẫn chỉ đường cho khách hàng đến trực tiếp của hàng
Trang 21.3 Mục tiêu đề tài
-Nghiên cứu lĩnh vực làm web mới bằng công nghệ MVC
-Mang đến cho khách hàng tiện lợi về mua hàng trực tiếp, giải quyết vấn đề thời gian chokhách hàng
-Áp dụng các công nghệ HTML5 , CSS3, Jquery, Ajax
-Hướng dẫn chỉ đường cho khách hàng đến trực tiếp của hàng
-Thanh toán trực tuyến, giúp khách hàng tiết kiệm thời gian
-Giúp khách hàng xem tin tức ngay lúc mua hàng
-Khách hàng có thể xem tỉ giá ngoại tệ và thời tiết ngay trên “Anh Thư Bakery”
-Trên cơ sở phân tích những nhu cầu của khách hàng, trên những của hàng cho ra mộtweb bán hàng phù hợp với tất cả mọi khách hàng, đơn giãn, gần gủi và dễ sử dụng
-Bằng việc đăng ký thông tin, khách hàng sẽ nhận được nhiều ưu đải lớn từ “ANH THƯBAKERY” trong các dịp lễ tết
Trang 3CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
2.1 Khái quát về mô hình MVC
-Mô hình MVC (Model -View – Controller) là một kiến trúc phần mềm hay mô hìnhđược thiết kế được sử dụng trong kỷ thuật phần mềm Phương pháp thiết kế MVC làphương pháp chia nhỏ một phần ứng dụng thành nhiều lớp hoặc chia nhỏ phần giao diệnngười dung( User Interface) của một ứng dụng thành ba phần chính là Model, View vàController
2.1.1 Giới thiệu mô hình MVC
Hình 2.1: Mô hình MVC
Trang 4-MVC có ba thành phần chính
-Model(tạm dịch là phần “Mô hình”) là một đối tượng hoặc tập hợp các đối tượng biểudiển cho phần dữ liệu của chương trình, ví dụ : các dữ liệu được lưu trong cơ sở dự liệuhay từ các ứng dụng khác(như mail )
-View( tạm dịch là phần “Hiển thị”) là phần giao diện với người dung,bao gồm việc hiện
dữ liệu ra màn hình, cung cấp các menu, nút bấm, hộp thoại, chọn lưu…,đề 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( tạm dịch là phần “Điều khiển”) là phần điều khiển toàn bộ logic về hoạtđộng của giao diện, tương tác với thao tác của người dùng(từ chuột, bàn phím đến tất cácthiết bị khác) và cập nhật thao tác trên dữ liệu theo đầu vào nhận được và điều kiện việcchọn phần “Hiển thị” thích hợp để truyền dữ liệu tới người dùng
-Với phương pháp thiết kế này, các chức năng hiển thị , chức năng logic điều khiển vàchức năng truy cập dữ liệu của chương trình được chia thành các phần riêng biệt, và cóthể được thực hiện song song nhau
2.1.2 Ưu điểm và nhược điểm của MVC
-Ưu điểm: Phát triển phần mềm 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 tổ chứcdatabase Giúp phát triển ứng dụng nhanh, đơn giãn, dễ nâng cấp
Bảo trì: Với các lớp được phân chia như đã nói ở trên thì các thành phần của hệ thống dễđược thay đổi, nhưng sự thay đổi có thể cô lập trong từng lớp, hoặc chỉ ảnh hưởng đếnlớp ngay gần kề của nó, chứ không phát tán náo loạn trong cả chương trình
Mở rộng:Với việc được phân chia ba lớp thì việc them 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
Trang 52.2 Giới thiệu phần mềm Rational Rose
Rational Rose là phần mểm công cụ mạnh hỗ trợ phân tích, thiết kế hệ thống phầnmềm theo hướng đối tượng Nó giúp ta mô hình hóa hệ thống trước khi viết mã trình, nóđảm bảo tính đúng đắn, hợp lý của kiến trúc hệ thống từ khi khởi đầu dự án
Mô hình Rasional Rose là bức tranh hệ thống, nó bao gồm toàn bộ UML, tác nhân,trường hợp sử dụng, đối tượng, lớp, thành phần và các nút triển khai trong hệ thống Nó
mô tả chi tiết hệ thống bao gồm các gỉ và chúng làm việc ra sao để người phát triển hệthống có thể sử dụng mô hình như kế hoạch chi tiết cho việc xây dựng hệ thống RasionalHơn nữa , Rational Rose còn hỗ trợ phát sinh mã khung chương trình trong nhiều ngônngữ khác nhau như C++, Java, Visual Basic, Oracle 8
2.3 Giới thiệu Jquery và Ajax
2.3.1 Jquery
-Jquery là 1 Javascript Framework, tạo ra các tương tác trên web một cách nhanh nhất.-Jquery có mã nguồn mở và hoàn toàn miễn phí, có một cộng đồng sử dụng đông, nhiềulập trình tham gia hoàn thiện, phát triển và viết Plugin
- jQuery đơn giản hóa cách viết Javascript và tăng tốc độ xử lý các sự kiện trên trang webtiết kiệm thời gian và công sức
- Sử dụng jQuery giúp giải quyết tốt vấn đề xung đột giữa các trình duyệt web
-Hỗ trợ tốt việc xử lý Dom, Ajax.Tương thích nhiều trình duyệt web phổ biến Nhỏ gọn,
dễ dùng Ít xung khắc với các thưviện Javascript khác Plugin phong phú
2.3.2 Ajax
-Ajax (Asynchronous JavaScript and XML): “JavaScript và XML không đồng bộ” là mộtnhóm các công nghệ phát triển web
Trang 6-Trang web có thể cập nhật lại nội dung cần thiết mà không phải nạp lại toàn bộ trangweb
-Trang web được hiển thị nhanh hơn vì lượng dữ liệu trao đổi giữa máy chủ và trìnhduyệt web giảm đi rất nhiều
2.3 Asp.Net MVC 4
-ASP.NET MVC 4 là một framework để xây dựng các ứng dụng web có khả năng
mở rộng dựa trên các tiêu chuẩn bằng cách sử dụng các mẫu thiết kế mô hình và sức mạnh của framework ASP.NET mới Framework 4 tập trung vào phát triển ứng dụng web trên điện thoại di động dễ dàng hơn
Khi tạo một dự án mới ASP.NET MVC 4 có một ứng dụng dự án mẫu điện
thoại di động để chúng ta có thể sử dụng cho việc xây dựng một ứng dụng chuyên
dụng cho các thiết bị di động Ngoài ra, ASP.NET MVC 4 tích hợp với gói điện thoại
di động thông qua một gói NuGet jQuery.Mobile.MVC
-jQuery Mobile là một framework dựa trên nền HTML5 để phát triển các ứng
dụng web tương thích với tất cả các nền tảng thiết bị di động phổ biến, bao gồm cả
Windows Phone, iPhone, Android v.v Tuy nhiên, nếu chúng ta cần chuyên môn hóa cho nhiều loại thiết bị khác nhau thì ASP.NET MVC 4 cũng cho phép chúng ta tạo các View đặc thù khác nhau cho các thiết bị khác nhau và cung cấp tối ưu hóa thiết bị cụ thể
2.4 HTML5
-HTML5 sẽ cho phép bạn xem video mà không cần sử dụng một plugin như Flash hoặc Silverlight
Trang 7Flash 10.1 - đang trong phiên bản beta – có thể giúp giải quyết vấn đề này) Sau cùng, nó chỉ là một trong nhiều phần mềm đang chạy và chiếm tài nguyên hệ thống Với HTML5, tính năng video đã được xây dựng sẵn trong đó.
2.5 CSS3
-Cascading Style Sheets, hay còn gọi tắt là CSS
-Là những file hỗ trợ cho trình duyệt Web trong việc hiển thị một trang HTML
-Về cơ bản, các trang HTML như bộ xương - khuôn khổ cơ bản - của một trang web - trong khi các file CSS sẽ cụ thể hóa các thành phần của một trang nên được hiển thị như thế nào CSS cho phép bạn kiểm soát phông chữ, màu chữ, kiểu nền , của một trang HTML
2.6 CSS3 Rational Rose
Rasional Rose là phần mểm công cụ mạnh hỗ trợ phân tích, thiết kế hệ thống phầnmềm theo hướng đối tượng Nó giúp ta mô hình hóa hệ thống trước khi viết mã trình, nóđảm bảo tính đúng đắn, hợp lý của kiến trúc hệ thống từ khi khởi đầu dự án
Mô hình Rasional Rose là bức tranh hệ thống, nó bao gồm toàn bộ UML, tác nhân,trường hợp sử dụng, đối tượng, lớp, thành phần và các nút triển khai trong hệ thống Nó
mô tả chi tiết hệ thống bao gồm các gỉ và chúng làm việc ra sao để người phát triển hệthống có thể sử dụng mô hình như kế hoạch chi tiết cho việc xây dựng hệ thống RasionalRose hỗ trợ giải quyết vấn đề muôn thủa là đội ngũ dữ án giao tiếp với khách hàng vàlàm tài liệu yêu cầu
Khách hàng và quản lý dự án sử dụng các biểu đồ UseCase(UC) để có cái nhìn bao quát
Trang 8Thông qua tài liệu UC, người làm tài liệu kỹ thuật có thể bắt đầu viết hướng dẫn sử dụng
và kế hoạch huấn luyện sử dụng
Các phân tích viên và người phát triển, thông qua các biểu đồ trình tự và biểu đồ cộngtác, thấy được logic của hệ thống tuân thủ, các đối tượng trong hệ thống và các thôngđiệp giữa các đối tượng
Hơn nữa , Rational Rose còn hỗ trợ phát sinh mã khung chương trình trong nhiều ngônngữ khác nhau như C++, Java, Visual Basic, Oracle 8
CHƯƠNG 3: GIẢI QUYẾT BÀI TOÁN
Trang 9Hàng ngày nhu cầu mua hàng của khách hàng rất cao, không nói đến những dịp lễtết, mừng sinh nhật, cưới hỏi hay dành tặng cho người thân, bạn bè và người yêu.Việc lựachọn một chiếc bánh kem hợp với sở thích và chất lượng tốt thì cần phải tốn nhiều thờigian đến những cửa hàng để tham khảo và lựa chọn.Để giảm thiểu bớt thời gian đi lại vàchọn được sản phẩm phù hợp thì khách hàng chỉ cần vào web bán bánh kem chọn lựabánh mà thích, không những vậy trên web còn có những ưu đãi đặc biệt như giảm giáthành, chia sẽ công thức mới cho các bạn yêu thích bộ môn làm bánh.
Hệ thống web bán bánh kem sẽ được phân chia theo những vai trò như sau:
1.Nhân viên tiếp nhận: là người trực tiếp nhận đơn đăt hàng của khách hàng.
-Khách hàng:
Mỗi khách hàng sẽ có tên, mã khách hàng( để phân biệt), địa chỉ,điện thoại,email,ngàysinh, giới tính, tên đăng nhập, và mặt khẩu, và khách hàng thân thiết(có trên 3 hóa đơnmua hàng)
Nhân viên tiếp nhận sẽ lấy thông tin và mẫu bánh mà khách hàng đã chọn, và cập nhật lạinội dung nếu khách hàng thay đổi
2.Chuyên viên làm bánh:
-Tiếp nhận đơn hàng và kiểu mẫu mà khách hàng lựa chọn
-Chuẩn bị nguyên liệu và làm bánh cho khách hàng
-Là người trực tiếp thiết kế mẫu bánh và làm bánh theo ý thích của khách hàng
-Chuyên viên làm bánh sẽ là người thường xuyên phát triển các mẫu bánh cho cửa hàng
3.Nhân viên bán hàng:
-Bán bánh cho khách hàng và hổ trợ khách mua bánh
-Bán hàng trực tiếp từ cửa hàng(khách hàng có thể đến trực tiếp cửa hàng để mua bánh)
4 Kế toán: quản lý các khoản thu chi của cửa hàng.
-Khách hàng có thể mua them một sốvật dụng dùng cho sinh nhật như nón sinh nhật,pháo hoa, dĩa muỗng giấy
-Những chi phí phát sinh trong lúc khách hàng mua hàng
-Khi khách hàng đã thanh toán thì kế toán sẽ in biên laic ho khách hàng, biên lai sẽ được
Trang 105 Nhân viên giao bánh:Người đảm nhiệm vai trò giao bánh cho khách hàng theo địa chỉ
trong đơn hàng
-Khi tiếp nhận đơn hàng, và bánh thì nhân viên sẽ giao bánh cho cửa khách hàng
6.Nhân viên hỗ trợ tư vấn : Nhận điện thoại và tư vấn thắc mắc của khách hàng, hỗ trợ
nhận bánh qua điện thoại và giải đáp thắc mắc cho khách hàng
3.2 Mô hình Use Case
Khái niệm UseCase(UC) được Jacobcon đề xuất vào năm 1994 khi làm việc chohang Ericsson UC mô tả ai đó sử dụng hệ thống như thế nào,mô tả tương tác giữa người
sử dụng với hệ thống phần mềm để thực hiện các thao tác giải quyết công việc cụ thể nào
đó UC không cho biết hệ thống làm việc bên trong như thế nào Nó không phải là thiết
kế, cũng không phải là kế hoạch cài đặt, nó là một phần của vấn đề cần giải quyết Tiếntrình của hệ thống được chia nhỏ thành các UC để có thể nhận ra ừng bộ phận của nó mộtcách rõ rang và để nhều người có thể cùng xử lý
UC là nền tảng của phân tích hệ thống Việc tìm ra đủ các UC đảm bào rằng hệ thống sẽxây dựng đáp ứng mọi như cầu của người sử dụng Mỗi UC là tập hành động Mỗi hànhđộng là cái gì đó mà hệ thống làm , nó là hạt nhân được hệ thống thực hiện hoàn toàn haykhông được hiện phần nào
3.2.1 Danh sách các use case
Use Case Mục tiêu cần đạt được khi sử dụng hệ thống web bán bánh kem
Nhân viên tiếp nhận -Nhận đơn hàng của khách hàng
Trang 11-Sáng tạo và cho ý tưởng bánh mới Nhân viên bán hàng -Bán bánh cho khách hàng và hổ trợ khách mua bánh
-Bán hàng trực tiếp từ cửa hàng(khách hàng có thể đến trực tiếp cửa hàng để mua bánh)
Kế toán - Quản lý các khoản thu chi của cửa hàng.
-Lập hóa đơn cho khách hàng -Lập biên lai phát sinh khi mua hàng Nhân viên giao bánh -Người đảm nhiệm vai trò giao bánh cho khách hàng theo địa chỉ
trong đơn hàng
Nhân viên hỗ trợ tư vấn -Nhận điện thoại và tư vấn giải đáp thắc mắc của khách hàng
-Đăng ký khách hàng -Tra cứu thông tin của các loại bánh Quản trị hệ thống -Quản lý tài khoảng cho khách hàng
-Thêm/Cập nhật bánh mới -Thêm/Cập nhật tin tức mới, khuyến mãi -Thêm tài khoản
3.2.2 Sơ đồ Use Case
Hình 3.1: Sơ đồ UseCase các nghiệp vụ của Nhân Viên Tiếp Nhận
Trang 12Hình 3.2: Sơ đồ UseCase các nghiệp vụ của Chuyên Viên Làm Bánh
Hình 3.4 Sơ đồ UseCase các nghiệp vụ của Người Dùng
Hình 3.3: Sơ đồ UseCase các nghiệp vụ của Kế Toán
Trang 13Hình 3.5: Sơ đồ UseCase các nghiệp vụ của Nhân Viên Bán Hàng
Hình 3.6: Sơ đồ UseCase các nghiệp vụ của Nhân Viên Giao Bánh
Hình 3.7: Sơ đồ UseCase các nghiệp vụ của Nhân Viên Hỗ Trợ Tư Vấn
Hình 3.8: Sơ đồ UseCase các nghiệp vụ của Quản Trị Hệ Thống
Trang 143.3 Sơ đồ lớp
3.3.1 Sơ đô lớp mức căn bản
Trang 153.3.2 Danh sách các lớp đối tượng
KhachHang Đối tượng Lưu thông tin khách hàng
KhuyenMai Đối tượng Lưu thông tin khuyến mãi
HTTT Đối tượng Lưu thông tin hình thức thanh toán
YKien Đối tượng Lưu thông tin ý kiến của khách hàng
3.3.3 Mô tả chi tiết từng đối tượng
3.3.3.1 Lớp chủ đề
Tên thuộc tính Loại Ràng buộc Ý nghĩa/ ghi chú
Trang 163.3.3.2 Lớp bánh
Tên thuộc tính Loại Ràng buộc Ý nghĩa/ ghi chú
3.3.3.3 Lớp loại bánh
Tên thuộc tính Loại Ràng buộc Ý nghĩa/ ghi chú
3.3.3.4 Lớp khách hàng
Trang 17Tên thuộc tính Loại Ràng buộc Ý nghĩa/ ghi chú
3.3.3.5 Lớp đơn đặt hàng
Tên thuộc tính Loại Ràng buộc Ý nghĩa/ ghi chú
3.3.3.6 Lớp chi tiết đơn hàng
Tên thuộc tính Loại Ràng buộc Ý nghĩa/ ghi chú
Trang 18ThanhTien Private Thành Tiền
3.3.3.7 Lớp khuyến mãi
Tên thuộc tính Loại Ràng buộc Ý nghĩa/ ghi chú
3.3.3.8 Lớp liên hệ
Tên thuộc tính Loại Ràng buộc Ý nghĩa/ ghi chú
MaLienHe Private Khoá chính Mã liên hệ
3.3.3.9 Lớp quảng cáo
Trang 19Tên thuộc tính Loại Ràng buộc Ý nghĩa/ ghi chú
ThoiGianKetThuc Private Thời gian kết thúc
3.3.3.10 Lớp hình thức thanh toán
Tên thuộc tính Loại Ràng buộc Ý nghĩa/ ghi chú
MaHTTT Private Khoá chính Mã hình thức thanh toán
3.3.3.11 Lớp quản trị
Tên thuộc tính Loại Ràng buộc Ý nghĩa/ ghi chú
Trang 203.3.3.12 Lớp nhóm quản trị
Tên thuộc tính Loại Ràng buộc Ý nghĩa/ ghi chú
3.3.3.13 Lớp ý kiến
Tên thuộc tính Loại Ràng buộc Ý nghĩa/ ghi chú
3.3.3.14 Lớp tin tức
Trang 213.4 Sơ đồ dữ liệu
3.4.1 Sơ đồ logic
Trang 223.4.2 Mô tả chi tiết các dữ liệu trong sơ đồ
Các kiểu dữ liệu dùng cho các bảng là các kiểu dữ liệu trong SQL Sever 2012
3.4.2.1 Bảng chủ đề
Tên thuộc tính Kiểu Ràng buộc Ý nghĩa/ ghi chú
MaCD Int identity Primary key Phát sinh tự động
3.4.2.2 Bảng bánh
Tên thuộc tính Kiểu Ràng buộc Ý nghĩa/ ghi chú
MaBanh Int identity Primary key Phát sinh tự động
Tên thuộc tính Loại Ràng buộc Ý nghĩa/ ghi chú
MaLoai Int identity Primary key Phát sinh tự động
TenLoai Nvarchar
3.4.2.4 Bảng khách hàng
Tên thuộc tính Loại Ràng buộc Ý nghĩa/ ghi chú
MaKH Int identity Primary key Phát sinh tự động
HoTenKH Nvarchar
DiaChi Nvarchar
DienThoai Varchar
NgaySinh Smalldatetime