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

Xây dựng hệ quản trị hypermedia

178 224 0
Tài liệu đã được kiểm tra trùng lặp

Đ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 178
Dung lượng 2,71 MB

Nội dung

Xây dựng hệ quản trị hypermedia

Trang 1

KHOA CNTT –

ĐH KHTN TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN

KHOA CÔNG NGHỆ THÔNG TIN BỘ MÔN CÔNG NGHỆ PHẦN MỀM

CAO THỊ THÙY LIÊN - NGUYỄN THẾ VŨ

XÂY DỰNG HỆ QUẢN TRỊ HYPERMEDIA HƯỚNG ĐỐI TƯỢNG

LUẬN VĂN CỬ NHÂN TIN HỌC

TP HCM, 2004

Trang 2

KHOA CNTT –

ĐH KHTN TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN

KHOA CÔNG NGHỆ THÔNG TIN BỘ MÔN CÔNG NGHỆ PHẦN MỀM

CAO THỊ THÙY LIÊN - 0012054 NGUYỄN THẾ VŨ - 0012134

XÂY DỰNG HỆ QUẢN TRỊ HYPERMEDIA HƯỚNG ĐỐI TƯỢNG

LUẬN VĂN CỬ NHÂN TIN HỌC

GIÁO VIÊN HƯỚNG DẪN

Thạc sĩ NGUYỄN THỊ BÍCH

NIÊN KHÓA 2000 - 2004

Trang 3

Thành quả này cũng xin được gửi đến cha mẹ, để ghi dấu kết thúc cho một chặng đường dài cha mẹ nuôi con ăn học, và mở ra chân trời mới cho con bay vào đời Cuối cùng xin gởi lời cảm ơn đến tất cả thầy cô, anh chị, bạn bè đã có những ý kiến quý báu cũng như động viên chúng em thực hiện thành công đề tài

Mặc dù chúng em đã rất nỗ lực để thực hiện đề tài, thế nhưng khối lượng công việc nhiều mà thời gian có hạn, cho nên không thể tránh khỏi một vài thiếu sót Rất mong thầy cô và các bạn góp ý

Chúng em xin chân thành cảm ơn !

Thành phố Hồ Chí Minh, ngày 11 tháng 7 năm 2004 Nhóm thực hiện

ѯÒ

Trang 4

7.1 Vì sao lựa chọn hệ quản trị hypermedia hướng đối tượng? 16

7.2 OOHDM và hệ quản trị hypermedia hướng đối tượng 17

8 GIẢIQUYẾTVẤNĐỀLƯUTRỮDỮLIỆU 18

9 OOHDM-TỪPHƯƠNGPHÁPLUẬNĐẾNTHỰCTIỄN 20

CHƯƠNG 2:OOHDM 22

10 GIỚITHIỆU 22

11 PHƯƠNGPHÁPTHIẾTKẾHYPERMEDIAHƯỚNGĐỐITƯỢNG 22

11.1 Pha Thiết kế mức quan niệm: 23

11.2 Pha Thiết kế duyệt: 23

11.3 Pha Thiết kế giao diện trừu tượng: 24

11.4 Pha Thực thi: 24

12 PHATHIẾTKẾMỨCQUANNIỆM 24

13 PHATHIẾTKẾDUYỆT 26

13.1 Lớp duyệt (Navigation class) 26

13.2 Ngữ cảnh duyệt (Navigation context) 30

13.2.1 Ngữ cảnh lớp đơn lẻ (Simple class derived context) 31

13.2.2 Nhóm ngữ cảnh lớp (Class derived context group) 31

13.2.3 Ngữ cảnh link đơn lẻ (Simple link derived context) 31

Trang 5

KHOA CNTT –

ĐH KHTN

13.2.4 Nhóm ngữ cảnh link (Link derived context group) 32

13.2.5 Ngữ cảnh tuỳ ý (Arbitrary context) 32

CHƯƠNG 3:XÂY DỰNG BỘ CÔNG CỤHỖ TRỢ PHƯƠNG PHÁP OOHDM 45

18 CÔNGCỤTHIẾTKẾLỚP-TẠOCƠSỞDỮLIỆU 45

Trang 7

23.1 Tổ chức thư mục cho hypertext 84

23.2 Công cụ thiết kế lớp, tạo cơ sở dữ liệu 85

CHƯƠNG 4:XÂY DỰNG SERVER CHO OOHDM 99

24 GIỚITHIỆUCHUNG 99

25 GIẢIPHÁPCHOVIỆCLỰACHỌNCƠSỞDỮLIỆU 99

26 CÀIĐẶTỨNGDỤNGOOHDMSERVER 100

26.1 Kiến trúc tầng lưu trữ 100

26.2 Kiến trúc tầng runtime 103

26.3 Giao diện chương trình 104

26.4 Chức năng của Server 106

27 CHI TIẾTCÁCLỚPĐỐITƯỢNG TẦNGSTORAGE 107

Trang 9

30.3.4 Tạo database trong Versant 139

30.3.5 Xây dựng file schema (imp) để compile chương trình 143

30.4 Nhận xét 144

Trang 10

31.3.2 Tạo database trong FastObject 148

31.3.3 Xây dựng file schema (ptxx) để compile chương trình 149

31.3.4 Một số lưu ý 149

32 FASTOBJECTS –FASTOBJECTS.NET COMPONENT 150

32.1 Giới thiệu – Nét chính 150

32.1.1 Lưu đối tượng một cách trực tiếp, dễ dàng hơn với FastObject.NET 151

32.1.2 Khả năng trong suốt 151

32.1.3 Chi phí về source code cho việc lưu trữ một đối tượng 152

32.1.4 Khả năng truy vấn như thế nào? 154

TÀI LIỆU THAM KHẢO 170

PHỤ LỤC:CÁC KHÁI NIỆM VỀCÁC HỆ QUẢN TRỊ CSDL 172

Trang 12

Luận văn "Xây dựng hệ quản trị hypermedia hướng đối tượng" tập trung

tìm hiểu các lý thuyết cũng như sản phẩm phần mềm liên quan, nhằm xây dựng hệ quản trị hypermedia hướng đối tượng lưu trữ dữ liệu trên hệ quản trị hướng đối tượng

