Tải bản đầy đủ (.doc) (49 trang)

báo cáo chuyên đề thực tập xây dựng website thuê xe

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.05 MB, 49 trang )

<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">

<i><b>Thái Bình Phương Vin</b></i>

<b><small>BỘ GIÁO DỤC VÀ ĐÀO TẠOBỘ GIÁO DỤC VÀ ĐÀO TẠO</small></b>

<b><small>TRƯỜNG </small></b>

<i><b><small>KHOA </small></b></i>

<b>------BÁO CÁO CHUYÊN ĐỀ THỰC TẬPXÂY DỰNG WEBSITE THUÊ XE</b>

<b><small>Sinh viên thực hiện:Mã số sinh viên:</small></b>

<b><small> 2021</small></b>

<small>Tháng 12, năm 2023</small>

</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">

<b><small>TRƯỜNG ĐẠI HỌC </small></b>

<i><b><small>KHOA </small></b></i>

------BÁO CÁO CHUYÊN ĐỀ TỐT NGHIỆP

<b>XÂY DỰNG WEBSITE THUÊ XE</b>

<b><small>Sinh viên thực hiện:Mã số sinh viên:</small></b>

<i><small>, tháng 12 năm 2023</small></i>

</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">

<small>LỜI CẢM ƠN1</small>

<b><small>MỞ ĐẦU2</small></b>

<b><small>CHƯƠNG 1: CƠ SỞ LÝ THUYẾT4</small></b>

<small>1.1 Giới thiệu...4</small>

<small>1.2 Tổng quan về C#:...4</small>

<i><small>1.2.1 Môi trường lập trình:...4</small></i>

<i><small>1.2.2 Ngôn ngữ lập trình C#:...12</small></i>

<small>1.3 Tổng quan về hệ quản trị cơ sở dữ liệu SQL Server:...14</small>

<small>1.4. Lập trình C#.NET-Mơ hình MVC trong ASP.NET MVC...21</small>

<small>1.4.1. Khái niệm mơ hình MVC...21</small>

<small>1.4.2. Lựa chọn và áp dụng mơ hình trong xây dựng ứng dụng...22</small>

<small>1.4.3. Các tính năng của nền tảng ASP.NET MVC...23</small>

<b><small>CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG24</small></b> <small>2.1 Xác định yêu cầu:...24</small>

<small>1.2.1 Yêu cầu chức năng...24</small>

<small>1.2.2 Yêu cầu phi chức năng...24</small>

<small>2.3 Phân tích yêu cầu...24</small>

<small>2.2. Sơ đồ usecase hệ thống:...29</small>

<small>2.3 Mơ hình hóa chức năng...30</small>

<i><small>2.3.1 Biểu đồ phân rã chức năng (Bussiness Functional Diagram – BFD)...30</small></i>

<i><small>2.3.2 Biểu đồ dòng dữ liệu (Data Flow Diagram-DFD)...30</small></i>

<small>2.4 Thiết kế cơ sở dữ liệu...34</small>

<i><small>2.4.1. Bảng cơ sở dữ liệu vật lý...34</small></i>

<i><small>2.4.2 Bảng user...34</small></i>

<i><small>2.4.3 Bảng Role...34</small></i>

<i><small>2.4.4 Bảng Rental...35</small></i>

</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">

<i><small>2.4.5 Bảng Vehicle...35</small></i>

<i><small>2.4.6 Bảng Voucher...35</small></i>

<b><small>CHƯƠNG 3: XÂY DỰNG WEBSITE THUÊ XE TRỰC TUYẾN37</small></b> <small>3.1. Trang chủ website...37</small>

<small>3.2. Giao diện đăng ký tài khoản...38</small>

<small>3.3. Giao diện đăng nhập tài khoản...38</small>

<small>3.4. Giao diện tìm kiếm sản phẩm...39</small>

<small>3.5. Giao diện xem chi tiết xe về thuê xe...40</small>

<small>3.6. Giao diện quản trị viên...41</small>

<small>3.7. Giao diện quản lý đơn thuê xe...41</small>

<small>3.8. Giao diện quản lý danh mục xe cho thuê...42</small>

<small>3.9. Giao diện quản lý người dùng...43</small>

<small>3.10. Giao diện quản lý chương trình khuyến mãi...43</small>

<small>CHƯƠNG 4: KẾT LUẬN...44</small>

<small>4.1 Kết quả đạt được...44</small>

<small>4.3. Hướng phát triển...44TÀI LIỆU THAM KHẢO 45</small>

</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">

<b>LỜI CẢM ƠN</b>

Lời nói đầu tiên em xin chân thành cảm ơn đến toàn thể thầy cô trong Khoa..., Trường..., những người đã tận tình hướng dẫn, dạy dỗ cho emcác kiến thức bở ích cho em trong mơn ...

Trong q trình thực hiện báo cáo này em đã nhận được sự giúp đỡ chỉ bảo tận tình của các thầy, cơ giáo, nhóm em xin chân thành cảm ơn thầy ... đã hướng dẫn trong q trình làm báo cáo Mơn lập trình web nâng cao.

Tuy nhiên, Với kiến thức được trao dồi qua các môn học mà thầy cơ đã

<b>tận tình chỉ dạy, em đã cố gắng hồn thành thật tốt bài tập lớn của mình nhưng</b>

do bản thân vẫn chưa hoàn toàn nắm vững kiến thức mà các thầy cô đã truyền dạy, thời gian thực hiện có hạn khơng tránh khỏi những thiếu sót. Em rất mong nhận được sự thơng cảm, những lời góp ý và chỉ bảo tận tình của q Thầy Cơ và các bạn.

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

</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">

<b>MỞ ĐẦU1. Đặt vấn đề</b>

