1. Trang chủ
  2. » Luận Văn - Báo Cáo

Website quản lý nhà hàng và bán đồ ăn bằng C#

83 281 2

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 83
Dung lượng 10,2 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Phần mở đầu.I.1 Lý do lựa chọn đề tài Ngày nay với sự phát triển mạnh mẽ của lĩnh vực Công nghệ thông tin đặc biệt với sự ra đời của Internet, nó đang dần trở thành một phần thiết yếu củ

Trang 1

MỤC LỤC

DANH MỤC CÁC HÌNH VẼ 4

DANH MỤC BẢNG BIỂU 5

LỜI CẢM ƠN 5

LỜI MỞ ĐẦU 6

CHƯƠNG 1 Tổng qua về đề tài 7

I.1 Giới thiệu chung 7

I.2 Mô tả bài toán 9

I.3 Phạm vi hệ thống 12

I.4 Đánh giá mức độ khả thi và mức dộ rủi ro 13

I.5 Giới thiệu ngôn ngữ và sử dụng ngôn ngữ 14

I.5.1 C# 14

I.5.2 SQL Sever 18

I.5.3 Visual Studio 2019 22

CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG 29

II.1 Kiến trúc hệ thống 29

II.2 Mô hình triển khai hệ thống 30

II.3 Xác định danh sách tác nhân 30

II.4 Tác nhân và ca sử dụng 31

II.5 Mô hình chức năng của hệ thống 32

II.6 Mô hình Usecase(UC) 34

II.7 Đặc tả chi tiết các Usecase (UC) 36

II.8 Biểu đồ hoạt động của hệ thống 49

II.8.1 Biểu đồ hoạt động đăng ký tài khoản 49

Trang 2

CHƯƠNG 3: Phân tích và thiết kế cơ sở dữ liệu 59

III.1 Biểu đồ diagram của nhà hàng 59

III.2 Bảng Food 60

III.3 Bảng Account 60

III.4 Bảng MigrationHistory 61

III.5 Bảng Category 61

III.6 Bảng Customer 61

III.7 Bảng Order 62

III.8 Bảng OrderInfo 62

III.9 Bảng Payment 63

III.10 Bảng ShopInformation 63

CHƯƠNG 4:Thiết kế hệ thống 64

IV.1 Xây dựng giao diện 64

IV.2 Xây dựng chức năng 72

KẾT LUẬN 80

Tài liệu tham khảo 81

Trang 3

DANH MỤC CÁC HÌNH VẼ

Hình 1.1 Quản lý bán hàng 10

Hình 1.2Ngôn ngữ C# 16

Hình 1.3: ASP.Net framework 17

Hình 1.4: SQL Server 18

Hình 2.1Kiến trúc hệ thống 23

Hình 2.2: Mô hình triển khai hệ thống 24

Hình 2.3: Mô hình chức năng Backend 26

Hình 2.4: Mô hình chức năng Frontend 28

Hình 2.5: Mô hình Usecase tác nhân Renter/ Leaser 29

Hình 2.6: Mô hình Usecase tác nhân Admin 30

Hình 2.7: Mô hình UC đăng ký thành viên 30

Hình 2.8: Mô hình UC đăng nhập 31

Hình 2.9: Mô hình UC tìm kiếm món ăn 32

Hình 2.10: Mô hình UC Xem món ăn 33

Hình 2.11: Mô hình UC Quản lý tin 34

Hình 2.12: Mô hình UC Cập nhật profile 35

Hình 2.13: Mô hình UC Quản lý tin món ăn 37

Hình 2.14: Mô hình UC Quản lý bài viết 39

Hình 2.15: Mô hình UC Quản lý user 41

Hình 2.16: Mô hình UC Quản lý hệ thống 42

Hình 2.17: Biểu đồ hoạt động Đăng ký tài khoản 44

Hình 2.18: Biểu đồ hoạt động Đăng nhập 45

Hình 2.19: Biểu đồ hoạt động Tìm kiếm món ăn 46

Hình 2.20: Biểu đồ hoạt động xem món ăn 47

Hình 2.21: Biểu đồ hoạt động Cập nhật profile 48

Hình 2.22: Biểu đồ hoạt động Quản lý danh mục nhà hàng 49

Hình 2.23: Biểu đồ hoạt động Quản lý bài viết 50

Hình 2.24: Biểu đồ hoạt động Quản lý danh mục bài viết 51

Trang 4

Hình 2.25: Biểu đồ hoạt động Quản lý người dùng 52

Hình 2.26:Biểu đồ hoạt động Quản lý hệ thống 53

DANH MỤC BẢNG BIỂU Bảng 1.1:Mô tả đối tượng và phạm vi sử dụng 14

Bảng 1.2: Miêu tả mức rủi ro của hệ thống 16

Bảng 2.1: Tác nhân và ca sử dụng 26

Bảng 3.1: Bảng món ăn 55

Bảng 3.2:Bảng danh mục 56

Bảng 3.3: Bảng admin 56

Bảng 3.4: Bảng khách hàng 56

Bảng 3.5: Bảng đặt bàn 57

Bảng 3.6: Bảng chi tiết đặt bàn 57

Trang 5

LỜI CẢM ƠN

Trước tiên với tình cảm sâu sắc và chân thành nhất, cho phép em được bày tỏ lòngbiết ơn đến tất cả các cá nhân và tổ chức đã tạo điều kiện hỗ trợ, giúp đỡ em trong suốtquá trình học tập và nghiên cứu đề tài này Trong suốt thời gian từ khi bắt đầu học tập tạitrường đến nay, em đã nhận được rất nhiều sự quan tâm, giúp đỡ của quý Thầy Cô và bạnbè

Với lòng biết ơn sâu sắc nhất, em xin gửi đến quý Thầy Cô ở bộ môn Khoa HọcMáy Tính đã truyền đạt vốn kiến thức quý báu cho chúng em trong suốt thời gian học tậptại trường Nhờ có những lời hướng dẫn, dạy bảo của các thầy cô nên đề tài nghiên cứucủa em mới có thể hoàn thiện tốt đẹp

Một lần nữa, em xin chân thành cảm ơn Thầy Lê Hồng Anh – người đã trực tiếpgiúp đỡ, quan tâm, hướng dẫn em hoàn thành tốt bài báo cáo này trong thời gian qua

