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

1

LỜI NÓI ĐẦU
Chào mừng các bạn đến với môn học Phân tích thiết kế thống, một môn học rất thú vị, cần thiết trong việc xây dựng một ứng dụng thực tế. Nó cũng sẽ trang bị cho các bạn những kiến thức cần thiết dùng để viết phần lý thuyết của đề án tốt nghiệp. Tài liệu sẽ cung cấp những kỹ năng cần thiết trong phân tích thiết kế một hệ thống thông tin quản ly. Tài liệu này một phần được dịch và biên soạn lại từ quyển sách Practical Data Modelling For Database Design của hai tác giả Renzo D’Orazio & Gunter Happel và từ Giáo trình Phân tích Thiết kế Hệ Thống của Nguyễn Văn Vỵ Tài liệu trình bày tường tận chi tiết các kỹ năng cần thiết trong phân tích thiết kế một hệ thống thông tin, từ việc trình bày các nguyên tắc cần thiết để phân biệt một khái niệm là tập thực thể hay thuộc tính đến việc trình bày hình ảnh dữ liệu bằng mô hình thực thể kết hợp. Nó cũng đào sâu vào các khía cạnh tập thực thể cha con, mối kết hợp một ngôi, mối kết hợp ba ngôi, nhiều mối kết hợp giữa các tập thực thể. Tài liệu có nhiều ví dụ cụ thể dễ hiểu từ đơn giản đến phức tạp. Dù đã cố gắng hết sức, tài liệu cũng không thể tránh khỏi những thiếu sót, rất mong sư đóng góp của các bạn. Mọi góp ý xin gởi về Th.S. Trần Đắc Phiến Bộ môn Hệ thống thông tin trường Đại học Công nghiệp Tp Hồ Chí Minh. Chúng tôi chân thành cám ơn sự động viên và đóng góp ý kiến của các bạn đồng nghiệp trong quá trình biên soạn tài liệu.

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

2

M ỤC L ỤC
Chương 1 : PHƯƠNG PHÁP LUẬN PHÁT TRIỂN HỆ THỐNG THÔNG TIN.................................................................. 3 Chương 2 : KHẢO SÁT HIỆN TRẠNG XÁC ĐỊNH YÊU CẦU HỆ THỐNG...................................................................... 21 Chương 3 : MÔ HÌNH NGHIỆP VỤ CỦA HỆ THỐNG.......................................................................................................... 32 Chương 4 : MÔ HÌNH HÓA QUÁ TRÌNH XỬ LÝ.................................................................................................................. 42 Chương 5 : MÔ HÌNH HÓA LOGIC TIẾN TRÌNH ................................................................................................................ 57 Chương 6 : GIỚI THIỆU VỀ MÔ HÌNH HÓA DỮ LIỆU....................................................................................................... 65 Chương 7 : MÔ HÌNH QUAN HỆ.............................................................................................................................................. 79 Chương 8 : PHÂN TÍCH DỮ LIỆU VÀ YÊU CẦU CHỨC NĂNG ........................................................................................ 89 Chương 9 : TÍNH BẮT BUỘC, KHÔNG BẮT BUỘC TRONG MỐI KẾT HỢP ................................................................. 96 Chương 10 : TẬP THỰC THỂ CHA VÀ TẬP THỰC THỂ CON ........................................................................................ 104 Chương 11 : MỞ RỘNG KHÁI NIỆM MỐI KẾT HỢP ........................................................................................................ 113 Chương 12 : SỰ CHUẨN HÓA ................................................................................................................................................ 123 CÁC TRƯỜNG HỢP NGHIÊN CỨU...................................................................................................................................... 132

----oOo----

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

3

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

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

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

4

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

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

5

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

1.2. Tiến hóa của cách tiếp cận phát triển HTTT
Phát triển HTTT dựa trên máy tính bắt đầu từ những năm 1950. Cho đến nay đã hơn năm mươi năm phát triển. Nhiều công nghệ mới về phần cứng, phần mềm không ngừng phát triển, nhiều vấn đề mới của thực tế luôn luôn đặt ra. Vì vậy, cách tiếp cận phát triển một HTTT cũng thay đổi. Ta có thể kể đến bốn cách tiếp cận chính để phát triển một HTTT: - tiếp cận định hướng tiến trình, - tiếp cận định hướng dữ liệu, - tiếp cận định hướng cấu trúc và - tiếp cận định hướng đối tượng. Trừ cách tiếp cận đầu tiên, mỗi cách tiếp cận sau đều gắn với việc giải quyết những vấn đề đặt ra và sự phát triển của một công nghệ mới. 1.2.1. Tiếp cận định hướng tiến trình Thời gian đầu khi máy tính mới ra đời, tốc độ máy rất chậm, bộ nhớ làm việc còn rất nhỏ nên người ta tập trung vào các quá trình mà phần mềm phải thực hiện. Vì vậy, hiệu quả xử lý các chương trình trở thành mục tiêu chính. Tất cả sự cố gắng lúc đó là tự động hóa các tiến trình đang tồn tại (như mua hàng, bán hàng…) của những bộ phận chương trình riêng rẽ. Lúc này người ta đặc biệt quan tâm đến các thuật toán (phần xử lý) để giải được bài toán đặt ra và cách sử dụng khéo léo bộ nhớ làm việc rất hạn hẹp. Các dữ liệu được tổ chức trong cùng một tập tin với chương trình.

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

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

6

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

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

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

7

Hình 1.4. Cấu trúc hệ thống định hướng cấu Phát triển có cấu trúc đã cung cấp một tập hợp đầy đủ các đặc tả hệ thống không dư thừa được phát triển theo quá trình logic và lặp lại. Nó cho ta nhiều lợi ích so với cách tiếp cận trước đó: a) Làm giảm sự phức tạp (nhờ chia nhỏ, modun hóa) b) Tập trung vào ý tưởng (vào logic, kiến trúc trước khi thiết kế) c) Chuẩn mực hóa (theo các phương pháp, công cụ đã cho) d) Hướng về tương lai (kiến trúc tốt, modun hóa dễ bảo trì) e) Giảm bớt tính nghệ thuật trong thiết kế 1.2.4.Tiếp cận định hướng đối tượng Tiếp cận định hướng đối tượng là cách mới nhất để phát triển HTTT. Cách tiếp cận này dựa trên ý tưởng xây dựng một hệ thống gồm các đơn thể được gọi là đối tượng liên kết với nhau bằng mối quan hệ truyền thông. Các đối tượng thường tương ứng với các thực thể trong HTTT như khách hàng, nhà cung cấp, hợp đồng, thỏa thuận thuê. Mục tiêu của cách tiếp cận này là làm cho các phân tử của hệ thống trở nên độc lập tương đối với nhau và có thể dùng lại. Điều đó đã cải thịên cơ bản chất lượng của hệ thống và làm tăng năng suất hoạt động phân tích và thiết kế.

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

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

8

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

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

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

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

9

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

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

10

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

1.5. Các phương pháp khác nhau phát triển HTTT
1.5.1. Vòng đời phát triển hệ thống truyền thống Vòng đời phát triển hệ thống truyền thống là phương pháp luận ra đời sớm nhất và đến nay vẫn được sử dụng rộng rãi. Theo phương pháp này, HTTT có một vòng đời tương tự như một thực thể bất kỳ: có giai đoạn bằt đầu, giai đoạn phát triển, giai đoạn trưởng thành và giai đoạn kết thúc. Quá trình phát triển HTTT gồm sáu giai đoạn: xác định dự án, nghiên cứu hệ thống, thiết kế, lập chương trình, cài đặt, và áp dụng (hình 1.6). Mỗi giai đoạn gồm các hoạt động cơ bản cần phải hoàn thành trước khi bắt đầu giai đoạn sau. Các giai đoạn được thực hiện lần lượt với một sự phân công lao động rõ ràng giữa những người sử dụng và các chuyên gia kỹ thuật.

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

11

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

Triển khai

Giáo trình Phân tích thiết Kế Hệ Thống
Khảo sát, thu thập thông tin sơ bộ

12

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

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

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

Hạn chế

Loại bỏ mẫu

tồi

Đánh giá, Quyết định

Mẫu hoàn chỉnh

Sử dụng thêm phương pháp khác

Chưa

Hệ thống đã hoàn chỉnh ?

Đã

Hoàn chỉnh dự án từ các mẫu thu được

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

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

13

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

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

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

14

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

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

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

15

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

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

16

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

1.7. Sơ đồ tổng quát quá trình phân tích thiết kế HTTT
Sơ đồ tổng quát quá trình phân tích thiết kế được mô tả trong sơ đồ hình 1.10. Trong đó chỉ ra các giai đoạn khác nhau của quá trình này. Trong mỗi giai đoạn chỉ rõ các công cụ (mô hình) được sử dụng, các sản phẩm đặc trưng của nó cũng như mối quan hệ logic và sư phụ thuộc lẫn nhau giữa chúng. Quá trình gồm bốn giai đoạn: - Khảo sát hiện trạng của hệ thống. - Xác định mô hình nghiệp vụ. - Phân tích hệ thống và đặc tả yêu cầu. - Thiết kế hệ thống. a. Khảo sát hịên trạng hệ thống Trong phần này sẽ trình bày các bước thực hiện quá trình khảo sát và các công cụ được sử dụng để thu thập thông tin, dữ lịêu. b. Xác định mô hình nghiệp vụ của hệ thống

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

17

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

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

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

Khảo sát

Biểu đồ ngữ cảnh

Biểu đồ phân rã chức năng

Danh sách các thực thể dữ liệu

Xác định yêu cầu

Các ma trận phân tích

Mô tả chi tiết chức năng

Biểu đồ ngữ cảnh miền nghiên cứu

Biểu đồ phân rã chức năng rút gọn chi tiết

Danh sách thực thể dữ liệu rút gọn

Từ điển dữ liệu

Phân tích yêu cầu

Mô tả chi tiết tiến trình

Biểu đồ luồng dữ liệu vật lý

Mô hình thực thể mối quan hệ (E-R)

Thiết kế logic

Đặc tả logic mỗi tiến trình

Biểu đồ luồng dữ liệu logic các mức

Thiết kế biểu mẫu báo cáo

Mô hìenh dữ liệu quan hệ

Thiết kế vật lý

Đặc tả môdun chương trình

Xác định luồng hệ thống. Đặc tả cấu trúc hệ thống

Đặc tả tương tác giao diện

Đặc tả CSDL vật lý

Thiết kế an toàn và bảo mật hệ thống

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

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

19

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

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

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

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

20

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

----oOo----

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

21

Chương 2 : KHẢO SÁT HIỆN TRẠNG XÁC ĐỊNH YÊU CẦU HỆ THỐNG
Xác định yêu cầu là bước đầu tiên của quá trình phát triển một HTTT. Cho nên, kết quả và chất lượng của việc xác định yêu cầu thông tin của tổ chức có một ý nghĩa quyết định đến chất lượng HTTT được xây dựng trong các bước sau này.

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

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

22

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

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

Giáo trình Phân tích thiết Kế Hệ Thống Chủ đề 2” câu hỏi và trả lời Tổng hợp các nội dung chính ý kiến của người được hỏi Kết thúc (thỏa thuận) 10 phút 2 phút 5 phút 1 phút (dự kiến tổng cộng: 29 phút) Bảng 2.1. Mẫu kế hoạch phỏng vấn

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).

