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

website quản lý yêu cầu về dịch vụ thiết bị kỹ thuật trong trường đại học sử dụng struts 2

39 309 1
Tài liệu được quét OCR, nội dung có thể không chính xác

Đ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 39
Dung lượng 8,79 MB

Nội dung

Trang 1

TRƯỜNG ĐẠI HỌC VINH

KHOA CƠNG NGHỆ THƠNG TIN

Vịnh CHU QUANG PHAI

Trang 2

TRƯỜNG ĐẠI HỌC VINH KHOA CƠNG NGHỆ THƠNG TIN

Y

ĐỒ ÁN TĨT NGHIỆP ĐẠI HỌC

Tên đỀ tài:

PHÁT TRIÊN ỨNG DỤNG QUẢN LÝ THƠNG TIN ĐỊA CHÍNH

Trang 3

LOI CAM ON

Trước tiên, em xin gửi lời cảm ơn và lịng biết ơn sâu sắc đến TS Nguyễn Trung Hịa, người đã tận tình hướng dẫn em trong suốt quá trình thực hiện đồ án tốt nghiệp này

Em xin gửi lời cám ơn đến các thầy cơ giáo đã giảng dạy em trong những năm học qua, đã cho em nhiều kiến thức quý báu để em vững bước trên con đường tương lai của mình

Tơi xin gửi lời cảm ơn tới các bạn trong lớp 49K — CNTT, đã ủng hộ và giúp đỡ tơi trong suốt quá trình học tập tại trường

Và cuối cùng con xin bày tỏ niềm biết ơn vơ hạn tới bố mẹ, anh chị đã luơn luơn bên cạnh, động viên con trong suốt quá trình học tập

Vinh, ngày 10 thắng 12 năm 2012 Sinh viên

Đồn Văn Điệp

Trang 4

LỜI MỞ ĐẦU

Ngày nay, mạng Internet là một trong những sản phẩm cĩ giá trị hết sức lớn lao và ngày càng trở nên một cơng cụ khơng thể thiếu, là nền tảng chính cho sự truyền tái, trao đối thơng tin trên tồn cầu Giờ đây, mọi việc liên quan đến thơng tin đã trở nên dễ dàng cho người sử dụng, chỉ cần một máy tính cĩ kết nối Internet và một đường truyền dữ liệu tốt thì gần như mọi thứ mà bạn quan tâm sẽ hiện ra Việc quản lý các hệ thống theo đĩ cũng được ứng dụng vào Internet Việc cài đặt phần mềm trên trên máy

tính cục bộ giờ đây đã đem lại nhiều bất cat về dữ liệu, sự thống nhất dữ liệu và tính

tiện lợi khi sử dụng là một khĩ khăn cho việc các phần mềm quản lý trên máy tính cục

bộ Do đĩ, các hệ thống quản lý cĩ dữ liệu lớn, nhiều người tham gia dần dần được

người ta đưa vào ứng dụng Web, và việc quản lý các yêu cầu về cơ sở vật chất trong trường đại học cũng khơng ngoại lệ

Khuơn viên trường đại học là tổ hợp nhiều cơ sở vật chất ở trong đĩ như: phịng học, phịng thực hành, phịng thí nghiệm, phịng thể dục dụng cụ, căng tin, ký túc

xá, Bên trong các cơ sở đĩ là các thiết bị kỹ thuật như máy tính, bàn ghế, dụng cụ

thí nghiệm Ngồi ra trong trường đại học cịn cĩ các hoạt động học tập, nghiên cứu và xã hội khác như: tọa đàm, mít tỉnh, các buổi lao động vệ sinh, hoạt động từ thiện, thể dục thể thao, văn nghệ Để phục vụ cho các cơng việc trên thì các cơ sở vật chất, thiết bị kỹ thuật cần phải được chuẩn bị để sẵn sàng sử dụng Việc quản lý các cơ sở

vật chất đĩ cĩ nhiều thành phần tham gia như bảo vệ, người hướng dẫn phịng thí

nghiệm, người phục vụ phịng máy, tổng đồn, hội Sự kết hợp giữa các thành viên đĩ

sẽ đem lại kết quả cao cho cơng việc Tuy nhiên với khuơn viên rộng lớn của trường

đại học, và cĩ nhiều người cùng tham gia quản lý nên trong thực tế việc tương tác giữa

các thành viên thường gặp khĩ khăn, khơng nhất quán và mắt nhiều thời gian Như vậy

vân đề đặt ra là làm sao đề quản lý được các tương tác giữa các thành viên khi cĩ yêu

cầu về kỹ thuật, dịch vụ để tận dụng được nguồn lực, vật chất, và tiết kiệm thời gian

Trang 5

Từ nhu cầu thực tế đĩ, là một sinh viên khoa Cơng nghệ thơng tin, em quyết định chọn đề tài “Quản lý yêu cẩu về dịch vụ thiết bị kỹ thuật trong trường đại học sứ dụng Struis 2° để cĩ thê đáp ứng được nhu cầu thực tế trên

Đồ án gồm những phan sau:

> Chương l1: Cơng nghệ Struts 2 > Chương 2: Phân tích hệ thơng

> Chương 3: Xây dựng cơ sở đữ liệu và giao diện > Chương 4: KếI luận Cơng cụ hỗ trợ - Java JDK 1.7 Struts 2 Framework - Hé quan tri co so dir ligu MS SQL 2005 - Server Tomcat 7.0

- IDE Eclipse Juno

Trong thời gian làm đồ án, tuy đã cố gắng hết mình tìm hiểu, phân tích thiết kế hệ thống, nhưng do kiến thức hạn hẹp, thời gian ngắn nên vẫn khơng tránh những sai sĩt mặc phải, mong các thầy cơ thơng cảm cho em Nhân đây em cũng xin chân thành cám ơn thầy giáo 7S Nguyễn Trung Hịa đã tận tình hướng dẫn giúp đỡ em hồn thành đồ án này Em cũng xin được bày tỏ lịng biết ơn đối với các thầy cơ và bạn bè trong khoa Cơng Nghệ Thơng tin đã luơn giúp đỡ động viên em trong suốt thời gian qua Cuối cùng em xin kính chúc các thầy cơ giao sức khỏe và hạnh phúc!

Trang 6

