1. Trang chủ
  2. » Công Nghệ Thông Tin

Công nghệ quản lý dữ liệu phi cấu trúc và ứng dụng phát triển hệ thống thông tin quản lý

79 372 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 79
Dung lượng 1,7 MB

Nội dung

Cùng với sự ra đời và phát triển của hệ thống máy tính với tốc độ xử lý ngày càng mạnh thì ngành khoa học máy tính cũng phát triển theo với việc giải quyết càng nhiều các bài toán thực t

Trang 1

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

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

Phạm Thu Trang

CÔNG NGHỆ QUẢN LÝ DỮ LIỆU PHI CẤU TRÚC

VÀ ỨNG DỤNG PHÁT TRIỂN

HỆ THỐNG THÔNG TIN QUẢN LÝ

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

Thái Nguyên - 2013ĐẠI HỌC THÁI NGUYÊN

Trang 2

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

Phạm Thu Trang

CÔNG NGHỆ QUẢN LÝ DỮ LIỆU PHI CẤU TRÚC

VÀ ỨNG DỤNG PHÁT TRIỂN

HỆ THỐNG THÔNG TIN QUẢN LÝ

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

TS Lê Văn Phùng

Thái Nguyên - 2013

Trang 3

LỜI CAM ĐOAN

Tôi xin cam đoan những kết quả đạt được trong luận văn này là do tôi nghiên cứu, tổng hợp và thực hiện, không sao chép lại bất kỳ điều gì của người khác Toàn bộ những điều được trình bày trong khóa luận hoặc là của cá nhân, hoặc được tham khảo và tổng hợp từ các nguồn tài liệu khác nhau Tất cả tài liệu tham khảo, tổng hợp đều được trích dẫn với nguồn gốc rõ ràng

Tôi xin chịu hoàn toàn trách nhiệm về lời cam đoan của mình Nếu có điều gì sai, tôi xin chịu mọi hình thức kỷ luật theo quy định

Thái Nguyên, tháng 6 năm 2013

Phạm Thu Trang

Trang 4

MỤC LỤC

Chương 1 3

1.1 Tổng quan về các công nghệ quản lý dữ liệu phi cấu trúc 3

1.1.1 Khái niệm về tái kỹ nghệ 3

1.1.2 Qui trình chung tái kỹ nghệ phần mềm 7

1.1.3 Các công cụ trợ giúp quá trình tái kỹ nghệ phần mềm 19

1.2 Hệ thống quản lý văn bản và điều hành trực tuyến 29

Chương 2 .35

CÁC CÔNG NGHỆ QUẢN LÝ DỮ LIỆU PHI CẤU TRÚC 35

2.1 Công nghệ của hãng Microsoft 35

2.1.2 Công nghệ SQLServer của Microsoft 38

2.1.3 Công Nghệ ASP 41

2.2 Công nghệ mã nguồn mở 42

2.3 Công nghệ IBM-Lotus Domino 50

3.1 Những vấn đề đặt ra cần tiến hóa hệ thống 55

3.2 Lựa chọn giải pháp tái kỹ nghệ 56

3.3 Sơ đồ tiến trình thực hiện tái kỹ nghệ và quy trình phát triển hệ thống quản lý văn bản và điều hành trực tuyến 57

3.3.1 Từ mã nguồn của hệ thống chuyển sang mô hình trực quan 58

3.3.2 Từ mô hình trực quan cấu trúc lại chương trình 60

3.3.3 Tái kỹ nghệ dữ liệu 62

3.3.4 Xây dựng mã nguồn 62

3.3.5 Hoàn thiện, cài đặt và sử dụng 62

Trang 5

DANH MỤC CÁC TỪ VIẾT TẮT

Trang 6

Hình 1.9: Chuyển đổi dữ liệu

Hình 1.10: Quá trình tái kỹ nghệ dữ liệu

Hình 1.11: Kỹ nghệ chuyển tiếp và Tái kỹ nghệ phần mềm

Hình 1.12: Dịch xuôi và dịch ngược trong UML

Hình 1.13: Một bước lặp của quá trình tái thiết kế với xuất phát là mã nguồnHình 1.14: Một bước lặp của quá trình tái thiết kế xuất phát là mô hình thiết kế

Hình 3.1: Sơ đồ tiến trình tái kỹ nghệ “Hệ thống quản lý văn bản & điều hành trực tuyến”

Hình 3.2: Từ mã nguồn của hệ thống chuyển sang mô hình trực quan

Hình 3.3: Mô hình use case cho thấy các yêu cầu của hệ thống

Hình 3.4: Mô hình use case cho quyền quản trị

Hình 3.5: Mô hình use case cho quyền người dùng

Hình 3.6: Biểu đồ tuần tự cho chức năng tìm kiếm

Hình 3.7: Màn hình đăng nhập

Hình 3.8: Màn hình cập nhật văn bản đến

Hình 3.9: Màn hình cập nhật văn bản đi

Hình 3.10: Biểu mẫu xuất văn bản đến

Hình 3.11: Biểu mẫu xuất văn bản đi

Hình 3.12: Giao diện trang chủ

Hình 3.13: Giao diện tác nghiệp phụ

Hình 3.14: Giao diện danh sách văn bản đến

Trang 7

Hình 3.15: Giao diện chi tiết văn bản đếnHình 3.16: Giao diện danh sách văn bản điHình 3.17: Giao diện chi tiết văn bản đi

Hình 3.18: Giao diện yêu cầu công việc

Hình 3.19: Giao diện tìm kiếm văn bản

Hình 3.20: Tìm kiếm toàn bộ văn bản

Hình 3.21: Tìm kiếm theo sổ văn bản

Hình 3.22: Tìm kiếm theo loại văn bản

Hình 3.23: Tìm kiếm theo nơi gửi

Trang 8

MỞ ĐẦU

Khoa học máy tính nghiên cứu về cơ sở lý thuyết thông tin, tính toán, thực hiện

và ứng dụng trong các hệ thống máy tính Khoa học máy tính có nhiều ngành con Một

số ngành nhấn mạnh vào việc tính toán các kết quả cụ thể trong khi đó một số ngành tập trung vào các thách thức trong cài đặt các tính toán Cùng với sự ra đời và phát triển của hệ thống máy tính với tốc độ xử lý ngày càng mạnh thì ngành khoa học máy tính cũng phát triển theo với việc giải quyết càng nhiều các bài toán thực tiễn liên quan tới đời sống và kinh tế xã hội, nó trở thành cơ sở cũng như công cụ để giải quyết các bài toán cho các lĩnh vực khoa học khác như thống kê, quản trị…

Công nghệ phần mềm phát triển nhanh chóng và đi sâu vào đời sống kinh tế xã hội với những ứng dụng thiết thực, cùng với sự bùng nổ thông tin làm cho một loạt các hoạt động luôn bị thay đổi và các yêu cầu thực tiễn của quản lý làm cho yêu cầu phần mềm cũng thay đổi theo và kèm theo đó là sự thay đổi phần mềm để đáp ứng với các yêu cầu thực tiễn trên cơ sở phần mềm cũ Người ta gọi đó là tái kỹ nghệ phần mềm với mục tiêu kế thừa những tinh hoa của phần mềm cũ và cập nhật những thay đổi mới

để giảm chi phí Một trong những công cụ của việc tái kỹ nghệ là việc quản lý dữ liệu phi cấu trúc Vấn đề đặt ra là tái kỹ nghệ sử dụng công cụ quản lý dữ liệu phi cấu trúc như thế nào để đảm bảo tính hiệu quả và khoa học

Chính vì thế luận văn của tôi với chủ để “Công nghệ quản lý dữ liệu phi cấu trúc và ứng dụng phát triển hệ thống thông tin quản lý” với mục tiêu nghiên cứu sâu

hơn và làm rõ những mấu chốt trong việc sử dụng công nghệ quản lý dữ liệu phi cấu trúc trong tái kỹ nghệ phần mềm đồng thời ứng dụng nó vào việc tái kỹ nghệ phát triển

hệ thống quản lý văn bản và điều hành trực tuyến cho Sở Y tế Bắc Kạn

Để thực hiện được mục đích này đề tại đặt ra những nhiệm vụ cần đạt được như sau:

- Tìm hiểu khái quát về tái kỹ nghệ và các công nghệ sử dụng trong quá trình tái

kỹ nghệ

- Nghiên cứu các công nghệ quản lý dữ liệu phi cấu trúc và khả năng ứng dụng của chúng

Trang 9

- Ứng dụng một công nghệ quản lý dữ liệu phi cấu trúc là Lotus Domino của IBM để phát triển hệ thống quản lý văn bản và điều hành trực tuyến thông qua đổi mới

cơ chế tìm kiếm thông tin

Luận văn gồm 3 chương:

Chương 1 Tổng quan về các công nghệ quản lý dữ liệu phi cấu trúc và hệ thống quản lý văn bản, điều hành trực tuyến

Chương 2 Các công nghệ quản lý dữ liệu phi cấu trúc

Chương 3 Phát triển và cài đăt Hệ thống quản lý văn bản và điều hành trực tuyến dựa trên công nghệ IBM-Lotus Domino

Trang 10

Chương 1.

TỔNG QUAN VỀ CÁC CÔNG NGHỆ QUẢN LÝ DỮ LIỆU PHI CẤU TRÚC

VÀ HỆ THỐNG QUẢN LÝ VĂN BẢN, ĐIỀU HÀNH TRỰC TUYẾN

1.1 Tổng quan về các công nghệ quản lý dữ liệu phi cấu trúc

1.1.1 Khái niệm về tái kỹ nghệ

Chikofsky và Cross đã định nghĩa tái kỹ nghệ là: “Kiểm tra, phân tích, biến đổi

hệ thống phần mềm hiện thời để xây dựng lại thành một hệ thống mới, và bổ sung thêm một số thành phần mới vào trong đó” [6] Định nghĩa này tập trung vào làm sáng tỏ đặc trưng của thuật ngữ, các thay đổi của kết quả phần mềm Arnold, đã định nghĩa một cách khác về tái kỹ nghệ là: “Bất kỳ hoạt động nào làm cải tiến sự hiểu biết

về phần mềm, hoặc là hoạt động cải tiến phần mềm và thường tăng khả năng bảo trì, khả năng sử dụng lại, khả năng tiến hóa” (Arnold 1993)

Qui trình tái kỹ nghệ thường là sự kết hợp của nhiều qui trình khác nhau như kỹ nghệ ngược, làm lại tài liệu, cấu trúc lại chương trình, chuyển đổi, kỹ nghệ xuôi, dịch

