phan tich thiet ke he thong thong tin

118
MỤC LỤC MỤC LỤC............................................... 1 Chương 1: ĐẠI CƯƠNG VỀ HỆ THỐNG.......................3 1.1. HỆ THỐNG VÀ HỆ THỐNG THÔNG TIN......................3 1.1.1. Khái niệm hệ thống..............................3 1.1.2. Hệ thống thông tin..............................3 1.1.3. Hệ thống thực và hệ thống con...................4 1.1.4. Các giai đoạn triển khai một dự án xây dựng HTTT 5 1.2. XỬ LÝ THÔNG TIN BẰNG MÁY TÍNH.......................6 1.2.1. Các phương thức xử lý thông tin.................6 1.2.2. Một số loại hệ thống tin học thường gặp.........7 1.3. SỰ PHÁT TRIỂN HỆ THỐNG..............................8 1.3.1. Vòng đời của hệ thống...........................8 1.3.2. Các bước xây dựng hệ thống thông tin............9 1.3.3. Chu trình phát triển hệ thống..................11 1.3.4. Phương pháp mô hình hoá hệ thống...............13 Chương 2: KHẢO SÁT HỆ THỐNG..........................16 2.1. KHẢO SÁT VÀ ĐÁNH GIÁ HIỆN TRẠNG....................16 2.1.1. Mục đích và yêu cầu công tác khảo sát..........16 2.1.2. Chiến lược và quy trình khảo sát...............16 2.2. NỘI DUNG KHẢO SÁT..................................17 2.2.1. Khảo sát công tác nghiệp vụ....................17 2.2.2. Khảo sát nhu cầu xử lý thông tin...............18 2.2.3. Thu thập thông tin, tài liệu...................18 2.2.4. Viết báo cáo khảo sát..........................18 2.3. MỘT SỐ PHƯƠNG PHÁP THU THẬP THÔNG TIN THÔNG DỤNG...19 2.3.1. Nghiên cứu tài liệu viết.......................19 2.3.2. Phương pháp quan sát...........................19 2.3.3. Phương pháp phỏng vấn..........................20 2.3.4. Phương pháp sử dụng bảng hỏi, mẫu điều tra.....20 2.4. XÂY DỰNG DỰ ÁN.....................................20 2.4.1. Xác định mục tiêu và phạm vi...................20 2.4.2. Xây dựng giải pháp.............................21 2.4.3. Xây dựng kế hoạch triển khai...................22 2.5. BÀI TẬP 1..........................................23 Chương 3: PHÂN TÍCH HỆ THỐNG VỀ CHỨC NĂNG............27 3.1. BIỂU ĐỒ PHÂN CẤP CHỨC NĂNG.........................27 3.1.1. Các khái niệm..................................27 1

Upload: nguyen-duy-hung

Post on 06-Aug-2015

82 views

Category:

Education


4 download

TRANSCRIPT

Page 1: Phan tich thiet ke he thong thong tin

MỤC LỤC

MỤC LỤC.................................................................................................................1Chương 1: ĐẠI CƯƠNG VỀ HỆ THỐNG...............................................................3

1.1. HỆ THỐNG VÀ HỆ THỐNG THÔNG TIN...........................................................31.1.1. Khái niệm hệ thống...........................................................................................31.1.2. Hệ thống thông tin.............................................................................................31.1.3. Hệ thống thực và hệ thống con.........................................................................41.1.4. Các giai đoạn triển khai một dự án xây dựng HTTT........................................5

1.2. XỬ LÝ THÔNG TIN BẰNG MÁY TÍNH..............................................................61.2.1. Các phương thức xử lý thông tin......................................................................61.2.2. Một số loại hệ thống tin học thường gặp..........................................................7

1.3. SỰ PHÁT TRIỂN HỆ THỐNG...............................................................................81.3.1. Vòng đời của hệ thống......................................................................................81.3.2. Các bước xây dựng hệ thống thông tin.............................................................91.3.3. Chu trình phát triển hệ thống..........................................................................111.3.4. Phương pháp mô hình hoá hệ thống...............................................................13

Chương 2: KHẢO SÁT HỆ THỐNG......................................................................162.1. KHẢO SÁT VÀ ĐÁNH GIÁ HIỆN TRẠNG.......................................................16

2.1.1. Mục đích và yêu cầu công tác khảo sát...........................................................162.1.2. Chiến lược và quy trình khảo sát....................................................................16

2.2. NỘI DUNG KHẢO SÁT.......................................................................................172.2.1. Khảo sát công tác nghiệp vụ...........................................................................172.2.2. Khảo sát nhu cầu xử lý thông tin....................................................................182.2.3. Thu thập thông tin, tài liệu..............................................................................182.2.4. Viết báo cáo khảo sát......................................................................................18

2.3. MỘT SỐ PHƯƠNG PHÁP THU THẬP THÔNG TIN THÔNG DỤNG.............192.3.1. Nghiên cứu tài liệu viết...................................................................................192.3.2. Phương pháp quan sát.....................................................................................192.3.3. Phương pháp phỏng vấn..................................................................................202.3.4. Phương pháp sử dụng bảng hỏi, mẫu điều tra.................................................20

2.4. XÂY DỰNG DỰ ÁN.............................................................................................202.4.1. Xác định mục tiêu và phạm vi........................................................................202.4.2. Xây dựng giải pháp.........................................................................................212.4.3. Xây dựng kế hoạch triển khai.........................................................................22

2.5. BÀI TẬP 1..............................................................................................................23Chương 3: PHÂN TÍCH HỆ THỐNG VỀ CHỨC NĂNG.....................................27

3.1. BIỂU ĐỒ PHÂN CẤP CHỨC NĂNG..................................................................273.1.1. Các khái niệm..................................................................................................273.1.2. Kỹ thuật phân rã..............................................................................................29

3.2. BIỂU ĐỒ LUỒNG DỮ LIỆU................................................................................323.2.1. Các khái niệm..................................................................................................323.2.2. Các thành phần của biểu đồ luồng dữ liệu......................................................323.2.3. Phân rã biểu đồ luồng dữ liệu theo mức.........................................................373.2.4. Mô hình vật lý và mô hình logic.....................................................................42

3.3. ĐẶC TẢ TIẾN TRÌNH..........................................................................................443.3.1. Mục đích và yêu cầu đặc tả chức năng...........................................................44

1

Page 2: Phan tich thiet ke he thong thong tin

3.3.2. Các phương tiện đặc tả chức năng..................................................................453.4. BÀI TẬP.................................................................................................................48

Chương 4: PHÂN TÍCH HỆ THỐNG VỀ DỮ LIỆU.............................................494.1. CÁC PHƯƠNG TIỆN MÔ TẢ DỮ LIỆU.............................................................49

4.1.1. Mã hoá các tên gọi..........................................................................................494.1.2. Từ điển dữ liệu................................................................................................53

4.2. MÔ HÌNH THỰC THỂ LIÊN KẾT.......................................................................544.2.1. Các khái niệm của mô hình thực thể liên kết..................................................544.2.2. Đặc tả mối quan hệ giữa hai kiểu thực thể......................................................564.2.3. Mô hình thực thể liên kết mở rộng và hạn chế................................................584.2.4. Phương pháp phân tích theo mô hình thực thể liên kết...................................64

4.3. MÔ HÌNH DỮ LIỆU QUAN HỆ...........................................................................724.3.1. Các khái niệm..................................................................................................72a) Domain - Miền.................................................................................................72b) Thuộc tính (Attribute).......................................................................................72c) Quan hệ.............................................................................................................72d) Lược đồ quan hệ...............................................................................................734.3.2. Phụ thuộc hàm.................................................................................................734.3.2.1. Các dạng chuẩn............................................................................................73a) Định nghĩa phụ thuộc hàm...............................................................................73b) Tính chất của các phụ thuộc hàm.....................................................................744.3.3. Khoá tối thiểu..................................................................................................74a) Khoá (Key) và siêu khoá (super key) của quan hệ..............................................74b) Khoá (Key) và siêu khoá (super key) của lược đồ quan hệ..................................754.3.4. Chuẩn hoá.......................................................................................................754.3.4.1. Các dạng chuẩn............................................................................................754.3.4.2. Chuẩn hoá....................................................................................................804.3.5. Phương pháp lập lược đồ dữ liệu theo mô hình quan hệ.................................82

2

Page 3: Phan tich thiet ke he thong thong tin

Chương 1: ĐẠI CƯƠNG VỀ HỆ THỐNG

1.1. HỆ THỐNG VÀ HỆ THỐNG THÔNG TIN

1.1.1. Khái niệm hệ thống

- Hệ thống: Hệ thống là một tập hợp gồm nhiều phần tử, có các mối quan hệ ràng

buộc lẫn nhau và cùng hoạt động hướng tới một mục đích chung.

- Hệ thống thông tin bao gồm các thành phần:

Các phần tử của hệ thống: Các phần tử rất đa dạng, có thể phần tử là một đối

tượng cụ thể,như trong hệ thống mặt trời phần tử là mặt trời, mặt trăng, trái đất,

sao hoả,…có thể phần tử là đối tượng trừu tượng, như một phương pháp, một

lập luận, một quy tắc,… Như vậy phần tử có thể rất khác biệt về bản chất không

những giữa các hệ thống khác nhau mà ngay cả trong cùng một hệ thống.

Các quan hệ giữa các phần tử: Các phần tử của một hệ thống không phải được

tập hợp một cách ngẫu nhiên, rời rạc mà giữa chúng luôn tồn tại những mối

quan hệ (hay các ràng buộc) tạo thành một cấu trúc (hay tổ chức).

Sự hoạt động và mục đích của hệ thống:

Sự biến động của hệ thống thể hiện trên hai mặt: Sự tiến triển và sự hoạt

động. Sự tiến triển thể hiện là các phần tử và các quan hệ của hệ thống có

thể phát sinh, có tăng trưởng, có suy thoái, có mất đi. Sự hoạt động, tức

là các phần tử của hệ thống, trong các mối ràng buộc đã định, cùng cộng

tác với nhau để thực hiện một mục đích chung của hệ thống.

Mục đích của hệ thống thường thể hiện ở chỗ hệ thống nhận những cái

vào để tạo thành những cái ra nhất định.

1.1.2. Hệ thống thông tin

- Hệ thống thông tin (Information System) là hệ thống sử dụng công nghệ thông tin

để thu thập lưu giữ xử lý, truyền và biểu diễn thông tin.

- Là hệ thống bao gồm các bộ phận sau:

Phần cứng (các thiết bị)

Phần mềm

Con người

Các thủ tục, qui tắc quản lý, tổ chức

3

Page 4: Phan tich thiet ke he thong thong tin

Các dữ liệu được tổ chức

được hình thành để làm nhiệm vụ thu thập, lưu trữ, xử lý, truyền và biểu diễn thông tin.

- Chức năng của hệ thống thông tin:Hệ thống thông tin có 4 chức năng chính là

đưa thông tin vào, lưu trữ, xử lý và đưa ra thông tin.

Hệ thống thông tin có thể nhận thông tin vào dưới dạng:

Các dữ liệu gốc và một chủ điểm., một sự kiện hoặc một đối tượng nào

đó trong hệ thống.

Các yêu cầu xử lý cần cung cấp thông tin.

Các lệnh

Hệ thống thông tin có thể thực hiện:

Sắp xếp dữ liệu theo một thứ tự nào đó.

Sửa chữa thay đổidữ liệu trong bộ nhớ

Thực hiện các tính toán tạo ra thông tin mới

Thống kê, tìm kiếm, các thông tin thoả mãn một đìều kiện nào đó.

Hệ thống thông tin có thể lưu trữ các loại thông tin khác nhau với các cấu trúc đa

dạng, phù hợp với nhiều loại thông tin và phương tiện xử lý thông tin, để phục vụ

cho các yêu cầu xử lý thông tin và phương tiện xử lý thông tin khác nhau.

Hệ thống thông tin có thể đưa dữ liệu vào các khuôn dạng khác nhau ra các thiết bị

như bộ nhớ ngoài, màn hình, máy in, thiết bị mạng hoặc các thiết bị điều khiển.

1.1.3. Hệ thống thực và hệ thống con

Hệ thống thực: Một hệ thống thực có thể được xem như một mô hình gồm 3 phần

hợp thành là hệ thống quyết định, hệ thống thông tin và hệ thống tác nghiệp. Các thành

phần này chính là các hệ thống con của hệ thống thực.

- Hệ thống quyết định: Bao gồm con người, phương tiện, phương pháp tham gia đề

xuất quyết định.

- Hệ thống thông tin: Bao gồm con người, phương tiện, phương pháp tham gia xử

lý thông tin (hệ quản trị). Hệ thống thông tin đóng vai trò trung gian giữa hệ thống và

môi trường, giữa hệ thống con quyết định và hệ thống con tác nghiệp.

- Hệ thống tác nghiệp: Bao gồm con người, phương tiện, phương pháp tham gia

trực tiếp thực hiện mục tiêu của hệ thống.

4

Page 5: Phan tich thiet ke he thong thong tin

1.1.4. Các giai đoạn triển khai một dự án xây dựng HTTT

Việc phân giai đoạn tuỳ từng phương pháp và chỉ có tính tương đối. Để triển khai

một dự án xây dựng HTTT ta có thể chia thành các giai đoạn sau:

Giai đoạn 1:

- Khảo sát hiện trạng và xác lập dự án

- Tìm hiểu, phê phán để đưa ra giải pháp

Giai đoạn 2: Phân tích hệ thống. Phân tích sâu hơn các chức năng, các dữ liệu của

hoạt động cũ để đưa ra mô tả hoạt động mới (giai đoạn thiết kế logic).

Giai đoạn 3: Thiết kế tổng thể (Xác lập vai trò của môi trường một cách tổng thể

trong hệ thống).

- Thiết kế tổng thể: Biểu đồ luồng dữ liệu, thực thể liên kết E-R.

Giai đoạn 4: Thiết kế chi tiết.

- Thủ công

- Kiểm soát phục hồi

- Thiết kế cơ sở dữ liệu

- Chương trình

Giai đoạn 5: Cài đặt, lập trình.

Giai đoạn 6: Khai thác và bảo trì.

5

HTThông tin

HTQuyết định

HTTác nghiệp

Thông tin raThông tin vào

- Nguyên vật liệu- Tiền - Thông tin

- Nguyên vật liệu- Tiền - Thông tin

Môi trường

Hình 1.1. Hệ thống thực và các hệ thống con

Page 6: Phan tich thiet ke he thong thong tin

1.2. XỬ LÝ THÔNG TIN BẰNG MÁY TÍNH

1.2.1. Các phương thức xử lý thông tin

Xử lý thông tin bằng máy tính có thể thực hiện theo nhiều phương thức khác nhau:

a) Xử lý tương tác (interactive processing) và xử lý giao dịch (transactional processing)

- Xử lý tương tác: là xử lý thực hiện từng phần, xen kẽ giữa phần thực hiện bởi con

người và phần thực hiện bởi máy tính. Nói cách khác, trong xử lý tương tác, con người

dẫn dắt các quá trình xử lý, có thể ngắt và tham gia vào các quá trình xử lý. Trong quá

tình xử lý tương tác, máy tính đóng vai trò hỗ trợ cho các quá trình đó.

Xử lý tương tác là phương tiện lựa chọn cho các hệ thống phải xử lý nhiều thông

tin có mối quan hệ phức tạp với nhau, khó mô tả bằng các công thức, các phương trình

toán học. Con người phải thường xuyên vận dụng những kinh nghiệm công tác của

mình vào trong quá trình xử lý.

- Xử lý giao dịch: Trong xử lý giao dịch, xuất phát từ yêu cầu của con người, máy

tính thực hiện cho đến kết quả cuối cùng. Quá trình xử lý chon vẹn như vậy của máy

tính không có sự ngưng ngắt can thiệp từ bên ngoài vào được gọi là một giai dịch.

Ví dụ: Thủ tục rút tiền từ ngân hàng là một ví dụ về xử lý giao dịch. Khởi đầu là

kiểm tra lỗi các thông tin nhập vào, tiếp theo là kiểm tra sự tương thích của các thông

tin này với các dữ liệu đã có trong hệ thống. Trên cơ sở kết quả kiểm tra, hệ thống đáp

ứng các yêu cầu của khách hàng.

b) Xử lý theo lô (batch processing) và xử lý trực tuyến (on - line processing)

- Xử lý theo lô: Trong xử lý theo lô, mỗi khi thông tin đến (hay khi yêu cầu xử lý

xuất hiện), thì chưa được đem xử lý ngay, mà được gom lại tạo thành một nhóm (một lô

hay một mẻ) mới được xử lý một các tập thể.

Phương thức xử lý theo lô thích hợp với những tiến trình xử lý thông tin mà trong đó:

+ Việc truy cập thông tin được diển ra theo định kỳ.

+ Khuôn dạng và kiểu dữ liệu hoàn toàn xác định.

+ Thông tin khá ổn định trong khoảng thời gian giữa 2 tiến trình xử lý liên tiếp

- Xử lý trực tuyến: trong xử lý trực tuyến thì thông tin đến được đem xử lý ngay

trực tiếp, một cách cá thể và bất kể vào lúc nào.

Xử lý trực tuyến thường áp dụng cho việc hiển thị, sửa chữa nội dung các tệp dữ

liệu, cho việc phục vụ các giao dịch với khối lượng thông tin không nhiều, lại cần thực 6

Page 7: Phan tich thiet ke he thong thong tin

hiện tại chỗ và cần được trả lời ngay. Vídụ, dịch vụ gửi tiền tại ngân hàng, các xử lý tại

phòng bán vé máy bay, tàu hoả , hoặc dịch vụ thông tin tại tổng đài thường là các xử lý

trực tuyến.

c) Xử lý thời gian thực ( real - time processing)

Xử lý thời gian thực là cách tiến trình máy tính phải bảo đảm các yêu cầu rất ngặt

nghẽo của hệ thống về thời gian.

Thông thường các xử lý thời gian thực xuất hiện trong các hệ thống có liên quan

với các hệ thống ngoài như hệ thống điều khiển đường bay của tên lửa hoặc các hệ

thống mô phỏng. Xử lý thời gian thực phải đảm bảo đồng bộ các tiến trình máy tính với

các hoạt động diễn ra trong thực tế

d) Xử lý phân tán (distributed processing)

Các xử lý phân tán có thể diễn ra tại các bộ phận ở những vị trí khác nhau, có

những yêu cầu khác nhau vào những thời điểm cũng có thể khác nhau.

Nói chung, với những hệ thống có xử lý phân tán, dữ liệu thường được bố trí ở

những vị ttrí địa lý khác nhau và được quy định dùng chung. Trong xử lý phân tán, với

một số thành phần dữ liệu, có thể cùng một lúc xảy ra nhiều thao tác như cập nhật sửa

chữa hoặc khai thác khác nhau. Vì vậy, một trong những vấn đề cần quan tâm đối với

các xử lý phân tán là đảm bảo tính đồng bộ trong hệ thống.

1.2.2. Một số loại hệ thống tin học thường gặp

a) Hệ thống thông tin quản lý (Management information systems)

Là hệ thống nhằm cung cấp các thông tin cần thiết cho sự quản lý, điều hành của

một doanh nghiệp. Hạt nhân của hệ thống thông tin quản lý là một CSDL chứa các

thông tin phản ánh tình trạng và hoạt động kinh doanh hiện thời của doanh nghiệp.

Các hệ thống thông tin quản lý thường được phân làm 2 mức:

- Mức thấp, hay còn gọi là mức tác nghiệp, hệ thống chỉ có nhiệm vụ in ra

các bảng biểu, chứng từ giao dịch theo khuôn mẫu của cách xử lý bằng tay

truyền thống. Hệ thống lúc này còn được gọi là các hệ xử lý dữ liệu, như

các hệ: xử lý đơn hàng, hệ quản lý nhân sự, hệ quản lý thiết bị, hệ kế toán,

- Mức cao, còn gọi là mức điều hành, hệ thống phải đưa ra các thông tin có

tính chất chiến lược và kế hoạch giúp cho người lãnh đạo doanh nghiệp

7

Page 8: Phan tich thiet ke he thong thong tin

đưa ra các quyết định đúng đắn trong công tác điều hành. Hệ thống còn

được gọi là hệ hỗ trợ quyết định. Phần lớn các hệ hỗ trợ giúp quyết định

được xây dựng dựa trên CSDL mà còn dựa trên hạt nhân là các mô hình đã

được chon lọc. Từ các dữ liệu đầu vào, hỗ trợ giúp quyết định đưa ra các

phương án và đánh giá về các phương án này, sắp xếp chúng theo một tiêu

chuẩn nào đó. Người sử dụng dựa vào các thông tin gợi ý này để xây dựng

một phương án thực hiện.

b) Hệ thống điều khiển (Process control systems)

Đó là các hệ thống nhằm xử lý và điều khiển tự động các quá trình vận hành các

thiết bị sản xuất, viễn thông, quân sự,…Các hệ thống này phải làm việc theo phương

thức xử lý thời gian thực. Về kiến trúc vật lý , thì bên cạnh phần mềm, hệ thống này bao

gồm nhiều loại thiết bị tin học đa dạng.

c) Hệ thống nhúng thời gian thực (Embedded real - time systems)

Các hệ thống này được thực hiện trên các phần cứng đơn giản và nhúng trong một

thiết bị nào đó, như mobiphone, ô tô, … Các hệ thống này thường được lập trình ở mức

thấp, và cũng được thực hiện xử lý theo thời gian thực.

d) Phần mềm hệ thống (System software)

Các hệ thống này thiết lập nên hạ tầng kỹ thuật của các hệ thống máy tính, phục vụ

cho các phần mềm ứng dụng chạy trên đó. Đó có thể là hệ điều hành, chương trình dịch,

hệ quản trị CSDL,…

e) Các hệ thống tự động hoá văn phòng (Automated office systems)

Tự động hoá văn phòng là cách tiếp cận nhằm đa máy tính vào hoạt động văn

phòng, cho phép thâu tóm mọi việc tính toán, giao lưu, quản lý thông tin bằng máy tính.

Một số hệ thống tự động hoá văn phòng thường bao gồm hai hệ thống con chính,

