DATN VIỆN ĐẠI HỌC MỞ HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN HỌ VÀ TÊN BẠCH THANH VƯỢNG XÂY DỰNG WEBSITE XÂY DỰNG NỘI DUNG DỮ LIỆU TRỰC TUYẾN HỖ TRỢ LÀM VIỆC THEO NHÓM Chuyên ngành Tin học ứng dụng MÔN HỌC CH[.]
Trang 1VIỆN ĐẠI HỌC MỞ HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN
HỌ VÀ TÊN: BẠCH THANH VƯỢNG
XÂY DỰNG WEBSITE XÂY DỰNG NỘI DUNG DỮ LIỆU TRỰC
TUYẾN HỖ TRỢ LÀM VIỆC THEO NHÓM
Chuyên ngành: Tin học ứng dụngMÔN HỌC: CHUYÊN ĐỀ LẬP TRÌNH ỨNG DỤNG
Trang 2LỜI CẢM ƠN
Để hoàn thành chuyên đề lập trình ứng dụng này, em xin tỏ lòng biết
ơn sâu sắc đến thầy giáo: Thái Thanh Tùng, đã tận tình hướng dẫn trong suốt quátrình làm chuyên đề lập trình ứng dụng tốt nghiệp
Em chân thành cảm ơn quý Thầy, Cô trong khoa Công nghệ thông tin,Viện Đại học Mở Hà Nội đã tận tình truyền đạt kiến thức trong 4 năm học tập Vớivốn kiến thức được tiếp thu trong quá trình học không chỉ là nền tảng cho quá trìnhlàm chuyên đề mà còn là hành trang quí báu để em bước vào đời một cách vữngchắc và tự tin
Cuối cùng em kính chúc quý Thầy, Cô dồi dào sức khỏe và thành côngtrong sự nghiệp cao quý
Trân thành cảm ơn!
Trang 3TÓM TẮT NỘI DUNG CHUYÊN ĐỀ ỨNG DỤNG
Nội dung của chuyên đề ứng dụng này là xây dựng website xây dựng nộidung dữ liệu trực tuyến hỗ trợ làm việc theo nhóm
Nội dung chuyên đề gồm có 3 phần chính:
- Thiết lập bài toán
- Phân tích và thiết kế hệ thống
- Đánh giá và kết luận
Đầu tiên là tìm hiểu các chức năng, nhiệm vụ, các quy định ràng buộc vàcung cách hoạt động của hệ thống quản lý điểm hiện tại, thu thập các mẫu vănbản, báo cáo liên quan Các yêu cầu cho tương lai và những mong muốn, kỳ vọng
về hệ thống mới của người sử dụng Từ đó thiết lập bài toán cần giải quyết
Phần tiếp theo, cũng là phần quan trọng nhất của chuyên đề, đó là phầnphân tích, thiết kế hệ thống Cần phân tích các chức năng và dữ liệu của hệ thống cũ
để đưa ra mô hình của hệ thống mới Từ đó thiết kế và xây dựng hệ thống mới đápứng được yêu cầu của bài toán
Phần cuối là đánh giá và kết luận, trong phần này đưa ra đánh giá về hệthống đã được xây dựng, các vấn đề đã thực hiện được, khả năng ứng dụng của hệthống trên thực tế và hướng phát triển tiếp cho hệ thống
Trang 4ĐẶT VẤN ĐỀ
Tên đề tài: Xây dựng website xây dựng nội dung dữ liệu trực tuyến hỗ trợlàm việc theo nhóm
Nội dung yêu cầu:
Các trang nội dung dữ liệu do người sử dụng tạo ra và có thể chia sẻ cho cácthành viên trong nhóm theo lựa chọn Các thành viên được chia sẻ có thể truy cậpđồng thời và thao tác trên nội dung dữ liệu đó
Trong chương trình tối thiểu cần có những chức năng sau:
Quản lý thành viên (chỉ thành viên của website sau khi đăng nhập mớiđược thêm vào nhóm làm việc)
Cho phép thành viên xây dựng các trang nội dung dữ liệu
Cho phép chia sẻ trang nội dung dữ liệu với các thành viên
Các thành viên được chia sẻ có thể truy nhập và thao tác trên dữ liệu.Ghi nhận tất cả các cập nhật và thông báo cho các thành viên khác.Công nghệ, ngôn ngữ thực hiện:
Hệ Cao đẳng, Tại chức: MS Access, ASP
Hệ chính quy, HCKT: MS SQL, ASP.NET
Tài liệu tham khảo:
MSDN
MS SQM Server Book Online
Tài liệu môn học Lập trình web
Trang 5 http://forum.fithou.net.vn
CHƯƠNG 1 GIỚI THIỆU CHUNG 1.1 Các công nghệ sử dụng
1.1.1.Ngôn ngữ lập trình web ASP.Net
ASP.NET sử dụng NET Framework, NET Framework là sự tổng hợp tấtcác các kỷ thuật cần thiết cho việc xây dựng một ứng dụng nền desktop, ứng dụngweb, web services
ASP.NET là một nền tảng ứng dụng web (web application framework) đượcphát triển và cung cấp bởi Microsoft, cho phép những người lập trình tạo ra nhữngtrang web động, những ứng dụng web và những dịch vụ web Lần đầu tiên đượcđưa ra thị trường vào tháng 2 năm 2002 cùng với phiên bản 1.0 của .NETframework, là công nghệ nối tiếp của Microsoft's Active Server Pages(ASP).ASP.NET được biên dịch dưới dạng Common Language Runtime (CLR), cho phépnhững người lập trình viết mã ASP.NET với bất kỳ ngôn ngữ nào được hỗ trợbởi NET language
Trong nhiều năm qua, ASP đã được cho rằng đó thực sự là một lựa chọnhàng đầu cho web developers trong việc xây dựng những websites trên nền máy chủweb Windows bởi nó vừa linh hoạt mà lại đầy sức mạnh Đầu năm 2002, Microsoft
đã cho ra đời một công nghệ mới đó chính là ASP.NET Đây thực sự là một bướcnhảy vượt bậc của ASP cả về phương diện tinh tế lẫn hiệu quả cho các developers
Nó tiếp tục cung cấp khả năng linh động về mặt hỗ trợ ngôn ngữ, nhưng hơn hẳn vềmặt lĩnh vực ngôn ngữ script vốn đã trở nên hoàn thiện và trở thành ngôn ngữ cơbản của các developers Việc phát triển trong ASP.NET không chỉ yêu cầu hiểu biết
về HTML và thiết kế web mà còn khả năng nắm bắt những khái niệm của lập trình
và phát triển hướng đối tượng.[1]
Trang 6Tuy mang họ tên gần giống như ASP cổ điển nhưng ASP.NET không phải làASP Ta sơ lược ở đây vài khác biệt giữa ASP.NET và ASP để bạn có khái niệmtổng quát và sẽ trình bày thêm chi tiết khi đào sâu vào từng điểm đặc trưng(features) của ASP.NET.
1.1.2.Hệ quản trị CSDL SQL Server 2008
SQL, viết tắt của Structured Query Language (ngôn ngữ truy vấn có cấutrúc), là công cụ sử dụng để tổ chức, quản lý và truy xuất dữ liệu đuợc lưu trữ trongcác cơ sở dữ liệu SQL là một hệ thống ngôn ngữ bao gồm tập các câu lệnh sử dụng
để tương tác với cơ sở dữ liệu quan hệ
Tên gọi ngôn ngữ hỏi có cấu trúc phần nào làm chúng ta liên tưởng đến mộtcông cụ (ngôn ngữ) dùng để truy xuất dữ liệu trong các cơ sở dữ liệu Thực sự mànói, khả năng của SQL vượt xa so với một công cụ truy xuất dữ liệu, mặc dù đây làmục đích ban đầu khi SQL được xây dựng nên và truy xuất dữ liệu vẫn còn là mộttrong những chức năng quan trọng của nó SQL được sử dụng để điều khiển tất cảcác chức năng mà một hệ quản trị cơ sở dữ liệu cung cấp cho người dùng bao gồm:
• Định nghĩa dữ liệu: SQL cung cấp khả năng định nghĩa các cơ sở dữ liệu, các cấutrúc lưu trữ và tổ chức dữ liệu cũng như mối quan hệ giữa các thành phần dữ liệu
• Truy xuất và thao tác dữ liệu: Với SQL, người dùng có thể dễ dàng thực hiện cácthao tác truy xuất, bổ sung, cập nhật và loại bỏ dữ liệu trong các cơ sở dữ liệu
• Điều khiển truy cập: SQL có thể được sử dụng để cấp phát và kiểm soát các thaotác của người sử dụng trên dữ liệu, đảm bảo sự an toàn cho cơ sở dữ liệu
Đảm bảo toàn vẹn dữ liệu: SQL định nghĩa các ràng buộc toàn vẹn trong cơ
sở dữ liệu nhờ đó đảm bảo tính hợp lệ và chính xác của dữ liệu trước các thao táccập nhật cũng như các lỗi của hệ thống
Như vậy, có thể nói rằng SQL là một ngôn ngữ hoàn thiện được sử dụngtrong các hệ thống cơ sở dữ liệu và là một thành phần không thể thiếu trong các hệquản trị cơ sở dữ liệu Mặc dù SQL không phải là một ngôn ngữ lập trình như C, C+
Trang 7+, Java, song các câu lệnh mà SQL cung cấp có thể được nhúng vào trong cácngôn ngữ lập trình nhằm xây dựng các ứng dụng tương tác với cơ sở dữ liệu.
Khác với các ngôn ngữ lập trình quen thuộc như C, C++, Java, SQL làngôn ngữ có tính khai báo Với SQL, người dùng chỉ cần mô tả các yêu cầu cầnphải thực hiện trên cơ sở dữ liệu mà không cần phải chỉ ra cách thức thực hiện cácyêu cầu như thế nào Chính vì vậy, SQL là ngôn ngữ dễ tiếp cận và dễ sử dụng
Bản thân SQL không phải là một hệ quản trị cơ sở dữ liệu, nó không thể tồntại độc lập SQL thực sự là một phần của hệ quản trị cơ sở dữ liệu, nó xuất hiệntrong các hệ quản trị cơ sở dữ liệu với vai trò ngôn ngữ và là công cụ giao tiếp giữangười sử dụng và hệ quản trị cơ sở dữ liệu
Trong hầu hết các hệ quản trị cơ sở dữ liệu quan hệ, SQL có những vai trònhư sau:
• SQL là ngôn ngữ hỏi có tính tương tác: Người sử dụng có thể dễ dàngthông qua các trình tiện ích để gởi các yêu cầu dưới dạng các câu lệnh SQL đến cơ
sở dữ liệu và nhận kết quả trả về từ cơ sở dữ liệu
• SQL là ngôn ngữ lập trình cơ sở dữ liệu: Các lập trình viên có thể nhúngcác câu lệnh SQL vào trong các ngôn ngữ lập trình để xây dựng nên các chươngtrình ứng dụng giao tiếp với cơ sở dữ liệu
• SQL là ngôn ngữ quản trị cơ sở dữ liệu: Thông qua SQL, người quản trị cơ
sở dữ liệu có thể quản lý được cơ sở dữ liệu, định nghĩa các cấu trúc lưu trữ dữ liệu,điều khiển truy cập cơ sở dữ liệu,
• SQL là ngôn ngữ cho các hệ thống khách/chủ (client/server): Trong các hệthống cơ sở dữ liệu khách/chủ, SQL được sử dụng như là công cụ để giao tiếp giữacác trình ứng dụng phía máy khách với máy chủ cơ sở dữ liệu
Trang 8• SQL là ngôn ngữ truy cập dữ liệu trên Internet: Cho đến nay, hầu hết cácmáy chủ Web cũng như các máy chủ trên Internet sử dụng SQL với vai trò là ngônngữ để tương tác với dữ liệu trong các cơ sở dữ liệu.
• SQL là ngôn ngữ cơ sở dữ liệu phân tán: Đối với các hệ quản trị cơ sở dữliệu phân tán, mỗi một hệ thống sử dụng SQL để giao tiếp với các hệ thống kháctrên mạng, gởi và nhận các yêu cầu truy xuất dữ liệu với nhau
SQL là ngôn ngữ sử dụng cho các cổng giao tiếp cơ sở dữ liệu: Trong một hệthống mạng máy tính với nhiều hệ quản trị cơ sở dữ liệu khác nhau, SQL thườngđược sử dụng như là một chuẩn ngôn ngữ để giao tiếp giữa các hệ quản trị cơ sở dữliệu
Trang 9CHƯƠNG II : THIẾT LẬP BÀI TOÁN 2.1 Tầm quan trọng của chuyên đề:
Việc sử dụng hệ thống máy tính trong quản lý trong môt quán karaoke là hết sứccần thiết Do số lượng phòng hát lớn, khách đến trong ngày rất đông, nếu quản lýbằng sổ sách sẽ tốn rất nhiều công sức và không đảm bảo được tính chính xác Việcdung phần mềm trong quản lý quán sẽ giúp rất nhiều cho người quản lý và nhânviên phục vụ, kiểm soát thực trang kinh doanh của quán
2.2 Tính khả thi của Project:
2.2.1 Tính khả thi về mặt kỹ thuật:
Sản phẩm được phát triển dựa trên công cụ C# và SQL sever là những công
cụ hỗ trợ mạnh đảm bảo tính khả thi về mặt kỹ thuật, tốn ít tài nguyên hệ thống vàgiá thành sản phẩm rẻ Sản phẩm được thiết kế chạy trên nền web đảm bảo phù hợpvới đại đa số người dùng Dự án phát triển phần mềm này có quy mô vừa phải nên
cơ sở dữ liệu tương đối nhỏ, đảm bảo có thể thực hiện xong trong thời gian ngắn
2.2.2 Tính khả thi về mặt kinh tế
Như trên đã nói, sản phẩm được phát triển trên C# và SQL nên đảm bảo tốn
ít tài nguyên hệ thống, giá thành rẻ, thời gian thực hiện ngắn.Chi phí bảo trì hệthống gần như không có.Giảm thiểu thời gian quản lý, giúp quản lý linh hoạt hơn,giảm tải đội ngũ nhân viên do đó doanh thu tăng.Khách hang có thể hài long vớidịnh vụ thanh toán, phục vụ chuyên nghiệp
2.3 Phạm vi và yêu cầu của Project
2.3.1 Phạm vi
Project thực hiện việc xây dựng một website nhỏ nhằm chia sẻ nội dung giữa cácthành viên của website với nhau
Trang 102.3.2 Các yêu cầu chức năng của website sẽ xây dựng:
a Quản lý nội dung
Thêm, chỉnh sửa, chia sẻ nội dung
Quản lý khách hàng: thông tin khách hàng
b Quản lý user
Đăng nhập, đăng xuất user
2.3.3 Các yêu cầu phi chức năng của hệ thống
Giao diện đơn giản, dễ thao tác
Hệ thống chạy nhanh và ổn định
Hệ thống chiếm ít tài nguyên của máy tính
2.4 Kết luận sau quá trình nghiên cứu sơ bộ
Các phân thích về hệ thống cần xây dựng là hoàn toàn phù hợp với thực tế
Người sử dụng đã được duyệt và đồng ý với báo cáo
Người sử dụng đã được tham khảo ý kiến về việc xây dựng hệ thống mới và đãđược người phân tích thể hiện chính xác trong báo cáo Toàn bộ báo cáo đã đượcnghiên cứu cẩn thận
Trang 11CHƯƠNG III PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
3.1 Phân tích hệ thống về xử lý
3.1.1.Biểu đồ phân cấp chức năng
Biểu đồ phân cấp chức năng cho ta cái nhìn tổng quát về các chức năng của hệthống, nó giúp xác định phạm vi của hệ thống cần phân tích và tăng cường cách tiếpcận logic tới phân tích hệ thống Qua quá trình khảo sát hiện trạng và tìm hiểu yêucầu người dùng, ta đưa ra sơ đồ phân cấp chức năng như sau
Trang 12Hình 01: Biểu đồ phân cấp chức năng - BFD
3.1.2 Biểu đồ luồng dữ liệu
Biểu đồ luồng dữ liệu diễn tả hệ thống thông qua việc theo dõi dịch chuyển, xử
lý dữ liệu Bổ sung khiếm khuyết của mô hình phân rã chức năng bằng việc bổ sungcác luồng thông tin nghiệp vụ cần để thực hiện chức năng Nó cho ta cái nhìn đầy
đủ hơn về các mặt hoạt động của hệ thống
Trang 13a Biểu đồ luồng dữ liệu mức khung cảnh
Hình 02: DFD mức khung cảnh
Trang 14b Biểu đồ luồng dữ liệu mức đỉnh
Hình 03: DFD mức đỉnh
Trang 153.2 Phân tích hệ thống về dữ liệu
Hình 11: Lược đồ quan hệ
3.3 Thiết kế hệ thống
3.3.1.Môi trường thiết kế
Hệ quản trị cơ sở dữ liệu: Microsoft SQL Server
Ngôn ngữ lập trình: C#
Framework: Net Framework
a.Giới thiệu về hệ quản trị Microsoft SQL Server
SQL Server là một CSDL Client/Server Nó có hai chức năng chính:
Trang 16- Xử lý các yêu cầu gửi tới thông qua ngôn ngữ truy vấn CSDL và trả về choứng dụng kết quả xử lý
Các đối tượng trong hệ quản trị CSDL SQL Server:
- Bảng (Table): Bảng là đơn vị lưu trữ dữ liệu chính trong CSDL SQL Server,
đó là tập hợp dữ liệu có liên quan với nhau, là một đối tượng lưu trữ dữ liệu dướidạng hàng, cột Các hàng trong bảng người ta gọi là các bản ghi chứa dữ liệu, cáccột là các trường chứa các thuộc tính của bảng
Hình 04: Mô hình quản trị cơ sở dữ liệu
- Khung nhìn dữ liệu (View): Về mặt logic, bảng ảo giống như một bảng thực,
nó không chứa bảng vật lý nào mà nó chỉ là kết quả của việc thực hiện các câulệnh Select trên những bảng thực và dữ liệu của nó sẽ bị mất đi khi không thựchiện các câu lệnh đó
- Chỉ số của bảng (Index): Chỉ số là một cấu trúc được tạo ra để lưu trữ thôngtin về vị trí các bản ghi trong một bảng dữ liệu nhằm cải thiện tốc độ truy xuất dữliệu Một chỉ số được tạo nên trên một hay nhiều bảng, mọi sự thay đổi dữ liệu
Trang 17trong bảng đều được tự động cập nhật với các chỉ số có liên quan trong suốt quátŕnh sử dụng
- Thủ tục lưu trữ (Store procedure): Là một khối các câu lệnh truy vấn CSDL,được lưu trữ trong một thủ tục và có tham số vào cũng như giá trị trả về khi thủtục đó được thực hiện
- Trigger: Là một thủ tục lưu trữ được tự động thực hiện bởi SQL Server khimột bảng được sửa đổi bằng các câu lệnh UPDATE, INSERT, DELETE Nó cóthể lưu trữ một câu lệnh đơn giản hay các câu lệnh phức tạp của T_SQL(Transaction SQL), nhờ đó ta có thể lợi dụng cơ chế này để viết các Triggernhằm giải quyết các quy tắc nghiệp vụ, các mối ràng buộc phức tạp
Ngôn ngữ CSDL SQL:
- Định nghĩa: Ngôn ngữ CSDL là các câu lệnh, các mệnh đề được phát biểutheo một quy tắc nhất định, được người sử dụng đưa vào và được hệ quản trịCSDL xử lý Ngôn ngữ SQL là ngôn ngữ CSDL dùng các câu lệnh để chèn/xóa/ sửa dữ liệu Ngoài ra, dùng mệnh đề để hỏi, truy vấn dữ liệu, bảo vệ dữ liệu.Người ta gọi đây là ngôn ngữ phi thủ tục, nghĩa là người sử dụng các câu lệnhcủa ngôn ngữ để xác định dữ liệu nào họ muốn mà không cần biết dữ liệu nàyđược tìm như thế nào
Trang 18Hình 05: Sử dụng ngôn ngữ SQL
- Cách sử dụng ngôn ngữ SQL: Sử dụng tương tác, người sử dụng gửi câu lệnhtới và được hệ quản trị CSDL thực thi ngay và kết quả được trả về cho người sửdụng Hoặc nhúng các câu lệnh SQL vào trong chương trình, các chương trìnhnày có thể viết bằng các ngôn ngữ khác nhau, ưu điểm của phương pháp này làđược thực thi nhanh và tăng tính mềm dẻo
b.Giới thiệu về ngôn ngữ C# và NET Framework
C# là một ngôn ngữ hướng đối tượng cho phép các nhà phát triển dễ xâydựng một loạt các ứng dụng an toàn và mạnh mẽ chạy trên NET Framework Bạn
có thể sử dụng C# để tạo ra các ứng dụng truyền thống Windows, dịch vụ WebXML, thành phần phân phối (components), ứng dụng dạng client-server, ứng dụng
cơ sở dữ liệu, và nhiều hơn thế nữa
.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ởiMicrosoft .NET framework bao gồm tập các thư viện lập trình lớn, và những thưviện này hỗ trợ việc xây dựng các chương trình phần mềm như lập trình giao diện;truy cập, kết nối cơ sở dữ liệu; ứng dụng web; các giải thuật, cấu trúc dữ liệu; giao