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

framework và ứng dụng cho bài toán tuyển sinh trực tuyến tại các trường đại học

84 387 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 84
Dung lượng 1,71 MB

Nội dung

LỜI CAM ĐOAN Tôi xin cam đoan rằng, đây là công trình nghiên cứu của tôi trong đó có sự giúp đỡ rất lớn của thầy hƣớng dẫn và các đồng nghiệp ở cơ quan, các bạn học viên. Các nội dung nghiên cứu và kết quả trong đề tài này là hoàn toàn trung thực. Trong luận văn, tôi có tham khảo đến một số tài liệu của một số tác giả đã đƣợc liệt kê tại phần Tài liệu tham khảo ở cuối luận văn. Thái Nguyên, ngày 10 tháng 1 năm 2013

Trang 1

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/

ĐẠI HỌC THÁI NGUYÊN

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

=====  =====

PHẠM DUY HỌC

FRAMEWORK VÀ ỨNG DỤNG CHO BÀI TOÁN TUYỂN SINH TRỰC TUYẾN TẠI CÁC

TRƯỜNG ĐẠI HỌC

LUẬN VĂN THẠC SĨ: CÔNG NGHỆ THÔNG TIN

THÁI NGUYÊN - 2013

Trang 2

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/

LỜI CẢM ƠN

Trước tiên tôi xin được bày tỏ sự trân trọng và lòng biết ơn đối với PGS.TS

Nguyễn Văn Vỵ, giảng viên Khoa Công nghệ thông tin - Trường Đại học Công

nghệ - ĐHQGHN Trong thời gian học và làm luận văn tốt nghiệp, thầy đã dành

nhiều thời gian quí báu và tận tình chỉ bảo, hướng dẫn tôi trong việc nghiên cứu,

thực hiện luận văn

Tôi xin được cảm ơn các GS, TS đã giảng dạy tôi trong quá trình học tập và

làm luận văn Các thầy đã giúp tôi hiểu thấu đáo hơn lĩnh vực mà mình nghiên cứu

để có thể vận dụng các kiến thức đó vào trong công tác của mình

Xin cảm ơn các bạn bè, đồng nghiệp và nhất là các thành viên trong gia đình

đã tạo mọi điều kiện tốt nhất, động viên, cổ vũ tôi trong suốt quá trình học tập và

nghiên cứu để hoàn thành tốt bản luận văn tốt nghiệp này

Học viên

Phạm Duy Học

ĐẠI HỌC THÁI NGUYÊN

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

=====  =====

PHẠM DUY HỌC

FRAMEWORK VÀ ỨNG DỤNG CHO BÀI TOÁN

TUYỂN SINH TRỰC TUYẾN TẠI CÁC TRƯỜNG ĐẠI HỌC

Chuyên ngành: Khoa học máy tính

Mã số: 60 48 01

LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH

NGƯỜI HƯỚNG DẪN KHOA HỌC:

PGS.TS Nguyễn Văn Vỵ

Thái Nguyên – Năm 2013

Trang 4

LỜI CAM ĐOAN

Tôi xin cam đoan rằng, đây là công trình nghiên cứu của tôi trong đó có sự giúp đỡ rất lớn của thầy hướng dẫn và các đồng nghiệp ở cơ quan, các bạn học viên Các nội dung nghiên cứu và kết quả trong đề tài này là hoàn toàn trung thực

Trong luận văn, tôi có tham khảo đến một số tài liệu của một số tác giả đã được liệt kê tại phần Tài liệu tham khảo ở cuối luận văn

Thái Nguyên, ngày 10 tháng 1 năm 2013

Học viên

Phạm Duy Học

Trang 5

1 Cơ sở khoa học và thực tiễn của đề tài 1

2 Đối tượng và phạm vi nghiên cứu 2

Chương 1: TỔNG QUAN VỀ FRAMEWORK 4 1.1 Khái niệm về framework 4 1.1.1 Định nghĩa về framework 5 1.1.2 Cấu trúc của một framework 6 1.1.3 Phân biệt framework với các khái niệm khác 8 1.1.4 Các đặc điểm của framework 10 1.2 Phân loại khung làm việc 11 1.2.1 Phân loại framework theo vùng vấn đề 11 1.2.2 Phân loại framework theo cấu trúc nội bộ 12 1.3 Các phương pháp phát triển framework 14 1.3.1 Quy trình phát triển dựa trên các kinh nghiệm ứng dụng 14 1.3.2 Quy trình phát triển framework dựa trên phân tích miền vấn đề 15 1.3.3 Quy trình phát triển framework sử dụng các mẫu thiết kế 16 1.3.4 Quy trình phát triển framework chung 16 1.4 Giới thiệu khung làm việc Higgin Trust 18 1.4.1 Tổng quan về khung làm việc Higgin Trust 18 1.4.2 Các thành phần của Higgins 19 1.4.3 Mô hình dữ liệu của Higgins 23

1.5 Khung làm việc View-Model-Controler (VMC) 26

1.5.3 Vai trò của các thành phần M-V-C trong Web framework 27 Chương 2: MÔ TẢ NGHIỆP VỤ, ĐẶC TẢ BÀI TOÁN TUYỂN SINH TRỰC TUYẾN TẠI CÁC TRƯỜNG ĐẠI HỌC 32 2.1 Bài toán tuyển sinh và những vấn đề đặt ra 32 2.1.1 Nội dung các hoạt động tuyển sinh 33 2.1.2 Những vấn đề đặt ra cho hoạt động tuyển sinh 34

Trang 6

2.3 Đặc tả nghiệp vụ của bài toán tuyển sinh trực tuyến 36 2.3.1 Các tiến trình nghiệp vụ của hoạt động tuyển sinh 36 2.3.2 Các tác nhân, các đối tượng và các thao tác nghiệp vụ 38 2.3.3 Mô hình miền lĩnh vực 39 2.3.4 Phân tích các ca sử dụng (Use case) cho bài toán tuyển sinh trực tuyến

2.3.5 Mô hình các ca sử dụng và mô tả các ca sử dụng, mô hình miền 43 Chương 3: ỨNG DỤNG FRAMEWORK VÀ THIẾT KẾ CÁC LỚP ĐỐI TƯỢNG CHO BÀI TOÁN TUYỂN SINH TRỰC TUYẾN 56 3.1 Mô hình liên kết giữa các lớp cho bài toán tuyển sinh trực tuyến 56 3.2 Mô hình cộng tác của các ca sử dụng trong gói 56 3.3 Biểu đồ tuần tự thực thi các ca sử dụng 60 3.4 Mô hình liên kết giữa các lớp 65 3.5 Mô tả chi tiết các lớp 66 Chương 4 : CHƯƠNG TRÌNH TUYỂN SINH TRỰC TUYẾN TẠI ĐẠI HỌC

4.1.1 Yêu cầu cấu hình phần cứng 69 4.1.2 Môi trường phát triển, vận hành 69 4.2 Giới thiệu chương trình 69 4.2.1 Các hệ con và chức năng 69 4.2.2 Một số giao diện chính 70 4.3 Hướng dẫn sử dụng một số chức năng chính 71 4.3.1 Chức năng đăng ký thi tuyển 71 4.3.2 Chức năng thông báo kết quả thi tuyển 71 4.3.3 Chức năng lịch thi, địa điểm thi, tra cứu phòng thi 71

Trang 7

BẢNG CÁC CHỮ VIẾT TẮT

CBTS Cán bộ tuyển sinh

CNĐKDT Cập nhật hồ sơ đăng ký dự thi

ĐH & CĐ Đại học và Cao đẳng

ĐHCNQN Đại học Công nghiệp Quảng ninh

GD&ĐT Giáo dục và Đào tạo

HĐTS Hội đồng tuyển sinh

HSDK Hồ sơ đăng ký

KB Kiểm bài, đánh phách, chia túi

KHTS Lập kế hoạch tuyển sinh

XL HS Xử lý hồ sơ đăng ký dự thi

XPT Đánh số báo danh, phân cụm, xếp phong thi

XTS Xét tuyển sinh, lên thông báo

Trang 8

API Application Programming Interface

JMF Java Media Framework

MVC Model-View-Controller

PAC Presentation-Abstraction-Controller

Trang 9

DANH SÁCH CÁC HÌNH VÀ BẢNG

Hình 1.1: Mối quan hệ giữa các thành phần khác nhau của framework 6

Hình 1.2: Phát triển framework dựa trên kinh nghiệm ứng dụng [10] 14

Hình 1.3: Quy trình phát triển framework dựa trên phân tích miền vấn đề [10] 15

Hình 1.4: Quy trình phát triển framework sử dụng các mẫu thiết kế [10] 16

Hình 1.5: Quy trình phát triển khung làm việc chung [10] 17

Hình 1.6: Higgins Trust Framework 19

Hình 1.7: Kiến trúc của Higgins 19

Hình 1.8: RP Enablement 20

Hình 1.9: Kiến trúc Token Service 22

Hình 1.10: Mô hình MCV 27

Hình 2.1: Biểu đồ hoạt động của Xác định chỉ tiêu tuyển sinh 37

Hình 2.2: Biểu đồ hoạt động Công bố yêu cầu thi tuyển, tiếp nhận đăng ký thi 37

Hình 2.3: Biểu đồ hoạt động Công bố yêu cầu tuyển chọn, tiếp nhận đăng ký 38

Hình 2.4: Biểu đồ hoạt động Công bố kết quả và gửi kết quả tuyển sinh 38

Hình 2.5 Biểu đồ mô hình miền lĩnh vực tuyển sinh trực tuyến 40

Hình 2.6: Mô hình ca sử dụng mức cao 43

Hình 2.8: Biểu đồ ca sử dụng gói đăng ký dự thi mức chi tiết 44

Hình 2.9: Mô hình ca sử dụng gói xử lý hồ sơ đăng ký dự thi 44