MỤC LỤC LỜI CÁM ƠN LỜI MỞ ĐẦU CHUONG 1: CONG NGHE STRUTS 2 1.1 Giới thiệu 1.2 Servlet/JSP 1.3 Struts 1.3.1 Kiến trúc 3 tang MVC

1.3.2 Các thành phần cơ bản của Struts 1.3.3 Các phiên bản của Struts

1.3.4 Struts 2

CHUONG 2: PHAN TICH HE THONG 2.1 Phân tích yêu cầu

2.2 Biểu đồ phân cấp chức năng

2.2.1 Biểu đồ mức chức năng

2.2.2 Mơ tả chỉ tiết các chức năng lá

2.3 Biểu đồ luồng dữ liệu 2.3.1 Mức ngữ cảnh 2.3.2 Mức I 2.3.3 Mức 2 2.3.4 Mức 3 2.4 Mơ hình E-R 2.4.1 Xác định các thực thị

2.4.2 Sơ đồ liên kết thực thé ang chuan 3

CHUONG 3: XAY DUNG CO SO DU LIEU VA GIAO DIEN 3.1 Thiết kế cơ sở đữ liệu vật lý 3.1.1 Bảng dữ liệu 28

3.1.2 Biêu đơ quan hệ thực thê 30

3.2 Thiết kế giao diện

3.2.1 Đăng nhập

3.2.2 Đồi mật khâu 3.2.3 Danh sách yêu cầu

Trang 7

4.2 Hạn chế : 4.3 Hướng phát triên " 0800/2766 .804./(0 nh h< 39 CHƯƠNG 1: CONG NGHE STRUTS 2 1.1 Giới thiệu

Java là một nền tảng phát triển các ứng dụng phần mềm cĩ vị trí rất lớn trong

những năm cuối thế kỉ 20, đầu thế kỉ 21 Đánh dấu sự trưởng thành của mơ hình lập

trình hướng đối tượng, nĩ được coi là một nền tảng mang tính cách mạng trong nghành phần mềm Mơ hình máy ảo Virtual Machineđã cho phép các ứng dụng viết

bằng Java cĩ thể chạy trên nhiều hệ điều hành khác nhau Vì thế Java là ngơn ngữ vẫn

được rất nhiều các nhà thiết kế lựa chọn làm ngơn ngữ phát triển chính cho hệ thống của mình

1.2 Serolet/JSP

Servlet/JSP là một bộ phận của cơng nghệ J2EE (Java 2 Platform, Enterprise Edition) phiên bản của Java chạy trên các máy chủ ứng dụng

Servlet:

Servlet API duoc phat triển dựa trên những điểm mạnh của Java platform nhằm giải quyết vấn đề của CGI và trình chủ server API Nĩ là một API đơn giản hỗ trợ tat cả các Web servervà thậm chí các ứng dụng máy chủ dùng để kiểm tra và quản lý các cơng việc trên server (load —balancing) No giải quyết van dé thực thi bằng việc thực

hiện tất cả các yêu cầu như những dịngtrong một xử lý, hoặc trên một hệ thống load-

balancing sẽ là mỗi xử lý trên một server trong kết chùm cluster Các servlet dễ dàng chia sẽ tài nguyên Bạn cĩ thể sử dụng JavaMail để đọc và gửi mail, Java DataBase Connect (IDBC) để truy cập các database, lớp File và những lớp quan hệ đề truy cập hệ thống file, RMI, CORBA, Enterprise Java Beans (EJB) để truy cập các hệ

thống kế thừa

JSP:

Viết tắt của tiếng Anh Java Server Pages cịn được biết đến với một cái tên khác là Java Scripting Preprocessor — t ạm dịch là “Bộ tiền xử lý văn lệnh Java” Là một cơng nghệ Java cho phép các nhà phát triển tạo nội dung HTML, XML hay một số định dạng khác của trang web một cách năng động, trong khi hồi âm yêu cầu của trình

Trang 8

duyệt phía client Cơng nghệ này cho phép người ta nhúng mã Java và một số hành động xử lý đã được định trước (pre-defined actions) vào trong nội dung tĩnh của trang Trước khi hiển thị ra trình duyệt, tập tin JSP phải được biên dịch thành Servlet, dùng

bộ biên dịch JSP(JSP compiler) Bộ biên địch JSP cĩ thể tạo servlet thành mã nguồn

Java trước, rồi biên dịch mã nguồn ra tập tin class dùng bộ biên dịch Java, hoặc cĩ thể trực tiếp tạo mã bytecode cho servlet tir trang JSP

Câu hỏi đặt ra là: Mơ hình JSP/Servlet cĩ đủ khả đáp ứng được yêu cầu của hệ thống hay khơng? Em đã tìm hiểu và đưa ra một số những nhược điểm của nĩ khiến nĩ khơng được ứng dụng trong việc xây dựng các hệ thống lớn:

-_ Kiến trúc của JSP/servlet khá đơn giản, việc gộp các action (các hàm xử lý thơng

tin) là điều rất khơng nên Bởi khi thiết kế hệ thống, các module của chương trình

cần phải được sắp xếp hợp lý, các action được chỉnh sửa mà khơng ảnh hưởng tới

giao diện hiển thị

-_ Ngồi ra, việc phân chia các thành phần hợp lý dựa theo mẫu thiết kế chuẩn của một hệ thống được người dùng đánh giá rất cao Sau khi hồn thiện, nếu bản thân người dùng muốn phát triển tiếp ứng dụng của mình, họ cần cĩ một hướng dẫn chỉ tiết cách sửa các thành phần trong các gĩi (package) Trong quá trình thiết kế một hệ

thống lớn, yêu cầu phải địi hỏi làm việc theo nhĩm, để quá trình phân cơng cơng

việc hợp lý, việc phân tách các thành phần của hệ thống là cần thiết Nếu khơng,

quá trình làm việc sẽ thường xuyên bị gián đoạn

Cơng nghệ Struts đã thành cơng trong việc tối ưu các khuyết điểm vốn cĩ của JSP/Servlet Tính năng của nĩ sẽ được để cập nhiều hơn qua nội dung sẽ trình bày sắp

tới

1.3 Struts