hệ thống sang một ngôn ngữ lập trình hiện đại hơn Mục đích là để có cái nhìn rõ hơn

về chương trình hiện thời (đặc tả, thiết kế, thực thi), sau đó tái thực hiện lại để cải thiện các chức năng, hiệu suất, sự thi hành của hệ thống Mục tiêu là để duy trì các chức năng hiện có và chuẩn bị cho các chức năng mới sẽ được thêm vào sau này Sau khi sửa đổi, các chức năng chính của phần mềm không thay đổi, và thông thường thì cấu trúc của chương trình vẫn được giữ nguyên như cũ

Mặc dù nhiều hệ thống phần mềm cũ đã được thay thế, nhưng hầu hết trong số chúng vẫn đang được sử dụng Trong khi đó, từ năm 1990 đã có một sự gia tăng rất lớn trong việc sử dụng máy tính để hỗ trợ qui trình nghiệp vụ Do đó, đến năm 2000 đã

có khoảng 250 nghìn tỉ dòng mã nguồn đang tồn tại và phải được duy trì Phần lớn trong số đó không được viết bằng các ngôn ngữ hướng đối tượng và số nhiều trong đó vẫn được chạy trên các máy tính lớn[6,9] Có nhiều hệ thống để tiếp tục tồn tại phải thay đổi hoàn toàn hoặc cấu trúc lại hệ thống căn bản, do đó kinh phí sẽ phải bỏ ra là rất lớn Việc bảo trì một hệ thống cũ khá tốn kém, vì vậy tái kỹ nghệ lại những hệ thống này sẽ kéo dài thời gian sử dụng của chúng Tái kỹ nghệ một hệ thống sẽ có chi phí hiệu quả khi hệ thống đó có giá trị nghiệp vụ cao nhưng lại tốn kém cho việc bảo

Trang 11

trì Tái kỹ nghệ cải thiện cấu trúc hệ thống, tạo ra tài liệu của hệ thống mới và làm cho

Do đó, tái kỹ nghệ là lựa chọn tốt nhất trong những trường hợp này

Tái kỹ nghệ giai đoạn cũng liên kết với tái kỹ nghệ tiến trình nghiệp vụ (Hammer, 1990) Tái kỹ nghệ tiến trình nghiệp vụ cũng liên quan với tiến trình nghiệp

vụ tái thiết kế để giảm số lượng các hoạt động dự phòng và nâng cao hiệu quả của qui trình Nó thường phụ thuộc vào việc giới thiệu hoặc tăng cường hỗ trợ dựa trên máy tính cho quá trình này

thống mới Chikofsky và Cross (Chikofsky and Cross, 1990) đã đưa ra thuật ngữ “kỹ

Tài liệu chương trình

Chương trình module hóa

Chương trình module hóa

Dữ liệu nguồn

Dữ liệu nguồn

Chương trình được cấu trúc

Chương trình được cấu trúc

Dữ liệu được tái

kỹ nghệ

Dữ liệu được tái

Kỹ nghệ ngược

Cải tiến cấu trúc chương trình

Cải tiến cấu trúc chương trình

Module hóachương trìnhModule hóa chương trình Tái kỹ nghệ Tái kỹ nghệ dữ liệudữ liệu

Trang 12

nghệ xuôi” (forward engineering) trong tiến trình phát triển để phân biệt với tái kỹ

nghệ phần mềm Sự khác biệt này được minh họa ở hình 1.1 [9] Kỹ thuật dịch xuôi bắt đầu với việc đặc tả hệ thống và bao gồm cả việc thiết kế và thực thi trong hệ thống mới Tái kỹ nghệ bắt đầu với một hệ thống đã tồn tại và sau đó thực hiện các qui trình phát triển để thay thế, biến đổi một số thành phần của hệ thống dựa trên những hiểu biết về hệ thống gốc

Hình 1.2: Qui trình tái kỹ nghệ

Hình 1.2 mô tả một qui trình tái kỹ nghệ có khả năng thực hiện được Đầu vào của qui trình là một chương trình được kế thừa và đầu ra là một phiên bản có các module có cấu trúc rõ ràng của chính chương trình đó Đồng thời cũng như là tái kỹ nghệ chương trình, dữ liệu cho hệ thống cũng có thể được tái kỹ nghệ lại

Các hoạt động trong qui trình tái kỹ nghệ là:

1 Dịch mã nguồn Chương trình được chuyển đổi từ một ngôn ngữ lập trình cũ sang

một phiên bản mới hơn hoặc chuyển sang một ngôn ngữ khác

2 Kỹ nghệ ngược Chương trình được phân tích và lấy thông tin để làm tài liệu cho tổ

chức và các chức năng của chương trình

Tài liệu chương trình

Chương trình module hóa

Chương trình module hóa

Dữ liệu nguồn

Dữ liệu nguồn

Chương trình được cấu trúc

Chương trình được cấu trúc

Dữ liệu được tái

kỹ nghệ

Dữ liệu được tái

Kỹ nghệ ngược

Cải tiến cấu trúc chương trình

Cải tiến cấu trúc chương trình

Module hóachương trìnhModule hóa chương trình Tái kỹ nghệ Tái kỹ nghệ dữ liệudữ liệu

Trang 13

3 Cải tiến cấu trúc hệ thống Cấu trúc điều khiển của chương trình được phân tích và

sửa đổi để giúp cho việc đọc và hiểu được dễ dàng hơn

4 Module hóa hệ thống Liên kết các phần của chương trình thành một nhóm với

nhau, và những thành phần riêng biệt, dư thừa được bỏ đi Trong một vài trường hợp, giai đoạn này có thể bao gồm cả việc biến đổi cấu trúc chương trình

5 Tái kỹ nghệ dữ liệu Dữ liệu xử lý bởi chương trình được thay đổi để phản hồi lại

những thay đổi của chương trình

Tái kỹ nghệ chương trình có thể không cần thiết phải đầy đủ tất cả các bước như trong hình 1.2 Việc dịch mã nguồn có thể không cần thiết nếu ngôn ngữ chương trình

sử dụng để phát triển hệ thống vẫn được các trình biên dịch hiện thời hỗ trợ Nếu các công cụ tự động phục vụ cho quá trình tái kỹ nghệ có thể tin tưởng hoàn toàn thì những tài liệu có được thông qua hoạt động kỹ nghệ ngược có thể không cần thiết Tái

kỹ nghệ dữ liệu chỉ cần thiết nếu cấu trúc dữ liệu trong chương trình thay đổi trong quá trình tái kỹ nghệ hệ thống Tuy nhiên, tái kỹ nghệ phần mềm luôn bao gồm việc cấu trúc lại chương trình

Chi phí tăng

Hình 1.3: Chi phí tái kỹ nghệ

Chi phí của tái kỹ nghệ hiển nhiên được quyết định bởi qui mô công việc cần phải được tiến hành Chi phí của các phương pháp tiếp cận đến tái kỹ nghệ được thể hiện trong hình 1.3 Chi phí tăng từ trái qua phải, vì thế chuyển đổi mã nguồn là lựa chọn rẻ nhất và tái kỹ nghệ chính là một phần của việc chuyển hướng cấu trúc là cái có chi phí cao nhất

Tổ chức lại chương trình và dữ liệu

Tổ chức lại chương trình tự động

Chuyển đổi mã nguồn

tự động

Tổ chức lại tự động với thay đổi thủ công

Tổ chức lại cộng với thay đổi kiến trúc

Trang 14

Ngoại trừ qui mô của hoạt động tái kỹ nghệ, các yếu tố ảnh hưởng đến chi phí của tái kỹ nghệ là: Chất lượng của phần mềm để tái kỹ nghệ, công cụ hỗ trợ có sẵn cho việc tái kỹ nghệ, phạm vi của chuyển đổi dữ liệu thiết yếu, tính sẵn có của đội ngũ nhân viên chuyên môn.

Tái kỹ nghệ hệ thống phần mềm có hai ưu điểm chính so với các phương pháp tiếp cận khác trong việc cải tiến hệ thống đó là giảm thiểu rủi ro và giảm giá thành phần mềm

1.1.2 Qui trình chung tái kỹ nghệ phần mềm

Hình 1.4 Quy trình tái kỹ nghệ phần mềm

• Kiểm kê phân tích

• Lựa chọn tài liệu tái tổ chức lại:

• Kỹ nghệ ngược:

• Tổ chức lại code (Code restructuring):

• Tổ chức lại dữ liệu (Data restructuring):

• Kỹ nghệ chuyển tiếp

Tái kỹ nghệ bắt đầu với mã nguồn của hệ thống cơ sở đang tồn tại và kết thúc với mã nguồn của hệ thống muốn hướng tới Quá trình này có thể đơn giản như sử dụng công cụ dịch mã nguồn để dịch mã nguồn từ một ngôn ngữ sang ngôn ngữ khác (FORTRAN sang C) hoặc từ một hệ điều hành này sang hệ điều hành khác (UNIX sang DOS) Mặt khác, nhiệm vụ của tái kỹ nghệ có thể rất phức tạp, sử dụng mã nguồn hiện đang tồn tại để tái tạo lại phần thiết kế, xác định yêu cầu trong hệ thống

Trang 15

đang tồn tại sau đó so sánh chúng với yêu cầu hiện tại, loại bỏ những thứ không còn

áp dụng, thiết kế lại hệ thống bằng cách sử dụng thiết kế hướng đối tượng và cuối cùng code thành một hệ thống mới Hình 1.4, Mô hình chung của các phần mềm tái

kỹ nghệ cho biết kỹ thuật, quy trình cho tất cả các cấp của tái kỹ nghệ dựa trên các cấp độ của trình độ phát triển phần mềm trừu tượng được nói đến ở trên

Các mô hình trong hình 1.5 áp dụng ba nguyên tắc của tái ký nghệ: sự trừu tượng hóa (abstraction ), sự sửa đổi (alteration), và sự sàng lọc (refinement)

Hình 1.5 Mô hình chung của tái kỹ nghệ phần mềm