Hình 2.10: Mô hình gói xử lý điểm thi 45

Hình 2.11: Mô hình miền gói tuyển sinh trực tuyến 55

Hình 3.1: Mô hình liên kết giữa các lớp trong gói đăng ký dự thi 56

Hình 3.2: Biểu đồ cộng tác thực thi ca sử dụng Nhập mới hồ sơ đăng ký dự thi 56

Hình 3.3: Biểu đồ cộng tác thực thi ca sử dụng tìm kiếm hồ sơ đăng ký dự thi 57

Hình 3.4: Biểu đồ cộng tác thực thi ca sử dụng xoá hồ sơ đăng ký dự thi 57

Hình 3.5: Biểu đồ cộng tác thực thi ca sử dụng thống kê báo cáo 57

Hình 3.6: Mô hình liên kết giữa các lớp cẳt dụng tách hồ sơ theo cụm thi 57

Hình 3.7: Biểu đồ cộng tác thực thi ca sử dụng tách hồ sơ theo cụm thi 58

Hình 3.8: Biểu đồ cộng tác thực thi ca sử dụng lập danh sách phòng thi 58

Hình 3.9: Biểu đồ cộng tác thực thi ca sử dụng in giấy báo thi 58

Hình 3.10:Biểu đồ cộng tác thực thi ca sử dụng dồn túi 59

Hình 3.11: Biểu đồ cộng tác thực thi ca sử dụng cập nhật điểm 59

Hình 3.12: Biểu đồ cộng tác thực thi ca sử dụng tổng hợp điểm 59

Hình 3.13: Biểu đồ tuần tự cho thực thi ca sử dụng thêm hồ sơ 61

Hình 3.14: Biểu đồ tuần tự cho thực thi ca sử dụng tìm kiếm hồ sơ 61

Hình 3.15: Biểu đồ tuần tự cho thực thi ca sử dụng xoá hồ sơ 62

Hình 3.16: Biểu đồ tuần tự cho thực thi ca sử dụng sửa hồ sơ 62

Hình 3.17: Biểu đồ tuần tự cho thực thi ca sử dụng tách hồ sơ theo cụm thi 63

Hình 3.18: Biểu đồ tuần tự cho thực thi ca sử dụng lập danh sách phòng thi 63

Hình 3.19: Biểu đồ tuần tự cho thực thi ca sử dụng in giấy báo thi 64

Hình 3.20: Biểu đồ tuần tự cho thực thi ca sử dụng dồn túi 64

Hình 3.21: Biểu đồ tuần tự cho thực thi ca cập nhật điểm 65

Hình 3.22: Biểu đồ tuần tự cho thực thi ca tổng hợp điểm 65

Hình 3.23: Mô hình liên kết giữa các lớp thực thi ca sử dụng thêm hồ sơ 65

Hình 3.24: Mô hình liên kết giữa các lớp thực thi CSD tách hồ sơ theo cụm thi 66

Hình 4.0: Giao diện trang chủ 70

Hình 4.1: Giao diện trang đăng ký tuyển sinh trực tuyến 71

Hình 4.2: Giao diện trang thông tin thí sinh 71

Trang 11

MỞ ĐẦU

1 Cơ sở khoa học và thực tiễn của đề tài

Ngày nay, một trong những vấn đề quan trọng của ngành công nghệ phần mềm là vấn đề sử dụng lại Ngay từ thời kỳ đầu tiên, người ta đã cố gắng sử dụng lại phần mềm bằng cách xây dựng trước thư viện các thành phần phần mềm Trong các thư viện này chứa các hàm và thủ tục thường hay được sử dụng trong các ứng dụng phần mềm Tuy nhiên, cách sử dụng lại này tương đối thụ động, vì chỉ có thể

sử dụng lại các đoạn mã có sẵn nên phạm vi ứng dụng bị hạn chế Khi phát triển phần mềm hướng đối tượng ra đời, nó mở ra một phạm vi rộng rãi cho việc sử dụng lại: Đó là ý tưởng sử dụng lại các thiết kế và các khung làm việc dành cho một lớp các bài toán xác định Một mẫu thiết kế (Patterns) là một mô tả có tên về một cặp vấn đề và giải pháp, nó có thể được áp dụng trong những hoàn cảnh khác nhau Mẫu thiết kế đã làm cho việc sử dụng lại trở lên phổ biến và rộng rãi cho những ai thực hiện phát triển phần mềm hướng đối tượng Tuy nhiên, các mẫu thiết kế thường khó

sử dụng vì có mức độ trừu tượng hóa cao Một hướng sử dụng lại thuận lợi hơn là các khung làm việc (framework) Giống với các mẫu thiết kế, các khung làm việc dành cho những lớp bài toán xác định nên dễ sử dụng hơn

Phần lớn chi phí và các hoạt động liên tục trong phát triển phần mềm là tái tìm kiếm và tái tạo tạo lại các thành phần cốt lõi Đặc biệt do tính không đồng nhất của các phần cứng, cùng với sự đa dạng của hệ điều hành và nền tảng truyền thông làm cho khó khăn để xây dựng được chính xác các ứng dụng với mỗi điều kiện cụ thể

Vì thế cần xây dưng các phần mêm sao cho dễ dàng thích nghi, thay đổi, hiệu quả

và ít tốn kém từ các khoản đầu tư

Mô hình khung làm việc hướng đối tượng là công nghệ hướng đến làm giảm chi phí, thời gian và nâng cao chất lượng của phần mềm bằng cách sử dụng lai Sử dụng khung làm việc là tái sử dụng “phần cốt lõi” của một lớp bài toán đã được xây dựng sẵn, sau đó sửa đổi, làm thích nghi nó và bổ sung những thành phần còn thiếu

để được một ứng dụng đầy đủ cho bài toán cụ thể thuộc về lớp bài toán đã cho

Trang 12

Khung làm việc dựa trên phân tích thiết kế hướng đối tượng và sử dụng tối đa các mẫu có khả năng thích nghi cao khi tính đến các tình huống có thể xẩy ra của lớp các bài toán cụ thể sẽ gặp Nhờ vậy mà ta có thể giải quyết được nhiều bài toán thực tế thuộc lớp một cách nhanh chóng và hiệu quả Ngày nay tuyển sinh là công việc thường xuyên và quan trọng của nhiều trường đại học và cao đẳng Trong điều kiên quản lý đào tạo có nhiều thay đổi, nhà trường cần thích ứng với các yêu cầu quản lý như vậy đang nảy sinh và cần có hình thức tuyển sinh thích hợp trong điều

kiện canh tranh Vì vậy đề tài “Framework và ứng dụng cho bài toán tuyển sinh

trực tuyến tại các trường Đại học” đã được tôi chọn làm đề tài luận văn tốt nghiệp

của mình

2 Đối tượng và phạm vi nghiên cứu

Trong luận văn, sau khi đã trình bày tổng quan về “khung làm việc” hướng

đối tượng, dựa trên ý tưởng chung và một số khung làm việc cụ thể để phát triển một ứng dụng trên nền web cho bài toán “Tuyển sinh trực tuyến tại các trường Đại học” Trong điều kiện quy chế đào tạo của Việt Nam luôn có nhiều thay đổi, việc sử dụng khung làm việc cho ứng dụng này cho phép ta bảo trì và thay đổi hệ thống phần mềm nhanh chóng với chi phí có thể chấp nhận được là rất phù hợp với điều kiện hiện nay Vì thời gian và khuôn khổ hạn chế của luận văn, luận văn sẽ không đi sâu trình bày một cách chi tiết các bước về mặt kỹ thuật phân tích hướng đối tượng,

vì như vậy sẽ rất dài và không đủ thời gian, mà chỉ mô tả nội dung chính và đưa ra kết quả thực hiện của mỗi bước và kết quả cuối cùng

3 Cấu trúc của luận văn

Cấu trúc của luận văn bao gồm các phần sau:

Mở đầu: Giới thiệu cơ sở khoa học và thực tiễn của đề tài

Chương 1: Giới thiệu tổng quan về khung làm việc, bao gồm các khái niệm,

đặc điểm và phân loại khung làm việc hướng đối tượng Giới thiệu một số khung làm việc được sử dụng cho việc giải quyết bài toán đặt Chương cũng nêu ra một số phương pháp để phát triển một khung làm việc hay gặp

Trang 13

Chương 2: Bài toán quản lý tuyển sinh trực tuyến tại các trường Đại học:

chương này đưa ra mô tả những vấn đề đang đặt ra của bài toán quản lý tuyển sinh trực tuyến, cho phép ta nhận biết cấu trúc tổng thể của bài toán tuyển sinh Mô tả mô hình nghiệp vụ và đặc tả bài toán theo hướng đối tượng làm cơ

sở để ứng dụng khung làm việc

Chương 3: Triển khai ứng dụng khung làm việc cho bài toán tuyển sinh trực

tuyến Xác định các đối tượng, tìm ra các lớp cho thiết kế lớp đối tượng và ứng dụng khung làm việc để làm phù hợp với bài toán này

Chương 4: Cài đặt và thử nghiệm bài toán tuyển sinh trực tuyến

Lựa chọn môi trường va ngôn ngữ cài đặt, chuyển thiết kế thành chương trình

và chạy thử nghiệm với các dữ liệu thực

Kết luận: Nêu ra những kết quả đã thực hiện trong luận văn và hướng phát

triển tiếp tục nâng cấp và mở rộng ứng dụng đề tài vào thực tiễn trong tương lai

Trang 14

Chương 1: TỔNG QUAN VỀ FRAMEWORK

Trong một vài thập niên gần đây, việc sử dụng lại phần mềm đã và đang là một vấn đề quan trọng cho các tổ chức phát triển phần mềm Đầu tiên, phần mềm được sử dụng lại dưới hình thức là các thư viện hàm API hay các thư viện lớp Tiếp theo, các nhà phát triển nhận thấy không chỉ cần sử dụng lại các đoạn mã mà còn cần phải sử dụng lại cả các thiết kế của phần mềm Do vậy, đã xuất hiện khái niệm