Đồng thời, luận văn cũng thiết kế một ứng dụng sử dụng hệ hypermedia đã xây dựng để minh hoạ

- Phương pháp thiết kế hypermedia hướng đối tượng OOHDM được nghiên cứu và là hướng tiếp cận chính để xây dựng hệ hypermedia - Để giải quyết phần lưu trữ dữ liệu cho hệ hypermedia, luận văn chọn biện

pháp sử dụng một hệ quản trị khác phù hợp, đó là hệ cơ sở dữ liệu hướng đối tượng Do đó, đi tìm một hệ quản trị hướng đối tượng đáp ứng yêu cầu, tìm hiểu và sử dụng nó cũng là một công việc cần làm

- Đối với ứng dụng minh hoạ, luận văn mong muốn xây dựng một ứng dụng hay, gắn liền với kiến thức lý thuyết Vì vậy mà bộ công cụ hỗ trợ phương pháp OOHDM được lựa chọn

Những công việc luận văn đã làm:

- Tìm hiểu và vận dụng phương pháp OOHDM

- Tìm hiểu hệ quản trị hướng đối tượng Versant, FastObjects và sử dụng FastObjects để cài đặt

- Cài đặt hệ hypermedia hướng đối tượng theo phương pháp OOHDM - Xây dựng bộ công cụ hỗ trợ phương pháp OOHDM

Trang 13

Nhiều đề tài luận văn trước đây đã có sự nghiên cứu sâu sắc về lý thuyết hypermedia cũng như xây dựng mô hình hệ quản trị cơ sở dữ liệu hypermedia, chương trình soạn thảo các tài liệu điện tử

Chọn đề tài "Xây dựng hệ cơ sở dữ liệu hypermedia hướng đối tượng", luận văn này

mong muốn tiếp nối và phát triển các đề tài trước, với mục tiêu, đối tượng và phạm vi nghiên cứu như sau:

minh hoạ có vai trò quan trọng vì nó gắn liền với phương pháp lý thuyết Có thể nói nó thể hiện và đưa ý tưởng của phương pháp lý thuyết vào thực tiễn

- Tìm hiểu phương pháp thiết kế hypermedia hướng đối tượng OOHDM Đây là phương pháp được đưa ra để phục vụ cho việc thiết kế các ứng

Trang 14

KHOA CNTT –

ĐH KHTN

dụng hypermedia với đặc thù riêng: dữ liệu là các node và link Phương pháp này do Daniel Schwabe và Gustavo Rossi, Rita de Almeida Pontes, Isabela Moura giới thiệu vào khoảng năm 1998 và phát triển dần - Xây dựng mô hình và cài đặt hệ quản trị hypermedia hướng đối tượng

dựa trên phương pháp OOHDM

- Tìm hiểu hệ quản trị cơ sở dữ liệu hướng đối tượng Versant và FastObjects, sử dụng FastObjects phục vụ cho việc cài đặt chương trình - Xây dựng ứng dụng minh hoạ: gồm 3 phần:

o Chương trình cho phép thiết kế lớp, tạo cơ sở dữ liệu theo phương pháp OOHDM

o Chương trình cho phép soạn thảo template (khuôn mẫu) theo phương pháp OOHDM Chương trình này cũng sẽ xây dựng và đưa ra một bộ hàm để soạn thảo

o Chương trình Browser với bộ phân tích template, từ đó tạo ra các trang htm và trình bày

ѯÒ

Trên đây là phần mở đầu sơ lược về lý do chọn đề tài cũng như mục đích, đối tượng và phạm vi nghiên cứu, với mong muốn giúp người đọc có cái nhìn bao quát về đề tài Chi tiết nội dung đề tài sẽ được thể hiện qua các chương tiếp theo

Trang 15

KHOA CNTT –

ĐH KHTN

CHƯƠNG 1: TỔNG QUAN

Chương này xin điểm qua một số nét làm nền tảng, xuất phát điểm cho các vấn đề sẽ trình bày chi tiết ở các chương sau

Nhắc lại, theo đề tài luận văn cử nhân khoá 1998 "Tìm hiểu các mô hình

hypermedia – Xây dựng mô hình hypermedia ứng dụng trong việc soạn thảo các tài liệu điện tử" (Trần Ngọc Minh Công - Nguyễn Ngọc Đức, GVHD:

Thạc sĩ Nguyễn Thị Bích):

§ Khái niệm hypertext do Vannevar Bush đưa ra vào năm 1945

§ Hai mươi năm sau, thế hệ thứ nhất của hypermedia ra đời, hỗ trợ văn bản thuần tuý, cho nhiều người dùng chia sẻ

§ Thế hệ thứ hai ra đời vào những năm 80, hỗ trợ thêm giao diện đồ hoạ và các đoạn phim, cho một người hay một nhóm nhỏ người sử dụng

§ Hiện nay, nhiều nghiên cứu nỗ lực xây dựng thế hệ hypermedia thứ ba theo các hướng khác nhau:

• Các hệ thống ứng dụng mô hình HAM HAM do Brad Campell và Joseph M.Goodman đưa ra năm 1988, là server quản lý giao dịch lưu trữ tập trung các node, link

• Các hệ thống ứng dụng mô hình Dexter: Devise, Amsterdam Mô hình Dexter do Frank Halasz và Mayer Schwartz đề xuất vào năm 1990, được rất nhiều hệ thống hypermedia sử dụng bởi nó có một nền tảng cấu trúc bền vững của các tầng, tính mở cao dễ dàng cho các hệ

Trang 16

KHOA CNTT –

ĐH KHTN

thống khác phát triển, cho phép link nhiều đầu, cho phép chia sẻ dữ liệu

• Các hệ thống thiết kế theo mô hình hướng đối tượng: Harmony

• World Wide Web: hệ hypermedia được phát triển trở thành kho tri thức chung rộng lớn, không thể thiếu của nhân loại

TRÊN PHƯƠNG PHÁP LUẬN CỦA OOHDM

7.1 Vì sao lựa chọn hệ quản trị hypermedia hướng đối tượng?

So sánh các điểm tương đồng trong phạm trù hypermedia với thế giới phân tích, thiết kế, lập trình hướng đối tượng:

§ Các simple node tương đương với các atomic object đóng vai trò loại dữ liệu nguyên thuỷ như số nguyên, ký tự, chuỗi, video frame hay ảnh bitmap