Sự trừu tượng hóa là một cấp độ tăng dần dần trong cấp độ trừu tượng của hệ thống Sự trình bày hệ thống được tạo ra bởi sự thay thế liên tiếp các thông tin chi tiết hiện có với các thông tin mà nó trừu tượng hơn Sự trừu tượng hóa đưa ra sự miêu tả nhấn mạnh một số đặc điểm của hệ thống Sự dịch chuyển đi lên này gọi là kỹ thuật đảo ngược và có liên quan đến quá trình phụ, các công cụ và kỹ thuật Sự sửa đổi (alteration) là tạo ra một hoặc nhiều chuyển đổi một đại diện của hệ thống mà không thay đổi mức độ trừu tượng hóa trong đó có bổ sung, xóa và sửa đổi thông tin Sự sàng lọc (refinement) là sự giảm dần trong cấp độ trừu tượng hóa của hệ thống bị gây ra bởi

sự thay thế liên tiếp các thông tin trong hệ thống tồn tại với nhiều thông tin chi tiết Đó

là kỹ thuật chuyển tiếp (Forward Engineering) giống như phát triển phần mềm với mã (code) mới nhưng với một số quy trình sàng lọc

Thiết kế lạiCode lại

Khái niệmYêu cầu

Thiết kế

Triển khai

Khái niệm Yêu cầu

(Biến đổi)

Nghĩ lại

Đặc tả lại

So sánhchất lượng chức năng

Hệ thống đích

Hệ thống ban đầu

Trang 16

1.1.2.1. Dịch mã nguồn

Dạng đơn giản nhất của tái kỹ nghệ phần mềm là dịch mã nguồn từ ngôn ngữ này sang một ngôn ngữ khác bằng các công cụ dịch tự động Do đó cấu trúc của chương trình hoàn toàn không thay đổi Ngôn ngữ đích có thể là một phiên bản mới hơn của ngôn ngữ gốc (ví dụ từ COBOL-74 sang COBOL-85) hoặc là một ngôn ngữ hoàn toàn khác (ví dụ từ FORTRAN sang C)

Cần phải chuyển đổi mã nguồn vì những lý do: Nền phần cứng được cập nhật, thiếu nhân viên có kỹ năng, những thay đổi chính sách tổ chức, thiếu những sự trợ giúp phần mềm

Hình 1.5 mô tả qui trình dịch mã nguồn Có thể không cần hiểu hoạt động chi tiết của phần mềm hoặc sửa đổi cấu trúc của hệ thống Những phân tích liên quan có thể tập trung vào ngôn ngữ lập trình và có thể coi nó tương đương như cấu trúc điều khiển của chương trình

Hình 1.6: Qui trình dịch mã nguồn

Dịch mã nguồn sẽ chỉ thực sự kinh tế nếu như việc dịch tự động sẵn sàng cho việc dịch một số lượng lớn bản dịch Nó có thể là một chương trình được viết đặc biệt, một công cụ được mua để chuyển đổi từ ngôn ngữ này sang ngôn ngữ khác hoặc một mô hình hệ thống thích hợp Trong trường hợp thứ hai, cần phải xây dựng tập hợp những hướng dẫn làm thế nào để chuyển đổi từ sự trình bày này sang sự trình bày khác Các mẫu tham số trong ngôn ngữ gốc phải được xác định và liên kết với các mẫu tương đương trong ngôn ngữ đích

Hệ thống được tái kỹ nghệ

Thiết kế tài liệu chuyển đổi

Trang 17

Kỹ nghệ ngược là một tiến trình phân tích để xác định quan hệ của hệ thống và tạo ra các thành phần của hệ thống trong một mẫu khác hoặc trong một cấp độ trừu tượng cao hơn Trong kỹ nghệ ngược, các yêu cầu và thiết kế cấu trúc cần thiết và nội dung của hệ thống phải giảm đi Ngoài ra để giữ lại lược đồ quan hệ và các mối tương tác, thông tin và các quy luật về ứng dụng doanh nghiệp và quá trình hữu ích trong hoạt động kinh doanh phải được lưu lại Mục tiêu chủ chốt của kỹ nghệ ngược là tạo ra

để thay thế, phục hồi việc mất thông tin, phát hiện phản ứng phụ, và tạo điều kiện tái

sử dụng Hiệu quả của quá trình này ảnh hưởng đến việc thành công của dự án tái kỹ nghệ Kỹ nghệ ngược không làm thay đổi hệ thống được tạo ra một hệ thống mới, nó

là một quá trình kiểm tra không làm thay đổi tính năng tổng thể của hệ thống

Hình 1.7: Tiến trình kỹ nghệ ngược

Kỹ nghệ ngược thường đi trước tái kỹ nghệ Đôi khi kỹ nghệ ngược được ưa thích Khi những đặc điểm kỹ thuật và thiết kế của hệ thống cần phải được xác định trước bằng cách sử dụng chúng như là đầu vào cho quá trình đặc tả các yêu cầu cho hệ thống thay thế Khi việc thiết kế và đặc điểm kỹ thuật cho một hệ thống là cần thiết để

hỗ trợ các hoạt động bảo trì chương trình

1.1.2.3. Làm lại tài liệu

Các chương trình để tái kỹ nghệ thường không còn tài liệu, thiết kế v.v…, vì vậy việc làm lại tài liệu là một nhiệm vụ cần thiết trong quá trình tái kỹ nghệ Chikofsky đã định nghĩa quá trình làm lại tài liệu là tạo ra hoặc sửa đổi lại tài liệu hiện thời (nếu có) sang một cách miêu tả có ngữ nghĩa tương đương với mức trừu tượng tương đối Và kết quả của việc làm này là ta thu được một cái nhìn đan xen nhau về hệ thống (ví dụ

Kho thông tin hệ thống

Biểu đồ cấu trúc chương trìnhBiểu đồ cấu trúc dữ liệu

Ma trận truy xuất nguồn gốcTạo tài

liệu

Trang 18

như luồng điều khiển, cấu trúc điều khiển, luồng dữ liệu) Làm lại tài liệu là một hình thức đơn giản nhất và là giai đoạn khởi đầu của kỹ nghệ ngược

Làm lại tài liệu mã nguồn là sự biến đổi từ mã nguồn (cộng với những hiểu biết

về chương trình và các tài liệu khác) sang một tài liệu mã nguồn mới hoặc nâng cấp tài liệu mã nguồn Thông thường, những tài liệu này sẽ ở dạng văn bản (ví dụ như là những ghi chú trong chương trình), nhưng nó cũng có thể là những tài liệu bằng đồ họa Việc cải tiến phần mềm bằng cách nâng cấp tài liệu (những chú thích, thiết kế, đặc tả được nhúng trong chương trình) là một trong những kỹ thuật tái kỹ nghệ cũ Làm lại tài liệu là một hoạt động quan trọng bởi việc bảo trì thường phải dựa vào những chú thích được viết trong chương trình và coi đó là cơ sở để có thể hiểu được những đoạn mã trong chương trình hoạt động như thế nào Với việc làm lại tài liệu, những kĩ sư bảo trì sẽ có cái nhìn toàn diện và đầy đủ hơn về hệ thống và hoạt động của nó Ngày nay, việc làm lại tài liệu không phải chỉ thủ công mà đã có rất nhiều công cụ, hỗ trợ cho con người rất nhiều trong việc xây dựng lại tài liệu Một số công

cụ phổ biến như là “máy in chất lượng” là một chương trình có thể hiển thị một danh sách các mã trong dạng cải tiến, hay như máy tạo biểu đồ có thể tạo ra các biểu đồ trực tiếp từ mã, phản ánh các luồng mã và cấu trúc mã, hoặc là máy phát danh sách tham chiếu chéo Một mục tiêu chính của những công cụ này là giúp cho con người có thể

dễ dàng hình dung được mối quan hệ giữa các thành phần của chương trình, từ đó có thể thấy phương hướng rõ ràng để thực hiện công việc

1.1.2.4. Phục hồi thiết kế

Sau bước làm lại tài liệu, việc phục hồi lại thiết kế của chương trình là một việc làm cần thiết Phục hồi thiết kế là một tập hợp các kỹ thuật đảo ngược trong đó chúng

ta phải xây dựng lại thiết kế cho chương trình dựa trên việc trực tiếp kiểm tra hệ thống

đó Ngoài ra, chúng ta phải thu thập thêm các thông tin, kiến thức bên ngoài của hệ thống, các nguyên nhân trích xuất không rõ ràng của hệ thống, từ đó giúp cho hệ thống

có khả năng quan sát tổng quát hơn, với mức độ trừu tượng cao hơn

Việc bảo trì phần mềm và thu hoạch những thành phần tái sử dụng lại từ phần mềm đó, cả hai đều cần đến phân tích việc tái cấu trúc lại thiết kế của hệ thống Tuy nhiên, mã nguồn của chương trình thường không chứa nhiều các thông tin về thiết kế trong giai đoạn đầu Qua mã nguồn, ta chỉ có thể cấu trúc lại các thông tin cơ bản nhất

Trang 19

Do vậy, các nguồn thông tin bổ sung, do cả con người hay tự động đều cần thiết Hơn thế nữa, vì qui mô của một phần mềm để tái kỹ nghệ thường rất lớn (có đến hàng trăm dòng mã hoặc nhiều hơn nữa) cho nên việc phân tích cũng rất cần những hỗ trợ tự động để có thể hiểu được qui trình

Phục hồi lại thiết kế là tạo lại thiết kế ở mức độ trừu tượng từ việc kết hợp mã chương trình, các tài liệu thiết kế của chương trình hiện tại (nếu có), kinh nghiệm của con người và các hiểu biết chung về hệ thống chương trình

Các thiết kế trừu tượng được phục hồi phải bao gồm các thành phần cơ bản của

kỹ nghệ phần mềm như là đặc tả hình thức, phân tích module, trừu tượng hóa dữ liệu, luồng dữ liệu và ngôn ngữ đặc tả chương trình Ngoài ra chúng ta phải bổ sung thêm những thông tin như vấn đề ngôn ngữ, cách biểu diễn ứng dụng trong môi trường của chương trình Tóm lại, phục hồi thiết kế phải sao chép lại toàn bộ các thông tin cần thiết để một người có thể hiểu đầy đủ về chương trình như chương trình làm cái gì, làm như thế nào, tại sao nó lại hoạt động như thế,… Vì vậy, việc tập trung vào phục hồi các thông tin xa rộng trong thiết kế cần thiết hơn là tìm ra những đại diện hoặc mã của việc kỹ nghệ phần mềm thông thường

Phục hồi thiết kế diễn ra trong một chuỗi các hoạt động từ phát triển đến bảo trì phần mềm

1.1.2.5. Cấu trúc lại hệ thống

