1. Trang chủ
  2. » Giáo Dục - Đào Tạo

ĐỀ TÀI: XÂY DỰNG HỆ THỐNG QUẢN LÝ PHÔI VĂN BẰNG CHỨNG CHỈ ĐẠI HỌC ĐÀ NẴNG

77 188 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 77
Dung lượng 4,11 MB

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

Nội dung

o Model component Trong kiến trúc MVC, các model component cung cấp một giao diện với dữ liệu và/hoặc các dịch vụ được sử dụng bởi ứng dụng.. o Các thành phần component của Struts St

Trang 1

TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA CÔNG NGHỆ THÔNG TIN

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

Website: itf.dut.edu.vn, E-mail: cntt@dut.und.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Ý

PHÔI VĂN BẰNG CHỨNG CHỈ ĐẠI HỌC ĐÀ NẴNG

Ngày bảo vệ: 27/06/2015

CBHD : Th.S HỒ PHAN HIẾU

ĐÀ NẴNG, 05/2016

Trang 2

Em xin chân thành cảm ơn các quý thầy cô giáo trong khoa Công Nghệ Thông Tin cùng toàn thể quý thầy cô của trường Đại Học Bách Khoa – Đại Học Đà Nẵng đã tận tình dạy dỗ, truyền đạt cho em những kiến thức quý giá trong suốt những năm học tại trường, là tiền đề và cơ sở giúp cho em thực hiện đồ án này.

Xin chân thành cảm ơn thầy Hồ Phan Hiếu đã tận tình chỉ bảo, hướng dẫn và giúp đỡ cho em trong suốt quá trình thực hiện để hoàn thành đồ án này đúng thời hạn.

Trong suốt quá trình thực hiện đồ án, mặc dù đã cố gắng hết mình để hoàn thành, nhưng chắc chắn không tránh khỏi thiếu sót, em rất mong nhận được sự thông cảm và góp ý từ phía quý thầy cô và các bạn.

Một lần nữa em xin chân thành cảm ơn!

Sinh viên thực hiện

Trang 3

Em xin cam đoan:

1 Những nội dung trong báo cáo này là do em thực hiện dưới sự hướng dẫn trực tiếp của thầy Hồ Phan Hiếu.

2 Mọi tham khảo dùng trong báo cáo này đều được trích dẫn rõ ràng tên tác giả, tên công trình, thời gian và địa điểm công bố.

3 Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trái,

em xin chịu hoàn toàn trách nhiệm.

Sinh viên thực hiện

Trang 4

Trang 11

Trang 12

Cán bộ hướng dẫn Th.S Hồ Phan Hiếu

Trang 13

MỤC LỤC

MỞ ĐẦU CHƯƠNG 1 CƠ SỞ LÝ THUYẾT

1.1 GIỚI THIỆU VỀ STRUTS FRAMEWORK 1.2 TÌM HIỂU HÊ ̣QUẢN TRI ̣CƠ SƠ ̉DƯ ̃LIỆU SQL SERVER

CHƯƠNG 2 PHÂN TÍCH THIẾT KẾ HỆ THỐNG

2.1 XÁC ĐỊNH YÊU CẦU 2.2 PHÂN TÍCH VÀ THIẾT KẾ CHỨC NĂNG 2.3 PHÂN TÍCH CƠ SỞ DỮ LIỆU

2.4 THIẾT KẾ GIAO DIỆN 2.5 THIẾT KẾ CƠ SỞ DỮ LIỆU

CHƯƠNG 3 TRIỂN KHAI VÀ ĐÁNH GIÁ KẾT QUẢ

3.1 MỘT SỐ HÌNH ẢNH DEMO CHƯƠNG TRÌNH

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN TÀI LIỆU THAM KHẢO

Trang 14

BẢNG 1:BẢNG ĐẶC TẢ USECASE ĐĂNG NHẬP

BẢNG 2:BẢNG ĐẶC TẢ USE CASE XEM THÔNG TIN THÀNH VIÊN

BẢNG 3:BẢNG ĐẶC TẢ USE CASE ADMIN SỬA THÔNG TIN THÀNH VIÊN

BẢNG 4:BẢNG ĐẶC TẢ USE CASE ADMIN XÓA/KHÓA THÀNH VIÊN

BẢNG 5:BẢNG ĐẶC TẢ USE CASE XEM DANH SÁCH VBCC

BẢNG 6:ĐẶC TẢ USE CASE ĐĂNG KÝ VBCC

BẢNG 7:ĐẶC TẢ USE CASE ADMIN SỬA THÔNG TIN ĐĂNG KÝ VBCC

BẢNG 8:ĐẶC TẢ USE CASE ADMIN THÊM BIỂU MẪU

BẢNG 9:ĐẶC TẢ USE CASE THỐNG KÊ

BẢNG 10:ĐẶC TẢ USE CASE NGƯỜI DÙNG XEM THÔNG TIN WEBSITE

BẢNG 11:DANH SÁCH CÁC BẢNG CSDL

BẢNG 12:BẢNG TÀI KHOẢN

BẢNG 13:THÔNG TIN