Bài báo cáo đồ án thực hiện trong khoảng thời gian vừa qua Bước đầu đi vào thực

tế của em còn hạn chế và còn nhiều bỡ ngỡ nên không tránh khỏi những thiếu sót, em rấtmong nhận được những ý kiến đóng góp quý báu của quý Thầy Cô để kiến thức của emtrong lĩnh vực này được hoàn thiện hơn đồng thời có điều kiện bổ sung, nâng cao ý thứccủa mình

Em xin chân thành cảm ơn!

Trang 6

LỜI MỞ ĐẦU

Ngày nay với sự bùng nổ và phát triển mạnh mẽ của lĩnh vực Công nghệ thông tinđặc biệt với sự ra đời của Internet, nó đang dần trở thành một phần không thể thiếu củacuộc sống con người Công nghệ thông tin đang được phát triển và ứng dụng mạnh mẽtrong các lĩnh vực quản lý sản xuất, quản lý kinh doanh, dịch vụ, quản lý xã hội cũng nhưtất cả các lĩnh vực khác Thực tế đã cho thấy hiệu quả của tin học khi áp dụng vào côngtác quản lý, nó đã làm giảm bớt công tác bàn giấy đồng thời góp phần đáng kể trong việcthống kê tránh những sai sót trong kinh doanh Có thể nói tin học đã trở thành một công

cụ hữu hiệu đem lại hiệu quả trong công tác quản lý và kinh doanh

Quản lý nhà hàng là một trong những nhu cầu thiết thực đó Việc duy trì và pháttriển nhà hàng không chỉ dừng lại ở những món ăn ngon, mà còn cần giải quyết đượcnhững phức tạp, khó khăn trong công việc quản lý về tài chính, nhân sự… và những chiếnlược kinh doanh của nhà hàng

Đáp ứng những nhu cầu đó, em đã chọn đề tài “Xây dựng website quản lý nhà hàng”

để xây dựng và phát triển Website được thiết kế dựa trên thực tế nghiệp vụ của nhà hàng

để có khả năng đáp ứng và hỗ trợ tốt trong công việc quản lý và kinh doanh của nhà hàng,tránh nhầm lẫn sai sót, đồng thời hỗ trợ cho việc tìm kiếm thông tin nhanh chóng, chínhxác

Trang 7

CHƯƠNG 1 Phần mở đầu.

I.1 Lý do lựa chọn đề tài

Ngày nay với sự phát triển mạnh mẽ của lĩnh vực Công nghệ thông tin đặc biệt với

sự ra đời của Internet, nó đang dần trở thành một phần thiết yếu của cuộc sống con người.Công nghệ thông tin đang được phát triển và ứng dụng mạnh mẽ trong các lĩnh vực quản

lý sản xuất, quản lý kinh doanh, dịch vụ, quản lý xã hội cũng như tất cả các lĩnh vực khác.Quản lý nhà hàng là một trong những nhu cầu thiết thực đó, một website quản lý nhà hàng

là một giải pháp hoàn toàn hợp lý và đáng được mong đợi Một website mà chủ nhà hàng

có thể quản lý được nhà hàng một cách nhanh chóng, chính sác cùng với đó là sự tiện lợikhi khách hàng có thể giao tiếp với nhà hàng một cách nhanh gọn và dễ dàng mà khôngcần phải đi đâu xa khi chỉ cần ngồi nhà hay văn phòng làm việc vẫn có thể sử dụng mộtcách dễ dàng

Đi vào thực tiễn để có thể phát triển đề tài, nhận thấy hiện tại xung quanh khu vựccủa nhà hàng là các khu công nghiệp và một số công trường đang thi công nên đây phầnlớn là nơi sinh sống và làm việc của đa số các công nhân viên Công việc ngày càngnhiều, công nghệ thông tin ngày một phát triển nên nhu cầu cuộc sống của con ngườingày một tăng cao Mọi người quá bận rộn với công việc hoặc không muốn ra đường nênnhu cầu gọi đồ ăn ship đến là rất cao và lượng người đến với nhà hàng là ngày một ít.Trang web được sinh ra nhằm đáp ứng các đặc điểm riêng dựa trên thực tế nghiệp vụ củanhà hàng, em nhận thấy nhà hàng có rất ít khách ngồi ăn tại quán mà đa phần là muamang về hoặc ship tận nơi cùng với đó là tác hại của covid-19 dẫn đến chúng ta phải cách

ly tập trung hoặc không được tụ tập quá 5 người nên ý tưởng của em là xây dựng mộtwebsite vừa để quản lý nhà hàng vừa giúp nhà hàng kinh doanh một cách thuận lợi vàphát triển.Nhà hàng sẽ tập trung bán hàng mang về và nhận ship để có thể duy trì kinhdoanh cũng như ngày một phát triển

Việc duy trì và phát triển nhà hàng không chỉ dừng lại ở những món ăn ngon, màcòn cần giải quyết được những phức tạp, khó khăn trong công việc quản lý về tài chính,nhân sự… và những chiến lược kinh doanh của nhà hàng

Trang 8

Đáp ứng những nhu cầu nêu trên, đề tài “Xây dựng website quản lý nhà hàng” của

em được lên kế hoạch và bắt đầu đi vào nghiên cứu cũng như phát triển Website đượcthiết kế dựa trên thực tế nghiệp vụ của nhà hàng để có khả năng đáp ứng và hỗ trợ tốt nhấttrong công việc quản lý và kinh doanh của nhà hàng, tránh nhầm lẫn sai sót, đồng thời hỗtrợ cho việc tìm kiếm thông tin trở nên nhanh chóng và chính xác

I.2 Giới thiệu chung

I.2.1 Các khái niệm cơ bản về quản lý bán hàng

Định nghĩa: Quản lý bán hàng có thể được định nghĩa là hoạt động quản trị của cánhân hoặc một nhóm người thuộc lĩnh vực bán hàng hoặc những người hỗ trợ trực tiếpcho lực lượng bán hàng nhằm triển khai việc cung cấp các sản phẩm hoặc dịch vụ củadoanh nghiệp trên cơ sở chiến lược kinh doanh, nguồn lực của doanh nghiệp và môitrường kinh doanh có liên quan