Cấu trúc lại hệ thống là một giai đoạn quan trọng và rất cần thiết trong qui trình tái kỹ nghệ Cấu trúc lại hệ thống không chỉ đơn thuần là xây dựng lại cấu trúc cho hệ thống cũ, mà chúng ta phải thực hiện cải tiến lại hệ thống cũ, tạo ra một hệ thống mới phù hợp với môi trường hiện tại, cung cấp đầy đủ các tính năng mà hiện tại hệ thống được đòi hỏi Do nhu cầu ngày nay, các hệ thống cần sử dụng bộ nhớ lớn, vì vậy phải

có sự tối ưu hóa việc sử dụng bộ nhớ chương trình Cộng với việc có nhiều người lập trình thiếu hiểu biết về kỹ nghệ phần mềm dẫn đến hệ thống có cấu trúc không tốt Cấu trúc điều khiển chương trình có thể sẽ khó hiểu do chương trình có nhiều nhánh rẽ không sử dụng các câu lệnh điều kiện và logic điều khiển chương trình không được tốt Cũng có thể do chương trình thường xuyên phải bảo trì đã làm xuống cấp cấu trúc của hệ thống Chúng ta có thể thay đổi để chương trình có thể thực hiện những đoạn

mã mà bình thường chúng không hoạt động, tuy nhiên điều này chỉ được phát hiện khi

Trang 20

sau khi đã có sự phân tích tổng thể Các lập trình viên bảo trì thường không dám loại

bỏ mã trong trường hợp nó có thể được truy cập gián tiếp

Bohm và Jacopini (Bohm và Jacopini, 1966) đã chứng minh rằng, bất kỳ chương trình nào cũng có thể được viết lại thành các dạng đơn giản bằng cách sử dụng những câu lệnh điều kiện if – else , vòng lặp while, và những câu lệnh vô điều kiện như goto

sẽ không cần thiết trong chương trình Định lý này là cơ sở cho việc tái cấu trúc chương trình tự động Hình 1.8 cho thấy các giai đoạn trong việc cấu trúc lại một chương trình bằng phương pháp tự động Qua lần biến đổi đầu tiên, chương trình sẽ được chuyển đổi thành một đồ thị có hướng, tiếp theo đó nó sẽ được chuyển đổi thành một chương trình mới có cấu trúc tương đương với chương trình cũ

Hình 1.8: Cấu trúc chương trình tự động

Các đồ thị có hướng được tạo ra là một đồ thị các luồng chương trình trong đó chỉ ra cách thức điều khiển di chuyển thông qua các chương trình Đơn giản hoá và chuyển đổi kỹ thuật có thể được áp dụng cho đồ thị này mà không thay đổi ngữ nghĩa của nó Phải phát hiện và loại bỏ các đoạn mã không cần thiết trong hoạt động của chương trình Một khi hoàn thành việc đơn giản hóa cấu trúc chương trình, chúng ta đã tạo ra được một chương trình mới

Tái cấu trúc chương trình tự động sẽ gặp các vấn đề sau:

- Mất ghi chú Nếu chương trình có các dòng ghi chú trong đó, nó sẽ luôn bị mất

đi trong quá trình tái cấu trúc

Chương trình đã được cấu trúc lại

Trang 21

- Mất tài liệu Tương tự, tài liệu của chương trình cũng sẽ bị mất đi Tuy nhiên, trong nhiều trường hợp, sau quá trình tái cấu trúc, cả các ghi chú và tài liệu của chương trình đều trở nên lạc hậu Bởi vậy đây không phải là một nhân tố quan trọng

- Nặng về nhu cầu tính toán Các thuật toán nhúng trong các công cụ tái cấu trúc rất phức tạp Thậm chí ngay cả với các phần cứng nhanh và hiện đại cũng phải mất một thời gian dài để hoàn thành qui trình tái cấu trúc cho các chương trình lớn

Nếu chương trình phụ thuộc vào dữ liệu trong đó các thành phần gắn kết chặt chẽ với nhau thông qua việc chia sẻ cấu trúc dữ liệu, việc cấu trúc lại mã không đưa đến cải tiến sự hiểu biết một cách đáng kể Do vậy, việc module hóa chương trình có thể cần thiết Nếu chương trình được viết bằng một hệ ngôn ngữ không chuẩn, các công cụ tái cấu trúc tiêu chuẩn có thể không hoạt động đúng đắn và sự can thiệp thủ công có ý nghĩa vô cùng cần thiết

Trong một số trường hợp, có thể không có chi phí hiệu quả để cấu trúc lại toàn

bộ các chương trình trong một hệ thống Một số có thể có chất lượng tốt hơn so với số khác trong khi đó một vài cái lại không thể tùy thuộc vào các thay đổi thường xuyên Arthur (Arthur, 1988) cho thấy rằng một dữ liệu phải được thu thập để giúp xác định những chương trình nào có thể hưởng lợi nhiều nhất từ tái cấu trúc Ví dụ, các thông

số sau đây có thể được sử dụng để xác định các chương trình thích hợp cho việc tái cấu trúc:

- Ước lượng thất bại

- Tỉ lệ phần trăm mã nguồn thay đổi trên mỗi năm

- Độ phức tạp của các thành phần

Một số nhân tố khác như mức độ để chương trình hoặc các thành phần của chương trình có thể đạt đến tiêu chuẩn như hiện thời cũng có thể dựa vào đó để quyết định cho việc tái cấu trúc

1.1.2.6. Module hóa chương trình

Module hóa chương trình là quá trình tổ chức lại chương trình sao cho các phần chương trình có liên quan đến nhau được tập hợp lại với nhau trong cùng một module Một khi việc module hóa chương trình đã được thực hiện,

Trang 22

chúng ta có thể dễ dàng loại bỏ được các thành phần dư thừa và tối ưu hóa tương tác giữa các thành phần đồng thời làm giảm giao diện giữa một thành phần với các phần còn lại của hệ thống Ví dụ, trong chương trình xử lý dữ liệu chấn địa, toàn bộ các toán tử liên kết với thành phần đồ họa thể hiện của

dữ liệu có thể tập hợp lại với nhau trong cùng một module Nếu hệ thống được phân phối, các module được tạo ra lại có thể gói gọn lại thành một đối tượng và có thể được truy cập qua một giao diện chung

Có một vài kiểu module khác nhau có thể được tạo ra trong quá trình module hóa là:

- Dữ liệu trừu tượng

- Module phần cứng

- Module chức năng

- Module hỗ trợ cho qui trình

Module hóa chương trình thường được thực hiện thủ công bằng cách kiểm tra và sửa đổi mã Để module hóa một chương trình, chúng ta phải xác định mối quan hệ giữa các thành phần và đề ra xem các thành phần này làm những gì Các công cụ trực quan và các công cụ duyệt có thể giúp chúng ta trong quá trình module hóa, nhưng chúng ta vẫn không thể hoàn toàn thực hiện tự động quá trình này

1.1.2.7. Tái kỹ nghệ dữ liệu

Cho tới bây giờ, hầu hết các cuộc thảo luận về quá trình phát triển phần mềm đều tập trung vào vấn đề các chương trình và hệ thống phần mềm luôn luôn biến đổi Tuy nhiên, trong nhiều trường hợp, nó lại liên quan đến vấn

đề phát triển dữ liệu Lưu trữ, tổ chức và định dạng của dữ liệu được xử lý bởi chương trình cũ phải được tiến hóa để phù hợp với những thay đổi của phần mềm Quá trình phân tích và tổ chức lại cấu trúc dữ liệu và đôi khi là

cả giá trị của dữ liệu trong hệ thống làm cho nó trở nên dễ hiểu hơn được gọi là tái kỹ nghệ dữ liệu

Nói chung, tái kỹ nghệ dữ liệu không cần thiết nếu như các chức năng của hệ thống không thay đổi Tuy nhiên, trong thực tế, có rất nhiều lý do để chúng ta phải sửa đổi dữ liệu khi chương trình của chúng ta là một hệ thống cũ được kế thừa lại:

- Sự thoái hóa dữ liệu

Trang 23

- Những giới hạn cố hữu được xây dựng trong chương trình

- Tiến hóa kiến trúc

Chương trình 5Chương trình 4

Mô hình dữ liệu vật lý và logic

Mô tảTrở thành

Trang 24

Hình 1.9 Chuyển đổi dữ liệu

Cũng như định nghĩa dữ liệu không phù hợp, các giá trị dữ liệu cũng có thể

được lưu trữ một cách không phù hợp Sau khi các định nghĩa dữ liệu được tái kỹ

nghệ, giá trị của dữ liệu cũng phải được chuyển đổi để phù hợp với cấu trúc mới

Trước khi tái kỹ nghệ dữ liệu của chương trình, điều cần thiết trước khi làm là

phải phân tích chi tiết chương trình Những phân tích này nên nhằm vào mục đích phát

hiện những chức năng định danh trong chương trình, tìm ra các giá trị cố định để thay

đổi thành tên hằng số, phát hiện những qui tắc kiểm chứng dữ liệu nhúng và chuyển

đổi đại diện của dữ liệu Các công cụ như là phân tích và mô hình tham chiếu chéo có

thể được sử dụng để giúp cho quá trình phân tích được nhanh chóng và đơn giản hơn

Một tập hợp các bảng nên được tạo ra để chỉ ra các mục dữ liệu được tham chiếu và

những thay đổi được tạo ra cho mỗi tham chiếu đó

Hình 1.10: Quá trình tái kỹ nghệ dữ liệu

Hình 1.10 minh họa quá trình tái kỹ nghệ dữ liệu, giả định rằng những định nghĩa

dữ liệu được sửa đổi, các giá trị cố định được đặt tên, định dạng dữ liệu được tổ chức

lại và giá trị dữ liệu được chuyển đổi Bảng tóm tắt các chi tiết trong thay đổi được tạo

ra Do đó chúng được sử dụng ở tất cả các giai đoạn của quá trình tái kỹ nghệ dữ liệu

Trong giai đoạn 1 của quá trình này, các định nghĩa dữ liệu trong chương trình

được sửa đổi cho dễ hiểu hơn Dữ liệu không bị ảnh hưởng bởi các sửa đổi Có thể tự

Chuyển đổi dữ liệu

Dữ liệu sửa đổi

Sửa đổi tên thực thểThay thế các giá trị cố định

Sắp xếp lại định nghĩa dữ liệu

Định dạng lại

dữ liệuChuyển đổi

giá trị mặc định

Sửa đổi các

qui tắc hợp lệGiai đoạn 1 Giai đoạn 2 Giai đoạn 3

Trang 25

