1. Trang chủ
  2. » Cao đẳng - Đại học

Đề tài Xây dựng hệ thống quản lý công văn cơ quan ban ngành

20 17 0

Đ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 20
Dung lượng 785,51 KB

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

Nội dung

Trước tiên ta tiến hành tạo dựng một trang quản lý công văn nội bộ tương tự một chương trình check mail của yahoo với cơ sở dữ liệu chuẩn được quản lý bằng SQL Sever 2005, và sử dụng ngô[r]

Trang 1

ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA

KHOA CÔNG NGHỆ THÔNG TIN

Tel (84-511) 736 949, Fax (84-511) 842 771

Website: itf.ud.edu.vn, E-mail: cntt@edu.ud.vn

LUẬN VĂN TỐT NGHIỆP KỸ SƯ

NGÀNH CÔNG NGHỆ THÔNG TIN

MÃ NGÀNH : 05115

ĐỀ TÀI : XÂY DỰNG HỆ THỐNG QUẢN LÝ CÔNG VĂN CƠ QUAN BAN NGÀNH

Mã số : 06TLT-212 Ngày bảo vệ : 10/06/2008

SINH VIÊN : NGUYỄN VIỆT TUẤN

ĐÀ NẴNG, 06/2008

Trang 2

Tôi chân thành cảm ơn cán bộ công nhân viên Trung Tâm Công Nghệ Thông Tin Phú Yên, nhất là anh Nguyễn Chí Sỹ phó giám đốc Trung Tâm Công Nghệ Thông Tin Phú Yên đã gần gủi và tận tình giúp đỡ tôi trong suốt thời gian làm luận văn tốt nghiệp.

Ngoài ra tôi còn chân thành cảm ơn Thầy TS Nguyễn Thanh Bình trong thời gian qua đã thường xuyên quan tâm, có những buổi gặp mặt trao đổi hết sức bổ ích, giúp tôi có thêm một số kiến thức cần thiết kịp thời bổ sung những kiến thức còn thiếu trong bài luận văn tốt nghiệp này.

Một lần nữa “em xin cảm ơn thầy”.

Trang 3

LỜI CAM ĐOAN

Tôi xin cam đoan :

1 Những nội dung trong luận văn này là do tôi thực hiện dưới sự hướng dẫn trực tiếp của thầy TS Nguyễn Thanh Bình và các cán bộ Trung tâm Công Nghệ Thông Tin Phú Yên trực tiếp là ThS Nguyễn Chí Sỹ.

2 Mọi tham khảo dùng trong luận văn đều được trích dẫn trong tài liệu: phân tích và thiết kế Hệ Thống Thông Tin theo UML của TS Dương Kiều Hoa – Tôn Thất Hoà An, Beginning ASP.NET 2.0 in C# 2005 From Novice to Professional - Hew MacDonald.

3 Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá, tôi xin chịu hoàn toàn trách nhiệm.

Sinh viên, Nguyễn Việt Tuấn

Trang 4

I C# và kiến trúc NET 2

I.1 Tổng quan 2

I.2 Mối quan hệ giữa C# và NET 2

I.3 Common Language Runtime 2

I.4 Intermediate Language 3

I.5 Các lớp NET Framework 3

I.6 Tạo các ứng dụng NET bằng C# 4

II Truy cập cơ sở dữ liệu với NET 6

II.1 Tổng quan về ADO.NET 6

II.2 Kiến trúc ADO.NET 7

III Webservice và việc phát triển một dịch vụ Web 8

PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 16

I Mô tả hệ thống 16

I.1 Đặc tả yêu cầu 16

I.2 Mô tả hệ thống 16

II Mô hình hóa Use Case 17

II.1 Các tác nhân của hệ thống 17

II.2 Xác định các Use Case 18

III Mô hình quan niệm 24

IV Biểu đồ tuần tự 25

IV.1 Biểu đồ tuần tự của hành vi “Đăng nhập” 25

IV.2 Biểu đồ tuần tự của hành vi “Quản lý Tin” 26

IV.3 Biểu đồ tuần tự của hành vi “Quản lý User” 27

IV.4 Biểu đồ tuần tự hành vi “Quản lý Loại công văn” 28

IV.5 Biểu đồ tuần tự hành vi “Quản lý Công văn” 29

V Xây dựng biểu đồ lớp chi tiết 30

XÂY DỰNG CHƯƠNG TRÌNH 32

I Kết quả Demo chương trình 32

I.1 Giao diện chính của chương trình 32