BẢNG 14:ĐĂNG KÝ VBCC

BẢNG 15:PHÔI BẰNG ĐHDN

BẢNG 16:CẤP LẠI VBCC

BẢNG 17:HỦY VBCC

BẢNG 18:CHI TIẾT VBCC

BẢNG 19:BIỂU MẪU

Trang 15

HÌNH 1:SƠ ĐỒ USE CASE CHO HỆ THỐNG

HÌNH 2:SƠ ĐỒ USE CASE CHO THÀNH VIÊN

HÌNH 3:SƠ ĐỒ USE CASE CHO NGƯỜI DÙNG

HÌNH 4:SƠ ĐỒ USE CASE ADMIN QUẢN LÝ THÔNG TIN CÁ NHÂN

HÌNH 5:ADMIN QUẢN LÝ VBCC

HÌNH 6:ADMIN THỐNG KÊ

HÌNH 7:THÀNH VIÊN: QUẢN LÝ THÔNG TIN CÁ NHÂN

HÌNH 8:THÀNH VIÊN ĐĂNG KÝ VBCC

HÌNH 9:THÀNH VIÊN THỐNG KÊ

HÌNH 10:NGƯỜI DÙNG ĐĂNG NHẬP

HÌNH 11:NGƯỜI DÙNG XEM THÔNG TIN VỀ WEBSITE

HÌNH 12:SƠ ĐỒ HOẠT ĐỘNG ĐĂNG NHẬP CỦA NGƯỜI DÙNG

HÌNH 13:SƠ ĐỒ HOẠT ĐỘNG ĐĂNG KÝ VBCC

HÌNH 14:ADMIN XEM THÔNG TIN THÀNH VIÊN

HÌNH 15:ADMIN SỬA THÔNG TIN THÀNH VIÊN

HÌNH 16:SƠ ĐỒ HOẠT ĐỘNG ADMIN XEM DANH SÁCH ĐĂNG KÝ VBCC

HÌNH 17:SƠ ĐỒ HOẠT ĐỘNG ADMIN THÊM BIỂU MẪU

HÌNH 18:SƠ ĐỒ LỚP TỔNG QUÁT

HÌNH 19:BIỂU ĐỒ TUẦN TỰ ĐĂNG NHẬP

HÌNH 20:BIỂU ĐỒ TUẦN TỰ XEM VBCC

HÌNH 21:BIỂU ĐỒ TUẦN TỰ CHỈNH SỬA VBCC

HÌNH 22:BIỂU ĐỒ TUẦN TỰ ĐĂNG KÝ VBCC

HÌNH 23:BIỂU ĐỒ TUẦN TỰ XEM THÔNG TIN CÁ NHÂN

HÌNH 24:BIỂU ĐỒ TUẦN TỰ ADMIN CHỈNH SỬA THÔNG TIN THÀNH VIÊN

HÌNH 25:TRANG CHỦ

HÌNH 26:ĐĂNG NHẬP

HÌNH 27:ADMIN QUẢN LÝ THÔNG TIN THÀNH VIÊN

HÌNH 28:ADMIN SỬA THÔNG TIN THÀNH VIÊN

HÌNH 29:ĐĂNG KÝ VBCC

HÌNH 30:THÀNH VIÊN XEM KẾT QUẢ

HÌNH 31:THÀNH VIÊN XEM THÔNG TIN CÁ NHÂN

HÌNH 32:THÀNH VIÊN CẬP NHẬT THÔNG TIN CÁ NHÂN

HÌNH 33: MÔ HÌNH DỮ LIỆU QUAN HỆ

Trang 16

MỞ ĐẦU1) GIỚI THIỆU ĐỀ TÀI

Hiện nay với việc khoa học kĩ thuật ngày càng phát triển, nhu cầu ứng dụngCNTT vào công việc ngày một gia tăng, quản lí phôi Văn Bằng ChứngChỉ(VBCC) cũng không nằm ngoài quy luật đó, nhận thấy việc quản lý VBCCtruyền thống còn gặp một số khó khăn sau:

- Khó có thể quản lý bằng tay tất cả các giấy tờ liên quan

- Khi cần truy xuất một VBCC nào đó thì rất tốn thời gian và khó khăn

- Việc cấp phát VBCC phải qua rất nhiều khâu, có thể tự động làm Ứng dụng công nghệ thông tin là một giải pháp cho vấn đề phục vụ thủ côngnày Để đảm bảo nhu cầu thực tế, bám sát với thực tiễn hiện nay, em chọn đềtài “Xây dựng hệ thống quản lý phôi văn bằng chứng chỉ Đại học Đà Nẵng”làm đề tài tốt nghiệp của mình

2) MỤC ĐÍCH CỦA ĐỀ TÀI

Hệ thống website mục đích chính là: đăng ký và quản lý, với hai đối tượngchính được hướng đến là admin(Văn Phòng) và các trường đại học thành viên,ngoài ra còn có các đối tượng khác như khách ghé thăm, ban KHTC, Ban ĐàoTạo,

Quản lý có thể thực hiện những chức năng chính sau:

- Quản lý thành viên tham gia hệ thống

- Quản lý tất cả các VBCC

- Đăng ký VBCC

- Quản lý thông tin VBCC

- Quản lý biểu mẫu

Các trường ĐH thành viên có thể thực hiện những chức năng chính sau:

- Xem thông tin được đăng tải trên website

- Đăng ký VBCC

- Đăng ký hủy VBCC

- Đăng ký cấp lại VBCC

- Quản lý thông tin cá nhân

3) NHIỆM VỤ CẦN THỰC HIỆN

- Tìm hiểu phát triển hệ thống trên nền web

- Tìm hiểu framework Struts 1

- Thiết kế cơ sở dữ liệu

4) Công cụ thực hiện

- Hệ thống Web:

 Viết bằng Java trên eclipseEE Kepler

- Hệ quản trị cơ sở dữ liệu

 SQL server 2008

- Môi trường triển khai:

 Trình duyệt web có hỗ trợ tomcat 6.0 trở lên

5) KẾT QUẢ DỰ KIẾN ĐẠT ĐƯỢC

Trang 17

Xây dựng web quản lý với các chức năng chính:

Chương 2: Phân tích thiết kế hệ thống: Chương này phân tích và thiết kế về

hệ thống đang triển khai

Chương 3: Triển khai và đánh giá kết quả: Chương này trình bày kết quả

demo

Kết luận: Tổng kết kết quả đạt được, ưu khuyết điểm của chương trình và

hướng phát triển

Trang 18

CHƯƠNG 1. CƠ SỞ LÝ THUYẾT1.1 Giới thiệu về Struts framework

Giới thiệu chung

Struts là một framework phục vụ việc phát triển các ứng dụng Web trênJava Sử dụng mẫu thiết kế Model-View-Controller (MVC), Struts giải quyếtrất nhiều các vấn đề liên quan đến các ứng dụng Web hướng business đòi hỏihiệu năng cao sử dụng Java servlet và JSP Struts cơ bản định hình lại cách cácWeb programmer nghĩ về và cấu trúc một ứng dụng Web

Để hiểu Struts, việc hiểu rõ kiến trúc MVC là một điều quan trọng Phầnnày sẽ đi sâu hơn một chút vào từng phần của kiến trúc MVC

o Model component

Trong kiến trúc MVC, các model component cung cấp một giao diện với

dữ liệu và/hoặc các dịch vụ được sử dụng bởi ứng dụng Theo cách này, cáccontroller component không cần phải chứa code để thao tác với dữ liệu củaứng dụng Thay vào đó, chúng giao tiếp với các model component để thựchiện truy cập và thao tác dữ liệu Như vậy, các model component cung cấpbusiness logic Các model component có thể ở nhiều dạng từ các Java beanđến các EJB hay các Web service

o View component

Các view component được sử dụng trong kiến trúc MVC để generateresponse về browser Như vậy một view component cung cấp những gì màuser nhìn thấy Thường thì các view component là các trang JSP hay HTMLđơn giản Tuy nhiên, các view component cũng có thể sử dụng WML hay cáccông nghệ khác Đây là một ưu điểm thiết kế chính của MVC Bạn có thể sửdụng bất kỳ công nghệ hiển thị nào mà không sợ tác động đến lớp Model củaứng dụng

o Controller component

Ở trung tâm của kiến trúc MVC là các controller component Controllerthường là một serlvet tiếp nhận các request cho ứng dụng và quản lý luồng dữliệu giữa lớp Model và lớp View Như vậy, nó điều khiển cách mà các lớp

Trang 19

Model và View tương tác Controller thường sử dụng các helper class đểchuyển điều khiển qua các request hay tiến trình xác định.

Struts ra đời bằng việc kế thừa và mở rộng các Java Servlet API nhưng theocác hướng đối tượng hơn theo mẫu thiết kế MVC Struts phân chia việc xử lýtheo dạng từng action một và tách biệt phần xử lý và phần hiển thị ra nên việcphát triển tương đối thuận lợi và dễ dàng hơn

o Các thành phần component của Struts

Struts Controller Components: đóng vai trò nhận các giá trị input từ client,gọi những phương thức để thực thi nghiệp vụ bussiness, trả dữ liệu về và chọnphần view phù hợp để hiển thị

Struts Model Components: bao gồm các lớp cần thiết để xử lý nhữngphương thức bussiness, ngoài ra còn có các lớp DTOs(Data Transfer Objects),các lớp truy xuất cơ sở dữ liệu…

Struts View Components: đây là phần hiển thị của ứng dụng web bao gồmcác file HTML, các phần data transfer object, JSP, custom tabs, quản lý các tàinguyên…

o Tính tương thích và kết hợp

Strust có thể tương thích với các framework khác như hibernate, Spring…Đối với struts2 thì việc phát triển ứng dụng web đặt biệt dễ dàng hơn và kếthợp với các framework khác cũng dễ dàng hơn bằng việc viết thêm các plugin.Struts hỗ trợ tốt cho các công nghệ view khác nhau như: Jsp, Velocicty,Freemarker, Tile

 Hỗ trợ Annotation validate và intercepter đối với Struts2