Cùng với sự phát triển của các lĩnh vực, kinh tế, xã hội, nhu cầu ứng dụng của công nghệ thông tin ngày càng cao và không ngừng biến đổi. khi hệ thống ngày càng phát triển, càng ngày càng phức tạp thì các phương thức quản lý cổ điển truyền thống sẽ trở nên cồng kềnh và khó có thể đáp ứng được yêu cầu ngày càng cao của hệ thống. Để xử lý các thơng tin một cách nhanh chóng, chính xác và có hiệu quả, địi hỏi phải có sự hỗ trợ của một cơng cụ hiện đại, đó chính là cơng nghệ thông tin. Công nghệ thông tin dần bước vào đời sống và giữ vai trò quan trọng trong đời sống của con người. Các ứng dụng của công nghệ thông tin đã trở thành những công cụ đắc lực trong nghiên cứu và thực nghiệm. Máy tính đã dần thay thế con người ở khá nhiều mặt và là người phụ tá hữu ích trên nhiều cơng việc khác nhau, giúp con người quản lý dễ dàng hơn các hệ thống từ đơn giản đến phức tạp.

Ngày nay, phương tiện truyền thông đã trở thành một phần thiết yếu trong cuộc sống của mỗi chúng ta, đặc biệt là các thiết bị truyền thông phổ thông như điện thoại di động. Cùng với sự phát triển rộng lớn của các mạng di động, điện thoại di động đã làm cho cuộc sống của chúng ta trở nên dễ dàng hơn trong việc trao đổi thông tin mọi lúc, mọi nơi.

Tại Việt Nam, với cuộc sống ngày càng hiện đại, nhu cầu trao đổi thông tin qua thiết bị di động ngày càng tăng. Tận dụng được những cơ hội này, các doanh nghiệp Việt Nam không ngừng mở rộng hoạt động kinh doanh trên mọi lĩnh vực nhằm mong muốn đáp ứng nhu cầu của người tiêu dùng. Công ty TNHH Thương Mại và Dịch Vụ kinh doanh cũng không phải là một ngoại lệ, với qui mô rộng lớn nhưng hoạt động bán hàng, marketing, quảng cáo… vẫn gặp phải những khó khăn nhất định: hoạt động kinh doanh hầu như dựa trên phương pháp thủ công, truyền thống là chủ yếu: khi khách hàng có nhu cầu mua sản phẩm thì trực tiếp đến cơng ty để liên hệ, chọn sản phẩm và thanh toán. Qua đó cho ta thấy: cả doanh nghiệp và khách hàng phải mất một khoảng chi phí và thời gian nhất định đáng lẻ khơng nên có. Doanh nghiệp phải tốn kém thời gian và chi phí cho việc quảng cáo, marketing, bán hàng nhưng lại không thu hút được đông đảo khách hàng. Về phía khách hàng thì phải mất thời gian, chi phí đi lại mà đơi lúc khơng chọn được sản phẩm mình mong muốn.

</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">

<i><b>Xuất phát từ nhu cầu trên, Em quyết định chọn đề tài “Xây dựng Website</b></i>

<i><b>thuê xe” nhằm giúp doanh nghiệp giảm thiểu chi phí, quảng bá hình ảnh, sản</b></i>

phẩm doanh nghiệp mình trên mạng Internet. Bên cạnh đó, Website cịn hỗ trợ khách hàng trong việc đăng ký, đặt hàng qua Website, cập nhật thông tin về những sản phẩm hiện có và sắp ra mắt trên thị trường một cách nhanh nhất và đem lại sự hài lòng cao nhất từ phía khách hàng.

<b>2. Nhiệm vụ của đề tài</b>

Xây dựng <i><b>“Website thuê xe”</b></i> giúp dễ dàng trong hoạt động quản lý thông tin và quản trị liên quan đến hoạt động cho thuê xe trang mạng được hoạt động tiện ích và nhanh chóng.

<b>3. Mục tiêu của đề tài</b>

- Tìm hiểu một số công cụ và ngôn ngữ hỗ trợ quá trình xây dựng Website.

- Các chức năng của Website thuê xe trực tuyến. - Quy trình xây dựng Website thuê xe trực tuyến.

- Một số kỹ thuật trong áp dụng trong việc xây dựng Website thuê xe trực tuyến.

- Xây dựng Demo Website thuê xe giao diện thân thiện với người dùng và dễ quản lý vận hành.

<b>4. Bố cục của đề tài</b>

<b>Chương 1: Cơ sở lý thuyết</b>

<b>Chương 2: Phân tích thiết kế hệ thống</b>

<b>Chương 3: Xây dựng </b>Website thuê xe trực tuyến

<b>Chương 4: Kết luận</b>

</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">

<b>CHƯƠNG 1: CƠ SỞ LÝ THUYẾT1.1 Giới thiệu</b>

Phần mềm hoạt động trên nền tảng mơi trường lập trình với ngơn ngữ lập trình C#, hệ cơ sở dữ liệu SQL Server.

+ Cấu trúc xây dựng Website thuê xe theo mơ hình MVC.

<b>1.2 Tởng quan về C#:</b>

<i><b>1.2.1 Mơi trường lập trình:</b></i>

.NET Framework của Microsoft là một nền tảng lập trình tập hợp các thư viện lập trình có thể được cài thêm hoặc đã có sẵn trong các hệ điều hành Windows. Nó cung cấp những giải pháp thiết yếu cho những yêu cầu thông thường của các chương trình điện tốn như lập trình giao diện người dùng, truy cập dữ liệu, kết nối cơ sở dữ liệu, ứng dụng web, các giải thuật số học và giao tiếp mạng. Ngoài ra, .NET Framework quản lý việc thực thi các chương trình được viết dựa trên .NET Framework do đó người dùng cần phải cài Framework để có thể chạy các chương trình được viết trên nền .NET.