§ Đối tượng hay node đều được truy cập đến bằng định danh (identifier)

§ Một link có thể được mô tả bằng một tập ít nhất hai định danh đối tượng Bản thân link cũng là một đối tượng với định danh của chính nó, được sử dụng để trích ra thông tin chỉ mục (index) từ nội dung tài liệu

§ Một composite object (tạo bởi mạng các node và link) được xem như một aggregation của các simple object

§ Các khái niệm dữ liệu trừu tượng (data abstraction) hay tính đóng gói (encapsulation) có thể được áp dụng qua việc định nghĩa các phương thức tạo, xoá, sửa, thao tác trên node, link, duyệt link cũng như phát động (trigger) sự kiện

Trang 17

KHOA CNTT –

ĐH KHTN

§ Node và link có thể được gom nhóm thành các lớp khác nhau dựa trên ngữ nghĩa cấu trúc và hành vi Việc tổ chức node và link theo ngữ nghĩa có tác dụng giúp quản trị mạng tốt hơn, loại bỏ tính mơ hồ, phân biệt rõ ràng mục đích của những đối tượng này

§ Node và link của một lớp nào đó cũng có thể kế thừa từ thuộc tính của lớp khác

§ Còn những khái niệm hướng đối tượng khác thích hợp với hypertext bao gồm: kiểm soát đồng bộ, quản lý phiên bản và

persistent

Do ngữ nghĩa mang tính hướng đối tượng như vậy, nên hệ hypermedia phát triển theo hướng đối tượng là tự nhiên và phù hợp nhất, bao gồm cả hai khía cạnh lưu trữ và thiết kế

7.2 OOHDM và hệ quản trị hypermedia hướng đối tượng

Phương pháp thiết kế hypermedia hướng đối tượng OOHDM do Daniel Schwabe và Gustavo Rossi, Rita de Almeida Pontes, Isabela Moura giới thiệu vào khoảng năm 1998, phục vụ cho việc thiết kế các ứng dụng hypermedia

Phương pháp thiết kế này sẽ phát huy tác dụng hơn nếu nó được chương trình hoá thành một công cụ hỗ trợ người dùng thay vì chỉ là lý thuyết

Muốn vậy, hệ quản trị hypermedia cũng phải được xây dựng tương

ứng với các khái niệm của OOHDM Chương 2 của luận văn sẽ trình bày lý thuyết OOHDM và qua các chương 3, 4, mô hình hệ

hypermedia hướng đối tượng dựa trên OOHDM sẽ được xây dựng

Trang 18

KHOA CNTT –

ĐH KHTN

Như nhận xét ở trên, hệ hypermedia lưu trữ dữ liệu trên hệ quản trị hướng đối tượng là sự lựa chọn tự nhiên nhất Điều này được khẳng định cụ thể và rõ ràng hơn qua một số nghiên cứu của các trường Đại học:

Filesystem KnowledgeBase RDBMS OODBMS

Dễ dàng thực hiện do các khái niệm đã được biết rõ

Kỹ thuật còn mới, và do đó khó thực hiện

Thích hợp cho dữ liệu đơn giản, “flat data”

Tốt cho dữ liệu phức tạp

Cấu trúc được chuyển đổi sang quan hệ Cấu trúc được mô tả như bản thân nó Đối tượng nhận được thông qua truy vấn Thao tác (operation) trên đối tượng được

lưu trong DB

Trang 19

KHOA CNTT –

ĐH KHTN

Sử dụng nhiều câu truy vấn để lấy ra 1 đối tượng

Thông điệp (message) gửi đến đối tượng và đối tượng này lại có thể gửi thông điệp đến các đối tượng khác

Kết quả truy vấn được chứa trong cấu trúc dữ liệu của ứng dụng

Thông điệp có thể thao tác trực tiếp dữ liệu trong DB và trả về con trỏ

Mỗi record trong 1 quan hệ (relation)

trong cấu trúc (hierachy) có thể bị khoá (lock)

Toàn bộ cấu trúc có thể bị khoá trong 1 thao tác (single operation)

Dữ liệu phức được "flatten" có thể dẫn đến mất đi tính trừu tượng, tính đóng gói

Có cơ chế quản lý dữ liệu phức

Không hỗ trợ tốt lắm cho làm việc hợp tác như quản lý phiên bản, kiểm soát đồng bộ

Xử lý giao tác uyển chuyển, có nhiều

Tính tương đồng giữa cơ sở dữ liệu và mô hình hypertext làm cho việc thực thi trực tiếp cấu trúc và hành vi của dữ liệu được dễ dàng hơn

Bảng 1 2 - Sự khác biệt giữa RDBMS và OODBMS, theo kết quả đánh giá của Dại học Brown [Smith & Zdonik, 1987], và [Lange, 1993]

Những nghiên cứu trên cho thấy hệ quản trị hướng đối tượng là thích hợp hơn cho cơ chế lưu trữ của hệ hypermedia Bằng cách tích hợp mô hình dữ liệu với hypertext, cách thức thu nhận thông tin sẽ được phát triển, bằng cách chuyển các chức năng từ mức độ người dùng thành mức độ cơ sở dữ liệu, sử dụng hệ quản trị hướng đối tượng

Trang 20

KHOA CNTT –

ĐH KHTN

Tuy nhiên, qua các tài liệu mà chúng tôi tham khảo đến thời điểm này, thì tư tưởng trên vẫn chỉ ở mức đang được phát triển, chủ yếu là do sự chưa phổ biến của các hệ quản trị cơ sở dữ liệu hướng đối tượng

Trong quá trình tìm kiếm, chúng tôi có điều kiện tiếp xúc, tìm hiểu và sử dụng một số hệ quản trị hướng đối tượng nổi tiếng, phát triển như Versant và FastObjects Sau khi nghiên cứu và so sánh cả hai, chúng tôi quyết định chọn FastObjects cho công việc của mình

Kết quả tìm hiểu cả hai hệ cũng như lý giải sự lựa chọn trên sẽ được chúng

tôi nêu ra trong Chương 5 – Các hệ quản trị CSDL hướng đối tượng