Struts2 có hỗ trợ việc validation trực tiếp trong source code Java bằng các

ký pháp anotation của Java5 Ngoài ra Struts2 còn được thừa hưởng tính năng

hỗ trợ intercepter của Webwork giúp người phát triển có thể dễ dàng thực hiệnnhững công việc phức tạp theo hướng lập trình AOP

Trang 20

o Model là gì?

Trong một ứng dụng MVC, Model layer thường là phần lớn nhất và quantrọng nhẩt Model là ngôi nhà của code bussiness logic và truy nhập dữ liệu;nói cách khác, Model chứa phần nhân của ứng dụng

Kiến trúc MVC chỉ ra rằng Model layer nên độc lập với các layer View vàController Theo cách đó, code nhân ứng dụng có thể được sử dụng lặp lại vớinhiều giao diện Mỗi giao diện (Web, stand-alone, ) chứa mã riêng nó chogiao diện người dùng (View) nhưng có thể tái sử dụng nhân ứng dụng(Model) Đó là điều cơ bản trong kiến trúc MVC: tạo một sự phân tách rõ ràng

và giảm thiểu sự phụ thuộc giữa các layer

o Phân rã Model

Thường thì một Model layer của một ứng dụng MVC được thiết kế tốt đượcchia làm 3 layer con Mỗi layer con có thể được xem như một thành phần(component) của Model

Mỗi layer con không nhất thiết phải được thể hiện trong các class riêng biệt.Bạn có thể gộp tất cả các phần code cho các layer này vào trong một class lớn.Việc lựa chọn cách thể hiện là tùy thuộc vào bạn nhưng cấn chú ý đến độ phứctạp của chương trình và việc bảo trì cũng như mở rộng sau này Các layer conbao gồm:

+ External interface: Chứa các code để cung cấp một giao diện cho phéptương tác với Model

+ Bussiness logic: Chứa đựng phần lớn mã Model và cung cấp các tínhnăng business cho ứng dụng

+ Data access: Chứa code để tương tác với nguồn dữ liệu của ứng dụng,chẳng hạn CSDL

o Struts và Model

Struts framework không cung cấp bất cứ đặc trưng hay ràng buộc xác địnhnào trong việc phát triển Model layer trong ứng dụng của bạn Khi nhìn thoángqua lần đầu, điều này có vẻ hơi kỳ quặc, vì Struts được thiết kế để xây dựngcác ứng dụng MVC Tuy nhiên, nó lại nắm giữ một đặc trưng thiết kế chínhcủa Struts và là một điểm lợi Vì không bắt buộc Model layer phải được xâydựng như thế nào, Struts mang lại cho bạn sự mềm dẻo đẻ sử dụng bất cứ cáchtiếp cận hay công nghệ nào để xây dựng Model layer, chúng có thể là EJB,JDO hay mẫu DAO

Vì Model định nghĩa business logic, nó là nơi kết thúc của Struts và codeứng dụng của bạn bắt đầu Code Model của bạn sẽ được truy nhập bởi cácsubclass của Action (Action là một phần của Controller của Struts framework)

Trang 21

Các subclass của Action tương tác với Model thông qua giao diện của Action

và sử dụng Data Transfer Object để chuyển và lấy dữ liệu

Bạn ko nên đặt bất cứ code business logic hay truy cập dữ liệu nào trongcác Action object Điều này bỏ qua việc phân tách Model và Controller Tương

tự, code Model của bạn không nên tham chiếu tới bất cứ Struts code hayobject Vi phạm luật này, sẽ tạo sự ràng buộc không cần thiết giữa code nhânứng dụng và Struts

1.1.2 Cách làm việc của Struts

Trình thực thi được định dạng bằng một tài liệu XML có tên là "web.xml".Mặt khác, Struts sử dụng một file cấu hình "Struts-config.xml" để khởi tạo cáctài nguyên cần thiết Những tài nguyên này bao gồm các ActionForms để lấycác yêu cầu của người dùng, ActionMappings để chỉ đến các Actions phíatrình phục vụ Server, và các ActionForward để chọn các trang hiển thị

Bạn có thể mô tả nhiều loại tài nguyên trong file cấu hình Bạn có thể mô tảcác định dạng hợp lệ cho các ActionForms trong một đặc tả XML bằng việc sửdụng Bộ kiểm tra tính hợp lệ của Struts Một mở rộng khác gọi là Tiles, nógiúp bạn xây dựng những trang web từ các phân đoạn nhỏ hơn

Struts là một framework mở Mỗi lớp thực thi bằng Struts có thể thay thếbằng các lớp mặc định (Struts xây dựng sẵn) Các thuộc tính của lớp mặc địnhnày có thể được thiết lập bằng việc sử dụng thẻ set-property của Digester (Bộchuyển đổi các cấu hình từ XML sang Java) Đó là một lý do giải thích việc córất nhiều các phiên bản mở rộng cho Struts Struts cung cấp một môi trường

Trang 22