I.2 Giao diện Xử lý công việc 33

I.3 Giao diện Văn bản đến 34

I.4 Giao diện Văn bản đi 35

I.5 Giao diện Thông báo 36

II Các giải pháp đã được ứng dụng trong hệ thống 36

II.1 Khả năng kết nối cơ sở dữ liệu 36

II.2 Khả năng ứng dụng trên thực tế 43

KẾT LUẬN 44

Trang 5

CHƯƠNG 1

CƠ SỞ LÝ THUYẾT

I C# và kiến trúc NET

I.1 Tổng quan

ASP.NET là viết tắt của cụm từ Active Server Pages NET (.NET ở đây là NET framework) ASP.NET là phương pháp tổ chức hay khung tổ chức (framework) để thiết lập các ứng dựng cho mạng dựa trên CLR (Common Language Runtime) chứ không phải là một ngôn ngữ lập trình Tóm lại ASP.NET là một công nghệ

Giữa ASP.NET và ASP cổ điển tuy có cùng tên họ nhưng ta không thể đánh đồng chúng với nhau bởi ASP.NET cung cấp một phương pháp làm việc hoàn toàn khác ASP Mặc dù vậy ASP.NET và ASP vẫn có thể sống chung dưới một mái nhà IIS

ASP có thể hỗ trợ đến 25 ngôn ngữ Lập trình : C#, VB.NET,… Trong đó C# là một ngôn ngữ lập trình mới, và được biết đến với hai lời chào:

 Nó được thiết kế riêng để dùng cho Microsoft's NET Framework (Một nền khá mạnh cho sự phát triển, triển khai, hiện thực và phân phối các ứng dụng)

 Nó là một ngôn ngữ hoàn toàn hướng đối tượng được thiết kế dựa trên kinh nghiệm của các ngôn ngữ hướng đối tượng khác

I.2 Mối quan hệ giữa C# và NET

C# được xem là một trình biên dịch hướng NET, nghĩa là tất cả các mã của C# luôn luôn chạy trên trên môi trường NET Framework Sự phụ thuộc của C# với NET được thể hiện qua:

 Cấu trúc và các lập luận C# được phản ánh các phương pháp luận của NET ngầm bên dưới

 Trong nhiều trường hợp, các đặc trưng của C# thậm chí được quyết định dựa vào các đặc trưng của NET, hoặc thư viện lớp cơ sở của NET

Một điều quan trọng chúng ta nên biết C# là một ngôn ngữ độc lập Nó được thiết kế để có thể sinh ra mã đích trong môi trường NET, nó không phải là một phần của NET bởi vậy có một vài đặc trưng được hỗ trợ bởi NET nhưng cũng có những đặc trưng C# hỗ trợ mà NET không hỗ trợ (chẳng hạn như quá tải toán tử)

I.3 Common Language Runtime

Trung tâm của NET frameword.rk là môi trường thời gian chạy, gọi là Common

Language Runtime (CLR) hoặc NET runtime Mã của các điều khiển trong CLR thường

là mã có quản

Trang 6

Tuy nhiêu, trước khi được thực thi bởi CLR, mã được phát triển trong C# (hoặc các ngôn ngữ khác) cần phải được biên dịch.Quá trình biên dịch trong NET xảy ra theo hai bước:

1 Dịch mã nguồn thành Microsoft Intermediate Language (MS-IL)

2 Dịch IL thành mã nền cụ thể bởi CLR

Mới nhìn có vẻ hơi dài dòng Nhưng thật sự, một tiến trình dịch hai mức là rất cần thiết, bởi vì trạng thái của Microsoft Intermediate Language (mã có quản) là chìa khóa cung cấp nhiều lợi ích trong NET

Các lợi ích của mã có quản: Độc lập nền, Sự cải tiến trong thực thi, Tương hoạt giữa các ngôn ngữ

I.4 Intermediate Language

Intermediate Language hoạt động như là bản chất của NET Framework Là lập trình viên C#, chúng ta nên biết rằng mã C# sẽ luôn được dịch sang Intermediate Language trước khi nó được thực thi (thật vậy, trình biên dịch C# chỉ dịch sang mã có quản) Chúng ta hãy cùng khám phá các tính năng chính của IL, bất kì ngôn ngữ nào hướng NET cũng sẽ hỗ trợ các đặc tính chính của IL