đó là hệ thống xử lý văn bản, và hệ thống trợ giúp tính toán.

1.3. SỰ PHÁT TRIỂN HỆ THỐNG

1.3.1. Vòng đời của hệ thống

Một hệ thống bất kỳ bao giờ cũng có một vòng đời cùng với các chu kỳ sống có

những đặc trưng riêng. Nó được sinh ra, phát triển và cuối cùng thì bị thay thế (loại bỏ)

bởi một hệ thống khác tiên tiến hơn, hiện đại hơn. Ta có thể chia vòng đời của một hệ

thống ra làm các giai đoạn sau:8

Page 9: Phan tich thiet ke he thong thong tin

Giai đoạn chuẩn bị: Giai đoạn này tính từ khi trong tổ chức xuất hiện nhu cầu xây

dựng hệ thống thông tin được triển khai thực hiện trong thực tế. Các chuyên gia phân

tích hệ thống, nhà quản lý và các lập trình viên cùng nghiên cứu, khảo sát nghiên cứu,

phân tích thiết kế và xây dựng hệ thống. Hệ thống được thử nghiệm, cài đặt và đưa vào

sử dụng.

Giai đoạn khai thác và xử dụng: Thông thường đây là giai đoạn đoạn dài nhất

trong vòng đời của một hệ thống, trong giai đoạn này hệ thống được vận hành phục vụ

cho nhu cầu khai thác và sử dụng thông tin trong tổ chức, doanh nghiệp. Trong quá

trình sử dụng, hệ thống được bảo trì, sửa chữa để phù hợp với sự thay đổi về thông tin

hoặc nhu cầu thông tin.

Giai đoạn thay thế: Trong quá trình sử dụng và khai thác hệ thống, luôn gặp phải

sự thay đổi về thông tin (thay đổi về dung lượng và về cấu trúc) và thay đổi về nhu cầu

sử dụng (thay đổi nhiệm vụ và quy mô quản lý). Những sửa chữa và thay đổi trong hệ

thống làm cho nó trở nên cồng kềnh. Hoạt động kém hiệu quả phải thay thế bằng

một hệ thống mới tiên tiến hơn, hiện đại hơn.

1.3.2. Các bước xây dựng hệ thống thông tin

Việc xây dựng và phát triển hệ thống thông tin quản lý thông thường phải qua các

bước: lập kế hoạch xây dựng, phân tích, thiết kế, kiểm tra và cài đặt. Các bước này

không nhất thiết phải thực hiện tách rời nhau về thời gian mà có thể được thực hiện xen

kẽ nhau.

a) Lập kế hoạch phát triển hệ thống thông tin quản lý

Nhiệm vụ đặt ra trong giai đoạn này là xác định được mục tiêu của hệ thống,

những thời điểm cùng kết quả cần đạt được của lịch trình khảo sát, phân tích và thiết kế

hệ thống. Trong giai đoạn này phải có được những hình dung cơ bản về hệ thống thông

tin quản lý cần xây dựng.

b) Khảo sát hệ thống

Mục đích của khảo sát hệ thống thực là thu thập thông tin, tài liệu, nghiên cứu hiện

trạng nhằm làm rõ tình trạng hoạt động của hệ thống thông tin cũ trong hệ thống thực và

nhu cầu xây dựng hệ thống thông tin mới. Cần phải làm rõ các yêu cầu đặt ra đối với hệ

thống thông tin cần xây dựng.

9

Page 10: Phan tich thiet ke he thong thong tin

c) Phân tích hệ thống

Xây dựng các mô hình của hệ thống thông tin quản lý, như sơ đồ chức năng nghiệp

vụ, sơ đồ luồng dữ liệu và mô hình dữ liệu, trên cơ sở các kết quả khảo sát hệ thống

thực, cần làm rõ mô hình hoạt động của tổ chức và hệ thống thông tin. Các công việc

cần thực hiện là :

Phân tích các mẫu biểu, các bảng biểu, các hồ sơ đã thu thập được. Xác định

các phần tử trong hệ thống.

Phân tích các luồng thông tin và các mối quan hệ giữa các phần tử trong hệ thống.

Phân tích quy trình xử lý thông tin hiện có và phác hoạ quy trình xử lý thông tin

cần có đối với hệ thống mới.

Xác định các chức năng nghiệp vụ của hệ thống thực, các thủ tục để từ đó xây

dựng sơ đồ luồng dữ liệu nghiệp vụ của hệ thống thực.

Phân tích dữ liệu để xây dựng mô hình dữ liệu cho hệ thống.

d) Thiết kế hệ thống

Trong thực tế, hai giai đoạn phân tích và thiết kế hệ thống không phải là hai giai

đoạn hoàn toàn riêng rẽ. Trong giai đoạn khảo sát hệ thống, người ta có thể phân tích sơ

bộ hệ thống hoặc phân tích một số hệ thống con nào đó. Căn cứ vào kết quả phân tích

này, có thể tiến hành thiết kế một số phần của hệ thống.

Các công việc thiết kế bao gồm:

Thiết kế dữ liệu: định ra các đối tượng và cấu trúc dữ liệu trong hệ thống.

Thiết kế chức năng: định ra module xư lý thể hiện các chức năng của hệ thống

thông tin.

Thiết kế giao diện: chi tiết hoá hình thức giao tiếp giữa con người với máy tính.

Thiết kế an toàn cho hệ thống thông tin quản lý.

Thiết kế phần cứng: tính toán các yêu cầu kỹ thuật cho hệ thống thông tin quản

lý, hay nói cách khác, là thiết kế hệ thống máy tính.

e) Kiểm tra, thử nghiệm hệ thống

Nói chung với nhiều hệ thống thông tin, việc kiểm tra tính đúng đắn của các

module xử lý trong hệ thống là khó. Vì vậy , thông thường, người ta kiểm tra hệ thống

thông tin quản lý thông qua thử nghiệm. Việc thử nghiệm hệ thống trên một tập hợp

các dữ liệu chuẩn cũng khó thực hiện được trong thực tế, bởi vì không phải hệ thống

thực nào cũng có sẵn một tập hợp các dữ liệu chuẩn như vậy.

10

Page 11: Phan tich thiet ke he thong thong tin

Người ta thường dùng các thông tin, dữ liệu thực tế đã qua xử lý bằng các phương

pháp khác để vận hành thử nghiệm hệ thống thông tin mới, rồi so sánh kết quả đã xử lý

theo các phương pháp khác hoặc với kết quả trên thực tế rút ra kết luận về tính đúng đắn

của các xử lý trong hệ thống mới

f) Nghiệm thu và cài đặt

Hệ thống được nghiệm thu trên cơ sở những tiêu chuẩn đặt ra trong kế hoạch phát

triển hệ thống ban đầu, Song song với khâu cài đặt cũng cần phải chú ý tới khâu huấn

luyện vận hành sử dụng hệ thống mới.

1.3.3. Chu trình phát triển hệ thống

Có nhiều loại chu trình phát triển khác nhau. Phần này trình bày vắn tắt một số chu

trình phát triển chính. Cũng cần phải lưu ý rằng, số lượng và tên các giai đoạn trong các

chu trình không giống nhau, mặc dù về cơ bản, nội dung của chúng gần như nhau.

a) Chu trình thác nước

Chu trình này mô tả sự phát triển hệ thống trên cơ sở phân chia các giai đoạn riêng

rẽ với nhau về thời gian. Điểm cốt yếu của chu trình phát triển này là các giai đoạn được

tiến hành kế tiếp nhau, giai đoạn sau được bắt đầu khi giai đoạn trước đó đã kết thúc,

không chờm nên nhau về thời gian. Chính vì vậy, chu trình thác nước cong được gọi là

chu trình tuyến tính.

Hình 1.2. Chu trình thác nước

Nhược điểm của chu trình phát triển thác nước không có sự quay lui để chỉnh sửa

khi phát hiện sai sót trong một khâu nào đó.

11

Phân tích

Thiết kế

Mã hoá

Kiểm định

Nghiệm thu

Page 12: Phan tich thiet ke he thong thong tin

b) Chu trình tăng trưởng

Ý tưởng chính của phương pháp là dựa trên các bước tăng trưởng dần dần, cho

phép hoàn thiện hệ thống từng mảng một. Mỗi bước tăng trưởng thực hiện một tiến

trình tuyến tính để triển khi một phần có thể chuyển giao được của cả hệ thống. Quy

trình này lặp lại nhiều lần cho đến khi có một phương án hoàn chỉnh cho cả hệ thống.

Ví dụ: Trong một trường đại học, người ta dự định phát triển hệ thống quản lý đào

tạo. Các phân hệ được phát triển theo thời gian:

- Hệ thống quản lý tuyển sinh.

- Hệ thống quản lý sinh viên

- Hệ thống quản lý chương trình đào tạo

- Hệ thống quản lý thời khoá biểu, và

- Hệ thống quản lý giáo viên.

Các hệ thống này được phát triển dần dần, bàn giao xong hệ thống này với phát

triển tiếp hệ thống kia.

c) Chu trình xoắn ốc

Phương pháp này duy tri quá trình lặp một dãy các tiến trình mà qua mỗi lần thực

hiện, các tiến trình đó các mẫu được hoàn thiện dần. Theo một số tác giả thì chu trình

xoắn ốc được chia ra thành bốn giai đoạn chính:

Phát hiện các nhu cầu và xác lập các mục tiêu

Đánh giá các phương án

Thiết kế và lậ các nguyên mẫu

Thử nghiệm các mẫu

Các vòng lặp trên được tiếp tục cho đến khi xét thấy nguyên mẫu là tốt để có thể

chuyển sang sản xuất thực sự.

d) Chu trình lắp ráp các thành phần

Chu trình lắp ráp các thành phần dựa trên việc sử dụng các thành phần phần mềm.

Việc tạo lập hệ thống được thực hiện bằng cách lắp ráp các thành phần có sẵn. Vấn đề

quan trọng là cần phải xác định và thu gom các thành phần có khả năng sử dụng lại

càng sớm càng tốt. Các thành phần khác tham gia vào hệ thống có thể được điều chỉnh,

thích ứng từ các thành phần có sẵn hoặc được xây dựng từ số không.

Một số tác giả chia làm các giai đoạn:

12

Page 13: Phan tich thiet ke he thong thong tin

Nghiên cứu, nhận thức, hình thành các giải pháp và xác định các thành phần

của hệ thống. Các kết quả của giai đoạn này là một tập hợp các thành phần có

khả năng áp dụng cho hệ thống đang tạo lập cùng với các giải pháp dựa trên

chức năng của các thành phần đó.

Đánh giá, lựa chọn các thành phần thích hợp của hệ thống

Tích hợp các thành phần. Kết quả của giai đoạn này là tạo được một thành

phần nào đó (hệ con) của hệ thống toàn thể trên cơ sở lắp ráp các thành phần.

Thử nghiệm và đánh giá kết quả.

1.3.4. Phương pháp mô hình hoá hệ thống

- Mô hình: Mô hình (model) là một dạng trừu tượng hoá của hệ thống thực.

- Mục đích của mô hình hoá:

Mô hình hóa để hiểu hệ thống.

Mô hình hoá để trao đổi,

Mô hình hoá để hoàn chỉnh hệ thống,

- Các thành phần của một phương pháp mô hình hoá hệ thống:

Tập hợp các khái niệm và mô hình: Mỗi phương pháp đều phải dựa trên

một số không nhiều các khái niệm cơ bản, và sử dụng một số dạng mô

hình nhất định kèm với các kỹ thuật để triển khai hay biến đổi mô hình

đó.

Một tiến độ triển khai: bao gồm các bước đi lần lượt, các hoạt động cần

làm, các sản phẩm qua từng giai đoạn, cách điều hành với tiến độ đó và

cách đánh giá chất lượng các kết quả thu được.

Các công cụ trợ giúp: Đó là các phần mềm hỗ trợ cho quá trình mô hình hoá.

- Các bước chính: Quá trình phát triển hệ thống trên cơ sở xây dựng các mô hình

được thực hiện theo một số giai đoạn như sau:

Nghiên cứu sơ bộ hệ thống: Giai đoạn này tập trung vào việc thu thập

các thông tin, tài liệu liên quan tới cấu trúc của hệ thống và các hoạt động

của hệ thống. Mô hình được xây dựng ở giai đoạn này thường ở dạng mô

hình vật lý. Mục tiêu của việc xây dựng mô hình ở giai đoạn này là để mô

tả cách thức thực hiện các công việc trong hệ thống

13

Page 14: Phan tich thiet ke he thong thong tin

Phân tích hệ thống: Giai đoạn này tập trung vào phân tích chi tiết bản

chất của hệ thống. Các mô hình được xây dựng ở giai đoạn này tập trung

vào các câu hỏi: Hệ thống là gì, và làm những gì. Sản phẩm của giai đoạn

này là các mô hình về chức năng và các mô hình về dữ liệu.

Thiết kế hệ thống: Lựa chọn các giải pháp cài đặt nhằm thực hiện các kết

quả phân tích. Có thể coi việc thiết kế hệ thống là sự cài đặt cho mô hình

có được sau khi phân tích, trên cơ sở dung hoà các yêu cầu, các ràng buộc

và các sự kịên thực thể.

Trong các công việc đã nêu ở đây, xây dựng được coi là khâu có ý nghía quyết

định. Chất lượng của hệ thống cần xây dựng phụ thuộc hoàn toàn vào chất lượng của

mô hình. Cùng một hệ thống thực nhưng mục tiêu nghiên cứu khác nhau sẽ dẫn tới các

mô hình mô tả chúng cũng khác nhau

Do các hệ thống thực rất phức tạp, chúng có thểphức tạp theo mục tiêu, phức tạo

về dữ liệu hoặc phức tạp theo yêu cầu của người sử dụng, mà khó có thể mô tả mọi chi

tiết có liên quan tới hệ thống,. Vì vâỵ, căn cứ vào mục đích nghiên cứu mà tập trung vào

sự chú ý và các yếu tố quan trọng trong hệ thống và lựa chọn một quan điểm xem xét

thích hợp để tiếp cận hệ thống.

- Một số phương pháp mô hình hoá: Người ta thường mô hình hoá theo 2 dạng: mô

hình hoá hướng chức năng và mô hình hoá hướng đối tượng. Ta có một số phương pháp

nổi tiếng sau:

Các phương pháp "hệ thống": MERISE (H. Tardieu, A.Rochfeld 1976)

Các phương pháp chức năng hay cấu trúc:

SA (De Marco 1978)

SADT (Douglas T. Ross, 1977)

SA-RT (Ward-Mellor, 1985; Hatley-Pirbhai, 1987)

Phương pháp theo sự kiện:

State Charts (D. Harel, 1987)

Phương pháp tích hợp (O. Foucaut, O. Thiéry 1996)

Các phương pháp hướng dữ liệu

LCP, LCS (J.D Warnier, 1969-1970)

14

Page 15: Phan tich thiet ke he thong thong tin

E/A (H. Tardieu, P.Chen, 1976)

Các phương pháp hướng đối tượng:

OOA/RD ( Shlaer - Mellor, 1991-1992)

OOAD (G.Booch, 1992-1993)

OMT (J.Rumbaugh, 1992)

OOA/OOD (P.Coad, E.Yourdon, 1991)

OOSE (I.Jacobson, 1992)

Fusion (D. Coleman, 1994)

SOART (P.Lavret, 1994)

UML+RUP+Rational Rose (G.Booch, J.Rumbaugh, I.Jacobson,

1997)

15

Page 16: Phan tich thiet ke he thong thong tin

Chương 2: KHẢO SÁT HỆ THỐNG

2.1. KHẢO SÁT VÀ ĐÁNH GIÁ HIỆN TRẠNG

2.1.1. Mục đích và yêu cầu công tác khảo sát.

Thông thường thì một hệ thống mới được xây dựnglà nhằm để thay thế cho một hệ

thống cũ đã bộc lộ nhiều điều bất cập. Việc tìm hiểu nhu cầu của hệ thống mới thường

bắt đầu từ việc khảo sát và đánh giá hệ thống cũ đó.

Việc khảo sát hiện trạng nhằm mục đích là:

Tiếp cận với nghiệp vụ chuyên môn, môi trường hoạt động của hệ thống.

Tìm hiểu các chức năng, nhiệm vụ và cung cách hoạt động của hệ thống.

Chỉ ra các chỗ hợp lý của hệ thống, cần được kế thừa và các chỗ bất hợp lý

của hệ thống cần được nghiên cứu và khắc phục.

Yêu cầu của công tác khảo sát: Việc khoả sát và điều tra cần đảm bảo được các

yêu cầu như sau:

Trung thực, khách quan, phản ánh đúng tình hình thực tại.

Không bỏ sót thông tin,

Các thông tin thu thập phải được đo đếm,

Không trùng lặp, nghĩa là phải tiến hành trong một trật tự, sao cho mỗi

người được điều tra không bị nhiều người điều tra hỏi đi hỏi lại về một việc.

Không gây càm giác xấu hay phản ứng tiêu cực ở người bị điều tra: phải

luôn gợi mở, tế nhị, tuyệt đối không can thiệp vào công việc nội bộ của cơ

quan, hay làm tăng thêm các mâu thuẫn trong cơ quan.

2.1.2. Chiến lược và quy trình khảo sát.

- Chiến lược điều tra: Một cuộc điều tra phải thực hiện theo một chiến lược được

cân nhắc kỹ càng từ trước. Một chiến lược bao gồm các yếu tố sau (Hình 2.1):

Các nguồn thông tin điều tra,

Các phương pháp áp dụng cho mỗi nguồn thông tin điều tra,

Các quy trình điều tra thích hợp.

Các triển khai một chiến lược điều tra:

16

Page 17: Phan tich thiet ke he thong thong tin

- Quy trình khảo sát: Một quy trình khảo sát là một kế hoạch xác định việc khai

thác các nguồn điều tra cần được tiến hành theo trật tự nào, với các phương pháp nào và

nhằm thu thập những thông tin nào. Khi vạch ra một quy trình điều tra phải tuân thủ ba

nguyên tắc sau:

Quy trình điều tra phải hỗ trợ một cách đắc lực nhất cho phương pháp mô

hình hoá.

Quy trình điều tra phải được tiến hành từ tổng thể đến chi tiết và từ phải

được tiến hành từ trên xuống.

Quá trình điều tra phải được tiến hành lặp đi lặp lại.

2.2. NỘI DUNG KHẢO SÁT

2.2.1. Khảo sát công tác nghiệp vụ.

Mỗi một hệ thống có công tác nghiệp vụ riêng, ví dụ hệ thống kế toán cần phải

đẩm bảo nghiệp vụ kế toán, hệ thống quản lý tuyển sinh phải đảm bảo nghiệp vụ tuyển

sinh.v.v… Do đó khi xây dựng hệ thống ta cần phải nắm bắt được công tác nghiệp vụ

đối với hệ thống đó.

- Tìm hiểu môi trường xã hội, kinh tế và kỹ thuật của hệ thống; nghiên cứu cơ cấu

tổ chức của cơ quan chủ quản hệ thống đó.17

Các nguồn điều tra

Các phương pháp điều tra

Các phương pháp mô hình hoá

Chọn cácnguồn và cácphương pháp

Chọn cácquy trình điềutra thích hợp

Hình 2.1. Triển khai một chiến lược điều tra

Page 18: Phan tich thiet ke he thong thong tin

- Nghiên cứu các chức trách, nhiệm vụ, các trung tâm ra quyết định và điều hành,

sự phân cấp các quyền hạn.

- Thu thập và mô tả các quy tắc quản lý, tức là các quy định, các công thức do nhà

nước hoặc cơ quan đó đưa ra làm căn cứ cho các quá trình xử lý thông tin…

2.2.2. Khảo sát nhu cầu xử lý thông tin.

- Thu thập các đòi hỏi về thông tin, các ý kiến phê phán, phàn nàn về hiện trạng,

các dự đoán, nguyện vọng và kế hoạch cho tương lai.

- Đánh giá, phê phán hiện trạng và đề xuất ra hướng giải quyết.

2.2.3. Thu thập thông tin, tài liệu.

- Thu thập và nghiên cứu hồ sơ, sổ sách, các tẹp cùng với các phương thức xử lý

các thông tin đó.

- Thu thập các chứng từ giao dịch và mô tả các chu trình lư chuyển và xử lý các

thông tin và tài liệu giao dịch.

2.2.4. Viết báo cáo khảo sát.

Sau khi khảo sát cần viết báo cáo tổng hợp dựa trên những kết quả của khảo sát

hiện trạng để có được những thông tin tổng quát về hệ thống nhằm giúp cho việc đưa ra

những quyết định cho giai đoạn tiếp theo.

Qua các nội dung trên có thể thấy mục tiêu của người phân tích và thiết kế cần đạt

được trong giai đoạn này là :

+ Khảo sát đánh giá sự hoạt động của hệ thống cũ.

+ Đề xuất mục tiêu, ưu tiên cho hệ thống mới.

+ Đề xuất ý tưởng cho giải pháp mới.

+ Vạch kế hoạch cho dự án triển khai hệ thống mới.

2.3. MỘT SỐ PHƯƠNG PHÁP THU THẬP THÔNG TIN THÔNG DỤNG

2.3.1. Nghiên cứu tài liệu viết

Nghiên cứu tài liệu viết giống như quan sát hệ thống một cách gián tiếp. Thông

qua việc nghiên cứu tài liệu viết mà có được hình dung tổng quan về hệ thống. Các tài

liệu viết nghiên cứu có thể là:

Tài liệu giao dịch như: hoá đơn, phiếu thanh toán, thời gian biểu,…

18

Page 19: Phan tich thiet ke he thong thong tin

Tài liệu lưu trữ như: sổ ghi chép, các tập công văn, các tệp dữ liệu, các hồ sơ

cán bộ, hồ sơ dự án,…

Tài liệu tổng hợp như: các báo cáo tổng kết hàng tuần, hàng tháng, báo cáo

kiểm kê,…

Tài liệu chuẩn bị cho các buổi họp hoặc báo cáo không địng kỳ

Tài liệu quy định, quy chế nghiệp vụ.