Struts la mot framework phuc vụ việc phat triển các ứng dụng Web trên Java Sử dụng mẫu thiết kế Model-View-Controller (MVC), Struts giải quyết rất nhiều các vấn dé liên quan đến các ứng dụng Web hướng business địi hỏi hiệu năng cao sử dụng Java Servlet va JSP Ung dụng chạy trực tiếp trên JSP/Servlet chưa đáp ứng hết được

yêu cầu bảo mật và chuyên nghiệp cho một hệ thống lớn Struts cơ bản định hình lại

cách các lập trình viên website nghĩ về và cầu trúc một ứng dụng Web

Trang 9

1.3.1 Kiến trúc 3 tầng MVC request HTTP CU, ete response Controller HTML, RSS, XML, JSON, ete

demand red data +

Hình 1: Kién tric 3 tang MVC

View

Templates, layout

Kiến trúc MVC là việc chia tất cả mục của một ứng dụng ra làm ba thành phần khác nhau Model(Mơ hình), View(Giao điện) và Controller(Bộ điều khiển) Các thành phần của kiến trúc MVC cĩ một trách nhiệm duy nhất và khơng phụ thuộc vào các

thành phần khác

-_Model(Mơ hình): Model được giao nhiệm vụ cung cấp di liệu cho cơ sở dữ liệu và lưu dữ liệu vào các kho chứa đữ liệu Tất cả các nghiệp vụ logic được thực thi ở Model Dữ liệu vào từ người dùng sẽ thơng qua View được kiểm tra ở Model trước

khi lưu vào cơ sở dữ liệu Việc truy xuất, xác nhận, và lưu dữ liệu là một phần của

Model

- View(Giao dién): View hién thị các thơng tin cho người dùng của ứng dụng và được giao nhiệm vụ cho việc nhận các dữ liệu vào từ người dùng, gửi đi các yêu

cầu đến bộ điều khiến, sau đĩ là nhận lại các phản hồi từ bộ điều khiển và hiển kết quả

Trang 10

cho người dùng Các trang HTML, JSP, các thư viện thẻ và các file nguồn là một phần của thành phần View

- Controller(bộ điều khiển): Controller là tầng trung gian giữa Model và View Controller được giao nhiệm vụ nhận các yêu cầu từ phía máy khách Một yêu cầu được nhận từ máy khách được thực hiện bởi một chức năng logic thích hợp từ thành phần Model và sau đĩ sinh ra các kết quả cho người dùng và được thành phần View hiển thị ActionServlet, Action, ActionForm va struts-config.xml là các phần của Controller

1.3.2 Cac thanh phan co ban cua Struts

Struts là tập hợpcác thư viện Java cĩ thể phân thành 4 nhĩm : - Framework co so - Thu viện thẻ JSP - Tiles Plugin - Validator plugin = Framework co sở

Framework cơ sở cung cấp các tính năng MVC cốt lõi Nén tang cua framework

cơ sở là Controller servlet: Action servlet Các phần cịn lại bao gồm các lớp cơ sở mà

ứng dụng của bạn sẽ kế thừa và các class tiện ích

Nỗi bật nhất trong các lớp là lớp Action và lớp ActionForm:

-_ Lớp Action: được sử dụng bởi ActionServlet để xử lý các request xác định

- Lop ActionForm: bắtdữ liệu từ các HTML form và được sử dụng để chuyền dữ

liệu trở lại View đê sinh ra các trả lời (response) " Thu vién thé JSP:

Struts đưa ra các thư viện thẻ hỗ trợ việc lap trinh View Logic trong JSP.Cac thư viện thẻ JSP cho phép người lập trình JSP sử dụng các thẻ giơng HTML

= Tiles Plugin

Tiles là một JSP template framework giúp thuận tiện cho việc tái sử dụng mã HTML

" Validator plugin

Validator 1a mot framework v6i kha năng thực hiện xác nhận tính hợp lệ của dữ liệu ở cả phía server và client

Trang 11

1.3.3 Các phién ban cua Struts

Hiện nay struts đã phát triển 2 phiên ban 1a struts 1x va struts 2x Cĩ một số khác biệt trong cấu trúc của 2 phiên bản Dưới đây là một số khác biệt cơ bản: Tính năng Struts 1 Struts 2 Action classes -Sử dụng lớp abstract (lớp -Action cĩ thể là bất kỳ thuộc servlet)

(Lớp hoạt trừu tượng), khơng sir | lop Java nào

động) dụng interface (lớp giao -Cung cấp sẵn | interface diện) chung cho các action là

-Action yêu cầu bắt buộc | ActonSupport, tuy nhiên

phải kế thừa từ một lớp _ | khơng bắt buộc thực thi

abstract nào đĩ action này

Threading Cac Action là độc nhất vì | Trong Struts 2 các đối

Model thế chúng phải được | tượng được khởi tạo cho (Mơ hình thread-safe bai vi chico | mỗi request do đĩ khơng

lu ồng) một thể hiện của lớp để |SỐ — thread-saietyMột

giữ lại tất cả request đối serviet container sinh ra với Action do nhiêu đơi tượng throw-

away cho mơi request Servlet Actions bi phu thudc vào | HttpServletResponse cho Dependency thư viện servlet API boi | phuong thức execute (Phần phụ vì HttpServletRequest và | Struts 2 khơng phụ thuộc HttpServletResponse được Action chỉ là một lớp bình thường và chúng ta khơng cần truyền đối tượng HttpServletRequest và truyền vào phương

thức execute khi Action

được thực thi

Trang 12

(Khả năng kiêm vân đê chính trong việc khởi tạo Action.Các

tra) testing bởi vì phương | AcHon là một POJO đơn

thức execute phụ thuộc | giản và khơng phụ thuộc

vao Servlet API Struts framework,vi thé viéc test TestCase cung cấp một trở lên đơn giản hơn

tập hợp các đối tượng Mock cho Struts 1

Harvesting Struts] str dung mot đối Struts2 sử dụng các thuộc Input tượng ActionForm để giữ | tinh Action dé giới han sự (Kết qua dau các inputGiống nhưcác | can thiết cho các đơi

vào) Action, tat ca cdc tượng input thir 2 Tir do

