Application_Error Khi có lỗi xảy ra trong ứng dụng Session_Start Khi người dùng duyệt một trang web Session_End Khi người dùng đóng trình duyệt hoặc Session kết thúc time out Bảng 1.: Sự
Trang 1 LỜI CẢM ƠN
Trong thời gian làm đồ án tốt nghiệp em đã hoàn thành được đề tài đã chọn Tuy thời gian không nhiều và kinh nghiệm về ASP.NET tích lũy còn ít nên còn nhiều thiếu sót Mong thầy cô và các bạn đóng góp ý kiến để em có thể hoàn thiện
đề tài này hơn Qua đây em xin chân thành cảm ơn Th.s Đào Thị Thu Giảng viên trường đại học Công nghệ thông tin và truyền thông Thái Nguyên, Đại học Thái Nguyên đã tận tình hướng dẫn, định hướng và chỉ bảo em trong thời gian qua để
em hoàn thành được đồ án tốt nghiệp này Và em cũng xin gửi lời cảm ơn tới các bạn cùng lớp đã giúp đỡ em rất nhiều trong thời gian làm đề tài này
Xin chân thành cảm ơn!
Thái Nguyên, ngày … tháng … năm 2016
Sinh viên
Nhạc Thị Son
Trang 2 LỜI CAM ĐOAN
Em xin cam đoan rằng đây là bài đồ án tốt nghiệp của em, có sự hỗ trợ từ Giáo viên hướng dẫn Th.s Đào Thị Thu, giảng viên trường đại học Công nghệ thông tin và truyền thông Thái Nguyên, Đại học Thái Nguyên, các nội dung nghiên cứu và kết quả trong đề tài này là trung thực và không sao chép từ các báo cáo thực tập và đồ án khác trước đây Những số liệu trong các bảng biểu phục vụ cho việc phân tích, nhận xét, đánh giá được chính bản thân thu thập từ các nguồn khác nhau
Nếu có bất kỳ sự gian lận nào em xin hoàn toàn chịu trách nhiệm trước Hội đồng
Thái Nguyên, ngày … tháng … năm 2016
Sinh viên
Nhạc Thị Son
Trang 3 DANH MỤC HÌNH ẢNH
Hình 1.1: Tạo SqlDataSource truy cập cơ sở dữ liệu 15
Hình 1.2: Lựa chọn SqlDataSource1 cho GridView1 15
Hình 2.1: Mô hình hóa quy trình xử lí công văn đến 25
Hình 2.2: Mô hình hóa quy trình xử lí công văn đi 27
Hình 2.3: Biểu mẫu báo cáo công văn đến 28
Hình 2.4: Biểu mẫu báo cáo công văn đi 29
Hình 2.5: Tác nhân hệ thống 30
Hình 2.6: Biểu đồ use case hệ thống 34
Hình 2.7: Biểu đồ trình tự xem danh sách công văn 35
Hình 2.8: Biểu đồ trình tự xem công văn 35
Hình 2.9: Biểu đồ trình tự thêm công văn 36
Hình 2.10: Biểu đồ trình tự sửa công văn 37
Hình 2.11: Biểu đồ trình tự xóa công văn 37
Hình 2.12: Biểu đồ trình tự chuyển công văn đi 38
Hình 2.13: Biểu đồ trình tự xem danh sách danh mục 39
Hình 2.14: Biểu đồ trình tự thêm danh mục 39
Hình 2.15: Biểu đồ trình tự sửa danh mục 40
Hình 2.16: Biểu đồ trình tự xóa danh mục 41
Hình 2.17: Biểu đồ trình tự xem danh sách dự thảo 41
Hình 2.18: Biểu đồ trình tự xem dự thảo 42
Hình 2.19: Biểu đồ trình tự chuyển, lưu, xóa, duyệt dự thảo 43
Hình 2.20: Biểu đồ trình tự đăng nhập 43
Trang 4Hình 2.21: Sơ đồ liên kết thực thể 56
Hình 3.1: Giao diện xem danh sách văn bản 57
Hình 3.2: Giao diện thêm mới công văn 58
Hình 3.3: Giao diện xem chi tiết công văn 58
Hình 3.4: Giao diện đăng nhập hệ thống 59
Hình 3.5: Giao diện quản trị hệ thống 59
DANH MỤC BẢNG BIỂU Bảng 1.1: Một số tệp cơ bản trong ASP.NET 11
Bảng 1.2: Một số sự kiện của trang web (Page Event) 12
Bảng 1.3: Sự kiện ứng dụng (Event Application) 13
Bảng 1.4: So sánh ASP.NET WebForm với ASP.NET MVC Framework 22
Bảng 2.1: Danh sách các UseCase của hệ thống 31
Bảng 2.2: Mô tả dữ liệu bảng loại công văn 44
Bảng 2.3: Mô tả dữ liệu bảng nơi lưu trữ 44
Bảng 2.4: Mô tả dữ liệu bảng người dùng 44
Bảng 2.5: Mô tả dữ liệu bảng người kí 45
Bảng 2.6: Mô tả dữ liệu bảng người xử lí văn bản đến 45
Bảng 2.7: Mô tả dữ liệu bảng nhóm quyền 45
Bảng 2.8: Mô tả dữ liệu bảng phân loại văn bản 45
Bảng 2.9: Mô tả dữ liệu bảng phòng ban 46
Bảng 2.10: Mô tả dữ liệu bảng quyền người dùng 46
Bảng 2.11: Mô tả dữ liệu bảng quyền phòng ban 46
Bảng 2.12: Mô tả dữ liệu bảng quyền truy cập 47
Bảng 2.13: Mô tả dữ liệu bảng số công văn 47
Bảng 2.14: Mô tả dữ liệu bảng tính chất công văn 47
Bảng 2.15: Mô tả dữ liệu bảng thông báo 48
Trang 5Bảng 2.16: Mô tả dữ liệu bảng trạng thái văn bản 48
Bảng 2.17: Mô tả dữ liệu bảng văn bản dự thảo 49
Bảng 2.18: Mô tả dữ liệu bảng văn bản đến 50
Bảng 2.19: Mô tả dữ liệu bảng văn bản đi 51
Bảng 2.20: Mô tả dữ liệu bảng xử lí văn bản 52
Bảng 2.21: Mô tả dữ liệu bảng lịch sử công việc 52
Bảng 2.22: Mô tả dữ liệu bảng lãnh đạo 52
Bảng 2.23: Mô tả dữ liệu bảng hủy văn bản đến 53
Bảng 2.24: Mô tả dữ liệu bảng chức vụ 53
Bảng 2.25: Mô tả dữ liệu bảng chuyển văn bản đi 53
Bảng 2.26: Mô tả dữ liệu bảng chuyển văn bản đến 54
Bảng 2.27: Mô tả dữ liệu bảng chuyển văn bản dự thảo 54
Bảng 2.28: Mô tả dữ liệu bảng cơ quan ban hành 55
Bảng 2.29: Mô tả dữ liệu bảng bình luận VB đến 55
Trang 6 LỜI MỞ ĐẦU
Với sự phát triển của xã hội ngày nay, thông tin đã thực sự trở thành nguồn tài nguyên vô cùng quan trọng Hệ thống càng phát triển thì càng có nhiều yếu tố hợp thành và mối quan hệ giữa chũng ngày càng phức tạp đến mức không thể xử lí nổi bằng các phương pháp, công cụ truyền thống
Quản lí công văn là việc áp dụng các biện pháp về nghiệp vụ nhằm giúp cho lãnh đạo Văn Phòng nắm được thành phần, nội dung và tình hình chuyển giao, tiếp nhận, giải quyết văn bản Nhưng hầu hết ở các đơn vị, công việc quản lí công văn còn xử lí thủ công thì đó là công việc rất phức tạp, tốn nhiều thời gian vào việc phân tích và xử lí dữ liệu, nhất là số lượng công văn rất lớn
Cùng với chiến lược xây dựng và phát triển thời đại công nghiệp hóa, hiện đại hóa đất nước và hội nhập thế giới, việc ứng dụng công nghệ thông tin vào quản
lí công văn là hết sức cần thiết và cấp bách Vì vậy em chọn đề tài: “Xây dựng website quản lí công văn cho tỉnh Yên Bái” làm đồ án tốt nghiệp
Mục tiêu nghiên cứu
Tìm hiểu công nghệ ASP.NET
Ứng dụng xây dựng website quản lí công văn cho tỉnh Yên Bái
Về công cụ hỗ trợ: ngôn ngữ lập trình C#, SQL server, Javascript, jQuery, …
Bố cục bài đồ án
Trang 7 Lời mở đầu.
Chương 1 Cơ sở lí thuyết
Chương 2 Khảo sát, phân tích thiết kế hệ thống
Chương 3 Xây dựng website
ASP.NET tích hợp với NET Framework
.NET Framework được chia thành bộ các tác vụ cho từng chức năng gồm các lớp (class), các cấu trúc (structures), các giao diện (interfaces) và các lõi (core) thành phần chương trình Trước khi sử dụng thành phần nào bạn phải hiểu cơ bản về chức năng, các tổ chức của nó Mỗi một trong hàng nghàn các tầng lớp được nhóm theo trình tự logic, thứ bậc được gọi là một namespace Mỗi namespace cung cấp một tính năng
ASP.NET là đa ngôn ngữ
Để xây dựng một ứng dụng web chúng ta không chỉ chọn một ngôn ngữ
Trang 8mà có thể chọn nhiều ngôn ngữ khác Điều quan trọng là các ngôn ngữ chúng ta chọn mã của nó dịch được ra mã IL Điều đó có nghĩa là IL là ngôn ngữ của NET và chỉ có CLR nhận biết được IL.
ASP.NET là h ướng đối tượng (Object-Oriented)
ASP.NET là ngôn ngữ lập trình hướng đối tượng sử dụng các ngôn ngữ.NET Nó cung cấp bộ các đối tượng nhỏ và thực sự là một tầng làm việt trên nguyên lý của HTTP và HTML Mã nguồn của chúng ta không được truy cập toàn bộ các đối tượng trong NET Framework nhưng có thể khai thác tất
cả các quy ước của một môi trường OOP (Object Oriented Programming) Chúng ta có tạo các lớp, giao diện, kế thừa các lớp Chúng ta có thể kiểm soát được các đối tượng trong chương trình như hiển thị dữ liệu và các sựkiện của đối tượng
Trang 9 ASP.NET được biên dịch
Một ứng dụng ASP.NET luôn luôn được biên dịch, nó không chạy bằng mã của C# hoặc Visual Basic mà không được biên dịch trước Một ứng dụng ASP.NET thực sự được biên dịch thông qua 2 giai đoạn:
Giai đoạn đầu tiên những các mã (code) bạn viết (C#, Visual Basic hoặc ngôn ngữ NET khác) được dịch bởi Microsoft Intermediate Language (MSIL) Giai đoạn dịch này được dịch tự động khi trang web đầu tiên yêu cầu Chúng ta có thể thực hiện dịch trước Các tệp được dịch thành mã IL (Intermediate Language Code)
Giai đoạn tiếp theo được dịch trước khi trang Web được thực thi Tại giai đoạn này mã IL được dịch thành bản mã máy (Native Machine Code) Giai đoạn này được gọi là Just-In-Time (JIT)
Trang 10
Một số ưu điểm chính của ASP.NET
Có thể sử dụng để phát triển các ứng dụng web đủ mọi kích cỡ, từ ứng dụng nhỏ nhất cho đến ứng dụng toàn doanh nghiệp (Enterprise)
Ứng dụng viết bằng ASP.NET dễ dàng tương thích với nhiều loại trình duyệt khác nhau Nhà phát triển không cần phải quan tâm nhiều đến trình duyệt nào được sử dụng để duyệt website, điều này sẽ được framework tự render ra mã tương ứng
Khi sử dụng bộ IDE của Visual Studio, cách thức lập trình sẽ giống hệt như lập trình winform
Truy xuất dữ liệu bằng công nghệ ADO.NET có sẵn của NET Framework
Chạy ứng dụng cực nhanh bởi cơ chế biên dịch và Cached
Có thể tăng tốc ứng dụng bằng cách Cache các điều khiển, các trang
Bảo mật vượt trội
Tốn ít dòng lệnh hơn so với ASP/PHP/Perl khi thực hiện cùng một công việc
Dễ dàng bảo trì và dễ đọc hơn bởi Code và Giao diện được tách biệt Điều này cũng giúp cho tính chuyên biệt hóa cao hơn (Một người chỉ lo code phần xử
lý nghiệp vụ, người khác thì chỉ lo code phần giao diện v.v…)
ASP sử dụng ngôn ngữ lập trình VB.NET hoặc C# hoặc cả hai để phát triển ứng dụng
Sự kiện (Event) trong ASP.NET
Một số tệp c ơ bản trong ASP.NET
*.aspx Tệp này chứa toàn bộ giao diện người dùng, các tùy chọn, các
đoạn code ứng dụng Đây là một trong những trang web đầu tiên được bắt đầu khi người sử dụng duyệt web
*.cs Tệp này chứa các mã nguồn của C#
web.config Tệp tin dạng XML chứa cấu hình cho ứng dụng ASP.NET Nó bao
gồm các cấu hình về an ninh, quản lý trạng thái, quản lý bộ nhớ…global.asax Chúng ta sử dụng tập tin này để khai báo các biến toàn cục và
phản ứng với các sự kiện toàn cục
Bảng 1.1: Một số tệp cơ bản trong ASP.NET
Trang 11 Chu kỳ sống của trang web (ASP.NET Page Life Cycle)
Chu kỳ sống được bắt đầu khi trình duyệt yêu cầu một trang web gọi
là Session
Chu kỳ sống vẫn tiếp tục nếu:
Session đang hoạt động
Người sử dụng tương tác với giao diện web cho đến khi kích hoạt một sự kiện
Dữ liệu của trang (View State) web được gửi về cho Server
Server nhận được View State và trả lại yêu cầu từ View State
Pre_Init Kiểm tra thuộc tính IsPostBack khi lần đầu tiên trang web đang
được sử lý Tạo mới hoặc tạo mới lại các Control động (Dynamic Control) Thiết lập trang chủ (Master page), thuộc tính Theme Đọc và thiết lập giá trị cho thuộc tính Profile
Init Làm nổi (Raised) sau khi các Control đã được khởi động và các
Skin đã được ứng dụng Chúng ta sử dụng sử kiện này để đọc hoặc khởi tạo các thuộc tính của Control
Load Sử dụng sự kiện này để thiết lập thuộc tính cho Control, thiết lập
các kết nối với Cơ sở dữ liệu
InitComplete Sử dụng sự kiện này để xử lý các tác vụ có yêu cầu khi tất cả các
khởi tạo hoàn thành
Unload Trang được gải phóng khỏi bộ nhớ
Trang 12DataBinding Server Control trên trang được gắn với nguồn dữ liệu
Bảng 1.: Một số sự kiện của trang web (Page Event)
Sự kiện ứng dụng (Event Application)
Application_Start Người dùng đầu tiên duyệt trang web
Application_End Khi không còn người dùng nào duyệt trang web
Application_Error Khi có lỗi xảy ra trong ứng dụng
Session_Start Khi người dùng duyệt một trang web
Session_End Khi người dùng đóng trình duyệt hoặc Session kết thúc
(time out)
Bảng 1.: Sự kiện ứng dụng (Event Application)
Giới thiệu về cách thức truy cập dữ liệu
Phần lớn các ứng dụng hiện nay đều sử dụng cơ sở dữ liệu Có nhiều cách thức truy cập dữ liệu khác nhau trong các công nghệ của Microsoft như ADO, RDO, DAO, ODBC Tuy nhiên từ khi NET Framework ra đời thì công nghệ ADO.NET đã được tích hợp, ADO.NET chứa các lớp cho phép các ứng dụng connect data sources (kết nối với các nguồn dữ liệu), execute commands (thực hiện các lệnh), manage disconnected data (quản lý dữ liệu
đã ngắt kết nối)
Truy cập dữ liệu ADO.NET
Trang 13ADO.NET Data Providers cho phép truy nhập vào một cơ sở dữ liệu
cụ thể, thực hiện các câu lệnh SQL và nhận dữ liệu Data provider là chiếc cầu nối giữa ứng dụng và nguồn dữ liệu
Lớp ADO.NET Data Provider bao gồm các thành phần: Connection: Thực hiện connect tới nguồn cơ sở dữ liệu; Command: Thực hiện một câu lệnh SQL hoặc một store procedures; DataReader: Chỉ đọc và nhận dữ liệu
từ một truy vấn; DataAdapter thực hiện 2 nhiệm vụ: Điền dữ liệu nhận được vào một DataSet, có thể ghi nhận sự thay đổi dữ liệu trong DataSet
Một ví dụ sử dụng ADO.NET với đối tượng hiển thị dữ liệu là GridView Tạo một webform đặt tên là Adonet.aspx, trong webform đó tạo một GridView đặt tên là GridView1 Mã lệnh thực hiện kết nối dữ liệu:
DataSet ds = new DataSet();
SqlDataAdapter sda = new SqlDataAdapter(sql);
sda.Fill(ds, "HangHoa");
DataTable dt = ds.Tables[ "HangHoa"];
Truy cập dữ liệu SqlDataSource
SqlDataSource là một thành phần được giới thiệu từ NET Framework 2.0 Sử dụng SqlDataSource để truy cập dữ liệu sẽ không
Trang 14cần phải viết mã lệnh lập trình, chỉ cần khai báo đầy đủ các thuộc tính cần SqlDataSource chỉ nên dùng khi không cần sử dụng các truy vấn SQL quá phức tạp để thao tác với cơ sở dữ liệu
SqlDataSource là một cách thức kết nối dữ liệu dùng ADO.NET provider SqlDataSource cần có một connectionString thường đặt trong web.config Tiếp theo của SqlDataSource là một câu lệnh SQL có thể là một câu lệnh truy vấn SELECT hoặc các câu lệnh liên quan đến thay đổi dữ liệu như: DELETE, INSERT, UPDATE
Hình 1.1: Tạo SqlDataSource truy cập cơ sở dữ liệu
Lựa chọn table cần hiển thị dữ liệu vào trong SqlDataSource (ví dụ table KhoHang) sau đó thiết lập GridView trỏvào SqlDataSource vừa được tạo
Trang 15Hình 1.2: Lựa chọn SqlDataSource1 cho GridView1
Trang 16 Truy cập dữ liệu LINQ
LINQ là một sự sáng tạo mới trong NET Framework 3.5 (Language Integrate Query) là một tập hợp mở rộng ngôn ngữ cho phép thực hiện các truy vấn trong ngôn ngữ C# 2008 và Visual Basic 2008 LINQ cho phép select, filter, sort, group và transform data từ các nguồn data source khác nhau theo một cách chung LINQ to Objects thực hiện truy vấn các đối tượng, LINQ to DataSet thực hiện truy vấn DataSet, LINQ to SQL thực hiện truy vấn đến cơ sở dữ liệu SQL Server mà không phải viết code, LINQ to XML đọc dữ liệu từ định dạng XML
Cách làm việc của LINQ:
Để dùng LINQ cần tạo ra một LINQ expression theo đúng quy tắc
Trang 17Giá trị trả về của LINQ expression là một đối tượng iterator thực thi giao diện IEnumerable<T>
Khi enumerable đã được gán vào iterator thì LINQ thực hiện
Trang 18cả việc cập nhật, sửa đổi dữ liệu cũng giống như SqlDataSource.
Truy cập dữ liệu với Web services
Web services là một ứng dụng quan trọng trong các ứng dụng Phần lớn các ứng dụng hiện nay đều sử dụng web services Cách đơn giản nhất
là thông qua HTTP-POST hoặc HTTP-GET hoặc SOAP
JQUERY trong ASP.NET
Jquery là gì?
jQuery là một thư viện kiểu mới của Javascript giúp đơn giản hóa cách viết JavaScript và tăng tốc độ xử lý các sự kiện trên trang web Các thư viện jQuery cung cấp một mục đích chung là sự trừu tượng hoá các lớp phổ biến cho các trang web scripting, do đó nó hữu ích trong hầu hết các tình huống scripting
Các chức năng jQuery bao gồm:
Chọn một tag hoặc một tập hợp các tag trên trang web
Cung cấp các hàm tiện ích thông dụng
Nhanh chóng tạo ra các tag mới
Trang 19 Quan trọng nhất là phân tách việc thiết kế và lập trình web trên phía client.
Sử dụng jQuery trong ASP.NET
Chúng ta tạo một project sau đó thêm 2 file “jquery-1.3.2.js” và
“jquery-1.3.2-vsdoc.js” vào trong project
Trước khi viết các câu lệnh jQuery là bạn chỉ cần khai báo sử dụng thưviện jQuery như sau:
<%@ Page Language="C#" AutoEventWireup="true"
Trang 20 Chạy mã khi Document Ready (trang đã sẵn sàng)
Có thể thấy rằng hầu hết khi lập trình với Javascript, kết thúc mã thực thi bằng cách thêm các dòng mã vào script, tương tự như sau:
window.onload = function() { … }
Các mã bên trong đó sẽ được thực thi khi trang được tải xong Tuy nhiên, mã Javascript không chạy cho đến khi tất cả các hình ảnh trong trang được tải xong (kể cả banner quảng cáo) Lý do cho việc sử dụng window.onload là để chắc chắn rằng HTML 'document' phải được tải xuống hết, sau đó mới chạy mã kia Để giải quyết, jQuery có câu lệnh đơn giản, được biết như:
$(document).ready(function()}
// Mã của chúng ta
});
Webform trong ASP.NET
Để xây dựng ứng dụng web, ASP.NET cung cấp sẵn cho các nhà lập trình rất nhiều lớp ngay khi cài đặt NET framework Trong số này có một lớp đặc biệt quan trọng là Page Mỗi lớp Page sẽ trình bày một trang tài liệu – tương ứng với một window – và được gọi là một web form
Một số ưu điểm của web forms:
Web forms có thể được thiết kế và lập trình thông qua các công cụ phát triển ứng dụng nhanh (RAD)
Web form hỗ trợ một tập các điều khiển (controls) có thể mở rộng
Trang 21 Bất kỳ một ngôn ngữ NET nào cũng có thể được dùng để lập trình với web forms.
Asp sử dụng trình thực thi ngôn ngữ chung (CLR) của NET framework
do đó thừa hưởng mọi ưu thế của NET Framework Ví dụ : Khả năng thừa kế
Tìm hiểu cấu trúc trang ASP.NET
Một trang ASP.NET bao gồm cả phần giao diện người dùng và phần xử
lý logic bên trong Giao diện người dùng chịu trách nhiệm hiển thị các thông tin và tiếp nhận dữ liệu từ người dùng, trong khi đó phần xử lý (lập trình) đảm nhiệm việc điều khiển sự tương tác của người dùng với trang web Phần giao diện người dùng bao gồm một file chứa ngôn ngữ đánh dấu –như HTML hoặc XML và server controls chẳng hạn File này được gọi là một Trang (Page) và có đuôi mở rộng là aspx
Code behind và viết code phía Server
Các file chứa mã code (VB.NET hoặc C#) được gọi là Code file (cách gọi mới) hay Code behind (cách gọi cũ) Mã lệnh tại đây thường xử lý các tác vụ liên quan đến nghiệp vụ, trong đó cũng có các câu lệnh cho phép gửi kết quả về cho phía trình duyệt Cụ thể là phương thức write của đối tượng Response
Việc sử dụng phương thức write này như thế nào để “sinh ra” các phần
tử cho trình duyệt hiểu là một kỹ năng quan trọng
HTML Server Controls và Web controls
Trang 22là có thêm runat = “server”;
Điều khiển ASP.NET control thì có nhiều thuộc tính hơn, thực hiện được chức năng phức tạp hơn HTMLServer controls
Cách thức tạo phần tử HTML Server Control và ASP.NET control
HTML Server control
Cú pháp tạo phần tử HTML Server control:
<Tên_Loại_Thẻ runat=”server” thuộc_Tính = “giá trị” ….>
Trong đó: Tên loại thẻ là input, select, p, h1, …
ASP.NET server control
Cú pháp tạo phần tử ASP.NET server control
<asp: Loại_PT thuộc_tính = “giá trị” … runat = “server”>
Trong đó asp: là bắt buộc, Loại_PT có thể là button, textbox, calendar,
Trang 23select, treeview, adRotator, listview, gridview, image,….
Khác biệt giữa NET WebForm với NET MVC Framework
ASP.NET MVC Framework chia ra thành 3 phần: Models, Views, Controllers Mọi tương tác của người dùng với Views sẽ được thực hiện hành động trong Controllers, không còn postback, không còn lifecycle không còn events
ASP.NET WebForm sử dụng ViewState để quản lý, các trang ASP.NET đều có lifecycle, postback và dùng các web controls, các events để thực hiện các hành động cho UI khi có sự tương tác với người dùng nên hầu hết ASP.NET WebForm xử lý khá chậm
Kiến trúc chương trình Kiến trúc mô hình
WebForm -> Business ->
Database
Kiến trúc sử dụng việc phân chia chương trình thành Controllers, Models, Views
do server quản lýTruy cập dữ liệu Sử dụng hầu hết các công
nghệ truy cập dữ liệu trong ứng dụng
Phần lớn dùng LINQ to SQL class để tạo mô hình truy cập đối tượng
Debug Debug chương trình phải
thực hiện tất cả bao gồm các lớp truy cập dữ liệu, sự hiển thị, điều khiển các controls
Debug có thể sử dụng các unit test kiểm tra các phương thức trong controller
Trang 24Tốc độ phân tải Tốc độ phân tải chậm khi
trong trang có quá nhiều các controls vì ViewState quá lớn
Phân tải nhanh hơn do không phải quản lý ViewState để quản lý các control trong trang
Tương tác với
javascript
Tương tác với javascript khó khăn vì các controls được điều khiển bởi server
Tương tác với javascript
dễ dàng vì các đối tượng không do server quản lý điều khiển không khó
Bảng 1.: So sánh ASP.NET WebForm với ASP.NET MVC Framework
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
Khảo sát hệ thống
Tình hình quản lí công v ăn tại tỉnh Yên Bái
Công tác quản lí công văn có ý nghĩa rất lớn đối với hoạt động của cơquan, tổ chức Công tác này giúp cho việc giải quyết công việc nhanh chóng, chính xác đúng quy định, đúng nguyên tắc, góp phần tiết kiệm công sức, tiền của, thời gian, giữ gìn những tài liệu, thông tin phục vụ lãnh đạo.Công văn của tỉnh ủy Yên Bái được quản lí tại phòng văn thư của tỉnh Việc quản lí công văn của phòng văn thư hiện nay đang đảm bảo yêu cầu về trình tự, thủ tục theo đúng quy định của Chính Phủ về công tác văn thư Tuy nhiên số lượng công văn của các đơn vị là rất lớn và hàng tháng bộ phận văn thư tốn rất nhiều thời gian cho việc quản lí trên Bởi vậy việc đưa ứng dụng công nghệ thông tin vào quản lí công văn tại tỉnh Yên Bái là rất cần thiết
Trang 25 Mô tả bài toán
Quản lí công văn là áp dụng các biện pháp về nghiệp vụ nhằm giúp lãnh đạo văn phòng nắm được thành phần, nội dung và tình hình chuyển giao tiếp nhận, giải quyết văn bản, sử dụng và bảo quản văn bản trong hoạt động hằng ngày của văn phòng
Mục đích:
Lưu trữ toàn bộ công văn trong cơ quan, các công văn được lưu trữ theo chu kì hằng năm
Tạo và quản lí quá trình xử lí công văn trong cơ quan
Chuyển xử lí, giải quyết cho các vụ, chuyên viên chức năng Các chuyên viên hoặc lãnh đạo trong cơ quan có thể đưa ra các ý kiến giải quyết và các ý kiến này có thể gắn liền với công văn tạo thành hồ sơ giải quyết công việc
Theo dõi quá trình xử lí công văn của các chuyên viên Quá trình xử lí công văn phản ánh qua tình trạng xử lí công văn
Tạo mới dự thảo công văn phát hành do các vụ, chuyên viên chắc năng soạn
Theo dõi quá trình xử lí để tạo ra công văn phát hành
Phát hành công văn ra cơ quản bên ngoài nếu cơ quan nối mạng với mạng thông tin diện rộng
Thống kê, báo cáo số lượng, tình hình xử lí công văn
Quá trình quản lí công v ăn
Quản lí công v ăn đến
Công văn từ các nguồn gửi tới văn phòng tỉnh ủy tỉnh Yên Bái được bộ phận văn thư tiếp nhận, bóc bì, phân loại, đóng dấu và ghi vào
Trang 26sổ công văn đến rồi chuyển cho chánh văn phòng hoặc phó chánh văn phòng được ủy quyền xem xét.
Chánh văn phòng hoặc người có thẩm quyền trực tiếp phê duyệt vàphân phối công văn đến các phòng hoặc đơn vị có trách nhiệm để giải quyết đồng thời đưa ra chỉ đạo xử lí Văn thư sẽ nhận công văn và tạo bản sao, sau đó sẽ chuyển công văn và phiếu chỉ đạo cho các phòng ban, cá nhân
xử lí theo quy định
Hàng ngày, nhóm chuyên viên sẽ kiểm tra xem có công văn nào được chuyển đến mình xử lí hay không, nếu có nhóm chuyên viên sẽ đọc công văn đến và chỉ thị xử lí để đề xuất xử lí, lập phiếu đề xuất Chuyên viên chủ trì xử lí và ban lãnh đạo sẽ duyệt ý kiến xử lí từ các chuyên viên khác
Nếu ý kiến xử lí trên là đúng thì cho phép xử lí
Nếu sai sẽ lập phiếu yêu cầu xử lí và chuyển cho các chuyên viên khác xử lí
Chủ trì xử lí công văn và chuyển bản sao cho lãnh đạo kí duyệt Khi đócông văn đến được đóng lại và lưu vào sổ lưu trữ và để vào kho lưu trữ
Mô hình hóa quy trình xử lí công văn đến
Trang 28Hình 2.1: Mô hình hóa quy trình xử lí công văn đến
Quản lý công v ăn đi
Căn cứ vào chức năng, nhiệm vụ của từng phòng và ban Lãnh đạo Văn phòng sẽ giao cho soạn bản dự thảo công văn phát hành Phó Văn Phòng và các Trưởng Phòng có trách nhiệm thi hành sẽ phân công cho chuyên viên dự thảo công văn và chịu trách nhiệm về độ chính xác của nội dung, hình thức và pháp lý của công văn Bản dự thảo công văn đi sẽ được Lãnh đạo Văn phòng cho ý kiến chỉ đạo xử lý và chuyển xử lý cho chuyên viên xử lý
Chuyên viên sau khi tiếp nhận bản dự thảo công văn đi sẽ đưa ra ý kiến xử lý và lập phiếu ý kiến giải quyết rồi chuyển cho các chuyên viên khác để phối hợp xử lý
Sau khi xử lý bản dự thảo sẽ được gửi tới Lãnh đạo ký duyệt, Lãnh đạo ký duyệt sẽ duyệt bản dự thảo Nếu bản dự thảo đạt yêu cầu thì lãnh đạo ký duyệt sẽ ký duyệt cho phép phát hành công văn Nếu bản dự thảo chưa đạt yêu cầu, không đúng với quy định phát hành thì sẽ được trả lại cho người dự thảo để bổ sung, sửa đổi và hoàn thiện
Bản dự thảo công văn đi sau khi đã được kí duyệt sẽ được chuyển đến
bộ phận Văn thư Bộ phận Văn thư sẽ kiểm tra lại lần cuối thể thức công văn theo các quy định pháp luật, cấp số phát hành rồi vào sổ công văn đi
Sau đó ghi ngày tháng năm của công văn và đóng dấu cơ quan vào công văn phát hành.Văn thư sẽ làm thủ tục ban hành và phát hành công văn tới những đơn vị nhận ghi trên công văn Văn thu sẽ lưu 1 bản gốc, ghi
Trang 29sổ lưu trữ để đưa vào kho lưu trữ Kết thúc quy trình quản lý công văn đi.
Mô hình hóa quy trình xử lí công văn đi
Trang 31Hình 2.2: Mô hình hóa quy trình xử lí công văn đi
Biểu mẫu báo cáo
Trang 32 Công văn đi
Thống kê báo cáo toàn bộ công văn đi theo người kí, người soạn, kíhiệu, trích yếu…
Hình 2.4: Biểu mẫu báo cáo công văn đi.
Các thông tin vào/ra của hệ thống
Các thông tin vào
Các thông tin chi tiết về công văn đến, công văn đi, loại công văn, lĩnh vực công văn, danh mục công văn
Các thông tin ra của hệ thống
Hệ thống thực hiện các chức năng: thêm, sửa, xóa, tìm kiếm và lưu các thông tin về công văn đến, công văn đi
Trang 33 Hệ thống cho phép tạo mới, sửa, xóa công văn, xem và có thể tải xuống các công văn.
Cơ cấu quản lý hệ thống
Với hệ thống quản lý công văn, ta sẽ đặc tả từng giai đoạn của cơ cấu quản lý này Cơ cấu quản lý của hệ thống sẽ bao gồm:
Chức năng quản lý chính: Quản lý công văn đến và quản lý công văn đi, vào sổ công văn ( Thêm, sửa, xóa, lưu thông tin )
Chức năng cập nhật: cập nhật công văn đến, công văn đi…
Chức năng xem và có thể tải xuống công văn
Chức năng quản trị người dùng: Thêm ,sửa, xóa, phân quyền cho người dùng hệ thống
Phân tích và thiết kế hệ thống
Tác nhân hệ thống
Tác nhân là các thực thể bên ngoài tương tác với hệ thống Tác nhân
có thể là con người, cũng có thể là thiết bị phần cứng hay hệ thống khác cótrao đổi thông tin với hệ thống Đối với hệ thống này có các tác nhân tương tác là:
Admin: Đây là tác nhân chính của hệ thống, tác nhân này tham gia hệ thống để quản lý người dùng, quản lý công văn, cập nhật cơ sở dữ liệu về công
Trang 34văn, xem thông tin về công văn.
User: Khi các user truy nhập vào hệ thống, tùy vào quyền hạn của mình (user nằm trong nhóm quyền nào sẽ có tất cả các quyền trong nhóm đó) có thể xem thông tin về công văn, có thể thao tác cập nhật dữ liệu về công văn
Ban lãnh đạo các đơn vị: Đây là tác nhân gián tiếp tác động vào hệ thống Tác nhân này tác động đến hệ thống bằng việc phê duyệt các loại công văn, xác nhận kí công văn, xử lý và giao việc cho văn thư cập nhật cơ sở dữ liệu (nếu có)
Hình 2.5: Tác nhân hệ thống
Trang 35 Các mô hình Use Case
Danh sách các use case của hệ thống:
1 Xem danh sách công văn Xem danh sách công văn
3 Thêm, sửa, xóa công văn Thêm, sửa, xóa công văn
4 Chuyển văn bản đi Chuyển văn bản đi
5 Xem danh sách danh mục Xem danh sách danh mục
6 Thêm, sửa, xóa danh mục Thêm, sửa, xóa danh mục
8 Xem thông tin tài khoản Xem thông tin tài khoản
Trang 37 Mu ̣c tiêu của UML
UML cung cấp cho người dùng một ngôn ngữ mô hình hoá trực quan
Cung cấp khả năng mở rộng và chuyên môn hoá
Độc lập với ngôn ngữ lập trình chuyên biệt và các tiến trình phát triển
Cung cấp nền tảng về sự hiểu biết ngôn ngữ mô hình hoá
Khuyến khích và hỗ trợ sự phát triển của các công cụ hướng đối tượng
Hỗ trợ những khái niệm phát triển cấp độ cao như collaboration, framework, pattern and component
Tích hợp một cách tốt nhất với thực tiễn
Đặc điểm của UML
Trang 38 UML là ngôn ngữ để trực quan hóa.
Là ngôn ngữ để chi tiết hóa
Là ngôn ngữ để sinh ra mã ở dạng nguyên mẫu
Là ngôn ngữ dùng để lập và cung cấp tài liệu
Các loại biểu đồ trong UML
Biểu đồ lớp (Class Diagram): chỉ ra tương tác giữa các lớp trong hệ thống,
các lớp được xem như các kế hoạch chi tiết
Biểu đồ gói (Package Diagram): là tập hợp các class diagram Các package
diagram thiết lập mối quan hệ giữa các package, package là những nhóm phần tử của hệ thống có mối quan hệ liên quan đến nhau
Biểu đồ trường sử dụng (Use Case Diagram): đưa ra cách nhìn bao quát
cách sử dụng của hệ thống cũng như cách nhìn hệ thống từ bên ngoài, chỉ ra tương tác giữa UC và tác nhân
Biểu đồ cộng tác (Collaboration Diagram): Collaboration Diagram cung cấp
về cách nhìn sự tương tác hoặc mối quan hệ có cấu trúc giữa các đối tượng trong
mô hình hiện thời
Biểu đồ trình tự (Sequence Diagram): mô tả sự tương tác của các lớp trong
trình tự về thời gian
Biểu đồ trạng thái (Statechart Diagram): mô tả những hành động của các
lớp và đối tượng riêng lẻ, trình tự những trạng thái mà các đối tượng sẽ đi qua
Trang 39Biểu đồ hoạt động (Activity Diagram): mô tả tiến trình xử lý và trình tự
những hành động trong tiến trình xử lý
Biểu đồ thành phần (Component Diagram): cho chúng ta cách nhìn vật lý
của mô hình thực tế
Biểu đồ triển khai (Deployment Diagram): mô tả các tài nguyên vật lý trong
hệ thống, bao gồm các nút (node), thành phần và kết nối
Trang 40 Phân tích UML bài toán
Biểu đồ use case của hệ thống
Hình 2.6: Biểu đồ use case hệ thống
Use case xem danh sách công văn
Chức năng: để user, admin xem danh sách công văn đi, đến, dự thảo
Tác nhân kích hoạt: user, admin
Kịch bản: