Professional Documents
Culture Documents
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 2 : KHẢO SÁT HIỆN TRẠNG XÁC ĐỊNH YÊU CẦU HỆ THỐNG...................................................................... 21
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
----oOo----
Giáo trình Phân tích thiết Kế Hệ Thống 3
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
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
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ế
Ý 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.
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
Triển
khai
Hình 1.6. Mô tả phát triển HTTT theo vòng đời truyền thống
Đánh giá,
Loại bỏ mẫu tồi
Quyết định
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ệ
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
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
Xác định
yêu cầu Các ma trận
phân tích
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
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ể…
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.
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
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).
D4 D3
Sổ đặt hàng Đơn hàng
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.
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)
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.
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
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
- 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
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
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
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
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
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
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
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.
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
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”…
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
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
Hình 4.3. Biểu đồ nhận được khi phân rã tiến trình 1.0
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
Bảng
Thông số
báo cáo
Nhà quản lý
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
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
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
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.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)
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ự.
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?
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
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.
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í 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
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
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.
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.
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.
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
Đú
Lương cơ Đúng
Trả lương cơ bản
bản?
Sa
i
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.
- tắt đèn
- tắt bếp
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.
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
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
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 = {maHocVientenHocVien, diaChi, ngaySinh, soDienThoai, ngayNhapHoc;
maMonHoctenMonHoc, thoiLuong;
maHocVienmaMonHoc}
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
Jenny laø moät thöïc theå (entity instance) cuûa taäp thöïc theå hoïc vieân.
Moâ hình ER
+ 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.
- 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 = {maHocVientenHocVien, diaChi, ngaySinh, soDienThoai, ngayNhapHoc;
maMonHoctenMonHoc, thoiLuong;
maHocVien, maMonHocngayNhapHoc}
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
1. Nhaän dieän caùc taäp thöïc theå vaø thuoäc tính nhaän dieän
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
. 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
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
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
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
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
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Ä
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
Hình: Kieåm tra yeâu caàu chöùc naêng trong qui trình PTTKHT
Moái keát hôïp nhieàu nhieàu ñöôïc giaûi baèng taäp keát hôïp
+ 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)
PHAÂN TÍCH
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
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
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).
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
Hình: Kieåm tra yeâu caàu chöùc naêng trong qui trình PTTKHT
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
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û.
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)
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:
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
Ñ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
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ù.
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
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ø:
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:
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
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
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
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.
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
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
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ã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 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
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.
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
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)
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)
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
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
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:
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}
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
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:
coù
giaûng
da n ïc ghi
ôûi
hb
ñöô
ñö
ôï c
da
ïy
vaøo
bô
û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
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
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
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
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
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
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.
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
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
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
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
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
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
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
----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
ER diagram
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#)
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
giao cho
thuoäc veà
nhaän coù
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
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à
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
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
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ù:
Flowchart
Entity relationship diagram
Giáo trình Phân tích thiết Kế Hệ Thống 159
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
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
Đặt vấn đề
o Mục đích
(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 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
o Phiếu mô tả dữ 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:
(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ý
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 quan hệ
Từ điển dữ liệu
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:
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 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
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