ActionForms cân được thừa kế lớp ActionForm co ban giảm sự dư thừa Binding values into views (Rang buộc giá trị trong việc

Struts 1 ràng buộc đối tượng bên trong ngữ cảnh của trang bằng cách sử dụng cơ chế JSP chuẩn

Struts 2 sử dung cơng

nghé ValueStack dé dam

bảo việc truy c ập giá trị

bằng taglib khơng thơng qua coupling (kết nối)

hiền th) hoặc rendering (biểu

diễn)

Type Trong Struts I các thuộc | Struts 2 sử dụng OGNL

Conversion tính của ActionForm hau | đối với việc chuyển kiểu

(Thay đổi kiểu) hế định dạng là | đữliệu

String Việc chuyển đổi dựa trên từng lớp, khơng được cấu hình dựa trên thê hiện của lớp

Control Of Mỗi module trong Struts | Trong Struts 2 các vịng Action 1 cĩ sự tách rời Request | đời khác nhau được tạo ra

Execution Processors (vịng đời), | dựa trên nền tảng Action

trong khi tat ca các thơng qua ngănxếp chặn

Trang 13

(Kiêm sốt thực Action trong module cân | (Interceptor Stacks) Các

thi) phải chia sẻ cùng vịng — | Stack tùy biến được tạo ra

đời và sử dụng với Action khác nhau

Sự khác nhau như trên, với những ưu diém cua Struts 2 so với Struts 1 1am Struts 2 trở thành cơng cụ hữu ích cho các nhà thiết kế phần mềm Web hiện tại và tương lai 1.3.4 Struts 2 “_ Vịng đời của các yêu cầu trong Struts 2: /webapp/user action : Action Result Interceptors

Hình 2: Vịng đời của các yêu cau trong Struts 2

Người sử dụng gửi yêu cầu đến server để yêu cầu một số tài nguyên của ứng dụng - Bộ điều khiển lọc(FilterDispatcher) xem xét yêu cầu và sau đĩ xác định một Action thích hợp

-_ Các bộ chặn (Interceptors) được ứng dụng: các cấu hình bộ chặn áp dụng cho các chức năng chung như: luồng cơng việc, thấm định, tải file được tự động ứng dụng vào yêu cầu

Thực thi Action: sau khi phương thức action được thực thi dé thực hiện các

hoạt động liên quan đến cơ sở đữ liệu như sắp xếp hoặc nhận dữ liệu từ cơ sở đữ liệu

-_ Sinh kết qua

- Sau đĩ kết quả yêu cầu được trả về thơng qua bộ chặn theo chiều ngược lại Kết quả trả về cho phép chúng ta thực hiện thu dọn hoặc thêm quá trình xử ly

- Hién thi kết quả cho người sử đụng: Việc điều khiển cuối cùng được trả về cho trình chứa servlet, nĩ sẽ gửi kết quả trả về cho trình duyệt của người sử dụng

Trang 14

" Kién tric Struts 2: Struts 2 Architecture ActionContextCleanUp Other Filters (SiteMesh, etc) FilterDispatcher HttpServietResponse

O servet Fitters (CD) struts Core (D) interceptors (D) User Created

Hinh 3: Kién tric Struts 2

- Action ContextCleanUp filter: La mét thy chon va nĩ được sử dụng khi tích hợp với các cơng nghệ khác như SiteMash Plugin

- FilterDispatcher: Khi FilterDispatcher (bộ điều khiển lọc) được gọi, nĩ quay lại sử dụng ActionMapper để xác định Action nào được triệu gol Néu action được yêu cầu được triệu gọi thì FilterDispatcher ủy nhiệm việc điều khiển lại cho ActionProxy - ActionProxy: ActionProxy nhận sự giúp đỡ từ bộ quản lý cấu hình file (Configuration Files manager), được khởi tạo từ file strufs.xml Sau đĩ ActionProxy tạo ra một ActionInvocation, thực thi từ mẫu lệnh ActionInvocation xử lý triệu gọi bộ chặn (Interceptors) nếu nĩ được cấu hình và sau đĩ triệu goi Action ActionInvocation

Trang 15

tìm kiếm kết quả thích hợp, sau đĩ kết quả được thực thi, nĩ triệu gọi việc sinh ra trang các JSP hoặc các mẫu Sau đĩ, các Interceptor được thực thi một lần nữa theo thứ tự ngược lại Việc trả về kết quả cuối cùng thơng qua các bộ lọc được cấu hình

trong file web.xml Néu bộ lọc ActionContextCleanUp được cấuhình, thì FilterDispatcher khơng dọn dep ThreadLocal ActionContext Néu bộ lọc ActionContextCleanUp khơng cĩ

thì FilterDispatcher sẽ dọn dẹp tất cả các ThreadLocal tồn tại

"_ Các thành phân chính yếu và thường dùng cua Struts 2 Framework - FilterDispatcher FilterDispatcher được mapping tring file web.xml nhu sau: <filter> <filter-name>struts2</filter-name> <filter- class>org.apache.struts2.dispatcher.FilterDispatcher</ servlet-class> </filter> <filter-mapping> <filter-name>struts2</servlet-name> <url-pattern>/*</url-pattern> </filter-mapping>

- Action Class hay ActionSupport Class

Chứa đựng các thuộc tính mapping trên form và các thành phần xử lý của object (business logic) và phương thức chỉ định thực thi

Struts 2 Framework cung cấp cơ chế tự động mapping các tham số trong request trong form đến các thuộc tính trong Action với các thuộc tính cùng tên và cĩ phương thức setXxx

Trong quá trình mapping, Struts 2 Framework sử dụng OGNL thay thế EL để ép

kiểu tự động từ form đến kiểu đữ liệu của Action property Do vậy, khơng nhất thiết

lúc nào cũng khai báo kiểu dữ liệu là String và thực hiện ép kiểu bằng tay

- Struts Config (struts.xml)

<struts>

[<include £file=“xml File”/>]

<package name="default” namespace="/"

extends=“struts-default“ [method=“method_name“]>

Trang 16

<action name="action Name” class="package.className”> <result name="stringValue”>/pageView</result> </action> </package> </struts> Trong do:

- package: nhom thơng tin cầu hình của những thành phần cĩ chung thuộc tính name: xác định tên của của package

namespace: phân biệt giữa các package khác tránh xung đột giữa các action với nhau

extends: xac dinh class cha tuong tự như khái niệm kế thừa abstract: bằng true nếu là lớp kế thừa