Chẳng hạn, để thiết kế một trị chơi đua xe, nếu khơng có bộ Framework chun dụng cho game, người lập trình game phải tự tạo ra khung xe, bánh xe, người, đường đi, cây, biển báo... rồi mới tính đến chuyện lắp ghép chúng lại với nhau để tạo ra không gian cho game trong khi cũng với dạng trò chơi này, nhưng nếu dùng bộ Framework có sẵn đã được phát triển thì người lập trình viên chỉ cần viết các lệnh để lấy chúng ra từ Framework và ghép chúng lại.

Khơng phải mọi ngơn ngữ lập trình đều khai thác được Framework, muốn sử dụng các vật liệu trong bộ Framework, địi hỏi người lập trình viên phải dùng các ngơn ngữ lập trình có hỗ trợ .NET như VB.NET, C#.NET, ASP.NET... Framework có 2 thành phần chính là:

<i><b> 1. Common Language Runtime (CLR)</b></i>

</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">

CLR là thành phần kết nối giữa các phần khác trong .NET Framework với hệ điều hành. CLR là chương trình viết bằng .NET, khơng được biên dịch ra mã máy mà nó được dịch ra một ngơn ngữ trung gian Microsoft Intermediate Language (MSIL). Khi chạy chương trình, CLR sẽ dịch MSIL ra mã máy để thực thi các tính năng, đảm bảo ứng dụng khơng chiếm dụng và sử dụng tràn lan tài nguyên của hệ thống. Nó cũng khơng cho phép các lệnh nguy hiểm được thi hành. Các chức năng này được thực thi bởi các thành phần bên trong CLR như Class loader, Just In Time compiler, Garbage collector, Exception handler, COM marshaller, Security engine, …

Trong các phiên bản hệ điều hành Windows mới như XP.Net và Windows 2003, CLR được gắn kèm với hệ điều hành. Điều này đảm bảo ứng dụng viết ra trên máy tính của bạn sẽ chạy trên các máy tính khác mà không cần cài đặt.

</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">

<i><b> 2. NET Framework class library</b></i>

.NET Framework class library cung cấp thư viện lập trình để xây dựng các ứng dụng trên nhiều nền tảng khác nhau, bao gồm cả Windows, Web và thiết bị di động. Điều này cho phép các lập trình viên sử dụng các cơng cụ và thư viện chung để phát triển các ứng dụng cho nhiều nền tảng một cách dễ dàng.

Ngoài ra, .NET Framework class library cịn cung cấp các cơng cụ và thư viện cho việc xử lý đa luồng, bao gồm cả các lớp Thread và ThreadPool để quản lý các luồng trong ứng dụng. Các lớp và công cụ này giúp cho việc phát triển các ứng dụng đa luồng trở nên dễ dàng hơn và hiệu quả hơn.

.NET Framework class library cũng cung cấp nhiều công cụ và lớp để xử lý các tác vụ liên quan đến bảo mật, bao gồm cả các lớp Cryptography và các công cụ để xử lý các chuỗi ký tự và mã hóa.

Tởng quan lại, .NET Framework class library là một bộ thư viện rất đầy đủ và mạnh mẽ, cung cấp cho các lập trình viên nhiều cơng cụ và thư viện để xây dựng các ứng dụng trên nhiều nền tảng khác nhau. Các lớp và công cụ trong thư viện này giúp cho việc phát triển các ứng dụng trở nên dễ dàng hơn và hiệu quả hơn, giúp cho các lập trình viên tiết kiệm thời gian và cơng sức trong quá trình phát triển ứng dụng.

<b> + Base class library – thư viện các lớp cơ sở</b>

Base class library là một trong những thư viện quan trọng nhất trong .NET Framework class library. Nó chứa các lớp cơ bản và các thành phần cần thiết để phát triển các ứng dụng .NET Framework. Các lớp trong thư viện này được sử dụng rộng rãi trong quá trình lập trình, và cung cấp các tính năng cơ bản như xử lý chuỗi, số, ngày tháng và xử lý ngoại lệ.

Các lớp trong Base class library bao gồm các lớp chuỗi, số, ngày tháng, thời gian, ngoại lệ, và nhiều lớp khác. Ví dụ lớp String cung cấp các phương thức và thuộc tính để xử lý chuỗi, lớp Integer cung cấp các phương thức và

</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">

thuộc tính để xử lý số nguyên, và lớp Exception cung cấp các phương thức và thuộc tính để xử lý ngoại lệ.

Các lớp trong Base class library cũng cung cấp các tính năng cơ bản như xử lý tệp, quản lý bộ nhớ, và xử lý đa luồng. Ngoài ra, các lớp trong thư viện này cũng cung cấp các tính năng liên quan đến bảo mật, bao gồm các lớp mã hóa và giải mã, và các lớp đối tượng xác thực và ủy quyền.

Tóm lại, Base class library là một phần quan trọng của .NET Framework class library, cung cấp các lớp cơ bản và các tính năng cần thiết để phát triển các ứng dụng .NET Framework. Các lớp trong thư viện này được sử dụng rộng rãi trong quá trình lập trình và cung cấp các tính năng cơ bản như xử lý chuỗi, số, ngày tháng và xử lý ngoại lệ.

<b> + ADO.NET và XLM</b>

ADO.NET và XML là hai thư viện quan trọng trong .NET Framework class library, được sử dụng để xử lý dữ liệu trong các ứng dụng .NET.

ADO.NET là một bộ thư viện được sử dụng để thao tác với các cơ sở dữ liệu thông thường, bao gồm cả Microsoft SQL Server, Oracle và MySQL. ADO.NET cung cấp các lớp đối tượng để kết nối và truy vấn cơ sở dữ liệu, bao gồm các lớp SQLConnection, SQLCommand và SQLDataReader. Nó cũng cung cấp các lớp để thao tác với dữ liệu dưới dạng bảng như DataSet và DataTable.