Những đặc tính chính của Intermediate Language đó là:

 Hướng đối tượng và dùng interfaces

 Sự tách biệt giữa kiểu giá trị và kiểu tham chiếu

 Định kiểu mạnh

 Quản lỗi thông qua các ngoại lệ

 Sự dụng các thuộc tính

I.5 Các lớp NET Framework

Có lẽ một trong những lợi ích lớn nhất của viết mã có quản, ít nhất là đối với một nhà phát

triển, đó là bạn có thể sử dụng thư viện lớp cơ sở của NET.

Thư viện lớp cơ sở của NET là một tập hợp lớn các lớp mã có quản được viết bởi Microsoft, những lớp này cho phép bạn thao tác rất nhiều các tác vụ sẵn có trong Windows Bạn có thể tạo các lớp của mình từ các lớp có sẵn trong thư viện lớp cơ sở của NET dựa trên

cơ chế thừa kế đơn

Thư viện lớp cơ sở của NET rất trực quan và rất dễ sử dụng Ví dụ, để tạo một tiến trình mới, bạn đơn giản gọi phương thức Start() của lớp Thread Để disable một TextBox, bạn đặt thuộc tính Enabled của đối tượng TextBox là false Thư viện này được thiết kế để dễ xài như

là Visual Basic và Java Tất nhiên là nó dễ sử dụng hơn các lớp của C++: các vỏ bọc ngoài các hàm API thô như GetDIBits(), RegisterWndClassEx(), và IsEqualIID()

Mặt khác, những nhà phát triển C++ luôn dễ dàng truy cập đến các API, ngược lại những nhà phát triển Visual Basic và Java đã bị giới hạn trong những thao tác hệ thống cơ bản mà

Trang 7

Xây Dựng Hệ Thống Quản Lý Công Văn Cơ Quan Ban Nghành 4

ngôn ngữ đã từng ngôn ngữ đã cung cấp sẵn Cái mới của thư viện lớp cơ sở NET là kết hợp tính đơn giản của các thư viện Visual Basic và Java với hầu hết các đặc tính trong các hàm Windows API Có nhiều đặc tính của Windows không sẵn có trong các lớp của thư viện .NET, trong trường hợp đó bạn cần phải gọi các hàm API, những đặc tính này thường là các đặc tính lạ, ít sử dụng Những đặc tính thông dụng đều đã được hỗ trợ đầy đủ trong thư viện lớp của NET Và nếu bạn muốn gọi một hàm API, NET gọi là "platform-invoke", cơ chế này luôn bảo đảm tính đúng đắn của kiểu dữ liệu, vì vậy thao tác này không khó hơn việc gọi trực tiếp từ mã C++, nó được hỗ trợ cho cả C#, C++, và VB.NET

WinCV, một tiện ích Windows-based, bạn có thể dùng để tham khảo các lớp, cấu trúc, giao diện, kiểu liệt kê trong thư viện NET base class.

Một cách tổng quát NET base classes bao gồm các vấn đề:

 Các đặc tính lõi cung cấp bởi IL

 Hỗ trợ Windows GUI và controls

 Web Forms

 Data Access

 Directory Access

 File system và registry access

 Networking và web browsing

 NET attributes và reflection

 Truy xuất vào hệ điều hành Windows

 COM interoperability

Một cách tình cờ, hầu hết các thư viện lớp cơ sở của NET được viết bằng C#!

I.6 Tạo các ứng dụng NET bằng C#

C# có thể dùng để tạo các ứng dụng console: các ứng dụng thuần văn bản chạy trên DOS window Hầu như bạn chỉ tạo các ứng dụng console khi cần kiểm tra các thư viện lớp, hoặc cho các tiến trình daemon Unix/Linux Tất nhiên, bạn cũng có thể dùng C# để tạo các ứng dụng dùng cho các công nghệ tương thích NET Trong phần này, chúng ta xem qua về các kiểu ứng dụng khác nhau có thể tạo ra bằng C#

I.6.1 Tạo các ứng dụng ASP.NET

ASP là một công nghệ của Microsoft dùng để tạo các trang web có nội dung động Một trang ASP thực chất là một file HTML có nhúng các khối server-side VBScript hay JavaScript Khi một trình duyệt khách yêu cầu một trang ASP page, web server sẽ sinh ra mã HTML, xử lí các server-side script khi chúng đến Thường thì các script sẽ truy cập vào một

cơ sở dữ liệu để lấy dữ liệu, và biểu diễn trên trang HTML ASP là cách đơn giản nhất để tạo các ứng dụng browser-based

Trang 8