- action: anh xạ một action với một class action name: xác định tên action

class: xác định java class để xử lý action

method: xác định phương thức được gọi khi request được chuyến tới Nếu tham số này khơng tồn tại thì phương thức execute mặc định được tìm kiếm và thực thi

- result: xc dinh tén result hay page kết xuất của một action

name: xác định tén result Néu khơng cĩ thì mac dinh 1a success

type: xác dinh loai result Nếu khơng cĩ thì mặc định là FilterDispatcher thực hiện forward đến trang kết quả

-_ Cơ chế hoạt động cúa Struts 2 Framework

Struts 2 Framework hoạt động tương tự như mơ hình MVC của Struts | Framework nhưng điểm khác biệt đĩ là pull-framework, nghĩa là dữ liệu được lấy trực

tiếp từ action để đưa đến view

- Controller: FilterDispatcher 1a servlet Filter co nhiém vu đĩn nhận request va

dựa trên cấu hình để xác định action cụ thể để đĩn nhận request cho xử lý -_ Model: Action là một java class đảm bảo đặc tính của một object trong mơ hình

hướng đối tượng và thỏa tính chất của JavaBean

- View: Result 1a mét kết xuất hay một dạng xác định action hay trang chuyển về và trình bày trên Web Browser

Trang 17

)34ị:c.aciea invckey} sane $ + ! t ‡ s ' } ‡ $ + t ‡ ‡ $ t } ‡ +

Hình 4: Cơ chế hoạt động của Struts 2 Framework

Khi người dùng gửi yêu cầu truy xuất ứng dụng web, request được chuyển đến FilterDispatcher, đây là Filter được tạo sẵn trong Framework để làm chức năng như Controller

FilterDispatcher dựa trén trap tin cấu hình xác định xem action cĩ được ứng dụng Interceptor hay khơng

Nếu cĩ, framework sẽ gọi Interceptor theo tuần tự khi gọi xong một Interceptor, framework sẽ checking tiép Interceptor trong stack cho đến Interceptor cuối cùng

Nếu khơng cĩ áp dụng Interceptor cuối cùng được thực thi thi framework sé goi action

Action đĩn nhận dữ liệu, thực hiệ xử lý và kích hoạt phương thức chỉ định thực thi Sau khi phương thức đĩ xử lý hồn tắt, Result được trả về Tại bước này, nếu ứng dụng cĩ áp dung interceptor là Result sẽ được apply theo chiều ngược chiều gọi ban

dau dé trả kết quả trở về hay chuyển đến Action tiếp theo

Điểm khác biệt giữa cơ chế hoạt động của Struts 2 so với Struts 1 là tất cả mọi thứ phải thơng qua file struts.xml hay annotation và một phần nào đĩ Struts 2 che dấu FilterDispatcher đối với người lập trình để tạo nên tính linh hoạt trong việc xây dựng và bảo trì ứng dụng web, đặc biệt là việc mapping kết xuất giữa các trang khơng cịn lệ thuộc và đặt trong code servlet din đến việc mapping trớ nên linh hoạt và uyên chuyển hơn

Trang 18

CHƯƠNG 2: PHAN TICH HE THONG

2.1 Phân tích yêu cẩu

Để phân tích yêu cầu của bài tốn, xét một ví dụ cụ thể:

Giả sử vào ngày 23-12-2012, ở trường Đại học Vinh diễn ra buổi bảo vệ đồ án tốt

nghiệp của lớp 49K-CNTT tại phịng A2302 vào lúc 7h - 12h Để buổi bảo vệ đồ án

được diễn ra, cán bộ lớp 49K phải đăng ký với người quán lý phịng A2303 để sử dụng phịng A2302 vào thời điểm trên, bên cạnh đĩ cịn phải đăng ký sử dụng các dụng cụ, thiết bị khác như máy chiếu, loa, máy tính Khi đĩ, người quán lý phịng A2302 sẽ đọc các yêu cầu và nếu hợp lý sẽ chuẩn bị phịng A2302 sẵn sàng cho buổi bảo vệ, và người quản lý thiết bị dụng cụ cũng sẽ đọc các yêu cầu và đồng ý cho mượn máy chiếu, loa thì lớp 49K mới được tổ chức buổi bảo vệ tại phịng đĩ Sau khi phịng học và các thiết bị đã sẵn sàng thì người quán lý phịng sẽ thơng báo cho cán bộ lớp 49K là đã sẵn sàng cho buổi bảo vệ đồ án tốt nghiệp Ngồi ra, nếu yêu cầu đặt ra

khơng hợp lệ thì những người quản lý cĩ quyền từ chối yêu cầu trên

Từ ví dụ trên cĩ thể thấy luồng xử lý yêu cầu như sau:

Trang 19

Yêu cầu sử Quản lý dụng phịng phịng A2302 Cập nhật yêu câu a bộ Khơng hợp lệ từ chối Cán bộ nhà r 9K << x op truong 3 Cập nhật yêu câu Yêu cầu sử dụng máy chiếu, loa Quản lý 5 thiệt bị Thực hiện yêu câu Thơng báo sử dụng Hình 5: Luơng xử lÿ yêu cẩu Từ trên thì các thành phần bao gồm: Tác nhân:

-_ Người tạo ra yêu cầu: cán bộ lớp 49K

-_ Người xem xét yêu cầu: quản lý phịng và quản lý thiết bị

Người xử lý yêu cầu: Cán bộ nhà trường

Dữ liệu:

- Thong tin yêu cầu

- CaAc tin nhắn cập nhật yêu cầu và thơng báo phản hồi

Tuy nhiên tại một thời điểm cĩ thể cĩ nhiều yêu cầu được tạo ra, và vấn đề xảy ra là thực hiện yêu cầu nào trước, vì thế mỗi yêu cầu sẽ cĩ thêm các đặc điểm như mức độ, độ ưu tiên của yêu cầu Bên cạnh đĩ, để những người khác biết được yêu cầu đang được xử lý như thế nào, thì yêu cầu cần cĩ thêm đặc tính trạng thái

Từ ví dụ trên ta cĩ:

Trang 20

"Các lung cơng việc trong hệ thong: -_ Quản lý yêu câu