Quản lý bán hàng có nhiệm vụ phân phối hàng hóa đến những kênh phân phối theomục tiêu đã đề ra nhằm tối ưu việc hiện diện của hàng hóa, dịch vụ với chi phí hợp lý, đạthiệu quả tối đa và đạt được mục tiêu marketing của nhà hàng về ngắn hạn cũng như dàihạn

Chức năng của hệ thống quản lý bán hàng

Trong thời đại bùng nổ công nghệ 4.0 như hiện nay, một hệ thống giúp quản lýviệc bán hàng là không thể thiếu trong hoạt động kinh doanh của doanh nghiệp Hệ thốngquản lý chính là những phần mềm quản lý bán hàng, giúp cho người dùng đặc biệt là cácdoanh nghiệp kiểm soát quản lý được hàng hóa một cách chặt chẽ hơn Việc quản lý của

hệ thống sẽ được kiểm soát trong tất cả các khâu: Nhập hàng, quản lý đơn hàng, quản lýkho hàng, quản lý nhân viên, chăm sóc khách hàng,…

Có một hệ thống giúp quản lý bán hàng sẽ giúp doanh nghiệp tối ưu được hoạt động kinhdoanh của mình, cụ thể thông qua những chức năng của hệ thống quản lý bán hàng

Trang 9

 Chức năng quản lý đơn hàng

Đương nhiên không thể không kể tới chức năng quản lý đơn hàng của các phần mềmquản lý, đây là chức năng tối quan trọng giúp việc bán hàng và quản lý bán hàng hiệu quảhơn

 Chức năng quản lý kho hàng hóa

Bất kể người kinh doanh nào cũng biết việc quản lý tốt số lượng hàng hóa trong kho gópphần tăng hiệu quả hoạt động kinh doanh Do đó chức năng quản lý hàng hóa của phầnmềm quản lý bán hàng là chức năng vô cùng quan trọng, không thể thiếu

 Quản lý tài chính

Phần mềm còn hỗ trợ hữu ích người kinh doanh về vấn đề quản lý tài chính kế toán, quản

lý tiền mặt, tiền công nợ khách hàng, tiền hàng, tiền đơn vị giao hàng thu hộ, tiền thuế,tiền thuê mặt bằng,… và các khoản thu chi khác trong kinh doanh

 Quản lý khách hàng

Thông tin khách hàng được phần mềm lưu trữ lại để người bán hàng dễ dàng nhận biếtkhách hàng là khách mới hay khách cũ, khách quen để có chương trình bán hàng và tri ânhợp lý

Trang 10

I.2.2 Giới thiệu hệ thống website

Hệ thống quản lý nhà hàng trực tuyến được xây dựng nhằm đưa thông tin chi tiết

về những sản phẩm cũng như các món ăn mà nhà hàng đang kinh doanh đến khách hàng

Hệ thống phục vụ cho các đối tượng sau:

ADMIN: Người có toàn quyền trong việc quản trị hệ thống các quyền đó gồm thêm danhmục , món ăn , quảng cáo

KHÁCH HÀNG : Khách hàng vào trang web có thể xem thông tin chi tiết về các mónăn,đặt mua món ăn, bình luận chất lượng món ăn và thái độ phục vụ , xem tin tức , thôngtin chi tiết của cửa hàng Khách hàng có thể đăng ký thành viên để được đặt mua món ăn

và thanh toán

I.3 Mô tả bài toán.

Nhà hàng chuyên phục vụ các món ăn độc đáo, mang hương vị riêng biệt vớinhững món ăn hiện đại Sự sáng tạo trong cách chế biến món ăn và làm hài lòng thựckhách là điều được quan tâm hàng đầu của nhà hàng Tuy nhiên, với hình thức kinh doanhhiện tại là phục vụ khách hàng khi khách hàng đến nhà nhà hàng và đặt bàn trực tiếp cũng

có những hạn chế cho việc kinh doanh nhà hàng như:

 Chưa phục vụ được một số khách hàng có nhu cầu ở quá xa

 Hạn chế các tiềm năng phát triển của nhà hàng như quảng bá, giới thiệu món ănđến với nhiều thực khách…

 Hạn chế trong việc quản lý nhà hàng, lưu trữ và thống kê…

Xuất phát từ những nhược điểm của hệ thống quản lý bằng thủ công nên việc tinhọc hóa công tác quản lý nhà hàng là việc làm cần thiết, hợp lý

Có hai đối tượng tham gia trực tiếp vào quá trình tương tác với website là nhà quản

lý và khách hàng

 Đối với nhà quản lý, hệ thống quản lý nhà hàng cần đáp ứng những yêu cầusau:

Trang 11

- Tự động hóa các thao tác, công việc thủ công được thay thế sẽ tiết kiệmđược nhiều thời gian và công sức, thực hiện nhanh chóng

- Tổng hợp đầy đủ chính xác, kịp thời thông tin về các món ăn

- Đưa ra danh sách các danh mục món ăn khi cần tìm kiếm theo yêu cầu

- Có thể thực hiện các chức năng cập nhật (thêm, sửa, xóa) đối với cácmón ăn trên trang web

- Tiếp nhận và xử lý các đơn đặt mua món ăn của khách hàng

- Thống kê các món ăn, thống kê đặt món trên trang web

 Đối với đối tượng là khách hàng: là đối tượng có nhu cầu tìm hiểu các món ăn

và đặt món trực tiếp trên website Vì vậy trang web cần đáp ứng được các yêucầu như:

- Hiển thị rõ ràng các món ăn của nhà hàng với hình ảnh, giá cả chi tiết đểkhách hàng có thể xem và chọn lựa

- Xây dựng giao diện hợp lý để khách hàng có thể dễ dàng trong việc tìmkiếm, lựa chọn các món ăn

- Khách hàng có nhu cầu đặt món thì hệ thống thêm vào giỏ hàng rồi tiếntới việc thanh toán, có thể thanh toán qua hình thức online hoặc nhậnhàng thanh toán