XML là một định dạng dữ liệu phổ biến trong các ứng dụng web và di động. .NET Framework class library cung cấp các lớp đối tượng để xử lý dữ liệu XML, bao gồm các lớp XmlReader và XmlWriter để đọc và ghi dữ liệu XML, cùng với các lớp XmlDocument và XmlElement để xử lý các tài liệu XML.

Các lớp và công cụ trong ADO.NET và XML giúp cho việc xử lý dữ liệu trong các ứng dụng .NET. Ví dụ, SQLDataAdapter và SQLCommand giúp cho việc truy vấn cơ sở dữ liệu trở nên đơn giản và nhanh chóng hơn, trong khi DataSet và DataTable giúp cho việc thao tác với dữ liệu dưới dạng bảng trở nên

</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">

dễ dàng hơn. Các lớp đối tượng XML cũng giúp cho việc xử lý dữ liệu XML trở nên đơn giản và nhanh chóng hơn.

Tóm lại, ADO.NET và XML là hai bộ thư viện quan trọng trong .NET Framework class library, được sử dụng để xử lý dữ liệu trong các ứng dụng .NET. Các lớp và công cụ trong ADO.NET và XML giúp cho việc xử lý dữ liệu trở nên dễ dàng hơn và hiệu quả hơn, và là một phần quan trọng trong quá trình phát triển các ứng dụng .NET.

<b> + ASP.NET</b>

Ứng dụng Web xây dựng bằng ASP.NET tận dụng được toàn bộ khả năng của .NET Framework. Bên cạnh đó là một phong cách lập trình mới mà Microsoft đặt cho nó một tên gọi là code behind. Đây là cách mà lập trình viên xây dựng các ứng dụng Windows based thường sử dụng – giao diện và lệnh được tách tiêng. Tuy nhiên, nếu bạn đã từng quen với việc lập trình ứng dụng web, đây là việc mà bạn giải phóng khỏi các lệnh HTML.

Sự xuất hiện của ASP.NET làm cân xứng giữa quá trình xây dựng ứng dụng trên Windows và Web. ASP.Net cung cấp một bộ các Server Control để lập trình viên bắt sự kiện và xử lý dữ liệu của ứng dụng như đang làm việc với ứng dụng của Windows. Nó cũng cho phép bạn chuyển một ứng dụng trước đây viết chỉ chạy trên Windows thành một ứng dụng Web khá dễ dàng. Ví dụ cho các lớp trong thư viện này là WebControl, HTML Control, …

ASP.NET là một trong những phần quan trọng nhất của .NET Framework class library, được sử dụng để phát triển ứng dụng web trên nền tảng .NET. Nó cung cấp các cơng cụ và lớp để phát triển các ứng dụng web, bao gồm các lớp để xử lý yêu cầu HTTP, các lớp để tạo giao diện người dùng, và các lớp để truy cập cơ sở dữ liệu.

ASP.NET có nhiều ưu điểm so với các công nghệ phát triển ứng dụng web khác. Đầu tiên, nó cung cấp một phong cách lập trình mới gọi là code-behind, cho phép lập trình viên tách phần giao diện người dùng và phần xử lý logic của

</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">

ứng dụng. Điều này giúp tăng tính bảo mật và quản lý mã nguồn trong quá trình phát triển ứng dụng.

Thứ hai, ASP.NET cung cấp các Server Control để lập trình viên bắt sự kiện và xử lý dữ liệu của ứng dụng, giúp cho việc phát triển ứng dụng web trên nền tảng .NET trở nên dễ dàng hơn và hiệu quả hơn. Nó cũng cho phép lập trình viên chuyển đởi các ứng dụng trước đây chỉ chạy trên Windows thành các ứng dụng web một cách dễ dàng. Các Server Control cung cấp cho lập trình viên các tính năng tương tự như các ứng dụng Windows, bao gồm các tính năng như nhập liệu, kiểm tra dữ liệu, và phân trang.

Thứ ba, ASP.NET cung cấp tính năng caching để tăng tốc độ xử lý yêu cầu và giảm tải cho máy chủ. Caching cho phép lưu trữ các trang web hoặc phần của trang web trong bộ nhớ cache của máy chủ, giảm thời gian phản hồi cho các yêu cầu tương tự.

Các lớp trong ASP.NET bao gồm các lớp WebControl, HTML Control, và nhiều lớp khác. Ví dụ, lớp WebControl cung cấp các phương thức và thuộc tính để tạo và quản lý các Server Control trên một trang web, trong khi lớp HTML Control cung cấp các phương thức và thuộc tính để tạo và quản lý các phần tử HTML trên một trang web.

<b>Tóm lại, ASP.NET là một phần quan trọng của .NET Framework class</b>

library, cung cấp các công cụ và lớp để phát triển các ứng dụng web trên nền tảng .NET. Các lớp trong thư viện này giúp cho việc phát triển ứng dụng web trở nên dễ dàng hơn và hiệu quả hơn, và cho phép lập trình viên chuyển đởi các ứng dụng trước đây chỉ chạy trên Windows thành các ứng dụng web một cách dễ dàng. ASP.NET cũng có nhiều tính năng tiên tiến, bao gồm code-behind, Server Control, và caching, giúp tăng tính bảo mật, quản lý mã nguồn và tăng tốc độ xử lý yêu cầu và giảm tải cho máy chủ.

<b> + Web services</b>

</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14">

Web services là các dịch vụ được cung cấp qua Web (hay Internet). Dịch vụ được coi là Web service không nhằm vào người dùng mà nhằm vào người xây dựng phần mềm. Web services có thể dùng để cung cấp các dữ liệu hay một chức năng tính tốn.

Web services là một cơng nghệ rất phở biến trong việc phát triển các ứng dụng web và phần mềm. Các dịch vụ Web service đang trở nên ngày càng phở biến vì chúng giúp cho việc tích hợp các ứng dụng và hệ thống trở nên dễ dàng hơn.