về mẫu thiết kế (design pattern) và khung làm việc (framework) Các mô tả chi tiết

về mẫu thiết kế sẽ được trình bầy trong một chủ đề khác Nội dung của phần này của luận văn sẽ chỉ trình bầy về khung làm việc và phạm vi ứng dụng của nó

1.1 Khái niệm về framework

Thiết kế phần mềm là loại công việc khó và việc thiết kế phần mềm để có thể

sử dụng lại còn khó khăn hơn rất nhiều Một khung làm việc định hướng đối tượng

là một loại cấu trúc phần mềm có thể sử dụng lại bao gồm cả thiết kế và code Khái niệm khung làm việc được mong đợi sẽ làm tăng tính hiệu quả trong quá trình phát triển phần mềm của các kỹ sư phần mềm

Khung làm việc hướng đối tượng là gì? Tồn tại rất nhiều định nghĩa khác nhau

và giống nhau về khung làm việc trong đó định nghĩa cua Johnson và Foote [10] là định nghĩa được biết đến nhiều nhất

“Một khung làm việc là một bộ các lớp mà nó là biểu hiện của một thiết kế trừu tượng các giải pháp cho một lớp các vấn đề liên quan”

Một định nghĩa tương tự cũng đã được Johnson đưa ra năm 1991 [10]:

“Một khung làm việc là một bộ nổi bật các lớp cộng tác bao gồm cả các mẫu

tỷ lệ nhỏ và cơ chế lớn mà nó thực hiện các yêu cầu chung và thiết kế trong phạm vi một miền ứng dụng cụ thể”

Dựa trên các định nghĩa, chúng ta có thể giải thích một cách đầy đủ hơn ý nghĩa khung làm việc định hướng đối tượng như dưới đây

Trang 15

1.1.1 Định nghĩa về framework

Thuật ngữ framework hướng đối tượng có thể được định nghĩa theo nhiều cách Một framework được định nghĩa như là một phần của thiết kế và thực hiện, cho một ứng dụng trong một lĩnh vực Điều này cho thấy: một framework không phải là một hệ thống hoàn chỉnh Hệ thống này có thể được điều chỉnh lại để tạo ra các ứng dụng hoàn chỉnh Các framework nói chung được sử dụng và được phát triển khi cần phát triển một vài ứng dụng tương tự Một framework là phần chung giữa các ứng dụng này Do vậy, một framework giảm công sức cần thiết để xây dựng các ứng dụng

Phần lớn các định nghĩa đều nhất trí rằng, một framework là một kiến trúc phần mềm có thể sử dụng lại, bao gồm cả thiết kế và mã thực hiện được Tuy nhiên, lại không có định nghĩa nào được thống nhất chung về framework và các thành phần hợp thành của nó

Sau đây là một số các định nghĩa khác nhau hoặc tương tự nhau về framework được nêu ra:

“Một framework ràng buộc các lựa chọn chính xác về sự phân chia trạng thái

và luồng điều khiển, người dùng hoàn thiện hoặc mở rộng framework để tạo ra một ứng dụng thực tế”

“Một framework là một tập các lớp mà bao gồm một thiết kế trừu tượng cho các giải pháp của một hoặc các vấn đề liên quan”

“Một framework là một tập các đối tượng mà cộng tác với nhau để tạo ra một tập các đáp ứng cho một ứng dụng hoặc một vùng hệ thống con”

“Một framework là một tập các ký hiệu của các lớp cộng tác mà đạt được cả các mẫu phạm vi nhỏ và các cơ chế chủ yếu để thực hiện các yêu cầu chung và thiết

kế trong một phạm vi ứng dụng cụ thể”

“Một tập các lớp cộng tác với nhau mà tạo ra một thiết kế có thể sử dụng lại cho một lớp cụ thể của phần mềm Một framework cung cấp các hướng dẫn có tính kiến trúc bằng cách phân chia thiết kế thành các lớp trừu tượng và định nghĩa các

Trang 16

đáp ứng và sự cộng tác của chúng Một nhà phát triển tùy biến framework thành một ứng dụng cụ thể bằng cách tạo ra các lớp con và tạo ra các phiên bản của các lớp framework”

Như vậy, một framework bao gồm một tập các lớp mà các thể hiện của chúng cộng tác với nhau, được dự định để mở rộng, sử dụng lại cho các ứng dụng cụ thể của một lĩnh vực Một họ các vấn đề liên quan, cho phép tổng hợp trong một framework Hơn nữa, các framework được biểu diễn thành một ngôn ngữ lập trình, như vậy nó cung cấp cho việc sử dụng lại cả mã thực hiện và thiết kế

1.1.2 Cấu trúc của một framework

Một framework hướng đối tượng bao gồm các 5 thành phần sau:

Các tài liệu thiết kế

là 1 phần

Trang 17

Các thành phần của một framework bao gồm:

Các tài liệu thiết kế: thiết kế của một framework có thể bao gồm các lược đồ

lớp, viết bằng văn bản hoặc chí ít là một ý tưởng trong đầu của nhà phát triển

Các giao diện: các giao diện mô tả sự đáp ứng với bên ngoài của các lớp Các

giao diện có thể được sử dụng để mô hình hóa các vai trò khác nhau trong hệ thống,

ví dụ như các vai trò trong một mẫu thiết kế Một vai trò đại diện cho một nhóm các phương pháp trong giao diện mà liên quan tới các phương pháp do các phần khác thực hiện

Các lớp trừu tượng: một lớp trừu tượng là một sự thực hiện chưa đầy đủ của

một hoặc nhiều giao diện Nó có thể được sử dụng để định nghĩa cách ứng xử của một số các thành phần thực hiện một nhóm các giao diện

Các thành phần: Giống như các lớp, các thành phần có thể được tích hợp với

các lớp khác Trong hình vẽ, có một mũi tên “là một phần của” giữa các lớp và các thành phần Nếu bản thân các lớp có một API được định nghĩa đầy đủ thì tập kết quả của các lớp sẽ được biểu hiện như là một tổ hợp các thành phần Một thành phần được định nghĩa như sau: “Một thành phần phần mềm là một đơn vị kết cấu với các giao diện được ghi rõ theo hợp đồng và các phụ thuộc ngữ cảnh rõ ràng Một thành phần phần mềm có thể được triển khai độc lập và được tổ hợp bằng các hãng thứ ba”

Các lớp: Mức thấp nhất của một framework là các lớp Các lớp chỉ khác với

các thành phần là trong thực tế, các API được công khai của nó không được đưa ra trong các giao diện của một framework Một cách điển hình là các lớp được các thành phần sử dụng để đại diện cho chức năng Ví dụ một người dùng framework thường không nhìn thấy các lớp này trừ khi anh ta làm việc với các thành phần

Cách thức làm việc của một framework như sau:

Một framework làm việc bằng cách cung cấp một đặc tả rõ ràng của các tương tác được mong đợi giữa các thành phần Ví dụ, một thành phần có thể trông chờ

Trang 18

những gì từ các thành phần khác và cái gì nên được cung cấp tới chúng? Một framework định nghĩa các dịch vụ lựa chọn, và cung cấp một giải thích cho việc định nghĩa thành phần nào là một thành phần cung cấp Như thế, một thành phần sẽ

có khả năng được mở rộng rất lớn và các thành phần mới có thể tương tác mạnh mẽ với những cái đã có Chúng cộng tác với các chi tiết, khía cạnh cụ thể của các vấn

đề được cân nhắc bởi framework Các thành phần ứng dụng có thể còn chứng minh cho tính tương thích với các vấn đề khác, như ngữ nghĩa của dữ liệu mà chúng chuyển qua Các bộ phận phụ thuộc có thể được giới thiệu như là các thành phần của framework Sự thi hành các thành phần này có thể cùng framework xác định một dịch vụ và cung cấp các dịch vụ này cho các thành phần khác

1.1.3 Phân biệt framework với các khái niệm khác

Một mẫu thiết kế khác với một framework ở ba điểm Thứ nhất, một mẫu thiết

kế là trừu tượng hơn một framework, bởi vì một framework được bao gồm cả mã, trong khi đó chỉ các mẫu thiết kế mới cần được mã hóa Các mẫu thiết kế thậm chí chỉ mô tả mục đích, việc cân bằng các yếu tố khác để đạt được sự kết hợp tốt nhất

và các kết quả của một thiết kế Trong trường hợp này có nghĩa là nó chưa thể là

một thành phần của một framework Thứ hai, các mẫu thiết kế là những kiến trúc

nhỏ hơn so với các framework Do vậy, một framework có thể chứa một số các mẫu thiết kế, nhưng điều ngược lại là không thể Do vậy, các mẫu thiết kế không có ảnh

hưởng lớn tới kiến trúc của ứng dụng Cuối cùng, các framework được chuyên môn

hóa hơn so với các mẫu thiết kế Các framework luôn luôn liên quan đến một miền ứng dụng cụ thể, trong khi đó các mẫu thiết kế là chung và có thể được ứng dụng trong bất kỳ miền ứng dụng nào

Các ngôn ngữ mẫu khác với framework theo cách mà một ngôn ngữ mẫu miêu

tả: làm như thế nào để tạo ra một thiết kế Trong khi đó, một framework hướng đối tượng là một thiết kế Các ngôn ngữ mẫu bổ sung cho một framework, do chúng có thể hướng dẫn các kỹ sư phần mềm sử dụng framework như thế nào, và mô tả tại sao nó lại được thiết kế như vậy

Trang 19

Một ứng dụng hướng đối tượng khác với một framework ở chỗ, một ứng dụng