Ngoài những chức năng trên thì trang web cần phải được thiết kế đẹp mắt, dễ sửdụng, thu hút được khách hàng dù chỉ lần đầu ghé thăm Đồng thời trang web còn phải dễbảo trì, nâng cấp khi cần

 Khách hàng là người có nhu cầu ăn uống và tổ chức sự kiện Họ sẽ tìm kiếm cácnhà hàng có món ăn hấp dẫn với mức chi phí thích hợp để đến thưởng thức và vuitiệc Vậy nên trang web phải có các chức năng cho khách hàng là:

Trang 12

 Hiển thị rõ ràng các món ăn: người truy cập website có thể xem được các hình ảnhthông tin về món ăn được đưa lên Cùng với các thông tin liên quan tới như bàiviết

 Tìm kiếm : Có thể tìm kiếm các món ăn theo các tiêu chí thích hợp tìm kiếm của

hệ thống như tìm kiếm theo tên , theo danh mục

 Đặt món: Để tiện đặt món, hệ thống cung cấp cho khách hàng một giỏ hàng ,khách hàng có thể chọn món mình thích cho vào giỏ hàng Giỏ hàng được thiết kếđơn giản và dễ sử dụng , khách hàng có thể thay đổi số lượng và loại bỏ các mặthàng không muốn mua ra khỏi giỏ hàng

 Quản trị là người có quyền quản lý và làm chủ mọi hoạt động của hệ thống trangweb Quản trị truy cập vào hệ thống nhằm với các mục đích sau đây:

 Quản lý trang : cho phép sửa các thông tin về giới thiệu và liên hệ cửa hàng

 Quản lý sản phẩm : cho phép thêm sửa xóa sản phẩm của cửa hàng bán

 Quản lý danh mục : cho phép thêm sửa xóa danh mục của sản phẩm

 Quản lý đơn đặt món : cho phép xóa đơn đặt món khi khách hàng có nhu cầukhông đặt món nữa và có thể cập nhật lại thông tin đặt món cho khách hàng đểđược đặt món đúng thời gian mong muốn

 Quản lý chi tiết đơn đặt món : cho phép xóa các món mà khách yêu cầu cho kháchhàng

I.3 Phạm vi hệ thống.

Báo cáo phạm vị

Người thiết kế và xây dựng dự án Nguyễn Trọng Khuê

Phạm vi ứng dụng Xây dựng hệ thống đặt đồ ăn giúp nhà

hàng có thể bán được nhiều hàng hơn

Trang 13

cho các khách hàng không thể đến cửahàng ăn được và có thể quản lý nhàhàng một cách tốt nhất.

 Hệ thống có tính bảo mật

 Hệ thống phải chính xác về mặt dữliệu

 Không vượt quá thời gian quy định

Lợi ích mang lại  Khách hàng dễ dàng tìm kiếm

thông tin

 Khách hàng dễ dàng sử dụng và đặtmón

 Nhà hàng có thể quản lý một cáchtốt nhất cũng như đáp ứng nhu cầucủa người mua một cách thuận tiệnhơn

 Lập kế hoạch

 Thu thập yêu cầu

 Phân tích yêu cầu và thiết kế hệthống

 Hướng dẫn sử dụng

Bảng 1-1: Mô tả đối tượng và phạm vi sử dụng

I.4 Đánh giá mức độ khả thi và mức dộ rủi ro.

I.4.1 Mức độ khả thi

A Khả thi về kinh tế

Đối với nhà hàng: Có thêm kênh giao tiếp và quảng bá về đa dạng các món ăn góp phầntăng doanh thu Quảng bá được món ăn mới, thu hút nhiều khách hàng Nâng cao tínhcạnh trang với các đối thủ trong cùng lĩnh vực

Trang 14

Đối với khác hàng: Tiết kiệm thời gian, khách hàng không cần phải trực tiếp đến cửa hàng

mà vẫn nắm bắt được thông tin chi tiết về các món ăn và dễ dàng đặt mua mọi lúc mọinơi Dễ dàng nhận được sự trợ giúp, tư vấn online từ nhà hàng

B Khả thi về hoạt động

Hệ thống xây dựng giao diện thân thiện, dễ dàng sử dụng, không cần chuyên môn cũng cóthể quản lý website

C Khả thi về kỹ thuật

Đối với cửa hàng: Không yêu cầu phần cứng cao, không cần đường truyền internet có tốc

độ cao nhằm đáp ứng nhu cầu sử dụng mọi lúc mọi nơi cho khách hàng

Đối với người thực hiện: sử dụng ngôn ngữ lập trình C#, ASP Net framework Công cụlập trình Visual Studio, công cụ quản trị cơ sở dữ liệu SQL Server

I.4.2 Mức độ rủi ro

Dự án: Xây dựng web quản lý nhà hàng và đặt món

Sự thay đổi từ phía cửa

hàng

Các yêu cầu thay đổi từphía cửa hàng như bố cụctrang web, tổ chức dữ liệu

Thu thập yêu cầu đầy đủ

Thiết kế giao diện thânthiện, dễ dàng sử dụng,viết các tài liệu hướng dẫnchi tiết

Bảng 1-2: Miêu tả mức độ rủi ro và hướng khắc phục

Trang 15

I.5 Giới thiệu ngôn ngữ và sử dụng ngôn ngữ.

I.5.1 C#

C# (hay C sharp) là một ngôn ngữ lập trình đơn giản, được phát triển bởi đội ngũ

kỹ sư của Microsoft vào năm 2000, trong đó người dẫn đầu là Anders Hejlsberg và ScottWiltamuth

C# là ngôn ngữ lập trình hiện đại, hướng đối tượng và nó được xây dựng trên nền tảngcủa hai ngôn ngữ mạnh nhất là C++ và Java

C# được thiết kế cho Common Language Infrastructure (CLI), mà gồm Executable Code

và Runtime Environment, cho phép chúng ta sử dụng các ngôn ngữ high-level đa dạngtrên các nền tảng và cấu trúc máy tính khác nhau

C# với sự hỗ trợ mạnh mẽ của .NET Framework giúp cho việc tạo một ứng dụngWindows Forms hay WPF (Windows Presentation Foundation), trở nên rất dễ dàng

Hình 1.1Ngôn ngữ C#

ASP.Net FrameWork

.NET framework có thể được sử dụng để tạo cả những ứng dụng dựa trên biểu mẫu(Form-based) và dựa trên Web (Web-based) Các web service cũng có thể được phát triểnbằng cách sử dụng NET framework