làm việc nền tảng, nhưng bạn vẫn có thể viết các ứng dụng theo cách riêng củabạn.

web.xml : Bất cứ khi nào container được khởi động thì công việc đầu tiêncủa nó là để kiểm tra file web.xml và xác định sự tồn tại của struts actionServlets Container trả về ánh xạ tất cả các yêu cầu tập tin để hoạt động đúngServlet

A Request : Đây là bước thứ hai thực hiện bằng container sau khi kiểm trafile web.xml.Trong này người sử dụng submits một form trên trình duyệt vàyêu cầu được chặn bởi bộ điều khiển

The Controller : Đây là trung tâm của container Hầu hết các ứng dụngStruts sẽ chỉ có một bộ điều khiển đó là ActionServlet mà responsible một sốAction Bộ điều khiển xác định những hành động nào được yêu cầu và sẽ gửicác thông tin để được xử lý bởi một action Bean

struts.config.xml: Struts có một file cấu hình để lưu trữ ánh xạ của hànhđộng Bằng cách sử dụng tập tin này không cần code module mà sẽ được gọitrong một component Struts chỉ đọc file struts.config.xml khi bắt đầu khởitạo

Model :Các model về cơ bản là một phần logic business mà lấy các phảnhồi(response) từ người sử dụng và lưu trữ các kết quả trong thời gian của quátrình Đây là một nơi tuyệt vời để thực hiện bộ tiền xử lý của dữ liệu nhậnđược từ yêu cầu Nó có thể tái sử dụng các model tương tự cho nhiều trang yêucầu Struts cung cấp ActionForm và các lớp Action mà có thể được mở rộng đểtạo ra các đối tượng model

View : Mỗi thành phần View trong Struts Framework được ánh xạ đến mộttrang JSP, trang này có thể chứa bất kỳ sự kết hợp nào của các thẻ tùy biếnStruts, JSP, và HTML Các trang JSP trong Struts Framework có hai chức năngchính Thứ nhất, đóng vai trò là tầng trình bày của một Controller Action đãđược thực thi trước đó Điều này thường được hoàn thành bằng cách sử dụngmột tập thẻ tùy biến để duyệt và thu lấy dữ liệu mà Controller Action chuyểnđến JSP đích Loại View này không thể hiện đặc trưng của Struts và khôngđược lưu tâm

Chức năng thứ hai, thể hiện đặc trưng của Struts, là thu thập dữ liệu cầnthiết để thực hiện một Controller Action cụ thể Điều này thường được hoànthành bằng cách kết hợp các thư viện thẻ Struts và các đối tượng ActionForm.Loại View này chứa một số lớp và thẻ đặc-trưng-Struts

Struts tag libraries : Đây là những struts components giúp chúng ta để tíchhợp với struts framework trong project's logic

Property file : Nó được dùng để lưu trữ các thông điệp mà một đối tượnghoặc trang có thể sử dụng Properties files có thể được dùng để lưu trữ các tiêu

Trang 23

đề và dữ liệu dạng chuỗi khác Chúng ta có thể tạo nhiều property files để xử

lý nhiều ngôn ngữ khác nhau

The Response : Đây là output của các đối tượng View JSP

Application.properties: file này cung cấp nguồn thông điệp cho ứng dụngcủa bạn Giống như build.xml nó không cần thiết nhưng được sử dụng hầu hếttrong các ứng dụng struts

Trong khi làm việc với những file này có thể không giống như “Phát triểnJAVA” Dùng nó chỉ để làm cho ứng dung của bạn dễ quản lý hơn Trong phầnnày chúng ta chỉ xem một chút về công dụng của nó đối với ứng dụng của bạn

o Web.xml file

Mục đích và định dạng của việc cài đặt ứng dụng web được tạo bởi SunServlet Về căn bản, nó dùng để nói cho thành phần servlet biết làm thế nào đểcấu hình các servlet và một vài đối tượng cấp cao hơn mà ứng dụng bạn cần.Struts framework bao gồm hai thành phần mà cần được cấu hình thông quaứng dụng của bạn đó là ActionServlet và sự lựa chọn thư viện tag Trong hầuhết các ứng dụng đều sử dụng thư viện tag, nhưng đó không phải là yêu cầubắt buộc Ứng dụng mà chỉ dùng XLST và khung mẫu Velocity thì không cầnphải cấu hình những thư viện tag này

o Struts-config.xml

File này để tải một vài thành phần struts Cùng với nhau, những file này sẽtạo nên cấu hình của struts File cấu hình struts và ActionServlet làm việc cùngnhau để tạo nên lớp điều khiển cho ứng dụng của bạn Trong phần này chúng

ta sẽ khám phá vì sao chúng ta câng file struts-config.xml

Struts-config sẽ xuyên suốt ứng dụng của bạn Nó biết được những trườngnào trên form của bạn Nó biết nơi mà trang JSP có thể được tìm thấy Nó biết

Trang 24

về mọi Action mà ứng dụng bạn thực hiện và biết chính xác các nguồn mànhững Action này cần.