động quá trình này ở một mức độ nào đó bằng cách sử dụng hệ thống kết hợp mô hình như là AWK (Aho, Kernighan và một số người khác, 1988) để tìm và thay thế các định nghĩa hoặc để phát triển các mô tả UML của dữ liệu (St Laurent and Cerami, 1999) và sử dụng các công cụ chuyển đổi dữ liệu Tuy nhiên, một vài việc làm thủ công hầu như là cần thiết để hoàn tất quá trình Quá trình tái kỹ nghệ dữ liệu có thể dừng lại ở giai đoạn này nếu mục đích chỉ đơn giản là làm tăng hiểu biết về các định nghĩa cấu trúc dữ liệu trong chương trình Tuy nhiên, nếu có các vấn đề về giá trị dữ liệu như đã được trình bày ở trên thì giai đoạn 2 có thể thực hiện.

Nếu tổ chức quyết định tiếp tục giai đoạn 2 của quá trình, sau đó là tập trung vào giai đoạn 3, chuyển đổi dữ liệu Nó thường là một quá trình rất tốn kém Chương trình phải được viết với đầy đủ những hiểu biết về tổ chức cũ và mới Nó thực hiện chuyển đổi dữ liệu cũ và chuyển đổi thông tin đầu ra Một lần nữa, hệ thống mẫu phù hợp có thể được sử dụng để tiến hành sự chuyển đổi này

1.1.2.8. Kỹ nghệ chuyển tiếp

Hệ thống mục tiêu mới được tạo ra bằng cách di chuyển xuống phía dưới thông qua các mức độ trừu tượng (the levels of abstraction), một sự giảm dần trong mức độ trừu tượng của hệ thống được diễn tả bằng cách thay thế liên tiếp các thông tin của hệ thống tồn tại với nhiều thông tin chi tiết hơn Sự di chuyển xuống này thực sự di chuyển thông qua quy trình phát triển phần mềm chuẩn do đó đó là kỹ nghệ chuyển tiếp Kỹ nghệ chuyển tiếp di chuyển từ cấp độ trừu tượng cao và hợp lý thực hiện thiết

kế độc lập các chức năng vật lý của hệ thống Một chuỗi các yêu cầu thông qua thiết

kế để thực hiện được theo sau Những rủi ro có do mức độ và kỹ thuật trong quá trình chuẩn bị kỹ nghệ đảo ngược Dự án đang tiếp xúc với nhiều nguy cơ với sự thay đổi hoặc bổ sung các yêu cầu mới

Trang 26

Hình 1.11: Kỹ nghệ chuyển tiếp và Tái kỹ nghệ phần mềm

1.1.3 Các công cụ trợ giúp quá trình tái kỹ nghệ phần mềm

Có khá nhiều các công cụ hỗ trợ cho việc tái kỹ nghệ Trong mỗi giai đoạn của quy trình lại có một công cụ phục vụ cho các công việc khác nhau Để dịch mã nguồn sang mô hình thiết kế chúng ta có các công cụ như Rational Software Architecture, Rational Rose v.v Bộ công cụ DMS Software Reengineering Toolkit là công cụ tự động phân tích chương trình, tùy chỉnh mã nguồn, sửa đổi, dịch hay phát sinh ra hệ thống phần mềm Có rất nhiều các công cụ hỗ trợ như thế, nhưng trong phạm vi luận văn này sẽ tập trung vào việc tái kỹ nghệ phần mềm với sự hỗ trợ của công cụ Rational Rose và ngôn ngữ mô hình hóa thống nhất UML

1.1.3.1. Ngôn ngữ UML

Ngôn ngữ mô hình hóa thống nhất (Unifield Modeling Language – UML) là một ngôn ngữ mô hình có phần chính bao gồm những ký pháp đồ họa, được các phương pháp hướng đối tượng sử dụng để thể hiện và miêu tả các thiết kế của một hệ thống Nó là một ngôn ngữ để đặc tả, trực quan hoá, xây dựng và làm tài liệu cho nhiều khía cạnh khác nhau của một hệ thống phần mềm chuyên sâu UML có thể được

sử dụng làm công cụ giao tiếp giữa người dùng, nhà phân tích, nhà thiết kế và nhà phát triển phần mềm

Trong quá trình phát triển có nhiều công ty đã hỗ trợ và khuyến khích phát triển UML có thể kể tới như: Hewlett Packard, Microsoft, Oracle, IBM, Unisys

UML có thể được sử dụng trong nhiều giai đoạn, từ phát triển, thiết kế cho tới thực hiện và bảo trì Vì mục đích chính của ngôn ngữ này là dùng các biểu đồ hướng đối tượng để mô tả hệ thống nên miền ứng dụng của UML bao gồm nhiều loại

hệ thống khác nhau

Có thể nói UML không phải là một phương pháp mà là một ngôn ngữ mô hình hóa đối tượng đã được công nhận là một phương pháp đối tượng và được sử dụng chung trong cộng đồng công nghệ thông tin Nó đã trở thành một chuẩn và được sử dụng phổ biến trong qui trình kỹ nghệ phần mềm

Việc dịch xuôi và ngược được thực hiện dựa trên các nguyên tắc ánh xạ một-một giữa các phần tử trong mô hình thiết kế và các phần tử trong mã nguồn Kết quả của quá trình dịch xuôi có thể cho mã nguồn thực hiện được hoặc các tệp nhị phân lưu giữ

Trang 27

thông tin về mô hình Kết quả của việc dịch ngược sẽ cho các mô hình thiết kế ban đầu.

Ta có thể mô tả quá trình của kĩ thuật đảo ngược trong UML như sau:

nó bao gồm toàn bộ các biểu đồ của UML, tác nhân, ca sử dụng, đối tượng, lớp, thành phần và các nút triển khai trong hệ thống Nó mô tả chi tiết hệ thống bao gồm những gì và chúng làm việc ra sao, để người phát triển hệ thống có thể sử dụng mô hình lập kế hoạch chi tiết cho việc xây dựng hệ thống Rational Rose hỗ trợ giải quyết nhiều vấn đề quan trọng trong quá trình xây dựng và phát triển hệ thống, chẳng hạn việc đội ngũ dự án giao tiếp với khách hàng hay làm các tài liệu yêu cầu

Rational Rose Enterprise Edition cho phép phát sinh mã trình từ mô hình của UML sang một ngôn ngữ và dịch ngược từ một ngôn ngữ sang mô hình UML Rose Eterprise cho phép phát sinh mã trình sang các ngôn ngữ Ada83, Ada95, ANSI C++, CORBA, Java, COM, Visual Basic, Visual C++, C++, Oracle, DB2, SQL Server, XML và dịch ngược từ mã nguồn của các hệ trên sang mô hình của UML Hơn nữa Rational Rose Enterprise Edition 7.0.0.0 cho phép mô hình hoá các ứng dụng trên website và tái thiết

kế các ứng dụng trên nó

Rational Rose Enterprise Edition hỗ trợ tiến trình thiết kế kĩ nghệ đảo ngược

cả với một số ngôn ngữ lập trình trên mang như ASP, JSP và các trang

ngôn ngữDịch xuôi

Dịch ngược

Trang 28

HTML Nó gán các stereotype thích hợp cho các lớp và tạo các mối quan hệ giữa chúng Ngoài ra, nó còn cho phép phát sinh và thiết kế kĩ nghệ đảo ngược trên các hệ thống cơ sở dữ liệu như: IBM DB2, Microsoft SQL Sever, Oracle và Sysbase Adaptive Sever 12.x.

Là một công cụ rất mạnh sử dụng cho UML, Rational Rose Enterprise Edition được sử dụng để tạo ra các biểu đồ trong UML:

− Biểu đồ ca sử dụng – use case diagram

− Biểu đồ đối tượng – object diagram

− Biểu đồ lớp – class diagram

− Biểu đồ tuần tự - sequence diagram

− Biểu đồ trạng thái – state diagram

− Biểu đồ tương tác – collaboration diagram

− Biểu đồ hoạt động – activity diagram

− Biểu đồ thành phần – component diagram

− Biểu đồ cài đặt – deployment diagram

Không chỉ dừng lại với việc tạo ra các biểu đồ UML, Rational Rose Enterprise Edition còn giúp ta sinh ra mã chương trình từ các biểu đồ đó Chính nhờ điều này mà qui trình phát triển có thể trở nên tự động hơn, giúp giảm bớt rất nhiều phần việc trong quá trình xây dựng phần mềm

Ngoài ra, Rational Rose còn hỗ trợ trong việc dịch ra biểu đồ từ mã nguồn của

hệ thống Như vậy, với một chương trình mà ta chỉ có mã nguồn, với sự hỗ trợ của Rational Rose ta sẽ xây dựng lại được các biểu đồ của hệ thống đó Đây chính là một tính năng quan trọng của Rational Rose phục vụ cho việc tái kỹ nghệ hệ thống

1.1.3.3 Tái kỹ nghệ hệ thống với kỹ nghệ đảo ngược của Rational Rose

Thiết kế bằng kỹ nghệ đảo ngược là thiết kế lấy thông tin từ mã nguồn của chương trình, rồi tạo hoặc cập nhật lại thành một mô hình trên Rational Rose Thông qua khả năng tích hợp của Rational Rose với một số ngôn ngữ lập trình khác như: C++/Visual C, Java, Visual Basic, Ada, CORBA, XML , Rational Rose hỗ trợ cơ chế thiết kế kỹ nghệ đảo ngược thành một

mô hình UML

Trang 29

Một trong những thách thức của các đề án Công nghệ thông tin là giữ cho mô hình đối tượng nhất quán với mã trình Khi thay đổi các yêu cầu, thường thì ta có khuynh hướng thay đổi mã trực tiếp, thay vì thay đổi mô hình rồi phát sinh mã Trong Rose, ta có thể tái thiết kế hệ thống phần mềm với kĩ thuật đảo ngược đảm bảo cho mô hình đồng bộ với mã trình.

Trong tiến trình thiết kế bằng kĩ thuật đảo ngược, Rose sẽ thu thập các thông tin về: các lớp, các thuộc tính, các tác vụ, các mối quan hệ, các các gói, các thành phần trong chương trình nguồn Nó sẽ sử dụng các thông tin này để tạo mới hoặc cập nhật một mô hình đối tượng Nếu ta có một tệp tin mã nguồn chứa một lớp, tiến trình thiết kế kĩ thuật đảo ngược sẽ tạo ra một lớp tương ứng trong mô hình Rose, mỗi thuộc tính và tác vụ của lớp sẽ xuất hiện dưới dạng các thuộc tính và các tác vụ của lớp mới trong mô hình Rose Cùng với tên thuộc tính và tên tác vụ, Rose đưa thêm vào các thông tin về tầm hoạt động, kiểu dữ liệu và các giá trị ngầm định