Trang 16

Framework cũng hỗ trợ các ngôn ngữ lập trình khác nhau như Visual Basic và C# Vìvậy, các nhà phát triển có thể lựa chọn ngôn ngữ để phát triển ứng dụng cần thiết Trongbài viết này, các bạn sẽ tìm hiểu một số khái niệm cơ bản về NET framework.

Hình 1.2: ASP.Net framework

Chức năng

C# là một ngôn ngữ lập trình hướng đối tượng đơn giản, hiện đại Mục đích của C # làphát triển ngôn ngữ lập trình không chỉ dễ học mà còn hỗ trợ chức năng hiện đại cho mọiloại hình phát triển phần mềm

Nếu bạn nhìn vào lịch sử của các ngôn ngữ lập trình và các tính năng của chúng, mỗingôn ngữ lập trình được thiết kế cho một mục đích cụ thể để giải quyết một nhu cầu cụthể tại thời điểm đó

Tuy nhiên ngôn ngữ lập trình C# được thiết kế cho các doanh nghiệp để xây dựng tất cảcác loại phần mềm bằng cách sử dụng một ngôn ngữ lập trình duy nhất

C# cung cấp chức năng để hỗ trợ phát triển phần mềm hiện đại C# hỗ trợ các nhu cầuphát triển ứng dụng Web, Mobile và ứng dụng Desktop Một số tính năng hiện đại củangôn ngữ lập trình C# là generic, kiểu var, collection, biểu thức lambda, lập trình động,lập trình không đồng bộ, gỡ lỗi nâng cao và xử lý ngoại lệ, v.v

Trang 17

Cú pháp ngôn ngữ C# bị ảnh hưởng bởi C++, Java, Pascal và một số ngôn ngữ khác dễ sửdụng C# cũng loại bỏ sự phức tạp và các tính năng của ngôn ngữ không có cấu trúc.

ASP.Net Framework

.NET Framework là thành quả tối ưu của sự kết hợp công sức và trí tuệ của

Microsoft, nhằm tạo ra một nền tảng cho việc xây dựng và triển khai nhanh chóng các

dịch vụ và ứng dụng Web XML Tầm nhìn của nền tảng NET Framework kết hợp một

mô hình lập trình đơn giản, dễ sử dụng với các giao thức mở và biến đổi được của

Internet Để đạt được tầm nhìn này, việc thiết kế NET Framework nhằm một số mục

đích:

Sự hợp nhất thông qua các chuẩn Internet công cộng: Để giao tiếp với

những đối tác kinh doanh, những khách hàng phụ thuộc vào các khu vực theo

vị trí địa lý, thậm trí cả những ứng dụng cho tương lai, những giải pháp pháttriển cần được đề nghị hỗ trợ cho các chuẩn Internet mở và tích hợp chặt chẽvới các giao thức mà không bắt buộc người phát triển phải thông hiểu cơ sở hạtầng bên dưới nó

Khả nǎng biến đổi được thông qua một kiến trúc "ghép nối lỏng": Đa số

các hệ thống lớn, biến đổi được trên thế giới được xây dựng trên những kiếntrúc không đồng bộ dựa trên nền thông điệp (message-based) Nhưng công việcxây dựng các ứng dụng trên một kiến trúc như vậy thường phức tạp và có ít cáccông cụ hơn so với những môi trường phát triển ứng dụng N lớp (N-tier) "ghép

nối chặt" .NET Framework được xây dựng để đem lại những lợi thế về nǎng

suất của kiến trúc "ghép nối chặt" với khả nǎng biến đổi được và vận hành vớinhau của kiến trúc "ghép nối lỏng"

Hỗ trợ nhiều ngôn ngữ: Các nhà phát triển sử dụng những ngôn ngữ khác

nhau do mỗi ngôn ngữ riêng có những ưu thế đặc thù : một số ngôn ngữ đặcbiệt thích hợp với thao tác toán học; một số khác lại đa dạng ở các hàm tính

Trang 18

toán tài chính v.v .NET Framework cho phép các ứng dụng được viết trong

nhiều ngôn ngữ lập trình khác nhau và chúng có khả nǎng tích hợp với nhau

một cách chặt chẽ Ngoài ra, với NET Framework, các công ty còn có thể tận

dụng những lợi thế của kỹ nǎng phát triển sẵn có mà không cần phải đào tạo lại

và cho phép những người phát triển sử dụng ngôn ngữ mà họ ưa thích

Nâng cao nǎng suất cho các nhà phát triển: Với số lượng các nhà phát triển

ứng dụng không nhiều nên mỗi giờ làm việc họ phải cho ra kết quả công việc

cụ thể Các nhóm phát triển với NET Framework có thể loại bỏ những công

việc lập trình không cần thiết và tập trung vào viết các lôgic doanh nghiệp.Chẳng hạn như NET Framework có ưu điểm tiết kiệm thời gian như thực hiệncác giao dịch tự động và dễ sử dụng, quản lý bộ nhớ một cách tự động và cóchứa một tập các đối tượng điều khiển đa dạng bao hàm nhiều tác vụ phát triểnchung

Bảo vệ những sự đầu tư thông qua việc bảo mật đã được cải tiến: Một trong

những vấn đề liên quan lớn nhất đến Internet hiện nay là bảo mật Kiến trúc bảo

mật của NET Framework được thiết kế từ dưới lên để đảm bảo các ứng dụng

và dữ liệu được bảo vệ thông qua một mô hình bảo mật dựa-trên-bằng-chứng(evidence-based) và tinh vi

Tận dụng những dịch vụ của hệ điều hành: Windows cung cấp một số lượng

đa dạng các dịch vụ có sẵn với bất kỳ nền tảng nào; như truy cập dữ liệu mộtcách toàn diện, bảo mật tích hợp, các giao diện người dùng tương tác, mô hình

đối tượng thành phần đáng tin cậy và các giám sát quá trình giao dịch .NET Framework đã tận dụng lợi thế đa dạng và phong phú này để đưa ra cho mọi

người theo cách dễ sử dụng nhất

I.5.2 SQL Sever

Tổng quan

Trang 19