Qua đó ta có thể thu thập được nhiều loại thông tin, từ các hoạt động chung của cơ

quan, đến các dữ liệu cơ bản, các dữ liệu cấu trúc. Việc nghiên cứu tài liệu thường kết

hợp với phỏng vấn ở mức thấp.

2.3.2. Phương pháp quan sát

Quan sát nhằm giúp cho phân tích viên có được một bức tranh khái quát về tổ chức

cần tìm hiểu và cách thức quản lý, tổ chức thực hiện các hoạt động trong hệ thống thực.

Ngoài ra, trong một số trường hợp, quan sát có thể giúp cho phân tích viên nắm bắt

được kỹ thuật xử lý công việc bằng các phương pháp truyền thống, để từ đó đưa ra kỹ

thuật xử lý cho hệ thống mới.

Ví dụ: khi theo dõi tiến trình xếp thời khoá biểu, chuyên gia tin học có thể học tập,

đúc rút những kinh nghiệm và tìm cách đưa những kinh nghiệm này vào trong các bảng

phân tích, thiết kế của mình, để cho sao lưu sau này.

Phương pháp quan sát này sử dụng 2 dạng quan sát, đó là quan sát chính thức và

quan sát không chính thức. Ví dụ: khi cần quan sát cách thức làm việc của cán bộ xếp

thời khoá biểu, chuyên gia tin học có thể đề nghị cùng làm việc với nhóm cán bộ này để

từ đó có điều kiện hiểu về công việc được đầy đủ hơn.

Việc quan sát thường đòi hỏi mất khá nhiều thời gian và việc quan sát tỉ mỉ không

phải là phương pháp hữu hiệu để thu thập thông tin cần thiết cho việc phát triển hệ

thống máy tính.

2.3.3. Phương pháp phỏng vấn

Đây là phương pháp rất quan trọng trong công tác khảo sát hệ thống, quá trình

phỏng vấn có thể cho những thông tin mà việc quan sát, nghiên cứu tài liệu viết không

thể cung cấp được.

Để có được chất lượng phỏng vấn tốt cần chú ý tới một số vấn đề sau:

19

Page 20: Phan tich thiet ke he thong thong tin

Xây dựng kế hoạch phỏng vấn: Điểm quan trọng nhất trong kế hoạch phỏng

vấn là mục tiêu của cuộc phỏng vấn. Ngoài ra cần phải xác định được danh

sách những người sẽ được phỏng vấn và kế phỏng vấn từng người.

Chuẩn bị câu hỏi có chất lượng tốt, phục vụ trực tiếp cho mục đích cuộc

phỏng vấn. Câu hỏi phải phù hợp với phạm vi liên quan của vấn đề đang được

quan tâm, phù hợp với đối tượng được phỏng vấn.

Thiết lập quan hệ tốt, mang tính hợp tác trong quá trình phỏng vấn.

Chuẩn bị tình huống phỏng vấn phải được lưu trong biên bản phỏng vấn và

nói chung phải có xác nhận kết quả phỏng vấn.

Chú ý trong quá trình phỏng vấn, người phỏng vấn dẫn dắt các câu hỏi không được

thể hiện sự áp đặt, một định kiến chủ quan.

2.3.4. Phương pháp sử dụng bảng hỏi, mẫu điều tra

Nội dung chính của phương pháp này là xây dựng hành loạt các câu hỏi và có thể

đưa ra các phương án trả lời sẵn để người học hỏi diễn câu trả lời. Vấn đề quan trọng

nhất đối vớiphương pháp này là xây dựng được danh sách các câu hỏi có chất lượng.

Mỗi câu hỏi phải có phương án trả lời xác định, tránh những câu hỏi khó trả lời hoặc

câu trả lời không xác định. Các câu hỏi phải có tác dụng kiểm tra về độ tin cậy của

thông tin trong câu trả lời.

2.4. XÂY DỰNG DỰ ÁN

2.4.1. Xác định mục tiêu và phạm vi

a) Xác định mục tiêu

Một dự án có thể gắn với nhiều mục tiêu. Tuy nhiên, việc xác định đúng đắn của

các mục tiêu là vô cùng quan trọng, vì đây sẽ là cơ sở xem xét nghiệm thu sau này.

Thông thường thì một hệ thống thông tin được xây dựng là nhằm vào các mục tiêu sau:

+ Khắc phục những yếu kém hiện tại. Đáp ứng được những nhu cầu trong tương

lai, thể hiện chiến lược phát triển lâu dài của cơ quan. Phù hợp với các hạn chế về thời

gian, chi phí, con người.

+ Mang lại lợi ích nghiệp vụ: tăng khả năng xử lý, đáp ứng yêu cầu nghiệp vụ một

cách nhanh chóng, thuận lợi, chính xác, an toàn.

20

Page 21: Phan tich thiet ke he thong thong tin

+ Mang lại lợi ích kinh tế: giảm biên chế cán bộ, giảm chi phí hoạt động, tăng thu

nhập.

b) Xác định phạm vi

Cần xác định các phạm vi:

- Phạm vi vấn đề cần giải quyết:

Danh mục các vấn đề cần giải quyết, nội dung và phạm vi giải quyết của từng vấn

đề phải được thoả mãn giữa cơ quan chủ quản và những người phát triển hệ thống

Sơ đồ phân cấp của hệ thống thông tin quản lý cần xây dựng là cơ sở chính để lập

danh mục các vấn đề cần giải quyết trong hệ thống

- Phạm vi ảnh hưởng trong tổ chức

Toàn bộ dự án và từng công việc đều có ảnh hưởng tới tổ chức và các bộ phận

trong tổ chức. Cần phải xác định rõ ràng ảnh hưởng của từng công việc đến từng bộ

phận trong tổ chức, đặc biệt là những ảnh hưởng liên quan tới nhân sự, sau đó là ảnh

hưởng liên quan tới tổ chức thực hiện các công việc

- Phạm vi về nhân lực,vật lực tài chính

Phạm vi về nhân lực vật lực và tài chính là vấn đề thường xuyên phải quan tâm.

Cần phải chú ý tới từng khía cạnh của các hạn chế. Ví dụ, hạn chế về nhân lực không

chỉ giới hạn về số lượng người tham gia vào dự án, số người tham gia vận hành sau này,

mà còn là hạn chế về trình độ, về thời gian đào tạo sau này.

2.4.2. Xây dựng giải pháp

Trong giai đoạn khảo sát, chưa có sự phân tích chi tiết các thông tin thu thập được,

có thể đưa ra một giải pháp sơ bộ về phần cứng, phần mềm để có thể xác định được

mức độ đầu tư. Giải pháp sơ bộ cho dự án phải có được các thông tin:

Chiến lược đầu tư: phần cứng, phần mềm đào tạo.

Biện pháp và kỹ thuật giải quyết cho từng vấn đề

Kiến trúc tổng thể của dự án

Khả năng của hệ thống thông tin quản lý

Các chức năng chính của hệ thống thông tin quoản lí

21

Page 22: Phan tich thiet ke he thong thong tin

Tiếp theo giải pháp sơ bộ là xây dựng giải pháp có tính khả khi. Để làm đựoc việc

này cần có phân tích chi tiết các kết quả khảo sát hệ thống về các nhiệm vụ, chức năng

của hệ thống thông tin, phạm vi giải quyết từng vấn đề và các ràng buộc thực hiện.

Giải pháp khả thi có thể được lựa từ một số giả pháp đề nghị. Các giải pháp này có

thể khác nhau về mức độ tự động hoá hoặc chi phí. Giải pháp khả thi có thể chỉ là dung

máy tính hỗ trợ cho một số công việc phức tạp: Có thể là xây dựng một hệ thống thông

tin hỗ trợ hầu hết các công việc trong tổ chức, kể cả công việc điều hành, nhưng không

gây ra nhiều thay đổi về cơ cấu tổ chức: có thể là tự động hoá ở mức cao, gây nhiều

htay đổi trong tổ chức. Dù là giải pháp nào thì tính khả thi luôn được xem xét trên

nhiều khía cạnh:

Khả thi về nghiệp vụ, tức là phải đáp ứng các yêu cầu về nghiệp vụ

Khả thi về kỹ thuật, tức là đối với yêu cầu nghiệp vụ và ràng buộc thực

hiện, phải đảm bảo về kỹ thuật và công nghệ

Khả năng tài chính , nhân , vật lực

Hình thành các yếu tố đánh giá đối với hệ thống thông tin quản lý

2.4.3. Xây dựng kế hoạch triển khai

Một số thông tin cần thiết để lập kế hoạch triển khai dự án là:

Mục tiêu đặt ra cho hệ thống thông tin

Nhiệm vụ, phạm vi và các ràng buộc thực hiện

Giải pháp có tính khả thi

Trong việc lập kế hoạch triển khai dự án thi khâu thường xuyên được quan tâm

nhiều nhất là dự trù thiết bị, kinh phí và tiến trình của dự án

Một số thông tin thường được sử dụng để dự trù thiết bị:

Thời gian khai thác tối thiểu và dự kiến tối đa

Dung lượng dữ liệu dự kiến

Phương thức xử lý và yêu cầu xủe lý

Số lượng người sử dụng

Nhu cầu kết thúc thông tin

Một số thông tin thường được sử dụng để dự trù kinh phí:

22

Page 23: Phan tich thiet ke he thong thong tin

Dự trù thiết bị

Khối lượng công việc và số lượng người tham gia thực hiện dự án

Yêu cầu về chất lượng sản phẩm

Thời gian thực hiện

Yêu cầu bảo hành

2.5. BÀI TẬP 1

Bài tập kkhảo sát hệ thống.

Để kết thúc chương, ta hãy xét một ví dụ. Ví dụ này được gọi là Ví dụ QLCƯVT,

Ví dụ này sẽ còn được dùng để minh họa cho các bước phân tích và thiết kế hệ thống

sau này.

Nhà máy X bao gồm các phân xưởng, sản xuất một số sản phẩm nhất định. Trong

quá trình sản xuất các phân xưởng sử dụng vật tư. Nhà máy có bộ phận cung ứng vật tư.

- Nhiệm vụ của bộ phận cung ứng vật tư:

Khi các phân xưởng có yêu cầu vật tư thì bộ phận cung ứng vật tư phải thực hiện

mua hàng ở các nhà cung cấp đáp ứng kịp thời cho các phân xưởng, không để xảy ra sai

sót về nhận hàng và trả tiền.

- Cơ cấu tổ chức và sự phân công trách nhiệm

Bộ phận cung ứng vật tư gồm ba tổ, hoạt động tương đối độc lập với nhau:

+ Tổ thứ nhất đảm nhiệm việc đặt hàng dựa trên các dự trù vật tư của các phân xưởng. Tổ này có sử dụng một máy tính, trên đó có một hệ chương trình gọi là hệ đặt hàng trợ giúp các việc: chọn người cung cấp, làm đơn hàng và theo dõi sự hoàn tất của đơn hàng.

+ Tổ thứ hai đảm nhiệm việc nhận và phát hàng. Tổ này cũng có một máy tính, trên đó có một hệ chương trình gọi là hệ phát hàng trợ giúp các việc: ghi nhận hàng về và làm thủ tục phát hàng cho các phân xưởng.

+ Tổ thứ ba gọi là tổ đối chiếu và kiểm tra. Sở dĩ có tổ này vì hai máy tính ở hai tổ trên là không tương thích nên không ghép nối được với nhau. Vì vậy các thông tin về đặt hàng và nhận hàng quản lý ở hai máy tính đó là hoàn toàn tách rời và do đó hàng về mà không xác định được là hàng cho phân xưởng nào. Tổ đối chiếu sẽ lấy các thông tin của các đợt đặt hàng, của các đợt nhận hàng từ hai tổ nói trên khớp lại để tìm ra phân xưởng có hàng, giúp cho tổ thứ hai phát hàng. Ngoài ra tổ đối chiếu còn có nhiệm vụ

23

Page 24: Phan tich thiet ke he thong thong tin

phát hiện các sai sót về nhận hàng và trả tiền để khiếu nại với nhà cung cấp nhằm chỉnh sửa lại cho đúng. Tổ đối chiếu làm việc hoàn toàn thủ công.

- Qui trình xử lý và các dữ liệu xử lý

Qua điều tra khảo sát, ta thấy qui trình làm việc cùng các loại chứng từ giao dịch sử dụng trong qui trình đó như sau:

Khi các nhu cầu về vật tư sản xuất, các phân xưởng lập dự trù gửi cho tổ đặt hàng, trong đó có các mặt hàng yêu cầu với số lượng tương ứng. Tổ đặt hàng trước hết chọn nhà cung cấp để dặt mua các mặt hàng nói trên. Muốn thế, nó dùng máy tính để tìm các thông tin về các nhà cung cấp được lưu trong tệp NH_CCAP. Sau đó tiến hành thương lượng với nhà cung cấp được chọn. Sau khi đã thỏa thuận, dùng hệ chương trình đặt hàng để in một đơn hàng và gửi cho nhà cung cấp. Các thông tin trên đơn hàng được lưu trong tệp đơn hàng. Trong đơn hàng mỗi mặt hàng là một yêu cầu về mặt hàng đó của một dự trù. Tuy nhiên một đơn hàng gồm nhiều mặt hàng, có thể đáp ứng yêu cầu của nhiều dự trù. Các mặt hàng yêu cầu trên một bản dự trù có thể được phân bổ lên nhiều đơn hàng khác nhau, gửi đến nhiều nhà cung cấp khác nhau. Đơn hàng gửi tới nhà cung cấp không chứa thông tin về phân xưởng dự trù. Vì vậy cần lưu mối liên hệ giữa các bản dự trù của các phân xưởng với các đơn hàng đã được phát đi trong một tệp gọi là tệp DT_ĐH, ở đó đặt liên hệ mỗi Số hiệu dự trù và mỗi Số hiệu mặt hàng với một Số hiệu đơn hàng.

Nhà cung cấp căn cứ trên đơn đặt hàng sẽ chuyển hàng đến nhà máy, kèm theo

phiếu giao hàng. Tổ nhận và phát hàng tiếp nhận hàng và cất tạm vào một kho (có nhiều

kho). Thông tin trên phiếu giao hàng và địa điểm cất hàng được lưu trong tệp nhận

hàng. Trên phiếu giao hàng, mỗi mặt hàng được giao đều có ghi rõ Số hiệu đơn hàng đã

đặt mặt hàng đó (số lượng giao có thể chưa đủ như số lượng đặt).

Hàng tuần tổ nhận hàng sử dụng hệ chương trình phát hàng, in ra một danh sách nhận hàng trong tuần gửi cho tổ đối chiếu với nội dung như sau:

SH giao hàng, Tên NH_CCAP, SH mặt hàng, Số lượng nhận, Số hiệu đơn hàng.

Cũng hàng tuần tổ Đặt hàng sử dụng hệ chương trình đặt hàng, in ra một danh sách Đặt hàng trong tuần, gửi cho tổ Đối chiếu với nội dung như sau:

SH đơn hàng, Tên NH_CCAP, SH mặt hàng, Số lượng đặt, Số hiệu dự trù, SH phân xưởng.

Tổ Đối chiếu khớp hai danh sách này, tìm ra SH đơn hàng và SH mặt hàng chung

từ đó xác định được lượng hàng nào là cần phát về cho phân xưởng nào. Danh sách các

địa chỉ phát hàng được lập và gửi cho tổ nhận và phát hàng, để tổ này chuyển hàng kèm

theo phiếu phát hàng cho các phân xưởng.24

Page 25: Phan tich thiet ke he thong thong tin

Tổ đối chiếu và kiểm tra còn có nhiệm vụ tiếp nhận hóa đơn từ nhà cung cấp gửi

đến, đối chiếu với hàng đã nhận, nếu chính xác thì xác nhận chi lên hóa đơn và gửi cho

bộ phận thanh toán để làm thủ tục trả tiền. Nếu phát hiện có sự không khớp giữa hàng

đặt, hàng nhận và tiền phải trả thì khiếu nại với nhà cung cấp để chỉnh sửa lại. Việc

kiểm tra thường có khó khăn, vì nhiều khi nhà cung cấp không đủ hàng, chưa đáp ứng

đủ hàng, mà còn nợ một phần để giao sau. Về phía nhà máy, có khi chưa đủ tiền để trả

theo hoá đơn, mà còn nợ lại một phần để trả sau. Tổ Đặt hàng thì muốn biết đơn hàng

do mình phát ra đã hoàn tất hay chưa nên tổ này đã yêu cầu bộ phận thanh toán mỗi khi

trả tiền cho nhà cung cấp thì gửi cho tổ một bản ghi trả tiền. Thông tin trả tiền này được

cập nhật vào tệp đơn hàng , nhờ đó biết đơn hàng nào là đã hoàn tất.

Qua giai đoạn khảo sát ở trên ta đánh giá hiện trạng của hệ thống.

Yếu kém:o Thiếu : Không có kho hàng thông dụng để lưu tạm thời các mặt hàng nhập về

và tạm thời chưa sử dụngo Kém hiệu lực do:

- Giải quyết đơn hàng, dự trù quá chậm do cách đối chiếu thủ công và cách lấy thông tin

- Theo dõi việc thực hiện đơn hàng không sát, xảy ra nhiều sai sót do phân tán về quản lý.

o Tổn phí: tốn nhân lực ở khâu đối chiếu và kiểm tra bằng tay.

Mục tiêu

o Thêm hàng vào kho thông dụng

o Khắc phục 2 điều kém hiệu lực bằng cách tổ chức lại để rút ngắn quá trình giải

quyết 1 dự trù hàng

o Tổ chức lại để theo dõi thực hiện đơn hàng chặt chẽ, tránh sai sót.

o Cố gắng tận dụng phần mềm và phần cứng đã có.

Phác hoạ các giải pháp:

Ở đây ta đưa ra 5 giải pháp để cân nhắc lựa chọn:

Giải pháp 1: Tạo kênh liên lạc để kết nối hai máy tính, xóa bỏ tổ đối chiếu và kiểm tra. Giải pháp này vi phạm tính khả thi về kỹ thuật vì giả thiết 2 máy không tương thích

Giải pháp 2: Gộp hệ đặt hàng vào hệ phát hàng hay ngược lại nhằm loại bỏ một máy tính , bỏ tổ đối chiếu và kiểm tra.

25

Page 26: Phan tich thiet ke he thong thong tin

Giải pháp 3: Loại bỏ 2 máy tính đưa các toàn bộ các nhiệm vụ vào trung tâm máy tính của nhà máy.

Giải pháp 4: Thêm một máy tính để giải quyết khâu đối chiếu. Ba máy tính được kết nối

Giải pháp 5: Chuyển nhiệm vụ nhận dự trù từ hệ Đặt hàng sang hệ Phát hàng. Như vậy hệ ĐH làm nhiệm vụ mua hàng và kiểm tra việc thực hiện đơn hàng. Hệ PH vừa quản lý dự trù, vừa nhận và phát hàng, vừa quản lý kho dự trữ.

Cân nhắc tính khả thi và lựa chọn giải pháp

- Các giải pháp 1 và 4 là không khả thi về kỹ thuật vì các máy tính đã có là không

tương thích nên không thể ghép nối được.

- Giải pháp 2 là có thể được, nếu máy tính cũ giữ lại đủ mạnh. Tuy nhiên nếu hai

máy tính là không tương thích đến mức không chạy được chương trình của nhau, thì

như vậy ít ra cũng phải viết lại khoảng một nửa số chương trình ( kém khả thi về kinh

tế)

- Giải pháp 3 là rất có ích nếu thông tin về cung ứng vật tư còn được sử dụng ở

một số bộ phận khác trong cơ quan. Tuy nhiên dường như cung ứng vật tư chỉ là một

công việc đóng khung trong một bộ phận nhỏ, và như vậy sẽ phải tốn kém cho việc viết

lại tất cả các chương trình.

- Giải pháp 5 là một giải pháp có tính chất thỏa hiệp. Hai máy tính cũ cùng hai hệ

chương trình được tận dụng triệt để. Việc đưa thêm kho hàng dự trữ cùng với các cải

tiến mới về khâu phát hiện địa chỉ phát hàng và kiểm tra đã đáp ứng được các mục tiêu,

mà không gây tốn kém nhiều. Do đó giải pháp 5 đã được chọn.

26

Page 27: Phan tich thiet ke he thong thong tin

Chương 3: PHÂN TÍCH HỆ THỐNG VỀ CHỨC NĂNG

3.1. BIỂU ĐỒ PHÂN CẤP CHỨC NĂNG

3.1.1. Các khái niệm

- Định nghĩa: Biểu đồ phân cấp chức năng (BPC) là công cụ biểu diễn việc phân rã

có thứ bậc đơn giản các công việc cần thực hiện. Mỗi chức năng được ghi trong một

khung và nếu cần sẽ được phân thành những chức năng con, số mức phân ra phụ thuộc

vào kích cỡ và độ phức tạp của hệ thống.

BPC là công cụ khởi đầu để mô tả hệ thống qua chức năng, là một trong những mô

hình tương đối đơn giản, dễ hiểu, thân thiện với người sử dụng mà ký thuật mô hình hoá

lại không quá phức tạp, nó rất có ích cho các giai đoạn sau. Một khâu rất quan trọng

trong khi xây dựng biểu đồ phân cấp chức năng là xác định chức năng.

- Chức năng: là khái niệm dùng để mô tả công việc cần thiết sao cho công tác

nghiệp vụ được thực hiện. Trong chức năng không cần thiết nêu ra rằng nghiệp vụ đó

được thực hiện ở đâu?, như thế nào?, bởi ai? có nghĩa là nó không quan tâm đến các yếu

tố vật lý của vấn đề mà chỉ quan tâm tới khía cạnh hình thức, logic của vấn đề.

Ví dụ: Chức năng lập thời khoá biểu dùng để mô tả cho công tác nghiệp vụ của

một một trường học nào đó có nhiệm vụ thu thập thông tin về số lớp học, sĩ số của từng

lớp, số phòng học, phân công nhiệm vụ giảng dạy của từng giáo viên để từ đó sắp xếp

tạo ra một thời khoá biểu chung cho toàn trường.