Nếu ban đầu ta dùng Rose để tạo ra các lớp, dùng kĩ thuật dịch xuôi để phát sinh mã trình, sau đó thực hiện một số thay đổi với các lớp trong mã trình, các thay đổi này sẽ được phản ánh trong tiến trình thiết kế với kĩ thuật đảo ngược Chẳng hạn, nếu xoá hay bổ sung một tác vụ trong mã trình, tác vụ này sẽ bị xoá hay bổ sung vào mô hình nhận được bằng kĩ thuật đảo ngược

Ngoài các lớp, Rose sẽ thu thập thông tin về các mối quan hệ trong mã trình Nếu một lớp chứa một thuộc tính có kiểu dữ liệu là một lớp khác, Rose sẽ tạo mối quan hệ giữa hai lớp Với các mối quan hệ kế thừa Rose sẽ tạo các mối quan hệ tổng quát hoá để hỗ trợ mọi quan hệ trong mã trình

Có thể mô tả các quá trình phân tích thiết kế và tái thiết kế như trong các sơ đồ sau đây: Trong hình 1.23 mô tả một bước lặp trong tiến trình tái thiết kế xuất phát là

mã nguồn của một ngôn ngữ lập trình được UML hỗ trợ Trong hình 1.24 mô tả một bước lặp trong tiến trình tái thiết kế xuất phát là mô hình thiết kế của UML đã được thiết lập trước đây

Hình 1.24 mô tả một bước lặp trong tiến trình tái thiết kế Ban đầu từ chương trình nguồn của hệ thống được lập trước đây, nhờ kĩ nghệ thiết kế đảo ngược của Rational Rose ta chuyển nó sang mô hình thiết kế trên UML Tiếp đến là cập nhật, sửa đổi, hiệu chỉnh, bổ sung cho bản thiết kế này trên

Trang 30

Rose Sau đó lại sử dụng kĩ nghệ dịch xuôi của Rational Rose để chuyển bản thiết kế này sang mã nguồn Quá trình lặp trên có thể được thực hiện nhiều lần nếu cần thiết, và sau một bước lặp đó ta sẽ được một thế hệ phần mềm mới có thêm các chức năng và những đặc tính mới Trong quá trình tái thiết

kế hệ thống phần mềm chúng ta có thể kết hợp hai sơ đồ trên với nhau

Hình 1.13: Một bước lặp của quá trình tái thiết kế với xuất phát là mã

1.1.4 Khái quát về dữ liệu phi cấu trúc và công nghệ quản lý dữ liệu phi cấu trúc 1.1.4.1 Khái niệm dữ liệu phi cấu trúc

Dữ liệu phi cấu trúc thường dùng để chỉ dữ liệu ở dạng tự do (free type) và không cần có cấu trúc định nghĩa sẵn Các loại văn bản, các trang web các dữ liệu multimedia như: tập tin video, tập tin ảnh, tập tin âm thanh… là các ví dụ của dữ liệu phi cấu trúc Nếu dùng các hệ quản trị cơ sở dữ liệu quan hệ để lưu trữ dữ liệu phi cấu

Mã nguồn

(Trong ngôn ngữ A)

Mã nguồn (Trong ngôn ngữ A)

Mô hình thiết kếDịch ngược Dịch xuôi

Trang 31

trúc, việc truy tìm dữ liệu theo danh sách từ khóa sẽ gặp các hạn chế, cần chỉ rõ đối tượng cần truy vấn, và tốc độ truy vấn.

Sự phát triển của dữ liệu phi cấu trúc sẽ đòi hỏi các hệ thống lưu trữ tệp tin lớn hơn và tính khả mở cao hơn Các hệ thống lưu trữ tệp tin chuẩn sẽ cần phải được thay thế bởi những hệ thống lưu trữ tệp tin dựa trên đối tượng (object-based file system) nhằm đáp ứng nhu cầu ngày càng tăng này Việc quản lý dữ liệu của hệ thống tệp tin và metadata dưới dạng đối tượng cho phép khôi phục hệ thống tệp tin nhanh, tăng cường hiệu năng truy xuất tệp tin và mang tới khả năng tự động hóa phân lớp tệp tin

Dữ liệu phi cấu trúc là thông tin không có mô hình dữ liệu xác định và nó không phụ thuộc vào các bảng quan hệ, hay nói cách khác nó không được tổ chức một cách xác định trước Nó không phù hợp vào một mô hình hay một quan hệ ngay cả khi lắp ráp nó vào một mô hình nào đó thì cũng không thể cái thiện được gì trong việc quản lý và khai thác dữ liệu này Hình ảnh , video, email , tài liệu, văn bản, email,… là một ví dụ về dữ liệu phi cấu trúc.Gần đây các nhà phân tích định lượng rằng dữ liệu sẽ tăng trưởng 800% trong vòng năm năm tới và thông tin dữ liệu phi cấu trúc chiếm hơn 70% đến 80% trong tất cả dữ liệu của các công ty, tổ chức Sự nhìn nhận này cho thấy sự bùng nổ về dữ liệu mà trong đó đa phần là dữ liệu phi cấu trúc thì việc quản lý và khai thác nó một cách hiệu quả là một vấn đề khá lớn, nó trở thành điều kiện tiên quyết trong việc ra quyết sách một cách chính xác và là một điều kiện tồn tại cạnh trang của các công ty, tổ chức

Theo ước tính, có đến 85% thông tin các công ty thu thập được không theo đúng dạng mà họ có thể đánh giá hay phân tích được, được gọi là phi cấu trúc (unstructured) Gartner Group cho biết dữ liệu phi cấu trúc này cứ 3 tháng lại tăng lên gấp đôi lên, trong khi đó có 7 triệu website được công bố mỗi ngày Việc không đồng

bộ này dẫn đến một trong những thử thách lớn nhất mà các công ty ngày nay phải đối mặt

Hầu hết các công ty, tổ chức nào đang cộng tác với những khách hàng lớn đều hiểu rất rõ điều này Thị trường ngày nay tràn ngập những phần mềm

có khả năng phân loại, sắp xếp, tìm kiếm, tổ chức và quản lý phần lớn dữ

Trang 32

liệu phi cấu trúc này Thế nhưng việc khám phá ra sự thật trong những dữ liệu này như : “ai”, “cái gì”, “nơi nào”, “khi nào”, “làm thế nào” và quan trọng nhất là “tại sao” hiện vẫn đang là một thách thức khiến hầu hết các công ty lúng túng Công ty tiến hành khảo sát khách hàng, tập trung vào các nhóm đại diện và những cuộc phỏng vấn hy vọng sẽ nắm bắt nhu cầu thị hiếu của họ và chỉ có thể thông qua kết quả tiếp thị, số lượng hàng hóa bán được, nghiên cứu để phát triển sản phẩm, dịch vụ hay đáp ứng ý tưởng khách hàng.

1.1.4.2 Xử lý dữ liệu phi cấu trúc

Các công nghệ như khai phá dữ liệu (data mining), phân tích văn bản, phân tích dữ liệu âm thanh… cung cấp các phương pháp khác nhau để tìm kiếm mẫu Kỹ thuật chung cho cấu trúc văn bản thường liên quan tới việc gắn thẻ siêu liên kết hoặc gắn thẻ bán giọng nói để biết thêm về văn bản khai thác dựa trên cấu trúc Kiến trúc quản lý thông tin phi cấu trúc (UIMA) cung cấp một khuôn khổ chung cho xử lý thông tin này để trích xuất ý nghĩa và tạo ra cấu trúc dữ liệu về thông tin

UIMA là viết tắt của phi cấu trúc kiến trúc quản lý thông tin Một tiêu chuẩn OASIS UIMA đến nay các tiêu chuẩn công nghiệp chỉ dành cho phân tích nội dung

Kiến trúc UIMA ra đời do một yêu cầu thực tế: hiện nay các chương trình quản lí dữ liệu phi cấu trúc phát triển rất nhiều, nhưng mỗi chương trình được xây dựng theo một phương pháp, công nghệ khác nhau, vì vậy cần qui định một kiến trúc chung cho những chương trình này để việc xây dựng các

dễ dàng hơn và có thể kết hợp những chương trình này lại UIMA ban đầu được phát triển bởi IBM, hiện nay đã trở thành một chuẩn được quản lí bởi OASIS và có 2 phiên bản cài đặt bằng Java và C++ mã nguồn mở phát triển bởi Apache

Kiến trúc UIMA chia chương trình quản lí dữ liệu phi cấu trúc thành nhiều component, mỗi component này thực hiện một công đoạn nào đó trong quá trình phân tích dữ liệu UIMA qui định chuẩn cho các component, chuẩn cho dữ liệu trao đổi giữa các component và chuẩn lắp ráp các component thành qui trình phân tích dữ liệu

Trang 33

Điều này giúp cho những component trong các chương trình UIMA có tính tái sử dụng cao; và các component UIMA mã nguồn mở xuất hiện rất nhiều trên mạng (ví dụ: các component có sẵn trong project Apache UIMA), thực hiện nhiều công việc khác nhau như tách từ, gán nhãn từ loại, phát hiện thực thể dựa vào biểu thức chính qui,…

Việc chia chương trình thành nhiều component như trên còn giúp cho việc triển khai chương trình dễ dàng hơn Toàn bộ chương trình gồm nhiều component có thể chạy trên cùng một máy hoặc chia ra cho nhiều máy (mỗi máy chạy một hay nhiều component) và ta có thể cấu hình load balance, replicate, để việc chạy chương trình trên nhiều máy hiệu quả hơn

Data mining : Khai phá dữ liệu là một quá trình trích xuất thông tin có mối

quan hệ hoặc có mối tương quan nhất định từ một kho dữ liệu lớn (cực lớn) nhằm mục đích dự đoán các xu thế, các hành vi trong tương lai, hoặc tìm kiếm những tập thông tin hữu ích mà bình thường không thể nhận diện được

Ứng dụng của nó rất đa dạng và rộng lớn, từ marketing, chống gian lận, giảm giá thành sản xuất, tăng doanh thu, phân tích hành vi sử dung người dùng internet để đúng nhu cầu mục tiêu, đúng đối tượng hay ứng dụng hỗ trợ ra quyết định, nghiên cứu khoa học đến việc chống khủng bố v.v