Dự án Loại: Lưu đồ

Tên dự án: Quản lý kho Nghiệp vụ: Lập đơn hàng

Trang 10 Ngày 12/01/2008

Giáo trình Phân tích thiết Kế Hệ Thống Thủ kho Người quản lý
D1 Phiếu vật tư Lập và chuyển đơn hàng T1 D2 Sổ thực đơn Nhà cung cấp

24 Bên ngoài

D4 Sổ đặt hàng

D3 Đơn hàng

Tiếp nhận, Nhận hàng T3

Tiếp nhận, Kiểm phiếu T2

D5 Phiếu giao

Bảng 2.2 Lưu đồ công việc (ghi khi phỏng vấn) Phiếu phỏng vấn Dự án: Quản lý kinh doanh Tiểu dự án: Quản lý bán hàng Người được hỏi: Nguyễn Văn A Ngày xx/xx/xxxx Người hỏi: Phạm Thế Du Câu hỏi Ghi chú Câu 1: Anh có sử dụng doanh số bán hàng mà hệ Trả lời: Có, tôi đã yêu cầu làm báo cáo về hàng bán thống tổng hợp không? Nếu có, có thường trong tuần. xuyên không? Quan sát: Hình như người này không biết dùng máy (Nếu không thì sang câu 2) tính nên không biết máy có thể trả lời câu hỏi bất kỳ lúc nào Câu 2: ……… Trả lời: ….. Quan sát: Hệ thống có thể đưa ra doanh số bán bằng tiền, nhưng người dùng không biết điều đó Đánh giá chung: - Người được hỏi hình như bận, có thể cần thêm vài ngày để họ chuẩn bị rồi tiến hành tiếp - Chưa kết luận được vấn đề, còn chủ đề chưa đề cập hết. Họ cẩn thu thập số liệu bán hàng năm 19xx Bảng 2.2 Một đoạn ghi chép phỏng vấn d. Những hạn chế và lưu ý khi phỏng vấn Phỏng vấn là công cụ tốt để thu thông tin chi tiết, phong phú, cho phép giải thích hay hỏi bổ sung ngay khi cầ thiết. Tuy nhiên phương pháp này cần nhiều thời gian, căng thẳng và rất bị động do phụ thuộc vào điều kịên của người được hỏi, yêu cầu người phỏng vấn phải được đào tạo và có được những kinh nghịêm nhất định. Câu hỏi cần tập trung vào lĩnh vực nghiên cứu, ngắn gọn, trực tiếp, ở dạng mở với nhiều khả năng trả lời, tránh hỏi chuỵên nội bộ, cá nhân. Câu hỏi không nên áp đặt, hướng dẫn hay khẳng định vấn đề. Chú ý lắng nghe và quan sát người được hỏi để có thể thích ứng với tình thế khi cần thiết: thay đổi câu hỏi, cách hỏi, chuyển sang chủ đề khác hoặc im lặng. Nên kết thúc phỏng vấn sớm nếu có thể. Sớm hình thành biểu đồ chức năng. Cuối buổi phỏng vấn cần nhắc lại nội dung chính để khẳng định kết quả, thỏa thụân lần làm vịêc tiếp theo (nếu cần)

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

25

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

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

26

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

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

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

27

một tâp tài liệu chi tiết va báo cáo về những hoạt động của hệ thống hiện thời và những vấn đề có liên quan đến những nghiên cứu hệ thống thay thế. Phương pháp này rất hiệu quả, cho kết quả nhanh, nhiều vấn đề được thảo luận đi đến thống nhất, nhiều thông tin được bổ sung và làm chính xác nhưng cần có những người có kinh nghiệm tổ chức. 2.3.2. Phương pháp làm mẫu xác định yêu cầu Phương pháp làm mẫu là một quá trình lặp mà ở đó nhà phân tích cùng tham gia vào một quá trình phát triển và xây dựng lại bản mẫu của HTTT mỗi lần có các thông tin phản hồi từ người sử dụng. Phương pháp làm mẫu cho phép mau chóng chuyển những yêu cầu cơ bản thành một HTTT làm việc để người dùng xem và thực hiện thử nghiệm, đánh giá, đóng góp bổ sung. Phương pháp làm mẫu được thực hiện với sự giúp đỡ của công cụ CASE.

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

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

28

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

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

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

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

29

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

STT

Tên – vai trò

Công việc liên quan

Giáo trình Phân tích thiết Kế Hệ Thống D1 D2 D3 D4 D5 Di Phiếu vật tư: Ghi hàng hóa xuất hay nhập Sổ thực đơn: định mức hàng hóa làm một sản phẩm Đơn đặt hàng: ghi lượng hàng đặt gửi nhà cung cấp Sổ đặt hàng: Tập hợp các đơn hàng đã đặt Phiếu giao hàng: ghi số lượng hàng của nhà cung cấp phát ra ….. Bảng 2.8. Bảng tổng hợp hồ sơ, tài liệu STT 1 2 3 4 Tên gọi kiểu cỡ Khuông dạng Lĩnh vực T1 T1 T1 T1, T2 T1, T3 ….. Quy tắc ràng buộc chữ hoặc số chữ hoặc số ..

30

Số hóa đơn Ký tự 8 kế toán Tên hàng hóa Ký tự 20 kế toán Ngày hóa đơn Ngày 8 dd-mm-yy kế toán …. … .. .. .. Bảng 2.9. Bảng tổng hợp từ điển dữ liệu

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

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

Bài tập
1. Lập một kế hoạch phỏng vấn một người làm công việc văn phòng ở một văn phòng một cơ quan mà anh biết?

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

31

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

----oOo----

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

32

Chương 3 : MÔ HÌNH NGHIỆP VỤ CỦA HỆ THỐNG 3.1. Khái niệm về mô hình nghiệp vụ
Mô hình nghiệp vụ là một mô tả các chức năng nghiệp vụ của một tổ chức (hay một miền đựoc nghiên cứu của tổ chức) và những mối quan hệ bên trong giữa các chức năng đó cũng như các mối quan hệ của chúng với môi trường bên ngoài. Mô hình nghiệp vụ được thể hiện bằng một số dạng khác nhau. Mỗi một dạng mô tả một khía cạnh của hoạt động nghiệp vụ. Tất cả các dạng đó cho ta một bức tranh toàn cảnh về hoạt động nghiệp vụ.

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

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

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

33

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

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

34

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

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

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

35

3.

4.

5.

6.

7.

8.

9.

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 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 vào bãi 3. Ghi vé cho khách 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 Cho khách ở bãi 7. Thanh toán tiền, cho xe ra 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 sự cố 11. Lập biên bản 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.

36

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

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

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

37

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

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

38

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

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

Loại xe: Ngày giờ ra: Thành tiền:

…………… …………. ………….

Giáo trình Phân tích thiết Kế Hệ Thống c. Sổ ghi xe vào Ngày d. Sổ ghi xe ra Ngày

39 Số xe Loại xe Giờ vào Ghi chú

Số vé

Số vé

Số xe

Loại xe

Giờ ra

Thời gian gởi

Thành tiền

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

Hãy xây dựng mô hình nghiệp vụ của hệ thống thể hiện qua các thể hiện có thể xây dựng được? B. Bài giải Trước hết ta lập một bảng phân tích trên cơ sở những mô tả của bài toán nhận được. Bảng này sẽ giúp tìm ra các nhân tố để xây dựng lên các thể hiện của mô hình nghiệp vụ: Động từ + bổ ngữ Danh từ Nhận xét Nhận dạng xe Bãi xe = Kiểm tra chỗ trống cổng = Thông báo cho khách Khu = Ghi vé cho khách loại xe = Ghi thông tin vé vào sổ Khách (tác nhân) kiểm tra vé xe người coi xe (tác nhân) đối chiếu vé với xe bảng phân loại xe hồ sơ DL viết, thu phiếu thanh toàn, tiền chỗ trống = Ghi sổ xe ra Vé Hồ sơ DL kiểm tra xe trong sổ sổ xe vào hồ sơ DL kiểm tra xe ở hiện trường sổ xe ra hồ sơ DL lập biên bản Biên bản hồ sơ DL viết phiếu chi phiếu chi hồ sơ DL Bảng 3.4. Bảng phân tích Từ cột cuối cùng của bảng phân tích, ta rút ra được hai đối tượng có thể là tác nhân: Đó là khách hàng và người coi xe. Khi phân tích dựa vào bảng mô tả và định nghĩa, ta chỉ còn một tác nhân duy nhất là KHÁCH và xác định được các luồng thông tin tương tác giữa KHÁCH và hẽ thống. Từ đó vẽ được biểu đồ ngữ cảnh ở hình 3.7. Từ cột 1 của bảng phân tích, ta rút ra được các chức năng chi tiết xây dựng được biểu đồ phân rã cho trong hình 3.5. Từ các mô tả và các dữ liệu đã cho, ta lập và xây dựng được danh sách các hồ sơ (bảng 3.5) và ma trận thực thể chức năng (hình 3.8) a. Bảng giá (và phân loại xe) b. Vé xe c. sổ xe vào d. sổ xe ra

Giáo trình Phân tích thiết Kế Hệ Thống e. Phiếu thanh toán f. Biên bản sự cố Bảng 3.5. Danh sách các hồ sơ dữ liệu sử dụng

40

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

4 C R

5 C

6 C

7 C

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

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

Bài tập

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

41

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

----oOo---

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

42

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

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

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

43

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

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

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

44

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

D1

Món ăn đã bán

D1

Thẻ kho thực phẩm

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

Giáo trình Phân tích thiết Kế Hệ Thống
1.1 Đơn hàng Nhận đơn hàng Đơn hàng liên 1 1.3 Chuyển thành món ăn Thực đơn

45

Đơn hàng liên 4 1.2 Lập hóa đơn thanh toán

Đơn hàng liên 3 1.4 Lập bảng món ăn đã bán

Đơn hàng Liên 2 1.5 Lập bảng kê thực phẩm sử dụng Bảng kê Thực phẩm

Hóa đơn

Bảng kê hàng bán

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

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

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

46

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

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

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

47

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

Nhà quản lý

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

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

48

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

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

49

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

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

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

50

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

Giáo trình Phân tích thiết Kế Hệ Thống
Phiếu giao Nhà cung cấp 1 Cập nhật thực phẩm bổ sung 2 Cập nhật thực phẩm sử dụng

51

Đơn hàng Phiếu giao Hóa đơn Tạo đơn hàng 4 Tạo hoá đơn thanh toán

3

Tổng bổ sung Tổng sử dụng Bộ phận tồn kho

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

Thẻ kho

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

Hình 4.11. Biểu đồ luồng dữ liệu logic mưc của hệ thống quản lý nhập kho mới

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

52

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

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

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

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

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

53

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

Hình 4.14. Biểu đồ luồng dữ liệu mức 1: Nhận xe (nét đậm là phần được thay thế hay thêm vào)

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

54

Hình 4.15. Biểu đồ luồng dữ liệu mức 1: Trả xe (nét đậm là phần được thay thế hay thêm vào)

Hình 4.16. Biểu đồ luồng dữ liệu mức 1: Giải quyết sự cố (nét đậm là phần được thay thế hay thêm vào) Trong trường hợp này biểu đồ luồng dữ liệu mức 1 là mức thấp nhất. Trong trường hợp khác có thể cần tiếp tục phát triển các luồng dữ liệu ở các mức thấp hơn bằng cách tương tự.

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

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