Để hiểu rõ hơn các chức năng ta cần phân rã, hay nói cách khác là mô tả chúng chi

tiết hơn nữa. Để làm việc này chúng ta có thể sử dụng BPC.

Thành phần của biểu đồ bao gồm:

+ Các chức năng:

- Tên chức năng: mỗi chức năng phải có một tên duy nhất dưới dạng động từ-

bổ ngữ.

Ví dụ: Lấy đơn hàng, mua hàng, lập thời khoá biểu.

- Ký hiệu: chức năng được ký hiệu bằng hình chữ nhật bên trong có tên chức

năng.

Ví dụ:

27

Mua hàng

Page 28: Phan tich thiet ke he thong thong tin

+ Kết nối: Kết nối giữa các chức năng mang tính chất phân cấp và được ký hiệu

bằng đoạn thẳng nối chức năng “cha” với các chức năng “con”.

Đặc điểm của BPC

+ Các chức năng được nhìn thấy một cách khái quát nhất, trực quan, dễ hiểu, thể

hiện tính cấu trúc của phân rã chức năng.

+ Dễ thành lập vì tính đơn giản: Nó trình bày hệ thống phải làm gì hơn là hệ thống

làm như thế nào ?

+ Mang tính chất tĩnh vì bỏ qua mối liên quan thông tin giữa các chức năng. Các

chức năng không bị lặp lại và không dư thừa.

+ Rất gần gũi với sơ đồ tổ chức nhưng ta không đồng nhất nó với sơ đồ tổ chức:

phần lớn các tổ chức của doanh nghiệp nói chung thường gắn liền với chức năng.

Vì những đặc điểm trên mà BPC thường được sử dụng làm mô hình chức năng

trong bước đầu phân tích.

Ví dụ: Xét hệ thống quản lý bán hàng tại một công ty cung ứng vật tư. Khi có nhu

cầu mua hàng khách hàng gửi Đơn đặt hàng cho bộ phận nhận đơn hàng. Bộ phận này

xem xét tính hợp lệ của đơn đặt hàng ( xem xét về khách hàng, về mặt hàng trong đơn ).

Nếu đơn hàng được chấp nhận thì sẽ được chuyển sang bộ phận thanh toán và khách

hàng trả tiền cho bộ phận này. Bộ phận giao hàng căn cứ vào đơn hàng đã được chấp

nhận gom hàng từ các kho, đóng gói và giao hàng cho khách hàng.

Biểu đồ phân cấp chức năng của hệ thống này được mô tả như sau:

28

QUẢN LÝ BÁN HÀNG

Nhận đơn hàng hµng

Giao hàng Thanh toán

Tiếp nhận đơn đặt

hàng

Kiểm tra

khách hàng

Kiểm

tra mặt

hàng

Tập trung mặt hàng

Đóng gói

bao bì

Giao hàng cho

khách

Page 29: Phan tich thiet ke he thong thong tin

3.1.2. Kỹ thuật phân rã

Kỹ thuật phân rã hay còn gọi là “phân tích từ trên xuống” tiến hành sự phân tích

chức năng của hệ thống bằng cách đi dần từ một mô tả cụ thể đến những mô tả chi tiết

thông qua nhiều mức. Sự chuyển dịch từ một mức tới mức tiếp theo thực chất là sự phân

rã chức năng ở mức trên thành một số các chức năng ở mức dưới. Vậy đây là quá trình

triển khai theo một cây, và chính vì vậy mà phương pháp này còn có tên là phương pháp

phân tích có cấu trúc.

Có hai cách vận dụng kỹ thuật phân rã : dùng biểu đồ phân cấp chức năng (BPC)

và dùng biểu đồ luồng dữ liệu (BLD).

Với BPC, thì phân tích trên xuống thực hiện bằng cách triển khai dần cây phân

cấp từ gốc đến ngọn lần lượt qua các mức (mỗi mức bao gồm một tâp hợp các chức

năng). Để triển khai từ một mức đến mức tiếp theo ta xem xét từng chức năng và đặt

câu hỏi: để hoàn thành chức năng đó thì phải hoàn thành các chức năng con nào . Nhờ

đó ta phát hiện các chức năng thuộc mức tiếp theo mà mối liên quan với các chức năng

ở mức trên là quan hệ bao hàm (hay cha-con). Tên của mỗi chức năng (ở mỗi nút của

cây) được chọn lựa để có thể phản ánh một cách ngắn gọn nội dung của chức năng đó.

Chức năng ở gốc (mức 0) thể hiện nhiệm vụ tổng quát của hệ thống.

Ví dụ: Xét hệ thống hoạt động tín dụng của ngân hàng. Đây là một trong lĩnh vực

hoạt động của ngân hàng bên cạnh các hệ thống tiết kiệm, chuyển khoản.

Sơ đồ luân chuyển thông tin của hệ thống

29

Cho vay

Khách hàng Lưu hồ sơ

Thu nợ

Hệ thống tín dụngHồ sơ

Trả nợ

Giấy báo

Trả lời

Page 30: Phan tich thiet ke he thong thong tin

Đối với khách hàng đến vay tiền ở ngân hàng thì phải có một hồ sơ (gồm: Đơn xin

vay, chứng minh thư) và yêu cầu được vay. Nếu hồ sơ hợp lệ hoặc không hợp lệ thì hệ

thống sẽ trả lời khách hàng.

Đối với ngân hàng nếu yêu cầu và hồ sơ của khách vay hợp lệ tức là yêu cầu của

khách hàng được đáp ứng thì ngân hàng lập một tài khoản tương ứng với khế ước vay

mà ngân hàng quy định về số tài khoản, thời gian vay, mức lãi xuất và ngày hoàn trả.

Khách vay phải thanh toán (gốc + lãi) cho ngân hàng theo đúng hạn ghi trên khế ước

vay, nếu quá hạn khách hàng không đến trả ngân hàng thì hệ thống sẽ thông báo với

khách hàng đồng thời áp dụng mức lãi xuất quá hạn.

Đến kỳ hạn hoản trả khách vay đến thanh toán (trả nợ) bộ phận thu nợ tính ra số

tiền mà khách hàng phải trả, căn cứ vào ngày vay, ngày hoàn trả và lãi xuất.

Sau đó hệ thống đối chiếu với tài khoản gốc, in hoá đơn thanh toán và thông báo

tới khách hàng.

Xây dựng biểu đồ phân cấp chức năng của hệ thống

Hệ thống bao gồm có các mức sau:

Mức 0: Hoạt động của hệ thống tín dụng

Mức 1: Gồm các chức năng sau:

- Cập nhật dữ liệu

- Thu nợ

- Thống kê và tra cứu

- In ấn

Mức 2: gồm các chức năng cập nhật khách hàng, xác định mức lãi xuất, lập khế

ước là các chức năng con của chức năng Cập nhật dữ liệu; Xác nhận hoàn trả, ghi nhận

trả đúng hạn, ghi nhận trả sai hạn là các chức năng con của chức năng Thu nợ; thống kê

khách vay, thống kê nợ quá hạn, tra cứu theo mã khách là các chức năng con của chức

năng tra cứu theo mã khách; In hóa đơn thanh toán, in phiếu báo nợ là các chức năng

con của chức năng In ấn

Qua phân tích các chức năng ở trên ta xây dựng được biều đồ phân cấp chức năng

của hệ thống như sau:

30

Page 31: Phan tich thiet ke he thong thong tin

Tuy nhiên qua một cách phân tích khác chúng ta có thể nhận được BPC khác như

đưới đây. Điều đó không có mâu thuẫn gì do quan niệm của yêu cầu hệ thống và cách

phân tích.

Dễ thấy quá trình phân tích với BPC , mà thực chất là sự phân rã dần dần các

chức năng là tự nhiên và dễ làm. Tuy nhiên kết qua thu được có thể nói là nghèo nàn: hệ

thống chỉ được diễn tả bằng một tập hợp các chức năng rời rạc (ở một mức của BPC).

Vì vậy cách làm này chỉ thích hợp cho sự phân tích bước đầu, hoặc cho các hệ thống

đơn giản .

31

Làm tín dụng

Cho vay Thu nợ

Xác định kỳ hạn

trả

Xử lý nợ trả trong hạn

Xử lý nợ trả ngoài hạn

Nhận đơn

Duyệt vay

Trả lời đơn

HỆ THỐNG TÍN DỤNG NGÂN HÀNG

Cập nhật Thu nợ Thống kê In ấn

Hồ sơ khách hàng

Mức lãi suất

Kế ước

Xác định hoàn trả

Ghi nhận trả đúng hạn

Ghi nhận trả sai hạn

Thống kê khách vay

Tra cứu khách

Hoá đơn thanh toán

Phiếu báo nợ

Page 32: Phan tich thiet ke he thong thong tin

3.2. BIỂU ĐỒ LUỒNG DỮ LIỆU

3.2.1. Các khái niệm

Biểu đồ luồng dữ liệu (Data Flow Diagrams - BLD) là một loại biểu đồ nhằm mục

đích diễn tả một qúa trình xử lý thông tin với các yêu cầu sau:

- Sự diễn tả là ở mức logic, nghĩa là nhằm trả lời câu hỏi "Làm gì?" mà bỏ qua câu

hỏi "Làm như thế nào?".

- Chỉ rõ các chức năng (con) phải thực hiện để hoàn tất quá trình xử lý cần mô tả.

- Chỉ rõ các thông tin được chuyển giao giữa các chức năng đó và qua đó phần nào

thấy được trình tự thực hiện của chúng.

BLD là công cụ chính của quá trình phân tích, nhằm mục đích thiết kế trao đổi và

tạo lập dữ liệu. Nó thể hiện rõ ràng và khá đầy đủ các nét đặc trưng của hệ thống trong

các bước phân tích, thiết kế và trao đổi dữ liệu.

Hình thức biểu diễn: Trong một số tài liệu khác nhau với các phương pháp tiếp cận

khác nhau người ta thường dùng các ký hiệu không hoàn toàn giống nhau. Tuy vậy các

thành phần cơ bản không thay đổi và nó được sử dụng nhất quán trong các quá trình

phân tích, thiết kế.

3.2.2. Các thành phần của biểu đồ luồng dữ liệu

BLD gồm có các thành phần sau:

- Chức năng xử lý (Process)

- Luồng dữ liệu (Data Flows)

- Kho dữ liệu (Data Store)

- Tác nhân ngoài (External Entity)

- Tác nhân trong (Internal Entity)

a) Chức năng xử lý (Process)

+ Khái niệm: Chức năng xử lý được hiểu là các quá trình biến đổi thông tin, từ

thông tin vào nó biến đổi, tổ chức lại thông tin, bổ xung thông tin hoặc tạo ra thông tin

mới tổ chức thành thông tin đầu ra phục vụ cho hoạt động của hệ thống như lưu vào kho

dữ liệu hoặc gửi cho các chức năng khác.

+ Biểu diễn: Chức năng xử lý được biểu diễn bằng hình tròn hay hình ôvan, trong

đó có ghi tên của chức năng.

+ Tên chức năng: Bởi vì chức năng là các thao tác nên tên phải được dùng là một

động từ cộng với bổ ngữ nếu cần, cho phép hiểu một cách vắn tắt chức năng làm gì.

32

Page 33: Phan tich thiet ke he thong thong tin

Ví dụ: Chức năng “Mua hàng”, “Nhận đơn hàng”

Cần chú ý rằng tên của chức năng trong biểu đồ luồng dữ liệu phải trùng với tên đã

được đặt trong biểu đồ phân cấp chức năng. Khi xây dựng biểu đồ luồng dữ liệu nếu có

chức năng nào không tạo ra thông tin mới thì nó chưa phải là chức năng trong biểu đồ

luồng dữ liệu và khi đó cần phải xem xét lại biểu đồ phân cấp chức năng. Thông thường

nên xem xét đến khả năng chức năng này đã bị tách ra khỏi chức năng khác một cách

không hợp lý.

b) Luồng dữ liệu

+ Khái niệm: Luồng dữ liệu là luồng thông tin vào hay ra của một chức năng xử

lý. Bởi vậy luồng dữ liệu được coi như các giao diện giữa các thành phần của biểu đồ.

+ Biểu diễn: Luồng dữ liệu trên biểu đồ được biểu diễn bằng mũi tên có hướng

trên đó có ghi tên là tên luồng thông tin mang theo. Mũi tên để chỉ hướng của luồng

thông tin.

+ Tên luồng dữ liệu: Vì thông tin mang trên luồng, nên tên là danh từ cộng với tính từ

nếu cần thiết, cho phép hiểu một cách vắn tắt nội dung của dữ liệu được chuyển giao.

Các luồng dữ liệu và tên được gán cho chúng là các thông tin “logic” chứ không

phải là các tài liệu vật lý - giá mang thông tin. Tuy nhiên trong một số trường hợp tên

dòng dữ liệu trùng (hoặc ta đã quen dùng) với tên tài liệu vật lý.

Ví dụ: “Hoá đơn”, “Hoá đơn đã kiểm tra”, “Điểm thi”, “Danh sách thi lại” , "Phiếu

nhập", "Hồ sơ dự thi"

Ví dụ về chức năng xử lý và luồng dữ liệu tương ứng

33

Mua hàng

Nhận đơn hàng

Nhận hồ sơ

Hồ sơ dự thi Hồ sơ đã kiểm tra

Hoá đơn

Page 34: Phan tich thiet ke he thong thong tin

c) Kho dữ liệu

+ Khái niệm: Kho dữ liệu là các thông tin cần lưu giữ lại trong một khoảng thời

gian, để sau đó một hay một vài chức năng xử lý, hoặc tác nhân trong sử dụng.

+ Biểu diễn: Kho dữ liệu được biểu diễn bằng cặp đoạn thẳng song song trên đó có

ghi tên của kho.

+ Tên: Bởi vì kho chứa các dữ liệu nên tên của kho là danh từ kèm theo tính từ nếu

cần thiết, nó nói lên nội dung thông tin chứ không phải là giá mang thông tin.

Ví dụ: Kho “Hồ sơ Cán bộ”, “Độc giả” v.v...

Biểu diễn mối liên quan giữa chức năng xử lý, kho dữ liệu, luồng dữ liệu trong

biểu đồ luồng dữ liệu:

Ví dụ: việc quản lý lương của cán bộ, công nhân viên tại một cơ quan. Khi có

nhân viên mới về cơ quan phải gửi các thông tin về lương của cá nhân cho bộ phận này.

Bộ phận này kiểm tra tính đầy đủ và chính xác của các thông tin và lưu trữ các thông tin

này. Theo định kỳ làm các bảng lương đồng thời thường xuyên cập nhật các thông tin

mới về lương cho cán bộ công nhân viên.

Ta có thể mô tả mô tả các công việc đó của bộ phận quản lý lương như sau:

34

Cập nhật kho Lấy thông tin từ kho

Vừa lấy thông tin vừa cập nhật

Hồ sơ

Cập nhật hồ

Hồ sơ

Làm bảng lương

Hồ sơ

Hiệu chỉnh lương

Page 35: Phan tich thiet ke he thong thong tin

Một số chú ý khi xác định các kho dữ liệu:

- Không có luồng dữ liệu giữa hai kho dữ liệu

- Nói chung kho đã có tên nên luồng dữ liệu vào ra kho không cần tên chỉ khi việc

cập nhật, hoặc trích từ kho chỉ một phần thông tin ở kho, người ta mới dùng tên cho

luồng dữ liệu

- Đối với kho dữ liệu phải có ít nhất một luồng dữ liệu vào và ít nhất một luồng ra.

Nếu kho chỉ có luồng vào mà không có luồng ra là kho “vô tích sự”, nếu kho chỉ có

luồng ra mà không có luồng vào là kho “rỗng”.

-Trong biểu đồ luồng dữ liệu ta có thể đặt một kho dữ liệu ở nhiều nơi để thuận lợi

cho việc theo dõi. (nhưng phải hiểu chỉ là một).

d) Tác nhân ngoài

Tác nhân ngoài còn được gọi là Đối tác, là một người, một nhóm người hay một tổ

chức ở bên ngoài lĩnh vực nghiên cứu của hệ thống nhưng có tiếp xúc, trao đổi thông tin

với hệ thống. Sự có mặt của các nhân tố này trên sơ đồ chỉ ra giới hạn của hệ thống, và

định rõ mối quan hệ của hệ thống với thế giới bên ngoài. Điều đáng chú ý là hiểu nghĩa

“ngoài lĩnh vực nghiên cứu” không có nghĩa là bên ngoài tổ chức, chẳng hạn như với

hệ thống xử lý đơn hàng thì bộ phận kế toán, bộ phận mua hàng và các bộ phận kho

tàng vẫn là tác nhân ngoài. Đối với hệ thống tuyển sinh đại học thì tác nhân ngoài vẫn

có thể là thí sinh, giáo viên chấm thi và hội đồng tuyển sinh.

Tác nhân ngoài là phần sống còn của hệ thống, chúng là nguồn cung cấp thông tin

cho hệ thống cũng như chúng nhận các sản phẩm thông tin từ hệ thống.

+ Biểu diễn: Bằng hình chữ nhật có tên

+ Tên: Được xác định bằng danh từ kèm theo tính từ nếu cần thiết

Ví dụ:

35

Thí sinh Khách hàng

Page 36: Phan tich thiet ke he thong thong tin

Một số chú ý với tác nhân ngoài khi xây dựng biểu đồ

- Trong biểu đồ không có luồng dữ liệu giữa hai tác nhân ngoài .

- Trong một biểu đồ luồng dữ liệu ta có thể đặt một tác nhân ngoài ở nhiều chỗ để

dễ đọc, dễ hiểu (nhưng phải hiểu chỉ là một).

Trong biểu đồ luồng dữ liệu không có luồng dữ liệu giữa tác nhân ngoài với kho

dữ liệu

e) Tác nhân trong

+ Khái niệm: Tác nhân trong là một chức năng hay một hệ thống con của hệ thống

được mô tả ở trang khác của biểu đồ, nhưng có trao đổi thông tin với các phần tử thuộc

trang hiện tại của biểu đồ. Thông thường mọi biểu đồ có thể bao gồm một số trang, đặc

biệt là trong các hệ thống phức tạp và với khuôn khổ giấy có hạn thông tin được truyền

giữa các quá trình trên các trang khác nhau được chỉ ra nhờ ký hiệu này. ý nghĩa của tác

nhân trong với ký hiệu tương tự như nút tiếp nối của sơ đồ thuật toán.

+ Biểu diễn: Tác nhân trong biểu diễn bằng hình chữ nhật hở một phía và trong có

ghi tên.

+ Tên tác nhân trong: Được biểu diễn bằng Động từ kèm bổ ngữ nếu cần.

Khi xây dựng biểu đồ một tác nhân trong có thể được đặt ở nhiều nơi trong biểu

đồ cho dễ đọc, dễ hiểu.

Ví dụ: BLD diễn tả hệ thống cung ứng vật tư trong Ví dụ QLCƯVT ở phần trước.

4 chức năng chính:

Đặt hàng

36

Quản lý kho Tính lương

Page 37: Phan tich thiet ke he thong thong tin

Nhận, phát hàng

Đối chiếu và kiểm tra

Thanh toán

Tác nhân ngoài

Phân xưởng

Nhà cung cấp

Ta có biểu đồ lường dữ liệu sau:

3.2.3. Phân rã biểu đồ luồng dữ liệu theo mức

Với BLD thì quá trình phân rã từ trên xuống lại là quá trình thành lập dần dần các

BLD diễn tả các chức năng của hệ thống theo từng mức.

Mỗi mức là một tập hợp các BLD:

Mức bối cảnh hay khung cảnh (còn gọi là mức 0) chỉ có một BLD, trong

đó chỉ có một chức năng duy nhất - chức năng tổng quát của hệ thống và các

luồng thông tin trao đổi với các tác nhân ngoài.

Mức đỉnh (còn gọi là mức 1) cũng chỉ có một BLD gồm các các chức

năng chính của hệ thống.

Các mức dưới đỉnh( còn gọi là các mức 2,3,4,...) , mỗi mức gồm nhiều

BLD được thành lập như sau:

37

Đơn hàng

Hệđặt hàng Nhà cung cấp

Hệphát hàngPhân xưởng

Thương lượng mua hàng

Đơn hàng

Dự

trù

Hàng nhận

Phiếu giao hàng

Thanhtoán

Đối chiếu & Kiểm tra

ĐH/Dự trù

Danh sách hàng về

Địa chỉ phát hàng

Page 38: Phan tich thiet ke he thong thong tin

Với mỗi chức năng mức trên, ta thành lập một BLD ở mức dưới, gọi là BLD định

nghĩa (hay giả thích, diễn tả), chức năng đó, theo cách sau:

Phân rã chức năng đó nthành nhiều chức năng con.

Vẽ tại các luồng dữ liệu vào và ra chức năng trên nhưng nay phải vào hay

ra ở các chức năng con thích hợp;

Nghiên cứu các quan hệ về dữ liệu giữa các chức năng con, nhờ đó bổ

xung các luồng dữ liệu nội bộ hoặc các kho dữ liệu nội bộ.

Cách đánh số các chức năng

Các chức năng được đánh số theo ký pháp chấm theo dõi vệt triển khai từ trên

xuống.

Các chức năng ở mức đỉnh được đánh số 1.2.3,....

Các chức năng ở các mức dưới đỉnh, chẳng hạn các chức năng mức 2

được đánh số là: 1.1, 1.2,...,2.1, 2.2,... Các chức năng mức 3 được đánh số là:

1.1.1, 1.1.2,...,2.1.1, 2.1.2,...

Khi triển khai dần các mức như trên ta phải tuân thủ một số quy tắc sau đây, gọi là

các quy tắc về sự tương hợp giữa các mức:

Khi định nghĩa một chức năng ở mức trên thành một BLD ở mức dưới thì

các luồng dữ liệu vào và ra chức năng đó phải được bảo toàn, nghĩa là phải

được vẽ lại đầy đủ trong BLD định nghĩa. Khi bảo toàn từ mức trên xuống

mức dưới như vậy thì một luồng dữ liệu có thể phân rã ra thành nhiều luồng

con, nếu cần.