Các dịch vụ Web service được thiết kế để cung cấp các chức năng hoặc dữ liệu thông qua mạng Internet. Điều này có nghĩa là các ứng dụng và hệ thống có thể kết nối và tương tác với nhau bằng cách sử dụng các giao thức và chuẩn Web service như SOAP, REST, XML và JSON.

Một trong những ưu điểm của các dịch vụ Web service là tính độc lập với ngơn ngữ lập trình. Nó có thể được sử dụng trong các ứng dụng được phát triển bằng bất kỳ ngơn ngữ lập trình nào, miễn là các ứng dụng này có khả năng giao tiếp với các giao thức và chuẩn Web service.

Các dịch vụ Web service có thể được sử dụng để cung cấp các dịch vụ như xử lý thanh toán, xử lý giao dịch và truy xuất dữ liệu từ cơ sở dữ liệu. Chúng cũng có thể được sử dụng để cung cấp các chức năng tính tốn phức tạp như việc tính tốn khoảng cách giữa hai địa điểm dựa trên các tọa độ địa lý.

Các dịch vụ Web service được sử dụng rộng rãi trong các ứng dụng điện toán đám mây và các hệ thống phân tán. Chúng cũng được sử dụng trong các ứng dụng di động và IoT, nơi các thiết bị có thể truy cập và tương tác với các dịch vụ Web service trên Internet.

Tóm lại, các dịch vụ Web service là các dịch vụ được cung cấp qua mạng Internet và được sử dụng để cung cấp các chức năng hoặc dữ liệu cho các ứng dụng và hệ thống khác. Chúng có tính độc lập với ngơn ngữ lập trình và được sử

</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15">

dụng rộng rãi trong các ứng dụng điện toán đám mây, các hệ thống phân tán, ứng dụng di động và IoT.

<b> + Windows form</b>

Bộ thư viện về Windows form gồm các lớp đối tượng dành cho việc xây dựng các ứng dụng Windows based. Việc xây dựng ứng dụng loại này vẫn được hỗ trợ tốt từ trước đến nay bởi các công cụ và ngơn ngữ lập trình của Microsoft. Giờ đây, ứng dụng chỉ chạy trên Windows sẽ có thể làm việc với ứng dụng Web dựa vào Web service.

Windows Forms là một phần quan trọng của .NET Framework class library, được sử dụng để phát triển các ứng dụng Windows-based. Nó cung cấp các lớp đối tượng để xây dựng giao diện người dùng, xử lý sự kiện và tương tác với hệ thống Windows.

Các lớp đối tượng trong Windows Forms bao gồm các lớp như Form, UserControl, Button, Label, TextBox, ComboBox, ListBox, DataGridView và nhiều lớp khác. Các lớp này cung cấp các phương thức và thuộc tính để tạo và quản lý các thành phần giao diện người dùng trên một ứng dụng Windows-based.

Việc xây dựng các ứng dụng Windows-based vẫn được hỗ trợ tốt từ trước đến nay bởi các công cụ và ngôn ngữ lập trình của Microsoft như C# và Visual Basic. Tuy nhiên, hiện nay, các ứng dụng Windows-based có thể kết nối và tương tác với các ứng dụng web thơng qua Web service như đã đề cập trước đó.

Điều này có nghĩa là các ứng dụng Windows-based có thể sử dụng các dịch vụ Web service để truy xuất dữ liệu từ các nguồn khác nhau trên Internet hoặc để cung cấp các chức năng của ứng dụng cho các ứng dụng web khác.

Tóm lại, bộ thư viện Windows Forms cung cấp các lớp đối tượng để xây dựng các ứng dụng Windows-based. Việc xây dựng các ứng dụng này vẫn được hỗ trợ tốt bởi các công cụ và ngơn ngữ lập trình của Microsoft. Tuy nhiên, hiện

</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16">

nay, các ứng dụng này có thể kết nối và tương tác với các ứng dụng web thông qua Web service, mở ra những cơ hội mới cho việc phát triển các ứng dụng tương tác giữa Windows-based và Web-based.

<i><b>1.2.2 Ngơn ngữ lập trình C#:</b></i>

Ngơn ngữ C# khá đơn giản, khoảng 80 từ khóa và khoảng hơn mười kiểu dữ liệu được soạn sẵn. C# có ý nghĩa cao khi nó thực thi những khái niệm lập trình hiện đại. C# bao gồm tất cả những gì hỗ trợ cho cấu trúc, thành phần component, lập trình hướng đối tượng. Những tính chất đó hiện diện trong một ngơn ngữ lập trình hiện đại. C# được xây dựng trên 2 nền tảng ngôn ngữ mạnh nhất là C++ và Java.

C# được phát triển bởi đội ngũ kỹ sư của Microsoft, trong đó người dẫn đầu là Anders Hejlsberg và Scott Wiltamuth. Phần cốt lõi của các ngôn ngữ lập trình hướng đối tượng là sự hỗ trợ của nó cho việc định nghĩa và làm việc cho những lớp. Những lớp thì định nghĩa những kiểu dữ liệu mới, cho phép người phát triển mở rộng ngôn ngữ để tạo mơ hình tốt hơn giải quyết vấn đề. Ngơn ngữ C# chứa những từ khóa cho việc khai báo những kiểu lớp đối tượng mới và những phương thức hay thuộc tính của lớp, và cho việc thực thi đóng gói, kế thừa, đa hình, ba thuộc tính cơ bản của ngơn ngữ lập trình hướng đối tượng.

Trong ngôn ngữ C# mọi thứ liên quan đến khai báo đều được tìm thấy trong phần khai báo của nó. Định nghĩa một lớp của C# khơng địi hỏi phải chia ra tập tin header và tập tin nguồn giống như ngôn ngữ C++. Ngôn ngữ C# hỗ trợ kiểu XML, cho phép chèn các tag XML để phát sinh tự động các document cho lớp.

