TestWord là thƣ viện mở đƣợc viết để điều khiển dữ liệu đầu ra của các tệp tin văn bản dựa trên bookmark (đánh dấu văn bản) từ các mẫu Template có sẵn. Do đặc tính của bài toán yêu cầu: tạo các file công báo có dữ liệu lớn bao gồm rất nhiều đơn, nhƣng mỗi đơn đều có các thuộc tính giống nhau. Hơn nữa bài toán cũng đặt ra phải tạo công cụ hỗ trợ các xét nghiệm viên soạn thảo Công văn (tiếng pháp) và lập phiếu thẩm định. Các loại tài liệu này đều cần trích xuất dữ liệu thông tin đơn và phải đúng chuẩn mẫu văn bản. Vì vậy, việc sinh dữ liệu tự động theo mẫu Template định nghĩa sẵn là rất thích hợp, nhờ vậy việc tạo ra các loại tài liệu này trở nên đơn giản, nhanh chóng.
2.4.1 Một số hàm chính trong thư viện TestWord
Thƣ viện hỗ trợ rất nhiều hàm để có thể soạn thảo đƣợc văn bản, dƣới đây là một số hàm cơ bản:
AddBmk(string bmkName): thêm đánh dấu trong văn bản.
GotoBmk(string bmkName): con trỏ đến tên bookmark đƣợc đánh dấu. Copy(): sao chép dữ liệu.
Cut(): cut dữ liệu DelBack(): xóa trƣớc DelWord(): xóa kí tự
Bool FinStr(string findStr,bool mchCase, bool mchWhole,bool mchUpdown): tìm kiếm chuỗi kí tự.
40
GotoBmkIns(string bmkName, string valStr): đi đến bookmark và thêm chuỗi kí tự
GotoBmkInsDel(string bmkName, string valStr): đi đến bookmark và xóa chuỗi kí tự ViewHeader() ViewFooter() ViewMain() GetNumofPage() InsFooter(string valStr) InsPic(string valStr) MoveRight() MovePro() MoveDown() MoveUp() …
2.5. Công nghệ XSLT - Ngôn ngữ định kiểu mở rộng chuyển đổi (Extensible Stylesheet Language Transformations) đổi (Extensible Stylesheet Language Transformations)
Do dữ liệu đơn đƣợc tải về từ Văn phòng quốc tế đều đƣợc lƣu trong file XML (theo chuẩn MECA) nên các xét nghiệm viên không thể hiểu nội dung các file này. Mặt khác khi làm phiếu thẩm định, cần phải có đính kèm tài liệu đơn nên việc hiển thị thông tin đơn sang dạng hiểu đƣợc là rất cần thiết. Chính vì vậy mà công nghệ XLST đƣợc sử dụng để chuyển đồi định dạng XML sang dạng HTML.
2.5.1. Khái niệm
Ngôn ngữ định kiểu mở rộng chuyển đổi (Extensible Stylesheet Language Transformations - XSLT) cung cấp cách chuyển đổi dữ liệu XML từ dạng này sang dạng khác một các tự động. Định dạng muốn chuyển sang thƣờng có thể là là một tài liệu XML; bạn có thể chuyển đổi dữ liệu XML sang bất cứ dạng gì bằng cách tạo ra các bảng định kiểu XSLT và thực hiện chuyển đổi dữ liệu. Nếu bạn muốn thay đổi định dạng đích, bạn chỉ việc thay đổi bảng định kiểu XSLT và thực hiện việc chuyển đổi lần nữa. Điều này rất hiệu cho những ngƣời không phải là lập trình viên, ví dụ nhƣ nhà thiết kế, họ có thể thay đổi XSLT để có đƣợc kết quả nhƣ ý.
41
2.5.2. Quy tắc chung
Bản thân XSL cũng là một XML well-formed nhƣng nó chứa những lệnh của chính nó và dữ liệu HTML dùng y nguyên cho dữ liệu ra. Vì vậy chúng ta phải tuân thủ mọi quy tắc của một XML well-formed.
Để trình phân tích XML nhận diện đƣợc các lệnh của XSL thì chúng ta cần phải khai báo một namespace trong phần tử gốc. Một style sheet thƣờng chứa một trong hai namespace:
Namespace nguyên thủy: http://www.w3.org/TR/WD-xsl
Namespace của XSLT: http://www.w3.org/1999/XSL/Transform
Phần tử gốc trong tài liệu XSL thƣờng là một phần tử xsl:stylesheet, nó chứa một hay nhiều phần tử xsl:template.
Ví dụ, chúng ta có file test.xsl sau:
Thuộc tính match trong phần tử template để chỉ ra node xuất phát.
Để tham chiếu file một tài liệu xsl vào trong tài liệu XML bằng cách thêm vào đầu tài liệu XML dòng:
Trong đó URI/URL là địa chỉ của tài liệu xsl mà chúng ta muốn tham chiếu.
2.6. Chuẩn MECA
Do việc trao đổi thông tin đơn giữa văn phòng quốc tế với các quốc gia thành viên là thƣờng xuyên, nên việc trao đổi thông tin thông qua đƣờng bƣu điện sẽ có rất nhiều hạn chế nhƣ: Kinh phí vận chuyển, có khả năng trục trặc không đảm bảo thời gian (đối với nộp đơn nhãn hiệu thì thời gian rất quan trọng, nếu chậm trễ ngƣời nộp đơn sẽ chịu thiệt, họ có thể kiện tổ chức)…Chính vì vậy, cùng với sự phát triển của công nghệ thông tin, internet phát triển nên Văn phòng quốc tế đã đề
42
ra chuẩn MECA cho dữ liệu đơn, để việc trao đổi thông tin đơn đƣợc dễ dàng trên mạng Internet.
2.6.1. MECA là gì
MECA – Madrid Electronic CommunicAtions : Là chuẩn trao đổi dữ liệu nhãn hiệu điện tử do Văn phòng quốc tế xây dựng.
MECA đƣợc xây dựng trên ngôn ngữ SGML (Standard Generalized Markup Language). Thực tế MECA chỉ sử dụng kỹ thuật “thẻ dữ liệu” và cấu trúc của SGML mà không sử dụng kỹ thuật định dạng dữ liệu của SGML.
MECA cũng sử dụng file DTD (Document Type Definition) để định nghĩa cấu trúc dữ liệu.
2.6.2. Áp dụng MECA với đơn nhãn hiệu quốc tế
MECA đƣợc áp dụng cho cả hai loại đơn: Thoả ƣớc Madrid (Madrid Agreement) và Nghị định thƣ Madrid (Madrid Protocol).
Trƣớc hết cần phân biệt các chủ thể liên qua đến một đơn nhãn hiệu quốc tế, đó là :
Ngƣời nộp đơn
Cơ quan SHTT của Ngƣời nộp đơn (Cơ quan SHTT yêu cầu bảo hộ) Văn phòng quốc tế
Cơ quan SHTT của nƣớc đƣợc chỉ định (Cơ quan SHTT nhận yêu cầu bảo hộ). Văn phòng quốc tế dùng định dạng MECA trong việc trao đổi dữ liệu điện tử nhãn hiệu quốc tế hai chiều giữa Văn phòng quốc tế và các Cơ quan sở hữu trí tuệ thành viên:
Công báo điện tử (ROMARIN),Thông báo điện tử.
Dữ liệu mà Văn phòng quốc tế cung cấp trên máy chủ FTP cho các Cơ quan sở hữu trí tuệ thành viên thuộc loại thông báo điện tử.
Thông báo điện tử của đơn nhãn hiệu quốc tế bao gồm tất cả các thông báo điện tử gửi tới một Cơ quan sở hữu trí tuệ về tất cả các sự kiện tác động đến những đơn liên quan tới Cơ quan sở hữu trí tuệ đó.
Mỗi một Cơ quan sở hữu trí tuệ thành viên có một thƣ mục riêng (folder) trên máy chủ FTP.
43
Mỗi tuần, Văn phòng quốc tế đƣa lên thƣ mục của Việt Nam một file nén (zip), trong đó là tất cả các thông báo về tất cả các sự kiện của tất cả các đơn liên quan đến Việt Nam trong tuần đó –file này có định dạng là MECA.
Hiện tại có 11 loại sự kiện (tƣơng ứng với 11 loại giao dịch) có thể sảy ra đối với một đơn nhãn hiệu quốc tế trong vòng đời của nó, bao gồm : BIRTH, CREATED, DEATH, NEWBASE, NEWNAME, PROCESSED, PROLONG, RESTRICT, CORRECTION, LICENCE-BIRTH, LICENCE-NEWNAME.
Trong mỗi một loại giao dịch trên lại đƣợc phân chia thành các kiểu giao dịch cấp độ nhỏ hơn nhƣ sau (trong ngoặc là số phân loại giao dịch nhỏ hơn) : BIRTH (5 loại), CREATED (2 loại), DEATH (8 loại), NEWBASE (1 loại), NEWNAME (5 loại), PROCESSED (40 loại), PROLONG (3 loại), RESTRICT (5 loại), CORRECTION (lặp lại tất các các giao dịch trên), LICENCE-BIRTH (1 loại), LICENCE-NEWNAME (1 loại).
Phân tích trên cho thấy rằng : Số lƣợng phân loại giao dịch rất lớn và phức tạp, cần phải tìm hiểu và phân tích kỹ về ý nghĩa nghiệp vụ của từng loại thì mới đƣa ra đƣợc phƣơng pháp xử lý số liệu đúng đắn.
Ví dụ sau xem xét một đơn nhãn hiệu quốc tế cụ thể nộp vào Việt Nam :
Khi đơn đƣợc Ngƣời nộp đơn chỉ định vào Việt Nam – tƣơng ứng sự kiện BIRTH và CREATED : Văn phòng quốc tế gửi thông báo BIRTH cho Việt Nam và thông báo CREATED cho Cơ quan SHTT yêu cầu bảo hộ.
Khi đơn hết hiệu lực bảo hộ – tƣơng ứng sự kiện DEATH, Văn phòng quốc tế gửi thông báo DEATH cho Việt Nam.
Khi đơn gia hạn – tƣơng ứng sự kiện PROLONG, Văn phòng quốc tế gửi thông báo PROLONG cho Việt Nam.
Khi đơn đƣợc tách – tƣơng ứng sự kiện NEWBASE, Văn phòng quốc tế gửi thông báo NEWBASE cho Việt Nam.
Khi đơn đƣợc chuyển đổi chủ – tƣơng ứng sự kiện NEWNAME, Văn phòng quốc tế gửi thông báo NEWNAME cho Việt Nam.
Khi đơn đƣợc hạn chế bảo hộ – tƣơng ứng sự kiện RESTRICT, Văn phòng quốc tế gửi thông báo RESTRICT cho Việt Nam.
Khi đơn đƣợc hạn chế bảo hộ – tƣơng ứng sự kiện RESTRICT, Văn phòng quốc tế gửi thông báo RESTRICT cho Việt Nam.
Khi một yêu cầu về đơn đƣợc Văn phòng quốc tế xử lý – tƣơng ứng sự kiện PROCESSED, Văn phòng quốc tế gửi thông báo PROCESSED cho Cơ quan SHTT đƣa ra yêu cầu.
44
Khi thông tin của đơn đƣợc Văn phòng quốc tế sửa đổi (do sai sót xử lý dữ liệu) – tƣơng ứng sự kiện CORRECTION, Văn phòng quốc tế gửi thông báo CORRECTION cho các Cơ quan SHTT liên quan.
Nhƣ vậy, bằng các Thông báo điện tử của đơn nhãn hiệu quốc tế , toàn bộ lịch sử của mỗi đơn nhãn hiệu quốc tế sẽ đƣợc cập nhật trong cơ sở dữ liệu của các chủ thể liên quan đến đơn đó.
45
Chƣơng 3 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 3.1. Xác định ca sử dụng và tác nhân
3.1.1. Các ca sử dụng
Bảng 3.1: Bảng các ca sử dụng
3.1.2. Các tác nhân hệ thống
Trong trƣờng hợp này khái quát các tác nhân nghiệp vụ (phần 1.4.3) cho ta các tác nhân của hệ thống.
Mã Tên ca sử dụng Chức năng
tham chiếu Kết quả đạt đƣợc: sản phẩm/dịch vụ UC1 Tìm và xử lý dữ liệu đơn R1 nhận đƣợc Dữ liệu đơn UC2 Cập nhật dữ liệu R2 Dữ liệu đơn đƣợc lƣu trữ
UC3 Chia đơn R3 Chuyên viên có đơn
UC4 Ký duyệt công văn R4 Công văn đƣợc duyệt UC5 Làm phiếu thấm định R5 Phiếu thẩm định UC6 Làm công văn từ chối R6 Công văn mới
UC7 Tạo công bố R7 Bản công bố mới
UC8 Tạo công báo đơn gia hạn R8 Bản công báo gia hạn mới UC9 Thống kê các tiêu chí R9 Các bản thống kê
46 3.2. Đặc tả hệ thống 3.1.1. Biểu đồ đặc tả hệ thống - Biểu đồ ca sử dụng gộp a. Biểu đồ Hình 3.1 : Biểu đồ ca sử dụng ở mức cao b. Đặc tả các hệ con
b1. Thu thập và lưu trữ đơn
Tác nhân: Chuyên viên, Lãnh đạo, văn phòng quốc tế, hệ quản trị đơn quốc gia.
Mục tiêu: Thu thập và xử lý thông tin đơn đƣa vào hệ cơ sở dữ liệu. Tiền điều kiện: đã có các đơn từ văn phòng quốc tế
Mô tả khái quát: Chuyên viên tìm kiếm đơn từ văn phòng quốc tế , xử lý và cập nhật vào hệ cơ sở dữ liệu.
Hậu điều kiện: Các đơn mới đƣợc cập nhật vào cơ sở dữ liệu quốc gia
b2.Xử lý đơn
Tác nhân: Lãnh đạo, chuyên viên, hệ quản trị đơn quốc gia . Mục tiêu: tiến hành xử lý các đơn có đƣợc theo yêu cầu. Tiền điều kiện: Có danh sách đơn để chia đơn.
Hệ quản trị đơn quốc gia <<HỆ THỐNG>> Thu thập và lƣu trữ đơn Xử lý đơn nhãn hiệu Văn phòng quốc tế Thống kê và tính phí Chuyên viên Lãnh đạo
47
Mô tả khái quát: lãnh đạo phân chia đơn cho xét nghiệm viên, các nhân viên xử lý và các công việc liên quan, lãnh đạo ký duyệt.
Hậu điều kiện: Các đơn đƣợc xử lý, đáp ứng đƣợc yêu cầu đề ra.
b3. Thống kê, tính phí
Tác nhân: chuyên viên
Mục tiêu: Có đƣợc các số liệu thống kê theo yêu cầu. Tiền điều kiện: có dữ liệu đơn và kết quả xử lý chúng.
Mô tả khái quát: Chuyên viên tiến hành thống kê các dữ liệu về đơn và tính phí cho các hoạt động đã thực hiện.
Ràng buộc: tuân thủ công thức tính phí, và các mẫu thống kê cho trƣớc. Hậu điều kiện: có đƣợc các mảng thống kê và chi phí cho các hoạt động
xử lý
3.1.2. Biểu đồ ca sử dụng chi tiết các hệ con
3.1.2.1. Đặc tả yêu cầu hệ con Thu thập và lưu trữ đơn
a. Biểu đồ ca sử dụng
Hình 3.2 : Biểu đồ chi tiết ca sử dụng gói Thu thập và lƣu trữ đơn
b. Đặc tả các ca sử dụng
b1. Ca sử dụng Tìm và xử lý dữ liệu đơn (UC1)
− Tác nhân: Chuyên viên, Văn phòng quốc tế, CSDL đơn quốc gia.
− Mục tiêu: Trích suất dữ liệu từ Văn phòng quốc tế và xử lý theo yêu cầu <<THU THÂP VÀ LƢU TRỮ ĐƠN>> Chuyên viên Tìm và xử lý dữ liệu đơn Cập nhật dữ liệu đơn Văn phòng quốc tế CSDL đơn quốc gia
48
− Mô tả khái quát: Chuyên viên thiết lập thông số để xử lý dữ liệu nhƣ: thƣ mục tài liệu cần xử lý, thƣ mục lƣu trữ tài liệu đã xử lý, tên file log tƣơng ứng với ca xử lý.
− Tiền điều kiện: có đơn mớí từVăn phòng quốc tế
− Luồng sự kiện chính:
Hành động tác nhân Phản ứng của hệ thống DL liên quan
1. Chọn chức năng xử lý dữ liệu đơn 2. Hiện màn hình xử lý dữ liệu đơn 3. Nhập cấu hình để xử lý: nhập thƣ mục lƣu trữ file cần xử lý, thƣ mục lƣu file sau khi xử lý
4. Ghi lại các thông tin cấu hình xử lý
DL cấu hình xử lý
5. Chọn nút xử lý dữ liệu
6. Xử lý dữ liệu, hiển thị một số thông tin cần thiết cho ngƣời dùng: số lƣợng tài liệu (file) xử lý, thời điểm bắt đầu xử lý, thời điểm xử lý xong
DL đơn
− Hậu điều kiện: Các đơn mới đƣợc xử lý và lƣu vào cơ sở dữ liệu của hệ thống.
b2. Ca sử dụng Cập nhật dữ liệu đơn (UC2)
− Tác nhân: Chuyên viên, CSDL đơn quốc gia
− Mục tiêu: Cập nhật thông tin đơn đã xử lý vào CSDL
− Mô tả khái quát: Ngƣời dùng nhập nội dung thông tin đơn cần cập nhật.
− Tiền điều kiện: đã có các thông tin của đơn mới đƣợc xử lý
− Luồng sự kiện chính:
Hành động của tác nhân Phản ứng của HT DL liên quan
1. Nhập các thông tin đơn cần cập nhật.
2. Kiểm tra dữ liệu có hợp lệ
không. DL đơn
3. Chọn nút cập nhật dữ liệu.
4. Cập nhật dữ liệu đơn vào cơ sở
dữ liệu của hệ thống . DL đơn
− Hậu điều kiện: Các thông tin của đơn đƣợc cập nhật vào hệ cơ sở dữ liệu của hệ thống.
49
3.1.2.3. Đặc tả yêu cầu ca sử dụng Xử lý đơn
a. Biểu đồ ca sử dụng
Hình 3.3: Biểu đồ chi tiết ca sử dụng gói Xử lý đơn
b. Đặc Mô tả các ca sử dụng
b1. Ca sử dụng Chia đơn (UC3)
− Tác nhân: Lãnh đạo, chuyên viên, CSDL đơn quốc gia.
− Mục tiêu: Giao đơn cho các xét nghiệm viên
− Mô tả khái quát: Lãnh đạo nhập thông tin cần thiết để giao đơn cho xét nghiệm viên (XNV)
− Tiền điều kiện: có các đơnmới chƣa xử lý
− Luồng sự kiện chính
Hành động tác nhân Phản ứng của hệ thống DL liên quan
1. Chọn chức năng chia đơn 2. Hiện màn hình chia đơn
3. Nhập thông tin cần thiết 4. Lƣu lại các thông tin DS đơn
Danh sách XNV
5. Nhấn nút chia đơn 6. Thực hiện giao đơn cho các XNV
DL đơn đƣợc phân cho XNV tạo công báo
đơn gia hạn <<XỬ LÝ ĐƠN >> Chia đơn Ký duyệt công văn CSDL đơn quốc gia Lãnh đạo Chuyên viên lập phiếu thẩm định Làm công văn từ chối tạo công bố
50
− Ràng buộc:
Mỗi đơn chỉ đƣợc giao cho XNV1 và XNV2. Không đơn nào chỉ giao cho một XNV hay quá 2 XNV
− Hậu điều kiện: Các đơn chƣa xử lý đều đƣợc giao cho XNV
b2. Ca sử dụng Ký duyệt công văn (UC4)
− Tác nhân: Lãnh đạo
− Mục tiêu: Kiểm tra xét nghiệm viên xét nghiệm đơn có đúng không, và ký vào công văn.
− Mô tả khái quát: Lãnh đạo xem đơn, xem phiếu thẩm định, công văn của đơn. Nếu có sai xót thì chỉnh sửa và chọn chức năng duyệt đơn để ký vào phiếu thẩm định, công văn. Hệ thống sẽ ghi trạng thái của đơn là đã đƣợc phê duyệt.
− Tiền điều kiện: Đơn đã có phiếu thẩm định, công văn.
− Luồng sự kiện chính:
Hành động tác nhân Phản ứng của hệ thống DL liên quan
1. Chọn chức năng duyệt đơn
2. Hiển thị màn hình duyệt đơn: danh sách đơn chƣa duyệt, đơn đã duyệt, danh sách tổng đơn.
DL đơn
3. Chọn đơn cần duyệt (có thể sử dụng chức năng tìm