Các tác nhân ngoài phải xuất hiện toàn bộ trong BLD khung cảnh, và

không được phát sinh mới ở các mức dưới. Tuy nhiên có thể vẽ lại một tác

nhân ngoài ở mức dưới nếu thấy cần (chẳng hạn để thấy nơi xuất phát hoặc

nơi đến của một luồng dữ liệu nào đó).

Các kho dữ liệu không xuất hiện trong BLD bối cảnh. Tuy nhiên chúng

dần dần phát sinh ở các mức dưới khi cần đến .

Ví dụ 1: Trở lại Ví dụ về hệ thống thông tin ở cơ sở tín dụng thì quá trình phân tích

trên xuống là như sau:

- Mức khung cảnh (mức 0): chức năng tổng quát của hệ thống là: Làm tín dụng.

Tác nhân ngoài của hệ thống là khách vay(cũng có thể con có những đối tác khác như là

38

Page 39: Phan tich thiet ke he thong thong tin

Ngân hàng, chính quyền địa phương v.v., song ta tạm thời lược bỏ cho đơn giản ). Bổ

sung các luồng dữ liệu trao đổi giữa hệ thống và tác nhân ngoài, ta có biểu đồ luồng dữ

liệu khung cảnh như sau:

- Mức đỉnh (mức 1): Chức năng làm tín dụng có thể phân rã thành hai chức năng

con là Cho vay và thu nợ. Ngoài ba luồng dữ liệu vào / ra ở mức khung cảnh được bảo

toàn, thì ta thấy luồng thông tin trao đổi giữa hai chứcc năng cho vay và thu nợ là

không trực tiếp, mà phải thông qua một kho dữ liệu , là sổ nợ. Từ đó có BLD mức đỉnh

như sau:

- Mức dưới đỉnh (mức 2) Chức năng 1 được phân rã thành ba chức năng: Nhận

đơn, duyệt vay và trả lời đơn . Còn chức năng 2 thì được phân rã thành 3 chức năng:

Xác đinh kỳ hạn trả , xử lý nợ trả trong hạn và xử lý trả nợ ngoài hạn. Bảo toàn các

luồng DL vào/ra và thêm các luồng DL nội bộ, ta lập được hai BLD định nghĩa hai chức

năng 1 và 2 như sau:

Định nghĩa chức năng 1

39

Khách vayHệ thốngtín dụng

Đơn vay

Phiếu thu

1.Cho vay

Khách vay

Hoàn trả

Sổ ghi nợ

2.Thu nợ

Trả lời đơn vay

Page 40: Phan tich thiet ke he thong thong tin

Định nghĩa chức năng 2

Ví dụ 2: Biểu đồ luồng dữ liệu của hệ thống quản lý thư viện

- Mức khung cảnh:

- Mức đỉnh:

40

1.1Cho vay

Khách vay

Từ chối/Đáp

ứng vay

Sổ ghi nợ

1.3Trả lời

đơn

Đơn vay

1.2Duyệt vay

Đơn đã kiểm tra

Đơn đã duyệt

2.2XL nợ

trong hạn

Khách vay

2.3XL nợ sai hạn

Hoàn trả 2.1Xác địnhloại trả

Phiếu thu

Nợ trả trong hạn

Sổ ghi nợ

Phiếu thu

Nợ trả ngoài hạn

Nguồn c/cấp sáchĐộc giả

Hệ thốngQL thư viện

Kiểm tra và

đáp ứng yêu cầu

Cung cấp sách

Yêu cầu cung cấp sách

Làm thẻ

Yêu cầu mượn

Page 41: Phan tich thiet ke he thong thong tin

CChú ý:

Nếu cùng một hệ thống, mà ta tiến hành phân tích bằng cả hai cách:

dùng BPC và dùng BLD thì đương nhiên giữa hai mô hình phải có mối liên

quan ăn khớp: Luôn luôn phải có ánh xạ 1-1 giữa các chức năng trong BPC

với các chức năng trong các BLD tương ứng.

41

Nguồn c/cấp sách

Độc giả

QL sách và tài liệu

Yêu cầu

Cung cấp

Yêu cầu làm thẻ

QL Mượn

Trả

Sách & tài liệu

Cập nhật

Thông tin sách & tài liệuThẻ +Yêu cầu

Thẻ +sách/tài liệu

Sách mượn

Sách trả

Xét và cấp thẻ

Độc giảQL sách và tài liệu

Page 42: Phan tich thiet ke he thong thong tin

Quá trình triển khai trên xuống không thể kéo dài mãi, mà phải dừng

sau một số mức. Ta quyết định dừng quá trình, khi có những biểu hiện sau:

Các chức năng đã là khá đơn giản .

Với các hệ thống vừa và nhỏ số mức thường là 3, với các hệ thống

lớn số mức cũng chỉ khoảng 6

Khi dừng việc triển khai bằng BLD, thì mỗi chức năng trong các BLD ở mức cuối

cùng, ta phải cho một đặc tả trực tiếp.

Quá trình triển khai đã làm phát sinh rất nhiều tên gọi: tên chức năng, tên luồng dữ

liệu, tên kho dữ liệu. Các tên đó rất dễ gây lầm lẫn cho các người dùng cũng như các

người thiết kế sau này. Vậy phải lập một từ điển dữ liệu để giải thích các tên gọi đó.

3.2.4. Mô hình vật lý và mô hình logic

Việc phân tích thường được bắt đầu từ các mô hình chứa nhiều yếu tố vật lý mà

mục đích của phân tích là đi tới một mô hình lôgic của hệ thống . Quá trình phân mức

nói ở mục trên chỉ có thể dẫn ta vào những mô tả chi tiết, chứ không phải là đã đưa đến

những mô tả lôgic. Bởi vì trong mô tả mà ta thu được(dưới dạng các BLD) thì vãn còn

lẫn các yếu tố vật lý nào đó. Nhất là khi sự mô tả mà ta thành lập lại dựa trên sự khảo

sát một hệ thống đang tồn tại , đang hoạt động , thì các yếu tố vật lý vốn đầy dẫy trong

thực tế, sẽ có nhiều cơ hội lọt qua sự sàng lọc của người phân tích để đi vào các BLD

được thành lập.

Có ba loại yếu tố vật lý có thể lẫn vào các BLD:

(1) Các yếu tố vật lý xuất hiện tường minh trong ngôn từ hay hình vẽ ở ttrong

biểu đồ như là:

Các phương tiện, phương thức được dùng để thực hiện các chức

năng (như máy tính, bàn phím, máy in, xủ lý thủ công v.v…)

Các giá mang thông tin (như đĩa từ, sổ sách, chứng từ trên giấy ,

đường điện thoại ...)

Các tác nhân thực hiện chức năng (như giám đốc, kế toán viên, thủ

kho ...)

(2) Các chức năng vật lý, đó là những chức năng gắn liền với một công cụ hay

một biện pháp xử lý nhất định , và sẽ không còn lý do tồn tại khi công cụ hay biện pháp

đó bị thay đổi; chẳng hạn chức năng nhập dữ liệu vào máy tính sẽ không tồn tại nữa khi

ta không dùng máy tính, và đó là một chức năng vật lý.

42

Page 43: Phan tich thiet ke he thong thong tin

(3) Cấu trúc vật lý, ấy là cấu trúc chung của biểu đồ đang còn phản ánh trực tiếp

cách bố trí, tổ chức hay cài đặt hiện tại, mà chưa phản ánh rõ bản chất lôgic của hệ

thống , chưa thoát ra ngoài mọi cách cài đặt cụ thể, chẳng hạn ở hệ CƯVT ở nhà máy Z

có 3 tổ công tác là: đặt hàng, nhận hàng/phát hàng và đối chiếu. Do đó một cách tự

nhiên, BLD mức đỉnh được thành lập với 3 chức năng tương ứng với 3 tổ chức đó. Cấu

trúc như vậy là cấu trúc chủ quan ,vì nó bị áp đăt bởi một hình thức tổ chức công việc

có thể là còn tạm thời và chưa hẳn đúng thực chất .

Các yếu tố vật lý nói trên xen lẫn vào BLD, làm cho BLD phản ánh không thật

trúng bản chất của hệ thống, cần phải gạt bỏ chúng ra khỏi biểu đồ .

Để loại bỏ các yếu tố vật lý loại (1), ta chỉ cần loại bỏ ra khỏi biểu đồ các phần

ngôn từ hay hình vẽ biểu thị phương tiện, giá mang thông tin hay tác nhân, và chỉ giữ lại

sự diễn tả nội dung của chức năng hay thông tin mà thôi, chẳng hạn :

43

Page 44: Phan tich thiet ke he thong thong tin

Để loại bỏ các yếu tố loại (2), tức là các chức năng vật lý, trước hết phải làm cho

chúng xuất hiện trong biểu đồ đã thường thì các chức năng vật lý là các chức năng nhỏ,

chưa xuất hiện ở các BLD mức trên. Vì vậy ta phải triển khai các BLD xuống các mức

thấp. Khi phân dã mỗi chức năng thành các chức năng nhỏ, ta sẽ tách được các chức

năng vật lý rời khỏi các chức năng lôgic. Từ đó ta loại các chức năng vật lý ra khỏi biểu

đồ.

Sau khi loại bỏ hết các chức năng vật lý ,thì các chức năng còn lại là các chức năng

lôgíc và ta đang ở một mức thấp nào đó. Bấy giờ ta sẽ loại bỏ yếu tố vật lý loại(3), tức

là cấu trúc vật lý, bằng cách tổ chức lại các biểu đồ, từ dưới lên trên ,xuất phát từ các

chức năng lôgíc nói trên ,theo các bước như sau :

Trước hết do có các chức năng vật lý bị loại, một số luồng dữ liệu đã

bị đứt quãng, ta phải tìm cách nối chúng lại cho liên tục .

Tiếp đó xem xét nội dung các chức năng lôgíc, tìm cách gom cụm

các chức năng gần gũi và hợp tác với nhau trong một mục đích xử lý vào

một chức năng lớn , cho dù trước đây chúng bị chia lìa bởi các lý do cài

đặt. Làm như thế, đang ở mức dưới, ta lại thành lạp được BLD ở mức trên,

và cứ thế tiếp tục, ta tổ chức lại các BLD ở các mức, cho đến mức đỉnh.

Cấu trúc của các biểu đồ bấy giờ sẽ không còn mang tính chất vật lý nữa.

Tóm lại, từ BLD vật lý mức đỉnh, ta triển khai xuống các mức thấp, rũ bỏ các chức

năng vật lý, rồi lại trở về các mức cao để chỉnh đốn lại cấu trúc của các biểu đồ. Rốt cục

ta trở lại về mức đỉnh với một BLD lôgic. Quá trình đó được khái quát như sau:

44

1.Hệ ĐH

1.Đặt hàng

thay bởi

Séc trả tiềnthay bởi

thay bởi

3Đối chiếu và kiểm tra thủ

công

3Đối chiếu và

kiểm tra

Page 45: Phan tich thiet ke he thong thong tin

3.3. ĐẶC TẢ TIẾN TRÌNH

3.3.1. Mục đích và yêu cầu đặc tả chức năng

Một điểm chung trong việc sử dụng BPC và BLD là để diễn tả một chức năng

phức tạp ta phân rã nó ra thành nhiều chức năng con đơn giản hơn. Nói cách khác là từ

một “hộp đen”, ta giải thích nó bằng cách tách nó ra thành nhiều “hộp đen”. Có vẻ

như đó là một sự luẩn quẩn, song thực ra là đã có sự tiến bộ vì các chức năng con thu

được là đơn giản hơn trước. Muốn đẩy tới sự tiến bộ đó, ta tiếp tục phân rã các chức

năng con này. Sự lặp lại quá trình phân rã (thông qua các BPC hay BLD) đương nhiên

tới một lúc phải dừng lại. Các chức năng thu được ở mức cuối cùng, đã là rất đơn giản,

cũng vẫn cần được giải thích (nếu không thì vẫn cứ là “ hộp đen”). Bấy giờ sự giải

thích chức năng phải được thực hiện bởi những phương tiện diễn tả trực tiếp (khác với

các BPC và BLD). Gọi đó là sự đặc tả chức năng, thường gọi tắt là P-Spec (Process

Specification).

Một đặc tả chức năng thường được trình bày một cách ngắn gọn, không vượt quá

một trang A4 và gồm hai phần:

Phần đầu đề gồm:

- Tên chức năng.

- Các dữ liệu vào,

- Các dữ liệu ra.

Phần thân mô tả nội dung xử lí, ở đó thường sử dụng các phương tiện mô tả sau

đây (liệt kê theo trật tự ưu tiên giảm dần):

- Các phương trình toán học.

- Các bảng quyết định hay cây quyết định.

- Các sơ đồ khối.

- Các ngôn ngữ tự nhiên cấu trúc hoá.

45

BLD vật lý mức đỉnh

BLD Logic mức đỉnh

Gom nhóm các chức năng để tổ

chức lại các BLD

Triển khai xuống thấp để

làm lộ các chức năng vật lý

Xoá các chức năng vật lý

Nối lại các luồng DL

Page 46: Phan tich thiet ke he thong thong tin

3.3.2. Các phương tiện đặc tả chức năng

a) Các bảng quyết định và cây quyết định

Chúng được sử dụng khi chức năng được đặc tả thực chất một sự phân chia các

trưòng hợp tuỳ thuộc một số điều kiện vào. ứng với mỗi trường hợp thì có một sự chọn

lựa khác biệt một số hành động ( hay giá trị) ra nào đó .

Số các giá trị có thể của mỗi điều kiện vào phải là hữu hạn . Chẳng hạn :

“Là thương binh” có thể lấy giá trị Đúng (Đ) hay Sai (S).

“Điều kiện tuổi tác” có thể lấy 4 giá trị:

Tuổi thơ (dưới 13 tuổi)

Tuổi trẻ (Từ 13 đến 29 tuổi)

Trung niên (Từ 30 đến 59 tuổi )

Tuổi già ( Từ 60 tuổi trở nên).

Như vậy số các trường hợp có thể có là được biết trước (bằng tích của các số

những giá trị có thể của các điều kiện vào). Nhờ vậy ta không để sót các trường hợp. Đó

là một ưu điểm đáng kể của các quyết định và các cây quyết định.

Bảng quyết định là một bảng hai chiều, trong đó một chiều (có thể là chiều ngang

hay chiều dọc) được tách làm hai phần: một phần cho các điều kiện vào và phần kia cho

các hành động hay các biến ra. Chiều thứ hai là các trường hợp có thể xảy ra tuỳ thuộc

giá trị của các điều kiện. ứng với mỗi truờng hợp (là cột hay là dòng), thì các hành động

chọn lựa sẽ được đánh dấu X hoặc nếu cái ra là các biến, thì cho các giá trị tương ứng

của các biến đó.

46

Điều kiện XĐĐĐĐSSSSĐiều kiện YĐĐSSĐĐSSĐiều kiện ZĐSĐSĐSĐS

Hành động AXXHành động BXHành động CXXXXXHành động DXXXXXX

Các

hàn

h độ

ngC

ác đ

iều

kiện

Các trường hợp

Page 47: Phan tich thiet ke he thong thong tin

Ví dụ: Một cửa hàng quyết định:

Giảm giá 10% cho thương binh .

Giảm giá 5% cho con liệt sỹ.

Không được phép hưởng hai tiêu chuẩn(bấy giờ lấy mức cao nhất)

Như vậy chức năng “ xác định mức giảm giá cho khách hàng” được đặc tả bằng

bảng quyết định sau:

Là thương binh

Là con liệt sĩ

Đ

Đ

Đ

S

S

Đ

S

S

Giảm giá 10%

Giảm giá 5%

Giảm giá 0%

X X

X

X

Bảng quyết định giảm giá

Cây quyết định chỉ là một biến tướng của bảng quyết định; nó phân chia các

trường hợp nhờ cấu trúc cây thay vì cấu trúc bảng . Chẳng hạn tương ứng của bảng

quyết định ở trên ta có cây quyêt định sau:

Cây quyết định giảm giá

b) Sơ đồ khối.

Sơ đồ khối là loại biểu đồ diễn tả giải thuật quen thuộc và ưa dùng với các người

mới học lập trình, vì nó đơn giản dễ hiểu. Với lập trình nâng cao, thì nó bộc lộ nhiều

nhược điểm, cho nên nó lại ít được ưa dùng: nó khuyến khích việc sử dụng tràn lan GO

TO. Nó không thể hiện rõ ba cấu trúc điều khiển cơ bản (tuần tự chọn, lặp), nó hỗ trợ

kém cho lập trình trên xuống và càng tỏ ra gượng ép với lập trình đệ quy v.v…Tuy

nhiên với nhiệm vụ đặc tả các chức năng đơn giản mà ta cần ở đây, thì nó đáp ứng được

yêu cầu.

47

Đ

0%

Là con liệt sĩ

Là con liệt sĩ

Là thương binh

10%

10%

5%

Đ

Đ

S

S

S

Page 48: Phan tich thiet ke he thong thong tin

Nếu như BLD chỉ có một loại nút là chức năng (tức là các hành động phải làm),

thì sơ đồ khối lại có hai loại nút:

Nút hành động xử lý(hình chữ nhật )

Nút kiểm tra điều kiện (hình thoi).

Nếu trong BLD một cung là một tuyến chuyển giao dữ liệu thì trong sơ đồ khối

một cung là một tuyến chuyển giao điều khiển (nghĩa là chuyển giao quyền thực hiện)

Như vậy nếu như các BLD chi tập trung diễn tả những việc phải làm là gì (với

mối liên quan về dữ liệu giữa chúng ), thì các sơ đồ khối lại có phần ôm đồm hơn,

không những chỉ ra các việc phải làm, mà còn chỉ ra cách dẫn dắt các việc đó. Chính vì

sự ôm đồm đó mà nó không thích hợp để diễn tả các chức năng phức tạp và lớn.

Dưới đây là một Ví dụ dùng sơ đồ khối để đặc tả chức năng “ lập danh sách trúng

tuyển và danh sách trượt”.

c) Các ngôn ngữ có cấu trúc.

Ngôn ngữ có cấu trúc (cũng còn được gọi là mã giả) là một ngôn ngữ tự nhiên

(chẳng hạn tiếng Việt) bị hạn chế:

Chỉ được phép dùng các câu đơn sai khiến hay khẳng định (thể hiện các

lệnh hay các điều kiện).

48

Còn thí sinh chưa xét?

Tra cứu điểm thí sinh

Đưa thí sinh vào danh sách trượt

S

Đưa thí sinh vào danh sách đỗ

Đ

RaS

Đ

Điểm ts >= điểm chuấn?

Page 49: Phan tich thiet ke he thong thong tin

Các câu đơn này được ghép nối nhờ một từ khoá thể hiện các cấu trúc điều

khiển chọn và lặp.

Như vậy ngôn ngữ có cấu trúc có những đặc điểm của một ngôn ngữ lập trình,

song nó không chịu những hạn chế và quy định ngặt nghèo của các ngôn ngữ lập trình,

cho nên được dùng thoải mái hơn. Tuy nhiên nó cũng không quá phóng túng như một

ngôn ngữ tự do.

Dưới đây là đặc tả của chức năng “lập danh sách trúng tuyển và danh sách trượt”

ở dạng ngôn ngữ có cấu trúc.

Lặp: Lấy một thí sinh từ kho các thí sinh

Tra cứu điểm của một thí sinh nào đó.

Nếu Điểm của thí sinh >= điểm chuẩn.

Thì Đưa thí sinh vào danh sách đỗ

Không thì Đưa thí sinh vào danh sách trượt

Đến khi Hết thí sinh.

3.4. BÀI TẬP

49

Page 50: Phan tich thiet ke he thong thong tin

Chương 4: PHÂN TÍCH HỆ THỐNG VỀ DỮ LIỆU

4.1. CÁC PHƯƠNG TIỆN MÔ TẢ DỮ LIỆU

Một hệ thống trong trạng thái vận động bao gồm hai yếu tố là các chức năng xử lý

và dữ liệu. Giữa xử lý và dữ liệu có mối quan hệ mật thiết chặt chẽ và bản thân dữ liệu

có mối liên kết nội bộ không liên quan đến xử lý đó là tính độc lập dữ liệu. Mô tả dữ

liệu được xem như việc xác định tên, dạng dữ liệu và tính chất của dữ liệu. Dữ liệu

không phụ thuộc vào người sử dụng đồng thời không phụ thuộc vào yêu cầu tìm kiếm

và thay đổi thông tin.

Trong mục này để thuận tiện cho phương pháp nghiên cứu chúng ta chỉ tập trung

đến các phương tiện và mô hình diễn tả dữ liệu. Đó là các thông tin được quan tâm đến

trong quản lý, nó được lưu trữ lâu dài, được xử lý và sử dụng trong hệ thống thông tin

quản lý.

Có nhiều công cụ để mô tả dữ liệu. Các công cụ này là các cách trừu tượng hoá dữ liệu

đặc biệt là mối quan hệ của dữ liệu nhằm phổ biến những cái chung nhất mà con người ta có

thể trao đổi với nhau. Trong phần này chúng ta đề cập đến 4 công cụ chủ yếu:

Mã hoá dữ liệu

Từ điển dữ liệu

Mô hình thực thể liên kết

Mô hình quan hệ

4.1.1. Mã hoá các tên gọi

a) Khái niệm mã hoá

Mã là tên viết tắt gắn cho một đối tượng nào đó hay nói cách khác mỗi đối tượng

cần có tên và vấn đề đặt ra là ta sẽ đặt tên cho đối tượng như thế nào. Trong mỗi đối

tượng gồm nhiều thuộc tính khác nhau thì yêu cầu mã hoá cho các thuộc tính cũng là

yêu cầu cần thiết. Ngoài ra mã hoá còn là hình thức chuẩn hoá dữ liệu để phân loại dữ

liệu lưu trữ và tìm kiếm có hiệu quả và bảo mật dữ liệu đặc biệt trong các hệ thống

thông tin xử lý bằng máy tính.

Một số Ví dụ về mã hoá:

- Khi ta cần xác định một công dân thì số chứng minh thư hoặc số hộ chiếu là mã