55

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

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

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

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

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

56

DF1

DS1 DF4 DF6

DF3 2

E2

P1

DF2

Hình 4.19. Biểu đồ luồng dữ liệu có sai sót

----oOo----

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

57

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

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

Giáo trình Phân tích thiết Kế Hệ Thống IF (số lượng tồn kho nhỏ hơn số dự trữ tối thiểu) THEN GENERATE (đơn đặt hàng mới) ELSE DO (không làm gì cả) END IF END DO

58

Ví dụ sau đây là đặc tả tiếng Anh có cấu trúc của một biểu đồ tiến trình được xác định hệ thống quản lý kho ở hình 5.1
Phiếu giao Nhà cung cấp 1 Cập nhật hàng nhập mới Đơn hàng Phiếu giao Hóa đơn thanh toán Tạo đơn hàng 4 Tạo hoá đơn thanh toán Lượng tồn kho D1 Mức dự trữ tối thiểu Bộ phận tồn kho 3 Tổng bổ sung 2 Cập nhật hàng sử dụng

Thẻ kho

Hình 5.1. Biểu đồ luồng dữ liệu logic hiện thời về quản lý kho Có 4 tiến trình được mô tả trong hình 5.1: cập nhật các mặt hàng nhập mới, cập nhật các mặt hàng sử dụng, tạo đơn hàng, tạo hóa đơn thanh toán. Biểu diễn tiếng Anh có cấu trúc của mỗi tiến trình được mô tả ở bảng 5.1. Trong tiếng Anh cấu trúc, các thuật ngữ, ký hiệu, các phép so sánh logic như lớn hơn hay nhỏ hơn đều được viết ra mà không sử dụng các ký hiệu số học. Tiến trình 1: cập nhật hàng nhập mới DO ĐỌC (phiếu giao hàng tiếp theo) TÌM (thẻ-kho tương ứng) CẬP NHẬT (thẻ kho) UNTIL hết phiếu giao hàng Tiến trình 2: Cập nhật hàng xuất sử dụng DO ĐỌC (phiếu xuất kho tiếp theo) TÌM (thẻ kho tương ứng) CẬP NHẬT (thẻ kho) UNTIL hết phiếu xuất kho Tiến trình 3: lập đơn hàng DO ĐỌC (thẻ kho tiếp theo) IF(số lượng tồn kho) IS LESS THAN (số dự trữ tối thiểu)