Điều này giống như là rất nhiều các thông tin được lưu trữ trong một nơi.Nhưng bằng việc lưu trữ những thông tin này cùng nhau, nhiều lập trình viêncảm thấy ứng dụng của họ dễ dàng được tạo và quản lý

Nhiều thành phần trong struts được cấu hình là một đối tượng Java Đốitượng ActionForm để định nghĩa về các trường và form Đối tượngActionForward được biết là nơi để tìm kiếm trang JSP Đối tượngActionMapping biết cái Form nào và cái Forward nào được dùng với các câulệnh để ứng dụng bạn có thể hiểu được

Các thành phần trong struts-config

Hình 1: Các thành phần trong struts-config

Trang 25

Để khởi tạo một ActionForm, bạn phải kế thừa từ lớp ActionForm củastruts Với mỗi thuộc tính của lớp nên cung cấp hàm setter và getter để lấy vàgán dữ liệu cho các thuộc tính.

Bởi vì ActionForm là một JavaBean cho nên cũng nên kế bởi Serializable ,theo yêu cầu của đặc tả JavaBean

o Struts Action Class

Lớp Action trong struts được extends từ classorg.apache.struts.action.Action Nó hoạt động như sự gắn kết giữa lớp View vàModel Mặc khác nó cũng truyền dữ liệu từ lớp View đến lớp business xử lý

và cuối cùng trả dữ liệu đã xử lý từ lớp bussiness về View

Lớp Action xử lý các HTTP request, và tạo sự phản hồi từ HTTP response.Các tham số: mapping: ActionMapping sử dụng để chọn trường hợp này:form : Tùy chọn ActionForm cho yêu cầu (nếu có)

request : The HTTP request

response : The HTTP response

o Struts DispathAction Class

Lớp org.apache.struts.actions.DispatchAction cho phép một người sử dụng

để thu thập các chức năng liên quan trong một action đơn lẻ Nó giúp loại bỏ

sự cần thiết của việc tạo ra nhiều Action độc lập cho mỗi chức năng Với cácaction mà extend từ DispatchAction thì sẽ thực hiện được nhiều hành độngphụ thuộc vào tham số truyền từ url mà được điều khiển bởi controller

Ví dụ về DispathAction

Định nghĩa form Bean trong struts-config.xml file

<form-bean name="DispatchActionForm" type="package.DispatchActionForm"/>

Phát triển Action Mapping trong the struts-config.xml

<action path="/DispatchAction"

type=" package.Dispatch_Action"

Trang 26

<forward name="add" path="/pages/DispatchActionAdd.jsp" />

<forward name="edit" path="/pages/DispatchActionEdit.jsp" />

<forward name="search" path="/pages/DispatchActionSearch.jsp"/>

<forward name="save" path="/pages/DispatchActionSave.jsp" />

</action>

Phát triển trang jsp

<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean"%>

<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html"%>

<html:html locale="true">

<HEAD>

<TITLE>Dispatch Action Example</TITLE>

<BODY>

<H3>Dispatch Action Example</H3>

<p><html:link page="/DispatchAction.do?parameter=add">Call Add Section</html:link></p>

<p><html:link page="/DispatchAction.do?parameter=edit">Call Edit Section</html:link></p>

<p><html:link page="/DispatchAction.do?parameter=search">Call Search

Section</html:link></p>

<p><html:link page="/DispatchAction.do?parameter=save">Call Save Section</html:link></p>

</html:html>

o Struts LookupDispathAction Class

Lớp org.apache.struts.actions.LookupDispatchAction là lớp con của lớp org.apache.struts.actions.DispatchAction Nó giống lớp DispatchAction chỉngoại trừ là nó sử dụng một Java Map and ApplicationResource.properties todispatch giao thức

Định nghĩa Message Resources in struts-config.xml

<message-resources parameter=" package.ApplicationResources" />

Action Mapping in the struts-config.xml

<action

path="/LookupDispatchAction"

type=" package.LookupDispatch_Action"

Trang 27

<forward name="add" path="/pages/LookupDispatchActionAdd.jsp" />

<forward name="edit" path="/pages/LookupDispatchActionEdit.jsp" />

<forward name="search" path="/pages/LookupDispatchActionSearch.jsp"/>

<forward name="save" path="/pages/LookupDispatchActionSave.jsp" />

</action>

LookupDispatchAction.jsp

<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean"%>

<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html"%>

<html:html locale="true">

<HEAD>

<TITLE>Dispatch Action Example</TITLE>

<BODY>

<H3>Dispatch Action Example</H3>

<p><html:link page="/LookupDispatchAction.do?parameter=add">Call Add

Section</html:link></p>

<p><html:link page="/LookupDispatchAction.do?parameter=edit">Call Edit

Section</html:link></p>

<p><html:link page="/LookupDispatchAction.do?parameter=search">Call

o Struts ForwardAction Class

Lớp org.apache.struts.actions.ForwardAction cho phép người dùng đểchuyển tiếp yêu cầu đến URL được chỉ định

Trang 28

+ Bean: Sử dụng để làm việc với các Java bean object trong JSP