của công dân đó.

- Khi cần xác định xe ô tô hay xe máy thì biển số xe là mã của xe đó.50

Page 51: Phan tich thiet ke he thong thong tin

b) Chất lượng và yêu cầu đối với mã hoá

Trong thực tế ta gặp rất nhiều đối tượng cần mã hoá như mã hoá ngành nghề cần

đào tạo, mã hoá các bệnh, mã số điện thoại, mã thẻ sinh viên, thẻ bảo hiểm y tế,...

Chúng ta có nhiều phương pháp mã khác nhau. Do vậy cần xác định một số tiêu chí để

đánh giá chất lượng của việc mã hoá:

Mã hoá không được nhập nhằng: Thể hiện ánh xạ 1-1 giữa mã hoá và giải mã

mỗi đối tượng được xác định rõ ràng và duy nhất với một mã nhất định.

Thích ứng với phương thức sử dụng: Việc mã hoá có thể tiến hành bằng thủ

công nên cần phải rễ hiểu, dễ giải mã, và việc mã hoá bằng máy đòi hỏi cú pháp

chặt chẽ.

Có khả năng mở rộng mã:

Thêm phía cuối (sau) của các mã đã có

Xen mã mới vào giữa các mã đã có, thường mã xen phải dùng phương

pháp cóc nhảy, nhảy đều đặn dựa vào thống kê để tránh tình trạng “bùng

nổ ” mã.

Mã phải ngắn gọn làm giảm kích cỡ của mã, đây cũng là mục tiêu của mã hoá.

Tuy nhiên điều này đôi khi mâu thuẫn với khái niệm mở rộng mã sau này.

Mã có tính gợi ý: Thể hiện tính ngữ nghĩa của mã. Đôi khi tính gợi ý là yêu cầu

đối với mã công khai, và làm cho việc mã hoá thuận tiện dễ dàng.

Cách mã cần xác định sao cho tối thiểu hoá sai sót khi mã và giảm tính dư thừa

của mã.

c) Các kiểu mã hoá

(1). Mã hoá liên tiếp (Serial Coding):

Ta dùng các số nguyên liên tiếp 000,001, 002...để mã hoá. Phương pháp này

thường để đánh số thứ tự trong danh sách các đối tượng.

Ưu điểm: Không nhập nhằng, đơn giản, thêm phía sau.

Khuyết điểm: Không xen được, thiếu tình gợi ý vì cần phải có bảng tương ứng và

không phân theo nhóm.

(2). Mã hoá theo lát

51

Page 52: Phan tich thiet ke he thong thong tin

Sử dụng các số nguyên như mã hoá liên tiếp nhưng phân ratheo lát( lớp) cho từng

loại đối tượng, trong mỗi lát dùng mã liên tiếp.

Ví dụ: Mã hoá các đối tượng là các hàng ngũ kim

Vùng 1: 0001 – 0999 để mã hóa các hàng ngũ kim bé, trong đó:

001 – 0099 để mã hóa các loại vít

0100 – 0299 để mã hóa các loại êcu

0300 – 0499 để mã hóa các loại bulong

0500 – 0599 để mã hóa các loại đinh

....

Vùng 2: 1000 – 1999 để mã hóa các chi tiết kim loại, trong đó

1000 – 1099 để mã hóa các loại sắt chữ U

....

Ưu điểm: Không nhập nhằng, đơn giản, có thể mở rộng và xen thêm được.

Nhược điểm: vẫn phải dùng bảng tương ứng.

(3). Mã phân đoạn:

Bản thân mã được phân thành nhiều đoạn mỗi đoạn mang một ý nghĩa riêng.

Ví dụ: Số đăng kí xe máy:

Biển số xe của ông X là 29 F6 6956 là

biển xe đăng kí tại Hà Nội (mã tỉnh là 29).

Ưu điểm: Không nhập nhằng, mở rộng ,xen thêm được và được dùng khá phổ

biến, loại mã này cho phép thiết lập các phương thức kiểm tra gián tiếp đối với mã của

các đối tượng bằng cách trích rút các đoạn mã để kiểm tra.

Nhược điểm: Mã quá dài nên thủ tục mã nặng nề, không cố định và vẫn có thể bị

bão hoà mã.

(4). Mã phân cấp: Các đối tượng được mã hoá theo chế độ phân cấp các chi tiết nhỏ

dần. Một hình ảnh khá quen thuộc của mã hoá phân cấp là đánh số chương, tiết, mục

trong một quyển sách.

Chương 1

1.1 Bài 1

52

Tỉnh Lát (xê ri) Số liên tiếp

2 9 F 6 6 9 5 6

Page 53: Phan tich thiet ke he thong thong tin

1.2 Bài 2

1.3 Bài 3

Chương 2

1.1 Bài 4

1.1.1 Mục 1

1.1.2 Mục 2

1.2 Bài 5

1.3 Bài 6 ....

Ưu điểm : Các ưu điểm tương tự như mã hoá phân đoạn, ngoài ra việc tìm kiếm

mã dễ dàng.

Khuyết điểm :Tương nhự như các nhược điểm của mã phân đoạn.

(5). Mã diễn nghĩa: Bằng cách gán một tên ngắn gọn nhưng hiểu được cho một đối

tượng.

Ví dụ : Đội bóng các nước tham gia giải Tiger cup được mã bằng cách lấy ba kí

tự đầu như sau:

VIE: Việt Nam, THA: Thailand, SIN: Singapore, IND: indonesia, MAL : Malaysia.

Ưu điểm : Tiện dùng cho sử lý bằng thủ công.

Khuyết điểm: Không giải mã được bằng máy tính.

Các chú ý khi lựa chọn sự mã hoá

Như đã nêu ở trên, có nhiều phương pháp mã hoá khác nhau, có thể sử dụng một

kiểu mã nào đó, cũng có thể sử dụng kết hợp nhiều kiểu để đạt chất lượng mã tốt nhất.

Việc lựa chọn mã hoá cần dựa vào các yếu tố sau:

- Nghiên cứu việc sử dụng mã sau này.

- Nghiên cứu số lượng đối tượng được mã hoá để lường trước được sự phát triển.

- Nghiên cứu sự phân bố thống kê các đối tượng để phân bố theo lớp.

- Tìm xem đã có những mã nào được dùng trước đó cho các đối tượng này để kế thừa.

- Thỏa thuận với người dùng cách mã.

- Thử nghiệm trước khi dùng chính thức để chỉnh lý kịp thời.

53

Page 54: Phan tich thiet ke he thong thong tin

4.1.2. Từ điển dữ liệu

a) Khái niệm

Từ điển dữ liệu là một tư liệu tập trung mọi tên gọi của mọi đối tượng được dùng

trong hệ thống trong cả các giai đoạn phân tích, thiết kế, cài đặt và bảo trì. Nó là văn

phạm giả hình thức mô tả nội dung của các sự vật, đối tượng theo định nghĩa có cấu

trúc. Chẳng hạn trong biểu đồ luồng dữ liệu(BLD): các chức năng xử lý, kho dữ liệu,

luồng dữ liệu chỉ mô tả ở mức khái quát thường là tập hợp các khoản mục riêng lẻ. Các

khái quát này cần được mô tả chi tiết hơn qua công cụ từ điển dữ liệu.

b) Cấu tạo từ điển

Từ điển dữ liệu gồm các mục từ và lời giải thích. Lời giải thích thể hiện được cấu

trúc của 1 từ bản chất liền giá trị và phạm vi sử dụng

Ví dụ: Luồng dữ liệu

Mục từ Nội dung

Phiếu yêu cầu

- Ý nghĩa : Luồng dữ liệu chuyển từ tác nhân ngoài” Bạn đọc” đến

tiến trình” Xử lý phiếu yêu cầu

- Thành phần: Số thẻ đọc, Tên tài liệu, Tên tác giả, Số cá biệt, Ngày

viết phiếu

Hình 4.2. Mục từ cho luồng dữ liệu “Phiếu yêu cầu”

Ví dụ: Kho dữ liệu

Mục từ Nội dung

Sách

- Ý nghĩa: Chứa mọi thông tin về sách trong thư viện

- Thành phần: Số cá biệt, Tên sách, Tên tác giả, Năm xuất bản, Nhà

xuất bản, Lần xuất bản, Ngày nhập, Loại sách, Các từ khoá, Tóm tắt

nội dung, Vị trí trong kho,Trạng thái mượn

- Tổ chức: Lưu trữ tuần tự và được sắp xếp theo “Số cá biệt”. Khi

cập nhật sách mới được xếp vào đúng vị trí của nó trong kho

- Các xử lý liên quan : Cập nhật sách mới, Huỷ sách cũ, Tìm kiếm

sách theo các thành phần thông tin riêng biệt

Hình 4.2. Mục từ cho kho dư liệu “Sách”

54

Page 55: Phan tich thiet ke he thong thong tin

4.2. MÔ HÌNH THỰC THỂ LIÊN KẾT

4.2.1. Các khái niệm của mô hình thực thể liên kết

Mô hình thực thể liên kết (Entity Association E/A) xuất phát từ ba khái niệm cơ

bản: thực thể, liên kết và thuộc tính.

Thực thể: Một thực thể( entity) là một vật thể cụ thể hay trừu tượng, tồn tại

thực sự và khá ổn định trong thế giới thực, mà ta muốn phản ánh nó trong hệ

thống thông tin.

Ví dụ: Thực thể cụ thể như: Học sinh Trần Ngọc Kha, Hóa đơn số 58

Thực thể trìu tượng như: Khoa Công Nghệ Thông Tin

Thuộc tính: Thuộc tính (Property hay arttibute) là một giá trị dùng để mô tả

một khía cạnh nào đó của một thực thể.

Ví dụ: Tuổi của Trần Ngọc Kha là 17

Tổng tiền của hóa đơn số 58 là 800.000đ

Giá trị thuộc tính thường được cho kèm theo một tên (tuổi 17, tổng tiền:

800.000đ). Tên đó thực tế là tên chung của mọi giá trị có thể chọn lựa để mô tả một khía

cạnh nhất định của các thực thể (tuổi: 17, tuổi: 20, tuổi:14...). Ta gọi tên đó là một kiểu

thuộc tính (property type).

Ví dụ: Tuổi, tổng tiền ... là các kiểu thuộc tính.

- Kiểu thuộc tính đa trị: Là kiểu thuộc tính mà giá trị của nó đối với một thực thể

có thể là một dãy hay 1 tập các giá trị.

- Ta gọi kiểu thực thể (entity type) là một tập hợp các thực thể được mô tả bởi cùng

một tập hợp các kiểu thuộc tính và biểu diễn cho một lớp tự nhiên các vật thể trong thế

giới thực.

Ví dụ: Kiểu thực thể khách hàng được mô tả bằng các kiểu thuộc tính: tên, địa chỉ,

số tài khoản.

Một hay một tập kiểu thuộc tính của một kiểu thực thể được gọi là một khóa nếu

giá trị của nó cho phép ta phân biệt các thực thể với nhau.

Ví dụ: số tài khoản và mã hàng lần lượt là khóa của các kiểu thực thể tài khoản và

mặt hàng. Còn với kiểu thực thể Sách mượn có thể lấy số hiệu sách, số hiệu độc giả,

ngày mượn làm khóa (sách mượn về nhà nên một độc giả chỉ được mượn một cuốn sách

55

Page 56: Phan tich thiet ke he thong thong tin

nhiều nhất một lần trong một ngày). Nếu khóa chỉ gồm một kiểu thuộc tính duy nhất thì

ta gọi thuộc tính đó là một định danh (identifier).

Ví dụ: SH Nhân viên

Mã Nhân viên

Các thuộc tính trong mô hình thực thể liên kết có hai ràng buộc phải thoả mãn:

- Giá trị duy nhất: Mỗi thuộc tính của một thực thể có thể lấy một và chỉ một giá

trị duy nhất.

- Giá trị sơ đẳng: Giá trị thuộc tính không thể tách thành các phần nhỏ hơn.

Liên kết: Một liên kết là một sự gom nhóm các thực thể trong đó mỗi thực thể

có một vai trò nhất định.

Ví dụ:

- Khách hàng Ân đã giao nộp đơn hàng 3428.

- Đơn hàng 3428 đặt mua các mặt hàng 34 và 78

- Anh Liên là học trò của thầy Hà.

Một kiểu liên kết (asociation type) là một tập hợp các liên kết có cùng ý nghĩa. Một

kiểu liên kết là được định nghĩa giữa nhiều kiểu thực thể. Tên của kiểu liên kết thường

được chọn là một động từ (chủ động hay bị động) phản ánh ý nghĩa của nó .

Ví dụ:

- Kiểu liên kết giao nộp giữa kiểu thực thể khách hàng và kiểu thực thể đơn

hàng (2 ngôi).

- Kiểu liên kết đặt mua giữa kiểu thực thể đơn hàng và kiểu thực thể mặt

hàng (2 ngôi).

- Kiểu liên kết dạy giữa kiểu thực thể thầy và kiểu thực thể trò (2 ngôi).

- Thời khóa biểu là một kiểu liên kết giữa các kiểu thực thể: Môn, giờ,

phòng, lớp ( liên kết nhiều ngôi )

Các giá trị ứng số thường dùng là

1 (1..1) một và chỉ một

0..1 không hay một

0.. * hay * từ không tới nhiều

1.. * từ một tới nhiều.

m.. n từ m tới n.56

Page 57: Phan tich thiet ke he thong thong tin

4.2.2. Đặc tả mối quan hệ giữa hai kiểu thực thể

Để đặc tả mối quan hệ giữa hai kiểu thực thể, mô hình thực thể liên kết thường

được biểu diễn dưới dạng một đồ thị, trong đó các nút là các kiểu thực thể, còn các cung

là các kiểu liên kết. Đồ thị đó được gọi là sơ đồ thực thể liên kết và được lập như sau:

Một kiểu thực thể được biểu diễn bởi một hình chữ nhật gồm 2 ngăn, ngăn

trên chứa tên của kiểu thực thể, ngăn dưới chứa danh sách các kiểu thuộc tính của

nó. Tên kiểu thực thể thường là một danh từ (chỉ vật thể). Các kiểu thuộc tính hợp

thành khóa của kiểu thực thể được gạch dưới, và thường đặt lên đầu danh sách.

Một kiểu liên kết được biểu diễn bởi một hình thoi, được nối bằng nét liền

tới các kiểu thực thể tham gia liên kết. Trong hình thoi viết tên kiểu liên kết(tên

này có thể khuyết, nếu không cần làm rõ). Như trên đã nói tên kiểu liên kết

thường là một động từ (chủ động hay bị động). Nếu kiểu liên kết là hai ngôi, thì ở

hai đầu mút các đường nối, sát với các kiểu thực thể, ta ghi thêm ứng số (nếu thấy

cần làm rõ).

Ví dụ: Biểu diễn đồ họa của kiểu liên kết Mượn.

Biểu diễn đồ họa của kiểu liên kết Có

Biểu diễn đồ họa của kiểu liên kết Cung ứng

57

Mượn1 0..*

Sách mượn

Số hiệu sáchTên sáchNgày

Độc giả

SH độc giảHọ tên Địa chỉ

Có0..1 0..1

Lương

Bậc lươngHệ sốNgày lên

CN viên

SH CN viênHọ tên Địa chỉ

Cung ứng0..* 0..*

Mặt hàng

SH mặt hàngTên hàngMàu

Nhà CC

SH nhà CCHọ tên Địa chỉ

Page 58: Phan tich thiet ke he thong thong tin

* Một số trường hợp đặc biệt:

- Liên kết đệ quy: Là kiểu liên kết giữa một thực thể với chính thực thể đó.

- Nhiều kiểu liên kết giữa hai thực thể:

- Kiểu liên kết có thuộc tính mô tả: Ta ghi danh sách các thuộc tính bên cạnh hình

thoi; hoặc vẽ thêm một hình chữ nhật hai ngăn như kiểu thực thể: ngăn tên có thể chứa

tên kiểu liên kết hoặc bỏ trống; ngăn thuộc tính chứa các thuộc tính, bổ sung các thuộc

tính khoá của các kiểu thuộc tính tham gia liên kết. Và nó được nối với hình thoi bằng

nét đứt.

- Kiểu liên kết nhiều ngôi:

58

Người

MãHọ tên Địa chỉ

0..*Sở hữu1 Căn hộ

Mã CHDiện tíchĐịa chỉ0..*Thuê0..1

Dạy

Học sinh

ID HSinhHọ tênLớp

Giao viên

ID GVienHọ tên Khoa

ID GVienID HSinhMôn họcNăm học

kết hôn

chồng0..1Người

ID ngườiHọ tên Địa chỉ

vợ0..1

Page 59: Phan tich thiet ke he thong thong tin

4.2.3. Mô hình thực thể liên kết mở rộng và hạn chế

4.2.3.1. Mô hình E/A mở rộng

a) Các điểm mở rộng đối với mô hình E/A

- Các kiểu thuộc tính đa trị: Trong mô hình mở rộng được phép dùng kiểu thuộc

tính đa trị. Nghĩa là tồn tại kiểu thuộc tính mà giá trị của nó đối với một thực thể có thể

là một dãy hay một tập các giá trị.

Ví dụ: Tên, tuổi các con của một nhân viên.

- Các kiểu thuộc tính phức hợp: Cho phép dùng kiểu thuộc tính phức hợp từ các

thuộc tính sơ đẳng, tức là được tạo thành từ sự kết hợp từ nhiều kiểu thuộc tính khác.

Mặc định, mỗi giá trị của kiểu thuộc tính phức hợp là sự ghép các giá trị của các thuộc

tính sơ đẳng tương ứng.

Ví dụ: Kiểu thuộc tính Địa chỉ là sự kết hợp của các thuộc tính Số nhà, Đường phố,

Quận huyện, Tỉnh thành.

- Các kiểu thực thể con:

Nếu trong một kiểu thực thể A, ta chỉ ra một tập con B của A, mà các thực thể

trong B vừa mang các kiểu thuộc tính chung của các thực thể trong A, lại vừa có thêm

59

Đơn hàng

ID ĐHNgàyĐịa chỉ

Ngày

Ngày

Mặt hàng

Mã hàngTên hàngMô tả

Giao hàng

Giao hàng

ID ĐHMã hàngNgàyLượng giao

Page 60: Phan tich thiet ke he thong thong tin

một số các kiểu thuộc tính mới, thì ta nói đó là sự chuyên biệt hóa. B được gọi là kiểu

thực thể con của kiểu thực thể A. Các kiểu thuộc tính của B bao gồm mọi kiểu thuộc

tính của A cộng thêm các kiểu thuộc tính riêng của nó. Ta nói: B thừa kế các thuộc tính

của A. Quá trình ngược lại với chuyên biệt hóa là sự khái quát hóa: Từ nhiều kiểu thực

thể B, C,... ta rút ra các kiểu thuộc tính chung để lập một kiểu thực thể A (với các kiểu

thuộc tính chung đó) sao cho B,C,... đều là kiểu thực thể con của A.

Ví dụ: Các thực thể Sinh viên, Nhân viên là thực thể con của thực thể Người.

b) Cách biến đổi biểu đồ E/A mở rộng về biểu đồ E/A kinh điển

Quy tắc 1: Chuyển các thuộc tính đa trị về các thuộc tính có giá trị duy nhất. Thay

một kiểu thuộc tính đa trị T của kiểu thực thể A bởi một kiểu thực thể mới E-T và kết

nối A với E-T bởi một kiểu liên kết. Đưa vào kiểu thực thể E-T một kiểu thuộc tính đơn

trị t, tương ứng với các giá trị thành phần của T. Nghiên cứu các ứng số cho kiểu liên

kết mới (giữa A và E-T).

Ví dụ 1: Kiểu thực thể Nhân viên có thuộc tính đa trị là các ngoại ngữ.

Chú ý: Kiểu thực thể nói trên được gọi là kiểu thực thể phụ thuộc; nó chỉ tồn tại

cùng với kiểu thực thể chính.

Ví dụ 2: Hoá đơn:

60

Người

ID ngườiHọ tên Địa chỉ

Sinh viên

lớpngành học

Nhân viên

PhòngĐ.chỉ CQ

Nhân viên

Mã NVHọ tên Các NN

chuyển thành

Nhân viên

Mã NVHọ tên

Ngoại ngữ

Tên NN0..* 0..*Biết

Page 61: Phan tich thiet ke he thong thong tin

Số hoá đơn:…….

Ngày:…………..

HOÁ ĐƠN

Họ tên khách hàng:………………………………………………………….

Địa chỉ:………………………………………………………………………

Hình thức thanh toán:………………………………………………………..

Mã hàng Tên hàng Đơn vị tính Số lượng Đơn giá Thành tiền

Tổng tiền:……………

Quy tắc 2: Xử lý các thuộc tính đa trị của một kiểu liên kết. Thực thể hoá liên kết

kiểu đó, rồi áp dụng quy tắc 1 cho kiểu thựcthể mới lập.

Quy tắc 3: Xử lý các kiểu thuộc tính phức hợp. Thay kiểu thuộc tính phức hợp bởi

các kiểu thuộc tính mà tích hợp thành.

Ví dụ: Kiểu thuộc tính Địa chỉ thay bằng các thuộc tính Số nhà, Đường phố, Quận

huyện, Tỉnh thành.

Quy tắc 4: Xử lý các kiểu thực thể con.

Giả sử B là thực thể con của thực thể A. Có hai cách xử lý:

61

chuyển thành

Hoá đơn

Số HĐNgày HĐKhách Địa chỉCách TTMã hàngTên hàngĐV tínhSố lượngĐơn giáThành tiềnTổng HĐ

0..* 0..*

Hoá đơn

Số HĐNgày HĐKhách Địa chỉCách TTTổng HĐ

Dòng HĐ

Mã hàngTên hàngĐV tínhSố lượngĐơn giáThành tiền

Page 62: Phan tich thiet ke he thong thong tin

- Loại bỏ kiểu thực thể B và bổ sung mọi kiểu thuộc tính của B vào trong A, đồng

thời thêm một kiểu thuộc tính cho phép phân loại các thực thể của A (thuộc B hay

không thuộc B). Chuyển mọi kiểu liên kết với B sang A, và nghiên cứu lại các ứng số