Giáo trình Phân tích thiết Kế Hệ Thống THEN (lập đơn hàng) ENDIF UNTIL hết thẻ kho Tiến trình 4: Tạo hoá đơn thanh toán READ (ngày hiện thời) SORT (bản ghi phiếu giao) BY date DO READ (bản ghi phiếu giao tiếp theo) IF (date IS 30 OR GREATER THAN (ngày hiện tại) THEN (lập giấy thanh toán) UNTIL END OF FILE Bảng 5.1. Biểu diễn tiếng Anh cấu trúc cho biểu đồ hình 5.1

59

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

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

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

60

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

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

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

61

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

Hình 5.4. Biểu đồ cây quyết định tổng quát
Lương cơ bản? Đúng

Đú

ng

Trả lương cơ bản

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

Sa i
Giờ làm việc < 40?
Sa i

Đúng

Trả lương giờ, báo cáo vắng mật Đúng
Sa i

Giờ làm việc = 40?

Trả lương giờ

Trả lương giờ Trả giờ làm thêm

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

62

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

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

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

i Sa
>4 0

Giáo trình Phân tích thiết Kế Hệ Thống
C1: bật nút on - bật đèn - mở bếp - cho nước vào hệ thống cho đến khi đủ 2. Pha cà phê

63

1. Nghỉ

- tắt đèn - tắt bếp C1: bật nút off

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

Câu hỏi cuối chương
1. Mục đích của mô hình logic hóa là gì? Những kỹ thuật nào được sử dụng để mô hình hóa các logic quyết định? Kỹ thuật nào sử dụng để mô hình logic hóa thời gian?

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

64

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

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

----oOo----

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

65

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

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

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

Giáo trình Phân tích thiết Kế Hệ Thống II XAÂY DÖÏNG MOÂ HÌNH ER 1 Ví duï - Moái keát hôïp moät-nhieàu

66

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

Moâ hình ER ñoâi khi coøn ñöôïc goïi laø moâ hình yù nieäm döõ lieäu (Conceptual Data Model) hay ñôn giaûn laø moâ hình döõ lieäu (data model) Caùc tính chaát trong moâ hình ER

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

67

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

Giáo trình Phân tích thiết Kế Hệ Thống Thoâng tin veà baèng laùi caàn löu tröõ laø: + maõ baèng laùi + loaïi baèng laùi + ngaøy heát haïn

68

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

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

69

Jenny laø moät thöïc theå (entity instance) cuûa taäp thöïc theå hoïc vieân. Moâ hình ER
maõ hoïc vieân teân hoïc vieân ñòa chæ ngaøy sinh soá ñieän thoaïi ghi danh vaøo ñöôïc ghi danh bôûi maõ moân hoïc teân moân hoïc thôøi löôïng

HOÏC VIEÂN

MOÂN HOÏC

Hình 2.5 - Moâ hình ER cuûa vaán ñeà Tröôøng cao ñaúng coäng ñoàng nuùi xanh

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

Ñeå giaûi quyeát vaán ñeà naøy ta phaûi ñöa vaøo: - moät taäp thöïc theå laøm trung gian giöõa HOÏC VIEÂN vaø MOÂN HOÏC goïi laø taäp keát hôïp PHIEÁU GHI DANH (associative Entity, intersection entity). PHIEÁU GHI DANH laø taäp thöïc theå yeáu (weak Entity) - Thuoäc tính nhaän dieän cuûa taäp keát hôïp laø söï keát hôïp giöõa thuoäc tính nhaän dieän cuûa taäp thöïc theå HOÏC VIEÂN vaø MOÂN HOÏC

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

70

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

71

IV PHIEÁU THÖÏC THEÅ THUOÄC TÍNH + Caùch dieãn taû thuoäc tính beân caïnh moâ hình ER khoâng phuø hôïp cho moâ hình coù qui moâ lôùn. Trong tröôøng hôïp naøy keøm theo moâ hình ER coù phieáu thöïc theå thuoäc tính. + Ví duï:

HOÏC VIEÂN

gôûi ñöôïc gôûi bôûi

PHIEÁU GHI DANH

bao haøm ñöôïc bao haøm bôûi

MOÂN HOÏC

Phieáu thöïc theå – thuoäc tính Döï aùn: Heä ghi danh hoïc vieân Taäp thöïc theå Teân khaùc HOÏC VIEÂN

Thuoäc tính Maõ hoïc vieân Teân hoïc vieân Ñòa chæ Ngaøy sinh Soá ñieän thoaïi MOÂN HOÏC Maõ moân hoïc Teân moân hoïc Thôøi löôïng PHIEÁU GHI DANH Maõ hoïc vieân Maõ moân hoïc Ngaøy nhaäp hoïc Baûng 2.1: Phieáu thöïc theå thuoäc tính cuûa Tröôøng cao ñaúng coäng ñoàng nuùi xanh V CAÙCH TIEÁP CAÄN MOÂ HÌNH HOÙA DÖÕ LIEÄU

Ngaøy: 22.02.96 Teân khaùc

Giaû söû ta ñaõ hoaøn thaønh giai ñoaïn phaân tích döõ lieäu, trong tröôøng hôïp chuùng ta laø hoaøn thaønh phaàn ñaëc taû vaán ñeà vaäy phaàn vieäc coøn laïi laø taäp trung caáu truùc hoùa döõ lieäu.

Giáo trình Phân tích thiết Kế Hệ Thống 1 Caùc böôùc caáu truùc hoùa döõ lieäu

72

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

Giáo trình Phân tích thiết Kế Hệ Thống Bước 3: Gắn thuộc tính mô tả vào tập thực thể  Khaùi nieäm: thuoäc tính laø tính chaát cô baûn gaén lieàn vôùi thöïc theå. Ví duï nhö: + XE COÄ coù caùc thuoäc tính caáu taïo kieåu daùng naêm saûn xuaát maøu soá maùy + BAÛO HIEÅM coù caùc thuoäc tính loaïi baûo hieåm ngaøy baûo hieåm ngaøy heát haïn phí baûo hieåm haøng naêm 1 Toùm taét
DÖÕ LIEÄU YEÂU CAÀU 1. Nhaän dieän caùc taäp thöïc theå vaø thuoäc tính nhaän dieän . Nhaän dieän caùc taäp thöïc theå . Ghi nhaän teân khaùc trong töø ñieån döõ lieäu hay phieáu thöïc theå thuoäc tính Moãi taäp thöïc theå caàn kieåm tra caùc tính chaát sau: - coù nhieàu thöïc theå khoâng - coù thuoäc tính nhaän dieän khoâng - coù thuoäc tính moâ taû khoâng - coù moái quan heä vôùi taäp theå khaùc khoâng 2. Nhaän dieän moái quan heä giöõa caùc taäp thöïc theå . Thieát laäp moái quan heä giöõa caùc taäp thöïc theå (veõ ñöôøng noái vaø dieãn taû noäi dung moái quan heä theo hai chieàu ) . Xaùc ñònh baûn soá moái quan heä . Xaùc ñònh taäp keát hôïp trong moái quan heä nhieàu -nhieàu neáu ñöôïc 3. Gaén thuoäc tính moâ taû vaøo taäp thöïc theå . Gaén moät laàn duy nhaát moãi thuoäc tính vaøo taäp thöïc theå thích hôïp

73

MOÂ HÌNH DÖÕ LIEÄU

Hình 2.16 - Caùc böôùc vaø coâng vieäc thöïc hieän trong moâ hình hoùa döõ lieäu

Giáo trình Phân tích thiết Kế Hệ Thống 2 Thöïc haønh caùc böôùc moâ hình hoùa döõ lieäu Ví dụ Nhà buôn sỉ kim khí phía bắc

74

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

 Böôùc 2: Nhaän dieän moái keát hôïp giöõa caùc thöïc theå + Haøng ñöôïc mua töø nhieàu nhaø cung caáp + Haøng ñöôïc chöùa treân nhieàu bao bì Baûn soá cuûa thöïc theå + Moãi maët haøng ñöôïc mua töø moät hay nhieàu nhaø cung caáp + moãi nhaø cung caáp cung caáp moät hay nhieàu maët haøng + moãi maët haøng ñöôïc chöùa trong moät hay nhieàu bao bì + moãi bao bì chöùa moät maët haøng

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

75

Moái keát hôïp giöõa hai taäp thöïc theå MAËT HAØNG vaø NHAØ CUNG CAÁP laø moái keát hôïp nhieàunhieà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 VI TÖÏ ÑIEÅN DÖÕ LIEÄU (DATA DICTIONARY)

76

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

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

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

77

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

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

78

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

----oOo----

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

79

Chương 7 : MÔ HÌNH QUAN HỆ
(THE RELATIONAL MODEL)

I

MOÂ HÌNH QUAN HEÄ LAØ GÌ 1 Quan heä (relation)

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

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

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

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

80

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

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

81

1003 1007 1012

tuï ñieän tuï ñieän tuï ñieän

1000 ufd 2200 ufd 3300 ufd

22 22 22

Baûng 3.4a - Quan heä khoâng ñaït daïng chuaån 1

0.68 1.24 1.08 0.83 1.52 1.32 1.27 1.69 1.47

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 4 Khoùa ngoaïi (foreign key)

82

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

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

Giáo trình Phân tích thiết Kế Hệ Thống Oån ñònh Duy nhaát Nhoû nhaát

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

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

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

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

84

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

Giáo trình Phân tích thiết Kế Hệ Thống IV QUI TAÉC BIEÁN ÑOÅI MOÂ HÌNH ER THAØNH MOÂ HÌNH QUAN HEÄ

85

THIEÁT KEÁ HEÄ THOÁNG
(SYSTEMS DESIGN)

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

(SYSTEMS IMPLEMENTATION AND OPERATION)

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

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

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

86

Moái keát hôïp moät-nhieàu  Chuyeån khoùa chính töø beân moät sang beân nhieàu.

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

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

Giáo trình Phân tích thiết Kế Hệ Thống + 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

87

 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â hình maõ hoïc ER vieân maõ moân ghi danh teân hoïc hoïc HOÏC MOÂN vaøo vieân teân moân ñöôïc ghi danh VIEÂN HOÏC ñòa chæ hoïc bôûi ngaøy sinh thôøi löôïng soá ñieän Moâ hình quan thoaïi heä HOÏC VIEÂN(maõ hoïc vieân, teân hoïc vieân, ñòa chæ, ngaøy sinh, soá ñieän thoaïi) MOÂN HOÏC(maõ moân hoïc, teân moân hoïc, thôøi löôïng) HOÏC VIEÂN MOÂN HOÏC(maõ hoïc vieân, maõ moân hoïc)
Hình 3.11 - Moâ hình ER vaø moâ hình quan heä cuûa vaán ñeà Tröôøng cao ñaúng coäng ñoàng nuùi xanh khoâng coù thuoäc tính ngaøy nhaäp hoïc

3 Toùm taét caùc qui taéc bieán ñoåi
DÖÕ LIEÄU YEÂU CAÀU

PHAÂN TÍCH
MOÂ HÌNH DÖÕ LIEÄU

THIEÁT KEÁ

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. QT 4: Theå hieän moái quan heä thoâng qua khoùa ngoaïi: 1 : 1 Chuyeån khoùa chính töø quan heä 1 sang quan heä 2 hay ngöôïc laïi. 1 :M Chuyeån khoùa chính töø beân moät sang beân nhieàu. M:M Taïo quan heä toaøn khoùa

QUAN HEÄ DÖÏ TUYEÅN

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

V

BAØI TAÄP 1 Baøi taäp 1

Ñoái vôùi vaán ñeà sau ñaây haõy: • (a) xaây döïng moâ hình ER • (b) ñeà xuaát veà thuoäc tính nhaän dieän vaø thuoäc tính moâ taû moät caùch thích hôïp.

Giáo trình Phân tích thiết Kế Hệ Thống • • (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à.

88

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

----oOo----

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

89

Chương 8 : PHÂN TÍCH DỮ LIỆU VÀ YÊU CẦU CHỨC NĂNG
(DATA ANALYSIS AND FUNCTIONAL REQUIREMENTS)

I

GIÔÙI THIEÄU 1 Hoaït ñoäng kieåm tra yeâu caàu chöùc naêng

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

THIEÁT KEÁ HEÄ THOÁNG
(SYSTEMS DESIGN)

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

(SYSTEMS IMPLEMENTATION AND OPERATION)

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

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

Giáo trình Phân tích thiết Kế Hệ Thống II NGUOÀN DÖÕ LIEÄU 1 Caùc phöông phaùp thu thaäp thoâng tin

90

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

CUNG ÖÙNG VVP QUOÁC GIA

1.50 Phí giao haøng: 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
Mieãn phí giao haøng cho ñôn haøng coù giaù trò treân 50.00

Tröôùc khi phaân tích maãu bieåu, ta coù nhaän xeùt sau:  teân maãu bieåu coù theå gioáng teân taäp thöïc theå nhöng chuùng hoaøn toaøn khaùc nhau nhö: taäp thöïc theå HOÙA ÑÔN vaø maãu bieåu hoùa ñôn  phaân tích maãu bieåu ñeå nhaän dieän taäp thöïc theå, moái töông quan giöõa chuùng vaø thuoäc tính cuûa vaán ñeà.  Moät maãu bieåu thöôøng coù caùc thoâng tin in saün maø chuùng ta khoâng caàn quan taâm trong vieäc xaây döïng moâ hình döõ lieäu.  maãu bieåu chöùa thuoäc tính cuûa nhieàu taäp thöïc theå. Phaân tích Töø maãu ñôn ñaët haøng ta ruùt ra nhöõng ñieàu sau: 1. Thoâng tin in saün treân ñôn ñaët haøng: + Teân coâng ty, ñòa chæ vaø ñieän thoaïi lieân heä

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

91

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

Giáo trình Phân tích thiết Kế Hệ Thống III KIEÅM TRA YEÂU CAÀU CHÖÙC NAÊNG 1 Nguyeân taéc chung

92

 Moãi baûng trong moâ hình caàn phaûi kieåm tra 4 chöùc naêng CRUD (create, retrieve, update, delete/archive) sau: o Theâm môùi maãu tin vaøo baûng: chuù yù tröôùc khi theâm giaù trò cho khoùa ngoaïi phaûi theâm giaù trò cuûa khoùa chính töông öùng tröôùc (theâm beân moät roài theâm beân nhieàu). o Khai thaùc maãu tin: khi khai thaùc ta coù theå keát noái thoâng tin thoâng qua caùc vuøng (thöôøng khoùa chính vaø khoùa ngoaïi). Keát quaû cuûa vieäc khai thaùc cho hieän leân maøn hình hay in ra baùo caùo. o Söûa döõ lieäu: tröôøng hôïp söûa döõ lieäu treân vuøng khoùa ta phaûi chuù yù raøng buoäc phuï thuoäc toàn taïi o Xoùa: löu roài xoùa.  Moâ hình ER duøng ñeå kieåm tra chöùc naêng phaûi coù thuoäc tính vaø khoùa ngoaïi.  Kieåm tra caùc chöùc naêng nhaèm muïc ñích phaùt hieän nhöõng thieáu soùt trong moâ hình döõ lieäu. 2 Ví duï: Moâ hình döõ lieäu treân coù caùc yeâu caàu chöùc naêng sau: 1. Theâm ñôn haøng môùi. 2. Lieät keâ ñôn haøng vaø teân coâng ty ñaët ñôn haøng ñoù. 3. Söûa teân khaùch haøng cuûa moät ñôn haøng 4. Sao löu roài xoùa boû caùc ñôn haøng coù ngaøy ñaët haøng tröôùc moät ngaøy naøo ñoù. 5. In baùo caùo caùc ñôn haøng vaø teân coâng ty ñaët ñôn haøng ñoù theo thöù töï ngaøy ñôn haøng giaûm daàn. 6. Cho hieän maõhaøng, moâ taû cuûa caùc maët haøng cuûa moät khaùch haøng.

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

93

ngaøy ñôn haøng haøng ñöôïc ñaët coâng ty nhaän teân coâng ty ÑÔN KHAÙCH bôûi ngöôøi nhaän ñaë teân khaùch HAØNG HAØNG ñòa chæ nhaän t haøng thaønh phoá thuoäc ñòa chæ nhaän veà thaønh phoá bang nhaän bang maõ thö tín nhaän maõ thö tính chi phí giao haøng soá ñieän soá ñieän thoaïi thoaïi nhaän chöù maõñôn soá khaùch maõ haøng a haøng haøng ke moâ taû DOØNG soá thöù töï â MAËT HAØNG ñôn vò tính ÑÔN ñöôïc keâ maøu saéc HAØNG bôûi soá löôïng ñôn giaù hieän ñôn giaù haønh baùn HAØNG(soá ñôn haøng,ngaøy ñôn haøng, coâng ty nhaän,ngöôøi nhaän,ñòa chæ ÑÔN nhaän,thaønh phoá nhaän, bang nhaän,maõ thö tín nhaän,chi phí giao haøng,soá ñieän thoaïi nhaän, DOØNG ÑÔN)HAØNG(soá ñôn haøng,soá thöù töï soá löôïng,ñôn giaù baùn) MAËT HAØNG(maõ haøng,moâ taû ,ñôn vò tính,maøu saéc,ñôn giaù hieän haønh) KHAÙCH HAØNG(maõ khaùch haøng,teân coâng ty,teân khaùch haøng,ñòa chæ,thaønh phoá,bang,maõ thö tính,soá ñieän thoaïi) Hình 4.5 - Moâ hình ER vaø moâ hình quan heä coù khoùa ngoaïi

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

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

94

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

IV BAØI TAÄP 4.1 ÑOÀ GOÃ THUNG LUÕNG ÑÖÔØNG OÁNG HOÙA ÑÔN BAÙN HAØNG

Soá hoùa ñôn: 913-A36-01 Ngaøy hoùa ñôn: 11-10-2001

Baùn cho: Maõ khaùch haøng: 1273 Hoï teân: Contemporary Designs Ñòa chæ: 123 Oak Street

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

95

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

----oOo----

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

96

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

I

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

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

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

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

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

97

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

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

Moâ hình naøy dieãn taû 6 qui taéc quaûn lyù: + Moãi KHAÙCH HAØNG coù theå ñaët moät hay nhieàu ÑÔN HAØNG + Moãi ÑÔN HAØNG phaûi ñöôïc ñaët bôûi moät KHAÙCH HAØNG + Moãi ÑÔN HAØNG phaûi chöùa moät hay nhieàu DOØNG ÑÔN HAØNG + Moãi DOØNG ÑÔN HAØNG phaûi thuoäc veà moät ÑÔN HAØNG + Moãi DOØNG ÑÔN HAØNG phaûi keâ moät MAËT HAØNG + Moãi MAËT HAØNG coù theå ñöôïc keâ bôûi moät hay nhieàu DOØNG ÑÔN HAØNG Phieáu moái keát hôïp cuûa moâ hình treân coù daïng sau:
Taäp thöïc theå 1 KHAÙCH HAØNG Tính baét buoäc Coù theå Quan heä Ñaët Baûn soá Khoâng hay nhieàu Taäp thöïc theå 2 ÑÔN HAØNG

Giáo trình Phân tích thiết Kế Hệ Thống
ÑÔN HAØNG ÑÔN HAØNG DOØNG ÑÔN HAØNG DOØNG ÑÔN HAØNG HAØNG Phaûi Phaûi Phaûi Phaûi Coù theå Ñöôïc ñaët bôûi chöùa Thuoäc veà keâ Ñöôïc keâ bôûi Moät Moät hay nhieàu Moät moät Khoâng hay nhieàu KHAÙCH HAØNG DOØNG ÑÔN HAØNG ÑÔN HAØNG HAØNG DOØNG ÑÔN HAØNG

98

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

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

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

Ñeå giaûi quyeát vaán ñeà, ngöôøi ta phaûi söû duïng moät giaù trò ñaëc bieät treân khoùa ngoaïi. Ta haõy xem caùch giaûi quyeát qua hai ví duï sau: 1 Quan heä moät-nhieàu Ví du:ï Coâng ty TNHH Daàu khí Ngoaøi khôi hieän coù caùc döï aùn khoan thaêm doø ñaõ trieån khai vaøo caùc thôøi ñieåm tröôùc ñaây. Moãi döï aùn ñöôïc nhaän dieän thoâng qua maõ döï aùn. Thoâng tin caàn löu tröõ veà döï aùn goàm teân döï aùn, vò trí thaêm doø, kinh phí. Khi ñang trieån khai, döï aùn coù theå coù moät hay nhieàu nhaân vieân tham gia nhöng khi döï aùn chöa trieån khai thì döï aùn khoâng caàn söï tham gia cuûa baát kyø nhaân vieân naøo. Moät nhaân vieân coù theå tham gia vaøo moät döï aùn vaø cuõng coù theå khoâng. Taïi moät thôøi ñieåm, moät nhaân vieân chæ tham gia vaøo moät döï aùn (giaû söû ta chæ quan taâm ñeán döï aùn hieän taïi). Ñoái vôùi moãi nhaân vieân, coâng ty caàn ghi nhôù maõ nhaân vieân, teân nhaân vieân, ngaøy tham gia vaøo döï aùn. ñöôïc tham gia bôûi DÖÏ AÙN NHAÂN VIEÂN maõ nhaân tham gia vieân vaøo maõ döï aùn teân nhaân teân döï aùn vieân vò trí thaêm ngaøy tham doø gia kinh phí 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:
maõ nhaân vieân 001 002 003 004 005 006 007 008 NHAÂN VIEÂN teân nhaân vieân ngaøy tham gia Helga Carmen Carlos Fritz Mirek Ted Mario Jane DÖÏ AÙN maõ döï aùn DA1 DA3 DA3 DA0 DA3 DA2 DA0 DA2 maõ döï aùn DA0 DA1 DA2 DA3 DA4 teân döï aùn . Caáp döôõng vaø haäu caàn Thieát keá thieát bò khoan Coâng trình beä khoan Coâng trìn ñöôøng oáng . vò trí thaêm doø . kinh phí

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Ø HOÀ maõ hoà BÔI thuoäc maõ bôi veà nhaø loaïi hoà loaïi bôi nhaø chieàu ñòa chæ daøi Hình 5.9 - Moâ hình ER cuûa vaán nhaø giaù trò 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 HOÀ BÔI Maõ hoà bôi H00 H01 …. …. … Chieàu daøi 0 50

NHAØ Maõ nhaø Maõ hoà bôi N01 ….. H01 N02 … H00 Nhaø N02 khoâng coù hoà bôi. H00 laø giaù trò ñaëc bieät 3 Quan heä nhieàu-nhieàu

Giả sử vấn đề của trường Cao đẳng Cộng đồng Núi Xanh nhà trường không quan tâm đến ngày nhập học của học viên. Ta có mô hình sau:
Moâ hình ER 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 Ñöôïc ghi danh bôûi Ghi danh vaøo MOÂN HOÏC maõ moân hoïc teân moân hoïc thôøi löôïng

Moâ hình quan heä HOÏC VIEÂN (maõ hoïc vieân, teân hoïc vieân, ñòa chæ, ngaøy sinh, soá ñieän thoaïi) MOÂN HOÏC (maõ moân hoïc, teân moân hoïc, thôøi löôïng) PHIEÁU GHI DANH (maõ hoïc vieân, maõ moân hoïc,)

HOÏC VIEÂN MOÂN HOÏC HOCVIENMON HOC Maõ hv …. Maõ mh …… Maõ hv Maõ mh 99001 ….. MH01 …. 99001 MH01 99002 …. MH02 99001 MH02 99003 …. 99003 MH01 Hoïc vieân 99002 khoâng ghi danh vaøo moân hoïc neân khoâng xuaát hieän trong quan heä HOCVIENMONHOC. Tính khoâng baét buoäc khoâng aûnh höôûng ñeán baûn soá nhieàu cuûa moái keát hôïp

Giáo trình Phân tích thiết Kế Hệ Thống 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

101

V

BAØI TAÄP 1 Baøi taäp 5.1

FBNA laø haõng haøng khoâng phuïc vuï vaän chuyeån haønh khaùch ñeán 15 ñòa ñieåm khaùc nhau. Moät soá ñòa ñieåm ñöôïc phuïc vuï thöôøng xuyeân coøn moät soá ñöôïc phuïc vuï theo muøa. Moãi chuyeán bay cuûa FBNA ñeàu phaûi bay theo moät tuyeán bay nhaát ñònh. Ngaøy khôûi haønh, giôø khôûi haønh, giôø ñeán cuûa caùc chuyeán bay phaûi ñöôïc ghi nhaän. Thoâng tin veà tuyeán bay coù maõ tuyeán bay, giôø khôûi haønh, thôøi gian bay, nôi bay ñi vaø nôi bay ñeán. Caùc phi coâng coù theå bay treân caùc chuyeán bay khaùc nhau nhöng hieån nhieân ôû moãi thôøi ñieåm chæ coù theå bay treân moät chuyeán bay. Moãi chuyeán bay phaûi coù toái thieåu moät phi coâng nhöng moät phi coâng khoâng phaûi luùc naøo cuõng laøm nhieäm vuï phi coâng chính cuûa chuyeán bay. Hoï teân, ñòa chæ, ñieän thoaïi lieân laïc cuûa phi coâng phaûi ñöôïc löu tröõ. ÔÛ moãi chuyeán bay, chi tieát veà haønh khaùch phaûi ñöôïc ghi nhaän nhö teân, ñòa chæ, ñieän thoaïi lieân laïc vaø troïng löôïng haønh lyù. Haõy thöïc hieän caùc yeâu caàu sau: (a) Xaây döïng moâ hình ER. Söû duïng moâ hình thöïc theå theå hieän ôû nôi thích hôïp (b) Chuyeån moâ hình ER thaønh moâ hình quan heä. (c) Laäp phieáu moái keát hôïp. 2 Traéc nghieäm 2.1) Based on the ER-diagram, which of the following are true?

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

102

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

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

A) Total A/Total B

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

