Giáo trình Phân tích và thiết kế hệ thống - PGS.TS. Phan Huy Khánh
Bạn đang xem 20 trang mẫu của tài liệu "Giáo trình Phân tích và thiết kế hệ thống - PGS.TS. Phan Huy Khánh", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
- giao_trinh_phan_tich_va_thiet_ke_he_thong_pgs_ts_phan_huy_kh.pdf
Nội dung text: Giáo trình Phân tích và thiết kế hệ thống - PGS.TS. Phan Huy Khánh
- ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA CÔNG NGHỆ THÔNG TIN GIÁO TRÌNH PPHHÂÂNN TTÍÍCCHH VVÀÀ TTHHIIẾẾTT KKẾẾ HHỆỆ TTHHỐỐNNGG PGS.TS. PHAN HUY KHÁNH $ $ $ $ $ $ $ $ $ $ $ ĐÀ NẴNG 8/2001 1
- MMởở đđầầuu Trong lĩnh vực ứng dụng công nghệ thông tin, nếu như trước đây không lâu, máy tính điện tử (MTĐT) còn đóng vai trò của người làm công (taskmaster) thì hiện nay, MTĐT đã trở thành công cụ (tool) cần thiết cho hầu hết các lĩnh vực hoạt động của một quốc gia. Trong tương lai không xa của thiên niên kỷ mới này, MTĐT sẽ trở thành người bạn đồng hành (companion) không thể thiếu của mỗi con người trong liên lạc, giao tiế p và việc làm hàng ngày. Ở Việt Nam, MTĐT, chủ yếu là máy vi tính (PC − Personal Computer) đã và đang xuất hiện ngày càng nhiều trong các xí nghiệp, doanh nghiệp, các cơ quan hành chính xã hội , ngày càng thâm nhập vào hầu khắp các mặt hoạt động của nền kinh tế quốc dân. Tuy nhiên, MTĐT chỉ mới phục vụ công việc văn phòng như soạn thảo văn bản là chính mà chưa thực sự đóng vai trò chủ đạo giúp con người trong các lĩnh vực quản lý, tự động hoá để tăng năng suất lao động. Một trong những nguyên nhân chính là Việt Nam còn thiếu rất nhiều những nhà phân tích (analyste). Đó là những chuyên gia tin học có thể phân tích (tìm hiểu, khảo sát ) sự hoạt động của các xí nghiệp, doanh nghiệp, các tổ chức hành chính xã hội để thiết kế các hệ thống Tin học phục vụ công tác quản lý trong mọi lĩnh vực. Môn học «Các phương pháp phân tích và thiết kế hệ thống thông tin » (Information Systems Analysis and Design Methods), hay gọn hơn, « Phân tích và thiết kế hệ thống », đóng vai trò quan trọng trong quá trình đào tạo những cán bộ phân tích nói trên. 2
- CHƯƠNG 1 Khái niệm về hệ thống thông tin quản lý I. Khái niệm về hệ thống I.1. Định nghĩa hệ thống Thuật ngữ hệ thống (system) là một khái niệm rộng và được định nghĩa rất nhiều cách khác nhau. Trong cuộc sống hàng ngày, con người tiếp xúc với những hiện tượng, những sự kiện, những hoạt động , tất cả đều nhắc tới, hoặc liên quan tới thuật ngữ hệ thống. Ví dụ : 1. Hệ thống nước sinh hoạt ở thành phố, hệ thống đi ện lưới, hệ thống dịch vụ mua bán hàng, hệ thống điện thoại, hệ thống nhà ở 2. Hệ thống xã hội, hệ thống tổ chức, hệ thống tư tưởng, hệ thống chính trị, hệ thống kinh tế, hệ thống xí nghiệp, hệ thống đường sắt 3. Hệ thống thiên nhiên, hệ thống thần kinh, hệ thống triết học, hệ thống máy tính, hệ thống thông tin Có nhiều định nghĩa về hệ thống : Từ điển Tiếng Việt 1997 định nghĩa hệ thống : Tập hợp nhiều yếu tố, đơn vị cùng loại hoặc cùng chức năng, có quan hệ hoặc liên hệ với nhau chặt chẽ, làm thành một thể thống nhất Tập hợp những tư tưởng, những nguyên tắc, quy tắc liên kết với nhau một cách logic, làm thành một thể thống nhất Từ điển Larousse 1995 định nghĩa hệ thống là : Tập hợp có thứ tự của những tư tưởng khoa học hay triết học Tập hợp các cơ quan hay các cấu tạo có cùng bản chất cùng chức năng Tập hợp các thành phần được xác định bởi những quan hệ qua lại giữa chúng V.v Tuy nhiên, định nghĩa hệ thống như một tập hợp các phần tử tác động qua lại lẫn nhau là phổ biến nhất Hệ thống còn bao hàm ý nghĩa về kế hoạch, phương pháp, tổ chức các đối tượng một cách có trật tự để tạo thành một chỉnh thể. Với mỗi hệ thống, một tính chất vượt trội lên tất cả được gọi là “tính trồi” (emergence) mà khi một phần tử nào đó đứng riêng sẽ không thể có được. Tính trồi là một trong những hình thức biểu hiện của nguyên lý biện chứng : “những sự thay đổi về lượng dẫn đến những sự thay đổi về chất”. Như vậy đối nghịch với hệ thống là sự hỗn loạn (chaos), là trạng thái mà mọi phần tử không tuân theo một quy luật nào. Một cách tổng quát : 3
- Hệ thống là tập hợp các phần tử hay đối tượng (M) trên đó thực hiện một hay nhiều quan hệ (R) cho trước với những tính chất (P) nhất định. Từ định nghĩa sau, có thể phân loại hệ thống theo nhiều cách khác nhau theo tính chất P, các quan hệ R và các đối tượng M. I.2. Tính chất của hệ thống Một hệ thống thường có ba tính chất cơ bản : Tính chất 1 : Mối quan hệ giữa các phần tử có tính tác động qua lại ảnh hưởng với nhau Tính chất 2 : Mọi sự thay đổi về lượng hay vế chất của một phần tử nào đó đều làm ảnh hưởng tới phần tử khác của hệ thống. Ngược lại, mọi sự thay đổi về lượng hay vế chất của hệ thống đều có thể làm ảnh hưởng đến các phần tử của hệ thống đó Tính chất 3 : Khi sắp xếp các phần tử của hệ thống theo một cách nào đó, hệ thống sẽ có tính trồi, đó là khả năng mà một phần tử đứng riêng sẽ không thể tạo ra được I.3. Các thành phần cơ bản của hệ thống Một hệ thống có thể được biểu diễn bởi nhiều thành phần, gồm : 1. Các phần tử 2. Môi trường của hệ thống 3. Các đầu vào và đầu ra 4. Trạng thái và hành vi 5. Cấu trúc 6. Mục tiêu Hình dưới đây mô tả các thành phần của một hệ thống. Môi trường Trạng thái, hành vi Cấu trúc của hệ thống Quá trình biến đổi Đầu vào Đầu ra Mục tiêu Phần tử Hình 1.1 Các thành phần của hệ thống 2
- a) Phần tử của hệ thống Phần tử là thành phần nhỏ nhất, có tính độc lập tương đối. Mỗi phần tử đều có những thuộc tính riêng và có thể được biểu diễn bởi một biến số (hay đại lượng biến thiên). Để hiểu về một hệ thống cần phải biết trạng thái của các phần tử và mối liên hệ giữa chúng. b) Môi trường của hệ thống Môi trường của hệ thống là những gì nằm ngoài hệ thống nhưng liên quan đến việc thực hiện mục tiêu của hệ thống. Giữa hệ thống và môi trường có các tác động tương hỗ và những ranh giới. Nghiên cứu hệ thống kèm theo việc nghiên cứu môi trường. Những yếu tố bất lợi của môi trường làm ảnh hưởng đến việc thực hiện mục tiêu của hệ thống được gọi là nhiễu. c) Đầu vào và đầu ra của hệ thống Đầu vào là bất kỳ những gi mà môi trường có thể tác động vào hệ thống. Đầu ra là bất kỳ những gi mà hệ thống có thể tác động trở lại môi trường. Để làm tăng hiệu quả hoạt động của hệ thống, cần thoả mãn ba yếu tố : Chọn đầu vào và đầu ra hợp lý trong những điều kiện cụ thể Thời gian biến đổi đầu vào thành đầu ra hợp lý Hình thức hay phương pháp biến đổi hợp lý d) Tr ạng thái của hệ thống Giả sử các phần tử của hệ thống được biểu diễn bởi các biến q1, q2, , qn, và hệ thống được biểu diễn bởi vectơ Q : Q = (q1, q2, , qn) Các biến qi, i = 1 n, thay đổi theo thới gian : qi = qi (t) Khi đó trạng thái của hệ thống được biểu diễn bởi giá trị Q là bộ giá trị của các biến tại một thời điểm t : Q(t) = (q1(t), q2(t), , qn(t)) Tại thời điểm t = 0 là trạng thái ban đầu của hệ thống. Khi t biến thiên, vectơ hàm Q(t) xác định quỹ đạo hành vi của hệ thống. Nếu tồn tại một số biến không thay đổi, hay thay đổi không đáng kể trong khoảng thới gian đang xét, thì những biến đó được gọi là các tham số của hệ thống và được ký hiệu bởi một vectơ : a = (a 1, a 2, , a k) Khi đó, quỹ đạo hành vi của hệ thống Q là vectơ hàm hai biến Q = Q(a, t). I.3.2.Hành vi của hệ thống Hành vi của hệ thống là tập hợp các đầu ra có thể của hệ thống trong một khoảng thới gian xác định. Khi hệ thống là đóng, có nghĩa hệ thống tách biệt với môi trường bên ngoài, các phần tử không biến đổi theo thới gian, khi đó hành vi của hệ thống được xác định bởi trạng thái ban đầu. Hành vi của hệ thống sẽ thay đổi khi các phần tử và mối liên hệ giữa chúng thay đổi, khi đó vectơ hàm Q(t) được xác định như sau : Q(t) = f(Q(0), a, t) Bây giờ xét tác động qua lại giữa hệ thống và môi trường, gọi X(t) là các biến đầu vào theo thới gian, hành vi của hệ thống được mô tả bởi hệ thức : 3
- Q(t) = y(Q(0), X(t), a) Trạng thái của đầu ra được mô tả bởi hệ thức : Y(t) = F(Q(0), X(t), a) Trong đó X = (X1, X2, , Xn) là biến đầu vào, Y = (Y1, Y2, , Ym) là biến đầu ra. I.3.3.Mục tiêu của hệ thống Là trạng thái mong đợi, cần đạt được của hệ thống sau một khoảng thới gian hoặc tại một thời điểm mhất định nào đó. Bên trong hệ thống, mỗi phần tử cũng có mục tiêu riêng. Những mục tiêu riêng có thể thống nhất hoặc không thống nhất với mục tiêu chung của hệ thống. I.3.4.Cấu trúc của hệ thống Cấu trúc là yếu tố bất biến của hệ thống, liên quan đến hình thức tổ chức hệ thống. Đó là cách sắp đặt bố trí hay ghép các phần tử và cách xác định mối quan hệ giữa chúng theo một dấu hiệu hay tiêu chuẩn nào đó. Có nhiều cách tổ chức hệ thống khác nhau. Về cơ bản, có 3 cách ghép là ghép nối tiếp, ghép song song và ghép có mối liên hệ ngược. a) Ghép nối tiếp Ghép nối tiếp là đầu vào của phần tử này là đầu ra của phần tử kia và ngược lại. 1 2 1 2 Hình 1.2 Ghép nối tiếp các phần tử Phương pháp ghép nối tiếp đơn giản, rõ ràng nhưng độ tin cậy kém. Khi số lượng phần tử tăng lên thì độ tin cậy giảm xuống. Hệ thống chỉ làm việc tốt khi tất cả các phần tử đềulàm việc tốt. b) Ghép song song Là cách ghép mà đầu vào của một phần hay toàn bộ các phần tử cùng chung một biến số vào mà đầu ra của chúng lại là đầu vào của một phần hay nhiều phần tử khác của hệ thống. 4
- 1 3 2 1 N N-1 Hình 1 .3 Ghép song song các phần tử Phương pháp ghép song song có độ tin cậy cao vì hệ thống chỉ ngừng trệ khi toàn bộ các phần tử ngừng trệ. Tuy nhiên cách ghép nối này làm tăng mối quan hệ cho nên tính phức tạp của hệ thống cũng tăng lên. c) Ghép có mối liên hệ ngược Ghép có mối liên hệ ngược là một dạng kết hợp các phần tử. Trong cách ghép này, đầu ra của một phần tử lại có thể là đầu vào của chính phần tử đó, được thực hiện trực tiếp hay thông qua những phần tử khác của hệ thống. N3 1 2 Hình 1.4 Ghép có mối liên hệ ngược Liên hệ ngược dương làm tăng thêm tác động tích cực của đầu vào, trái lại, liên hệ ngược âm sẽ làm giảm tính tích cực của đầu vào. I.4. Phân loại hệ thống Lý thuyết hệ thống chia ra nhiều loại hệ thống như sau : 1. Hệ thống con hay phân hệ (hệ thống thứ yếu) 2. Hệ thống lớn 3. Hệ thống đóng và hệ thống mở 4. Hệ thống tĩnh và hệ thống động 5. Hệ thống trừu tượng và hệ thống cụ thể 6. Hệ thống bảo trì trạng thái 7. Hệ thống có chủ định 8. Những hệ thống tìm kiếm mục tiêu đa dạng 5
- I.5. Nghiên cứu lý thuyết hệ thống I.5.1.Lý thuyết tổng quát về hệ thống Lý thuyết tổng quát tiếp cận hệ thống bởi 9 mức độ hay trình độ tăng dần theo độ phức tạp và tính trừu tượng hoá. Mức 1 Là mức tĩnh, mức của những nền tảng. Sự nghiên cứu chính xác mức này là cơ sở của các mức sau cao hơn. Mức 2 Là mức của hệ thống đơn giản bằng cách xem những đối tượng tĩnh là động, giống như cơ cấu hoạt động của đồng hồ. Mức 3 Hệ thống được đua vào các cơ chế kiểm soát hay điều khiển giống như cơ chế của máy điều hoà nhiệt độ. Lúc này hệ thống không có tính chất quân bình ổn định mà có sự chuyển giao và tiếp nhận của thông tin. Mức 4 Hệ thống được xem là mở và ở trạng thái bảo toàn, còn được gọi là trình độ của tế bào. Mức 5 Là trình độ xã hội phát sinh ở mức độ thực vật, có tính phát triển nhưng chưa có tính thực tiễn. Mức 6 Là trình độ thế giới động vật có đặc tính di động và khả năng tiếp nhận với sự hoạt động của hệ thống thần kinh. Mức 7 Là trình độ con người có ý thức, mang tính cá biệt. Mức độ này gắn liền với khả năng trao đổi ngôn ngữ và sử dụng ký hiệu, vượt lên khỏi giới động vật thuần tuý. Mức 8 Là trình độ tổ chức xã hội với sự hoạt động phong phú của khoa học nghệ thuật và tình cảm con người. Mức 9 Là trình độ của hệ thống tổ chức bậc cao, mang tính phát triển và thích nghi với môi trường. I.5.2. Quan điểm nghiên cứu hệ thống Nghiên cứu hệ thống phải dựa trên nền tảng khoa học, hiện thực và có hiệu quả. Đó là phải : Tôn trọng mối quan hệ biện chứng giữa vật chất và ý thức. Thừa nhận các hiện tượng luôn có sự tác động qua lại và chi phối lẫn nhau. Thừa nhận các sự vật luôn luôn biến đổi không ngừng. Các sự vật hiện tượng phát triển nhờ động lực nội tại của chúng. Người ta thường sử dụng 3 phương pháp : Phương pháp mô hình hoá. Phương pháp hộp đen. Phương pháp tiếp cận (phân tích). a) Phương pháp mô hình hoá Phương pháp này đòi hỏi phải biết cả ba yếu tố là đầu vào, đầu ra và cấu trúc của hệ thống. Ưu điểm là dễ thực hiện, thới gian nghiên cứu ngắn và chi phí thấp. Nhược điểm là dễ gây hiểu sai và ngộ nhận, từ đó dẫn đến bảo thủ và cố chấp. b) Phương pháp hộp đen 6
- Phương pháp được sử dụng khi biết đầu vào và đầu ra nhưng chưa biết cấu trúc bên trong của hệ thống. Quá trình nghiên cứu xác định mối quan hệ giữa đầu vào và đầu ra để tìm ra những quy luật hoạt động hay những cấu trúc hành vi của hệ thống. Các bước nghiên cứu như sau : Quan sát những yếu tố đầu vào X và ghi nhận những yếu tố của đầu ra Y. Từ các cặp trạng thái (X, Y) tìm ra những quy luật hay những cấu trúc có thể có của hệ thống. Tiến hành kiểm tra mặt thực tiễn của những cấu trúc giả định để từng bước hoàn thiện. Chỉnh lý sử đổi các kết quả, hoàn thiện cấu trúc và đem vào áp dụng thực tiễn. c) Phương pháp tiếp cận hay phân tích hệ thống Phương pháp được sử dụng khi không biết gì về hệ thống, chỉ biết được mục tiêu của hệ thống mà thôi. Người ta chia hệ thống ra thành các hệ thống con có mối liên hệ ràng buộc lẫn nhau, từ đó tìm ra quy luật hoạt động của các hệ thống con để khái quát lên thành quy luật hoạt động của cả hệ thống. Tư tưởng chủ đạo của phương pháp gồm 3 yếu tố : Cái gì cần khảo sát và nghiên cứu ? Phải giải quyết những vấn đề gì (phải làm thế nào ?) Hệ thống làm việc như thế nào ? Những đòi hỏi của phương pháp : Chọn lựa kỹ lưỡng tiêu chuẩn, cách thức phân chia hệ thống ban đầu thành các hệ thống con Chú ý tính trồi của hệ thống, không để làm lu mờ hoặc làm mất đi. Xác định rõ các mối quan hệ khi phân chia vì mỗi hệ thống con lại có thể tiếp tục được phân chia thành các phân hệ nhỏ hơn. Nghiên cứu hệ thống trong mối tương quan giữa hệ thống với môi trường theo quan điểm hệ thống là mở. Quan sát hệ thống dưới nhiều góc độ để tìm ra những khía cạnh khác nhau của cơ cấu và hành vi của hệ thống. Phương pháp phân tích hệ thống hay được sử dụng để nghiên cứu các hệ thống phức tạp. Để triển khai được phương pháp, đòi hỏi người phân tích phải có những trình độ hiểu biết và kiến thức nhất định, biết chủ động sáng tạo. 7
- II. Xí nghiệp và vai trò của xí nghiệp trong nền kinh tế II.1.Xí nghiệp và các tổ chức bên trong Trong quản lý kinh tế, các xí nghiệp (XN) là những đơn vị có cơ cấu cơ bản trong hệ thống sản xuất vật chất. Hoạt động hiệu quả của XN có vai trò thúc đẩy nhịp độ phát triển của nền kinh tế quốc dân. Sơ đồ tổng quát dưới đây thể hiện chu trình kinh tế của XN với một số tác nhân bên ngoài XN : Của cải và dịch vụ Thanh toán Thu nhập Hộ, cá nhân Của cải, dịch vụ Hưu, Xí nghiệp cho vay Thanh toán Thuế, Các cơ quan Tín dụng, gửi tiết kiệm đóng Tài chính Hưu, cho vay góp Tín dụng, gửi tiết kiệm Tín dụng công cộng Hưu, kinh phí Cơ quan Chính quyền Lương và phụ cấp xã hội Trợ cấp Thuế và đóng góp xã hội Hình 1.5 Chu trình kinh tế của xí nghiệp Các XN là những hệ thống được tổ chức sắp xếp theo đặc thù về chuyên môn kỹ thuật, công nghệ Cách tổ chức của XN quyết định phạm vi hoạt động, các mục tiêu và chức năng của XN, tạo ra cho nó tính tự quản về tổ chức trong một cơ cấu phân cấp (theo ngành, theo Bộ ). Các yếu tố sản xuất (chỗ làm việc, dây chuyền công nghệ, xưởng, phân xưởng ) và các yếu tố phụ trợ (kho tàng, phòng thí nghiệm ) được tổ chức theo những tiêu chuẩn riêng làm phong phú đa dạng hệ thống sản xuất nhưng cũng phản ánh tính đồng nhất của các XN. Đó là một mục tiêu và cùng nằm trong một cơ cấu quản lý. Những tác nhân bên ngoài của XN là các nhà thầu, các XN khác, các đại lý, cơ quan chính quyền, các cơ sở tài chính trung gian, các khách hàng trực tiếp tạo thành một môi trường của XN. Môi trường tác động tương hỗ với sự hoạt động bên trong của XN. Căn cứ vào sự hoạt động trao đổi này, mỗi XN đều có những quyết định mang tính chiến lược về sản xuất, tài chính, thương mại Thông thường, XN được tổ chức phân cấp theo chức năng sản xuất, kinh doanh hoặc vị trí địa lý thành các đơn vị, phòng ban, phân xưởng Các lĩnh vực quản lý (quản lý tài chính kế toán, quản lý thương mại, quản lý sản xuất ) được đặt lên phía trên của hệ thống các đơn vị này. Mỗi đơn vị lại được phân ra thành các bộ phận nhỏ hơn. Ví dụ phòng Kế toán-Tài chính có thể gồm các bộ phận kế toán công nợ, kế toán vật tư, kế toán tài sản cố định và thiết bị 8
- II.1.1.Liên hệ giữa xí nghiệp với môi trường XN tạo thành một hệ thống mở (open system) đối với môi trường. Các phần tử trong hệ thống (nguồn nhân lực, vật chất ) một mặt tương tác với nhau, một mặt tương tác với bên ngoài (cung ứng vật tư, buôn bán ). Các XN là những hệ thống sống và phát triển, vì vậy mặt động là cơ bản. Tập hợp gồm XN và môi trường tạo thành một siêu hệ thống (meta-system) được chỉ ra như hình dưới đây : Thanh toán Thanh toán chi phí Nhà cung cấp Ngân hàng Nguyên nhiên Dịch vụ liệu, dịch vụ tài chính Thanh toán Thanh toán Cơ quan Nhà gia Xí nghiệp Chính quyền công Bán thành phẩm Dịch vụ Sản phẩm Thanh toán Sản phẩm cuối cùng Thanh toán cuối cùng Thanh toán Khách hàng Đại lý Sản phẩm cuối cùng Hình 1.6 Xí nghiệp và môi trường kinh tế trực tiếp của xí nghiệp II.1.2.Phân tích các liên hệ với môi trường Mối liên hệ giữa XN và môi trường được biểu diễn bởi các dòng (flux). Các dòng đi từ bên ngoài vào XN và đi từ XN ra lại môi trường. Lại có các dòng tồn tại bên trong XN. Có 4 loại dòng : Dòng của cải (nguyên liệu, nhiên liệu, sản phẩm cuối cùng) Dòng dịch vụ (cho vay tiền, tư vấn, bảo trì ) Dòng tiền tệ (thanh toán với khách hàng hoặc với người cung cấp vật tư) Dòng thông tin (ghi chép, thông báo, quảng cáo ) Tập hợp các dòng xuất phát từ các quyết định của XN. Ví dụ : - Tiếp nhận nguyên vật liệu để sản xuất sau khi phòng Vật tư thảo đơn đặt hàng và được ban giám đốc thông qua. - Thanh toán khách hàng sau khi gửi sản phẩm + hoá đơn giao hàng, v.v Tập hợp các đơn vị trao đổi với nhau thông qua các dòng thông tin và dòng của cải vật chất nhằm đáp ứng các nhu cầu của XN. 9
- Bốn loại dòng nói trên được biểu diễn như sau : XÍ NGHIỆP Nguyên nhiên liệu Nguyên nhiên liệu Cung ứng vật tư Sản xuất Phiếu giao hàng Phiếu liên hệ nội bộ Công văn Phiếu giao hàng đã xác nhận thư tín Làm việc với Hoá đơn Sở Tài chính Kinh doanh Kế toán Hoá đơn cung cấp hàng cung cấp hàng cung cấp hàng Thanh toán Xác nhận sec, tiền mặt Tài khoản của Sở Tài chính Dòng phục vụ Tiền tệ + thông tin Dòng thông tin Dòng của cải vật chất Hình 1.7 Xí nghiệp liên hệ với môi trường bởi bốn loại dòng Sự tồn tại dòng của cải vật chất dẫn đến sự có mặt, ở đầu dòng và cuối dòng, các dòng thông tin hình thức hoặc phi hình thức. Ví dụ tại nhà máy bia-nước ngọt Đà nẵng, dòng vật chất là các loại chai do nhà máy thuỷ tinh Hoà khánh cung cấp, ta sẽ gặp những dòng thông tin sau : Không chính thức : trao đổi điện thoại hoặc bằng miệng Chính thức : thư, fax báo giá hoặc các phiếu đặt hàng, giao nhận hàng Nghiên cứu hoạt động của các dòng có vai trò quan trọng trong việc thể hiện cấu trúc ba hệ thống của XN : hệ thống quyết định, hệ thống tác nghiệp và hệ thống thông tin. II.2.Hệ thốnglà tổ chức xí nghiệp Sử dụng phương pháp của K.Boulding để tiếp cận hệ thống là tổ chức XN bằng cách khảo sát các loại dòng để lầm rõ các tương tác bên trong một hệ thống và tương tác của hệ thống với môi trường. Theo K.Boulding, có 9 mức để tiếp cận hệ thống : Mức 1 Bắt đầu, người ta xem xét một đối tượng nào đó như là tĩnh, độc lập với tất cả các đối tượng khác. Ví dụ : xem xét đối tượng là bia chai, giả sử có mã là 2453 trong danh mục các sản phẩm. Mức 2 Đối tượng được xem như là động, chẵng hạn đối tượng xuất hiện trong đơn đặt hàng của một đại lý nào đó. Mức 3 Người ta đưa vào các hiện tượng điều tiết : đơn đặt hàng chỉ được giải quyết đúng thời hạn khách hàng đề nghị nếu như kế hoạch sản xuất tại XN đảm bảo được. Mức 4 Xem xét các thông tin liên quan đến đối tượng. Ví dụ về tình trạng dự trữ trong kho hàng, về tính chất của khách hàng sẽ phục vụ (có giả tiền đúng kỳ hạn không, v.v ). 10
- Mức 5 Xuất hiện khái niệm quyết định và khái niệm ghi nhớ : đơn đặt hàng có được chấp nhận không ? Mức 6 Không thể quyết định một cách ngẫu nhiên, phải căn cứ tình hình thực tại cũng như trong quá khứ đã ghi nhớ. Mục đích là vừa đảm bảo tính kinh tế của XN, vừa làm hài lòng khách hàng. Mức 7 Giai đoạn làm rõ (xem hình dưới đây), gồm các yếu tố : • Cấu trúc ba hệ thống : hệ thống quyết định (decision system), hệ thống thông tin (information system) và hệ thống tác nghiệp (operation system). • Sự tương tác cần thiết giữa các hệ thống. • Tính quan trọng của hệ thống thông tin : Giữ thông tin của hai hệ thống kia và của môi trường. Băng truyền giữa hai hệ thống kia và của môi trường. Mức 8, 9 Tính đến sự phức tạp của hệ thống bằng cách xem xét : • Tính độc lập của quyết định : hệ thống quyết định được phân chia thành hệ thống mệnh lệnh và hệ thống tổ chức. • Khả năng của hệ thống quyết định đối với các dự án, tự điều chỉnh (khi kho nguyên liệu cạn đến mức báo động ). Ví dụ : Mức dự trữ nguyên liệu (men bia) đã cạn Kho đến mức báo động Phòng Kinh doanh Dự kiến khách hàng tiêu thụ nhiều bia trong tháng tới Phải mua nguyên liệu để nhập vào kho ngay Các thông tin khác về tình trạng sản xuất Thông tin của nơi cung cấp nguyên liệu Hệ thống tác nghiệp Hệ thống thông tin Hệ thống quyết định Hình 1.8 Tiếp cận và làm rõ cấu trúc ba hệ thống của xí nghiệp II.3.Ba hệ thống của một tổ chức xí nghiệp Người ta quan niệm XN được tạo thành từ ba hệ thống con : hệ thống tác nghiệp, hệ thống quyết định (hay hệ thống lãnh đạo) và hệ thống thông tin : Hệ thống Hệ thống Hệ thống quyết định thông tin tác nghiệp Hình 1.9 Cấu trúc ba hệ thống của xí nghiệp 11
- a) Hệ thống tác nghiệp Hệ thống tác nghiệp liên quan đến mọi hoạt động sản xuất, tìm kiếm khách hàng mới. nhằm đạt được mục tiêu do hệ thống quyết định đưa ra. Hệ thống tác nghiệp gồm các nhân lực và phương tiện (máy móc, thiết bị, dây chuyền công nghệ ) có tác động tương hỗ với nhau để đáp ứng mục tiêu. b) Hệ thống quyết định Hệ thống quyết định ảnh hưởng đến mọi hình thức quản lý XN, có tính chiến lược và tính chiến thuật. Tính chiến lược có tầm vực dài hạn hoặc trung hạn, thể hiện phương sách cải tiến sản xuất : thay đổi mẫu mã, nâng cao chất lượng nhưng lại hạ giá thành sản phẩm, tăng cường thị trường tiêu thụ của XN. Tính chiến thuật có tầm vực ngắn hạn, thể hiện ở các giải pháp tác nghiệp thường ngày, với mục đích nhằm thay đổi cách sử dụng thiết bị, nghiên cứu đáp ứng thị hiếu khách hàng, tiếp thị sản phẩm, v.v Hệ thống xí nghiệp Hệ thống quyết định Hệ thống Môi trường thông tin Hệ thống Dòng vật chất/dịch vụ tác nghiệp Hình 1. 10 Cách thể hiện khác c ấu trúc ba hệ thống của tổ chức XN c) Hệ thống thông tin (HT3) HT3 triển khai mối liên hệ giữa hệ thống tác nghiệp và hệ thống quyết định, đảm bảo sự hoạt động của XN và đạt được các mục tiêu đã đề ra. HT3 gồm các thành phần cơ bản sau đây : 1. Con người : Gồm những người sử dụng, người quản trị, người phát triển HT, v.v , là yếu tố quyết định và can thiệp vào mọi quá trình phân tích, thiết kế và khai thác HT3. 2. Dữ liệu : Dữ liệu là thành phần cơ bản thể hiện cách nhìn tĩnh của HT3. Có thể xem đó là những “bức ảnh tĩnh” về thông tin có mặt trong HT3 mà người ta có thể có “chụp” được ở một thời điểm nào đó. HT3 có chức năng thu nhận, hợp thức hoá, tổ chức lưu trữ, khai thác và phân phối sử dụng dữ liệu. 3. Quá trình xử lý : Quá trình xử lý thể hiện mặt động của HT3. Xử lý biến đổi liên tục một cách tự động hay thủ công các dữ liệu có mặt HT3. Dữ liệu đến từ môi trường, sau khi được xử lý sử dụng có thể trở lãi môi trường tạo thành các thông tin phục vụ sự hoạt động tác nghiệp của XN. HT3 Thông tin vào Thông tin ra Xử lý Hình 1.11 Xử lý thông tin 12
- Thiết bị và kỹ thuật : Là nguồn tài nguyên (phần cứng và phần mềm) cho phép tiến hành quá trình xử lý dữ liệu. Thực tế, do chi phí đầu tư cao (nhân công, thời gian đặt hàng, lắp đặt thiết bị, nối mạng ), nên cần phải quan tâm đúng mức khi ước lượng giá thành. Hiệu quả hoạt động của XN phụ thuộc vào chất lượng của HT3. III. Hệ thống thông tin quản lý (HTTTQL) III.1.Khái niệm HTTTQL HTTT nằm ở trung tâm của hệ thống tổ chức đang xét và là phần tử kích hoạt các quyết định (mệnh lệnh, chỉ thị, thông báo, chế độ tác nghiệp, v.v ). Do vai trò của HTTT trong lĩnh vực quản lý XN mà người ta nói đến HTTTQL (Management Information System). Một HTTTQL có thể được định nghĩa theo hai khía cạnh : Khía cạnh thông tin và phương tiện truyền thông tin : “Tập hợp các thông tin luân chuyển trong XN và tập hợp các phương tiện, các thủ tục tìm kiếm, nắm giữ, ghi nhớ và xử lý thông tin”. Khía cạnh mục đích chính đặt ra đối với XN : “Truyền đạt thông tin cho những người có liên quan (nhân viên) dưới dạng thích hợp và đúng đắn để đề ra quyết định hoặc cho phép thi hành một công việc. HTTTQL cũng được định nghĩa theo cách khác : Là một hệ thống tích hợp “người-máy” tạo ra thông tin giúp con người trong sản xuất, quản lý và ra quyết định. HTTTQL sử dụng các thiết bị tin học, các phần mềm, cơ sở dữ liệu, các mô hình phân tích, lập kế hoạch, kiểm tra và ra quyết định. HTTTQL được tiếp cận một cách tổng thể có logíc trong một đơn vị mà không thể được nhìn nhận theo quan niệm chỉ một người sử dụng. Mỗi người sử dụng có cách nhìn riêng của mình về HTTTQL, tùy thuộc vào chức trách mà họ đảm nhận, kinh nghiệm nghề nghiệp,v.v Chính vì vậy, HTTT của người sử dụng chỉ là một cái nhìn bộ phận trong thực tiễn. III.2.Cấu trúc của HTTTQL HTTTQL gồm 4 thành phần : các phân hệ hay hệ thống con (sub-systems), dữ liệu (data), mô hình (models) và các quy tắc quản lý (management rules). III.2.1.Các phân hệ a) Định nghĩa phân hệ Phân hệ hay còn gọi là lĩnh vực quản lý (management domain) nhóm các hoạt động có cùng một mục tiêu trong nội bộ một đơn vị, như sản xuất, kinh doanh, hành chính, kế toán, nghiên cứu Người ta phân biệt 4 mức sau : 1. Mức giao dịch : các hoạt động thường nhật của XN. 2. Mức tác nghiệp : một số hoạt động thường nhật có thể đưa đến những quyết định ban đầu. Ví dụ cần có biện pháp xử lý thích hợp khi gặp trường hợp nợ đáo hạn của khách hàng. 3. Mức chiến thuật : ứng với các hoạt động đôn đốc, kiểm tra. Ví dụ theo dõi quy cách tiếp thị của nhân viên sau khi giao nhiệm vụ cho họ. 4. Mức chiến lược : đôn đốc kiểm tra sản xuất kinh doanh để duy trì sự phát triển lâu dài của XN. 13
- Có cấu trúc giống hệ thống, phân hệ gồm một hệ thống tác nghiệp, một HTTT và một hệ thống quyết định như hình vẽ dưới đây (phần có gạch chéo). Hệ thống quyết định Hệ thống thông tin Môi trường Hệ thống tác nghiệp Hình 1.12 Lĩnh vực quản lý là một phân hệ Việc phân chia một hệ thống thông tin của một đơn vị thành các phân hệ cần tuân theo tính tổ chức và các quy tắc sau : Biểu diễn một hoạt động của đơn vị có mục tiêu xác định. Không dựa theo sự phân chia theo chức năng hoạt động của đơn vị tại một thời điểm nào đó, mà phải dựa trên tính hiệu quả và việc lựa chọn chiến thuật hay chiến lược. Không căn cứ vào các mối liên hệ phân cấp vì các mối liện hệ này không phải lúc nào cũng mô tả các tình huống quản lý hay sản xuất. Cần phân tích các dòng bên trong và bên ngoài trong quan hệ với môi trường. Để bảo đảm tính độc lập, phân hệ phải được xác định sao cho sự trao đổi thông tin với các lĩnh vực khác là tối thiểu. Ví dụ : Trong một XN, HTTT có thể gồm có các phân hệ : Quản lý vật tư Quản lý nguyên nhiên liệu Quản lý tài sản cố định Quản lý nhân sự - tiền lương Quản lý tài chính kế toán Quản lý tiêu thụ sản phẩm - công nợ khách hàng Quản lý công văn thư tín hành chính b) Sự phân chia thành các dự án và áp dụng Một phân hệ, nếu như là một tập hợp độc lập với các phân hệ khác, thì vẫn còn là một khái niệm tương đối rộng. Vì vậy, khi Tin học hóa, cần tiếp tục phân chia các phân hệ thành các thành phần nhỏ hơn. 14
- HìnhHỆ TH1.13Ố NGPhân THÔNG cấp phân TIN hệ C- ỦdựA án XÍ - NGHIáp dụngỆP Ví dụ : Phân hệ 1 Phân hệ 2 Phân hệ 3 Dự ánD ựQu ánả n1.1 lý tài chính kế toán có thDểự đượ án 2.1c phân chia thành các dự án : Kế toánAp tổng dụ nghợ p1.1.1 Ap dụng 2.1.1 Ap dụng 1.1.2 Ap dụng 2.1.2 Kế toán cung cấp (nguồn hàng) Ap dụng 2.1.3 Kế toánDự án khách 1.2 hàng Kế toán Apphân dụ ngtích 1.2.1 Dự án 2.2 Kế toán Apqu ảdnụ nglý 1.2.2 Ap dụng 2.2.1 Phân hệ Quản lý nhân sự tiền lương đượApc phândụng chia2.2.2 thành các dự án : QuảnD lýự ánlươ 1.3ng Quản lýAp lao d độụngng 1.3.1 Ap dụng 2.3.1 Quản lý đào tạo Quản lý nâng bậc Quản lý khen thưởng, v.v Như vậy, mỗi phân hệ, hay lĩnh vực quản lý, đã được phân chia thành các hoạt động riêng rẽ và được xem như là các dự án. Mỗi dự án lại có thể tiếp tục được phân chia thành các áp dụng để dễ dàng Tin học hóa. Ví dụ : Dự án Quản lý lương trong phân hệ Quản lý nhân sự tiền lương có thể được phân chia thành các áp dụng : Lương sản phẩm Lương thời gian (hành chính) Bảo hiểm xã hội Phụ cấp nghề nghiệp III.2.2.Dữ liệu Dữ liệu (data) là cơ sở của thông tin. Nói đến thông tin là nói đến dữ liệu. Dữ liệu nhận giá trị trong một miền xác định. Ví dụ : Khách hàng (có tên là) Đào, (có địa chỉ là) 17 Lê Duẩn Đà nẵng. Mặt hàng bia chai Tiger. Ngày đặt hàng là 15/11/1998, v.v Các dữ liệu trên đây mặc dù đã được cho giá trị cụ thể nhưng khó biết được mối liên hệ giữa như thế nào. Tuy nhiên, khi đặt chúng trong một mối liên hệ, người ta có được thông tin về yêu cầu đặt hàng của khách hàng. Ví dụ : Cô Đào ngụ ở 17 Lê Duẩn Đà nẵng đã đặt mua bia chai Tiger ngày 15/11/1998 Như vậy, khái niệm dữ liệu hẹp hơn khái niệm thông tin. Thông tin luôn mang ý nghĩa và gồm nhiều giá trị dữ liệu. 15
- Các dữ liệu có thể được biễu diễn dưới nhiều dạng khác nhau (chữ viết, lời nói ), thể hiện trên giấy (công văn, hóa đơn, thư, fax ) hoặc trên màn hình của máy vi tính, dễ hoặc khó sử dụng tùy theo tính chất hay hoàn cảnh thu nhận. Có ba loại dữ liệu tương ứng với ba tình huống hay gặp khi thu nhận dữ liệu là tình huống chắc chắn, tình huống ngẫu nhiên và tình huống chưa biết trước : Ví dụ : Dữ liệu chắc chắn : số ngày công của một công nhân trong tháng, thuế suất áp dụng cho một mặt hàng Dữ liệu có tính ngẫu nhiên hay chưa chắc chắn : doanh số dự báo theo phân tích thị trường, thuế suất sẽ áp dụng cho một mặt hàng mới nhập Dữ liệu chưa biết : rủi ro do các sự cố sản xuất, yếu tố con người III.2.3.Mô hình quản lý Mô hình quản lý bao gồm tập hợp các thủ tục, quy trình và phương pháp đặc thù cho mỗi phân hệ. Mô hình quản lý và dữ liệu luân chuyển trong phân hệ phục vụ các quy tắc quản lý. Chứng từ Sổ quý Sổ nhật ký Sổ kế toán chi tiết Nhật ký chung Bảng tổng hợp Sổ cái chi tiết Ghi hàng ngày Ghi hàng ngày hoặc định kỳ Đối chiếu Báo cáo kế toán chung Hình 1.14 Quy trình hạch toán kế toán Ví dụ : Kế hoạch lập báo cáo tài chính và các chế độ kế toán (chẳng hạn chế độ kế toán mới của Bộ Tài chính) trong phân hệ tài chính kế toán của công ty Xổ số Kiến thiết Đà nẵng. Quy trình sản xuất bia chai loại nhỏ sử dụng sản phẩm vỏ chai (theo dây chuyền thiết bị mới nhập của nhà máy thuỷ tinh) trong phân hệ quản lý sản xuất tại nhà máy bia-nước ngọt Đà nẵng. Chế đô quản lý nhập hàng và lưu kho trong phân hệ quản lý nhập cảng tại cảng Đà nẵng, v.v 16
- III.2.4.Quy tắc quản lý Quy tắc quản lý, hay công thức tính toán, cho phép biến đổi hoặc xử lý dữ liệu phục vụ cho mục tiêu đã xác định. Quy tắc quản lý PHÂN HỆ QL VT QL NS QL KT QL KH Chiến lược Chiến thuật Tác nghiệp MÔ Giao dịch HÌNH QUảN Dữ LIệU DL chuyên LÝ DL chung Giải thích : QL KD quản lý vật tư QL NS quản lý nhân sự QL SX quản lý kế toán QL HC quản lý khách hàng Hình 1.15 Mối liên hệ giữa các thành phần của HTTTQL Ví dụ : SL_tồn_cuối_kỳ = SL_tồn_đầu_kỳ + SL_nhập_trong_kỳ − SL_xuất_trong_kỳ Số_Tiền_Ttoán = Giá_Đơn_vị × Số_lượng Lương_Tgian = (Lương_CBản × Số_Ngày_công) / 26 Sau đây là hình ảnh về mối liên hệ giữa quy tắc quản lý, các phân hệ, dữ liệu và mô hình quản lý. III.3.Vai trò và chất lượng của HTTTQL HTTTQL phải có chức năng thu nhận, xử lý và phân phát thông tin đúng lúc đúng nơi nhận. Đồng thời HTTTQL phải được thiết kế sao cho XN quản lý tối ưu các nguồn thông tin. a) Các dạng thông tin HTTTQL thu nhận nhiều dạng thông tin khác nhau : Thông tin nói : là phương tiện liên lạc phổ biến giữa con người và giữa bất kỳ một tổ chức nào. Đặc trưng của thông tin nói là phi hình thức và rất khó xử lý bằng Tin học. Phương tiện liên lạc là điện thoại hoặc các máy móc nhận dạng tiếng nói. Thông tin viết : là nguồn dữ liệu chính của HTTTQL trong bất kỳ một XN nào. Thông tin hình ảnh : thu được từ các thông tin khác của hệ thống (chẳng hạn biểu đồ, đồ thị rút ra từ một bảng số liệu) hoặc từ các nguồn khác (ví dụ, ảnh chụp sản phẩm của hãng cạnh tranh, quảng cáo ). 17
- Thông tin nội tại : Thông tin bên ngoài : HTTTQL thu nhận lời nói, chữ viết, lời nói, chữ viết, hình ảnh hình ảnh Xử lý các dữ liệu thô (lọc, cấu trúc hoá) Thông tin đã cấu trúc Xử lý dữ liệu (áp dụng các quy tắc quản lý) Thông tin kết quả Phân phát NSD1 NSD2 NSD3 Hình 1.16 Chức năng thu nhận, xử lý và phân phát thông tin Các dạng thông tin khác : được cảm nhận từ vị giác, xúc giác, khứu giác và không xét trong HTTTQL, mặc dầu đôi khi chúng có vai trò quan trọng trong các ứng dụng công nghiệp. b) Thông tin có cấu trúc Giả sử rằng các thông tin vô ích hoặc có hại đã được loại bỏ thì những thông tin vừa được liệt kê ở trên là thành phân của HTTTQL của XN. Một số thông tin trong chúng có thể khai thác ngay để đưa ra một quyết định (lập kế hoạch sản xuất, cải tiến trang thiết bị ), một số khác dùng để xử lý sơ bộ hoặc thủ công, hoặc tự động (ví dụ, thông tin trên các phim ảnh quảng cáo, hoặc trên đĩa từ, đĩa quang : CD-ROM ) Việc xử lý tự động các thông tin chỉ có thể thực hiện được từ các dữ liệu có cấu trúc. Chính từ các thông tin có cấu trúc và sử dụng các quy tắc quản lý phù hợp (tính toán doanh thu hàng tháng, quản lý vốn, v.v ) mà thực hiện việc xử lý thông tin. c) Chất lượng của HTTTQL Chất lượng của HTTTQL phụ thuộc 3 yếu tố : tính nhanh chóng (speed - rapidity), tính tin cậy (reliability), tính toàn vẹn (integrity) và tính thích đáng (pertinence). Tính nhanh chóng HTTTQL xử lý thông tin quá khứ (lưu trữ) và hiện tại.HTTTQL phải giúp mỗi phần tử của XN có thông tin có ích và nhanh nhất có thể được. Tính nhanh chóng liên quan đến sự tiến bộ và sự phát triển của công nghệ mới về phần cứng, phần mềm (các bộ vi xử lý, mạng máy tính, Internet, cáp quang, v.v ). Tính tin cậy Để đảm bảo tính tin cậy, HTTTQL xử lý và phát hiện các thông tin sai lạc để chỉ luân chuyển các thông tin hợp thức. Các kết quả xử lý đưa ra luôn luôn đúng đắn, không phụ thuộc vào thời gian, điều kiện xử lý hoặc người xử lý 18
- Tính toàn vẹn Yêu cầu về tính toàn vẹn của dữ liệu thường gặp trong các hệ quản trị cơ sở dữ liệu. Chẳng hạn dữ liệu phải được lưu giữ an toàn, NSD không được tự ý sửa đổi nếu không có quyền truy cập, v.v Tính thích đáng HTTTQL thu nhận mọi thông tin đến nó và phải tìm được những thông tin cần thiết cho sự hoạt động của XN. Việc chỉ lựa chọn những thông tin thích đáng, không dư thừa là một trong những nguyên lý cơ bản của lĩnh vực phân tích và thiết kế. III.4.HTTTQL - công cụ điều phối và kiểm soát hệ thống Nguồn gốc của HTTTQL nằm ở các mệnh lệnh tạo ra bởi hệ thống quyết định, đồng thời, HTTTQL là công cụ điều phối và kiểm soát hệ thống. Hệ thống mệnh lệnh thu nhận mọi loại thông tin đến từ môi trường và bản thân XN để hoạt động. Có ba trường hợp như sau : a) Điều khiển theo “chu trình mở” Thông tin dến từ môi trường chuyển trực tiếp đến hệ thống quyết định, sau đó ảnh hưởng đến hệ thống tác nghiệp. Ví dụ : Sự cạnh tranh đã làm sụt giá một sản phẩm của XN, hoặc việc sản xuất một sản phẩm gặp phải khó khăn về tài chính XÍ NGHIỆP Hệ thống quyết định (2) Điều phối (3) (1) Hệ thống thông tin Môi trng Hệ thống tác nghiệp Hình 1.17 Điều khiển theo “chu trình mở” Theo hình vẽ, ta thấy : thông tin đến từ bên ngoài (môi trường) theo đường (1). Theo (2) hệ thống quyết định hành động (tự điều phối) để trả lời thông tin này. Việc điều phối đòi hỏi phải có thêm các thông tin khác để có quyết định thật phù hợp. Theo (3), quyết định được chuyển tới hệ thống tác nghiệp. b) Điều khiển theo chu trình đóng (khứ hồi) Hệ thống quyết định nhận được các thông tin “đi lên” từ hệ thống tác nghiệp qua hệ thống thử nghiệm của HTTT. XN phải hành động theo cơ chế đi tới - khứ hồi để giải quyết vấn đề. Hiện tượng “khứ hồi” xảy ra nhiều lần, cho đến khi vấn đề được xử lý. Tuy nhiên, trong một số trường hợp, người ta phải chấp nhận sự chênh lệch (dung sai) về chất lượng giữa sản phẩm thành quả và sản phẩm nghiên cứu được để tránh “khứ hồi” nhiều lần. 19
- XÍ NGHIỆP Hệ thống quyết định (2) Hệ thống Thử nghiệm thông tin (2) (1) (3) Hệ thống tác nghiệp Hình 1.18 Điều khiển theo “chu trình đóng” Từ hệ thống tác nghiệp, thông tin theo (1) đến hệ thống thử nghiệm. Theo (2), một quyết định được hành động (đi tới) hay là không (khứ hồi). Theo (3), kết quả quyết định được chuyển đến hệ thống tác nghiệp. c) Điều khiển bằng mệnh lệnh “báo động” Trường hợp điều khiển bằng mệnh lệnh “báo động” được hình thành từ hai trường hợp trên. Thông tin đến hệ thống quyết định có thể có nguồn gốc từ nội bộ (hệ thống tác nghiệp) hoặc đến từ bên ngoài (môi trường). Ví dụ : Một sản phẩm mới được tung ra thị trường có thể gây ra sự xáo trộn về tổ chức nhân sự hoặc lao động trực tiếp. Thiết bị phụ tùng sẽ bị cạn trong một thời gian ngắn tới đây. Các chỉ dẫn về tình trạng báo động cho phép đưa ra các biện pháp xử lý thích hợp, để tránh mọi sự xáo trộn của hệ thống. XÍ NGHIỆP Hệ thống quyết định (1) (1) (2) Môi trường Hệ thống thông tin (3) Hệ thống tác nghiệp Hình 1.19 Điều khiển mệnh lệnh “báo động”” Theo hình vẽ, ta thấy : các thông tin đến từ bên ngoài XN hoặc từ hệ thống tác nghiệp (1). Một quyết định được đưa ra (2) và có thể chuyển ra bên ngoài (3). 20
- III.5.Phân loại các hệ thống thông tin Có thể nhận thức một HTTTQL theo nhiều góc độ khác nhau tùy theo cách xử lý thông tin, cách khoanh vùng để xử lý, hoặc mức độ chính xác của thông tin. a) Phân loại theo mức độ tự động hóa Thông tin có thể được xử lý một cách thủ công, hoặc có sự trợ giúp của máy móc (điện thoại, photocopy, fax ) hoặc một cách tự động mà không có sự can thiệp của con người (MTĐT). Tuy nhiên không phải lúc nào việc tự động hoá cũng hợp lý mà phải lưạ chọn phương án xử lý thích hợp. Việc tự động hóa bằng Tin học chỉ có ý nghĩa khi thực sự có yêu cầu. Lựa chọn tự động hoá phụ thuộc vào các yếu tố : - Độ lớn của XN, - Khối lượng thông tin cần xử lý, - Tốc độ mong muốn để nhận được kết quả, khái niệm thời gian trả lời, - Chi phí xử lý tự động hoá, - Thu lợi về thời gian hoặc tài chính b) Phân loại theo mức độ tích hợp các phương tiện xử lý Khái niệm tích hợp (integra-tion) dựa trên hai yếu tố : Khoanh vùng (localization) để xử lý. Kiến trúc các phương tiện xử lý thông tin. Việc tích hợp chỉ được đặt ra khi việc xử lý tự động hóa gia tăng. Trong cách tiếp cận này, các hệ thống xử lý thông tin tạo thành các hệ thống độc lập. Có thể xảy ra hiện tượng sai sót không hiệu quả của cả hệ thống do : Có các thông tin dư thừa, trùng lặp trong mỗi hệ thống độc lập (Ví dụ, thông tin về khách hàng trong sơ đồ trên). Có sự trùng lặp về xử lý từ mỗi hệ thống mà chỉ cần xử lý một lần (Ví dụ, thủ tục trao đổi khách hàng). Hệ thống tích hợp Với cách tiếp cận này, HTTTQL được xem như là một phẩn tử duy nhất. Mọi thông tin chỉ thu nhận một lần vào hệ thống và được sử dụng trong nhiều xử lý. Các hệ thống độc lập Hệ thống Hệ thống Hệ thống Kế toán khách hàng nhân sự Hệ thống tích hợp Hệ thống Hệ thống Kế toán nhân sự Hệ thống khách hàng Hệ thống của tổ chức Hình 1.20 Tích hợp các phương tiện xử lý 21
- Các hệ thống độc lập Ví dụ : Thông tin về khách hàng sẽ được thu nhận một lần và được xử lý cho từng hệ thống thành phần. Hệ thống tích hợp đòi hỏi một cơ sở dữ liệu duy nhất với các phương tiện kỹ thuật thích hợp (mạng, viễn thông ). Như vậy, việc lựa chọn tích hợp sẽ tác động lên kiến trúc của các phương tiện xử lý thông tin. Kiến trúc các phương tiện xử lý khác Kiến trúc các phương tiện xử lý gắn liền với cấu trúc của các XN theo 3 loai : Kiến trúc tập trung (ít gặp) Thông tin được xử lý và hoàn thiện tại một nơi duy nhất trong XN rồi được phân bổ cho các nơi. Ưu : Xử lý nhất quán các dữ liệu, tránh được sự dư thừa thông tin. Nhược : Hệ thống hoạt động nặng nề vì khối lượng thông tin lớn, dẫn đến khoảng thời gian giữa thời điểm thu nhận và thời điểm khai thác kết quả xử lý có thể tăng lên đáng kể. Kiến trúc phân tán Máy tính được đặt tại các vị trí khác nhau theo tổ chức XN để xử lý độc lập rồi được nối với nhau (nhờ mạng) để trao đổi thông tin. Ưu điểm : Linh hoạt, uyển chuyển trong vận hành nên hay được sử dụng. Nhược điểm : Dữ liệu phát sinh nhiều, xử lý trùng lặp và không tương thích về thiết bị trong XN. Kiến trúc phân phối Kết hợp cả hai kiến trúc trên : xử lý thông tin tại điểm trung tâm trong khi thu nhận và phân phát thông tin lại được thực hiện một cách phân tán. Các phương tiện xử lý là các trạm cuối (terminal) nối với mày chủ (hote, main frame) c) Phân loại theo mức độ các quyết định Từ các mức quyết định : chiến lược, chiến thuật, tác nghiệp, theo mức giảm dần trong tổ chức, xây dựng sơ đồ như sau : Mức độ Quyết định chiến lược hoặc quan trọng đặt kế hoạch của quyết định Quyết định chiến lược hoặc điều hành Quyết định tác nghiệp hoặc điều chỉnh Hình 1.21 Phân loại theo mức độ các quyết định Mức chiến lược (Strategic Level) Nhằm đưa XN hoạt động ngắn hạn hoặc dài hạn. Cần nhiều thông tin từ môi trường. Một số thông tin có thể xử lý tin học để đưa ra quyết định, nhưng thông thường có thể xử lý thủ công. Ví dụ : Tung ra thị trường sản phẩm mới, hoặc xây dựng cơ sở sản xuất mới, hoặc tuyển lựa cán bộ kỹ thuật cao cấp 22
- Mức chiến thuật (Tactical Level) Các quyết định chiến thuật được đưa ra thường xuyên hơn nhằm đáp ứng nhu cầu hoạt động và hoàn thiện hệ thống. Ví dụ : Chọn giá bán sản phẩm, tuyển dụng nhân sự tạm thời, thay đổi cách cung ứng nguyên nhiên liệu, v.v Mức tác nghiệp (Operational Level) Do nhân viên trong XN đưa ra hàng ngày. Ví dụ : gửi thư từ giao dịch, soạn thảo hóa đơn, thu nhận thông tin khách hàng, sản phẩm 23
- CHƯƠNG 2 Các phương pháp phân tích và thiết kế hệ thống I. Thế nào là phân tích hệ thống ? I.1. Khái niệm Theo từ điển Compuer Dictionary, Microsoft Press®, phân tích hệ thống (systems analysis) là sự khảo sát một hệ thống hay một vấn đề để cải tiến hệ thống đang tồn tại hoặc thiết kế và cài đặt hệ thống mới (nguyên văn tiếng Anh : the examination of system or problem, with the goal of either improving an existing system or designing and implementing a new one). Phân tích hệ thống gắn liền với việc sử dụng phần cứng và phần mềm Tin học, bao gồm việc nghiên cứu chi tiết vấn đề, thiết kế, xây dựng những phương pháp tốt để giải quyết, nhằm đạt được mục đích theo những hạn chế và khả năng có thể. Những tiếp cận hay phân tích hệ thống đã có từ rất lâu, trước khi MTĐT ra đời. Ví dụ 1 : Khi xây dựng các Kim tự tháp cổ ở Ai Cập thì những người thiết kế được xem là các nhà kiến trúc sư, còn những người tổ chức việc vận chuyển nguyên vật liệu và huy động nhân lực được xem như là những người phân tích hệ thống. Ví dụ 2 : Gần đây hơn, khi xuất hiện các nhà máy, công sở (quá trình tư bản hóa công nghiệp) thì người chủ trì phải tìm hiểu cách tổ chức lao động, tìm kiếm các phương pháp tốt để tăng năng suất, tăng lợi nhuận Đó là những hoạt động của người phân tích hệ thống. Hình 2.1 Người tổ chức lao động là người phân tích hệ thống Nhu cầu về sản xuất thương mại, sự phát triển nhanh chóng của lĩnh vực Tin học đã dẫn đến việc phát triển ngành phân tích hệ thống áp dụng Tin học. Lĩnh vực này luôn luôn được nghiên cứu và phát triển nhằm hoàn thiện việc xây dựng các hệ thống thông tin. Để thấy được vai trò của phân tích hệ thống, sau đây là những số liệu do Công ty IBM đã thống kê trong giai đoạn 1970-1980 : Phân tích sai sót Phân tích chi phí Phân tích phân bổ hoạt động Mức ý niệm 45 Bảo trì 54 Lập trình 15 Lập trình 25 Phát triển 46 Thử nghiệm 50 Soạn thảo hồ sơ 7 Cài đặt 35 Các sai sót khác 20 100% 100% 100% 24
- I.2. Bản chất và yêu cầu của phân tích hệ thống Phân tích là quá trình triển khai các giai đoạn mà nhà thiết kế hệ thống phải làm việc ở hai mức khái niệm khác nhau : “cái gì ?” (what?) và “như thế nào ?” (how?). Mức ý niệm hay mức logic Hiểu hệ thống cũ đang Quyết định hệ thống làm gì ? mới phải làm gì ? Hiểu yêu cầu của người sử dụng Phát hiện hệ thống cũ hoạt Xác định hệ thống mới hoạt động như thế nào ? động như thế nào ? Mức vật lý hay thế giới thực Hình 2.2 Mô hình theo mức của quá trình phân tích Các yêu cầu của phân tích hệ thống : 1. Tiếp cận toàn cục bằng cách khảo sát mỗi phần tử (phòng, ban, xưởng, vị trí làm việc ) để tạo ra các dòng thông tin về hoạt động, quản lý và điều khiển trong một tổng thể toàn vẹn của hệ thống (xí nghiệp). 2. Sử dụng phương pháp tiếp cận từ trên xuống (top-down) để nhận thức, hiểu và đề ra biện pháp, từ tổng quát đến đặc thù, từ cái chung đến cái riêng theo những tiêu chuẩn nhất quán. 3. Lĩnh hội được tính trừu tượng, tính đăc thù của mỗi thành phần trong hệ thống, từ đó sử dụng các công cụ thích hợp, hoặc tự động hóa, hoặc thủ công, trong quá trình phân tích. 4. Nắm được nhu cầu thực tiễn của người sử dụng cuối cùng. 25
- I.3. Đánh giá các phương pháp Những thiếu sót mà các phương pháp phân tích hệ thống “cổ điển” mắc phải : 1. Thiếu tiếp cận toàn cục Các chuyên gia (phân tích viên) làm việc một cách tự do, không có liên hệ gì với nhau dẫn đến khó có thể tích hợp các công việc 2. Thiếu hợp tác với người sử dụng Sản phẩm phần mềm khó áp dụng, không phù hợp với công thái học (Ergonomie), không cùng cách suy nghĩ với NSD 3. Thiếu tiêu chuẩn thống nhất 4. Trùng lặp hoặc dư thừa thông tin, cùng một khái niệm mà có nhiều thuật ngữ , không có tiêu chuẩn thống nhất về các đối tượng xử lý. Trong số những nguyên lý đặc trưng cơ bản của các phương pháp phân tích hiện nay đang có mặt trên thị trường, người ta chú ý đến : 1. Cơ sở lý thuyết trên một hệ thống Tin học hoá. 2. Chiến lược phát triển hệ thống nhưng tôn trọng các yếu tố liên quan đến chu kỳ sống (life cycle) là : - Trí tuệ (intelligence) - Thiết kế (design) - Triển khai (realization, achievment) - Cài đặt (implementation) - Bảo trì (maintenance) Các giai đoạn khác nhau trong một chu kỳ sống của một dự án Tin học có thể được trình bày dưới dạng mô hình như sau : Biểu đồ chỉ đạo Nghiên cứu khả thi Lập kế hoạch, biểu đồ công tác Bảo đảm Thiết kế chức năng chất lượng Thiết kế chi tiết Lập trình và đơn thể Tích hợp và thử nghiệm Cài đặt Khai thác và bảo trì Hình 2.3 Chu kỳ sống của một dự án Tin học 3. Tách rời tính cấu trúc và chức năng, các mức ý niệm, mức logic và mức vật lý của hệ thống để giảm độ phức tạp. 4. Xây dựng biểu đồ chỉ đạo triển khai thực hiện các giai đoạn khác nhau của quá trình phân tích thiết kế hệ thống (PTTKHT). 26
- II. Một số phương pháp PTTKHT “cổ điển” Hiện nay, có rất nhiều phương pháp PTTKHT đã được đề xuất và được tiếp tục áp dụng. Bảng dưới đây liệt kê một số phương pháp. STT Tên phương pháp Nguồn gốc Hiện trạng thương mại 1 AXIAL (Pháp) IBM bán ra thị trường 2 CIAM (Conceptual Informa-tion Syslab Đang tiếp tục được Analysis Methodology) (Thuỵ điển) nghiên cứu 3 IDA (Interactive Design Đại học Tổng hợp Namur METSI (Pháp) Approach) (Bỉ) 4 JSD (Jackson System Michael Jackson Cty Michael Jackson Ltd. Development) (Anh) 5 MERISE Sema-Matra (Pháp) Nhiều công ty 6 METHOD/1 Arthur Andersen (Mỹ) Arthur Andersen 7 REMORA Đại học Tổng hợp Paris 1 Thomson (Pháp) 8 SADT Softech (Mỹ) Softech Inc. (Mỹ), Thomson IGL (Pháp) 9 SDM (Structured Design Yourdon Inc. (Mỹ) McDonnell Douglas (Mỹ) Methods) Để hình dung về sự khác nhau giữa các quan điểm thiết kế HTTT, bảng dưới đây trình bày cách triển khai các giai đoạn của một số phương pháp phân tích hệ thống hay gặp. Phương pháp Lập Phân tích Thiết kế Triển khai Cài đặt kế hoạch hiện trạng chi tiết SDM MERISE AXIAL JSD Jackson 27
- II.1.Phương pháp SADT Phương pháp SADT (Structured Analysis and Design Technique) là kỹ thuật phân tích và thiết kế có cấu trúc, do công ty Softech Inc. (Mỹ) phát triển, nhưng được áp dụng tương đối phổ biến ở châu Âu và ở Pháp. Ý tưởng cơ bản là phân rã hệ thống lớn thành các phân hệ nhỏ hơn và đơn giản hơn. Theo quan điểm của SADT, mọi hệ thống được xem như một bộ sưu tập của các chức năng. Từ đó, SADT được sử dụng để xây dựng một mô hình biểu diễn mọi chức năng của một hệ thống và quan hệ của chúng với thế giới bên ngoài. Phương pháp SADT đưa ra các lời khuyên “vàng” như sau : 1. Tính rõ ràng (trong sáng) quan trọng hơn là tính đúng đắn. 2. Một khía cạnh chưa tốt nhưng được diễn tả rõ ràng thì vẫn có thể được chấp nhận vì có thể được khắc phục sau đó. 3. Một khía cạnh chưa tốt nhưng không được diễn tả rõ ràng thì có thể không được chấp nhận vì có thể trở nên không tốt. 4. Cần phải biết nơi đến trước khi xuất phát. 5. Cần viết ra (giấy) hơn là chỉ nói ra (lời) và không nên kéo dài các buổi họp hành quá 60 phút chỉ vì một chủ đề. Một mô hình SADT bao gồm các đơn thể (moduls) được tổ chức theo kiểu phân cấp (hierachical structure), tiếp cận từ trên xuống (top-down). SADT cho phép xây dựng các hệ thống phức tạp nhưng vẫn đảm bảo được tính tin cậy, tính đúng đắn. Về mặt cú pháp, mỗi đơn thể được biểu diễn bởi một trong hai dạng sơ đồ, sơ đồ hoạt động (activity diagram) và sơ đồ dữ liệu (data diagram). Sơ đồ hoạt động nhận dữ liệu vào, dữ liệu điều khiển, quy trình xử lý và cho dữ liệu ra. Sơ đồ dữ liệu nhận vào các hoạt động tác nhân và điều khiển, cho ra là hoạt động sử dụng : Dữ liệu điều khiển Hoạt động điều khiển Dữ Dữ Hoạt Hoạt liệu Dữ liệu Hoạt động liệu động động vào ra tác nhân sử dụng Xử lý Đơn vị lưu trữ Hình 2.4 Hai dạng sơ đồ SADT Một sơ đồ SADT thường có từ 3 đến 6 hộp (box) hình chữ nhật được liên kết với nhau bởi các mũi tên gắn nhãn (labeled arrow) thể hiện các giao diện (interface) hay các ràng buộc giữa các hộp. SADT đưa ra lời khuyên rằng một sơ đồ SADT mà có ít hơn 3 hộ p sẽ làm nghèo hoặc không đặc tả đủ thông tin, nhưng nếu có nhiều hơn 6 hộp sẽ làm sơ đồ trở nên phức tạp khó theo dõi. 28
- Nguyên tắc vẽ như sau : cái ra của hộp này 1 cái ra của là cái vào của hộp này hộp này là một cái ra của điều khiển của hộp này tạo ra hộp này một điều 2 khiển ngược trở lại và cng là cái vào của hộp này 2 Hình 2.22 Nguyên tắc vẽ sơ đồ SADT Mỗi cạnh của hộp đều mang một ý nghĩa đặc biệt. Mỗi sơ đồ con là sự chi tiết hoá của một trong các hộp của sơ đồ cha. Một cha có thể có nhiều con. Mỗi sơ đồ con lại có thể có các sơ đồ con khác, v.v Hình 2.6 Cấu trúc phân cấp “một cha nhiều con” Sơ đồ SADT biểu diễn sự phân tích chủ đề ban đầu thành các thành phần nhỏ hơn. Mỗi thành phần là những đối tượng (objects) và những sự kiện (events), tương ứng với dữ liệu và hoạt động. Ví dụ : Dữ liệu : Hoạt động : Bệnh nhân Thăm hỏi bệnh nhân Bệnh án Xử lý bệnh án Đơn thuốc Thanh toán tiền Từ hai đối tượng trên, người ta vẽ được một sơ đồ SADT như sau : 29
- Ngày, giờ Điều khiển Giấy phép ra viện Chỉ dẫn Tín hiệu báo động Chăm sóc Đo (nhiệt độ ) bệnh nhân Bệnh án Bác sĩ Hệ thống Tin học Y tá Hình 2.7 Một mô hình xử lý của SADT Nguyên lý làm việc theo nhóm của phương pháp SADT như sau : Mỗi sơ đồ được tạo ra bởi một tác giả (quy ước vẽ màu đen). Sơ đồ được đọc và ghi chú (câu hỏi, gợi ý, điểm chưa rõ ) bởi người đọc (quy ước vẽ màu đỏ). Sơ đồ sau đó được trả lại cho tác giả để thay đổi theo yêu cầu (quy ước vẽ màu xanh). Tác giả thay đổi xong lại đưa lại cho người đọc. Thiết lập chu trình thảo luận tác giả − người đọc cho đến khi thoả mãn. Trong quá trình luân chuyển sơ đồ giữa tác giả và người đọc, luôn luôn giữ lại một bản copy ở thư viện để lưu trữ. Tác giả Thư viện Người đọc sơ đồ mới bản sao sơ đồ Tạo ra sơ đồ × × × Ghi chú vào mới và chỉ ra sơ đồ (chú) ai sẽ đọc nó sơ đồ đã chú × × sơ đồ đã được × sửa lại Đọc các trả Thảo luận với × lời đã chú người đọc. × × Ghi nhận các kết quả thảo luận Thảo luận Tạo sơ đồ với tác giả mới (nếu cần) × × × × Hình 2.8 Nguyên lý làm việc theo nhóm của SADT II.2.Phương pháp MERISE Phương pháp MERISE (Méthode pour Rassembler les Idées Sans Effort, tạm dịch phương pháp tập hợp những ý tưởng dễ dàng) được đề xuất bởi CETE (Centre d’Etude Technique de l’Équipement d’Aix-en-Provence), INRIA (Institut Nationale de Recherche en Informatique et 30
- Automatique) và Viện Đại học Marseilles III tại Pháp vào năm 1974. Đây là một phương pháp có cơ sở khoa học vững chắc, được sử dụng nhiều ở Pháp và châu Âu. MERISE đưa ra một cách nhìn tổng quan về HTTT của xí nghiệp (XN) hay của một tổ chức, dựa trên mô hình ba hệ thống : hệ thống quyết định (hay hệ thống lãnh đạo), hệ thống thông tin và hệ thống tác nghiệp. Từ quan niệm này, HTTT được kiến trúc theo ba mức : mức ý niệm (conceptual level), mức logic hay mức tổ chức (organizational level) và mức vật lý hay mức kỹ thuật (technical level). Mức ý niệm xây dựng mục đích và mục tiêu cuối cùng của XN trên cơ sở định nghĩa các ràng buộc, các quy tắc quản lý và cách xử lý chúng. Mức tổ chức định nghĩa cách tổ chức hệ thống để XN đạt được mục đích Mức kỹ thuật liên quan đến các phương tiện cần thiết của hệ thống : phần cứng, phần mềm, mạng, v.v Những đặc trưng cơ bản của phương pháp MERISE : Tiếp cận theo mức nhằm hình thức hoá hệ thống tương lai Tiếp cận theo giai đoạn nhằm phân cấp các quyết định. Mức Mô hình Dữ liệu Mô hình Xử lý Quan niệm Mô hình ý niệm dữ liệu Mô hình ý niệm xử lý Tổ chức Mô hình tổ chức dữ liệu Mô hình tổ chức xử lý Kỹ thuật Mô hình vật lý dữ liệu Mô hình tác nghiệp xử lý Bảng thống kê sau đây chỉ ra tỷ lệ phần trăm trung bình cho mỗi mức : Số Các giai đoạn TT Dữ liệu Xử lý Tỷ lệ % Phân tích hiện trạng ± 50 % Mô hình ý niệm dữ liệu Mô hình ý niệm xử lý ± 25 % Hợp thức hoá ± 5 % Mô hình logic dữ liệu ± 5 % Mô hình vật lý dữ liệu Mô hình chức năng xử lý ± 15 % Trong bảng trên, cột dữ liệu bên trái được xem là tĩnh so với cột bên phải được xem là động. 31
- II.3.PTTKHT theo quan điểm ba trục toạ độ II.3.1.Mô hình phân tích và thiết kế HTTT Để nhìn nhận một HTTT cần thiết kế, hầu hết các phương pháp PTTKHT hiện nay đều sử dụng quan điểm ba trục toạ độ thuộc hệ quy chiếu “không gian ba chiều” là mức, giai đoạn và thành phần. Mức HTTT Thành phần Giai đoạn Hình 2.9 Ba góc nhìn khác nhau của HTTT Phương pháp ba góc độ cho phép tập hợp các mục tiêu cần đạt được và những nội dung cần triển khai : 1. Trục giai đoạn xác định các bước dẫn đến một lời giải khả thi. Có chín giai đoạn cơ bản : lập kế hoạch, phân tích hiện trạng, phân tích khả thi, đặc tả, thiết kế, lập trình, thử nghiệm, khai thác và bảo trì. 2. Trục mức thể hiện cách tiếp cận và phương pháp luận để lựa chọn công cụ trên cơ sở chu kỳ sống của hệ thống. Đó là các mức ý niệm, logic và vật lý. 3. Trục thành phần xác định các thành phần cơ bản của một HTTT, là : dữ liệu, xử lý, thiết bị và nhân lực. Hai trục mức và giai đoạn được định hướng một cách rõ ràng và tự nhiên do phương pháp tiếp cận từ trên xuống (từ tổng quát đến riêng biệt) và mức độ từ trừu tượng đến cụ thể (từ mức ý niệm đến mức vật lý). Các thành phần dữ liệu, xử lý, bộ xử lý và nhân lực đặt trên trục thành phần có tính quy ước, vì trên thực tế, không hề có ưu tiên nào giữa chúng. Từ quan điểm ba trục toạ độ, người ta cũng nhận thấy rằng, có hai yếu tố tham gia vào quá trình phân tích thiết kế HTTT là chất lượng và giá thành. Hai yếu tố này không tương thích với nhau. Rõ ràng để giảm giá thành, cần xem xét hai trục thành phần và giai đoạn, để nâng cao chất lượng, cần chú ý trục mức là độ sâu sắc của sản phẩm. Trên thực tế, người ta phải ước tính giá thành (cost estimation). Sau đây là bảng ước tính giá thành của phương pháp SDM. 32
- STT Nội dung công việc Tỷ lệ % Nhân lực giá thành Lập kế hoạch. 8 % (trên tổng giá 80 ngày/người phân tích hiện trạng thành) (trên 1000 ngày) Lựa chọn kiến trúc của HTTT 8 % 80 ngày/người Đặc tả bên ngoài của hệ thống. 24 % 240 ngày/người Phân tích tổng quan các xử lý Đặc tả bên trong của hệ thống. Phân tích chi tiết các xử lý, 9 % 90 ngày/người thiết kế CSDL Lập trình, thử nghiệm đơn thể 37.8 % 378 ngày/người Chuyển đổi HTTT cũ vào hệ thống mới, 7.2 % 72 ngày/người nhập dữ liệu ban đầu Thử nghiệm tích hợp 3 % 30 ngày/người Cài đặt vận hành 3 % 30 ngày /người Tổng cộng 100 % 1000 ngày Hình vẽ dưới đây trình bày hệ trục tọa độ với nội dung của các trục. Mức Vật lý − Logic − Ý niệm − Dữ liệu Xử lý Bộ xử lý Nhân lực | | | | Lập kế hoạch Thành phần Phân tích hiện trạng Phân tích khả thi Đặc tả Thiết kế Lập trình Thử nghiệm Giai đoạn Khai thác Bảo trì Hình 2.10 HTTT được phân tích và thiết kế theo ba trục toạ đô 33
- II.3.2.Các giai đoạn phân tích và thiết kế hệ thống Toàn bộ quá trình phân tích và thiết kế, từ giai đoạn ý niệm đến lúc khai thác HTTT, cần phải xác định và xây dựng ba mức của HTTT tương lai, đặc trưng hóa chính xác bốn thành phần cơ bản và triể khai lần lượt các giai đoạn. Để làm được điều này, phải tiếp cận chuẩn xác HTTT. a) Lập kế hoạch Thực hiện một dự án Tin học hóa có thể rất tốn kém, đòi hỏi nhiều công sức và thời gian (có thể mất rất nhiều tháng, nhiều năm) trước khi mang lại lợi nhuận. Các nhân tố thường ảnh hưởng đến việc lập kế hoạch là : thời gian, mức đầu tư (investment), những yếu tố không chắc chắn của dự án, nguồn nhân lực (số lượng, trình độ, khả năng của người thiết kế và những người sử dụng cuối), những tình huống bất ngờ, những đánh giá sai lệch thực tế Người ta thường cấu trúc hoá việc lập kế hoạch bằng cách : - Tách riêng các phân bố nhân lực, thời gian và kinh phí. - Lập dự án tổng thể, kế hoạch cho một giai đoạn và các kế hoạch chi tiết. Song song với việc lập kế hoạch là việ c kiểm tra, báo cáo định kỳ. Kế hoạch tài chính, chi tiêu Kế hoạch sử dụng Kế hoạch kỹ thuật nguồn tài nguyên của dự án Kế hoạch sử dụng tài nguyên Kế hoạch kỹ thuật từng giai đoạn từng giai đoạn - Kế hoạch kỹ thuật Kế hoạch sử dụng tài nguyên được chi tiết hoá được chi tiết hoá - Lịch biểu cá nhân Kế hoạch làm việc cá nhân Hình 2.11 Lập kế hoạch Kết quả của giai đoạn lập kế hoạch là xác định rõ ràng các phân hệ, chức năng của chúng trong HTTT tương lai, xác định các khả năng ứng dụng trên mạng hoặc truyền thông, bố trí công việc theo nhóm chuyên gia, phân chia kinh phí 34
- b) Phân tích hiện trạng Phân tích (hay khảo sát) hiện trạng là giai đoạn phân tích các hoạt động của HTTT vật lý hiện hữu. Mục tiêu cần đạt được là làm sao có được các thông tin (liên quan đến những yêu cầu đặt ra trong bước lập kế hoạch) với độ tin cậy cao và chuẩn xác nhất, mới nhất. Có nhiều phương pháp phân tích hiện trạng : Phỏng vấn, trực tiếp hoặc gián tiếp, các đối tượng liên quan (giám đốc, nhân viên, vị trí làm việc Lập phiếu điều tra, thăm dò Quan sát, thu thập mẫu biểu Mỗi phương pháp đều có ưu điểm, nhược điểm riêng và được áp dụng sao cho phù hợp với tình hình thực tế. Nguyên tắc : biết cách đặt các câu hỏi thiết thực thì biết càng nhiều thông tin về môi trường hoạt động của một tổ chức, càng dễ hiểu các vấn đề đang được đặt ra và.tìm được phương án để giải quyết. Sau khi có được các kết quả phân tích hiện trạng, phân tích viên phải biết cách tổng hợp các dữ liệu, các xử lý thu thập được và hợp thức hoá. c) Phân tích khả thi Giai đoạn này có vai trò quyết định vì nó sẽ dẫn đến các lựa chọn sẽ quyết định HTTT tương lai cùng các bảo đảm tài chính. Gồm 5 bước : Bước 1 : Phân tích, phê phán HTTT hiện hữu nhằm làm rõ các điểm yếu hoặc mạnh. Sắp xếp các vấn đề cần giải quyết theo thứ tự mức độ quan trọng của chúng. Bước 2 : Xác định các mục tiêu mới của các hay dự án), khả năng sinh lãi, thời gian trả lãi, v.v , nếu như việc này chưa được thực hiện ở giai đoạn lập kế hoạch. Bước 3 : Xác định một cách tổng quát các giải pháp về chi phí triển khai phân hệ (dự án), chi phí hoạt động trong tương lai, kết hợp phân tích ưu điểm và khuyết điểm của từng giải pháp. Bước 4 : Lựa chọn những người chịu trách nhiệm phù hợp với giải pháp nào đó đã xác định. Nếu không tìm được những người như vậy hoặc chi phí ước tính cao so với mục tiêu đề ra thì phải quay lên bước 2. Bước 4 trong trường hợp này thường lặp đi lặp lại nhiều lần. d) Đặc tả Đặc tả (tiếng Anh : specifications, tiếng Pháp : cahier des charges) là việc mô tả chi tiết kỹ thuật các thành phần bên trong hệ thống, bao gồm : Kiến trúc dữ liệu (data architecture) và xử lý kiểu dữ liệu tương ứng, các chỉ dẫn về tên (identifiers) dữ liệu, các sơ đồ, biểu đồ hay đồ thị. Giao diện giữa HTTT và NSD : xác định HTTT cung cấp những gì cho NSD và ngược lại, NSD có thể khai thác được những gì từ HTTT ? Các công việc và các cài đặt cần thực hiện. Diễn biến tiến trình từ mức ý niệm đến lúc thể hiện : triển khai kế hoạch, phân công nhóm làm việc, v.v Kết quả của đặc tả là tập hợp các văn bản hồ sơ hay tư liệu về quá trình phân tích và thiết kế HTTT. 35
- e) Thiết kế Giai đoạn này xác định : Kiến trúc chi tiết của HTTT, liên quan đến các giao diện với NSD và các đơn thể tin học cần áp dụng : các quy tắc quản lý, cấu trúc dữ liệu. Thiết kế các đơn thể chương trình, chuẩn bị lập trình. Quy cách thử nghiệm chương trình, sử dụng các thư viện Quy cách khai thác, ứng dụng bảo trì, hướng dẫn sử dụng, v.v Các phương tiện và thiết bị liên quan f) Lập trình Giai đoạn này là thể hiện vật lý của HTTT bằng việc chọn công cụ phần mềm để xây dựng các tệp dữ liệu (databse files), viết các đơn thể chương trình, chạy thử, kiểm tra, ráp nối, lập hồ sơ hướng dẫn, chú thích chương trình. g) Thử nghiệm Giai đoạn này bao gồm việc định nghĩa các thử nghiệm (testing) các đơn thể chương trình, thử nghiệm hệ thống, hoàn thiện quá trình đào tạo người sẽ sử dụng hệ thống, sửa chữa các chương trình nguồn, hoàn thiện các văn bản báo cáo và hướng dẫn sử dụng. Việc thử nghiệm cho phép kết quả nhận được là phù hợp với các đặc tả ban đầu. Các phương pháp thử nghiệm được nghiên cứu chi tiết trong lĩnh vực công nghệ phần mềm (Software Engineering). Các yếu tố liên quan đến thử nghiệm bao gồm : Kế hoạch thử nghiệm Danh mục (thư viện) thử nghiệm Dữ liệu thử nghiệm Các công cụ thử nghiệm Các thử nghiệm đơn thể do người lập trình thực hiện : - các nhánh chương trình - tập hợp các thông số khác nhau - các dữ liệu thường (normal data) và các dữ liệu đặc biệt, các giá trị bất thường Các thử nghiệm tích hợp hệ thống do người phụ trách dự án triển khai. h) Khai thác Đây là giai đoạn quyết định đến kết quả tương lai của HTTT. Tuỳ theo kết quả khai thác, NSD sẽ quyết định có sử dụng HTTT vừa xây dựng để thay thế HTTT thủ công hay không ? i) Bảo trì Giai đoạn này gồm các công việc : bảo trì, cải tiến và thích nghi hóa HTTT với những thay đổi nội tại cũng như với môi trường chung quanh. Nếu có kết quả phân tích ý niệm chính xác, xây dựng mô hình phù hợp và thể hiện vật lý hoàn hảo thì việc việc bảo trì HTTT sẽ dễ dàng. Ngược lại sẽ dẫn đến chi phí bảo trì tốn kém, khó làm thỏa mãn yêu cầu của NSD. 36
- II.3.3.Tiếp cận ba mức Tiếp cận ba mức là để đáp ứng được các yêu cầu sau đây : Sử dụng mô hình đơn giản và ngôn ngữ trong sáng, dễ hiểu để mô tả các kết quả đạt được trong từng giai đoạn. Mô hình và ngôn ngữ đó dùng được cho những NSD khác nhau không nhất thiết phải là cán bộ Tin học. Nhận thức HTTT ở mức thâm nhập đang xét. a) Mức ý niệm Mức ý niệm (hay quan niệm) mô tả các quy tắc quản lý (nhân sự, kế toán, chuyển giao sản phẩm ), các mục tiêu và những ràng buộc đặt ra đối với XN. Phương pháp MERISE xây dựng hai mô hình ở mức ý niệm là mô hình ý niệm dữ liệu và mô hình ý niệm xử lý. Mô hình ý niệm dữ liệu : Nghiên cứu tổng quan dữ liệu, định nghĩa và hình thức hoá nhờ các yếu tố : Thực thể Đặc tính (thuộc tính) dữ liệu Khoá Quan hệ giữa các thực thể Các ràng buộc chức năng (functional constraints) giữa các mô hình : Bản số (lực lượng) Ràng buộc toàn vẹn chức năng (hàm) Quá trình hợp thức hoá (validation), chuẩn hoá (normalization), phân rã (decomposition) và lượng hoá (quantification). Ví dụ : KHÁCHHÀNG ĐƠNĐHÀNG MãKH 0−n 1− 1 YêuCầu MãHG TênKH TênHG ĐịaChỉKH ĐThoạiKH 0-n NGÀYĐHÀNG Ngày Hình 2.12 Mô hình ý niệm dữ liệu Mô hình ý niệm xử lý : Nghiên cứu tổng quan dữ liệu, định nghĩa và hình thức hoá : Các phép toán Các sự kiện Các quy tắc 37
- Mô hình hoá Mô hình hoá là sử dụng sơ đồ biểu diễn sự lưu chuyển và xử lý thông tin giữa các dòng dữ liệu (data flow), các kho dữ liệu (data stores) trong một XN. Hợp thức hoá mô hình Xem xét tập hợp các đặc tính để chỉ giữ lại những dữ liệu có ích cho xử lý, kiểm tra tính đúng đắn và hợp thức của các mô hình ý niệm xử lý. Ví dụ : Đặt hàng Khách hàng Cấp hàng XN Hoá đơn Hình 2.13 Một mô hình xử lý ở mức đỉnh XN Xử lý 1 Xử lý 2 Xử lý 3 1 Tệp hoá đơn Hình 2.14 Mô hình xử lý được phân tích chi tiết b) Mức logic Các mô hình ý niệm cho phép biểu diễn dữ liệu độc lập với cách cài đặt vật lý. Vì vậy, trước khi chuyển sang mức vật lý, vấn đề là chuyển đổi các mô hình ý niệm sang mô hình ở mức logic tuỳ theo mức độ tự động hoá xử lý và cách chọn lựa các hệ quản trin CSDL. Có ba cách chọn kỹ thuật là : Mô hình (hay quan điểm) CODASYL1 Mô hình quan hệ (sẽ được xét ở chương sau) Các ngôn ngữ lập trình cổ điển Ví dụ : CODASYL đưa ra những khái niệm trường (field) - đơn vị thông tin nhỏ nhất hay dữ liệu sơ cấp, bản ghi (record) - tập hợp hữu hạn các trường, và, các quan hệ (set) được thiết lập giữa các bản ghi. 1 CODASYL (c code-a-sill) vit tt t Conference on Data Systems Languages, mt t chc do B Quc phòng M sáng lp, mc ích phát trin các h qun tr d liu và ngôn ng. Ví d COBOL. 38
- RECORD “OWNER” RECORD “MEMBER” SET-Đặt hàng Khách hàng Đơn đặt hàng Hình 2.15 Một mô hình CODASYL c) Mức vật lý Hiện nay, chưa có những tiếp cận để chuẩn hoá việc mô tả và biểu diễn mức vật lý của dữ liệu. Việc mô tà một mô hình vật lý dữ liệu liên quan trực tiếp đến việc lựa chọn kỹ thuật. Có thể hiểu mức vật lý là sự kết hợp các phương tiện kỹ thuật cần thiết (phần cứng và phần mềm) để hệ thống có thể hoạt động, tuỳ theo sự phát triển của công nghệ. Các công cụ ảnh hưởng đến môi trường phát triển HTTT là : Các công cụ quản lý màn hình Các công cụ mô phỏng Các công cụ quản lý mã nguồn Ví dụ : Mô hình CODASYL : IDS2, CLIO, TOTAL Mô hình quan hệ : DB2, INGRES, ORACLE, Microsoft Access, FoxPro các công cụ bảng tính III. Phương pháp phân tích thiết kế hướng đối tượng, UML Hiện nay, dựa trên nguyên lý của lập trình hướng đối tượng (HĐT), người ta đã và đang tiếp tục nghiên cứu và ứng dụng các phương pháp phân tích hệ thống HĐT. Một trong các phương pháp tương đối phổ biến gần đây là sử dụng công cụ ngôn ngữ mô hình hoá thống nhất UML (Unified Modeling Language). UML được phát triển năm 1994 bởi Grady Booch và Jim Rumbaugh tại hãng Rational Software Corporation, dựa trên các phương pháp đã được phát triển trước đó là BOOT và OMT (Object Modeling Technique). UML dễ học, đơn giản và thuần nhất hơn các phương pháp này. UML định nghĩa 8 sơ đồ cho phép biểu diễn các cách nhìn khác nhau về một mô hình của hệ thống, để từ đó, NSD có thể thao tác trên các phần tử của mô hình. Chín sơ đồ đó là : 1. Các sơ đồ hoạt động : Biểu diễn các phần tử tác nghiệp, thực chất là trạng thái thực hiện một phương pháp (chức năng) của một lớp đối tượng. 2. Các sơ đồ sử dụng : Biểu diễn các chức năng của hệ thống theo quan điểm của NSD. 3. Các sơ đồ lớp : Biểu diễn cấu trúc tĩnh của các lớp và mối liên hệ giữa chúng. 4. Các sơ đồ hợp tác : Biểu diễn không gian các đối tượng, các mối liên hệ và các tương tác của hệ thống. 5. Các sơ đồ triển khai : Biểu diễn sự triển khai các phần tử lên các thiết bị phần cứng, cũng như cách thực hiện các chương trình trên các thiết bị này. 6. Các sơ đồ trạng thái−dịch chuyển : Biểu diễn không gian các đối tượng, các mối liên hệ và các tương tác của hệ thống. 39
- 7. Các sơ đồ đối tượng: Biểu diễn các đối tượng, các mối liên hệ giữa chúng tương ứng với một sơ đồ hợp tác đơn giản, mà không thể hiện các trao đổi thông điệp. 8. Các sơ đồ dãy : Biểu diễn theo thời gian các đối tượng và các tương tác giữa chúng. Sau đây là một ví dụ về mô hình hoạt động trong UML : Hình 2.16 Một sơ đồ hoạt động trong UML Hình 2.16 Sơ đồ hoạt động chứa các đối tượng trong UML 40
- Câu hỏi chương 2 1. Thế nào là phân tích hệ thống (PTTKHT) ? Bản chất và yêu cầu của PTTKHT là gì ? Mục đích của PTTKHT ứng dụng trong tin học hoá xí nghiệp. Hãy liên hệ với một bài toán tin học hoá xí nghiệp nào đó mà anh (chị) biết. 2. Hãy đánh giá về các phương pháp PTTKHT. Trình bày những ý tưởng cơ bản của hai phương pháp “cổ điển” SADT và MERISE. 3. Trình bày các quan điểm PTTKHT theo ba trục toạ độ. 4. Tóm tắt phương pháp PTTKHT hướng đối tượng sử dụng UML. 5. Trình bày các thành phần cơ bản của một hệ thống thông tin. 41
- CHƯƠNG 3 Phân tích hiện trạng When I examine myself and my methods of thought, I come to the conclusion that the gift of fantasy has meant more to me than my talent for absorbing positive knowledge. Albert Einstein Hiện nay, có rất nhiều phương pháp phân tích hiện trạng, mà trong khoa học xã hội và nhân văn, người ta thường gọi đó là các phương pháp và kỹ thuật điều tra xã hội học. Việc chọn sử dụng một phương pháp, hay sự nhấn mạnh nhiều hơn đến một phương pháp nào đó so với những phương pháp khác hoàn toàn tùy thuộc vào thói quen hoặc nhu cầu cụ thể của người phân tích. Thực tế, người ta thường sử dụng bốn phương pháp phân tích hiện trạng sau đây : 1. Phương pháp phân tích tài liệu 2. Phương pháp quan sát 3. Phương pháp thực nghiệm 4. Phương pháp phát vấn (hay trưng cầu ý kiến), gồm ba loại : − Phương pháp ăngkét. − Phương pháp mêtríc − Phương pháp phỏng vấn Chương này giới thiệu phương pháp phỏng vấn (interview), một phương pháp rất phổ biến trong việc phân tích hiện trạng của hệ thống và giới thiệu một số công cụ cho phép hợp thức hoá kết quả phỏng vấn. Đây là giai đoạn đầu của quá trình phân tích và thiết kế. Về mặt lý luận, mặc dù có thể áp dụng nhiều kỹ thuật khác nhau, như dùng phiếu điều tra, gửi câu hỏi đến các đối tượng cần nghiên cứu, v.v , nhưng phương pháp phỏng vấn bằng cách tiếp xúc trực tiếp hệ thống cần phân tích vẫn là cách dễ thực hiện nhất và có hiệu quả nhất. I. Phương pháp phỏng vấn (interview) I.1. Nguyên lý của phương pháp Phỏng vấn là tìm cách thu nhập thông tin qua các câu hỏi và các câu trả lời. Người phân tích (NPT) đặt câu hỏi cho đối tượng cần được khảo sát, sau đó ghi vào phiếu hay báo cáo kết quả phỏng vấn khi kết thúc cuộc phỏng vấn. Yêu cầu đối với NPT là phải có nhiều kinh nghiệm, có kiến thức chuyên môn, ở đây là kiến thức về Tin học, và có sự am hiểu sâu sắc lĩnh vực cần được khảo sát cũng như trình độ điêu luyện và thành thạo một cách nhuần nhụy nghệ thuật phỏng vấn. 42
- Tính nghệ thuật trong phỏng vấn liên quan đến ba yếu tố là : đặt câu hỏi, lắng nghe và điều tra sáng tạo. Nghệ thuật đặt câu hỏi Trong thực tế, nếu NPT chỉ lắng nghe các câu trả lời của người được phỏng vấn một cách thụ động thì sẽ không đạt được kết quả. NPT rất dễ sa vào những chi tiết lan man, thiếu trọng tâm, lạc đề hoặc rơi vào những sự kiện hay những ý tưởng vụn vặt không gắn gì với những vấn đề cần nắm bắt của hệ thống. Để khắc phục tình trạng trên, NPT phải thực hiện các yêu cầu sau : Sắp xếp theo thứ tự rõ ràng và chính xác các khía cạnh đưa ra để hỏi. Nội dung câu hỏi phải cụ thể tường minh, chỉ có thể hiểu theo một nghĩa, tránh những câu hỏi mập mờ hàm ý nhiều nghĩa bên trong. Các câu hỏi phải đi thẳng vào vấn đề, tránh dẫn dắt người theo ý muốn chủ quan của mình, thiếu tính tế nhị. Chỉ nên hỏi từng câu hỏi và phải chú ý đến những chi tiết chưa rõ hay người trả lời chưa trả lời đúng trọng tâm vì cố tình hay vô ý. Nghệ thuật lắng nghe Biết cách lắng nghe là một việc rất khó khăn, cần được rèn luyện và phát triển theo thời gian. Lắng nghe một cách chủ động, sáng tạo đòi hỏi phải có sự nhạy cảm cao trong tư duy, kết hợp giữa trực giác và cảm giác một cách chính xác. NPT cần chú ý khi lắng nghe : Chăm chú, chủ động thể hiện sự đồng cảm với người nói, biểu thị khả năng có thể thấu hiểu được những ý nghĩ và hành động của người nói. Biết thu nhận (cả nghĩa bóng lẫn nghĩa đen), biết phán đoán và suy luận, biết chắt lọc và hiểu được những điều được nghe, được cảm nhận. Biết kiên nhẫn chờ đợi, với một tình cảm chân tình, và có khả năng chia sẻ, gợi ý những điều chưa rõ. Nghệ thuật biến phỏng vấn thành một cuộc điều tra sáng tạo Phỏng vấn đòi hỏi phải tiến hành như một quá trình ứng xử sáng tạo “thiên biến vạn hóa”. Như đã biết, sẽ không bao giờ có hai đối tượng được phỏng vấn trả lời hoàn toàn đồng nhất với nhau. Vì vậy, kết quả một cuộc phỏng vấn hoàn toàn tuỳ thuộc vào khả năng của NPT. I.2. Phân tích hiện trạng Phân tích (hay tìm hiểu) hiện trạng sử dụng phương pháp phỏng vấn để nắm được từ tổng quát đến chi tiết về một số lĩnh vực thuộc ví nghiệp (XN) có dự định Tin học hoá. Đó là quá trình tiếp xúc giữa NPT với nhiều loại người khác nhau tuỳ theo chức năng công tác của họ trong XN : là lãnh đạo, quản lý hay thừa hành. Người lãnh đạo cho biết một cách tổng thể về tổ chứ c XN, nhiệm vụ cụ thể của từng bộ phận, các mục tiêu trung hạn và dài hạn của XN. Người quản lý cho biết các chức năng thuộc lĩnh vực họ đang phụ trách. Người thừa hành cho biết thông tin về một công việc cụ thể. Khi phân tích hiện trạng, NPT sẽ làm việc với hai nhóm đối tượng : nhóm lãnh đạo và nhóm các vị trí làm việc. 43
- I.3. Phỏng vấn lãnh đạo a) Mục tiêu • Phỏng vẫn lãnh đạo nhằm hiểu được tính tổng thể của tổ chức, của từng lĩnh vực và của từng bộ phận. • Phỏng vấn được tiến hành tuần tự theo cấu trúc phân cấp của hệ thống tổ chức : đầu tiên là ban giám đốc, sau đó đến các bộ phận (phòng, ban ) chức năng. • Qua phỏng vấn, càng nắm được nhiều hồ sơ của nhiều lĩnh vực, nhiều báo cáo biểu mẫu thống kê hàng tháng, hàng quý, hàng năm, v.v càng tốt. b) Kết quả phỏng vấn Kết quả phỏng vấn là : Phát biểu lại vấn đề (cần Tin học hoá) một cách chính xác. Liệt kê các mục tiêu XN cần đạt được, các con số có tính toàn cục. Giới hạn những vị trí làm việc chính liên quan đến lĩnh vực quan tâm. Xác định phạm vi phân tích khả thi. Phạm vi phân tích khả thi (những gì cần làm, làm như thế nào và những gì thì không cần làm ?) thường không rõ ràng lúc tiến hành phỏng vấn, tuy nhiên, cùng với quá trình nhận thức hiện trạng, phạm vi này càng lúc càng rõ ra. Liệt kê những hạn chế, ràng buộc về phương tiện, thời gian và kinh phí. I.4. Phỏng vấn các vị trí làm việc a) Mục đích Phỏng vấn các vị trí làm việc nhằm tiếp thu được tất cả những công việc cùng các thông tin cần xử lý ở tất cả các vị trí làm việc thuộc lĩnh vực nghiên cứu. Các cuộc phỏng vấn và các buổi cũng cố kết quả phỏng vấn tiếp theo giúp NPT nhận thức được hiện trạng và dựa trên hiện trạng này, tiếp tục phát triển các giai đoạn tiếp theo. b) Phỏng vấn Tại mỗi vị trí làm việc liên quan đến lĩnh vực đang xét, cần phỏng vấn người phụ trách và những người thừa hành ở đó. Ví dụ : Khi nghiên cứu hiện trạng lĩnh vực quản lý vật tư, hàng hóa, những vị trí làm việc sau đây sẽ được tiến hành phỏng vấn : thủ kho, kế toán, nhân viên cung ứng, nhân viên thống kê và lập phiếu, v.v NPT cần đặt ta những câu hỏi thường có dạng như sau : Đối với mỗi hồ sơ : - “Hồ sơ này dùng để làm gì ?” - “Nguồn gốc (xuất xứ) của hồ sơ ?” - " Hồ sơ này sẽ giao cho ai ?”, v.v Đối với mỗi công việc : - “Cái gì đã khởi động công việc này ? “ - “Công việc này tạo ra kết quả gì ? “ - “Công việc này được làm như thế nào ?” 44
- Câu trả lời của người được hỏi cho phép NPT mô tả từng công việc như sau : • Những sự kiện khởi động một công việc, • Chu kỳ và thời lượng thực hiện, • Khối lượng dữ liệu liên quan, • Các qui tắc cần áp dụng để thực hiện công việc. Hình 3.23 Phỏng vấn các vị trí làm việc NPT quan sát sự luân chuyển thông tin là các hồ sơ giữa các vị trí làm việc. Vật mang thông tin có thể là giấy in, lời nói thể hiện dưới nhiều dạng : hồ sơ in, hoặc viết tay, điện thoại, telex, fax., v.v Hiện nay, giấy vẫn là vật mang chủ yếu. c) Báo cáo kết quả phỏng vấn Chú ý : Khái niệm vấn đề chưa được định nghĩa chặt chẽ ở đây, được hiểu là tập hợp các hành động thực hiện liên tục tại một vị trí. Nếu một trong những vấn đề trên không được trả lời, NPT phải tìm cách phát hiện ra các điểm không bình thường. Ngoài ra, NPT phải ghi lại những ý kiến, mong muốn hoặc khó khăn của những người được phỏng vấn về việc làm của họ. Để tránh các trở ngại tâm lý, người phụ trách phỏng vấn cần tiếp xúc trước với những người sẽ được đối thoại để giới thiệu với họ về cách thức làm việc, sự cần thiết của phỏng vấn, v.v Kết quả phỏng vấn được NPT tóm lược và trình bày trong báo cáo kết quả phỏng vấn. Ví dụ dưới đây mô tả một mẫu báo cáo kết quả phỏng vấn : Tên cơ quan Tin học, Đề án số : Địa chỉ, điện thoại Người thực hiện : BÁO CÁO KẾT QUẢ PHỎNG VẤN Cơ quan : Địa chỉ, điện thoại : Người được hỏi : Chức danh : Chức vụ : Vấn đề 1 : Trả lời : Vấn đề 2 : Trả lời : Tài liệu : Tóm tắt : Các thoả thuận đạt được : Nhận xét : Xác nhận của cơ quan Ngày tháng năm Ký tên : 45
- Sau bước phỏng vấn, NPT thu nhận được cách thức luân chuyển hồ sơ, sự trao đổi thông tin và và cách lưu giữ chúng. I.5. Củng cố các phỏng vấn Chấm dứt công việc ở “hiện trường” chưa phải là kết thúc phỏng vấn. Sau các buổi phỏng vấn, NPT cần phải xem lại những gì thu thập được để hệ thống lại và sắp xếp chúng, dự kiến những gì phải tiến hành tiếp theo. Như vậy mục tiêu của bước củng cố phỏng vấn, ngoài việc chuẩn bị cho các giai đoạn tiếp theo (xác định các ý niệm cơ bản về dữ liệu, công thức tính toán ) còn nhằm để phát hiện được những điểm còn mơ hồ, từ đó tiếp tục nêu ra các câu hỏi phụ khi gặp lại những người đối thoại trong các buổi phỏng vấn kế tiếp. Thực tế, nếu người phân tích thực hiện việc phỏng vấn buổi sáng tại nơi liên quan, thì buổi chiều, họ có thể ở nhà để củng cố phỏng vấn. a) Thể hiện các mục tiêu và các hạn chế Với mỗi công việc tại một vị trí, kết quả thao tác trên các dữ liệu phụ thuộc vào một số quy tắc quản lý thể hiện những mục tiêu hoặc những hạn chế. Như đã trình bày, để nhận thức một HTTT, cần thâm nhập theo 3 mức : mức ý niệm, mức logic và mức vật lý. Mức sau sẽ bổ khuyết và chi tiết hoá mức trước. Có 3 loại quy tắc cho phép quá trình thâm nhập này. 1. Quy tắc quản lý Quy tắc quản lý là sự thể hiện các mục tiêu đã được chọn và những hạn chế được chấp nhận bởi XN. Quy tắc quản lý có nguồn gốc từ : Bên ngoài XN : luật lệ, quy định, tương quan lực lượng với khách hàng và với nhà cung cấp hàng hoá vật liệu Bên trong XN (xử lý, tính toán ) thể hiện những mục tiêu cần thực hiện. Ví dụ : - Kiểm kê được thực hiện theo chu kỳ (tuần, tháng, quý, năm ). - Các sản phẩm trước khi tiêu thụ phải được nhập kho thành phẩm. Các công thức tính toán mô tả các hành động của mỗi công việc. Ví dụ : - Lương cơ sở bằng lương cơ bản nhân với hệ số trượt giá. - Giá đơn vị của hàng hoá tồn kho theo công thức bình quân. 2. Quy tắc tổ chức Quy tắc tổ chức được định nghĩa khi đã nắm được các thành phần của hệ thống tổ chức XN, mô tả cái “ở đâu ?”, “ai ?” và cái “khi nào ?”. Ví dụ : - Thủ kho theo dõi trạng thái tồn trữ kho hàng. Đây là quy tắc quản lý vật tư - hàng hóa theo quy định của Nhà nước. - Phiếu giao hàng chỉ được giao nhận vào cuối ngày. Trường hợp này, quy tắc tổ chức phản ánh lề lối làm việc, không nhằm thể hiện mục tiêu cần phải đạt. - Đơn đặt hàng gửi cho một nơi cung cấp hàng hoá nào đó chỉ có thể gửi đi vào những ngày nhất định trong tuần. Trong nghiên cứu hiện trạng, NPT tiếp xúc với tổ chức cũ. Nhưng do những mục tiêu mới và mối quan tâm đến tối ưu hóa, NPT có thể đề xuất các quy tắc mới trong khuôn khổ các hạn chế của tổ chức. 3. Quy tắc kỹ thuật Quy tắc kỹ thuật liên quan đến mức tác nghiệp, mô tả các giải pháp kỹ thuật nhằm đạt được mục đích, trả lời câu hỏi “cách thực hiện thế nào ?”. 46
- Ví dụ : - Cấu hình của máy như thế nào (CPU, Memory, HDD, FDD ) ? - Có cần thiết nối mạng không ? - Nên chọn loại máy in nào ? b) Liệt kê các công việc NPT ghi kèm theo mỗi công việc những mô tả như sau : Tên công việc : được chọn sao cho dễ nhận dạng, không bị nhầm lẫn về sau. Điều kiện khởi động công việc thể hiện qua các sự kiện xảy ra. Các sự kiện này có thể đến từ bên ngoài hoặc đến từ vị trí làm việc khác Mục đích : mọi công việc đều sản sinh ra ít nhất một kết quả. Tần suất công việc : được ước tính theo các giá trị trung bình. Thời gian cần thiết : được ước tính theo các giá trị trung bình. Các quy tắc liên quan : liệt kê theo thứ tự (quản lý, tổ chức, kỹ thuật). Lời bình : ghi những khó khăn, những đề nghị liên quan đến công việc. c) Liệt kê các công thức tính toán Tùy theo đặc tính (hành động hoặc tính toán) và tuỳ theo độ phức tạp của các công thức tính toán mà NPT lựa chọn một cách thức thể hiện thích hợp. Dưới đây là một số phương pháp thể hiện : Dùng ngôn ngữ thông thường : tuy có tính trực quan, nhưng đôi khi nặng nề, thiếu chính xác, vì vậy thường được dùng cho các công thức đơn giản. Dùng ngôn ngữ đặc tả : nhằm chuẩn bị cho bước lập trình tiếp theo, cho phép phân rã một công thứhc p ức tạp thành những công thức đơn giản hơn. Dùng công thức toán học : thể hiện chính xác nhưng đòi hỏi đặt tên dữ liệu. Ví dụ : Số lượng vật tư, hàng hóa tồn kho cuối kỳ được tính theo công thức : Ncuối kỳ = Ntồn đầu kỳ + Nnhập trong kỳ − Nxuất trong kỳ Các phương pháp khác : dùng bảng quyết định, cây quyết định hoặc lưu đồ thể hiện mặt tĩnh của hệ thống. d) Liệt kê dữ liệu Tiếp tục nghiên cứu tập hợp các hồ sơ đã được photocopy. Thông thường rất ít hồ sơ có đủ lượng thông tin cần thiết. Cần sắp xếp, phân loại những hồ sơ có mối liên quan họ hàng với nhau và ấn định thứ tự trước khi phân tích. Ở đây, cần phân biệt thông tin mà vật mang “chuyên chở” với dữ liệu mà hồ sơ chứa đựng. Để thể hiện thông tin, người ta sử dụng dữ liệu. Thông tin được thể hiện qua các giá trị của các dữ liệu. Ví dụ : “Hóa đơn No 88512 của nhà cung cấp A phải được thanh toán chậm nhất là vào ngày 10/09/1996” là thông tin. Ở ví dụ trên, nhóm “No 88512” là giá trị của dữ liệu “số thứ tự hóa đơn”, “A” là giá trị của “tên nhà cung cấp” và “10/09/1996” là giá trị của “ngày giới hạn thanh toán”. Như vậy toàn bộ thông tin được thể hiện qua ba dữ liệu : số thứ tự hóa đơn, tên nhà cung cấp và ngày giới hạn thanh toán. Quá trình trên giúp NPT lập được hồ sơ về danh sách, chuẩn bị cho việc xây dựng từ điển dữ liệu. Hồ sơ này xác định một ngôn ngữ chung cho mỗi người tham gia đề án, được sử dụng cho bất kỳ áp dụng tin học nào và luôn được bổ sung dữ liệu mới. 47
- Sau khi tinh chế tập hợp dữ liệu trong danh sách dữ liệu, NPT chuẩn bị xây dựng từ điển dữ liệu. Với mỗi dữ liệu thu nhập được, NPT mô tả trên tờ phiếu gồm các mục sau : Tên dữ liệu : chọn tên tượng trưng phù hợp với ngôn ngữ thường dùng của XN. Định nghĩa : phân tích sâu hơn bản chất của dữ liệu, dễ hiểu nhưng tổng quát, xác định được phạm vi các giá trị dữ liệu có thể nhận. Cấu trúc dữ liệu : chữ cái, chữ số (ký tự), số, hay kiểu logic , đồng thời chỉ rõ số ký tự cần thiết để biểu diễn cấu trúc đó. Kiểu : để xác định kiểu dữ liệu. Dữ liệu có thể là : - hiện diện trong tổ chức như thế nào ? - để chế biến theo công thứ c tính toán ; - kết nối nhiều dữ liệu với nhau thành chuỗi ; - sơ cấp (không được chế biến). Dữ liệu sơ cấp không tính chất tuyệt đối, tuỳ theo cách xử lý dữ liệu mà có thể thay đổi. Ví dụ : “địa chỉ khách hàng” có thể được xem là dữ liệu kiểu chuỗi để chế biến (tách riêng đường phố, phường ), hoặc được xem là kiểu sơ cấp, v.v Định lượng : ước tính số các giá trị khác nhau mà dữ liệu có thể nhận được. Ví dụ : liệt kê một số giá trị dữ liệu làm ví dụ. Lời bình : có thể diễn đạt tuỳ ý nhằm giải thích dữ liệu, hoặc đề nghị một định nghĩa khác. Ngoài ra, NPT có thể ghi thêm hai mục : Mức : chính xác hóa dữ liệu nằm ở mức nào : ý niệm, logic, hoặc vật lý. Ngày tạo : ghi ngày tháng năm tạo dữ liệu. Chú ý : Quản lý danh sách dữ liệu và từ điển dữ liệu cho phép tiết kiệm thời gian đáng kể trong việc cập nhật cũng như tham khảo. Cũng cố phỏng vấn giúp NPT xác định nhiều điểm cần được làm sáng tỏ. Một lần nữa cần lưu ý đến tâm lý của NSD trong các buổi tiếp xúc liên quan đến tương lai của ứng dụng Tin học. Vì ở đây, NPT đã đụng chạm đến cách thức, lề lối làm việc và những vấn đề thường nhật của họ. NPT chú ý giải thích càng nhiều càng tốt về những điểm mà Tin học có thể tham gia, làm tăng hiệu quả công việc và lợi ích của XN. Mặt khác, NPT cũng phải lưu tâm uốn nắn những ngộ nhận, cũng như những ảo tưởng về Tin học (cái gì làm được, cái gì thì không, v.v ). II. Tổng hợp các kết quả phân tích hiện trạng Giống như một người quan sát hiếu kỳ tìm hiểu một cỗ máy cơ khí phức tạp bằng cách tháo rời ra từng bộ phận, NPT thông qua các buổi phỏng vấn đã phát hiện các vị trí làm việc khác nhau. Bằng cách “tháo rời”, NPT thu nhận được từ các vị trí làm việc nhiều “chi tiết rời” và nhóm chúng lại thành ba loại : quy tắc, công việc và dữ liệu. Từ đó, NPT xây dựng dần các kế hoạch “lắp ráp” nhằm thể hiện hoạt động của hệ thống XN trong lĩnh vực nghiên cứu. Do khó có thể tiếp cận trực tiếp toàn bộ hệ thống, người ta thường chọn cách tiếp cận phân tích. Từ kết quả phân tích, người ta bắt đầu quá trình tổng hợp. II.1. Xác định các phân hệ Ý tưởng chủ đạo cho việc ý niệm hóa các phân hệ là nhóm những hoạt động có sự phù hợp nào đó giữa chúng về ba mặt : mục tiêu hướng tới, các quy tắc tác động đến và các dữ liệu thao tác. 48
- Định nghĩa : Một phân hệ xác định một hoặc nhiều mục tiêu mà XN phải đạt được. Phân hệ được mô tả bởi một tập hợp các hoạt động, các quy tắc quản lý và các dữ liệu tác nghiệp. Để xác định một phân hệ : Nhóm các hoạt động phù hợp với nhau về mục tiêu cần đạt được. Liên hệ tập hợp các quy tắc quản lý với những hoạt động này. Liên hệ “cộng đồng” dữ liệu với những hoạt động này : tài chính, nhân lực, nguyên liệu hoặc một kiểu chức năng nào đó : sản xuất, kiểm soát ngân sách, quan hệ con người. Ví dụ : Một XN sữa chữa nhỏ có thể được chia ra thành bốn phân hệ : Quản lý vật tư hàng hóa Theo dõi hoạt động sữa chữa Quản lý nhân sự, tiền lương Kế toán. Nhận xét : Thông thường, việc phân chia tập hợp các hoạt động và tập hợp các quy tắc để ghép chúng vào một phân hệ đặc thù nào đó không phức tạp. Tuy nhiên, việc tách dữ liệu riêng cho từng phân hệ lại khó thực hiện. Người ta thừa nhận sự có mặt của các dữ liệu chung cho nhiều phân hệ. Các dữ liệu chung này có vai trò hạt nhân của các giao diện và là cơ sở cho việc xây dựng một ý niệm tổng thể các dữ liệu, độc lập với các xử lý, hợp thành một ngân hàng dữ liệu phục vụ cho mọi phân hệ. Việc phân chia thành các phân hệ có ưu điểm sau : Nếu đối tượng nghiên cứu có “kích thước” nhỏ, nó là một lĩnh vực duy nhất. Trái lại, nếu kích thước đối tượng lớn, lúc ấy khó lòng hình dung đầy đủ toàn bộ các xử lý xảy ra. Mỗi phân hệ được giao cho một nhóm NPT. Các nhóm làm việc song song với nhau. Việc phân nhóm không nhất thiết cố định trong toàn bộ tiến trình phân tích và thiết kế. Ví dụ : có thể giữ nguyên một lĩnh vực duy nhất về phương diện ý niệm, sau đó tách rời nó ra khi thực hiện hoặc áp dụng. Việc phân chia đối tượng nghiên cứu không làm mất tính tổng thể của phương pháp. Thật vậy, đối với dữ liệu, người ta xây dựng một mô hình duy nhất trước khi tạo ra các lĩnh vực. Chính vì để xác định các lĩnh vực, người ta ghép cho mỗi lĩnh vực một tập hợp các dữ liệu thuần nhất. Như vậy , người ta tách mô hình dữ liệu thành các tiểu mô hình phục vụ cho từng lĩnh vực, không kết hợp nhiều mô hình dữ liệu đặc trưng cho từng lĩnh vực thành một mô hình dữ liệu duy nhất. 49
- II.2.Phân tích dữ liệu Phân tích dữ liệu là để : Thanh lọc các dữ liệu đồng nghĩa và nhiều nghĩa từ danh sách dữ liệu “thô” thu nhập qua các buổi phỏng vấn Xây dựng từ điển dữ liệu (Data Dictionary) là tập hợp từ vựng chính xác mà mọi người tham gia dự án đều đồng ý. Các bước phân tích dữ liệu được cho ở . II.2.1.Khái niệm về dữ liệu sơ cấp Một dữ liệu được xem là sơ cấp khi toàn bộ các ký tự tạo nên dữ liệu luôn luôn được sử dụng một cách có hệ thống. Xét 2 ví dụ sau : Ví dụ: Giả sử dữ liệu mã sản phẩm có tên MãHàng có giá trị H025 có mặt trong cơ sở dữ liệu là do hai dữ liệu ghép lại : chữ H có ý nghĩa rằng sản phẩm thuộc về một loại đặc biệt nào đó và 025 là số của sản phẩm. Như vậy : Loại sản phẩm có giá trị thay đổi, là một chữ cái từ A đến Z. Số của sản phẩm có giá trị thay đổi từ 0 đến 999. Nếu như khái niệm về loại sản phẩm không có mặt trong ứng dụng đang xét, ta có thể xem rằng MãHàng là sơ cấp. Dữ liệu thô 1. Xử lý dữ liệu không sơ cấp Dữ liệu sơ cấp Loại bỏ dữ liệu đồng nghĩa và nhiều nghĩa 2. Thanh lọc dữ liệu Dữ liệu đã thanh lọc Tính thích đáng của dữ liệu tính toán nghĩa 3. Xây dựng từ điển dữ liệu Từ điển dữ liệu Các công thức tính toán Hình 3.24 Phân tích dữ liệu Ví dụ : Dữ liệu địa chỉ khách hàng ĐịaChỉKH được xem là dữ liệu sơ cấp nếu được dùng làm địa chỉ thư tín, công văn. 50
- Trái lại, nếu cần lập danh sách khách hàng của một thành phố, hoặc của một tỉnh, thì bản thân ĐịaChỉKH là dữ liệu hỗn hợp và phải được phân chia thành các dữ liệu sơ cấp. Ta có thể phân chia như sau : SốNhàKH Số nhà của khách hàng. Ví dụ : 17. PhốKH Tên phố (hoặc tên đường, hẻm ) khách hàng lưu trú. Ví dụ Lê Duẩn. MãBĐ Mã bưu điện của khách hàng (Việt nam chưa có). TPKH Tên thành phố nơi khách hàng lưu trú. Ví dụ Đà Nẵng. QuốcGia Tên nước (nếu có). Ví dụ Việt nam. Ta thấy rằng mà bưu điện MãBĐ nếu có là dữ liệu hỗn hợp do mã tỉnh và mã huyện ghép lại. II.2.2.Thanh lọc dữ liệu Khi xây dựng một từ điển dữ liệu, cần phải phân tích dữ liệu thành các dữ liệu sơ cấp theo quan hệ dữ liệu − tên gọi dữ liệu. Sự không phù hợp của dữ liệu thể hiện ở hai dạng cần xử lý : các dữ liệu đồng nghĩa và các dữ liệu nhiều nghĩa a) Dữ liệu đồng nghĩa Dữ liệu đồng nghĩa là tên gọi khác để chỉ cùng một loại dữ liệu, một sự kiện. Như vậy, một dữ liệu có thể có hai tên gọi khác nhau, dẫn đến sự dư thừa thông tin. Cho nên, với một dữ liệu chỉ nên có một tên dữ liệu. Ví dụ : Mã số mặt hàng, danh mục mặt hàng. Đơn giá, giá đơn vị. Trong ví dụ đang xét, những tên dữ liệu MãKH và SốH ĐĐặtHg đều có nghĩa rằng những khách hàng này đã đặt hàng tại XN DanaFood. Ở đây chỉ nên có một tên dữ liệu là MãKH. b) Các dữ liệu có nhiều nghĩa Dùng cùng một tên để chỉ các đối tượng, sự kiện khác nhau. Ví dụ : Tài khoản trong một cơ sở sản xuất kinh doanh để theo dõi các hoạt động sản xuất kinh doanh. Tài khoản trong ngân hàng để theo dõi tiền rút, tiền gửi của khách hàng. Dữ liệu SLSX sử dụng trong phòng Kinh doanh chỉ ra số lượng sản phẩm cần sản xuất để đáp ứng một đơn đặt hàng nhưng trong kho lưu trữ không còn đủ bán. SLSX cũng được dùng để chỉ ra số lượng cần sản xuất thực sự của phân xưởng sản xuất theo nhu cầu của đơn đặt hàng và những ràng buộc về sản xuất. Như vậy, số lượng sản xuất là một tên dữ liệu, nhưng có hai cách sử dụng khách nhau, gọi là dữ liệu có nhiều nghĩa. Trong một hệ quản trị CSDL, tên dữ liệu chỉ có thể tương ứng với một dữ liệu. Như vậy, có thể dùng hai tên dữ liệu : − SLĐặt : Số lượng do phòng Kinh doanh đặt hàng. − SLSX : Số lượng thực sự phải sản xuất. II.2.3.Xây dựng từ điển dữ liệu Sau khi đã thanh lọc dữ liệu, cần phải giữ lại những dữ liệu thật sự có ích, đó là nguyên lý thích đáng, và giữ lại những dữ liệu không thể được xác định bởi những dữ liệu sơ cấp có mặt trong cơ sở dữ liệu, đó là những dữ liệu tính toán. 51
- a) Nguyên lý thích đáng Ví dụ : Xét dữ liệu số lượng đặt hàng SLĐặt. Phân xưởng sản xuất nhận tất cả đơn đặt hàng của khách hàng chuyển đến (từ phòng Kinh doanh). Có thể suy ra số lượng cần sản xuất từ những dữ liệu cần có (trạng thái kho lưu trữ hiện hành, số lượng đang sản xuất, và số lượng đặt hàng) để thỏa mãn nhu cầu của khách hàng. Như vậy, dữ liệu SLĐặt là vô ích và sẽ không có mặt trong từ điển dữ liệu. b) Các dữ liệu tính toán Cần phân biệt trong số những dữ liệu tính toán : 1. Những dữ liệu có thể được xác định ở mọi thời điểm nhờ những dữ liệu sơ cấp có trong CSDL. Ví dụ 1 : Số tiền giảm giá cho mỗi đơn đặt hàng STGiảm phụ thuộc vào doanh số của năm trước và doanh số có được các tháng từ đầu năm cho đến tháng khách hàng đăng ký đặt hàng. Trong năm, những dữ liệu này luôn có mặt và không bị thay đổi, cho nên, để dữ liệu STGiảm trong cơ sở dữ liệu là không cần thiết. Ví dụ 2 : Giá trị của dữ liệu SLDựTrữ có thể được xác định tại mọi thời điểm buôn bán thoả thuận. Như vậy, dữ liệu này cũng không cần để trong cơ sở dữ liệu. 2. Những dữ liệu làm cho các dữ liệu trong cơ sở dữ liệu có thể tiến triển. Ví dụ : Số tiền trong một đơn đặt hàng GiáTiền được tính từ số lượng sản phẩm đặt hàng và giá đơn vị của sản phẩm. Số lượng đặt hàng chỉ liên quan đến đơn đặt hàng và không thể thay đổi theo thời gian. Ngược lại, giá đơn vị của sản phẩm có thể thay đổi (do nhiều lý do), GiáTiền của đơn đặt hàng sẽ được tính lại sau một thời gian nào đó và sẽ khác với số tiền xác định tại thời điểm đặt hàng. SôTiền phải có mặt trong cơ sở dữ liệu (có thể lưu giữ giá đơn vị của sản phẩm liên quan tại thời điểm đặt hàng). Trong ví dụ này, mọi dữ liệu dù tính toán hay không đều có mặt trong từ điển dữ liệu. Tuy nhiên, trong những bước phân tích về sau, những dữ liệu tính toán có thể được xác định ở mọi thời điểm, chẳng hạn STGiảm, sẽ không còn trong từ điển. c) Cách biểu diễn từ điển dữ liệu Từ điển dữ liệu là một danh sách các dữ liệu được sử dụng trong hệ thống thông tin, với một số đặc trưng tên, kiểu, lĩnh vực sử dụng, các quy tắc tác động. Dưới đây là mẫu mô tả từ điển dữ liệu : STT Tên dữ liệu Loại Mô tả kiểu dữ liệu Công thức Trong đó : STT Số thứ tự của dữ liệu. Dữ liệu Diễn giải dữ liệu đã liệt kê trong bảng dữ liệu sơ cấp, ở đây chỉ liệt kê tên dữ liệu theo thứ tự ABC để dễ tìm kiếm. Loại TT chỉ dữ liệu tính toán, KTT chỉ dữ liệu không tính toán. 52
- Mô tả kiểu dữ liệu có hai cách xác định : hoặc kiểu dữ liệu và độ rộng của dữ liệu : N Dữ liệu số N6 Số có 6 chữ số. N6.2 Số có 8 chữ số với 2 chữ số lẻ (sau dấu chấm thập phân). C Dữ liệu văn bản (ký tự) D Ngày tháng năm. L Dữ liệu Logic (true, false) hoặc chỉ kiểu mở rộng : 1, 2, 3 Chỉ nhận 3 giá trị số là 1, 2, hoặc 3 xanh, đỏ, vàng, tím Chỉ nhận 4 giá trị loại văn bản là xanh, đỏ, vàng, tím. v.v Công thức Mỗi dữ liệu có giá trị nhận được bằng cách áp dụng một công thức sẽ được ký hiệu bởi CT1, CT2, và được trình bày sau từ điển. Mỗi công thức tương ứng với một công thức tính toán hoặc một cấu trúc lập trình (lựa chọn), hoặc tổ hợp cả hai. Ví dụ : Công thức tính toán : GiáTiền = ĐơnGiá * SốLượng STGiảm = GiáTiền × tỷ lệ giảm Cấu trúc lập trình : IF DoanhSố > 10 000 000 THEN STGiảm = 10% ELSE STGiảm = 0% ENDIF Các phép toán logic NOT, AND và OR có thể sử dụng trong các công thức. 53
- II.3.Sơ đồ dòng dữ liệu II.3.1.Khái niệm Sơ đồ (hay lưu đồ) dòng dữ liệu (DFD - Data Flow Diagram) là công cụ để mô tả các dòng thông tin của hệ thống đang xét. DFD dễ viết, dễ đọc, dễ hiểu và được ứng dụng rất phổ biến. DFD được xây dựng từ các hình vẽ và ký hiệu quy ước. Có nhiều cách xây dựng DFD, thông dụng là phương pháp De Macro-Yourdon, Gane Sarson và MERISE (ở Pháp). Sau đây là bảng trình bày các phương pháp : Gane-Sarson DeMarco-Yourdon MERISE 1 Quá trình Mô tả Mô tả Mô tả quá trình quá trình quá trình Thực thể Tên thực thể Tên thực thể Tên thực thể trong/ngoài trong/ngoài trong/ngoài Kho dữ liệu Tên kho dữ liệu Tên kho dữ liệu Dòng dữ liệu Dữ liệu Dữ liệu 1 chuyển chuyển Một DFD gồm bốn thành tố : quá trình, thực thể, kho dữ liệu và dòng dữ liệu chuyển. Quá trình Quá trình (process) mô tả hoạt động (activities) hay phép biến đổi (transform) một hoặc nhiều dòng dữ liệu vào (input) thành một hoặc nhiều dòng dữ liệu ra (output). Quá trình không chỉ ra chi tiết logic hay thủ tục xử lý. Trong sơ đồ DFD, một quá trình có thể là một người sử dụng hay máy tính. Thực thể Các thực thể (entities) xác định ranh giới (boundary), hay phạm vi (scope), hay ngữ cảnh (context) của hệ thống đang xét, để cung cấp cái vào cho hệ thống và lấy cái ra từ hệ thống. Các thực thể có thể nằm bên trong (internal) hay bên ngoài (external), tạo thành các nguồn và các đích của hệ thống. Mỗi thực thể có thể là người, tổ chức hoặc là một hệ thống khác tương tác với hệ thống đang xét. Kho dữ liệu Kho dữ liệu (data stores) chỗ chứa những thông tin được lưu lại theo thời gian. Đó là các tập tin xử lý thủ công hay tự động, các cơ sở dữ liệu, hay bất cứ hình thức tập trung dữ liệu nào (bảng biểu báo cáo, danh mục tra cứu, từ điển, hộp thư ) đều có thể được xem như kho dữ liệu. Dòng dữ liệu Dòng dữ liệu (data flows) là phương tiện lưu chuyển thông tin thể hiện cái vào và cái ra. Dòng dữ liệu có thể là báo cáo, biểu mẫu, văn bản, thư tín, thông điệp hay dữ liệu nói chung. 54
- Các dòng dữ liệu thể hiện sự tương tác trong hệ thống. Chúng được tạo thành từ tập hợp các vật mang thông tin (giấy, màn hình ) có cùng bản chất, đi từ nơi phát (nguồn) đến nơi nhận (đích). DFD chỉ ra cách chuyển tiếp thông tin từ một quá trình này sang một quá trình khác. Như vậy, cần phải có sẵn những thông tin trước khi thực thi một quá trình. DFD là một phần của quá trình phân tích chứ không phải một phần của quá trình điều tra. II.3.2.Phân biệt DFD với sơ đồ khối DFD khác với sơ đồ khối, hay lưu đồ (Flowcharts) : Các quá trình trong DFD có thể đặt song song, một số hoạt động đồng thời. DFD thể hiện các dòng dữ liệu luân chuyển trong một hệ thống. Sơ đồ khối thể hiện tuần tự thực hiện dãy các bước xử lý trong một thuật toán. DFD thể hiện quá trình ở các thời điểm khác nhau. DFD không giống sơ đồ khối về cách thể hiện các cấu trúc vòng lặp (do-while) và cấu trúc lựa chọn (if-then-else). II.3.3.Ví dụ : DFD mô tả quá trình khách hàng đặt hàng, thanh toán tiền và nhận : 1 2 Khách Đơn đặt Hoá Hoá Người Lập Làm hàng đơn đơn bán hàng thủ tục kế hoạch TT giao hàng thanh toán Phiếu giao hàng DL khách DL hàng DL người hà i bá Hàng 4 Phiếu 3 Xác nhận Giao hàng nhận hàng Thanh đ TT toán Hình 3.25 Hệ thống mua bán hàng DFD dưới đây mô tả hệ thống tài chính cá nhân, giả sử của ông X nào đó : 55
- Giấy trả nợ Tài khoản Giấy i 1 Liệt kê Liệt kê đòi nợ Phiếu Chủ nợ Ông X thu chi thu chi trả nợ ghi tiền đã quyết toán trước đây Phiếu 4 rút Ông X tiền quyết toán Sổ tài khoản thu chi Phiếu Phiếu gửi rút tiền Nhân viên Phiếu tiền thu 3 2 Ông X Phiếu Tiền Ông X rút tiền thu chi Nguồn gửi tiền tài chính Xác nhận Phiếu rút tiền gửi tiền Ngân hàng Hình 3.26 Hệ thống tài chính cá nhân II.3.4.Xây dựng sơ đồ dòng dữ liệu a) Các mức khác nhau của DFD DFD cấp cao nhất, gọi là sơ đồ dòng dữ liệu cấp 0 được xem như một sơ đồ toàn cảnh (context diagram). Các sơ đồ dòng dữ liệu sẽ được lần lượt xây dựng từ trên xuống (top - down) bằng cách triển khai mỗi quá trình hay phép biến đổi của DFD cấp cao hơn thành một sơ đồ dòng dữ liệu chi tiết hơn cấp thấp hơn cho tới khi các phép biến đổi trở thành nguyên tố (nghĩa là chỉ thực hiện một tác vụ duy nhất). Tại mỗi mức, mỗi DFD có thể được vẽ trên một trang giấy (khổ A4 chẳng hạn). b) Các nguyên tắc Trong khi triển khai các mức DFD, cần tuân theo các nguyên tắc sau đây : Cân đối giữa DFD cấp cao (DFD mẹ) và DFD cấp thấp hơn (DFD con) : − Đầu vào và đầu ra của DFD con phải đồng nhất với đầu vào và đầu ra của phép biến đổi trong DFD mẹ mà từ đó DFD con được triển khai. − Triển khai từng cấp theo chiều ngang, không theo chiều dọc. − Tránh vẽ các lưu đồ quá lớn : một lưu đồ chỉ nên có tổng số các phép biến đổi và kho dữ liệu không quá 7. 56
- a 1 c Sơ đồ b 3 4 toàn cảnh 2 (Mức0) a e c 31 33 b d 32 Mức 1 322 b e d 321 323 325 d 324 Mức 2 Hình 3.27 Sơ đồ nhiều mức của DFD Từ mỗi phép biến đổi, xét xem nó đã là nguyên tố chưa, nếu chưa, lặp lại từ việc liệt kê sự kiện và đáp ứng, bổ sung vào danh mục sự kiện. Xem phép biến đổi như một hệ thống và tiếp tục triển khai cấp dưới. Bảo toàn dữ liệu : không có phép biến đổi hay kho dữ liệu nào có thể cho ra dữ liệu mà không nhận dữ liệu dữ liệu vào. Tránh các hố đen (black hole) : Không có phép biến đổi chỉ nhận dữ liệu vào mà không cho dữ liệu ra. Không có kho dữ liệu chỉ ghi mà không có truy xuất, nếu có các tệp cơ sở dữ liệu được lưu trữ dự phòng (backup dbf) thì phải thể hiện dong dữ liệu phục hồi (restore). Tuy nhiên, trong thực tiễn, không nên thể hiện các tệp backup trong DFD vì đó chỉ là biện pháp mang tính đối phó và lam rắc rối DFD. Miêu tả dòng dữ liệu chứ không phải dòng điều khiển.Tránh các dòng dữ liệu "xuyên qua" là những dòng dữ liệu vào và ra khỏi một phép biến đổi mà không bị biến đổi gì cả. Ưu tiên khai báo kho dữ liệu ở cấp cao nhất trong đó nhiều phép biến đổi tham chiếu đến. Mọi DFD phải bắt đầu và/hoặc kết thúc từ một quá trình. Trong hình vẽ dưới đây, cột bên trái là vẽ sai vì vi phạm quy tắc, cột bên phải là vẽ đúng quy tắc. 57