You are on page 1of 161

Giáo trình Phân tích thiết Kế Hệ Thống 1

LỜI NÓI ĐẦU

Chào mừng các bạn đến với môn học Phân tích thiết kế thống, một môn học rất thú vị, cần
thiết trong việc xây dựng một ứng dụng thực tế. Nó cũng sẽ trang bị cho các bạn những kiến
thức cần thiết dùng để viết phần lý thuyết của đề án tốt nghiệp. Tài liệu sẽ cung cấp những
kỹ năng cần thiết trong phân tích thiết kế một hệ thống thông tin quản ly.

Tài liệu này một phần được dịch và biên soạn lại từ quyển sách Practical Data Modelling
For Database Design của hai tác giả Renzo D’Orazio & Gunter Happel và từ Giáo trình
Phân tích Thiết kế Hệ Thống của Nguyễn Văn Vỵ

Tài liệu trình bày tường tận chi tiết các kỹ năng cần thiết trong phân tích thiết kế một hệ
thống thông tin, từ việc trình bày các nguyên tắc cần thiết để phân biệt một khái niệm là tập
thực thể hay thuộc tính đến việc trình bày hình ảnh dữ liệu bằng mô hình thực thể kết hợp.
Nó cũng đào sâu vào các khía cạnh tập thực thể cha con, mối kết hợp một ngôi, mối kết
hợp ba ngôi, nhiều mối kết hợp giữa các tập thực thể. Tài liệu có nhiều ví dụ cụ thể dễ hiểu
từ đơn giản đến phức tạp.

Dù đã cố gắng hết sức, tài liệu cũng không thể tránh khỏi những thiếu sót, rất mong sư đóng
góp của các bạn.

Mọi góp ý xin gởi về Th.S. Trần Đắc Phiến Bộ môn Hệ thống thông tin trường Đại học
Công nghiệp Tp Hồ Chí Minh.

Chúng tôi chân thành cám ơn sự động viên và đóng góp ý kiến của các bạn đồng nghiệp
trong quá trình biên soạn tài liệu.
Giáo trình Phân tích thiết Kế Hệ Thống 2

M ỤC L ỤC

Chương 1 : PHƯƠNG PHÁP LUẬN PHÁT TRIỂN HỆ THỐNG THÔNG TIN.................................................................. 3

Chương 2 : KHẢO SÁT HIỆN TRẠNG XÁC ĐỊNH YÊU CẦU HỆ THỐNG...................................................................... 21

Chương 3 : MÔ HÌNH NGHIỆP VỤ CỦA HỆ THỐNG.......................................................................................................... 32

Chương 4 : MÔ HÌNH HÓA QUÁ TRÌNH XỬ LÝ.................................................................................................................. 42

Chương 5 : MÔ HÌNH HÓA LOGIC TIẾN TRÌNH ................................................................................................................ 57

Chương 6 : GIỚI THIỆU VỀ MÔ HÌNH HÓA DỮ LIỆU....................................................................................................... 65

Chương 7 : MÔ HÌNH QUAN HỆ.............................................................................................................................................. 79

Chương 8 : PHÂN TÍCH DỮ LIỆU VÀ YÊU CẦU CHỨC NĂNG ........................................................................................ 89

Chương 9 : TÍNH BẮT BUỘC, KHÔNG BẮT BUỘC TRONG MỐI KẾT HỢP ................................................................. 96

Chương 10 : TẬP THỰC THỂ CHA VÀ TẬP THỰC THỂ CON ........................................................................................ 104

Chương 11 : MỞ RỘNG KHÁI NIỆM MỐI KẾT HỢP ........................................................................................................ 113

Chương 12 : SỰ CHUẨN HÓA ................................................................................................................................................ 123

CÁC TRƯỜNG HỢP NGHIÊN CỨU...................................................................................................................................... 132

----oOo----
Giáo trình Phân tích thiết Kế Hệ Thống 3

Chương 1 : PHƯƠNG PHÁP LUẬN PHÁT TRIỂN HỆ THỐNG THÔNG TIN

1.1. Khái niệm và thống thông tin


Phát triển một HTTT là một quá trình tạo ra một HTTT cho một tổ chức. Quá trình đó bắt đầu từ khi
nêu vấn đề cho đến khi đưa hệ thống vào vận hành trong tổ chức. Với thực tiễn của nhiều năm xây dựng
các HTTT, những cơ sở phương pháp luận phát triển HTTT đã không ngừng được hoàn thiện và bổ sung
cho phù hợp với sự phát triển của công nghệ và các điều kiện môi trường đã biến đổi.
1.1.1 Khái niệm và định nghĩa
Có nhiều định nghĩa về HTTT khác nhau. Về mặt kỹ thuật, HTTT được xác định như một tập hợp các
thành phần được tổ chức để thu thập, xử lý, lưu trữ, phân phối và biểu diễn thông tin và thông tin trợ giúp
việc ra quyết định và kiểm soát trong một tổ chức. Ngoài các chức năng kể trên, nó còn có thể giúp người
quản lý phân tích các vấn đề, cho phép nhìn thấy được một cách trực quan những đối tượng phức tạp, tạo
ra các sản phẩm mới.
Dữ liệu (data) là những mô tả về sự vật, con người và sự kiện trong thế giới mà chúng ta gặp bằng
nhiều cách thể hiện khác nhau.
Thông tin (Information) cũng nhu dữ liệu, thông tin có rất nhiều cách định nghĩa khác nhau. Một định
nghĩa bao trùm hơn cả xem thông tin là dữ liệu được đặt vào một ngữ cảnh với một hình thức thích hợp và
có lợi cho nhười sử dụng cuối cùng.
Các hoạt động thông tin (information activitties) là các hoạt động xảy ra trong một HTTT, bao gồm cả
việc nắm bắt, xử lý, phân phối, lưu trữ, trình diễn dữ liệu và kiểm tra các hoạt động trong HTTT.
Xử lý (processing) được hiểu là các hoạt động lên dữ liệu như tính toán, so sánh, sắp xếp, phân loại và
tổng hợp…
1.1.2 Hệ thống thông tin quản lý
Trong các HTTT, HTTT quản lý được biết đến sớm và phổ biến nhất. Đối tượng phục vụ của HTTT
quản lý thực sự rộng hơn rất nhiều so với ý nghĩa của bản thân tên gọi của nó. HTTT quản lý là sự phát
triển và sử dụng HTTT có hiệu quả trong một tổ chức (Keen, Peter GW.- một người đứng đầu trong lĩnh
vực nầy).

Hình 1.1. Các yếu tố cấu thành của HTTT


Năm yếu tố cấu thành của HTTT quản lý xét ở trạng thái tĩnh là: thiết bị tin học (máy tính, các thiết bị,
các đường truyền…- phần cứng), các chương trình (phần mềm), dữ liệu, thủ tục-quy trình và con người
(hình 1.1). Các định nghĩa về HTTT trên đay giúp cho việc định hướng quá trình phân tích, thiết kế hệ
thống. Tuy vậy, sự mô tả này là chưa đủ, cần đi sâu phân tích hệ thống cụ thể mới có sự hiểu biết đầy đủ về
hệ thống thực và cho phép xây dựng cơ sở dữ liệu, các chương trình và việc bố trí các thành phần bên trong
nó.
1.1.3. Phân loại hệ thống thông tin
Dưới đây trình bày một cách phân loại HTTT với các loại sau :
a. Hệ thống tự động văn phòng
Giáo trình Phân tích thiết Kế Hệ Thống 4

Hệ thống tự động văn phòng là HTTT gồm máy tính với các hệ phần mềm như hệ xử lý văn bản, hệ
thư tín điện tử, hệ thống lập lịch làm việc, bảng tính, chương trình trình diễn báo cáo cùng các thiết bị khác
như máy Fax, điện thoại tự ghi,… chúng được thiết lập nhằm tự động hóa công việc ghi chép, tạo văn bản
và giao dịch bằng lời, bằng văn bản làm tăng năng suất cho những người công tác văn phòng.
b. Hệ thống truyền thông
Hệ thống truyền thông giúp cho việc thực hiện các trao đổi thông tin giữa các thiết bị dưới các hình
thức khác nhau với những khoảng cách xa dễ dàng, nhanh chóng và có chất lượng. Hệ thống này đóng vai
trò phục vụ cho các HTTT quản lý, hệ trợ giúp điều hành và các hệ khác hoạt động hiệu quả.
c. Hệ thống xử lý giao dịch
Hệ thống xử lý giao dịch la một HTTT nghiệp vụ. Nó phục vụ cho hoạt động của tổ chức ở mức vận
hành. Nó thực hiện việc ghi nhận các giao dịch hàng ngày cần thiết cho hoạt động nghiệp vụ của tổ chức
để giao dịch với khách hàng, nhà cung cấp, những người cho vay vốn…như hệ thống lập hóa đơn bán
hàng. Nó là HTTT cung cấp nhiều dữ liệu nhất cho các hệ thống khác trong tổ chức.
d. Hệ cung cấp thông tin thực hiện
Hệ thống này có từ rất sớm, nó cung cấp các thông tin thực hiện các nhiệm vụ trong tổ chức. Nó là hệ
máy tính nhằm tổng hợp và làm các báo cáo về quá trình thực hiện công việc ở các bộ phận trong những
khoảng thời gian nhất định. Các tổng hợp, báo cáo được thực hiện theo mẫu với nội dung, quy trình tổng
hợp rất đơn giản, rõ ràng và có định hạn thời gian.
e. Hệ thống thông tin quản lý
Hệ thống thông tin quản lý trợ giúp các hoạt động quản lý của tổ chức như lập kế hoạch, kiểm tra thực
hiện, tổng hợp và làm các báo cáo, làm các quyết định quản lý trên cơ sở các quy trình thủ tục cho trước.
Nhìn chung, nó sử dụng dữ liệu từ các hệ xử lý giao dịch và tạo ra các báo cáo định kỳ hay theo yêu cầu.
Hệ này không mềm dẻo và ít có khả năng phân tích…
f. Hệ trợ giúp quyết định
Hệ trợ giúp quyết dịnh là hệ máy tính được sử dụng ở mức quản lý của tổ chức. Nó có nhiệm vụ tổng
hợp các dữ liệu và tiến hành các phân tích bằng các mô hình để trợ giúp cho các nhà quản lý ra những
quyết định có quy trình (bán cấu trúc) hay hoàn toàn không có quy trình biết trước (không có cấu trúc). Nó
phải sử dụng nhiều loại dữ liệu khác nhau nên các cơ sở dữ liệu phải được tổ chức và liên kết tốt. Hệ còn
có nhiều phương pháp xử lý (các mô hình khác nhau) được tổ chức để có thể sử dụng linh hoạt. Các hệ này
thường được xây dựng chuyên dụng cho mỗi tổ chức cụ thể mới đạt hiệu quả cao.
g. Hệ chuyên gia
Hệ chuyên gia là một hệ trợ giúp ở mức chuyên sâu. Ngoài những kiến thức, kinh nghiệm của các
chuyên gia, và các luật suy diễn nó còn có thể trang bị các thiết bị cảm nhận để thu các thông tin từ những
nguồn khác nhau. Hệ có thể xử lý, và dựa vào các luật suy diễn để đưa ra những quyết định rất hữu ích và
thiết thực. Sự khác biệt cơ bản của hệ chuyên gia với hệ hổ trợ quyết định là ở chỗ: Hệ chuyên gia yêu cầu
những thông tin xác định đưa vào để đưa ra quyết định có chất lượng cao trong một lĩnh vực hẹp.
h. Hệ trợ giúp điều hành
Hệ trợ giúp điều hành được sử dụng ở mức quản lý chiến lược của tổ chức. Nó được thiết kế hướng sự
trợ giúp cho các quyết định không cấu trúc bằng việc làm ra các đồ thị phân tích trực quan và các giao dịch
rất thuận tiện với môi trường. Hệ được thiết kế để cung cấp hay chắt lọc các thông tin đa dạng lấy từ môi
trường hay từ các hệ thông tin quản lý, hệ trợ giúp quyết định…
i. Hệ trợ giúp làm việc theo nhóm
Trong điều kiện nhiều người cùng tham gia thực hiện một nhiệm vụ, hệ này cho phương tiện trợ giúp
sự trao đổi trực tuyến các thông tin giữa các thành viên trong nhóm, làm rút ngắn sự ngăn cách giữa họ cả
về không gian và thời gian.
k. Hệ thống thông tin tích hợp
Một HTTT của tổ chức thường gồm một vài loại HTTT cùng được khai thác. Có như vậy mới đáp ứng
được mục tiêu của tổ chức. Điều này cho thấy, cần phải tích hợp nhiều HTTT khác loại để đảm bảo sự
hoạt động hiệu quả của tổ chức. Việc tích hợp các HTTT trong một tổ chức có thể tiến hành theo hai cách:
xây dựng một hệ thông tin tích hợp tổng thể hoặc tích hợp các hệ đã có bằng việc ghép nối chúng nhờ các
“cầu nối”. Việc sử dụng các hệ tích hợp tổng thể thường tổ chức đến một hệ thống tập trung, một sư phối
Giáo trình Phân tích thiết Kế Hệ Thống 5

hợp và kiểm soát chặt chẽ. Nhưng chúng cũng tạo ra sức ỳ về quản lý, và sự quan liêu trong hoạt động và
khó thay đổi. Khi sự tập trung của một HTTT đã đạt đến một điểm bão hòa, nhiều tổ chức bắt đầu cho các
bộ phận của mình tiếp tục phát triển những hệ con với các đặc thù riêng.
1.1.4. Tại sao một tổ chức cần phát triển HTTT
Việc xây dựng HTTT thực sự là một giải pháp cứu cánh trong cuộc cạnh tranh cùng các đối thủ của
nhiều doanh nghiệp và nó được xem đó là một giải pháp hữu hiệu cho nhiều vấn đề mà tổ chức gặp phải.
Thực tế cho thấy, một tổ chức thường xây dựng HTTT khi họ gặp phải những vấn đề làm cản trở hoặc hạn
chế không cho phép họ thực hiện thành công những điều mong đợi, hay muốn có những ưu thế mới, những
năng lực mới để có thể vượt qua những thách thức và chớp cơ hội trong tương lai. Cuối cùng là do yêu cầu
của đối tác.
Xây dựng HTTT không đơn thuần chỉ là một giải pháp kỹ thuật. Nó là một bộ phận quan trọng trong
chiến lược tổng thể phát triển của tổ chức, tức là cần tiến hành đồng thời, đồng bộ với nhiều giải pháp
khác. Vì vậy cần có một lộ trình để chuyển dịch tổ chức cả về mặt tổ chức và quản lý từ trạng thái hiện tại
đến một trạng thái tương lai để thích hợp với một HTTT mới được thiết lập.
1.1.5. Những nội dung cơ bản của việc phát triển HTTT
Ba vấn đề lớn liên quan đến quá trình phát triển một HTTT là :
- Các hoạt động phát triển một HTTT và trình tự thực hiện chúng (được gọi là phương pháp luận phát
triển hệ thống)
- Các phương pháp, công nghệ và công cụ được sử dụng.
- Tổ chức và quản lý quá trình phát triển một HTTT
Sau đây sẽ trình bày lần lượt các nội dung này.
1.2. Tiến hóa của cách tiếp cận phát triển HTTT
Phát triển HTTT dựa trên máy tính bắt đầu từ những năm 1950. Cho đến nay đã hơn năm mươi năm
phát triển. Nhiều công nghệ mới về phần cứng, phần mềm không ngừng phát triển, nhiều vấn đề mới của
thực tế luôn luôn đặt ra. Vì vậy, cách tiếp cận phát triển một HTTT cũng thay đổi. Ta có thể kể đến bốn
cách tiếp cận chính để phát triển một HTTT:
- tiếp cận định hướng tiến trình,
- tiếp cận định hướng dữ liệu,
- tiếp cận định hướng cấu trúc và
- tiếp cận định hướng đối tượng.
Trừ cách tiếp cận đầu tiên, mỗi cách tiếp cận sau đều gắn với việc giải quyết những vấn đề đặt ra và sự
phát triển của một công nghệ mới.
1.2.1. Tiếp cận định hướng tiến trình
Thời gian đầu khi máy tính mới ra đời, tốc độ máy rất chậm, bộ nhớ làm việc còn rất nhỏ nên người ta
tập trung vào các quá trình mà phần mềm phải thực hiện. Vì vậy, hiệu quả xử lý các chương trình trở thành
mục tiêu chính. Tất cả sự cố gắng lúc đó là tự động hóa các tiến trình đang tồn tại (như mua hàng, bán
hàng…) của những bộ phận chương trình riêng rẽ. Lúc này người ta đặc biệt quan tâm đến các thuật toán
(phần xử lý) để giải được bài toán đặt ra và cách sử dụng khéo léo bộ nhớ làm việc rất hạn hẹp. Các dữ liệu
được tổ chức trong cùng một tập tin với chương trình.

Hình 1.2. Mối quan hệ giữa dữ liệu và ứng dụng theo cách tiếp cận truyền thống

Sau này, với sự tiến bộ về khả năng lưu trữ, các tập tin dữ liệu được tổ chức tách biệt với chương trình.
Mặc dù vậy, thiết kế một HTTT vẫn dựa trên trình tự mà nó sẽ thực hiện. Đối với cách tiếp cận này, phần
lớn các dữ liệu được lấy trực tiếp từ các nguồn của nó qua từng bước xử lý. Những phần khác nhau của
Giáo trình Phân tích thiết Kế Hệ Thống 6

HTTT làm việc theo những sơ đồ khác nhau và tốc độ khác nhau. Kết quả là, tồn tại một số tập tin dữ liệu
tách biệt trong những ứng dụng và chương trình khác nhau, và dẫn đến có nhiều tập tin trong những ứng
dụng khác nhau có thể chứa cùng các phần tử dữ liệu như nhau (hình 1.2). Mỗi khi một phần tử riêng lẻ
thay đổi hay có sự thay đổi trong một tiến trình xử lý thì kéo theo phải thay đổi các tập tin dữ liệu tương
ứng. Việc tổ hợp các tập tin dữ liệu chuyên biệt cũng rất khó khăn, vì mỗi tập tin mang tên và định dạng dữ
liệu khác nhau. Cách tiếp cận này tạo ra sự dư thừa dữ liệu, hao phí qua nhiều công sức cho việc thu thập
và tổ chức dữ liệu, và các dữ liệu sử dụng kém hiệu quả do không thể chia sẻ giữa các ứng dụng với nhau.
1.2.2. Tiếp cận định hướng dữ liệu
Tiếp cận này tập trung vào việc tổ chức các dữ liệu một cách lý tưởng. Khi sự quan tâm chuyển sang
dữ liệu, phạm vi ứng dụng đã mở rộng đến nhiều quá trình của HTTT, nó bao gồm nhiều bộ phận của một
tổ chức: như nhà cung cấp, những người điều hành, khách hàng, đối thủ cạnh tranh. Hai ý tưởng chính của
cách tiếp cận này la:
-Tách dữ liệu ra khỏi các quá trình xử lý
-Tổ chức cơ sở dữ liệu chung cho các ứng dụng

Hình 1.3. Cấu trúc hệ thống hướng dữ liệu

Công nghệ quản lý dữ liệu tiến bộ cho phép biểu diễn dữ liệu thành các tập tin riêng biệt và tổ chức
chúng thành những cơ sở dữ liệu dùng chung. Một cơ sở dữ liệu là một tập các dữ liệu logic với nhau được
tổ chức làm dễ dàng việc thu thập, lưu trữ và lấy ra của nhiều người dùng trong một tổ chức. Nhờ việc tách
dữ liệu để tổ chức riêng và tập trung, người ta có thể áp dụng các công cụ toán học (lý thuyết tập hợp và
logic) để tổ chức dữ liệu một cách tối ưu về cả phương diện lưu trữ (tiết kiệm không gian nhớ) cũng như về
mặt sử dụng: giảm dư thừa, tìm kiếm thuận lợi, lấy ra nhanh chóng và sử dụng chung. Việc tổ chức dữ liệu
như trên cho phép cơ sở dữ liệu phục vụ cho nhiều ứng dụng độc lập khác nhau.
1.2.3. Tiếp cận định hướng cấu trúc
Tiếp cận định hướng cấu trúc như một bước phát triển tiếp tục của định hướng dữ liệu. Nhiều tài liệu
thường gộp hai cách tiếp cận này làm một và gọi là tiếp cận hướng dữ liệu chức năng. Tiếp cận hướng cấu
trúc hướng vào việc cải tiến cấu trúc cá chương trình dựa trên cơ sở modun hóa để dễ theo dõi, quản lý,
bảo trì. Phát triển hướng cấu trúc đề cập đến quá trình sử dụng một cách có hệ thống và tích hợp các công
cụ và kỹ thuật để trợ giúp thiết kế phân tích HTTT theo hướng modun hóa.
Các phương pháp luận hướng cấu trúc sử dụng một hay một số công cụ để xác định luồng thông tin và
các quá trình xử lý. Việc xác định và chi tiết hóa dần các luồng dữ liệu và các tiến trình là ý tưởng cơ bản
của phương pháp luận từ trên xuống (Top-down). Từ mức o: mức chung nhất, quá trình tiếp tục làm mịn
cho đến mức thấp nhất: mức cơ sở. Ở đó từ các sơ đồ nhận được ta có thể bắt đầu tạo lập các chương trình
với các modun thấp nhất (modun lá)
Giáo trình Phân tích thiết Kế Hệ Thống 7

Hình 1.4. Cấu trúc hệ thống định hướng cấu

Phát triển có cấu trúc đã cung cấp một tập hợp đầy đủ các đặc tả hệ thống không dư thừa được phát
triển theo quá trình logic và lặp lại. Nó cho ta nhiều lợi ích so với cách tiếp cận trước đó:
a) Làm giảm sự phức tạp (nhờ chia nhỏ, modun hóa)
b) Tập trung vào ý tưởng (vào logic, kiến trúc trước khi thiết kế)
c) Chuẩn mực hóa (theo các phương pháp, công cụ đã cho)
d) Hướng về tương lai (kiến trúc tốt, modun hóa dễ bảo trì)
e) Giảm bớt tính nghệ thuật trong thiết kế

1.2.4.Tiếp cận định hướng đối tượng


Tiếp cận định hướng đối tượng là cách mới nhất để phát triển HTTT. Cách tiếp cận này dựa trên ý
tưởng xây dựng một hệ thống gồm các đơn thể được gọi là đối tượng liên kết với nhau bằng mối quan hệ
truyền thông. Các đối tượng thường tương ứng với các thực thể trong HTTT như khách hàng, nhà cung
cấp, hợp đồng, thỏa thuận thuê. Mục tiêu của cách tiếp cận này là làm cho các phân tử của hệ thống trở
nên độc lập tương đối với nhau và có thể dùng lại. Điều đó đã cải thịên cơ bản chất lượng của hệ thống và
làm tăng năng suất hoạt động phân tích và thiết kế.

Hình 1.5 Cấu trúc hệ thống hướng đối tượng


Giáo trình Phân tích thiết Kế Hệ Thống 8

Ý tưởng khác nằm phía sau của cách tiếp cận này là sự thừa kế và bao gói thông tin. Các đối tượng có
cùng cấu trúc và hành vi được tổ chức thành từng lớp. Kế thừa cho phép tạo ra các lớp mới có chung với
các lớp đang tồn tại một số đặc trưng và có thêm các đặc trưng mới. Nhờ vậy mà sự mô tả lớp mới chỉ liên
quan đến những đặc trưng mới. Do bao gói cả dữ liệu và xử lý trong một đối tượng làm cho hoạt động của
nó không ảnh hưởng đến các đối tượng khác. Rõ ràng rằng, với cơ chế bao gói thông tin và liên kết qua
truyền thông, hệ thống được “lắp ghép” và “tháo dỡ” đơn giản, dễ bảo trì, dễ sử dụng lại và có thể đạt
được quy mô tùy ý. Cách tiếp cận mới này đáp ứng được nhũng yêu cầu và thách thức cơ bản hiện nay là
phát triển các hệ thống phần mềm có quy mô lớn, phức tạp hơn, nhanh hơn, dễ bảo trì và chi phí chấp nhận
được.

1.4. Vòng đời phát triển một thống thông tin


HTTT được xây dựng là sản phẩm của một loạt các hoạt động được gọi là phát triển hệ thống. Quá
trình phát triển một HTTT kể từ lúc nó sinh ra đến khi nó tàn lụi được gọi là vòng đời phát triển hệ thống.
Vòng đời phát triển các hệ thống là một phương pháp lụân cho việc phát triển các HTTT. Nó được đặc
trưng bằng một số pha chủ yếu phân biệt nhau của quá trình đó: phân tích, thiết kế và triển khai HTTT.
Tác giả của nhiều cuốn sách hay nhiều tổ chức phát triển các HTTT thường sử dụng những mô hình vòng
đời khác nhau và mỗi vòng đời có thể gồm từ ba đến hai chục pha khác nhau cho một phương pháp luận
phát triển cụ thể.
Một trong nhiều mô hình vòng đời đã sắp xếp các bước phát triển hệ thống theo mõ hình bậc thang với
các mũi tên nối mỗi bước với bước sau nó. Cách biểu diễn này được xem như tương ứng với mô hình thác
nước. Mô hình này sẽ được sử dụng để trình bày về phương pháp luận chung - một quá trình phát triển một
hệ thống với các pha: khởi tạo và lập kế hoạch, phân tích, thiết kế, triển khai, vận hành và bảo trì HTTT :
ở mỗi pha đều có cái vào và cái ra. Chúng thể hiện mối quan trọng giữa các pha với nhau. Ở cuối mỗi pha
cần đạt đến một cột mốc được đánh dấu bằng những tài liệu cần được tạo ra để các bộ phận quản lý xem
xét, đánh giá và phê duyệt. Đó là một đặc trưng của quá trình quản lý sự phát triển.
1.4.1. Khởi tạo và lập kế hoạch dự án
Việc hình thành dự án như một yêu cầu bắt buộc để có thể tiến hành những bước tiếp theo của quá trình
phát triển: Không có dự án thì cũng không có việc xây dựng HTTT
Hai hoạt động chính trong khởi tạo và lập kế hoạch dự án là phát hiện ban đầu chính thức về những
vấn đề của hệ thống và các cơ hội của nó; trình bày rõ lý do vì sao tổ chức cần hay không cần phát triển
HTTT. Tiếp đến là xác định phạm vi cho hệ thống dự kiến. Một kế hoạch dự án phát triển HTTT được dự
kiến về cơ bản được mô tả theo dòng đời phát triển hệ thống, đồng thời cũng đưa ra ước lượng thời gian và
các nguồn lực cần thiết cho việc thực hiện nó. Hệ thống dự kiến phải giải quyết được những vấn đề đặt ra
của tổ chức hay tận dụng được những cơ hội có thể trong tương lai mà tổ chức gặp, và cũng phải xác định
chi phí phát triển hệ thống và lợi ích mà nó sẽ mang lại cho tổ chức.

Hình 1.3. Mô hình thác nước của vòng đời hệ thống


Giáo trình Phân tích thiết Kế Hệ Thống 9

Trong pha này cần xác định cái gì là cần thiết cho hệ thống mới hay hệ thống sẽ được tăng cường. Tại
đây các nhu cầu HTTT tổng thể của tổ chức được xác định, nó thể hiện ra bằng các dịch vụ mà hệ thống dự
kiến cần phải thực hiện. Chúng đựoc phân tích, thiết lập sự ưu tiên và sắp xếp lại rồi chuyển thành một kế
hoạch để phát triển HTTT, trong đó bao gồm cả lịch trình phát triển hệ thống và các chi phí tương ứng. Tất
cả nội dung trên đây thường được gọi là nghiên cứu hệ thống. Sau khi nghiên cứu hệ thống phải đưa ra một
kế hoạch dự án cơ sở. Kế hoạch dự án này cần được phân tích đảm bảo tính khả thi trên ba mặt:
Khả thi kỹ thuật: xem xét khả năng kỹ thuật hiện có (về thiết bị, về công nghệ và khả năng làm chủ
công nghệ) đủ đảm bảo thực hiện các giải pháp công nghệ thông tin được áp dụng để phát triển hệ thống.
Khả thi kinh tế: thể hiện trên các nội dung sau:
- Khả năng tài chính của tổ chức cho phép thực hiện dự án: bao gồm nguồn vốn và số vốn có thể
huy động trong thời hạn cho phép.
- Lợi ích mà hệ thống được xây dựng mang lại, ít nhất là đủ bù đắp chi phí phải bỏ ra xây dựng nó
(chi phí đầu tư ban đầu).
- Những chi phí thường xuyên cho hệ thống hoạt động (chi phí vận hành) là chấp nhận được đối với
tổ chức.
Khả thi về thời gian: dự án được phát triển trong thời gian cho phép, tiến trình thực hiện dự án được chỉ
ra trong giới hạn đã cho.
Khả thi pháp lý và hoạt động: Hệ thống có thể vận hành trôi chảy trong khuôn khổ của tổ chức và điều
kiện quản lý mà tổ chức có và trong khuôn khổ của pháp lý hiện hành. Ngoài các phân tích trên người ta
còn phân tích một số khả thi khác.
Khi dự án được chấp nhận, thì đối tượng tổng quát của dự án như phạm vi của dự án, kế hoạch triển
khai dự án phải được vạch ra và thông qua để triển khai.
1.4.2. Phân tích hệ thống
Phân tích hệ thống nhằm xác định nhu cầu thông tin của tổ chức. Nó sẽ cung cấp những dữ lịêu cơ sở
cho việc thiết kế HTTT sau này. Trước đó cần tiến hành khảo sát hiện trạng của tổ chức thuộc phạm vi liên
quan đến dự án. Những dữ liệu thu được phục vụ cho việc xây dựng mô hình quan niệm về hệ thống hiện
thời: mô hình bao gồm mô hình dữ liệu và mô hình xử lý của hệ thống cùng các tài liệu bổ sung khác.
Phân tích bao gồm một vài pha nhỏ: trước hết xác định yêu cầu: các nhà phân tích làm việc cùng với
người sử dụng để xác định cái gì người dùng chờ đợi từ hệ thống dự kiến. Tiếp theo là nghiên cứu yêu cầu
và cấu trúc nó phù hợp với mối quan hệ bên trong, bên ngoài và những giới hạn đặt lên các dịch vụ cần
thực hiện. Thứ 3 là tìm giải pháp cho các thiết kế ban đấu để đạt được yêu cầu đặt ra, so sánh để lựa chọn
giải pháp thiết kế tốt nhất đáp ứng các yêu cầu với chi phí, nguồn lực, thời gian và kỹ thuật cho phép để tổ
chức thông qua.
1.4.3. Thiết kế hệ thống
Thiết kế là tìm ra các giải pháp công nghệ thông tin để đáp ứng các yêu cầu đặt ra ở trên. Đặc tả giải
pháp cho các yêu cầu ở pha trước được chuyển thành đặc tả hệ thống logic rồi là đặc tả vật lý. Từ các khía
cạnh của hệ thống, thiết kế được xem xét bắt đầu từ màn hình tương tác, các cái vào và cái ra (các báo cáo)
đến cơ sở dữ liệu và các tiến trình xử lý chi tiết bên trong. Pha thiết kế này gồm hai pha nhỏ: thiết kế logic
và thiết kế vật lý.
Thiết kế logic. Về mặt lý thuyết, thiết kế hệ thống logic không gắn với bất kỳ phần cứng và phần mềm
của hệ thống nào. Thiết kế logic tập trung vào các khía cạnh nghiệp vụ của hệ thống thực vì vậy một vài
phương pháp luận vòng đời còn gọi pha này là pha thiết kế nghiệp vụ. Các đối tượng và quan hệ được mô
tả ở đây là những khái niệm, các biểu tượng mà không phải các thực thể vật lý.
Thiết kế vật lý là quá trình chuyển mô hình logic trừu tượng thành bản thiết kế vật lý hay các đặc tả kỹ
thuật. Những phần khác nhau của hệ thống được gắn vào bằng những thao tác và thiết bị vật lý cần thiết để
tiện lợi cho việc thu thập dữ liệu, xử lý và đưa ra thông tin cần thiết cho tổ chức.
Trong pha thiết kề vật lý cần phải quyết định lựa chọn ngôn ngữ lập trình, hệ cơ sở dữ liệu, cấu trúc
tập tin tổ chức dữ liệu, những phần cứng, hệ điều hành và môi trường mạng cần được xây dựng. Sản phẩm
cuối cùng của pha thiết kế là đặc tả hệ thống vật lý ở dạng như nó tồn tại trên thực tế, sao cho các nhà lập
trình và kỹ sư phần cứng có thể dễ dàng chuyển thành chương trình và cấu trúc hệ thống.
Giáo trình Phân tích thiết Kế Hệ Thống 10

1.4.4. Triển khai hệ thống


Trong pha này, đặc tả hệ thống được chuyển thành hệ thống vận hành được, sau đó được kiểm tra và
đưa vào sử dụng. Bước triển khai bao gồm việc lập ra các chương trình, tiến hành kiểm thử, lắp đặt thiết
bị, cài đặt chương trình và chuyển đổi hệ thống.
a.Tạo lập các chương trình
Trước hết cần lựa chọn phần mềm (platfrorm: hệ điều hành, hệ quản trị cơ sở dữ liệu, ngôn ngữ lập
trình, phần mềm mạng. Trong nhiều trường hợp, ngôn ngữ lập trình có thể chính là ngôn ngữ của hệ quản
trị cơ sở dữ liệu hay của hệ ứng dụng được sử dụng). Sau đó chọn các phầm mềm đóng gói. Cuối cùng
chuyển các đặc tả thiết kế còn lại thành các phần mềm (các chương trình) cho máy tính. Chương trình được
tiến hành kiểm thử cho đến khi đạt yêu cầu đề ra. Quá trình kiểm thử bao gồm kiểm thử các modun chức
năng (kiểm thử đơn vị), các hệ thống con (kiểm thử tích hợp), sự hoạt động của cả hệ thống (kiểm thử hệ
thống) và nghiệm thu cuối cùng (kiểm thử chấp nhận).
b. Cài đặt và chuyển đổi hệ thống
Quá trình chuyển đổi bao gồm việc cài đặt các chương trình trên hệ thống phần cứng đang tồn tại hay
hệ thống phần cứng mới lắp đặt, chuyển đổi toàn bộ hoạt động của tổ chức cũ sang hoạt động với hệ thống
mới (bao gồm việc chuyển đổi dữ liệu, sắp xếp đội ngũ cán bộ trên hệ thống mới và đào tạo ngưới sử dụng,
khai thác hệ thống). Chuẩn bị các tài lịêu chi tiết thuyết minh về việc khai thác và sử dụng hệ thống (cả về
mặt kỹ thuật, về hệ thống và tại nơi làm việc của người sử dụng). Nó cần được hoàn tất trong thời gian
chuyển đổi để phục vụ việc đào tạo và đảm bảo hoạt động hàng ngày (bảo trì) của hệ thống sau này.
1.4.5. Vận hành và bảo trì
Khi hệ thống được lắp đặt và chuyển đổi toàn bộ, giai đoạn vận hành bắt đầu. Trong thời gian này,
người sử dụng và các chuyên viên kỹ thuật vận hành cần đánh giá xem hệ thống đáp ứng các mục tiêu đề
ra ban đầu hay không, đề xuất những sửa đổi, cải tiến, bổ sung.
Khi hệ thống đi vào hoạt động, đôi khi người dùng thường mong muốn hệ thống phải làm việc một
cách hoàn hảo và các chức năng của hệ thống làm việc tốt hơn. Mặt khác, tổ chức thường xuyên có những
yêu cầu để đáp ứng những thay đổi nảy sinh. Vì vậy, các nhà thiết kế và lập trình cần phải thực hiện những
thay đổi hệ thống ở mức độ nhất định (mà không phải tất cả) để đáp ứng nhu cầu người sử dụng cũng nhu
những đề nghị của tổ chức. Những thay đổi này là cần thiết để làm cho hệ thống hoạt động hiệu quả.
Bảo trì không phải là một pha tách biệt mà là sự lặp lại các pha của một vòng đời khác, đòi hỏi phải
nghiên cứu và áp dụng những thay đổi cần thiết. Tổng số thời gian và sự nỗ lực dành cho bảo trì phụ thuộc
rất lớn vào sự hoàn thiện của các pha trước thuộc vòng đời. Khi chi phí bảo trì trở nên quá lớn, yêu cầu
thay đổi của tổ chức là đáng kể, khả năng đáp ứng của hệ thống cho tổ chức và người dùng trở nên hạn
chế, những vấn đề cho thấy đã đến lúc phải kết thúc hệ thống cũ và bắt đầu một vòng đời khác. Thông
thường, sự phân biệt giữa việc bảo trì có qui mô lớn và sự phát triển một hệ thống mới là không rõ ràng.
1.5. Các phương pháp khác nhau phát triển HTTT
1.5.1. Vòng đời phát triển hệ thống truyền thống
Vòng đời phát triển hệ thống truyền thống là phương pháp luận ra đời sớm nhất và đến nay vẫn được sử
dụng rộng rãi. Theo phương pháp này, HTTT có một vòng đời tương tự như một thực thể bất kỳ: có giai
đoạn bằt đầu, giai đoạn phát triển, giai đoạn trưởng thành và giai đoạn kết thúc. Quá trình phát triển HTTT
gồm sáu giai đoạn: xác định dự án, nghiên cứu hệ thống, thiết kế, lập chương trình, cài đặt, và áp dụng
(hình 1.6). Mỗi giai đoạn gồm các hoạt động cơ bản cần phải hoàn thành trước khi bắt đầu giai đoạn sau.
Các giai đoạn được thực hiện lần lượt với một sự phân công lao động rõ ràng giữa những người sử dụng và
các chuyên gia kỹ thuật.
Giáo trình Phân tích thiết Kế Hệ Thống 11

Triển
khai
Hình 1.6. Mô tả phát triển HTTT theo vòng đời truyền thống

a. Các pha phát triển


Về cơ bản nội dung các bước ở đây gần giống với nội dung của mô hình chung phát triển hệ thống đã
trình bày ở trên. Ở giai đoạn phân tích thường hình thành một báo cáo gọi là nghiên cứu hệ thống. Trong
pha thiết kế đặc biệt nhấn mạnh tới các đặc tả hình thức hóa, cho nên rất nhiều công cụ thiết kế và làm tài
liệu khác nhau đươc sử dụng, như các sơ đồ luồng dữ liệu, sơ đồ khối cấu trúc chương trình, các mô hình
và thuật toán toán học…
b. Nhận xét và đánh giá
Phương pháp vòng đời hệ thống thích hợp để xây dựng các hệ thống xử lý giao dịch lớn (TPS) và các
hệ thông tin quản lý (MIS) mà ở đó đòi hỏi hệ thống có cấu trúc và xác định chặt chẽ. Nó cũng thích hợp
cho các hệ thống kỹ thuật phức tạp như hệ thống phóng tàu vũ trụ, kiểm soát hoạt động hàng không.
Những áp dụng như vậy đòi hỏi một sự phân tích hình thức hóa cao và chặt chẽ, các đặc tả được xác định
trước và việc kiểm tra sát sao trong quá trình xây dựng hệ thống. Vì những lý do đó, phương pháp này
được xem là định hướng tài liệu. Tuy nhiên, phương pháp này có chi phí cao, thời gian thực hiện dài và
không mềm dẻo. Khối lượng các tài liệu lần đầu là rất lớn và sẽ tăng lên rất nhiều nếu như các yêu cầu và
các đặc tả phải làm lại. Rõ ràng rằng, phương pháp này không thích hợp với phần lớn các hệ thống vừa và
nhỏ mà ta thường gặp vào những năm 1990 và thế kỷ 21 sau này.
1.5.2. Phương pháp làm bản mẫu
a. Nội dung phương pháp
Phương pháp này ít hình thức hóa hơn phương pháp vòng đời truyền thống. Thay vào việc tạo ra nhiều tài
liệu đặc tả, phương pháp làm mẫu nhanh chóng tạo ra một mô hình làm việc thực nghiệm để người sử dụng
xem xét, đánh giá. Khi bản mẫu hoàn thiện nó được đem sử dụng cho các bước tiếp theo.
b. Các bước của phương pháp làm bản mẫu.
Bước 1. xác định các yêu cầu của người sử dụng.
Chuyên viên thiết kế hệ thống làm việc với người sử dụng để nắm được yêu cầu thông tin cơ bản cho việc
tạo ra bản mẫu.
Bước 2. Phát triển bản mẫu đầu tiên.
Người thiết kế tạo nhanh một bản mẫu bằng cách sử dụng công cụ phần mềm thế hệ thứ tư (chẳng hạn
công cụ CASE)
Giáo trình Phân tích thiết Kế Hệ Thống 12

Khảo sát, thu thập thông tin sơ bộ

Xây dựng nhanh mẫu ban đầu

Làm mịn (phát triển) mẫu

Khảo sát, lấy ý kiến người sử dụng


Hạn chế

Đánh giá,
Loại bỏ mẫu tồi
Quyết định

Mẫu hoàn chỉnh

Sử dụng thêm Hệ thống đã Hoàn chỉnh dự án từ


Chưa Đã
phương pháp khác hoàn chỉnh ? các mẫu thu được

Hình 1.7. Sơ đồ phương pháp làm bản mẫu

Bước 3. Sử dụng bản mẫu làm việc với người sử dụng


Bản mẫu được xây dựng đem trình diễn hay cho người sử dụng thử nghiệm. Người sử dụng biết được
bản mẫu đáp ứng nhu cầu của họ như thế nào và đưa ra những đề nghị bổ sung và cải tiến.
Bước 4. Hoàn thiện và tăng cường bản mẫu.
Người thiết kế thay đổi bản mẫu để đáp ứng đòi hỏi mới của người sử dụng và làm mịn hơn bản mẫu
một cách phù hợp trên cơ sở sử dụng các thông tin bổ sung khác. Bước 3 và 4 được lặp lại cho đến khi bản
mẫu thỏa mãn yêu cầu đặt ra. Khi bản mẫu được chấp nhận là hoàn tất đặc tả cuối cùng của ứng dụng.
Làm bản mẫu đặc biệt có lợi khi mà một số yêu cầu thông tin hay giải pháp cho nó còn chưa được xác
định. Nó cũng rất có lợi khi thiết kế giao diện người dùng của HTTT (màn hình nhập liệu, màn hình kiểm
tra, báo cáo). Bản mẫu dễ làm cho người sử dụng phản ứng tự nhiên với những phần của hệ thống mà
người ta sẽ làm việc với nó. Từ đó đóng góp bổ sung làm mau chóng tạo ra hệ thống, và hạn chế được
những chi phí quá đáng của sự phát triển và những sai sót thiết kế. Phương pháp làm mẫu thích hợp nhất
với những hệ thống nhỏ hay những hệ thống lớn có thể chia nhỏ để làm mẫu từng phần.
Việc làm mẫu nhanh cho phép đi qua những bước cơ bản trong phát triển hệ thống một cách dễ dàng,
khuyến khích đội phát triển tiến nhanh lên phía trước đạt đến mô hình làm việc mà không cần nắm bắt
ngay tất cà các nhu cầu thông tin cơ bản.
Nhiều công cụ làm mẫu cho phép chuyển bản mẫu thành hệ thống vận hành một cách tự động. Khi kết
thúc, nếu bản mẫu làm việc hợp lý, công việc quản lý không đòi hỏi phải làm lại chương trình, thiết kế hay
thử nghiệm toàn diện các kết quả của hệ thống. Mặt khác, chính sự tiện lợi này làm khó khăn cho vịêc bảo
trì sau này. Khi mà bản mẫu không có cấu trúc chặt chẽ, việc đảm bảo kỹ thuật có thể không hiệu quả. Vì
bản mẫu được xây dựng với ít công sức, người quản lý có thể nghĩ rằng việc thử nghiệm có thể dành cho
người dùng và những sai sót nhỏ có thể chậm được sửa đổi hơn. Vì hệ thống rất dễ thay đổi, việc làm tài
liệu có thể không kịp thời.
Các mức độ làm bản mẫu khác nhau
Giáo trình Phân tích thiết Kế Hệ Thống 13

Tùy theo công cụ và cách thức tiến hành mà kết quả làm mẫu rất khác nhau:
- Khi tiến hành làm mẫu bằng tay hay bằng một công cụ bình thường, kết quả làm mẫu chỉ đơn thuần cho
một đặc tả yêu cầu.
- Khi làm mẫu với các công cụ chuyên dụng, mọi thông tin được thu thập và lưu trữ trong kho dữ liệu
chung. Bản mẫu cuối cùng là một đặc tả yêu cầu đã được hình thức hóa có thể dùng để tạo sinh ra
chương trình cho hệ thống và vận hành ngay được.
- Một cách làm mẫu ở trình độ cao hơn là sử dụng công cụ chuyên dụng cùng với các thành phần có thể sử
dụng lại có sẵn. Trong trường hợp này, mẫu nhận được cho ta một số modun có thể vận hành ngay được.
Khi liên kết các modun làm mẫu nhận được ta có một hệ thống ban đầu với những chức năng nhất định,
có thể đáp ứng những dịch vụ cơ bản của hệ thống đặt ra.
Ngoài việc xác định nhanh chóng và chính xác yêu cầu, làm bản mẫu tạo ra những cơ sở cho việc ký kềt
hợp đồng, làm khách hàng tin tưởng vào hệ thống được xây dựng, giúp cho việc huấn luyện người dùng hệ
thống ngay từ khi làm bản mẫu.
1.5.3. Mô hình xoắn ốc
Trong những năm gần đây người ta quan tâm đến mô hình xoắn ốc nhiều hơn cả. Mô hình được Boehm
đưa ra năm 1988. Mô hình này đặc biệt quan tâm đến việc phân tích yếu tố rủi ro (định hướng rủi ro). Quá
trình phát triển được chia thành nhiều bước lặp, mỗi bước bước bắt đầu bằng việc lập kế hoạch, phân tích
rủi ro rồi tạo nguyên mẫu, hoàn thiện và phát triển hệ thống, duyệt lại, và cứ thế tiếp tục (hình 1.8)
a. Nội dung phương pháp
Quá trình phát triển hệ thống được tiến hành qua một loạt các bước lặp. Mỗi bước lặp gồm bốn hoạt
động chính:
- Lập kế hoạch: xác định mục tiêu, giải pháp và ràng buộc
- Phân tích rủi ro: phân tích các phương án và xác định/ giải quyết rủi ro
- Kỹ nghệ: phát triển sản phẩm “mức tiếp theo”
- Đánh giá của khách hàng: khẳng định kết quả của kỹ nghệ

Hình 1.8. Mô hình xoắn ốc

Với mỗi lần lặp xoắn ốc (bắt đầu từ trung tâm), các phiên bản được hoàn thiện và bổ sung dần. Nếu
phân tích rủi ro chỉ ra rằng yêu cầu là không chắc chắn thì làm bản mẫu có thể được sử dụng trong góc
phần tư kỹ nghệ. Tại một vòng xoắn ốc, phân tích rủi ro phải đi đến quyết định “tiến hành tiếp hay dừng”.
Nếu rủi ro quá lớn thì có thể đình chỉ dự án. Ngược lại phải có giải pháp cho nó.
Giáo trình Phân tích thiết Kế Hệ Thống 14

Phần kỹ nghệ (góc đông-nam) sử dụng ở mỗi vòng lặp có thể là cách tiếp cận vòng đời hay làm bản
mẫu. Khi các hoạt động phát triển tăng lên, vòng xoáy chuyển xa hơn ra khỏi trung tâm, ta có được một
phiên bản phần mềm mới bao gồm một phạm vi rộng hơn các chức năng của hệ thống cần xây dựng.
b. Đánh giá và nhận xét
Mô hình xoắn ốc là một cách tiếp cận thực tế để phát triển các hệ thống phần mềm quy mô lớn. Trong
đó làm bản mẫu xem như một cơ chế làm giảm bớt rủi ro… Hiệu quả của nó là trông thấy được. Quá trình
lặp và đánh giá rủi ro ở mỗi bước là cơ chế tốt đảm bảo sự thành công của việc xây dựng HTTT (vì rủi ro ở
mỗi bước là nhỏ, dễ nhận ra, dễ khắc phục và nếu xãy ra cũng không ảnh hưởng lớn đến phần đã xây
dựng). Tuy nhiên, việc đánh giá đúng rủi ro cần có chuyên gia và vì thế chi phí cần thiết sẽ không thích
hợp với dự án nhỏ. Hơn thế nữa, sự thay đổi linh hoạt trong phát triển không dễ thực hiện khi mà hợp đồng
đã được ký kết và xác định.
1.5.4. Phương pháp sử dụng phần mềm đóng gói
HTTT có thể phát triển bằng cách sử dụng các gói phần mềm ứng dụng. Đó là những chương trình ứng
dụng viết sẵn ở dạng mã máy dành cho những lớp bài toán cụ thể. Các gói phần mềm ứng dụng phát triển
rất mạnh vì nhiều ứng dụng là chung cho tất cả các tổ chức.
Sau khi phân tích, thiết kế, người ta chọn các gói phần mềm thích hợp. Khi đó tổ chức không cần viết
chương trình, mà chỉ cần cài đặt nó để sử dụng. Việc sử dũng các gói phần mềm ứng dụng đã thực sự rút
ngắn thời gian và chi phí cho việc phát triển một hệ thống mới và chi phí quản lý quá trình phát triển hệ
thống. Người bán còn cung cấp các công cụ hỗ trợ, bảo trì và tăng cường hệ thống làm cho nó có khả năng
phát triển theo kịp tiến bộ công nghệ. Việc cung cấp các tài liệu về phần mềm đóng gói là rất đầy đủ và kịp
thời. Các phần mềm thường hoạt động rất ổn định.
Nhược điểm của gói phần mềm ứng dụng là không đạt được chất lượng kỹ thuật và chức năng cho các
ứng dụng đa mục tiêu và có nhiều đặc thù. Để đáp ứng tối đa nhu cầu thị trường, các gói phần mềm ứng
dụng chỉ đáp ứng những nhu cầu chung nhất của các tổ chức. Vì vậy, nó không thể thay thế các phần mềm
cơ bản. Việc tạo ra các tự chọn, các chương trìng mang tính chuyển đổi phía trước hay phía sau (front-or-
back program: hình 1.9) của các phần xử lý chức năng trong phần mềm đóng gói cho phép khách hàng có
thể làm thích nghi hay sử dụng những chức năng thích hợp của các gói phần mềm ứng dụng đáp ứng yêu
cầu đa dạng của tổ chức. tuy nhiên, đôi khi những cải tiến của khách hàng hay các chương trình bổ sung
này lại quá đắt hay làm giảm các lợi thế vốn có của các gói phần mềm.

Hình 1.9. Mô hình chung nhất sử dụng phần mềm đóng gói

Để chọn được các phần mềm đóng gói thích hợp, cần đánh giá nó theo nhiều tiêu chuẩn khác nhau. Các
mặt sau đây cần được xem xét khi chọn gói phần mềm:
- Chức năng: Gói chương trình có thể đáp ứng được những chức năng gì?
- Tính mềm dẻo: Gói phần mềm có dễ cải biên, dễ mở rộng không? Những đặc trưng gì có thể dành cho
khách hàng thực hiện, mở rộng?
- Tính thân thiện: Chương trình có dễ sử dụng và dễ kiểm tra hay không? dễ nhớ, dễ học, dễ thao
tác,…?...
- Yêu cầu về kỹ thuật: Cấu hình máy tối thiểu? Số đĩa, băng để lưu trữ? Loại hình dữ liệu và cấu trúc
tập tin sử dụng?...
Giáo trình Phân tích thiết Kế Hệ Thống 15

- Cài đặt và bảo trì: Có khó khăn gì để chuyển đổi từ hệ thống hiện hành sang hẽ thống làm việc với
gói phần mềm? Đội ngũ cán bộ tối thiểu cần để đảm bảo việc bảo trì và trợ giúp khai thác là bao
nhiêu? Trình độ nào?...
- Tài liệu: Tài lịêu cho người dùng, tài liệu hệ thống được cung cấp gồm những tài liệu gì? Nó có đầy
đủ , dễ đọc?
- Chất lượng người bán: Người bán có kinh nghiệm áp dụng trong lĩnh vực nào? Những tiện ích mua
hàng mà người bán cung cấp trong và sau bán hàng là gì? Doanh số bán và những ghi nhận về tài
chính của người bán? Những khách hàng của người bán là những ai?
- Giá thành: Giá bán, giá thuê phần mềm? Giá mua bao gồm những khoản mục gì? (các modun bổ
sung, tiện ích thường xuyên, thời gian tư vấn, đào tạo, trợ giúp cài đặt). Bảo trì miễn phí bao lâu?, chi
phí hoạt động thường xuyên là bao nhiêu?...
Khi sử dụng gói phần mềm, việc thiết kế hệ thống bao gồm cả vịêc đánh giá năng lực gói phần mềm và
nỗ lực để nắm bắt được các đặc trưng của nó. Theo kinh nghiệm, ngay các gói phần mềm tốt nhất cũng chỉ
có thể đáp ứng 70% yêu cầu của tổ chức. Với 30% yêu cầu còn lại bản thân tổ chức phải xây dựng phần bổ
sung. Tất cả các chi phí trên đây được tính toán để so sánh với dự án phát triển nó.
1.5.5. Phát triển hệ thống do người sử dụng thực hiện
Trong nhiều tổ chức, người dùng cuối cùng phát triển một phần đáng kể HTTT với sự giúp đỡ chút ít
hay không chính thức của các chuyên gia tin học. Hiện tượng này gọi là phát triển hệ thống do người sử
dụng cuối cùng. Nhiều hệ thống do người sử dụng cuối cùng phát triển đã mang lại kết quả nhanh hơn so
với phương pháp vòng đời. Mặc dù còn nhiều hạn chế, việc phát triển hệ thống do người sử dụng thực hiện
đem lại rất nhiều lợi ích cho tổ chức.
Do người dùng phát triển các phần hệ thống một cách độc lập nên có thể tạo ra những vấn đề không thể
tránh khỏi: Phần lớn tổ chức không có một chiến lược phát triển HTTT để đảm bảo đáp ứng được các mục
tiêu đặt ra và các chuẩn mực thích hợp với chức năng của họ. Khi hệ thống được phát triển nhanh thường
thiếu công nghệ tiên tiến và thử nghiệm hình thức hoá, tài liệu không được xây dựng thích hợp và kịp thời.
Việc tạo ra các ứng dụng riêng của mình và các tập dữ liệu sẽ làm tăng khó khăn kiểm soát các dữ liệu.
Sự phát triển hệ thống do người dùng thực hiện cần có một trung tâm thông tin trợ giúp. Dịch vụ mà
trung tâm cần thực hiện bao gồm:
- Đánh giá các phần cứng và phần mềm mới.
- Tư vấn những công cụ và công nghệ thích hợp.
- Đào tạo sử dụng ngôn ngữ, công cụ đòi hỏi trình độ cao.
- Tạo sinh và cải tiến các bản mẫu.
- Giúp đỡ gỡ rối chương trình, truy nhập dữ liệu.
- Hỗ trợ làm các ứng dụng, các báo cáo, các truy vấn đòi hỏi ngôn ngữ chương trình bậc cao.
- Giúp liên hệ với các nhóm cùng nghiệp vụ để trao đổi kinh nghiệm nghề nghiệp và trợ giúp ứng dụng
mỗi khi cần.
1.5.6. Phương pháp thuê bao
Một tổ chức có thể thuê một công ty chuyên nghiệp xây dựng và vận hành hệ thống để cung cấp dịch vụ
cho họ. Hình thức này ngày càng trở nên phổ biến và thích hợp với nhiều tổ chức có những điều kiện đặc
thù. Những tổ chức cung cấp dịch vụ bên ngoài loại này thường có những lợi thế do quy mô lớn (năng lực
của họ được chia sẻ cho nhiều khách hàng khác nhau, họ có điều kiện đầu tư đổi mới thiết bị và nâng cao
chất lượng dịch vụ thường xuyên)
Việc thuê ngoài cho phép rổ chức nhận được dịch vụ nhanh chóng, chỉ phải trả phần chi phí cho dịch vụ
mà họ sử dụng, không cần phải bỏ ra chi phí đầu tư. Nhược điểm của phương pháp này là khi tổ chức
không còn trách nhiệm đối với sự phát triển và hoạt động củaHTTT, nó có thể mất khả năng kiểm soát
được các chức năng của HTTT và bị khống chế mỗi khi có vấn đề trong quan hệ với họ. Sự phụ thuộc này
sẽ dẫn đến chi phí cao hay mất định hướng phát triển về kỹ thuật. Những bí mật thương mại và thông tin
lợi thế có thể bị lọt ra ngoài. Bản thân tổ chức không có điều kiện xây dựng và phát triển tiềm lực của
mình.
Giáo trình Phân tích thiết Kế Hệ Thống 16

1.6. Xây dựng thành công HTTT


a. Khái niệm về HTTT được xây dựng thành công
Một HTTT tin như thế nào được xem là thành công? Đó là câu hỏi khó trả lời, và ngay cả đối với một
HTTT cụ thể, mọi người không dễ dàng đồng ý với nhau về đánh giá và hiệu quả của nó. Tuy nhiên, người
ta cũng đã đưa ra một số tiêu chuẩn làm cơ sở cho việc đánh giá một HTTT. Một hệ thống thông tin được
xem là có hiệu quả nếu góp phần nâng cao chất lượng hoạt động quản lý tổng thể (1) của một tổ chức được
thể hiện trên các mặt:
- Đạt được các mục tiêu thiết kế đề ra.
- Chi phí vận hành là chấp nhận được.
- Tin cậy, đáp ứng được các chuẩ mực của một HTTT hiện hành.
- Sản phẩm có giá trị xác đáng.
- Dễ học, dễ nhớ và dễ sử dụng.
- Mềm dẻo, dễ bảo trì: có thể kiểm tra, mở rộng ứng dụng và phát triển tiếp được.
b. Những vấn đề đặt ra của việc xây dựng HTTT
Rất tiếc là có tới 75% các hệ thống thông tin lớn và phức tạp đã hoạt động yếu kém, không đạt được
mục tiêu đề ra ban đầu. Những yếu kém của hệ thống thường liên quan đến các mặt sau:
- Kỹ năng của người phát triển và năng lực của tổ chức.
- Phương pháp, pháp lụân và công cụ sử dụng.
- Quản lý dự án.
Đi sâu hơn những vấn đề nêu trên là nguyên nhân cốt yếu nằm ở khâu phân tích và thiết kế.
c. Tự động hóa các hoạt động phát triển hệ thống
Trước đây, phát triển HTTT xem như hoạt động mang tính nghệ thụât. Mỗi nhà phát triển áp dụng các
kỹ thụât theo cách riêng. Sự thiếu thống nhất trong kỹ thuật và công nghệ làm khó khăn cho vịêc tích hợp
hệ thống, tích hợp dữ lịêu, và cấu trúc những hệ thống mới cũng như khó khăn cho vịêc bảo trì về sau.
Để giải quyết những vấn đề trên đây, các phương pháp và phương pháp luận cùng các công cụ tự động
hóa đi theo đã được xây dựng. “Kỹ nghệ phần mềm trợ giúp bằng máy tính” – CASE (Computer-Aided
Softuvare Engineering) đề cập đến các công cụ phần mềm được các nhà phân tích hệ thống sử dụng nhằm
trợ giúp và tự động hóa các hoạt động của quá trình phát triển hệ thống. nhờ vậy đã nâng cao năng suất và
cải tiến chất lượng tổng thể của HTTT được xây dựng.
d. Quản lý dự án phát triển HTTT
Quản lý dự án là một mặt quan trọng của vịêc phát triển HTTT. Mục tiêu quản lý dự án là đảm bảo cho
các dự án phát triển HTTT đáp ứng được sự mong đợi của khách hàng và được thựn hịên trong phạm vi
những giới hạn cho phép (như ngân sách, thời gian…). Các dự án thành công yêu cầu phải quản lý tốt các
nguồn lực, các hoạt động và các nhịêm vụ đặt ra. Quản lý một dụ án là sự tiến hành có kế hoạch một loạt
các hoạt động có liên quan với nhau để đạt một mục tiêu, có điểm bắt đầu và có điểm kết thúc. Nó bao bòm
bốn pha: khởi tạo dự án, lập kế hoạch dự án, thực hịên dự án, kết thúc dự án. Trong mỗi pha này lại bao
gồm một loạt công vịêc cùng các kỹ năng yêu cầu tương ứng. Nội dung này được nghiên cứu trong các tài
liệu riêng.
1.7. Sơ đồ tổng quát quá trình phân tích thiết kế HTTT
Sơ đồ tổng quát quá trình phân tích thiết kế được mô tả trong sơ đồ hình 1.10. Trong đó chỉ ra các giai
đoạn khác nhau của quá trình này. Trong mỗi giai đoạn chỉ rõ các công cụ (mô hình) được sử dụng, các sản
phẩm đặc trưng của nó cũng như mối quan hệ logic và sư phụ thuộc lẫn nhau giữa chúng. Quá trình gồm
bốn giai đoạn:
- Khảo sát hiện trạng của hệ thống.
- Xác định mô hình nghiệp vụ.
- Phân tích hệ thống và đặc tả yêu cầu.
- Thiết kế hệ thống.
a. Khảo sát hịên trạng hệ thống
Trong phần này sẽ trình bày các bước thực hiện quá trình khảo sát và các công cụ được sử dụng để thu
thập thông tin, dữ lịêu.
b. Xác định mô hình nghiệp vụ của hệ thống
Giáo trình Phân tích thiết Kế Hệ Thống 17

Trong phần này tiến hành mô tả các thông tin dữ lịêu của tổ chức ở dạng trực quan và có tính hệ thống
hơn. Nhờ vậy, khách hàng có thể hiểu được và qua đó có thể bổ sung và làm chính xác hóa hoạt động
nghiệp vụ của tổ chức hịên thời.
Một loạt các công cụ như được sử dụng ở đây như: biểu đồ ngữ cảnh, biểu đồ phân rã chức năng, ma
trận các yếu tố quyết định thành công, ma trận thực thể chức năng, bảng danh sách các hồ sơ dữ liệu, mô
tả chi tiết các chức năng nghiệp vụ. Các công cụ này giúp làm rõ hơn thực trạng của tổ chức, xác định
phạm vi miền nghiê cứu phát triển hệ thống. Từ đó đi đến quyết định xây dựng một dự án về phát triển
HTTT, đưa ra được các yêu cầu cho hệ thống cần xây dựng.
Giáo trình Phân tích thiết Kế Hệ Thống 18

Hồ sơ tài liệu
Khảo sát khảo sát,
tổng hợp

Danh sách các


Biểu đồ Biểu đồ phân
thực thể dữ
ngữ cảnh rã chức năng
liệu

Xác định
yêu cầu Các ma trận
phân tích

Biểu đồ ngữ Biểu đồ phân Danh sách


Mô tả chi tiết
cảnh miền rã chức năng thực thể dữ Từ điển dữ liệu
chức năng
nghiên cứu rút gọn chi tiết liệu rút gọn

Phân Mô hình thực


Mô tả chi tiết Biểu đồ luồng
tích yêu thể mối quan
tiến trình dữ liệu vật lý
cầu hệ (E-R)

Biểu đồ luồng
Thiết kế Đặc tả logic Thiết kế biểu Mô hìenh dữ
dữ liệu logic
logic mỗi tiến trình mẫu báo cáo liệu quan hệ
các mức

Xác định luồng


Thiết kế an
Thiết kế Đặc tả môdun hệ thống. Đặc Đặc tả tương Đặc tả CSDL
toàn và bảo
vật lý chương trình tả cấu trúc hệ tác giao diện vật lý
mật hệ thống
thống

c. Phân tích làm rõ yêu cầu và đặc tả yêu cầu


Phần này làm rõ yêu cầu bằng cách sử dụng các mô hình và công cụ hình thức hóa đơn, như các mô
hình luồng dữ liệu để mô tả các tiến trình xử lý, mô hình dữ lịêu thực thể - và các mối quan hệ của nó, đặc
Giáo trình Phân tích thiết Kế Hệ Thống 19

tả các giao diện và báo cao. Đến đây ta có được mô hình khái niệm của hệ thống. Với mô hìng này, một lần
nữa khách hàng có thể bổ sung để làm đầy đủ hơn các yêu cầu về HTTT cần xây dựng.
d. Thiết kế hệ thống logic và hệ thống vật lý
Trong bước này cần tìm các giải pháp công nghệ cho các yêu cầu đã được xác định ở bước phân tích.
Các công cụ ở đây mang tính hình thức hóa cao cho phép đặc tả các bản thiết kế để có thể ánh xạ thành các
cấu trúc chương trình, các chương trình, các cấu trúc dữ liệu và các giao diện tương tác. Các công cụ ở đây
bao gồm mô hình dữ liệu quan hệ, mô hình luồng hệ thống, các phương pháp đặc tả nội dung xử lý của
mỗi tiến trình, các hướng dẫn thiết kế cụ thể…

Câu hỏi cuối chương


1. Khi nào một tổ chức cần phát triển HTTT? Vì sao?
2. Để phát triển HTTT đạt kết quả, tổ chức cần được tiến hành những hoạt động gì? Mối quan hệ giữa
chúng và vịêc phát triển HTTT?
3. Có những cách tiếp cận nào để phát triển HTTT? Đặc trưng (ưu và nhược điểm) của mối cách tiếp cận
đó?
4. Những nội dung chính của phát triển HTTT là gì?
5. Vòng đời phát triển một hệ thống là gì? Phương pháp luận vòng đời phát triển hệ thống gồm những pha
nào?
6. Trình bày nội dung các pha của vòng đời phát triển hệ thống?
7. Tính khả thi của một dự án cần gồm những mặt chính nào?
8. Để phát triển hệ thống cần có tài liệu gì sau khi có dự án khả thi?
9. Trình bày các phương pháp khác nhau phát triển HTTT? Ưu và nhược điểm của mỗi phương pháp?
10. Có mấy mức độ làm mẫu? Đặc trưng của mỗi mức đó là gì? Các lợi ích của phương pháp làm mẫu?
11. Nêu vai trò hoạt động của quản lý dự án trong quá trình phát triển HTTT? Các nội dung của quản lý dự
án?
12. Trình bày các bước tổng quát của qua trình phân tích và thiết kế HTTT? Các mô hình, các sản phẩm và
mối quan hệ của chúng<

Phụ lục
Khung của một kế hoạch dự án cơ sở
1.0. Giới thiệu
A. Tổng quan về dự án: Mục tiêu và phạm vi của dự án, tính khả thi, yêu cầu nguồn lực và lịch trình thời
gian. Thêm vào cần trình bày tóm tắt các vấn đề đặt ra, môi trường trong đó hệ thống hoạt động, các
ràng buộc và hạn chế đặt lên dự án.
B. Các đề xuất: Đưa ra những vấn đề quan trọng phát hiện khi lập dự án và các đề xuất các hoạt động cần
thực hiện.
2.0. Mô tả hệ thống
A. Các phương án có thể: Trình bày tổng hợp về một số cấu hình hệ thống có thể có.
B. Mô tả hệ thống lựa chọn: Mô tả phương án hệ thống được lựa chọn. Trình bày các thông tin vào, các
nhiệm vụ thực hiện và các thông tin kết quả đầu ra.
3.0.Đánh giá khả thi
A. Phân tích kinh tế: Cho một đánh giá về mặt kinh tế của dự án bằng cách sử dụng phân tích chi phí và
lợi ích thu được.
B. Phân tích kỹ thuật: Trình bày các yếu tố rủi ro kỹ thuật có liên quan, đánh giá tỷ lệ rủi ro có thể xãy ra
so với tổng thể công việc của dự án.
C. Phân tích hoạt động: Mô tả hệ thống để giải quyết các vấn đề nghiệp vụ đặt ra như thế nào, ưu điểm để
tận dụng các cơ hội có thể, đánh giá sự thay đổi của hệ thống hiện tại theo thời gian như thế nào nhờ có
hệ thống mới.
D. Phân tích về hợp đồng và pháp luật: Mô tả nhũng rủi ro có thể có về mặt pháp luật hay hợp đồng làm
việc của dự án.
Giáo trình Phân tích thiết Kế Hệ Thống 20

E. Phân tích chính sách: Mô tả về cách nhìn nhân của chủ sở hữu trong tổ chức đối với hệ thống như thế
nào và tác động của các chính sách có thể có.
4.0. Những vấn đề quản lý
A. Tổ chức đội làm việc va quản lý: Mô tả về thành phần các đội, vai trò của các thành viên trong đội và
các mối quan hệ khi làm vịêc, lịch trình và cách thức báo cáo.
B. Kế hoạch truyền thông: Mô tả về thủ tục và phương tiện truyền thông mà những người quản lý, các
thành viên trong đội và khách hàng cần tuân thủ.
C. Các chuẩn mực và thủ tục: Quy định các chuẩn mực về tài liệu, sản phẩm và cách thức mà khách hàng
sẽ đánh giá và chấp nhận.
D. Các chủ đề khác có liên quan: Mô tả những vấn đề khác phát hiện ra trong quá trình xây dựng dự án
cần được chú ý.
----oOo----
Giáo trình Phân tích thiết Kế Hệ Thống 21

Chương 2 : KHẢO SÁT HIỆN TRẠNG XÁC ĐỊNH YÊU CẦU HỆ THỐNG

Xác định yêu cầu là bước đầu tiên của quá trình phát triển một HTTT. Cho nên, kết quả và chất lượng của
việc xác định yêu cầu thông tin của tổ chức có một ý nghĩa quyết định đến chất lượng HTTT được xây
dựng trong các bước sau này.

2.1. Khảo sát thu thập thông tin của hệ thống


2.1.1. Quá trình khảo sát
Vịêc thu thập các thông tin của hệ thống hịên tại được bắt đầu bằng vịêc tiến hành khảo sát hệ thống. Về
nguyên tắc, việc khảo sát hệ thống được chia làm hai giai đoạn:
- Giai đoạn khảo sát sơ bộ: nhằm hình thành dự án phát triển hệ thống thông tin.
- Giai đoạn khảo sát chi tiết: nhằm thu thập các thông tin chi tiết của hệ thống phục vụ phân tích yêu cầu
thông tin làm cơ sở cho bước thiết kế sau này.
a. Cách tiếp cận một tổ chức
Mỗi tổ chức là một hệ thống với những đặc trưng và sự phức tạp riêng của nó. Xem một tổ chức là hệ
thống xã hội - kỹ thuật, nó thường được đặc trưng bằng các mặt sau đây:
- Một lĩnh vực hoạt động nghiệp vụ.
- Một mô hình quản lý.
- Một cơ cấu tổ chức.
Bên cạnh đó, tổ chức còn có những mối quan hệ giữa các bộ phận bên trong cũng như những mối quan hệ
với môi trường bên ngoài, có một truyền thống văn hóa riêng của mình. Vì vậy, vịêc tiếp cận tổ chức cần
tiến hành một cách khoa học. Có hai cách tiếp cận thường được sử dụng: Tiếp cận từ trên xuống (top
down) và tiếp cận từ dưới lên (bottom up). Khi vận dụng cách tiếp cận từ trên xuống, vịêc khảo sát cần
được tiến hành theo các định hướng sau :
- Về tổ chúc: bắt đầu từ bộ phận cao nhất (ban giám đốc) đến các bộ phận thấp nhất (các tổ công
tác, tổ sàn xuất)
- Về quản lý: bắt đầu từ nhà quản lý cao nhất (giám đốc) đến người thực hịên cụ thể (nhân viên)
- Về nghịêp vụ: bắt đầu từ nhiệm vụ chung nhất (nhịêm vụ chiến lược) đến công vịêc cụ thể tại mỗi
chỗ làm vịêc.
Cách tiếp cận này là phù hợp với quá trình nhận thức và khả năng tiếp nhận của con người và phù hợp với
quá trình khảo sát.
b. Các bước khảo sát và thu thập thông tin
Quá trình khảo sát hệ thống cần trải qua các bước:
- Tiến hành thu thập thông tin bằng các phương pháp khác nhau.
- Củng cố, bổ sung và hoàn thịên kết quả khảo sát.
- Tổng hợp kết quả khảo sát.
- Hợp thức hóa kết quả khảo sát.
c. Các yêu cầu đặt ra
Vịêc thu thập thông tin dữ lịêu được thực hịên bằng cách phỏng vấn, điều tra và quan sát người sử dụng,
xem xét các báo cáo, các quy trình, thủ tục trong hoạt động của tổ chức và tổng hợp các thông tin thu thập
được theo một cách tốt nhất và đầy đủ nhất. Vịêc xác định yêu cầu đòi hỏi ở người phân tích phải có tính
xông xáo (cần hỏi mọi điều), tính chủ động (cần tìm giải pháp cho mọi vấn đề hay cơ hội kinh doanh), sự
nghi ngờ (xem mọi hoạt động đều có những hạn chế, giải pháp có thể là không khả thi..), chú ý đến mọi chi
tiết (mọi sự kịên, sự vật liên quan cần được ghi nhận), biết đặt ngược vấn đề. Phân tích là một quá trình
sáng tạo, bản thân nhà phân tích phải biết nhìn vào tổ chức theo cách nhìn mới.
Các kết quả thu thu thập cần được hình thành theo các mẫu và chuẩn mực nhất định. Các đơn vị phát triển
phần mềm thường có các mẫu và các chuẩn riêng cho mình để thu thập và biểu diễn thông tin.
2.1.2. Các thông tin dữ lịêu cần thu thập.
Để xác định yêu cầu của hệ thống ta cần có các thông tin và dữ lịêu khác nhau về hịên trạng của hệ thống:
Nó bao gồm các mô tả thu được từ các cuộc phỏng vấn, các ghi chú từ các quan sát, các phân tích và tổng
Giáo trình Phân tích thiết Kế Hệ Thống 22

hợp tài lịêu, các kết quả nhận được từ các điều tra, các mẫu biểu báo cáo, các mô tả công vịêc, các tài lịêu
khác cũng như các tài lịêu sinh ra từ vịệc làm bản mẫu và các phân tích. Nội dung các loại thông tin cần
thu thập bao gồm:
- Các loại dữ lịêu (tài lịêu) và đặc trưng của nó.
- Các công vịêc và trình tự thực hịên các chức năng nghiệp vụ cũng như các thông tin dữ lịêu liên quan.
- Các quy tắc chi phối các hoạt động thu thập, quản lý, xử lý và phân phối các dữ lịêu cũng như các yêu
cầu kỹ thụât khác.
- Các chính sách và các hướng dẫn mô tả bản chất của kinh doanh, thị trường và môi trường mà trong
đó nó hoạt động.
- Các nguồn lực (cán bộ, trang thiết bị, các phần mềm nếu có).
- Các điều kịên môi trường (các hệ thống bên trong và bên ngoài liên quan)
- Sự mong đợi về hệ thống thay thế của người dùng.

2.2. Các phương pháp truyền thống xác định yêu cầu
Cách tốt nhất để thu thập thông tin của hệ thống hịên tại là hãy giao tiếp với những người trong tổ chức mà
chính họ trực tiếp hay gián tiếp tác động đến sự hoạt động và thay đổi hệ thống. Các phương pháp thường
được sử dụng để thu thập thông tin là:
- Phỏng vấn
- Quan sát tại chỗ
- Điều tra bằng bảng hỏi
- Nghiên cứu các tài lịêu, thủ tục
2.2.1. Phỏng vấn
Phỏng vấn là hỏi trực tiếp người có liên quan để thu thập thông tin. Đó là cách đơn giản và quan trọng
nhất để thu thập thông tin về một tổ chức. Có nhiều cách tiến hành phỏng vấn hịêu quả và không một cách
nào được xem là tốt hơn cách khác. Tuy nhiên, những nghiên cứu cho thấy, kết quả phỏng vấn phụ thuộc
vào các yếu tố sau đây:
- Sự chuẩn bị
- Chất lượng câu hỏi và phương pháp ghi chép
- Kinh nghịêm và khả năng giao tiếp của người phỏng vấn
a. Chuẩn bị phỏng vấn
Để phỏng vấn một người, một nhóm người cần phải làm quen lần đầu, sau đó hẹn gặp để phỏng vấn họ.
Nội dung hẹn gặp thường bao gồm thời điểm, địa điểm, nội dung dự kiền và thời gian thực hịên. Trước hết
cần lịêt kê và lựa chọn danh sách người cần phỏng vấn. Với đối tượng dự kiến, cần thu thập tài lịêu có liên
quan và thông tin về đối tượng được hỏi để có cơ sở chuẩn bị câu hỏi và cách thức làm vịêc thích hợp với
đối tượng.
Kế hoạch phỏng vấn
Người được hỏi: (họ và tên) Người phỏng vấn: (họ và tên)
Địa chỉ: (cơ quan, phòng, điện thoại) Thời gian hẹn
Thời điểm bắt đầu:
Thời điểm kết thúc:
Đối tượng: Các yêu cầu đòi hỏi:
- Đối tượng được hỏi là ai? Vai trò, vị trí, trình độ,
- Cần thu thập dữ liệu gì ? Kinh nghiệm của người được hỏi
- Cần thỏa thuận điều gì ?
Chương trình Ước lượng thời gian
- Giới thiệu 1 phút
- Tổng quan về dự án 2 phút
- Tổng quan về phỏng vấn 1 phút
Chủ đề sẽ đề cập
Xin phép được ghi âm
Chủ đề 1: câu hỏi và trả lời 7 phút
Giáo trình Phân tích thiết Kế Hệ Thống 23

Chủ đề 2” câu hỏi và trả lời 10 phút


Tổng hợp các nội dung chính 2 phút
ý kiến của người được hỏi 5 phút
Kết thúc (thỏa thuận) 1 phút
(dự kiến tổng cộng: 29 phút)
Bảng 2.1. Mẫu kế hoạch phỏng vấn

Cùng với vịêc chuẩn bị câu hỏi là chuẩn bị các phương tiện để ghi chép, như máy ghi âm, các mẫu ghi
chép (mẫu phỏng vấn, mẫu ghi thông tin…) và đặc bịêt phải có kế hoạch tiến hành phỏng vấn (xem bảng
2.1). Trong đó vạch rõ trình tự thực hịên các công vịêc, dự kiến thời gian và kết quả thực hịên mỗi công
vịêc đó. Ngoài ra, hai loại công cụ thường dùng nhất để ghi chép khi phỏng vấn là phiếu phỏng vấn và lưu
đồ công vịêc. Mỗi một công cụ có một chức năng của nó: một dành để ghi lời, một để ghi chép bằng biểu
đồ, minh họa.
b. Lựa chọn câu hỏi
Khi phỏng vấn thường sử dụng hai loại câu hỏi: câu hỏi mở và câu hỏi đóng. Trong đó các câu hỏi mở
được sử dụng nhiều hơn. Các câu hỏi mở là câu hỏi có nhiều khả năng trả lời, và câu trả lời tùy thuộc vào
điều kịên và sự hiểu biết của người cụ thể được hỏi. Có thể kết hợp sử dụng câu hỏi đóng trong các trường
hợp cần thiết. Câu hỏi đóng cung cấp về phạm vi câu trả lời dự kiến. Ví dụ:
- Anh có sao chép mọi dữ lịêu anh cần không? (có hoặc không)
Câu hỏi có thể có nhiều hơn hai lựa chọn. Ví dụ:
- Anh đánh giá thế nào về mức độ đạt được của dịch vụ hệ thống? tốt? trung bình? Hay tồi?
Những câu hỏi đóng nhằm hạn chế phạm vi muốn hỏi, tập trung vào những vấn đề quan trọng cà hướng
đến sự chọn.
c. Tiến hành phỏng vấn
Phỏng vấn nên tiến hành theo nhóm, ít nhất có hai người. Khi phỏng vấn một người hỏi, một người ghi. Có
thể phân công người đặc trách ghi chép bằng biểu đồ, ký hịêu. Ưu điểm của phương pháp này là sử dụng
thời gian hịêu quả hơn một loạt các phỏng vấn cá nhân. Khi nghe nhiều ý kiến của các nhân vật quan trọng,
mỗi người có thể đồng ý, không đồng ý với người khác, kích thích sự suy nghĩ của mỗi người và tích cực
tham gia thảo luận. Nhược điểm của nó là phải bố trí, sắp xếp thứ tự trình bày, bố trí thời gian thích hợp,
có thể có người e ngại khi phát biểu ý kiến. Phỏng vấn là phương pháp chủ yếu cho quá trình phát triển
ứng dụng liên kết (JAD).

Dự án Tên dự án: Quản lý kho Trang 10


Loại: Lưu đồ Nghiệp vụ: Lập đơn hàng Ngày 12/01/2008
Giáo trình Phân tích thiết Kế Hệ Thống 24

Thủ kho Người quản lý Bên ngoài


D1 D2
Phiếu vật tư Sổ thực đơn
Lập và chuyển
Nhà cung
đơn hàng
cấp
T1

D4 D3
Sổ đặt hàng Đơn hàng

Tiếp nhận, Tiếp nhận,


D5
Nhận hàng Kiểm phiếu
Phiếu giao
T3 T2

Bảng 2.2 Lưu đồ công việc (ghi khi phỏng vấn)

Phiếu phỏng vấn


Dự án: Quản lý kinh doanh Tiểu dự án: Quản lý bán hàng
Người được hỏi: Nguyễn Văn A Ngày xx/xx/xxxx Người hỏi: Phạm Thế Du
Câu hỏi Ghi chú
Câu 1: Anh có sử dụng doanh số bán hàng mà hệ Trả lời: Có, tôi đã yêu cầu làm báo cáo về hàng bán
thống tổng hợp không? Nếu có, có thường trong tuần.
xuyên không? Quan sát: Hình như người này không biết dùng máy
(Nếu không thì sang câu 2) tính nên không biết máy có thể trả lời câu
hỏi bất kỳ lúc nào
Câu 2: ……… Trả lời: …..
Quan sát: Hệ thống có thể đưa ra doanh số bán bằng
tiền, nhưng người dùng không biết điều
đó
Đánh giá chung:
- Người được hỏi hình như bận, có thể cần thêm vài ngày để họ chuẩn bị rồi tiến hành tiếp
- Chưa kết luận được vấn đề, còn chủ đề chưa đề cập hết. Họ cẩn thu thập số liệu bán hàng năm 19xx
Bảng 2.2 Một đoạn ghi chép phỏng vấn

d. Những hạn chế và lưu ý khi phỏng vấn


Phỏng vấn là công cụ tốt để thu thông tin chi tiết, phong phú, cho phép giải thích hay hỏi bổ sung ngay
khi cầ thiết. Tuy nhiên phương pháp này cần nhiều thời gian, căng thẳng và rất bị động do phụ thuộc vào
điều kịên của người được hỏi, yêu cầu người phỏng vấn phải được đào tạo và có được những kinh nghịêm
nhất định.
Câu hỏi cần tập trung vào lĩnh vực nghiên cứu, ngắn gọn, trực tiếp, ở dạng mở với nhiều khả năng trả
lời, tránh hỏi chuỵên nội bộ, cá nhân. Câu hỏi không nên áp đặt, hướng dẫn hay khẳng định vấn đề. Chú ý
lắng nghe và quan sát người được hỏi để có thể thích ứng với tình thế khi cần thiết: thay đổi câu hỏi, cách
hỏi, chuyển sang chủ đề khác hoặc im lặng. Nên kết thúc phỏng vấn sớm nếu có thể.
Sớm hình thành biểu đồ chức năng. Cuối buổi phỏng vấn cần nhắc lại nội dung chính để khẳng định
kết quả, thỏa thụân lần làm vịêc tiếp theo (nếu cần)
Giáo trình Phân tích thiết Kế Hệ Thống 25

2.2.2. Điều tra bằng bảng hỏi


Phương pháp điều tra bằng bảng hỏi được sử dụng để bổ sung cho các phương pháp nêu trên. Mục tiêu
của nó nhằm thăm dò dư lụân, thu thập các ý kiến, quan điểm hay đặc trưng có tính đại chúng rộng rãi (xã
hội học), có tính xu hướng liên quan đến hoạt động chung của tổ chức và đến vịêc phát triển hệ thống
thông tin. Nội dung điều tra thường hạn chế trong một số vấn đề nhất định. Những nội dung cần thăm dò
có thể là các vấn đề sau:
- Những khó khăn mà tổ chức đang gặp phải
- Các nguyên nhân có thể có của các khó khăn đó
- Những yếu tố có tính quyết định đến sự hoạt động thành công
- Giải pháp xây dựng HTTT có phải là giải pháp tốt nhất
- Khó khăn chính khi triển khai một hệ thống thông tin
- Sự hiểu biết và quan nịêm của người dùng về HTTT
a. Thiết lập bảng hỏi
Bảng hỏi gồm ba phần:
Phần tiêu đề: Gồm tên tiêu đề ghi rõ mục đích của bảng hỏi và các thông tin chung về đối tượng được
hỏi.
Phần câu hỏi: Gồm các câu hỏi khác nhau được sắp xếp và bố trí theo một trình tự nhất định theo yêu
cầu và mục tiêu dự kiến. Trong các câu hỏi nên có các thông tin phân loại đối tượng được hỏi theo nhóm
(theo nghề nghiệp, theo chức danh: nhà quan lý, người sử dụng, lứa tuổi…)
Phần giải thích: Một số giải thích về những vấn đề cầm làm rõ trong câu hỏi hoặc chú thích khác. Ví
dụ: “xin gửi bảng điều tra về địa chỉ..”
Các câu hỏi thăm dò thường ở dạng cho sẵn các khả năng lựa chọn, người được hỏi chỉ cần trả lời bằng
cách đánh dấu vào những mục mà họ chọn. Bảng hỏi sau khi soạn thảo cần điều tra thử hay lấy ý kiến ở
một phạm vi hẹp (có thể thông qua hội thảo). Sau khi hoàn chỉnh, bổ sung rồi mới tiến hành điều tra rhực
sự.
b. Tiến hành điều tra
Sau khi bảng hỏi được chuẩn bị (trên giấy hay mẫu biểu gửi đi trên mạng) sẽ phân phát cho đối tượng
định hỏi để họ điền vào bảng hỏi hoặc cử người điều tra trực tiếp. Khi có dữ lịêu điều tra cần tổng hợp và
tính ra các kết quả mong muốn. Thông thường, các kết quả nhận được mang tính thống kê, định tính, xu
hướng mà không phải những con số chính xác.
c. Ưu điểm và hạn chế của phương pháp
Phương pháp này thường được dùng để bổ sung cho các phương pháp trên. Nó có ưu điểm là nhanh và
rẻ hơn phỏng vấn, dễ tổng kết, vịêc đào tạo người điều tra ít tốn kém cả về thời gian và chi phí. Kết quả có
độ chính xác thấp và được đánh giá bằng con số trung bình thống kê.
2.2.3. Quan sát
Con người không phải luôn nhớ hết và kể đủ mọi điều họ biết, họ nghĩ, đặc bịêt những sự kịên ít xãy ra
hay những sự kịên đã xãy ra lâu trong quá khứ. Hơn nữa, thường có một sự khác bịêt giữa nhận thức và
thực tế, mô tả lại mang tính chủ quan, có thể bị bỏ qua nhiều chi tiết, vì vậy quan sát để bổ sung và chính
xác hóa các thông tin..
Quan sát có thể có hai cách: quan sát trực tiếp và quan sát qua phương tịên. Về tâm lý, vịêc quan sát
trực tiếp dễ làm ảnh huởng đến hoạt động bình thường của một người. Quan sát từ xa, qua phương tiện sẽ
chủ động hơn, đặc bịêt có thể sử dụng các phương tịên ghi lại để xem nhiều lần khi cần thiết. Thông tin
quan sát được là thông tin có tính bộ phận, bề ngoài, không bao gồm những công việc, những hoạt động và
sự kịên quan trọng, bị hạn chế về thời gian, và phạm vi nhỏ hẹp. Hơn nữa, vịêc quan sát thường tốn thời
gian, không thể chủ động.
2.2.4. Nghiên cứu, phân tích các thủ tục và tài lịêu
Nghiên cứu các tài lịêu có sẵn của tổ chức là hoạt động không thể thiếu được khi khảo sát hệ thống. Nó
giúp tăng cường các kết quả nhận được nhờ xem xét các tài lịêu hệ thống và tổ chức để phát hịên ra những
chi tiết về chức năng và tổ chức, mô tả tổ chức, kế hoạch kinh doanh, biểu đồ chức năng, chính sách kinh
doanh hàng năm, mô tả công vịêc, những tài lịêu bên trong, bên ngoài, các báo cáo của hệ thống, các
nghiên cứu hệ thống.
Giáo trình Phân tích thiết Kế Hệ Thống 26

Vịêc nghiên cứu tài lịêu bao gồm các công vịêc chính sau đây:
- Xác định tài lịêu chính, báo cáo chính cần thu thập
- Sao chép tài lịêu, báo cáo được thu thập và tổng hợp lại
- Ghi lại các dữ lịêu chính của mỗi tài lịêu, báo cáo: Tên mục, định dạng, khối lượng, tần suất sử dụng,
cấu trúc mã, nơi phát sinh, nơi sử dụng.

2.3. Phương pháp hịên đại để xác định yêu cầu


Ngày nay các phương pháp truyền thống vẫn được các nhà phân tích sử dụng để xác lập yêu cầu của hệ
thống. Tuy nhiên, nhiều kỹ thụât mới đã được bổ sung để thu thập các thông tin về hệ thống hịên thời, về
lĩnh vực mà hệ thống mới sẽ được xây dựng và tất cả những gì có liên quan. Bảng dưới đây giới thịêu một
số phương pháp hịên đại trợ giúp cho vịêc thu thập yêu cầu của hệ thống.
Phương pháp Cách thức sử dụng
Thiết kế ứng dụng liên kết Sử dụng trong phiên làm việc giữa người sử dụng, nhà tài
(Joint Application Design) trợ, nhà thiết kế và những người liên quan để thảo luận và
xem xét các yêu cầu của hệ thống
Hệ thống trợ giúp nhóm Trợ giúp việc chia sẻ các ý tưởng và thảo luận về yêu cầu
của hệ thống
Các công cụ CASE Phân tích hệ thống hiện tại, phát hiện yêu cầu hệ thống
nhằm đáp ứng những thay đổi của điều kiện môi trường
Phương pháp làm bản mẫu Phát triển bản mẫu của hệ thống làm hiểu rõ yêu cầu của
hệ thống một cách rất cụ thể thông qua việc trình diễn các
mô hình làm việc với các đặc trưng của hệ thống thực cho
người dùng để lấy ý kiến và sửa đổi
Bảng 2.2. Các phương pháp hịên đại để thu thập yêu cầu

2.3.1. Phương pháp thiết kế ứng dụng liên kết


Phương pháp JAD được sử dụng bắt đầu từ những năm 1970 tại công ty IBM. Sau đó nhiều biến thể
khác nhau của JAD đã được xây dựng thành các tài lịêu và phổ biến ở nhiều nơi. Ý tưởng chính của
phương pháp này là để tất cả những người sử dụng chủ chốt, các nhà quản lý, các nhà phân tích hệ thống
cùng tham gia vào vịêc phân tích hệ thống hịên thời. Mục tiêu đầu tiên của sử dụng JAD là để thu thập yêu
cầu thông tin của hệ thống một cách liên tục bắt đầu từ những người chủ chốt trong hệ thống. Kết quả của
quá trình làm vịêc không ngừng được tăng cường và củng cố, có cấu trúc chặt chẽ và hịêu quả cao. Nhờ
phỏng vấn, các nhà phân tích nhận ra được đâu là sự thỏa thuận, đâu là sự bất đồng, và hiểu được tại sao có
bất đồng để giải quyết.
Phiên làm vịêc JAD thường được tổ chức ở một nơi tách bịêt, có thể kéo dài từ một giờ đến cả tuần và
gồm một số phiên làm vịêc. Vì thế, JAD chi phí tốn kém và cần nhiều thời gian của những người tham gia.
Người tham gia vào phiên làm vịêc của JAD là:
- Người lãnh đạo phiên JAD : Những người tổ chức và điều hành JAD, điều hành chương trình, giải
quyết xung đột và tổng hợp ý tưởng.
- Những người sử dụng : Những người sử dụng chủ chốt của hệ thống, hiểu rõ cái gì mà hệ thống cần
hàng ngày.
- Những nhà quản lý : Họ cung cấp định hướng của tổ chức mới, nêu ra những tác động của hệ thống lên
tổ chức.
- Nhà tài trợ : Những người tài trợ cho các phiên làm vịêc.
- Những nhà phân tích hệ thống và các kỹ thuật viên và đội ngũ phát triển hệ thống
JAD thường tiến hành trong phòng đặc biệt có các công cụ nghe, nhìn và biểu diễn thông tin được sử
dụng (máy chiếu, biểu đồ, ký hiệu..). Khi bắt đầu chương trình làm việc: Người lãnh đạo phiên JAD đặt
vấn đề, những người sử dụng trình bày thực trạng hệ thống hiện thời, những người khác hỏi và thảo luận,
những nhà kỹ thuật thể hiện trên các phương tiện nghe nhìn và ghi lại trên máy cho các nhà lãnh đạo JAD
có điều kiện hướng dẫn cuộc họp và đưa ra những kết luận khi cần thiết. Kết quả sau khi kết thúc JAD là
Giáo trình Phân tích thiết Kế Hệ Thống 27

một tâp tài liệu chi tiết va báo cáo về những hoạt động của hệ thống hiện thời và những vấn đề có liên quan
đến những nghiên cứu hệ thống thay thế.
Phương pháp này rất hiệu quả, cho kết quả nhanh, nhiều vấn đề được thảo luận đi đến thống nhất, nhiều
thông tin được bổ sung và làm chính xác nhưng cần có những người có kinh nghiệm tổ chức.
2.3.2. Phương pháp làm mẫu xác định yêu cầu
Phương pháp làm mẫu là một quá trình lặp mà ở đó nhà phân tích cùng tham gia vào một quá trình phát
triển và xây dựng lại bản mẫu của HTTT mỗi lần có các thông tin phản hồi từ người sử dụng. Phương pháp
làm mẫu cho phép mau chóng chuyển những yêu cầu cơ bản thành một HTTT làm việc để người dùng xem
và thực hiện thử nghiệm, đánh giá, đóng góp bổ sung. Phương pháp làm mẫu được thực hiện với sự giúp
đỡ của công cụ CASE.
2.4. Các khái niệm sử dụng trong khảo sát
Khi khảo sát chúng ta cần đến một số khái niệm dùng để mô tả các yêu cầu thông tin thu được. Đó là
khái niệm về chức năng (hay công việc), các thủ tục và quy tắc nghiệp vụ và cuối cùng là các hồ sơ tài liệu
(hay thực thể dữ liệu)
2.4.1. Chức năng – công việc
Một chức năng được hiểu là tập hợp các hành động được thực hiện ở một phạm vi nào đó trong một hệ
thống có tác động trực tiếp lên dữ liệu và thông tin của hệ thống đó. Những tác động lên dữ liệu và thông
tin thường được nhắc đến như : Cập nhật (tạo, xem, sửa, xoá), lưu trữ, truyền, xử lý và biểu diễn thông tin.
Kết thúc một chức năng thường cho một sản phẩm cũng là thông tin. Khái niệm chức năng có thể chia làm
các mức từ rất gộp đến các mức chi tiết hơn sau: một lĩnh vực hoạt động, một hoạt động, một nhiệm vụ hay
một hành động (những khái niệm này sẽ được trình bày kỹ hơn trong mô hình chức năng nghiệp vụ)
2.4.2. Các thủ tục và quy tắc nghiệp vụ
Một thủ tục hay một quy tắc nghiệp vụ là những quy định hay những hướng dẫn được chấp nhận chi
phối các hoạt động của tổ chức nhằm đảm bảo cho hoạt động của tổ chức đạt được các mục tiêu đề ra trong
những điều kiện cụ thể.
Các thủ tục và quy tắc nghiệp vụ là những ràng buộc phi chức năng, có thể thuộc bên trong tổ chức hay
bên ngoài tổ chức và không thể thay đổi được. Thông thường, người ta phân chia các thủ tục và quy tắc
nghiệp vụ làm ba loại:
a. Quy tắc, thủ tục quản lý.
Đó là những quy định, trình tự làm việc cần tuân thủ và thực hiện để đảm bảo yêu cầu và mục tiêu của
quản lý. Xét hai ví dụ sau:
Ví dụ thứ nhất: Một quy định của bộ tài chính (bên ngoài tổ chức) về quản lý tài sản: “Tài sản có giá trị
trên 500.000 đồng và có thời gian sử dụng trên một năm phải ghi vào tài sản cố định”.
Ví dụ thứ hai: Một quy định của doanh nghiệp là: “Mọi hợp đồng kinh tế trên một triệu đồng phải do
phó giám đốc tài chính hay giám đốc ký”. Đây là quy tắc quản lý bên trong xí nghiệp nhằm đảm bảo việc
ký kết hợp đồng được kiểm soát chặt chẽ.
b. Các quy tắc và thủ tục về tổ chức
Đó là những quy định, trình tự làm việc cần tuân thủ để đạt mục tiêu trong điều kiện của tổ chúc. Ví dụ,
do bộ phận bán hàng ít nhân viên, phải làm việc kiêm nhiệm, thêm vào đó yêu cầu mua hàng của khách
không thường xuyên nên xí nghiệp quy định: “ Chỉ giao hàng vào các ngày thứ 3, 5, 7”.
c. Các quy tắc và thủ tục về kỹ thuật
Đó là những quy định, trình tự làm việc cần tuân thủ nhằm đảm bảo yêu cầu quản lý kỹ thuật và chất
lượng công việc. Chẳng hạn, để đảm bảo an toàn cho các máy in kim, người ta quy định “Không in liên tục
quá 30 phút”. Như vậy, chính điều kiện kỹ thuật, các máy in kim có đầu in di chuyển cơ học khi in, nếu in
liên tục sẽ bị nóng, có thể gây ra cháy máy.
Về nguyên tắc, cần ghi chép đầy đủ mọi quy tắc và thủ tục liên quan đến mọi hoạt động của tổ chức.
Các thủ tục và quy tắc này là các ràng buộc đặt lên các dịch vụ của hệ thống xây dựng. Tuy nhiên, cần loại
bỏ các thủ tục, quy tắc đã lạc hậu hay chỉ liên quan đến đặc thù của tổ chức trong điều kiện hiện thời.
2.4.3. Các hồ sơ tài liệu – các thực thể dữ liệu
Các tài liệu đóng vai trò những thông tin đầu vào như các chứng từ, các hóa đơn bán hàng, các phiếu
thanh toán.. hay các đầu ra như báo cáo bán hàng, báo cáo tồn kho, các dự báo thị trường, kế hoạch sản
Giáo trình Phân tích thiết Kế Hệ Thống 28

xuất,.v.v. của các hoạt động nghiệp vụ được gọi chung là các hồ sơ, tài liệu. Bản thân nó được thể hiện ra
như một thực thể vật chất độc lập. Vì vậy, trong hoạt động phân tích và thiết kế hệ thống thông tin, chúng
còn được gọi là các thực thể (dữ liệu)

2.5. Các bước thực hiện sau khảo sát


Trừ khi sử dụng những bộ công cụ tiên tiến để thu thập yêu cầu thông tin, đối với đa số các trường hợp
còn lại, các dữ liệu thu được thường vẫn là những dữ liệu thô, là các chi tiết tản mạn cần được xử lý sơ bộ
và tổng hợp.
2.5.1. Xử lý sơ bộ kết quả khảo sát
Sau khi phỏng vấn, điều tra, nghiên cứu tài liệu ta cần xem lại và hoàn thiện tài liệu thu được, bao gồm
việc phân loại, sắp xếp, trích rút dữ liệu, tổng hợp…dữ liệu, làm cho nó trở nên đầy đủ, chính xác, cân đối,
gọn gàng dễ kiểm tra và dễ theo dõi. Phát hiện những chỗ thiếu để bổ sung, những chỗ sai không logic để
sửa đổi. Hoàn chỉnh biểu đồ chức năng phân cấp thu được. Quá trình này thường được lặp lại nhiều lần và
tiến hành song song với các hoạt động xác định yêu cầu.
Dự án Tiểu dự án: Lập đơn hàng Trang 3
Loại: phân tích hiện trạng Mô tả dữ liệu Số tt: 10
Ngày: 15/02/2005
Tên dữ liệu: Nhà cung cấp
Định nghĩa: Dùng để chỉ những người cung cấp hàng thường xuyên,
nó cho phép xàc định mỗi nhà cung cấp.
Cấu trúc và khuôn dạng Kiểu ký tự, gồm từ 30 đến 40 ký tự, một số chữ đầu hay
chữ viết tắt viết hoa
Loại hình Sơ cấp (dữ liệu gốc)
Số lượng 50 nhà cung cấp (mức tối đa)
Ví dụ: Công ty xuất nhập khẩu SUNITOMEX, viết tắt
SUNITOMEX
Tên nhà cung cấp thường có tên đầu đủ và tên viết tắt.
Đôi khi còn có tên bằng tiếng Anh, Đi theo tên còn có
những đặc trưng như: địa chỉ, điện thoại, fax, tài khoản
2.5. Bảng mô tả chi tiết tài liệu

Trong số các hoạt động đó thường bao gồm cả việc lập các bản mô tả chi tiết về công việc và dữ liệu
(bảng 2.5 và 2.6). Các dữ liệu đưa vào các bảng này thường được rút ra từ các báo cáo, chứng từ, tài liệu
và những kết quả từ phỏng vấn hay nghiên cứu tài liệu. Các bảng này là một hình thức làm tài liệu để lấy ý
kiến của người sử dụng.

Dự án Tiểu dự án: Lập đơn hàng Trang 5


Loại: Phân tích hiện trạng Mô tả công việc Số tt: 15
Ngày 15/12/2005
Công việc: lập đơn hàng
Điều kiện bắt đầu (kích hoạt):
- Tồn kho dưới mức qui định
- Đề nghị hấp dẫn của nhà cung cấp
- Có đề nghị cung ứng của khách hàng
- Đến ngày lập đơn hàng theo qui định quản lý
Thông tin đầu vào: thẻ kho, giấy đề nghị, danh sách nhà cung cấp, đơn chào hàng.
Kết quả đầu ra: một cú điện thoại đặt hàng hay một đơn đặt hàng được lập và gửi đi (có
bản mẫu kèm theo)
Nơi sử dụng; Nhà cung cấp, bộ phận tài vụ, lưu.
Tần suất: Tuỳ thuộc vào ngày trong tuần:
Thứ 2,7 Không xảy ra
Giáo trình Phân tích thiết Kế Hệ Thống 29

Thứ 3,5 10-15 lần


Thứ 4,6 0-5 lần
Thởi lượng: 10 phút/đơn hàng điện thoại, 60 phút/đơn viết
Quy tắc: Những đơn hàng trên hàng triệu phải được trưởng bộ phận thông qua (quản lý)
Số lượng đặt dưới mức quy định cho trước (Kỹ thuật)
Qui định một số người cụ thể lập đơn hàng (tổ chức)
Lời bình:
- đôi khi phải đặt hàng đột suất, chẳng hạn có dự báo về sự khan hiếm một số mặt
hàng trong thời gian tới
- Mức tồn kho tối thiểu chỉ tính cho một số mặt hàng và cách ước lượng của nó còn
mang tính chủ quan.
Bảng 2.6. Bảng mô tả chi tiết công việc

2.5.2. Tổng hợp kết quả khảo sát


Một tổ chức lớn, phức tạp thường không thể quan sát được tất cả các dữ liệu cùng một lúc. Khi tiến
hành xác định yêu cầu, người ta phải tiến hành từng nhóm, theo từng lĩnh vực để quan sát và thu thập
thông tin. Lúc nầy cần lắp ghép lại để có được một bức tranh tổng thể. Việc tổng hợp được tiến hành theo
hai loại:
- Tổng hợp theo các xử lý: Để thấy được tổng thể các xử lý diễn ra trong tổ chức.
- Tổng hợp theo các dữ liệu: Để kiểm tra sự đầy đủ và tính phù hợp, chặt chẽ của dữ liệu và mối quan hệ
giữa chúng.
a. Tổng hợp các xử lý
Mục tiêu của tổng hợp xử lý là làm rõ các thiếu sót và sự rời rạc của các yếu tố liên quan đến công việc
khi phỏng vấn. Sau đó trình bày tường minh để người sử dụng xem xét, đánh giá và hợp thức hóa, đảm bảo
sự chính xác của xử lý. (hình 2.7)
Việc tổng hợp có thể tổ chức theo các lĩnh vực hoạt động có sự gắn kết chặt chẽ với nhau. Thông
thường, sự gắn kết và phù hợp này dựa trên mục tiêu mà các hoạt động xử lý hướng tới hay các sản phẩm
mà chúng tạo ra.
STT Mô tả công việc Vị trí làm Tần suất Hồ sơ Hồ sơ ra
việc vào
T1 Lập đơn hàng: xuất phát từ yêu Quản lý kho 4-5 D1 D3
cầu cung ứng, thực đơn sản hàng đơn/ngày
xuất, báo giá, đơn hàng lập và 5-10 D2 D4
chuyển đi bằng điện thoại dòng/đơn
(80%), viết (20%), sắp các đơn
hàng vào sổ đặt để đối chiếu,
theo dõi.
T2 ….. …. …. …. ….
Bảng 2.7. Bảng tổng hợp công việc

b. Tổng hợp các dữ liệu


Mục tiêu của tổng hợp dữ liệu là liệt kê ra tất cả các dữ liệu có liên quan đến miền khảo sát của tổ chức
và sàng lọc để thu được những dữ liệu đầy đủ, chính xác và gắn cho tên gọi thích hợp mà mọi người tham
gia dự án đồng ý. Hai tài liệu không thể thiếu được là bảng tổng hợp các hồ sơ (bảng 2.8) và bảng từ điển
dữ liệu (bảng 2.9).

STT Tên – vai trò Công việc


liên quan
Giáo trình Phân tích thiết Kế Hệ Thống 30

D1 Phiếu vật tư: Ghi hàng hóa xuất hay nhập T1


D2 Sổ thực đơn: định mức hàng hóa làm một sản phẩm T1
D3 Đơn đặt hàng: ghi lượng hàng đặt gửi nhà cung cấp T1
D4 Sổ đặt hàng: Tập hợp các đơn hàng đã đặt T1, T2
D5 Phiếu giao hàng: ghi số lượng hàng của nhà cung cấp phát ra T1, T3
Di ….. …..
Bảng 2.8. Bảng tổng hợp hồ sơ, tài liệu

STT Tên gọi kiểu cỡ Khuông Lĩnh vực Quy tắc ràng
dạng buộc
1 Số hóa đơn Ký tự 8 kế toán chữ hoặc số
2 Tên hàng hóa Ký tự 20 kế toán chữ hoặc số
3 Ngày hóa đơn Ngày 8 dd-mm-yy kế toán
4 …. … .. .. .. ..
Bảng 2.9. Bảng tổng hợp từ điển dữ liệu

2.5.3. Hợp thức hóa kết quả khảo sát


Hợp thức hóa là việc hiểu và thể hiện các thông tin khảo sát ở các dạng khác nhau được những người
sử dụng và đại diện tổ chức chấp nhận là đúng đắn và đầy đủ. Mục tiêu của hợp thức hóa kết quả khảo sát
là nhằm đảm bảo sự chính xác hóa của thông tin và dữ liệu phản ánh yêu cầu thông tin của tổ chức và tính
pháp lý của nó để sử dụng sau này.
Việc hợp thức hóa bao gồm việc hoàn chỉnh và trình diễn những nội dung phỏng vấn để người được
phỏng vấn xem xét và cho ý kiến. Các bản tổng hợp các tài liệu được đệ trình để các nhà quản lý và lãnh
đạo đánh giá và đề xuất bổ sung. Sau đó các tài liệu được hoàn chỉnh và trình bày theo những khuôn mẫu
xác định để các nhóm và bộ phận quản lý phát triển hệ thống xem xét, thông qua và quyết định.

Câu hỏi cuối chương


1. Các đặc trưng của một tổ chức là gì?
2. Có mấy cách tiếp cận tổ chức? Nội dung của nó là gì?
3. Các bước thực hiện khảo sát là những bước nào?
4. Những thông tin gì cần thu thập trong giai đoạn khảo sát?
5. Những phương pháp truyền thống nào được sử dụng để thu thập yêu cầu? Trình bày nội dung tiến hành
và ưu nhược điểm của nó?
6. Trong các phương pháp truyền thống, phương pháp nào là chính? Phương pháp nào được sử dụng bổ
sung?
7. Những ưu điểm nổi bật của các phương pháp hiện đại để thu thập yêu cầu thông tin là gì? Những
phương pháp nào là thông dụng?
8. Trình bày nội dung các phương pháp để xác định yêu cầu thông tin? Điều kiện để sử dụng những
phương pháp này?
9. Các công cụ CASE hỗ trợ việc xác định nhu cầu như thế nào? Những công cụ CASE nào là thích hợp?
10. Mô tả phương pháp làm mẫu để xác định nhu cầu thông tin?
11. Những khái niệm gì được sử dụng trong quá trình khảo sát thu thập thông tin? Giải thích nội dung các
khái niệm đó?
12. Sau khảo sát cần làm những công việc gì? Cần có những tài liệu tổng hợp nào?

Bài tập
1. Lập một kế hoạch phỏng vấn một người làm công việc văn phòng ở một văn phòng một cơ quan mà
anh biết?
Giáo trình Phân tích thiết Kế Hệ Thống 31

2. Chuẩn bị một bảng hỏi với ít nhất 5 câu hỏi (bao gồm cả câu hỏi đóng và câu hỏi mở) đối với một cán
bộ văn phòng vừa nói ở trên và dụ kiến thời gian thực hiện mỗi câu hỏi?
3. Hãy thực hành việc hẹn gặp một người để phỏng vấn thông qua điện thoại?
4. Làm một bảng hỏi để điều tra ý kiến của những người trong tổ chức: ý kiến đó liên quan đến việc hiểu
biết về HTTT, thái độ đồng tình hay phản đối, về mong muốn gì đối với HTTT, về khả năng thành
công, về những khó khăn gặp phải?
5. Anh hãy xác định mục tiêu hay những khó khăn đang gặp phải của cơ quan anh (hay một tổ chức mà
anh hiểu biết về nó)? Thử nêu ra những yếu tố quyết định thành công cho việc đạt mục tiêu hay giải
quyết vấn đề? Liệt kê các đơn vị chức năng của tổ chức và lập ma trận yếu tố quyết định thành công -
chức năng để tìm ra những đơn vị chức năng của tổ chức cần được xem xét để phát triển HTTT ở đó?
----oOo----
Giáo trình Phân tích thiết Kế Hệ Thống 32

Chương 3 : MÔ HÌNH NGHIỆP VỤ CỦA HỆ THỐNG

3.1. Khái niệm về mô hình nghiệp vụ


Mô hình nghiệp vụ là một mô tả các chức năng nghiệp vụ của một tổ chức (hay một miền đựoc nghiên
cứu của tổ chức) và những mối quan hệ bên trong giữa các chức năng đó cũng như các mối quan hệ của
chúng với môi trường bên ngoài. Mô hình nghiệp vụ được thể hiện bằng một số dạng khác nhau. Mỗi một
dạng mô tả một khía cạnh của hoạt động nghiệp vụ. Tất cả các dạng đó cho ta một bức tranh toàn cảnh về
hoạt động nghiệp vụ.
3.2. Biểu đồ phân rã chức năng
Một trong những cách thể hiện của mô hình nghiệp vụ là biểu đồ phân rã chúc năng. Nó cho ta thấy
được các chức năng nghiệp vụ của tổ chức được phân chia thành các chức năng nhỏ hơn theo một thứ bậc
xác định.
3.2.1. Các khái niệm và ký pháp sử dụng
Chức năng nghiệp vụ được hiểu là tập hợp các công việc mà tổ chức cần thực hiện trong hoạt động của
nó. Khái niệm chức năng là khái niệm logic, tức là chỉ nói đến tên công việc cần làm và mối quan hệ phân
mức (mức gộp và chi tiết) giữa chúng mà không chỉ ra công việc được làm như thế nào, bằng cách nào, ở
đâu, khi nào và ai làm (là khái niệm vật lý)
Chức năng (hay công việc) được xem xét ở các mức độ từ tổng hợp đến chi tiết sắp theo thứ tự sau:
- Một lĩnh vực hoạt động (area of activities)
- Một hoạt động (activity)
- Một nhiệm vụ (task)
- Một hành động (action): thường do một người làm
Sự phân chia trên đây là tương đối, tùy thuộc vào phạm vi nghiệp vụ và từng trường hợp cụ thể mà
phân chia chức năng thành các mức gộp và chi tiết khác nhau. Ví dụ: Hoạt động du lịch là một lĩnh vực các
hoạt động về dịch vụ tham quan, lữ hành, ăn nghỉ. Kinh doanh khách sạn là một hoạt động của lĩnh vực du
lịch chuyên về các dịch vụ ăn uống và nhà nghỉ. Tiếp nhận khách trong khách sạn là một nhiệm vụ của
kinh doanh khách sạn. Cuối cùng thanh toán với khách là một hành động bao gồm việc lập hóa đơn thanh
toán và thu tiền của khách khi khách rời khỏi khách sạn.
Hai ký pháp sử dụng trong mô hình là :

- Hình chữ nhật có tên chức năng ở bên trong để mô tả một chức năng (hình 3.1a)
- Đường thẳng gấp khúc hình cây dùng để nối một chức năng ở mức trên và các chức năng ở mức dưới
được trực tiếp phân chia (phân rã) từ chức năng đó (hình 3.1b)
Hình 3.2 là một ví dụ về biểu đồ chức năng nghiệp vụ của một tổ chức kinh doanh bán buôn
Giáo trình Phân tích thiết Kế Hệ Thống 33

Hình 3.2. Biểu đồ chức năng nghiệp vụ dạng chuẩn

3.2.2. Ý nghĩa của mô hình


- Mô hình phân rã chức năng được xây dựng dần cùng quá trình khảo sát tổ chức từ trên xuống giúp
cho việc nắm hiểu tổ chức và định hướng cho hoạt động khảo sát tiếp theo.
- Nó cho phép xác định phạm vi các chức năng cần nghiên cứu hay miền cần nghiên cứu của tổ chức.
- Nó cho thấy vị trí của mỗi công việc trong toàn hệ thống, tránh sự trùng lặp, giúp phát hiện các chức
năng còn thiếu.
- Nó là một cơ sở để cấu trúc hệ thống chương trìng sau này.
3.2.3. Xây dựng mô hình
a. Nguyên tắc phân rã các chức năng
Trong quá trình tiếp cận một tổ chức theo phương pháp từ trên xuống, ta nhận được thông tin về các
chức năng từ mức gộp (do lãnh đạo cung cấp) đến mức chi tiết (do các bộ phận chức năng cung cấp). Cách
phân chia này phù hợp với sự phân công các chức năng công việc cho các bộ phận chức năng cũng như
cho các nhân viên của một tổ chức. Cách phân chia này thường theo nguyên tắc sau:
- Mỗi chức năng được phân rã phải là một bộ phận thực sự tham gia thực hiện chức năng đã phân rã ra
nó (tính thực chất)
- Việc thực hiện tất cả các chức năng ở mức dưới trực tiếp phải đảm bảo thực hiện được chức năng ở
mức trên đã phân rã ra chúng (tính đầy đủ)
Quy tắc này được sử dụng để phân rã một sơ đồ chức năng nhận được còn đang ở mức gộp. Quá trình
phân rã dần thường được tiếp tục cho đến khi ta nhận được một biểu đồ với các chức năng ở mức cuối mà
ta hoàn toàn nắm được nội dung thực hiện nó.
b. Bố trí, sắp xếp mô hình
- Không nên phân rã biểu đồ quá sáu mức
- Ở mỗi mức, các chức năng cùng mức sắp xếp trên cùng một hàng, cùng một dạng. Chẳng hạn, ở mức
cuối cùng của biểu đồ phân rã chức năng, các chức năng thuộc cùng một mức và có cùng một chúc
năng cha có thể sắp xếp theo hàng dọc (hình 3.3)
- Biểu đồ cần bố trí cân đối, rõ ràng để dễ kiểm tra, theo dõi.
c. Đặt tên chức năng
Mỗi chức năng có một tên duy nhất, các chức năng khác nhau tên phải khác nhau. Tên chức năng phải
là một mệnh đề động từ gồm một động từ và bổ ngữ. Ví dụ: chúc năng “lập đơn hàng”, “bảo trì kho”.
Động từ thể hiện hoạt động, bổ ngữ thường liên quan đến các thực thể dữ liệu trong miền nghiên cứu. Tên
chức năng cần phản ánh được nội dung công việc thực tế mà tổ chức thực hiện và người sử dụng quen
dùng nó. Ví dụ sau đây là mô hình mô tả một lĩnh vực hoạt động trong một tổ chức:
- Nhiệm vụ đặt ra: Nhận đơn hàng của khách và tổ chức gửi hàng cho khách
- Bộ phận trách nhiệm: Bộ phận bán hàng và quản lý kho (một lĩnh vực nghiệp vụ được khảo cứu của
tổ chức).
Biểu đồ chức năng nghiệp vụ của tổ chức là một mô hình dạng chuẩ được mô tả trên biểu đồ hình 3.3.
Giáo trình Phân tích thiết Kế Hệ Thống 34

Hình 3.3. Biểu đồ phân rã chúc năng nghiệp vụ


của bộ phận kinh doanh bán hàng.

d. Mô tả chi tiết chức năng lá


Đối với mỗi chức năng lá (mức thấp nhất) trong biểu đồ cần mô tả trình tự và cách thức tiến hành nó
bằng lời và có thể sử dụng biểu đồ hay một hình thức nào khác. Mô tả thường bao gồm các nội dung sau:
- Tên chức năng
- Các sự kiện kích hoạt (khi nào? Cái gì dẫn đến? điều kiện gì?)
- Quy trình thực hiện
- Yêu cầu giao diện cần thể hiện (nếu có)
- Dữ liệu vào (các hồ sơ sử dụng ban đầu)
- Công thức (thuật toán) tính toán sử dụng (nếu có)
- Dữ liệu ra (các báo cáo hay kiểm tra cần đưa ra)
- Quy tắc nghiệp vụ cần tuân thủ
Ví dụ: Mô tả chức năng lá “kiểm tra khách hàng” trong biểu đồ hình 3.3. “người ta mở sổ khách hàng
để xem có khách hàng nào như trong đơn hàng không (tên gọi, địa chỉ…). Nếu không có, đó là khách hàng
mới. Ngược lại là khách cũ thì cần tìm tên khách hàng trong sổ nợ, và xem khách có nợ không và nợ bao
nhiêu, có quá số nợ cho phép không và thời gian nợ có quá thời hạn hợp đồng không”

3.3. Hai dạng biểu diễn của biểu đồ phân rã chức năng
Mô hình phân rã chức năng nghiệp vụ có thể biểu diễn ở hai dạng: dạng chuẩn và dạng công ty.
3.3.1. Biểu đồ dạng chuẩn
Dạng chuẩn được sử dụng để mô tả các chức năng cho một miền khảo sát (hay một hệ thống nhỏ). Biểu
đồ dạng chuẩn là biểu đồ hình cây. Ở mức cao nhất chỉ gồm một chức năng, gọi là “chức năng gốc” hay
“chức năng đỉnh” (hình 3.3). Những chức năng ở mức dưới cùng (thấp nhất) gọi là “chức năng lá”.
3.3.2. Biểu đồ dạng công ty
Dạng nầy sử dụng để mô tả tổng thể toàn bộ chức năng của một tổ chức có quy mô lớn. Ở dạng công
ty, mô hình thường gồm ít nhất hai biểu đồ trở lên. Một “biểu đồ gộp” mô tả toàn bộ công ty với các chức
năng thuộc mức gộp (từ hai đến ba mức). Các biểu đồ còn lại là các “biểu đồ chi tiết” dạng chuẩn để chi
tiết mỗi chúc năng lá của biểu đồ gộp. Nó tương ứng với các chức năng mà mỗi bộ phận của tổ chức thực
hiện, tức là một miền được khảo cứu.
Khi bắt đầu khảo sát, ta có một chức năng nhiệm vụ bao trùm toàn tổ chức (có thể là mục tiêu chiến
lược) và chức năng gộp do các bộ phận của tổ chức thực hiện. Khi mô tả những chức năng này ta được một
biểu đồ mức gộp. Hình 3.4 là biểu đồ dạng công ty mức gộp có dạng bảng. Khi tổ chức có nhiều bộ phận
người ta sử dụng cách biểu diễn ở dạng này. Trong cách biểu diễn này, mỗi chức năng được mô tả trên một
dòng, và hai chức năng ở hai mức khác nhau được sắp ở những cột khác nhau phân biệt ở vị trí lề bên trái
của nó được sắp thụt vào (hình 3.4). Với cách biểu diễn này, ta có thể biểu diễn được số các chức năng ở
mỗi cấp không hạn chế.
1. Bộ phận kế hoạch
1.1. Lập kế hoạch chiến lược
1.2. Lập kế hoạch hàng năm
1.3. Lập kế hoạch tác nghiệp (quý, tháng).
1.4. Xét cấp phát vật tư, phụ tùng
2. Bộ phận tài chính
Giáo trình Phân tích thiết Kế Hệ Thống 35

2.1. Lập kế hoạch ngân sách


2.2. Quản lý thu chi
2.3. Quản lý thanh quyết toán
2.4. Hạch toán giá thành
2.5. Tổng hợp báo cáo
3. Bộ phận lao động tiền lương
3.1. Quản lý nhân sự
3.2. Đào tạo, kèm cặp
3.3. Bố trí cán bộ, nâng bậc, xếp lương
4. Bộ phận quản lý cơ điện
4.1. Lập kế hoạch trang bị sửa chữa
4.2. Theo dõi tình trạng cơ điện
4.3. Cung cấp giải pháp kỹ thuật
4.4. Tổ chức sửa chữa thay thế
5. Bộ phận quản lý công nghệ
5.1. Định dạng sản phẩm và chỉ tiêu chất lượng
5.2. Xây dựng và quản lý quá trình công nghệ
5.3. Nghiên cứu thử nghiệm công nghệ
6. Bộ phận quản lý chất lượng
6.1. Kiểm tra thực hiện quy trình
6.2. Kiểm tra chất lượng sản phẩm
6.3. An toàn lao động và vệ sinh công nghiệp
7. Bộ phận tiếp thị
7.1. Thu thập thông tin thị trường
7.2. Phân tích và đề xuất chính sách tiêu thụ
7.3. Xây dựng chiến lược sản phẩm
7.4. Tổ chức quảng cáo
8. Bộ phận tiêu thụ
8.1. Tổ chức ký kết hợp đồng
8.2. Tổ chức cung ứng sản phẩm
8.3. Quản lý kho thành phẩm
9. Bộ phận nguyên liệu
9.1. Tổ chức vùng nguyên liệu
9.2. Ký kết hợp đồng mua nguyên liệu
9.3. Quản lý kho nguyên liệu
Hình 3.4. Bảng mô tả hình dạng công ty

Trên thực tế, người ta sẽ không chi tiết hóa ngay tất cả các chức năng ở mức thấp nhất của biểu đồ. Thứ
nhất, đó là vịêc làm rất tốn kém. Thứ hai: Thật sự không cần thiết phải xây dựng HTTT cho mỗi bộ phận
chức năng của tổ chúc. Để chọn những bộ phận tiếp tục khảo sát và chi tiết hóa mô hình, người ta thường
phải nghiên cứu phạm vi miền nghiệp vụ của tổ chức liên quan đến hệ thống cần xây dựng. Dưới đây sẽ
trìng bày một số cách để làm việc đó.
3.3.3. Một cách xác định mô hình phân rã
Đối với một lĩnh vực hay một phạm vi nghiên cứu không lớn, đôi khi người ta có thể biết ngay được
mọi công việc chi tiết. Trong trường hợp này, việc xây dựng mô hình có thể theo hướng ngược lại từ dưới
lên. Bằng cách nhóm dần các chức năng nghiệp vụ chi tiết từ dưới lên trên theo từng nhóm một cách thích
hợp và gán cho nó những cái tên tương ứng, ta có được biểu đồ chức năng nghiệp vụ phân cấp của phạm vi
nghiên cứu. Bảng 3.1 cho ví dụ về cách làm này. Từ bảng 3.1 ta dễ dàng vẽ biểu đồ biểu diễn chức năng
nghiệp vụ của hoạt động trông gửi xe trong bãi (hỉnh 3.5)
Giáo trình Phân tích thiết Kế Hệ Thống 36

Các chức năng chi tiết (lá) Nhóm lần 1 Nhóm lần 2
1. Nhận dạng loại xe vào gởi
2. Kiểm tra chỗ trống trong bãi Nhận xe
3. Ghi vé cho khách vào bãi
4. Vào sổ gửi xe, cho xe vào
5. Kiểm tra vé lấy xe
6. Đối chiếu với xe Trả xe Trông gửi xe
7. Thanh toán tiền, cho xe ra Cho khách ở bãi
8. Ghi sổ xc ra
9. Kiểm tra sự cố trong sổ gửi
10. Kiểm tra sự cố khách yêu cầu Giải quyết
11. Lập biên bản sự cố sự cố
12. Giải quyết hay bồi thường
Bảng 3.1. Cách nhóm các chức năng theo phuơng pháp dưới lên.

Hình 3.5. Biểu đồ phân rã chức năng hoạt động trông gửi xe

3.4. Xác định phạm vi hệ thống


Khi phát triển một hệ thống thông tin, người ta thường sử dụng nhiều ma trận khác nhau phục vụ quá
trình phân tích và lựa chọn các yếu tố cần thiết cho việc xây dựng mô hình ở các bước tiếp theo của vòng
đời phát triển hệ thống. Dưới đây chỉ trình bày hai ma trận thường được sử dụng nhất là: ma trận yếu tố
quyết định thành công - chức năng và ma trận thực thể - chúc năng.
3.4.1. Ma trận yếu tố quyết định thành công và chức năng
Trong khi lập kế hoạch chiến lược phát triển HTTT, sau khi đã xác định được mục tiêu hay các vấn đề
mà tổ chức phải gặp phải, người ta thường phải xác định các yếu tố quyết định thành công. Đó là những
yếu tố có liên hệ với các hoạt động nghiệp vụ bên trong và bên ngoài mà có thể đo được và có ảnh hưởng
to lớn đến việc tổ chức có thể đạt được mục tiêu của nó hay không. Mức độ đạt được của các yếu tố quyết
định thành công phụ thuộc vào việc thực hiện các nhiệm vụ chức năng của tổ chức có liên quan đến nó. Vì
vậy, HTTT cần xây dụng hỗ trợ các nhiệm vụ chức năng này. Ma trận yếu tố quyết định thành công-chức
năng được xây dựng nhằm mục đích xác định cho được các nhiệm vụ chức năng có tầm quan trọng này.
Trong một tổ chức, các yếu tố quyết định sự thành công có thể gồm từ ba đến sáu yếu tố. Chẳng hạn,
trong một công ty máy tính nhỏ, các yếu tố quyết định sự thành công có thể là: sự đổi mới sản phẩm, sản
phẩm chất lượng cao và kiểm soát chặt chẽ được giá thành. Còn đối với một bệnh viện, các yếu tố đó là: sự
chăm sóc bệnh nhân chu đáo, kiểm soát được chi phí và thuê được những người làm việc có tay nghề cao
(các y, bác sĩ).
Ma trận yếu tố quyết định thành công-chức năng có các dòng là các chức năng gộp (hay bộ phận chức
năng), các cột là yếu tố quyết định sự thành công, ở mỗi ô tương giao giữa một chức năng và một yếu tố
thành công người ta để trống hay đánh dấu bằng chũ E (essential) hay chữ D (desirable) tùy thuộc vào việc
chức năng này có tác động quyết định hay chỉ ở mức nào đó đối với yếu tố quyết định thành công cột.
Sau khi đã xét tất cả các ô và đánh dấu được các ô tương ứng của ma trận, người ta chọn ra các dòng
chức năng chứa ô có chữ E đưa vào các lĩnh vực của tổ chức cần được xem xét để phát triển HTTT. bảng
3.2 mô tả một ma trận yếu tố quyết định thành công-chức năng đối với một nhà máy sản xuất thuốc lá. Từ
Giáo trình Phân tích thiết Kế Hệ Thống 37

ma trậ trên cho thấy, các bộ phận kế hoạch, tài chính, tiếp thị, tiêu thụ và nguyên liệu cần được lựa chọn
đưa vào phạm vi lĩnh vực nghiệp vụ cần xem xét để xây dựng HTTT.
Các yếu tố quyết định thành công
Các bộ phận chức năng Nguyên liệu Mở rộng Kiểm soát
đủ số lượng, thị trường chi phí,
đảm bảo về tiêu thụ không
chất lượng 10% tăng giá
1. Bộ phận kế hoạch E D
2. Bộ phận tài chánh D E
3. Bộ phận lao động tiền lương D D
4. Bộ phận quản lý cơ điện
5. Bộ phận quản lý công nghệ D
6. Bộ phận quản lý chất lượng D
7. Bộ phận tiếp thị E
8. Bộ phận tiêu thụ E
9. Bộ phận nguyên liệu E
10. Bộ phận hành chánh
11. Bộ phận bảo vệ an ninh
Bảng 3.2. Ma trận yếu tố quyết định thành công và chức năng

3.4.2. Ma trận thực thể-chức năng


Khi khảo sát, ta thu được các thực thể dữ liệu của rổ chức (xem bảng 3.3). Để tiếp tục, ta cần phải xem
xét những dữ liệu nào là thực sự cần thiết cho các chức năng của phạm vi đang nghiên cứu và các chức
năng nào là có tác động lên dữ liệu. Với mục đích trên, ta xây dựng ma trận thực thể-chức năng.
Ma trận thực thể-chức năng gồm các dòng và các cột:
Các thực thể
1. Kế hoạch chiến lược
2. Kế hoạch hàng năm
3. Kế hoạch điều hành
4. Phiếu xuất vật tư
5. Phiếu nguyên vật liệu
6. ….
7. Nguyên liệu
8. Hợp đồng mua nguyên liệu
…………………….
Các chức năng nghiệp vụ 1 2 3 4 5 6 7 8
1.1 Lập kế hoạch chiến lược C
1.2 Lập kế hoạch hàng năm C
1.3 Lập kế hoạch tác nghiệp C
1.4 Xép cấp phát vật tư phụ tùng C C
8.1 Tổ chức ký kết hợp đồng tiêu thụ
8.2 Tổ chức cung ứng sản phẩm
8.2 Quản lý kho thành phẩm
9.1 Tổ chức vùng nguyên liệu R
9.2 Ký kết hợp đồng mua nguyên liệu R C
…………………
Bảng 3.3. Một ma trận thực thể và chức năng

Mỗi cột ứng với một thực thể. Các thực thể là các hồ sơ và các tài liệu thu thập được trong quá trình
khảo sát. Mỗi dòng ứng với một chức năng. Các chức năng này thường là chức năng ở mức tương đối chi
Giáo trình Phân tích thiết Kế Hệ Thống 38

tiết, Nhưng không phải mức lá. Vì nếu sử dụng mức lá thì số chức năng là quá nhiều. Mặt khác, nếu sử
dụng các chức năng quá gộp thì khó nhận thấy được tác động của chức năng đến các thực thể, tức là khó
xác định được các ô tương ứng trong bảng cần đánh dấu.
Ở mỗi ô giao giữa một chức năng và một thực thể ta đánh dấu bằng chữ sau R, U hay C. Các chữ được
sử dụng như sau:
- Chữ R, nếu chức năng dòng đọc (Read) dữ liệu thể cột
- Chữ C, nếu chức năng dòng tạo (Create) mới dữ liệu trong thực thể cột.
- Chữ U, nếu chức năng dòng thực hiện việc cập nhật (sửa, xóa, thêm) dữ liệu trong thực thể cột.
Ma trận được mô tả như trong ví dụ bảng 3.3. Nó cho phép phát hiện những thực thể hay chức năng cô
lập:
- Nếu một dòng ứng với một chức năng không chứa một ô nào được đánh dấu, thì chức năng đó hoặc
không phải là một tiến trình thông tin (không có tác động lên dữ liệu), hoặc đánh dấu sót, hoặc khảo sát đã
bỏ sót thực thể dữ liệu.
- Nếu một cột nào không chứa một ô được đánh dấu thì hoặc là khảo sát thiếu chức năng, hoặc đánh
dấu sót, hoặc thực thể là không cần thu thập và có thể bỏ đi.
Những phát hiện trên đây cho phép ta xem xét, bổ sung những khiếm khuyết trong khảo sát, loại bỏ
những chức năng hay thực thể thừa (ứng với dòng hay cột cô lập) của miền khảo sát. Trong một số trường
hợp có thể phải phân rã chức năng nhỏ hơn để tìm ra mối quan hệ của chức năng và thực thể.
Ma trận nhận được cuối cùng cho ta biết mối quan hệ giữa các chức năng được xét và các hồ sơ dữ liệu
còn được giữ lại: mỗi chức năng có tác động lên những hồ sơ nào, theo cách thức nào (đọc, cập nhật hay
tạo ra nó). Ma trãn thực thể-chức năng sau khi đã bỏ đi các dòng và các cột không được đánh dấu sẽ sử
dụng như một dạng mô tả trong mô hình nghiệp vụ. Nó là một đầu vào để xác định các luồng dữ liệu trong
biểu đồ luồng dữ liệu.

3.5. Ví dụ
A. Mô tả bài toán
Một bãi trông gửi xe có 2 cổng: Một cỏng xe vào, một cổng xe ra. Người ta chia bãi thành 4 khu dành
cho 4 loại xe khác nhau : Xe máy, xe buýt, xe tải và công-ten-nơ. Khi khách đến gửi xe, người coi xe nhận
dạng xe theo bảng phân loại, sau đó kiểm tra chỗ trống trong bãi. Nếu chỗ dành cho loại xe đó đã hết thì
thông báo cho khách. Ngược lại thì ghi vé đưa cho khách và hướng dẫn xe vào bãi, đồng thời ghi những
thông tin trên vé vào sổ xe vào.
Khi khách lấy xe, người coi xe kiểm tra vé xem vé là thật hay giả, đối chiếu vé với xe. Nếu vé giả hay
không đúng xe thì không cho nhận xe. Ngược lại thì viết phiếu thanh toán và thu tiền của khách, đồng
thời ghi các thông tin cần thiết vào sổ xe ra.
Khi khách đến báo cáo có sự cố thì kiểm tra xe trong sổ xe vào và sổ xe ra để xác minh xe có gửi hay
không và đã lấy ra chưa. Nếu không đúng như vậy thì không giải quyết. Trong trường hợp ngược lại tiến
hành kiểm tra xe ở hiện trường. Nếu đúng như sự việc xảy ra thì tiến hành lập biên bản giải quyết và trong
trường hợp cần thiết thì viết phiếu chi bồi thường cho khách. Các bảng dữ liệu khảo sát thu được bao gồm:
a. Bảng giá (và phân loại)
Loại xe Đơn giá/ngày đêm Khu Số chỗ
Xe máy 3.00đ A 200
Xe buýt 15.000đ B 100
Xe tải 20.000d C 100
Công ten nơ 30.000đ D 10

b. Phiếu thanh toán


Số: xxx
Số xe: ………….. Loại xe: ……………
Ngày giờ vào: ……………… Ngày giờ ra: ………….
Thời gian gửi: …………. Thành tiền: ………….
Giáo trình Phân tích thiết Kế Hệ Thống 39

c. Sổ ghi xe vào
Ngày Số vé Số xe Loại xe Giờ vào Ghi chú

d. Sổ ghi xe ra
Ngày Số vé Số xe Loại xe Giờ ra Thời gian gởi Thành tiền

e. Các thông tin trên vé được ghi lại vào sổ xe vào

Hãy xây dựng mô hình nghiệp vụ của hệ thống thể hiện qua các thể hiện có thể xây dựng được?

B. Bài giải
Trước hết ta lập một bảng phân tích trên cơ sở những mô tả của bài toán nhận được. Bảng này sẽ giúp
tìm ra các nhân tố để xây dựng lên các thể hiện của mô hình nghiệp vụ:
Động từ + bổ ngữ Danh từ Nhận xét
Nhận dạng xe Bãi xe =
Kiểm tra chỗ trống cổng =
Thông báo cho khách Khu =
Ghi vé cho khách loại xe =
Ghi thông tin vé vào sổ Khách (tác nhân)
kiểm tra vé xe người coi xe (tác nhân)
đối chiếu vé với xe bảng phân loại xe hồ sơ DL
viết, thu phiếu thanh toàn, tiền chỗ trống =
Ghi sổ xe ra Vé Hồ sơ DL
kiểm tra xe trong sổ sổ xe vào hồ sơ DL
kiểm tra xe ở hiện trường sổ xe ra hồ sơ DL
lập biên bản Biên bản hồ sơ DL
viết phiếu chi phiếu chi hồ sơ DL
Bảng 3.4. Bảng phân tích

Từ cột cuối cùng của bảng phân tích, ta rút ra được hai đối tượng có thể là tác nhân: Đó là khách hàng
và người coi xe. Khi phân tích dựa vào bảng mô tả và định nghĩa, ta chỉ còn một tác nhân duy nhất là
KHÁCH và xác định được các luồng thông tin tương tác giữa KHÁCH và hẽ thống. Từ đó vẽ được biểu đồ
ngữ cảnh ở hình 3.7.
Từ cột 1 của bảng phân tích, ta rút ra được các chức năng chi tiết xây dựng được biểu đồ phân rã cho
trong hình 3.5. Từ các mô tả và các dữ liệu đã cho, ta lập và xây dựng được danh sách các hồ sơ (bảng 3.5)
và ma trận thực thể chức năng (hình 3.8)
a. Bảng giá (và phân loại xe)
b. Vé xe
c. sổ xe vào
d. sổ xe ra
Giáo trình Phân tích thiết Kế Hệ Thống 40

e. Phiếu thanh toán


f. Biên bản sự cố
Bảng 3.5. Danh sách các hồ sơ dữ liệu sử dụng

Hình 3.7. Biểu đồ ngữ cảnh của hệ thống


Các thực thể
1. Bảng giá (phân loại xe)
2. Vé xe
3. Sổ xe vào
4. Sổ xe ra
5. Phiếu thanh toán
6. Biên bản sự cố
7. Phiếu chi bồi thường
Các chức năng nghiệp vụ 1 2 3 4 5 6 7
a. Nhận xe R C C
b. Trả xe R C C
c. Giải quyết sự cố R R C C
Hình 3.8. Ma trận thực thể-chức năng

Các mô tả nghiệp vụ ở trên cho ta hiểu biết và hình dung một cách đầy đủ, chính xác hơn về hoạt động
nghiệp vụ của bãi trông gửi xe và cho những cơ sở phân tích ban đầu giúp ta xác định được yêu cầu của hệ
thống trong các phần tiếp theo.

Câu hỏi cuối chương


1. Mô hình nghiệp vụ của tổ chức là gì? Những công cụ nào được sử dụng để mô tả mô hình nghiệp vụ.
Các dạng thể hiện mô tả mô hình nghiệp vụ là những dạng nào?
2. Những khái niệm và ký pháp nào được sử dụng trong biểu đồ phân rã chức năng? Định nghĩa và giải
thích từng khái niệm?
3. Nêu các nguyên tắc phân rã một chức năng? Nội dung mô tả một chức năng lá? Cách bố trí, sắp xếp
chức năng trong biểu đồ?
4. Vai trò và ý nghĩa của biểu đồ phân rã chức năng?
5. Có mấy dạng của biểu đồ phân rã chức năng dùng để mô tả mô hình nghiệp vụ? Mỗi dạng được sử
dụng trong trường hợp nào?
6. Hai cách hình thành biểu đồ phân rã chức năng dựa trên cách tiếp cận nào? Khi nào sử dụng mỗi cách
đó?
7. Có những loại ma trận phân tích nào?
8. Trình bày nội dung của mỗi loại ma trận? Ý nghĩa và vai trò của nó? Mỗi ma trận được sử dụng ở giai
đoạn nào của quá trình phân tích?

Bài tập
Giáo trình Phân tích thiết Kế Hệ Thống 41

1. Quan sát thủ thư một thư viện xem làm những gì để phục vụ bạn đọc? Hãy lập biểu đồ phân rã chức
năng mô tả các hoạt động của họ?
2. Khi mượn sách anh và người thủ thư đã sử dụng những hồ sơ gì? Lập ma trận thực thể-chức năng để
phân tích?
3. Một cơ sở bán buôn có một kho hàng. Bộ phận mua hàng lập đơn mua hàng dựa trên báo giá để đặt
hàng với nhà cung cấp, sau đó theo dõi hàng về. Nếu nhận được hóa đơn giao hàng thì viết phiếu nhập
kho để nhập hàng vào kho và viết sec chuyển khoản qua ngân hàng để thanh toán với nhà cung cấp. Bộ
phận bán hàng nhận đơn đặt hàng của khách, viết phiếu xuất kho để xuất hàng cho khách và viết phiếu
thu để thu tiền của khách hàng. Bộ phận bán hàng phải thường xuyên theo dõi nợ của khách. Nếu
khách nợ quá hạn thì gửi giấy nhắc thanh toán nợ.
Hãy lập mô hình nghiệp vụ cho bài toán?
----oOo---
Giáo trình Phân tích thiết Kế Hệ Thống 42

Chương 4 : MÔ HÌNH HÓA QUÁ TRÌNH XỬ LÝ

4.1. Mô hình hóa tiến trình nghiệp vụ


Mô hình hóa tiến trình nghiệp vụ (modeling business process) là sự biểu diễn đồ thị các chức năng
của quá trình để thu thập, thao tác, lưu trữ và phân phối dữ liệu giữa các bộ phận trong hệ thống nghiệp
vụ cũng như giữa hệ thống và môi trường của nó.
Trong phương pháp phân tích HTTT hướng cấu trúc, các tài liệu đầu tiên của quá trình mô hình hóa
quá trình nghiệp vụ là tập hợp các biểu đồ luồng dữ liệu biểu diễn mối liên hệ thông tin bên trong một hệ
thống cũng như giữa hệ thống với môi trường của nó theo một số góc nhìn nhận khác nhau. Các biểu đồ đó
là:
Biểu đồ ngữ cảnh: cho phạm vi hệ thống và môi trường của nó.
Biểu đồ luồng dữ liệu vật lý của hệ thống hiện thời mô tả hệ thống hiện thời, chỉ ra các cái vào, cái ra
của nó và các công cụ, phương tiện đang được sử dụng để thực hiện các chức năng.
Biểu đồ luồng dữ liệu logic của hệ thống hiện thời chỉ ra các chức năng xử lý dữ liệu và các dữ liệu
được thực hiện trong hệ thống hiện thời và bỏ qua những yếu tố vật chất (con người và các phương tiện vật
chất) để thực hiện chúng.
Biểu đồ luồng dữ liệu logic cho hệ thống mới biểu diễn các chức năng xử lý dữ liệu và các dữ liệu
trong hệ thống mới mà chưa tính đến phương tiện vật chất để thực hiện chúng.
Biểu đồ luồng dữ liệu vật lý của hệ thống cần xây dựng là sản phẩm thiết kế cần xây dựng cho hệ thống
mới.
Trong trường hợp sử dụng các công cụ CASE để xây dựng các biểu đồ trên đây, tất cả các đối tượng và
cấu trúc của các biểu đồ được đưa vào từ điển dự án (project dictionary) hay kho dữ liệu của CASE (CASE
repository).

4.2. Biểu đồ luồng dữ liệu


Các biểu đồ mô tả mô hình nghiệp vụ quá trình xử lý trên đậy dựa trên cơ sở của mô hình có tên là biểu
đồ luồng dữ liệu.
4.2.1. Định nghĩa và ký pháp
Có hai loại ký pháp chuẩn được dùng để biểu diễn biểu đồ luồng dữ liệu, và cả hai loại đều sử dụng
bốn ký pháp để biểu diễn cùng một số sự vật, đó là: luồng dữ liệu, kho dữ liệu, tiến trình và tác nhân.
Những ký pháp được dùng trong tài liệu này là của Gane và Sarson (1979) (loại khác là của Demarco và
Yourdon-1979)
Luồng dữ liệu (data flow) là các dữ liệu di chuyển từ một vị trí này đến một vị trí khác trong hệ thống
trên một vật mang nào đó.
Một luồng dữ liệu có thể biểu diễn trên một vật mạng như đơn hàng của khách hay tờ sec trả lương. Nó
cũng có thể là một kết quả truy vấn nhận được từ một cơ sở dữ liệu được truyền trên mạng, hay những dữ
liệu được cập nhật vào máy tính, được hiện ra màn hình hay in ra máy in. Như vậy, luồng dữ liệu có thể
bao gồm nhiều mảng dữ liệu riêng biệt được sinh ra ở cùng một thời gian và di chuyển đến cùng một đích.
Trong biểu đồ luồng dữ liệu vật lý, luồng dữ liệu là các dữ liệu được lưu trên mạng vật lý, và vì thế tên
luồng dữ liệu được chọn là tên của chính vật mang như: đơn hàng, giấy báo giá, hợp đồng cung ứng, hóa
đơn bán hàng…
Luồng dữ liệu được ký hiệu bằng mũi tên có chiều chỉ hướng dữ liệu di chuyển và tên của dữ liệu được
ghi ở trên nó (hình 4.1). Tên dữ liệu phải là một mệnh đề danh từ và phải thể hiện được sự tổnh hợp của
các phần tử dữ liệu riêng biệt chứa trong đó.
Kho dữ liệu (data store) là các dữ liệu được lưu giữ tại một vị trí. Một kho dữ liệu có thể biểu diễn các
dữ liệu được lưu trữ ở nhiều vị trí không gian khác nhau (các thư mục khác nhau, các máy tính khác nhau,
một cặp hồ sơ cùng loại,…). Một kho dữ liệu có thể chứa dữ liệu về khách hàng, sinh viên, đơn hàng, hóa
đơn bán hàng..
Hình chữ nhật khuyết một cạnh (bên phải hay bên trái) được dùng để biểu diễn một kho dữ liệu. Sát
cạnh trái (phải) của hình chữ nhật có một ô dùng để ghi số hiệu kho dữ liệu, bên trong hình chữ nhật ghi
Giáo trình Phân tích thiết Kế Hệ Thống 43

tên kho dữ liệu (hình 4.1). Tên kho dữ liệu phải là một mệnh đề danh từ, ví dụ: “đơn hàng”, “hóa đơn bán
hàng”…

Hình 4.1. Các ký pháp của biểu đồ luồng dữ liệu

Tiến trình (process) là một hay một số công việc hoặc hành động có tác động lên các dữ liệu làm cho
chúng di chuyển, thay đổi, được lưu trữ hay phân phối.
Quá trình xử lý dữ liệu trong một hệ thống thường gồm nhiều tiến trình khác nhau và mỗi tiến trình
thực hiện một phần chức năng nghiệp vụ nào đó. Tiến trình có thể được xem xét là vật lý nếu có chỉ ra con
người hay phương tiện thực thi chức năng đó. Trong trường hợp ngược lại ta có một tiến trìng logic.
Hình chữ nhật góc tròn được dùng để ký hiệu một tiến trình. Một đường gạch ngang phía trên chia
hình chũ nhật làm hai phần: phần trên ghi số hiệu của tiến trình, phần dưới ghi tên tiến trình (hình 4.1). Tên
tiến trình phải là một mệnh đề động từ gồm động từ và bổ ngữ, ví dụ: “tính lương”, “lập đơn hàng”. . .
Trong biểu đồ luồng dữ liệu vật lý, tên tiến trình có thể là tên chức năng của bộ phận thực hiện tiến trình
đó. Ngoài ra, người ta còn thêm vào phần thứ ba ở phía dưới tên để ghi tên người, bộ phận hay phương tiện
thực hiện tiến trình đó.
Tác nhân (actor) của một phạm vi hệ thống được nghiên cứu có thể là một người, nhóm người, một bộ
phận, một tổ chức hay một hệ thống khác nằm ngoài phạm vi này và có tương tác với nó về mặt thông tin
(nhận hay gửi dữ liệu). Có thể nhận biết tác nhân là nơi xuất phát (nguồn), hay nơi đến (đích) của dữ liệu
từ phạm vi hệ thống được xem xét.
Hình chữ nhật được sử dụng để ký hiệu một tác nhân, bên trong nó ghi tên tác nhân (hình 4.1). tên tác
nhân phải là một danh từ như “khách hàng”, “nhà cung cấp”,…
4.2.2. Một số quy tắc vẽ biểu đồ luồng dữ liệu
Vẽ biểu đồ luồng dữ liệu cần tuân theo các quy tắc sau:
- Các “cái vào” của một tiến trình cần khác với “cái ra” của nó. Nguyên tắc này nhấn mạnh rằng, các
dữ liệu đã qua một tiến trình phải có thay đổi. Ngược lại, tiến trình là không cần thiết vì không tác động gì
đến các luồng thông tin đi qua nó.
- Các đối tượng trong một biểu đồ luồng dữ liệu phải có tên duy nhất: Mỗi tiến trình phải có tên duy
nhất. Tuy nhiên một số tác nhân ngoài và kho dữ liệu có thể được vẽ lặp lại.
- Các luồng dữ liệu đi vào một tiến trình phải đủ để tạo thành các luồng dữ liệu đi ra.
Tiến trình:
- Không một tiến trình nào chỉ có cái ra mà không có cái vào.. Đối tượng chỉ có cái ra thì chỉ có thể là
tác nhân (nguồn)
- Không một tiến trình nào chỉ có cái vào. Một đối tượng chỉ có cái vào chỉ có thể là tác nhân (đích)
Kho dữ liệu
- Không có luồng dữ liệu từ một kho đến một kho dữ liệu khác.
- Dữ liệu không thể di chuyển trực tiếp từ một tác nhân đến một kho dữ liệu và ngược lại.
Tác nhân
- Dữ liệu không thể di chuyển trực tiếp từ một tác nhân đến một tác nhân.
Luồng dữ liệu
Giáo trình Phân tích thiết Kế Hệ Thống 44

- Một luồng dữ liệu không thể quay lại nơi mà nó vừa đi khỏi.
- Một luồng dữ liệu đi vào một kho có nghĩa là kho dữ liệu được cập nhật, một luồng dữ liệu đi ra khỏi
một kho có nghĩa là kho dữ liệu được đọc.
4.2.3. Phân rã biểu đồ luồng dữ liệu
a. Định nghĩa
Quá trình phân nhỏ mỗi tiến trình của một biểu đồ luồng dữ liệu thành một biểu đồ luồng dữ liệu mới
(nếu có thể) gọi là phân rã biểu đồ luồng dữ liệu đã cho.
Xét ví dụ cho ở hình 4.2. Tiến trình đầu tiên 1.0 là nhận và xử lý đơn hàng đặt bữa ăn. Nó chuyển yêu
cầu của khách thành bốn đầu ra khác nhau. Như vậy, tiến trình 1.0 là đối tượng để phân rã. Giả sử có năm
chức năng sau đây mà tiến trình 1.0 phải thực hiện là: (1)nhận yêu cầu của khách hàng, (2) chuyển yêu cầu
thành thực đơn các món ăn để nhà bếp chế biến, (3) Chuyển yêu cầu thành hóa đơn thanh toán với khách
hàng, (4) chuyển yêu cầu thành danh sách món ăn đã bán để vào sổ, (5) chuyển yêu cầu thành danh mục
thực phẩm cần sử dụng để gửi cho kho. Như vậy, ta có thể biểu diễn sự phân rã tiến trình 1.0 như một biểu
đồ luồng dữ liệu mới với năm tiến trình tương ứng với các chức năng nêu trên (hình 4.3).
Hóa đơn thu 1

Nhận và
Khách hàng xử lý Thực đơn Nhà bếp
đơn hàng
Đơn hàng

2 Món ăn Thực phẩm 3


bán cần
Cập nhật
Cập nhật
Thực phẩm
món ăn bán
sử dụng

D1 Món ăn đã bán D1 Thẻ kho thực phẩm

Hình 4.2. Một phần của biệu đồ luồng dữ liệu hệ thống đặt bữa ăn

Chú ý rằng, năm tiến trình mới được đánh số như những tiến trình con của tiến trình 1.0 là: tiến trình
1.1, tiến trình 1.2,…… Mỗi tiến trình này và các luồng dữ liệu đều có tên của nó. Biểu đồ luồng dữ liệu ở
hình 4.3 gọi là biểu đồ luồng dữ liệu ở mức dưới của biểu đồ chứa tiến trình 1.0. Nếu biểu đồ luồng dữ liệu
chứa tiến trình 1.0 là mức 0 thì biểu đồ luồng dữ liệu hình 4.3 gọi là mức 1.
Giáo trình Phân tích thiết Kế Hệ Thống 45

1.1 1.3
Đơn hàng
Đơn hàng Nhận đơn Chuyển thành Thực đơn
liên 1
hàng món ăn

Đơn hàng Đơn hàng


liên 4 liên 3 Đơn hàng
Liên 2
1.2 1.4 1.5

Lập bảng kê Bảng kê


Lập hóa đơn Lập bảng món Thực phẩm
thực phẩm sử
thanh toán ăn đã bán
dụng

Bảng kê hàng bán


Hóa đơn

Hình 4.3. Biểu đồ nhận được khi phân rã tiến trình 1.0

b. Đảm bảo sự cân bằng giữa hai mức kề nhau


Khi phân rã một tiến trình của một biểu đồ luồng thành một biểu đồ ở mức sau thì mọi luồng dữ liệu
vào và ra, các tác nhân ngoài và kho dữ liệu liên quan với nó phải được bảo toàn (giữ nguyên) trong biểu
đồ ở mức sau. Chẳng hạn, mọi cái vào và cái ra của tiến trình 1.0 trong biểu đồ hình 4.2 đều có mặt trong
biểu đồ luồng dữ liệu hình 4.3 ở mức tiếp theo.
Một luồng dữ liệu trên một biểu đồ mức n bao gồm một số luồng con có thể tách ra thành các luồng dữ
liệu thành phần trong biểu đồ mức n+1 sao cho mỗi tiến trình nhận luồng dữ liệu thành phần được phân rã
là một cái vào của nó (hình 4.4a, 4.4b). Các biểu đồ trên hình 4.4 (a, b) là cân bằng vì các luồng dữ liệu
đều có mặt trong biểu đồ ở cả hai mức. Hai nguyên tắc sau được áp dụng để đảm bảo sự cân bằng và biểu
đồ được vẽ đơn giản hơn.

Hình 4.4. Ví dụ phân rã luồng dữ liệu phúc hợp


- Một luồng dữ liệu phức hợp có thể chia nhỏ thành các luồng dữ liệu thành phần ở mức sau sao cho
vẫn giữ nguyên số lượng các luồng dữ liệu đã có trong luồng phức hợp
- Cho phép lặp lại một kho dữ liệu hay một tác nhân ở một vài vị trí.
Tại mức thấp nhất của biểu đồ luồng dữ liệu có thể thêm các luồng dữ liệu mới để biểu diễn những dữ
liệu điều khiển được bổ sung: đó là các thông báo lỗi hay một điều khẳng định nào đó. Luồng dữ liệu
bổ sung được biểu diễn bằng mũi tên đứt nét (hình 4.5)
Giáo trình Phân tích thiết Kế Hệ Thống 46

Hình 4.5. Biểu độ có luồng dữ liệu bổ sung

c. Biểu đồ luồng dữ liệu sơ cấp


Quá trình phân rã luồng dữ liệu sẽ dừng lại khi đạt đến biểu đồ mức thấp nhất - gọi là biểu đồ luồng dữ
liệu sơ cấp. Những quy tắc sau đây là những gợi ý để dừng quá trình phân rã:
- Khi một tiến trình là một quyết định hay một tính toán đơn giản, một thao tác dữ liệu như đọc, cập nhật,
tạo, ghi, xoá.
- Khi người dùng hệ thống nhận ra được mọi công việc hoặc nhà phân tích đã lập được tài liệu chi tiết để
thực hiện các nhiệm vụ phát triển hệ thống một cách tuần tự.
- Khi mỗi luồng dữ liệu không cần chia nhỏ hơn để chỉ ra rằng các dữ liệu khác nhau đều đã được quản
lý.
- Khi đã chỉ ra được mỗi nhiệm vụ nghiệp vụ, hoặc một giao dịch, thông tin hiển thị và báo cáo là những
luồng dữ liệu đơn, hay những tiến trình tách biệt ứng với mỗi lựa chọn trên thực đơn mức thấp nhất của hệ
thống.
Biểu đồ luồng dữ liệu sơ cấp giúp ta dễ dàng kiểm tra được tính nhất quán với các tài liệu tạo ra từ các
cách xác định yêu cầu khác và cũng giúp ta dễ dàng chuyển nó sang thiết kế ở bước tiếp theo.
Chú ý: Khi phân rã biểu đồ luồng dữ liệu, nếu đã xây dựng được biểu đồ phân rã chức năng (trong mô
hình nghiệp vụ) thì có thể lấy mỗi chức năng tương ứng của nó làm một tiến trình ở biểu đồ luồng dữ liệu
có mức tương đương.

4.4. Phát triển các biểu đồ luồng dữ liệu của một ứng dụng
Xây dựng mô hình mô tả các quá trình nghiệp vụ xử lý thông tin bao gồm việc xây dựng một loạt các
biểu đồ luồng dữ liệu khác nhau. Mỗi biểu đồ luồng dữ liệu cho ta một cách nhìn nhận quá trình nghiệp vụ
theo một góc độ nhất định: theo cách nhìn vật lý hay logic, hoặc theo cách nhìn ở mức gộp hay chi tiết.
4.4.1. Các loại biểu đồ luồng dữ liệu khác nhau
Thường có năm loại biểu đồ luồng dữ liệu khác nhau được sử dụng trong quá trình phát triển hệ thống.
Đó là các biểu đồ sau:
- Biểu đồ ngữ cảnh
- Biểu đồ luồng dữ liệu vật lý của hệ thống hiện thời
- Biểu đồ luồng dữ liệu logic của hệ thống hiện thời
- Biểu đồ luồng dữ liệu logic cho hệ thống mới
- Biểu đồ luồng dữ liệu vật lý cho hệ thống mới
Trong biểu đồ luồng dữ liệu của hệ thống hiện thời, phần thú ba trong mỗi tiến trình có thể ghi tên
người hay tên của phương tiện thực hiện tiến trình đó, tức là tên của “công nghệ” được sử dụng để xử lý dữ
liệu. Ví dụ, trong tiến trình nhận đơn hàng, có thể thêm vào một dòng chỉ người thực hiện là “nhân viên
bán hàng”. Việc xây dựng mô hình vật lý (luồng dữ liệu vật lý) của hệ thống hiện tại giúp ta nắm, hiểu
được hệ thống nghiệp vụ của tổ chức. Nhờ vậy mà đặc tả yêu cầu của nó chính xác hơn.
Để mô hình hóa logic của hệ thống hiện thời, ta chỉ cần bỏ đi các đối tượng vật lý của biểu luồng dữ
liệu vật lý hiện thời và chỉ giữ lại những gì là phần cốt yếu (logic) của hệ thống, đó là các dữ liệu, các xử lý
Giáo trình Phân tích thiết Kế Hệ Thống 47

và các mối quan hệ bản chất giữ chúng. Vì các mối quan hệ logic ở đây (thể hiện qua các luồng dữ liệu)
không phụ thuộc vào bất kỳ yếu tố vật lý nào, do đó ta có thể xem xét sắp đặt lại nó một cách hợp lý, chỉ
cần đảm bảo các “logic nghiệp vụ”.
Mô hình logic của hệ thống mới nhận được bằng cách bổ sung thêm vào biểu đồ luồng dữ liệu logic của
hệ thống hiện tại những yếu tố cần thiết để đáp ứng mọi yêu cầu xử lý thông tin đã được xác định cho hệ
thống mới. Biểu đồ luồng dữ liệu của hệ thống mới có thể giống biểu đồ luồng dữ liệu logic của hệ thống
hiện thời nếu không có yêu cầu mới được đặt ra. Thông thường nó được bổ sung các chức năng mới, các
dữ liệu mới cùng các mối quan hẽ phát sinh và bỏ đi những gì đã trở nên không cần thiết.
Cuối cùng, biểu đồ luồng dữ liệu cho hệ thống mới (còn gọi là biểu đồ luồng hệ thống) sẽ biểu diễn hệ
thống vật lý cần triển khai cho hệ thống mới. Nó phản ánh quyết định của các nhà phân tích và thiết kế về
phương tiện vật lý được lựa chọn áp dụng cho hệ thống mới.
4.4.2. Biểu đồ ngữ cảnh của hệ thống
Biểu đồ ngữ cảnh biểu diễn hệ thống ở mức cao nhất. Trong biểu đồ này chỉ gồm ba loại thành phần:
- Một tiến trình duy nhất mô tả toàn hệ thống, trong đó có tên hệ thống và có chỉ số là 0.
- Các tác nhân ( môi trường của hệ thống).
- Các luồng dữ liệu giữa các tác nhân và hệ thống mô tả sự tương tác giữa hệ thống và môi trường.
Biểu đồ ngữ cảnh cho ta một cái nhìn khái quát về hệ thống trong môi trường của nó. Trên thực tế, môi
trường của một hệ thống bất kỳ rất đa dạng và phong phú. Tuy nhiên, ở đây ta chỉ quan tâm đến các yếu tố
của môi trường có ảnh huởng đáng kể lên hệ thống: đó là những tác nhân có tương tác với hệ thống về mặt
thông tin, tức là có gửi và nhận thông tin, dữ liệu từ hệ thống. Cá tác nhân của hệ thống cần phải xác đụnh
đầy đủ. Sự thiếu các tác nhân sẽ là nguyên nhân làm cho hệ thống được xây dựng không có khả năng hoạt
động tốt trên thực tế (trong môi trường thực). Biểu đồ ngữ cảnh ở hình 4.6 có một tiến trình duy nhất là
“Hệ thống đặt bữa ăn”, bốn luồng dữ liệu và ba tác nhân.
Hóa đơn thu tiền
0

Khách hàng Hệ thống Thực đơn Nhà bếp


đặt bữa ăn
Đơn hàng

Bảng
Thông số
báo cáo

Nhà quản lý

Hình 4.6. Biểu đồ ngữ cảnh hệ thống đặt bữa ăn.

4.4.3. Biểu đồ luồng dữ liệu mức 0


Việc phát triển các mô hình biểu diễn quá trình nghiệp vụ của tổ chức được bắt đầu từ biểu đồ ngữ
cảnh. Vận phương pháp và nguyên tắc phân rã biểu đồ luồng dữ liệu ở trên, ta tiến hành phân rã (làm mịn)
biểu đồ ngữ cảnh để nhận được biểu đồ luồng dữ liệu mức 0 (hình 4.7).
a. Ví dụ
Trong hình 4.7, tiến trình “0” ở biểu đồ ngữ cảnh hình 4.6 được phân rã thành bốn tiến trình con. Nó
cho ta một hình ảnh chi tiết hơn về hệ thống mà chúng đang nghiên cứu. Các tiến trình này biểu diễn bốn
chức năng chính của hệ thống ở mức 0 - đầu tiên.
Trước hết, đơn đặt hàng được khách gửi đến. Ở tiến trình 1.0, đơn hàng được xử lý. Kết quả là bốn
luồng dữ liệu đã được tạo ra:
Giáo trình Phân tích thiết Kế Hệ Thống 48

Hình 4.7. Biểu đồ luồng dữ liệu mức 0 của hệ thống đặt bữa ăn.
- Một bảng thực đơn món ăn cần chế biến được tạo ra để gửi cho nhà bếp chế biến.
- Đơn hàng của khách được chuyển thành danh sách các món ăn bán ra để ghi sổ.
- Đơn hàng của khách được chuyển thành danh mục thực phẩm sử dụng để gửi đến kho xuất thực phẩm
cho bếp làm món ăn.
- Hóa đơn thanh toán cho việc đặt bữa ăn được lập ra và gửi cho khách để thanh toán.
Chú ý rằng, các tác nhân trong biểu đồ ngữ cảnh cũng tác nhân trong biểu đồ chi tiết này, đó là: khách
hàng, nhà bếp, quản lý khách sạn. Biểu đồ mức này có các tiến trình được đánh số bằng một số tự nhiên và
có số 0 đứng sau nó.
Luồng dữ liệu thực phẩm được tiến trình 1.0 sinh ra và tiến trình 2.0 có thể sẵn sàng nhận nó. Như vậy,
giữa tiến trình 1.0 và 2.0 có một sự kết dính (cohesion) với nhau: tiến trình 2.0 chỉ có thể thực hiện và cần
thực hiện để đảm bảo quy trình phục vụ khách khi mà tiến trình 1.0 nhận được đơn hàng, xử lý nó và gửi
dữ liệu cho nó.
Ngược lại, “cái ra” từ tiến trình 2.0 được đặt vào kho dữ liệu D2. Tiến trình 4.0 có thể lấy nó để lập
báo cáo. Trong trường hợp này, giữa tiến trình 2.0 và 4.0 đã không “kết dính” chặt chẽ với nhau. Các tiến
trình này vẫn làm việc độc lập và tiến trình 4.0 không thể nhận được “cái vào” bất kỳ lúc nào vì dữ liệu nó
cần có thể chưa có, nghĩa là chúng được “ghép nối” lỏng lẻo với nhau. Kho dữ liệu “các món ăn đã bán”
có thể trở thành tác nhân ngoài của một tiến trìn khác khi nó có thể nhận dữ liệu từ kho này.
b. Quy trình xây dựng
Ở đây ta giả thiết rằng đã xây dựng được biểu đồ phân rã chức năng của mô hình nghiệp vụ. Điều này
không ảnh hưởng gì đáng kể đến quy trình chung. Vì rằng, khi không có biểu đồ phân rã chức năng, việc
tìm các tiến trình thành phần để phân rã là yêu cầu tất yếu mà các nhà phân tích phải biết.
b1. Các dữ liệu đầu vào
Dữ liệu đầu vào để phát triển một biểu đồ luồng dữ liệu mức 0 trong trường hợp đầy đủ nhất gồm các
loại sau:
- Biểu đồ ngữ cảnh của hệ thống
- Biểu đồ phân rã chức năng (xem chương 3)
Giáo trình Phân tích thiết Kế Hệ Thống 49

- Danh sách các hồ sơ dữ liệu sử dụng (các thực thể dữ liệu)


- Ma trận thực - thể chức năng.
- Các mô tả khác của tiến trình nghiệp vụ (ví dụ: mô tả chi tiết các chúc năng)
b2. Các bước tiến hành
Phát triển biểu đồ luồng dữ liệu mức 0 của hệ thống gồm ba thao tác:
- Thay thế tiến trình duy nhất của biểu đồ ngữ cảnh bằng các tiến trình con (tương ứng với các chức năng
mức một trong biểu đồ phân rã chức năng).
- Giữ nguyên toàn bộ các tác nhân ngoài và các luồng dữ liệu trong biểu đồ ngữ cảnh và chuyển sang
biểu đồ luồng dữ liệu mức 0. Tuy nhiên cần đặt lại các đầu mút của các luồng dữ liệu phía hệ thống để gắn
một cách thích hợp với các tiến trình con mới thêm vào.
- Thêm vào:
+ Các kho dữ liệu tương ứng với các hồ sơ dữ liệu đã chọn trong danh sách.
+ Các luồng dữ liệu từ các tiến trình đến các kho (dựa vào các ô đánh dấu trong ma trận thực thể - chức
năng) và giữa các tiến trình (dựa trên các mô tả khác).
4.4.4.Biểu đồ luồng dữ liệu mức i (với i>=1)
Việc phát triển các biểu đồ luồng dữ liệu chi tiết là quá trình tiếp tục làm mịn các biểu đồ luồng dữ liệu
đã nhận được trước đó. Một biểu đồ luồng dữ liệu mức i nhận được từ việc phân rã (làm mịn) một tiến
trình thuộc biểu đồ luồng dữ liệu mức i-1. Quá trình làm mịn biểu đồ luồng dữ liệu mức i-1 có thể mô tả
như sau:
Đối với mỗi tiến trình trong biểu đồ luồng dữ liệu mức i-1 mà có thể phân chia thành các tiến trình nhỏ
hơn (tức là không tương ứng với một chức năng lá trong biểu đồ phân rã chức năng) ta sẽ phân rã thành
một biểu đồ luồng dữ liệu ở mức i theo các sau:
- Thay thế tiến trình được xét của biểu đồ luồng dữ liệu mứ i-1 bằng tiến trình con tương ứng với các
chức năng của mức tương ứng trong biểu đồ phân rã chức năng.
- Giữ nguyên toàn bộ các tác nhân ngoài, các kho dữ liệu và các luồng dữ liệu liên quan đến tiến trình
được xét trong biểu đồ luồng dữ liệu mức i-1 và chuyển chúng sang biểu đồ luồng dữ liệu mức i. Tuy
nhiên cần đặt lại các đầu mút của các luồng dữ liệu vào các tiến trình con mới thêm vào một cách thích
hợp. Chú ý rằng: Nếu có một tiến trình khác liên quan đến tiến trình được xét thì phải thay nó bằng một tác
nhân ngoài trong biểu đồ mới mức i.
- Thêm vào các luồng dữ liệu giữa các tiến trình con (dựa trên các mô tả khác)
Việc đánh số hiệu các tiến trình trong một biểu đồ mới nhận được cần tuân theo những nguyên tắc sau:
Số hiệu của một tiến trình gồm hai phần: phần đầu và phần thứ tự. Phần đầu là số hiệu của tiến trình được
sử dụng để phân rã, phần số thứ tự là thứ tự của tiến trình con. Chú ý rằng, mỗi biểu đồ được phát triển
chỉ nên thể hiện trên một trang giấy. Về nguyên tắc, một biểu đồ luồng dữ liệu không nên có bảy tiến trình.
4.4.5. Ví dụ về các loại biểu đồ luồng dữ liệu
Để minh họa về sự khác nhau của các loại biểu đồ luồng dữ liệu ta xét ví dụ hệ thống quản lý nhập kho.
Biểu đồ luồng dữ liệu mô hình hoá hệ thống vật lý hiện thời được mô tả ở hình 4.9. Trong biểu đồ ở mức 0
của hệ thống này (hình 4.9b) có 6 tiến trình khác nhau.

Hình 4.9a. Biểu đồ ngữ cảnh


Giáo trình Phân tích thiết Kế Hệ Thống 50

Hình 4.9b. Biểu đồ luồng dữ liệu vật lý của hệ thống quản lý kho

Nó cho biết rằng, khi nhận phiếu giao hàng, người quản lý ghi các thông tin vào sổ nhật ký và xếp phiếu
giao hàng vào trong cặp xếp. Khi sử dụng phiếu giao hàng, người quản lý ghi tổng thực phẩm được phân
phối vào thẻ kho.
Để tạo ra biểu đồ luồng dữ liệu logic cho hệ thống hiện thời ta cần xác định những phần tử cơ bản của
hệ thống quản lý nhập kho mà người quản lý đã thiết lập, cần bỏ đi những phần tử vật lý của hệ thống như
nhà quản lý và những cặp xếp mà nó sử dụng. Có ít nhất bốn tiến trình chính nhất thiết phải thực hiện
trong hệ thống quản lý nhập kho: (1) tính số lượng thực phẩm nhập kho (bổ sung), (2) tính số lượng thực
phẩm xuất kho (sử dụng), (3) lập đơn hàng, (4) tạo hóa đơn thanh toán.
Giáo trình Phân tích thiết Kế Hệ Thống 51

Phiếu giao

Nhà cung cấp 1 2

Cập nhật thực Cập nhật thực


phẩm bổ sung phẩm sử dụng
Đơn hàng

Phiếu giao
3 Tổng bổ sung
Hóa đơn
Tổng sử dụng
Tạo đơn hàng
4
Bộ phận tồn kho
Lượng tồn kho
Tạo hoá đơn
thanh toán
D1 Thẻ kho

Lương tồn tối thiểu


Hình 4.10. Biểu đồ luồng dữ liệu logic mức 0 cho hệ thống quản lý nhập kho hiện thời

những dữ liệu cơ bản được hệ thống sử dụng bao gồm thực phẩm sử dụng và tồn kho mà tất cả chúng
đều đã được xác định. Cái ra chủ yếu của hệ thống là các đơn hàng và hóa đơn thanh toán. Khi chỉ tập vào
những phần tử cơ bản này của hệ thống ta có được biểu đồ luồng dữ liệu logic cho hệ thống hiện thời ở
hình 4.10.
Giả sử nhà quản lý muốn thêm 3 chức năng:
- Các dữ liệu đến hệ thống được cập nhật tự động và cập nhật ngay từ khi nó vùa đến, càng sớm càng tốt.
- Hệ thống tự động xác định khi nào một đơn hàng cần được lập. Việc lập đơn hàng tự động đảm bảo mọi
thực phẩm trong kho lúc nào cũng sẵn sàng.
- Ở một thời điểm bất kỳ ta có thể biết mức tồn kho của mỗi loại thực phẩm là bao nhiêu. Ta cũng có thể
ước lượng được số thực phẩm sẽ sử dụng và cần bổ sung thêm bao nhiêu trước mỗi thời điểm cố định, và
nhà quản lý cũng có thể cần ước lượng đủ nhanh mặt hàng nào cần dự trữ nhiều hơn để có sự quan tâm
đúng mức.

Hình 4.11. Biểu đồ luồng dữ liệu logic mưc của hệ thống quản lý nhập kho mới
Giáo trình Phân tích thiết Kế Hệ Thống 52

Biểu đồ luồng dữ liệu logic của hệ thống mới ở hình 4.11 gần giống với biểu đồ luồng dữ liệu ở hình
4.9. Nó chỉ có thêm một tiến trình 5.0 để cho phép nhận được câu trả lời về các số ước lượng tồn kho của
một mặt hàng nào đó. Hai yêu cầu khác còn lại có thể đã được thực hiện trong hệ thống hiện tại.
4.4.6. Phát triển các biểu đồ là một quá trình lặp
Biểu đồ luồng dữ liệu vẽ lần đầu tiên ít khi phản ánh tốt được hệ thống mà ta cần mô hình hóa. Để có
thể mô tả hệ thống tốt hơn ta thường phải sửa đổi biểu đồ một vài lần. Sự phát triển biểu đồ luồng dữ liệu
được lặp lại nhiều lần đã ghi nhận một sự kiện là: việc xác định yêu cầu và cấu trúc là một quá trình tương
tác và là một quá trình lặp thuộc pha phân tích của vòng đời hệ thống.

4.5. Sử dụng biểu đồ luồng dữ liệu để phân tích


Biểu đồ luồng dữ liệu là một công cụ đa năng để mô hình hóa tiến trình nghiệp vụ cho cả hệ thống hiện
tại cũng như hệ thống mới ở cả dạng logic và dạng vật lý. Nó được sử dụng để phân tích độ chênh khi phát
triển các mô hình tiến trình nghiệp vụ. Qua đây, nhà phân tích phát hiện ra sự khác biệt giữa hai hay nhiều
biểu đồ luồng dữ liệu biểu diễn 2 hay nhiều trạng thái khác nhau của một hệ thống thông tin (hệ thống hiện
thời và hệ thống mong muốn) hay sự khác bịêt ngay trong khi xây dựng.
Khi biểu đồ luồng dữ liệu đã đầy đủ, bằng cách kiểm tra các chi tiết của nó ta có thể phát hiện ra luồng
dữ liệu dư thừa: những dữ liệu được thu thập mà không sử dụng, các dữ liệu đã cập nhật ở nhiều nơi….
hay sự không hiệu quả của mô hình liên quan đến sự vi phạm các quy tắc vẽ biểu đồ luồng dữ liệu. Chẳng
hạn, sự vi phạm quy tắc: một luồng dữ liệu không thể quay lại nơi mà nó vừa đi khỏi. Việc so sánh các
biểu đồ luồng dữ liệu logic khác nhau cho phép xác định một số các phần tử cần được thảo luận trong khi
đánh giá về yêu cầu của hệ thống. Biểu đồ luồng dữ liệu logic của hệ tống mới có thể được sử dụng làm cơ
sở lựa chọn các chiến lược thiết kế vật lý cho hệ thống mới.

4.6. Ví dụ
A. Mô tả bài toán
Chúng ta xét bài toán quản lý trông gửi xe đã được mô tả trong ví dụ ở mục 3.5. chương III.
B. Bài giải
Ở đây chỉ tập trung vào xây dựng các mô hình tiến trình logic của hệ thống. Vì vậy, những gì liên quan
đến mô hình nghiệp vụ của bài toán sẽ sử dụng các kết quả thu được ở chương 3
a. Phát triển biểu đồ luồng dữ liệu ngữ cảnh
Từ các phân tích dữ liệu củ bảng phân tích (bảng 3.4) ta đã xây dựng được biểu đồ ngữ cảnh dưới đây
(xem mục 3.5 chương 3)

Hình 4.12. Biểu đồ ngữ cảnh của hệ thống.

b. Phát triển biểu đồ luồng dữ liệu mức 0


Thay tiến trình duy nhất của biểu đồ ngữ cảnh (hình 4.12) bằng 3 tiến trình mới tương ứng chức năng
trong biểu đồ phân rã (hình 3.5). Thêm vào 6 kho dữ liệu (ứng với 6 hồ sơ bảng 3.6) và dựa vào ma trận
thực thể và chức năng (hình 3.9) vẽ các luồng dữ liệu còn lại.
Giáo trình Phân tích thiết Kế Hệ Thống 53

Hình 4.13. Biểu đồ luồng dữ liệu mức 0

c. Phát triển các biểu đồ luồng dữ liệu các mức 1,2…


Từ biểu đồ mức 0 (hình 4.13) và dựa vào biểu đồ phân rã chức năng ta xây dựng được các biểu đồ
luồng dữ liệu mức 1 cho các tiến trình tương ứng cho các hình 4.14, 4.15, 4.16.

Hình 4.14. Biểu đồ luồng dữ liệu mức 1: Nhận xe


(nét đậm là phần được thay thế hay thêm vào)
Giáo trình Phân tích thiết Kế Hệ Thống 54

Hình 4.15. Biểu đồ luồng dữ liệu mức 1: Trả xe


(nét đậm là phần được thay thế hay thêm vào)

Hình 4.16. Biểu đồ luồng dữ liệu mức 1: Giải quyết sự cố


(nét đậm là phần được thay thế hay thêm vào)

Trong trường hợp này biểu đồ luồng dữ liệu mức 1 là mức thấp nhất. Trong trường hợp khác có thể cần
tiếp tục phát triển các luồng dữ liệu ở các mức thấp hơn bằng cách tương tự.

Câu hỏi cuối chương


1. Biểu đồ luồng dữ liệu là gì? Phân tích hệ thống cần sử dụng biểu đồ luồng dữ liệu để làm gì?
2. Trình bày các khái niệm, ký pháp sử dụng trong biểu đồ luồng dữ liệu?
3. Có mấy loại biểu đồ luồng dữ liệu? Mỗi loại biểu đồ dùng khi nào? Giải thích ý nghĩa của nó?
4. Nêu rõ sự khác nhau giữa biểu đồ luồng dữ liệu logic và biểu đồ luồng dữ liệu vật lý?
5. Vì sao cần phát triển cả biểu đồ luồng dữ liệu vật lý và biểu đồ luồng dữ liệu logic cho một hệ thống?
Vẽ biểu đồ logic trước khi vẽ biểu đồ luồng dữ liệu vật lý cho một hệ thống mới có lợi gì?
6. Giải thích các nguyên tắc để vẽ biểu đồ luồng dữ liệu?
7. Phân rã nghĩa là gì? Đảm bảo cân bằng khi phân rã là gì?
8. Giải thích nguyên tắc phân rã biểu đồ luồng dữ liệu từ trên xuống?
9. Mô tả cấu trúc của biểu đồ luồng dữ liệu ngữ cảnh? Giải thích ý nghĩa của biểu đồ ngữ cảnh?
Giáo trình Phân tích thiết Kế Hệ Thống 55

10. Nêu cách đặt tên các mức khác nhau của biểu đồ luồng dữ liệu?
11. Những thông tin nào là dữ liệu đầu vào để lập biểu đồ mức 0? Trình bày các bước để xây dựng biểu đồ
luồng dữ liệu mức 0? Biểu đồ luồng dữ liệu mức 0 khác biểu đồ ngữ cảnh ở chỗ nào?
12. Trình bày các bước để xây dựng biểu đồ luồng dữ liệu mức i (i>=1)? Dữ liệu đầu vào cho việc xây
dựng này là những gì?
13. Biểu đồ luồng dữ liệu có thể sử dụng làm công cụ phân tích như thế nào?

Bài tập
1. Biểu đồ hình 4.17 cho bản phác thảo về biểu đồ ngữ cảnh và biểu đồ luồng dữ liệu ở mức 0 đối với hệ
thống ghi tên vào học một khoá học ở một trường tổng hợp. Hãy xác định và giải thích những vi phạm
có thể các quy tắc và hướng dẫn về vẽ biểu đồ luồng dữ liệu 4.18?
2. Hãy chỉ ra 3 sai sót trong biểu đồ trong hình 4.19?

Hình 4.17 Biểu đồ ngữ cảnh hệ thống đăng ký học.

Hình 4.18. Biểu đồ hệ thống đăng ký học mức 0


Giáo trình Phân tích thiết Kế Hệ Thống 56

DF2

E1 DF5
P2

DS1
DF1 DF3
DF4 DF6

E2
P1

DF2
Hình 4.19. Biểu đồ luồng dữ liệu có sai sót
----oOo----
Giáo trình Phân tích thiết Kế Hệ Thống 57

Chương 5 : MÔ HÌNH HÓA LOGIC TIẾN TRÌNH

Biểu đồ luồng dữ liệu đủ tốt để xác định các tiến trình, nhưng nó không chỉ ra đầy đủ logic bên trong
của mỗi tiến trình. Ngay đối với các tiến trình ở biểu đồ luồng dữ liệu sơ cấp cũng chưa chỉ ra tất cả nội
dung xử lý của nó. Trong phần này sẽ trình bày các kỹ thuật để mô hình hóa các tiến trình ra quyết định và
logic thời gian.

5.1. Mô hình hóa logic với tiếng Anh cấu trúc


Tiếng Anh có cấu trúc được cải biên từ tiếng Anh thông dụng để đặc tả nội dung của các tiến trình trong
một biểu đồ luồng dữ liệu. Các động từ hành động dùng để đặt tên các tiến trình cũng được dùng trong
tiếng Anh có cấu trúc. Nó bao gồm các động từ như: read, write, print, sort, move, merge, add, multiply,
và divide. Tiếng Anh có cấu trúc cũng dùng cụm danh từ để mô tả cấu trúc dữ liệu như customer-name
and customer – address. Tiếng Anh cấu trúc không sử dụng tính từ và trạng từ. Nó diễn tả các tiến trình ở
dạng ngắn gọn để dễ đọc, dễ hiểu. Nó không phải là phiên bản chuẩn, mỗi nhà phân tích có thể có một
cách dùng riêng của mình. Tiếng Anh có cấu trúc được dùng để biểu diễn cả ba cấu trúc điển hình trong
lập trình có cấu trúc: tuần tự, tuyển chọn và lặp. Tiến trình tuần tự không đòi hỏi một cấu trúc gì đặc biệt.
Cấu trúc tuyển chọn có thể được biểu diễn bằng một cấu trúc có dạng:
BEGIN IF
IF (số lượng tồn kho nhỏ hơn số dự trữ tối thiểu)
THEN GENERATE (đơn đặt hàng mới)
ELSE DO (không làm gì cả)
END IF.
Một cấu trúc có điều kiện khác là tuyển chọn nhiều nhánh, tức là có rất nhiều hành động mà chương
trình có thể làm, nhưng chỉ một hành động được chọn như sau:
READ (số lượng tồn kho một mặt hàng)
SELECT CASE
CASE 1 (số lượng tồn kho lớn hơn số dự trữ tối thiểu)
DO (không làm gì cả)
CASE 2 (số lượng tồn kho bằng số dự trữ tối thiểu)
DO (không làm gì cả)
CASE 3 (số lượng tồn kho nhỏ hơn số dự trữ tối thiểu)
GENERATE (đơn đặt hàng mới)
CASE 4 (kho rỗng)
INITIATE (tình trạng khẩn cấp, lập đơn hàng)

Tiến trình có thể có dạng các vòng DO – UNTIL hoặc các vòng DO – WHILE. Vòng DO – UNTIL có
thể biểu diễn như sau:
DO
READ (các bản ghi lưu kho)
BEGIN IF
IF (số lượng tồn kho nhỏ hơn số dự trữ tối thiểu)
THEN GENERATE (đơn đặt hàng mới)
ELSE DO (không làm gì cả)
END IF
UNTIL (kết thúc tập tin)

Vòng lặp DO – WHILE có thể biểu diễn như sau:


READ (các bản ghi lưu kho)
WHILE NOT (kết thúc tập tin) DO
BEGIN IF
Giáo trình Phân tích thiết Kế Hệ Thống 58

IF (số lượng tồn kho nhỏ hơn số dự trữ tối thiểu)


THEN GENERATE (đơn đặt hàng mới)
ELSE DO (không làm gì cả)
END IF
END DO

Ví dụ sau đây là đặc tả tiếng Anh có cấu trúc của một biểu đồ tiến trình được xác định hệ thống quản lý
kho ở hình 5.1
Phiếu giao

Nhà cung cấp 1 2

Cập nhật hàng Cập nhật hàng


nhập mới sử dụng
Đơn hàng

Phiếu giao
3 Tổng bổ sung
Hóa đơn thanh toán
Tạo đơn hàng
4
Bộ phận tồn kho
Lượng tồn kho
Tạo hoá đơn
thanh toán
D1 Thẻ kho

Mức dự trữ tối thiểu


Hình 5.1. Biểu đồ luồng dữ liệu logic hiện thời về quản lý kho

Có 4 tiến trình được mô tả trong hình 5.1: cập nhật các mặt hàng nhập mới, cập nhật các mặt hàng sử
dụng, tạo đơn hàng, tạo hóa đơn thanh toán. Biểu diễn tiếng Anh có cấu trúc của mỗi tiến trình được mô tả
ở bảng 5.1. Trong tiếng Anh cấu trúc, các thuật ngữ, ký hiệu, các phép so sánh logic như lớn hơn hay nhỏ
hơn đều được viết ra mà không sử dụng các ký hiệu số học.

Tiến trình 1: cập nhật hàng nhập mới


DO
ĐỌC (phiếu giao hàng tiếp theo)
TÌM (thẻ-kho tương ứng)
CẬP NHẬT (thẻ kho)
UNTIL hết phiếu giao hàng

Tiến trình 2: Cập nhật hàng xuất sử dụng


DO
ĐỌC (phiếu xuất kho tiếp theo)
TÌM (thẻ kho tương ứng)
CẬP NHẬT (thẻ kho)
UNTIL hết phiếu xuất kho

Tiến trình 3: lập đơn hàng


DO
ĐỌC (thẻ kho tiếp theo)
IF(số lượng tồn kho) IS LESS THAN (số dự trữ tối thiểu)
Giáo trình Phân tích thiết Kế Hệ Thống 59

THEN (lập đơn hàng)


ENDIF
UNTIL hết thẻ kho

Tiến trình 4: Tạo hoá đơn thanh toán


READ (ngày hiện thời)
SORT (bản ghi phiếu giao) BY date
DO
READ (bản ghi phiếu giao tiếp theo)
IF (date IS 30 OR GREATER THAN (ngày hiện tại)
THEN (lập giấy thanh toán)
UNTIL END OF FILE
Bảng 5.1. Biểu diễn tiếng Anh cấu trúc cho biểu đồ hình 5.1

Chú ý rằng, định dạng của một tiến trình bằng tiếng Anh có cấu trúc đã bắt chước định dạng sử dụng
trong các ngôn ngữ lập trình, đặc biệt là chi tiết thụt vào đầu dòng của nó. Khi sử dụng tiếng Anh có cấu
trúc thì không phải lo lằng gì về việc tạo các biên, mở và đóng các tập tin, hoặc tìm các bản ghi liên quan
trong các tập tin khác nhau.

5.2. Mô hình hóa logic với bảng quyết định


Một bảng quyết định là một biểu đồ của một tiến trình logic, mà ở đó logic được làm phức tạp một cách
hợp lý. Tất cả các lựa chọn có thể và các điều kiện lựa chọn phụ thuộc vào nó được biểu diễn trong dạng
bảng. Bảng 5.2 là mô hình logic của một hệ thống trả lương tổng quát. Bảng gồm 3 phần: góc các điều
kiện, góc các hành động và các luật. Góc điều kiệ có 2 yếu tố: loại nhân viên và giờ làm việc. Loại nhân
viên có 2 giá trị: “S” chỉ nhân viên ăn lương và “H” chỉ nhân viên làm việc theo giờ. Số giờ làm việc có 3
giá trị: nhỏ hơn 40, bằng 40, và lớn hơn 40. Góc hành động chứa tất cả các khả năng có thể là kết quả của
việc tổ hợp các giá trị của góc các điều kiện. Có 4 khả năng có thể của hành động được ghi trong bảng: trả
theo lương cơ bản, tính lương theo giờ, tính giờ làm thêm và ghi báo cáo vắng mặt.
Không phải tất cả mọi cách kết hợp từ các điều kiện đã cho đều là hợp lý và có một hành động tương
ứng. Sự kết hợp cụ thể cho ra những hành động cụ thể. Một phần của bảng liên kết các điều kiện với cá
hành động là phần chứa các quy tằc.
Để đọc các quy tắc ta bắt đầu đọc các giá trị của các điều kiện trong cột đầu tiên: Đây là loại ăn lương
tháng “S” hay là loại ăn lương giờ và làm việc theo giờ với số giờ làm việc nhỏ hơn 40. Khi đó góc hành
động tương ứng với 2 điều kiện trên là dòng trả lương cơ bản. Ô tương ứng với cột 1 và dòng này được
đánh dấu “x”. Trong cột tiếp theo, các giá trị tương ứng với 2 điều kiện là “H” và “< 40 “, nghĩa là nhân
viên làm theo giờ và số giờ làm việc ít hơn 40. Trong trường hợp này, sẽ có 2 dòng tương ứng với điều
kiện trên ở góc hành động là trả lương theo giờ và ghi báo cáo vắng mặt cho số giờ thiếu. Trong bảng
quyết định 2 ô tương ứng được đánh dấu “x”. Tương tự, quy tắc 3 dành cho trường hợp nhân viên ăn lương
và làm việc quá 40 giờ. Dòng tương ứng ở góc hành động là trả lương cơ bản như trường hợp quy tắc 1.
Quy tắc 4 tính lương theo giờ. Quy tắc 5 trả lương cơ bản cho nhân viên ăn lương làm việc trên 40 giờ.
Quy tắc 5 hoạt động giống như quy tắc 1, 3. Bằng cách quan sát nhân viên ăn lương ta thấy: Số giờ làm
việc không tác động tới kết quả của quy tắc 1,3 và 5. Trong những quy tắc này, số giờ làm việc là một điều
kiện trung lập, nghĩa là không ảnh hưởng đến hành động được đưa ra. Quy tắc 6 tính lương theo giờ và ghi
giờ làm thêm cho nhân viên làm việc theo giờ mà đã làm trên 40 giờ.
Do có điều kiện trung lập cho các quy tắc 1,3 và 5, ta có thể giảm số lượng các quy tắc bằng cách hợp
nhất các quy tắc 1,3 và 5 vào một quy tắc, như hình 5.3. Điều kiện trung lập được biểu diễn bằng một dấu
gạch ngang. Nhu vậy, từ một bảng quyết định có 6 quy tắc, giờ đây ta có một bảng đơn giản hơn chứa
thông tin tương tự chỉ có 4 quy tắc. Khi xây dựng các bảng quyết định này, ta đã tuân thủ một số cá nguyên
tắc cơ bản như sau:
ĐIỀU KIỆN Quy tắc
1 2 3 4 5 6
Giáo trình Phân tích thiết Kế Hệ Thống 60

Loại nhân viên S H S H S H


Giờ làm việc <40 <40 =40 =40 >40 >40
HÀNH ĐỘNG
Trả lương cơ bản X X X
Tính lương theo giờ X X X
Tính giờ làm thêm X
Ghi báo cáo vắng X
Bảng 5.2. Bảng quyết định đầy đủ cho hệ thống trả lương

a) Đặt tên cho các điều kiện và xác định các giá trị mà mỗi điều kiện có thể có. Xác định tất cả các điều
kiện liên quan đến vấn đề của ta và sau đó xác định tất cả các giá trị mà mỗi điều kiện có thể có. Đối với
một số điều kiện, các giá trị đơn giản chỉ là “có” hoặc “không”. Đối với các trường hợp khác, như bảng 5.2
và 5.3, các điều kiện có thể có thêm giá trị khác.
b) Đặt tên tất cả các hành động có thể xuất hiện: mục đích ở đây là xác định các đặc trưng của hành
động với một tập hợp cụ thể các điều kiện đã cho.
c) Liệt kê danh sách tất cả các quy tắc có thể. Khi tạo một bảng quyết định lần đầu tiên, ta phải tạo một
tập hợp đầy đủ toàn bộ các quy tắc. Mọi sự tổ hợp có thể của các điều kiện phải được biểu diễn nên có thể
dẫn đến các kết quả dư thừa hoặc vô nghĩa. Để xác định số lượng các quy tắc, ta nhân số giá trị của mỗi
quy tắc với số giá trị củ quy tắc khác. Trong bảng 5.2 ta có 2 điều kiện, một điều kiện có hai giá trị và một
điều kiện có ba giá trị, vì vậy chúng ta cần 2x3=6 quy tắc. Nếu chúng ta thêm điều kiện thứ 3 với ba giá trị
thì cần đến 2x3x3=18 quy tắc.
QUY TẮC
ĐIỀU KIỆN
1 2 3 4
Loại nhân viên S H S H
Giờ làm việc <40 =40 >40
HÀNH ĐỘNG
Trả lương cơ bản X
Tính lương theo giờ X X X
Tính giờ làm thêm X
Ghi báo cáo vắng X
Bảng 5.3. Bảng quyết định rút gọn của hệ thống trả lương.

d) Khi tạo bảng trên ta thay đổi các giá trị của điều liện đầu tiên như đã làm ở bảng 5.2 đối với mỗi loại
nhân viên. Với điều kiện thứ hai, ta thay đổi các giá trị nhưng lập lại giá trị đầu tiên với tất cả các giá trị
của điều kiện thứ nhất, sau đó lặp lại giá trị thứ hai với tất cả các giá trị của điều kiện thứ nhất và tiếp tục.
Ta làm theo thủ tục này đối với tất cả các điều kiện tiếp sau. Như vậy ta đã lặp lại giá trị “<40” với cả hai
giá trị của loại nhân viên “S” và “H”. Sau đó ta lập “40” và tiếp là”>40”
e) Định nghĩa các hành động cho mỗi quy tắc: Bây giờ tất cả các quy tắc có thể đã được xác định, ta phải
chọn một hành động cho mỗi quy tắc. Nếu có một hành động không có nghĩa, ta có thể tạo một dòng
“không khả thi” trong góc hành động của bảng để theo dõi các hành động không khả thi. Nếu không thể
chỉ ra được hệ thống phải làm gì thì hãy đặt dấu hỏi ở chỗ trống của góc hành động của quy tắc cụ thể đó.
f) Đơn giản hóa bảng quyết định: Tạo bảng quyết định càng đơn giản càng tốt bằng cách loại bỏ tất cả
các quy tắc có các hành động không khả thi. Hãy hỏi ý kiến người dùng về các quy tắc mà hành động của
hệ thống là không rõ ràng và quyết định chọn một hành động hãy xóa bỏ một quy tắc. Tìm các mẫu trong
các quy tắc, đặc biệt là các điều kiện trung lập. Chúng ta có thể giảm số lượng các quy tắc trong bảng
lương.

5.3. Mô hình hóa logic với cây quyết định


Giáo trình Phân tích thiết Kế Hệ Thống 61

Cây quyết định là một kỹ thuật đồ thị để mô tả hay lựa chọn tình huống như một loạt các nút hay rẽ
nhánh các sự kiện liên quan. Cả bảng quyết định và cây quyết định đều là công cụ giao tiếp được thiết kế
cho việc giao tiếp giữa nhà phân tích và người sử dụng.
Cây quyết định có hao thành phần chính là điểm quyết định (decision point) được biểu diễn bằng các
nút và các hành động - được biểu diễn bằng các hình elip. Hình 5.4 là một cây quyết định chung nhất. Để
đọc một cây quyết định, ta bắt đầu ở nút gốc bên trái nhất. Mỗi nút được đánh số và mỗi số tương ứng với
một lựa chọn. Các lựa chọn được ghi trong một giải thích của biểu đồ. Mỗi đường đi khỏi một nút tương
ứng với một tùy chọn của lựa chọn đó. Từ một nút có ít nhất hai đường dẫn đến bước sau mà có thể là một
điểm quyết định khác hay một hành động. Cuối cùng tất cả các hành động có thể sẽ được liệt kê ra ở bên
phải biểu đồ vớ các elip lá. Mỗi quy tắc được biểu diễn bằng một hành trình gồm một dãy các đoạn đường
từ nút gốc đến nút sau và tiếp tục cho đến khi nhậ được một hành động hình elip.

ng
Đú

Hình 5.4. Biểu đồ cây quyết định tổng quát

Lương cơ Đúng
Trả lương cơ bản
bản?
Sa
i

Giờ làm Đúng Trả lương giờ, báo


việc < 40? cáo vắng mật
Sa
i

Giờ làm Đúng


Trả lương giờ
việc = 40? Sa
i

Trả lương giờ


Trả giờ làm thêm
Hình 5.5. Cây quyết định mô tả tình huống ở bảng 5.2, 5.3

Quay trở lại bảng quyết định đối với logic của hệ thống trả lương (bảng 5.4 và 5.5). Có ít nhất 2 cách để
biểu diễn cùng một thông tin như một cây quyết định. Cách thứ nhất chỉ ra ở hình 5.5. Ở đây tất cả các lựa
chọn là hữu hạn với hai giá trị: “đúng” hay “sai”. Tuy nhiên, khi nhìn vào các điều kiện làm thành một cây
trong bảng quyết định, ta nhớ lại rằng, giờ làm việc có ba giá trị chứ không phải là hai. Ta có thể giả thiết
rằng, áp đặt một điều kiện với ba giá trị vào trong một tập các điều kiện chỉ có hai khả năng “đúng” và
“sai” như những giá trị giả định. Để dành cho logic ban đầu của tình huống ra quyết định ta có thể vẽ các
quyết định như hình 5.6, ở đây chỉ có hai điều kiện, điều kiện thứ nhất có 2 giá trị, và điều kiện thứ hai có
3 giá trị đúng như trong bảng quyết định.
Giáo trình Phân tích thiết Kế Hệ Thống 62

Sa
i
>4
0

Hình 5.6. Cây quyết định mô tả tình huống ở bảng 5.4, 5.5
khi co nhiều lựa chọn tại một thời điểm.

Cũng như đối với biểu đồ luồng dữ liệu, bảng quyết định và cây quyết định cho kết quả tốt khi thực
hiện theo một tiến trình lặp. Ta cần chia sẻ công việc với đội khác và những người sử dụng để nhận được
các phản hồi về cơ chế vận hành và nội dung đúng đắn của công việc để tiếp tục hoàn thiện cây quyết định.
Sau đây là bảng so sánh (bảng 5.5) ưu và nhược điểm của các công cụ nêu trên.

Tiêu chuẩn Tiếng Anh Bảng Cây


cấu trúc quyết định quyết định
Xác định điều kiện và hành động thứ 2 thứ 3 tốt nhất
Hình thành điều kiện và hành Tốt nhất thứ 3 tốt nhất
động theo trình tự
Kiểm tra sự nhất quán và đầy đủ thứ 3 tốt nhất tốt nhất
Bảng 5.5. So sánh fĩưa các phương pháp

5.5. Mô hình hóa logic thời gian


Đối với các ứng dụng mà thời gian là quan trọng như các ứng dụng thời gian thực, trực tuyến, các nhà
phân tích thường sử dụng biểu đồ chuyển trạng thái hay bảng chuyển trạng thái bổ sung cho các kỹ thuật
khác. Các biểu đồ này là một phần quan trọng của phân tích và thiết kế hệ thống hướng đối tượng.
5.5.1. Biểu đồ chuyển trạng thái
Một trạng thái như một kiểu hay điều kiện tồn tại cho một tiến trình hoặc một thành phần khác của hệ
thống được xác định bằng các thông số hiện hành. Trong hướng đối tượng, một trạng thái bao gồm tất cả
các thuộc tính của đối tượng có thể là tĩnh hay là những giá trị động của các thuộc tính đó khi từ một trạng
thái chuyển sang một trạng thái khác do sự kích hoạt của các sự kiện gây ra.
Một số ký pháp được sử dụng để mô tả biểu đồ chuyển trạng thái. Mỗi trạng thái được biểu diễn bằng
một hình chữ nhật, mỗi sự chuyển trạng thái được biểu diễn bằng một mũi tên (hình 5.5). Mỗi sự kiện kích
hoạt dẫn đến sự chuyển từ một trạng thái sang một trạng thái khác được ký hiệu như một nhãn ở bên cạnh
mũi tên.
Môt hành động xãy ra khi một trạng thái mới được đưa vào thể hiện bằng một danh sách viết bên cạnh
của hình chữ nhật trạng thái tương ứng. Hành động có thể được mô tả như một giả lệnh hay tiếng Anh có
cấu trúc tùy nhà phân tích lựa chọn. Mỗi trạng thái được sắp thứ tự theo thời gian: trạng thái thứ hai tiếp
sau trạng thái thứ nhất, trạng thái thứ ba tiếp sau trạng thái thứ hai… phù hợp với biểu đồ. Có thể có nhiều
con đường trong một biểu đồ chuyển trạng thái. Nhưng sự chuyển đến một trạng thái mới là do sự kích
hoạt của một và chỉ một sự kiện.
Giáo trình Phân tích thiết Kế Hệ Thống 63

C1: bật nút on


- bật đèn
- mở bếp
- cho nước vào hệ thống cho đến khi đủ

1. Nghỉ 2. Pha cà phê

- tắt đèn
- tắt bếp

C1: bật nút off


Hình 5.5. Biểu đồ chuyển trạng thái đối với máy bán cá phê tự động

Tại một thời điểm bất kỳ, hệ thống pha cà phê chỉ ở một trong hai trạng thái. Trạng thái mà hệ thống
đang có gọi là trạng thái hiện thời. Người pha cà phê có thể quay trở lại hay đi tiếp đến trạng thái sau.
Trong một vài hệ thống, có thể có một số trạng thái mà từ đó nó không thể thoát ra khỏi hệ thống. Những
trạng thái như vậy gọi là trạng thái cuối cùng. Ta có thể nghĩ về các sự kiện như những tín hiệu kiểm tra có
thể mang dữ liệu. Những dữ liệu này được cung cấp để hành động chuyển đến một trạng thái khác. Trong
trường hợp này, các tham số được gửi đi giữa các phần của một chương trình máy tính.
Có hai cấu trúc biểu đồ chuyển trạng thái. Để vẽ được biểu đồ trạng thái cần theo các nguyên tắc sau:
a) Xác định mọi trạng thái có thể hay trạng thái bắt đầu
b) Vẽ hình chữ nhật biểu diễn mỗi trạng thái
c) Nối các trạng thái bằng mũi tên chỉ sự trạng thái nếu có
d) Mỗi trạng thái có thể chuyển đến một hay một số trạng thái
e) Gắn tên của mũi tên chuyển trạng thái với tên sự kiện
f) Liệt kê các hành động thích hợp ở dưới mỗi hình chữ nhật chỉ trạng thái
g) Xem xét phản ứng của hệ thống đối với những sự kiện không dự kiến
h) Nghiên cứu để xác định xem có thể phân rã biểu đồ
i) Thảo luận với các thành viên trong đội phát triển để phát triển biểu đồ đảm bảo sự chính xác và vững
chắc của biểu đồ khi sử dụng các câu hỏi:
- Phải chăng mọi trạng thái đã được xác định?
- Ta có thể đi đến mọi trạng thái của tiến trình?
- Ta có thể đi ra từ mọi trạng thái?
- Hệ thống có đáp ứng được mọi sự kiện có thể?
5.5.2 Bảng chuyển trạng thái
Có thể biểu diễn các thông tin trong một biểu đồ chuyển trạng thái bằng một bảng chuyển trạng thái.
Trong bảng chuyển trạng thái, mỗi dòng biểu diễn một trạng thái có thể, mỗi cột biểu diễn một sự kiện.
Các ô được lấp đầy xác định cái gì xãy ra kho một trạng thái đã cho nhận được một sự kiện cụ thể. Các ô
được lấp đầy bằng một trong ba khả năng sau:
1. Một số trạng thái mới
2. Sự kiện bị bỏ qua
- Không thể xãy ra. Ta cần phải thêm chú thích dưới bảng để giải thích đầy đủ hơn việ “không thể xãy
ra”. Một sự kiện có thể gây ra sự chuyển trạng thái đến chính trạng thái hiện thời. Một số nhà phân tích cho
rằng có thể sử dụng cả hai kỹ thuật trên cho nhiều trường hợp. Bảng chuyển hóa trạng thái dùng để kiểm
tra tính không đầy đủ và tính không vững chắc tốt hơn so với biểu đồ chuyển trạng thái.

Câu hỏi cuối chương


1. Mục đích của mô hình logic hóa là gì? Những kỹ thuật nào được sử dụng để mô hình hóa các logic
quyết định? Kỹ thuật nào sử dụng để mô hình logic hóa thời gian?
Giáo trình Phân tích thiết Kế Hệ Thống 64

2. Tiếng Anh có cấu trúc nghĩa là gì? Sử dụng tiếng Anh có cấu trúc để biểu diễn các cấu trúc tiêu biểu
của các quá trình thông tin như thế nào?
3. Các bước để tạo một bảng quyết định? Làm thế nào để rút gọn bảng quyết định?
4. Hãy giải thích cấu trúc của một cây quyết định?
5. Mục tiêu của một biểu đồ chuyển trạng thái là gì? Chúng có lợi như thế nào trong việc phân tích và
thiết kế hướng cấu trúc?
6. Khi nào sử dụng tiếng Anh cấu trúc? Bảng quyết định? Hoặc cây quyết định?
7. Giải thích sự khác nhau giữa biểu đồ chuyển trạng thái và bảng chuyển trạng thái?

Bài tập
1. Biểu diễn logic quyết định của bảng quyết định (hình 5.3) trong dạng tiếng Anh có cấu trúc?
2. Trong biểu đồ luồng dữ liệu hệ thống đặt bữa ăn, dùng tiếng Anh có cấu trúc để biễu diễn logic của
mỗi tiến trình ở mỗi mức của biểu đồ?
3. Biểu diễn logic quyết định của một hay một số tiến trình ở dạng bảng quyết định?
4. Lập cây quyết định cho logic quyết định trong bảng quyết định hình 5.1, 5.3?
5. Những câu hỏi gì đặt ra khi xác định yêu cầu để thu thập được các thông tin cần cho mô hình hóa
logic?
----oOo----
Giáo trình Phân tích thiết Kế Hệ Thống 65

Chương 6 : GIỚI THIỆU VỀ MÔ HÌNH HÓA DỮ LIỆU


(INTRODUCTION TO DATA MODELLING)
Chöông naøy trình baøy caùc kyõ thuaät cô baûn ñeå xaây döïng moâ hình döõ lieäu söû duïng moâ hình thöïc theå keát hôïp
– Thöïc theå - thuoäc tính – phieáu thöïc theå thuoäc tính - töï ñieån döõ lieäu
- Nhaän dieän ñöôïc thöïc theå, thuoäc tính vaø moái quan töø ñaëc taû vaán ñeà.
- Lieät keâ ñöôïc caùc qui taéc quaûn lyù cuûa doanh nghieäp.
- Xaây döïng moâ hình ER baèng caùc thöïc theå, thuoäc tính nhaän dieän, thuoäc tính moâ taû vaø moái keát hôïp.
- Xaùc ñònh ñöôïc baûn soá cuûa moái keát hôïp.
- Giaûi quyeát ñöôïc moái keát hôïp nhieàu nhieàu baèng caùch ñöa vaøo taäp keát hôïp thích hôïp.
- Duøng moâ hình theå hieän ñeå giaûi quyeát vaán ñeà taäp keát hôïp.
- Nhaän bieát caùc kyù hieäu khaùc nhau veà kyù hieäu moâ hình ER.
- Nhaän bieát caùc thaønh phaàn döõ lieäu phaûi löu tröõ trong töï ñieån döõ lieäu vaø xaây döïng phieáu thöïc theå
thuoäc tính.
I GIÔÙI THIEÄU MOÂ HÌNH HOÙA DÖÕ LIEÄU

Giai ñoaïn phaân tích heä thoáng (system analysis) goàm ba hoaït ñoäng chính: xaùc ñònh yeâu caàu heä thoáng
(determining system requirements), caáu truùc yeâu caàu heä thoáng (structuring system requirements) vaø
choïn löïa giaûi phaùp thay theá toát nhaát.
Böôùc ñaàu tieân cuûa moâ hình hoùa döõ lieäu (phaàn 2.b cuûa hình treân) laø phaân tích döõ lieäu. Phaân tích döõ lieäu
coù muïc ñích:
nhaän dieän caùc qui taéc quaûn lyù cuûa doanh nghieäp vaø
thu thaäp döõ lieäu yeâu caàu cho moâ hình döõ lieäu
Chöông naøy baét ñaàu baèng caùc ví duï hay vaán ñeà cuï theå. Coâng cuï moâ hình hoùa laø Moâ hình thöïc theå keát
hôïp (moâ hình ER) laø söï bieåu dieãn baèng hình aûnh cuûa moâ hình döõ lieäu.
Giáo trình Phân tích thiết Kế Hệ Thống 66

II XAÂY DÖÏNG MOÂ HÌNH ER


1 Ví duï - Moái keát hôïp moät-nhieàu
Nhöõng ngöôøi phuï traùch ñaøo taïo cuûa Tröôøng cao ñaúng coäng ñoàng nuùi Ayers mong muoán taïo laäp moät
csdl veà caùc moân ñaøo taïo cuûa tröôøng (chöùng chæ leo nuùi, coâng ngheä bay) vaø hoïc vieân ghi danh vaøo
nhöõng moân hoïc naøy. Tröôøng cuõng coù qui ñònh laø cuøng moät luùc, hoïc vieân chæ coù theå ghi danh vaøo moät
moân hoïc. Hoï chæ quan taâm veà döõ lieäu cuûa ñôït ghi danh hieän taïi. Moät khi hoïc vieân keát thuùc moân hoïc thì
nhaø tröôøng seõ khoâng coøn quan taâm ñeán hoï vaø nhöõng hoïc vieân naøy phaûi ñöôïc xoùa khoûi csdl. Thoâng tin
caàn löu tröõ veà moät hoïc vieân bao goàm: maõ hoïc vieân, teân hoïc vieân, ñòa chæ, ngaøy sinh, soá ñieän thoaïi, ngaøy
nhaäp hoïc cuûa hoïc vieân.
Thoâng tin veà moân hoïc goàm maõ moân hoïc, teân moân hoïc, thôøi löôïng.
Đặc tả vấn đề
Phaàn ñaëc taû vaán ñeà chöùa ñöïng caùc qui taéc quaûn lyù vaø döõ lieäu yeâu caàu cuûa vaán ñeà. Chuùng ta phaûi nhaän
dieän ñöôïc chuùng vaø moâ hình chuùng trong moâ hình ER.
Thành phần dữ liệu
Döõ lieäu yeâu caàu cuûa vaán ñeà laø:
- Chi tieát veà hoïc vieân coù maõ hoïc vieân, teân hoïc vieân, ñòa chæ, ngaøy sinh, soá ñieän thoaïi vaø ngaøy nhaäp
hoïc.
- Chi tieát veà moân hoïc coù maõ moân hoïc, teân moân hoïc vaø thôøi löôïng.
Qui tắc quản lý
Qui taéc quaûn lyù cuûa vaán ñeà laø:
1. Moãi hoïc vieân chæ coù theå ghi danh vaøo moät moân hoïc.
2. Nhieàu hoïc vieân coù theå ghi danh vaøo moät moân hoïc.
3. Nhaø tröôøng chæ quan taâm ñeán nhöõng hoïc vieân cuûa moân hoïc hieän taïi.
Những khía cạnh khác
- Ngöôøi phuï traùch ñaøo taïo laø ngöôøi duøng cuoái maø chuùng ta xaây döïng moâ hình döõ lieäu vaø laø csdl
cho hoï, laø ngöôøi maø ta coù theå thu thaäp thoâng tin caàn thieát cho vaán ñeà.
- Hoïc vieân hoïc xong moân hoïc vaø khoâng ghi danh hoïc tieáp moân hoïc khaùc phaûi ñöôïc xoùa khoûi
csdl. Ñaây laø yeâu caàu chöùc naêng cuûa heä thoáng maø ta phaûi thöïc hieän. Yeâu caàu chöùc naêng khoâng
aûnh höôûng ñeán moâ hình döõ lieäu.
- Nhaø tröôøng chæ quan taâm ñeán moân hoïc hieän taïi. Ñieàu naøy cho thaáy khía caïnh taïm thôøi cuûa döõ
lieäu vaø chuùng ñöôïc ñöa vaøo nhaèm muïc ñích laøm ñôn giaûn baøi toaùn.
Moâ hình ER (Entity Relationship Model; Entity Relationship Diagram)

Moâ hình ER ñoâi khi coøn ñöôïc goïi laø moâ hình yù nieäm döõ lieäu (Conceptual Data Model) hay ñôn giaûn laø
moâ hình döõ lieäu (data model)
Caùc tính chaát trong moâ hình ER
Giáo trình Phân tích thiết Kế Hệ Thống 67

Taäp thöïc theå (entity type, regular entity type,entity class, generic entity): Hình chöõ nhaät ñöôïc goïi laø taäp
thöïc theå. Teân cuûa taäp thöïc theå ñöôïc ghi beân trong hình chöõ nhaät vaø duøng danh töø ñeå ñaët teân cho taäp
thöïc theå.
Thöïc theå (instance, entity instance):Moät taäp thöïc theå coù nhieàu phaàn töû coù cuøng loaïi. Moãi moät phaàn töû
nhö vaäy ñöôïc goïi laø moät thöïc theå.
Moái keát hôïp (relationship): Ñöôøng noái giöõa hai taäp thöïc theå ñöôïc goïi laø moái keát hôïp. Moái keát hôïp trong
vaán ñeà treân laø moái keát hôïp moät-nhieàu (1:M). Noäi dung cuûa moái keát hôïp ñöôïc dieãn taû theo hai chieàu:
“ghi danh vaøo”, “ñöôïc ghi danh bôûi”
Thuoäc tính (attribute): Caùc döõ lieäu ghi beân caïnh taäp thöïc theå ñöôïc goïi laø thuoäc tính. Chuùng cung caáp
thoâng tin chi tieát veà taäp thöïc theå. Coù hai loaïi thuoäc tính:
Thuoäc tính nhaän dieän (identifier) laø thuoäc tính ñeå phaân bieät thöïc theå (instance) naøy vôùi thöïc theå kia
trong taäp thöïc theå.
Thuoäc tính moâ taû (descriptive attribute) laø thuoäc tính cung caáp thoâng tin chi tieát hôn veà thöïc theå trong
taäp thöïc theå.
Biểu diễn qui tắc doanh nghiệp trên mô hình
Moâ hình ER treân ñaõ dieãn taû ñöôïc hai qui taéc quaûn lyù cuûa doanh nghieäp laø:
Moãi HOÏC VIEÂN ghi danh vaøo moät MOÂN HOÏC
Moãi MOÂN HOÏC ñöôïc ghi danh bôûi moät hay nhieàu HOÏC VIEÂN
i Bản số kết nối của mối kết hợp (cardinality)
Moái keát hôïp cuûa vaán ñeà treân laø moái keát hôïp hai ngoâi (binary relationship) coù bản số (cardinality,
degree of relationship) kết noái moät nhieàu. Bản số keát noái moät-nhieàu raát phoå bieán trong moâ hình ER. Hai
loaïi bản số keát noái coøn laïi ít phoå bieán hôn nhöng khoâng keùm phaàn quan troïng laø moái keát hôïp moät-moät
vaø moái keát hôïp nhieàu-nhieàu.
Xây dựng bằng phụ thuộc hàm
Bước 1: Xác định tập phụ thuộc hàm F của vấn đề:
F = {maHocVientenHocVien, diaChi, ngaySinh, soDienThoai, ngayNhapHoc;
maMonHoctenMonHoc, thoiLuong;
maHocVienmaMonHoc}
Bước 2: Từ F ta tìm tập phủ tối thiểu Ftt của F (xem lại lý thuyết cơ sở dữ liệu):
Ta nhận thấy
1. F là tập phụ thuộc hàm có vế trái không dư thừa
2. F là tập phụ thuộc hàm có vế phải một thuộc tính (tách ra)
3. F là tập phụ thuộc hàm không dư thừa
Vậy Ftt = F;
Bước 3: Áp dụng thuật toán phân rã lược đồ Q từ phủ tối thiểu (xem lý thuyết cơ sở dữ liệu) ta được:
HOCVIEN(maHocVien, tenHocVien, diaChi, ngaySinh, soDienThoai, ngayNhapHoc, maMonHoc)
MONHOC(maMonHoc, tenMonHoc, thoiLuong)
2 Ví dụ – mối kết hợp một-một
Phoøng caûnh saùt mong muoán quaûn lyù lyù lòch caù nhaân nhöõng ngöôøi laùi xe vaø baèng laùi cuûa hoï. Moät ngöôøi
chæ laáy ñöôïc moät baèng laùi vaø moät baèng laùi chæ thuoäc veà moät ngöôøi. Thoâng tin veà laùi xe maø phoøng caûnh
saùt quan taâm laø:
+ maõ ngöôøi laùi xe
+ teân
+ ñòa chæ
+ ngaøy sinh
Giáo trình Phân tích thiết Kế Hệ Thống 68

Thoâng tin veà baèng laùi caàn löu tröõ laø:


+ maõ baèng laùi
+ loaïi baèng laùi
+ ngaøy heát haïn

- moãi NGÖÔØI LAÙI XE chæ laáy ñöôïc moät BAÈNG LAÙI


- moãi BAÈNG LAÙI chæ thuoäc veà moät NGÖÔØI LAÙI XE
Xây dựng bằng phụ thuộc hàm
Bước 1: Xác định tập phụ thuộc hàm F của vấn đề:
F = {maNguoiLaiXeten, diaChi, ngaySinh;//do một người lái xe có 1 tên, 1 địa chỉ, 1 ngay sinh
maBangLailoaiBangLai, ngayHetHan;
maNguoiLaiXe  maBangLai;//Một người chỉ lấy được một bằng lái
maBangLai  maNguoiLaiXe // Một bằng lái chỉ thuộc về một người}
Bước 2: Tìm phủ tối thiểu của F:
Ta nhận thấy
4. F là tập phụ thuộc hàm có vế trái không dư thừa
5. F là tập phụ thuộc hàm có vế phải một thuộc tính (tách ra)
6. F là tập phụ thuộc hàm không dư thừa
Vậy Ftt = F;
Bước 3: Áp dụng thuật toán phân rã lược đồ Q từ phủ tối thiểu (xem lý thuyết cơ sở dữ liệu) ta được:
NGUOILAIXE(maNguoiLaiXe, ten, diaChi, ngaySinh, maMonHoc)
BANGLAI(maBangLai, loaiBangLai, ngayHetHan, maNguoiLaiXe)
3 Ví duï – moái keát hôïp nhieàu-nhieàu
Ngöôøi phuï traùch ñaøo taïo Tröôøng cao ñaúng coäng ñoàng nuùi xanh mong muoán thieát laäp moät csdl veà caùc
moân hoïc maø hoï cung caáp (nhö chöùng chæ leo nuùi, cöû nhaân coâng ngheä bay) vaø caùc hoïc vieân ghi danh vaøo
caùc moân hoïc naøy. Nhaø tröôøng qui ñònh laø moät hoïc vieân ñöôïc ghi danh hoïc toái ña ba moân hoïc trong cuøng
moät luùc. Hoï chæ quan taâm ñeán döõ lieäu cuûa moân hoïc hieän taïi. Moät khi hoïc vieân keát thuùc moân hoïc, hoï seõ
khoâng coøn thuoäc dieän quaûn lyù cuûa nhaø tröôøng vaø phaûi ñöôïc xoùa khoûi csdl tröø khi hoïc vieân naøy ghi danh
hoïc tieáp moân môùi. Thoâng tin veà moät hoïc vieân goàm: maõ hoïc vieân, teân hoïc vieân, ñòa chæ, ngaøy sinh, soá
ñieän thoaïi, ngaøy nhaäp hoïc cuûa hoïc vieân.
Thoâng tin veà moân hoïc goàm: maõ moân hoïc, teân moân hoïc, thôøi löôïng
Moâ hình thöïc theå theå hieän
Ñeå laøm roõ hôn caùc qui taéc quaûn lyù cuûa doanh nghieäp, ngöôøi ta duøng moät moâ hình ñeå bieåu dieãn moät vaøi
döõ lieäu ví duï goïi laø moâ hình thöïc theå theå hieän:
Giáo trình Phân tích thiết Kế Hệ Thống 69

Jenny laø moät thöïc theå (entity instance) cuûa taäp thöïc theå hoïc vieân.
Moâ hình ER

maõ hoïc vieân


teân hoïc vieân ghi danh vaøo maõ moân hoïc
ñòa chæ HOÏC VIEÂN MOÂN HOÏC teân moân hoïc
ñöôïc ghi danh bôûi thôøi löôïng
ngaøy sinh
soá ñieän thoaïi
Hình 2.5 - Moâ hình ER cuûa vaán ñeà Tröôøng cao ñaúng coäng ñoàng nuùi xanh

+ Moãi HOÏC VIEÂN ghi danh vaøo moät hay nhieàu MOÂN HOÏC
+ Moãi MOÂN HOÏC ñöôïc ghi danh bôûi moät hay nhieàu HOÏC VIEÂN
Moâ hình ER treân coù moái keát hôïp nhieàu nhieàu.
Loại bỏ bản số kết nối nhiều nhiều (nếu có thể)
Moâ hình treân gaëp phaûi khuyeát ñieåm sau:
- Ngaøy nhaäp hoïc laø thuoäc tính gaén lieàn vôùi taäp thöïc theå HOÏC VIEÂN seõ khoâng hôïp lyù vì khoâng
dieãn taû ñöôïc tröôøng hôïp hoïc vieân hoïc cuøng luùc nhieàu moân hoïc.
- Coøn neáu ngaøy nhaäp hoïc laø thuoäc tính cuûa MOÂN HOÏC thì khoâng dieãn taû ñöôïc tình traïng cuøng
moân hoïc nhöng hoïc vieân coù caùc ngaøy nhaäp hoïc khaùc nhau.

Ñeå giaûi quyeát vaán ñeà naøy ta phaûi ñöa vaøo:


- moät taäp thöïc theå laøm trung gian giöõa HOÏC VIEÂN vaø MOÂN HOÏC goïi laø taäp keát hôïp PHIEÁU GHI
DANH (associative Entity, intersection entity). PHIEÁU GHI DANH laø taäp thöïc theå yeáu (weak
Entity)
- Thuoäc tính nhaän dieän cuûa taäp keát hôïp laø söï keát hôïp giöõa thuoäc tính nhaän dieän cuûa taäp thöïc theå
HOÏC VIEÂN vaø MOÂN HOÏC
Giáo trình Phân tích thiết Kế Hệ Thống 70

- thuoäc tính moâ taû cuûa taäp keát hôïp laø ngaøy nhaäp hoïc
- bản số keát noái cuûa taäp keát hôïp vôùi taäp thöïc theå laø moät-nhieàu
Noäi dung cuûa moái keát hôïp giöõa caùc taäp thöïc theå laø:
- moãi HOÏC VIEÂN coù moät hay nhieàu PHIEÁU GHI DANH
- moãi PHIEÁU GHI DANH thuoäc veà moät HOÏC VIEÂN
- moãi PHIEÁU GHI DANH ghi nhaän ñaøo taïo veà moät MOÂN HOÏC
- moãi MOÂN HOÏC ñöôïc ghi nhaän ñaøo taïo bôûi moät hay nhieàu PHIEÁU GHI DANH
Caùc qui taéc phaûi tuaân thuû khi theâm taäp keát hôïp laøm trung gian ñeå loaïi boû baûn soá keát noái nhieàu nhieàu:
+ Phaûi nhaän dieän ñöôïc thuoäc tính moâ taû cuûa taäp keát hôïp.
+ Neáu coù thuoäc tính moâ taû thì taïo taäp keát hôïp laøm trung gian giöõa hai taäp thöïc theå.
+ Neáu khoâng coù thuoäc tính moâ taû thì vaãn giöõ nguyeân moâ hình nhö hình 2.5
Xây dựng bằng phụ thuộc hàm
Bước 1: Xác định tập phụ thuộc hàm F của vấn đề:
F = {maHocVientenHocVien, diaChi, ngaySinh, soDienThoai, ngayNhapHoc;
maMonHoctenMonHoc, thoiLuong;
maHocVien, maMonHocngayNhapHoc}
Bước 2: Từ F ta tìm tập phủ tối thiểu Ftt của F (xem lại lý thuyết cơ sở dữ liệu):
Ta nhận thấy
1. F là tập phụ thuộc hàm có vế trái không dư thừa
2. F là tập phụ thuộc hàm có vế phải một thuộc tính (tách ra)
3. F là tập phụ thuộc hàm không dư thừa
Vậy Ftt = F;
Bước 3: Áp dụng thuật toán phân rã lược đồ Q từ phủ tối thiểu (xem lý thuyết cơ sở dữ liệu) ta được:
HOCVIEN(maHocVien, tenHocVien, diaChi, ngaySinh, soDienThoai, ngayNhapHoc)
MONHOC(maMonHoc, tenMonHoc, thoiLuong)
HOCVIENMONHOC(maHocVien, maMonHoc, ngayNhapHoc)
III MOÂ HÌNH ER THEO KYÙ HIEÄU CUÛA CHEN
Giáo trình Phân tích thiết Kế Hệ Thống 71

IV PHIEÁU THÖÏC THEÅ THUOÄC TÍNH


+ Caùch dieãn taû thuoäc tính beân caïnh moâ hình ER khoâng phuø hôïp cho moâ hình coù qui moâ lôùn.
Trong tröôøng hôïp naøy keøm theo moâ hình ER coù phieáu thöïc theå thuoäc tính.
+ Ví duï:
gôûi bao haøm
HOÏC VIEÂN PHIEÁU GHI DANH MOÂN HOÏC
ñöôïc gôûi bôûi ñöôïc bao haøm bôûi

Phieáu thöïc theå – thuoäc tính


Döï aùn: Heä ghi danh hoïc vieân Ngaøy: 22.02.96
Taäp thöïc theå Teân khaùc Thuoäc tính Teân khaùc
HOÏC VIEÂN Maõ hoïc vieân
Teân hoïc vieân
Ñòa chæ
Ngaøy sinh
Soá ñieän thoaïi
MOÂN HOÏC Maõ moân hoïc
Teân moân hoïc
Thôøi löôïng
PHIEÁU GHI DANH Maõ hoïc vieân
Maõ moân hoïc
Ngaøy nhaäp hoïc
Baûng 2.1: Phieáu thöïc theå thuoäc tính cuûa Tröôøng cao ñaúng coäng ñoàng nuùi xanh
V CAÙCH TIEÁP CAÄN MOÂ HÌNH HOÙA DÖÕ LIEÄU
Giaû söû ta ñaõ hoaøn thaønh giai ñoaïn phaân tích döõ lieäu, trong tröôøng hôïp chuùng ta laø hoaøn thaønh phaàn ñaëc
taû vaán ñeà vaäy phaàn vieäc coøn laïi laø taäp trung caáu truùc hoùa döõ lieäu.
Giáo trình Phân tích thiết Kế Hệ Thống 72

1 Caùc böôùc caáu truùc hoùa döõ lieäu

Bước 1: Nhận diện các tập thực thể


 Taäp thöïc theå laø gì? taäp thöïc theå phaûi laø moät ñoái töôïng (söï vaät, söï vieäc) thöïc hay tröøu töôïng coù lieân
quan ñeán vaán ñeà, lieân quan ñeán döõ lieäu caàn löu tröõ. Teân taäp thöïc theå ñöôïc dieãn taû baèng moät danh töø
nhö:
+ XE COÄ trong Heä quaûn lyù baèng laùi.
+ KHEÁ ÖÔÙC trong Heä Baûo hieåm nhaân thoï.
+ SINH VIEÂN trong Heä thoáng thoâng tin sinh vieân.
+ GIAI ÑOAÏN CAÁT CAÙNH trong Heä thoâng tin caùc chuyeán bay.
+ CHUYEÁN BAY trong Heä thoâng tin caùc chuyeán bay.
 Taäp thöïc theå phaûi coù treân moät thöïc theå ngöôïc laïi, ta khoâng moâ hình noù thaønh taäp thöïc theå.
 Moãi taäp thöïc theå phaûi coù ít nhaát moät thuoäc tính moâ taû.
 taäp thöïc theå phaûi keát hôïp vôùi ít nhaát moät taäp thöïc theå khaùc. Taäp thöïc theå khoâng theå ñöùng rieâng leû.
 taäp thöïc theå phaûi coù thuoäc tính nhaän dieän ñeå phaân bieät thöïc theå naøy vôùi thöïc theå kia trong taäp thöïc
theå.
Bước 2: Nhận diện mối kết hợp giữa các tập thực thể
 Teân taäp thöïc theå keát hôïp vôùi teân moái keát hôïp taïo thaønh caâu dieãn taû qui taéc quaûn lyù cuûa doanh
nghieäp.
 Teân moái keát hôïp phaûi ñöôïc dieãn taû theo hai chieàu.
 Baûn soá (cardinality) cuûa moái keát hôïp phaûi laø moät trong caùc giaù trò sau moät-moät (1:1), moät-nhieàu
(1:M), nhieàu–nhieàu (M:M). Neáu moái keát hôïp giöõa hai taäp thöïc theå laø nhieàu nhieàu vaø toàn taïi moät
thuoäc tính khoâng thuoäc veà moät trong hai taäp thöïc theå naøy thì ta phaûi boå sung theâm taäp thöïc theå keát
hôïp nhö Hình 2.6.
Giáo trình Phân tích thiết Kế Hệ Thống 73

Bước 3: Gắn thuộc tính mô tả vào tập thực thể


 Khaùi nieäm: thuoäc tính laø tính chaát cô baûn gaén lieàn vôùi thöïc theå. Ví duï nhö:
+ XE COÄ coù caùc thuoäc tính
caáu taïo
kieåu daùng
naêm saûn xuaát
maøu
soá maùy
+ BAÛO HIEÅM coù caùc thuoäc tính
loaïi baûo hieåm
ngaøy baûo hieåm
ngaøy heát haïn
phí baûo hieåm haøng naêm
1 Toùm taét

DÖÕ LIEÄU YEÂU CAÀU

1. Nhaän dieän caùc taäp thöïc theå vaø thuoäc tính nhaän dieän

. Nhaän dieän caùc taäp thöïc theå


. Ghi nhaän teân khaùc trong töø ñieån döõ lieäu hay phieáu thöïc theå thuoäc tính
Moãi taäp thöïc theå caàn kieåm tra caùc tính chaát sau:
- coù nhieàu thöïc theå khoâng
- coù thuoäc tính nhaän dieän khoâng
- coù thuoäc tính moâ taû khoâng
- coù moái quan heä vôùi taäp theå khaùc khoâng

2. Nhaän dieän moái quan heä giöõa caùc taäp thöïc theå

. Thieát laäp moái quan heä giöõa caùc taäp thöïc theå
(veõ ñöôøng noái vaø dieãn taû noäi dung moái quan heä theo hai chieàu )
. Xaùc ñònh baûn soá moái quan heä
. Xaùc ñònh taäp keát hôïp trong moái quan heä nhieàu -nhieàu neáu ñöôïc

3. Gaén thuoäc tính moâ taû vaøo taäp thöïc theå

. Gaén moät laàn duy nhaát moãi thuoäc tính vaøo taäp thöïc theå thích hôïp

MOÂ HÌNH DÖÕ LIEÄU

Hình 2.16 - Caùc böôùc vaø coâng vieäc thöïc hieän trong moâ hình hoùa döõ lieäu
Giáo trình Phân tích thiết Kế Hệ Thống 74

2 Thöïc haønh caùc böôùc moâ hình hoùa döõ lieäu


Ví dụ Nhà buôn sỉ kim khí phía bắc
Moät nhaø buoân sæ kim khí phía baéc NHW hoaït ñoäng trong laõnh vöïc kho haøng coù chöùc naêng phaân phoái
haøng. Coâng ty mua haøng töø caùc nhaø cung caáp khaùc nhau. Löu tröõ veà haøng coù caùc thoâng tin nhö maõ
haøng, moâ taû. Coâng ty coù nhu caàu löu tröõ maõ nhaø cung caáp, teân, ñòa chæ, soá ñieän thoaïi, vaø soá fax.
Doanh nghieäp phaûi caïnh tranh, neân moät maët haøng ñöôïc laáy töø nhieàu nhaø cung caáp khaùc nhau vaø moãi
laàn giao, nhaø cung caáp coù theå giao vôùi soá löôïng toái ña theo qui ñònh cuûa töøng maët haøng cuûa töøng nhaø
cung caáp. Haøng ñöôïc ñoùng bao bì. Moãi bao bì coù maõ bao bì vaø kích thöôùc.
Ñoâi khi bao bì laïi quaù nhoû ñeå chöùa taát caû haøng vì theá haøng ñöôïc chöùa treân nhieàu bao bì. Tuy nhieân,
khoâng theå coù hai maët haøng cuøng chöùa trong moät bao bì.
Haõy xaây döïng moâ hình ER cho baøi toaùn treân. Söû duïng caùc böôùc vaø caùc hoaït ñoäng nhö hình 2.16
Các bước thực hiện
 Böôùc 1: Nhaän dieän thöïc theå chính.
Tìm danh töø dieãn taû ñoái töôïng hay khaùi nieäm cuûa baøi toaùn nhö:
+ Nhaø buoân sæ kim khí phía baéc, coâng ty, doanh nghieäp
+ Kho haøng
+ Haøng, maët haøng
+ nhaø cung caáp
+ bao bì

 Böôùc 2: Nhaän dieän moái keát hôïp giöõa caùc thöïc theå
+ Haøng ñöôïc mua töø nhieàu nhaø cung caáp
+ Haøng ñöôïc chöùa treân nhieàu bao bì
Baûn soá cuûa thöïc theå
+ Moãi maët haøng ñöôïc mua töø moät hay nhieàu nhaø cung caáp
+ moãi nhaø cung caáp cung caáp moät hay nhieàu maët haøng
+ moãi maët haøng ñöôïc chöùa trong moät hay nhieàu bao bì
+ moãi bao bì chöùa moät maët haøng
Giáo trình Phân tích thiết Kế Hệ Thống 75

Moái keát hôïp giöõa hai taäp thöïc theå MAËT HAØNG vaø NHAØ CUNG CAÁP laø moái keát hôïp nhieàu-
nhieàu
 Böôùc 3: Gaén caùc thuoäc tính vaøo taäp thöïc theå.
MAËT HAØNG
+ maõ haøng
+ moâ taû
NHAØ CUNG ÖÙNG
+ maõ nhaø cung caáp
+ teân
+ ñòa chæ
+ soá ñieän thoaïi
+ soâ fax
BAO BÌ
+ maõ bao bì
+ kích côõ
?????
+ soá löôïng toái ña
Trong böôùc ba, baûn soá keát noái nhieàu-nhieàu phaûi ñöôïc giaûi thaønh hai baûn soá keát noái moät-nhieàu vì toàn taïi
thuoäc tính soá löôïng toái ña khoâng laø thuoäc tính cuûa caû MAËT HAØNG laãn NHAØ CUNG CAÁP.
Giáo trình Phân tích thiết Kế Hệ Thống 76

VI TÖÏ ÑIEÅN DÖÕ LIEÄU (DATA DICTIONARY)


Nhaèm laøm roõ hôn caùc khaùi nieäm cuûa vaán ñeà, ngöôøi ta phaûi xaây döïng töø ñieån döõ lieäu ñeå giaûi thích theâm
yù nghóa cuûa caùc taäp thöïc theå vaø thuoäc tính. Ví duï taäp thöïc theå haøng

Seõ coù töø ñieån döõ lieäu nhö sau:


Thöïc theå MAËT HAØNG
Teân khaùc haøng, saûn phaåm, haøng hoùa
Moâ taû Haøng laø nhöõng thöù ñöôïc mua vôùi soá löôïng khaùc nhau töø caùc nhaø cung öùng,
ñöôïc löu tröõ trong kho vaø baùn cho khaùch haøng
Thuoäc tính Maõ haøng: Laø moät soá duøng ñeå phaân bieät maët haøng naøy vôùi maët haøng kia.
Giaù trò coù daïng 0001->9999
Moâ taû: Moâ taû maët haøng goàm qui caùch vaø hình daùng. Loaïi döõ lieäu
chuoãi goàm 100 kyù töï. Coù theå coù giaù trò roãng
Ñôn giaù: Ñôn giaù hieän taïi cuûa maët haøng. Coù loaïi döõ lieäu soá vôùi 2 soá
thaäp phaân, coù giaù trò töø 10 ñeán 50. Giaù trò maëc nhieân laø 0
thueá suaát: Tæ suaát thueá baùn cuûa maët haøng ñöôïc ghi döôùi daïng phaàn traêm.
Coù loaïi döõ lieäu soá, coù giaù trò töø 0 ñeán 99. Giaù trò maëc nhieân 0
Thuoäc tính caàn ñeà caäp caùc noäi dung sau:
- Giaûi thích ngöõ nghóa.
- Xaùc ñònh kieåu döõ lieäu.
- Xaùc ñònh mieàn giaù trò
- Xaùc ñònh giaù trò maëc nhieân
- Cho pheùp ñeå roãng khoâng
- Xaùc ñònh caùc raøng buoäc khaùc
VII BAØI TAÄP
1 Baøi 2.1
Tröôøng Cao ñaúng coäng ñoàng nuùi xanh xem xeùt laïi vaán ñeà hoïc vieân/moân hoïc vaø quyeát ñònh ñöa chi tieát
veà chuû ñeà vaøo cô sôû döõ lieäu cuûa hoï. Thoâng tin veà chuû ñeà coù maõ chuû ñeà, teân chuû ñeà, thời lượng (môn
học không còn thuộc tính thời lượng). Haõy söûa ñoåi moâ hình ER sao cho noù theå hieän ñöôïc caùc qui taéc
quaûn lyù sau:
(a) Moät hoïc vieân coù theå ghi danh hoïc nhieàu chuû ñeà vaø moät chuû ñeà ñöôïc hoïc bôûi nhieàu hoïc vieân.
(b) Moät moân hoïc bao goàm moät soá chuû ñeà vaø moät chuû ñeà chæ thuoäc veà moät moân hoïc.
(c) Moät soá chuû ñeà coù tính baét buoäc coøn moät soá coù tính nhieäm yù.
(d) Ñieåm cuûa hoïc vieân cuûa moãi chuû ñeà cuõng ñöôïc ghi nhaän.
2 Baøi 2.2
HT mua haøng (nhaän dieän bôûi maõ haøng) töø caùc nhaø cung caáp (nhaän dieän bôûi maõ nhaø cung caáp) khaùc
nhau. Vieäc giao haøng ñöôïc thöïc hieän theo thoâng leä thoâng thöôøng vaø soá löôïng cuûa töøng maët haøng trong
moãi laàn giao cuûa töøng nhaø cung caáp ñöôïc ghi nhaän. Moät nhaø cung caáp coù theå cung caáp cuøng maët haøng
nhöng khoâng cuøng ngaøy. Ñôn giaù cung caáp cuûa moät maët haøng coù theå khaùc nhau trong töøng chuyeán
Giáo trình Phân tích thiết Kế Hệ Thống 77

haøng. HT mong muoán ghi nhaän moâ taû maët haøng vaø ñôn giaù cuõng nhö soá löôïng ñaõ ñöôïc cung caáp. Teân,
ñòa chæ, soá ñieän thoaïi vaø soá fax cuûa nhaø cung caáp cuõng ñöôïc löu vaøo cô sôû döõ lieäu.
Haõy xaây döïng moâ hình ER vaø phieáu thöïc theå thuoäc tính cuûa vaán ñeà.
3 Baøi 2.3
Haõy söûa ñoåi baøi taäp 2.1 cho pheùp söï thay ñoåi veà qui taéc quaûn lyù cuûa tröôøng cao ñaúng coäng ñoàng nuùi
xanh sao cho:
(a) Moät chuû ñeà coù theå naèm trong nhieàu moân hoïc.
(b) Moät hoïc vieân coù theå ghi danh vaøo moät chuû ñeà nhieàu laàn (chaúng haïn Maria ruùt khoûi cô khí maùy
daàu ôû hoïc kyø 1 naêm 1995 vaø coù keá hoaïch ghi danh laïi trong hoïc kyø 2. John ñaõ rôùt trong kyø thi
thöïc haønh ngheà naáu aên thöôïng haïng nhöng ñöôïc pheùp ghi danh laïi vaøo hoïc kyø tieáp vì anh ñaõ ñaït
keát quaû toát trong caùc chuû ñeà khaùc.
4 Baøi 2.4
NOS laø moät nhaø cung caáp ñoà duøng vaên phoøng vaø trang thieát bò vaên phoøng cho caùc toå chöùc doanh
nghieäp trong caû nöôùc. Hoï söû duïng ñöôøng böu ñieän ñeå nhaän vaø gôûi ñôn haøng, ca-ta-loâ theo thoâng leä
thoâng thöôøng. Coù nhieàu loaïi ca-ta-loâ, chaúng haïn loaïi ca-ta-loâ tuaàn, loaïi ca-ta-loâ thaùng, loaïi ca-ta-loâ quùi.
Hoï cuõng coù caùc loaïi ca-ta-loâ chuyeân muïc veà moät soá maët haøng, chaúng haïn:
– Loaïi ca-ta-loâ OE chuyeân veà trang thieát bò vaên phoøng.
– Loaïi ca-ta-loâ PS chuyeân veà saûn phaåm giaáy vaø ñoà duøng vaên phoøng.
– Loaïi ca-ta-loâ CE chuyeân veà trang thieát bò maùy tính vaø caùc phuï kieän.
NOS mong muoán löu tröõ chi tieát veà saûn phaåm maø hoï cung caáp cuï theå maõ haøng, moâ taû, maøu saéc vaø ñôn
vò tính. Chuûng loaïi caùc maët haøng trong moãi loaïi ca-ta-loâ thì khaùc nhau töø vaøi traêm cho loaïi ca-ta-loâ tuaàn
ñeán vaøi ngaøn cho loaïi ca-ta-loâ quí. Moät saûn phaåm coù theå xuaát hieän treân nhieàu loaïi ca-ta-loâ.
NOS phaùt haønh caùc loaïi ca-ta-loâ theo töøng ñôït xuaát baûn. Moät saûn phaåm chæ xuaát hieän moät laàn treân moät
ca-ta-loâ nhöng coù theå coù caùc giaù khaùc nhau treân caùc ñôït xuaát baûn khaùc nhau. Moãi ca-ta-loâ coù moät ngaøy
baét ñaàu khuyeán maõi vaø ngaøy keát thuùc khuyeán maõi. Thôøi gian khuyeán maõi cuûa caùc ca-ta-loâ khaùc nhau
coù theå truøng leân nhau chaúng haïn:
– truøng moät phaàn: ca-ta-loâ tuaàn coù thôøi gian khuyeán maõi truøng moät phaàn vôùi ca-ta-loâ quí.
– truøng toaøn boä: ca-ta-loâ CE coù theå coù cuøng thôøi gian khuyeán maõi vôùi ca-ta-loâ tuaàn.
Haõy xaây döïng moâ hình ER cuûa vaán ñeà vaø chuù yù ñeán söï kieän giaù moät maët haøng thì khaùc nhau trong caùc
ca-ta-loâ khaùc nhau, trong caùc khoaûng thôøi gian khaùc nhau.
5 Baøi 2.5
Söûa ñoåi baøi taäp 2.4 sao cho NOS coù theå ghi nhaän haøng ñaõ cung caáp cho khaùch haøng. Thoâng tin veà
khaùch haøng coù maõ khaùch haøng, hoï teân, ñòa chæ. Khi moät khaùch haøng ñaët mua haøng töø NOS thì maõ ca-ta-
loâ (nhö OE, PS) vaø ñôït xuaát baûn ñöôïc ghi keøm theo maõ haøng trong ñôn haøng. Ñieàu naøy cho pheùp NOS
cung caáp cho khaùch haøng, saûn phaåm coù giaù ñuùng vôùi ca-ta-loâ cuûa khaùch haøng. Moät ñôn haøng coù nhieàu
maët haøng vaø moãi maët haøng ñeàu coù soá löôïng ñaët mua. Thoâng tin veà ñôn haøng coù soá ñôn haøng (duy nhaát),
ngaøy ñôn haøng vaø chi tieát khaùch haøng.
6 Traéc nghieäm
6.1) Which of the following is not correct?
Answer ?
A) Entity Relationship Diagrams use four items; Rectangles, circles, lines, degree of relation (such
as one to many).
B) Entity Relationship Diagrams show entities, how the entities interact and the attributes.
Giáo trình Phân tích thiết Kế Hệ Thống 78

C) In trasforming Entity Relationship Diagrams to a Database, entities become tables.


D) Entity Relationship Diagrams are a graphical approach to modeling that helps the user design
systems
6.2) A type of documentation that contains the definition and the characteristics of the data elements
within a data base is known as a:
A) record layout
B) data dictionary
C) data model
D) data flow diagram
E) entity-relationship model.
6.3) An entity type whose existence depends on another entity type is called a (n) _____entity
A) Co dependent
B) Variant
C) Strong
D) Weak
6.4) An entity that associates the instances of one or more entity types and contains attributes specific
to the relationships is called a(n)
A) Associative entity
B) Intersectional entity
C) All of the above
D) Connecting entity
6.5) A persons name, birthday, and social security number are all examples of
A) Descriptors
B) None of the above
C) Relationships
D) Entities
E) Attributes
6.6) A data model is
A) Shown as an entity-relationship diagram
B) A logical representation of the structure of the database.
C) Transformed into tables and ralationships
D) All of the above
6.7) One of the important properties of an attribute is whether or not it is required
A) False
B) True
----oOo----
Giáo trình Phân tích thiết Kế Hệ Thống 79

Chương 7 : MÔ HÌNH QUAN HỆ


(THE RELATIONAL MODEL)

I MOÂ HÌNH QUAN HEÄ LAØ GÌ


1 Quan heä (relation)
Moâ hình quan heä xoay quan caùc khaùi nieäm quan heä, boä (tuple) vaø thuoäc tính (attribute). Nhöõng khaùi
nieäm naøy töông öùng vôùi caùc khaùi nieäm taäp thöïc theå, thöïc theå vaø thuoäc tính.

Hình 3.1 trình baøy moâ hình ER vaø moâ hình quan heä töông öùng cuûa vaán ñeà Tröôøng Cao Ñaúng Coäng
Ñoàng Nuùi Ayers. Moâ hình quan heä chæ laø moät daïng trình baøy khaùc cuûa moâ hình ER. Cuoái chöông naøy,
chuùng ta seõ bieát laøm theá naøo ñeå chuyeån ñoåi moâ hình ER thaønh moâ hình quan heä.
2 Thöïc theå, quan heä, vaø baûng (table)
Tieán trình giaûi baøi toaùn csdl ñöôïc phaùt trieån töø moâ hình döõ lieäu sang moâ hình quan heä roài cuoái cuøng
sang baûng trong csdl.

Ví duï: RFC laø nhaø buoân sæ thieát bò ñieän vaø ñieän töû. Hoï baùn nhieàu maët haøng cho ngaønh coâng nghieäp
ñieän töû. Coâng vieäc ñaàu tieân maø Coâng ty mong muoán thöïc hieän laø löu tröõ döõ lieäu haøng hoùa trong moät
csdl. Hoï ñaëc bieät quan taâm löu tröõ veà maõ haøng, moâ taû, loaïi haøng, tæ suaát thueá baùn ra, ñôn giaù sæ, ñôn giaù
leû, ñôn giaù chuïc.
Giáo trình Phân tích thiết Kế Hệ Thống 80

MOÂ HÌNH THÖÏC THEÅ MOÂ HÌNH QUAN HEÄ BAÛNG TRONG HQTCSDL
taäp thöïc theå quan heä Baûng
thöïc theå boä doøng hay maãu tin
thuoäc tính thuoäc tính coät hay vuøng
giaù trò thuoäc tính giaù trò thuoäc tính giaù trò vuøng
Baûng 3.1 – Moái töông quan giöõa caùc khaùi nieäm qua caùc moâ hình
3 Boä (tuple)
 laø moät boä caùc giaù trò cuûa caùc thuoäc tính trong moät doøng cuûa quan heä.
 thöù töï xuaát hieän caùc thuoäc tính trong moät boä thì khoâng aûnh höôûng ñeán keát quaû tính toaùn.
 moät boä coù tính duy nhaát trong quan heä. Nghóa laø trong moät quan heä khoâng theå coù hai boä gioáng nhau
(giaù trò caùc thuoäc tính ñeàu gioáng nhau).
 Moät thuoäc tính hay nhoùm caùc thuoäc tính duøng ñeå phaân bieät boä naøy vôùi boä kia trong quan heä ñöôïc
goïi laø khoaù chính.
 khoùa chính trong moät quan heä laïi xuaát hieän trong moät quan heä khaùc ñöôïc goïi laø khoùa ngoaïi.
4 Thuoäc tính (attribute)
Phaàn giao giöõa doøng vaø coät laø giaù trò thuoäc tính. Giaù trò cuûa thuoäc tính phaûi laø giaù trò ñôn khoâng ña trò
hay caáu truùc. Moät quan heä coù giaù trò thuoäc tính nhö vaäy thì quan heä naøy ñaït daïng chuaån moät. Ví duï sau
cho thaáy moät quan heä maø giaù trò thuoäc tính ñôn giaù laø ña trò.
Giáo trình Phân tích thiết Kế Hệ Thống 81

0.68
1003 tuï ñieän 1000 ufd 22 1.24
1.08
0.83
1007 tuï ñieän 2200 ufd 22 1.52
1.32
1.27
1012 tuï ñieän 3300 ufd 22 1.69
1.47
Baûng 3.4a - Quan heä khoâng ñaït daïng
chuaån 1
5 Kyù hieäu
 Teân quan heä ñöôïc ghi baèng chöõ hoa tröôùc ngoaëc troøn vaø taát caû thuoäc tính ñöôïc lieät keâ trong ngoaëc
troøn.
 Khoùa chính gaïch chaân.
 Khoùa ngoaïi vieát nghieâng
II KHOÙA
1 Khoaù (key, candidate key)
Laø taäp hôïp nhoû nhaát caùc thuoäc tính maø giaù trò cuûa noù duøng ñeå phaân bieät boä naøy vôùi boä kia trong moät
quan heä.
2 Khoùa hôïp (composite key)
Laø khoùa coù treân moät thuoäc tính.
3 Khoùa chính (primary key)
Laø khoùa ñöôïc choïn ñeå caøi ñaët trong moät HQTCSDL. Khi choïn khoùa chính ta phaûi chuù yù caùc tính chaát
sau: aùp duïng, duy nhaát, nhoû nhaát, oån ñònh.
 Khoùa coù tính aùp duïng khi noù khoâng boû soùt baát kyø tröôøng hôïp naøo cuûa vaán ñeà.
 Khoùa phaûi coù tính duy nhaát duøng ñeå phaân bieät boä naøy vôùi boä kia trong quan heä.
 Khoùa coù tính nhoû nhaát khi ta boû baát kyø thuoäc tính naøo cuûa noù thì noù khoâng coøn tính duy nhaát nöõa.
 Khoùa coù tính oån ñònh khi giaù trò cuûa khoùa khoâng thay ñoåi.
Ví duï veà khoùa chính khoâng oån ñònh
WSE baùn leû ñoà ñieän, laø cöûa haøng ñöôïc cung caáp haøng bôûi NSD. Thoûa thuaän giöõa WSE vaø NSD laø WSE
phaûi mua toái thieåu 90% haøng cuûa NSD. WSE coù theå mua toái ña 10% haøng cuûa nhöõng nhaø cung öùng ñoäc
laäp khaùc.
WSE ñang thieát laäp moät heä maùy tính cho ñieàu haønh vaø xöû lyù ñôn haøng. Heä söû duïng cuøng maõ saûn phaåm
vôùi NSD vaø taïo maõ rieâng cho nguoàn haøng mua töø nôi khaùc.
Ví duï treân daãn tôùi hai vaán ñeà nhö sau:
 Khi NSD thay ñoåi maõ haøng thì maõ haøng cuûa WSE seõ bò thay ñoåi theo gaây ra tính maát oån ñònh.
 Khi moät maët haøng vöøa ñöôïc cung öùng töø nhaø cung öùng ñoäc laäp vaø töø NSD thì seõ gaây ra tình traïng
moät maët haøng coù tôùi hai maõ haøng khaùc nhau. Ñeå traùnh tình traïng naøy buoäc loøng phaûi thay ñoãi maõ
haøng.
Giáo trình Phân tích thiết Kế Hệ Thống 82

4 Khoùa ngoaïi (foreign key)


Trong moâ hình quan heä, ñeå dieãn taû moái keát hôïp, ngöôøi ta cheùp khoùa chính töø quan heä naøy sang quan heä
kia. Trong quan heä nhaän, khoaù ñöôïc cheùp sang goïi laø khoùa ngoaïi.

5 Khoùa döï tuyeån vaø khoùa khaùc


Ví duï veà khoùa döï tuyeån.
ANFD (Lieân hieäp caùc nhaø phaân phoái thöïc phaåm quoác teá) laø moät taäp ñoaøn phuïc vuï khaùch haøng thoâng
qua maïng löôùi caùc vaên phoøng buoân baùn caáp quoác gia vaø noù coù treân 150 vaên phoøng nhö vaäy. ANFD
quaûn lyù chi tieát xe cuûa caùc vaên phoøng ñaïi dieän baèng quan heä sau:
XE(soá ñaêng boä, qui caùch, hình daùng, maøu saéc, soá söôøn, soá maùy, maõ xe, quoác gia)
Böôùc ñaàu, coù moät soá nhoùm thuoäc tính coù khaû naêng phaân bieät xe naøy vôùi xe kia. Caùc nhoùm thuoäc tính
naøy ñöôïc goïi laø khoùa döï tuyeån: (soá ñaêng boä, quoác gia), (soá söôøn), (soá maùy), (maõ xe)
Khoùa döï tuyeån Ñieàu kieän Dieãn giaûi
choïn löïa
Soá ñaêng boä, quoác gia AÙp duïng Gaây ra vaán ñeà khi caàn löu tröõ thoâng tin veà xe chöa ñaêng boä
Oån ñònh Gaây ra vaán ñeà vì soá ñaêng boä coù khaû naêng thay ñoåi. Khi soá ñaêng boä
thay ñoåi (khi baùn xe) ta phaûi söûa laïi giaù trò soá ñaêng boä cuûa xe ñoù
laøm cho khoùa chính khoâng oån ñònh
Duy nhaát Chæ rieâng soá ñaêng boä khoâng coù tính duy nhaát töø quoác gia naøy sang
quoác gia khaùc
Nhoû nhaát Khoâng nhoû nhaát trong phaïm vi moät quoác gia
Soá söôøn AÙp duïng Khoâng coù vaán ñeà vì moãi xe coù soá söôøn khaùc nhau
Oån ñònh Khoâng coù vaán ñeà vì soá söôøn khoâng thay ñoåi
Duy nhaát Duy nhaát cho moãi xe
Nhoû nhaát Chæ goàm moät thuoäc tính thì ñöông nhieân nhoû nhaát
Soá maùy AÙp duïng Khoâng vaán ñeà
Oån ñònh Coù vaán ñeà vì maùy coù khaû naêng ñöôïc thay môùi
Duy nhaát Khoâng coù vaán ñeà
Nhoû nhaát Chæ goàm moät thuoäc tính thì ñöông nhieân nhoû nhaát
Maõ xe AÙp duïng Khoâng coù vaán ñeà vì do coâng ty taïo ra
Giáo trình Phân tích thiết Kế Hệ Thống 83

Oån ñònh Khoâng coù vaán ñeà vì do coâng ty taïo ra


Duy nhaát Khoâng coù vaán ñeà vì coâng ty töï chòu traùch nhieäm baûo ñaûm chuùng
phaûi khaùc nhau
Nhoû nhaát Chuùng chæ goàm moät thuoäc tính neân ñöông nhieân nhoû nhaát

Qua baûng phaân tích treân thì khoùa chính coù khaû naêng laø moät trong hai thuoäc tính sau: Soá söôøn vaø maõ xe
Do soá söôøn thöôøng daøi vaø khoâng ñoàng nhaát neân khoâng tieän trong coâng taùc quaûn lyù cuûa coâng ty. Coâng ty
töï taïo ra maõ xe laø giaûi phaùp choïn löïa coù tính thöïc tieãn cao.

6 Khoùa nhaân taïo (khoùa ñaïi dieän) artificial key (surrogate key)
Ñoâi khi vieäc xaùc ñònh khoùa chính khoâng phaûi luùc naøo cuõng thöïc hieän ñöôïc do boán tính chaát raøng buoäc:
aùp duïng, oån ñònh, duy nhaát, nhoû nhaát. Trong caùc tröôøng hôïp nhö vaäy, buoäc ta phaûi ñöa vaøo moät thuoäc
tính vôùi muïc ñích laøm khoùa chính ñöôïc goïi laø khoùa nhaân taïo (artificial key), ñoâi khi coøn goïi laø khoùa ñaïi
dieän (surrogate key). Caùc khoùa nhaân taïo nhö: maõ nhaân vieân, maõ khaùch haøng, soá hoùa ñôn, maõ taøi saûn coá
ñònh.
Khoùa nhaân taïo luoân luoân thoûa 4 tính chaát aùp duïng, oån ñònh, duy nhaát, nhoû nhaát. Khi söû duïng khoùa nhaân
taïo ta caàn chuù yù caùc ñieàu sau:
 Khoâng gaén ngöõ nghóa cuûa vaán ñeà vaøo khoùa nhö maõ khaùch haøng töø 1 ñeán 1000 laø khaùch haøng cuûa
caùc chi nhaùnh phía baéc, maõ khaùch haøng lôùn hôn 1000 laø khaùch haøng cuûa caùc chi nhaùnh phía nam.
 Khoâng duøng laïi giaù trò khoùa ñaõ xoùa cho moät boä giaù trò môùi vì aûnh höôûng ñeán döõ lieäu cuõ.
 Kieåm tra tröôøng hôïp nhaäp hai boä giaù trò cuûa moät ñoái töôïng.
7 Khoùa phuï (Secondary keys)
Khoùa phuï laø moät thuoäc tính hay moät nhoùm caùc thuoäc tính thöôøng hay ñöôïc söû duïng trong khai thaùc döõ
lieäu. Ví duï vaán ñeà Tröôøng cao ñaúng coäng ñoàng nuùi Ayers coù thuoäc tính teân hoïc vieân vaø thuoäc tính teân
moân hoïc hay ñöôïc duøng trong tìm kieám neân chuùng ñöôïc saép xeáp ñeå ñaåy nhanh toác ñoä xöû lyù. Nhöõng
vuøng naøy ñöôïc goïi laø khoùa phuï.
III NHÖÕNG TÍNH CHAÁT KHAÙC CUÛA MOÂ HÌNH QUAN HEÄ
Nhöõng tính chaát khaùc cuûa moâ hình quan heä laø:
 Ñaïi soá quan heä, pheùp tính quan heä vaø
 Raøng buoäc toaøn veïn
1 Ñaïi soá quan heä, pheùp tính quan heä
Ñaïi soá quan heä vaø pheùp tính quan heä taïo ra moät soá chöùc naêng nhö:
 Trích moät soá doøng trong quan heä.
 Trích moät soá coät trong quan heä.
 Keát noái quan heä thoâng qua khoùa ngoaïi
Giáo trình Phân tích thiết Kế Hệ Thống 84

Caùc chöùc naêng naøy ñöôïc theå hieän trong HQTCSDL quan heä qua ngoân ngöõ SQL. SQL laø ngoân ngöõ phi
thuû tuïc chuùng khai thaùc döõ lieäu baèng caùch moâ taû truy xuaát caùi gì hôn laø truy xuaát nhö theá naøo.
2 Raøng buoäc toaøn veïn
Moâ hình quan heä ñònh nghóa ba möùc raøng buoäc:
 Raøng buoäc toaøn veïn thöïc theå (Entity integrity constraint)
 Raøng buoäc toaøn veïn tham chieáu (Referential integrity constraint)
 Raøng buoäc toaøn veïn loaïi döõ lieäu (Data type integrity constraint)
 Raøng buoäc mieàn giaù trò (Domain integrity constraint)
Raøng buoäc thöïc theå (entity Integrity)
Thöïc chaát cuûa raøng buoäc thöïc theå laø caùc raøng buoäc treân khoùa chính thoûa maõn caùc tính chaát: duy nhaát,
khoâng roãng, nhoû nhaát.
Raøng buoäc phuï thuoäc toàn taïi (referential Integrity)
Raøng buoäc toàn taïi ñoøi hoûi giaù trò khoùa ngoaïi trong moät quan heä phaûi toàn taïi trong quan heä coù khoùa
chính töông öùng.
HOÏC VIEÂN MOÂN HOÏC
Maõ hoïc Teân hoïc … Maõ moân Maõ moân Teân moân hoïc Thôøi
vieân vieân hoïc hoïc löôïng
91215 Jenny BBW BKE Cöû nhaân coâng ngheä bay 36
92325 Mun Chan ADRC ADRC Chöùng chæ leo nuùi 12
93642 Alexander … DFA BBW Cöû nhaân nuoâi chim 24
… … … … DFA Vaên baèng caém hoa 18
… … … ….
96789 Sarah DJK ?
Hình 3.7 – Raøng buoäc sö toàn taïi bò vi phaïm bôûi hoïc vieân 96789
Raøng buoäc loaïi döõ lieäu (data type integrity)
Raøng buoäc loaïi döõ lieäu ñoøi hoûi giaù trò thuoäc tính phaûi laø loaïi döõ lieäu cuûa thuoäc tính.
Ví duï Tröôøng coäng ñoàng nuùi Ayers quyeát ñònh thu hoïc phí caùc moân hoïc vaø hoïc phí cuûa moãi moân hoïc thì
khaùc nhau. Ta löu tröõ thoâng tin naøy baèng caùch theâm thuoäc tính hoïc phí vaøo quan heä moân hoïc. Ta ñöôïc:
MOÂN HOÏC(maõ moân hoïc, teân moân hoïc, thôøi löôïng, hoïc phí)
Loaïi döõ lieäu cuûa thuoäc tính hoïc phí laø loaïi tieàn teä nhö caùc giaù trò sau: $280.00,$65.95,$890.99
3 Keát noái quan heä
Toaùn töû keát noái quan heä ñöôïc caøi ñaët trong coâng cuï SQL cuûa HQTCSDL. Ví duï: ñeå khai thaùc chi tieát
veà hoïc vieân ñang hoïc moân hoïc gì thì quan heä HOÏC VIEÂN vaø MOÂN HOÏC phaûi ñöôïc keát noái thoâng qua
maõ moân hoïc
4 Mieàn giaù trò (data domain integrity)
Mieàn giaù trò laø caùc giaù trò coù theå coù trong loaïi döõ lieäu. Ví duï Tröôøng coäng ñoàng nuùi Ayers quyeát ñònh
möùc hoïc phí cuûa töøng moân hoïc khoâng lôùn hôn $300.00. Nhö vaäy mieàn giaù trò laø töø 0 ñeán $300.00. Mieàn
giaù trò naèm trong qui taéc quaûn lyù cuûa doanh nghieäp, thöôøng hay thay ñoåi coøn loaïi giaù trò thì ít thay ñoåi.
5 Raøng buoäc do ngöôøi duøng (user constraint)
 Hoïc sinh khuyeát taät ñöôïc giaûm 10% hoïc phí
 Ñôn mua haøng coù giaù trò lôùn hôn $10.000 ñöôïc giaûm 5%.
Giáo trình Phân tích thiết Kế Hệ Thống 85

IV QUI TAÉC BIEÁN ÑOÅI MOÂ HÌNH ER THAØNH MOÂ HÌNH QUAN HEÄ

THIEÁT KEÁ HEÄ THOÁNG


(SYSTEMS DESIGN)

1. Thieát keá giao dieän con ngöôøi (designing the human interface)
2. Thieát keá cô sôû döõ lieäu (designing database)
a) Thieát keá csdl logic (designing logical database)
- Bieán ñoåi moâ hình ER thaønh moâ hình quan heä
- Kieåm tra yeâu caàu chöùc naêng
- Chuaån hoùa cô sôû döõ lieäu
b) Thieát keá csdl vaät lyù (designing physical database)
- Chuyeån caùc quan heä ñaït chuaån thaønh caùc ñaëc taû taäp tin maùy tính

THÖÏC HIEÄN VAØ VAÄN HAØNH HEÄ THOÁNG


(SYSTEMS IMPLEMENTATION AND OPERATION)

Hình: Kieåm tra yeâu caàu chöùc naêng trong qui trình PTTKHT

1 Qui taéc bieán ñoåi moâ hình ER


Khi bieán ñoåi moâ hình ER thaønh caùc moâ hình quan heä ta aùp duïng caùc qui taéc sau:
 Moãi taäp thöïc theå trong moâ hình ER ñöôïc chuyeån thaønh moät quan heä.
 Moãi thuoäc tính trong moâ hình ER ñöôïc chuyeån thaønh thuoäc tính trong quan heä töông öùng.
 Thuoäc tính nhaän dieän trong moâ hình ER ñöôïc chuyeån thaønh khoùa chính trong quan heä töông öùng.
Tröôøng hôïp khoùa chính khoâng thoûa 4 tính chaát choïn löïa, thì phaûi choïn khoùa chính khaùc hay ñöa vaøo
khoùa nhaân taïo.
 Theå hieän moái keát hôïp thoâng qua khoùa ngoaïi.
2 Qui taéc theå hieän moái keát hôïp thoâng qua khoùa ngoaïi
Mối kết hợp một-một
 Chuyeån khoùa chính töø quan heä 1 sang quan heä 2 hay ngöôïc laïi. Ví duï vaán ñeà ngöôøi laùi xe vaø baèng
laùi seõ coù moâ hình quan heä laø moät trong hai moâ hình quan heä sau
Giáo trình Phân tích thiết Kế Hệ Thống 86

Moái keát hôïp moät-nhieàu


 Chuyeån khoùa chính töø beân moät sang beân nhieàu.

Moái keát hôïp nhieàu nhieàu ñöôïc giaûi baèng taäp keát hôïp

Moâ hình quan heä


HOÏC VIEÂN (maõ hoïc vieân, teân hoïc vieân, ñòa chæ, ngaøy sinh, soá ñieän thoaïi)
MOÂN HOÏC (maõ moân hoïc, teân moân hoïc, thôøi löôïng)
PHIEÁU GHI DANH (maõ hoïc vieân, maõ moân hoïc, ngaøy nhaäp hoïc)
Hình 3.10 - Moâ hình ER vaø moâ hình quan heä cuûa vaán ñeà Tröôøng Cao Ñaúng Coäng Ñoàng Nuùi
Xanh
Trong quan heä PHIEÁU GHI DANH coù caùc khoùa chính khoùa ngoaïi nhö sau:
+ maõ hoïc vieân laø khoùa ngoaïi
+ maõ moân hoïc laø khoùa ngoaïi
Giáo trình Phân tích thiết Kế Hệ Thống 87

+ maõ hoïc vieân vaø maõ moân hoïc laø khoùa chính
Moái keát hôïp nhieàu-nhieàu
 Taïo moät quan heä môùi coù khoùa chính laø söï keát hôïp caùc khoùa chính cuûa hai quan heä coù baûn soá keát noái
nhieàu nhieàu.
 Ví duï giaû söû Tröôøng Cao Ñaúng Coäng Ñoàng Nuùi Xanh khoâng quan taâm ñeán ngaøy nhaäp hoïc cuûa hoïc
vieân thì moâ hình ER seõ coù moái keát hôïp nhieàu nhieàu nhö sau:
Moâmaõ
hìnhhoïc
ER vieân
maõ moân
teân hoïc ghi danh
hoïc
vieân HOÏC vaøo MOÂN
ñöôïc ghi danh teân moân
ñòa chæ VIEÂN HOÏC
bôûi hoïc
ngaøy sinh thôøi löôïng
soá ñieän
Moâ hình quan
thoaïi
heä
HOÏC VIEÂN(maõ hoïc vieân, teân hoïc vieân, ñòa chæ, ngaøy sinh,
soá ñieän thoaïi)
MOÂN HOÏC(maõ moân hoïc, teân moân hoïc, thôøi löôïng)
HOÏC VIEÂN MOÂN HOÏC(maõ hoïc vieân, maõ
moân hoïc)

Hình 3.11 - Moâ hình ER vaø moâ hình quan heä


cuûa vaán ñeà Tröôøng cao ñaúng coäng ñoàng nuùi xanh khoâng coù thuoäc
tính ngaøy nhaäp hoïc

3 Toùm taét caùc qui taéc bieán ñoåi


DÖÕ LIEÄU YEÂU CAÀU

PHAÂN TÍCH

MOÂ HÌNH DÖÕ LIEÄU

QT 1: Moãi taäp thöïc theå trong moâ hình ER ñöôïc chuyeån thaønh moät quan heä
QT 2: Moãi thuoäc tính trong moâ hình ER ñöôïc chuyeån thaønh thuoäc tính trong quan heä töông öùng
QT 3: Thuoäc tính nhaän dieän trong moâ hình ER ñöôïc chuyeån thaønh khoùa chính
trong quan heä töông öùng.Tröôøng hôïp khoùa chính khoâng thoûa 4 tính chaát choïn löïa,
thì phaûi choïn khoùa chính khaùc hay ñöa vaøo khoùa nhaân taïo.
THIEÁT KEÁ QT 4: Theå hieän moái quan heä thoâng qua khoùa ngoaïi:
1 : 1 Chuyeån khoùa chính töø quan heä 1 sang quan heä 2 hay ngöôïc laïi.
1 :M Chuyeån khoùa chính töø beân moät sang beân nhieàu.
M:M Taïo quan heä toaøn khoùa

QUAN HEÄ DÖÏ TUYEÅN

Hình 3.14 - Toùm taét caùc qui taéc bieán ñoåi moâ hình ER thaønh moâ hình quan heä
treân khung cuûa caùc giai ñoaïn

V BAØI TAÄP
1 Baøi taäp 1
Ñoái vôùi vaán ñeà sau ñaây haõy:
• (a) xaây döïng moâ hình ER
• (b) ñeà xuaát veà thuoäc tính nhaän dieän vaø thuoäc tính moâ taû moät caùch thích hôïp.
Giáo trình Phân tích thiết Kế Hệ Thống 88

• (c) chuyeån moâ hình ER thaønh moâ hình quan heä vaø cho bieát khoùa chính, khoùa ngoaïi.
• (d) keâ theâm caùc giaû ñònh cuûa vaán ñeà.

Moät nhaân vieân coù theå yeâu caàu ñöôïc cung caáp vaät tö töø ngöôøi quaûn lyù. Neáu ngöôøi quaûn lyù ñoàng yù vôùi
baûn yeâu caàu thì caùc vaät tö töø baûn yeâu caàu ñöôïc choïn theo nhaø cung caáp ñeå taïo caùc ñôn mua haøng vaø
gôûi cho caùc nhaø cung caáp thích hôïp.
2 Traéc nghieäm
2.1) A table’s primary key field
A) Guaranties that each row is unique
B) Is always referenced by a foreign key in another table
C) Is a combination of two keys that make a foreign key
D) In a one to many relationship is also its own foreign key.
E) Is always stored in one column
2.2) Entity integrity is when:
A) There are no composite primary keys
B) Referential integrity has been upheld.
C) None of the above.
D) Primary key values are unique.
E) Entity relationship diagram is correct
2.3) The field used to id records in a database table is known as the:
A) Query Identifier
B) Primary key
C) Relational Column
D) Header
E) Row
2.4)Which of the following is correct about referential integrity?
A)  Ensures tables are up to date
B)  Prevents data tables from having orphans
C)  Shows how tables are related to each other

----oOo----
Giáo trình Phân tích thiết Kế Hệ Thống 89

Chương 8 : PHÂN TÍCH DỮ LIỆU VÀ YÊU CẦU CHỨC NĂNG


(DATA ANALYSIS AND FUNCTIONAL REQUIREMENTS)

I GIÔÙI THIEÄU
1 Hoaït ñoäng kieåm tra yeâu caàu chöùc naêng
Hoaït ñoäng kieåm tra yeâu caàu chöùc naêng ñoâi khi coøn goïi laø löôïng giaù moâ hình (validating the model, data
model validation) nhaèm phaùt hieän sai soùt trong moâ hình döõ lieäu, laøm cho moâ hình döõ lieäu phuø hôïp vôùi
yeâu caàu cuûa heä thoáng hôn. Kieåm tra yeâu caàu chöùc naêng laø hoaït ñoäng naèm trong giai ñoaïn thieát keá csdl
logic (hình).

THIEÁT KEÁ HEÄ THOÁNG


(SYSTEMS DESIGN)

1. Thieát keá giao dieän con ngöôøi (designing the human interface)
2. Thieát keá cô sôû döõ lieäu (designing database)
a) Thieát keá csdl logic (designing logical database)
- Bieán ñoåi moâ hình ER thaønh moâ hình quan heä
- Kieåm tra yeâu caàu chöùc naêng
- Chuaån hoùa cô sôû döõ lieäu
b) Thieát keá csdl vaät lyù (designing physical database)
- Chuyeån caùc quan heä ñaït chuaån thaønh caùc ñaëc taû taäp tin maùy tính

THÖÏC HIEÄN VAØ VAÄN HAØNH HEÄ THOÁNG


(SYSTEMS IMPLEMENTATION AND OPERATION)

Hình: Kieåm tra yeâu caàu chöùc naêng trong qui trình PTTKHT

2 Phaân tích heä thoáng thoâng tin


Phaân tích heä thoáng thoâng tin coù caùc khía caïnh sau:
 Phöông phaùp tieáp caän töø treân xuoáng (töø toång quaùt ñeán chi tieát) (top down approach)
 Taäp trung chuù yù vaøo döõ lieäu yeâu caàu vaø moái keát hôïp cuûa chuùng.
 Phaân tích heä thoáng thoâng tin taïo ñieàu kieän cho vieäc duøng laïi döõ lieäu.
3 Phaân tích döõ lieäu
Ngöôïc laïi vôùi phaân tích heä thoáng thoâng tin, phaân tích döõ lieäu chæ taäp trung vaøo moät öùng duïng trong moät
toå chöùc nhö heä ñôn ñaët haøng, heä coâng nôï. Lôïi ích cuûa phaân tích döõ lieäu laø chi phí vaø thôøi gian öôùc
löôïng cho döï aùn laø töông ñoái chính xaùc. Baát lôïi laø döõ lieäu duøng chung coù theå bò truøng laép.
Giáo trình Phân tích thiết Kế Hệ Thống 90

II NGUOÀN DÖÕ LIEÄU


1 Caùc phöông phaùp thu thaäp thoâng tin
Döõ lieäu yeâu caàu vaø moái töông quan giöõa caùc döõ lieäu ñöôïc thu thaäp baèng caùc phöông phaùp sau:
+ Phoûng vaán vaø laéng nghe (interviewing and listening)
+ Baûng caâu hoûi (administering questionnaires)
+ Quan saùt (observing)
+ Phaân tích qui trình (Procedure) vaø taøi lieäu (maøn hình, baùo caùo phaùt sinh cuûa maùy tính vaø
Bieåu maãu hieän höõu)
2 Phaân tích maãu bieåu
CUNG ÖÙNG VVP QUOÁC GIA
Vaên phoøng chính: 1234 Pacific Highway Newtown NSW 2199 ÑT: 81231234 Fax: 81231235
Ngaøy: 10.07.96 Soá ñôn haøng: 134277
ÑÖÔÏC ÑAÏT BÔÛI GIAO CHO
Coâng ty: Western Stationery Coâng ty: Western Stationery
Ngöôøi ñaët haøng: Tanya Maõ khaùch haøng: W123 Ngöôøi nhaän haøng: Carlo
Ñòa chæ: 22B St Georges Tce Ñòa chæ: 862 Welshpool road
Thaønh phoá: Perth Bang: WA Thaønh phoá: Kewdale Bang: WA
Maõ thö tín: 6000 Soá ÑT: 8321 3214 Maõ thö tính: 6104 Soá ÑT: 84331111
Soá löôïng Maõ haøng Ñôn vò tính Maøu saéc Moâ taû Ñôn gía Thaønh tieàn
40 A7211 Caùi traéng Giaáy A4 5.97 238.80
12 B7123 Caùi traéng cuoän giaáy fax 3.65 43.80
1 A7216 taù cuoän baêng keo 2.64 20.64
1 J2312 caùi maøu be Tuû 268.95 268.95
1 N0002 hoäp naâu cuoän nô 3.27 3.27

Mieãn phí giao haøng cho ñôn haøng coù giaù trò treân 50.00 Phí giao haøng: 1.50
Toång coäng: 575.47
Hoaøn traû saûn phaåm trong voøng 30 ngaøy seõ ñöôïc hoaøn tieàn mua haøng
Hình 4.2 – Maãu bieåu ñôn ñaët haøng vaø taäp thöïc theå / thuoäc tính ñöôïc nhaän dieän
Tính chaát
Tröôùc khi phaân tích maãu bieåu, ta coù nhaän xeùt sau:
 teân maãu bieåu coù theå gioáng teân taäp thöïc theå nhöng chuùng hoaøn toaøn khaùc nhau nhö: taäp thöïc theå
HOÙA ÑÔN vaø maãu bieåu hoùa ñôn
 phaân tích maãu bieåu ñeå nhaän dieän taäp thöïc theå, moái töông quan giöõa chuùng vaø thuoäc tính cuûa vaán
ñeà.
 Moät maãu bieåu thöôøng coù caùc thoâng tin in saün maø chuùng ta khoâng caàn quan taâm trong vieäc xaây
döïng moâ hình döõ lieäu.
 maãu bieåu chöùa thuoäc tính cuûa nhieàu taäp thöïc theå.
Phaân tích
Töø maãu ñôn ñaët haøng ta ruùt ra nhöõng ñieàu sau:
1. Thoâng tin in saün treân ñôn ñaët haøng:
+ Teân coâng ty, ñòa chæ vaø ñieän thoaïi lieân heä
Giáo trình Phân tích thiết Kế Hệ Thống 91

+ Teân maãu bieåu


+ Thoâng tin quaûng caùo
2. Soá ñôn haøng vaø ngaøy ñôn haøng laø caùc thoâng tin cuûa moät ñôn haøng. Vaäy ÑÔN HAØNG laø moät taäp
thöïc theå.
3. Phaàn ñöôïc ñaët bôûi laø caùc thoâng tin veà khaùch haøng ñaët haøng. Vaäy ta coù taäp thöïc theå KHAÙCH
HAØNG
4. Phaàn nôi giao haøng laø caùc thoâng tin veà ngöôøi nhaän haøng. Ngöôøi nhaän haøng coù theå laø ngöôøi ñaët
haøng cuõng coù theå laø ngöôøi khaùc. Thoâng tin ngöôøi mhaän haøng chæ nhaèm muïc ñích moâ taû theâm veà
ñôn haøng laø haøng giao cho ai maø khoâng coù muïc ñích gì khaùc chaúng haïn nhö coù bao nhieâu ngöôøi
nhaän maët haøng H vì theá chuùng ta ñöa chuùng vaøo taäp thöïc theå ÑÔN HAØNG.
5. Thoâng tin treân phaàn chi tieát laø danh saùch caùc maët haøng cung öùng. Ta goïi moãi doøng nhö vaäy laø
moät thöïc theå cuûa taäp thöïc theå DOØNG ÑÔN HAØNG
6. Coät thaønh tieàn cuûa ñôn haøng laø giaù trò ñöôïc tính baèng caùch nhaân ñôn giaù baùn vôùi soá löôïng, neân
thoâng tin naøy khoâng caàn ñöa vaøo moâ hình ER.
7. Nhöõng thoâng tin nhö ñôn vò tính, maõ haøng, maøu saéc, moâ taû, ñôn giaù laø caùc thuoäc tính cuûa maët
haøng vaäy MAËT HAØNG laø taäp thöïc theå. Nhö vaäy chæ coù thuoäc tính soá löôïng laø thuoäc tính cuûa taäp
thöïc theå DOØNG ÑÔN HAØNG.
8. Beân döôùi ñôn haøng laø chi phí giao haøng vaø toång giaù trò ñôn haøng. Chi phí giao haøng laø chi phí
cuûa moät ñôn haønh neân chuùng laø thuoäc tính cuûa taäp thöïc theå ÑÔN HAØNG. Toång giaù trò cuûa ñôn
haøng ñöôïc tính baèng caùch coäng caùc giaù trò treân coät thaønh tieàn vaø chi phí giao haøng neân chuùng
khoâng ñöôïc ñöa vaøo moâ hình ER.
9. Thoâng thöôøng caùc thoâng tin treân moät maãu bieãu khoâng nhoùm chung ñeå dieãn taû moät thöïc theå.
Trong caùc tröôøng hôïp nhö vaäy ñoøi hoûi ta phaûi bieát gaùn thuoäc tính thích hôïp cho töøng thöïc theå
Nhöõng thaønh phaàn chính cuûa maãu bieåu ñôn ñaët haøng:
o Taäp thöïc theå KHAÙCH HAØNG
o Taäp thöïc theå ÑÔN HAØNG
o Taäp thöïc theå DOØNG ÑÔN HAØNG
o Taäp thöïc theå HAØNG
o Caùc vuøng tính toaùn nhö thaønh tieàn, toång coäng
Töø söï phaân tích treân ta coù moâ hình sau:
Giáo trình Phân tích thiết Kế Hệ Thống 92

III KIEÅM TRA YEÂU CAÀU CHÖÙC NAÊNG


1 Nguyeân taéc chung
 Moãi baûng trong moâ hình caàn phaûi kieåm tra 4 chöùc naêng CRUD (create, retrieve, update,
delete/archive) sau:
o Theâm môùi maãu tin vaøo baûng: chuù yù tröôùc khi theâm giaù trò cho khoùa ngoaïi phaûi theâm giaù trò
cuûa khoùa chính töông öùng tröôùc (theâm beân moät roài theâm beân nhieàu).
o Khai thaùc maãu tin: khi khai thaùc ta coù theå keát noái thoâng tin thoâng qua caùc vuøng (thöôøng khoùa
chính vaø khoùa ngoaïi). Keát quaû cuûa vieäc khai thaùc cho hieän leân maøn hình hay in ra baùo caùo.
o Söûa döõ lieäu: tröôøng hôïp söûa döõ lieäu treân vuøng khoùa ta phaûi chuù yù raøng buoäc phuï thuoäc toàn
taïi
o Xoùa: löu roài xoùa.
 Moâ hình ER duøng ñeå kieåm tra chöùc naêng phaûi coù thuoäc tính vaø khoùa ngoaïi.
 Kieåm tra caùc chöùc naêng nhaèm muïc ñích phaùt hieän nhöõng thieáu soùt trong moâ hình döõ lieäu.
2 Ví duï:
Moâ hình döõ lieäu treân coù caùc yeâu caàu chöùc naêng sau:
1. Theâm ñôn haøng môùi.
2. Lieät keâ ñôn haøng vaø teân coâng ty ñaët ñôn haøng ñoù.
3. Söûa teân khaùch haøng cuûa moät ñôn haøng
4. Sao löu roài xoùa boû caùc ñôn haøng coù ngaøy ñaët haøng tröôùc moät ngaøy naøo ñoù.
5. In baùo caùo caùc ñôn haøng vaø teân coâng ty ñaët ñôn haøng ñoù theo thöù töï ngaøy ñôn haøng giaûm daàn.
6. Cho hieän maõhaøng, moâ taû cuûa caùc maët haøng cuûa moät khaùch haøng.
Giáo trình Phân tích thiết Kế Hệ Thống 93
ngaøy ñôn haøng ñöôïc ñaët haøng
coâng ty nhaän ÑÔN bôûi KHAÙCH teân coâng ty
ngöôøi nhaän HAØNG ñaë HAØNG teân khaùch
ñòa chæ nhaän t haøng
thaønh phoá thuoäc ñòa chæ
nhaän veà thaønh phoá
bang nhaän bang
maõ thö tín nhaän maõ thö tính
chi phí giao haøng soá ñieän
soá ñieän thoaïi thoaïi
nhaän
chöù
maõ khaùch
soá ñôn maõ haøng
a
haøng
haøng ke moâ taû
DOØNG
soá thöù töï ÑÔN â MAËT HAØNG ñôn vò tính
ñöôïc keâ maøu saéc
HAØNG
soá löôïng bôûi ñôn giaù hieän
ñôn giaù haønh
baùn
ÑÔN HAØNG(soá ñôn haøng,ngaøy ñôn haøng, coâng ty nhaän,ngöôøi nhaän,ñòa chæ
nhaän,thaønh phoá nhaän,
bang nhaän,maõ thö tín nhaän,chi phí giao haøng,soá ñieän thoaïi nhaän,
DOØNG ÑÔN)HAØNG(soá ñôn haøng,soá thöù töï soá löôïng,ñôn
giaù baùn)
MAËT HAØNG(maõ haøng,moâ taû ,ñôn vò tính,maøu saéc,ñôn giaù hieän
haønh)
KHAÙCH HAØNG(maõ khaùch haøng,teân coâng ty,teân khaùch haøng,ñòa chæ,thaønh phoá,bang,maõ
thö tính,soá ñieän thoaïi)
Hình 4.5 - Moâ hình ER vaø moâ hình quan heä coù khoùa
ngoaïi

Chuùng ta seõ laàn löôït thöïc hieän caùc yeâu caàu chöùc naêng treân:
1. Chöùc naêng theâm môùi moät ñôn haøng. Ta laàn löôït theâm môùi theo thöù töï sau:
 Neáu laø khaùch haøng môùi thì theâm thoâng tin veà khaùch haøng vaøo baûng KHAÙCH HAØNG.
 Theâm soá ñôn haøng, ngaøy ñôn haøng,... vaøo baûng ÑÔN HAØNG.
 ÔÛ moãi doøng treân bieåu maãu ñôn haøng ta laàn löôït thöïc hieän:
o Neáu laø maët haøng môùi thì theâm thoâng tin veà maët haøng vaøo baûng MAËT HAØNG.
o Theâm soá ñôn haøng, soá thöù töï, ... vaøo baûng DOØNG ÑÔN HAØNG
 Quaù trình theâm ñôn haøng môùi seõ khoâng coù vaán ñeà khi thöù töï treân ñöôïc toân troïng.
2. Chöùc naêng khai thaùc:
 Giaû söû döõ lieäu ñaõ coù ñaày ñuû.
 Ñeå khai thaùc ÑÔN HAØNG vaø Teân coâng ty ta:
o Laàn löôït khai thaùc töøng maãu tin trong baûng ÑÔN HAØNG.
o Lieät keâ caùc giaù trò cuûa caùc vuøng cuûa ÑÔN HAØNG.
o Öùng vôùi moãi maãu tin cuûa ÑÔN HAØNG ta söû duïng giaù trò vuøng Maõ khaùch haøng ñeå tìm
maãu tin coù cuøng giaù trò treân vuøng Maõ khaùch haøng trong KHAÙCH HAØNG vaø khai thaùc
Teân coâng ty.
3. Chöùc naêng söûa:
 Trong baûng KHAÙCH HAØNG tìm maãu tin cuûa khaùch haøng caàn söûa vaø söûa Teân khaùch
haøng
4. Chöùc naêng xoùa vaø sao löu:
Giáo trình Phân tích thiết Kế Hệ Thống 94

 Muoán xoùa moät maãu tin cuûa ñôn haøng ta phaûi bieát bieát ñôn haøng naøo ñaõ gôûi, ñôn haøng
naøo chöa. Moâ hình hieän taïi khoâng theå hieän ñieàu naøy. Ñeå ñaùp öùng yeâu caàu chöùc naêng
naøy, ñoøi hoûi ta phaûi theâm thuoäc tính Ñaõ gôûi vaøo taäp thöïc theå ÑÔN HAØNG.
 Laàn löôït khai thaùc caùc maãu tin trong baûng ÑÔN HAØNG, choïn maãu tin coù giaù trò ñuùng
treân vuøng Ñaõ gôûi vaø coù Ngaøy ñôn haøng tröôùc ngaøy caàn xoùa roài cheùp löu vaø xoùa.
5. Chöùc naêng khai thaùc:
 Laàn löôït khai thaùc caùc maãu tin trong ÑÔN HAØNG theo thöù töï Ngaøy ñaët haøng giaûm daàn.
 Öùng vôùi moãi maãu tin trong ÑÔN HAØNG, ta söû duïng giaù trò vuøng Maõ khaùch haøng ñeå tìm
maãu tin coù cuøng giaù trò Maõ khaùch haøng trong KHAÙCH HAØNG vaø khai thaùc Teân coâng ty.
 Öùng vôùi moãi maãu tin trong ÑÔN HAØNG, ta söû duïng giaù trò vuøng Soá ñôn haøng laàn löôït
tìm maãu tin coù cuøng giaù trò Soá ñôn haøng trong DOØNG ÑÔN HAØNG vaø khai thaùc ,
 vaø öùng vôùi moãi maãu tin trong DOØNG ÑÔN HAØNG, ta söû duïng giaù trò vuøng maõ haøng tìm
maãu tin coù cuøng giaù trò maõ haøng trong baûng MAËT HAØNG vaø khai thaùc caùc giaù trò caùc
vuøng trong baûng MAËT HAØNG.
 Keát thuùc moãi ñôn haøng tính toång giaù trò cuûa ñôn haøng.
6. Chöùc naêng khai thaùc
 Duøng thoâng tin veà khaùch haøng caàn tìm, tìm maãu tin töông öùng trong baûng KHAÙCH
HAØNG vaø khai thaùc caùc giaù trò cuûa caùc vuøng cuûa maãu tin naøy.
 Laàn löôït khai thaùc caùc maãu tin trong baûng ÑÔN HAØNG choïn maãu tin coù giaù trò Maõ
khaùch haøng baèng vôùi gía trò maõ khaùch haøng tìm thaáy ôû böôùc treân.
 Öùng vôùi maãu tin cuûa baûng ÑÔN HAØNG ñöôïc choïn, laàn löôït khai thaùc caùc maãu tin cuûa
doøng ñôn haøng coù cuøng giaù trò maõ ñôn haøng.
 Öùng vôùi moãi maãu tin cuûa DOØNG ÑÔN HAØNG, söû duïng maõ haøng ñeå tìm maãu tin haøng
töông öùng trong baûng MAËT HAØNG.
 ÖÙng vôùi maãu tin cuûa baûng MAËT HAØNG tìm thaáy ôû böôùc treân cho hieän giaù trò cuûa caùc
vuøng maõ haøng, moâ taû.

IV BAØI TAÄP 4.1


ÑOÀ GOÃ THUNG LUÕNG ÑÖÔØNG OÁNG
HOÙA ÑÔN BAÙN HAØNG
Soá hoùa ñôn: 913-A36-01
Ngaøy hoùa ñôn: 11-10-2001
Baùn cho:
Maõ khaùch haøng: 1273
Hoï teân: Contemporary Designs
Ñòa chæ: 123 Oak Street
Giáo trình Phân tích thiết Kế Hệ Thống 95

Thaønh phoá: Keydale........Bang:TX...Zip:28384


Soá ñieän thoaïi: 8 565 895
Nhaân vieân baùn haøng: Jenny
Maõ saûn phaåm Moâ taû Soá löôïng Ñôn giaù Thaønh tieàn
M128 Keä saùch 4 200 800
B381 Tuû nhieàu ngaên 2 150 300
B210 Baûng 1 500 500
G200 Gheá 8 400 3200
Coäng: 4800
Giaûm giaù: 5% 240
Toång coäng: 4560
Haõy phaân tích bieåu maãu treân:
(a) Xaây döïng moâ hình ER coù ñöa vaøo baûn soá, tính baét buoäc hay khoâng baét buoäc vaø teân moái keát hôïp
theo hai chieàu.
(b) Dieãn taû noäi dung moái keát hôïp giöõa caùc taäp thöïc theå.
(c) Chuyeån moâ hình ER thaønh moâ hình quan heä.
(d) Kieåm tra chöùc naêng:
1. theâm moät hoùa ñôn môùi.
2. In moät hoùa ñôn ñaõ coù.
V TRAÉC NGHIEÄM
1) To do fact finding, the analyst does the following
A)  Interviews personal, prepares questionnaires, observers current system
B)  Gathers forms and documents currently in use
C)  Cost-benefit analysis

2) Establishing team standards is part of which step in the data modeling process?
A) creating the data model
B) validating the model
C) planning the project
D) determining system requirements
E) It is not part of any of the above steps in the data modeling process.
----oOo----
Giáo trình Phân tích thiết Kế Hệ Thống 96

Chương 9 : TÍNH BẮT BUỘC, KHÔNG BẮT BUỘC TRONG MỐI KẾT HỢP
(RELATIONSHIP OPTIONALITY)

I NGÖÕ NGHÓEA MOÁI KEÁT HÔÏP


Trong chöông naøy ta boå sung theâm ngöõ nghóa (qui taéc quaûn lyù) vaøo moái keát hôïp vaø bieåu dieãn chuùng
trong moâ hình ER. Moâ hình ER nhö vaäy ñöôïc goïi laø moâ hình thöïc theå keát hôïp môû roäng (Extended
Entity Relationship).
1 Tính khoâng baét buoäc cuûa moái keát hôïp
Tröôùc ñaây, chuùng ta vaãn ngaàm hieåu moïi thöïc theå ñeàu tham gia vaøo moái keát hôïp nhö moâ hình ER sau:

Moâ hình naøy dieãn taû qui taéc quaûn lyù:


 Moãi KHAÙCH HAØNG ñaët moät hay nhieàu ÑÔN ÑAËT HAØNG
 Moãi ÑÔN ÑAËT HAØNG ñöôïc ñaët bôûi moät KHAÙCH HAØNG
vaø moâ hình naøy coù moâ hình thöïc theå theå hieän sau:

Moâ hình treân cho thaáy moät ñôn ñaët haøng baát kyø phaûi thuoäc veà moät khaùch haøng vaø moät khaùch haøng baát
kyø phaûi coù ñaët moät ñôn ñaët haøng. Nhöng treân thöïc teá coù khaùch haøng coù ñôn ñaët haøng, coù khaùch haøng
khoâng coù ñôn ñaët haøng do moät trong caùc lyù do sau:
o Khaùch haøng môùi
o Khaùch haøng seõ ñaët haøng trong töông lai.
o Khaùch haøng naèm trong chieán dòch quaûng caùo.
nhö moâ hình thöïc theå theå hieän sau:
Giáo trình Phân tích thiết Kế Hệ Thống 97

Moâ hình treân cho thaáy khaùh haøng Ace 4WD Supplies khoâng coù ñôn ñaët haøng.
Vaäy ñeå dieãn taû tình traïng coù khaùch haøng khoâng coù ñôn ñaët haøng, qui taéc quaûn lyù tröôùc ñaây ñöôïc söûa
thaønh:
 Moãi KHAÙCH HAØNG coù theå ñaët moät hay nhieàu ÑÔN ÑAËT HAØNG
 Moãi ÑÔN ÑAËT HAØNG phaûi ñöôïc ñaët bôûi moät KHAÙCH HAØNG
Vaø moâ hình ER töông öùng ñöôïc söûa ñoåi baèng caùch boå sung theâm tính baét buoäc hay khoâng baét buoäc vaøo
moái keát hôïp:

Baûn soá nhoû nhaát (minimum cardinality), baûn soá lôùn nhaát (maximum cardinality): Töø nay veà sau, baûn
soá cuûa moái keát hôïp ñöôïc hieåu coù caû tính baét buoäc (mandatory) hay khoâng baét buoäc (arbitrary, optional)
cuûa moái keát hôïp. Baûn soá tröôùc ñaây ta vaãn hieåu laø laø baûn soá lôùn nhaát, coøn tính baét buoäc hay khoâng baét
buoäc cuûa moái keát hôïp laø baûn soá nhoû nhaát. Nhö vaäy baûn soá cuûa moái keát hôïp ñöôïc kyù hieäu goàm caùc daïng
sau (0,M), (1,M), (0,1), (1,1). Vôùi ví duï treân baûn soá ôû phía taäp thöïc theå KHAÙCH HAØNG laø (1,1), coøn
baûn soá ôû phía taäp thöïc theå ÑÔN ÑAËT HAØNG laø (0,M)
II PHIEÁU MOÁI KEÁT HÔÏP
Ta boå sung tính baét buoäc, khoâng baét buoäc vaøo moâ hình ER cuûa hình 4.5 ta ñöôïc moâ hình:

Moâ hình naøy dieãn taû 6 qui taéc quaûn lyù:


+ Moãi KHAÙCH HAØNG coù theå ñaët moät hay nhieàu ÑÔN HAØNG
+ Moãi ÑÔN HAØNG phaûi ñöôïc ñaët bôûi moät KHAÙCH HAØNG
+ Moãi ÑÔN HAØNG phaûi chöùa moät hay nhieàu DOØNG ÑÔN HAØNG
+ Moãi DOØNG ÑÔN HAØNG phaûi thuoäc veà moät ÑÔN HAØNG
+ Moãi DOØNG ÑÔN HAØNG phaûi keâ moät MAËT HAØNG
+ Moãi MAËT HAØNG coù theå ñöôïc keâ bôûi moät hay nhieàu DOØNG ÑÔN HAØNG
Phieáu moái keát hôïp cuûa moâ hình treân coù daïng sau:
Taäp thöïc theå 1 Tính baét buoäc Quan heä Baûn soá Taäp thöïc theå 2
KHAÙCH HAØNG Coù theå Ñaët Khoâng hay nhieàu ÑÔN HAØNG
Giáo trình Phân tích thiết Kế Hệ Thống 98

ÑÔN HAØNG Phaûi Ñöôïc ñaët bôûi Moät KHAÙCH HAØNG


ÑÔN HAØNG Phaûi chöùa Moät hay nhieàu DOØNG ÑÔN HAØNG
DOØNG ÑÔN HAØNG Phaûi Thuoäc veà Moät ÑÔN HAØNG
DOØNG ÑÔN HAØNG Phaûi keâ moät HAØNG
HAØNG Coù theå Ñöôïc keâ bôûi Khoâng hay nhieàu DOØNG ÑÔN HAØNG
Phieáu naøy ñöôïc xaây döïng nhaèm muïc ñích trình baøy cho ngöôøi söû duïng veà moái keát hôïp cuûa caùc thöïc theå
trong heä thoáng. Ngöôøi söû duïng laø ngöôøi naém roõ vaán ñeà, thoâng qua phieáu quan heä, hoï seõ giuùp ta chænh
söûa nhöõng gì coøn sai soùt cuûa moâ hình döõ lieäu.
III AÛNH HÖÔÛNG CUÛA TÍNH KHOÂNG BAÉT BUOÄC TREÂN KHOÙA NGOAÏI

Tính khoâng baét buoäc chæ aûnh höôûng treân khoùa ngoaïi khi noù ôû beân caïnh baûn soá moái keát hôïp beân moät.
khoùa ngoaïi cuûa khoùa chính beân moät naøy seõ khoâng dieãn taû ñöôïc tính chaát khoâng baét buoäc naøy.
A B

khoùa chính a khoùa chính b


......... .........
tính khoâng baét buoäc ôû beân
caïnh
baûn soá moái quan heä beân moät
seõ aûnh höôûng ñeán

Ñeå giaûi quyeát vaán ñeà, ngöôøi ta phaûi söû duïng moät giaù trò ñaëc bieät treân khoùa ngoaïi. Ta haõy xem caùch giaûi
quyeát qua hai ví duï sau:
1 Quan heä moät-nhieàu
Ví du:ï Coâng ty TNHH Daàu khí Ngoaøi khôi hieän coù caùc döï aùn khoan thaêm doø ñaõ trieån khai vaøo caùc thôøi
ñieåm tröôùc ñaây. Moãi döï aùn ñöôïc nhaän dieän thoâng qua maõ döï aùn. Thoâng tin caàn löu tröõ veà döï aùn goàm
teân döï aùn, vò trí thaêm doø, kinh phí. Khi ñang trieån khai, döï aùn coù theå coù moät hay nhieàu nhaân vieân tham
gia nhöng khi döï aùn chöa trieån khai thì döï aùn khoâng caàn söï tham gia cuûa baát kyø nhaân vieân naøo. Moät
nhaân vieân coù theå tham gia vaøo moät döï aùn vaø cuõng coù theå khoâng. Taïi moät thôøi ñieåm, moät nhaân vieân chæ
tham gia vaøo moät döï aùn (giaû söû ta chæ quan taâm ñeán döï aùn hieän taïi). Ñoái vôùi moãi nhaân vieân, coâng ty
caàn ghi nhôù maõ nhaân vieân, teân nhaân vieân, ngaøy tham gia vaøo döï aùn.
ñöôïc tham gia
bôûi
DÖÏ AÙN tham gia NHAÂN
maõ nhaânVIEÂN
maõ döï aùn vaøo vieân
teân döï aùn teân nhaân
vò trí thaêm vieân
doø ngaøy tham
kinh phí gia
Hình 5.7 - Moâ hình ER cuûa vaán ñeà
OPCL
Giáo trình Phân tích thiết Kế Hệ Thống 99

Moâ hình ER treân ñöôïc bieán ñoåi thaønh moâ hình quan heä sau:
DÖÏ AÙN(maõ döï aùn, teân döï aùn, vò trí thaêm doø, kinh phí)
NHAÂN VIEÂN(maõ nhaân vieân, teân nhaân vieân, ngaøy tham gia, maõ döï aùn)
Trong moâ hình treân ta phaûi söû duïng giaù trò ñaëc bieät treân khoùa ngoaïi maõ döï aùn ñeå dieãn taû nhaân vieân
töông öùng khoâng tham gia vaøo baát kyø döï aùn naøo nhö döõ lieäu ví duï sau:
NHAÂN VIEÂN DÖÏ AÙN
maõ nhaân vieân teân nhaân vieân ngaøy tham gia maõ döï aùn maõ döï aùn teân döï aùn vò trí thaêm doø kinh phí
001 Helga DA1 DA0 . . .
002 Carmen DA3 DA1 Caáp döôõng vaø haäu caàn
003 Carlos DA3 DA2 Thieát keá thieát bò khoan
004 Fritz DA0 DA3 Coâng trình beä khoan
005 Mirek DA3 DA4 Coâng trìn ñöôøng oáng
006 Ted DA2
007 Mario DA0
008 Jane DA2
Baûng döõ lieäu treân coù moâ hình thöïc theå theå hieän töông öùng nhö sau:

Moâ hình naøy cho thaáy nhaân vieân mario vaø Fritz chöa ñöôïc phaân coâng tham gia vaøo baát kyø döï aùn naøo.
2 Quan heä moät-moät
Baïn ñöôïc yeâu caàu phaûi xaây döïng moâ hình döõ lieäu cho vaán ñeà leân danh saùch nhaø ñeå baùn cuûa cô quan
moâi giôùi taøi saûn coá ñònh. Ngöôøi moâi giôùi ñaëc bieät quan taâm ñeán nhaø coù hay khoâng coù hoà bôi. Qui taéc
quaûn lyù laø:
Moãi NHAØ coù theå coù moät HOÀ BÔI
Moãi HOÀ BÔI phaûi thuoäc veà moät NHAØ
Moâ hình ER cuûa vaán ñeà naøy laø:
co
NHAØ ù maõHOÀhoà BÔI
maõ thuoäc
veà bôi
nhaø
loaïi hoà
loaïi
bôi
nhaø
chieàu
ñòa chæ
giaù trò Hình 5.9 - Moâ hình ER cuûa vaán nhaødaøi
vaø hoà bôi
moâ hình quan heä töông öùng:
NHAØ(maõ nhaø, loaïi nhaø, ñòa chæ, giaù trò)
HOÀ BÔI(maõ hoà bôi, loaïi hoà bôi, chieàu daøi, maõ nhaø )
Hay:
NHAØ(maõ nhaø, loaïi nhaø, ñòa chæ, giaù trò, maõ hoà bôi)
HOÀ BÔI(maõ hoà bôi, loaïi hoà bôi, chieàu daøi)
Moâ hình quan heä moät ñöôïc öa thích hôn vì chuùng ta khoâng phaûi quan taâm ñeán giaù trò ñaëc bieät.
Moâ hình quan heä hai phaûi söû duïng giaù trò ñaëc bieät
Giáo trình Phân tích thiết Kế Hệ Thống 100

NHAØ HOÀ BÔI


Maõ nhaø Maõ hoà bôi Maõ hoà bôi …. Chieàu daøi
N01 ….. H01 H00 …. 0
N02 … H00 H01 … 50
Nhaø N02 khoâng coù hoà bôi. H00 laø giaù trò ñaëc bieät
3 Quan heä nhieàu-nhieàu
Giả sử vấn đề của trường Cao đẳng Cộng đồng Núi Xanh nhà trường không quan tâm đến ngày nhập học
của học viên. Ta có mô hình sau:
Moâ hình ER
Ghi danh vaøo
HOÏC VIEÂN MOÂN HOÏC
maõ hoïc vieân Ñöôïc ghi danh bôûi maõ moân hoïc
teân hoïc vieân teân moân hoïc
ñòa chæ thôøi löôïng
ngaøy sinh
soá ñieän thoaïi
Moâ hình quan heä
HOÏC VIEÂN (maõ hoïc vieân, teân hoïc vieân, ñòa chæ, ngaøy sinh, soá ñieän thoaïi)
MOÂN HOÏC (maõ moân hoïc, teân moân hoïc, thôøi löôïng)
PHIEÁU GHI DANH (maõ hoïc vieân, maõ moân hoïc,)
HOÏC VIEÂN MOÂN HOÏC HOCVIENMON HOC
Maõ hv …. Maõ mh …… Maõ hv Maõ mh
99001 ….. MH01 …. 99001 MH01
99002 …. MH02 99001 MH02
99003 …. 99003 MH01
Hoïc vieân 99002 khoâng ghi danh vaøo moân hoïc neân khoâng xuaát hieän trong quan heä
HOCVIENMONHOC.
Tính khoâng baét buoäc khoâng aûnh höôûng ñeán baûn soá nhieàu cuûa moái keát hôïp
Giáo trình Phân tích thiết Kế Hệ Thống 101

IV TÍNH BAÉT BUOÄC, KHOÂNG BAÉT BUOÄC TRONG CAÙC BÖÔÙC MOÂ HÌNH HOÙA DÖÕ LIEÄU

V BAØI TAÄP
1 Baøi taäp 5.1
FBNA laø haõng haøng khoâng phuïc vuï vaän chuyeån haønh khaùch ñeán 15 ñòa ñieåm khaùc nhau. Moät soá ñòa
ñieåm ñöôïc phuïc vuï thöôøng xuyeân coøn moät soá ñöôïc phuïc vuï theo muøa.

Moãi chuyeán bay cuûa FBNA ñeàu phaûi bay theo moät tuyeán bay nhaát ñònh. Ngaøy khôûi haønh, giôø khôûi
haønh, giôø ñeán cuûa caùc chuyeán bay phaûi ñöôïc ghi nhaän. Thoâng tin veà tuyeán bay coù maõ tuyeán bay, giôø
khôûi haønh, thôøi gian bay, nôi bay ñi vaø nôi bay ñeán.

Caùc phi coâng coù theå bay treân caùc chuyeán bay khaùc nhau nhöng hieån nhieân ôû moãi thôøi ñieåm chæ coù theå
bay treân moät chuyeán bay. Moãi chuyeán bay phaûi coù toái thieåu moät phi coâng nhöng moät phi coâng khoâng
phaûi luùc naøo cuõng laøm nhieäm vuï phi coâng chính cuûa chuyeán bay. Hoï teân, ñòa chæ, ñieän thoaïi lieân laïc
cuûa phi coâng phaûi ñöôïc löu tröõ.

ÔÛ moãi chuyeán bay, chi tieát veà haønh khaùch phaûi ñöôïc ghi nhaän nhö teân, ñòa chæ, ñieän thoaïi lieân laïc vaø
troïng löôïng haønh lyù.

Haõy thöïc hieän caùc yeâu caàu sau:


(a) Xaây döïng moâ hình ER. Söû duïng moâ hình thöïc theå theå hieän ôû nôi thích hôïp
(b) Chuyeån moâ hình ER thaønh moâ hình quan heä.
(c) Laäp phieáu moái keát hôïp.
2 Traéc nghieäm
2.1) Based on the ER-diagram, which of the following are true?
Giáo trình Phân tích thiết Kế Hệ Thống 102

A)  One customer can rent multiple videos


B)  There can be multiple videos of the same movie
C)  There can be blank videos (i.e., video without movies)
2.2) ACME places oders with their suppliers using the following purchase oder form. A buyer (an
employee in the company) will fill the order form to order one or more items from a supplier. Each
such order is placed with a single supplier and can be for one or more items.
Based on the information, an E-R diagram is drawn below to represent the connectivity, cardinality,
and optionality of the relationships. (Note: In the ERD below, “order line” represents each line of
items in the order form.) If you want to map the above ER diagram into tables, how many tables do you
need?

A) 4 B) 1 C) 3 D) 5 E) 2 F) 6
2.3) Given the following Entity-Relationship Diagram, what is the participation of A and B?

A) Total A/Total B
Giáo trình Phân tích thiết Kế Hệ Thống 103

B) None of the above


C) Partial A/Partial B
D) Total A/Partial B
E) Partial A/Total B
----oOo----
Giáo trình Phân tích thiết Kế Hệ Thống 104

Chương 10 : TẬP THỰC THỂ CHA VÀ TẬP THỰC THỂ CON


(SUPERTYPES AND SUBTYPES)

I TAÄP THÖÏC THEÅ PHUÏ THUOÄC (DEPENDENT ENTITY, ID-DEPENDENT ENTITY)


Trong thöïc teá, coù caùc thöïc theå trong moät taäp thöïc theå laïi toàn taïi phuï thuoäc vaøo söï toàn taïi cuûa caùc thöïc
theå trong taäp thöïc theå khaùc. Ta goïi taäp thöïc theå naøy laø taäp thöïc theå phuï thuoäc, coøn taäp theå maø chuùng
phuï thuoäc vaøo laø taäp thöïc theå cha.
Moâ hình ER cuûa taäp thöïc theå phuï thuoäc phaûi coù tính chaát sau:
Thuoäc tính nhaän dieän cuûa taäp thöïc theå phuï thuoäc goàm moät thuoäc tính nhaän dieän cuûa taäp thöïc theå cha keát
hôïp vôùi moät thuoäc tính khaùc duøng ñeå nhaän dieän thöïc theå ñoù trong caùc giaù trò nhaän dieän cha.
Ví duï Haõng haøng khoâng quoác teá cung caáp caùc tuyeán bay ñeán nhieàu ñòa ñieåm treân theá giôùi. Caùc tuyeán
bay ñöôïc leân lòch cho moät khoaûng thôøi gian nhö töø 1/3/1995 ñeán 31/10/1995. Taát caû caùc tuyeán bay ñeàu
coù saân bay ñi vaø ñeán ví duï tuyeán bay coù theå töø saân bay Sydney ñeán saân bay Frankfurt. Moãi tuyeán bay
ñeàu coù giôø khôûi haønh vaø giôø ñeán. Giôø khôûi haønh laø giôø khôûi haønh cuûa moät ngaøy cuï theå, ví duï nhö neáu
tuyeán bay phuïc vuï theo tuaàn thì giôø khôûi haønh laø cuûa caùc ngaøy 01/03/95, 08/03/95, 15/03/95 …
Ta coù moâ hình ER nhö sau:

 Taäp thöïc theå CHUYEÁN BAY laø taäp thöïc theå phuï thuoäc. CHUYEÁN BAY chæ toàn taïi trong TUYEÁN
BAY
 Khoùa chính cuûa taäp thöïc theå CHUYEÁN BAY laø söï keát hôïp giöõa khoùa chính cuûa taäp thöïc theå
TUYEÁN BAY vaø thuoäc tính ngaøy khôûi haønh cuûa chuyeán bay.
 Moái keát hôïp treân ñöôïc goïi laø moái keát hôïp phuï thuoäc nhaän dieän (ID-dependent relationship)
 Döõ lieäu cuûa TUYEÁN BAY chæ toàn taïi trong moät khoaûng thôøi gian, ñaây laø tính chaát taïm thôøi cuûa döõ
lieäu, chuùng aûnh höôûng ñeán moâ hình döõ lieäu nhö theá naøo seõ ñöôïc ñeà caäp trong chöông sau.
Moâ hình quan heä:
TUYEÁN BAY(maõ tuyeán bay, saân bay khôûi haønh, ...,loaïi maùy bay)
CHUYEÁN BAY(maõ tuyeán bay, ngaøy khôûi haønh, soá haønh khaùch, ..., soá maùy bay)
Ñeå laøm roõ hôn khaùi nieäm taäp thöïc theå phuï thuoäc (dependent entity) , ta haõy xem moâ hình ER cuûa vaán
ñeà nhaân vieân vaø phoøng ban.
Giáo trình Phân tích thiết Kế Hệ Thống 105

Baûn soá keát noái cuûa moâ hình naøy hoaøn toaøn gioáng vôùi moâ hình haõng haøng khoâng quoác teá nhöng neáu ta
xem nhaân vieân laø taäp thöïc theå phuï thuoäc thì khi moät phoøng ban bò giaûi theå daãn tôùi toaøn boä nhaân vieân
trong phoøng ban ñoù bò giaûi theå theo. Ñieàu naøy khoâng ñuùng vôùi thöïc teá laø nhaân vieân coù theå chuyeån sang
phoøng ban khaùc laøm vieäc. Vôùi moâ hình treân vieäc chuyeån naøy seõ laøm thay ñoåi giaù trò khoùa chính cuûa
quan heä NHAÂN VIEÂN laøm maát tính oån ñònh cuûa khoùa chính.
PHOØNG BAN NHAÂN VIEÂN
maõ phoøng ban teân phoøng ban maõ phoøng ban soá thöù töï hoï vaø teân ngaøy sinh
KH Phoøng keá hoaïch KH 1 Nguyeãn Vaên Huøng
TC Phoøng toå chöùc KH 2 Traàn Maïnh Tieán
KT Phoøng kyõ thuaät KH 3 Nguyeãn Kim
TC 1 Nguyeãn Dieän
TC 2 Phaïm Chöông
KT 1 Nguyeãn Haûi
Vaäy moâ hình ñuùng cuûa vaán ñeà nhaân vieân vaø phoøng ban laø:

II THUOÄC TÍNH HAY TAÄP THÖÏC THEÅ


Vaên phoøng chính phuû mong muoán thieát laäp moät cô sôû döõ lieäu veà caùc coâng ty baùn sæ trong coâng ngheä
thôøi trang. Nhöõng coâng ty naøy coù caùc cöûa haøng ôû nhieàu thaønh phoá khaùc nhau. Vaán ñeà ñöôïc ñaët ra laø:
Ta coù neân moâ hình khaùi nieäm thaønh phoá (nôi caùc cöûa haøng ñang kinh doanh) nhö moät thuoäc tính cuûa
taäp thöïc theå CÖÛA HAØNG hay taïo chuùng thaønh moät taäp thöïc theå THAØNH PHOÁ
Giáo trình Phân tích thiết Kế Hệ Thống 106

Nhöõng nguyeân taéc sau giuùp ta coù choïn löïa thích hôïp:
1. Neáu khaùi nieäm thaønh phoá coù thuoäc tính vaø ta quan taâm ñeán caùc thuoäc tính naøy trong coâng taùc quaûn
lyù thì chuùng ta moâ hình noù nhö moät taäp thöïc theå.
2. Neáu moät cöûa haøng coù khaû naêng naèm treân nhieàu thaønh phoá thì chuùng ta moâ hình thaønh phoá thaønh taäp
thöïc theå rieâng.
3. Neáu khaùi nieäm thaønh phoá coù quan heä vôùi moät vaøi taäp thöïc theå khaùc thì ta phaûi moâ hình chuùng thaønh
taäp thöïc theå rieâng. Vì chæ coù taäp thöïc theå môùi coù quan heä vôùi taäp thöïc theå khaùc.
4. Neáu chuùng ta coù nhu caàu löu tröõ taát caû caùc thaønh phoá maëc duø caùc cöûa haøng chöa hieän dieän ôû taát caû
thaønh phoá thì chuùng ta phaûi moâ hình thaønh phoá thaønh taäp thöïc theå.
5. Neáu boán nguyeân taéc treân khoâng coù nguyeân taéc naøo aùp duïng ñöôïc thì ta moâ hình thaønh phoá nhö moät
thuoäc tính cuûa taäp thöïc theå CÖÛA HAØNG.
III TAÄP THÖÏC THEÅ CHA VAØ TAÄP THÖÏC THEÅ CON
Treân thöïc teá chuùng ta thöôøng gaëp caùc thöïc theå gioáng nhau töø 80% ñeán 90% nhö trong vieäc phaân lôùp caùc
loaïi. Söï töông töï giöõa chuùng daãn ta ñeán khaùi nieäm taäp thöïc theå cha vaø taäp thöïc theå con.
1 Caùi toång quaùt vaø caùi chuyeân bieät
Tröôùc khi ñi vaøo chi tieát, ta haõy xem ví duï sau:

Thuoäc tính chung:


Taát caû caùc thuyeàn: chieàu daøi, löïc nöôùc reõ, troïng taûi
Thuoäc tính rieâng:
Thuyeàn buoàm: dieän tích buoàm, soá coät
Thuyeàn maùy: soá maùy, coâng suaát, loaïi nhieân lieäu.
Thuyeàn cheøo: soá maùi cheøo, coù ngöôøi ñieàu khieån chính khoâng
Thuyeàn naâng: Soá naâng, dieän tích khoaûng hôû
Giáo trình Phân tích thiết Kế Hệ Thống 107

Moâ hình treân dieãn taû söï töông quan giöõa caùi toång quaùt vaø caùi chuyeân bieät (IS-A relationship;
Inheritance in a generalization hierarchy). Trong moâ hình döõ lieäu, caùi toång quaùt ñöôïc goïi laø taäp thöïc
theå cha (supertype) coøn caùi chuyeân bieät laø taäp thöïc theå con (subtype) nhö THUYEÀN laø taäp thöïc theå cha
cuûa taäp taäp thöïc theå con THUYEÀN BUOÀM.
2 Kyù hieäu taäp thöïc theå cha/con
Ví duï vaán ñeà löu tröõ chi tieát veà nhaân vieân. Moät coâng ty mong muoán löu tröõ lyù lòch caù nhaân veà nhaân
vieân cuûa mình. Coù hai loaïi nhaân vieân nhaân vieân toaøn thôøi gian vaø nhaân vieân baùn thôøi gian. Chi tieát löu
tröõ veà nhaân vieân bao goàm maõ nhaân vieân, teân nhaân vieân, ñòa chæ, ngaøy sinh, ngaøy vaøo laøm, chöùc vuï.
Ñoái vôùi nhaân vieân toaøn thôøi gian, chuùng ta caàn löu tröõ veà löông naêm, thöôûng naêm
Coøn nhaân vieân baùn thôøi gian, chuùng ta laïi caàn löu tröõ veà ñôn giaù giôø coâng, ñôn giaù giôø laøm theâm
Moâ hình ER cho vaán ñeà nhaân vieân nhö sau:

1. Hình chöõ nhaät cuûa taäp thöïc theå cha NHAÂN VIEÂN seõ chöùa taát caû taäp thöïc theå con NHAÂN VIEÂN
TOAØN THÔØI GIAN vaø NHAÂN VIEÂN BAÙN THÔØI GIAN
2. Nhöõng thuoäc tính chung nhö teân nhaân vieân, ñòa chæ, ngaøy sinh, ngaøy vaøo laøm, chöùc vuï. laø thuoäc tính
cuûa taäp thöïc theå cha NHAÂN VIEÂN. Nhöõng thuoäc tính naøy ñöôïc hieåu cho taát caû caùc taäp thöïc theå con.
Thuoäc tính cuûa taäp thöïc theå con laø thuoäc tính rieâng chæ ñöôïc hieåu trong taäp thöïc theå con ñoù.
3 YÙnghóa
Ta moâ hình thaønh taäp thöïc theå cha/con nhaèm dieãn taû chính xaùc hôn qui taéc quaûn lyù coù lieân quan ñeán caùi
toång quaùt vaø caùi chuyeân bieät.
4 Caùi toång theå vaø caùi thaønh phaàn

Sô ñoà treân dieãn taû caùi toång theå vaø caùi thaønh phaàn veà baûn chaát chuùng hoaøn toaøn khaùc vôùi caùi toång quaùt
vaø caùi chuyeân bieät. Khi gaëp sô ñoà naøy chuùng ta khoâng moâ hình chuùng thaønh taäp thöïc theå cha/con.
5 Thuoäc tính cuûa caùc taäp thöïc theå cha/con
Töø vaán ñeà ta suy ra caùc thuoäc tính cuûa caùc taäp thöïc theå laø nhö sau:
Giáo trình Phân tích thiết Kế Hệ Thống 108

NHAÂN VIEÂN TOAØN THÔØI GIAN: maõ nhaân vieân, teân nhaân vieân, ñòa chæ, ngaøy sinh, ngayø vaøo
laøm, chöùc danh, löông naêm, thöôûng naêm
NHAÂN VIEÂN BAÙN THÔØI GIAN: maõ nhaân vieân, teân nhaân vieân, ñòa chæ, ngaøy sinh, ngaøy vaøo
laøm, chöùc danh, ñôn giaù giôø coâng, ñôn giaù giôø troäi
Trong nhieàu tröôøng hôïp, taäp con coù theå khoâng coù thuoäc tính rieâng nhöng vaãn phaûi moâ hình chuùng laø taäp
thöïc theå vì:
1. Chuùng dieãn taû qui taéc quaûn lyù chính xaùc hôn
2. Thuoäc tính seõ boäc loä khi chuùng ta tìm hieåu vaán ñeà kyõ hôn
Giaû söû nhaân vieân chia thaønh töøng loaïi. Khaùi nieäm loaïi nhaân vieân ñöôïc moâ hình thaønh taäp thöïc theå vôùi
lyù do:
1. Danh saùch ñaày ñuû loaïi nhaân vieân ñöôïc khai thaùc thöôùng xuyeân.
2. Moät loaïi môùi coù theå ñöôïc ghi nhaän nhöng chöa coù thöïc theå naøo thuoäc loaïi naøy.
Giáo trình Phân tích thiết Kế Hệ Thống 109

6 Caùc tính chaát cuûa taäp thöïc theå cha/con

 Söï tham gia vaøo moái keát hôïp cuûa taäp thöïc theå con nhö hình 6.8
 Caùc taäp thöc theå con phaûi coù taát caû thöïc theå maø taäp thöïc theå cha coù.
 Caùc taäp thöïc theå con phaûi rôøi nhau, coù tính loại trừ (exclusive).
 Taäp thöïc theå con nhieàu caáp
Giáo trình Phân tích thiết Kế Hệ Thống 110

7 Bieán ñoåi taäp thöïc theå cha/con thaønh quan heä


Coù ba caùch bieán ñoåi sau:
1. Bieán taäp thöïc theå cha thaønh moät quan heä coù taát caû thuoäc tính chung vaø bieán moãi taäp thöïc theå con
thaønh moät quan heä coù caùc thuoäc tính rieâng.
NHAÂN VIEÂN(maõ nhaân vieân, teân nhaân vieân, ñòa chæ, ngaøy sinh, ngaøy vaøo laøm, chöùc danh)
NHAÂN VIEÂN TOAØN THÔØI GIAN(maõ nhaân vieân, löông naêm, tieàn thöôûng naêm)
NHAÂN VIEÂN BAÙN THÔØI GIAN(maõ nhaân vieân, ñôn giaù giôø coâng, ñôn giaù giôø laøm theâm)
Moâ hình quan heä khoâng dieãn taû ñöôïc qui taéc quaûn lyù laø moät nhaân vieân hoaëc laø nhaân vieân toaøn
thôøi gian hoaëc laø nhaân vieân baùn thôøi gian. Vaäy khi caøi ñaët vaøo moät heä QTCSDL ta phaûi taïo caùc
xöû lyù veà raøng buoäc naøy.
2. Bieán moãi taäp thöïc theå con thaønh moät quan heä coù thuoäc tính chung vaø thuoäc tính rieâng cuûa taäp thöïc
theå con. Khoâng bieán taäp thöïc theå cha thaønh quan heä
NHAÂN VIEÂN TOAØN THÔØI GIAN(maõ nhaân vieân, ..., chöùc danh, löông naêm, tieàn thöôûng naêm)
NHAÂN VIEÂN BAÙN THÔØI GIAN(maõ nhaân vieân,..., chöùc danh, ñôn giaù giôø coâng, ñôn giaù giôø laøm
theâm)
Moâ hình quan heä taïo khaû naêng nhaäp moät nhaân vieân vöøa laø nhaân vieân toaøn thôøi gian vöøa laø nhaân
vieân baùn thôøi gian. Vaäy khi caøi ñaët vaøo moät heä QTCSDL ta phaûi taïo caùc xöû lyù veà raøng buoäc naøy
3. Taïo moät quan heä coù caùc thuoäc tính cuûa taäp thöïc theå cha vaø taát caû caùc thuoäc tính rieâng cuûa taát caû taäp
thöïc theå con.
NHAÂN VIEÂN(maõ nhaân vieân, ..., chöùc danh, loaïi nhaân vieân, löông naêm, tieàn thöôûng naêm, ñôn
giaù giôø coâng, ñôn giaù giôø laøm theâm)
Khi caøi ñaët vaøo HQTCSDL ta phaûi xöû lyù raøng buoäc ñeå troáng löông naêm, tieàn thöôûng naêm hoaëc
ñeå troáng ñôn giaù giôø coâng, ñôn giaù giôø laøm theâm.
Nhöõng khía caïnh sau giuùp ta coù quyeát ñònh thích hôïp trong vieäc choïn löïa moät trong ba moâ hình
quan heä:
o Döõ lieäu naøo ñöôïc khai thaùc thöôøng xuyeân.
Giáo trình Phân tích thiết Kế Hệ Thống 111

o Thôøi gian ñaùp öùng cuûa heä thoáng.


o Khaû naêng löu tröõ cuûa heä thoáng
o Soá löôïng thuoäc tính rieâng cuûa taäp thöïc theå con
o Khaû naêng thay ñoåi caáu truùc cuûa csdl.
Trong thöïc haønh, caùch 1 hay ñöôïc choïn
8 Moâ hình hoùa caùc taäp con giao nhau baèng vai troø
Phoøng Thöông Maïi. Vaên phoøng chính phuû DOT coù traùch nhieäm theo doõi caùc ñôn vò xuaáp nhaäp khaåu,
mong muoán thieát laäp moät csdl theo doõi chi tieát veà caùc coâng ty naøy. Veà moâ hình döõ lieäu, coâng ty nhaäp khaåu
vaø coâng ty xuaát khaåu raát gioáng nhau vì chuùng coù nhieàu thuoäc tính chung vaø chi tieát khaùc bieät thì khoâng
quan troïng.

Khi chuyeån moâ hình treân thaønh moâ hình quan heä chuùng ta gaëp phaûi caùc vaán ñeà xöû lyù sau:
Daïng 1: Khi moät coâng ty coù caû chöùc naêng nhaäp khaåu laãn xuaát khaåu thì khi theâm döõ lieäu cho quan heä
COÂNG TY ta phaûi baûo ñaûm chæ theâm moät laàn.
Daïng 2: Khi theâm döõ lieäu cho coâng ty vöøa coù chöùc naêng nhaäp khaåu vaø chöùc naêng xuaát khaåu thì seõ gaây
ra dö thöøa döõ lieäu.
Daïng 3: Chæ thích hôïp cho coâng ty vöøa coù chöùc naêng nhaäp khaåu laãn chöùc naêng xuaát khaåu. Coøn ñoái vôùi
coâng ty chæ coù moät chöùc naêng ñoøi hoûi ta phaûi ñeå troáng caùc coät thích hôïp.
Ñeå traùnh caùc vaán ñeà lieân quan ñeán xöû lyù treân, chuùng ta taùch rieâng caùc chi tieát veà coâng ty vôùi vai troø cuûa
noù nhö moâ hình sau:

Moâ hình treân ñöôïc hình thaønh theo caùc qui taéc sau:
Giáo trình Phân tích thiết Kế Hệ Thống 112

o Teân cuûa taäp thöïc theå dieãn taû vai troø neân coù töø VAI TROØ nhö VAI TROØ NHAÄP KHAÅU, VAI
TROØ XUAÁT KHAÅU.
o Teân, baûn soá vaø tính khoâng baét buoäc cuûa moái keát hôïp töông öùng ñöôïc dieãn taû nhö hình treân
IV TAÄP THÖÏC THEÅ CHA, CON TRONG CAÙC BÖÔÙC MOÂ HÌNH HOÙA DÖÕ LIEÄU

V BAØI TAÄP 6.1


Ñoâi khi, maùy bay daân söï ñöôïc pheùp hoaït ñoäng trong caên cöù khoâng quaân. Vieân syõ quan chæ huy caên cöù
khoâng quaân phía taây baéc meänh leänh phaûi ghi nhôù taát caû maùy bay daân söï cuõng nhö quaân söï hoaït ñoäng
trong caên cöù. Thoâng tin veà naêm saûn xuaát maùy bay phaûi ñöôïc ghi nhaän.

Mỗi chuyến bay ñược thực hiện bởi một máy bay. Ñaëc bieät, chi tieát veà phi coâng (hoï teân, ñòa chæ, soá ñieän
thoaïi), giôø khôûi haønh, giôø keát thuùc phaûi ñöôïc ghi nhôù trong caùc chuyeán bay. Moät phi coâng coù theå laùi
treân caùc chuyeán bay khaùc nhau vaø moät chuyeán bay coù theå ñöôïc laùi bôûi moät phi coâng chính vaø moät phi
coâng phuï.

Ñoái vôùi maùy bay daân söï, vieân syõ quan chæ huy raát quan taâm ñeán soá löôïng gheá ngoài cuûa maùy bay, coøn
ñoái vôùi maùy bay quaân söï hoï laïi quan taâm ñeán troïng taûi cuûa maùy bay.

Maùy bay quaân söï coù theå ñöôïc trang bò nhieàu loaïi vuõ khí khaùc nhau. Moãi loaïi vuõ khí phaûi coù moät teân.
Moãi vuõ khí thuoäc moät loïai vuõ khí ñöôïc phaân bieät baèng soá seâ ri vaø coù ghi ngaøy saûn xuaát. Thôøi ñieåm laép
ñaët moät vuõ khí treân maùy bay phaûi ñöôïc ghi nhaän. Cuøng moät vuõ khí coù theå ñöôïc laép ñaët cho nhieàu maùy
bay ôû caùc thôøi ñieåm khaùc nhau.

Haõy thöïc hieän caùc yeâu caàu sau:


(a) Xaây döïng moâ hình ER.
(b) Chuyeån moâ hình ER thaønh moâ hình quan heä.
Thieát keá phaàn xöû lyù thoâng tin ñaùp öùng laïi söï kieän laép ñaët vuõ khí cho maùy bay quaân söï.
----oOo----
Giáo trình Phân tích thiết Kế Hệ Thống 113

Chương 11 : MỞ RỘNG KHÁI NIỆM MỐI KẾT HỢP


(ADVANCED RELATIONSHIP CONCEPTS)

I MOÁI KEÁT HÔÏP MOÄT-MOÄT


Ta ñaõ coù moâ hình veà NGÖÔØI LAÙI XE vaø BAÈNG LAÙI nhö sau:

Ngoaøi moâ hình treân, vaán ñeà naøy coù theå coù hai daïng moâ hình sau:
maõ ngöôøi laùi xe maõ baèng laùi
teân loaïi baèng laùi
NGÖÔØI LAÙI XE BAÈNG LAÙI ngaøy heát haïn
ñòa chæ
ngaøy sinh maõ ngöôøi laùi xe
maõ baèng laùi teân
loaïi baèng laùi ñòa chæ
ngaøy heát haïn ngaøy sinh

Hình 7.1(b) - Hai moâ hình ER khaùc cuûa vaán ñeà Ngöôøi laùi xe vaø baèng laùi

Moät trong ba moâ hình treân seõ ñöôïc choïn löïa caên cöù vaøo caùc nguyeân taéc:
o Ta moâ hình thaønh hai taäp thöïc theå vaø moät moái keát hôïp khi caùc taäp thöïc theå coù möùc ñoä quan
troïng ñoäc laäp vaø coù caùc xöû lyù rieâng reõ. Ví duï trong Heä Tieáp Lieäu PHIEÁU YEÂU CAÀU VAÄT LIEÄU
ñöôïc laäp vaø gôûi ñi tröôùc khi ÑÔN ÑAËT MUA HAØNG ñöôïc phaùt sinh vaø gôûi cho nhaø cung caáp.
Hôn nöõa Baûn yeâu caàu vaät lieäu coù khaû naêng bò töï choái vì giaù caû hay bôûi lyù leõ khaùc. Neáu yeâu caàu
ñöôïc chaáp nhaän thì moät ÑÔN ÑAËT MUA HAØNG töông öùng ñöôïc phaùt sinh.

Moãi PHEÁU YEÂU CAÀU VAÄT LIEÄU coù theå laøm phaùt sinh moät ÑÔN ÑAËT MUA HAØNG
Moãi ÑÔN ÑAËT MUA HAØNG phaûi ñöôïc phaùt sinh bôûi moät PHIEÁU YEÂU CAÀU VAÄT LIEÄU
o Ta moâ hình thaønh hai taäp thöïc theå vaø moät moái keát hôïp khi baûn soá keát noái cuûa moái keát hôïp
thöôøng thay ñoåi. Chaúng haïn trong ví duï treân coù khaû naêng Moät ÑÔN ÑAËT MUA HAØNG phaûi
ñöôïc phaùt sinh bôûi moät hay nhieàu BAÛN YEÂU CAÀU VAÄT LIEÄU

o Ta moâ hình thaønh hai taäp thöïc theå vaø moät moái keát hôïp khi moät trong hai taäp thöïc theå coù moái keát
hôïp vôùi taäp thöïc theå khaùc
Giáo trình Phân tích thiết Kế Hệ Thống 114

Ví duï: Trong Heä Tieáp lieäu treân moät ÑÔN ÑAËT MUA HAØNG phaûi coù moät hay nhieàu DOØNG ÑÔN
HAØNG.

o Ta moâ hình thaønh hai taäp thöïc theå vaø moät moái keát hôïp vì caùc thuoäc tính caàn ñöôïc nhoùm rieâng do
chaúng haïn mhoùm caùc thuoäc tính ñöôïc khai thaùc thöôøng xuyeân coøn nhoùm kia thì ngöôïc laïi.
Ví duï: Moät coâng ty vaän chuyeån ñieàu haønh moät ñoäi caùc ñoaøn taàu gheùp noái. Moät ñoaøn taøu gheùp noái ñöôïc
hieåu laø moät ñoaøn taøu nhöng treân thöïc teá chuùng bao goàm moät ñaàu maùy vaø moät toa chôû haøng

o Neáu khoâng vì moät trong 4 lyù do treân thì ta hôïp nhaát hai taäp thöïc theå thaønh moät.
II NHIEÀU MOÁI KEÁT HÔÏP GIÖÕA HAI TAÄP THÖÏC THEÅ
Moät coâng ty mong muoán löu tröõ döõ lieäu veà caùc phoøng ban cuûa coâng ty, nhö phaân xöôûng saûn xuaát,
phoøng kinh doanh, phoøng keá toaùn, vaø chi tieát veà nhaân vieân. Thoâng tin caàn löu tröõ bao goàm maõ phoøng,
teân phoøng, vò trí, maõ nhaân vieân, teân, ñòa chæ. Moãi phoøng coù nhieàu nhaân vieân vaø ñöôïc phuï traùch bôûi moät
tröôûng phoøng. Moät tröôøng phoøng chæ phuï traùch moät phoøng. Moãi nhaân vieân chæ thuoäc veà moät phoøng.
Giáo trình Phân tích thiết Kế Hệ Thống 115

III MOÁI KEÁT HÔÏP HAY THUOÄC TÍNH


Moät khaùi nieäm coù theå laø thuoäc tính cuõng coù theå laø moái keát hôïp tuøy thuoäc vaøo qui taéc quaûn lyù. Ta xem
hai qui taéc quaûn lyù sau:
1/ Coâng ty caàn löu tröõ caùc thoâng tin veà XE caáp cho NHAÂN VIEÂN coù tieâu chuaån trôï caáp tieàn vaø xe cho
chuyeán du lòch cuûa mình. Roõ raøng chuùng ta caàn boå sung theâm taäp thöïc theå XE vaø moái keát hôïp giöõa XE
vaø NHAÂN VIEÂN. Thuoäc tính cuûa xe goàm, soá löôïng maùy, soá xi lanh, loaïi nhieân lieäu, soá caây soá ñaõ ñi.
Keát quaû laø quan heä NHAÂN VIEÂN seõ coù khoùa ngoaïi soá ñaêng boä ñeå dieãn taû moái keát hôïp giöõa NHAÂN
VIEÂN vaø XE.
2/ Chuùng ta haõy xem xeùt khía caïnh sau: Coâng ty khoâng traû tröïc tieáp soá tieàn trôï caáp naøy cho NHAÂN
VIEÂN maø seõ traû vaøo kyø löông. Tuy nhieân coâng ty vaãn muoán bieát nhaân vieân naøo coù tieâu chuaån xe nhaân
vieân naøo khoâng. Ñeå quaûn lyù ñöôïc ñieàu naøy ta khoâng phaûi taïo taäp thöïc theå XE maø chæ ghi nhaän soá ñaêng
boä nhö moät thuoäc tính cuûa taäp thöïc theå NHAÂN VIEÂN laø ñuû.
IV MOÁI KEÁT HÔÏP LOAÏI TRÖØ
Moái keát hôïp giöõa caùc taäp thöïc theå coù tính loaïi tröø. Nghóa laø moät thöïc theå chæ tham gia vaøo moät quan heä
trong caùc moái keát hôïp.
Ví duï: Coâng ty maùy tính mong muoán löu tröõ döõ lieäu veà caùc saûn phaåm phaàn cöùng vaø phaàn meàm maø hoï
baùn vaø hoã trôï. Coâng ty caàn ghi nhôù caùc loãi coù theå xaûy ra cho baát kyø saûn phaåm naøo. Moät loãi chæ xaûy ra
cho phaàn cöùng hay phaàn meàm nhöng khoâng xaûy ra cho caû hai nhö vaäy nhöõng loãi naøy coù tính loaïi tröø
nhau.

Cung troøn cuûa hình treân dieãn taû moái keát hôïp loaïi tröø nghóa laø moät loãi naøo ñoù laø cuûa phaàn cöùng hoaëc
phaàn meàm chöù khoâng cuûa caû hai. Tính chaát naøy hoaøn toaøn phuø hôïp vôùi tính chaát cuûa taäp thöïc theå
cha/con. Neáu hai taäp thöïc theå loaïi tröø coù thuoäc tính chung thì ta coù theå veõ laïi moâ hình treân döôùi daïng
sau:
Giáo trình Phân tích thiết Kế Hệ Thống 116

V MOÁI KEÁT HÔÏP BA NGOÂI (TERNARY RELATIONSHIP)


Ví duï: Moät coâng ty mong muoán löu tröõ döõ lieäu veà nhaân vieân vaø caùc kyõ naêng ñöôïc söû duïng trong caùc döï
aùn maø hoï ñöôïc phaân coâng tham gia. Caùc thuoäc tính maø coâng ty caàn löu tröõ bao goàm:
NHAÂN VIEÂN: maõ nhaân vieân, teân nhaân vieân
KYÕ NAÊNG: maõ kyõ naêng, teân kyõ naêng
DÖÏ AÙN: maõ döï aùn, teân döï aùn, vò trí, kinh phí.
Coâng ty cuõng muoán bieát moät nhaân vieân naøo ñoù coù ngaøy baét ñaàu söû duïng kyõ naêng naøo ñoù vaøo moät DÖÏ
AÙN naøo ñoù.
Nhaân vieân Kyõ naêng Döï aùn
Colette Keá toaùn Moû loä thieân
Colette Chuaån bò kinh phí Moû loä thieân
Colette Kieåm toaùn Vaên phoøng chính
Mike Quaûn lyù Moû loä thieân
Mike quaûn lyù Vaên phoøng chính
Mike quaûn lyù phaân xöôûng
Mike döï toaùn kinh phí moû loä thieân
Mike döï toaùn kinh phí phaân xöôûng
Gred quaûn lyù phaân xöôûng

Baûng döõ lieäu treân dieãn taû qui taéc quaûn lyù sau:
Moãi NHAÂN VIEÂN coù theå tham gia vaøo moät hay nhieàu DÖÏ AÙN.
Moãi DÖÏ AÙN coù theå ñöôïc tham gia bôûi moät hay nhieàu NHAÂN VIEÂN.
Moãi NHAÂN VIEÂN coù theå thaønh thaïo moät hay nhieàu KYÕ NAÊNG
Moãi KYÕ NAÊNG coù theå ñöôïc söû duïng thaønh thaïo bôûi moät hay nhieàu NHAÂN VIEÂN
Moãi KYÕ NAÊNG coù theå ñöôïc duøng bôûi moät hay nhieàu DÖÏ AÙN
Moãi DÖÏ AÙN coù theå duøng moät hay nhieàu KYÕ NAÊNG.
Qui taéc quaûn lyù treân daãn ta ñeán moâ hình ER sau:
Giáo trình Phân tích thiết Kế Hệ Thống 117

Moâ hình treân laø moâ hình voøng cuûa ba moái keát hôïp nhieàu nhieàu. Ta khoâng theå gaén thuoäc tính ngaøy baét
ñaàu söû duïng moät kyõ naêng naøo ñoù vaøo moät döï aùn naøo ñoù cuûa moät nhaân vieân vaøo baát kyø taäp thöïc theå naøo
trong moâ hình. Vaán ñeà naøy ñöôïc giaûi quyeát baèng caùch:
- theâm moät taäp thöïc theå keát hôïp laøm trung gian keát noái vôùi caùc taäp thöïc theå trong moâ hình.
- Thuoäc tính nhaän dieän cuûa taäp thöïc theå keát hôïp laø söï keát hôïp caùc thuoäc tính nhaän dieän cuûa caùc
taäp thöïc theå trong moâ hình.
- Caùc thuoäc tính taïo neân thuoäc tính nhaän dieän naøy laø caùc khoùa ngoaïi. maõ kyõ
vieân
naêng
teân nhaân NHAÂN VIEÂN maõ nhaân vieân KYÕ NAÊNG teân kyõ
vieân thu maõ kyõ naêng
ve oäc c naêng
ngaøy vaøo à maõ döï aùn oä
laøm thu
ngaøy baét ñaàu à
co söû duïng ve
ù
KYÕ NAÊNG la
ÑÖÔÏC DUØNG ø
duøn
g

ñöôc duøng
bôûi maõ döï aùn
DÖÏ AÙN teân döï aùn
vò trí thaêm
doø
kinh phí
Hình 7.8 - Moâ hình ER cuûa vaán ñeà nhaân vieân/kyõ
naêng/döï aùn

Moâ hình quan heä:


NHAÂN VIEÂN(maõ nhaân vieân, teân nhaân vieân, ngaøy vaøo laøm)
KYÕ NAÊNG(maõ kyõ naêng, teân kyõ naêng)
DÖÏ AÙN(maõ döï aùn, teân döï aùn, vò trí thaêm doø, kinh phí)
KYÕ NAÊNG ÑÖÔÏC DUØNG(maõ nhaân vieân, maõ kyõ naêng, maõ döï aùn, ngaøy baét ñaàu söû duïng)
VI MOÁI KEÁT HÔÏP MOÄT NGOÂI (UNARY RELATIONSHIP, RECURSIVE RELATIONSHIP)
1 Baûn soá keát noái moät nhieàu
Moät coâng ty hieän löu tröõ chi tieát veà NHAÂN VIEÂN nhö: maõ nhaân vieân, teân nhaân vieân, ñòa chæ, …Coâng ty
cuõng löu tröõ chi tieát veà ngöôøi quaûn lyù nghóa laø ai laø ngöôøi quaûn lyù. Ñieàu quan troïng cuûa vaán ñeà laø ngöôøi
quaûn lyù cuõng laø nhaân vieân, vaø nhaân vieân thì chòu söï quaûn lyù cuûa nhaân vieân khaùc.
Qui taéc quaûn lyù laø:
Giáo trình Phân tích thiết Kế Hệ Thống 118

Moãi NHAÂN VIEÂN coù theå quaûn lyù moät hay nhieàu nhaân vieân khaùc
Moãi NHAÂN VIEÂN coù theå chòu söï quaûn lyù bôûi moät nhaân vieân khaùc.

Moâ hình ER cuûa vaán ñeà laø:

Moâ hình quan heä cuûa vaán ñeà quaûn lyù nhaân vieân nhö sau:
NHAÂN VIEÂN (maõ nhaân vieân, teân nhaân vieân, …, maõ nhaân vieân quaûn lyù)
NHAÂN VIEÂN
maõ nhaân vieân teân nhaân vieân maõ nhaân vieân quaûn lyù
000 . 000
101 Mike 000
217 Colette 101
318 Tony 217
525 Vicky 217
2 Baûn soá keát noái moät moät
Tröôøng Coäng ñoàng Chu toaøn ñöa ra moät keá hoaïch coá vaán môùi cho caùc giaùo vieân cuûa hoï vaø löu tröõ döõ
lieäu veà keá hoaïch naøy trong moät csdl. Keá hoaïch lieân quan ñeán caùc giaùo vieân nhieàu kinh nghieäm. Caùc
giaùo vieân naøy seõ coá vaán cho giaùo vieân môùi. YÙ töôûng laø hoã trôï giaùo vieân môùi trong giaûng daïy, soaïn baøi
giaûng, …
Ñeå giaûm nheï khoái löôïng coâng vieäc, giaùo vieân kinh nghieäm coù theå coá vaán cho moät giaùo vieân môùi vaø
moät giaùo vieân môùi phaûi coù moät coá vaán.
Döõ lieäu ñöôïc löu tröõ trong csdl bao goàm chi tieát caù nhaân cuûa giaùo vieân vaø chi tieát veà keá hoaïch coá vaán.
Giáo trình Phân tích thiết Kế Hệ Thống 119

giaùo vieân laøm giaùo vieân chòu söï


coá vaán coá vaán
laøm coá vaán
GIAÙO cho GIAÙO GIAÙO
VIEÂN chòu söï coá vaán VIEÂN VIEÂN
maõ giaùo maõ giaùo maõ giaùo
bôûi
vieân vieân vieân
teân giaùo teân giaùo teân giaùo
vieân vieân
Hình 7.12 - Moâ hình ER cuûa Tröôøng coâng ñoàng chu vieân
toaøn

Moãi GIAÙO VIEÂN coù theå laøm coá vaán cho moät GIAÙO VIEÂN
Moãi GIAÙO VIEÂN coù theå chòu söï coá vaán bôûi moät GIAÙO VIEÂN
Moâ hình quan heä cuûa vaán ñeà treân nhö sau:
GIAÙO VIEÂN ( maõ giaùo vieân, teân giaùo vieân,…., maõ giaùo vieân laøm coá vaán)
hay
GIAÙO VIEÂN ( maõ giaùo vieân, teân giaùo vieân,…., maõ giaùo vieân chòu söï coá vaán)
3 Baûn soá keát noái nhieàu nhieàu
Coâng ty TNHH Buillem vaø Sellem thieát keá, xaây döïng vaø laép ñaët caùc giaøn khoan daàu ngoaøi khôi. Giaøn
khoan ñöôïc taïo thaønh töø caùc ñôn theå coù kích thöôùc 6m x 3.6m x 3.6m vaø coù troïng löôïng töø 10 ñeán 25
taán. Ñieàu naøy cho pheùp
 Giaûm chi phí xaây döïng cho moät giaøn khoan ngoaøi khôi.
 Deã daøng vaän chuyeån ñeán caùc caàu taøu baèng ñöôøng ray.
 Deã daøng vaän chuyeån ñeán giaøn khoan ngoaøi khôi baèng saø lan.
Caùc ñôn theå ñöôïc raùp laïi taïi moû daàu ñeå taïo neân caùc boä phaän nhö beä khoan, ñaàu khoan, thieát bò khoan.
Ñeán löôït moãi ñôn theå ñöôïc caáu taïo töø caùc thaønh phaàn ñôn leû nhö ñöôøng oáng, van, moâ tô, baûng ñieàu
khieån v.v.. Ta coù qui taéc quaûn lyù sau:
Phaàn ñôn leû laø thaønh phaàn khoâng theå chia nhoû hôn nöõa.
Ñôn theå ñöôïc taïo töø caùc phaàn ñôn leû nhöng noù chöa phaûi laø saûn phaåm cuoái cuøng.
Boä phaän (beä khoan, thieát bò khoan) ñöôïc taïo töø caùc ñôn theå hay caùc phaàn ñôn leû
Phaàn hoaøn chænh ñöôïc taïo töø caùc ñôn theå hay boä phaän.
Moät loaïi ñôn theå ñöôïc duøng trong caùc boä phaän khaùc nhau.

Buildem and Sellem muoán thöïc hieän moät csdl ñeå löu tröõ thoâng tin veà caùc phaàn (phaàn ñôn leû, ñôn theå,
boä phaän, phaàn hoaøn chænh) treân bao goàm: Maõ phaàn, moâ taû, löôïng toàn, löôïng söû duïng. Nhö vaäy moái keát
hôïp giöõa caùc phaàn laø nhö sau:
Giáo trình Phân tích thiết Kế Hệ Thống 120

Moãi PHAÀN coù theå ñöôïc söû duïng ñeå taïo neân moät hay nhieàu PHAÀN.
Moãi PHAÀN coù theå ñöôïc taïo neân töø moät hay nhieàu PHAÀN.

Moái keát hôïp cuûa vaán ñeà treân laø moái keát hôïp nhieàu nhieàu. Ta khoâng theå gaén thuoäc tính löôïng söû duïng
(löôïng söû duïng cuûa moät PHAÀN ñeå taïo neân moät PHAÀN khaùc) vaøo taäp thöïc theå PHAÀN ñöôïc. Vaán ñeà naøy
ñöôïc giaûi quyeát baèng caùch:
- theâm moät taäp thöïc theå keát hôïp laøm trung gian keát noái vôùi caùc taäp thöïc theå trong moâ hình.
- Thuoäc tính nhaän dieän cuûa taäp thöïc theå keát hôïp laø söï keát hôïp caùc thuoäc tính nhaän dieän cuûa caùc
taäp thöïc theå trong moâ hình.
- Caùc thuoäc tính taïo neân thuoäc tính nhaän dieän naøy laø caùc khoùa ngoaïi.

Moâ hình treân coù ñaëc ñieåm sau:


- Baûn soá keát noái cuûa moâ hình khoâng phuï thuoäc vaøo baøi toaùn.
- Neáu khoâng coù thuoäc tính löôïng söû duïng thì ta söû duïng moâ hình khoâng coù taäp thöïc theå keát hôïp.
Moâ hình quan heä:
PHAÀN(maõ phaàn, moâ taû, löôïng toàn)
PHAÀN KEÁT HÔÏP(maõ phaàn söû duïng, maõ phaàn taïo neân, löôïng söû duïng)
Coù hai khoaù ngoaïi (maõ phaàn söû duïng) vaø (maõ phaàn taïo neân)
Coù hai khoaù chính: (maõ phaàn) vaø (maõ phaàn söû duïng, maõ phaàn taïo neân)
PHAÀN KEÁT HÔÏP
maõ phaàn söû duïng maõ phaàn taïo neân löôïng söû duïng
06 04 5
07 04 10
08 04 10
Giáo trình Phân tích thiết Kế Hệ Thống 121

09 04 3
04 01 2
03 01 100
VII BAØI TAÄP
1 Baøi 7.1

Moät gara söûa xe mong muoán xaây döïng moät cô sôû döõ lieäu veà caùc boä phaän trong xe vaø caùc thaønh phaàn
taïo neân chuùng (hình treân). Thoâng tin veà boä phaän xe coù maõ boä phaän (duy nhaát) vaø teân boä phaän. Moät boä
phaän xe coù theå ñöôïc caáu taïo töø caùc boä phaän khaùc. Nhöng moät thaønh phaàn chæ naèm trong moät boä phaän.
a/ Haõy xaây döïng moâ hình ER cuûa vaán ñeà treân vaø chuyeån chuùng thaønh moâ hình quan heä.
b/ Haõy kieåm tra chöùc naêng ñöa döõ lieäu cuûa ví duï treân vaøo moâ hình quan heä.
2 Baøi 7.2
Cô quan chính phuû veà söùc khoûe mong muoán ghi nhaän dòch vuï naøo (nhö chaêm soùc treû, phuïc vuï ngöôøi
khuyeát taät, ..) ñöôïc cung caáp bôûi toå chöùc naøo (nhö Hieäp hoäi hoå trôï gia ñình, UÛy ban chaêm soùc ngöôøi
khuyeát taät,...), taïi vò trí ñòa lyù naøo (nhö baéc Sydney, höôùng taây ngoaïi oâ, Newcatle,...) vaø ngaøy maø toå
chöùc baét ñaàu cung caáp dòch vuï cho moät vò trí ñòa lyù. Ñoái vôùi dòch vuïï phuïc vuï, toå chöùc phuïc vuï vaø vò trí
ñòa lyù phuïc vuï, cô quan chính phuû chæ quan taâm ñeán teân vaø thuoäc tính nhaän dieän cuûa chuùng.
Haõy leân moâ hình ER vaø chuyeån chuùng thaønh moâ hình quan heä.
3 Baøi 7.3
Doanh nghieäp Taân Thaønh laø moät doanh nghieäp saûn xuaát haøng may maëc, coù moät soá phoøng ban (phoøng
kyõ thuaät, phoøng haønh chaùnh, ...) vaø nhieàu chuyeàn saûn xuaát (chuyeàn 1, chuyeàn 2,..).

Doanh nghieäp coù nhieàu nhaân vieân, nhaân vieân giaùn tieáp vaø nhaân vieân tröïc tieáp (coøn goïi laø coâng nhaân).
Thoâng tin veà moät nhaân vieân goàm coù: maõ nhaân vieân, hoï teân, ngaøy sinh, ñòa chæ, ngaøy vaøo laøm. Moãi nhaân
vieân giaùn tieáp coù moät ñôn giaù ngaøy coâng. Löông nhaân vieân giaùn tieáp baèng soá ngaøy coâng nhaân vôùi ñôn
giaù ngaøy coâng. Ñoái vôùi coâng nhaân, doanh nghieäp raát quan taâm ñeán vaên baèng, chöùng chæ lieân quan ñeán
ngheà may maø coâng nhaân ñaït ñöôïc. Moãi nhaân vieân giaùn tieáp/coâng nhaân phaûi chòu söï quaûn lyù cuûa moät
phoøng ban/chuyeàn.

Doanh nghieäp saûn xuaát nhieàu loaïi saûn phaåm. Moãi saûn phaåm ñöôïc hoaøn thaønh qua moät soá coâng ñoaïn.
Teân vaø ñôn giaù moãi coâng ñoaïn phuï thuoäc vaøo töøng saûn phaåm.

Moãi chuyeàn hoaøn thaønh caùc saûn phaåm theo töøng ñôït giao haøng. Moãi ñôït giao haøng chæ giao haøng ñeå
hoaøn thaønh moät saûn phaåm vaø giao cho moät chuyeàn vôùi caùc thoâng tin ngaøy giao, soá löôïng saûn phaåm
hoaøn thaønh. Caùc ñôït giao haøng coù theå giao hoaøn thaønh cuøng saûn phaåm nhöng khoâng cuøng ngaøy. Moãi
chuyeàn phaûi thöïc hieän ñôït giao haøng töø coâng ñoaïn ñaàu ñeán coâng ñoaïn cuoái ñeå hoaøn thaønh saûn phaåm.
Ñôn giaù coâng ñoaïn ñöôïc duøng ñeå tính löông traû cho ngöôøi saûn xuaát.
Giáo trình Phân tích thiết Kế Hệ Thống 122

Trong quaù trình thöïc hieän ñôït giao haøng, moät coâng nhaân coù theå laøm ôû nhieàu coâng ñoaïn khaùc nhau trong
moät chuyeàn. Trong moãi coâng ñoaïn coù nhieàu coâng nhaân tham gia laøm vieäc. Moãi coâng nhaân laøm vieäc
trong moät coâng ñoaïn seõ ñöôïc chaám coâng theo soá löôïng hoaøn thaønh. Haøng ngaøy, keá toaùn phaûi nhaäp
baûng chaám coâng do caùc ban ñieàu haønh caùc chuyeàn gôûi veà. Baûng chaám coâng cho bieát soá löôïng töøng
coâng ñoaïn cuûa töøng ñôït giao haøng maø coâng nhaân thöïc hieän trong ngaøy.

Haøng thaùng, doanh nghieäp traû löông cho coâng nhaân 2 kyø: kyø öùng vaø kyø cuoái thaùng. Möùc löông öùng
ñöôïc nhaân vieân keá toaùn xaùc ñònh (baèng moät nöûa möùc thu nhaäp haøng thaùng). Kyø öùng ñöôïc phaùt vaøo
ngaøy 20 moãi thaùng.

Cuoái thaùng, keá toaùn phaûi tính vaø laäp baûng löông theo töøng phoøng ban, töøng chuyeàn (ñeå phaùt).
Yeâu caàu:
(a) Xaây döïng moâ hình ER cho vaán ñeà treân.
(b) Chuyeån moâ hình ER thaønh moâ hình quan heä.
(c) Thieát keá phaàn xöû lyù nhaäp baûng chaám coâng vaøo cuoái ngaøy.
----oOo----
Giáo trình Phân tích thiết Kế Hệ Thống 123

Chương 12 : SỰ CHUẨN HÓA


(NORMALISATION)

I GIÔÙI THIEÄU
Moät csdl coøn dö thöøa döõ lieäu seõ gaây trôû ngaïi cho vieäc caäp nhaät döõ lieäu. Chuaån hoùa csdl laø hoaït ñoäng
taïo ra moät csdl khoâng coøn dö thöøa döõ lieäu, moät csdl ñaït toái thieåu daïng chuaån 3. Trong caùc giai ñoaïn
phaân tích thieát keá heä thoáng, hoaït ñoäng chuaån hoùa naèm trong giai ñoaïn thieát keá csdl (xem hình)

THIEÁT KEÁ HEÄ THOÁNG


(SYSTEMS DESIGN)

1. Thieát keá giao dieän con ngöôøi (designing the human interface)
2. Thieát keá cô sôû döõ lieäu (designing database)
a) Thieát keá csdl logic (designing logical database)
- Bieán ñoåi moâ hình ER thaønh moâ hình quan heä
- Kieåm tra yeâu caàu chöùc naêng
-
b) Thieát keá csdl vaät lyù (designing physical database)
- Chuyeån caùc quan heä ñaït chuaån thaønh caùc ñaëc taû
taäp tin maùy tính
THÖÏC HIEÄN VAØ VAÄN HAØNH HEÄ
THOÁNG
(SYSTEMS IMPLEMENTATION AND OPERATION)

Hình 10.1 - Chuaån hoùa csdl trong caùc böôùc


PTTKHT
II PHUÏ THUOÄC HAØM (FUNCTIONAL DEPENDENCY)
1 Phuï thuoäc haøm
Thuoäc tính Y trong quan heä phuï thuoäc haøm vaøo thuoäc tính X (hay X1, X2,..) cuûa cuøng quan heä, neáu öùng
vôùi giaù trò cuûa X chæ coù 1 giaù trò cuûa Y.
Kyù hieäu: XY hay X1,X2Y
Ta noùi Thuoäc tính Y phuï thuoäc haøm vaøo thuoäc tính X hay giaù trò cuûa X xaùc ñònh duy nhaát moät giaù trò
cuûa Y hay Y ñöôïc xaùc ñònh bôûi X.
Ví duï: Trong heä csdl HOÏC VIEÂN, thuoäc tính teân hoïc vieân phuï thuoäc haøm vaøo maõ hoïc vieân
2 Phuï thuoäc haøm ñaày ñuû
Thuoäc tính Y trong quan heä phuï thuoäc haøm ñaày ñuû vaøo thuoäc tính X (X1, X2,..) cuûa cuøng quan heä, neáu noù
phuï thuoäc haøm vaøo X vaø khoâng phuï thuoäc haøm vaøo moät phaàn cuûa X.
Ví duï: Trong vaán ñeà Tröôøng Cao Ñaúng Coäng Ñoàng Nuùi Xanh tröôùc ñaây ta ñaõ coù qui taéc quaûn lyù:
Moãi HOÏC VIEÂN coù theå ghi danh vaøo hoïc moät hay nhieàu MOÂN HOÏC.
Moãi MOÂN HOÏC coù theå ñöôïc ghi danh bôûi moät hay nhieàu HOÏC VIEÂN.
Giáo trình Phân tích thiết Kế Hệ Thống 124

Moâ hình
ER co ghi nhaän ñaøo
HOÏC BIEÂN taïo veà MOÂN
maõ hoïc thuoäc ù ñöôïc ghi nhaän ñaøo
VIEÂN NHAÄN
maõ hoïc vieân maõHOÏC
moân
vieân veà taïo bôûi
maõ moân hoïc
teân hoïc
hoïc teân moân
vieân
ngaøy nhaäp hoïc
ñòa chæ
hoïc thôøi löôïng
ngaøy sinh
soá ñieän
Moâ thoaïi
hình quan
heä HOÏC VIEÂN (maõ hoïc vieân, teân hoïc vieân, ñòa chæ, ngaøy sinh,
soá
MOÂN ñieän thoaïi)
HOÏC (maõ moân hoïc, teân moân hoïc,
thôøi
BIEÂN löôïng)
NHAÄN ( , ,
ngaøy nhaäp hoïc)
Hình 3.10 - Moâ hình ER vaø moâ hình quan heä cuûa vaán ñeà Tröôøng Cao Ñaúng
Coäng Ñoàng Nuùi Xanh

Maõ hoïc vieân, maõ moân hoïc  ngaøy nhaäp hoïc


III CAÙC DAÏNG CHUAÅN
1 Ví duï
Coâng ty Kim khí Ñai oác vaø Buø lon (NBHC) coù nhieàu cöûa haøng hoaït ñoäng vôùi teân rieâng. Baûng toàn kho
cuûa Cöûa haøng Kim khí Maët nam (moät trong caùc cöûa haøng cuûa Coâng ty NBHC) coù daïng nhö sau:
COÂNG TY KIM KHÍ ÑAI OÁC VAØ BUØ LON DANH SAÙCH TOÀN KHO
Maõ cöûa haøng: M515
Teân cöûa haøng: Cöûa haøng kim khí maët nam
maõ moâ taû haøng maõ nhaø teân nhaø cung ñòa chæ nhaø löôïng ñôn thaønh
haøng cung caáp caáp cung caáp toàn giaù tieàn
3241 Buø lon 2 cm 34513 Acme Bolt Co 45 Hay Street 123 $0.50 $61.50
3541 OÁc 5 cm 34513 Acme Bolt Co 45 Hay Street 546 $0.70 $382.20
4325 Voøng ñeäm 30 mm 57913 Washer Co 7 Blacktown Road 567 $0.12 $68.04
5678 Ñai oác 8 mm 34513 Acme Bolt Co 45 Hay Street 342 $0.17 $58.14
1478 Ñinh oác 40 mm 00972 Best Fasteners 281 Pilbara Way 1267 $0.09 $114.03
4327 Voøng ñeäm 40 mm 57913 Washer Co 7 Blacktown Road 165 $0.15 $24.75
... ... ... ... ... ... .. ...
Toång coäng $708.66
Qui taéc quaûn lyù:
1. Baûng Toàn kho cuûa Cöûa haøng Kim khí Maët nam laø maãu tieâu bieåu cho taát caû cöûa haøng
2. Moãi nhaø cung caáp cung caáp nhieàu maët haøng, nhöng moät maët haøng chæ ñöôïc cung caáp bôûi moät nhaø
cung caáp
3. Moät maët haøng ñöôïc löu tröõ ôû nhieàu cöûa haøng. Ví duï maët haøng maõ soá 3241 ñöôïc löu tröõ trong cöûa
haøng M515 nhöng noù cuõng ñöôïc löu tröõ trong cöûa haøng M516 vaø M517.
4. Löôïng toàn laø soá löôïng toàn cuûa moät maët haøng cuûa moät cöûa haøng.
5. Ñôn giaù cuûa moät maët haøng laø ñôn giaù chung cho taát caû caùc cöûa haøng
6. Toång coäng laø toång cuûa coät thaønh tieàn
7. Maõ cöûa haøng, maõ haøng, maõ nhaø cung caáp laø thuoäc tính nhaän dieän cuûa cöûa haøng, haøng, nhaø cung caáp
Ta thöïc hieän caùc böôùc chuaån hoùa quan heä cuûa ví duï coâng ty NBHC theo caùc böôùc sau:
Giáo trình Phân tích thiết Kế Hệ Thống 125

2 Daïng chuaån moät (first normal form)


Ñònh nghóa: Thuoäc tính A laø laëp laïi (repeating group of attribute) neáu öùng vôùi moät giaù trò khoùa chính coù
nhieàu giaù trò cuûa thuoäc tính A.
MAËT HAØNG
Maõ haøng Moâ taû Ñôn giaùbaùn
1003 Tuï ñieän 0.68
0.67
0.65
1007 Ñaàu noái 2.00
2.10
1.90
BAÛNG DÖÕ LIEÄU KHOÂNG ÑAÏT DAÏNG CHUAÅN 1
Trong quan heä MAËT HAØNG treân, thuoäc tính ñôn giaù baùn laø thuoäc tính laëp laïi (ñoâi khi coøn goïi laø thuoäc
tính ña giaù trò: multi value attribute) .
Ñònh nghóa: Moät quan heä R ôû daïng chuaån moät neáu noù khoâng coù thuoäc tính laëp laïi.
Caùch chuaån hoùa: Moät quan heä R khoâng ôû daïng chuaån 1 ñöôïc chuaån hoùa baèng caùch chuyeån thuoäc tính
laëp laïi vaøo quan heä rieâng.
i. Chuyeån taát caû thuoäc tính vaøo moät quan heä:
TỒN KHO (maõ cöûa haøng, teân cöûa haøng, maõ haøng, moâ taû maët haøng, maõ nhaø cung caáp, teân nhaø cung
caáp, ñòa chæ, löôïng toàn, ñôn giaù, thaønh tieàn, toång coäng)
ii. Loaïi boû caùc thuoäc tính toång hôïp
TỒN KHO (maõ cöûa haøng, teân cöûa haøng, maõ haøng, moâ taû maët haøng, maõ nhaø cung caáp, teân nhaø cung
caáp, ñòa chæ, löôïng toàn, ñôn giaù)
iii. Xaùc ñònh khoùa chính (choïn ngaãu nhieân moät khoùa chính nhö maõ cöûa haøng)
TỒN KHO (maõ cöûa haøng, teân cöûa haøng, maõ haøng, moâ taû maët haøng, maõ nhaø cung caáp, teân nhaø cung
caáp, ñòa chæ, löôïng toàn, ñôn giaù)
Ta thaáy öùng vôùi giaù trò maõ cöûa haøng “M515” thì coù nhieàu giaù trò laëp laïi cuûa caùc thuoäc tính: maõ haøng,
moâ taû maët haøng, maõ nhaø cung caáp, teân nhaø cung caáp, ñòa chæ, löôïng toàn, ñôn giaù. Thuoäc tính laëp laïi naøy
ñoøi hoûi phaûi chuyeån qua quan heä rieâng. Khoùa chính cuûa quan heä môùi naøy thöôøng laø khoùa hôïp (khoùa coù
treân moät thuoäc tính) laø hôïp cuûa khoùa chính cuûa quan heä nguoàn vaø khoaù chính cuûa caùc thuoäc tính laëp laïi.
TOÀN KHO
maõch teân ch maõ haøng moâ taû maõ ncc teân ncc ñòa chæ löôïng toàn ñôn giaù
Giáo trình Phân tích thiết Kế Hệ Thống 126

M515 chkkmn 3241 Buø lon 2cm 34513 Acme bolt co 45 ... 123 0.50
3541 OÁc 5cm 34513 Acme bolt co 45 ... 546 0.70
4325 Voøng... 57913 Washer co 7 .. 567 0.12
5678 Ñai oác ... 34513 Acme bolt co 45 ... 342 0.17
1478 Ñinh oác ... 00972 Best fastener 281 ... 1267 0.09
4327 Voøng ... 57913 Washer co 7 ... 165 24.75
M516 chkkmb 3241 Buø lon 2cm 34513 Acme bolt co 45 ... 20 0.50
4325 Voøng ... 57913 Washer co 7 ... 30 0.12
1478 Ñinh oác ... 00972 Best fastener 281 .. 60 0.09
M517 chkkmt 3541 Buø lon 2cm 34513 Acme bolt co 45 ... 100 0.70
.... .... .... .... ... ... ... ... ..
iv. Chuyeån thuoäc tính laëp laïi thaønh quan heä rieâng
CÖÛA HAØNG(maõ cöûa haøng,teân cöûa haøng)
TOÀN KHO (maõ cöûa haøng,maõ haøng,moâ taû maët haøng,maõ nhaø cung caáp,teân nhaø cung caáp,ñòa chæ,löôïng
toàn, ñôn giaù)
3 Daïng chuaån hai (second normal form)
Ñònh nghóa: Moät quan heä R ôû daïng chuaån 2 neáu noù ôû daïng chuaån 1 vaø moãi thuoäc tính khoâng khoùa phuï
thuoäc haøm ñaày ñuû vaøo khoùa quan heä (khoâng phuï thuoäc vaøo moät phaàn khoaù quan heä)
Caùch chuaån hoùa: Moät quan heä R khoâng ôû daïng chuaån 2 ñöôïc chuaån hoùa baèng caùch chuyeån thuoäc tính
phuï thuoäc vaøo moät phaàn khoùa vaøo quan heä rieâng.

Quan heä CÖÛA HAØNG ñöông nhieân ñaït daïng chuaån 2 vì khoùa chính chæ goàm moät thuoäc tính
Quan heä TOÀN KHO coù khoùa chính goàm hai thuoäc tính neân ta phaûi kieåm tra söï phuï thuoäc haøm cuûa caùc
thuoäc tính

CÖÛA HAØNG(maõ cöûa haøng, teân cöûa haøng)


TOÀN KHO (maõ cöûa haøng, maõ haøng, löôïng toàn)
MAËT HAØNG (maõ haøng, moâ taû maët haøng, maõ nhaø cung caáp, teân nhaø cung caáp, ñòa chæ, ñôn giaù)
4 Daïng chuaån ba (third normal form)
Ñònh nghóa: Moät quan heä R ôû daïng chuaån 3 neáu noù ôû daïng chuaån 2 vaø khoâng coù söï phuï thuoäc haøm giöõa
caùc thuoäc tính khoâng khoùa.
Caùch chuaån hoùa: Moät quan heä R khoâng ôû daïng chuaån 3 ñöôïc chuaån hoùa baèng caùch chuyeån thuoäc tính
phuï thuoäc vaøo thuoäc tính khoâng khoùa vaøo quan heä rieâng

CÖÛA HAØNG(maõ cöûa haøng, teân cöûa haøng)


TOÀN KHO (maõ cöûa haøng, maõ haøng, löôïng toàn)
Giáo trình Phân tích thiết Kế Hệ Thống 127

MAËT HAØNG (maõ haøng, moâ taû maët haøng, maõ nhaø cung caáp, ñôn giaù)
NHAØ CUNG CAÁP (maõ nhaø cung caáp, teân nhaø cung caáp, ñòa chæ)
IV CHUAÅN HOÙA THEO LYÙ THUYEÁT CSDL
Löôïc ñoà quan heä Q = CÖÛA HAØNG (maõ cöûa haøng, teân cöûa haøng, maõ haøng, moâ taû maët haøng, maõ nhaø
cung caáp, teân nhaø cung caáp, ñòa chæ, löôïng toàn, ñôn giaù) coù taäp phuï thuoäc haøm:
F = {maõ cöûa haøng  teân cöûa haøng;
maõ cöûa haøng, maõ haøng  löôïng toàn;
maõ haøng  moâ taû maët haøng, ñôn giaù, maõ nhaø cung caáp, teân nhaø cung caáp, ñòa chæ;
maõ nhaø cung caáp  teân nhaø cung caáp, ñòa chæ
}
TN = {maõ cöûa haøng, maõ haøng} TG = {maõ nhaø cung caáp} Xi laø taäp con cuûa taäp TG:

Xi TNXi (TNXi)+ Sieâu khoùa Khoùa


 maõ cöûa haøng, Q+ maõ cöûa haøng, maõ cöûa haøng,
maõ haøng maõ haøng maõ haøng
maõ nhaø cung caáp maõ cöûa haøng, Q+ maõ cöûa haøng,
maõ haøng, maõ haøng,
maõ nhaø cung caáp maõ nhaø cung caáp

F={maõ cöûa haøng -> teân cöûa haøng; maõ cöûa haøng, maõ haøng ->
löôïng toàn; maõ haøng -> moâ taû maët haøng, ñôn giaù, maõ nhaø cung
caáp, teân nhaø cung caáp, ñòa chæ; maõ nhaø cung caáp -> teân nhaø
cung caáp, ñòa chæ}
Q={maõ cöûa haøng, teân cöûa haøng, maõ haøng, moâ taû maët haøng,....}
K = {maõ cöûa haøng, maõ haøng }

F1 ={maõ cöûa haøng -> teân cöûa haøng} F1 ={maõ cöûa haøng, maõ haøng -> löôïng toàn; maõ haøng -> moâ taû
CÖÛA HAØNG ={maõ cöûa haøng, teân cöûa haøng} maët haøng,ñôn giaù, maõ nhaø cung caáp, teân nhaø cung caáp, ñòa chæ;
K1 = {maõ cöûa haøng} maõ nhaø cung caáp -> teân nhaø cung caáp, ñòa chæ}
Q2 ={maõ cöûa haøng, maõ haøng, moâ taû maët haøng,....}
K2 = {maõ cöûa haøng, maõ haøng }

F3 ={maõ haøng -> moâ taû maët haøng,ñôn giaù, maõ nhaø cung caáp,
teân nhaø cung caáp, ñòa chæ; maõ nhaø cung caáp -> teân nhaø cung F4 ={maõ cöûa haøng, maõ haøng -> löôïng toàn}
caáp, ñòa chæ, ...} Q4 ={maõ cöûa haøng, maõ haøng, moâ taû maët
Q3 ={maõ cöûa haøng, maõ haøng, moâ taû maët haøng,....} haøng,....}
K3 = {maõ haøng} K4 = {maõ cöûa haøng, maõ haøng }

F5 ={maõ haøng -> moâ taû maët haøng,ñôn giaù, maõ nhaø cung caáp} F6 ={maõ nhaø cung caáp -> teân nhaø cung caáp, ñòa chæ}
Q5 ={maõ cöûa haøng, moâ taû maët haøng, ñôn giaù, maõ nhaø cung caáp} Q6 ={maõ nhaø cung caáp, teân nhaø cung caáp, ñòa chæ}
K5 = {maõ haøng } K6 = {maõ nhaø cung caáp}

V TIEÁP CAÄN THEO MOÂ HÌNH ER


Ñeå xaây döïng moâ hình quan heä cho vaán ñeà NBHC, thay vì tieáp caän baèng caùch aùp duïng caùc luaät chuaån
hoùa (caùch tieáp caän töø döôùi leân theo bottom-up approach), ta tieáp caän theo moâ hình ER qua caùc böôùc sau
(caùch tieáp caän töø treân xuoáng the top down approach):
Böôùc 1: Aùp duïng caùch phaân tích bieåu maãu ñaõ ñeà caäp ôû chöông 4, töø bieåu maãu Baûng toàn kho cuûa
NBHC, ta nhaän dieän ñöôïc caùc taäp thöïc theå CÖÛA HAØNG, HAØNG, NHAØ CUNG CAÁP.
Böôùc 2: Veõ moâ hình ER vaø gaén caùc thuoäc tính nhaän dieän
Giáo trình Phân tích thiết Kế Hệ Thống 128

Böôùc 3: Xaùc ñònh caùc moái keát hôïp giöõa caùc taäp thöïc theå. Caên cöù vaøo qui taéc quaûn lyù, ta coù moái keát hôïp
giöõa HAØNG vaø CÖÛA HAØNG laø moái keát hôïp nhieàu nhieàu vaø moái keát hôïp giöõa HAØNG vaø NHAØ
CUNG CAÁP laø moái keát hôïp moät nhieàu.

Böôùc 4: Moái keát hôïp nhieàu nhieàu ñöôïc giaûi quyeát baèng caùch theâm taäp thöïc theå keát hôïp TOÀN KHO laøm
trung gian keát noái giöõa hai taäp thöïc theå HAØNG vaø CÖÛA HAØNG. Thuoäc tính löôïng toàn chæ phuø
hôïp vôùi taäp thöïc theå keát hôïp TOÀN KHO

Böôùc 5: Aùp duïng caùc qui taéc bieán ñoåi ôû chöông 3 ñeå chuyeån moâ hình ER thaønh moâ hình quan heä
CÖÛA HAØNG(maõ cöûa haøng, teân cöûa haøng)
MAËT HAØNG (maõ haøng, moâ taû maët haøng, maõ nhaø cung caáp, ñôn giaù)
TOÀN KHO (maõ cöûa haøng, maõ haøng, löôïng toàn)
NHAØ CUNG CAÁP (maõ nhaø cung caáp, teân nhaø cung caáp, ñòa chæ)
Böôùc 6: Aùp duïng caùc qui taéc chuaån hoùa ñeå ñöa caùc quan heä ôû böôùc 5 veà daïng chuaån ba.
VI BAØI TAÄP
1 10.1
Töø baûng döõ lieäu sau, haõy xaây döïng moät quan heä khoâng chuaån roài chuaån hoùa noù ñaït chuaån 1, chuaån 2
cuoái cuøng laø chuaån 3. Söû duïng caùc qui taéc quaûn lyù maø baïn luaän ra töø baûng döõ lieäu. Neáu ñöôïc haõy phaùt
bieåu moät vaøi ñieàu raøng buoäc giaû ñònh.
Maõ Maõ Nhaø CC Moâ taû Maõ cöûa Cöûa haøng Giaù khôûi Tæ Giaù Maõ ñòa Ñòa ñieåm
soá NCC haøng ñieåm suaát trò dieåm
202 L02 Lincoln Welder 400 Amp FAB Fabrication Shop 2760 20% 552 WE Welshpool
296 SCI Schoettel Deepwater Barge PEH P&e Hire 221000 10% 22100 VI Varanus 1s
328 C03 Colchester Lathe 1500 BC MEC Mechanical Shop 8750 10% 875 KW Kewdale
419 F11 Fluke Multimeter ELE Electrical Shop 430 20% 86 BE Belmont
790 L02 Lincoln Welder 400 Amp FAB Fabrication Shop 2760 20% 552 WE Welshpool
987 M01 Mitutoyo Micrometer MEC Mechanical Shop 440 5% 22 KW Kewdale
1290 AS1 Allstar Satcom 2000 PEH P&E Hire 7200 30% 2160 TH Thailand
1333 L02 Lincoln Welder 300 Amp MEC Mechanical Shop 2440 15% 366 KW Kewdale
5693 C03 Colchester Lathe 1800BC MEC Mechanical Shop 9900 10% 990 KW Kewdale
6785 T07 Tektronics Oscilloscope ELE Electrical Shop 5700 10% 570 BE Belmont
Giáo trình Phân tích thiết Kế Hệ Thống 129

6788 L02 Lincoln Welder 400 Amp PEH P&E Hire 2760 20 552 KW Kewdale

1) Töø baûng döõ lieäu treân ta coù quan heä khoâng chuaån sau:
TAØI SAÛN(maõ soá, maõ NCC, teân nhaø CC, moâ taû taøi saûn, maõ loaïi cöûa haøng, teân loaïi cöûa haøng, giaù khôûi
ñieåm, tæ suaát, giaù trò, maõ ñòa ñieåm, teân ñòa ñieåm)
Thuoäc tính giaù trò = giaù khôûi ñieåm * tæ suaát laø thuoäc tính toång hôïp
TAØI SAÛN(maõ soá, maõ NCC, teân nhaø CC, moâ taû taøi saûn, maõ loaïi cöûa haøng, teân loaïi cöûa haøng, giaù khôûi
ñieåm, tæ suaát, maõ ñòa ñieåm, teân ñòa ñieåm)
Choïn maõ soá laøm khoùa chính
TAØI SAÛN(maõ soá, maõ NCC, teân nhaø CC, moâ taû taøi saûn, maõ loaïi cöûa haøng, teân loaïi cöûa haøng, giaù khôûi
ñieåm, tæ suaát, maõ ñòa ñieåm, teân ñòa ñieåm)
2) Öùng vôùi moãi giaù trò khoùa chính khoâng coù giaù trò laëp laïi neân quan heä TAØI SAÛN ñaït daïng chuaån 1.
3) Khoùa quan heä TAØI SAÛN chæ goàm moät thuoäc tính neân ñaït daïng chuaån 2
4) Trong quan heä TAØI SAÛN coù söï phuï thuoäc giöõa caùc thuoäc tính khoâng khoùa nhö sau:
Maõ NCC  teân nhaø CC
Maõ loaïi cöûa haøng  teân loaïi cöûa haøng
Moâ taû taøi saûn  giaù khôûi ñieåm, moâ taû taøi saûn-> tæ suaát
Maõ ñòa ñieåm  teân ñòa ñieåm
Ta chuyeån caùc thuoäc tính naøy vaøo quan heä rieâng
TAØI SAÛN(maõ soá, maõ NCC, moâ taû taøi saûn, maõ loaïi cöûa haøng, maõ ñòa ñieåm)
NHAØ CUNG CAÁP(maõ NCC, teân nhaø CC)
LOAÏI CÖÛA HAØNG(maõ loaïi cöûa haøng, teân loaïi cöûa haøng)
ÑÒA ÑIEÅM(maõ ñòa ñieåm, teân ñòa ñieåm)
DANH MUÏC TAØI SAÛN(moâ taû taøi saûn, giaù khôûi ñieåm, tæ suaát)
5) Töø baûng döõ lieäu ta luaän ra caùc ñieàu sau:
o Caùc taäp thöïc theå TAØI SAÛN, NHAØ CUNG CAÁP, LOAÏI CÖÛA HAØNG, ÑÒA ÑIEÅM, DANH
MUÏC TAØI SAÛN
o Giaù trò = giaù khôûi ñieåm x tæ suaát
o Maõ NCC, maõ loaïi cöûa haøng, maõ ñòa ñieåm laø khoùa thuoäc tính nhaän dieän cuûa NHAØ CUNG
CAÁP, LOAÏI CÖÛA HAØNG, ÑÒA ÑIEÅM
2 10.2
Töø baûng döõ lieäu sau, haõy xaây döïng moät quan heä khoâng chuaån roài chuaån hoùa noù ñaït chuaån 1, chuaån 2
cuoái cuøng laø chuaån 3. Söû duïng caùc qui taéc quaûn lyù maø baïn luaän ra töø baûng döõ lieäu. Neáu ñöôïc haõy phaùt
bieåu moät vaøi ñieàu raøng buoäc giaû ñònh.
maõ traùch Maõ maùy Maõ loaïi Caáu taïo Dòch vuï Maõ nhaø Teân nhaø Nöôùc Maõ cô Teân cô Bang
nhieäm bay maùy bay maùy bay phuïc vuï cheá taïo cheá taïo sôû sôû
TR 003 C130 Hercules Transport LO Lockheed USA RI Richmond NSW
SR 007 UH-1 Iroquois SAR BE Bell USA PE Pearce WA
TR 009 C130 Hercules Transport LO Lockheed USA RI Richmond NSW
T 026 A331B Macchi Trainer AM AerMacchi Italy PE Pearce WA

1) Töø baûng döõ lieäu treân ta coù quan heä khoâng chuaån sau:
TRAÙCH NHIEÄM(maõ traùch nhieäm, maõ maùy bay, maõ loaïi maùy bay, caáu taïo maùy bay, dòch vuï phuïc vuï,
maõ nhaø cheá taïo, teân nhaø cheá taïo, nöôùc, maõ cô sôû, teân cô sôû, bang)
Choïn maõ maùy bay laøm khoùa chính
TRAÙCH NHIEÄM(maõ traùch nhieäm, maõ maùy bay, maõ loaïi maùy bay, caáu taïo maùy bay, dòch vuï phuïc vuï,
maõ nhaø cheá taïo, teân nhaø cheá taïo, nöôùc, maõ cô sôû, teân cô sôû, bang)
Giáo trình Phân tích thiết Kế Hệ Thống 130

2) Trong quan heä TRAÙCH NHIEÄM, öùng vôùi moãi giaù trò khoùa chính khoâng coù giaù trò laëp laïi neân
chuùng ñaït daïng chuaån 1
3) Khoùa quan heä TRAÙCH NHIEÄM chæ goàm moät thuoäc tính neân ñöông nhieân chuùng ñaït daïng chuaån
2
4) Trong quan heä TRAÙCH NHIEÄM coù söï phuï thuoäc giöõa caùc thuoäc tính khoâng khoùa nhö sau:
Maõ loaïi maùy bay-> caáu taïo maùy bay, dòch vuï phuïc vuï, maõ nhaø cheá taïo, maõ cô sôû, bang
maõ nhaø cheá taïo->teân nhaø cheá taïo, nöôùc
maõ cô sôû->teân cô sôû, bang
Ta chuyeån caùc thuoäc tính naøy vaøo quan heä rieâng
TRAÙCH NHIEÄM(maõ maùy bay, maõ traùch nhieäm, maõ loaïi maùy bay)
LOAÏI MAÙY BAY(maõ loaïi maùy bay, caáu taïo maùy bay, dòch vuï phuïc vuï, maõ nhaø cheá taïo, maõ cô sôû)
NHAØ CHEÁ TAÏO(maõ nhaø cheá taïo, teân nhaø cheá taïo, nöôùc)
CÔ SÔÛ(maõ cô sôû, teân cô sôû, bang).
3 Traéc nghieäm
1) The process of converting complex data structures into simple, stable data structures is referred to as
a) normalization b) process modeling c) structuring d) simplification

----oOo----
Giáo trình Phân tích thiết Kế Hệ Thống 131
Giáo trình Phân tích thiết Kế Hệ Thống 132

CÁC TRƯỜNG HỢP NGHIÊN CỨU


(CASE STUDIES)

VII TRÖÔØNG CAO ÑAÚNG TAÂY ÑOÂ


1 Yeâu caàu döõ lieäu / ñaëc taû vaán ñeà.
1. WMC laø tröôøng cao ñaúng ña cô sôû, hieän hoaït ñoäng ôû 3 vò trí khaùc nhau. Moãi cô sôû chuyeân veà moät soá
laõnh vöïc ñaøo taïo maø khoâng coù söï truøng laép laõnh vöïc ñaøo taïo giöõa caùc cô sôû. Nghóa laø moät khoùa hoïc
ñaøo taïo ñöôïc toå chöùc bôûi moät khoa thì ñöôïc giaûng daïy chæ bôûi cô sôû coù khoa ñoù.
2. Tröôøng Cao ñaúng mong muoán coù moät csdl ñeå löu tröõ chính xaùc veà:
 Caùc khoùa hoïc ñaøo taïo vaø caùc chuû ñeà giaûng daïy cuûa caùc khoa ôû moãi caùc cô sôû.
 Söï ghi danh cuûa sinh vieân.
 Caùc kyø kieåm tra cuoái khoùa vaø ñieåm.
 Lyù lòch veà caùc giaûng vieân ñöôïc thueâ bôûi nhaø tröôøng vaø caùc chuû ñeà maø hoï giaûng daïy.
3. Cô sôû ñöôïc nhaän dieän bôûi maõ cô sôû. Teân cuûa cô sôû ñöôïc ñaët coù lieân quan ñeán vò trí ñòa lyù nhö:
 CC – Cô sôû trung taâm thaønh phoá.
 NR – Cô sôû caùc doøng soâng höôùng baéc
 DH – Cô sôû caùc ñoài yeâu quí.
4. Moãi cô sôû coù moät soá khoa nhaát ñònh. Ví duï cô sôû CC coù khoa tính toùan, khoa kinh teá, khoa vaên
phoøng vaø thö kyù, khoa luaät vaø coâng ngheä. Ngaøy thaønh laäp cô sôû cuõng caàn ñöôïc quan taâm.
5. Moãi khoa coù moät soá giaûng vieân ñöôïc phaân coâng laø toå tröôûng boä moân, chòu söï quaûn lyù cuûa tröôûng
khoa. Khoa coù kinh phí hoaït ñoäng trong moät naêm taøi chaùnh. Moãi giaûng vieân baùo caùo cho toå tröôûng
boä moân vaø toå tröôûng boä moân baùo caùo cho tröôûng khoa.
6. Khoa ñöôïc chuû ñoäng môû caùc khoùa ñaøo taïo phuø hôïp vôùi yeâu caàu cuûa tröôøng. Ví duï Khoa tính toaùn
môû khoùa ñaøo taïo chöùng chæ coâng ngheä thoâng tin (CIT), chöùng chæ coâng ngheä thoâng tin naâng cao
(ACIT) vaø vaên baèng coâng ngheä thoâng tin trong öùng duïng maùy tính (DITCA). Khoùa ñang ñaøo taïo
caàn phaûi ñöôïc phaân bieät vôùi caùc khoùa hieän khoâng ñang ôû tình traïng ñaøo taïo.
7. Moãi khoùa ñaøo taïo coù moät soá chuû ñeà baét buoäc vaø moät soá khoâng baét buoäc maø sinh vieân phaûi hoaøn taát
ñeå ñaït moät kieán thöùc nhaát ñònh. Coù chuû ñeà laø moät phaàn cuûa nhieàu khoùa hoïc. Ví duï nhö chuû ñeà giôùi
thieäu veà heä cô sôû döõ lieäu laø ñôn vò hoïc trình chính cuûa ACIT vaø DITCA vaø laø moân nhieäm yù cuûa vaên
baèng naâng cao Coâng Ngheä ñieän töû.
8. Chuû ñeà ñöôïc nhaän dieän duy nhaát bôûi chæ muc chuû ñeà (SIN). Taát caû chuû ñeà ñeàu coù teân chuû ñeà nhö
“Giôùi thieäu veà heä cô sôû döõ lieäu”. Moät soá chuû ñeà ñoøi hoûi phaûi ñöôïc giaûng sau hay tröôùc moät hay
nhieàu chuû ñeà.
9. Nhöõng döõ lieäu sau ñaây veà khoùa hoïc ñöôïc quan taâm: maõ khoùa hoïc, moâ taû khoùa hoïc, thôøi löôïng, cô sôû
nôi maø khoùa hoïc ñöôïc xaây döïng vaø loaïi coâng vieäc maø khoùa hoïc nhaém tôùi.
10. Sinh vieân gaéng vöôït qua caùc chuû ñeà trong nhieàu naêm ñeå hoaøn thaønh khoùa hoïc maø hoï ghi danh vaøo.
Hoï khoâng ñöôïc pheùp ghi danh vaøo hoïc treân hai khoùa hoïc.
11. Heä caàn löu tröõ chi tieát veà maõ sinh vieân, teân, ñòa chæ, soá ñieän thoaïi, nam hay nöõ, ngaøy sinh, khoùa hoïc
ñaõ ghi danh, chuû ñeà ñaõ ghi danh (quaù khöù vaø hieän taïi) tình traïng ghi danh (baùn thôøi gian hay toaøn
thôøi gian) vaø ñieåm.
12. Khi sinh vieân ghi danh hoïc caùc chuû ñeà, hoï ñöôïc lieät xeáp vaøo hoïc moät lòch chuû ñeà. Hieän nay, WMC
söû duïng maãu lòch chuû ñeà naêm. Xem xeùt maãu bieåu naøy ta thaáy moãi maãu lòch chuû ñeà ñöôïc nhaän dieän
bôûi maõ lòch chuû ñeà (ví duï nhö 12345A) vaø caùc chi tieát nhö ngaøy baét ñaàu vaø keát thuùc chuû ñeâ, ngaøy
Giáo trình Phân tích thiết Kế Hệ Thống 133

trong tuaàn maø chuû ñeà ñöôïc giaûng, giôø baét ñaàu, thôøi löôïng tính theo giôø, soá phoøng, maõ chuû ñeà vaø teân
chuû ñeà, maõ giaûng vieân vaø teân giaûng vieân.
13. Chi tieát löu tröõ veà moãi giaûng vieân bao goàm teân, ñòa chæ, soá ñieän thoaïi, ngaøy vaøo laøm, khaû naêng
chuyeân moân, chuû ñeà coù theå giaûng vaø chuû ñeà thoâng thaïo.
14. Do tính chuyeân moân hoùa, moãi giaûng vieân ñöôïc phaân coâng vaøo moät khoa cuûa moät cô sôû vaø daïy caùc
chuû ñeà cuûa cô sôû ñoù. Nhaø tröôøng thueâ ba loaïi giaûng vieân: toaøn thôøi gian, baùn thôøi gian, thænh giaûng.
15. Keát thuùc chuû ñeà, tröôûng khoa phaân coâng moät giaûng vieân laøm kieåm tra vaø moät giaûng vieân laøm phuï
kieåm tra. Moät kieåm tra coù theå kieåm tra, ñaùnh giaù moät hay nhieàu chuû ñeà vaø phuï kieåm tra cuõng vaäy
nhöng khoâng bao giôø kieåm tra vaø phuï kieåm laïi laø giaûng vieân vöøa daïy chuû ñeà ñoù.
2 Moâ hình hoùa döõ lieäu
Chuùng ta haõy laàn löôïc söû duïng töøng ñoaïn coù ñaùnh soá cuûa phaàn ñaëc taû vaø:
- Nhaän dieän taäp thöïc theå vaø thuoäc tính nhaän dieän.
- Nhaän dieän moái keát hôïp giöõa caùc taäp thöïc theå.
- Gaén thuoäc tính moâ taû vaøo caùc taäp thöïc theå.
- Giaûi quyeát tính baét buoäc hay khoâng baét buoäc cuûa moãi quan heä.
- Giaûi quyeát taäp thöïc theå cha con.
- Xem xeùt khía caïnh lòch söû vaø dö thöøa döõ lieäu.
Đọan 1 và 2
Hai ñoaïn naøy cho ta thaáy söï hieän dieän cuûa caùc taäp thöïc theå:
- cô sôû
- khoùa hoïc
- khoa
- sinh vieân
- giaûng vieân
- chuû ñeà
vaø moät vaøi moái keát hôïp giöõa caùc taäp thöïc theå nhö sau:

Đọan 3
Cho ta bieát thuoäc tính nhaän dieän cuûa CÔ SÔÛ laø maõ cô sôû vaø thuoäc tính moâ taû laø teân cô sôû.
Đọan 4
Ñoaïn naøy cung caáp cho ta caùc thoâng tin sau:
1/ Cô sôû ñöôïc taïo thaønh töø caùc khoa.
2/ Khoa ñöôïc bieát qua teân khoa.
3/ Thuoäc tính ngaøy thaønh laäp cô sôû ñöôïc söï quan taâm cuûa nhaø tröôøng.
Đọan 5
Cho bieát moãi khoa coù moät soá giaûng vieân laøm vieäc trong khoa ñoù vaø ta töï hieåu moãi giaûng vieân chæ chòu
söï quaûn lyù cuûa moät khoa.
Giáo trình Phân tích thiết Kế Hệ Thống 134

Chuùng ta cuõng thaáy coù 3 loaïi giaûng vieân: giaûng vieân laø tröôûng khoa, giaûng vieân laø tröôûng boä moân vaø
giaûng vieân thöôøng. Giaûng vieân thöôøng cuûa boä moân naøo thì chòu söï giaùm saùt cuûa toå tröôûng boä moân ñoù
coøn toå tröôûng boä moân chòu söï giaùm saùt cuûa tröôûng khoa.
Ñoaïn 6
Khoa thì toå chöùc nhieàu khoùa hoïc nhöng chæ coù khoùa hoïc ñang ñöôïc ñaøo taïo thì ñöôïc quan taâm, nghóa laø
ta khoâng khoâng quan taâm ñeán khía caïnh lòch söû cuûa khoùa ñaøo taïo. ÔÛ ñaây ta theâm thuoäc tính ñang ñaøo
taïo coù trò laø Yes/No ñeå bieát khoùa hoïc naøo laø khoùa ñang ñaøo taïo.

Doaïn 12
Ñoaïn naøy cho ta phaàn moâ hình ER sau:

maõ sinh vieân


teân sinh vieân
ñòa chæ
soá ñieän thoaïi nhaø
maõ giaûng vieân
ñieän thoaïi cô quan
teân giaûng vieân
phaùi
loaïi giaûng vieân
ngaøy sinh
GIAÛNG
SINH VIEÂN
VIEÂN

thuoäc veà ñöôïc giaûng bôûi

coù
giaûng

ÑIEÅM CHUÛ keâ LÒCH CHUÛ keâ daïy


CHUÛ ÑEÀ
ÑEÀ ñöôïc keâ bôûi
ÑEÀ ñöôïc keâ daïy bôûi
maõ sinh vieân maõ chuû ñeà
maõ lòch chuû ñeà
maõ chuû ñeà daïy teân chuû ñeà
ngaøy baét ñaàu
loaïi ghi danh ngaøy keát thuùc
ñieåm soá ngaøy daïy trong tuaàn
giôø baét ñaàu
thôøi löôïng
soá phoøng
Giáo trình Phân tích thiết Kế Hệ Thống 135

da n ïc ghi
ôûi
hb
ñöô
ñö
ôï c
da
ïy

vaøo

ûi

anh
da

d
ïy

ghi

VIIIBAØI TAÄP
1 Baøi taäp 1 (haøng hoùa)
Doanh nghieäp Hoaøng Minh laø moät doanh nghieäp thöông maïi, chuyeân mua baùn caùc loaïi haøng hoùa.

Doanh nghieäp coù nhieàu vaên phoøng ñaïi dieän baùn haøng ôû khaép caùc tænh, thaønh phoá treân phaïm vi caû nöôùc.
Moãi tænh, thaønh phoá ñöôïc nhaän dieän baèng maõ tænh-thaønh phoá vaø coù thuoâc tính teân tænh-thaønh phoá, soá
daân. Thoâng tin veà moät vaên phoøng goàm coù: maõ vaên phoøng (duy nhaát ), teân vaên phoøng, ñòa chæ, ñieän thoaïi
lieân laïc vaø tænh, thaønh phoá nôi ñaët vaên phoøng.

Doanh nghieäp coù nhieàu nhaân vieân baùn haøng. Thoâng tin veà moät nhaân vieân goàm coù: maõ nhaân vieân (duy
nhaát), hoï teân, ngaøy sinh, ñòa chæ. Nhaân vieân chæ ñöôïc pheùp laøm vieäc ôû moät vaên phoøng ñaïi dieän.

Doanh nghieäp kinh doanh nhieàu haøng hoùa, thoâng tin veà moät haøng hoùa goàm: maõ haøng (duy nhaát), teân
haøng, ñôn vò tính, ñôn giaù baùn, soá löôïng toái thieåu phaûi toàn kho, tæ suaát thueá giaù trò gia taêng.

Doanh nghieäp coù nhieàu khaùch haøng. Thoâng tin veà moät khaùch haøng goàm coù: maõ khaùch haøng, hoï teân, ñòa
chæ, vaø thaønh phoá nôi khaùch haøng cö nguï.

Moãi giao dòch mua baùn ñöôïc tieán haønh seõ coù moät hoùa ñôn baùn haøng do moät nhaân vieân ñaïi dieän baùn
haøng laäp. Treân hoùa ñôn coù caùc thoâng tin: teân vaên phoøng, soá hoùa ñôn (duøng ñeå phaân bieät hoùa ñôn naøy
vôùi hoùa ñôn kia), ngaøy hoùa ñôn, hoï teân khaùch haøng, ñòa chæ khaùch haøng vaø moät danh saùch caùc maët haøng
coù cuøng tæ suaát thueá GTGT (xem maãu). Moät laàn mua, khaùch coù theå mua nhieàu loaïi haøng coù soá löôïng
khaùc nhau vaø tæ suaát thueá giaù trò gia taêng khaùc nhau (nhö 5%, 10%, 1%). Nhaân vieân baùn haøng coù nhieäm
vuï gom caùc maët haøng cuøng tæ suaát thueá vaøo moät hoùa ñôn. Nhö vaäy moät laàn mua khaùch coù theå coù nhieàu
hoùa ñôn vôùi caùc tæ suaát thueá khaùc nhau.

Taát caû hoùa ñôn cuûa caùc vaên phoøng phaûi ñöôïc gôûi veà vaên phoøng chính ñeå thoáng keâ doanh thu.
Giáo trình Phân tích thiết Kế Hệ Thống 136

Vaên phoøng baùn haøng Tp Caàn Thô


HOÙA ÑÔN BAÙN HAØNG
Soá: 001256 Ngaøy: 10/01/2001
Hoï teân khaùch haøng: Phaïm Ngoïc Lan
Ñòa chæ: 54 Lyù Chính Thaéng
Dieãn giaûi: Baùn cho khaùch

STT Teân haøng hoùa Ñôn vò tính Soá löôïng Ñôn giaù Thaønh tieàn
1 Söõa taém Dove Chai 30 21.000 630.000
2 Daàu goäi LifeBuoy Chai 20 15.000 300.000
Coäng: 930.000
Thueá GTGT(10%): 93.000
Toång coäng: 1.023.000

Ngöôøi laäp hoùa ñôn

Nguyeãn Vaên Laäp


Yeâu caàu:
1/ Xaây döïng moâ hình ER (taäp thöïc theå keát hôïp) cuûa vaán ñeà treân.
2/ Chuyeån moâ hình ER thaønh moâ hình quan heä.
3/ Thieát keá phaàn xöû lyù söï kieän khaùch ñeán mua haøng.

2 Baøi taäp 2 (Vaät tö)


Doanh nghieäp saûn xuaát bao bì Mai Lan toå chöùc heä thoáng keá toaùn vaät tö nhö sau: Doanh nghieäp coù
nhieàu kho chöùa vaät tö. Thoâng tin veà kho goàm: maõ kho (duy nhaát), teân kho, ñòa chæ, soá ñieän thoaïi.

Doanh nghieäp coù nhieàu vaät tö. Thoâng tin veà vaät tö goàm: maõ vaät tö (duy nhaát), teân vaät tö , qui caùch, ñôn
vò tính, soá toái thieåu phaûi toàn kho.

Caùc vaät tö ñöôïc chia thaønh töøng nhoùm vaät tö. Thoâng tin veà nhoùm vaät tö goàm: maõ nhoùm, teân nhoùm. Moät
vaät tö chæ thuoäc veà moät nhoùm.

Moãi hoaït ñoäng nhaäp xuaát vaät tö ñöôïc tieán haønh baèng chöùng töø nhaäp/xuaát vaät tö (xem maãu) vôùi soá
phieáu coù tính duy nhaát trong caû hai loïai phieáu nhaäp vaø xuaát. Doanh nghieäp nhaäp vaät tö töø nhieàu nhaø
cung caáp. Moãi chöùng töø nhaäp kho chæ nhaäp caùc vaät tö cuûa moät nhaø cung caáp vaø nhaäp vaøo moät kho cuûa
doanh nghieäp. Doanh nghieäp quan taâm caùc thoâng tin maõ nhaø cung caáp, teân nhaø cung caáp, ñòa chæ nhaø
cung caáp.

Coâng ty saûn xuaát bao bì Mai Lan COÄNG HOØA XAÕ HOÄI CHUÛ NGHÓA VIEÄT NAM
Ñoäc laäp – Töï do – Haïnh phuùc
Giáo trình Phân tích thiết Kế Hệ Thống 137

PHIEÁU NHAÄP KHO


Soá phieáu: 0015/NK Ngaøy: 03/09/01
Teân nhaø cung caáp: Coâng ty vaät tö Anh Minh
Ñòa chæ nhaø cung caáp: 125 Nguyeãn Vaên Troãi
Kho nhaäp: Kho chính
Chöùng töø keøm theo: Coâng vaên soá 45/KH

STT MVT TEÂN VAÄT TÖ ÑVT SOÁ LÖÔÏNG ÑÔN GIAÙ THAØNH TIEÀN
1 120065 Xaêng A92 Kg 1.000 4.000 4.000.000
2 121149 Môõ boø ñaëc chuûng Kg 10 50.000 500.000

Ngöôøi laäp Thuû kho Keá toaùn tröôûng

Nguyeãn Vaên Sôn Traàn Vaên Thuû Laâm vaên Keá

Coâng ty saûn xuaát bao bì Mai Lan COÄNG HOØA XAÕ HOÄI CHUÛ NGHÓA VIEÄT NAM
Ñoäc laäp – Töï do – Haïnh phuùc
PHIEÁU XUAÁT KHO
Soá phieáu: 0001/XK Ngaøy: 10/01/2001
Teân thieát bò: Maùy thoåi bao PP
Lyù do xuaát: Tu boå maùy thoåi
Kho xuaát: Kho chính

STT MVT TEÂN VAÄT TÖ ÑVT SOÁ LÖÔÏNG ÑÔN GIAÙ THAØNH TIEÀN
1 121141 Ron maùy Boä 3 25.000 75.000
2 121150 Nhôùt Lít 2 40.000 80.000
Toång coäng 155.000

Ngöôøi laäp Thuû kho Keá toaùn tröôûng

Nguyeãn Vaên Sôn Traàn vaên Thuû Laâm vaên Keá

Moãi phieáu xuaát vaät tö chæ ghi xuaát caùc vaät tö töø moät kho vaø xuaát ñeå söûa chöõa hay baûo döôõng ...(lyù do
xuaát) cho moät thieát bò cuûa doanh nghieäp. Thoâng tin veà thieát bò coù maõ thieát bò, teân thieát bò.
Yeâu caàu:
1/ Xaây döïng moâ hình ER cho heä thoáng quaûn lyù vaät tö treân.
2/ Chuyeån moâ hình ER thaønh moâ hình quan heä.
3/ Thieát keá phaàn xöû lyù söï kieän “phaùt sinh phieáu xuaát kho”
Giáo trình Phân tích thiết Kế Hệ Thống 138

3 Baøi taäp 3 (Moâ hình TSCÑ)


Doanh nghieäp saûn xuaát, xaây döïng Hoøa bình toå chöùc keá toaùn TSCÑ (höõu hình) nhö sau:

Doanh nghieäp coù nhieàu loaïi TSCÑ (nhaø cöûa, maùy moùc,..) moãi loaïi taøi saûn coù nhieàu TSCÑ (Maùy troän
hoà T4, Maùy daàm D3,...). Thoâng tin veà moät taøi saûn goàm: maõ taøi saûn, teân taøi saûn, nguyeân giaù, nguoàn goác
(töï coù, ngaân saùch, lieân doanh), xuaát xöù (nöôùc saûn xuaát), tæ leä khaáu hao (10%, 5%,..), ngaøy ñöa vaøo söû
duïng. Doanh nghieäp coù nhieàu ñôn vò. Thoâng tin veà ñôn vò: maõ ñôn vò, teân ñôn vò. Moãi ñôn vò coù theå
quaûn lyù nhieàu TSCÑ nhöng moät taøi saûn chæ do moät ñôn vò quaûn lyù.

Ngoaøi vieäc söû duïng TSCÑ do ñôn vò mình quaûn lyù, moãi ñôn vò coøn coù theå söû duïng nhieàu taøi saûn coá ñònh
do ñôn vò khaùc quaûn lyù thoâng qua hoïat ñoäng ñieàu chuyeån. Söï ñieàu chuyeån taøi saûn ñöôïc thöïc hieän baèng
moät quyeát ñònh ñieàu chuyeån. Moãi quyeát ñònh ñeàu coù soá quyeát ñònh (coù tính duy nhaát), ngaøy quyeát ñònh,
hoï teân ngöôøi kyù quyeát ñònh vaø caùc taøi saûn ñieàu chuyeån. Caùc taøi saûn ñieàu chuyeån treân moät quyeát ñònh coù
theå coù ngaøy ñieàu chuyeån khaùc nhau, ñôn vò ñieàu chuyeån ñeán khaùc nhau.

Haøng kyø keá toaùn phaûi tính soá khaáu hao trích trong kyø cho töøng ñôn vò (soá khaáu hao = tæ leä khaáu hao x
nguyeân giaù x soá ngaøy söû duïng / 365). Neáu ñôn vò söû duïng TSCÑ khaùc ñôn vò quaûn lyù thì soá khaáu hao
tính cho ñôn vò söû duïng, theo soá ngaøy TSCÑ ñöôïc söû duïng. TSCÑ taêng trong kyø naøo thì soá khaáu hao
tính ngay trong kyø ñoù.

Yeâu caàu:
1/ Xaây döïng moâ hình ER cho heä thoáng quaûn lyù TSCÑ treân.
2/ Chuyeån moâ hình ER thaønh moâ hình quan heä.
3/ Thieát keá phaàn xöû lyù cho pheùp nhaäp caùc thoâng tin cuûa quyeát ñònh ñieàu chuyeån vaøo heä thoáng.

4 Baøi taäp 4 (Löông)


Doanh nghieäp Sao Mai laø doanh nghieäp saûn xuaát. Doanh nghieäp coù nhieàu phaân xöôûng saûn xuaát. Thoâng
tin veà phaân xöôûng goàm: maõ phaân xöôûng, teân phaân xöôûng.

Doanh nghieäp coù nhieàu ñôn vò chia laøm hai loaïi: tröïc tieáp saûn xuaát vaø giaùn tieáp. Moãi phaân xöôûng saûn
xuaát coù theå coù nhieàu ñôn vò. Nhöng moãi ñôn vò chæ thuoäc moät phaân xöôûng hay khoâng thuoäc phaân xöôûng
naøo. Thoâng tin veà ñôn vò coù maõ ñôn vò, teân ñôn vò, soá taøi khoaûn chi phí.

Doanh nghieäp coù nhieàu nhaân vieân, chia laøm hai loaïi, tröïc tieáp saûn xuaát vaø giaùn tieáp. Moãi nhaân vieân chæ
laøm ôû moät ñôn vò, moãi ñôn vò coù theå coù nhieàu nhaân vieân. Thoâng tin chung veà moät nhaân vieân goàm coù:
maõ nhaân vieân, hoï teân nhaân vieân, ngaøy sinh, ñòa chæ, ngaøy vaøo laøm vieäc. Ñoái vôùi nhaân vieân tröïc tieáp saûn
xuaát coøn coù theâm thoâng tin: chöùc vuï, heä soá löông coøn nhaân vieân giaùn tieáp coù möùc löông.

Nhaân vieân tröïc tieáp laøm theo ca, nhaân vieân giaùn tieáp khoâng laøm theo ca. Ca 1 vaø ca 2 ñieåm coâng laø 1,
ca 3 ñieåm coâng laø 1.5. Nghæ vieäc khoâng lyù do seõ bò chaám ñieåm 0. Neáu nghæ vieäc coù lyù do seõ ñöôïc chaám
tuøy theo phaàn traêm löông seõ ñöôïc höôûng. Coù hai möùc: nghæ höôûng 70% löông vaø nghæ höôûng 50%
löông.
Giáo trình Phân tích thiết Kế Hệ Thống 139

Cuoái thaùng keá toaùn phaûi nhaäp baûng chaám coâng do ban ñieàu haønh caùc phaân xöôûng gôûi veà. Ñoái vôùi nhaân
vieân giaùn tieáp, baûng chaám coâng cho bieát soá ngaøy coâng trong thaùng. Ñoái vôùi nhaân vieân tröïc tieáp, baûng
chaám coâng cho bieát soá ngaøy coâng ca 1, soá ngaøy coâng ca 2 vaø soá ngaøy coâng ca 3 trong thaùng. Ngoaøi ra
baûng chaám coâng cuõng cho bieát soá ngaøy nghæ höôûng 70% löông, soá ngaøy nghæ höôûng 50% löông.
Yeâu caàu:
1/ Xaây döïng moâ hình ER cho vaán ñeà treân.
2/ Chuyeån moâ hình ER thaønh moâ hình quan heä.
3/ Thieát keá phaàn xöû lyù thoâng tin ñoái vôùi söï kieän “Nhaân vieân tröïc tieáp baùo coâng cuoái thaùng”
5 Baøi taäp 6 (cho thueâ baêng ñóa)
Dòch vuï SVCD chuyeân cho thueâ caùc loaïi CD, VCD, MP3, MP4 treân ñòa baøn thaønh phoá HCM. Ñóa cuûa
dòch vuï coù nhieàu theå loaïi khaùc nhau nhö: Ca nhaïc thieáu nhi, ca nhaïc tuoåi treû, hoøa taáu, haøi kòch, phim
hình söï, phim voõ thuaät, phim tình caûm, caûi löông,…, moãi theå loaïi coù nhieàu Album (ñoái vôùi ñóa ca nhaïc,
ñóa hoøa taáu, …), nhieàu boä (ñoái vôùi ñóa phim) hay nhieàu vôû (ñoái vôùi ñóa kòch, ñóa caûi löông, …) khaùc nhau.
Moãi Album, boä hay vôû coù theå coù moät hoaëc nhieàu ñóa vaø thöôøng coù töø 2 ñeán 10 baûn ñeå phuïc vuï cho
thueâ. Moãi Album, boä hay vôû phaûi coù töïa ñeà, teân haõng saûn xuaát, nöôùc saûn xuaát, naêm saûn xuaát. Neáu laø
ñóa phim, caûi löông,... thì coù teân taùc giaû kòch baûn, ñaïo dieãn, dieãn vieân. Neáu laø ñóa ca nhaïc, taáu haøi, taân
coå,... thì coù töïa ñeà cuûa caùc baøi haùt, baøi ca, taùc giaû vaø ca só (hoaëc nhoùm ca só, dieãn vieân) trình baøy, bieåu
dieãn.
Giaù cho thueâ ñóa tính theo töøng ngaøy cho töøng ñóa maø khaùch thueâ. Caùc ñóa cuøng loaïi (chaúng haïn VCD)
thì coù cuøng moät giaù cho thueâ. Khaùch haøng khi thueâ ñóa phaûi ñeå laïi ñòa chæ löu truù vaø tieàn ñaët coïc ít nhaát
baèng trò giaù cuûa ñóa maø Dòch vuï ñaõ mua. Khi khaùch traû laïi ñóa thì Dòch vuï seõ tính tieàn thueâ ñeå caán tröø
vaøo tieàn maø khaùch ñaõ ñaët coïc vaø traû laïi tieàn coïc coøn dö cho khaùch haøng. Trong tröôøng hôïp tieàn thueâ ñóa
nhieàu hôn tieàn ñaët coïc thì chæ laáy ñuùng baèng tieàn ñaët coïc.
Caùc giao dòch dieãn ra taïi Dòch vuï bao goàm:
- Nhaäp (mua) Album môùi, phim môùi hoaëc nhaäp theâm caùc baûn cuûa caùc Album cuõ, phim cuõ hieän ñang
cho thueâ taïi Dòch vuï,
- Cho thueâ vaø nhaän laïi ñóa khi khaùch haøng traû laïi,
- Ñoåi ñóa khi khaùch haøng yeâu caàu hoaëc do ñóa bò truïc traëc kyõ thuaät,
- Thanh lyù caùc ñóa bò hö hoûng hoaëc quaù cuõ,
- Ñaùp öùng caùc yeâu caàu veà thoâng tin cuûa khaùch haøng veà caùc Album, boä phim hay vôû dieãn nhö: Haõng
saûn xuaát, taùc giaû kòch baûn, ca só, dieãn vieân, baøi haùt, …
Yeâu caàu:
(d) Laäp moâ hình thöïc theå – Keát hôïp cuûa dòch vuï.
(e) Laäp moâ hình xöû lyù möùc quan nieäm cho giao dòch: ‘Khaùch haøng yeâu caàu ñoåi ñóa khaùc cuøng theå
loïai.
6 Baøi taäp 7 (xöû lyù ñôn haøng)
Döôùi ñaây laø nhöõng phaùt bieåu veà vieäc xöû lyù ñôn haøng cuûa moät toå chöùc:
- Nhaân vieân trong toå chöùc ñöôïc nhaän dieän bôûi maõ nhaân vieân, hoï teân vaø ngaøy sanh.
- Nhaân vieân trong toå chöùc chòu traùch nhieäm caùc ñôn haøng. Thoâng tin veà ñôn haøng coù soá ñôn haøng
(duy nhaát), ngaøy ñôn haøng, dieãn giaûi vaø giaù trò ñôn haøng. Vôùi moät ñôn haøng, chæ moät nhaân vieân chòu
traùch nhieäm ñôn haøng aáy nhöng moät nhaân vieân coù theå chòu traùch nhieäm nhieàu ñôn haøng.
- Toå chöùc thöïc hieän ñôn haøng baèng moät chuoãi caùc coâng vieäc. Nhaân vieân chòu traùch nhieäm ñôn haøng
taïo caùc baûng yeâu caàu cho caùc phaân xöôûng ñeå phaân xöôûng thöïc hieän caùc coâng vieäc naøy. Caùc baûng
Giáo trình Phân tích thiết Kế Hệ Thống 140

yeâu caàu ñöôïc nhaän dieän bôûi soá yeâu caàu. Hoï quan taâm ngaøy baét ñaàu vaø ngaøy keát thuùc cuûa baûn yeâu
caàu.
- Caùc caùc coâng vieäc coù theå ñöôïc taïo ra bôûi moät phaân xöôûng ñeå ñaùp öùng moät baûn yeâu caàu. Moãi coâng
vieäc ñöôïc nhaän dieän bôûi maõ coâng vieäc vaø coù moät giaù trò coâng vieäc. Taát caû coâng vieäc cuûa moät baûn
yeâu caàu ñöôïc gôûi cho moät phaân xöôûng. Moãi phaân xöôûng ñöôïc nhaän dieän baèng maõ phaân xöôûng vaø
coù teân phaân xöôûng.
- Moãi coâng vieäc söû duïng moät khoái löôïng naøo ñoù cuûa moät hay nhieàu nguyeân lieäu. Nguyeân lieäu ñöôïc
nhaän dieän bôûi maõ nguyeân lieäu vaø coù thuoäc tính moâ taû.
Yeâu caàu:
(a) Xaây döïng moâ hình ER cho vaán ñeà treân.
(b) Bieán ñoåi moâ hình ER thaønh moâ hình quan heä.
----oOo----
Giáo trình Phân tích thiết Kế Hệ Thống 141

PHẦN THAM KHẢO


Giả sử vấn đề quản lý đơn hàng có mô hình E-R như hình sau:

Vôùi moät moâ hình quaûn lyù ñôn haøng nhö treân, ta coù theå hình dung moät form nhaäp lieäu ñaïi dieän cho
thaønh phaàn xöû lyù cuûa vieäc theâm môùi moät ñôn haøng coù daïng sau:

Logic hoaït ñoäng cuûa thaønh phaàn xöû lyù theâm môùi ñôn haøng ñöôïc dieãn ñaït baèng caùc sô ñoà DFD caáp 0,
caáp 1 nhö hình:
Giáo trình Phân tích thiết Kế Hệ Thống 142

Khách hàng

Mã khách hàng
Tên khách hàng+
Ngày Đơn hàng
Địa chỉ+
đơn hàng Mã hàng +
D2 Khaùch haøng Số điện thoại
số lượng

1.1 1.2
Mã khách
Kiểm tra mã hàng mới Thêm khách
khách hàng hàng
Mã khách Mã khách
hàng hàng D1 Maët haøng

D3 Ñôn haøng
D4 Doøng ñôn haøng
1.3 1.4
Tạo số đơn Số đơn hàng nhập chi tiết
hàng đơn hàng

CAÙC BÖÔÙC THÖÏC HIEÄN ÑEÅ VEÕ SÔ ÑOÀ DFD


7 Böôùc 1: laäp baûng söï kieän
Söï kieän (event)
laø moät söï vieäc xaûy ra taïi moät nôi, vaøo moät thôøi ñieåm maø coù theå moâ taû vaø ghi nhaän ñöôïc. Ta coù caùc söï
kieän ví duï nhö :
- khaùch haøng ñeán thueâ baêng ñóa.
- khaùch haøng ñoåi baêng ñóa.
- nhaø cung caáp cung caáp baêng ñóa
- khaùch haøng traû tieàn thueâ baêng.
- ñeán thôøi haïn traû baêng.
- ñeán thôøi haïn baùo caùo soá lieäu
Bảng sự kiện
Heä thoáng hoaït ñoäng do söï kích hoaït cuûa söï kieän. Nhö vaäy söï kieän kích hoaït vaø ñieàu khieån hoaït ñoäng
cuûa heä thoáng. Vieäc lieät keâ vaø phaân tích söï kieän taïo khaû naêng nhaän dieän ñöôïc yeâu caàu chöùc naêng cuûa heä
thoáng. Vieäc naøy ñöôïc thöïc hieän baèng caùch taïo baûng söï kieän (hay baûng hoïat ñoäng cuûa doanh nghieäp)
goàm 6 coät. Caùc söï kieän ñöôïc lieät keâ trong baûng söï kieän laø caùc söï kieän naèm ngoaøi heä thoáng vaø xem heä
thoáng nhö moät hoäp ñen.

Söï kieän Kích hoaït Nguoàn phaùt sinh Hoaït ñoäng Keát xuaát Ñích ñeán
(laø söï kieän (laø thoâng tin kích (laø taùc nhaân
(noäi dung xöû (thoâng tin (laø taùc nhaân
kích hoaït heä hoaït heä thoáng laøm kích hoaït heä lyù cuûa phaàn heä keát xuaát bôûi nhaän thoâng tin
thoáng hoaït cho heä thoáng nhaän thoáng ) thoáng khi söï phaàn heä keát xuaát cuûa
ñoäng) bieát söï kieän xaûy ra) kieän xaûy ra) thoáng xöû lyù heä thoáng)
söï kieän)
Baûng söï kieän
Giáo trình Phân tích thiết Kế Hệ Thống 143

Ví duï baûng söï kieän cuûa vaán ñeà quaûn lyù ñôn haøng:

Söï kieän Kích hoaït Nguoàn phaùt sinh Hoaït ñoäng Keát xuaát Ñích ñeán
Phaùt sinh caäp nhaät - Thoâng tin maët Boä phaän quaûn lyù Caäp nhaät maët haøng
maët haøng haøng caäp nhaät
Phaùt sinh caäp nhaät - Thoâng tin khaùch Khaùch haøng Caäp nhaát khaùch haøng
khaùch haøng haøng
B/caùo trò giaù haøng -Thaùng baùo caùo trò Boä phaän quaûn lyù In baùo caùo trò giaù Baûng baùo caùo Boä phaän quaûn
baùn trong thaùng giaù haøng baùn haøng baùn haøng baùn lyù
Phaùt sinh caäp nhaät -Thoâng tin ñôn Khaùch haøng Caäp nhaät ñôn haøng Khaùch haøng Ñôn haøng
ñôn haøng haøng

Döïa vaøo noäi dung cuûa moãi doøng trong baûng söï kieän ngöôøi ta xaây döïng moät sô ñoà DFD töông öùng. Sô
ñoà DFD naøy chæ coù moät oâ xöû lyù, dieãn taû hoaït ñoäng cuûa heä thoáng ñaùp öùng laïi söï kieän. Moái töông quan
giöõa doøng söï kieän vaø sô ñoà DFD töông öùng ñöôïc dieãn taû baèng hình sau:

Keát hôïp caùc sô ñoà DFD cuûa töøng doøng baûng söï kieän ta ñöôïc sô ñoà DFD caáp 0 vaø moãi sô ñoà DFD treân
coù theå ñöôïc phaân raõ thaønh caùc sô ñoà DFD con.
8 Böôùc 2: Laäp sô ñoà moâi tröôøng

9 Böôùc 3: Laäp sô ñoà DFD caáp 0


Sô ñoà caáp 0 ñöôïc laäp caên cöù vaøo baûng söï kieän. Töø baûng söï kieän ta coù theå xaùc ñònh ñöôïc:
- caùc taùc nhaân cuûa sô ñoà.
- caùc oâ xöû lyù vaø chöùc naêng xöû lyù
- caùc doøng döõ lieäu, kho döõ lieäu vaø moái lieân quan ñöôïc xaùc ñònh thoâng qua chöùc naêng xöû lyù.
Ví duï moät phaàn cuûa sô ñoà caáp 0 cuûa vaán ñeà quản lyù ñôn haøng nhö sau:
Giáo trình Phân tích thiết Kế Hệ Thống 144

3
Thông tin về
Caäp nhaät
khách hàng
maët haøng

D2 Khaùch haøng
Đơn hàng 1
Khaùch haøng Thêm D3 Ñôn haøng
Thông tin về
khách hàng+ Đơn hàng
hàng mua D4 Doøng ñôn haøng

2 D1 Maët haøng
BOÄ PHAÄN Thoâng tin
QUAÛN LYÙ Caäp nhaät
maët haøng
maët haøng
D3 Ñôn haøng
4
Chỉ tiêu
Tạo báo cáo trị D4 Doøng ñôn haøng
báo cáo
giá hàng bán
Báo cáo
trị giá hàng báng

10 Böôùc 4: Laäp sô ñoà DFD con


Moãi oâ xöû lyù trong sô ñoà DFD ñöôïc phaân raõ thaønh moät sô ñoà DFD con.
Ví duï sô ñoà con DFD ñöôïc phaân raõ töø oâ xöû lyù 1.4 nhö sau:

Sô ñoà DFD ôû möùc thaáp nhaát (tröôùc giai ñoaïn thieát keá xöû lyù chi tieát) ñöôïc goïi laø sô ñoà DFD goác
(primitive Data Flow Diagram)
Giáo trình Phân tích thiết Kế Hệ Thống 145

IX TÖØ ÑIEÅN DÖÏ AÙN


1 Khaùi nieäm
Töø ñieån döï aùn nhaèm muïc ñích laøm roõ nghóa döõ lieäu vaø caáu truùc cuûa chuùng treân sô ñoà DFD. Töø ñieån döï
aùn ñöôïc toå chöùc sao cho moïi thoâng tin veà heä thoáng ñöôïc tìm kieám deã daøng. Vì muïc ñích naøy, töø ñieån döï
aùn phaûi chöùa caùc chæ muïc tìm kieám vaø caùc tham khaûo cheùo.
2 Xaây döïng caùc ñieåm vaøo cho töï ñieån döï aùn
Ñieåm vaøo cho moãi phaàn töû cuûa sô ñoà DFD
Trong baûng phaân tích heä thoáng thöôøng coù nhieàu sô ñoà DFD, töø sô ñoà toång quaùt ñeán chi tieát. Töø ñieån döï
aùn phaûi chöùa moät ñieåm vaøo cho moãi phaàn töû cuûa sô ñoà DFD. Moãi ñieåm vaøo ñöôïc trình baøy theo khuoân
maãu sau:
Caùc maãu moâ taû
Maãu moâ taû phaàn töû döõ lieäu.

MAÃU MOÂ TAÛ PHAÀN TÖÛ DÖÕ LIEÄU


Maõ nhaän dieän
Teân Maõ khaùch haøng
Teân khaùc
Moâ taû Laø thuoäc tính nhaän dieän khaùch haøng ñaõ vaø ñang giao dòch mua
haøng cuûa coâng ty trong khoûang 5 naêm gaàn ñaây
Tính chaát
Chieàu daøi: 6  Chöõ
Ñònh daïng nhaäp: 000000  Soá chöõ
Ñònh daïng xuaát:  Ngaøy
Giaù trò maëc nhieân:  Soá
 Lieân tuïc  Rôøi raïc  Nhaäp  Tính toùan
Ñieàu kieän raøng buoäc

Lieân tuïc Rôøi raïc


Giaù trò dieãn giaûi
Giaù trò lôùn nhaát: 999999 ............ ...........................................................
Giaù trò beù nhaát: 000000 ............ ...........................................................
........... ..........................................................
Maãu moâ taû phaàn töû caáu truùc döõ lieäu
Ñeå moâ taû phaàn töû caáu truùc döõ lieäu ta coù theå söû duïng caùc kyù hieäu sau:
 “=” bao goàm
 “+” vaø
 “{}” nhoùm laëp laïi
 “[ ]” Hoaëc
 “( )” Tuøy choïn

MAÃU MOÂ TAÛ CAÁU TRUÙC DÖÕ LIEÄU


Ñôn haøng = soá ñôn haøng +
ngaøy ñôn haøng +
Giáo trình Phân tích thiết Kế Hệ Thống 146

maõ khaùch haøng +


hoï teân khaùch haøng +
ñòa chæ khaùch haøng +
soá ñieän thoïai +
(thueá suaát ) +
toång giaù trò ñôn haøng +
{chi tieát ñôn haøng}
hoï teân khaùch haøng hoï +
(teân loùt) +
teân
chi tieát ñôn haøng soá thöù töï +
maõ haøng +
moâ taû +
ñôn vò tính +
soá löôïng ñaët +
ñôn giaù +
thaønh tieàn
Maãu moâ taû doøng döõ lieäu
MAÃU MOÂ TAÛ DOØNG DÖÕ LIEÄU

Maõ nhaän dieän:


Teân: Thoâng tin Ñôn haøng
Moâ taû: Chöùa thoâng tin khaùch ñaët haøng vaø ñöôïc duøng ñeå caäp nhaät kho döõ lieäu khaùch
haøng, maët haøng, ñôn haøng vaø doøng ñôn haøng

Nguoàn: Taùc nhaân khaùch haøng Ñích: OÂ xöû lyù Caäp nhaät ñôn haøng
Loïai doøng döõ lieäu:
 Taäp tin  Maønh hình  Baùo bieåu  Bieåu maãu  Khaùc

Caáu truùc döõ lieäu: Ñôn haøng Taàn suaát: 100/ngaøy


Ghi chuù: Thoâng tin ñôn haøng coù theå gôûi ñeán phoøng xöû lyù ñôn haøng baèng ñöôøng thö tín,
qua maùy Fax, ñieän thoïai.
Maãu moâ taû kho döõ lieäu
MAÃU MOÂ TAÛ KHO DÖÕ LIEÄU
Maõ nhaän dieän D1
Teân Khaùch haøng
Teân khaùc
Moâ taû Chöùa moãi maãu tin cho moät khaùch haøng
Tính chaát
Loïai taäp tin  Maùy tính  Thuû coâng
Daïng taäp tin  Cô sôû döõ lieäu  Chæ muïc  Tuaàn töï  Tröïc tieáp

Kích thöôùc maãu tin (kyù töï) : 200 Kích thöôùc khoái: 4,000
Giáo trình Phân tích thiết Kế Hệ Thống 147

Soá löôïng maãu tin: möùc cao 46,000 möùc bình quaân: 42,000
Toác ñoä taêng tröôûng haøng naêm: 6%
Teân taäp tin döõ lieäu: KhachHang.MST
Teân baûn so: CustMast
Caáu truùc döõ lieäu: Maãu tin khaùch haøng
Khoùa chính: Maõ khaùch haøng
Khoùa phuï: Hoï teân khaùch haøng
Ghi chuù:

----oOo----
Giáo trình Phân tích thiết Kế Hệ Thống 148

TAØI LIEÄU THAM KHAÛO

[1] Phân Tích Thiết Kế Hệ Thống Thông Tin


Nguyễn Văn Vị
[2]. Practical Data Modelling for Database Design
Renzo D’Orazio & Gunter Happel
[3]. Essentials of Systems Analysis & Design
Valacich, George, Hoffer
[4]. System Analysis and Design in a Changing World
John W.Satzinger, Robert B.Jakson, Stephen D.Burd – Thomson Learning.

----oOo----
Giáo trình Phân tích thiết Kế Hệ Thống 149
Giáo trình Phân tích thiết Kế Hệ Thống 150
Giáo trình Phân tích thiết Kế Hệ Thống 151

Baøi taäp 9.1

ER diagram

item # supply account #


VENDOR- name
description ITEM
belong to BIDDER address
phone #

auction # BIDDER’S card #


AUCTION paid deposit
reserve deposit CARD

LOT

auction #
lot#
reserve price
sale price

ITEM(item#, description,lot#,account#)
VENDOR-BIDDER(account#, name,address,phone#)
AUCTION(auction #, reserve deposit)
BIDDER’S CARD(card #, paid deposit,auction#,account#)
LOT(lot#, reserve price, sale price,car#)

SELECT [bidder’s card].account#, name,lot#,sale price


FROM (vendor-bidder JOIN [bidder’s card] ON bidder’s card.account#=vendor-bidder.account#)
JOIN lot ON bidder’s card.card# = lot.card#
WHERE sale price > 0
Giáo trình Phân tích thiết Kế Hệ Thống 152

maõ nhaân vieân


LÖÔNG
thaùng naêm
ÖÙNG
möùc öùng
coù

thuoäc veà
NHAÂN VIEÂN maõ nhaân vieân
maõ nhaân vieân hoï teân
COÂNG
thaùng naêm ngaøy sinh
GIAÙN TIEÁP
soá ngaøy coâng ñòa chæ
ngaøy vaøo laøm
maõ phoøng ban maõ nhaân vieân
PHOØNG NHAÂN VIEÂN
teân phoøng ban ñôn giaù coâng
BAN GIAÙN TIEÁP

maõ chuyeàn maõ nhaân vieân


COÂNG
teân chuyeàn CHUYEÀN vaên baèng
NHAÂN

giao cho
thuoäc veà

nhaän coù

maõ chuyeàn ñöôïc thöïc hieän maõ chuyeàn


ÑÔÏT GIAO COÂNG COÂNG
maõ saûn phaåm maõ saûn phaåm
HAØNG ÑOAÏN
ngaøy giao laø coâng coâng ñoaïn cuûa ngaøy giao
löôïng saûn phaåm thöù coâng ñoaïn
ñöôïc keâ ñöôïc keâ bôûi maõ nhaân vieân
ngaøy coâng
soá löôïng hoaøn thaønh

giao hoaøn thaønh keâ


maõ saûn phaåm maõ saûn phaåm
COÂNG
teân saûn phaåm SAÛN PHAÅM thöù coâng ñoaïn
ÑOAÏN
teân coâng ñoaïn
ñôn giaù coâng ñoaïn
Giáo trình Phân tích thiết Kế Hệ Thống 153

Söï kieän Kích hoaït Nguoàn phaùt Hoaït ñoäng Keát xuaát Ñích ñeán
sinh
Khaùch haøng ñeán baêng ñóa caàn khaùch haøng Caäp nhaät thoâng baêng ñóa khaùch haøng
thueâ baêng ñóa thueâ tin thueâ cho thueâ
Khaùch haøng traû baêng ñóa traû khaùch haøng kieåm tra baêng ñóa khaùch haøng
baêng ñóa traû
.... .... ... ... ... ...
154

ALBUM BOÄ VÔÛ


BAÊNG ÑÓA
NGÖÔØI
GIAO DÒCH THUEÂ
CHI TIEÁT THUEÂ
KHAÙCH HAØNG
Giáo trình Phân tích thiết Kế Hệ Thống
Giáo trình Phân tích thiết Kế Hệ Thống 155

maõ chuyeán bay coù maõ phi coâng


CHUYEÁN NHIEÄM VUÏ
giôø khôûi haønh maõ chuyeán bay
BAY thuoäc veà BAY
giôø keát thuùc nhieäm vuï

thöïc hieän giöõ

ñöôïc thöïc hieän bôûi


ñöôïc thöïc hieän bôûi
maõ maùy bay maõ phi coâng
MAÙY BAY
naêm saûn xuaát PHI COÂNG hoï teân
maõ maùy bay ñòa chæ
MAÙY BAY
soá löôïng gheá soá ñieän thoaïi
DAÂN SÖÏ

maõ maùy bay maõ maùy bay


MAÙY BAY VUÕ KHÍ
troïng taûi soá seâ-ri
QUAÂN SÖÏ TRANG BÒ
thôøi ñieåm

coù trôû thaønh

thuoäc veà
thuoäc veà soá seâ-ri
VUÕ KHÍ ngaøy saûn xuaát
maõ loaïi mb LOAÏI MAÙY
teân loaïi mb BAY
coù

thuoäc veà

LOAÏI VUÕ maõ loaïi vk


KHÍ teân loaïi vk

maõ loïai
teân loïai
LOÏAI
PHIEÁU

thuoäc veà

coù

soá phieáu
PHIEÁU NHAÄP XUAÁT
ngaøy

maõ ncc soá phieáu


NHAØ CUNG PHIEÁU chöùng töø keøm theo
teân ncc
ñòa chæ ncc CAÁP NHAÄP chöùa soá phieáu
CHI TIEÁT soá thöù töï
ñöôïc chöùa trong NHAÄP XUAÁT soá löôïng
ñôn giaù
soá phieáu
maõ thieát bò PHIEÁU
THIEÁT BÒ lyù do xuaát ñöôïc keâ bôûi
teân thieát bò XUAÁT

ñöôïc keâ bôûi

maõ nhoùm keâ


nhaäp hay xuaát töø
teân nhoùm
maõ kho coù maõ vaät tö
teân kho KHO NHOÙM VAÄT TÖ teân vaät tö
ñòa chæ qui caùch
thuoäc veà ñôn vò tính
soá ñieän thoïai
toàn toái thieåu
Giáo trình Phân tích thiết Kế Hệ Thống 156

maõ taøi saûn


teân taøi saûn
nguyeân giaù
nguoàn goác
xuaát xöù
maõ loïai tæ leä khaáu hao
teân loïai ngaøy söû duïng
thuoäc veà coù quaûn lyù
LOÏAI TSCÑ TSCÑ

ñöôïc quaûn lyù bôûi


maõ ñôn vò

ñöôïc chöùa trong


ÑÔN VÒ teân ñôn vò

keâ

chöùa
QUYEÁT CHI TIEÁT
ÑÒNH QÑ
ñöôïc keâ trong
soá quyeát ñònh soá quyeát ñònh
ngaøy quyeát ñònh maõ taøi saûn
hoï teân ngöôøi kyù ngaøy ñieàu chuyeån
Giáo trình Phân tích thiết Kế Hệ Thống 157

MAÃU MOÂ TAÛ PHAÀN TÖÛ DÖÕ LIEÄU

Maõ nhaän dieän


Teân Maõ tænh
Teân khaùc
Moâ taû Laø thuoäc tính nhaän dieän tænh vôùi kyù töï ñaàu laø kyù töï ñaàu cuûa teân
tænh thaønh phoá
Tính chaát
Chieàu daøi: 4  Chöõ
Ñònh daïng nhaäp: L000  Soá chöõ
Ñònh daïng xuaát:  Ngaøy
Giaù trò maëc nhieân:  Soá
 Lieân tuïc  Rôøi raïc  Nhaäp  Tính toùan
Ñieàu kieän raøng buoäc

Lieân tuïc Rôøi raïc


Giaù trò dieãn giaûi
Giaù trò lôùn nhaát: 999 ............ ...........................................................
Giaù trò beù nhaát: 000 ............ ...........................................................
........... ..........................................................

MAÃU MOÂ TAÛ KHO DÖÕ LIEÄU

Maõ nhaän dieän D3


Teân Tænh thaønh phoá
Teân khaùc
Moâ taû Chöùa moãi maãu tin cho moät tænh thaønh phoá
Tính chaát
Loïai taäp tin  Maùy tính  Thuû coâng
Daïng taäp tin  Cô sôû döõ lieäu  Chæ muïc  Tuaàn töï  Tröïc tieáp

Kích thöôùc maãu tin (kyù töï) : 54 Kích thöôùc khoái: 4,000
Soá löôïng maãu tin: möùc cao 46 möùc bình quaân: 46
Toác ñoä taêng tröôûng haøng naêm: 0%
Teân taäp tin döõ lieäu: tinhThanhPhoTbl
Teân baûn sao:
Caáu truùc döõ lieäu: Maãu tin tænh thaønh phoá
Khoùa chính: Maõ tænh
Khoùa phuï:
Ghi chuù:

MAÃU MOÂ TAÛ CAÁU TRUÙC DÖÕ LIEÄU


Giáo trình Phân tích thiết Kế Hệ Thống 158

maãu tin tænh thaønh phoá = maõ tænh +


teân tænh +
soá daân

Xöû lyù 4.1 – Caäp nhaät tænh thaønh phoá


Teân Form Thuoäc tính Giaù trò
frmTinhThanhPho
Record Source SELECT maTinh, tenTinh, soDan
FROM tinhThanhPhoTbl
Default View Datasheet
Teân control Teân thuoäc tính Giaù trò
maTinh Input Mask L000;;_
Control Source maTinh
tenTinh Control Source tenTinh
Format >
SoDan Control Source soDan
Format 0

Flowchart
Entity relationship diagram
Giáo trình Phân tích thiết Kế Hệ Thống 159

Trường ĐH Công nghiệp Tp HCM


Khoa Công nghệ Thông tin

TIỂU LUẬN MÔN PHÂN TÍCH THIẾT KẾ HỆ THỐNG


Tiểu luận là tiêu chuẩn đánh giá kết quả học tập. Yêu cầu là thực hiện Phân tích và thiết kế một hệ thống thông tin quản
lý. Các bạn chọn một trong các đề tài gợi ý dưới đây hoặc tự đưa ra đề tài.

STT Đề tài Mô tả

1 Hệ thống quản lý thư viện Quản lý sách, độc giả, tình hình mượn trả…

2 Hệ thống quản lý nhân sự tiền lương Quản lý hồ sơ nhân sự, tiền lương, kết quả chấm công…

3 Hệ thống quản lý vật tư Quản lý tình hình xuất nhập vật tư…

4 Hệ thống quản lý học sinh phổ thông Quản lý hồ sơ học sinh, kết quả học tập…

5 Hệ thống quản lý sinh viên đại học Quản lý hồ sơ sinh viên, kết quả học tập…

6 Hệ thống quản lý tuyển sinh đại học Quản lý thông tin thí sinh, kết quả thi…

Quản lý tình hình công nợ đối với khách hàng và nhà cung
7 Hệ thống quản lý công nợ cửa hàng
cấp

8 Hệ thống quản lý khách sạn Quản lý phòng, khách thuê phòng…

Hệ thống quản lý hồ sơ bệnh án bệnh


9 Quản lý hồ sơ, tình trạng của bệnh nhân…
viện

10 Hệ thống quản lý trường mẫu giáo Quản lý hồ sơ học sinh, chỉ số thể lực, năng khiếu…

Quản lý các nguồn thu chi của một tổ chức thông qua việc
11 Hệ thống thông tin kế tóan
quản lý các chứng từ thu chi, báo cáo các sổ sách kế tóan

Hệ thống quản lý phòng học của một Quản lý được tình trạng của phòng học như phòng có tiện
12
trường nghi gì, đang được sử dụng vào việc gì, thời gian nào …

Việc làm tiểu luận nên được tiến hành song song với quá trình học môn này và tuân theo các bước chính:
1. Khảo sát thực tế và xác lập các yêu cầu.
2. Phân tích hệ thống.
3. Thiết kế hệ thống.
4. Xây dựng và cài đặt hệ thống.

Kết quả làm tiểu luận phải được thể hiện thông qua một báo cáo dạng file word

Hướng dẫn làm tiểu luận


Dựa vào những kiến thức đã học về thu thập thông tin, tuỳ theo chủ đề tiểu luận đã chọn, người học tiến hành khảo sát
thực tế, xác định các yêu cầu đối với hệ thống cần xây dựng. Người học thực hiện viết báo cáo tiểu luận gồm các phần cơ
bản:

 Đặt vấn đề

o Mục đích

o Giới thiệu bài toán


Giáo trình Phân tích thiết Kế Hệ Thống 160

 Khảo sát thực tế và xác lập dự án

o Đặc tả hoạt động của hệ thống hiện tại

(Kê các biểu mẫu, chứng từ, mô tả đầy đủ các thực thể và mối kết hợp giữa chúng)

o Các ưu nhược điểm của hệ thống hiện tại

o Các yêu cầu đặt ra (yêu cầu chức năng) của hệ thống cần xây dựng

 Củng cố phần khảo sát

o Phiếu mô tả dữ liệu

o Phiếu mô tả công việc

o Bảng tổng hợp công việc

o Bảng tổng hợp hồ sơ tài liệu

Vận dụng kiến thức đã học trong chương 3, 4, 5 người học xây dựng biểu đồ phân cấp chức năng, biểu đồ luồng dữ liệu
ngữ cảnh và phân rã biểu đồ luồng dữ liệu cho hệ thống đã chọn làm tiểu luận. Viết tiếp báo cáo tiểu luận với các nội
dung cơ bản:

 Mô hình nghiệp vụ của hệ thống

(phải có phần mô tả chức năng lá, ma trận thực thể chức năng)

 Mô hình xử lý

o Biều đồ luồng dữ liệu mức ngữ cảnh

o Biểu đồ luồng dữ liệu mức 0

o Biểu đồ luồng dữ liệu mức 1

 Logic tiến trình xử lý

Vận dụng kiến thức đã học để xây dựng mô hình thực thể kết hợp và biến đổi chúng thành mô hình quan hệ cho hệ thống
đã chọn làm tiểu luận. Viết tiếp báo cáo tiểu luận với các nội dung cơ bản:

 Mô hình thực thể kết hợp

 Mô hình quan hệ

 Từ điển dữ liệu

 Kiểm tra yêu cầu chức năng (chương 8)

 Kiểm tra dạng chuẩn của mô hình quan hệ (chương 12)

Với kiến thức đã học, xây dựng cơ sở dữ liệu cho hệ thống đã chọn làm bài tập lớn. Tiếp tục viết báo cáo bài tập lớn với
các nội dụng cơ bản:

 Cấu trúc các bảng dữ liệu (tên trường, kiểu dữ liệu...)

Thiết kế đầu ra cho hệ thống mà bạn đang thực hiện phân tích thiết kế, viết tiếp báo cáo bài tập lớn với các nội dung:

 Các phương thức cài đặt đầu vào

 Các hình thức đầu ra

 Các biểu mẫu giao diện trong chương trình (có hình ảnh)

Tiến hành cài đặt, chạy thử hệ thống đã xây dựng được, nhận xét về hệ thống. Viết tiếp báo cáo bài tập lớn với các nội
dung cơ bản:
Giáo trình Phân tích thiết Kế Hệ Thống 161

 Yêu cầu phần cứng để cài đặt hệ thống

 Nhận xét về hiệu quả, độ chính xác của hệ thống

Xem lại và hoàn thiện chương trình, báo cáo bài tập lớn, nộp cho giáo viên

You might also like