mô tả một chương trình thực hiện phức tạp mà thỏa mãn các yêu cầu cụ thể đặt ra Framework đạt được các tính năng của một ứng dụng nhưng nó không thể thi hành được bởi vì nó không bao gồm các tương tác trong trường hợp ứng dụng cụ thể

Các framework khác với các thư viện lớp ở chỗ: chúng nhắm tới các miền ứng

dụng cụ thể Trong khi đó, các thư viện lớp cung cấp cho người sử dụng các sự thực hiện trước của thuật toán Các thư viện lớp là thụ động, người sử dụng gọi đến các phương pháp trong thư viện lớp để thực hiện một số hoạt động Trong khi đó các framework định nghĩa khung khổ cho một ứng dụng thực tế và quản lý các luồng điều khiển trong ứng dụng Các framework có thể khác so với thư viện lớp, nhưng chúng có thể sử dụng các thư viện lớp đã có sẵn để thực hiện các thuật toán chung

và các cấu trúc dữ liệu

Các thành phần phần mềm ban đầu đã được dự định là các thành phần chức năng riêng lẻ mà có thể được đầu tư từ nhà cung cấp và tích hợp vào trong các ứng dụng Các framework dường như là những thành phần mà có thể được đầu tư từ nhà cung cấp và nhiều hơn một framework có thể được sử dụng trong một ứng dụng Tuy nhiên, một điểm khác dễ nhận thấy giữa chúng là các framework cung cấp một

bộ rộng hơn các dịch vụ so với các thành phần phần mềm Chúng có khả năng tùy biến nhiều hơn, có các giao diện phức tạp hơn và điều quan trọng hơn là chúng thực

sự định nghĩa cho một họ ứng dụng hoặc một diện rộng của các ứng dụng Do vậy, các framework là khó học hơn đối với các nhà phát triển, nhưng một khi đã hiểu được hết framework thì sẽ có được sự linh động cao hơn và với một framework được thiết kế tốt thì có thể giảm được các nỗ lực cần bỏ ra để xây dựng một ứng dụng đã được tùy biến một cách đáng kể

Trong khi các framework và các thành phần là các kỹ thuật khác nhau, chúng

nên được xem và được sử dụng như các kỹ thuật cộng tác với nhau Với các framework có thể sử dụng các thành phần và các ứng dụng được phát triển sử dụng các framework thậm chí có thể tiện dụng hơn các thành phần Ví dụ, một ứng dụng

Trang 20

Visual C++ được tạo với MFC framework, thậm chí có thể sử dụng các thành phần ActiveX trong giao diện của nó giống như việc trao đổi với các thành phần ActiveX được đóng gói trong MFC framework Một ví dụ khác cho sự phụ thuộc lẫn nhau giữa các framework và thành phần là việc sử dụng các framework để tạo các thành

phần mới, ví dụ, framework Active Template Library (ATL) của Microsoft được sử

dụng rộng rãi trong việc tạo các thành phần ActiveX

1.1.4 Các đặc điểm của framework

Một framework hướng đối tượng có bốn đặc điểm chính sau :

Khả năng môđun hóa

Khả năng sử dụng lại

Khả năng mở rộng

Sự đổi chiều của điều khiển

Về đặc điểm thứ nhất, các framework tăng cường khả năng môđun hóa bằng cách đóng gói các chi tiết thực hiện không chắc chắn đằng sau các giao diện chắc chắn Khả năng này giúp cho việc tăng cường chất lượng của phần mềm bằng cách cục bộ hóa các tác động của những thay đổi về kiến trúc và sự thực hiện Sự cục bộ hóa này giảm các nỗ lực được yêu cầu để hiểu và duy trì phần mềm hiện có

Mặt khác, các giao diện chắc chắn được cung cấp bởi các framework còn tăng cường khả năng sử dụng lại bằng cách định nghĩa các thành phần chung mà có thể được áp dụng để tạo ra các ứng dụng mới Khả năng sử dụng lại của framework tăng cường kiến thức của miền ứng dụng và các nỗ lực của các nhà phát triển có kinh nghiệm để tránh việc tạo và làm lại các giải pháp chung cho các yêu cầu của ứng dụng lặp lại và cũng như các thách thức tiến hành trong thiết kế phần mềm Việc sử dụng lại các thành phần thiết kế có thể là một sự cải tiến đáng kể trong sản xuất chương trình, cũng như tốt cho việc nâng cao chất lượng, tính hiệu quả, độ tin cậy và tính sẵn sàng của phần mềm

Trang 21

Về khả năng mở rộng, một framework tăng cường khả năng mở rộng bằng cách cung cấp các điểm nóng tường minh cho phép các ứng dụng mở rộng các giao diện chắc chắn và cách ứng xử của vùng ứng dụng với các thay đổi được yêu cầu cho các trường hợp của ứng dụng trong một ngữ cảnh cụ thể Khả năng mở rộng của framework là cần thiết để đảm bảo các sự điều chỉnh có tính thời gian của các dịch vụ và tính năng ứng dụng mới

Cuối cùng, đặc điểm của kiến trúc cho thời gian chạy của một framework là sự

đổi chiều của điều khiển, thường được gọi là “Nguyên tắc Hollywood”- Đừng gọi cho chúng tôi, chúng tôi sẽ gọi cho bạn Kiến trúc này cho phép ứng dụng hợp với

các quy tắc tiêu chuẩn nhờ việc điều chỉnh từng bước các xử lý thông qua các đối tượng quản lý sự kiện mà được tham chiếu đến do cơ chế gửi kích họat ngược trở lại của framework Khi các sự kiện xảy ra, framework gửi lại kích hoạt bằng cách chỉ dẫn phương pháp móc nối trên các đối tượng quản lý sự kiện đã được đăng ký trước để thực hiện việc xử lý ứng dụng cụ thể dựa trên các sự kiện Việc đổi chiều điều khiển này cho phép framework định nghĩa một tập các phương pháp ứng dụng

cụ thể để đáp ứng với các sự kiện ở bên ngoài

1.2 Phân loại khung làm việc

Framework hướng đối tượng có thể được phân loại theo nhiều chiều khác

nhau, trong đó những chiều quan trọng nhất là vùng vấn đề mà framework trỏ tới,

cấu trúc bên trong của framework và việc nó dự định sử dụng như thế nào

Với cách phân loại thứ nhất, người ta chia các khung làm việc thành các khung

làm việc ứng dụng, khung làm việc miền ứng dụng và khung làm việc trợ giúp

Với phân loại theo cách thức dự định sử dụng, các khung làm việc chia thành

các khung làm việc hộp đen, các khung làm việc hộp trắng và các khung làm việc

hộp xám

1.2.1 Phân loại framework theo vùng vấn đề

Việc phân loại theo vùng vấn đề chia các framework ba loại là các khung làm

việc ứng dụng, các khung làm việc miền ứng dụng và các khung làm việc hỗ trợ

Trang 22

Một khung làm việc ứng dụng là một tập của các thành phần với một thiết kế

ứng dụng có thể được sử dụng lại Điều này có nghĩa rằng, người dùng không những nhận được một tập con mã chức năng mà còn bắt đầu với cả một thiết kế về cách mà chúng làm việc như thế nào Điều này cũng có nghĩa là, một framework ứng dụng có thể cung cấp nhiều tính năng hơn các thư viện hàm, vì về cơ bản các thư viện hàm là không phụ thuộc vào nhau

Loại thứ hai là phân loại khung làm việc theo vùng vấn đề của một miền ứng

dụng Các framework này đạt được kiến thức và sự tinh thông trong một vùng vấn

đề cụ thể

Loại cuối cùng theo cách phân loại này là các khung làm việc hỗ trợ Các

framework hỗ trợ là các framework mà phục vụ cho các dịch vụ mức thấp của hệ thống như các trình điều khiển cho các thiết bị và bộ điều khiển truy nhập tệp Nhà phát triển ứng dụng sử dụng các framework hỗ trợ trực tiếp hoặc sử dụng các sự điều chỉnh được tạo ra bởi các trình cung cấp của hệ thống Các framework hỗ trợ

có thể được tùy biến, ví dụ khi phát triển một hệ thống mới hoặc trình điều khiển thiết bị mới

1.2.2 Phân loại framework theo cấu trúc nội bộ

Nếu như cấu trúc nội tại của framework được miêu tả thì nó có thể làm cho việc hiểu cách ứng xử của framework dễ dàng hơn Cấu trúc nội tại của một framework liên quan tới các khái niệm về các kiến trúc phần mềm Những kiến trúc

này được gọi là “các khung làm việc kiến trúc”, do chúng được thiết kế theo cách để

đạt được cấu trúc vững chắc của một kiến trúc phần mềm hướng đối tượng Nguyên tắc tổng thể cho cấu trúc nội tại của một framework được mô tả qua đặc trưng kiến

trúc của nó Các framework có tính kiến trúc đã được mô tả là:

Layered (kiến trúc phân tầng), giúp cho cấu trúc các ứng dụng có thể được

phân rã thành các nhóm của các công việc con với mức trừu tượng khác nhau định

vị ở tầng khác nhau

Pipes and Filters (kiến trúc ống và bộ lọc), có thể được dùng để cấu trúc các

ứng dụng có thể được chia thành một vài các công việc con hoàn toàn độc lập, được thực hiện theo trình tự nối tiếp hoặc song song đã được xác định một cách rõ ràng

Trang 23

Model-View-Controller (kiến trúc MVC), định nghĩa một kiến trúc cho các

ứng dụng có tính tương tác, chia tách giữa giao diện của ứng dụng với các chức năng chủ yếu của nó: mô hình xử lý và dữ liệu

Presentation-Abstraction-Controller (kiến trúc trình diễn-Trừu tượng-Điều khiển), kiến trúc này là thích hợp để cấu trúc các hệ thống phần mềm mà có tính

tương tác cao với người sử dụng, cho phép những điều khiển và trình diễn của các