SQL Server là một hệ thống quản lý cơ sở dữ liệu quan hệ (relational databasemanagement system viết tắt là RDBMS), hỗ trợ một số lượng lớn các quy trình xử lý giaodịch, ứng dụng doanh nghiệp và ứng dụng phân tích trong các công ty IT SQL Server làmột trong 3 công nghệ dữ liệu dẫn đầu hiện này cùng với Oracle Database và IBM’s DB2.

Hình 1.4: SQL ServerCũng giống như các phần mềm RDBMS khác, Microsoft SQL Server được xâydựng bên trên lớp SQL – ngôn ngữ lập trình tiêu chuẩn hóa mà quản trị viên cơ sở dữ liệu (DBAs) và các chuyên gia CNTT sử dụng để quản lý cơ sở dữ liệu và truy vấn dữ liệu nằm bên trong SQL Server thường gắn với Transact-SQL (T-SQL), một cài đặt SQL củaMicrosoft bổ sung một bộ chương trình mở rộng ngôn ngữ lập trình chuẩn

Lịch sử phát triển

SQLServer được phát triển từ ngôn ngữ SEQUEL2 bởi IBM theo mô hình Codd tạitrung tâm nghiên cứu của IBM ở California ,vào những năm 70 cho hệ thống QTCSDLlớn

Đầu tiên SQL Server được sử dụng trong các ngôn ngữ quản lý CSDL và chạy trêncác máy đơn lẻ Song do sự phát triển nhanh chóng của nhu cầu xây dựng những CSDLlớn theo mô hình khách chủ( trong mô hình này toàn bộ CSDL được tập trung trên máychủ (Server)) Mọi thao tác xử lý dữ liệu được thực hiện trên máy chủ bằng các lệnh

Trang 20

SQL máy trạm chỉ dùng để cập nhập hoặc lấy thông tin từ máy chủ) Ngày nay trong cácngôn ngữ lập trình bậc cao đều có sự trợ giúp của SQL Nhất là trong lĩnh vực phát triểncủa Internet ngôn ngữ SQL càng đóng vai trò quan trọng hơn Nó được sử dụng để nhanhchóng tạo các trang Web động

SQL đã được viện tiêu chuẩn quốc gia Mỹ (ANSI)và tổ chức tiêu chuẩn quốc tế (ISO)chấp nhận như một ngôn ngữ chuẩn cho CSDL quan hệ Nhưng cho đến nay chuẩn nàychưa đưa ra đủ 100%.Nên các SQL nhúng trong các ngôn ngữ lập trình khác nhau đãđược bổ xung mở rộng cho SQL chuẩn cho phù hợp với các ứng dụng của mình.Do vậy

có sự khác nhau rõ ràng giữa các SQL

Cấu trúc

SQL Server cơ bản dựa trên một cấu trúc bảng biểu, bao gồm các dòng kết nối cácphần tử dữ liệu có liên quan trong các bảng khác nhau, do đó loại bỏ nhu cầu lưu trữ dữliệu ở nhiều vị trí trong cơ sở dữ liệu Mô hình quan hệ cũng cung cấp các tham chiếu vàràng buộc toàn vẹn nhằm duy trì độ chính xác của dữ liệu , các kiểm tra này là một phầnthúc đẩy sự tuân thủ các nguyên tắc về tính nhất quán, tính độc lập và độ tin cậy – đượcgọi chung là các thuộc tính ACID và được thiết kế để đảm bảo cho các giao dịch cơ sở dữliệu được xử lý ổn thỏa

Hình 1.5: Cấu trúc SQL Server

Trang 21

Đặc điểm và các phiên bản của SQL Sever

Đặc điểm:

Hình 1.6: Đặc điểm

 SQL là ngôn ngữ tựa tiếng Anh

 SQL là ngôn ngữ phi thủ tục, nó không yêu cầu ta cách thức truy nhập CSDL như thế nào Tất cả các thông báo của SQL đều rất dễ sử dụng và ít khả năng mắc lỗi

 SQL cung cấp tập lệnh phong phú cho các công việc hỏi đáp DL

 Chèn, cập nhật, xoá các hàng trong một quan hệ

 Tạo, sửa đổi, thêm và xoá các đối tượng trong của CSDL

 Điều khiển việc truy nhập tới cơ sở dữ liệu và các đối tượng của CSDL để đảm bảo tính bảo mật của cơ sở DL

 Đảm bảo tính nhất quán và sự ràng buộc của CSDL

 Yêu cầu duy nhất để sử dụng cho các hỏi đáp là phải nắm vững được các cấu trúc CSDL của mình

Trang 22

Các phiên bản

 Enterprise : chứa tất cả cá đặc điểm nổi bật của SQL Server, bao gồm nhân bộ máy

cơ sở dữ liệu và các dịch vụ đi kèm cùng với các công cụ cho tạo và quản lý phân cụm SQL Server Nó có thể quản lý các CSDL lớn tới 524 petabytes và đánh địa chỉ 12 terabytes bộ nhớ và hỗ trợ tới 640 bộ vi xử lý(các core của cpu)

 Standard : Rất thích hợp cho các công ty vừa và nhỏ vì giá thành rẻ hơn nhiều so với Enterprise Edition, nhưng lại bị giới hạn một số chức năng cao cấp (advanced features) khác, edition này có thể chạy tốt trên hệ thống lên đến 4 CPU và 2 GB RAM

 Developer : Có đầy đủ các tính năng của Enterprise Edition nhưng được chế tạo đặc biệt như giới hạn số lượng người kết nối vào Server cùng một lúc… Ðây là phiên bản sử dụng cho phát triển và kiểm tra ứng dụng Phiên bản này phù hợp cho các cá nhân, tổ chức xây dựng và kiểm tra ứng dụng MIỄN PHÍ

 Workgroup: ấn bản SQLServer Workgroup bao gồm chức năng lõi cơ sở dữ liệu nhưng không có các dịch vụ đi kèm Chú ý phiên bản này không còn tồn tại ở SQLServer 2012

Express : SQL Server Express dễ sử dụng và quản trị cơ sở dữ liệu đơn giản Được tích hợp với Microsoft Visual Studio, nên dễ dàng để phát triển các ứng dụng dữ liệu, an toàn trong lưu trữ, và nhanh chóng triển khai.