Như trên đã nói, OOHDM vốn là một phương pháp thiết kế, và nó sẽ hiệu quả hơn nếu được chương trình hoá thành một công cụ hỗ trợ người dùng Ý tưởng này cũng được cha đẻ của OOHDM, những người có công đề ra hệ phương pháp luận này, nghĩ đến, qua công cụ thiết kế, soạn thảo trang Web động OOHDM-Web

Được mô tả chi tiết trong Chương 3 – Xây dựng bộ công cụ hỗ trợ phương pháp OOHDM, ứng dụng minh hoạ trong luận văn chúng tôi cũng

đi theo hướng này, với mong muốn thể hiện được cụ thể, rõ nét ý nghĩa cũng như tác dụng của phương pháp OOHDM Phát triển trên ý tưởng đó, nhưng ứng dụng của chúng tôi có nhiều khác biệt:

o Công cụ thiết kế lớp, tạo cơ sở dữ liệu OOHDM Definition: cho phép thiết kế và tạo các lớp dữ liệu một cách tự nhiên, vì dữ liệu được lưu trữ bằng hệ quản trị hướng đối tượng (OOHDM-Web sử dụng cơ sở dữ liệu quan hệ để lưu trữ, và theo tài liệu chúng tôi tham khảo thì công cụ này vẫn chỉ ở mức đang được phát triển)

o Công cụ thiết kế template OOHDM Template Designer: hỗ trợ người dùng soạn thảo template một cách trực quan Trong khi với OOHDM-Web, template được soạn thảo trên trình soạn thảo html bất kỳ, do đó sự

Trang 21

KHOA CNTT –

ĐH KHTN

hỗ trợ người dùng cho các tính năng OOHDM bị hạn chế Ngoài ra, chúng tôi cũng cải tiến hệ thống hàm cho đơn giản, gần gũi với người dùng, đồng thời bổ sung các hàm ngoài phạm trù OOHDM, phục vụ cho việc soạn thảo trang html được hoàn thiện hơn

o Công cụ phát sinh trang htm động OOHDM Browser: phát sinh trang Web động lúc duyệt từ các template thiết kế sẵn là một ý tưởng độc đáo, giúp tiết kiệm không gian lưu trữ, và công sức của người thiết kế Web Đối với những trang Web có cấu trúc giống nhau, họ chỉ cần soạn thảo duy nhất một template (quá trình soạn thảo cũng như tập tin kết quả template đều rất đơn giản) Trình duyệt với bộ phân tích cú pháp sẽ tự phân tích template và phát sinh trang htm động Công cụ này có ý nghĩa quan trọng vì nó cho ra thành quả cuối cùng, quyết định sự thành công của ứng dụng

ѯÒ

Trên đây là cái nhìn tổng quan về những vấn đề được đặt ra và giải quyết trong luận văn này Cụ thể từng vấn đề sẽ được đào sâu trong từng chương sau

Trang 22

KHOA CNTT –

ĐH KHTN

CHƯƠNG 2: OOHDM

Phương pháp thiết kế hypermedia hướng đối tượng OOHDM Oriented Hypermedia Design Method) do Daniel Schwabe và Gustavo Rossi, Rita de Almeida Pontes, Isabela Moura giới thiệu vào khoảng năm 1998

(Object-Phương pháp này cung cấp một hệ thống các khái niệm trừu tượng phục vụ cho việc thiết kế ứng dụng hypermedia cũng như làm cho các tác vụ của ứng dụng trở nên dễ dàng hơn

Thông qua kỹ thuật hướng đối tượng, phương pháp OOHDM giúp nhà thiết kế xây dựng được một kiến trúc duyệt tốt, đây là một trong những chìa khoá đưa đến thành công cho ứng dụng hypermedia

TƯỢNG

Cơ sở của hướng tiếp cận OOHDM:

- Các đối tượng duyệt được xem là khung nhìn (view - từ dùng trong cơ sở dữ liệu) của các đối tượng mức quan niệm

- Hình thành các khái niệm trừu tượng thích hợp để tổ chức không gian duyệt, và giới thiệu khái niệm ngữ cảnh duyệt

- Tách các vấn đề giao diện ra khỏi vấn đề duyệt

- Nhận thức rõ rằng có những quyết định thiết kế cần được đưa ra trong và chỉ trong giai đoạn thực thi mà thôi

Trang 23

KHOA CNTT –

ĐH KHTN

Nền tảng của hướng tiếp cận OOHDM là tách quá trình thiết kế ứng dụng hypermedia thành bốn pha riêng biệt: Thiết kế mức quan niệm (Conceptual design), Thiết kế duyệt (Navigation design), Thiết kế giao diện trừu tượng (Abstract interface design) và Thực thi (Implementation)

11.1 Pha Thiết kế mức quan niệm:

Giai đoạn mô tả lĩnh vực (domain) của ứng dụng, không quan tâm đến người sử dụng (user profile) hay tác vụ Có hai loại đối tượng được mô tả gồm:

o Những đối tượng cuối cùng sẽ trở thành các node trong mô hình duyệt (entity object)

o Những đối tượng hỗ trợ tính toán cho ứng dụng, đóng gói hành vi như thuật toán, truy cập cơ sở dữ liệu, v.v

Kết quả, giai đoạn này xây dựng nên mô hình cho lĩnh vực của ứng dụng Mô hình này có thể phục vụ cơ bản cho những ứng dụng khác trong cùng lĩnh vực, và không chứa bất cứ thông tin cụ thể nào liên quan đến việc duyệt

11.2 Pha Thiết kế duyệt:

Thông tin về những loại người sử dụng và các tác vụ tương ứng được sử dụng để rút ra các đối tượng duyệt (node, link, kiến trúc truy xuất) và cách chúng được cấu trúc

Ở giai đoạn này, nhà thiết kế sẽ thu thập các đối tượng của không gian duyệt thành một tập hợp có nghĩa gọi là ngữ cảnh duyệt (navigation context) Mỗi ngữ cảnh định nghĩa cách thức mà quá trình duyệt diễn tiến, bằng cách chỉ ra sự biến đổi trong không gian duyệt, nghĩa là, tập hợp các đối tượng duyệt có thể truy cập vào một thời điểm nhất định

Trang 24

KHOA CNTT –

ĐH KHTN

11.3 Pha Thiết kế giao diện trừu tượng:

Các đối tượng duyệt được ánh xạ vào bản vẽ giao diện (interface construct)

Công việc của giai đoạn này là chỉ ra các đối tượng giao diện (interface object) làm trung gian cho tương tác của người dùng với các đối tượng duyệt Kết quả, mô hình giao diện (interface model) chỉ ra: đối tượng giao diện nào người sử dụng có thể thấy, đối tượng giao diện nào sẽ hoạt hoá quá trình duyệt, các đối tượng giao diện multimedia sẽ được đồng bộ hoá như thế nào, và sự biến đổi giao diện sẽ xảy ra thế nào

11.4 Pha Thực thi:

Mang trách nhiệm thi hành bản vẽ giao diện, giai đoạn này ánh xạ các đối tượng quan niệm, duyệt và giao diện vào một môi trường run-

time đích, có thể bao gồm việc định nghĩa các trang HTML, script,

truy vấn dữ liệu v.v… Qua đó nhà soạn thảo sẽ có được ứng dụng hypermedia thật sự để chạy

Việc phân chia thiết kế quan niệm, duyệt và giao diện thành các hoạt động riêng biệt cho phép ta tập trung vào một công việc trong một thời điểm Kết quả, ta có những đơn vị thiết kế có thể tái sử dụng

Mặt khác, thiết kế nguyên thuỷ cũng có thể ánh xạ vào môi trường hay ngôn ngữ thực thi phi đối tượng

Sản phẩm của bước này là lược đồ lớp bao gồm các hệ thống con system), lớp và quan hệ