mô hình trừu tượng của hệ thống có thể được tạo bên ngoài các chức năng con và độc lập với mỗi cái khác

Reflective (kiến trúc phản ánh), có khả năng áp dụng cho các ứng dụng mà cần

phải cân nhắc về một sự thích nghi trong tương lai do sự thay đổi môi trường, công nghệ và các yêu cầu khác, mà không cần phải thay đổi về kiến trúc và cách thực hiện của nó

Microkernel là phù hợp cho các hệ thống phần mềm cần cung cấp các khung

nhìn khác nhau dựa trên các chức năng của chúng và phải thích nghi với các yêu cầu của hệ thống Ví dụ của microkernel của các hệ điều hành

Blackboard (kiến trúc bảng đen), giúp để cấu trúc các ứng dụng phức tạp mà

liên quan tới một vài hệ thống con chuyên biệt cho các lĩnh vực khác nhau Các hệ thống con này phải hợp tác để xây dựng các giải pháp cho việc giải quyết các vấn

đề

Broker (kiến trúc môi giới), cấu trúc các hệ thống phần mềm phân tán, trong

đó các thành phần tương tác khác nhau giao tiếp với nhau khi vận hành thông qua truyền thông như trong một mô hình chủ khách

Việc sử dụng các kiến trúc này như là một nguyên tắc thiết kế chủ yếu cho một framework Điều đó có nghĩa là, các kiến trúc này là các ứng cử viên tốt cho việc ứng dụng các mẫu thiết kế hướng đối tượng cũng như cho việc phát triển framework

Trang 24

1.3 Các phương pháp phát triển framework

Quá trình phát triển một framework phụ thuộc vào kinh nghiệm của việc tổ chức các thành phần trong miền vấn đề mà nó chỉ ra Tổ chức có nhiều kinh nghiệm hơn

có thể lựa chọn quy trình phát triển hiện đại hơn vì họ sẽ có ít vấn đề hơn với miền vấn đề Một số quy trình khả thi cho việc phát triển framework đã được đưa ra:

1.3.1 Quy trình phát triển dựa trên các kinh nghiệm ứng dụng

Hướng phát triển framework mang tính thực dụng được miêu tả [10] Trước hết phát triển n ứng dụng, ít nhất từ hai ứng dụng trong miền vấn đề Khi chúng làm việc đúng thì việc lắp lại đầu tiên trong quy trình bắt đầu như hình 3.3 Phân loại các đặc điểm chung trong cả hai ứng dụng và kiết xuất chúng thành một

framework Để đánh giá liệu các đặc điểm được kiết xuất ra có đúng không, phát triển lại các ứng dụng (n) dựa trên framework đó Điều này có lẽ khá dễ dàng nếu các đặc tính chung được phân loại đúng Nếu việc phát triển lại các ứng dụng không

dễ dàng thì việc viết lại framework là cần thiết và sử dụng kinh nghiệm đã có để phát triển bản tiếp theo của framework Đây là cách thức cho lần lặp thứ hai và tất

cả các lần lặp tiếp theo cho ở trong hình 1.2 Dựa trên phiên bản mới của

framework, các ứng dụng mới có thể được phát triển Các kinh nghiệm đạt được thông qua các ứng dụng mới cũng được sử dụng như là đầu vào cho việc bảo trì framework theo tiến độ Toàn bộ quy trình được thể hiện trong hình 1.2

Hình 1.2: Phát triển framework dựa trên kinh nghiệm ứng dụng [10]

Trang 25

1.3.2 Quy trình phát triển framework dựa trên phân tích miền vấn

đề

Một hướng tiếp cận phức tạp hơn cho việc phát triển một framework là phân tích miền vấn đề Quy trình phát triển được chỉ ra trong hình 1.3 Hoạt động đầu tiên đó là phân tích miền vấn đề để phân loại và hiểu các thành phần trừu tượng nổi bật trong miền vấn đề Phân tích tên miền đòi hỏi phân tích các ứng dụng hiện có (đây là một nhiệm vụ khó thực hiện) và chỉ có thể nếu tổ chức có các ứng dụng được phát triển trong miền vấn đề Việc phân tích các ứng dụng hiện có cũng sẽ chiếm một tỷ lệ lớn ngân sách

Hình 1.3: Quy trình phát triển framework dựa trên phân tích miền vấn đề [10]

Sau khi các lớp trìu tượng được nhận biết, phát triển framework cùng với một ứng dụng kiểm tra, (sử dụng mũi tên như trong hình 1.3), sau đó điều chỉnh khung làm việc nếu cần thiết Tiếp theo, phát triển một ứng dụng thứ hai dựa trên framework này Thay đổi framework nếu cần thiết và sửa đổi ứng dụng đầu tiên để

nó có thể làm việc với những thay đổi đưa ra Hãy để framework vận hành thông qua các hoạt động bảo trì có kế hoạch, trong khi đó tiếp tục phát triển thêm nhiều ứng dụng dựa trên nó

Trang 26

1.3.3 Quy trình phát triển framework sử dụng các mẫu thiết kế

Quy trình phát triển một framework dựa trên mẫu thiết kế thực dụng có thể được nhận ra như chỉ rõ trong hình 1.4 Trước hết, phát triển một ứng dụng trong miền vấn đề Thứ hai, thiết lập và đào tạo nhân viên theo bộ chuẩn của các mẫu thiết kế Lấy ứng dụng và áp dụng theo hệ thống mẫu thiết kế để tạo ra framework Sau đó lặp lại giữa phát triển ứng dụng và framework có thể xảy ra Đồng thời trong quy trình này cũng tồn tại các hoạt động bảo trì framework theo kế hoạch

Hình 1.4: Quy trình phát triển framework sử dụng các mẫu thiết kế [10]

1.3.4 Quy trình phát triển framework chung

Các yếu tố chung của quy trình phát triển framework được chỉ trong hình 1.5:

− Phân tích tên miền vấn đề Điều này được thực hiện một cách hệ thống hoặc thông qua phát triển một hoặc một vài ứng dụng trong miền và lớp trìu tượng chính (key abstraction) được nhận ra

− Phiên bản đầu tiên của framework được phát triển nhằm tận dụng các lớp trìu tượng chính (key abstraction) được tìm thấy

− Một hoặc có thể một vài các ứng dụng được phát triển dựa trên framework này Đây là hoạt động kiểm tra framework để xem liệu nó có thể tái sử dụng

Trang 27

được hay không, và giống như hoạt động phát triển một ứng dụng dựa trên framework

− Các vấn đề khi sử dụng khung làm việc trong việc tạo ra các ứng dụng đều có

và được giải quyết trong phiên bản tiếp theo của khung làm việc

− Sau khi lặp lại chu kỳ này một số lần, khung làm việc sẽ đạt được một cấp độ chín muồi có thể chấp nhận được và có thể được đưa ra cho nhiều người dùng tái sử dụng trong tổ chức

Hình 1.5: Quy trình phát triển khung làm việc chung [10]

Trong thực tế, người ta không áp dụng mỗi phương pháp một cách riêng lẻ,

mà thường kết hợp các ý tưởng của các phương pháp trên, tùy thuộc vào lớp các bài toán cụ thể và những khả năng có được để đưa ra một cách làm phù hợp và hiệu quả

Trang 28

1.4 Giới thiệu khung làm việc Higgin Trust

1.4.1 Tổng quan về khung làm việc Higgin Trust

Higgins là một framework cho phép người dùng và doanh nghiệp tích hợp thông tin về nhận dạng, hiện trạng, các mối quan hệ giữa các hệ thống Sử dụng lớp context providers, hệ thống sẵn có cũng như hệ thống mới như các xí nghiệp, tổ chức và các công nghệ liên lạc (như LDAP, email, IM,…) có thể gắn vào Higgins framework Sử dụng Higgins API có thể tích hợp ảo thông tin nhận dạng, hiện trạng

và mối quan hệ giữa các hệ thống phức hợp Higgins thiết kế với mục đích giúp người phát triển ứng dụng truy cập thông tin thông qua trình duyệt, dịch vụ web Ứng dụng có thể sử dụng Higgins để tạo khung nhìn thống nhất về thông tin nhận dạng và các mối quan hệ Lĩnh vực tập trung nhất của Higgins là cung cấp cơ

sở cho nhận dạng thông tin người dùng và ứng dụng quản lý thông tin cá nhân Higgins cung cấp sự tích hợp ảo, liên kết, quản lý và khả năng tìm kiếm cho thông tin nhận dạng, các mối quan hệ giữa các hệ thống khác biệt

Các dịch vụ của Higgins dựa trên các plug-in ContextProviders làm cầu nối

giữa framework và hệ thống sẵn có, hoặc giữa framework đến các hệ thống sẽ xây dựng sau này Mỗi ContextProvider thi hành một context nào đó Context được hiểu

là “môi trường và hoàn cảnh xung quanh quyết định đến ý nghĩa của nhận dạng số

và các chính sách, giao thức chi phối sự tương tác giữa chúng” [eclipse.org/higgins]

Một Context có thể bao gồm thông tin về một số đối tượng đơn lẻ hoặc mô tả một nhóm các đối tượng số như một đội dự án, một văn phòng, tổ chức, gia đình, nhóm khách hàng,… ContextProviders thường hoạt động như “cầu nối” giữa framework với hệ thống sẵn có “Cầu nối” này cung cấp kết nối đến kho lưu trữ như LDAP server, hệ thống quản lý nhận dạng, diễn đàn, và các mạng xã hội Nó cũng

có thể kết nối với các mạng giao tiếp như email, instance message,…

Kiến trúc dịch vụ của Higgins framework cho phép ứng dụng mở rộng phạm

vi truy cập đến các hệ thống ngoài mà không cần phải thay đổi bản thân ứng dụng

Trang 29

I-chức nhƣ ở hình 1.7

a Browser Extension