C# cũng hỗ trợ giao diện Interface, nó được xem như một cam kết với một lớp cho những dịch vụ mà giao diện quy định. Trong ngơn ngữ C#, một lớp chỉ có thể kế thừa duy nhất từ một lớp cha, tức là không cho đa kế thừa như trong ngôn ngữ C++, tuy nhiên một lớp có thể thực thi nhiều giao diện.

</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="17">

Trong ngôn ngữ C#, những cấu trúc được hỗ trợ, nhưng khái niệm về ngữ nghĩa của nó thay đởi khác với C++. Trong C#, một cấu trúc được giói hạn, là kiểu dữ liệu nhỏ gọn và khi tạo thể hiện thì nó u cầu ít hơn về hệ điều hành và bộ nhớ so với một lớp. Một cấu trúc thì khơng thể được kế thừa từ một lớp. Metadata mô tả cho một lớp, bao gồm những phương thức và những thuộc tính của nó, cũng như những sự bảo mật cần thiết và những thuộc tính khác. Mã nguồn chứa đựng những logic cần thiết để thực hiện những chức năng của nó. Do vậy, một lớp được biên dịch như là một khối self-contained, nên môi trường hosting biết được cách đọc Matadata của một lớp và mã nguồn cần thiết mà không cần những thông tin khác để sử dụng nó.

Ngơn ngữ này hỗ trợ việc truy cập bộ nhớ trực tiếp sử dụng kiểu con trỏ của C++ và từ khóa cho dấu ngoặc trong tốn tử. Các mã nguồn này là khơng an tồn. Và bộ giải phóng bộ nhớ tự động của CLR sẽ khơng thực hiện việc giải phóng những đối tượng tham chiếu bằng sử dụng con trỏ cho đến khi chúng được giải phóng.

<b> Ưu điểm của ngơn ngữ C#:</b>

+ Ngôn ngữ đơn giản. + Ngôn ngữ hiện đại.

+ Ngôn ngữ hướng đối tượng. + Ngôn ngữ mạnh mẽ và mềm dẻo. + Ngơn ngữ có ít từ khóa.

+ Ngơn ngữ hướng module. + Ngôn ngữ phổ biến.

</div><span class="text_page_counter">Trang 18</span><div class="page_container" data-page="18">

<b>1.3 Tổng quan về hệ quản trị cơ sở dữ liệu SQL Server:</b>

Phiên bản đầu tiên của Microsoft SQL Server ra đời đầu tiên vào năm 1989 cho các hệ điều hành chạy 16 bít với SQL Server phiên bản 1.0 và tiếp tục phát triển cho tới ngày nay.

SQL Server của Microsoft được thị trường chấp nhận rộng rãi kể từ version 6.5. Sau đó Microsoft đã cải tiến và hầu như viết lại một engine mới cho SQL Server 7.0. Cho nên có thể nói từ version 6.5 lên version 7.0 là một bước nhảy vọt. Có một số đặc tính của SQL Server 7.0 khơng tương thích với version 6.5. Trong khi đó từ Version 7.0 lên version 8.0 (SQL Server 2000) thì những cải tiến chủ yếu là mở rộng các tính năng về web và làm cho SQL Server 2000 đáng tin cậy hơn.

Một điểm đặc biệt đáng lưu ý ở phiên bản 2000 là Multiple-Instance. Tức là bạn có thể cài dặt phiên bản 2000 chung với các phiên bản trước mà khơng cần phải gỡ chúng. Nghĩa là bạn có thể chạy song song version 6.5 hoặc 7.0 với phiên bản 2000 trên cùng một máy (điều này không thể xảy ra với các phiên bản trước đây). Khi đó phiên bản cũ trên máy bạn là Default Instance còn phiên bản 2000 mới vừa cài sẽ là Named Instance.

<b> Từ tháng 10 năm 2016, các phiên bản sau được Microsoft hỗ trợ:</b>

</div><span class="text_page_counter">Trang 19</span><div class="page_container" data-page="19">

SQL Server 2022 chỉ hỗ trợ cho các bộ vi xử lý 64 bít bao gồm AMD Opteron, AMD Athlon 64, Intel Xeon với hỗ trợ Intel EM64T và Intel Pentium IV với hỗ trợ EM64T. + Tốc độ CPU: Yêu cầu tối thiểu là 1.4 GHz (mức tối ưu là 2.0 GHz hoặc nhanh hơn)