103

----oOo----

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

104

Chương 10 : TẬP THỰC THỂ CHA VÀ TẬP THỰC THỂ CON
(SUPERTYPES AND SUBTYPES)

I

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

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

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

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

105

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

II

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

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

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

106

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

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

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

107

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

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

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

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

108

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

Giáo trình Phân tích thiết Kế Hệ Thống 6 Caùc tính chaát cuûa taäp thöïc theå cha/con

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

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

Giáo trình Phân tích thiết Kế Hệ Thống o Thôøi gian ñaùp öùng cuûa heä thoáng. o Khaû naêng löu tröõ cuûa heä thoáng o Soá löôïng thuoäc tính rieâng cuûa taäp thöïc theå con o Khaû naêng thay ñoåi caáu truùc cuûa csdl. Trong thöïc haønh, caùch 1 hay ñöôïc choïn 8 Moâ hình hoùa caùc taäp con giao nhau baèng vai troø

111

Phoøng Thöông Maïi. Vaên phoøng chính phuû DOT coù traùch nhieäm theo doõi caùc ñôn vò xuaáp nhaäp khaåu, mong muoán thieát laäp moät csdl theo doõi chi tieát veà caùc coâng ty naøy. Veà moâ hình döõ lieäu, coâng ty nhaäp khaåu vaø coâng ty xuaát khaåu raát gioáng nhau vì chuùng coù nhieàu thuoäc tính chung vaø chi tieát khaùc bieät thì khoâng quan troïng.

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

Moâ hình treân ñöôïc hình thaønh theo caùc qui taéc sau:

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

112

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

V

BAØI TAÄP 6.1

Ñoâi khi, maùy bay daân söï ñöôïc pheùp hoaït ñoäng trong caên cöù khoâng quaân. Vieân syõ quan chæ huy caên cöù khoâng quaân phía taây baéc meänh leänh phaûi ghi nhôù taát caû maùy bay daân söï cuõng nhö quaân söï hoaït ñoäng trong caên cöù. Thoâng tin veà naêm saûn xuaát maùy bay phaûi ñöôïc ghi nhaän. Mỗi chuyến bay ñược thực hiện bởi một máy bay. Ñaëc bieät, chi tieát veà phi coâng (hoï teân, ñòa chæ, soá ñieän thoaïi), giôø khôûi haønh, giôø keát thuùc phaûi ñöôïc ghi nhôù trong caùc chuyeán bay. Moät phi coâng coù theå laùi treân caùc chuyeán bay khaùc nhau vaø moät chuyeán bay coù theå ñöôïc laùi bôûi moät phi coâng chính vaø moät phi coâng phuï. Ñoái vôùi maùy bay daân söï, vieân syõ quan chæ huy raát quan taâm ñeán soá löôïng gheá ngoài cuûa maùy bay, coøn ñoái vôùi maùy bay quaân söï hoï laïi quan taâm ñeán troïng taûi cuûa maùy bay. Maùy bay quaân söï coù theå ñöôïc trang bò nhieàu loaïi vuõ khí khaùc nhau. Moãi loaïi vuõ khí phaûi coù moät teân. Moãi vuõ khí thuoäc moät loïai vuõ khí ñöôïc phaân bieät baèng soá seâ ri vaø coù ghi ngaøy saûn xuaát. Thôøi ñieåm laép ñaët moät vuõ khí treân maùy bay phaûi ñöôïc ghi nhaän. Cuøng moät vuõ khí coù theå ñöôïc laép ñaët cho nhieàu maùy bay ôû caùc thôøi ñieåm khaùc nhau. Haõy thöïc hieän caùc yeâu caàu sau: (a) Xaây döïng moâ hình ER. (b) Chuyeån moâ hình ER thaønh moâ hình quan heä. Thieát keá phaàn xöû lyù thoâng tin ñaùp öùng laïi söï kieän laép ñaët vuõ khí cho maùy bay quaân söï.

----oOo----

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

113

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

I

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

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

Ngoaøi moâ hình treân, vaán ñeà naøy coù theå coù hai daïng moâ hình sau:
maõ ngöôøi laùi xe teân NGÖÔØI LAÙI XE ñòa chæ ngaøy sinh maõ baèng laùi loaïi baèng laùi ngaøy heát haïn BAÈNG LAÙI maõ baèng laùi loaïi baèng laùi ngaøy heát haïn maõ ngöôøi laùi xe teân ñòa chæ 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 III MOÁI KEÁT HÔÏP HAY THUOÄC TÍNH

115

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

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

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

116

V

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

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

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

117

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

naêng teân kyõ naêng

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

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

Giáo trình Phân tích thiết Kế Hệ Thống 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.

118

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

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

Giáo trình Phân tích thiết Kế Hệ Thống
giaùo vieân laøm coá vaán GIAÙO VIEÂN maõ giaùo vieân teân giaùo vieân giaùo vieân chòu söï coá vaán laøm coá vaán cho GIAÙO VIEÂN maõ giaùo vieân teân giaùo vieân

119

chòu söï coá vaán bôûi

GIAÙO VIEÂN maõ giaùo vieân teân giaùo vieân Hình 7.12 - Moâ hình ER cuûa Tröôøng coâng ñoàng chu toaøn

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

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

Giáo trình Phân tích thiết Kế Hệ Thống 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.

120

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

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

Giáo trình Phân tích thiết Kế Hệ Thống 09 04 03 VII BAØI TAÄP 1 Baøi 7.1 04 01 01 3 2 100