Các công cụ, kỹ thuật data mining có thể trả lời các câu hỏi mà các công cụ truyền thống đòi hỏi rất nhiều thời gian cần thiết để có thể giải đáp được (thậm chí các cách truyền thống không thể giải được) Nó có thể tìm thấy được những thông tin cực

kỳ hữu ích mà rất dễ bị bỏ qua hoặc không xem xét đến để có thể dự đoán những xu thế/hành động xảy ra trong tương lai Để có thể khai phá dữ liệu một cách hiệu quả, điều đầu tiên cần phải thu thập dữ liệu và định nghĩa lại theo các tiêu chí cần phân tích Các kỹ thuật khai phá dữ liệu có thể cài đặt rất nhanh chóng trên các nền tảng phần mềm, phần cứng phổ thông mà không cần đòi hỏi quá phức tạp, tuy vậy khai phá dữ liệu thường gắn liền với việc phân tích một khối lượng dữ liệu cực lớn nên cần ứng dụng các công nghệ hiệu suất cao client/server hoặc xử lý song song (parallel programming)

Công nghệ khai phá dữ liệu là kết quả của quá trình lâu dài nghiên cứu và phát triển sản phẩm Quá trình này bắt đầu từ khi những dữ liệu đầu tiên lưu vào máy tính,

Trang 34

tiếp đến là quá trình cải tiến, nâng cấp cách thức truy xuất dữ liệu và dần dần cho phép người dùng có thể duyệt dữ liệu theo thời gian thực Kết quả của quá trình này cho phép truy xuất các nguồn dữ liệu quá khứ, tính toán và định vị lại việc truyền tải, cung cấp thông tin cho hiện tại, tương lai hay đưa ra các dự đoán tình huống có thể sắp diễn ra.

Hiện nay có rất nhiều các giải pháp thương mại sẵn có để phân tích trong lĩnh vực kinh doanh như một số sản phẩm từ các công ty như SAS, Provalis Research và SPSS cũng như nhiều dịch vụ chuyên ngành như Attensity, Clarabridge và Sysomos tập trung vào việc phân tích dữ liệu phi cấu trúc của các mạng xã hội

1.1.4.3 Công nghệ quản lý dữ liệu phi cấu trúc

Với sự bùng nổ của thông tin mà chủ yếu thông tin là các dữ liệu phi cấu trúc một cách nhanh chóng thì các giải pháp để hỗ trợ cho việc quản lý và dữ liệu phi cấu trúc ngày càng được thiết kế đưa ra những giải pháp nhằm hỗ trợ cho việc điều hành quản lý, phân tích thông tin một cách nhanh chóng cho nhà quản lý trong đó có những công nghệ được thương mại hóa mà tiêu biểu là hãng Microsoft với những hệ điều hành mạng mạnh nhằm đáp ứng việc xử lý lưu trữ thông tin một các nhanh chóng với những tính năng chia tải tài nguyên trong việc xử lý các khối lượng dữ liệu lớn cũng như các tính năng quản lý mail server, quản lý dữ liệu mail phục vụ cho quản lý của công ty tổ chức

Ngoài ra hệ quản trị CSDL SQL Server là một hệ quản trị CSDL điển hình của Microsoft với các phiên bản khác nhau được nâng cấp để phù hợp với yêu cầu quản lý

dữ liệu phi cấu trúc tiêu biểu là phiên bản 2008 với sự cải tiến vượt bậc giải quyết các thách thức của dữ liệu phi cấu trúc như thách thức về lưu trữ dữ liệu phi cấu trúc với khối lượng lớn mà đảm bảo được việc truy xuất và tính mềm dẻo của hệ thống, đảm bảo được hiệu suất và khả năng mở rộng của dữ liệu phi cấu trúc, tính nhất quản của

dữ liệu liên quan tới mối quan hệ… chúng ta sẽ làm rõ nó trong phần sau

Ngoài hệ điều hành và CSDL SQL Server mạnh thì Microsoft còn xây dựng công nghệ ASP Công nghệ này đầu tiên với giải pháp kết hợp hệ quản trị CSDL để thay thế việc quản lý chia sẻ thông tin trên nền website tĩnh nhằm bắt nhịp sự thay đổi nhanh chóng của thông tin một cách hiệu quả khi mà yêu cầu của sự bùng nổ dữ liệu

Trang 35

phi cấu trúc và nhu cầu quản lý thông tin Trong nhiều năm qua, ASP đã được cho rằng đó thực sự là một lựa chọn hàng đầu cho web developers trong việc xây dựng những web sites trên nền máy chủ web Windows bởi nó vừa linh hoạt mà lại đầy sức mạnh Với sự ra đời và cải tiến của ASP sang ASP.NET càng giúp việc quản lý và truy xuất dữ liệu phi cấu trúc một cách dễ dàng nhanh chóng cho người dùng Những thay đổi và nâng cấp nhằm mục tiêu cho việc phù hợp với sự thay đổi càng ngày của dữ liệu phi cấu trúc.

Những công nghệ của Microsoft khá đắt và giải pháp tốt là sử dụng công nghệ nguồn mở Công nghệ mã nguồn mở cũng không kém gì so với công nghệ của Microsoft và thực sự trở thành một trào lưu trong việc giảm chi phí và tranh thủ được

sự hỗ trợ của cộng đồng, đó là Linux OS, hệ quản trị CSDL MySQL…

Linux một hệ điều hành hoàn thiện với sự hỗ trợ cho một loạt các mô hình sử dụng Nhưng thật khó khi nghĩ rằng Linux chỉ là một hệ điều hành Nhân mô đun và tính linh hoạt của nó có thể xử lý trong nhiều mô hình sử dụng (từ siêu máy tính lớn nhất đến các thiết bị nhúng nhỏ nhất) đến mức thật khó phân loại nó vào bất cứ thứ gì khác hơn là một công nghệ khả dụng Linux còn cung cấp các mảng lớn nhất về các dịch vụ web (và các tùy chọn khác nhau cho các dịch vụ đó) Linux không chỉ là một yếu tố chính trong các mô hình điện toán cluster và các mô hình điện toán phân tán, nó còn là một đơn vị điều khiển và ở lõi của nhiều mô hình sử dụng mới Hai mô hình chính đang phát triển nhanh chóng hiện nay là điện toán đám mây và dữ liệu lớn

Ngoài Linux là hệ quản trị CSDL MySQL MySQL là hệ quản trị cơ sở dữ liệu

tự do nguồn mở phổ biến nhất thế giới và được các nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng Vì MySQL là cơ sở dữ liệu tốc độ cao, ổn định và dễ sử dụng, có tính khả chuyển, hoạt động trên nhiều hệ điều hành cung cấp một hệ thống lớn các hàm tiện ích rất mạnh.Với tốc độ và tính bảo mật cao, MySQL rất thích hợp cho các ứng dụng có truy cập CSDL trên internet Khi dữ liệu ngày càng nhiều thì vấn

đề tìm kiếm thông tin chính xác càng trở nên quan trọng Với khối lượng dữ liệu lớn

và có tổ chức phức tạp, vấn đề đặt ra là làm thế nào để tìm nhanh và đúng thông tin cần Người dùng không muốn tìm kiếm một từ mà lại có cả triệu câu trả lời, họ cần sự chính xác và loại bỏ các từ gây nhiễu Lúc đó, người dùng sẽ cần đến tính năng tìm kiếm toàn văn Một trong những giải pháp để quản lý dữ liệu phi cấu trúc hiệu quả

Trang 36

cùng với tốt độ bùng nổ dữ liệu phi cấu trúc là các phiên bản nâng cấp mới phù hợp với nó.

PHP là một công là một ngôn ngữ lập trình được kết nối chặt chẽ với máy chủ, PHP rất ổn định và tương hợp, mới đây PHP đã vận hành khá ổn định trên các hệ điều hành gồm cả Unix, Windows Đồng thời nó cũng nối với một số máy chủ như IIS hay Apache Với thư viện phong phú và khả năng mở rộng lớn, ứng dụng PHP có thể tương tác với hầu hết các loại ứng dụng phổ biến như xử lý hình ảnh, nén dữ liệu, mã hóa, thao tác file PDF, Office, Email, Streaming…

1.1.4.4 Mối liên hệ giữa dữ liệu phi cấu trúc và tái kỹ nghệ phần mềm

Các sản phẩm công nghệ hầu hết đều có tính ứng dụng cao Chúng ta sử dụng

nó thường xuyên nhưng rồi sau đó, nó dần trở nên cũ và lạc hậu Nó thường xuyên xảy

ra sự cố, chúng ta phải dành khá nhiều thời gian để sửa chữa và bảo trì, khi đó nó không còn là công nghệ mới nhất Khi mà càng ngày thông tin càng trở nên tràn ngập với khối lượng dữ liệu phi cấu trúc luôn luôn thay đổi làm cho việc phân tích, tìm kiếm, khai thác càng trở nên thực sự khó khăn đối với các tổ chức, doanh nghiệp Vậy chúng ta phải làm gì? Nếu là sản phẩm về phần cứng, ta có thể loại bỏ nó và mua một sản phẩm mới về Nhưng nếu nó là một phần mềm được xây dựng theo nhu cầu thì ý kiến trên không mang nhiều tính khả thi Chúng ta cần phải tái xây dựng lại phần mềm, tạo ra một sản phẩm với các chức năng được bổ sung để cải thiện độ tin cậy, bảo trì làm cho nó có hiệu suất làm việc tốt hơn Chúng ta gọi đó là tái kỹ nghệ Như vậy việc tái kỹ nghệ nhằm mục đích thực hiện giai đoạn bảo trì cập nhật thay đổi Mặt khác, nếu như việc tái cấu trúc trên một nền tảng quá cũ kỹ, những công nghệ lỗi thời lạc hậu thì sẽ trở nên khó khăn cho việc cập nhật những thay đổi và giảm chi phí trong quá trình bảo trì Các yêu cầu phần mềm phục vụ cho việc quản lý tổng hợp khai khác khối lượng thông tin càng ngày càng gia tăng cả về khối lượng lẫn sự liên hệ phức tại thì cần phải có các công nghệ quản lý dữ liệu phi cấu trúc đi kèm Các công nghệ quản

lý dữ liệu phi cấu trúc giúp cho việc phát triển và cập nhật những thay đổi một cách khoa học như việc đánh lại chỉ số quản lý trong việc tìm kiếm dữ liệu phi cấu trúc trong các công nghệ như SQLServer của Microsoft, MySQL, … cùng với sự hỗ trợ xử