Chúng ta sẽ lần lƣợt tìm hiểu các thành phần của Higgins framework

Hình 1.7: Kiến trúc của Higgins

Trang 30

Higgins Browser Extension là một mở rộng trình duyệt Firefox viết bằng javascript Khi Higgins Extension được cài đặt và trình duyệt duyệt đến một site đối tác, Higgins Browser Extension quản lý quyền truy cập và các tương tác liên quan đến định danh tương tác giữa site đối tác và dịch vụ Higgins

b RP Enablement

RP Enablement là tập hợp các thành phần sử dụng để tạo site đối tác Các thành phần con tách biệt trong mục này sẽ được tạo ra để hoạt động như các dịch vụ tin tưởng cho lớp các giao thức khác nhau

Hình 1.8: RP Enablement

c I-Card Manager

Cung cấp giao diện quản lý web-based đến I-Card của người dùng và ưu tiên

dữ liệu ngữ cảnh Thành phần này được truy cập bởi một nút bấm được thêm vào thanh công cụ của trình duyệt

Hiện nay, thành phần này đang được phát triển trên ngôn ngữ java, các

thành phần con base-web sử dụng công nghệ JSP/Servlets, JSF, AJAX, JavaMail,…

Trang 31

d RP Protocol Support

Cung cấp hỗ trợ cho client, bao gồm cả Higgins Browser Extension

Thành phần này hỗ trợ cho

− Giao diện người dùng

− Mẫu tương tác giữa các đối tác

− Hỗ trợ cho openID 2.0: openID là một framework mã nguồn mở để quản lý ID cho chủ yếu các website

e ISS Client UI

Cung cấp mọi giao diện người dùng và khả năng tạo mới thẻ CardSpace tương thích Nó cung cấp chức năng tương tự như CardSpace trên Windows Vista ISS Client UI được gọi bởi RP Protocol Support trên máy khách của người dùng

f I-Card Selector Service

I-Card Selector Service ghép chính sách an ninh của đối tác tới một hoặc nhiều I-Card thỏa mãn chính sách đó Hay nói cách khác, I-Card Selector Service cố gắng đưa ra một I-Card thích hợp với nhu cầu của đối tác

g I-Card Registry

Thành phần Card Registry quản lý tập các Card của người dùng Mỗi Card được tạo và quản lý bởi một I-Card Provider và thi hành giao diện I-Card Interface

I-Các giao diện của I-Card Registry có hai phần:

− Một giao diện để quản lý I-Card như thêm mới, xóa bỏ và duyệt các I-Card

− Tập các giao diện thi hành bởi I-Card Provider

h I-Card Provider

I-Card Provider chịu trách nhiệm tạo và quản lý các I-Card thi hành giao diện I-Card Interfaces Thành phần này cũng chịu trách nhiệm nhập I-Card từ các loại dữ

Trang 32

liệu card khác nhau Lưu ý là I-Card Provider chỉ chịu trách nhiệm nhập dữ liệu, việc xuất dữ liệu được thi hành bởi chính lớp I-Card

Higgins framework hiện đang thi hành các I-Card Provider sau:

− CardSpace Managed I-Card Provider

− CardSpace Personal I-Card Provider

− URI Managed I-Card Provider

− URI Personal I-Card Provider

k Token Service

Token Service tạo nhận dạng số dùng được cho đối tác từ dữ liệu yêu cầu Dữ liệu yêu cầu có thể truyền bởi I-Card Provider đến Token Service sau đó đến Token Provider hoặc Token Issuer có thể nhận dữ liệu từ I-Card Provider

Thuật ngữ Token Service trong Higgins còn được sử dụng thay cho Sercurity Token Service (STS) Token Service thi hành OASIS WS-Trust chuẩn và cung cấp

hỗ trợ cho việc triển khai trong nhiều tình huống [eclipse.org]

Hình 1.9: Kiến trúc Token Service

Trang 33

l Token Provider

Token Provider cung cấp việc đóng gói cho các token cho Token Service

m Identity Attribute Service

Để hỗ trợ môi trường động nơi nguồn của thông tin định danh có thể thay đổi, cần thiết phải cung cấp một phương thức chung cho việc truy cập thông tin định danh và thuộc tính từ các kho định danh Identity Attribute Service cung cấp khung nhìn thống nhất về thông tin định danh Identity Atrribute Service bao gồm các dịch

vụ như: nạp ngữ cảnh, mở ngữ cảnh từ các ngữ cảnh khác, xác nhận thẩm quyền trong quá trình ngữ cảnh mở, truy cập nội dung của ngữ cảnh mở và xem xét đối tượng số và các thuộc tính, các mối liên kết của đối tượng số bên trong các ngữ cảnh Identity Attribute Service hỗ trợ quản lý các thuộc tính của đối tượng số liên kết bên trong các ngữ cảnh Các hàm giao diện của Identity Attribute Service có thể truy cập được thông qua ngôn ngữ java hoặc ác ngôn ngữ khác cũng như thông qua WSDL và HTTP/XML

n Context Provider

Một context Provider hỗ trợ cho một hoặc nhiều loại ngữ cảnh của Higgins framework Một Context Provider chịu trách nhiệm quản lý dữ liệu bên trong, an toàn, mã hóa,… Context Provider cung cấp khả năng chuyển đổi dữ liệu một hoặc hai chiều từ cấu trúc bên trong nó đến mô hình dữ liệu Identity Attribute Service thông thường Trong nhiều trường hợp Context Provider hoạt động như cầu nối của các dịch vụ sẵn có như hệ thống giao tiếp, mạng xã hội, dịch vụ cung cấp định danh, các trò chơi, ứng dụng doanh nghiệp,… Thêm vào các dịch vụ web, Context Provider có thể nối liền ứng dụng phía client như email, instance message và các ứng dụng cộng tác khác

Hiện nay Higgins dự kiến phát triển khoảng 3 - 5 Context Provider với mục đích các đối tác có thể sử dụng chúng cho dự án của họ

1.4.3 Mô hình dữ liệu của Higgins

Để xây dựng mô hình dữ liệu, Higgins đưa ra các khái niệm cơ bản, đưa ra mục đích của mô hình từ đó xây thiết kế mô hình dữ liệu

Trang 34

Chúng ta cần xem xét một số khái niệm cơ bản trong mô hình dữ liệu của Higgins và nghiên cứu mục tiêu của mô hình

a Các khái niệm dữ liệu cơ bản

Mỗi đối tượng số bên trong một ngữ cảnh có một định danh duy nhất là SubjectId Định danh này duy nhất bên trong không gian tên hoặc định nghĩa bởi Context C1 hoặc các Context C2 mà C1 kế thừa

Ví dụ, một Context bao gồm nhiều đối tượng số như: thư mục, nhóm dự án, hệ thống giao tiếp,… Cũng có những Context thường bao gồm một đối tượng số duy nhất như: thẻ tín dụng, thẻ nghiệp vụ, và các thiết bị an ninh khác,…

Digital Subject