I.5.3 Ưu – Nhược điểm của các ứng dụng

 Ưu điểm

C#

- Là một trong số những ngôn ngữ thuần hướng đối tượng

- Chuyên sử dụng để lập trình cho windows

- Thiết kế winform cực tốt, đơn giản và dễ hiểu

Trang 23

- Ngôn ngữ dễ học, dễ tiếp cận với Java

- Khả năng tương tác với Database dễ dàng hơn rất nhiều

- Được window hỗ trợ đầy đủ các control

- Thư viện NET nhẹ, dễ cài đặt và được miễn phí

- Ngôn ngữ mã nguồn mở

- Code/Build trên Visual Studio, một IDE tiện lợi, mạnh mẽ của Microsoft

- Có thể sử dụng để lập trình web thông qua C# thuần hoặc ASP.NET

- IDE Visual Studio hỗ trợ debug, build cực khủng

ASP.Net Framework

- Thực thi và phát triển đa nền (Linux, Windows, MacOS)

- Kiến trúc mô đun để dễ dàng bảo trì

- Phát triển như phần mềm mã nguồn mở

- Tương thích với khuynh hướng phát triển web hiện tại như ứng dụng hướngclient hay môi trường đám mây

Trang 24

- SQL sử dụng hai tiêu chuẩn ISO và ANSI, trong khi với các non-SQLdatabase không có tiêu chuẩn nào được tuân thủ.

- - Multiple data views

- Với sự trợ giúp của ngôn ngữ SQL, người dùng có thể tạo các hiển thị khácnhau về cấu trúc cơ sở dữ liệu và cơ sở dữ liệu cho những người dùng khácnhau

 Nhược điểm

C#

- Khi muốn xài IDE bạn cần phải trả phí sử dụng

- Chỉ đem lại hiệu quả tốt nhất trên Window

- Lập trình Mobile cần phải thông qua trung gian Xamarin (có phí)

- Sử dụng Database tốt nhất với SQL Server

ASP.Net Framework

- NET Framework là một nền tảng lập trình và cũng là một nền

tảng thực thi ứng dụng chủ yếu trên hệ điều hành Microsoft Windowsđược phát triển bởi Microsoft nên chỉ sử dụng để dùng trên nền tảng

Trang 25

hệ điều hành Windows hạn chế sử dụng trên các nền tảng hệ điềuhành khác.

- Không thể chạy trên Linux

- Không có Visual Studio thì khó có thể viết code cho ASP.NET

SQL Server

- Microsoft SQL Server chỉ được thiết kế để chạy trên các máy chủ chạy trên

Windows Ngoài việc không thể chạy trên các nền tảng không phảiWindows, cũng có thể có các vấn đề tương thích liên quan đến tương tác vớicác ứng dụng đang chạy trên các nền tảng khác

- Khả năng tương thích hạn chế

- Microsoft SQL Server cần thanh toán phí license để chạy nhiều database.

- Giao diện khó dùng

- SQL có giao diện phức tạp khiến một số người dùng khó truy cập.

- Không được toàn quyền kiểm soát : Các lập trình viên sử dụng SQL không

có toàn quyền kiểm soát cơ sở dữ liệu do các quy tắc nghiệp vụ ẩn

- Thực thi : Hầu hết các chương trình cơ sở dữ liệu SQL đều có phần mở rộng

độc quyền riêng của nhà cung cấp bên cạnh các tiêu chuẩn SQL

- Giá cả : Chi phí vận hành của một số phiên bản SQL khiến một số lập trình

viên gặp khó khăn khi tiếp cận

- Trong những năm qua, SQL đã trở thành một trong những ngôn ngữ cơ sở

dữ liệu được sử dụng rộng rãi nhất trên thế giới Nó đã trở thành một tiêuchuẩn cho Tổ chức Tiêu chuẩn hóa Quốc tế và Viện Stands Quốc gia HoaKỳ

Trang 27

CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG

II.1 Kiến trúc hệ thống

Hình 2.3Kiến trúc hệ thống

Tầng người dùng: Người dùng thông qua client giao tiếp với hệ thống gồm có: khách,

người dùng có đăng ký tài khoản (User), quản trị viên (Admin)

Tầng hệ thống: Đây là nơi đáp ứng các yêu cầu thao tác dữ liệu của người dùng, xử lý chính nguồn dữ liệu từ tầng người dùng trước khi truyền xuống tầng dữ liệu Đây còn là

nơi kiểm tra các rằng buộc, tính toàn vẹn và hợp lệ của dữ liệu, thực hiện tính toán và xử

lý các yêu cầu nghiệm vụ trước khi trả lại kết quả về tầng người dùng.

Tầng dữ liệu: tầng này có chức năng giao tiếp với hệ quản trị CSDL như thực hiện các

công việc liên quan đến lưu trữ và truy vấn dữ liệu (tìm kiếm, thêm, xóa, sửa,…)

Trang 28

II.2 Mô hình triển khai hệ thống

Hình 2.4: Mô hình triển khai hệ thống

- Hệ thống website giao dịch của nhà hàng online có thể được triển khai trên cáchost server trển thị trường một cách dễ dàng

- Với mô hình này Người dùng, Admin, Người bán hàng, Người mua hàng, truy cập

hệ thống sàn giao dịch của cửa hàng online thông qua môi trường internet mộtcách dễ dàng

Trang 29

II.3 Tác nhân và ca sử dụng

Bảng 2.1: Tác nhân và ca sử dụng

II.5 Mô hình chức năng của hệ thống

II.1.5.1 Mô hình chức năng phần Backend

User

Xem nhà hàngTìm kiếm món ănXem món ănĐánh giá món ănĐặt món ănMua hàng

Admin

Đăng nhập, đăng xuất hệ thốngQuản lý nhà hàng

Quản lý danh mụcCập nhập thông tin nhà hàngĐăng món ăn

Xem trang chủQuản lý món ănXem khách hàng

Trang 30

Hình 2.5: Mô hình chức năng Backend

Hệ thống:

 Đăng nhập: Khi người sử dụng cần đăng nhập vào hệ thống thì phải nhập tàikhoản và mật khẩu sau khi đăng nhập chính xác thì người quản trị được thựchiện các thao tác trong hệ thống

 Đăng xuất: Người dùng thoát ra khỏi hệ thống