cho chúng.

- Thay đổi mối quan hệ thừa kế giữa A và B bằng một kiểu liên kết giữa A và B

mà các ứng số tối đa bằng 1. Nghiên cứu cụ thể các ứng số tối thiểu.

4.2.3.2. Mô hình E/A hạn chế

a) Các điểm hạn chế đối với mô hình E/A

Mô hình thực thể liên kết hạn chế bị hạn chế nhiều về các hình thức diễn tả nhưng

lại rất gần với mô hình quan hệ và do đó dễ dàng chuyển sang cài đặt với một hệ quản

trị CSDL.

Ngoài các ràng buộc các thuộc tính có giá trị duy nhất và có tính sơ đẳng thì mô

hình E/A hạn chế có bổ sung thêm các ràng buộc sau:

- Đối với các liên kết hai ngôi dạng:

thì chỉ còn được dùng liên kết 1-nhiều, tức là trường hợp n=1 và q>1 hoặc q=*.

Như vậy, các kiểu liên kết 1-1 (n=1 và q=1), cũng như các kiểu liên kết nhiều-

nhiều (n>1 và q>1) đều không thể hiện tường minh trong mô hình E/A hạn chế. Do đó,

mô hình E/A hạn chế đôi khi còn được gọi là mô hình E/A một - nhiều.

- Đối với kiểu liên kết nhiều ngôi (>2) thì không có hình thức diễn tả tường minh

trong mô hình E/A hạn chế.

b) Cách biến đổi một mô hình E/A kinh điển về mô hình E/A hạn chế

Tuy bị hạn chế về hình thức biểu diễn, song khả năng diễn tả của mô hình E/A hạn

chế vẫn tốt. Ta có thể biến đổi mọi mô hình E/A kinh điển về mô hình hạn chế bằng

cách áp dụng các quy tắc sau:

Quy tắc 1: Xử lý kiểu liên kết 1-1. Ta có thể thực hiện bằng 1 trong 2 cách sau:

62

m..nA B

p..q

A B

Page 63: Phan tich thiet ke he thong thong tin

Cách 1: Xem kiểu liên kết 1-1 là trường hợp riêng của liên kết 1-nhiều (nhiều ở

đây là p..*, khi p=0 sẽ được hiểu là 0,1 hay nhiều) và vẽ lại nó bằng đường nối thẳng

hay một đường nối có chân vịt ở một đầu. Cách làm này vi phạm sự hạn chế của mô

hình, hay gây hiểu nhầm nên ít dùng.

Cách 2: Gộp hai thực thể có quan hệ 1-1 thành một kiểu thực thể duy nhất bằng

cách hoà trộn hai danh sách các kiểu thuộc tính với nhau.

Ví dụ: Có hai kiểu thực thể Chứng minh thư và Lý lịch cán bộ có quan hệ 1-1.

Chuyển theo Cách 1:

Chuyển theo Cách 2:

Quy tắc 2: Xử lý các kiểu liên kết 2 ngôi n - n và các kiểu

liên kết nhiều ngôi.

63

Có1 0..1

Lý lịch cán bộ

Mã cán bộHọ tên Quê quánNơi thường trúĐơn vị công tácHệ số lương

Chứng minh thư

Số CMTHọ tên Quê quánNơi thường trúNgày cấp CMTNơi cấp CMT

Lý lịch cán bộ

Mã cán bộHọ tên Quê quánNơi thường trúĐơn vị công tácHệ số lương

Chứng minh thư

Số CMTHọ tên Quê quánNơi thường trúNgày cấp CMTNơi cấp CMT

Lý lịch cán bộ

Mã cán bộHọ tên Quê quánNơi thường trúĐơn vị công tácHệ số lương

Chứng minh thư

Số CMTHọ tên Quê quánNơi thường trúNgày cấp CMTNơi cấp CMT

Lý lịch cán bộ

Mã cán bộHọ tên Số CMTHọ tên Quê quánNơi thường trúNgày cấp CMTNơi cấp CMTĐơn vị công tácHệ số lương

Page 64: Phan tich thiet ke he thong thong tin

Thực thể hoá mỗi kiểu liên kết đó bằng một kiểu thực thể mới có chứa các kiểu

thuộc tính là khoá của các kiểu thực thể tham gia (tập hợp các khoá này là khoá bội của

kiểu thực thể mới). Nối thực thể này với các thực thể tham gia liên kết bằng các liên kết

1-n (phía nhiều ở thực thể mới này).

Ví dụ: Có các kiểu quan hệ của các thực thể:

được

chuyển thành:

chuyển thành

c) Các kiểu thuộc tính khoá và các kiểu thuộc tính kết nối

64

Cung ứng0..* 0..*

Mặt hàng

SH mặt hàngTên hàngMàu

Nhà CC

SH nhà CCHọ tên Địa chỉ

Mặt hàng

SH mặt hàngTên hàngMàu

Nhà CC

SH nhà CCHọ tên Địa chỉ

Catalô

SH mặt hàngTên hàngMàu

Thờikhoá biểu

Phòng

Mã PH

Lớp học

Mã LớpTên lớp

Môn học

Mã mônTên môn

Thời gian

Ngày giờ

Thời khoá biểu

Mã LớpMã PHMã mônNgày giờ

Phòng

Mã PH

Lớp học

Mã LớpTên lớp

Môn học

Mã mônTên môn

Page 65: Phan tich thiet ke he thong thong tin

* Khoá: là một tập các kiểu thuộc tính của một kiểu thực thể dùng để phân biệt các

thực thể trong kiểu thực thể đó. Khoá có thể là khoá đơn (chỉ có một kiểu thuộc tính) và

khóa bội (khoá gồm 2 kiểu thuộc tính trở nên).

Khoá bội thường gặp trong các trường hợp sau:

- Các kiểu thực thể phụ thuộc: Khoá của một kiểu thực thể phụ thuộc luôn phải bao

gồm khoá của kiểu thực thể chính, và nó làm nhiệm vụ kết nối một thực thể phụ thuộc

với một thực thể chính.

- Các kiểu thực thể được lập từ Quy tắc 2, tức là các kiểu thực thể diến tả một quan

hệ đều phải có khoá bội hợp thành từ khoá của các kiểu thực thể tham gia quan hệ.

* Kiểu thuộc tính kết nối (hay còn gọi là khoá ngoại): là kiểu thuộc tính vốn là

khoá của một kiểu thực thể khác nhưng lại xuất hiện trong kiểu thực thể này với nhiệm

vụ mô tả mối quan hệ giữa hai kiểu thực thể.

4.2.4. Phương pháp phân tích theo mô hình thực thể liên kết

a) Hai cách tiến hành: trên xuống và dưới lên

Các thông tin được đưa vào mô hình thực thể liên kết dưới 3 hình thức: thực thể,

liên kết và thuộc tính. Để phát hiện các kiểu thực thể và các kiểu thuộc tính của chúng

có thể tiến hành theo hai cách ngược nhau:

Cách (1): trước hết đối sánh với thực tế để tìm ra các kiểu thực thể, rồi sau đó đối

với mỗi kiểu thực thể đã chọn, tìm các kiểu thuộc tính mô tả nó.

Cách (2): tìm tập hợp các kiểu thuộc tính như là những loại thông tin sơ đẳng xuất

hiện trong hệ thống, rồi gom nhóm, tổ chức chúng lại thành từng cụm theo chủ đề mô

tả. Mỗi cụm đó trở thành một kiểu thực thể

Tuy nhiên cách tốt nhất là hỗn hợp cả hai cách làm trên bằng cách lặp đi lặp lại

nhiều lần: Từ các kiểu thực thể, tìm ra các kiểu thuộc tính, rồi từ kiểu thuộc tính ta tổ

chức lại, chỉnh sửa và bổ xung thành các kiểu thực thể, vòng đi vòng lại cho đến khi

thỏa đáng.

Một thực thể, như ta đã định nghĩa ở trên, là một vật thể cụ thể hay trừu tượng, tồn

tại thực sự và khá ổn định trong thế giới thực mà ta muốn phản ánh nó trong hệ thống

thông tin.

Tuy nhiên, không phải mọi vật thể có trong thực tế đều trở thành thực thể, mà phải

có sự tuyển chọn khi đưa vào mô hình. Sự tuyển chọn đó dựa trên hai tiêu chí:

65

Page 66: Phan tich thiet ke he thong thong tin

- Có ích cho việc quản lý.

- Có cách để phân biệt với các thực thể khác.

Một thuộc tính, như đã định nghĩa ở trên, là một giá trị (dữ liệu) mô tả một khía

cạnh nào đó của một thực thể.

Cũng không phải mọi đặc điểm có thể của một thực thể đều được xem là thuộc tính

cho nó, mà phải có sự tuyển chọn theo yêu cầu quản lý.

Xét về vai trò của kiểu thuộc tính trong một kiểu thực thể, ta phân biệt ba loại kiểu

thuộc tính:

- Thuộc tính khóa

- Thuộc tính kết nối (hay khóa ngoài)

- Thuộc tính mô tả.

Về các thuộc tính khóa và kết nối, ta sẽ đề cập ở dưới cùng với việc xem xét các

liên kết. Còn đối với các thuộc tính mô tả, để tuyển chọn chúng ta dựa vào một số cách

phân loại, đề cập ở hai mục nhỏ tiếp sau đây.

b) Phân loại các thuộc tính theo nội dung diễn tả

Các dữ liệu trong một hệ thống thông tin quản lý (nói ở đây là các thuộc tính và từ

đó là các thực thể) có thể tách làm hai loại theo nội dung diễn tả:

Các dữ liệu phản ánh cấu trúc tĩnh của hệ thống kinh doanh dịch vụ. Có thể nói

đó là phần mô tả hạ tầng cơ sở của hệ thống kinh doanh dịch vụ và môi trường của

nó, và là phần ổn định nhất trong CSDL, bao gồm:

- Về nhân lực: Nhân viên, Khách hàng, Nhà cung cấp....

- Về tài sản, thiết bị nguyên vật liệu: Nhà xưởng, Cửa hàng, máy ôtô, Mặt

hàng, nguyên liệu ....

- Về tổ chức và cơ cấu: Phòng ban, Phân xưởng, Khoa, Bộ môn, Lớp,.v.v...

Các dữ liệu phản ánh các sự kiện trong hoạt động kinh doanh như :

- Các giao dịch: Đặt hàng, Đăng kí, Giao hàng, Thanh toán,...

- Các báo cáo, tổng kết thống kê.

Trên một góc nhìn khác, lại có thể phân chia các dữ liệu thành :

66

Page 67: Phan tich thiet ke he thong thong tin

Các dữ liệu sống: là các dữ liệu phản ánh thực tế hiện tại và đang được sử

dụng. Các dữ liệu này phải luôn luôn được cập nhật cho khỏi lạc hậu với thực tế.

Ví dụ : Lý lịch các nhân viên đang tại chức, Đơn hàng đang xử lý (chưa hoàn tất).

Các dữ liệu lịch sử: là các dữ liệu phản ánh quá khứ của hệ thống kinh doanh

dịch vụ, được chuyển sang lưu giữ, không cập nhật, không dùng trong các tính

toán xử lý, và chỉ có thể tham khảo khi cần. Thường thì các dữ liệu lịch sử được

lưu trên bộ nhớ tách biệt với các dữ liệu sống (cho nên thường được gọi là “Cơ sở

ngoài luồng”).

Ví dụ: Hồ sơ về các nhân viên đã ra khỏi cơ quan, Đơn hàng đã hoàn tất, tài khoản

đã đóng ...

c) Phân loại các thuộc tính theo đặc điểm về giá trị của nó

Xét về đặc điểm của giá trị mà thuộc tính có thể nhận, thì ta có thể phân loại dựa

trên hai tiêu chí sau:

Thuộc tính tính toán hay thuộc tính không tính toán ;

Thuộc tính vững bền hay thuộc tính không bền vững.

Thuộc tính tính toán là thuộc tính mà giá trị của nó thu được bởi sự tính toán theo

một công thức (hay quy trình) xuất phát từ giá trị của một hoặc một số thuộc tính khác.

Ví dụ: Thành tiền = đơn giá x số lượng

Nhớ rằng hai yêu cầu đối với lược đồ về khái niệm dữ liệu là các thông tin phải đủ

và không dư thừa. Thế thì các thuộc tính tính toán là dư thừa, vậy về nguyên tắc là

không được đưa vào lược đồ. Tuy nhiên các thuộc tính tính toán không phải là không có

ích. sau này đến giai đoạn thiết kế, khi xét thêm hai yêu cầu mới là: Tiện lợi và nhanh

chóng, thì rất có thể là lại phải đưa chúng vào cơ sở dữ liệu. Vậy ở giai đoan phân tích,

ta hãy ghi nhận chúng lại để sau này trở lại xem xét, thậm chí nếu thấy vai trò của

chúng là không thể thiếu.

Thuộc tính không tính toán (còn được gọi là thuộc tính nguyên thuỷ ) là thuộc tính

mà giá trị của nó được cung cấp từ bên ngoài hệ thống (không thể suy ra được từ bên

trong hệ thống ).

Thuộc tính bền vững là thuộc tính mà giá trị của nó khi đã có thì không thay đổi

được nữa. Ngược lại là thuộc tính không bền vững.

Phối hợp hai tiêu chí trên, ta có bốn loại thuộc tính :

67

Page 68: Phan tich thiet ke he thong thong tin

Thuộc tính tính toán và bền vững, chẳng hạn : Tổng tiền của một hoá đơn,

Tiền lương (của một nhân viên trong tháng hiện tại ).

Thuộc tính tính toán và không bền vững, chẳng hạn: Lượng hàng tồn kho, Số

dư tiết kiệm.

Thuộc tính không tính toán và bền vững, chẳng hạn: Ngày sinh, Giới tính

(của một người ).

Thuộc tính không tính toán và không bền vững, chẳng hạn: Số các con của

một nhân viên, địa chỉ một khách hàng.

d) Các thuộc tính khoá,thuộc tính kết nối và các liên kết

Một kiểu thuộc tính khoá của một kiểu thực thể là một kiểu thuộc tính mà giá trị

của nó tương ứng với mỗi thực thể là riêng biệt cho thực thể đó.Vậy khoá cho phép chỉ

định mỗi thực thể,cho phép phân biệt các thực thể với nhau.

Trong bước đầu phân tích, có thể chưa cần quan tâm vội đến việc chọn khoá. Song

cuối cùng thì trong lược đồ dữ liệu hoàn chỉnh , mỗi kiểu thực thể đều phải có khoá.

Thuộc tính khoá có thể chọn trong số các thuộc tính tự nhiên, miễn là giá trị của nó

là khác biệt cho mỗi thực thể. Chẳng hạn nếu tên chính thức cho mỗi công ty đều đã

được đăng ký với nhà nước và bảo đảm không trùng lặp, thì có thể lấy Tên công ty làm

khoá cho các công ty. Nếu trong một khách sạn, các phòng được sơn màu sắc khác

nhau, thì có thể lấy màu làm khoá chỉ định các phòng trong khách sạn đó.

Tuy nhiên, ít khi tìm được một thuộc tính tự nhiên làm khoá bây giờ người ta dùng

thuộc tính khóa nhân tạo ấy là các mã, các số hiệu, như là mã hàng, Số hiệu đơn hàng...

Trong một kiểu thực thể, một kiểu thuộc tính được gọi là kiểu thuộc tính kết nối

(hay là còn gọi là một tham chiếu) nếu nó không phải là khoá của kiểu thực thể đó,

nhưng lại là khoá của một kiểu thực thể khác.

Sau khi đã có tập hợp các kiểu thực thể, thì ta cần nghiên cứu phát hiện các kiểu

liên kết giữa hai kiểu thức thể.

Việc tìm các kiểu liên kết có thể làm theo hai cách:

Dựa trên ý nghĩa các kiểu thực thể ( thực thể trong đó, có thể đóng vai trò

gì?), dựa theo các quy tắc quản lý hay các quy trình giao dịch mà ta phát hiện ra

các kiểu liên kết.

68

Page 69: Phan tich thiet ke he thong thong tin

Ví dụ: Quy trình bán hàng bắt đầu bằng một khách hàng đưa đến đơn đặt hàng. Từ

sự kiện ta phát hiện ra có mối liên quan giữa khách hàng và đơn hàng.

Tìm trên danh sách các kiểu thuộc tính của các kiểu thực thể (đã lập ở bước

trước) hoặc tìm trên các chứng từ giao dịch, ta có thể phát hiện ra các tham chiếu.

Mỗi tham chiếu là biểu hiện cho một kiểu liên kết.

Ví dụ: Xem các Đơn hàng, ta thấy đơn hàng nào cũng có Tên ( hay Mã số khách

hàng). Đó chính là một tham chiếu. Vậy phải có một kiểu liên kết giữa hai kiểu thực thể

Đơn hàng và khách hàng.

Ví dụ : Xây dựng mô hình thực thể liên kết cho hệ thống QL CƯVT

Các kiểu thực thể sơ bộ có thể phát hiện là:

Về nhân lực, tài nguyên có phân xưởng, người cung cấp, Mặt hàng,…

Về giao dịch có dự trù, Đơn hàng, Giao hàng, Hoá đơn, Phát hàng,…

Tiếp đó ta phát hiện các kiểu liên kết giữa chúng bằng cách duyệt lại quá trình giao

dịch( từ khi phân xưởng đưa dự trù đến khi phân xưởng nhận được hàng) qua đó ta sẽ

thấy được các mối liên hệ giữa các kiểu thực thể.

Bổ sung các kiểu thuộc tính cho mỗi kiểu thực thể (trên hình không ghi chi tiết các

thuộc tính mô tả). Riêng việc chọn khoá, ta lưu ý một điểm sau:

Các SH-đơn hàng, SH-giao hàng, SH-phân xưởng, Mã hàng đã được quản lý

thống nhất, vậy có thể làm khoá (đơn) của các kiểu thực thể tương ứng.

Trái lại SH-dự trù, SH-giao hàng,SH-hoá đơn là khoá ngoại đối với hệ thống,

có thể xảy trùng lặp, vậy muốn dùng chúng làm khoá thì SH-dự trù phải kèm với

SH-phân xưởng, SH-giao hàng và SH- hoá đơn phải kèm SH nhà cung cấp .

Ta có các mô hình thực thể liên kết

- Mô hình thực thể liên kết mở rộng,

- Mô hình thực thể liên kết kinh điển

- Mô hình thực thể liên kết hạn chế.

như sau:

69

Page 70: Phan tich thiet ke he thong thong tin

Hình 4.1. Lược đồ dữ liệu theo mô hình thực thể liên kết mở rộng.

Trong lược đồ trên dùng tam giác để chỉ hướng đọc mối liên kết và dùng thuộc tính

in nghiêng để đánh dấu các thuộc tính đa trị.

70

Xuất Nhập kho

Mã hàngNgày XNX_NLượng XN

Điều chỉnh

Tồn kho

Mã hàngLượng TKNgưỡng

Dự trù

SH-DTSH-PXNgày DTMã hàngLượng DT

Gồm

Phát cho

Phát hàng

SH-PHNgày PHMã hàngLượng PH

Nhập vào

Mặt hàng

Mã hàngChi tiết MH

Gồm

Giao hàng

SH-GHTên NCCNgày GHMã hàngLượng GH

Gồm

Phát theo

Gồm

Gồm

Người CC

Tên NCCChi tiết NCC

Gửi cho

Cung ứng

Xuất cho

Phân xưởng

SH_PXChi tiết PX Lập

Đưa vào

Đơn hàng

SH-ĐHNgày ĐHMã hàngLượng ĐH

Theo

Lập

Hoá đơn

SH-HĐTên NCCNgày HĐTổng tiềnMã hàngLượng HĐ

Tính theo Thực hiện

Page 71: Phan tich thiet ke he thong thong tin

71

11..*11..*11

Phát hàng

SH-PHNgày PH

*

*0..1

0..1 1

0..1

1

*

Phát cho

Nhập vào

Dòng phát hàng

SH-PHMã hàngLượng PH

Dự trù

SH-DTSH-PXNgày DT

Phát theo

Xuất cho

Phân xưởng

SH_PXChi tiết PX Lập

Đưa vào

*

Xuất Nhập kho

Mã hàngNgày XNX_NLượng XN

Điều chỉnh

Tồn kho

Mã hàngLượng TKNgưỡng

1

Gồm

Mặt hàng

Mã hàngChi tiết MH

Gồm

Dòng dự trù

SH-DTSH-PXMã hàngLượng DT

Dòng đơn hàng

SH-ĐHMã hàngLượng ĐH

Gồm

Gồm

Đơn hàng

SH-ĐHNgày ĐH

Theo

Gồm

Dòng giao hàng

SH-GHTên NCCMã hàngLượng GH

Giao hàng

SH-GHTên NCCNgày GH

Người CC

Tên NCCChi tiết NCC

Gửi cho

Cung ứng

Lập

Thực hiện

Hoá đơn

SH-HĐTên NCCNgày HĐTổng tiền

Dòng hoá đơn

SH-HĐTên NCCMã hàngLượng HĐ

Tính theo

1

1

1..*

1..*

*

*

11

1

1

1

1

1

*

*

*

*

1

1

*

* 1

1

*

1

1..*

1..*

1

1

1..*

*

1

1

*

* 1

Page 72: Phan tich thiet ke he thong thong tin

72

Dòng phát hàng

SH-PHMã hàngLượng PH

Dự trù

SH-DTSH-PXNgày DT

Phân xưởng

SH_PXChi tiết PX

Xuất Nhập kho

Mã hàngNgày XNX_NLượng XN

Tồn kho

Mã hàngLượng TKNgưỡng

Mặt hàng

Mã hàngChi tiết MH

Dòng dự trù

SH-DTSH-PXMã hàngLượng DT

Dòng đơn hàng

SH-ĐHMã hàngLượng ĐH

Dòng giao hàng

SH-GHTên NCCMã hàngLượng GH

Giao hàng

SH-GHTên NCCNgày GH

Hoá đơn

SH-HĐTên NCCNgày HĐTổng tiền