Đối tượng số là một thực thể mô tả hoặc nằm trong lĩnh vực số đang đề cập đến [originally from Kim's Laws, "person or thing" replaced with entity by PaulT] Đối tượng số sử dụng Higgins có những đặc điểm sau:

− Một đối tượng số gồm nhiều thuộc tính định danh, và có thể không có thuôc tính nào cả

− Một vài thuộc tính định danh có thể là quan hệ tham chiếu đến đối tượng số khác trong cùng ngữ cảnh hoặc giữa các ngữ cảnh với nhau

− Do ngữ cảnh có thể là cấu trúc lồng, nên liên kết giữa các đối tượng số liên quan đến những ngữ cảnh đó cung cấp một cái nhìn tổng quan của một đối tượng số

Trang 35

− Không có một ràng buộc ngầm định giữa các đối tượng số Ví dụ một người

có thể đòi hỏi tên của họ là Joe trong một đối tượng số này, nhưng trong đối tượng số khác tên của người đó là JoAnn

Giá trị của thuộc tính định danh có thể là một kiểu dữ liệu nguyên thủy, hoặc

dữ liệu phức như struct,…Có một thuộc tính định danh đặc biệt là Subject Relationshop (quan hệ đối tượng) có giá trị là tham chiếu đến đối tượng số khác trong cùng ngữ cảnh hay ngữ cảnh khác

Một vài thuộc tính định danh được định nghĩa bởi ngữ cảnh chứa đối tượng số

để đưa ra những giá trị khác nhau Ví dụ thuộc tính “thời tiết” có thể có các giá trị {“nắng”, “mưa”, “nhiều mây”},…

b Mục tiêu của mô hình

Mục tiêu đặt ra cho mô hình dữ liệu này là:

− Mô hình dễ dàng mở rộng, sau này dễ dàng thêm vào các thuộc tính và quan

hệ

− Cho phép các đối tượng được định danh duy nhất

− Các đối tượng có thuộc tính quan hệ tham chiếu đến các đối tượng khác, các thuộc tính này được nhóm lại thành tập hoặc chuỗi

− Mọi đối tượng và thuộc tính của nó đều được gán địa chỉ

− Mọi thuộc tính được định danh bởi một địa chỉ URI toàn cục duy nhất

− Hỗ trợ đa ngữ cảnh

− Mỗi ngữ cảnh có thể định danh duy nhất

Trang 36

− Các ngữ cảnh có thể liên kết một – một hoặc một – nhiều với các ngữ cảnh khác

− Giản đồ mô tả phải khả thi

1.5 Khung làm việc View-Model-Controler (VMC)

1.5.1 MVC là gì?

MVC là chữ viết tắt của Model-View-Controller, một mẫu kiến trúc (architectural pattern) được tạo ra nhằm giải quyết các vấn đề phát sinh cũng như các giải pháp tổ chức mã trong quá trình phát triển phần mềm Khi sử dụng đúng cách, mẫu MVC giúp cho người phát triển phần mềm cô lập các nguyên tắc nghiệp vụ và giao diện người dùng một cách rõ ràng hơn Phần mềm phát triển theo mẫu MVC tạo nhiều thuận lợi cho việc bảo trì vì các nguyên tắc xử lý nghiệp vụ và giao diện ít có liên quan với nhau

1.5.2 Lịch sử MVC

Bắt đầu vào những năm 70 của thế kỷ 20, tại phòng thí nghiệm Xerox PARC ở Palo Alto Sự ra đời của giao diện đồ họa (Graphical User Interface) và lập trình hướng đối tượng

(Object Oriented Programming) cho phép lập trình viên làm việc với những thành phần đồ họa như những đối tượng đồ họa có thuộc tính và phương thức riêng của

nó Không dừng lại ở đó, những nhà nghiên cứu ở Xerox PARC còn đi xa hơn khi cho ra đời cái gọi là kiến trúc MVC (viết tắt của Model – View – Controller) Kiến trúc MVC đã được ứng dụng để xây dựng rất nhiều thư viện đồ họa khác nhau Tiêu biểu là bộ thư viện đồ họa của ngôn ngữ lập trình hướng đối tượng SmallTalk (cũng

do Xerox PARC nghiên cứu và phát triển vào thập niên 70 của thế kỷ 20) Ngày nay, trong nhiều các nền tảng lập trình chúng ta thấy sự có mặt của mô hình MVC,

có thể kể đến:

- Swing Components của Java

- Document View Architecture trong Microsoft Visual C++ (VC++)

- QT4(KDE)

- Apple’s Cocoa (Core Data)

Trang 37

1.5.3 Vai trò của các thành phần M-V-C trong Web framework

+ Dispatcher: Lớp điều phối hướng các điều khiển đi mức cao hơn

+ Request: xử lý một phần dữ liệu đầu vào ở mức GET, POST

+ Session: xử lý một phần dữ liệu đầu vào ở mức SESSION

Tùy theo dữ liệu đầu vào, Controller sẽ thực hiện các phép lọc (với dịch vụ lấy

từ Model), các tính toán lựa chọn (Action Mapping) dựa trên kiến trúc và cấu hình nhằm xác định thành phần lớp chính sẽ thực hiện yêu cầu của người dùng Hiểu một cách đơn giản, Controller là thành phần trung gian giữa View và Model Nó nhận dữ liệu nhập vào qua View, sau đó gọi Model tương ứng rồi lấy kết quả trả về từ Model này Tiếp theo, một View thích hợp sẽ được lựa chọn Controller sẽ chuyển tiếp dữ liệu vào view để nó xử lý

Một số hoạt động thường thấy của Controller:

- Tạo form, gửi tin nhắn đến form để yêu cầu kiểm tra dữ liệu

- Tạo các dịch vụ liên quan đến nghiệp vụ ứng dụng, yêu cầu các lớp dịch vụ tương tác với nguồn dữ liệu để trả về hay thay đổi trạng thái dữ liệu: thực hiện các

Trang 38

thao tác chuyển đổi dữ liệu, kiểm tra quyền truy cập trên một hoạt động cụ thể, tương tác với database, tương tác với các web services

- Tạo đối tượng view, gán các nguồn dữ liệu lấy được từ đối tượng dịch vụ vào cho view

b M - Model

Model là các lớp cung cấp dữ liệu, dịch vụ liên quan đến dữ liệu và các vấn đề

xử lý logic nghiệp vụ Model có thể:

- Đánh giá tính hợp lệ của dữ liệu

- Ví dụ kiểm tra dữ liệu vào có đúng với nguyên tắc của hệ thống không

- Chuyển đổi dữ liệu Ví dụ chuyển đổi định dạng file, chuyển đổi tỉ giá, chuyển đổi ngôn ngữ…

- Đưa ra quyết định về nghiệp vụ Ví dụ đưa ra các dữ liệu, lời khuyên tư vấn đầu tư dựa trên dữ liệu đầu vào của người dùng và các dữ liệu đang có

- Thực hiện việc xử lý dữ liệu theo một quy trình

Do có hai vai trò tương đối tách biệt cho nên một Model thường được tách thành các lớp

là một tầng dịch vụ nhằm có thể tái sử dụng giữa các Controller Khi Controller gọi

Trang 39

Model thông qua các giao diện lập trình (API) của Model, nó cần biết một số ứng

xử chung của Model

các web framework, View gồm hai phần chính:

- Template file: định nghĩa cấu trúc và cách thức trình bày dữ liệu cho người dùng

Ví dụ: như bố cục, màu sắc, khung nhìn

- Phần Logic: xử lý cách áp dụng dữ liệu vào cấu trúc trình bày Logic này có thể bao gồm việc kiểm tra định dạng dữ liệu, chuyển đổi định dạng dữ liệu sang một sạng dữ liệu trung gian để có thể hiển thị với cấu trúc template đang có , kiểm tra trạng thái và đặc tính của dữ liệu để lựa chọn một cấu trúc hiện thị phù hợp Bản thân View cũng là một tổ hợp của nhiều lớp và nó cũng có thể có View con để giảm tải trên một số lớp chính và để sử dụng lại mã Và do vậy tính logic của View có thể

là logic của một cây phân cấp Trong mô hình truyền thống, View có trách nhiệm chuyển đổi dữ liệu hay trạng thái của Model thành cấu trúc trực quan Do vậy dữ liệu của Model cần được định nghĩa một cách hợp lý Sự tách biệt của hai thành phần này sẽ giúp cho người lập trình phân định được một biên giới rõ ràng giữa cách thức lưu trữ/lấy dữ liệu và cách trình bày dữ liệu Do vậy tính phức tạp của quy trình lấy dữ liệu, xử lý dữ liệu cũng như (sự thay đổi của chúng theo thời gian) trước khi trả về sẽ không làm ảnh hưởng đến việc trình bày dữ liệu Rõ ràng sự khác biệt về công nghệ lấy dữ liệu và công nghệ sinh trang không gây ảnh hưởng đến ứng dụng Điều này khá quan trọng trong việc tích hợp các ứng dụng Ngoài ra, cách làm này thực sự đảm bảo việc tách biệt vai trò của người thiết kế giao diện với

Trang 40

vai trò của lập trình viên thiên về dữ liệu Như vậy khi làm việc theo nhóm, người quản trị dự án có thể tổ chức nhóm phát triển thành các nhóm kĩ năng và phát triển ứng dụng song song với nhau

Các công nghệ thường được sử dụng ở View là HTML, CSS và JavaScrip

Hình 1.11: Biểu đồ tuần tự một chuỗi MVC đơn giản

Tóm lại, MVC chia trách nhiệm công việc thành ba phần riêng rẽ:

- Phát triển (development): Các nhà phát triển làm việc với model Đặc trưng của phần.này là tận dụng một cách triệt để kiến thức, kỹ năng của các lập trình viên liên quan tới thuật toán xử lý dữ liệu, quản trị cơ sở dữ liệu

- Thiết kế (design): Các nhà thiết kế làm việc trực tiếp với lớp View, chịu trách nhiệm tạo ra "cảm quan" cho ứng dụng Họ cần có kinh nghiệm làm việc với HTML, CSS, JavaScript và Graphic Design

- Hợp nhất (intergration): phần này tồn tại trong lớp Controller Mục đích chính

là gắn kết developer và designer với nhau Người hợp nhất không cần có nhiều kinh nghiệm làm việc với dữ liệu như lập trình viên nhưng cần nắm rõ cách tổ chức của một ứng dụng

Mô hình MVC được áp dụng rất nhiều trong các Web framework hiện nay Các PHP framework phổ biến nhất:

- Zend framework: là sản phẩm của Zend – công ty “bảo trợ” cho PHP Với các tính năng mạnh mẽ, Zend framework thường được sử dụng cho các công ty lớn, và bạn cần phải có lượng kiến thức khá sâu rộng về PHP để có thể sử dụng được Zend framework

Ngày đăng: 20/09/2014, 21:11

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
1. Đoàn Văn Ban, Phân tích thiết kế và lập trình hướng đối tượng, Nhà xuất bản Thống kê, 1997 Sách, tạp chí
Tiêu đề: Phân tích thiết kế và lập trình hướng đối tượng
Nhà XB: Nhà xuất bản Thống kê
2. Đoàn Văn Ban, Giáo trình Phân tích, thiết kế hệ thống hướng đối tượng bằng UML, Đại học Khoa học Huế, 2004 Sách, tạp chí
Tiêu đề: Giáo trình Phân tích, thiết kế hệ thống hướng đối tượng bằng UML
3. Đặng Văn Đức, Phân tích thiết kế hướng đối tượng bằng UML, NXB Giáo dục, Hà Nội, 2002 Sách, tạp chí
Tiêu đề: Phân tích thiết kế hướng đối tượng bằng UML", NXB Giáo dục, Hà Nội
Nhà XB: NXB Giáo dục
4. Nguyễn Văn Vỵ, Nguyễn Hữu Nguyên, Phân tích và thiết kế hướng đối tượng, Khoa Công Nghệ, ĐHQGHN, Hà Nội, biên dịch 2001 Sách, tạp chí
Tiêu đề: Phân tích và thiết kế hướng đối tượng", Khoa Công Nghệ, ĐHQGHN, Hà Nội, biên dịch
5. Nguyễn Văn Vỵ, Phân tích thiết kế các hệ thống thông tin hiện đại hướng cấu trúc và hướng đối tượng, Nhà xuất bản Thống kê, Hà Nội, 2002 Sách, tạp chí
Tiêu đề: Phân tích thiết kế các hệ thống thông tin hiện đại hướng cấu trúc và hướng đối tượng", Nhà xuất bản Thống kê, Hà Nội
Nhà XB: Nhà xuất bản Thống kê
7. Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides, Design Patterns: Elements of Reusable Object-Oriented Software, Wesley, 1994 Sách, tạp chí
Tiêu đề: Design Patterns: "Elements of Reusable Object-Oriented Software", Wesley
8. James W cooper, Introduction to Design Patterns in C#, IBM T J Watson Research Center, 2002 Sách, tạp chí
Tiêu đề: Introduction to Design Patterns in C#", IBM T J Watson Research Center
9. Kim Waldén and Jean-Marc Nerson, Seamless Object-Oriented Software Architecture, Designers & Patterns Ltd, Oxford, 1994 Sách, tạp chí
Tiêu đề: Seamless Object-Oriented Software Architecture", Designers & Patterns Ltd, Oxford
10. Michael Mattsson, “Object-Oriented frameworks, A survey of methodological issues”, Lund, Sweden, 1996 Sách, tạp chí
Tiêu đề: Object-Oriented frameworks, A survey of methodological issues"”, Lund, Sweden
11. Zhiming Liu, Object-Oriented Sofware Development Using UML, UNI/IIST, 2001.Các trang Web Sách, tạp chí
Tiêu đề: 2001

HÌNH ẢNH LIÊN QUAN

BẢNG CÁC CHỮ VIẾT TẮT - framework và ứng dụng cho bài toán tuyển sinh trực tuyến tại các trường đại học
BẢNG CÁC CHỮ VIẾT TẮT (Trang 7)
Hình 1.1: Mối quan hệ giữa các thành phần khác nhau của framework - framework và ứng dụng cho bài toán tuyển sinh trực tuyến tại các trường đại học
Hình 1.1 Mối quan hệ giữa các thành phần khác nhau của framework (Trang 16)
Hình 1.3: Quy trình phát triển framework dựa trên phân tích miền vấn đề [10] - framework và ứng dụng cho bài toán tuyển sinh trực tuyến tại các trường đại học
Hình 1.3 Quy trình phát triển framework dựa trên phân tích miền vấn đề [10] (Trang 25)
Hình 1.4: Quy trình phát triển framework sử dụng các mẫu thiết kế [10] - framework và ứng dụng cho bài toán tuyển sinh trực tuyến tại các trường đại học
Hình 1.4 Quy trình phát triển framework sử dụng các mẫu thiết kế [10] (Trang 26)
Hình 1.5: Quy trình phát triển khung làm việc chung [10] - framework và ứng dụng cho bài toán tuyển sinh trực tuyến tại các trường đại học
Hình 1.5 Quy trình phát triển khung làm việc chung [10] (Trang 27)
Hình 1.6: Higgins Trust Framework - framework và ứng dụng cho bài toán tuyển sinh trực tuyến tại các trường đại học
Hình 1.6 Higgins Trust Framework (Trang 29)
Hình 1.7: Kiến trúc của Higgins - framework và ứng dụng cho bài toán tuyển sinh trực tuyến tại các trường đại học
Hình 1.7 Kiến trúc của Higgins (Trang 29)
Hình 1.8: RP Enablement - framework và ứng dụng cho bài toán tuyển sinh trực tuyến tại các trường đại học
Hình 1.8 RP Enablement (Trang 30)
Hình 1.9: Kiến trúc Token Service - framework và ứng dụng cho bài toán tuyển sinh trực tuyến tại các trường đại học
Hình 1.9 Kiến trúc Token Service (Trang 32)
Hình 1.10: Mô hình MCV - framework và ứng dụng cho bài toán tuyển sinh trực tuyến tại các trường đại học
Hình 1.10 Mô hình MCV (Trang 37)
Hình 1.11: Biểu đồ tuần tự một chuỗi MVC đơn giản - framework và ứng dụng cho bài toán tuyển sinh trực tuyến tại các trường đại học
Hình 1.11 Biểu đồ tuần tự một chuỗi MVC đơn giản (Trang 40)
Hình 2.1: Biểu đồ hoạt động của Xác định chỉ tiêu tuyển sinh - framework và ứng dụng cho bài toán tuyển sinh trực tuyến tại các trường đại học
Hình 2.1 Biểu đồ hoạt động của Xác định chỉ tiêu tuyển sinh (Trang 47)
Hình 2.2: Biểu đồ hoạt động Công bố yêu cầu thi tuyển, tiếp nhận đăng ký thi - framework và ứng dụng cho bài toán tuyển sinh trực tuyến tại các trường đại học
Hình 2.2 Biểu đồ hoạt động Công bố yêu cầu thi tuyển, tiếp nhận đăng ký thi (Trang 47)
Hình 2.4: Biểu đồ hoạt động Công bố kết quả và gửi kết quả tuyển sinh - framework và ứng dụng cho bài toán tuyển sinh trực tuyến tại các trường đại học
Hình 2.4 Biểu đồ hoạt động Công bố kết quả và gửi kết quả tuyển sinh (Trang 48)
Hình 2.3: Biểu đồ hoạt động Công bố yêu cầu tuyển chọn, tiếp nhận đăng ký - framework và ứng dụng cho bài toán tuyển sinh trực tuyến tại các trường đại học
Hình 2.3 Biểu đồ hoạt động Công bố yêu cầu tuyển chọn, tiếp nhận đăng ký (Trang 48)
Hình 2.6: Mô hình ca sử dụng mức cao - framework và ứng dụng cho bài toán tuyển sinh trực tuyến tại các trường đại học
Hình 2.6 Mô hình ca sử dụng mức cao (Trang 53)
Hình 2.9: Mô hình ca sử dụng gói xử lý hồ sơ đăng ký dự thi - framework và ứng dụng cho bài toán tuyển sinh trực tuyến tại các trường đại học
Hình 2.9 Mô hình ca sử dụng gói xử lý hồ sơ đăng ký dự thi (Trang 54)
Hình 2.11: Mô hình miền gói tuyển sinh trực tuyến - framework và ứng dụng cho bài toán tuyển sinh trực tuyến tại các trường đại học
Hình 2.11 Mô hình miền gói tuyển sinh trực tuyến (Trang 65)
Hình 3.2: Biểu đồ cộng tác thực thi ca sử dụng Nhập mới hồ sơ đăng ký dự thi - framework và ứng dụng cho bài toán tuyển sinh trực tuyến tại các trường đại học
Hình 3.2 Biểu đồ cộng tác thực thi ca sử dụng Nhập mới hồ sơ đăng ký dự thi (Trang 66)
Hình 3.3: Biểu đồ cộng tác thực thi ca sử dụng tìm kiếm hồ sơ đăng ký dự thi - framework và ứng dụng cho bài toán tuyển sinh trực tuyến tại các trường đại học
Hình 3.3 Biểu đồ cộng tác thực thi ca sử dụng tìm kiếm hồ sơ đăng ký dự thi (Trang 67)
Hình 3.7: Biểu đồ cộng tác thực thi ca sử dụng tách hồ sơ theo cụm thi - framework và ứng dụng cho bài toán tuyển sinh trực tuyến tại các trường đại học
Hình 3.7 Biểu đồ cộng tác thực thi ca sử dụng tách hồ sơ theo cụm thi (Trang 68)
Hình 3.9: Biểu đồ cộng tác thực thi ca sử dụng in giấy báo thi - framework và ứng dụng cho bài toán tuyển sinh trực tuyến tại các trường đại học
Hình 3.9 Biểu đồ cộng tác thực thi ca sử dụng in giấy báo thi (Trang 68)
Hình 3.8: Biểu đồ cộng tác thực thi ca sử dụng lập danh sách phòng thi - framework và ứng dụng cho bài toán tuyển sinh trực tuyến tại các trường đại học
Hình 3.8 Biểu đồ cộng tác thực thi ca sử dụng lập danh sách phòng thi (Trang 68)
Hình 3.13: Biểu đồ tuần tự cho thực thi ca sử dụng thêm hồ sơ - framework và ứng dụng cho bài toán tuyển sinh trực tuyến tại các trường đại học
Hình 3.13 Biểu đồ tuần tự cho thực thi ca sử dụng thêm hồ sơ (Trang 71)
Hình 3.15: Biểu đồ tuần tự cho thực thi ca sử dụng xoá hồ sơ - framework và ứng dụng cho bài toán tuyển sinh trực tuyến tại các trường đại học
Hình 3.15 Biểu đồ tuần tự cho thực thi ca sử dụng xoá hồ sơ (Trang 72)
Hình 3.18: Biểu đồ tuần tự cho thực thi ca sử dụng lập danh sách phòng thi - framework và ứng dụng cho bài toán tuyển sinh trực tuyến tại các trường đại học
Hình 3.18 Biểu đồ tuần tự cho thực thi ca sử dụng lập danh sách phòng thi (Trang 73)
Hình 3.17: Biểu đồ tuần tự cho thực thi ca sử dụng tách hồ sơ theo cụm thi - framework và ứng dụng cho bài toán tuyển sinh trực tuyến tại các trường đại học
Hình 3.17 Biểu đồ tuần tự cho thực thi ca sử dụng tách hồ sơ theo cụm thi (Trang 73)
Hình 3.19: Biểu đồ tuần tự cho thực thi ca sử dụng in giấy báo thi - framework và ứng dụng cho bài toán tuyển sinh trực tuyến tại các trường đại học
Hình 3.19 Biểu đồ tuần tự cho thực thi ca sử dụng in giấy báo thi (Trang 74)
Hình 3.21: Biểu đồ tuần tự cho thực thi ca cập nhật điểm - framework và ứng dụng cho bài toán tuyển sinh trực tuyến tại các trường đại học
Hình 3.21 Biểu đồ tuần tự cho thực thi ca cập nhật điểm (Trang 75)
Hình 4.1: Giao diện trang đăng ký tuyển sinh trực tuyến - framework và ứng dụng cho bài toán tuyển sinh trực tuyến tại các trường đại học
Hình 4.1 Giao diện trang đăng ký tuyển sinh trực tuyến (Trang 81)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w