Nhà hàng

 Quản lý danh mục: Admin có quyền thêm, sửa, xóa các danh mục của nhàhàng

 Quản lý món ăn: Admin có thể thêm,sửa,xóa các món ăn

 Kiểm duyệt báo cáo: Admin tiếp nhận các đơn hàng khi khách hàng đặt món

Bài viết

 Quản lý danh mục: Admin có quyền thêm, sửa, xóa các danh mục bài viết

 Quản lý nhà hàng: Admin có quyền thêm, sửa, xóa bài viết

Trang 31

Thống kê

Giúp Admin xem được tổng quan thông số và tình hình hoạt động của website

II.1.5.2 Mô hình chức năng phần Frontend

Hình 2.6: Mô hình chức năng Frontend

Trang 32

Nhà hàng

 Người dùng có thể xem nhà hàng cũng như chi tiết món ăn…

II.6 Mô hình Usecase(UC)

Biểu đồ Usecase chỉ ra tương tác giữa các UC và tác nhân UC biểu diễn các chứcnăng của hệ thống Tác nhân là con người hay hệ thống khác cung cấp hay thu nhận thôngtin từ hệ thống Biểu đồ UC tập trung vào quan sát trạng thái tĩnh của các UC trong hệthống Nó đặc biệt quan trọng trong việc tổ chức và mô hình hoá hệ thống Vì UC biểudiễn yêu cầu hệ thống từ góc nhìn của người dùng, cho nên UC là chức năng mà hệthống phải có Biểu đồ chỉ ra tác nhân nào khởi động UC và khi nào tác nhân nhận thôngtin từ hệ thống

II.6.1 Tác nhân User

Hình 2.7: Mô hình Usecase tác nhân User

Mục đích: Cho người dùng truy cập website

Tác nhân: User

Trang 33

Điều kiện: Không

Luồng sự kiện:

Hành động của tác nhân Phản ứng của hệ thống

1 Truy cập vào website

3 Chọn danh mục cần xem

5 Chọn món muốn xem

7.Thêm vào giỏ hàng

9.Thanh toán

2 Hiển thị trang web

4 Hiển thị trang danh mục về món ăn

6 Hiển thị chi tiết món ăn

8.Hiển thị giỏ hàng

10.Hiện thị giao diện thanh toán

II.6.2 Tác nhân Admin

Trang 34

Hình 2.8: Mô hình Usecase tác nhân Admin

Mục đích: Giúp Admin quản lý website

Tác nhân: Admin

Điều kiện: Đăng nhập vào hệ thống

Luồng sự kiện:

Hành động của tác nhân Phản ứng của hệ thống

1 Truy cập vào trang quản trị

Trang 35

5 Chọn mục tiếp theo để xem tiếp

II.7 Đặc tả chi tiết các Usecase (UC)

II.7.1 UC Tìm kiếm món ăn

Hình 2.9: Mô hình UC tìm kiếm món ăn

Mục đích: Để tìm kiếm món ăn theo nhu cầu của khách hàng.

Tác nhân: User

Điều kiện: Không

Luồng sự kiện:

Hành động của tác nhân Phản ứng của hệ thống

1 Truy cập vào website

3 Chọn chức năng tìm kiếm

4 Chọn tìm kiếm theo yêu cầu

2 Hiển thị trang web

5 Trả ra kết quả tìm kiếm

Trang 36

6 Tiếp tục truy cập website

II.7.2 UC Xem món ăn

Hình 2.10: Mô hình UC Xem món ăn

Mục đích: Cho người dùng xem thông tin chi tiết về món ăn

Tác nhân: User

Điều kiện: Không

Luồng sự kiện:

Hành động của tác nhân Phản ứng của hệ thống

1 Truy cập vào website

3 Chọn món ăn cần xem

6 Tiếp tục truy cập website

2 Hiển thị trang web

4 Hiển thị trang chi tiết về món ăn

5 Hiển thị thêm vào giỏ hàng

Trang 37

II.7.3 UC Quản lý bài đăng

Hình 2.11: Mô hình UC Quản lý bài đăng

Mục đích: Cho Admin quản lý các tin món ăn mình đã đăng hoặc lưu.

3 Chọn chức năng quản lý tin

5 Chọn chức năng Quản lý Tin đã đăng

2 Hiển thị trang web hệ thống

4 Hiển thị giao diện quản lý tin

6 Hiển thị các tin món ăn đã đăng

Trang 38

7 Tiếp tục truy cập website

II.7.4 UC Quản lý tin món ăn

Hình 2.12: Mô hình UC Quản lý tin món ăn

Mục đích: Cho người quản trị quản lý các tin món ăn

Tác nhân: Admin

Điều kiện: Đăng nhập vào trang quản trị

Admin

Trang 39

Luồng sự kiện:

Hành động của tác nhân Phản ứng của hệ thống

1 Truy cập vào trang quản trị

3 Chọn Quản lý tin món ăn

5 Chọn chức năng: Thêm, sửa xóa tin món

ăn

7 Điền thông tin cần thiết và gửi lên

9 Tiếp tục truy cập trang quản trị

2 Hiển thị trang quản trị

4 Hiển thị giao diện quản lý tin

6 Hiển thị form tương ứng

8 Kiểm tra nếu thông tin gửi lên đúng thìcập nhật vào CSDL, sai thì gửi thông báo

1 Chọn Quản lý danh mục món ăn

3 Chọn chức năng: Thêm, sửa xóa danh

mục

5 Điền thông tin cần thiết và gửi lên

7 Tiếp tục truy cập trang quản trị

2 Hiển thị danh sách danh mục

4 Hiển thị form tương ứng

6 Kiểm tra nếu thông tin gửi lên đúng thìcập nhật vào CSDL, sai thì gửi thông báo

Trang 40

Luồng sự kiện phụ:

Admin xem báo cáo về món ăn được người dùng gửi lên để xử lý

II.7.5 UC Quản lý bài viết

Hình 2.13: Mô hình UC Quản lý bài viết

Mục đích: Cho người quản trị quản lý bài viết

Tác nhân: Admin

Điều kiện: Đăng nhập vào trang quản trị

Ngày đăng: 12/07/2021, 10:40

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w