Dòng hoá đơn

SH-HĐTên NCCMã hàngLượng HĐ

Phát hàng

SH-PHNgày PH

Đơn hàng

SH-ĐHNgày ĐH

Người CC/ Mặt hàng

Tên NCCMã hàngĐơn giá

Người CC

Tên NCCChi tiết NCC

Page 73: Phan tich thiet ke he thong thong tin

4.3. MÔ HÌNH DỮ LIỆU QUAN HỆ

4.3.1. Các khái niệm

a) Domain - Miền

Domain là một tập hợp không rỗng D. Để biểu diễn một phần tử thuộc D, ta viết

ED. Miền (domain) là một tập các giá trị hoặc các đối tượng.

Gọi D1, D2, ...Dn, là n miền, khi đó D là tập hợp các phần tử của tích Đề các

D1D2...Dn. Cũng có thể số lượng các phần tử của D bị giảm đi bởi một điều kiện

xác định cho trước.

b) Thuộc tính (Attribute)

Thuộc tính là một lớp dữ liệu mô tả hành vi, tính chất phát sinh trong CSDL, nghĩa

là nó chỉ dựa vào tính chất của lớp dữ liệu này.

Mỗi thuộc tính được gắn với một và chỉ một domain.

Một mục dữ liệu (item) của một thuộc tính trong CSDL là một giá trị của domain

của thuộc tính này.

Một thuộc tính gọi là có tính joined nếu nó được định nghĩa từ một vài các thuộc

tính khác; do đó domain của nó là tập con của tích Đề các các domain của các thuộc

tính này.

Ký hiệu:

- Gọi c là giá trị của thuộc tính C. Nếu C được tạo thành từ các thuộc tính C1,

C2,...,Cn, khi đó ta ký hiệu c.C1 và c(C1) chỉ giá trị c đối với thuộc tính C1.

- Nếu thuộc tính C có các domain D1, D2, ...Dn thì c.D1 và c(D1) chỉ giá trị c trong

domain D1.

c) Quan hệ

Một quan hệ (Relation) n-R là tập R+ các thuộc tính của R và một vị từ mô tả bởi

chứa các biến số tự do (ví dụ ,) tương ứng các thuộc tính của R+ và nhận các giá

trị trong các domain của các thuộc tính đó.

Một bộ (n-tuple) của R là một phần tử của tính Đề các của các domain tương ứng

với n thuộc tính của R.

Một thực thể (entity) r của R là một bộ của R thoả mãn vị từ (r)=true.

Một cách đơn giản, quan hệ R là một bảng dữ liệu hai chiều.

73

Page 74: Phan tich thiet ke he thong thong tin

d) Lược đồ quan hệLược đồ quan hệ là sự hợp thành của hai yếu tố:

- Một cấu trúc, gồm tên quan hệ và danh sách các thuộc tính (mỗi thuộc tính gắn

với một miền) thường cho dưới dạng R(A1A2…An)

- Một tập hợp các ràng buộc toàn vẹn, tức là các điều kiện mà mọi quan hệ trong

lược đồ phải thoả mãn.

- Về mặt hình thức: Lược đồ quan hệ cho bởi một cặp gồm hai thành phần

=<U+, F> , trong đó:

U+: Là tập các thuộc tính

F: Là tập các phụ thuộc hàm trên U+.

- Cho R là một quan hệ trên tập thuộc tính U+, ta nói R thuộc lược đồ quan hệ

=<U+, F> nếu R thoả mãn tất cả các phụ thuộc hàm của tập F.

4.3.2. Phụ thuộc hàm

4.3.2.1. Các dạng chuẩn

a) Định nghĩa phụ thuộc hàm

Cho quan hệ R(ABC), trong đó C có thể rỗng. Ta nói tập thuộc tính B phụ thuộc

hàm vào tập thuộc tính A, nếu trong R hai bộ (a1 b1 c1), (a2 b2 c2) bất kỳ có a1=a2 thì

cũng đều có b1=b2. Có nghĩa là mỗi giá trị của thuộc tính A xác định duy nhất giá trị

của thuộc tính B.

Ký hiệu phụ thuộc hàm này là A B.

Ví dụ: Trong các quan hê BANDOC,SACH,và BẠNDOC_SACH:

BANDOC : Số thẻ { Tên bạn đọc, Cơ quan, Hạn SD}

SACH : Mã sách {Tên sách,Tác giả}

BANDOC_SACH : {Số thẻ, Mã sách} Ngày mượn

Nếu A là một nhóm các thuộc tính thì phụ thuộc hàm A B trong R được gọi là

Sơ đẳng nếu như không tồn tại A’ mà A’ B

Phụ thuộc hàm A B trong quan hệ R được gọi là trực tiếp nếu như không tồn tại

thuộc tính X trong quan hệ R, X khác với A và B sao cho AB và X B, Nói cách khác,

phụ thuộc hàm A B trực tiếp nếu như không phải là bắc cầu

74

Page 75: Phan tich thiet ke he thong thong tin

b) Tính chất của các phụ thuộc hàm

(fd1) Tính phản xạ.

If then là một phụ thuộc hàm của R.

(fd2) Luật tăng trưởng

If là một fd của R và then là một fd của R.

(fd3) Tính bắc cầu

If and là các fd của R then là một fd của R.

(fd4) Giả bắc cầu

If and là các fd của R then là một fd của R.

(fd5) Phép hợp

If and là các fd của R then là một fd của R.

(fd6) Phép khai triển

If and là các fd của R then là một fd của R.

4.3.3. Khoá tối thiểu

a) Khoá (Key) và siêu khoá (super key) của quan hệ

- Cho một quan hệ R trên tập thuộc tính U+ và XU+. X được gọi là siêu khoá của

quan hệ R nếu R thoả mãn phụ thuộc hàm X U+ .

Ví dụ 1: Quan hệ KQHocTap(MaSV, MaMH, Diem)

X1=MaSV, MaMH, Diem

X2=MaSV, MaMH

Ta có X1, X2 là hai siêu khoá của quan hệ QKHocTap.

- Một siêu khoá của quan hệ R được gọi là khoá của R nếu nó là siêu khoá tối

thiểu. Siêu khoá tối thiểu là siêu khoá mà nếu bỏ đi một thuộc tính thì nó không còn là

siêu khoá nữa.

Vậy X (XU+) là khoá của R và thì R không thoả phụ thuộc

hàm X-A U+.

Ví dụ 2: Có X2 là khoá của quan hệ QKHocTap.

Nhận xét: Khái niệm khoá và siêu khoá của quan hệ phụ thuộc vào thể hiện cụ thể

của quan hệ đó.

75

Page 76: Phan tich thiet ke he thong thong tin

b) Khoá (Key) và siêu khoá (super key) của lược đồ quan hệ

- Siêu khoá: Cho lược đồ quan hệ =<U+, F> và XU+. X được gọi là siêu khoá

của lược đồ quan hệ nếu X là siêu khoá của mọi quan hệ thuộc lược đồ .

- Khoá: Cho lược đồ quan hệ =<U+, F> và XU+. X được gọi là khoá của lược

đồ quan hệ nếu X là siêu khoá tối thiểu của lược đồ .

Ví dụ 1: Cho lược đồ quan hệ:

=<U+ ={MaSV, MaMH, Diem}, F={MaSV,MaMHDiem}>

X=MaSV, MaMH là siêu khoá của lược đồ quan hệ =<U+, F>. Vì với một quan

hệ R bất kỳ thuộc lược đồ thì tập thuộc tính của R, R+=U+={MaSV, MaMH, Diem} và

X U+.

Ngoài ra X là siêu khoá tối thiểu, nên X là khoá của lược đồ quan hệ.

Chú ý: X là một siêu khoá chỉ có một thuộc tính thì nó chính là khoá.

Ví dụ 2: Cho lược đồ quan hệ =<U+ =ABCD, F={AB CD, B AC}

Kiểm tra B là khoá:

A B C D

t

t'

Vậy BABCD, S là khoá.

4.3.4. Chuẩn hoá

4.3.4.1. Các dạng chuẩn

a) Dạng chuẩn 1NF

Một lược đồ quan hệ được gọi là ở dạng chuẩn 1NF nếu mọi thuộc tính của nó

đều là nguyên tố.

Ví dụ: Chưa ở dạng 1NF

S# Product

1NF

S# P# QTyP# QTy

s1

s1

s2

s2

p1

p2

p1

p2

200

500

300

100

s1

s1

s2

s2

p1

p2

p1

p2

200

500

300

100

76

Page 77: Phan tich thiet ke he thong thong tin

Trong thuộc tính Product có thể tách thành 2 thuộc tính con độc lập nhau, do đó

Product chưa nguyên tố, ta đưa về dạng chuẩn 1NF bằng cách tách Product thành 2

thuộc tính P# và Qty.

Tuy nhiên cần chú ý quan niệm nguyên tố sẽ quyết định dạng chuẩn 1NF, mà quan

niệm này phụ thuộc vào yêu cầu xây dựng CSDL và khai thác CSDL.

Ví dụ: Cần quản lý tình trạng bán hàng trong từng ngày, khi đó thuộc tính Qty cần

phải tách thành: Ngày bán+Đơn giá+ Số lượng.

Và dạng chuẩn 1NF như sau:

S# P# Date Price QTY

b) Dạng chuẩn 2NF

* Khái niệm phụ thuộc hàm đầy đủ:

Ví dụ: Trên quan hệ KQTHI(MaSV, MaMT, Điem) có:

MaSV, MaMT Điem

MaSV Điem

MaMT Điem

+ Khái quát:

- Y được gọi là phụ thuộc hàm đầy đủ vào X trên quan hệ R nếu XY thoả trên R.

Nhưng với mọi tập con (X'X) thì X' Y không thoả trên R.

- Y được gọi là phụ thuộc hàm đầy đủ vào X trên lược đồ quan hệ =<U+, F>

nếu XY thoả trên . Nhưng với mọi tập con (X'X) thì X' Y không thoả trên

.

+ Nếu ta sử dụng ký hiệu =<U+, F>. Điều kiện Y phụ thuộc đầy đủ vào X là:

* Tiêu chuẩn để Y phụ thuộc đầy đủ vào X trên lược đồ quan hệ =<U+, F>

77

Page 78: Phan tich thiet ke he thong thong tin

Ví dụ: Cho F={AC, BC, AD, DEC, CEA}

- Kiểm tra C có phụ thuộc đầy đủ vào AD hay không? Không vì F |- AC.

- Kiểm tra AB có phụ thuộc đầy đủ vào BCE hay không?

* Định nghĩa: Một lược đồ gọi là dạng chuẩn 2NF nếu:

- ở dạng chuẩn 1NF,

- Mọi thuộc tính không khoá (thuộc tính không nằm trong khoá nào với mọi khoá)

đều phụ thuộc đầy đủ vào khoá.

Chú ý: Trong thực tế thì ta thường gọi một khoá làm khoá chính Primary Key. Khi

đó yêu cầu của dạng chuẩn (yếu hơn về mặt lý thuyết) chỉ cần các thuộc tính không

khoá phụ thuộc đầy đủ vào khoá chính.

Ví dụ: Cho lược đồ =<U+={MaSV, TenSV, MaMT, TenMon, ĐiemThi};

F={MaSVTenSV; MaMTTenMon; MaSV, MaMTĐiemThi}>

Nhận xét: chưa ở dạng chuẩn 2NF vì X=MaSV, MaMT là khoá của . Các

thuộc tính không khoá là TenSV, TenMon, ĐiemThi

Ta có thuộc tính TenSV, TenMon không phụ thuộc đầy đủ vào khoá chỉ phụ thuộc

vào bộ phận của khoá.

Lược đồ được tách thành các lược đồ sau:

1=<U+={MaSV, TenSV}; F={MaSVTenSV}>

2=<U+={MaMT, TenMon}; F={MaMTTenMon}>

3=<U+={MaSV, MaMT, DiemThi}; F={MaSV, MaMTĐiemThi}>

1, 2 hiển nhiên ở dạng chuẩn 2NF.

3 có khoá duy nhất là X=MaSV, MaMT. Thuộc tính không khoa là DiemThi phụ

thuộc đầy đủ vào khoá X. Vì

c) Dạng chuẩn 3NF

* Khái niệm phụ thuộc bắc cầu:

78

Page 79: Phan tich thiet ke he thong thong tin

- Nhận xét: Chất lượng "tốt" của một quan hệ liên quan đến độ chặt chẽ của các

phụ thuộc dữ liệu giữa các thuộc tính không khoá và thuộc tính khoá. Khái niệm phụ

thuộc đầy đủ ở trên là ví dụ. Để định nghĩa tốt hơn ta xét khái niệm phụ thuộc bắc cầu.

- Định nghĩa: Cho lược đồ quan hệ =<U+, F>, A là một thuộc tính

của U+.

Ta nói A phụ thuộc bắc cầu vào X trên nếu có thể chèn một cầu thực sự Y vàn

giữa quan hệ A và X. Nghĩa là

Nếu có phụ thuộc bắc cầu giữa A và X như trên ta nói A và X còn phụ thuộc

lỏng.

Định nghĩa 1: Lược đồ quan hệ được gọi ở dạng chuẩn 3NF nếu

i) ở dạng chuẩn 1NF

ii) Mọi thuộc tính không khoá không được phụ thuộc bắc cầu vào khoá

Định nghĩa 2: Lược đồ quan hệ được gọi ở dạng chuẩn 3NF nếu

i) ở dạng chuẩn 2NF

ii) Mọi thuộc tính không khoá không được phụ thuộc bắc cầu vào khoá.

Chú ý: A phụ thuộc không đầy đủ vào khoá X, chỉ phụ thuộc vào Y ( )

thì A cũng phụ thuộc bắc cầu: X Y A.

Ví dụ 1: Cho lược đồ quan hệ như sau:

=<U+=CTRHSG; F={C T, HR C, HT R, CS G, HS R}>

C - giáo trình (Curriculum)

T - Giáo viên (Teacher)

R - Phòng học (Room)

H - Giờ (Hour)

S - Sinh viên (Student)

G - Lớp (grade)

C T: Mỗi giáo trình có một thầy dạy,

HR C: Chỉ một môn học ở một phòng học tại một thời điểm,

HT R: Tại mỗi thời điểm mỗi giáo viên chỉ có thể dạy ở một phòng học,

CS G: Mỗi sinh viên chỉ ở một lớp học theo mỗi giáo trình.

HS R: Mỗi sinh viên chỉ có thể ở một phòng học tại một thời điểm.

79

Page 80: Phan tich thiet ke he thong thong tin

Yêu cầu: Kiểm tra có ở dạng chuẩn 3NF hay không? Nếu không ở dạng chuẩn

nào?

- Xác định tập K các khoá của và tập N các thuộc tính không khoá.

o Nhận xét: Thuộc tính HS tham gia khoá vì chúng không xuất hiện ở vế

phải. Kiểm Tra HS có phải là khoá không.

HS+=HSRCTG=U+.

Ta có khoá K={HS} là khoá duy nhất, N={RCT} là các thuộc tính

không khoá.

o R là thuộc tính không khoá: HS HT R (HT không HS). Như vậy

R phụ thuộc bắc cầu vào khoá HS thông qua cầu HT. Suy ra không ở

dạng chuẩn 3NF.

- Kiểm tra N=RCT có phụ thuộc đầy đủ vào HS hay không?

o C Vậy C phụ thuộc đầy đủ vào HS

o Tương tự RT

KL: ở dạng chuẩn 2NF.

d) Dạng chuẩn BCNF

* Định nghĩa: Cho một lược đồ , ở dạng chuẩn BCNF nếu:

i) ở dạng chuẩn 1NF

ii) Nếu X Y là một phụ thuộc hàm không tầm thường thoả mãn trên thì X phải

là siêu khoá của .

4.3.4.2. Chuẩn hoá

a) Định nghĩa: Chuẩn hoá là sự phân rã không làm mất mát thông tin của một quan

hệ R thành một tập hợp các quan hệ ở dạng chuẩn 3NF.

b) Chuẩn hoá theo hướng phân tích

Thực hiện chuẩn hoá dần dần theo các bước 1NF 2NF 3NF

i. Đưa về dạng chuẩn 1NF: Thực hiện tách các thuộc tính lặp

Nhóm các thuộc tính đơn toạ thành một quan hệ. Chọn khoá cho nó.

80

Page 81: Phan tich thiet ke he thong thong tin

Nhóm các thuộc tính lặp tách ra, tăng thêm khoá của quan hệ trên tạo

thành một quan hệ (hay một số quan hệ theo chủ đề). Chọn khoá cho các

quan hệ này, thường là khoá bội, trong đó khoá của quan hệ trên là một

thành phần.

ii. Đưa về dạng chuẩn 2NF: Thực hiện tách các nhóm thuộc tính phụ thuộc hàm

vào một phần của khoá.

Nhóm thuộc tính không bị tách tạo thành một quan hệ với khoá như cũ.

Mỗi nhóm tách ra (gồm các thuộc tính cùng phụ thuộc vào một phần

thuộc tính nào đó của khoá) cộng thêm các thuộc tính mà chúng phụ

thuộc tạo thành một quan hệ với khoá là các thuộc tính được thêm này.

iii. Đưa về dạng chuẩn 3NF: Thực hiện tách các nhóm thuộc tính phụ thuộc một

hay một số các thuộc tính ngoài khoá.

Nhóm thuộc tính còn lại tạo thành một quan hệ với khoá như cũ.

Mỗi nhóm tách ra (gồm các thuộc tính phụ thuộc vào cùng một hay một

số các thuộc tính ngoài khoá) cộng thêm các thuộc tính mà chúng phụ

thuộc tạo thành một quan hệ mới với khoá là các thuộc tính cộng thêm này.

Như vậy, sau khi thực hiện các bước trên ta được các quan hệ ở dạng chuẩn 3NF.

Ví dụ: Ta thực hiện chuẩn hoá một đơn hàng.

- Các thuộc tính đơn:

SH-ĐH

SH-NgCC

Tên -NgCC

Địa chỉ - NgCC

Ngày-ĐH

Tổng cộng

- Các thuộc tính lặp:

Mã MH

Mô tả MH

Đơn vị tính

Đơn giá

Số lượng

Thành tiền

81

Page 82: Phan tich thiet ke he thong thong tin

Các thuộc tính Tổng cộng và Thành tiền là các thuộc tính tính toán, bị loại khỏi

danh sách.

Các phụ thuộc hàm trong danh sách các thuộc tính còn lại là:

SH-ĐH SH-NgCC, Tên -NgCC, Địa chỉ - NgCC, Ngày-ĐH

SH-ĐH, Mã MH Mô tả MH, Đơn vị tính, Đơn giá, Số lượng

SH-NgCC Tên -NgCC, Địa chỉ - NgCC

Mã MH Mô tả MH, Đơn vị tính, Đơn giá

Ta có các bước chuẩn hoá sau:b

Danh sách thuộc tính 1NF 2NF 3NF

SH-ĐH

SH-NgCC

Tên -NgCC

Địa chỉ - NgCC

Ngày-ĐH

Mã MH

Mô tả MH

Đơn vị tính

Đơn giá

Số lượng

SH-ĐH

SH-NgCC

Tên -NgCC

Địa chỉ - NgCC

Ngày-ĐH

SH-ĐH

Mã MH

Mô tả MH

Đơn vị tính

Đơn giá

Số lượng

SH-ĐH

Mã MH

Số lượng

Mã MH

Mô tả MH

Đơn vị tính

Đơn giá

SH-ĐH

SH-NgCC

Ngày-ĐH

SH-NgCC

Tên -NgCC

Địa chỉ - NgCC

4.3.5. Phương pháp lập lược đồ dữ liệu theo mô hình quan hệ

Ta có thể tóm tắt quy trình thành lập lược đồ dữ liệu cho hệ thống theo mô hình

quan hệ như sau:

(i) Thành lập một danh sách các thuộc tính, gọi là danh sách xuất phát. Có thể xem

đây là một quan hệ, với một ý nghĩa khái quát nào đó.

Chú ý: Quá trình được lặp lại với nhiều danh sách khác, cho đến khi vét cạn các

thông tin cần thiết cho hệ thống.

82

Page 83: Phan tich thiet ke he thong thong tin

Có 2 cách tiếp cận cơ bản thành lập danh sách xuất phát:

- Đó là tập hợp các thông tin cơ bản (thông tin không có cấu trúc) phát hiện được

trong một phạm vi điều tra.

- Xuất phát từ một cái ra của hệ thống. Cái ra có thể là: một chứng từ hay một tài

liệu in ra từ hệ thống; một màn hình giao tiếp người/máy.

(ii) Tu chỉnh lại danh sách xuất phát, qua các công việc sau:

- Loại bỏ bớt các tên đồng nghĩa.

- Loại bỏ các thuộc tính tính toán, tức là các thuộc tính có giá trị được tính từ các

giá trị của các thuộc tính khác.

- Kết nạp thêm các thuộc tính được dùng để tính toán các thuộc tính tính toán đã bị

loại trên nếu chúng chưa có trong danh sách.

- Nếu có thể được, thay thế các thuộc tính không đơn thành các thuộc tính đơn.

(iii) Tìm các phụ thuộc hàm trong danh sách các thuộc tính.

- Trước tiên là rà các khả năng có các PTH giữa từng cặp các thuộc tính trong danh sách.

- Sau đó, xét các PTH có vế trái gồm 2,3 … thuộc tính.

(iv) Tiến hành chuẩn hoá dựa trên tập các PTH đã được lập ở trên, dựa vào phương

pháp chuẩn hoá đã biết ở trên. Kết quả thu được là một tập các lược đồ quan hệ ở dạng

chuẩn 3NF.

(v) Lặp lại các bước từ (i) đến (iv) cho các danh sách xuất phát khác nhau, cho đến

khi quét hết các phạm vi khảo sát. Ta được nhiều tâp lược đồ quan hệ 3NF.

(vi) Lấy hợp các kết quả thu được từ các lần lặp trên. Khi lấy hợp, nếu có hai quan

hệ có khoá trùng nhau thì chúng được gộp thành một quan hệ với danh sách các thuộc

tính là hợp của hai danh sách tương ứng.

83