Phần quản lý yêu cầu phải thực hiện được các chức năng như tạo mới một yêu cầu, xem nội dung yêu cầu, cập nhật nội dung, tình trạng của yêu cầu và xĩa một yêu cầu đã tổn tại

-_ Quản lý tin nhắn

Tin nhắn được tạo ra đề trao đổi với các thành viên trong hệ thống Phần quán lý tin nhắn phải đáp ứng được các chức năng như tạo một tin nhắn, xem một tin nhắn và xĩa tin nhắn đã tồn tại Ngồi ra để thuận tiện hệ thống cịn phải cĩ chức năng gửi tin nhắn tự động đến những người trong hệ thống khi trang thái của một yêu cầu thay đổi - Quan ly người dùng

Phần quản lý người dùng yêu cầu thực hiện việc kiểm tra thơng tin đăng nhập Nếu đăng nhập thành cơng, thì cho phép hiển thị các module của hệ thống (được phân quyền hiển thị với user đĩ.) Ngồi ra phải xây dựng module quản lý người dùng,

nhĩm người dùng và quyền truy xuất vào các module đối với từng nhĩm người dùng

-_ Thống kê báo cáo theo định kỳ

Cuối cùng thì hệ thống phải đáp ứng được việc thống kê các yêu cầu và tạo báo

cáo theo định kỳ

"_ Người sử dụng hệ thơng

-_ Người dùng cuối: Là những người tạo ra các yêu cầu Họ cĩ thể là sinh viên, giảng viên, cán bộ nhà trường Khi cĩ nhu cầu về học tập, giảng dạy những người này cĩ thể yêu cầu phịng học, thiết bị hỗ trợ và những người cĩ nhiệm vụ quản lý các phịng đĩ phái chuẩn bị sẵn sàng cho buổi học

-_ Người quản lý: Là những người quản lý các cơ sở vật chất như dãy nhà, tịa nhà, sân bĩng Hoặc những người quản lý các thiết bị kỹ thuật như quán lý kho dụng cụ họ nhìn vào các yêu cầu tạo ra và phân chia cho những người cĩ liên quan

- Người được giao: Là những người cĩ trách nhiệm đáp ứng các yêu cầu từ người dùng cuối cũng như cập nhật tình trạng của chúng trong hệ thống Họ cĩ thể là người quan lý phịng học, hướng dẫn thực hành, quản lý phịng máy

Ngồi ra cịn cĩ một “Administrator” để thực hiện các chức năng quản trị như cấp tài khoản hệ thống, bổ sung thêm các sơ sở mới

" Cac loại yêu cầu bao gồm: -_ Yêu cẩu về thiết bị kỹ thuật

Trang 21

Yêu cầu này xuất hiện khi cần phục vụ cho cơng việc nghiên cứu giảng dạy của

sinh viên và giảng viên Nĩ cĩ thể là yêu cầu sửa chữa, bảo trì của các thiết bị học tập

như máy tính, máy chiếu, dụng cụ thí nghiệm, các thiết bị phịng phịng như đèn, quạt,

bàn ghế

-_ Yêu cẩu về dịch vụ

Yêu cầu này xảy ra khi cần tổ chức các hoạt động khác như mít tinh, hội họp, văn nghệ thê dục thê thao Nĩ cĩ thê là Việc chuân bị phịng họp, dụng cụ và thiệt bị đi

kèm Ngồi ra cịn cĩ các yêu câu về cơ sở vật chât trong căng tin, ký túc xá, sân

bĩng

"_ Các đặc điểm của yêu cẩu - Trang thai:

Trạng thái của một yêu cầu cho biết yêu cầu đĩ được thực hiện đến tiến độ nào Điều này sẽ hữu ích cho những người dùng trong hệ thống cĩ liên quan đến yêu cầu

Khi trạng thái thay đổi thì người thay đổi trạng thái đĩ phải gửi một tin nhắn thơng báo

đến những người liên quan Việc này cĩ thể thực hiện thủ cơng hoặc hệ thống tự động gửi tin nhắn Một yêu cầu bao gồm các trạng thái sau:

o Đang mở: Là trạng thái của yêu cầu khi mới tạo ra, chưa được xử lý o Đã giao: Yêu cầu đã được giao cho ai đĩ

S Đang xử lý: Yêu cầu đang trong quá trình xử lý

o_ Cân thêm thơng tin: Cần cung cấp thêm thơng tin ban dau dé xử lý yêu cầu

o Từ chối: Yêu cầu bị từ chối, bị hủy vì khơng hợp lệ o_Đã đĩng: Yêu cầu đã hồn thành

-_ Mức độ:

Trang 22

Tương tự như mức độ của yêu cầu, độ ưu tiên của một yêu cầu sẽ giúp cho những người liên quan cĩ thể đánh giá được sự quan trọng của yêu cầu và họ sẽ xử lý yêu cầu nào cần thiết hơn Độ ưu tiên bao gồm 3 mức sau:

o Cao: Yêu cầu cĩ độ ưu tiên cao

o_Trung bình: Yêu cầu cĩ độ ưu tiên trung bình o Thấp: Yêu cầu cĩ độ ưu tiên thấp

2.2 Biểu đồ phân cấp chức năng 2.2.1 Biểu đồ mức chức năng Quản lý yêu cầu | 1 Quan ly 2 Bao Cao |_| 1.1 Quan lý yêu cầu 2.1 Thống kê báo cáo L—] 1.2 Quản lý tin nhắn L—] 1.3 Quản lý người dùng

Biểu đơ 1: Biểu đồ phân cấp chức năng

2.2.2 Mơ tả chỉ tiết các chức năng lá

a Quản lý người dùng

Chức năng quán lý yêu cầu bao gồm các chức năng con như: tạo yêu cầu, xem yêu cầu, cập nhật yêu cầu và xĩa một yêu cầu

b Quản lý tin nhắn

Chức năng quản lý tin nhắn bao gồm các chức năng con như: tạo tin nhắn, xem tin nhắn, và xĩa một tin nhắn

c Quan lý người dùng

Chức năng quản lý người dùng sẽ gồm các chức năng con như tạo người dùng và phân quyền sử đụng cho người dùng đĩ

Trang 23

d Thống kê báo cáo