+ Logic: Sử dụng để implement các logic điều kiện đơn giản trong JSP+ Nested: Sử dụng để cho phép các mức nested tùy ý

Để sử dụng các Struts Tags ta phải include :

<%@ taglib uri ="http://struts.apache.org/tags-bean" prefix ="bean" %>

<%@ taglib uri ="http://struts.apache.org/tags-html" prefix ="html" %>

<%@ taglib uri ="http://struts.apache.org/tags-logic" prefix ="logic" %>

<%@ taglib uri ="http://struts.apache.org/tags-nested" prefix ="nested" %>

o Struts HTML Tags

- Thẻ <html:button>

Thẻ này giúp cho chúng ta hiển thị ra một button với các thuộc tính kháccủa nó Ví dụ:

< html:button property ="dongY"

name ="abcForm" style ="width: 196px"

value ="Đồng ý" styleClass ="btn_a" />

- Thẻ <html:checkbox>

Thẻ này giúp chúng ta hiển thị một ô checkbox Ví dụ:

< html:checkbox value ="check" property ="check1" styleId ="check1" />

- Thẻ <html:select> và <html:option>

Hai thẻ này giúp chúng ta hiện thị 1 list danh sách và chọn một trong số đó

Ví dụ:

< html:select

styleClass ="btn btn-warning dropdown-toggle"

name ="adminDatHangForm" property ="maTaiKhoan"

style ="width:196px" > < logic:iterate id ="i1" name ="adminDatHangForm"

property ="dsKH" indexId ="h" >

< bean:define id ="hoTen" name ="i1" property ="hoTen" ></ bean:define >

< bean:define id ="id" name ="i1"

property ="id" ></ bean:define >

< html:option value ="${id}" > ${hoTen} </ html:option >

Trang 29

- Thẻ <html:optios>

Tương tự như thẻ <html:option>, thẻ <html:options> cũng đi kèm với thẻ

<html:select> để cung cấp cho ta một sự lựa chọn trong số các sự lựa chọn cósẵn, nhưng với một thẻ <html:option> chỉ cho ta chọn một giá trị thì mỗi thẻ

<html:options> lại cho ta nhiều giá trị hơn, khi ta truyền vào cho nó là 1 list

Ví dụ:

< html:select property ="fruit" value ="Select"

< html:option value ="Select" > Select </ html:option >

< html:options name ="StrutsDropDownForm"

Cả 2 thẻ đều liên quan đến truy xuất hình ảnh, nhưng khác biệt ở chổ, thẻ

<html:img> chỉ dùng để hiện thị hình ảnh, còn thẻ <html:image> cho phépchúng ta vừa hiện thị hình ảnh vừa làm chức năng như 1 thẻ <html:select>Ngoài ra còn có các thẻ khác như:

- Thẻ <html:radio>: Hiện thị radio button

- Thẻ <html:text> và <html:textarea>: hiện thị văn bản

- Thẻ <html:password> tùy chọn trường nhập là password

- …

o Struts Logic Tags

Có các thẻ:

- <logic:iterate>: Dùng để duyệt một danh sách truyền vào

- <logic:match>và <logic:notMatch>: dùng để kiểm tra chuỗi con

- <logic:equal> và <logic:notEqual>: dùng để so sánh

- …

o Struts Bean Tag

- <bean:define>: Định nghĩa một biến

- <bean:write>: Xuất 1 biến

Trang 30

1.2 Tìm hiểu hệ quản trị cơ sở dữ liệu SQL server

o Giới thiệu

SQL Server là một hệ thống quản lý cơ sở dữ liệu (Relational DatabaseManagement System (RDBMS)) sử dụng Transact-SQL để trao đổi dữ liệugiữa Client computer và SQL Server computer Một RDBMS bao gồmdatabases, database engine và các ứng dụng dùng để quản lý dữ liệu và các bộphận khác nhau trong RDBMS

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

o Đặc điểm

- Thích hợp trên các hệ điều hành Windows

- Dễ cài đặt

- Hoạt động với nhiều giao thức truyền thông

- Hỗ trợ dịch vụ Data Warehousing

- Thích hợp với chuẩn ANSI/ISO SQL-92

- Cung cấp dịch vụ tìm kiếm Full-Text

- Sách trợ giúp- Book Online

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ấu trúc lưu trữ và tổ chức dữ liệu cũng như mối quan hệ giữacác thành phần dữ liệu, SQL cho phép quản trị với tệp dữ liệu lên tới32TB (Tetabyte)

- Truy xuất và thao tác dữ liệu: Với SQL, người dùng có thể dễ dàng thựchiện các thao tác truy xuất, bổ sung, cập nhật và loại bỏ dữ liệu trongcá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átcác thao tá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ướccác thao tác cập nhật cũng như các lỗi của hệ thống

Trang 31

1.2.1.2 Thành phần hệ SQL server

- MS SQL Server Service

- SQL Server Agent Service

- Microsoft Distributed Transaction Coordinator