121

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

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

122

Trong quaù trình thöïc hieän ñôït giao haøng, moät coâng nhaân coù theå laøm ôû nhieàu coâng ñoaïn khaùc nhau trong moät chuyeàn. Trong moãi coâng ñoaïn coù nhieàu coâng nhaân tham gia laøm vieäc. Moãi coâng nhaân laøm vieäc trong moät coâng ñoaïn seõ ñöôïc chaám coâng theo soá löôïng hoaøn thaønh. Haøng ngaøy, keá toaùn phaûi nhaäp baûng chaám coâng do caùc ban ñieàu haønh caùc chuyeàn gôûi veà. Baûng chaám coâng cho bieát soá löôïng töøng coâng ñoaïn cuûa töøng ñôït giao haøng maø coâng nhaân thöïc hieän trong ngaøy. Haøng thaùng, doanh nghieäp traû löông cho coâng nhaân 2 kyø: kyø öùng vaø kyø cuoái thaùng. Möùc löông öùng ñöôïc nhaân vieân keá toaùn xaùc ñònh (baèng moät nöûa möùc thu nhaäp haøng thaùng). Kyø öùng ñöôïc phaùt vaøo ngaøy 20 moãi thaùng. Cuoái thaùng, keá toaùn phaûi tính vaø laäp baûng löông theo töøng phoøng ban, töøng chuyeàn (ñeå phaùt). Yeâu caàu: (a) Xaây döïng moâ hình ER cho vaán ñeà treân. (b) Chuyeån moâ hình ER thaønh moâ hình quan heä. (c) Thieát keá phaàn xöû lyù nhaäp baûng chaám coâng vaøo cuoái ngaøy.

----oOo----

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

123

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

I

GIÔÙI THIEÄU

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

THIEÁT KEÁ HEÄ THOÁNG
(SYSTEMS DESIGN)

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

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

II

PHUÏ THUOÄC HAØM (FUNCTIONAL DEPENDENCY) 1 Phuï thuoäc haøm

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

Giáo trình Phân tích thiết Kế Hệ Thống
Moâ hình ER ghi nhaän ñaøo co HOÏC BIEÂN taïo veà maõ hoïc thuoäc ù VIEÂN NHAÄN ñöôïc ghi nhaän ñaøo maõ hoïc vieân vieân veà taïo bôûi maõ moân teân hoïc hoïc vieân ngaøy nhaäp ñòa chæ hoïc ngaøy sinh soá ñieän Moâ thoaïiquan hình 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, teân moân hoïc, MOÂN HOÏC (maõ

124

MOÂN HOÏC maõ moân hoïc teân moân hoïc thôøi löôïng

thôøi löôïng) BIEÂN NHAÄN ( , , ngaøy nhaäp hoïc) Hình 3.10 - Moâ hình ER vaø moâ hình quan heä cuûa vaán ñeà Tröôøng Cao Ñaúng Coäng Ñoàng Nuùi Xanh

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

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

125

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

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

126

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

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

CÖÛA HAØNG(maõ cöûa haøng, teân cöûa haøng) TOÀN KHO (maõ cöûa haøng, maõ haøng, löôïng toàn)

Giáo trình Phân tích thiết Kế Hệ Thống 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

127

Löôïc ñoà quan heä Q = CÖÛA HAØNG (maõ cöûa haøng, teân cöûa haøng, maõ haøng, moâ taû maët haøng, maõ nhaø cung caáp, teân nhaø cung caáp, ñòa chæ, löôïng toàn, ñôn giaù) coù taäp phuï thuoäc haøm: F = {maõ cöûa haøng  teân cöûa haøng; maõ cöûa haøng, maõ haøng  löôïng toàn; maõ haøng  moâ taû maët haøng, ñôn giaù, maõ nhaø cung caáp, teân nhaø cung caáp, ñòa chæ; maõ nhaø cung caáp  teân nhaø cung caáp, ñòa chæ } TN = {maõ cöûa haøng, maõ haøng} TG = {maõ nhaø cung caáp} Xi laø taäp con cuûa taäp TG: Xi  TNXi maõ cöûa haøng, maõ haøng maõ nhaø cung caáp maõ cöûa haøng, maõ haøng, maõ nhaø cung caáp (TNXi)+ Q+ Q+ Sieâu khoùa Khoùa maõ cöûa haøng, maõ cöûa haøng, maõ haøng maõ haøng maõ cöûa haøng, maõ haøng, maõ nhaø cung caáp

F={maõ cöûa haøng -> teân cöûa haøng; maõ cöûa haøng, maõ haøng -> löôïng toàn; maõ haøng -> moâ taû maët haøng, ñôn giaù, maõ nhaø cung caáp, teân nhaø cung caáp, ñòa chæ; maõ nhaø cung caáp -> teân nhaø cung caáp, ñòa chæ} Q={maõ cöûa haøng, teân cöûa haøng, maõ haøng, moâ taû maët haøng,....} K = {maõ cöûa haøng, maõ haøng } F1 ={maõ cöûa haøng -> teân cöûa haøng} CÖÛA HAØNG ={maõ cöûa haøng, teân cöûa haøng} K1 = {maõ cöûa haøng} F1 ={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æ} Q2 ={maõ cöûa haøng, maõ haøng, moâ taû maët haøng,....} K2 = {maõ cöûa haøng, maõ haøng } F4 ={maõ cöûa haøng, maõ haøng -> löôïng toàn} Q4 ={maõ cöûa haøng, maõ haøng, moâ taû maët haøng,....} K4 = {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 caáp, ñòa chæ, ...} Q3 ={maõ cöûa haøng, maõ haøng, moâ taû maët haøng,....} K3 = {maõ haøng}

F6 ={maõ nhaø cung caáp -> teân nhaø cung caáp, ñòa chæ} F5 ={maõ haøng -> moâ taû maët haøng,ñôn giaù, maõ nhaø cung caáp} 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æ} K6 = {maõ nhaø cung caáp} K5 = {maõ haøng }

V

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

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

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

128

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

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

Böôùc 5: Aùp duïng caùc qui taéc bieán ñoåi ôû chöông 3 ñeå chuyeån moâ hình ER thaønh moâ hình quan heä CÖÛA HAØNG(maõ cöûa haøng, teân cöûa haøng) MAËT HAØNG (maõ haøng, moâ taû maët haøng, maõ nhaø cung caáp, ñôn giaù) TOÀN KHO (maõ cöûa haøng, maõ haøng, löôïng toàn) NHAØ CUNG CAÁP (maõ nhaø cung caáp, teân nhaø cung caáp, ñòa chæ) Böôùc 6: Aùp duïng caùc qui taéc chuaån hoùa ñeå ñöa caùc quan heä ôû böôùc 5 veà daïng chuaån ba. VI BAØI TAÄP 1 10.1 Töø baûng döõ lieäu sau, haõy xaây döïng moät quan heä khoâng chuaån roài chuaån hoùa noù ñaït chuaån 1, chuaån 2 cuoái cuøng laø chuaån 3. Söû duïng caùc qui taéc quaûn lyù maø baïn luaän ra töø baûng döõ lieäu. Neáu ñöôïc haõy phaùt bieåu moät vaøi ñieàu raøng buoäc giaû ñònh.
Maõ soá
202 296 328 419 790 987 1290 1333 5693 6785

Maõ NCC
L02 SCI C03 F11 L02 M01 AS1 L02 C03 T07

Nhaø CC
Lincoln Schoettel Colchester Fluke Lincoln Mitutoyo Allstar Lincoln Colchester Tektronics

Moâ taû
Welder 400 Amp Deepwater Barge Lathe 1500 BC Multimeter Welder 400 Amp Micrometer Satcom 2000 Welder 300 Amp Lathe 1800BC Oscilloscope

Maõ cöûa haøng
FAB PEH MEC ELE FAB MEC PEH MEC MEC ELE

Cöûa haøng
Fabrication Shop P&e Hire Mechanical Shop Electrical Shop Fabrication Shop Mechanical Shop P&E Hire Mechanical Shop Mechanical Shop Electrical Shop

Giaù khôûi ñieåm
2760 221000 8750 430 2760 440 7200 2440 9900 5700

Tæ suaát
20% 10% 10% 20% 20% 5% 30% 15% 10% 10%

Giaù trò
552 22100 875 86 552 22 2160 366 990 570

Maõ ñòa dieåm
WE VI KW BE WE KW TH KW KW BE

Ñòa ñieåm
Welshpool Varanus 1s Kewdale Belmont Welshpool Kewdale Thailand Kewdale Kewdale Belmont

Giáo trình Phân tích thiết Kế Hệ Thống
6788 L02 Lincoln Welder 400 Amp PEH P&E Hire 2760 20 552 KW

129
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 nhieäm
TR SR TR T

Maõ maùy bay
003 007 009 026

Maõ loaïi maùy bay
C130 UH-1 C130 A331B

Caáu taïo maùy bay
Hercules Iroquois Hercules Macchi

Dòch vuï phuïc vuï
Transport SAR Transport Trainer

Maõ nhaø cheá taïo
LO BE LO AM

Teân nhaø cheá taïo
Lockheed Bell Lockheed AerMacchi

Nöôùc
USA USA USA Italy

Maõ cô sôû
RI PE RI PE

Teân cô sôû
Richmond Pearce Richmond Pearce

Bang
NSW WA NSW WA

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

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

130

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

----oOo----

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

131

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

132

CÁC TRƯỜNG HỢP NGHIÊN CỨU
(CASE STUDIES)

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

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

133

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

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

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

134

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

Doaïn 12 Ñoaïn naøy cho ta phaàn moâ hình ER sau:
maõ sinh vieân teân sinh vieân ñòa chæ soá ñieän thoaïi nhaø ñieän thoaïi cô quan phaùi ngaøy sinh

maõ giaûng vieân teân giaûng vieân loaïi giaûng vieân

SINH VIEÂN
thuoäc veà

GIAÛNG VIEÂN
ñöôïc giaûng bôûi

coù

giaûng keâ ñöôïc keâ bôûi

ÑIEÅM CHUÛ ÑEÀ
maõ sinh vieân maõ chuû ñeà daïy loaïi ghi danh ñieåm soá

LÒCH CHUÛ ÑEÀ

keâ daïy ñöôïc keâ daïy bôûi

CHUÛ ÑEÀ
maõ chuû ñeà teân chuû ñeà

maõ lòch chuû ñeà ngaøy baét ñaàu ngaøy keát thuùc ngaøy daïy trong tuaàn giôø baét ñaàu thôøi löôïng soá phoøng

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

135

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

ñö ôï c

vaøo

da

ïy

anh

bô ûi

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.

ghi d

da ïy

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

136

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

HOÙA ÑÔN BAÙN HAØNG
Hoï teân khaùch haøng: Phaïm Ngoïc Lan Ñòa chæ: 54 Lyù Chính Thaéng Dieãn giaûi: Baùn cho khaùch STT 1 2 Teân haøng hoùa Söõa taém Dove Daàu goäi LifeBuoy Soá: 001256 Ngaøy: 10/01/2001

Ñôn vò tính Chai Chai

Soá löôïng 30 20

Ñôn giaù 21.000 15.000 Coäng: Thueá GTGT(10%): Toång coäng:

Thaønh tieàn 630.000 300.000 930.000 93.000 1.023.000

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