Trang 25

(sub-KHOA CNTT –

ĐH KHTN

OOHDM dùng hệ ký hiệu tương tự như UML, nhưng khác biệt ở chỗ sử dụng các thuộc tính đa trị, và việc phân biệt hướng rõ ràng trong các quan hệ

Để minh hoạ, ta xem xét ví dụ sau, một lược đồ đơn giản cho tạp chí trực tuyến:

Hình 2 1 – Mô hình mức quan niệm cho một tạp chí trực tuyến

Trong mô hình này, Story có thể là Essay, Translation hay Interview Một

Interview là một aggregation của Q&A (question & answer) Mỗi Story có

một Author, và một Interview có quan hệ với Person liên quan nó

Không có lớp Magazine trong lược đồ này, mà nó sẽ tồn tại trong giai đoạn

Thiết kế duyệt

Thuộc tính lớp được phân loại, mỗi loại được gọi là một perspective Ví dụ

trong hình trên, thuộc tính Illustration của Essay có thể là Photo hay Video,

ký hiệu [p1, p2], dấu + có thể thêm vào một perspective để cho biết nó là giá

trị mặc định

Trang 26

KHOA CNTT –

ĐH KHTN

Aggregation trong định nghĩa lớp tương tự như khái niệm component trong

mô hình hypermedia Mối quan hệ tiềm ẩn tồn tại giữa một đối tượng phức

tạp với thành phần của nó và giữa các thành phần với nhau được gọi là link

cấu trúc trong mô hình hypermedia

Việc sử dụng mô hình hướng đối tượng để mô tả các khía cạnh khác nhau của một ứng dụng hypermedia cho phép diễn tả phong phú các hoạt động tính toán như là truy vấn động, chỉnh sửa đối tượng trực tuyến, tìm kiếm heuristic

Mô hình duyệt (navigational model) ở giai đoạn này được xây dựng như là một khung nhìn trên mô hình quan niệm, do đó có thể xây dựng các mô hình duyệt khác nhau tương ứng với người sử dụng khác nhau

Có hai lược đồ được quan tâm đến trong giai đoạn này:

- Lược đồ lớp duyệt (navigational class schema): định nghĩa phạm vi

duyệt (navigational domain) của ứng dụng hypermedia Tương tự như mô hình hypermedia, trong OOHDM có một tập hợp các loại lớp duyệt được định nghĩa trước: node, link, anchor và các cấu trúc truy cập (index – mô tả các cách có thể để bắt đầu duyệt)

- Lược đồ ngữ cảnh duyệt (navigational context schema)

13.1 Lớp duyệt (Navigation class)

Lớp duyệt (navigation class, tức là node) được ký hiệu bằng ký hiệu lớp với một ô vuông ở góc trên bên phải Thuộc tính đa trị trong mô hình quan niệm được ánh xạ thành các thuộc tính khác nhau của lớp duyệt

OOHDM cho phép node được định nghĩa bằng cách kết hợp các thuộc tính của các lớp riêng biệt có liên quan nhau trong mô hình quan niệm Node sở hữu các thuộc tính đơn, link anchor, và có thể là

Trang 27

KHOA CNTT –

ĐH KHTN

atomic hoặc composite Anchor là thể hiện của lớp Anchor (hoặc một

trong những lớp con của nó) và được tham số hoá bằng loại link nó sở hữu Hành vi duyệt chuẩn khi một node nhận được thông điệp

“anchorSelected()” là giao phó thông điệp này cho anchor tương

ứng, để nó hoạt hoá link tương ứng Có thể định nghĩa lại hành vi chuẩn của anchor hay node để thực hiện kiểm tra trước khi quá trình duyệt diễn ra

Đây là một trong những cải tiến chính của OOHDM, nhận ra các đối tượng mà người dùng duyệt không phải là đối tượng mức quan niệm Do đó, thuộc tính node được định nghĩa như là những khung nhìn hướng đối tượng của các lớp mức quan niệm, bằng ngôn ngữ truy vấn Điều này cho phép node được định nghĩa bằng cách cung cấp truy cập đến thuộc tính của các lớp riêng biệt có liên quan nhau trong lược đồ quan niệm

Link phản ánh những mối quan hệ mức quan niệm dự kiến sẽ được duyệt bởi người dùng cuối Các ứng dụng khác nhau (trên cùng một lĩnh vực) có thể chứa không gian duyệt khác nhau tuỳ theo người dùng Ví dụ, website về kiến trúc có thể chứa thông tin phân loại công trình cho các chuyên gia, và không chứa thông tin này đối với người dùng thông thường

Link kết nối các đối tượng duyệt và có thể là quan hệ 1-1 hay 1-n Cấu trúc truy cập (index hay guided tour) được định nghĩa như lớp, mô tả các cách duyệt thay thế trong ứng dụng hypermedia Quan hệ giữa node và các đối tượng mức quan niệm, giữa link và các quan hệ trong lược đồ được diễn tả bằng Observer Design Pattern Cú pháp chung định nghĩa thuộc tính node như sau (tương tự đối với link):

NODE name [FROM className: varName] [INHERITS FROM

nodeClass]

Trang 28

KHOA CNTT –

ĐH KHTN

attri: type1 [SELECT name1] [FROM class1:varName1, classj:

- name: tên lớp của node đang tạo

- className: tên lớp mức quan niệm (từ đó node được ánh xạ) - nodeClass: tên super-class

- attri: tên thuộc tính của lớp, typei là loại thuộc tính

- namei: chủ thể cho biểu thức truy vấn, vari là các biến diễn tả điều

kiện logic

- logical expression: cho phép định nghĩa lớp có thể hiện là kết hợp

của các đối tượng được định nghĩa trong lược đồ quan niệm, khi những điều kiện trên các thuộc tính và/hay quan hệ của chúng có hiệu lực

Ví dụ, một lớp node Story, chứa như là thuộc tính của nó name và

bio của Person viết nó, và một anchor của một link đến Person đó

Trong mô hình quan niệm, name và bio của Person là thuộc tính của

lớp này

Ví dụ ở trên cho kết quả định nghĩa node như sau:

Trang 29

KHOA CNTT –

ĐH KHTN

NODE Story [FROM Story:St] [INHERITS FROM Person]

author: String [SELECT Name] [FROM Person:Pr WHERE Pr Is

Author of St]

auhtor_bio: String [SELECT Bio] [FROM Person:Pr WHERE Pr Is

Author of St]

(các thuộc tính khác được giữ lại từ lớp Story mức quan niệm)

toAuthor: Anchor (Is Author of) END

Giá trị thuộc tính toAuthor là một anchor được tham số hoá với lớp

Link Is Author of Khi định nghĩa thể hiện giao diện của lớp node Story ta có thể để anchor xuất hiện như một button ẩn phía trên tên

tác giả (thuộc tính author) Mặc dù có vẻ như hai thuộc tính có cùng

hành vi, nhưng chỉ anchor là hồi đáp lại sự kiện giao diện

Trang 30

KHOA CNTT –

ĐH KHTN

Hình 2 2 – Mô hình duyệt cho tạp chí trực tuyến

Lớp Person không xuất hiện, và thuộc tính của Author bây giờ là bộ phận của lớp Story Tương tự với lớp Interview

13.2 Ngữ cảnh duyệt (Navigation context)

Một ứng dụng hypermedia thiết kế tốt phải quan tâm đến cách người dùng duyệt không gian hypermedia Ta cần giúp người dùng chọn cách duyệt nào phù hợp mà họ có thể kiểm soát được Giải pháp thông thường cho vấn đề này là có một công cụ định hướng, chính vì vậy mà khái niệm ngữ cảnh duyệt xuất hiện

Sau khi các lớp duyệt đã được xây dựng, tiếp theo ta sẽ cấu trúc không gian duyệt có thể cho người dùng Trong OOHDM, ta nhóm các đối tượng duyệt thành những tập hợp gọi là ngữ cảnh (context)

Trang 31

KHOA CNTT –

ĐH KHTN

Một ngữ cảnh duyệt là một tập node, link, lớp ngữ cảnh và các ngữ cảnh duyệt khác Mỗi định nghĩa ngữ cảnh bao gồm: các yếu tố nó chứa; đặc tả cấu trúc duyệt bên trong nó; một điểm vào; giới hạn truy cập bằng các lớp và thao tác người dùng; và những cấu trúc truy cập liên quan

Có năm cách khác nhau để định nghĩa ngữ cảnh:

13.2.1 Ngữ cảnh lớp đơn lẻ (Simple class derived context)

Chứa tất cả đối tượng của một lớp thoả một vài tính chất, ví dụ

“buildings with address = Rio de Janeiro” Một biến thể của

loại này là query-based context, người dùng xác định các tính

chất vào lúc duyệt Ký hiệu đồ hoạ:

Hình 2 3 – Ký hiệu đồ hoạ cho ngữ cảnh lớp đơn lẻ

13.2.2 Nhóm ngữ cảnh lớp (Class derived context group)

Là tập hợp các ngữ cảnh lớp đơn lẻ, trong đó tính chất mang tính định nghĩa cho mỗi ngữ cảnh được tham số hoá; ví dụ

“building by location” (location có thể thay đổi)

Ký hiệu đồ hoạ:

Hình 2 4 – Ký hiệu đồ hoạ cho nhóm ngữ cảnh lớp

13.2.3 Ngữ cảnh link đơn lẻ (Simple link derived context)

Chứa tất cả đối tượng liên quan đến đối tượng cho trước; ví dụ

“buildings designed by Oscar Niemeyer” Ký hiệu đồ hoạ

như 4.2.1

Trang 32

KHOA CNTT –

ĐH KHTN

13.2.4 Nhóm ngữ cảnh link (Link derived context group)

Tập hợp các ngữ cảnh link đơn lẻ, mỗi ngữ cảnh có được bằng

cách thay đổi yếu tố nguồn của link; ví dụ “buildings designed

by architect” (architect thay đổi) Ký hiệu đồ hoạ như 4.2.2

13.2.5 Ngữ cảnh tuỳ ý (Arbitrary context)

Là một tập hợp liệt kê (enumerated set); ví dụ, một guided

tour Ký hiệu đồ hoạ như 4.2.1

13.2.6 Ngữ cảnh động (Dynamic context)

Ngoài năm loại ngữ cảnh trên, loại ngữ cảnh động xuất hiện trong một số tài liệu, là tập hợp trong đó các yếu tố của một ngữ cảnh có thể thay đổi như là kết quả của quá trình duyệt bởi

người dùng; ví dụ history, shopping basket (được người đọc

xây dựng trong khi duyệt qua các đối tượng (ví dụ là sách) trong các ngữ cảnh khác) Nếu ứng dụng cho phép tạo hay chỉnh sửa đối tượng (class instance), tất cả ngữ cảnh nhận được từ những đối tượng này sẽ là động, điều này cũng đúng trong trường hợp link

Ký hiệu đồ hoạ:

Hình 2 5 - Ký hiệu đồ hoạ cho ngữ cảnh động

Với tất cả các ngữ cảnh trên, nếu có một cấu trúc truy cập được định nghĩa cho nó, thì ký hiệu đồ hoạ tương ứng chứa một ô đen nhỏ ở góc trên bên trái Kết hợp với ngữ cảnh có các cấu trúc truy cập (index) ký hiệu đồ hoạ bởi:

Trang 33

KHOA CNTT –

ĐH KHTN

Hình 2 6 – Ký hiệu đồ hoạ cho các cấu trúc truy cập

Ngữ cảnh duyệt tổ chức không gian duyệt thành các tập hợp phù hợp (consistent) có thể được duyệt theo một thứ tự nhất định

Cấu trúc duyệt của một ứng dụng được định nghĩa trong lược đồ ngữ cảnh (context diagram), trình bày tất cả cấu trúc truy cập và ngữ cảnh được định nghĩa cho ứng dụng này, và quá trình duyệt có thể có giữa chúng

Hình 2.7 là lược đồ ngữ cảnh duyệt cho tạp chí trực tuyến, trong đó

Magazine hình thành bởi Story được nhóm theo một số tiêu chuẩn

khác nhau

Hình 2 7 - Lược đồ ngữ cảnh duyệt cho tạp chí trực tuyến

Index được chỉ ra bởi các ô với đường đậm, nét đứt, như là "Main Menu" Loại ngữ cảnh đơn giản nhất (tập các node) được ký hiệu bởi:

Trang 34

KHOA CNTT –

ĐH KHTN

Hình 2 8 – Ký hiệu đồ hoạ cho tập các node

Trong ví dụ này, tập các Story được mô tả như là “Highlights” của 1

Magazine nhất định

Một nhóm các ngữ cảnh bao gồm các node của cùng một lớp, theo tiêu chuẩn khác nhau, ký hiệu nhóm ngữ cảnh như sau:

Hình 2 9 – Ký hiệu đồ hoạ cho nhóm ngữ cảnh

Ô đen ở góc trên bên trái chỉ ra rằng nhóm có một index đến các thành phần của nó Định nghĩa của ngữ cảnh tự nó sẽ chỉ ra loại của quá trình duyệt được cho phép trong ngữ cảnh, giá trị điển hình là “sequential”, “circular sequential”, “index” (chỉ có thể duyệt từ một index đến một yếu tố và trở lại), hoặc “index sequential”

Việc thiếu một đường đứt giữa các nhóm cho biết có thể tự động chuyển từ một ngữ cảnh của một nhóm sang một ngữ cảnh của nhóm kia Còn các nhóm ngữ cảnh “by reference”, “by query” và “hightlights” đều được ngăn cách bởi đường nét đứt Có nghĩa là, ví

dụ như, nếu người đọc đang xem một Story trong một section cho trước, anh ta sẽ được phép duyệt qua, hoặc là Story kế tiếp của

section này, hoặc là Story kế tiếp của cùng tác giả Tuy nhiên, anh ta

sẽ không được phép duyệt qua Highlights kế tiếp

Trang 35

KHOA CNTT –

ĐH KHTN

Mũi tên đi từ "Story" trở lại chính nó cho biết Story có thể tham khảo đến các Story khác liên quan Nếu người đọc đang xem một Story, và lần theo link đến một Story liên quan, anh ta sẽ ở trong ngữ cảnh tất cả các Story liên quan được nhóm lại Lúc này, anh ta phải quay trở lại, hoặc là Story ban đầu, được chỉ ra bởi mũi tên hai đầu, hoặc là

"summary index", được chỉ ra bởi mũi tên từ “Story” đến “Index of sections”

Một khi ngữ cảnh được định nghĩa, có thể mở rộng định nghĩa của các lớp duyệt bằng cách chỉ ra “decorator”, là các thuộc tính chỉ hiển thị khi một đối tượng được truy cập trong một ngữ cảnh cho trước Những thuộc tính như vậy được định nghĩa trong các lớp InContext Node được làm phong phú hơn bởi tập các lớp InContext, cho phép một node trông khác biệt và trình bày các thuộc tính khác nhau (bao gồm anchor), cũng như các phương thức khác nhau khi được duyệt

trong một ngữ cảnh nhất định (hình 2.10) Ví dụ, khi duyệt “Stories

by Bob Woodward”, tiểu sử tác giả có thể không được chứa như là

thuộc tính của Story, trong khi nó có thể được chứa khi duyệt

“Highlights” (hình 2.11) Việc làm phong phú node này tuân theo

cấu trúc của Decorator Design Pattern

Hình 2 10 – Node trong ngữ cảnh được tạo bởi node cơ bản và decorator

Trang 36

KHOA CNTT –

ĐH KHTN

Hình 2 11 - Đặc tả của lớp InContext cho Story trong ngữ cảnh Highlights Trong trường hợp này, tiểu sử tác giả chỉ được thấy khi một Story được truy cập

bên trong ngữ cảnh Highlights

Giai đoạn này:

- Định nghĩa cách thức các đối tượng duyệt khác nhau sẽ xuất hiện; đối tượng giao diện nào sẽ hoạt hoá quá trình duyệt và các chức năng ứng dụng; đối tượng giao diện nào mà người dùng sẽ nhìn thấy; cũng như những diễn tiến giao diện nào sẽ xảy ra và xảy ra khi nào

- Cho phép xây dựng các giao diện khác nhau cho cùng một mô hình duyệt, dẫn đến sự độc lập mức cao về kỹ thuật giao diện người dùng - Chỉ ra một cách rõ ràng diễn tiến nào thuộc về giao diện cũng đồng thời

là diễn tiến của quá trình duyệt Có sự phân biệt giữa các thao tác duyệt và thao tác giao diện, không phải tất cả những gì xảy ra ở giao diện đều liên quan đến quá trình duyệt

- Chỉ ra diễn tiến giao diện nào là cục bộ đơn giản không ảnh hưởng đến tình trạng của quá trình duyệt, do đó không cần truy cập đến web server

Trang 37

KHOA CNTT –

ĐH KHTN

Khi thực thi, giao diện của ứng dụng Web thường được tạo bởi các trình soạn thảo HTML chuyên biệt, nhiều khía cạnh quan trọng của giao diện có thể bị loại trừ

OOHDM dùng hướng tiếp cận Khung nhìn dữ liệu trừu tượng (Abstract Data View design) để mô tả giao diện người dùng của một ứng dụng hypermedia

Khung nhìn dữ liệu trừu tượng (ADV - Abstract Data View) là các mô

hình chính thức của đối tượng giao diện và được chỉ ra bằng cách cho biết: - Các khía cạnh tĩnh, có cấu trúc của những đối tượng giao diện

- Cách thức chúng liên hệ tĩnh với Đối tượng dữ liệu trừu tượng (ADO -

Abstract Data Object), ở đây là các đối tượng duyệt Ta sử dụng Lược đồ cấu hình (configuration diagram) để diễn tả những mối quan hệ này Một ADV liên hệ với một đối tượng ứng dụng tương ứng, đối tượng này hành động như một server đối với các thao tác không đặc trưng cho giao

diện Đối tượng này được gọi là ADV owner

- Cách thức chúng cư xử để phản ứng lại các sự kiện bên ngoài; cụ thể, chúng kích hoạt quá trình duyệt thế nào, và diễn tiến giao diện nào xảy

ra khi người dùng tương tác với ứng dụng OOHDM sử dụng

ADV-chart, và một hệ thống ký hiệu tương tự Petri-Net để diễn đạt các vấn đề

đồng bộ hoá thường được gặp khi làm việc với dữ liệu multimedia

ADV là các đối tượng có trạng thái và giao diện, trong đó giao diện có thể được thi hành thông qua thông điệp (cụ thể là các sự kiện bên ngoài phát sinh bởi người dùng) ADV trừu tượng ở chỗ chúng chỉ mô tả giao diện và trạng thái chứ không thực thi ADV được sử dụng để mô tả giao diện giữa hai phương tiện khác nhau như là người dùng, mạng hay một thiết bị (ví dụ Timer), hoặc giao diện giữa hai hay nhiều ADO ADO là các đối tượng không hỗ trợ sự kiện bên ngoài do người dùng phát sinh Từ quan điểm kiến trúc, ADV là nhà quan sát (observer) cho ADO, vì v ậy giao thức liên lạc

Trang 38

KHOA CNTT –

ĐH KHTN

giữa giao diện và đối tượng ứng dụng sẽ tuân theo quy tắc mô tả trong Observer Design Pattern

Một ADV được sử dụng trong thiết kế ứng dụng web có thể được xem như một đối tượng giao diện Nó gồm một tập các thuộc tính định nghĩa những

đặc tính perception của nó, và một tập các sự kiện nó có thể xử lý, ví dụ như

những sự kiện do người dùng phát sinh

Giá trị thuộc tính có thể được định nghĩa như hằng số, để xác định các kiểu trình bày cụ thể như vị trí, màu sắc, âm thanh Nói chung, ADV chỉ ra tổ chức và hành vi của giao diện, nhưng trình bày vật lý thật sự hay trình bày ADV trên màn hình được làm ở giai đoạn thực thi

Một biến được lưu trữ, “perceptionContext”, dùng để chỉ ra sự chỉnh sửa của

không gian perception (tập hợp các đối tượng có thể thấy tại một thời điểm)

Khi ta muốn để đối tượng nào đó có thể được thấy, ta bổ sung nó vào perceptionContext, và các yếu tố được loại khỏi perceptionContext sẽ không được thấy nữa

Trong ngữ cảnh của OOHDM, các đối tượng duyệt như là node, index sẽ

đóng vai trò ADO, và ADV liên kết với chúng sẽ được dùng để xác định thể

hiện của chúng đến người dùng Chúng ta sẽ dùng từ ADV để chỉ các đối

tượng và các lớp giao diện

ADV có thể được bao gồm bởi aggregation hay composition của các ADV

mức thấp hơn, do đó cho phép việc xây dựng giao diện người dùng với các đối tượng có thể thấy được lại bị ẩn đi Giả sử, ví dụ, ta có ứng dụng vẽ Hình 2.12 cho thấy một ADV mô tả một bức vẽ có thể tạo bởi 3 ADV, chứa một image, text và một button Ngoài ra, ADV có thể được tổ chức trong những cấu trúc tổng quát hoá / đặc biệt hoá cung cấp một framework mức quan niệm để định nghĩa thứ bậc của các đối tượng giao diện

Trang 39

KHOA CNTT –

ĐH KHTN

Hình 2 12 – ADV có thể là aggregation

Hình 2 13 – ADV sử dụng khái niệm kế thừa

Trong Hình 2.13, AnchoredText là một đối tượng giao diện, nó thêm một tập anchor (được thực thi trong ví dụ như là các hotword) vào TextField tổng quát hơn Trong khi Description là một button được chuyên biệt hoá bằng

cách thêm vào một hành vi được tuỳ biến hơn (không cho thấy trong hình)

Trang 40

KHOA CNTT –

ĐH KHTN

Hình 2 14 – ADV Painting trong trang Web Portinari

ADV Painting chứa một số thuộc tính mô tả các khía cạnh nhất định của một

bức vẽ và nhiều ADV ẩn như Picture, References và People Trong ký hiệu ở Hình 2.14 References và People không được cho thấy cùng một lúc, do đó ADV của chúng chồng lên nhau Các ADV ShowPeople, ShowReferences là

control cho phép hiển thị một trong các ADV đề cập trước đó ADV

InContext Theme thi hành giao diện của lớp InContext Theme và cung cấp

những công cụ duyệt bên trong ngữ cảnh duyệt Paintings of a Theme

Trong khi lược đồ trên cho thấy bản chất tĩnh của giao diện Painting, tính

chất động được mô tả bằng ADV-chart Khi ShowPeople được click, nó gửi

thông điệp trình bày danh sách People liên quan đến bức vẽ, và tương tự với

ShowReference Đây là hiệu ứng hoàn toàn về giao diện, không tính đến việc

duyệt qua node khác Trong khi đó, khi đối tượng giao diện Previous được

click, nó gửi thông điệp "anchorSelected (previous)" đến ADO tương ứng, trong trường hợp này một đối tượng InContext liên lạc với anchor tương ứng và nhờ đó ta duyệt đến bức vẽ khác

Ngày đăng: 10/11/2012, 08:14

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

TÀI LIỆU LIÊN QUAN

w