ASP tất nhiên cũng có một vài hạn chế Trước tiên, các trang ASP thỉnh thoảng trở nên rất chậm bởi vì mã server-side được thông dịch thay vì được biên dịch Thứ hai, các file ASP khó bảo trì bởi vì chúng không có cấu trúc; mã server-side ASP và HTML được trộn lẫn với nhau Thứ ba, ASP đôi khi kho phát triển bởi nó không quan tâm đến bẫy lỗi và kiểm tra kiểu

Cụ thể, nếu bạn dùng VBScript và muốn bẫy lỗi trên các trang của bạn, bạn phải dùng câu lệnh On Error Resume Next, và cho phép tất cả các thành phần gọi thông qua một Err.Number để chắc rằng tất cả đều tốt

I.6.2 Các đặc tính của ASP.NET

Trước tiên, và có lẽ là quan trọng nhất, các trang ASP.NET là các trang có cấu trúc Có nghĩa là mỗi trang là thực tế là một lớp được thừa kế từ lớp NET System.Web.UI.Page, và có thể ghi đè một tập các phương thức sẽ dùng trong thời gian sống của trang web (bạn hãy tưởng tượng rằng những sự kiện này như là anh em bà con với các sự kiện OnApplication_Start và OnSession_Start trong file global.asa của ASP cũ.) Bởi vì bạn có thể chuyển các thao tác của một trang thành các sự kiện sáng nghĩa hơn, chính vì thể mà các trang ASP.NET dễ hiểu hơn

Một điểm mạnh khác là các trang ASP.NET có thể được tạo trong VS.NET, cùng chung môi trường với các thành phần luận lí và dữ liệu sẽ được dùng trong các trang web này Một

nhóm đề án VS.NET, hoặc solution, chứa tất cả các file liên quan đến một ứng dụng Hơn thế

nữa bạn có thể bẫy lỗi các trang ASP của bạn ngay trong trình thiết kế; trước đây, thật là khó khăn để có thể cấu hình InterDev và các đề án web server để thực hiện bẫy lỗi

Rõ ràng, đặc tính ASP.NET's code-behind giúp các bạn có thể dễ dàng cấu trúc một trang web ASP.NET cho phép bạn tách biệt các chức năng server-side của trang thành một lớp, biên dịch lớp đó thành một DLL, và đặt DLL đó vào một thư mục bên dưới phần HTML Một code-behind chi phối đỉnh của một trang web tương đương với file DLL của nó Khi một trình duyệt yêu cầu trang, web server phát ra các sự kiện trong lớp của page's code-behind DLL

Cuối cùng không kém phần quan trọng, ASP.NET thật sự đáng chú ý với khả năng tăng cường sự thực thi Ngược lại với các trang ASP được thông dịch cho mỗi yêu cầu, web server lưu giữ lại các trang ASP.NET sau quá trình biên dịch Nghĩa là các yêu cầu sau của một trang ASP.NET sẽ thực thi nhanh hơn trang đầu tiên

I.6.3 Tạo các Windows Form

Mặc dù C# và NET được thiết kế để phát triển web, nhưng chúng vẫn hỗ trợ mạnh mẽ cho cái gọi là ứng dụng "fat client", các ứng dụng có thể được cài đặt trên một máy người dùng

cuối Hỗ trợ này gọi là Windows Forms.

Một Windows Form là câu trả lời của NET cho VB 6 Form Dùng để thiết kế một giao diên window sinh động, bạn chỉ đơn giản kéo các control từ vào trên Windows Form Để xác định cách xử của window, bạn viết các thủ tục quản lí sự kiện cho form controls Một đề án Windows Form được dịch thành một EXE phải được cài đặt trong một môi trường ở máy tính người dùng cuối Giống như các kiểu đề án NET khác, đề án Windows Form được hỗ trợ cho

cả VB.NET và C#

Trang 9

Xây Dựng Hệ Thống Quản Lý Công Văn Cơ Quan Ban Nghành 6

I.6.4 Windows Controls

Mặc dù Web Forms và Windows Forms được phát triển theo cùng một cách, bạn dùng các loại khác nhau của controls để định vị chúng Web Forms dùng Web Controls, và Windows

Forms dùng Windows Controls.

Một Windows Control là một ActiveX control Đằng sau sự thực thi của một Window control, là sự biên dịch sang một DLL để có thể cài đặt trên máy khách Thật vậy, NET SDK cung cấp một tiện ích dùng để tạo một vỏ bọc cho các ActiveX control, vì thể chúng có thể được đặt trong Windows Forms Giống trường hợp này các Web Control, Windows Control được tạo thành từ một lớp khác System.Windows.Forms.Control