Nguyeãn Vaên Laäp Yeâu caàu: 1/ Xaây döïng moâ hình ER (taäp thöïc theå keát hôïp) cuûa vaán ñeà treân. 2/ Chuyeån moâ hình ER thaønh moâ hình quan heä. 3/ Thieát keá phaàn xöû lyù söï kieän khaùch ñeán mua haøng. 2 Baøi taäp 2 (Vaät tö) Doanh nghieäp saûn xuaát bao bì Mai Lan toå chöùc heä thoáng keá toaùn vaät tö nhö sau: Doanh nghieäp coù nhieàu kho chöùa vaät tö. Thoâng tin veà kho goàm: maõ kho (duy nhaát), teân kho, ñòa chæ, soá ñieän thoaïi. Doanh nghieäp coù nhieàu vaät tö. Thoâng tin veà vaät tö goàm: maõ vaät tö (duy nhaát), teân vaät tö , qui caùch, ñôn vò tính, soá toái thieåu phaûi toàn kho. Caùc vaät tö ñöôïc chia thaønh töøng nhoùm vaät tö. Thoâng tin veà nhoùm vaät tö goàm: maõ nhoùm, teân nhoùm. Moät vaät tö chæ thuoäc veà moät nhoùm. Moãi hoaït ñoäng nhaäp xuaát vaät tö ñöôïc tieán haønh baèng chöùng töø nhaäp/xuaát vaät tö (xem maãu) vôùi soá phieáu coù tính duy nhaát trong caû hai loïai phieáu nhaäp vaø xuaát. Doanh nghieäp nhaäp vaät tö töø nhieàu nhaø cung caáp. Moãi chöùng töø nhaäp kho chæ nhaäp caùc vaät tö cuûa moät nhaø cung caáp vaø nhaäp vaøo moät kho cuûa doanh nghieäp. Doanh nghieäp quan taâm caùc thoâng tin maõ nhaø cung caáp, teân nhaø cung caáp, ñòa chæ nhaø cung caáp. Coâng ty saûn xuaát bao bì Mai Lan COÄNG HOØA XAÕ HOÄI CHUÛ NGHÓA VIEÄT NAM Ñoäc laäp – Töï do – Haïnh phuùc

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

137

Soá phieáu: 0015/NK Teân nhaø cung caáp: Ñòa chæ nhaø cung caáp: Kho nhaäp: Chöùng töø keøm theo: STT 1 2 MVT 120065 121149 Ngöôøi laäp TEÂN VAÄT TÖ Xaêng A92 Môõ boø ñaëc chuûng

PHIEÁU NHAÄP KHO

Ngaøy: 03/09/01 Coâng ty vaät tö Anh Minh 125 Nguyeãn Vaên Troãi Kho chính Coâng vaên soá 45/KH SOÁ LÖÔÏNG 1.000 10 Thuû kho ÑÔN GIAÙ 4.000 50.000 THAØNH TIEÀN 4.000.000 500.000 Keá toaùn tröôûng

ÑVT Kg Kg

Nguyeãn Vaên Sôn Coâng ty saûn xuaát bao bì Mai Lan

Traàn Vaên Thuû

Laâm vaên Keá

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 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 1 2 MVT 121141 121150 Ngöôøi laäp TEÂN VAÄT TÖ Ron maùy Nhôùt Toång coäng ÑVT Boä Lít SOÁ LÖÔÏNG 3 2 Thuû kho Ngaøy: 10/01/2001

ÑÔN GIAÙ 25.000 40.000

THAØNH TIEÀN 75.000 80.000 155.000 Keá toaùn tröôûng

Nguyeãn Vaên Sôn

Traàn vaên Thuû

Laâm vaên Keá

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

Giáo trình Phân tích thiết Kế Hệ Thống 3 Baøi taäp 3 (Moâ hình TSCÑ) Doanh nghieäp saûn xuaát, xaây döïng Hoøa bình toå chöùc keá toaùn TSCÑ (höõu hình) nhö sau:

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. 4 Baøi taäp 4 (Löông) Doanh nghieäp Sao Mai laø doanh nghieäp saûn xuaát. Doanh nghieäp coù nhieàu phaân xöôûng saûn xuaát. Thoâng tin veà phaân xöôûng goàm: maõ phaân xöôûng, teân phaân xöôûng. Doanh nghieäp coù nhieàu ñôn vò chia laøm hai loaïi: tröïc tieáp saûn xuaát vaø giaùn tieáp. Moãi phaân xöôûng saûn xuaát coù theå coù nhieàu ñôn vò. Nhöng moãi ñôn vò chæ thuoäc moät phaân xöôûng hay khoâng thuoäc phaân xöôûng naøo. Thoâng tin veà ñôn vò coù maõ ñôn vò, teân ñôn vò, soá taøi khoaûn chi phí. Doanh nghieäp coù nhieàu nhaân vieân, chia laøm hai loaïi, tröïc tieáp saûn xuaát vaø giaùn tieáp. Moãi nhaân vieân chæ laøm ôû moät ñôn vò, moãi ñôn vò coù theå coù nhieàu nhaân vieân. Thoâng tin chung veà moät nhaân vieân goàm coù: maõ nhaân vieân, hoï teân nhaân vieân, ngaøy sinh, ñòa chæ, ngaøy vaøo laøm vieäc. Ñoái vôùi nhaân vieân tröïc tieáp saûn xuaát coøn coù theâm thoâng tin: chöùc vuï, heä soá löông coøn nhaân vieân giaùn tieáp coù möùc löông. Nhaân vieân tröïc tieáp laøm theo ca, nhaân vieân giaùn tieáp khoâng laøm theo ca. Ca 1 vaø ca 2 ñieåm coâng laø 1, ca 3 ñieåm coâng laø 1.5. Nghæ vieäc khoâng lyù do seõ bò chaám ñieåm 0. Neáu nghæ vieäc coù lyù do seõ ñöôïc chaám tuøy theo phaàn traêm löông seõ ñöôïc höôûng. Coù hai möùc: nghæ höôûng 70% löông vaø nghæ höôûng 50% löông.

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

139

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

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

140

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

----oOo----

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

141

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

PHẦN THAM KHẢO

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
Khách hàng Mã khách hàng Ngày đơn hàng D2 Khaùch haøng 1.1 Kiểm tra mã khách hàng Mã khách hàng D3 Ñôn haøng 1.3 Tạo số đơn hàng

142

Tên khách hàng+ Địa chỉ+ Số điện thoại 1.2 Thêm khách hàng D1 D4 Maët haøng

Đơn hàng Mã hàng + số lượng

Mã khách hàng mới Mã khách hàng

Doøng ñôn haøng 1.4 nhập chi tiết đơn hàng

Số đơn hàng

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

(laø thoâng tin kích (noäi dung xöû hoaït heä thoáng laøm kích hoaït heä lyù cuûa phaàn heä cho heä thoáng nhaän thoáng ) thoáng khi söï bieát söï kieän xaûy ra) kieän xaûy ra) Baûng söï kieän

Kích hoaït

