Phân tích và thiết kế một hệ thống quản lý nội dung (CMS)
Trang 1MỤC LỤC
CHƯƠNG 1 TỔNG QUAN 4
1.1 Tóm tắt tài liệu 4
1.2 Mục tiêu 4
1.2.1 Mục tiêu tổng quát 4
1.2.2 Mục tiêu cụ thể 5
1.3 Phạm vi 5
1.3.1 Phạm vi dự án 5
1.3.2 Phạm vi tài liệu 5
CHƯƠNG 2 TỔNG QUAN UML 6
2.1 Tổng quát về UML 6
2.1.2 Quá trình phát triển phần mềm thống nhất với UML 6
2.1.3 Giới thiệu tổng quát về UML 7
2.1.4 Các phần tử của UML 9
2.2 Các khái niệm cơ bản của phương pháp hướng đối tượng trong UML 13
2.2.1 Các đối tượng 13
2.2.2 Lớp đối tượng 14
2.2.3 Các giá trị và các thuộc tính của đối tượng 14
2.2.4 Các thao tác và phương thức 14
2.3 Các mối quan hệ giữa các lớp 15
2.3.1 Sự liên kết và kết hợp giữa các đối tượng 15
2.3.2 Bội số 15
2.3.3 Các vai trò trong quan hệ 15
2.3.4 Quan hệ kết nhập 16
2.3.5 Quan hệ tổng quát hoá 16
2.3.6 Kế thừa bội 17
2.3.7 Quan hệ phụ thuộc 17
2.3.8 Quan hệ hiện thực hoá 18
2.4 Các gói 18
2.5 Các qui tắc ràng buộc và suy diễn 19
2.6 Rational Rose và quá trình phát triển phần mềm thống nhất 19
CHƯƠNG 3 PHÂN TÍCH CHI TIẾT 21
Trang 23.1 Thông tin và chuẩn hóa thông tin 21
3.1.1 Phân loại thông tin 21
3.1.2 Thông tin danh mục 21
3.1.3 Thông tin trình diễn 21
3.2 Qui trình nghiệp vụ tổng quát 22
3.3 Qui trình nghiệp vụ chi tiết 23
3.3.1 Các qui định trong tài liệu 23
3.3.2 Qui trình biên tập và xuất bản thông tin, văn bản, tài liệu hh 25
3.4 Mô hình thực thể 28
3.4.1 Bảng danh sách các thực thể 28
3.4.2 Mô tả thực thể 28
3.5 Mô hình chức năng 30
3.5.1 Quản lý, tra cứu và trình diễn thông tin 30
3.5.2 Quản trị hệ thống 31
3.6 Chính sách bảo mật 32
3.7 Yêu cầu truyền dữ liệu 35
CHƯƠNG 4 THIẾT KẾ 36
4.1 Tổng quan về Cms 36
4.1.1 Khái niệm Cms 36
4.1.2 Các đặc điểm chính của Cms 36
4.2 Thiết kế kiến trúc hệ thống 37
4.2.1 Mô hình khái niệm 37
4.2.2 Kiến trúc của hệ thống 38
4.2.3 Công nghệ nền tảng 41
4.3 Thiết kế chức năng 43
4.3.1 Quản lý, tra cứu và trình diễn thông tin 45
4.3.2 Quản trị hệ thống 58
4.4 Thiết kế cơ sở dữ liệu 71
4.4.1 Mô hình truy cập và thao tác CSDL 71
4.4.2 Danh sách các bảng 73
4.4.3 Quản lý, tra cứu và trình diễn thông tin 75
4.4.4 Quản trị hệ thống 77
CHƯƠNG 5 MỘT SỐ MÀN HÌNH DEMO 81
5.1.1 Quản lý các chủ đề 81
5.1.2 Quản lý nội dung tin 82
5.1.3 Quản lý xuất bản tin 85
CHƯƠNG 6 KẾT LUẬN 87
6.1 HẠN CHẾ 87
Trang 3LỜI NÓI ĐẦU
Công nghệ nội dung và công nghiệp nội dung là những thuật ngữ mang màu sắc của thời đạithông tin Nó được coi là một trong những giải pháp quan trọng nhằm thúc đẩy sự phát triển bền vữngcủa các nền kinh tế
Sự thành công của mỗi doanh nghiệp giờ đây lại xoay quanh nội dung thông tin chứ không cònxoay quanh đồng vốn và nhân lực Doanh nghiệp nào có càng nhiều thông tin mang hàm lượng chấtxám lớn thì càng dễ thành công
Trước đây nội dung thông tin được truyền đạt dựa vào các công nghệ nội dung truyền thốngnhư: in ấn, phát thanh, truyền hình… Ngày nay công nghệ nội dung hiện đại đã áp dụng triệt để các kỹthuật số vào mọi công đoạn Tất cả các văn bản, âm thanh, hình ảnh,… đều được số hoá sau đó xử lýtrên máy tính và được đóng gói dữ liệu dưới dạng thành phẩm Việc áp dụng công nghệ nội dung vàosản xuất đại trà chính là xây dựng một nền công nghiệp nội dung
Nhằm rút ngắn thời gian sản xuất và/hoặc khoảng cách địa lý, những công đoạn trong côngnghệ nội dung thường được triển khai trên nhiều thiết bị, liên kết với nhau qua một mạng truyền dữ liệu,phổ biến nhất là Internet Rất hữu hiệu, Internet còn được dùng như một kênh tiếp thị, phân phối và cậpnhật sản phẩm Đơn giản vì Internet vừa nhanh, vừa rẻ lại vừa có thể nối với khách hàng trên toàn thếgiới
Như vậy Internet mang trong mình một lượng thông tin khổng lồ - Cả thế giới đang nằm trênInternet Để có thể tham gia vào Internet ta cần có một phần mềm ứng dụng Web, nói cách khác chính làmột phần mềm quản lý nội dung
Trong đề tài thực tập này em sẽ trình bày về phân tích và thiết kế một hệ thống quản lý nội dung(CMS) Đây là bước đầu tiên và cũng là bước rất quan trọng trong toàn bộ quá trình xây dựng một hệthống quản lý nội dung hoàn chỉnh
Em xin chân thành cảm ơn cô Tống Thị Minh Ngọc đã tận tình giúp đỡ em hoàn thành đề tàinày Do thời gian va trình độ còn có hạn, nên hệ thống còn nhiều thiếu sót, em sẽ cố gắng hoàn thiện,mong nhận được sự giúp đỡ và chỉ bảo của cac thầy cô giáo và các bạn.,
Em xin chân thành cảm ơn!
Trang 4Sinh viên : Nguyễn Hoàng Việt
Tài liệu này tập trung chủ yếu vào hai nội dung chính: Phân tích chi tiết và Thiết kế của hệ
thống CMS
Phần phân tích chi tiết
Phân tích hệ thống mới qua các mô tả:
Mô hình nghiệp vụ: Tổng quan về nghiệp vụ của một hệ thống quản trị nội dung
Mô hình hệ thống thông tin: phân tích mô hình các thành phần thông tin, mô hình quan hệ
với các hệ thống chuyên ngành và mô hình các phân rã chức năng mà hệ thống cung cấp
Chính sách bảo mật: phân tích các yêu cầu bảo mật dữ liệu và chương trình
Yêu cầu truyền dữ liệu: phân tích các yêu cầu truyền thông.
Phần thiết kế
Phần thiết kế mô tả thiết kế của hệ thống mới, bao gồm các phần sau:
Thiết kế kiến trúc hệ thống: mô tả kiến trúc hệ thống mới bao gồm mô hình xử lý, truyền
tin, yêu cầu cấu hình tối thiểu
Thiết kế chức năng: mô hình phân rã chức năng, thiết kế chi tiết tới từng chức năng (thiết
kế, mô tả theo use cases)
Thiết kế cơ sở dữ liệu: thiết kế CSDL các tham số kỹ thuật, thiết kế các bảng CSDL, mô
hình dữ liệu chi tiết
Thiết kế bảo mật: bảo mật dữ liệu, bảo mật chương trình.
Thiết kế sao lưu phục hồi: giải pháp sao lưu phục hồi.
Chuyển đổi dữ liệu: thiết kế chuyển đổi dữ liệu.
Trao đổi dữ liệu: thiết kế trao đổi dữ liệu.
Trang 5Mục tiêu
1.1 Mục tiêu tổng quát
Xây dựng Hệ thống quản trị nội dung với các mục đích cung cap một hệ thống xuất bản thông tintiện dụng, đầy đủ các chức năng cần thiết cho ngưới sử dụng, đơn vị sủ dụng, với nhiiều mụcđích khác nhau
1.2 Mục tiêu cụ thể
CMS đóng vai trò như là một bản tin điện tử, một địa điểm qui tụ các thành tố thông tintrong hệ thống thông tin tại cơ quan , đơn vị , doanh nghiệp Là bộ mặt, là tuyên ngôn củahọ
Cung cấp một cơ chế xuất bản thông tin tiện dụng, đầy đủ chức năng dễ sử dụng, dễ càiđặt với thời gian phát triển nhanh nhất
Cung cấp được cơ chế xuất bản thông tin để phục vụ cho việc biên tập và phổ biến thôngtin dạng văn bản, qua đó phục vụ cho công tác phổ biến các thông tin pháp luật, chủtrương, chính sách, tra cứu, hướng dẫn, qui định, v.v
Cung cấp được các công cụ tiện ích (thư điện tử, diễn đàn trao đổi, v.v) để phục vụ nhucầu trao đổi thông tin
Cung cấp cơ chế tích hợp để liên kết trang thông tin điện tử này liên kết với các trangthông tin điện tử của Chính phủ, của các Bộ, Tỉnh khác
Làm đề tài mẫu cho các bạn sinh viên khóa sau tham khảo và học hỏi
Cá nhân…
1.4 Phạm vi tài liệu
Trang 6 Đáp ứng tốt các yêu cầu thực tế và cơ bản nhất của một trang bóa điện tử.
Tuân thủ đầy đủ các quy đinh về viết báo cáo thực tập Bộ Môn CNTT
Trang 7CHƯƠNG 2 TỔNG QUAN UML
Tận dụng được những khả năng sử dụng lại và kế thừa ở phạm vi diện rộng để xây dựng đượcnhững hệ thống phức tạp và nhạy cảm như: các hệ thống động, hệ thống thời gian thực, hệthống nhúng thời gian thực, v.v
Tạo ra những ngôn ngữ mô hình hoá sử dụng được cho cả người lẫn máy tính
Tóm lại, UML là ngôn ngữ mô hình hoá, ngôn ngữ đặc tả và ngôn ngữ xây dựng mô hình trong quá trình phát triển phần mềm, đặc biệt là trong phân tích và thiết kế hệ thống hướng đối tượng UML là ngôn ngữ
hình thức, thống nhất và chuẩn hoá mô hình hệ thống một cách trực quan Nghĩa là các thành phầntrong mô hình được thể hiện bởi các ký hiệu đồ hoạ, biểu đồ và thể hiện đầy đủ mối quan hệ giữa cácchúng một cách thống nhất và có logic chặt chẽ
2.2 Quá trình phát triển phần mềm thống nhất với UML
UML được phát triển để đặc tả quá trình phát triển phần mềm, nhằm mô hình hoá hệ thống
Quá trình phát triển phần mềm này gọi là quá trình phát triển phần mềm hợp nhất (USPD) hay quá trình hợp nhất Rational (RUP [17, 21]), gọi tắt là quá trình hợp nhất (UP)
RUP là tập các qui tắc hướng dẫn về phương diện kỹ thuật và tổ chức để phát triển phần mềm, nhấnmạnh chủ yếu vào các bước phân tích và thiết kế
RUP được cấu trúc theo hai chiều:
1 Chiều thời gian: chia quá trình thành các pha thực hiện và các bước lặp.
Chiều thành phần: các sản phẩm cùng với các hoạt động được xác định đầy đủ
1 Cấu trúc dự án theo chiều thời gian bao gồm các pha thực hiện:
(i) Khởi động (Inception): xác định dự án tổng thể
Trang 8+ Lập kế hoặch cho những hoạt động cần thiết
+ Xác định những tài nguyên cần để thực hiện dự án
+ Xác định các tính chất, đặc trưng của dự án
+ Xây dựng kiến trúc cho hệ thống
(iii) Xác định những sản phẩm ở mỗi pha thực hiện.
(iv) Chuyển giao: cung cấp sản phẩm cho cộng đồng người sử dụng.
2 Cấu trúc dự án theo chiều thành phần bao gồm các hoạt động:
Mô hình hoá nghiệp vụ: thiết lập các khả năng của hệ thống cần xây dựng và nhu cầu của
NSD
Phân tích các yêu cầu: chi tiết các yêu cầu chức năng và phi chức năng của hệ thống
Phân tích thiết kế hệ thống: mô tả hệ thống thực hiện các yêu cầu và hỗ trợ cài đặt
Cài đặt chương trình: lập trình những kết quả thiết kế nêu trên để hệ thống hoạt động đúng
theu yêu cầu
Kiểm thử, kiểm chứng các thành phần và toàn bộ hệ thống.
Triển khai hệ thống: khai thác hệ thống và huấn luyện NSD
2.3 Giới thiệu tổng quát về UML
UML được xây dựng dựa chính vào:
Cách tiếp cận của Booch (Booch Approach),
Kỹ thuật mô hình đối tượng (OMT – Object Modeling Technique) của Rumbaugh,
Công nghệ phần mềm hướng đối tượng (OOSE – Object-Oriented Software Engineering)
của Jacobson,
Đồng thời thống nhất được nhiều ký pháp, khái niệm của các phương pháp khác Quá trình
hình thành UML bắt đầu từ ngôn ngữ Ada (Booch) trước năm 1990 (hình 2-1)
Trang 911/ 1997 được chấp nhận
Hình 2-1 Sự phát triển của UML
Ada / Booch
Booch 91 OOSE
Jacobson
OMT Rumbaugh
OOSE 94
Booch 93
UML 0.9 Amigos
UML 1.0
UML 1.1
OMT 94
UML 0.9 Booch /Rumbaugh
1990
1995
1997
Trang 10sử dụng, quan sát logic, quan sát thành phần, quan sát tương tranh và quan sát triển khai Mỗi quan sát
tập trung khảo sát và mô tả một khía cạnh của hệ thống (hình 2-3) và thường được thể hiện trong một sốbiểu đồ nhất định
Hình 2-3 Các quan sát của hệ thống
Gói
Mô hình
Hệ thống con Khung công việc
Ca sử dụng Logic Thành phần
Sự tương tranh Triển khai
Hành vi Cấu trúc Gộp nhóm Phụ thuộc
Kết hợp Kết nhập Tổng quát hoá (kế thừa)
Chú dẫn Ca sử dụng
Lớp Đối tượng Trình tự Cộng tác Trạng thái Hoạt động Thành phần Triển khai
Quan sát thành phần
Quan sát triển khai
Quan sát tương tranh
Quan sát logic Quan sát
ca sử dụng
Trang 11 Quan sát các ca sử dụng (hay trường hợp sử dụng): mô tả các chức năng, nhiệm vụ của hệ
thống Quan sát này thể hiện mọi yêu cầu của hệ thống, do vậy nó phải được xác định ngay từđầu và nó được sử dụng để điều khiển, thúc đẩy và thẩm định hay kiểm tra các công việc củatất cả các giai đoạn của cả quá trình phát triển phần mềm Nó cũng là cơ sở để trao đổi giữacác thành viên của dự án phần mềm và với khách hàng Quan sát ca sử dụng được thể hiện
trong các biểu đồ ca sử và có thể ở một vài biểu đồ trình tự, cộng tác, v.v.
Quan sát logic biểu diễn cách tổ chức logic của các lớp và các quan hệ của chúng với nhau.
Nó mô tả cấu trúc tĩnh của các lớp, đối tượng và sự liên hệ của chúng thể hiện mối liên kết
động thông qua sự trao đổi các thông điệp Quan sát được thể hiện trong các biểu đồ lớp, biểu
đồ đối tượng, biểu đồ tương tác, biểu đồ biến đổi trạng thái Quan sát logic tập trung vào cấu
trúc của hệ thống Trong quan sát này ta nhận ra các bộ phận cơ bản cấu thành hệ thống thểhiện mọi quá trình trao đổi, xử lý thông tin cơ bản trong hệ thống
Quan sát thành phần (quan sát cài đặt) xác định các mô đun vật lý hay tệp mã chương trình và
sự liên hệ giữa chúng để tổ chức thành hệ thống phần mềm Trong quan sát này ta cần bổsung: chiến lược cấp phát tài nguyên cho từng thành phần, và thông tin quản lý như báo cáo
tiến độ thực hiện công việc, v.v Quan sát thành phần được thể hiện trong các biểu đồ thành
phần và các gói
Quan sát tương tranh (quan sát tiến trình) biểu diễn sự phân chia các luồng thực hiện công
việc, các lớp đối tượng cho các tiến trình và sự đồng bộ giữa các luồng trong hệ thống Quan
sát này tập trung vào các nhiệm vụ tương tranh, tương tác với nhau trong hệ thống đa nhiệm
Quan sát triển khai mô tả sự phân bổ tài nguyên và nhiệm vụ trong hệ thống Nó liên quan đến
các tầng kiến trúc của phần mềm, thường là kiến trúc ba tầng: tầng giao diện (tầng trình diễnhay tầng sử dụng), tầng logic tác nghiệp và tầng lưu trữ CSDL được tổ chức trên một haynhiều máy tính khác nhau Quan sát triển khai bao gồm các luồng công việc, bộ xử lý và các
thiết bị Biểu đồ triển khai mô tả các tiến trình và chỉ ra những tiến trình nào trên máy nào
Các sự vật (các phần tử của mô hình)
UML có bốn phần tử mô hình, đó là cấu trúc, hành vi, nhóm và chú thích
Phần tử cấu trúc: là các danh từ trong mô hình UML, biểu diễn cho các thành phần khái niệm
hay vật lý của hệ thống UML có bảy phần tử cấu trúc được mô tả như sau:
+ Lớp Lớp là tập các đối tượng cùng chia sẻ với nhau về các thuộc tính, thao tác, quan hệ và
ngữ nghĩa
+ Giao diện Giao diện là tập các thao tác làm dịch vụ cho lớp hay thành phần Giao diện mô
tả hành vi quan sát được từ bên ngoài thành phần Giao diện chỉ khai báo các phương thức xử
lý nhưng không định nghĩa nội dung thực hiện Nó thường không đứng một mình mà thườngđược gắn với lớp hay một thành phần
Trang 12+ Phần tử cộng tác Phần tử cộng tác mô tả ngữ cảnh của sự tương tác trong hệ thống Nó
thể hiện một giải pháp thi hành trong hệ thống, bao gồm các lớp, quan hệ và sự tương tác giưachúng để thực hiện một ca sử dụng như mong đợi
+ Nút Nút thể hiện thành phần vật lý tồn tại khi chương trình chạy và biểu diễn cho các tài
nguyên được sử dụng trong hệ thống
Phần tử mô tả hành vi: là các động từ của mô hình, biểu diễn hành vi trong sự tương tác của
các thành phần và sự biến đổi trạng thái của hệ thống Có hai loại chính là sự tương tác vàmáy biến đổi trạng thái
+ Sự tương tác Sự tương tác là hành vi bao gồm một tập các thông điệp trao đổi giữa các đối
tượng trong một ngữ cảnh cụ thể để thực hiện một ca sử dụng
+ Máy biến đổi trạng thái Máy biến đổi trạng thái (ôtômát hữu hạn trạng thái) chỉ ra trật tự
thay đổi trạng trái khi các đối tượng hay sự tương tác sẽ phải đi qua để đáp ứng các sự kiệnxảy ra
Phần tử nhóm: là bộ phận tổ chức của mô hình UML Phần tử nhóm có gói, mô hình và khung
công việc
+ Gói (package) Gói là phần tử đa năng được sử dụng để tổ chức các lớp, hay một số nhóm
khác vào trong một nhóm Không giống với thành phần (component), phần tử gói hoàn toàn là
khái niệm, có nghĩa là chúng chỉ tồn tại trong mô hình vào thời điểm phát triển hệ thống chứkhông tồn tại vào thời điểm chạy chương trình Gói giúp ta quan sát hệ thống ở mức tổng quát
+ Mô hình Mô hình là những mô tả về các đặc tính tĩnh và/hoặc động của các chủ thể trong hệ
thống
+ Khung công việc Khung công việc là một tập các lớp trừu tượng hay cụ thể được sử dụng
như là các khuôn mẫu để giải quyết một họ các vấn đề tương tự
Chú thích: là bộ phận chú giải của mô hình, giải thích về các phần tử, khái niệm và cách sử
dụng chúng trong mô hình
Các mối quan hệ
Trang 13UML cho phép biểu diễn cả bốn mối quan hệ giữa các đối tượng trong các hệ thống Đó là các quan hệ:phụ thuộc, kết hợp, tổng quát hoá và hiện thực hoá
+ Quan hệ phụ thuộc Đây là quan hệ ngữ nghĩa giữa hai phần tử, trong đó sựu thay đổi của
một tử sẽ tác động đến ngữ nghĩa của phần tử phụ thuộc
+ Quan hệ kết hợp Kết hợp là quan hệ cấu trúc xác định mối liên kết giữa các lớp đối tượng.
Khi có một đối tượng của lớp này gửi/nhận thông điệp đến/từ chỗ đối tượng của lớp kia thì hai
lớp đó có quan hệ kết hợp Một dạng đặc biệt của quan hệ kết hợp là quan hệ kết nhập, biểu
diễn mối quan hệ giữa toàn thể và bộ phận
+ Quan hệ tổng quát hoá Đây là quan hệ mô tả sự khái quát hoá mà trong đó một số đối
tượng cụ thể (của lớp con) sẽ được kế thừa các thuộc tính, các phương thức của các đốitượng tổng quát (lớp cơ sở)
+ Hiện thực hoá Hiện thực hoá là quan hệ ngữ nghĩa giữa giao diện và lớp (hay thành phần)
để thực hiện cài đặt các dịch vụ đã được khai báo trong các giao diện
Các biểu đồ
Biểu đồ là đồ thị biểu diễn đồ họa về tập các phần tử trong mô hình và mối quan hệ của chúng Biểu đồ
chứa đựng các nội dung của các quan sát dưới các góc độ khác nhau, một thành phần của hệ thống cóthể xuất hiện trong một hay nhiều biểu đồ UML cung cấp những biểu đồ trực quan để biểu diễn các khíacạnh khác nhau của hệ thống, bao gồm:
Biểu đồ ca sử dụng mô tả sự tương tác giữa các tác nhân ngoài và hệ thống thông qua các ca
sử dụng Các ca sử dụng là những nhiệm vụ chính, các dịch vụ, những trường hợp sử dụng cụthể mà hệ thống cung cấp cho người sử dụng và ngược lại
Biểu đồ lớp mô tả cấu trúc tĩnh, mô tả mô hình khái niệm bao gồm các lớp đối tượng và các
mối quan hệ của chúng trong hệ thống hướng đối tượng
Biểu đồ trình tự thể hiện sự tương tác của các đối tượng với nhau, chủ yếu là trình tự gửi và
nhận thông điệp để thực thi các yêu cầu, các công việc theo thời gian.
Biểu đồ cộng tác tương tự như biểu đồ trình tự nhưng nhấn mạnh vào sự tương tác của các
đối tượng trên cơ sở cộng tác với nhau bằng cách trao đổi các thông điệp để thực hiện các yêu
cầu theo ngữ cảnh công việc.
Biểu đồ trạng thái thể hiện chu kỳ hoạt động của các đối tượng, của các hệ thống con và của
cả hệ thống Nó là một loại ôtômát hữu hạn trạng thái, mô tả các trạng thái, các hành động màđối tượng có thể có và các sự kiện gắn với các trạng thái theo thời gian
Biểu đồ hành động chỉ ra dòng hoạt động của hệ thống, bao gồm các trạng thái hoạt động,
trong đó từ một trạng thái hoạt động sẽ chuyển sang trạng thái khác sau khi một hoạt động
Trang 14tương ứng được thực hiện Nó chỉ ra trình tự các bước, tiến trình thực hiện cũng như các điểmquyết định và sự rẽ nhánh theo luồng sự kiện.
Biểu đồ thành phần chỉ ra cấu trúc vật lý của các thành phần trong hệ thống, bao gồm: các
thành phần mã nguồn, mã nhị phân, thư viện và các thành phần thực thi
Biểu đồ triển khai chỉ ra cách bố trí vật lý các thành phần theo kiến trúc được thiết kế của hệ
hệ thống theo cách tiếp cận hướng đối tượng, do vậy trước hết phải nắm bắt được những khái niệm cơ
sở như: đối tượng, lớp, và các mối quan hệ giữa các lớp đối tượng Những khái niệm này cũng là cácphần tử cơ bản của ngôn ngữ mô hình hóa thống nhất UML
Trang 15Hình 2-4 Những khái niệm cơ bản của phương pháp hướng đối tượng
3.2 Lớp đối tượng
Đối tượng là thể hiện, là một đại biểu của một lớp Lớp là một mô tả về một nhóm các đối tượng có
những tính chất (thuộc tính) giống nhau, có chung các hành vi ứng xử (thao tác gần như nhau), có cùng mối liên quan với các đối tượng của các lớp khác và có chung ngữ nghĩa trong hệ thống
3.3 Các giá trị và các thuộc tính của đối tượng
Giá trị (value) là một phần của dữ liệu Các giá trị thường là các số hoặc là các ký tự Thuộc tính của đối tượng là thuộc tính của lớp được mô tả bởi giá trị của mỗi đối tượng trong lớp đó
3.4 Các thao tác và phương thức
Thao tác là một hàm hay thủ tục có thể áp dụng (gọi hàm) cho hoặc bởi các đối tượng trong một lớp Khi
nói tới một thao tác là ngầm định nói tới một đối tượng đích để thực hiện thao tác đó Một phương thức
là một cách thức cài đặt của một thao tác trong một lớp [14]
Một số thao tác có thể là đa xạ, được nạp chồng, nghĩa là nó có thể áp dụng cho nhiều lớp khác nhau
với những nội dung thực hiện có thể khác nhau, nhưng cùng tên gọi
Hàm
Thông điệp
Đa xạ
Trang 16Tương tự như các dữ liệu thành phần, các phương thức cũng được quản lý truy cập và được ký hiệunhư trên.
Hệ thống hướng đối tượng là tập các đối tượng tương tác với nhau để thực hiện công việc theo yêu cầu
Quan hệ là kết nối ngữ nghĩa giữa các lớp đối tượng, trong đó thể hiện mối liên quan về các thuộc tính, các thao tác của chúng với nhau trong hệ thống Các quan hệ này được thể hiện chính trong biểu đồ
lớp Giữa các lớp có năm quan hệ cơ bản:
4.1 Sự liên kết và kết hợp giữa các đối tượng
Một liên kết là một sự kết nối vật lý hoặc logic giữa các đối tượng với nhau Phần lớn các liên kết là sự
kết nối giữa hai đối tượng với nhau Tuy nhiên cũng có những liên kết giữa ba hoặc nhiều hơn ba đốitượng Nhưng các ngôn ngữ lập trình hiện nay hầu như chỉ cài đặt những liên kết (phép toán) nhiều nhất
là ba ngôi
Một sự kết hợp là một mô tả về một nhóm các liên kết có chung cấu trúc và ngữ nghĩa như nhau Vậy, liên kết
là một thể hiện của lớp Liên kết và kết hợp thường xuất hiện ở dạng các động từ trong các tài liệu mô tả bài
toán ứng dụng
Quan hệ kết hợp thường là quan hệ hai chiều: một đối tượng kết hợp với một số đối tượng của lớp khác
và ngược lại Để xác định số các đối tượng có thể tham gia vào mỗi đầu của mối quan hệ ta có thể sử
dụng khái niệm bội số Bội số xác định số lượng các thể hiện (đối tượng) của một lớp trong quan hệ kết hợp với lớp khác Cũng cần phân biệt bội số (hay bản số) với lực lượng Bội số là ràng buộc về kích cỡ của một tuyển tập, còn lực lượng là đếm số phần tử của tuyển tập đó Do đó, bội số là sự ràng buộc về
lực lượng của các phần tử trong một lớp tham gia vào quan hệ xác định trước.
4.3 Các vai trò trong quan hệ
Vai trò là tên gọi một nhiệm vụ thường là một danh từ, được gán cho một đầu của quan hệ kết hợp
Trang 174.4 Quan hệ kết nhập
Kết nhập là một loại của quan hệ kết hợp, tập trung thể hiện quan hệ giữa tổng thể và bộ phận Kết nhập
thường biểu diễn cho quan hệ “có một”, “là bộ phận của” , hoặc “bao gồm”, v.v thể hiện mối quan hệ
một lớp tổng thể có, gồm, chứa hay liên kết với một hoặc nhiều lớp thành phần Người ta chia quan hệkết nhập thành ba loại:
Kết nhập thông thường
Kết nhập chia sẻ và
Kết nhập hợp thành hay quan hệ hợp thành
1 Kết nhập thông thường
Quan hệ kết nhập thông thường, gọi tắt là kết nhập thể hiện mối liên kết giữa hai lớp, trong đó đối tượng
của lớp này bao gồm một số đối tượng của lớp kia, song không tồn tại trong nội tại của lớp đó
2 Kết nhập chia sẻ
Quan hệ kết nhập chia sẻ là loại kết nhập, trong đó phía bộ phận có thể tham gia vào nhiều phía tổng thể
3 Kết nhập hợp thành
Quan hệ chỉ ra một vật có chứa một số bộ phận và các bộ phận đó tồn tại vật lý bên trong vật tổng thể.
Do vậy khi thực hiện huỷ bỏ, hay thiết lập mới bên tổng thể thì các bộ phận bên thành phần cũng sẽ bị
uỷ bỏ hoặc phải được bổ sung
4.5 Quan hệ tổng quát hoá
Tổng quát hoá và chuyên biệt hoá là hai cách nhìn dưới/lên và trên/xuống về sự phân cấp các lớp, mô tả khả
năng quản lý cấp độ phức tạp của hệ thống bằng cách trừu tượng hoá các lớp
Tổng quát hoá là đi từ các lớp dưới lên sau đó hình thành lớp tổng quát (lớp trên, lớp cha), tức là cây
cấu trúc các lớp từ lá đến gốc
Chuyên biệt hoá là quá trình ngược lại của tổng quát hoá, nó cho phép tạo ra các lớp dưới (lớp con)
khác nhau của lớp cha
Trong UML, tổng quát hoá chính là quan hệ kế thừa giữa hai lớp Nó cho phép lớp con (lớp dưới, lớp kếthừa, hay lớp dẫn xuất) kế thừa trực tiếp các thuộc tính và các hàm thuộc loại công khai, hay được bảo
vệ (protected) của lớp cha (lớp cơ sở, lớp trên) Trong quan hệ tổng quát hoá có hai loại lớp: lớp cụ thể
và lớp trừu tượng.
Lớp cụ thể là lớp có các đại diện, các thể hiện cụ thể Ngược lại, lớp trừu tượng là lớp không có thể hiện
(đối tượng) cụ thể trong hệ thống thực Các lớp con cháu của lớp trừu tượng có thể là lớp trừu tượng,tuy nhiên trong cấu trúc phân cấp theo quan hệ tổng quát hoá thì mọi nhánh phải kết thúc bằng các lớp
Trang 18những hàm chưa được cài đặt nội dung thực hiện trong lớp chúng được khai báo Những hàm trừu tượngnày sẽ được cài đặt trong các lớp con cháu sau đó ở những lớp cụ thể.
4.6 Kế thừa bội
Kế thừa bội cho phép một lớp được kế thừa các thuộc tính, các thao tác và các quan hệ kết hợp từ
nhiều lớp cơ sở Trong quan hệ kế thừa bội có thể dẫn đến sự pha trộn thông tin từ nhiều nguồn dữ liệu
khác nhau từ các lớp được kế thừa Quan hệ kế thừa đơn, một lớp được kế thừa từ một lớp cơ sở, thường tạo ra cấu trúc cây, còn kế thừa bội lại tổ chức các lớp thành đồ thị định hướng phi chu trình Kế
thừa bội là cơ chế mạnh trong mô hình hệ thống, nhưng đồng thời cũng sẽ tạo ra nhiều sự phức tạp vềtính nhập nhằng, không nhất quán dữ liệu
Kế thừa bội từ những lớp phân biệt
Một lớp có thể kế thừa từ nhiều lớp cơ sở khác nhau
Kế thừa bội không có lớp cơ sở chung
Kế thừa bội như trên là kế thừa có lớp cơ sở chung (lớp Nguoi) Chúng ta có thể tạo ra lớp kế thừa bội
từ nhiều lớp mà chúng lại không có lớp cơ sở chung Loại kế thừa này thường xuất hiện khi ta muốn phatrộn một số chức năng của các lớp thư viện khác nhau
4.7 Quan hệ phụ thuộc
Sự phụ thuộc là một loại quan hệ liên kết giữa hai phần tử trong mô hình, trong đó thể hiện sự thay đổi trong
một phần tử sẽ kéo theo sự thay đổi của phần tử kia Quan hệ kết hợp thường là quan hệ hai chiều, nhưngquan hệ phụ thuộc lại thường là quan hệ một chiều, thể hiện một lớp phụ thuộc vào lớp khác Lớp A phụ thuộcvào lớp B khi:
Lớp A sử dụng một đối tượng của lớp B như là tham số trong các thao tác (lời gọi hàm),
Trong các thao tác của lớp A có truy nhập tới các đối tượng của lớp B,
Khi thực hiện một thao tác nào đó trong lớp A lại phải tham chiếu tới miền xác định của lớp B
Lớp A sử dụng các giao diện của lớp B.
Tương tự, hai gói có thể phụ thuộc vào nhau khi có một lớp ở một gói phụ thuộc vào lớp của gói kia.
Trong UML, quan hệ phụ thuộc được thể hiện bằng mũi tên đứt nét Ví dụ, hình 2-18 mô tả quan hệ phụthuộc giữa hai lớp và phụ thuộc của hai gói
Hình 2-18 Quan hệ phụ thuộc giữa các lớp và các gói
Trang 194.8 Quan hệ hiện thực hoá
Quan hệ hiện thực hoá thể hiện sự kết nối giữa các lớp và giao diện Quan hệ này thường được sử
dụng với các giao diện và những lớp làm nhiệm vụ cài đặt các dịch vụ (phương thức) đã được khai báotrong các giao diện Quan hệ hiện thực hoá được ký hiệu là mũi tên đứt nét như hình 2-19
Hình 2-19 Quan hệ hiện thực hoá
Để hiểu được những hệ thống lớn, phức tạp có nhiều lớp đối tượng, thường chúng ta phải có cách chia
các lớp đó thành một số nhóm được gọi là gói Gói là một nhóm các phần tử của mô hình gồm các lớp,
các mối quan hệ và các gói nhỏ hơn Cách tổ chức hệ thống thành các gói (hệ thống con) chính là cách
phân hoạch mô hình thành các đơn vị nhỏ hơn để trị dễ hiểu và dễ quản lý hơn Gói được mô tả trong
UML gồm tên của gói, có thể có các lớp, gói nhỏ khác và được ký hiệu như hình 2-20
Hình 2-20 Gói các lớp trong UMLKhi phân chia các lớp thành các gói, chúng ta có thể dựa vào: các lớp chính (lớp thống trị), các mối quan
hệ chính, các chức năng chính Theo cách phân chia đó chúng ta có thể chia hệ thống thành các phân
hệ phù hợp với cách phân chia trong hệ thống thực Ví dụ, hệ thống quản lý thư viện có thể tổ chức
thành bốn gói: gói giao diện, gói nghiệp vụ, gói CSDL và gói tiện ích như hình 2-21 Trong đó,
Gói giao diện (UI – User Interface): bao gồm các lớp giao diện với người dùng, cho các khả
năng quan sát và truy nhập vào dữ liệu Các đối tượng trong gói này có thể thực hiện cácthao tác trên các đối tượng tác nghiệp để truy vấn hay nhập dữ liệu
Trang 20 Gói CSDL: chứa các lớp dịch vị cho các lớp ở gói tác nghiệp trong việc tổ chức, quản lý và
lưu trữ dữ liệu
Gói tiện ích: chứa các lớp dịch vụ cho các gói khác của hệ thống.
Các gói của một hệ thống thường có mối quan hệ với nhau, như quan hệ phụ thuộc
Hình 2-21 Tổ chức các gói của hệ thống thư viện
Trong mô hình hoá hệ thống với UML, ta có thể sử dụng ngôn ngữ ràng buộc đối tượng OCL [10] để
đặc tả chính xác các phần tử của hệ thống và các ràng buộc chặt chẽ giữa các mối quan hệ, giới hạnphạm vi của mô hình hệ thống cho phù hợp với điều kiện ràng buộc thực tế
Trong UML có hai qui tắc chính:
1 Qui tắc ràng buộc được sử dụng để giới hạn phạm vi của mô hình, ví dụ các qui tắc hạn
chế, qui định rõ phạm trù của các mối quan hệ như kết hợp, kế thừa hay khả năng nạpchồng trong các lớp
2 Qui tắc suy dẫn chỉ ra cách các sự vật có thể suy dần được từ một số các thuộc tính khác,
ví dụ tuổi của một người có thể suy ra được từ ngày / tháng / năm hiện thời trừ đi ngày /
tháng / năm sinh.
nhất
Rational Rose [17] là phần mềm công cụ mạnh hỗ trợ cho quá trình phân tích, thiết kế hệ thống hướng
đối tượng Nó giúp cho việc mô hình hoá hệ thống trước khi viết chương trình, đồng thời có khả năngkiểm tra đảm bảo tính đúng đắn, hợp lý của kiến trúc hệ thống từ khi khởi đầu dự án
Rose hỗ trợ để xây dựng các biểu đồ UML mô hình hoá các lớp, các thành phần và mối quan
Gói UI
Gói nghiệp vụ
Gói CSDL
Gói tiện ích
Trang 21 Nó cho phép mô tả chi tiết hệ thống bao gồm những cái gì, trao đổi tương tác với nhau và hoạtđộng như thế nào để người phát triển hệ thống có thể sử dụng mô hình như kế hoạch chi tiếtcho việc xây dựng hệ thống.
Rose còn hỗ trợ rất tốt trong giao tiếp với khách hàng và làm hồ sơ, tài liệu cho từng phần tửtrong mô hình
Rose hỗ trợ cho việc kiểm tra tính đúng đắn của mô hình, thực hiện việc chuyển bản thiết kế chi tiếtsang mã chương trình trong một ngôn ngữ lập trình lựa chọn và ngược lại, mã chương trình có thểchuyển trở lại yêu cầu hệ thống Rose hỗ trợ phát sinh mã khung chương trình trong nhiều ngôn ngữ lậptrình khác nhau như: C++, Java, Visual Basic, Oracle 8, v.v
Ngoài ra Rose hỗ trợ cho các nhà phân tích, thiết kế và phát triển phần mềm:
Tổ chức mô hình hệ thống thành một hay nhiều tệp, được gọi là đơn vị điều khiển được Chophép phát triển song song các đơn thể điều khiển được của mô hình,
Hỗ trợ mô hình dịch vụ nhiều tầng (ba tầng) và mô hình phân tán, cơ chế khách/chủ
Sử dụng các bộ tích hợp mô hình (Model Integator) để so sánh và kết hợp các mô hình, các
đơn vị điều khiển được với nhau
Bản thân UML không định nghĩa quá trình phát triển phần mềm, nhưng UML và Rose hỗ trợ rấthiệu quả trong cả quá trình xây dựng phần mềm
Trang 22CHƯƠNG 3 PHÂN TÍCH CHI TIẾT
Thông tin và chuẩn hóa thông tin
7.1 Phân loại thông tin
Thông tin cần thiết trong hệ thống được phân làm 2 loại: thông tin danh mục và thông tin trìnhdiễn trên CMS
Thông tin danh mục: Là các thông tin chung phục vụ cho công tác quản lý khai thác CMS.
Loại thông tin này chủ yếu dành cho bộ phận quản trị hệ thống để kiểm soát việc truy nhập,phân quyền, cung cấp và phân loại tin cũng như quản trị hiện thị thông tin trên trang web.Các thông tin này cần phải được chuẩn hoá
Thông tin trình diễn trên CMS: Đây là những nội dung thông tin cần thiết được tổng hợp,
xuất bản, tích hợp và trình diễn trên CMS Thông tin trình diễn là nguồn cung cấp chủ yếucho trang thông tin điện tử Mọi cán bộ, chuyên viên của Bộ cũng như của các đơn vị trựcthuộc có thể xem và tìm hiểu các thông tin tuỳ theo vị trí công tác của từng đối tượng Cácloại thông tin được trình bày trong tài liệu này chỉ là những nội dung thông tin điển hình cầnthiết phải có
7.2 Thông tin danh mục
Thông tin danh mục bao gồm:
Danh mục quyền người sử dụng
Danh mục các lĩnh vực trao đổi, thảo luận
Danh sách các chuyên mục thông tin
Danh mục cấp thông tin của chuyên mục
7.3 Thông tin trình diễn
Đây là các nội dung thông tin cần xuất hiện trên CMS Các nội dung thông tin này có thể phânthành các loại sau:
Thông tin chung (tin tức, sự kiện, thông báo,…)
Thông tin tra cứu
Thông tin tổng hợp từ các hệ thống thông tin khác
Các trang Web liên kết
Trang 23Nội dung cụ thể của mỗi phân loại thông tin trên được mô tả dưới đây Tuy nhiên cũng có thểthấy rằng sự phân loại chỉ là tương đối vì cùng một nội dung thông tin có thể nằm trong những phân loạikhác nhau.
Qui trình nghiệp vụ tổng quát
Mô hình sau là giải pháp mô hình một cửa truy cập tới mọi nguồn thông tin khác nhau trên cơ sởtích hợp thông tin từ các ứng dụng tác nghiệp phục vụ quản lý điều hành Thông tin cũng được phân loạitrước khi hiển thị trên màn hình giao tiếp với người sử dụng
THÔNG TIN THÔNG TIN THÔNG TIN THÔNG TIN
Mô hình nghiệp vụ tổng quát
THÔNG TIN
Đối tượng sử dụng: bao gồm mọi đối tượng có nhu cầu (với điều kiện được cấp quyền truy cập
phù hợp với vai trò, chức năng khai thác thông tin cụ thể của họ) khai thác thông tin trên CMS
Thông tin đầu vào: Các yêu cầu thông tin (câu hỏi đối với thông tin) của người sử dụng.
Thông tin đầu ra: Thông tin trả lời, thông tin tra cứu trên cơ sở các yêu cầu thông tin của người
dùng Các thông tin tra cứu được sắp xếp, phân loại theo các chủ đề thông tin khác nhau đểphục vụ yêu cầu khai thác thông tin đa dạng của người dùng Các loại thông tin được phânthành 5 loại chính: thông tin dạng tin tức chung, thông tin báo cáo tổng hợp, thông tin điều hànhtác nghiệp, thông tin tra cứu và thông tin trao đổi cộng tác
Qui trình xử lý:
Người dùng tạo và gửi các yêu cầu khai thác thông tin (thông tin chung, thông tin điềuhành tác nghiệp) thông qua trình duyệt Web tới CMS ĐH
Trang 24 CMS ĐH tiếp nhận, phân tích yêu cầu của người dùng Thực hiện các module chứcnăng, truy xuất dữ liệu trong CSDL, giao tiếp với các hệ thống thông tin điều hành tácnghiệp khác, để hoàn tất công việc xử lý và trả lại kết quả cho người dùng.
Người dùng thao tác với kết quả trả về trên trình duyệt Web
Để CMS đáp ứng được yêu cầu cung cấp thông tin phục vụ điều hành, tác nghiệp của Lãnh đạo,chuyên viên thì điều cần thiết phải có các qui trình thu thập, cập nhật, biên tập và xuất bản thông tin lênCMS Do thông tin trên CMS khá phong phú và đa dạng, nên trong phần dưới đây trình bày về qui trìnhcập nhật, biên tập, xuất bản thông tin nói chung và qui trình cập nhật, biên tập, xuất bản thông tin chomột số loại thông tin có tính đặc thù Sau đây là chi tiết về một quy trình thông dụng nhất
Qui trình biên tập và xuất bản thông tin, văn bản, tài liệu
7.4 Các qui định trong tài liệu
Ký hiệu, biểu tượng Mô tả ý nghĩa
Ký hiệu bắt đầu trong lược đồ hoạt động
Ký hiệu kết thúc trong lược đồ hoạt động
Trong sơ đồ hoạt động, hình vẽ bên thể hiện hànhđộng của một đối tượng Ví dụ: hình vẽ bên thể hiện
hành động Biên tập thông tin của Người biên tập.
Trong sơ đồ hoạt động, hình vẽ bên thể hiện hànhđộng kiểm tra một điều kiện nào đó trong quá trìnhthực hiện
Một Actor (tác nhân) là một người hoặc một hệ
thống phần mềm bên ngoài khác có thực hiện –trao đổi thông tin với hệ thống đang đề cập tới (sẽ được xây dựng)
Trang 25Một UseCase A là hình ảnh ở mức cao của một
phần tính năng mà hệ thống sẽ cung cấp, hay nói
cách khác, một UseCase sẽ chỉ ra cách mà chúng
ta sẽ sử dụng hệ thống
Quan hệ trực tiếp gjữa Actor và UseCase A với
nhau được thể hiện bằng mũi tên nét liền
Quan hệ phụ thuộc giữa hai UseCase A và UseCase B thể hiện bằng mũi tên nét đứt.
Thể hiện quan hệ UseCase A là tổng quát hóa của
UseCase B, ngược lại UseCase B được gọi là cụ
thể hóa của UseCase A.
Table A 11 0 *0 * Table B
Thể hiện quan hệ một - nhiều giữa hai bảng Table A
và bảng Table B.
Document - Tài liệu
Database - Cơ sở dữ liệu
7.5 Qui trình biên tập và xuất bản thông tin, văn bản, tài liệu hh
Dù thông tin xuất phát từ nguồn nào, tĩnh (bao gồm các trang văn bản rời rạc) hay động (cácCSDL, các ứng dụng phần mềm), trước khi đến với người dùng đều cần phải trải qua qui trình biên tập
và xuất bản chung như sau:
Trang 26Tạo mới hoặc sửa chữa thông tin Duyệt, hiệu chỉnh, phê duyệt và xuất bản thông tin
trạng thái “chờ
phê duyệt”
Duyệt và phê chuẩn
“Xuất bản”
Thông tin được lưu trữ trong CSDL với
trạng thái “Chờ
xuất bản”
Xuất bản thông tin
Qui trình nghiệp vụ biên tập và xuất bản thông tin
7.5.1 Qui trình nghiệp vụ
Trang 27Người xuất bản Người kiểm duyệt
Người biên tập Người cập nhật
Cập nhật thông tin
Biên tập thông tin
Kiểm duyệt thông tin
Xuất bản thông tin Hiệu chỉnh [Thông tin cần hiệu chỉnh]
[Thông tin đã kiểm duyệt]
[Thông tin đã được biên tập]
[Thông tin được xuất bản trên trang TTĐT ĐH]
Lược đồ hoạt động thể hiện quy trình biên tập và xuất bản thông tin
[Thông tin đã được hiệu chỉnh]
[Thông tin chờ biên tập]
[Huỷ bỏ]
7.5.2 Mô hình xử lý
Đối tượng tham gia Tham gia vào qui trình gồm có 4 đối tượng sau:
Người cập nhật: là cán bộ, chuyên viên thuộc bộ phận Biên tập
(Ban biên tập) đảm nhận vai trò thu thập và cập nhật thông tin choCMS ĐH
Nguời biên tập: là cán bộ, chuyên viên của Ban biên tập có vai trò
xem và biên tập lại nội dung thông tin đã được cập nhật (đangtrong trạng thái chờ biên tập)
Nguời kiểm duyệt: người có vai trò kiểm duyệt nội dung thông tin
đã đuợc biên tập, quyết định thông tin nào được xuất bản và thôngtin nào cần biên tập lại hoặc thông tin nào bị hủy bỏ
Người xuất bản: người có vai trò xuất bản để thông tin chính thức
Trang 28được hiển thị trên CMS ĐH.
Phạm vi áp dụng Áp dụng cho tất cả các bộ phận, phòng ban và các đơn vị được giao
nhiệm vụ tạo mới, cập nhật, phê duyệt để xuất bản thông tin, văn bản,tài liệu, lên CMS của
Thông tin đầu vào Các dạng thông tin sau đây làm thông tin đầu vào của quá trình xử
lý bao gồm:
Thông tin dạng tệp (file) văn bản, tài liệu: Các văn bảnđược lưu trữ ở dang giấy tờ với nội dung cần kiểm duyệt.Các tệp văn bản, bảng biểu dưới dạng Word, Excel, cácvăn bản chưa được sắp xếp, phân loại,
Thông tin dạng bản tin (tin tức, sự kiện, chương trình, kếhoạch công tác, ): dạng thông tin có mức độ thay đổithường xuyên, các thông tin tổng hợp, tin nhanh, …Thông tin đầu ra Các văn bản ở dạng điện tử với nội dung thông tin đã được kiểm
duyệt, sẵn sàng trình diễn trên CMS Các thông tin này đã được phânloại, sắp xếp và đánh chỉ số phục vụ cho các yêu cầu khai thác, tìmkiếm thông tin của người sử dụng
Quy trình xử lý Dưới đây là mô tả các bước trong qui trình cập nhật, biên tập và xuất
bản thông tin:
Tạo mới hoặc cập nhật thông tin: Thông tin nguồn được tạo mới
hoặc cập nhật và lưu vào CSDL (điện tử hóa thông tin) bởi nhữngngười có chức năng thu thập thông tin (biên tập viên) Thông tinkhi này được đặt ở trạng thái “chờ phê duyệt”
Biên tập thông tin: sau khi thông tin được người cập nhật tạo,
thông tin được người biên tập thông tin biên tập lại nội dung cho
chính xác cả về nội dung lẫn chính tả và được lưu trữ trong CSDL
với trạng thái chờ phê duyệt.
Duyệt và phê chuẩn xuất bản: Để bảo đảm tính đúng đắn và hợp
lệ, khi thông tin được tạo mới hoặc bị sửa đổi, nó chưa thể đến vớingười sử dụng ngay, mà cần phải được thông qua (được phêduyệt) bởi người có thẩm quyền Người có thẩm quyền duyệt nội
dung và cho phép xuất bản, thông tin này được chuyển sang trạng
thái chờ xuất bản, tức là sẵn sàng cho việc chuyển tới vùng người
dùng có khả năng truy cập
“Xuất bản” thông tin: Thông tin được xuất bản trên Cổng thông
Trang 29tin chung, vùng người dùng có khả năng truy cập.
Tùy thuộc vào từng yêu cầu cụ thể mà các bước trong qui trình này có thể được rút ngắn lại, có thể gộp các bước kiểm duyệt và xuất bản thành một bước kiểm duyệt xuất bản thông tin,… HOẶC
Nếu thông tin có nguồn từ các CSDL hoặc hệ thống thông tin khác thì tùy theo tính chất của thông tin mà qui trình trên có thể được tự động hóa (chương trình hóa) một phần hay toàn phần Việc tự động hóa này
sẽ được xác định cụ thể theo từng CSDL hoặc hệ thống thông tin khác
mà thông tin được trích ra từ đó.
Mô hình thực thể
7.6 Bảng danh sách các thực thể
Bảng dưới đây liệt kê danh sách các thực thể mang thông tin chính của CMS
Quản lý và xuất bản thông tin
1 news_group Thực thể chứa các thông tin của nhóm/danh mục/chủ đề
Thực thể nhóm tin (danh mục thông tin), gồm các thông tin của nhóm chứa các tin bài
1 ID ID của nhóm, khóa chính của bảng, giá trị được tăng tự
động
4 PARENT_ID Nhóm cha của nhóm (quy ước: nếu giá trị là 0 thì đây là
nhóm mức 0 – không có cha)
5 ADMIN_GROUP_ID ID của nhóm người quản trị nhóm tin (hiện tại chỉ có
Trang 30nghĩa với nhóm tin level 0)
6 NEWEST_SHOW Số bản tin mới nhất được hiển thị trên trang chính của
kênh
7.7.1.2 Thực thể NEWS_ITEM
Thực thể tin bài, gồm các mục thông tin của tin bài lưu trữ và thể hiện trên CMS ĐH
5 DESCRIPTION Mô tả tóm tắt nội dung tin
8 MODIFIER_ID ID của người sửa tin lần gần đât nhất
10 APPROVER_ID ID của người xác thực tin
12 APPROVED Đã xác thực hay chưa, 0-chưa xác thực, 1-đã xác thực
15 LANGUAGE Ngôn ngữ là tiếng Việt hay tiếng Anh “vn”- tiếng Việt,
Trang 31Tìm kiếm thông tin
Biên tập, xuất bản thông tin
Trang chủ và đăng nhập
Quản lý liên kết website
Quản lý biểu trưng
Cá nhân hóa
Sơ đồ trên là mô hình phân rã chức năng mức tổng quan của CMS , các chức năng được phân
rã đến mức kênh thông tin/ứng dụng (xin xem trong phần giải thích thuật ngữ), trong mỗi kênh này sẽgồm nhiều chức năng nhỏ để hoàn tất các tác vụ do kênh đó quản lý (có thể hiểu mỗi kênh như một ứngdụng nhỏ đóng gói các chức năng của riêng nó như: các chức năng quản lý, nhập/xuất thông tin, dữ liệu,trình diễn thông tin; các chức năng về người dùng, bảo mật và phân quyền sẽ do Cms cung cấp) Cácphần dưới đây sẽ giới thiệu chi tiết tập trung chủ yếu vào phần Quản lý, tra cứu và trình diễn thông tin
7.8 Quản lý, tra cứu và trình diễn thông tin
Phân hệ Quản lý, tra cứu và trình diễn thông tin gồm tập các kênh cho phép cung cấp các thôngtin tổng hợp về các chủ
Trang chủ và đăng nhập: Trang chủ đóng vai trò quan trọng trong tổ chức của CMS Từ
đây chúng ta có thể thấy được các chức năng chính cũng như khả năng và tổ chức trìnhdiễn trên CMS Truy nhập CMS theo đúng địa chỉ sẽ xuất hiện trang chủ với những thông tin
cơ bản chung nhất như cấu trúc trang chủ cùng sự bố trí các kênh thông tin trên đó Phầnnày gồm ba chức năng chính:
Trình diễn trang chủ
Đăng nhập một cửa (Single Sign On)
Trang 32 Quản lý và xuất bản thông tin: Cung cấp các chức năng cho phép quản lý, lưu trữ và kết
xuất thông tin dạng tin tức, sự kiện có tính cập nhật thường xuyên Ứng dụng cung cấp các
chức năng hỗ trợ và đảm bảo qui trình biên tập và xuất bản thông tin qua các bước
Nhập-Kiểm duyệt-Xuất bản-Hiển thị, cung cấp đầy đủ các chức năng quản lý chủ đề, quản lý tin
bài, quản lý việc kết xuất và hiển thị thông tin, kiểm soát quyền truy nhập để luôn đảm bảothông tin được bảo mật, tránh bị xâm phạm một cách bất hợp pháp Các chức năng tiêu biểugồm:
Cập nhật tin bài
Biên tập tin bài
Kiểm duyệt, xuất bản tin bài
Hủy xuất bản tin bài
Tìm kiếm tin bài
Các chức năng quản lý (thêm, xóa, sắp xếp tin bài)
Các chức năng quản lý các chủ đề (thêm, xóa, chỉnh sửa chủ đề, gán quyền, v.v)
Cá nhân hoá: Là một đặc trưng rất quan trọng của CMS, cho phép mỗi người sử dụng có
tài khoản tự tạo giao diện riêng cho mình với các nguồn cung cấp tài nguyên từ hệ thống.Giao diện của CMS được chia thành các trang có tiêu đề riêng (gọi là các tab) Mỗi tab đượcchia thành các cột để bố trí, hiển thị các kênh và trên mỗi cột có thể có nhiều kênh do người
sử dụng tự đưa vào Tất cả các tab, các cột trong giao diện đều có thể do người dùng tựđịnh nghĩa, thêm bớt Đây chính là công cụ cho phép người sử có tài khoản sử dụng đượccác tính năng trên
Tìm kiếm thông tin: Cung cấp cho người dùng công cụ để tra cứu tìm kiếm nhanh các
thông tin trên CMS Đặc biệt cho phép người dùng tra cứu toàn văn tiếng Việt theo chuẩnUnicode trên toàn hệ thống CMS một cách đơn giản và nhanh chóng, chỉ yêu cầu ngườidùng nhập từ khóa hoặc chuỗi từ khóa để thực hiện tìm kiếm
7.9 Quản trị hệ thống
Khối chức năng quản trị hệ thống bao gồm tập các công cụ cho phép người quản trị duy trì hoạtđộng và quản lý CMS ĐH Hệ thống quản trị bao gồm các công cụ sau:
Quản lý người dùng: Cung cấp công cụ để theo dõi danh sách các tài khoản người dùng
của hệ thống, cho phép thay đổi thông tin của các tài khoản này như tên người sử dụng, mậtkhẩu,… hoặc cũng có thể loại bỏ tài khoản ra khỏi hệ thống
Quản lý nhóm: Cung cấp công cụ giúp người quản trị hệ thống tổ chức, phân loại người
dùng và phân loại các kênh thông tin, ứng dụng Đối với việc phân loại người dùng thànhcác nhóm kết hợp với việc thiếp lập các quyền khác nhau cho các nhóm khác nhau, người
Trang 33quản trị hệ thống có thể tự định nghĩa ra các vai trò (role) cho hệ thống Công cụ quản lýnhóm có các chức năng chính liên quan đến quản lý nhóm kênh và quản lý nhóm ngườidùng, hệ thống Cms coi hai nhóm kênh và người dùng là như nhau về mặt quản lý.
Quản trị kênh: Cung cấp công cụ xuất bản kênh – tạo thêm nguồn nội dung, dịch vụ cho hệ
thống và là công cụ để quản lý danh sách các kênh đã xuất bản Ngoài ra nó còn cho phépthiết lập quyền sử dụng kênh, phân loại kênh, sửa đổi các thông số của kênh,v.v Khi mộtkênh được xuất bản (còn gọi là được đăng ký vào hệ thống), kênh đó có thể sẵn sàng chongười sử dụng truy cập bằng cách đưa kênh đó vào giao diện của riêng mình thông quachức năng Cá nhân hóa
Do trang thông tin điện tử điều hành tác nghiệp cho phép truy xuất tới nhiều ứng dụng và cơ sở
dữ liệu khác nhau, vì vậy nó cần phải được thiết lập một cơ chế bảo mật chặt chẽ Hiện nay, hầu hết các
hệ thống tương tự đều sử dụng việc kết hợp nhiều kỹ thuật bảo mật:
Quản lý định danh và sử dụng dịch vụ “Single Sign On”, làm giảm rủi ro về để lộ các mật khẩu Dễ quản trị, giảm thời gian hỗ trợ, và tăng tính dễ sử dụng cho hệ thống
Sử dụng các dịch vụ thư mục như Active Directory hay LDAP, để đảm bảo tính nhất quán cho việc kiểm soát quyền và các thông tin cá nhân
Phân quyền truy nhập tới từng vùng thông tin
Định nghĩa ra các luật để kiểm soát các vùng tin (về thời gian truy cập, thời lượng truy cập…)
Các lỗi tiêu biểu về bảo mật thường gặp trong các ứng dụng Web
Các thông số không hợp
lệ
Thông tin từ các yêu cầu Web thường không được xác nhận tính hợp
lệ trước khi được một ứng dụng web sử dụng Những kẻ tấn công cóthế sử dụng những kẽ hở này để tấn công vào các thành phầnbackside thông qua ứng dụng web
Trang 34Việc kiểm soát truy cập bị
bẻ gẫy
Những hạn chế mà người sử dụng hợp pháp phải tuân theo thườngkhông có hiệu lực một cách hoàn toàn Những kẻ tấn công có thể tậndụng những kẽ hở này để truy cập vào tài khoản của người khác, xemcác file nhạy cảm, hoặc sử dụng những chức năng không được phép
Bẻ gẫy việc quản lý tài
khoản và phiên làm việc
Giấy ủy nhiệm tài khoản và các mã thông báo không được bảo vệ mộtcách tuyệt đối Những kẻ tấn công có thể lấy password, các cookiehoặc các mã thông báo khác, loại bỏ những hạn chế xác nhận và giảdanh danh tính của người dùng
Cross-site scripting Ứng dụng web có thể được sử dụng như một cơ chế để truyền một sự
tấn công tới trình duyệt của người sử dụng Một cuộc tấn công thànhcông có thể lấy được mã làm việc của người sử dụng, tấn công vàomáy cục bộ, hoặc nhại lại các nội dung để đánh lừa người sử dụng.Tràn bộ nhớ đệm Các thành phần của ứng dụng web trong một số ngôn ngữ mà không
xác nhận tính hợp lệ của dữ liệu vào thì có thể bị xâm nhập, và trongmột số trường hợp được sử dụng để điều khiển một tiến trình Cácthành phần này có thể bao gồm CGI, các thư viện, các driver, và cácthành phần máy chủ ứng dụng web
Các vấn đề về kiểm soát
lỗi
Các lỗi xảy ra trong quá trình hoạt động bình thường không đượckiểm soát một cách tuyệt đối Nếu một hacker có thể gây ra các lỗi màứng dụng web không thể kiểm soát được thì chúng có thể lấy đượccác thông tin hệ thống một cách chi tiết, từ chối dịch vụ, và là nguyênnhân dẫn đến cơ chế bảo mật bị hỏng hoặc thâm nhập vào server
Sử dụng không an toàn
việc mã hóa
Các ứng dụng web thường xuyên sử dụng các hàm mã hóa để bảo vệthông tin và credentials, những hàm và đoạn mã để tích hợp chúng đãđược chứng minh là khó để mã hóa một cách tuyệt đối và thườngxuyên nên dẫn đến việc bảo mật kém
Những kẽ hở của việc
quản trị từ xa
Nhiều ứng dụng web cho phép người quản trị truy cập site bằng cách
sử dụng một giao diện web Nếu các chức năng quản trị này khôngđược bảo mật một cách cẩn thận thì một hacker có thể có được sựtruy cập đầy đủ vào tất cả các bộ phận của site
Các mã không cần thiết
và nguy hiểm
Các mã không cần thiết có thể là nguyên nhân của tất cả các vấn đềtrong quá trình bảo dưỡng và cập nhật Những mã nguy hiểm đượccác hacker chèn vào sẽ hoạt động với đầy đủ các đặc quyền của ứngdụng web
Trang 35các thread vấn đề về sự an toàn của thread có thể dẫn đến những vấn đề bảo
mật quan trọng Việc lập trình đồng nhất là một trong những vấn đềkhó khăn nhất của việc phát triển các ứng dụng web an toàn
Từ chối dịch vụ Nhiều ứng dụng web dễ bị ảnh hưởng bởi một cuộc tấn công từ chối
dịch vụ đơn giản, như là các yêu cầu được lặp lại đối với một URL.Việc khóa những cuộc tấn công này được thực hiện trong rất ít cácứng dụng web
Lạm dụng những thói
quen cá nhân
Việc thu thập thông tin cá nhân người dùng mà không được ngườidùng biết đến thường xảy ra trong nhiều website Có nhiều thói quentốt, quy định và các quy chế có thể ảnh hưởng đến việc những thôngtin này phải được nắm giữ như thế nào
Thói quen đăng nhập
không tốt
Nhiều log của ứng dụng web bao gồm những thông tin nhậy cảm nhưpassword, session id, và các mã khác Một thiết kế đăng nhập tốt làchìa khóa cho một ứng dụng web an toàn
Sự sai lệch dữ liệu Việc bảo vệ khỏi sự sai lệch dữ liệu là một vấn đề phức tạp bao gồm
chữ ký số, kiểm tra tổng, và các đặc quyền Bảo vệ khỏi sai lệch làmột mối quan tâm chung cho các trang về chăm sóc sức khỏe và tàichính
Caching, pooling, and
reuse errors (các lỗi lưu
trữ, pool, và sử dụng lại)
Nhiều ứng dụng web sử dụng caching, pooling và sử dụng lại các đốitượng để tăng hiệu suất Những sai sót trong việc sử dụng những cơchế này có thể dẫn đến việc vi phạm bảo mật một cách không cố ý
Số lượng các luật có ảnh hưởng đến ứng dụng web đang lớn mạnhnhanh chóng Mã của bạn có thể cần phải tuân theo HIPAA, GLBA,COPPA…
Chất lượng mã Khâu bảo mật có liên quan trực tiếp với sự phức tạp Các ứng dụng
web an toàn sẽ có các thành phần bảo mật phải hoàn hảo,nonbypassable, và có thể kiểm tra được Mã phải có cấu trúc tốt,được chú giải và dễ dàng kiểm tra
Các chính sách đặc trưng Nhiều site có các chính sách riêng của chúng mà phải có hiệu lực với
ứng dụng web Những chính sách tùy biến này nên được sưu liệu cẩnthận và phải được thực hiện khi viết mã
Yêu cầu truyền dữ liệu
Hệ thống đường truyền phải đảm bảo :
Hệ thống mạng
Trang 36Đường truyền …
Trang 37CHƯƠNG 4 THIẾT KẾ
Tổng quan về Cms
7.10 Khái niệm Cms
Một cách chung nhất, có thể tạm định nghĩa Cms như sau: Cms là một phần mềm ứng dụng
web (web-based application) cung cấp hệ thống thông tin điện tử cho các tổ chức, doanh nghiệp, đơn vị cần để quảng bá, cung cấp thông tin và dịch vụ thông tin.
7.11 Các đặc điểm chính của Cms
Dưới đây là những đặc điểm chính của Cms, và chính những đặc điểm này đã tạo nên sự khácbiệt lớn giữa công nghệ Cms với các công nghệ website truyền thống
Cá nhân hóa giao diện của người sử dụng (Personalization): Đây là một trong những thuộc
tính quan trọng của Cms Một Cms dứt khoát phải cung cấp cho người sử dụng một giaodiện nhất quán và giao diện này phải do chính người sử dụng lựa chọn
Tổ chức phân loại thông tin (Category): Để giảm thiểu tình trạng quá tải thông tin của người
sử dụng, thông tin được quản lý bởi Cms phải được phân loại và sắp xếp các theo các chủ
đề (topic) sao cho người sử dụng có thể nhanh chóng tìm thấy thông tin mà mình cần Cácchủ đề thường được xây dựng theo cấu trúc hình cây, có nghĩa là mỗi chủ đề (topic) có thể
có nhiều chủ đề nhỏ hơn phía dưới (sub topic), và cứ như vậy tiếp tục triển khai xuống cácmức thấp hơn
Hỗ trợ khả năng tìm kiếm nhanh thông tin (Search): Một thuộc tính khác cũng có vai trò rất
quan trọng để giảm thiểu tình trạng quá tải thông tin là dịch vụ tìm kiếm thông tin nhanh.Dịch vụ này thực hiện tìm kiếm thông tin theo yêu cầu của người sử dụng, thông qua mô tảthông tin cần tìm dưới dạng các từ khoá hoặc tổ hợp các từ khoá
Thông tin được tích hợp từ nhiều nguồn khác nhau (Multi system intergration): Thông tin hiển
thị trên Cms phải được tích hợp từ nhiều nguồn khác nhau, mà các nguồn tin này nằm rảirác trên mạng toàn cầu Internet Nguồn thông tin có thể là các cơ sở dữ liệu dạng quan hệ,các văn bản phi cấu trúc, các dữ liệu hình ảnh, âm thanh, v.v
Hỗ trợ mô hình làm việc cộng tác (Collaboration or virtual community): Cms phải bao gồm
các cộng cụ (tools) để tăng cường khả năng liên lạc, trao đổi thông tin, và năng suất xử lýcông việc của các nhóm làm việc hoặc của một cộng đồng Thư điện tử (Email), diễn đànthảo luận (Forum), hỏi đáp (Q&A), v.v… là những công cụ tiêu biểu để hỗ trợ các nhóm làmviệc
Trang 38 Hỗ trợ mô hình tự động xử lý công việc theo qui trình đã xác định từ trước (workflow): Cho
phép tích hợp trên Cms các phần mềm áp dụng của mạng nội bộ Intranet, mà các áp dụngnày sẽ thiết lập một qui trình tự động để hoàn thành xử lý một công việc theo một qui trình
đã xác định từ trước
Đăng nhập hệ thống một lần duy nhất (Single Sign-On): Thuộc tính này cho phép người
dùng chỉ thực hiện đăng nhập hệ thống một lần duy nhất trước khi sử dụng tất cả các tàinguyên (thông tin, dịch vụ, phần mềm áp dụng, ) được cung cấp hoặc được tích hợp trênCms
Thiết kế kiến trúc hệ thống
7.12 Mô hình khái niệm
Mô hình sau đây sẽ thể hiện cấu trúc logic cũng như diễn tả chức năng tổng quát của CMS
Trang 39Thong tin Hinh anh
Công cụ, tiện ích (diễn đàn, hỏi đáp, danh bạ, …)
Liên kết, tích hợp
Xác thực người dùng
VCMS Biên tập, tích hợp, liên kết
Trang 40Tích hợp ứng dụngTrang TTĐT điều hành tác nghiệp BCA
Mô hình kiến trúc trang TTĐT ĐH tác nghiệp của Bộ Công an
Quản lý các công cụ trao đổi thông tin
Quản lý nội dung thông tin Tìm kiếm thông tin
WEB SERVER
Các dịch vụ Web
Người biên tập Người dùng
CSDL VPortal CSDL chuyên ngành CSDL tác nghiệp
Người quản trị
Quản lý và xác thực người dùng Xuất bản thông tin
Giải thích mô hình:
Mô hình kiến trúc CMS được xây dựng trên framework CMS bao gồm 3 tầng: tầng trình diễn,tầng ứng dụng và tầng cơ sở dữ liệu Các phần dưới đây sẽ mô tả chi tiết vai trò và các thành phần củamỗi tầng
7.13.1 Tầng trình diễn
Tầng trình diễn chịu trách nhiệm về cung cấp giao diện cho nhiều loại người dùng khác nhau, cónhiệm vụ tiếp nhận các yêu cầu, dữ liệu từ người dùng, có thể định dạng nó theo những qui tắc đơn giản(dùng các ngôn ngữ Script) và gọi các component thích hợp từ tầng Business Logic để xử lý các yêucầu Kết quả sau xử lý được trả lại cho người dùng
7.13.2 Tầng ứng dụng và Web server