I.6.5 Windows Services

Một Windows Service là một chương trình được thiết kế để chạy trên nền Windows NT/2000/XP (không hỗ trợ trên Windows 9x) Các dịch vụ này rất hữu ích khi bạn muốn một chương trình có thể chạy liên tục và sẵn sàng đáp ứng các sự kiện mà không cần người dùng phải khởi động Ví dụ như một World Wide Web Service ở trên các web server luôn lắng nghe các yêu cầu từ trình khách

Thật dễ dàng để viết các dịch vụ trong C# Với thư viện lớp cơ sở NET Framework sẵn có trong không gian tên System.ServiceProcess namespace chuyên dùng để tổ chức các tác vụ boilerplate kết hợp với các dịch vụ, ngoài ra, Visual Studio NET cho phép bạn tạo một đề án C# Windows Service, với các mã nguồn cơ bản ban đầu

II Truy cập cơ sở dữ liệu với NET

II.1 Tổng quan về ADO.NET

Hiện nay, ADO.NET là một công nghệ truy xuất cơ sở dữ liệu hoàn toàn mới và rất mạnh ADO.NET hỗ trợ rất mạnh cho các ứng dụng phân tán, ứng dụng Internet, các ứng dụng đòi hỏi tốc độ và khối lượng người truy cập đồng thời lớn

Giống như hầu hết các thành phần của NET Framework, ADO.NET không chỉ là vỏ bọc của một vài API sẵn có Nó chỉ giống ADO ở cái tên - các lớp và phương thức truy xuất dữ liệu đều khác hoàn toàn

ADO (Microsoft's ActiveX Data Objects) là một thư viên của các thành phần COM Các thành phần chủ yếu của ADO là Connection, Command, Recordset, và các Field object Một connection có thể mở cơ sở dữ liệu, một vài dữ liệu được chọn vào một recordset, bao gồm các trường, dữ liệu này sau đó có thể thao tác, cập nhập lên server, và connection cần phải được đóng lại ADO cũng giới thiệu một disconnected recordset, cái được dùng khi không muốn giữ kếp nối trong một thời gian dài

ADO.NET chứa hai không gian tên cơ sơ dữ liệu - một cho SQL Server, và một cái khác cho các cơ sở dữ liệu được trình bày thông qua một giao diện OLE DB Nếu cơ sở dữ liệu của bạn chọn là một bộ phận của OLE DB, bạn có thể dễ dàng kết nối với nó từ NET - chỉ cần dùng các lớp OLE DB và kết nối thông qua các driver cơ sở dữ liêu hiện hành của bạn

Trang 10

II.2 Kiến trúc ADO.NET

Hình 1 Kiến trúc ADO.NET.

Trong kiến trúc ADO.NET có hai thành phần chính đó là thành phần truy cập dữ liệu và thành phần lưu trữ xử lý dữ liệu

Thành phần thứ nhất là NET Framework Data Providers, được thiết kế để thực hiện các

thao tác kết nối, gửi các lệnh xử lý đến cơ sở dữ liệu, thành phần này còn được gọi với một tên khác là lớp kết nối Trong ADO.NET, có 4 đối tượng chính để xử lý phần kết nối và tương tác với dữ liệu mà bạn bè phải thường xuyên làm việc là:

Connection: cho phép kết nối đến các nguồn cơ sở dữ như: Oracle, SQL Server, ODBC và OLEDB

Command: cho phép truy cập cơ sở dữ liệu và thực thi phát biều SQL hay thủ tục Store Procedure của cơ sở dữ liệu, truyền tham số và trả về dữ liệu

DataReader: bộ đọc, dùng để đọc nhanh dữ liệu nguồn theo một chiều

DataAdapter: bộ điều phối hay cầu nối, dùng để chuyển dữ liệu truy vấn được cho các đối tượng lưu trữ và xử lý như DataSet, DataTable DataAdapter chủ yếu sẽ thực hiện các thao tác truy vấn (SELECT), thêm mới (INSERT), chỉnh sửa (UPDATE) và xóa (DELETE)

Application NET

ADO.NET 2.0

Factory Provider

ODBC Provider OLEDB Provider

Sql/Oracle Provider

OLEDB

ODBC

Native Library Oracle Native

SQL Native

SQL Server Oracle Fox/Access,…

Ngày đăng: 31/03/2021, 15:30

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

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

w