- Microsoft Search

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 trongcá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ậptrình như C, C++, Java, song các câu lệnh mà SQL cung cấp có thể đượcnhúng vào trong các ngôn ngữ lập trình nhằm xây dựng các ứng dụng tươngtá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ầucần phả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ựchiện các yê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

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

 English Query - Một dịch vụ mà người Việt Nam chắc là ít muốn dùng.Ðây là một dịch vụ giúp cho việc query data bằng tiếng Anh "trơn"

(plain English)

 SQL Server Books Online - Cho dù bạn có đọc các sách khác nhau dạy

về SQL server thì bạn cũng sẽ thấy books online này rất hữu dụng và khôngthể thiếu được

 SQL Server Tools - Ðây là một bộ đồ nghề của người quản trị cơ sở dữliệu (DBA)

Ở đây người viết chỉ kể ra một vài công cụ thông dụng mà thôi

Trang 32

Ðầu tiên phải kể đến Enterprise Manager Ðây là một công cụ cho ta thấy

toàn cảnh hệ thống cơ sở dữ liệu một cách rất trực quan Nó rất hữu ích đặcbiệt cho người mới học và không thông thạo lắm về SQL

Kế đến là Query Analyzer Ðối với một DBA giỏi thì hầu như chỉ cần

công cụ này là có thể quản lý cả một hệ thống database mà không cần đếnnhững thứ khác Ðây là một môi trường làm việc khá tốt vì ta có thể đánhbất kỳ câu lệnh SQL nào và chạy ngay lập tức đặc biệt là nó giúp cho tadebug mấy cái stored procedure dễ dàng

Trang 33

CHƯƠNG 2. PHÂN TÍCH THIẾT KẾ HỆ THỐNG

Trong chương này, mục đích chính là xác định chức năng, phân tích chứcnăng, xây dựng sơ đồ hoạt động chính của ứng dụng Qua đó phân tích chi tiếtcác chức năng và vẻ sơ đồ hoạt động của mỗi chức năng

2.1 XÁC ĐỊNH YÊU CẦU

2.1.1 Yêu cầu chức năng

Tổng quan về hoạt động của hệ thống:

Sơ đồ mô tả hoạt động hệ thống

Trong sơ đồ trên có 3 phần chính:

Client: là các máy tính của người sử dụng, do người dùng hoặc quản lý(Admin) sử dụng Khi client gởi yêu cầu lên thì website sẽ đóng vai trò nhậnthông điệp, gởi lên cơ sở dữ liệu và trả lại kết quả cho client

Website: Website chứa các thông tin cần thiết, chứa phương thức nhận vàgởi dữ liệu, là môi trường giao tiếp giữa người sử dụng và hệ thống, đảm bảogiao tiếp giữa client và cơ sở dữ liệu

Cơ sở dữ liệu: Được thiết kế trên SQL server, Cơ sở dữ liệu sẽ được cậpnhật thay đổi liên tục

o Thành viên(các ĐH trực thuộc), quản lý (Admin) và Người dùng:

 Thành viên(các ĐH trực thuộc):

- Xem các thông tin về VBCC

- Xem thông tin chi tiết về các VBCC của mình

- Đăng ký VBCC mới, bản sao, hoặc đăng ký hủy VBCC

- Quản lý thông tin cá nhân:

 Xem thông tin cá nhân

 Chỉnh sửa thông tin cá nhân

- Tải biểu mẫu:

Trang 34

 Xem các biểu mẫu hiện có trên website

 Tải biểu mẫu về và xử lý

- Đăng xuất

 Quản lý (Admin):

- Quản lý thành viên:

 Xem danh sách các thành viên

 Chỉnh sửa thông tin cá nhân của thành viên

 Xóa thông tin thành viên

- Xem thông tin website:

 Xem danh sách các biểu mẫu, kết quả hủy VBCC

 Địa chỉ, thông tin liên hệ

2.1.2 Yêu cầu phi chức năng

- Trình bày rõ ràng, chi tiết

- Giao diện thân thiện, dễ sử dụng

- Đầy đủ chức năng yêu cầu

2.2 PHÂN TÍCH VÀ THIẾT KẾ CHỨC NĂNG

2.2.1 Sơ đồ use case (biểu đồ ca sử dụng)

Một ca sử dụng là một tập hợp các hoạt động của hệ thống nhằm trả lời yêucầu của một tác nhân

Một ca sử dụng được thực hiện bằng một cộng tác

Biểu đồ ca sử dụng mô tả tập hợp các ca sử dụng, các tác nhân và nhữngquan hệ giữa chúng Các biểu đồ ca sử dụng mô tả cái nhìn tĩnh về hệ thốngdưới con mắt người sửa dụng

Trang 35

2.2.1.1 Sơ đồ use case Admin

Hình 1: Sơ đồ use case cho Hệ thống

Hình 2: Sơ đồ use case cho Thành Viên

Trang 36

2.2.1.3 Sơ đồ use case Người dùng

Hình 3: Sơ đồ use case cho Người dùng

Trang 37

2.2.1.4 Admin: Quản lý thông tin thành viên

Hình 4: Sơ đồ use case Admin quản lý thông tin cá nhân

Ngày đăng: 19/03/2019, 21:53

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