SQL Server là một hệ quản trị cơ sở dữ liệu quan hệ (Relational Database

<b>Management System (RDBMS) sử dụng câu lệnh SQL (Transact-SQL) để trao</b>

đổi dữ liệu giữa máy Client và máy cài SQL Server. Một RDBMS bao gồm databases, database engine và các ứng dụng dùng để quản lý dữ liệu và các bộ phận khác nhau trong RDBMS.

SQL Server được tối ưu để có thể chạy trên môi trường cơ sở dữ liệu rất lớn (Very Large Database Environment) lên đến Tera-Byte và có thể phục vụ cùng lúc cho hàng ngàn user. SQL Server có thể kết hợp “ăn ý” với các server khác như Microsoft Internet Information Server (IIS)…..

<b> Một vài ấn bản SQL Server:</b>

<b>+ Enterprise: là phiên bản SQL Server có tính năng cao nhất và được thiết</b>

kế để đáp ứng nhu cầu của các doanh nghiệp lớn và khó tính. Nó cung cấp các tính năng nâng cao như AlwaysOn Availability Groups, chế độ xem bản ghi và mã hóa dữ liệu trong khi lưu trữ. Nó cũng cung cấp các cơng cụ quản lý phức tạp để giúp quản trị viên quản lý các cơ sở dữ liệu lớn và phức tạp.

Các tính năng AlwaysOn Availability Groups của Enterprise cho phép các cơ sở dữ liệu được sao chép và đồng bộ hóa, đảm bảo tính khả dụng và khả năng phục hồi nhanh chóng của các cơ sở dữ liệu quan trọng. Nó cũng cung cấp chế độ xem bản ghi để đảm bảo tính tồn vẹn của dữ liệu và mã hóa dữ liệu trong khi lưu trữ để bảo vệ dữ liệu quan trọng khỏi các cuộc tấn công từ bên ngồi.

Ngồi ra, Enterprise cịn hỗ trợ tới 640 bộ vi xử lý, cho phép nó xử lý các tác vụ phức tạp và đa nhiệm một cách hiệu quả. Nó cũng có thể quản lý các CSDL lớn tới 524 petabytes và đánh địa chỉ 12 terabytes bộ nhớ, đảm bảo khả

</div><span class="text_page_counter">Trang 20</span><div class="page_container" data-page="20">

Tóm lại, Enterprise là phiên bản SQL Server có tính năng cao nhất và được thiết kế để đáp ứng nhu cầu của các doanh nghiệp lớn và khó tính. Nó cung cấp các tính năng nâng cao như AlwaysOn Availability Groups, chế độ xem bản ghi và mã hóa dữ liệu trong khi lưu trữ, cùng với các công cụ quản lý phức tạp để giúp quản trị viên quản lý các cơ sở dữ liệu lớn và phức tạp.

<b>+ Standard: Standard là phiên bản SQL Server phù hợp cho các doanh</b>

nghiệp vừa và nhỏ, với mức giá rẻ hơn nhiều so với Enterprise Edition. Tuy nhiên, nó có một số giới hạn về tính năng so với Enterprise, nhưng vẫn cung cấp đầy đủ các tính năng cơ bản để quản lý các cơ sở dữ liệu.

Standard có thể chạy trên hệ thống lên đến 4 bộ vi xử lý và 2 GB RAM, điều này thích hợp cho các ứng dụng có quy mơ nhỏ và độ phức tạp thấp. Nó cũng hỗ trợ các tính năng như AlwaysOn Availability Groups và giám sát hiệu suất, giúp quản trị viên quản lý các cơ sở dữ liệu một cách hiệu quả.

Tuy nhiên, Standard bị giới hạn một số chức năng cao cấp như Partitioning và Transparent Data Encryption, những tính năng này chỉ có sẵn trong Enterprise. Nếu doanh nghiệp có nhu cầu sử dụng các tính năng cao cấp này, họ cần phải nâng cấp lên phiên bản Enterprise.

Tóm lại, Standard là phiên bản SQL Server phù hợp cho các doanh nghiệp vừa và nhỏ, với mức giá rẻ hơn nhiều so với Enterprise Edition và cung cấp đầy đủ các tính năng cơ bản để quản lý các cơ sở dữ liệu. Mặc dù bị giới hạn một số chức năng cao cấp, nó vẫn có thể đáp ứng nhu cầu của các ứng dụng có quy mô nhỏ và độ phức tạp thấp

<b>+ Developer: SQL Server Developer Edition là một phiên bản của SQL</b>

Server được thiết kế đặc biệt để phục vụ cho mục đích phát triển và kiểm tra ứng dụng. Nó bao gồm đầy đủ các tính năng của SQL Server Enterprise Edition, nhưng được giới hạn số lượng người kết nối vào server cùng một lúc.

SQL Server Developer Edition thường được sử dụng bởi các nhà phát triển và các tổ chức để xây dựng và kiểm tra ứng dụng trước khi triển khai chúng trên

</div><span class="text_page_counter">Trang 21</span><div class="page_container" data-page="21">

các phiên bản cao cấp hơn của SQL Server. Nó cũng cho phép các nhà phát triển phát triển và thử nghiệm các tính năng mới của SQL Server trước khi chúng được triển khai trên các phiên bản cao cấp hơn.

SQL Server Developer Edition cũng có giá thành thấp hơn so với các phiên bản cao cấp hơn của SQL Server, nhưng vẫn cung cấp đầy đủ các tính năng của SQL Server để đảm bảo khả năng phát triển và kiểm tra ứng dụng một cách hiệu quả.

Tóm lại, SQL Server Developer Edition là một phiên bản của SQL Server được thiết kế đặc biệt để phục vụ cho mục đích phát triển và kiểm tra ứng dụng. Nó bao gồm đầy đủ các tính năng của SQL Server Enterprise Edition, nhưng được giới hạn số lượng người kết nối vào server cùng một lúc và có giá thành thấp hơn để phù hợp với các nhu cầu của các nhà phát triển và tổ chức.

<b>+ Workgroup: SQL Server Workgroup là một phiên bản SQL Server đã bị</b>

loại bỏ kể từ SQL Server 2012. Nó đã được thay thế bằng phiên bản SQL Server Standard, với giá thành tương đương nhưng cung cấp nhiều tính năng hơn.

Tuy nhiên, trước khi bị loại bỏ, SQL Server Workgroup là một phiên bản SQL Server phù hợp cho các doanh nghiệp nhỏ với mức giá rẻ hơn so với các phiên bản cao cấp hơn. Nó cung cấp các tính năng cơ bản của SQL Server như quản lý cơ sở dữ liệu, xử lý dữ liệu và bảo mật dữ liệu.

Tuy nhiên, một điểm khác biệt của SQL Server Workgroup so với các phiên bản cao cấp hơn là nó khơng bao gồm các dịch vụ đi kèm, chẳng hạn như SQL Server Reporting Services và SQL Server Analysis Services. Do đó, nó thường được sử dụng cho các ứng dụng đơn giản và khơng u cầu các tính năng phức tạp.

Tóm lại, SQL Server Workgroup đã bị loại bỏ kể từ SQL Server 2012 và đã được thay thế bằng phiên bản SQL Server Standard. Trước khi bị loại bỏ, nó là một phiên bản SQL Server phù hợp cho các doanh nghiệp nhỏ với mức giá rẻ

</div><span class="text_page_counter">Trang 22</span><div class="page_container" data-page="22">

hơn, nhưng không bao gồm các dịch vụ đi kèm và chỉ cung cấp các tính năng cơ bản của SQL Server.

<b>+ Express: SQL Server Express dễ sử dụng và quản trị cơ sở dữ liệu đơn</b>

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. SQL Server Express là phiên bản miễn phí, khơng giới hạn về số cơ ở dữ liệu hoặc người sử dụng, nhưng nó chỉ dùng cho 1 bộ vi xử lý với 1 GB bộ nhớ và 10 GB file cơ sở dữ liệu. SQL Server Express là lựa chọn tốt cho những người dùng chỉ cần một phiên bản SQL Server 2005 nhỏ gọn, dùng trên máy chủ có cấu hình thấp, những nhà phát triển ứng dụng khơng chun hay những người u thích xây dựng các ứng dụng nhỏ.

SQL Server cấu tạo bởi nhiều thành phần như Database Engine, Reporting Services, Notification Services, Integration Services, Full Text Search Service…. Các thành phần này khi phối hợp với nhau tạo thành một giải pháp hoàn chỉnh giúp cho việc lưu trữ và phân tích dữ liệu một cách dễ dàng.

<b>Database Engine</b>

</div><span class="text_page_counter">Trang 23</span><div class="page_container" data-page="23">

Database Engine là trái tim của SQL Server và là nơi lưu trữ và quản lý dữ liệu. Nó có khả năng chứa dữ liệu trong các bảng và hỗ trợ tất cả các kiểu kết nối thông dụng của Microsoft như ADO, OLE DB và ODBC.

Ngồi ra, Database Engine cịn có khả năng tự điều chỉnh (tune up) để tối ưu hóa hiệu suất và sử dụng tài ngun hiệu quả hơn. Ví dụ, nó có thể sử dụng thêm tài nguyên (resource) của máy tính khi cần thiết và trả lại tài nguyên cho hệ điều hành khi một người dùng đăng xuất hoặc kết thúc phiên làm việc.

Database Engine cũng cung cấp các tính năng bảo mật, bao gồm kiểm sốt truy cập, mã hóa dữ liệu và đăng nhập an tồn, để bảo vệ dữ liệu của doanh nghiệp khỏi các mối đe dọa bên ngồi.

Tóm lại, Database Engine là trái tim của SQL Server và có khả năng chứa dữ liệu trong các bảng và hỗ trợ tất cả các kiểu kết nối thơng dụng của Microsoft. Nó cịn có khả năng tự điều chỉnh để tối ưu hóa hiệu suất và sử dụng tài nguyên hiệu quả hơn, cùng với các tính năng bảo mật để bảo vệ dữ liệu của doanh nghiệp.

<b> Replication</b>

+ Cơ chế tạo bản sao (Replica):

+ Giả sử bạn có một database dùng để chứa dữ liệu được các ứng dụng thường xuyên cập nhật. Một ngày đẹp trời bạn muốn có một cái database giống y hệt như thế trên một server khác để chạy báo cáo (report database) (cách làm này thường dùng để tránh ảnh hưởng đến performance của server chính). Vấn đề là report server của bạn cũng cần phải được cập nhật thường xuyên để đảm bảo tính chính xác của các báo cáo. Bạn khơng thể dùng cơ chế back up and restore trong trường hợp này. Thế thì bạn phải làm sao? Lúc đó cơ chế replication của SQL Server sẽ được sử dụng để bảo đảm cho dữ liệu ở 2 database được đồng bộ (synchronized). Replication sẽ được bàn kỹ trong bài 12

<b> Integration Services (DTS) </b>

</div><span class="text_page_counter">Trang 24</span><div class="page_container" data-page="24">

+ Integration Services là một tập hợp các công cụ đồ họa và các đối tượng lập trình cho việc di chuyển, sao chép và chuyển đổi dữ liệu.

+ Nếu bạn làm việc trong một công ty lớn trong đó data được chứa trong nhiều nơi khác nhau và ở các dạng khác nhau cụ thể như chứa trong Oracle, DB2 (của IBM), SQL Server, Microsoft Access….Bạn chắc chắn sẽ có nhu cầu di chuyển data giữa các server này (migrate hay transfer) và không chỉ di chuyển bạn cịn muốn định dạng (format) nó trước khi lưu vào database khác, khi đó bạn sẽ thấy DTS giúp bạn giải quyết công việc trên dễ dàng.

<b> Analysis Services</b>

+ Một dịch vụ phân tích dữ liệu rất hay của Microsoft

+ Dữ liệu (Data) chứa trong database sẽ chẳng có ý nghĩa gì nhiều nếu như bạn khơng thể lấy được những thơng tin (Information) bở ích từ đó. Do đó Microsoft cung cấp cho bạn một cơng cụ rất mạnh giúp cho việc phân tích dữ liệu trở nên dễ dàng và hiệu quả bằng cách dùng khái niệm hình khối nhiều chiều (multi-dimension cubes) và kỹ thuật “khai phá dữ liệu” (data mining).

<b> Notification Services</b>

+ Dịch vụ thông báo Notification Services là nền tảng cho sự phát triển và triển khai các ứng dụng tạo và gửi thơng báo. Notification Services có thể gửi thông báo theo địch thời đến hàng ngàn người đăng ký sử dụng nhiều loại thiết bị khác nhau.

<b> Reporting Services</b>

+ Reporting Services bao gồm các thành phần server và client cho việc tạo, quản lý và triển khai các báo cáo. Reporting Services cũng là nền tảng cho việc phát triển và xây dựng các ứng dụng báo cáo.

<b> Full Text Search Service</b>

+ Dịch vụ SQL Server Full Text Search là một dịch vụ đặc biệt cho đánh chỉ mục và truy vấn cho dữ liệu văn bản không cấu trúc được lưu trữ trong các

</div>

×