Theo định kỳ hàng tháng hoặc hàng quý, người quản lý cĩ trách nhiệm phải thống kê lại các yêu cầu, tình trạng của thiết bị kỹ thuật trong các cơ sở và báo cáo lại cho cấp trên 2.3 Biểu đồ luồng dữ liệu 2.3.1 Mức ngữ cảnh Cập nhật Người dùng cuối Tạo yêu cầu Yêu cầu Xử lý mm á¡ |——————* Người dùng cuơi Quản lý Tin nhắn Người dùng cuối

Biểu đơ 2: Biểu đồ mức ngữ cảnh

Trang 24

2.3.2 Mức 1 Tạo mới - Cập nhật > Người dùng cuỗi 1.0 Quan Yêu câu Xử lý Người được giao | Tạo báo Người quản lý 2.0 Báo L———> Tin nhắn cáo 2.3.3 Mức 2 -_ Luơng dữ liệu tiễn trình “1.0 Quản ly” |

Người dùng cuối I 1.1 Quan

Trang 25

-_ Luơng dữ liệu tiễn trình “2.0 Báo cáo”: 2.1 Thơng Người quản lý kê báo cáo 'Yêu câu 2.3.4 Mức 3 Luơng dữ liệu tiến trinh “1.1 Quan ly yéu cau” 1.1.1 Tao Người dùng cuối I yéu cau Yêu câu — - 1.1.2 Cập

Người được giao nhật yêu câu

Người quản lý Ị Vêu cầu °

Luơng dữ liệu tiến trinh “1.2 Quan lý Tin nhắn”

Trang 26

Người dùng cuối Người được giao 1.2.2 Xĩa Tin nhăn Người quản lý Luơng dữ liệu tiến trình “1.2 Quản lý Tin nhắn” 1.3.1 Thêm Hồ sơ người dùng người dùng Administrator 2.4 Mơ hình E-R 2.4.1 Xác định các thực thể

Dựa vào các phân tích trên ta rút ra được các thực thê sau:

- VÊUCÀU( Mãyêucầu, Địađiểm, Tiêuđề, Mơtá, Trạngthái, Múcđộ, Độưutiên,

Ngườitạo, Ngườiđuọcgiao, Ngàytạo)

- TINNHAN( Matinnhan, Tiêuđề, Nộidung, Ngàygửi, Trạngthái, Nguờigửi) NGƯỜIDÙNG( Tênđăngnhập, Mậtkhẫu, Họvàtên,Quyềnhạn)

Trang 27

2.4.2 Sơ đồ liên kết thực thể dạng chuẩn 3 TRẠNG THÁI êm YÊU CÀU ƯU TIÊN ĐƯỢC GIAO MỨC ĐỘ NGƯỜI DÙNG 08 0) 0) Ú, TIN NHẮN

cm > TIÊU ĐỀ NOI DUNG NGAY GUT

Trang 28

CHƯƠNG 3: XÂY DỰNG CƠ SỞ DỮ LIỆU VÀ GIAO DIỆN

3.1 Thiết kế cơ sở đữ liệu vật lý 3.1.1 Bảng đữ liệu Từ các quan hệ và sơ đồ liên kêt thực thế trên ta xây dựng được các báng đữ liệu sau: " BẰNG PERMISSION

PermissionID int Khoa chinh Ma quyén PermissionName | nvarchar(50) Bắt buộc Tên quyền

"_ BẢNG USER

UserName Varchar(50) Khoa chinh Tén dang nhap

PassWord Varchar(50) Bat buộc Mật khẩu

FullName Nvarchar(50) Bắt buộc Tên người dùng Mã quyền, tham PermissionID Int Khoa ngoai chếu đến bảng

PERMISSION

" BANG STATUS

StatusID Int Khoa chinh Mã trạng thái StatusName Nvarchar(50) Bắt buộc Tên trạng thái

Trang 29

" BANG PRIORITY PriorityID Int Khoa chinh Mã ưu tiên PriorityName Nvarchar(50) Bắt buộc Tên độ ưu tiên "= BANG SEVERITY

SeverityID Int Khoa chinh Mã mức độ SeverityName Nvarchar(50) Bat budcq Tên mức độ " BANG MESSAGE

MessageID Char(9) Khoa chinh Mã tin nhắn

Title Nvarchar(500) Bắt buộc Tiêu đề

Content Nvarchar(max) Bắt buộc Nội dung tin nhắn From Varchar(50) Khoa ngoai Người gửi

To Varchar(50) Khĩa ngoại Người nhận

Status Int Mặc định là 0 bee m ee

CreatedDate Datetime Bắt buộc Thời gian gửi " BANG REQUEST

RequestID Char(9) Khoa chinh Mã yêu cầu

, Tiêu đề của yêu