lý của hệ thống máy tính có tốc độ xử lý lớn

1.2 Hệ thống quản lý văn bản và điều hành trực tuyến

Trang 37

Hệ thống QLVB&HSCV là một thành phần của Hệ thống thông tin phục vụ quản lý, điều hành, tác nghiệp hàng ngày của Sở Y tế và các đơn vị trực thuộc Hệ thống được xây dựng với mục đích tạo dựng môi trường trao đổi thông tin trên mạng máy tính trong nội bộ ngành Y tế Bắc Kạn, giữa lãnh đạo với các phòng, ban, đơn vị trực thuộc, giữa các đơn vị và CV trong nội bộ với nhau, và giữa cơ quan với các đơn

vị bên ngoài

Trên cơ sở đó, hệ thống có nhiệm vụ hỗ trợ toàn diện công tác quản lý và điều hành các hoạt động hàng ngày thông qua việc quản lý và theo dõi các công văn, tài liệu, VB đi, đến; Công tác xử lý VB; giải quyết công việc thông qua HSCV; thực hiện chế độ báo cáo nhanh; các trao đổi thông tin nội bộ; trao đổi thông tin với các đơn vị,

tổ chức, cá nhân bên ngoài Các quy trình nghiệp vụ sẽ được quản lý và thực hiện thông qua các quy trình xử lý và trao đổi thông tin trên mạng

1.2.1 Cấu trúc hệ thống quản lý văn bản và điều hành trực tuyến

Hệ thống QLVB&HSCV sẽ gồm các chức năng chính sau:

- Quản lý các VB đi, đến, gửi và nhận VB giữa các phòng ban, đơn vị, cánhân bên trong, bên ngoài thông qua hệ thống mạng Internet

- Thực hiện các quy trình giải quyết VB đến và ban hành VB đi giữa các phòng, ban, đơn vị trực thuộc và các CV trên hệ thống mạng nội bộ (LAN)

- Giải quyết và theo dõi tiến độ giải quyết công việc, vụ việc trên mạngthông qua HSCV

- Hỗ trợ công tác lưu trữ VB và HSCV

- Tích hợp với các thành phần khác có liên quan của hệ thống thông tin tại

cơ quan nhằm cung cấp, trao đổi thông tin với Cổng thông tin điện tử của tỉnh, cung cấp VB quy phạm pháp luật cho CSDL VB quy phạm pháp luật của tỉnh,

Hệ thống QLVB&HSCV sẽ hoạt động trên mạng LAN tại từng cơ quan, đơn

vị, đồng thời giúp cho nội bộ ngành Y tế và các đơn vị sở, ban, ngành, huyện, thị trong tỉnh gửi nhận VB với nhau trên môi trường mạng

1.2.2 Nghiệp vụ xử lý văn bản và điều hành trực tuyến

Quy trình xử lý VB đến cần được phân thành hai quá trình để tiện theo dõi:

- Tiếp nhận và chuyển giao VB Quá trình này xác lập luồng xử lý của các

cá nhân trong nội bộ cơ quan: Văn thư, Lãnh đạo VP, các CV

Trang 38

* Quá trình xử lý VB đến.

- Trong điều kiện hiện nay chưa thể thực hiện tin học hoá 100% quy trình

xử lý VB đến do một số nguyên nhân như:

+ Chưa có VB của nhà nước công nhận các VB truyền nhận và xử lý trên mạng có tính pháp lý như VB bằng giấy (ký đóng dấu);

+ Các đơn vị gửi VB về các đơn vị là các tổ chức tham gia hoặc không tham gia mạng Chính phủ và các VB, tài liệu có số lượng và nội dung định dạng kích cỡ khác nhau (chữ viết, bản vẽ ) ảnh hưởng đến đầu vào của hệ thống;

+ Chưa có sự chuẩn hoá về chuẩn thông tin trao đổi giữa các hệ thống bên trong cũng như bên ngoài mạng Chính phủ;

- Quá trình xử lý VB đến là quá trình liên tục khép kín do đó tại một điểm không tin học hoá được thì cả quy trình bị gián đoạn

Chính từ những lý do trên, quy trình tin học hóa công tác quản lý VB và điều hành trong nội bộ ngành Y tế Bắc Kạn được lựa chọn như sau:

- Tin học hoá điểm đầu và điểm cuối của quy trình xử lý VB đến: Văn thư của các đơn vị cập nhật toàn bộ thông tin về VB, thông tin xử lý VB của Lãnh đạo đơn vị và quét toàn bộ hoặc những phần của VB thấy cần thiết vào máy tính (thay cho việc photo) sau đó chuyển VB gốc cho đơn vị thụ lý hồ sơ Khi văn thư quét

VB đưa vào máy tính thì đơn vị chủ trì và các đơn vị phối hợp có thể nhận được ngay lập tức trên hệ thống máy tính Từ hệ thống Lãnh đạo các đơn vị có thể giao trực tiếp cho CV thụ lý hồ sơ

- Quy trình này phù hợp với thực tế của hoạt động quản lý điều hành tại tỉnh Bắc Kạn nói chung cũng như nội bộ ngành Y tế Bắc Kạn hiện nay Việc lựa chọn này thể hiện ở các điểm sau:

+ Không thay đổi lớn quy trình xử lý thông tin đến hiện nay, đảm bảo tính pháp lý của việc phân giao VB, tính kế thừa duy trì hoạt động liên tục khi cài đặt hệ thống mới

+ Tin học hoá từng phần nhằm hướng tới mục tiêu tin học hoá toàn bộ, triển khai hiệu quả những nội dung công việc có tính khả thi cao, tránh hiện tượng chủ quan áp đặt cho bộ máy quản lý

+ Giảm tải công việc, thay thế thao tác thủ công, không làm tăng thêm đầu

Trang 39

+ Lấy mục tiêu tổ chức quản lý, cung cấp thông tin trong quá trình các nhà quản lý thực hiện hoạt động mang tính pháp lý như phân giao nhiệm vụ, đưa ra ý kiến chỉ đạo và ký trên VB gốc

+ Giá trị các VB, nội dung xử lý chỉ mang tính thông tin, đảm bảo đầy đủ, chính xác, kịp thời và giá trị pháp lý như bản photocopy, fax của tài liệu gốc

+ Cán bộ, CV đã có được khả năng và thói quen khai thác, xử lý thông tin trên mạng

Quy trình xử lý phát hành VB của các đơn vị

Mô tả các thao tác thực hiện:

- Bộ phận và CV dự thảo VB theo yêu cầu xử lý công việc, theo yêu cầu của lãnh đạo,

- Trình VB dự thảo đến lãnh đạo duyệt nội dung

- Nếu chưa hoàn chỉnh, CV chỉnh lý lại và gửi lại lãnh đạo duyệt lại

- Nếu đã hoàn chỉnh:

+ CV nhận lại VB, chỉnh lý thể thức, soạn thảo lại bản thảo và xin ý kiến các

cá nhân/bộ phận có liên quan nếu VB đó yêu cầu nhiều cá nhân/bộ phận tham gia Trình báo cáo lại lãnh đạo duyệt nội dung và lãnh đạo ký tắt vào lề trên của VB

- Các bộ phận/CV nhận lại VB đã được lãnh đạo duyệt Trong quá trình xử

lý CV phải tạo hồ sơ công việc và đính kèm tất cả những VB liên quan vào đó

- CV chuyển VB cho thư ký/văn thư để kiểm tra thể thức Nếu đạt yêu cầu thì chuyển Lãnh đạo ký hoặc ủy nhiệm để bộ phận soạn thảo ký Nếu không đạt, chuyển trả VB cho cá nhân/bộ phận soạn thảo hoàn thiện

- CV nhận VB đã ký chuyển cho văn thư phát hành đồng thời lưu trữ trênmạng

Quy trình dự thảo và phát hành

Mô tả các thao tác thực hiện:

- Phòng chuyên môn giao cho CV dự thảo VB theo yêu cầu xử lý công việc, theo yêu cầu của lãnh đạo,

- Trình VB dự thảo đến lãnh đạo duyệt nội dung và lãnh đạo ký tắt vào lề trên của VB

Ngày đăng: 16/04/2017, 17:37

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1]. Ban điều hành đề án 112 CP. Giáo trình thiết lập và quản trị Lotus Domino. 2005 Sách, tạp chí
Tiêu đề: Giáo trình thiết lập và quản trị Lotus Domino
[2]. PGS.TS Hàn Viết Thuận. Giáo trình kỹ nghệ phần mềm, NXB Đại Học Kinh tế Quốc Dân Sách, tạp chí
Tiêu đề: Giáo trình kỹ nghệ phần mềm
Nhà XB: NXB Đại Học Kinh tế Quốc Dân
[3]. Ngô Trung Việt. Bản dịch tiếng Việt: Kỹ nghệ phần mềm. Cách tiếp cận của người thực hành. Tập 1 của Roger s. pressman. NXB Giáo dục 1997 Sách, tạp chí
Tiêu đề: Bản dịch tiếng Việt: Kỹ nghệ phần mềm. Cách tiếp cận của người thực hành
Nhà XB: NXB Giáo dục 1997
[4]. Vietnam Network Solutions Company. Giáo trình Giáo Trình Thiết Lập và Quản Trị Lotus Domino.b. Tiếng Anh Sách, tạp chí
Tiêu đề: Giáo trình Giáo Trình Thiết Lập và Quản Trị Lotus Domino
[5]. Addison Wesley - UML Distilled Second Edition A Brief Guide to the Standard Object Modeling Language. 1999 Sách, tạp chí
Tiêu đề: UML Distilled Second Edition A Brief Guide to the Standard Object Modeling Language
[6]. E. J. Chikofsky and J..H. Cross, “Reverse Engineering and Design Recovery: A Taxonomy”, IEEE Software, vol. 7, pp. 13 – 17, January 1990 Sách, tạp chí
Tiêu đề: Reverse Engineering and Design Recovery: A Taxonomy
[7]. McGraw Hill. Software Engineering A Practitioner's Approach-Pressman . 5th_Ed, 2001 Sách, tạp chí
Tiêu đề: Software Engineering A Practitioner's Approach-Pressman
[9]. Roger S. Pressman. Software engineering. A practitioner’s approach, McGraw-Hill, Inc. 2001.c. Internet Sách, tạp chí
Tiêu đề: Software engineering. A practitioner’s approach

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w