Nguoàn phaùt sinh (laø taùc nhaân

Hoaït ñoäng

(thoâng tin keát xuaát bôûi phaàn heä thoáng xöû lyù söï kieän)

Keát xuaát

(laø taùc nhaân nhaän thoâng tin keát xuaát cuûa heä thoáng)

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

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

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

9 Böôùc 3: Laäp sô ñoà DFD caáp 0 Sô ñoà caáp 0 ñöôïc laäp caên cöù vaøo baûng söï kieän. Töø baûng söï kieän ta coù theå xaùc ñònh ñöôïc: - caùc taùc nhaân cuûa sô ñoà. - caùc oâ xöû lyù vaø chöùc naêng xöû lyù - caùc doøng döõ lieäu, kho döõ lieäu vaø moái lieân quan ñöôïc xaùc ñònh thoâng qua chöùc naêng xöû lyù. Ví duï moät phaàn cuûa sô ñoà caáp 0 cuûa vaán ñeà quản lyù ñôn haøng nhö sau:

Giáo trình Phân tích thiết Kế Hệ Thống
3 Caäp nhaät maët haøng D2 Khaùch haøng Đơn hàng Khaùch haøng Thông tin về khách hàng+ hàng mua Thoâng tin maët haøng 1 Thêm Đơn hàng D3 Ñôn haøng D4 Doøng ñôn haøng 2 Caäp nhaät maët haøng 4 Tạo báo cáo trị giá hàng bán D4 Doøng ñôn haøng D1 Maët haøng D3 Ñôn haøng

144

Thông tin về khách hàng

BOÄ PHAÄN QUAÛN LYÙ

Chỉ tiêu báo cáo Báo cáo trị giá hàng báng

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

Sô ñoà DFD ôû möùc thaáp nhaát (tröôùc giai ñoaïn thieát keá xöû lyù chi tieát) ñöôïc goïi laø sô ñoà DFD goác (primitive Data Flow Diagram)

Giáo trình Phân tích thiết Kế Hệ Thống IX TÖØ ÑIEÅN DÖÏ AÙN 1 Khaùi nieäm

145

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

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

Maãu moâ taû phaàn töû caáu truùc döõ lieäu Ñeå moâ taû phaàn töû caáu truùc döõ lieäu ta coù theå söû duïng caùc kyù hieäu sau:  “=” bao goàm  “+” vaø  “{}” nhoùm laëp laïi  “[ ]” Hoaëc  “( )” Tuøy choïn MAÃU MOÂ TAÛ CAÁU TRUÙC DÖÕ LIEÄU soá ñôn haøng + ngaøy ñôn haøng +

Ñôn haøng =

Giáo trình Phân tích thiết Kế Hệ Thống maõ khaùch haøng + hoï teân khaùch haøng + ñòa chæ khaùch haøng + soá ñieän thoïai + (thueá suaát ) + toång giaù trò ñôn haøng + {chi tieát ñôn haøng} hoï + (teân loùt) + teân soá thöù töï + maõ haøng + moâ taû + ñôn vò tính + soá löôïng ñaët + ñôn giaù + thaønh tieàn MAÃU MOÂ TAÛ DOØNG DÖÕ LIEÄU Maõ nhaän dieän: Teân: Thoâng tin Ñôn haøng Moâ taû: Chöùa thoâng tin khaùch ñaët haøng vaø ñöôïc duøng ñeå caäp nhaät kho döõ lieäu khaùch haøng, maët haøng, ñôn haøng vaø doøng ñôn haøng

146

hoï teân khaùch haøng

chi tieát ñôn haøng

Maãu moâ taû doøng döõ lieäu

Nguoàn: Taùc nhaân khaùch haøng Loïai doøng döõ lieäu:  Taäp tin  Maønh hình

Ñích: OÂ xöû lyù Caäp nhaät ñôn haøng  Baùo bieåu  Bieåu maãu  Khaùc

Caáu truùc döõ lieäu: Ñôn haøng Taàn suaát: 100/ngaøy Ghi chuù: Thoâng tin ñôn haøng coù theå gôûi ñeán phoøng xöû lyù ñôn haøng baèng ñöôøng thö tín, qua maùy Fax, ñieän thoïai. Maãu moâ taû kho döõ lieäu MAÃU MOÂ TAÛ KHO DÖÕ LIEÄU D1 Maõ nhaän dieän Khaùch haøng Teân Teân khaùc Chöùa moãi maãu tin cho moät khaùch haøng Moâ taû Tính chaát Loïai taäp tin  Maùy tính  Thuû coâng  Cô sôû döõ lieäu  Chæ muïc  Tuaàn töï  Tröïc tieáp Daïng taäp tin 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 Soá löôïng maãu tin: möùc cao 46,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ù: möùc bình quaân: 42,000

147

----oOo----

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

148

TAØI LIEÄU THAM KHAÛO
[1] Phân Tích Thiết Kế Hệ Thống Thông Tin Nguyễn Văn Vị [2]. Practical Data Modelling for Database Design Renzo D’Orazio & Gunter Happel [3]. Essentials of Systems Analysis & Design Valacich, George, Hoffer [4]. System Analysis and Design in a Changing World John W.Satzinger, Robert B.Jakson, Stephen D.Burd – Thomson Learning.

----oOo----

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

149

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

150

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

151

Baøi taäp 9.1

ER diagram item # description supply belong to VENDORBIDDER account # name address phone # card # paid deposit

ITEM

auction # reserve deposit

AUCTION

BIDDER’S CARD

LOT auction # lot# reserve price sale price

ITEM(item#, description,lot#,account#) VENDOR-BIDDER(account#, name,address,phone#) AUCTION(auction #, reserve deposit) BIDDER’S CARD(card #, paid deposit,auction#,account#) LOT(lot#, reserve price, sale price,car#) SELECT [bidder’s card].account#, name,lot#,sale price FROM (vendor-bidder JOIN [bidder’s card] ON bidder’s card.account#=vendor-bidder.account#) JOIN lot ON bidder’s card.card# = lot.card# WHERE sale price > 0

Giáo trình Phân tích thiết Kế Hệ Thống
LÖÔNG ÖÙNG coù thuoäc veà maõ nhaân vieân thaùng naêm soá ngaøy coâng maõ phoøng ban teân phoøng ban maõ chuyeàn teân chuyeàn COÂNG GIAÙN TIEÁP NHAÂN VIEÂN maõ nhaân vieân hoï teân ngaøy sinh ñòa chæ ngaøy vaøo laøm maõ nhaân vieân ñôn giaù coâng maõ nhaân vieân vaên baèng maõ nhaân vieân thaùng naêm möùc öùng

152

PHOØNG BAN

NHAÂN VIEÂN GIAÙN TIEÁP COÂNG NHAÂN

CHUYEÀN giao cho

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

ñöôïc keâ

ñöôïc keâ bôûi

giao hoaøn thaønh maõ saûn phaåm teân saûn phaåm SAÛN PHAÅM

keâ COÂNG ÑOAÏN

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

153

Söï kieän

Kích hoaït

Nguoàn sinh

phaùt

Hoaït ñoäng

Keát xuaát

Ñích ñeán

Khaùch haøng ñeán thueâ baêng ñóa Khaùch haøng traû baêng ñóa ....

baêng ñóa caàn thueâ baêng ñóa traû ....

khaùch haøng khaùch haøng ...

Caäp nhaät thoâng baêng ñóa tin thueâ cho thueâ kieåm tra baêng ñóa traû ... ...

khaùch haøng khaùch haøng ...

154

ALBUM BOÄ VÔÛ BAÊNG ÑÓA NGÖÔØI GIAO DÒCH THUEÂ CHI TIEÁT THUEÂ KHAÙCH HAØNG

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

Giáo trình Phân tích thiết Kế Hệ Thống
maõ chuyeán bay giôø khôûi haønh giôø keát thuùc CHUYEÁN BAY coù thuoäc veà NHIEÄM VUÏ BAY giöõ maõ phi coâng maõ chuyeán bay nhieäm vuï

155

thöïc hieän

ñöôïc thöïc hieän bôûi maõ maùy bay naêm saûn xuaát maõ maùy bay soá löôïng gheá maõ maùy bay troïng taûi MAÙY BAY MAÙY BAY DAÂN SÖÏ MAÙY BAY QUAÂN SÖÏ coù

ñöôïc thöïc hieän bôûi PHI COÂNG maõ phi coâng hoï teân ñòa chæ soá ñieän thoaïi maõ maùy bay soá seâ-ri thôøi ñieåm

VUÕ KHÍ TRANG BÒ trôû thaønh thuoäc veà

thuoäc veà maõ loaïi mb teân loaïi mb LOAÏI MAÙY BAY

VUÕ KHÍ coù thuoäc veà LOAÏI VUÕ KHÍ

soá seâ-ri ngaøy saûn xuaát

maõ loaïi vk teân loaïi vk

maõ loïai teân loïai

LOÏAI PHIEÁU
thuoäc veà coù

PHIEÁU NHAÄP XUAÁT
maõ ncc teân ncc ñòa chæ ncc

soá phieáu ngaøy soá phieáu chöùng töø keøm theo ñöôïc chöùa trong

NHAØ CUNG CAÁP

PHIEÁU NHAÄP

chöùa

CHI TIEÁT NHAÄP XUAÁT

maõ thieát bò teân thieát bò

THIEÁT BÒ

PHIEÁU XUAÁT

soá phieáu lyù do xuaát

soá phieáu soá thöù töï soá löôïng ñôn giaù

ñöôïc keâ bôûi

ñöôïc keâ bôûi

nhaäp hay xuaát töø maõ kho teân kho ñòa chæ soá ñieän thoïai

maõ nhoùm teân nhoùm

keâ coù thuoäc veà maõ vaät tö teân vaät tö qui caùch ñôn vò tính toàn toái thieåu

KHO

NHOÙM

VAÄT TÖ

Giáo trình Phân tích thiết Kế Hệ Thống
maõ taøi saûn teân taøi saûn nguyeân giaù nguoàn goác xuaát xöù tæ leä khaáu hao ngaøy söû duïng thuoäc veà coù

156

maõ loïai teân loïai

LOÏAI TSCÑ

TSCÑ

quaûn lyù

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

ÑÔN VÒ
keâ chöùa

maõ ñôn vò teân ñôn vò

ñöôïc chöùa trong

QUYEÁT ÑÒNH
soá quyeát ñònh ngaøy quyeát ñònh hoï teân ngöôøi kyù

CHI TIEÁT QÑ
soá quyeát ñònh maõ taøi saûn ngaøy ñieàu chuyeån

ñöôïc keâ trong

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

157

MAÃU MOÂ TAÛ PHAÀN TÖÛ DÖÕ LIEÄU Maõ nhaän dieän Teân Teân khaùc Moâ taû

Maõ tænh

Laø thuoäc tính nhaän dieän tænh vôùi kyù töï ñaàu laø kyù töï ñaàu cuûa teân tænh thaønh phoá Tính chaát  Chöõ Chieàu daøi: 4 Ñònh daïng nhaäp: L000  Soá chöõ  Ngaøy Ñònh daïng xuaát:  Soá Giaù trò maëc nhieân:  Lieân tuïc  Rôøi raïc  Nhaäp  Tính toùan Ñieàu kieän raøng buoäc Lieân tuïc Giaù trò lôùn nhaát: 999 Giaù trò beù nhaát: 000 Rôøi raïc Giaù trò dieãn giaûi ............ ........................................................... ............ ........................................................... ........... .......................................................... MAÃU MOÂ TAÛ KHO DÖÕ LIEÄU Maõ nhaän dieän Teân Teân khaùc Moâ taû Loïai taäp tin Daïng taäp tin D3 Tænh thaønh phoá Chöùa moãi maãu tin cho moät tænh thaønh phoá Tính chaát  Maùy tính  Thuû coâng  Cô sôû döõ lieäu  Chæ muïc  Tuaàn töï 

Tröïc tieáp

Kích thöôùc maãu tin (kyù töï) : 54 Soá löôïng maãu tin: möùc cao 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ù:

Kích thöôùc khoái: 4,000 möùc bình quaân: 46

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

Giáo trình Phân tích thiết Kế Hệ Thống maãu tin tænh thaønh phoá = maõ tænh + teân tænh + soá daân

158

Xöû lyù 4.1 – Caäp nhaät tænh thaønh phoá Teân Form Thuoäc tính frmTinhThanhPho Record Source Default View Teân thuoäc tính Input Mask Control Source Control Source Format Control Source Format

Giaù trò SELECT maTinh, tenTinh, soDan FROM tinhThanhPhoTbl Datasheet Giaù trò L000;;_ maTinh tenTinh > soDan 0

Teân control maTinh tenTinh SoDan

Flowchart Entity relationship diagram

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

159

Trường ĐH Công nghiệp Tp HCM Khoa Công nghệ Thông tin

TIỂU LUẬN MÔN PHÂN TÍCH THIẾT KẾ HỆ THỐNG
Tiểu luận là tiêu chuẩn đánh giá kết quả học tập. Yêu cầu là thực hiện Phân tích và thiết kế một hệ thống thông tin quản lý. Các bạn chọn một trong các đề tài gợi ý dưới đây hoặc tự đưa ra đề tài. STT 1 2 3 4 5 6 7 8 9 10 11 12 Đề tài Hệ thống quản lý thư viện Hệ thống quản lý nhân sự tiền lương Hệ thống quản lý vật tư Hệ thống quản lý học sinh phổ thông Hệ thống quản lý sinh viên đại học Hệ thống quản lý tuyển sinh đại học Hệ thống quản lý công nợ cửa hàng Hệ thống quản lý khách sạn Hệ thống quản lý hồ sơ bệnh án bệnh viện Hệ thống quản lý trường mẫu giáo Hệ thống thông tin kế tóan Hệ thống quản lý phòng học của một trường Mô tả Quản lý sách, độc giả, tình hình mượn trả… Quản lý hồ sơ nhân sự, tiền lương, kết quả chấm công… Quản lý tình hình xuất nhập vật tư… Quản lý hồ sơ học sinh, kết quả học tập… Quản lý hồ sơ sinh viên, kết quả học tập… 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 cấp Quản lý phòng, khách thuê phòng… Quản lý hồ sơ, tình trạng của bệnh nhân… 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 quản lý các chứng từ thu chi, báo cáo các sổ sách kế tóan Quản lý được tình trạng của phòng học như phòng có tiện nghi gì, đang được sử dụng vào việc gì, thời gian nào …

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

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

Đặt vấn đề

o o

Mục đích Giới thiệu bài toán

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

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

160

o

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

o o 

Các ưu nhược điểm của hệ thống hiện tại Các yêu cầu đặt ra (yêu cầu chức năng) của hệ thống cần xây dựng

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

o o o o

Phiếu mô tả dữ liệu Phiếu mô tả công việc Bảng tổng hợp công việc Bảng tổng hợp hồ sơ tài liệu

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

Mô hình nghiệp vụ của hệ thống (phải có phần mô tả chức năng lá, ma trận thực thể chức năng)

Mô hình xử lý

o o o 

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

Logic tiến trình xử lý

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

    

Mô hình thực thể kết hợp Mô hình quan hệ Từ điển dữ liệu Kiểm tra yêu cầu chức năng (chương 8) Kiểm tra dạng chuẩn của mô hình quan hệ (chương 12)

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

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

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

  

Các phương thức cài đặt đầu vào Các hình thức đầu ra Các biểu mẫu giao diện trong chương trình (có hình ảnh)

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

Giáo trình Phân tích thiết Kế Hệ Thống
 
Yêu cầu phần cứng để cài đặt hệ thống Nhận xét về hiệu quả, độ chính xác của hệ thống

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

Sign up to vote on this title
UsefulNot useful