Title Nvarchar(500) Bat budc ` y

cau

Describe Nvarchar(max) Bắt buộc Mơ tả yêu cầu

PriorityID Int Khoa ngoai Mã ưu tiên, tham

Trang 30

chiêu đên bảng PRIORITY Mã mức độ, tham SeverityID Int Khoa ngoai chiếu đến bảng SEVERITY Mã trạng thái, StatusID Int Khoa ngoai tham chiếu đến bang STATUS

Người tạo yêu cầu, CreatedBy Varchar(50) Khoa ngoai tham chiếu đến

bảng USER Người được giao, AssignedTo Varchar(50) Khĩa ngoại tham chiếu đến

bang USER

Facility Nvarchar(200) Bắt buộc Địa điểm yêu cầu

Trang 31

3.2 Thiết kế giao diện

Sau đây là một số màn hình chính trong hệ thống

3.2.1 Đăng nhập

- Chức năng: Người dùng đăng nhập vào hệ thống bằng cách click vào nút “Đăng nhập” Thơng tin đăng nhập bao gồm: Tên đăng nhập và mật khẩu

- Cac thanh phan:

02 textbox để người dùng nhập thơng tin đăng nhập

o1 button để thực hiện thao tác đăng nhập L lecahoseaoso/aequeswa x = > @& |B becathost:8080/RequestManagement/jsp/loain.jsp ay Quản lý yêu cầu dịch vụ kỹ thuật Đăng nhập hệ thống Tên đăng nhập: | Mặt khẩu: [ 3.2.2 Đối mật khẩu

- Chức năng: Sau khi đăng nhập người dùng cĩ thể lựa chon chức năng đổi mật khâu đê thay đơi mật khâu cho tài khoản của mình

-_ Các thành phân:

o 3 textbox để người dùng nhập thơng tin bao gồm: Mật khẩu cũ, mật khâu mới

o 1 button dé thực hiện thao tác đổi mật khẩu

Trang 32

Change Password Old Password: | | New Password: Re-enter Password:

3.2.3 Danh sách yêu cẩu

-_ Chức năng: Quản lý danh sách các yêu cầu

-_ Các thành phân:

6 5 dropdownlist chứa các thơng tin tìm kiếm: trạng thái, mức độ, độ ưu tiên, người tạo, người dược giao

o 3 button bao gồm: “Tìm kiếm”, “Xĩa”, “Tạo mới” o 1 bảng chứa danh sách các yêu cầu

[ Danh sách:

6 ¢ Chào admin | Đăn;

Trang thai: |All iy Mite 46: [Ail iv Un tin: [All [s]

Trang 33

3.2.4 Tạo mới yêu cau

-_ Chức năng: Tạo mới một yêu cầu - Cac thanh phan:

o 1 textbox hiển thị mã của yêu cầu mã này được tạo tự động

o 4textbox để người dùng nhập: địa điểm, tiêu đề, nội dung và ngày tháng o 5 dropdownlist bao gồm: trạng thái, mức độ, độ ưu tiên, người tạo, người được giao o 2 button bao gdm nut “Save” va “Reset” ‹© © DB bcahost:8080/RequestManagement/js| qwiz ial Chào admin | Đăng xuất ® lĩc các) ID: 171212000 Địa điểm: | Tiêu đề: / aman | O & a @ Baa đà s | B4 +: Ø © PHEHI[IH= =b B7 U%x; x2 ”ủ n£ 2ã 39s @2P 8a@n=ease a “ |) Dinh dang © Sic Bla #8 |@sIữ 2] 5 'Nội dung: 4 Trang thai: | Open [x] ‘Mite 6: | Fatal ix] Un tién: | High [x]

Người tạo: 'admin_ iv Người được giao: [admin (vÌ — Ngày©: đc jo rs a ee 3.2.5 Cập nhật yêu cầu

-_ Chức năng: Sửa đổi lại một yêu cầu - Cac thanh phan:

Trang 34

o 2 button bao gồm nút “Save” và “Reset” ID: 021212005 Tiêu đề: Máy chiều khơng chinh được độ sáng | SuammL 1 (à ä Am ': —- sgzu=xx z ˆ“'à@m~-$ose # (Bnhnnư S [bs i ‘Tai phéng hoc A2101 may chiếu khơng chỉnh được do sự cố gì đĩ đến bửa gấp Nội đung: body p 4

Trang that [Open jxi Mức độ: | Fatal [x] Un tién: [High [vy] 'Người tạo: | admin im Người được giao: | admin vị Ngày tạo: 2012-12-02 Start ti ‘2 3.2.6 Danh sách tin nhắn -_ Chức năng: Sửa đổi lại một yêu cầu -_ Các thành phân:

o 1 bảng chứa danh sách các tin nhắn, mỗi khi người dùng click vào “View” sẽ được xem chỉ tiết nội dung tin nhắn

Trang 35

`} Danh sỏch tin nhn xôQ Â C | D localhost:8080/RequestManagement/jsp/listMessage aw Chào admin | Đăng xuất Kiểu hiển thị | Tất cả iv Tnắe 1 Thời gian

o a 'Yêu cầu chuẩn bị phịng họp admin diepviends 12/12/2012

Oo] @ Đã hồn thành yêu cầu điepviends admin 12/12/2012 O | (a ‘Thay 6i bang tin admin admin 16/12/2012

Fes eset ena

3.2.7 Tao méi tin nhan

- Chic ndng: Tao mdi mét tin nhắn

-_ Các thành phân:

o_1 dropdownlist chứa danh sách các tài khoản trong hệ thống

o 2 textbox để người dùng nhập vào tiêu đề và nội dung

o | button thuc hién thao tac gui tin nhan “Send”

Trang 36

© GD beahost:8080/RequestManagement/jsp/newMessage Sw E la| Chào admin | Đăng xuất »- = D1 1o Người nhận admin [x] Tiêu đề , clas ye E== 3.2.8 Trang chủ - Chirc nang: Trang bắt đầu của ứng dụng -_ Các thành phân:

o Hiển thị các tin nhắn được gửi đến cho tài khoản đăng nhập hiện tại

Trang 37

o Hién thị các yêu cầu được gán cho người dùng đăng nhập hiện tại Quản yêu câu dich wa ky © x € > G@ |B bcahost:8080/RequestManagement/jsp/homeAction ay n Chao admin | Đăng xuất

Hệ thống quản lý yêu cầu về dịch vụ kỹ thuật

Trang 38

CHƯƠNG 4: KÉT LUẬN

4.1 Kắt quả đạt được

Phân tích rõ được yêu cầu của hệ thống

Đáp ứng được các chức năng cơ bản của hệ thống

Hiểu được cơng nghệ Struts 2 và xây dựng 1 website bằng cơng nghệ đĩ Xây dựng được một web site hồn chỉnh, giao diện thân thiện, dễ sử dụng

4.2 Hạn chế

Mặc dù đã hồn thành cơ bản bài tốn, nhưng nhìn tổng thể vẫn cịn nhỏ, đơn giản,

chưa cĩ tính chuyên nghiệp

Nếu duy trì website thì tốn khá nhiều chỉ phí, vì hệ thống như trên vẫn cịn quá nhỏ

đối với việc nuơi một Server

4.3 Hướng phát triển

Cố gắng hồn thiện hệ thống, mang tính chuyên nghiệp và đáp ứng đầy đủ các chức năng trong thực tế Bên cạnh đĩ, cĩ thể tích hợp website vào các hệ thống lớn khác trong trường đại học như hệ thống quản lý thiết bị, quản lý sinh viên

Trang 39

TÀI LIỆU THAM KHẢO

[1] Nguyễn Văn Ba, Phân tích và thiết kế hệ thống thơng tin, NXB Đại học Quốc gia

Hà Nội.(2003)

Ngày đăng: 07/11/2014, 22:31

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w