Giáo trình Phân tích thiết kế hệ thống - Nghề: Lập trình máy tính - Trình độ: Lành nghề

pdf 130 trang Gia Huy 17/05/2022 2610
Bạn đang xem 20 trang mẫu của tài liệu "Giáo trình Phân tích thiết kế hệ thống - Nghề: Lập trình máy tính - Trình độ: Lành nghề", để 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:

  • pdfgiao_trinh_phan_tich_thiet_ke_he_thong_nghe_lap_trinh_may_ti.pdf

Nội dung text: Giáo trình Phân tích thiết kế hệ thống - Nghề: Lập trình máy tính - Trình độ: Lành nghề

  1. BỘ LAO ĐỘNG - THƯƠNG BINH VÀ Xà HỘI TỔNG CỤC DẠY NGHỀ Dự án giáo dục kỹ thuật và dạy nghề (VTEP) tr×nh ®é ®µo t¹o cc GIÁO TRÌNH Môn học: PHÂN TÍCH THIẾT KẾ HỆ THỐNG Mã số: ITPGR08 NGHỀ: LẬP TRÌNH MÁY TÍNH Trình độ (lành nghề) Đà lạt - 2007
  2. Tuyên bố bản quyền : Tài liệu này thuộc loại sách giáo trình Cho nên các nguồn thông tin có thể được phép dùng nguyên bản hoặc trích dùng cho các mục đích về đào tạo và tham khảo . Mọi mục đích khác có ý đồ lệch lạc hoặc sử dụng với mục đích kinh doanh thiếu lành mạnh sẽ bị nghiêm cấm. Tổng Cục Dạy nghề sẽ làm mọi cách để bảo vệ bản quyền của mình. Tổng Cục Dạy Nghề cám ơn và hoan nghênh các thông tin giúp cho việc tu sửa và hoàn thiện tốt hơn tàI liệu này. Địa chỉ liên hệ: Dự án giáo dục kỹ thuật và nghề nghiệp Tiểu Ban Phát triển Chương trình Học liệu Mã tài liệu: . Mã quốc tế ISBN : 2
  3. LỜI TỰA Đây là tài liệu được xây dựng theo chương trình của dự án giáo dục kỹ thuật và dạy nghề, để có đươc giáo trình này dự án đã tiến hành theo hai giai đoạn. Giai đoạn 1 : Xây dựng chương trình theo phương pháp DACUM, kết quả của gian đoạn này là bộ khung chương trình gồm 230 trang cấp độ 2 và 170 trang cấp độ 3. Giai đoạn 2 : 29 giáo trình và 29 tài liệu hướng dẫn giáo viên cho nghề lập trình máy tính 2 cấp độ. Để có được khung chương trình chúng tôi đã mời các giáo viên, các chuyên gia đang làm việc trong lĩnh vực công nghệ thông tin cùng xây dựng chương trình. Trong giai đoạn viết giáo trình chúng tôi cũng đã có những sự điều chỉnh để giáo trình có tính thiết thực và phù hợp hơn với sự phát triển của lĩnh vực công nghệ thông tin. Phân tích thiết kế hệ thống là một giai đoạn quan trọng để xây dựng thành công một hệ thống thông tin. Xây dựng một hệ thống thông tin được gọi là thành công nếu hệ thống này đáp ứng được các yêu cầu của tổ chức đặt ra, có chu kỳ sống (life cycle) chấp nhận được, và hơn thế nữa có thể phát triển khi hệ thống yêu cầu. Trong thực tế nhiều hệ thống thông tin chỉ tồn tại trong một thời gian ngắn và sau đó không còn đáp ứng được nhu cầu của người sử dụng. Một trong những lý do là không quan tâm đến giai đoạn phân tích và thiết kế, để rồi khi tổ chức phát triển thì hệ thống không còn khả năng đáp ứng. Một lý do khác không kém phần quan trọng, là các nhà xây dựng hệ thống thông tin không được trang bị một cách đầy đủ các kiến thức và phương pháp cơ bản để có thể tiến hành việc xây dựng một hệ thống thông tin. Nếu phần phân tích thiết kế không hoàn chỉnh và đúng đắn thì sẽ dẫn đến việc cài đặt thất bại. Môn phân tích thiết kế hệ thống là một môn học chính cho các sinh viên chuyên ngành công nghệ thông tin trong các trường đại học và cao đẳng. Hiện nay có khá nhiều sách vỡ, tài liệu mô tả khá đầy đủ về các phương pháp phân tích thiết kế hệ thống thông tin của các chuyên gia tin học đầu ngành nhưng cũng không ít những tài liệu quá cô đọng hoặc rườm rà khó tiếp cận được. Trong giáo trình chúng tôi sử dụng các kiến thức về cơ sở dữ liệu, kiến thức và kỹ thuật lập trình do đó đòi hỏi người học cần trang bị trước những phần kiến thức liên quan. Trong quá trình biên soạn, mặc dù đã cố gắng tham khảo nhiều tài liệu và giáo trình khác nhưng tác giả không khỏi tránh được những thiếu sót và hạn chế. Tác giả chân thành mong đợi những nhận xét, đánh giá và góp ý để cuốn giáo trình ngày một hoàn thiện hơn. Tài liệu này được thiết kế theo từng mô đun/ môn học thuộc hệ thống mô đun/môn học của một chương trình, để đào tạo hoàn chỉnh nghề Lập trình máy tính ở cấp trình độ lành nghề và được dùng làm Giáo trình cho học viên trong các khoá đào tạo, cũng có thể được sử dụng cho đào tạo ngắn hạn hoặc cho các công nhân kỹ thuật, các nhà quản lý và người sử dụng nhân lực tham khảo. Đây là tài liệu thử nghiệm sẽ được hoàn chỉnh để trở thành giáo trình chính thức trong hệ thống dạy nghề. Đà lạt, ngày . tháng . năm . Giám đốc Dự án quốc gia 3
  4. MỤC LỤC ĐỀ MỤC TRANG 1. GIỚI THIỆU VỀ MÔ ĐUN/MÔN HỌC 5 2. CÁC HÌNH THỨC HỌC TẬP CHÍNH TRONG MÔ ĐUN/MÔN HỌC 9 3. BÀI 1 CÁC PHƯƠNG PHÁP PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 10 4. BÀI 2 CÁC PHƯƠNG PHÁP PHÂN TÍCH HỆ THỐNG 23 5. BÀI 3 CÁC PHƯƠNG PHÁP THIẾT KẾ VÀ XÂY DỰNG HỆ THỐNG 104 6. BÀI 4 CÁC VẤN ĐỀ BÊN CẠNH PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 117 7. BÀI 5 MỘT SỐ KIẾN THỨC VÀ KỸ NĂNG CẦN THIẾT 120 8. CÁC THUẬT NGỮ CHUYÊN MÔN 128 9. TÀI LIỆU THAM KHẢO 130 4
  5. GIỚI THIỆU VỀ MÔ ĐUN/MÔN HỌC Vị trí, ý nghĩa, vai trò mô đun/môn học : Vị trí của môn học: Môn học được bố trí sau khi học xong các môn cơ sở dữ liệu và lập trình nâng cao. Tính chất của môn học: là môn học lý thuyết chuyên ngành bắt buộc. Mục tiêu của mô đun/môn học: Nhằm đào tạo cho học viên nắm được các phương pháp phân tích, các phương pháp thiết kế và xây dựng hệ thống. Nắm được những vấn đề quan trọng khác bên cạnh phân tích và thiết kế hệ thống. Nắm các kiến thức và kỹ năng cần thiết về quản lý dự án và quy trình; biết tập hợp sự kiện và thông tin; tính khả thi và phân tích chi phí-lợi nhuận; khuynh hướng phối hợp phát triển ứng dụng (joint application development, JAD); kỹ năng giữa các thành viên và giao tiếp. Mục tiêu thực hiện của mô đun/môn học: - Chọn đúng phương pháp phân tích dựa vào vai trò hiện đại của người phân tích viên, các khối (Block) cấu thành hệ thông tin, việc phát triển hệ thông tin. - Vận dụng được phương pháp phân tích hệ thống và lập được các mô hình, bao gồm: mô hình dữ liệu, mô hình quy trình, mô hình mạng, mô hình đối tượng. - Vận dụng được phương pháp thiết kế hệ thống và xây dựng kiến trúc của hệ thống , thiết kế quy trình, thiết kế cơ sở dữ liệu, thiết kế phần nhập thông tin và xây dựng mẫu , thiết kế phần xuất thông tin và xây dựng mẫu, thiết kế phần giao diện với người sử dụng và xây dựng mẫu, thiết kế phần mềm và thiết kế hướng đối tượng. - Vận dụng được các kiến thức , kỹ năng bên cạnh phân tích và thiết kế, bao gồm: công việc cài đặt hệ thống, công việc hỗ trợ hệ thống. Nội dung chính của mô đun/môn học I. Các phương pháp phân tích và thiết kế hệ thống Chủ đề chính : - Nhận thức về vai trò người phân tích viên hiện đại - Các khối cấu thành hệ thống thông tin, việc phát triển hệ thống thông tin. Kỹ năng thực hành : - Đóng vai trò người phân tích hệ thống trong một tập thể phát triển hệ thống - Xác định được các khối cấu thành chính hệ thống thông tin và vận dụng được phương pháp phát triển hệ htống Thái độ học viên: - Rèn óc nhận xét, phân tích ,tính cẩn thận, tiên liệu. II. Các phương pháp phân tích hệ thống Chủ đề chính : - Nguyên tắc chung của phương pháp phân tích hệ thống - Nguyên tắc chung về lập mô hình dữ liệu, quy trình, mạng và đối tượng. Kỹ năng thực hành: 5
  6. - Vận dụng được các phương pháp phân tích thích hợp. Thái độ học viên: - Biết đóng đúng vai phân tích viên trong làm việc nhóm, cẩn thận, tiên liệu và tập trung. III. Các phương pháp thiết kế hệ thống và xây dựng hệ thống. Chủ đề chính: - Thiết kế và xây dựng hệ thống thông tin - lập kiến trúc hệ thống và thiết kế các quy trình, thiết kế các CSDL, xuất nhập và giao diện. Kỹ năng thực hành: - Thiết kế được hệ thống và xây dựng được hệ thống. Thái độ học viên: - Biết đánh giá, chọn lựa đúng phương pháp thích hợp , cẩn thận trong quá trình thiết kế hệ thống. IV. Các vấn đề bên cạnh phân tích và thiết kế hệ thống Chủ đề chính: - Tổng kết các vấn đề chính về cài đặt hệ thống và về các dịch vụ hỗ trợ hoạt động của hệ thống. Kỹ năng thực hành: - Thực hiện được các bước trong cài đặt dự án. Thái độ học viên: Cẩn thận, tiên liệu và sáng tạo trong quá trình cài đặt và triển khai các dịch vụ hỗ trợ hệ thống. 6
  7. Sơ đồ quan hệ theo trình tự học nghề Giao diện người Lập trình Hệ thống Lập trình nâng máy cao Web máy tính Lập trình Phân tích thiết kế Lập trình hướng hệ thống căn bản đối tượng Mạng căn bản Thiết kế hướng đối tượng Cấu trúc dữ liệu Kỹ năng tin học và thuật giải văn phòng Kỹ năng Ứng dụng CNTT trong doanh nghiệp Giao tiếp Cơ sở dữ liệu Kỹ năng Công nghệ Internet & WWW phần mềm Thiết kế Web Cơ sở toán học Công nghệ Đa phương tiện Quản lý dự án phần mềm Lập trình Visual Basic Hệ cơ sở dữ liệu Hướng dẫn đồ Môi trường PT án tốt nghiệp Phần mềm An toàn Anh văn Phần cứng máy Thi cho tin học tính lao động tốt nghiệp 7
  8. Ghi chú: Phân tích thiết hệ thống là môn học bắt buộc. Mọi học viên phải học và đạt kết quả chấp nhận được đối với các bài kiểm tra đánh giá và thi kết thúc như đã đặt ra trong chương trình đào tạo. Những học viên qua kiểm tra và thi mà không đạt phải thu xếp cho học lại những phần chưa đạt ngay và phải đạt điểm chuẩn mới được phép học tiếp các mô đun/ môn học tiếp theo. Học viên, khi chuyển trường, chuyển ngành.nếu đã học ở một cơ sở đào tạo khác rồi thì phải xuất trình giấy chứng nhận; Trong một số trường hợp có thể vẫn phải qua sát hạch lại. 8
  9. CÁC HÌNH THỨC HỌC TẬP CHÍNH TRONG MÔ ĐUN/MÔN HỌC 1 : Học lý thuyết trên lớp. Giáo viên giảng dạy tại phòng lý thuyết có sự hỗ trợ của các thiết bị đa phương tiện để giới thiệu nội dung môn học phân tích và thiết kế hệ thống thông tin đồng thơi hướng dẫn thao tác mẫu cho học sinh, hình thức học tập tốt nhất là giáo viên làm mẫu cho học sinh. 2 : Thực hành tại xưởng Giáo viên đưa ra các bài tập, hứơng dẫn cho học sinh các bài tập mẫu, phát các bài tập cho học sinh, học sinh tự thực hiện có sự hướng dẫn của giáo viên, sau khi kết thúc bài thực hành, giáo viên đánh giá mức độ hòan thành bài thực hành của học sinh đồng thời hệ thống lại những sai sót thường gặp và những nội dung chính của bài thực hành. 3. Làm bài tập lớn Kết thúc môn học, giáo viên đưa ra các bài tập lớn cho học sinh (dạng đề tài thực tập) học sinh thực hiện thành từng nhóm, sau khi hoàn thành, học sinh sẽ bào vệ cho các sản phẩm của mình. Các bài thực hành thường là những tình huống thật, giải quyết các bài tóan thực tế. Trong quá trình học sinh bảo vệ, giáo viên phải có những cân hỏi để xác định tình trung thực của đề tài như: đề tài này học sinh có tự làm hay nhờ người khác, các thành viên trong nhóm phân công làm việc như thế nào. 4. Khảo sát thực tế Giáo viên ra đề tài cho học sinh, học sinh tự liên hệ với các cơ qua khảo sát phân tích hệ thống thông dtin, sau khi thực hiện xong học sinh sãe đưa ra kết quả và thảo luận nhóm. 5. Làm việc nhóm Giáo viên hướng dẫn cho học sinh học tập theo nhóm qua đó phát huy được kỹ năng này cho toàn bộ cá học sinh. YÊU CẦU VỀ ĐÁNH GIÁ HOÀN THÀNH MÔ ĐUN/MÔN HỌC Đánh giá thông qua kiểm tra trắc nghiệm: Lý thuyết: Đánh giá thông qua kiểm tra trắc nghiệm: Dùng phần mềm thi trắc nghiệm. Kiểm tra trắc nghiệm trên giấy hoặc trên máy tính. Xây dựng ngân hàng câu hỏi trắc nghiệm, học viên sẽ nhận bộ câu hỏi chọn ngẫu nhiên có độ khó như nhau, chất lượng đề có xếp loại theo bốn mức (trung bình, khá, giỏi, xuất sắc). Thời gian làm bài tuỳ theo số câu hỏi được chọn và mức độ khó của câu hỏi. Thang điểm 10 phân phối cho số câu hỏi được chọn. Kết quả đánh giá từ số câu đáp trúng được quy về thang điểm 10. Thực hành: Môn học này đánh giá qua bài thực hành của học viên thể hiện thành một bộ hồ sơ Phân tích và thiết kế. Thang điểm: (đánh giá câu hỏi trắc nghiệm) 0-49 : Không đạt 50-69 : Đạt trung bình 70-85 : Đạt khá 86-100 : Đạt Giỏi 9
  10. BÀI 1 CÁC PHƯƠNG PHÁP PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG Mã bài : ITPRG 08.1 Giới thiệu : Hệ thống thông tin tin học hoá là một trong những ứng dụng đầy đủ và toàn diện nhất các thành tựu của công nghệ thông tin vào một tổ chức. Tại sao phải phân tích và thiết kế hệ thống thông tin? . Có một cái nhìn đầy đủ, đúng đắn và chính xác về hệ thống thông tin được xây dựng trong tương lai. . Tránh sai lầm trong thiết kế và cài đặt. . Tăng vòng đời (life cycle) hệ thống . Dễ sửa chữa, bổ sung và phát triển hệ thống trong quá trình sử dụng hoặc khi hệ thống yêu cầu. Để thấy được sự cần thiết của việc phân tích và thiết kế hệ thống thông tin tự động, chúng ta xem các số liệu liên quan đến xây dựng các phần mềm mà công ty IBM đã thống kê được trong giai đoạn 1970-1980. Phân tích về sai sót: ý niệm /quan niệm : 45% Mã hóa : 25% Soạn thảo : 7% Các sai sót ở mức 2 : 20% Các sai sót không xếp loại : 3% Phân tích về chi phí Bảo trì : 54% Phát triển : 46% Phân tích phân bổ hoạt động Sản xuất mã : 15% Phát hiện và sửa chữa sai sót : 50% Khác : 35% Các số liệu trên cho thấy sai sót lớn nhất trong tất cả các loại sai sót mắc phải là ở phần ý niệm, quan niệm, tức là nằm trong việc phân tích và thiết kế. Chi phí chiếm tỉ trọng lớn nhất là chi phí bảo hành, lượng công việc chiếm tỷ lệ lớn nhất là phát hiện và sửa chữa. Tình trạng này bắt nguồn từ các thiếu sót trong phân tích và thiết kế, do đó các nhà tin học luôn tìm ra một phương pháp phân tích hữu hiệu nhất nhằm khắc phục các tình trạng trên. Mục tiêu thực hiện: Học xong bài này học viên sẽ có khả năng: - Nắm được những khái niệm về vai trò người phân tích hệ thống, các yếu tố tạo ra hệ thống, khung công việc về kiến trúc hệ thống, các chu trình hệ thống và phương pháp luận , phương pháp luận SADT. 10
  11. - Biết tiêu chuẩn lựa chọn những người phân tích hệ thống thích hợp. Nội dung chính: 1.1 Người phân tích hệ thống hiện đại Là người chủ chốt trong quá trình phát triển hệ thống, những người nầy sẽ quyết định vòng đời của hệ thống. Trong các hệ thống thông tin vừa và nhỏ một phân tích viên có thể là là người lập trình cho hệ thống. Tuy nhiên đối với các HTTT lớn thì bộ phận phân tích viên phải là một tập thể, vì như thế mới có đủ khả năng nắm bắt các lĩnh vực và hoạt động của tổ chức. Một phân tích viên được gọi là có năng lực nếu họ hội đủ các điều kiện sau: . Có kỹ năng phân tích: có thể hiểu được tổ chức và sự hoạt động của nó. Có thể xác định được các vấn đề đặt ra và giải quyết chúng. Có khả năng suy nghĩ mang tính chiến lược và hệ thống. . Có kỹ năng kỹ thuật: hiểu biết về thiết bị và phần mềm. Biết chọn lựa các giải pháp phần cứng và mềm cho các ứng dụng đặc biệt nơi cần tin học hoá. Hiểu biết công việc của người lập trình và người sử dụng đầu cuối. . Có kỹ năng quản lý: có khả năng quản lý nhóm làm việc, biết được điểm mạnh, điểm yếu của những người làm việc trong nhóm. Biết lắng nghe, đề xuất và giải quyết vấn đề. Có khả năng lập kế hoạch, điều phối các nguồn lực. . Có kỹ năng giao tiếp: phân tích viên phải đóng vai trò chính trong việc liên kết giữa các đối tượng: chủ đầu tư, người sử dụng, người lập trình và các thành phần khác trong hệ thống. Kỹ năng giao tiếp của phân tích viên thể hiện ở chổ: năng lực diễn đạt và thuyết phục, khả năng hoà hợp với mọi người trong nhóm làm việc. Có khả năng tổ chức và điều hành các cuộc họp. 1.2 Các khối cấu thành hệ thống 1.2.1 Hệ thống - Hệ thống thông tin Hệ thống là tập hợp các phần tử có quan hệ qua lại với nhau cùng hoạt động hướng đến một mục tiêu chung thông qua việc tiếp nhận các đầu vào và sản xuất các đầu ra nhờ một quá trình chuyển đổi được tổ chức. Hệ thống này còn được gọi là hệ thống động (Dynamic System) Hệ thống thông tin là một tập hợp gồm nhiều thành phần mà mối liên hệ giữa các thành phần này cũng như liên hệ giữa chúng với các hệ thống khác là liên hệ thông tin với nhau. 1.2.2 Các hệ thống thông tin thông dụng Trong thực tế, bốn hệ dưới đây thường được sử dụng. a) Hệ xử lý dữ liệu (DPS-Data Processing System) Chức năng . Xử lý các giao dịch và ghi lại những dữ liệu cho từng chức năng đặc thù. . Dữ liệu đưa vào được thường xuyên cập nhật. Dữ liệu đầu ra định kỳ bao gồm các tài liệu hoạt động và báo cáo. Hệ xử lý dữ liệu có tính cục bộ thường dành cho các cho các nhà quản lý cấp tác nghiệp. b) Hệ thông tin quản lý (MIS-Management Information System) Hệ thông tin quản lý là một hệ thống thông tin được sử dụng trong các tổ chức kinh tế xã hội, hệ gồm nhiều thành phần, mỗi thành phần là một hệ thống con hoàn chỉnh. Ví dụ: hệ thống thông tin quản lý trong một xí nghiệp có các hệ thống con là hệ thống “Quản lý vật tư”, hệ thống “Quản lý tài chính”, , hệ thống thông tin quản lý trong một trường đại học có các hệ thống con là hệ thống “Quản lý vật tư”, hệ thống “Quản lý đào tạo”, hệ thống “Quản lý NCKH”, 11
  12. Chức năng của MIS: . Hỗ trợ các chức năng xử lý dữ liệu trong giao dịch và lưu trữ. . Dùng một cơ sở dữ liệu hợp nhất và hỗ trợ cho nhiều chức năng. . Cung cấp cho các nhà quản lý các thông tin theo thời gian của hệ thống. . Có cơ chế bảo mật thông tin theo từng cấp độ có thẩm quyền sử dụng. Cách xem xét tốt nhất một hệ thống thông tin quản lý là đặt nó trong mục đích của tổ chức đang sử dụng hệ thống đó, một trong các cách như vậy là nhìn hệ thống thông tin dưới góc độ của một hệ hỗ trợ ra quyết định. c) Hệ hỗ trợ quyết định (DSS- Decision Support System) Mục đích của hệ là giúp cho tổ chức những thông tin cần thiết để ra quyết định hợp lý và đủ độ tin cậy. Khả năng của hệ: . Cung cấp, sắp xếp các phương án theo tiêu chuẩn của người làm quyết định. . Cung cấp và phân tích dữ liệu, biểu diễn dữ liệu bằng đồ thị một cách tự động. . Chọn lựa giúp một phương án tối ưu trên cơ sở các thông tin đưa vào. . Đặc trưng của DSS . Hỗ trợ các nhà làm quyết định trong quá trình ra quyết định. . Tạo những mô hình đa chức năng, có khả năng mô phỏng và có các công cụ phân tích. . Tạo thuận lợi cho liên lạc giữa các mức làm quyết định. d) Hệ chuyên gia (ES-Expert System) Hệ thông tin giúp các nhà quản lý giải quyết và thực hiện vấn đề ở mức cao hơn DSS. Hệ này liên quan đến lĩnh vực trí tuệ nhân tạo, làm cho máy tính có khả năng lập luận, học tập, tự hoàn thiện như con người. Chẳng hạn các chương trình lập kế hoạch tài chính, chẩn đóan bệnh, dịch máy, 1.2.3 Các thành phần của một hệ thống thông tin quản lý Theo quan điểm của hệ thống thì một hệ thống thông tin quản lý thường có 3 thành phần: Thành phần quyết định: thực hiện chức năng ra quyết định. Thành phần thông tin: thực hiện chức năng tiếp nhận, xử lý, truyền tin và lưu trữ thông tin trong hệ thống. Thành phần tác nghiệp: là thành phần bảo đảm các hoạt động cơ sở của một tổ chức. Ví dụ: hệ thống thông tin quản lý trong một xí nghiệp có thành phần quyết định là Ban Giám đốc, thành phần thông tin là các phòng ban chức năng, thành phần tác nghiệp là các phân xưởng, cơ sở sản xuất. Chúng ta có thể thấy mối quan hệ giữa các thành phần của một hệ thống thông tin qua sơ đồ dưới đây. 12
  13. TP QUYẾT ĐỊNH Quyết Báo cáo Thông tin vào Thông tin ra TP THÔNG TIN từ môi trường từ môi trường ngoài ngoài Thông tin Thông tin Kiểm tra Điều hành Nguyên liệu vào TP TÁC NGHIỆP Sản phẩm ra Hệ thống thông tin theo quan điểm hệ hỗ trợ ra quyết định Hình 1.1 Các thành phần của một hệ thống thông tin Bây giờ chúng ta đi đến một định nghĩa có tính chất mô tả của một hệ thống thông tin: Hệ thống thông tin của một tổ chức là tập hợp các phương tiện, nhân lực, thông tin và phương pháp xử lý tin nhằm cung cấp các thông tin cho quá trình ra quyết định đúng thời hạn và đủ độ tin cậy. Trong đó: . Tổ chức: có thể là cơ quan, xí nghiệp, trường học . Phương tiện (phần cứng-phần mềm): cơ sở vật chất dùng để thu nhập, xử lý, lưu trữ, chuyển tải thông tin trong hệ thống như máy tính, máy in, điện thoại . Nhân lực: bao gồm tập thể, cá nhân tham gia vào việc thu thập dữ liệu, xử lý, truyền tin, những người phát triển và duy trì hệ thống. . Thông tin (dữ liệu): Các thông tin được sử dụng trong hệ thống, các thông tin từ môi trường bên ngoài vào hệ thống, các thông tin từ hệ thống ra môi trường bên ngoài. Tuy nhiên, khi nói đến thông tin phải nói đến các yếu tố kèm theo nó như: Giá mang thông tin: là các phương tiện lưu trữ tin như giấy, đĩa từ Kiểu thông tin: thông tin văn bản, âm thanh, hình ảnh, tri thức. Qui tắc tiếp nhận và hành trình của thông tin. Vai trò của thông tin trong hoạt động tác nghiệp, trong việc đưa ra quyết định. 13
  14. . Phương pháp xử lý tin: là các tài nguyên phi vật chất như các mô hình toán học, các thuật toán, tri thức của con người trong hệ thống, các phần mềm tin học. Tóm lại, hệ thống thông tin được cấu thành từ 4 yếu tố chính: thông tin, phương pháp xử lý tin, con người và phương tiện. 1.3 Việc phát triển hệ thống. 1.3.1 Các tính năng của một HTTT Thời gian trả lời: được tính bằng khoảng thời gian từ khi thông tin được hệ thống tiếp nhận đến khi hệ thống tác nghiệp nhận được quyết định tương ứng với thông tin đến. Bản chất của quyết định thuộc loại tự động hóa được hay không. Kiểu sản phẩm của hệ thống tác nghiệp. Khối lượng thông tin được xử lý. Độ phức tạp của dữ liệu. Độ phức tạp của xử lý. Độ phức tạp về cấu trúc của hệ thống. Độ tin cậy của hệ thống. 1.3.2 Mục đích, yêu cầu đối với một phương pháp phân tích thiết kế HTTT 1.3.2.1 Mục đích . HTTT có vòng đời dài (long life cycle) . Có chức năng là một hệ hỗ trợ ra quyết định . Chương trình cài đặt dễ sửa chữa, bảo hành . Hệ thống dễ sử dụng, có độ chính xác cao. 1.3.2.2 Yêu cầu . Quan điểm tiếp cận tổng thể: bằng cách xem mọi bộ phận, dữ liệu, chức năng là các phần tử trong hệ thống là các đối tượng phải được nghiên cứu. Do đó hiểu biết tất cả những điều đó là cần thiết cho phát triển của hệ thống. . Quan điểm top-down: là quan điểm phân tích từ trên xuống theo hướng từ tiếp cận tổng thể đến riêng biệt. . Nhận dạng được các mức trừu tượng và bất biến của hệ thống ứng với chu trình phát triển hệ thống . Nhận dạng được các thành phần dữ liệu và xử lý của hệ thống. . Định ra được các kết quả cần đạt được cho từng giai đoạn phát triển hệ thống và các thủ tục cần thiết trong mỗi giai đoạn. 1.3.3 Xây dựng thành công một hệ thống thông tin 1.3.3.1 Khái niệm về một dự án công nghệ thông tin thành công Trong thực tế chưa có một tiêu chuẩn cụ thể nào để xác định được một hệ thống thông tin được xem là thành công. Ngay cả một hệ thống thông tin nhỏ đang hoạt động tốt thì mọi người vẫn không đồng ý với nhau về hiệu quả của nó. Tuy nhiên để có cơ cở cho việc đánh giá một hệ thống thông tin người ta đưa ra một số tiêu chuẩn và quy tắc sau: Một hệ thống thông tin được xem là có hiệu lực nếu nó góp phần nâng cao chất lượng hoạt động và quản lý tổng thể của một tổ chức, nó thể hiện cụ thể trên các mặt: . Phù hợp với chiến lược hoạt động của tổ chức. . Đạt được mục tiêu thiết kế đề ra của tổ chức. . Chi phí vận hành là chấp nhận được. 14
  15. . Có độ tin cậy cao, đáp ứng được các chuẩn mực của một hệ thống thông tin hiện hành. Chẳng hạn như tính sẵn sàng: thời gian làm việc trong ngày, tuần; thời gian thực hiện một dịch vụ, một tìm kiếm; các kết xuất thông tin đúng yêu cầu như biểu mẫu, số chỉ tiêu . Sản phẩm có giá trị xác đáng: thông tin đưa ra là đúng đắn, kịp thời, có ý nghĩa thiết thực đối với hoạt động chức năng và quản lý, nâng cao chất lượng sản phẩm và dịch vụ của tổ chức, các sai sót có thể cho phép. . Dễ học, dễ nhớ và dễ sử dụng. . Mềm dẽo, hướng mở, dễ bảo trì. 1.3.3.2 Quản lý và phát triển một dự án công nghệ thông tin Mục tiêu của việc quản lý dự án là đảm bảo cho các dự án phát triển HTTT đáp ứng được sự mong đợi của khách hàng và được thực hiện trong phạm vi giới hạn cho phép (như ngân sách, thời gian, điều kiện của tổ chức). Đây là một khâu quan trọng của việc phát triển HTTT. Quản lý một dự án là sự tiến hành có kế hoạch một loạt các hoạt động có liên quan với nhau để đạt một mục tiêu, có điểm bắt đầu và điểm kết thúc. Nó bao gồm 4 pha: Khởi tạo dự án - Lập kế hoạch dự án - Thực hiện dự án - Kết thúc dự án. Mỗi pha của dự án yêu cầu một số công việc phải được thực hiện. a) Khởi tạo dự án Đây là bước đầu tiên của quá trình quản lý dự án mà trong đó cần thực hiện một số hoạt động để đánh giá quy mô, phạm vi và sự phức tạp của dự án. Các hoạt động đó là: . Thiết lập đội dự án ban đầu . Thiết lập mối quan hệ với khách hàng . Thiết lập dự án sơ bộ: công việc này bao gồm: xác định quy mô và phạm vi dự án, lập lịch trình cho các cuộc họp . Thiết lập các thủ tục quản lý: để bảo đảm cho sự thành công của dự án, cần phải lập các thủ tục quản lý có hiệu quả như: thủ tục báo cáo, truyền thông, xét duyệt, thay đổi dự án, xác định thời hạn cấp vốn, hoàn tất chứng từ, . Thiết lập môi trường quản lý dự án và lập nhật ký công việc dự án: Nhật ký dự án nhằm ghi lại các công việc, các sự kiện, cái vào, cái ra, thủ tục, các chuẩn sử dụng cho việc kiểm tra dự án. b) Lập kế hoạch dự án Giai đoạn này tập trung vào việc xác định và mô tả các hoạt động và công việc cần thiết của mỗi hoạt động cụ thể trong dự án. Nội dung lập kế hoạch dự án bao gồm: . Phát hoạ một kế hoạch truyền thông . Xác định các chuẩn và các thủ tục dự án . Mô tả phạm vi dự án, các phương án có thể và đánh giá khả thi . Phân chia dự án thành các nhiệm vụ có thể quản lý được . Phát triển một lịch trình sơ bộ . Xác định và đánh giá các rủi ro . Lập kế hoạch và ngân sách ban đầu . Thiết lập mô tả công việc . Lập kế hoạch dự án cơ sở c) Thực hiện dự án Thực hiện dự án là đưa kế hoạch dự án cơ sở vào thực hiện. Nội dung của việc thực hiện dự án bao gồm: 15
  16. . Triển khai kế hoạch dự án cơ sở, đưa dự án cơ sở vào thực hiện: bao gồm khởi động dự án, nhận và phân bổ nguồn lực, định hướng và đào tạo thành viên mới, theo dõi tình hình thực hiện đảm bảo chất lượng của sản phẩm tạo ra. . Thúc đẩy tiến trình thực hiện dự án theo kế hoạch cơ sở: đánh giá kết quả thực hiện, điều chỉnh hoạt động, nguồn lực và ngân sách. Trong trường hợp có thể phải sửa đổi kế hoạch dự án cơ sở cho phù hợp. . Quản lý sự thay đổi đối với kế hoạch dự án cơ sở: mọi thay đổi cần được phản ảnh trong kế hoạch dự án cơ sở và nhật ký công việc của dự án. . Bổ sung nhật ký công việc của dự án: tất cả các sự kiện diễn ra của dự án cần phải được ghi vào nhật ký công việc. Nó cung cấp cho những thành viên mới các thông tin để làm quen với nhiệm vụ của dự án. Nó cung cấp tài liệu lịch sử để phân tích, ra các quyết định và lập báo cáo. . Thông báo về tình trạng dự án: mục đích là để giữ mối liên hệ giữa các thành viên của dự án. Việc thông báo kịp thời các diễn tiến của dự án là một yêu cầu để có được những hiểu biết giữa các thành viên cùng làm việc với nhau. Đảm bảo sự phối hợp hành động một cách có hiệu quả. d) Kết thúc dự án Mục tiêu của giai đoạn này là hoàn tất dự án, bao gồm các công việc sau: . Đóng dự án lại: cần thực hiện một số các hoạt động như đánh giá các thành viên và kiến nghị lợi ích cho họ, hoàn tất các tài liệu và chứng từ thanh toán. Cám ơn những người đã đóng góp, tham gia và hỗ trợ trong quá trình thực hiện dự án. . Tổng kết sau dự án: mục tiêu là xác định được mặt mạnh, mặt yếu từ các sản phẩm của dự án, của quá trình hình thành lên nó và quá trình quản lý dự án, từ đó rút ra những kinh nghiệm cho các dự án sau. . Kết thúc mọi hợp đồng: ký kết các bản thanh lý hợp đồng với các bên liên quan. 1.4 Các chu trình và phương pháp luận phát triển hệ thống. 1.4.1 Chu trình phát triển hệ thống Mọi phương pháp phân tích thiết kế hệ thống thông tin phải trải qua các giai đoạn sau: Nghiên cứu nhu cầu (hệ thống cần gì?) Nghiên cứu khả thi (cân nhắc giữa nhu cầu và khả năng) Đề xuất một kiểu kiến trúc mới của hệ thống Mã hóa (tổ chức dữ liệu và lập trình) Thử nghiệm và khai thác 16
  17. Quá trình phát triển của hệ thống thông tin phải bắt đầu từ tình trạng của hệ thống thông tin cũ và từ sự thiếu hiệu quả của hệ thống cũ so với nhiệm vụ đặt ra của tổ chức. PHÂN TÍCH THIẾT KẾ Hệ thống cũ họat động như thế Hệ thống mới Xác định hệ thống nào? phải làm gì? mới phải làm như thế nào? Tìm hiểu yêu cầu Hệ thống cũ thực tế và yêu cầu sử THỰC HIỆN làm gì? dụng. Mã hóa, chuyển giao, bảo trì. Bắt đầu Sơ đồ xây dựng một hệ thống thông tin tin học hóa Hình 1.2 Mô hình hệ thống thông tin 1.4.1.1 Lập kế hoạch (khảo sát hệ thống): Đây là giai đoạn đầu tiên thông qua việc tiếp xúc giữa người phân tích và chủ đầu tư nhằm xác định các công việc cần thiết trước khi có thể tiến hành nghiên cứu các lĩnh vực, bộ phận, hệ thống con, các tổ chức có liên quan đến hệ thống thông tin cần xây dựng. Giai đoạn này là làm rõ được ý muốn của chủ đầu tư là: xây dựng 1 hệ thống thông tin mới hay nâng cấp 1 hệ thống thông tin cũ. Mục đích cần làm sáng tỏ những vấn đề sau: Có cần thiết xây dựng hệ thống thông tin mới hoặc nâng cấp HTTT cũ không? Nếu có, Thời gian bắt đầu, thời gian kết thúc Ước tính chi phí thực hiện Nhân lực, vật lực phục vụ cho hệ thống tương lai. Có ích lợi và những cản trở gì. Trách nhiệm mỗi bên cũng được thỏa thuận sơ bộ vào giai đoạn này. Nói tóm lại, kết thúc của giai đoạn này là một hợp đồng không chính thức giữa người phân tích thiết kế và chủ đầu tư. 17
  18. 1.4.1.2 Phân tích: Là giai đoạn trung tâm khi xây dựng 1 hệ thống thông tin, giai đoạn này bao gồm các giai đoạn và khởi sự ngay trong giai đoạn lập kế hoạch. Phân tích bao gồm các công đoạn sau: a) Phân tích hiện trạng: Giai đoạn này nhằm hiểu rõ tình trạng hoạt động của hệ thống cũ trong mục đích hoạt động của tổ chức. Cụ thể, nó bao gồm các công việc: - Tìm hiểu hiện trạng: thông qua việc nghiên cứu hồ sơ, tài liệu để tìm hiểu thông tin chung về ngành dọc của tổ chức. - Tìm hiểu hoạt động hiện tại của tổ chức - Xác định các thành phần tham gia trong tổ chức - Các nhiệm vụ của các tổ chức thành viên và các tổ chức bên ngoài có liên quan - Các mối quan hệ thông tin giữa các thành viên trong tổ chức b) Phân tích khả thi và lập hồ sơ nhiệm vụ: Phân tích khả thi phải tiến hành trên 3 mặt: . Phân tích khả thi về kỹ thuật: xem xét khả năng kỹ thuật hiện có để đề xuất giải pháp kỹ thuật áp dụng cho hệ thống thông tin mới. . Phân tích khả thi kinh tế: xem xét khả năng tài chính để chi trả cho việc xây dựng hệ thống thông tin mới cũng như chỉ ra những lợi ích mà hệ thống sẽ đem lại. . Phân tích khả thi hoạt động: khả năng vận hành hệ thống trong điều kiện khuôn khổ, điều kiện tổ chức và quản lý cho phép của tổ chức. Sau đó, người phân tích phải định ra một vài giải pháp và so sánh, cân nhắc các điểm tốt và không tốt của từng giải pháp. Tóm lại, trong giai đoạn này người phân tích phải tìm ra một điểm cân bằng giữa nhu cầu và khả năng. Sau khi đã chọn lựa xong giải pháp người phân tích cần phải lập hồ sơ nhiệm vụ. Công việc này nhằm mục đích: - Định hình các chức năng hệ thống cần đạt được. - Định ra các thủ tục xây dựng quan niệm và thực hiện hệ thống. - Định hình sơ lược giao diện của hệ thống với người sử dụng trong tương lai. Làm các bản mẫu (prototype) để NSD hình dung được hệ thống trong tương lai. Tóm lại, lập hồ sơ nhiệm vụ là một thỏa thuận không chính thức giữa 3 phía: Người phân tích, Chủ đầu tư và Người sử dụng. c) Xây dựng mô hình hệ thống chức năng: Người phân tích dựa vào kết quả phân tích để xây dựng mô hình nghiệp vụ của hệ thống, từ đó làm rõ mô hình thông tin và mô hình họat động của hệ thống. Trong toàn bộ hoạt động phân tích thì đây là giai đoạn quan trọng nhất. Quá trình tìm hiểu và xây dựng mô hình hệ thống được gọi là hoàn tất nếu không còn một phản hồi nào từ phía chủ đầu tư. 1.4.1.3 Thiết kế: Thiết kế và phân tích không phải là hai giai đoạn rời nhau. Thiết kế hệ thống sẽ cho một phương án tổng thể hay một mô hình đầy đủ của hệ thống thông tin. Nó bao gồm tất cả các đặc tả về hình thức và cấu trúc của hệ thống. Trong giai đoạn thiết kế người phân tích phải xác định một cách chi tiết: - Các thông tin. - Các qui tắc phát sinh, tiếp nhận và xử lý thông tin - Các kiểu khai thác 18
  19. - Các phương tiện cứng và mềm được sử dụng trong hệ thống. Tóm lại, thiết kế bao gồm các công việc sau: Thiết kế dữ liệu: xác định các đối tượng (tập thực thể) và cấu trúc dữ liệu được sử dụng trong hệ thống. Thiết kế chức năng: định ra các modun xử lý thể hiện các chức năng xử lý của hệ thống thông tin. Thiết kế giao diện: chi tiết hóa hình thức giao tiếp người - máy Thiết kế an toàn hệ thống Thiết kế phần cứng: tính toán các yêu cầu kỹ thuật cho hệ thống Dự kiến nhân sự tại các vị trí công tác của hệ thống. 1.4.1.4 Giai đoạn thực hiện Trong giai đoạn này xây dựng hệ thống bao gồm xây dựng các file cơ bản. Viết các chương trình thực hiện các chức năng của hệ thống mới tương ứng với các kiểu khai thác đã đặt ra. Thực chất của giai đoạn này là thực hiện mã hóa dữ liệu và giải thuật nên còn được gọi là giai đoạn mã hóa (coding) Một trong những nhiệm vụ quan trọng của giai đoạn này là làm tài liệu sử dụng để cho hướng dẫn cho người sử dụng và làm tài liệu kỹ thuật cho các chuyên gia tin học phát triển hệ thống sau này. 1.4.1.5 Chuyển giao hệ thống Giai đoạn này là giai đoạn cuối cùng để người phân tích hiệu chỉnh hệ thống thông tin và đưa hệ thống vào khai thác, vận hành thử bằng số liệu giả để phát hiện sai sót. Sau đó người phân tích phải đào tạo người sử dụng tại mỗi vị trí trong hệ thống. 1.4.1.6 Bảo trì Là quá trình sửa đổi, khắc phục những thiếu sót của hệ thống thông tin để làm cho hệ thống thích nghi hơn, thuận tiện hơn trong sử dụng. Tóm lại, quá trình xây dựng một hệ thống thông tin có thể mô tả theo sơ đồ dưới đây: LËp kÕ ho¹ ch P h © n t Ýc h T h i Õ t k Õ T h ù c h i Ö n ChuyÓn giao B ¶ o t r × Hình 1.3 Quá trình xây dựng một hệ thống thông tin 19
  20. 1.4.2 Các phương pháp luận phát triển hệ thống: a) Phương pháp phân tích thiết kế có cấu trúc (SADT-Structured Analysis and Design Technique-Kỹ thuật phân tích và thiết kế có cấu trúc): Phương pháp này xuất phát từ Mỹ, ý tưởng cơ bản của nó là Phân rã một hệ thống lớn thành các hệ thống con đơn giản. SADT được xây dựng dựa trên 7 nguyên lý sau: . Sử dụng một mô hình . Phân tích kiểu Top-down. . Dùng một mô hình chức năng và một mô hình quan niệm (còn được gọi là “mô hình thiết kế” để mô tả hệ thống. . Thể hiện tính đối ngẫu của hệ thống . Sử dụng các biểu diễn dưới dạng đồ hoạ . Phối hợp các hoạt động của nhóm . Ưu tiên tuyệt đối cho hồ sơ viết. Công cụ để phân tích: . Sử dụng sơ đồ chức năng công việc BFD (Business Function Diagram) và lưu đồ luồng dữ liệu DFD (Data Flow Diagram) . . Mô hình dữ liệu (Data Modes) . Ngôn ngữ có cấu trúc SL (Structured Language) . Từ điển dữ liệu (Data Dictionary) . Bảng và cây quyết định (Warnier/orr) . Đặc tả các tiến trình (Process Specification). Phương pháp phân tích thiết kế SADT có ưu điểm là dựa vào nguyên lý phân tích có cấu trúc, thiết kế theo lối phân cấp, bảo đảm từ một dữ liệu vào sản xuất nhiều dữ liệu ra. Nhược điểm của phương pháp này là không bao gồm toàn bộ các tiến trình phân tích do đó nếu không thận trọng có thể đưa đén tình trạng trùng lặp thông tin. b) Phương pháp phân tích thiết kế Merise MERISE viết tắt từ cụm từ Methode pour Rassembler les Ideés Sans Effort (phương pháp tập hợp các ý tưởng không cần cố gắng). Phương pháp này ra đời vào những năm cuối của thập niên 70. Xuất phát từ những suy nghĩ của một nhóm nghiên cứu đứng đầu bởi J.L.Lemoigne tại trường đại học Aix-En-Provence - Pháp và những nghiên cứu hiện thực đồng thời ở Trung tâm nghiên cứu trang bị kỹ thuật (CETE), dưới sự lãnh đạo của H.Tardien.Trong sự phát triển nhanh chóng của công nghệ mới, MERISE còn được dùng để điều hành dự án không chỉ trong công sở mà còn trong nhiều xí nghiệp đủ loại khác nhau. Ý tưởng cơ bản của phương pháp Merise: Ý tưởng cơ bản của phương pháp phân tích thiết kế Merise dựa trên 3 mặt cơ bản sau: Mặt thứ nhất: quan tâm đến chu kỳ sống (life cycle) của hệ thống thông tin qua các giai đoạn: Thai nghén (Gestation) - Quan niệm/Ý niệm - Quản trị - Chết. Chu kỳ sống này có thể kéo dài từ 15đến 20 năm đối với các hệ thống thông tin lớn. Mặt thứ hai: đề cập đến chu kỳ đặc trưng của hệ thống thông tin, còn được gọi là chu kỳ trừu tượng. Mỗi tầng được mô tả dưới dạng mô hình tập trung bao gồm tập hợp các thông số chính xác. Theo đó khi những thông số của tầng dưới tăng trưởng, tầng đang mô tả không biến đổi và nó chỉ thay đổi khi các thông số của mình thay đổi. Mỗi mô hình được mô tả thông qua một hình thức dựa trên các quy tắc, nguyên lý ngữ vựng và cú pháp quy định. Có những quy tắc cho phép chuyển từ mô hình này sang mô hình khác một cách tự động nhiều hoặc ít. 20
  21. Mặt thứ ba: mặt này liên quan đến chu kỳ các quyết định cần phải đưa ra trong các chu kỳ sống của sản phẩm. Đặc trưng của phương pháp Merise là tách rời dữ liệu và xử lý nhằm đảm bảo tính khách quan trong quá trình phân tích và cung cấp đầy đủ các mô hình để diễn đạt các bước cập nhật. Hệ thống bao gồm dữ liệu và xử lý được biểu diễn ở ba mức: - Mức quan niệm (Concept): xác định các thành phần của dữ liệu và xử lý . - Mức tổ chức (Oganization): chi tiết hóa những quan hệ giữa chúng. - Mức tác nghiệp (Physic): các thành phần được thể hiện trong thực tế như thế nào. Công cụ để phân tích: Trên cơ sở ba mức bất biến của hệ thống thông tin, phương pháp phân tích thiết kế Merise sử dụng các mô hình tương ứng trên các mức này để phân tích thiết kế một hệ thống thông tin. MỨC DỮ LIỆU XỬ LÝ Mức quan niệm MH quan niệm về dữ liệu MH quan niệm về xử lý Mức tổ chức MH tổ chức về dữ liệu MH tổ chức về xử lý Mức vật lý MH vật lý về dữ liệu MH vật lý về xử lý Ưu điểm của phương pháp phân tích thiết kế MERISE là có cơ sở khoa học vững chắc. Hiện là một trong những phương pháp được dùng nhiều ở Pháp và Châu Âu khi phải phân tích các hệ thống lớn. Nhược điểm của phương pháp này là cồng kềnh. Do đó, để giải quyết các ứng dụng nhỏ phương pháp này thường đưa đến việc kéo dài thời gian. Có thể hình dung các bước phát triển của một hệ thống thông tin thông qua mô hình không gian ba chiều: chiều các thành phần của hệ thống thông tin, chiều các mức bất biến của hệ thống thông tin và chiều các giai đoạn phân tích thiết kế một hệ thống thông tin. Mức vật lý Mức tổ chức Mức quan niệm thiết bị con người Xử lý Thông tin Lập kế hoạch Phân tích Thiết kế Thực hiện Hình 1.4 Mô hình không gian ba chiều của một hệ thống thông tin 21
  22. c) Phương pháp phân tích MCX (Méthode de xavier castellani) Phương pháp phân tích MCX có nguồn gốc từ Pháp, do giáo sư của Học viện Tin học cho các xí nghiệp IIE (Institut Informatique d’Entrerise) sáng tạo. Phương pháp phân tích MCX dựa trên các nguyên lý và đặc trưng cơ bản sau: Cho phép xây dựng được một mô hình tổng quát chính xác để biểu diễn hệ thống thông tin hoặc các phân hệ của hệ thống thông tin. Cho phép phân tích, nắm dữ liệu, quá trình xử lý và truyền thông của hệ thống thông tin. Cho phép lượng hoá các xử lý. MCX có ưu điểm là thích hợp với việc thực hành. Nhược điểm là rườm rà. d) Phương pháp phân tích GLACSI (Groupe d’ Animation et de Liaison pour l’ Analyse et de conception de Système d’ Information) Phương pháp này cũng có nguồn gôc từ Pháp, ra đời vào tháng 4 năm 1982. Tác giả của nó là một nhóm giáo sư của Học viện Công nghệ Pháp (IUT). Nội dung cơ bản của phương pháp là trình bày một tập hợp các công cụ và nguyên liệu để tiến hành các giai đoạn cơ bản sau đây của tiến trình phân tích: Nghiên cứu hệ thống . Nghiên cứu hiện trạng . Nghiên cứu khả thi Phân tích chức năng . Mô hình dữ liệu . Mô hình xử lý Phân tích cấu trúc . Tổ chức dữ liệu: ở mức logic và mức vật lý . Tổ chức xử lý: xử lý theo lô, xử lý theo thời gian thực . Môi trường tiếp nhận: máy tính, mạng máy tính, ngôn ngữ, các phần mềm chuyên dụng . Giao diện người-máy Nhược điểm của phương pháp là chưa thử nghiệm nhiều trong thực tế. Ưu điểm của phương pháp là một công cụ tốt để giảng dạy. Ngoài các phương pháp phân tích thiết kế đã nói ở trên còn có phương pháp phân tích hướng đối tượng (OOA: Object Oriented Annalysis) Bài tập: 1 Tại sao khi xây dựng các phần mềm HTTT cần phải có phân tích và thiết kế hệ thống ?. 2 Nêu các giai đoạn của quá trình phân tích và thiết kế hệ thống. 22
  23. BÀI 2 Tên bài : CÁC PHƯƠNG PHÁP PHÂN TÍCH HỆ THỐNG Mã bài : ITPRG 08.2 Giới thiệu : Phân tích thiết kế hệ thống nói chung là sự nhận thức và mô tả một hệ thống; bởi vậy người ta thường dùng các mô hình, các biểu đồ để trừu tượng hoá và là công cụ giúp con người trao đổi với nhau trong quá trình phát triển hệ thống. Mỗi mô hình là một khuôn dạng để nhận thức về hệ thống và nó mang ý thức chủ quan. Mục tiêu của phân tích mô hình xử lý là đưa ra một cách xác định các yêu cầu của người dùng trong quá trình phát triển hệ thống, những yêu cầu này được bám sát từ một loạt các sự kiện mà người phân tích thu được qua phỏng vấn, đặt câu hỏi, đọc tài liệu và qua các phép đo thử nghiệm Phân tích hệ thống theo nghĩa chung nhất là khảo sát nhận diện và phân định các thành phần của một phức hợp và chỉ ra các mối liên quan giữa chúng. Theo nghĩa hẹp phân tích hệ thống là giai đoạn 2, đi sau giai đoạn khảo sát sơ bộ, là giai đoạn bản lề giữa khảo sát sơ bộ và giai đoạn đi sâu vào các thành phần hệ thống. Kết quả của giai đoạn này ta xây dựng được các biểu đồ mô tả logic chức năng xử lí của hệ thống. Giai đoạn này gọi là giai đoạn thiết kế logic chuẩn bị cho giai đoạn thiết kế vật lý.Yêu cầu đòi hỏi thiết kế logíc một cách hoàn chỉnh trước khi thiết kế vật lí Phân tích hệ thống bao gồm việc phân tích về chức năng xử lý và phân tích về dữ liệu. Mục đích của giai đoạn phân tích hệ thống về dữ liệu là: Lập lược đồ dữ liệu hay gọi là biểu đồ cấu trúc dữ liệu (BCD). Hệ thống dữ liệu được lưu giữ lâu dài: - Thông tin gì, bao gồm dữ liệu gì. - Mối liên quan: xác định liên quan giữa các dữ liệu. Mục tiêu thực hiện: Học xong bài này học viên sẽ có khả năng: - Nắm cơ bản việc Phân tích hệ thống. - Phân tích hệ thống thông tin về chức năng - Mô hình hoá các tiến trình của hệ thống - Mô hình quan niệm của hệ thông tin - Mô hình tổ chức của hệ thông tin Nội dung chính: 2.1 Nhập môn về phân tích hệ thống, Các chiến lược phân tích hệ thống và đề ra giải pháp, Giai đoạn khảo sát, nghiên cứu, định nghĩa về phân tích hệ thống. Khảo sát hiện trạng và xác lập dự án là giai đoạn đầu của quá trình phân tích và thiết kế hệ thống. Việc khảo sát thường được tiến hành qua hai giai đoạn: Khảo sát sơ bộ nhằm xác định tính khả thi của dự án. 23
  24. Khảo sát chi tiết nhằm xác định chính xác những gì sẽ thực hiện và khẳng định những lợi ích kèm theo. Với mục đích đã nói trên, để nghiên cứu hiện trạng một hệ thống thông tin, phân tích viên nên khảo sát các nội dung sau: Tìm hiểu môi trường xã hội, kinh tế và kỹ thuật của hệ thống. Nghiên cứu cơ cấu tổ chức của cơ quan chủ quản của hệ thống đó. Nghiên cứu các chức trách, nhiệm vụ, các trung tâm ra quyết định và điều hành, sự phân cấp quyền hạn trong tổ chức (sơ đồ tổ chức). Thu thập và nghiên cứu các hồ sơ, sổ sách, các file dữ liệu cùng với các phương thức xử lý các thông tin đó. Thu thập và mô tả các quy tắc quản lý, tức là các quy định, các quy tắc, các công thức tính toán, Thu thập và tìm hiểu các chứng từ giao dịch. Mô tả các luồng thông tin và tài liệu giao dịch được luân chuyển như thế nào. Thống kê các phương tiện và tài nguyên đã và có thể sử dụng. Thu thập và tìm hiểu các ý kiến khen chê về hệ thống thông tin cũ và những yêu cầu, đòi hỏi về hệ thống tương lai. Lập hồ sơ tổng hợp về hiện trạng Một trong những yếu tố quan trọng quyết định sự thành công của hệ thống thông tin là giai đoạn nghiên cứu hiện trạng của hệ thống. Điều này đòi hỏi phân tích viên phải làm việc nghiêm túc và chính xác. 2.1.1 Các kỹ thuật thu thập thông tin 2.1.1.1 Các khái niệm và thuật ngữ sử dụng trong khảo sát hiện trạng . Điểm công tác (nơi làm việc) Là các điểm, đầu mối phát sinh hoặc thu nhận thông tin. Thông thường thì điểm phát sinh hoặc thu nhận thông tin cũng là nơi lưu trữ và xử lý nó. Có hai loại điểm công tác: điểm công tác trong và điểm công tác ngoài. Điểm công tác trong có thể là nơi lưu trữ, xử lý, thu nhận và phát sinh thông tin. Trong khi đó điểm công tác ngoài chỉ có thể là nơi phát sinh hoặc thu nhận thông tin. Trong SADT điểm công tác trong và điểm công tác ngoài còn được gọi là tác nhân trong và tác nhân ngoài. Ví dụ, trong HTTT “Quản lý kho hàng” thì điểm công tác Kế toán kho là điểm công tác trong, vì đây là nơi lưu trữ, xử lý, phát sinh và thu nhận thông tin. Trong khi đó điểm công tác Nhà cung cấp phải là điểm công tác ngoài, vì ở đây không cần thiết phải lưu trữ thông tin của hệ thống mà chỉ là nơi phát sinh hoặc thu nhận thông tin mà thôi. . Tài liệu Được dùng với ý nghĩa là mọi giá mang thông tin được sử dụng trong hệ thống. Ví dụ: tài liệu giấy như hoá đơn, hồ sơ, ; tài liệu số hoá như các file dữ liệu, ảnh số, . Tài liệu lưu trữ-Kho dữ liệu Các thông tin được lưu trữ để phục vụ cho các chức năng công việc của hệ thống. . Chức năng-Công việc Một chức năng được hiểu là một hoặc nhiều công việc nhằm thực hiện một nhiệm vụ ở một phạm vi nào đó có tác động trực tiếp lên dữ liệu và thông tin của hệ thống đó. Những tác động trực tiếp lên dữ liệu và thông tin thường được nhắc đến như: cập nhật, lưu trữ, truyền thông tin, xử lý và biểu diễn thông tin. Kết thúc một chức năng thường cho một sản phẩm cũng là thông tin và có thể là sản phẩm trung gian hoặc sản phẩm cuối cùng. Ví dụ, trong HTTT “Quản lý đào tạo” ở một trường đại học, chức năng Xếp loại sinh viên được thực hiện khi các công việc Nhập 24
  25. điểm thi, Tính điểm trung bình được thực hiện. Kết thúc của chức năng này là một danh sách (thông tin) sinh viên đã được xếp loại. . Quy tắc nghiệp vụ Quy tắc nghiệp vụ là những quy định hoặc những hướng dẫn được chấp nhận mà chúng sẽ chi phối các hoạt động của tổ chức nhằm bảo đảm cho hoạt động của tổ chức đạt được các mục tiêu đề ra trong những điều kiện cụ thể. Các quy tắc nghiệp vụ được chia làm 3 loại: a. Quy tắc về quản lý: là các quy tắc quy định mục tiêu và ràng buộc của hệ thống. Các quy tắc này có thể được áp đặt từ bên ngoài hệ thống, cũng có thể là do tổ chức quy định. Ví dụ, “Sinh viên có có số tiết vắng học lơn hơn 1/3 tổng số tiết của học phần thì không được dự thi kết thúc học phần” hoặc “Doanh nghiệp phải đóng thuế VAT là 5% và thuế lợi tức là 35%” là các quy tắc về quản lý được áp đặt từ bên ngoài hệ thống. Xét quy tắc, “ Sinh viên có thể học lại lần thứ 3 theo phương pháp tự học.” là quy tắc do hệ thống quy định. b. Quy tắc về tổ chức: là các quy tắc liên quan đến giải pháp hoạt động của hệ thống. Đây là các quy định, trình tự làm việc cần tuân thủ để đạt được mục tiêu trong điều kiện của tổ chức. Ví dụ, quy tắc “Chỉ tổ chức thi lần 2 cho sinh viên sau khi đã hoàn tất việc thi lần 1“ là một quy tắc tổ chức. c. Quy tắc về kỹ thuật: là các quy tắc liên quan đến các yêu cầu kỹ thuật để bảo đảm sự hoạt động của hệ thống. Ví dụ, quy tắc “máy in không được sử dụng liên tục quá 1 giờ” là một quy tắc kỹ thuật. Để xác định hiện trạng của hệ thống thông tin, phân tích viên cần nghiên cứu, tìm hiểu để nắm được tình trạng hoạt động của HTTT cũ, các công việc, quy tắc hoạt động của mỗi bộ phận trong tổ chức, trên cơ sở đó để quyết định phải làm gì và làm như thế nào. Có nhiều phương pháp để nghiên cứu hiện trạng một HTTT như: phương pháp quan sát, phương pháp điều tra bằng phiếu thăm dò, phương pháp phỏng vấn, 2.1.1.2 Các phương pháp nghiên cứu hiện trạng a. Phương pháp quan sát Phương pháp này phân tích viên có thể quan sát trực tiềp hoặc gián tiếp (quan sát qua phương tiện hoặc đọc tài liệu) về hiện trạng hệ thống thông tin. Với phương pháp này phân tích viên phải ghi chép lại các yêu cầu sau: - Các bộ phận trong tổ chức - Mối quan hệ nghiệp vụ giữa các bộ phận trong tổ chức - Các hoạt động tác nghiệp của mỗi bộ phận - Cách thức giao tiếp và trao đổi thông tin giữa các bộ phận - Khối lượng công việc của mỗi bộ phận - Những yếu tố bất thường để xác định tính khả thi của dự án mà trong giai đoạn lập kế hoạch trước đây chúng ta chưa lường được hết. Phương pháp này có nhiều khiếm khuyết: - Mang lại một kết quả có tính chủ quan do sự thiếu hiểu biết của người phân tích. - Khó giới hạn được lĩnh vực nghiên cứu vi phân tích viên có phần thụ động trước các hiện tượng. - Chỉ có thể nắm bắt được các yếu tố bên ngoài - Gây tâm lý khó chịu cho người bị quan sát 25
  26. Tuy nhiên, phương pháp này cho một bức tranh khái quát về hệ thống thông tin tương lai. Chúng ta nên sử dụng phương pháp quan sát kết hợp với các phương pháp khác thì có hiệu quả hơn. b. Phương pháp điều tra bằng phiếu thăm dò Phương pháp này thường được sử dụng trong xã hội học, những điều tra mang tính vĩ mô. Đối với việc nghiên cứu hiện trạng một hệ thống thông tin phương pháp này ít được sử dụng, nó chỉ thích hợp với mục đích điều tra tần suất trong nghiên cứu khả thi. Thông thường phương pháp này chỉ lấy những thông tin mang tính định hướng. c. Phương pháp phỏng vấn Phương pháp này thường được sử dụng trong các hệ thống thông tin kinh tế xã hội, bởi vì nó mang lại những thông tin xác thực và chi tiết cho quá trình phân tích và thiết kế. Phân tích viên cần phải phỏng vấn: Ban lãnh đạo và các điểm công tác. . Phỏng vấn lãnh đạo: Mục đích là nắm các thông tin chung nhất của tổ chức, có thể là cần nắm: - Nhiệm vụ chung của tổ chức - Sơ đồ tổ chức - Chúng sẽ cho danh sách các điểm công tác và vai trò của chúng trong hệ thống - Các số liệu chung - Chúng sẽ cho biết quy mô của hệ thống - Các lĩnh vực cần nghiên cứu có liên quan đến hệ thống thông tin sắp được xây dựng . Phỏng vấn các điểm công tác: Mục đích là thu thập các thông tin chi tiết liên quan đến các hoạt động cụ thể và tất cả các thông tin liên quan đến hệ thống thông tin. Tại mỗi điểm công tác cần phải mô tả và liệt kê các quy trình của công việc phải thực hiện. Mỗi qui trình phải nắm cho được: - Phương thức hoạt động: công việc được thực hiện tự động hay thủ công. - Các thông tin và khối lượng thông tin liên quan đến công việc, các quy tắc thực hiện công việc. - Điều kiện khởi động: khi nào, với điều kiện nào thì công việc được khởi động. - Thời gian và chu kỳ thực hiện công việc: công việc được thực hiện khi nào và khoảng thời gian bao lâu thi công việc được thực hiện lại. Ngoài ra, phân tích viên cũng phải nắm: - Ngôn ngữ công việc tại mỗi điểm công tác để thiết kế giao diện người-máy giữa người sử dụng với hệ thống thông tin tương lai. - Các luồng thông tin tác nghiệp đi từ điểm công tác này đến điểm công tác khác hoặc đến môi trường ngoài của hệ thống. . Tổ chức phỏng vấn Trước khi phỏng vấn phân tích viên nên thông báo trước thời gian, địa điểm và nội dung phỏng vấn với người được phỏng vấn. Phỏng vấn với lãnh đạo và các điểm công tác không phải là một lần duy nhất, nên phân tích viên phải tạo tạo quan hệ tốt với người được phỏng vấn. Cần mở đầu hợp lý, biểu lộ thiện cảm, sự tin cậy và tôn trọng đối với người được phỏng vấn. Sau khi phỏng vấn xong, phân tích viên phải tóm tắt nội dung đã phỏng vấn, khẳng định các thoả thuận, để ngỏ khả năng tranh luận để phát huy tính tích cực của người được phỏng vấn. Để có được tài liệu tổng kết giai đoạn nghiên cứu hiện trạng, sau mỗi lần phỏng vấn phân tích viên phải ghi chép lại các thông tin về cuộc phỏng vấn như: người được phỏng vấn, chức vụ, chủ đề phỏng vấn, tên dự án, ai hỏi, thời gian hỏi, địa điểm hỏi, các câu hỏi, các câu 26
  27. trả lời tương ứng, đánh giá của người phỏng vấn, ngày tháng năm phỏng vấn, các thông tin này nên tổ chức trên các phiếu phỏng vấn như sau: Tên dự án: PHIẾU PHỎNG VẤN Số: Tên dự án con: Nơi phỏng vấn: Nội dung phỏng vấn (các câu hỏi và các câu trả lời) Các thoả thuận tiếp theo Một số đánh giá của người phỏng vấn Người phỏng vấn (Họ tên và chữ ký) Nội dung một phiếu phỏng vấn d. Nghiên cứu các tài liệu Nghiên cứu tài liệu cũng là một phần công việc của nghiên cứu hiện trạng. Qua các tài liệu của hệ thống phân tích viên có thể nắm được: Các chức năng của tổ chức. Các quy tắc, công thức tính toán, tại mỗi điểm công tác. Các tài liệu nghiên cứu bao gồm: - Các văn bản pháp quy, quy định về chức năng, nhiệm vụ của tổ chức. - Các văn bản pháp quy, quy định về tiêu chuẩn, quy tắc, phương thức làm việc. - Các chủ trương chính sách của tổ chức nhà nước đã ban hành. - Các báo cáo, báo biểu, thống kê đã có. Phân tích hiện trạng một hệ thống thông tin là việc làm rất quan trọng, quyết định sự thành công của dự án, thông thường phân tích viên phải sử dụng tất cả các phương pháp trên một cách khéo léo để đạt được mục tiêu đề ra. 2.1.2 Các công việc sau khảo sát hiện trạng Sau khi dùng các phương pháp khác nhau để thu thập thông tin và dữ liệu liên quan đến hệ thống tương lai, phân tích viên phải xử lý sơ bộ, phân loại và tổng hợp các dữ liệu thu được để tiện việc theo dõi, quản lý, phục vụ trực tiếp quá trình khảo sát và làm tư liệu cho các bước tiếp theo. 2.1.2.1 Xử lý sơ bộ kết quả khảo sát Dữ liệu thu thập được trong quá trình khảo sát hiện trạng là một khối các dữ liệu thô, phân tích viên phải xem lại và hoàn thiện tài liệu thu được. Công việc này bao gồm việc phân loại, sắp xếp, bổ sung, làm cho nó trở nên đầy đủ, chính xác, cân đối, gọn gàng, dễ kiểm tra và dễ theo dõi. Phát hiện chổ thiếu để bổ sung, chổ sai để sửa chữa. Những việc cần làm là: . Làm rõ các chức năng của hệ thống: qua khảo sát hoặc bằng kinh nghiệm phân tích viên có thể xác định được các chức năng và dữ liệu của hệ thống: như các đối tượng, các điểm 27
  28. công tác, các hoạt động. Đối với mỗi chức năng cần làm rõ: điều kiện khởi động, kết quả thu được, thời gian thực hiện, tần số, chu kỳ, các quy tắc phải tuân thủ. . Rà soát lại dữ liệu: ngoài các kết quả của phỏng vấn, phân tích viên nên sao chụp lại các bảng biểu, tài liệu để tách các thông tin cần sử dụng. Kiểm tra lại các thông tin sau về dữ liệu: - Tên dữ liệu: do người phân tích lựa chọn - Định nghĩa về dữ liệu: mô tả bằng lời hoặc bằng công thức - Kiểu dữ liệu (số, chuỗi, ) - Loại: là dữ liệu cơ sở hay dữ liệu được suy từ dữ liệu khác. - Ràng buộc về giá trị a) Tổng hợp kết quả khảo sát Việc phỏng vấn tại các điểm công tác chưa nói lên được mối quan hệ giữa các điểm công tác với nhau như thế nào. Lúc này người phân tích cần tổng hợp lại để có được một bức tranh tổng thể của hệ thống. Việc tổng hợp được tiến hành theo hai loại: tổng hợp các xử lý và tổng hợp theo dữ liệu. b) Tổng hợp các xử lý Mục đích của tổng hợp các xử lý là làm rõ các thiếu sót và sự rời rạc của các yếu tố liên quan đến công việc khi phỏng vấn. Có hai cách tổng hợp các xử lý: tổng hợp kết hợp với yếu tố tổ chức và tổng hợp tách rời các yếu tố tổ chức. . Tổng hợp kết hợp với yếu tố tổ chức Tổng hợp kết hợp với yếu tố tổ chức sẽ kết hợp các chức năng với điểm công tác. Tổng hợp này cho phép chúng ta kết nối được những công việc cùng thuộc một chức năng chung nhưng liên quan đến nhiều điểm công tác. Thông qua tổng hợp này chúng ta sẽ rà soát được các khiếm khuyết của việc điều tra tại các điểm công tác khác nhau. Tổng hợp kết hợp với yếu tố tổ chức dựa trên cơ sở lĩnh vực hoạt động trong hệ thống. Lĩnh vực hoạt động là một tập hợp các nhiệm vụ cùng liên quan đến một tập dữ liệu và một nhóm quy tắc quản lý. Để tách ra một lĩnh vực hoạt động cần phải: - Nhóm các hoạt động có mối quan hệ với nhau theo mục đích - Kết hợp các hành động đó với một tập hợp các quy tắc quản lý chung. - Kết hợp các hành động đó với một tập hợp các dữ liệu chung. . Tổng hợp tách rời các yếu tố tổ chức Mục đích của tổng hợp loại này là làm xuất hiện mức bất biến cao nhất (mức quan niệm) của hệ thống. Nếu bỏ đi các yếu tố tổ chức (như các điểm công tác) và yếu tố kỹ thuật thì hệ thống chỉ còn lại các điểm công tác ngoài, các chức năng và thông tin về các đối tượng được xử lý. c) Tổng hợp các dữ liệu Mục đích của tổng hợp dữ liệu là liệt kê ra tất cả các dữ liệu có liên quan đến hệ thống nhằm xây dựng một từ điển dữ liệu chung cho toàn nhóm phân tích. Nếu không sau này có thể gây nhiều rắc rối khi xây dựng quan niệm và mã hoá hệ thống. Các mục từ đưa vào từ điển cần phải chọn lọc và chính xác hoá, loại bỏ những từ đồng nghĩa và đa nghĩa. Ví dụ: Bảng tổng hợp hồ sơ, tài liệu theo thực thể dữ liệu STT Tên - vai trò Công việc liên quan 1 PHIẾU VẬT TƯ: ghi hàng hoá xuất hoặc nhập T1 2 ĐƠN ĐẠT HÀNG: ghi lượng hàng hoá đặt gửi nhà T1 cung cấp 28
  29. 3 PHIẾU GIAO HÀNG: ghi số lượng hàng của Nhà T2,T3 cung cấp phát ra 4 SỔ ĐẶT HÀNG: tập hợp các đơn hàng đã đặt T1,T2 Ví dụ: Bảng tổng hợp từ điển dữ liệu STT Tên gọi- Kiểu cỡ Khuôn Lĩnh vực Quy tắc, ràng Ý nghĩa dạng buộc 1 SỐ HOÁ ĐƠN ký tự 8 Kế toán Chữ hoa 2 TÊN HÀNG ký tự 20 Kế toán 3 NGÀY HOÁ ĐƠN ngày 8 dd-mm-yy Kế toán 2.1.3 Hợp thức hoá kết quả khảo sát Mục đích của việc hợp thức hoá kết quả khảo sát là nhằm xác định tính đúng đắn của thông tin và dữ liệu phản ánh yêu cầu thông tin của hệ thống và bảo đảm tính pháp lý của nó cho việc sử dụng sau này. Hợp thức hoá kết quả khảo sát bao gồm các công việc: - Hoàn chỉnh và trình bày các dữ liệu thu được để người sử dụng xem xét và cho ý kiến. - Tổng hợp các tài liệu để các nhà quản lý và các nhà lãnh đạo đánh giá và bổ sung. - Đề đạt thêm một số quy tắc mới (như các quy tắc về an toàn hệ thống, các yêu cầu về nhân sự, ) Do đó hợp thức hoá còn mang ý nghĩa là sự thoả thuận các quy tắc mới. Hợp thức hóa là một khâu không thể bỏ qua, nếu không có thể sẽ đối mặt với những khó khăn không lường trước được khi triển khai dự án. 2.2 Phân tích hệ thống về chức năng Để có thể mô tả các kết quả nghiên cứu qua từng giai đoạn và mô tả các chức năng nghiệp vụ của hệ thống, người phân tích cần sử dụng một số phương tiện và mô hình được nói dưới đây. 2.2.1 Các mức độ diễn tả chức năng Chức năng được nói ở đây là các chức năng xử lý thông tin trong các hệ thống thông tin quản lý. Tuỳ theo ngữ cảnh mà việc mô tả các chức năng của hệ thống được thể hiện ở nhiều mức độ khác nhau. . Mô tả vật lý và mô tả logic: mô tả chức năng ở mức độ vật lý đòi hỏi phải nói rõ mục đích và cách thực hiện của quá trình xử lý, nghĩa là phải trả lời câu hỏi: làm gì? và làm như thế nào?. Sự mô tả chức năng ở mức độ logic lại đơn giản hơn, chỉ cần trả lời đầy đủ câu hỏi làm gì? Nghĩa là chỉ diễn tả mục đích, bản chất của quá trình xử lý mà không cần quan tâm đến các yếu tố về thực hiện, cài đặt như phương pháp, phương tiện, tác nhân, thời điểm, thời gian, Thông thường mô tả vật lý được sử dụng trong giai đoạn khảo sát sơ bộ một hệ thống có sẵn, còn mô tả logic được sử dụng trong giai đoạn thiết kế. Có thể thấy sự thay đổi mức độ mô tả vật lý/logic trong hình dưới đây, trong đó các bước chuyển đổi (1) và (2) thuộc giai đoạn phân tích còn bước chuyển đổi (3) thuộc giai đoạn thiết kế. 29
  30. Mô tả HT cũ làm Mô tả HT mới làm như thế nào? như thế nào? (1) (3) Mức vật lý Mức logic Mô tả HT cũ làm (2) Mô tả HT mới gì? làm gì? Một trình tự mô hình hoá hệ thống . Mô tả đại thể và mô tả chi tiết: ở mức độ đại thể một chức năng được mô tả dưới dạng hộp đen. Nội dung bên trong hộp đen không được chỉ rõ mà chỉ mô tả các thông tin vào và ra hộp đen đó. Ví dụ quá trình “lập hoá đơn” để xuất hàng được mô tả qua hộp đen như sau: Đơn đặt hàng Lập Phiếu xuất kho Hoá đơn Thông tin về tồn kho Ở mức độ chi tiết thì nội dung của quá trình xử lý phải được chỉ rõ hơn. Thông thường thì cần chỉ ra các chức năng con, các mối quan hệ thông tin và điều khiển giữa những chức năng đó. Nếu một chức năng có nhiều chức năng con thì để mô tả chi tiết người phân tích phải phân rã các chức năng con này thành nhiều mức. Các mức này được biểu diễn qua biểu đồ phân cấp chức năng dưới đây. 2.2.2 Biểu đồ chức năng nghiệp vụ BFD (Business Function Diagram) Biểu đồ chức năng nghiệp vụ là một sơ đồ hình học dùng để mô tả sự phân rã có thứ bậc các chức năng của hệ thống từ đại thể đến chi tiết. Mỗi nút trong biểu đồ là một chức năng, các chức năng này có quan hệ bao hàm với nhau và chúng được nối với nhau bằng các cung để tạo nên một cấu trúc cây. Ví dụ: Biểu đồ chức năng nghiệp vụ của hệ thống thông tin “quản lý doanh nghiệp” Quản lý Doanh nghiệp Quản lý Quản lý Quản lý Nhân sự Vật tư Tài chính Tài sản Thi30ết Lương Kế cố định bị tiền toán
  31. Có hai dạng để biểu diễn mô hình chức năng nghiệp vụ là dạng phân cấp chức năng và dạng phân tích công ty. a. Xây dựng BFD theo phân cấp chức năng: Để hình thành biểu đồ phân cấp chức năng người ta phân chia một chức năng của một bộ phận thành các chức năng con và dựa trên nguyên tắc sau: . Tính thực chất của mỗi chức năng: mỗi chức năng được phân rã từ một chức năng ở mức trên phải là một bộ phận thực sự tham gia thực hiện chức năng đã phân rã ra nó. Do đó, để hình thành một mức tiếp theo, người phân tích phải đặt câu hỏi “để hoàn thành chức năng này thì các chức năng con nào sẽ được thực hiện?” . Tính đầy đủ của mỗi chức năng con: Việc thực hiện các chức năng ở mức kế tiếp phải bảo đảm thực hiện được chức năng mức trên đã phân rã ra chúng . Bố trí, sắp xếp các chức năng: khi thiết lập biểu đồ BFD không nên có quá 6 mức, một hệ thống nhỏ thông thường có khoảng 3 mức. Mỗi chức năng trong mô hình có thể có nhiều chức năng con. Ở mỗi mức các chức năng con nên đặt trên cùng một hàng. Sơ đồ nên cân bằng, nghĩa là các chức năng cùng một mức nên có kích thước và độ phức tạp tương đương nhau. . Đặt tên cho chức năng: Mỗi chức năng nên có một tên riêng đơn giản nhưng thể hiện bao quát các chức năng con và phản ánh được thực tế nghiệp vụ của nó. . Mô tả chi tiết chức năng lá: các chức năng cuối cùng của một BFD được gọi là chức năng lá. Các chức năng này thực hiện trực tiếp công việc của hệ thống nên nó cần phải được mô tả một cách trình tự và chi tiết. Ví dụ: BFD về “Quản lý trông giữ xe” Quản lý trông giữ xe 1. Nhận xe 2. Trả xe 3. Giải quyết sự cố 1.1 Nhận dạng xe 2.1 Kiểm tra vé 3.1 Kiểm tra sổ gửi 1.2 Ktra chổ trống 2.2 Đối chiếu vé 3.2 Ktra hiện trường 1.3 Ghi vé xe 2.3 Thanh toán 3.3 Lập biên bản 1.4 Ghi số xe vào 2.4 Ghi số xe ra 3.4 Thanh toán sự cố b Xây dựng BFD theo dạng công ty: BFD dạng công ty được sử dụng để mô tả chức năng tổng quát của tổ chức, thường được sử dụng trong các hệ thống lớn, đòi hỏi phải phân tích sao cho dữ liệu phải được xử lý và sử dụng chung trong toàn bộ hệ thống. Để mô tả BFD dạng công ty phân tích viên phải xác định 31
  32. tất cả các chức năng nghiệp vụ ở mức cao nhất của tổ chức và chú ý rằng bất kỳ dự án nào cũng là bộ phận của một hoặc nhiều chức năng cao nhất này. Ví dụ: Biểu đồ chức năng nghiệp vụ mức cao nhất (dạng công ty) của hệ thống thông tin quản lý đào tạo trong một trường đại học. Quản lý Đào tạo Quản lý Quản lý Quản lý Sinh viên Giáo viên Môn học Chú ý: cần phân biệt một BFD với một sơ đồ tổ chức của một cơ quan. Sơ đồ tổ chức của một cơ quan mô tả các bộ phận, các tổ chức hợp thành của cơ quan đó nên cũng có dạng hình cây. Sơ đồ tổ chức thường dùng để mô tả luồng thông tin đi từ bộ phận này đến bộ phận khác trong tổ chức. 2.3 Mô hình hoá các tiến trình của hệ thống Trong quá trình phân tích, một yêu cầu thông tin cần phải được mô tả khi hệ thống vận hành đó là các luồng dữ liệu đi từ vị trí này đến vị trí khác của tổ chức. Hai loại biểu đồ thường được các phương pháp phân tích thiết kế hệ thống sử dụng là sơ đồ ngữ cảnh và các loại biểu đồ luồng dữ liệu. Chúng thể hiện việc chuyển tải, lưu trữ thông tin trong hệ thống, giúp phân tích viên hình dung được các loại thông tin được sử dụng và lưu chuyển như thế nào. 2.3.1 Sơ đồ ngữ cảnh a. Các biểu tượng để trình bày tài liệu Điểm công Điểm công Tài liệu Tài liệu lưu tác trong tác ngoài trữ Luồng dữ liệu Nhiệm vụ hoặc chức năng Sự kiện CSDL b. Sơ đồ ngữ cảnh: là sơ đồ hình học được xây dựng theo điểm công tác nào đó dùng để làm rõ mối quan hệ thông tin giữa các điểm công tác của hệ thống. Điểm trung tâm là điểm đang xét, các điểm công tác khác có liên hệ thông tin với điểm trung tâm sẽ được mô tả bằng mũi tên và ghi chú kèm theo. Ví dụ: Sơ đồ ngữ cảnh của bài toán "quản lý kho". Điểm trung tâm là Người quản lý kho 32
  33. Thủ kho Phiếu Xuất/Nhập Kế toán Đại lý Phiếu Xuất Phiếu Xuất/Nhập Người quản lý kho Phiếu Xuất/Nhập Báo cáo Phiếu Nhập Phân xưởng Lãnh đạo Nhà cung cấp 2.3.2 Biểu đồ luồng dữ liệu DFD Biểu đồ luồng dữ liệu (DFD-Data Flow Diagram ) là một sơ đồ hình học nhằm diễn tả các luồng tài liệu thông qua các chức năng của hệ thống. a. Những hỗ trợ của DFD . Xác định yêu cầu của người dùng. . Lập kế hoạch và minh hoạ những phương án cho phân tích viên và người dùng xem xét. . Trao đổi giữa những phân tích viên và người dùng trong hệ thống. . Làm tài liệu đặc tả yêu cầu hình thức và đặc tả thiết kế hệ thống. b. Các thành phần của một DFD: . Luồng dữ liệu (Data flow): mô tả dữ liệu di chuyển từ một vị trí này đến một vị trí khác, một DFD được mô tả bởi một mũi tên với tên dữ liệu kèm theo, chiều của mũi tên chỉ hướng di chuyển của dữ liệu. Tên của luồng dữ liệu thể hiện trạng thái logic của thông tin chứ không phải dạng vật lý của nó. Đại lý Phiếu Xuất Người quản lý kho Ví dụ: Một luồng dữ liệu là “Phiếu 33
  34. xuất” đi từ tác nhân trong “Người quản lý kho” đến tác nhân ngoài “Đại lý” . Kho dữ liệu (Data store): là các dữ liệu được lưu giữ tại một nơi nào đó trong hệ thống. Về mặt vật lý, kho dữ liệu là các tập tin dữ liệu trong máy tính hoặc những tập tài liệu được lưu trữ ở văn phòng. Do đó một kho dữ liệu có thể biểu diễn các dữ liệu được lưu trữ ở nhiều vị trí không gian khác nhau, như các thư mục khác nhau, các máy tính khác nhau, Kho dữ liệu là các dữ liệu được lưu giữ trên giá mang nó, vì vậy người ta thường lấy tên của vật mang nó làm tên của kho dữ liệu. Ví dụ: “ Phiếu xuất kho”, “Đơn đặt hàng” D Phiếu xuất kho Đơn đặt hàng D . Tiến trình (Proccess) hoặc chức năng: là một công việc hoặc một hành động có tác động lên dữ liệu làm cho chúng di chuyển, thay đổi hoặc được phân phối. Chỉ được xem là một tiến trình trong DFD nếu chúng nhận thông tin đầu vào và có thông tin đầu ra. Ví dụ: Tiến trình “Làm hoá đơn” trong hệ thống thông tin “Quản lý Kho hàng” Làm hoá đơn Trong SADT một tiến trình còn được ký hiệu bởi một vòng tròn Làm hoá đơn . Tác nhân ngoài (extenal entity): Tác nhân ngoài còn được gọi là đối tác, là một cá nhân hoặc một tổ chức ở bên ngoài lĩnh vực nghiên cứu của hệ thống, có thể hiểu tác nhân ngoài như là điểm công tác ngoài. Nghĩa là nơi thu nhận, nơi phát sinh thông tin nhưng không phải là nơi lưu trũ chúng. Tác nhân ngoài là phần sống còn của hệ thống, bởi vì chúng là nguồn cung cấp thông tin cho hệ thống và là nguyên nhân kích hoạt hệ thống. Ví dụ: một luồng dữ liệu là “Phiếu nhập” đến một tác nhân ngoài là “Nhà cung cấp”. Nhà cung cấp Phiếu nhập . Tác nhân trong (intenal entity): tương tự như điểm công tác trong. Nghĩa là, có thể là nơi thu nhận, nơi phát sinh và nơi lưu trữ và xử lý thông tin. 34
  35. Ví dụ: một luồng dữ liệu là “Phiếu xuất/nhập” đến một tác nhân trong là “Thủ kho” Thủ kho Phiếu nhập/xuất c. Các chú ý khi xây dựng một DFD Để xây dựng một DFD người ta dựa vào biểu đồ chức năng nghiệp vụ và sơ đồ ngữ cảnh. Sử dụng BFD để xác định các tiến trình theo từng mức cho DFD. Bởi vì BFD được thực hiện phân rã thành các mức nên nó dùng để chỉ ra các mức tương ứng trong DFD. Sử dụng sơ đồ ngữ cảnh để nhận dạng ra được các luồng dữ liệu vào và ra hệ thống, các tác nhân ngoài của hệ thống. Tuy nhiên đê kiểm tra tính đúng đắn của các thành phẩm trong một DFD cần phải dựa vào các đặc trưng dưới đây. Tiến trình: - Không một tiến trình nào chỉ có cái vào mà không có cái ra. Nếu một đối tượng nào đó mà chỉ có cái vào thì đó có thể là một tác nhân (đích-thu nhận thông tin). - Không một tiến trình nào chỉ có cái ra mà không có cái vào. Nếu một đối tượng nào đó mà chỉ có cái ra thì đó có thể là một tác nhân (nguồn-phát sinh thông tin). - Cái vào của một tiến trình phải khác với cái ra của tiến trình đó. - Tên một tiến trình phải là một mệnh đề chỉ hành động. Kho dữ liệu: - Tên một kho dữ liệu phải là một mệnh đề danh từ. - Dữ liệu không thể di chuyển trực tiếp từ một kho dữ liệu này đến một kho dữ liệu khác. - Không thể di chuyển trực tiếp dữ liệu từ một tác nhân đến một kho dữ liệu. - Không thể di chuyển trực tiếp dữ liệu từ một kho dữ liệu đến một tác nhân. Tác nhân: - Tên một tác nhân phải là một mệnh đề danh từ. - Dữ liệu không thể di chuyển trực tiếp từ một tác nhân này đến một tác nhân khác. Luồng dữ liệu: - Tên một luồng dữ liệu phải là một mệnh đề danh từ. - Một luồng dữ liệu chỉ có một hướng chỉ hướng di chuyển của dữ liệu. - Một luồng dữ liệu không thể quay lui nơi nó vừa đi khỏi. - Một luồng dữ liệu đi vào một kho có nghĩa là kho được cập nhật dữ liệu. - Một luồng dữ liệu đi ra khỏi một kho có nghĩa là kho dữ liệu được đọc. 2.3.3 Kỹ thuật phân mức Căn cứ vào việc phân rã chức năng của một BFD, chúng ta có thể mô tả một DFD theo nhiều mức khác nhau. Mỗi mức được thể hiện trong một hoặc nhiều trang. . Mức 0: còn gọi là mức bối cảnh, chỉ gồm một DFD, trong đó chỉ có một chức năng duy nhất (chức năng tổng quát của hệ thống) trao đổi các luồng thông tin với các đối tác. Tên của trang mức 0 là tên của hệ thống. . Mức 1: còn gọi là mức đỉnh, cũng chỉ gồm một DFD, và các mức 2,3,4, mỗi mức gồm nhiều DFD được thành lập như sau: 35
  36. . Cứ mỗi chức năng ở mức trên, ta thành lập một DFD ở mức dưới, gọi là biểu DFD định nghĩa chức năng đó theo cách sau: - Phân rã chức năng đó thành nhiều chức năng con; - Vẽ lại các luồng dữ liệu vào và ra chức năng trên, nhưng bây giờ phải vào hoặc ra chức năng con thích hợp; - Nghiên cứu các quan hệ về dữ liệu giữa các chức năng con, nhờ đố bổ sung các luồng dữ liệu nội bộ hoặc các kho dữ liệu nội bộ. . Các chức năng được đánh số theo ký pháp chấm để tiên theo dõi vệt triển khai từ trên xuống. Tổng quát, có thể định nghĩa một cách quy nạp biểu đồ luồng dữ liệu các mức như sau: Biểu đồ luồng dữ liệu mức n là biểu đồ luồng dữ liệu nhận được từ việc phân rã một tiến trình thuộc biểu đồ luồng dữ liệu mức n-1. Như vậy biểu đồ luồng dữ liệu ở mỗi mức là tập hợp các DFD ở mức đó. 0 mức 0 3.0 Biểu đồ phân rã mức 0 1.0 2.0 3.1 1.0 2.3 3.2 2.1 2.2 Biểu đồ phân rã mức 1 2.1 2.2.2 Biểu đồ phân rã mức 2 2.2.1 2.2.3 36 Các mức trong quá trình phân rã biểu đồ luồng dữ liệu
  37. Ví dụ: Xét hệ thống thông tin “Quản lý tín dụng” có BFD như sau: Quản lý tín dụng Cho vay Thu nợ Nh ận đơn Duyệt vay Trả lời đơn Xác định kỳ Xử lý nợ trả Xử lý nợ trả hạn trả trong hạn ngoài hạn Hãy xây dựng các DFD của các mức được phân rã từ BFD đã cho. . Mức 0: chức năng tổng quát của hệ thống là: “Quản lý tín dụng”. Tác nhân của hệ thống là “Khách vay”. Ta có DFD ở mức bối cảnh như sau: Trả lời đơn vay Đơn vay Khách vay Quản lý tín dụng Nợ hoàn trả DFD ở mức 0 (mức bối cảnh) . Mức 1: chức năng ở mức 0 được phân rã thành 2 chức năng con là “Cho vay” và “Thu nợ”. Ngoài ba luồng dữ liệu đã có ở chức năng 0 phải được bảo toàn, thì ta thấy luồng dữ liệu trao đổi giữa hai chức năng “Cho vay” và “Thu nợ” không trực tiếp mà phải thông qua một kho dữ liệu đó là “Sổ nợ”. Ta có DFD mức đỉnh như hình dưới đây. . Mức 2: chức năng “Cho vay” ở mức 1 được phân rã thành 3 chức năng con là “Nhận đơn”, “Duyệt vay” và “Trả lời đơn”; chức năng “Thu nợ” ở mức 1 được phân rã thành 3 chức năng con là “Xác định kỳ hạn trả”, “Xử lý nợ trả trong hạn” và “Xử lý nợ trả ngoài hạn”. Để bảo toàn các luồng dữ liệu vào/ra và thêm các luồng dữ liệu nội bộ ta thành lập được hai DFD định nghĩa cho hai chức năng 1 và 2 như sau: 37
  38. Trả lời đơn vay 1.Cho vay Khách vay Đơn vay Sổ nợ 2. Thu nợ Nợ hoàn trả DFD ở mức 1 (mức đỉnh) Đơn đã Đơn vay kiểm tra Khách vay 1.1 Nhận đơn 1.2 Duyệt vay Đơn đã duyệt Sổ nợ Từ chối vay 1.3 Trả lời đơn Đáp ứng vay DFD ở mức 2 (định nghĩa chức năng 1: Chovay) Nợ trả trong hạn 2.2 Xử lý nợ trả Nợ hoàn trong hạn trả Khách vay 2.1 Xác định kỳ hạn trả Sổ nợ 2.3 Xử lý nợ trả ngoài hạn Nợ trả ngoài hạn DFD ở mức 2 (định nghĩa chức năng 2: Thu nợ) 38
  39. Chú ý: - Quá trình phân rã thành các mức không thể kéo dài mãi mà phải dừng sau một số mức. Ta quyết định dừng việc phân rã khi có những biểu hiện sau: . Các chức năng được phân rã cuối cùng khá đơn giản . Nếu phân rã tiếp sẽ vượt ra ngoài câu hỏi “Làm gì?” và bắt đầu sang câu hỏi “Làm như thế nào?” - Số mức vào khoảng 7±2 (tuỳ thuộc hệ thống là đơn giản hoặc phức tạp) 2.4 Mô hình quan niệm của hệ thông tin 2.4.1 Giới thiệu về mô hình quan niệm Mô hình quan niệm của một hệ thống thông tin được thiết lập từ hai mô hình liên quan đến nhau là mô hình quan niệm về dữ liệu và mô hình quan niệm về xử lý. Mô hình quan niệm về dữ liệu: là sự mô tả toàn bộ dữ liệu của hệ thống, những mô tả này độc lập với các lựa chọn môi trường cài đặt, là công cụ cho phép người phân tích thể hiện dữ liệu của hệ thống ở mức quan niệm. Mô hình có thể mô tả bằng ngôn ngữ tự nhiên hoặc bằng hình vẽ. Mô hình quan niệm về xử lý: mô tả toàn bộ các quy tắc xử lý được áp dụng cho dữ liệu của hệ thống. Mô hình quan niệm cũng là cơ sở để trao đổi giữa những người phân tích thiết kế hệ thống. 2.4.2 Mô hình thực thể-mối quan hệ (mô hình ER) 2.4.2.1 Ý nghĩa của mô hình Mô hình ER do Peter Chen đề xuất năm 1976, được sử dụng rộng rãi từ năm 1988. ANSI đã chọn nó làm mô hình chuẩn cho IRDS. Mô hình ER là một cách để mô tả thế giới thực gần gủi với quan niệm và cách nhìn nhận bình thường. Mô hình này là một mô tả logic chi tiết dữ liệu của một tổ chức hoặc một lĩnh vực nghiệp vụ, nó còn là công cụ để phân tích thông tin nghiệp vụ. Mô hình được sử dụng rộng rãi trong các phần mềm thiết kế như ER Designer CASE (Chen và Associates 1988), trong các phần mềm trợ giúp thiết kế bằng máy tính. 2.4.2.2 Các thành phần của mô hình ER Mô hình ER có các thành phần cơ bản sau: - Các tập thực thể - Các mối quan hệ giữa các thực thể - Các thuộc tính của các thực thể và các mối quan hệ - Các mối quan hệ để mô tả kiểu kết nối giữa các thực thể (hoặc các bản số của các thực thể thông qua các mối quan hệ tương ứng) 39
  40. 2.4.2.3 Thực thể và tập thực thể Một tập thực thể là mô hình của một lớp đối tượng cụ thể hoặc trừu tượng của thế giới thực. Mỗi thể hiện trong một tập thực thể được gọi là một thực thể hoặc cá thể (bản thể) của tập thực thể đó. Các đối tượng trong một tập thực thể tồn tại khách quan và độc lập tương đối lẫn nhau. Sự tồn tại của chúng không phụ thuộc vào hoạt động của hệ thống và chúng liên hệ với nhau thông qua tổ chức của hệ thống hoặc hoạt động của hệ thống. Một thực thể được nhận diện bằng một số các đặc trưng của nó gọi là thuộc tính. Như vậy thuộc tính (Attribute) là các yếu tố thông tin cụ thể để nhận biết một tập thực thể. Mỗi tập thực thể được đặc trưng bởi một tên và danh sách các thuộc tính của nó. Người ta dùng một trong các ký hiệu sau để mô tả một tập thực thể. Thuộc tính 1 - Thuộc tính 1 - Thuộc tính 2 hoặc - - Thuộc tính N Thuộc tính 2 Thuộc tính N - Ví dụ: Mã số nhân viên, họ tên, ngày sinh, đơn vị, nơi sinh là các yếu tố thông tin tạo thành tập tập thực thể NHÂN VIÊN. Mã nhân viên Đơn vị Nhân viên - Mã nhân viên hoặc NHÂN VIÊN - Họ tên - Ngày sinh - Đơn vị - Họ tên Ngày sinh Thuộc tính Thuộc tính của một thực thể có thể phân thành các loại chủ yếu sau: thuộc tính đơn, thuộc tính lặp (đa trị), thuộc tính định danh. a. Thuộc tính đơn Thuộc tính đơn là thuộc tính mà giá trị của nó không thể phân tách được trong các xử lý theo một ý nghĩa tương đối nào đó. Ví dụ: Thuộc tính HỌTÊN là thuộc tính đơn trong hệ thống thông tin “Quản lý nhân sự” bởi vì trong hệ thống này người ta không có nhu cầu tách thuộc tính HỌTÊN thành hai thuộc tính 40
  41. HỌLÓT và TÊN, tuy nhiên điều này không còn đúng nữa khi ở trong hệ thống thông tin “Quản lý Đào tạo” b. Thuộc tính phức hợp Thuộc tính phức hợp là thuộc tính được tạo từ những thuộc tính đơn khác nhau. Ví dụ: Thuộc tính Ngày sinh là gộp của 3 thuộc tính ngày, tháng và năm sinh. Thuộc tính HỌTÊN được tạo từ hai thuộc tính HỌLÓT và TÊN c. Thuộc tính lặp (đa trị): thuộc tính có thể nhận nhiều hơn một giá trị đối với mỗi thực thể. Ví dụ: KỸNĂNG, TĐỘNGNGỮ là các thuộc tính lặp trong tập thực thể NHÂNVIÊN vì mỗi nhân viên có thể có nhiều kỹ năng và trình độ ngoại ngữ khác nhau. d. Thuộc tính định danh (khóa) Thuộc tính định danh là một hoặc một số tối thiểu các thuộc tính của một tập thực thể mà giá trị của nó cho phép phân biệt các thực thể khác nhau trong tập thực thể. Trong một tập thực thể có thể có nhiều thuộc tính định danh khác nhau. Thông thường người ta chọn thuộc tính định danh là một thuộc tính đơn duy nhất. Ví dụ: Trong tập thực thể NHÂNVIÊN thuộc tính MÃNV, SỐCMND là các thuộc tính có thể làm thuộc tính định danh. Để tiện cho việc tổ chức dữ liệu và xử lý sau này, khi chọn thuộc tính định danh nên chú ý đến các yếu tố sau: . Chọn định danh sao cho giá trị của nó không thay đổi trong suốt vòng đời của thực thể. Ví dụ, SỐCMND ít khi được chọn làm thuộc tính định danh vì mỗi nhân viên có thể có nhiều chứng minh nhân dân khác nhau và có thể không có chứng minh nhân dân. . Chọn định danh phải bảo đảm giá trị của nó đối với thực thể thuộc tập thực thể phải khác rỗng (NOT NULL). Nếu định danh là hợp bởi một số thuộc tính khác nhau thì phải bảo đảm mỗi thuộc tính thành phần phải khác rỗng. . Tránh sử dụng các định danh áp đặt mà cấu trúc của nó có thành phần chỉ sự phân loại, địa điểm. 2.4.3 Mối quan hệ giữa các tập thực thể 2.4.3.1 Mối quan hệ Khái niệm tập thực thể với các thuộc tính không nói lên được mối liên quan giữa các tập thực thể với nhau. Mối quan hệ là sự mô tả sự liên hệ giữa các phần tử của các tập thực thể với nhau, chúng là các gắn kết các tập thực thể với nhau. 41
  42. Chúng ta có thể diễn tả khái niệm mối quan hệ giữa các tập thực thể một cách hình thức như sau: Mối quan hệ R giữa các tập thực thể E1, E2, , Ek là một tập con của tích Descartes F1x F2x x Fn , trong đó Fi {E1, E2, , Ek}. Một thể hiện của mối quan hệ R là một tập các n-bộ (e1,e2, ,en), trong đó ei Fi (i=1 n). Nếu n-bộ (e1, e2, , en) là một thể hiện của R thì ta nói rằng e1,e2 , , en có mối quan hệ R với nhau. Ta có thể phân loại các mối quan hệ giữa các tập thực thể như sau: Mối quan hệ giữa các tập thực thể có thể là một mối quan hệ sở hữu hoặc phụ thuộc hoặc mô tả sự tương tác giữa chúng. Một mối quan hệ có thể có thuộc tính riêng của nó. Để mô tả một mối quan hệ người ta dùng một hình ellip trong đó ghi tên của mối quan hệ và các thuộc tính riêng của nó nếu có. Sinh viên Điểm thi Môn học - Mã SV - Lần - Mã MH - Họ SV - Điểm - Tên MH - Tên SV - Số ĐVHT - Ngày sinh Số ĐVHT hoặc Mã SV Sinh viên Điểm thi Môn học Ngàysinh Họ SV Mã MH Tên MH Tên SV Lần Điểm Khi định nghĩa một mối quan hệ cần phải nêu ý nghĩa của nó. Ví dụ: (e1,e2) điểm thi có ý nghĩa: sinh viên e1 thi một môn học e2 lần thứ mấy và được bao nhiêu điểm. Một tập thực thể có thể tham gia nhiều mối quan hệ và giữa hai tập thực thể có thể có nhiều mối quan hệ khác nhau. Ví dụ: Giữa hai tập thực thể Sinh viên và Môn học có hai mối quan hệ là ĐKMH và Điểm thi. Chiều của mối quan hệ: là số tập thực thể tham gia vào mối quan hệ đó. Mối quan hệ một chiều (đệ quy-phản xạ): mối quan hệ giữa các thực thể của cùng một tập thực thể. Ký hiệu: 42
  43. Ví dụ: Người Nhân viên - Mã Kết hôn - Mã NV Quản lý - Năm - Họ - Họ tên - Tên - Ngày sinh Mối quan hệ hai chiều: là sự kết nối giữa hai tập thực thể, còn gọi là mô hình nhị nguyên. Mối quan hệ này thường được sử dụng trong thực tế. Ví dụ: NGƯỜI Sở hữu NHÀ Năm SH Hoten Sốnhà SoCM Đườngphố Dtich Mối quan hệ nhiều chiều: mối quan hệ có số tập thực thể tham gia lớn hơn 2, còn gọi là mô hình đa nguyên. Trong thực tế, người ta thường dưa các mối quan hệ nhiều chiều về mối quan hệ hai chiều. Giáo viên Sinh viên Họtên Dạy Họtên QQuán QQuán Môn học Tên MH Số tiết Mối quan hệ ba chiều Mối quan hệ Dạy có ý nghĩa: (a,b,c,d,e) TKB : Giáo viên a Dạy Sinh viên b Môn học c tại Phòng học d vào tiết thứ e. . Bản số Xác định mối quan hệ giữa các tâp thực thể như ở trên chưa nói lên độ phức tạp của chúng. Chẳng hạn, khó có thể biết được mỗi thực thể của tập thực thể này có liên hệ với bao nhiêu thực thể của tập thực thể kia thông qua mối quan hệ. Để diễn tả tần suất xuất hiện của các phần tử của tập thực thể trong một mối quan hệ người ta dùng một khái niệm là bản số. 43
  44. Bản số (Cardinality) là một cặp số nguyên (i,j), chứa số tối thiểu và số tối đa trường hợp có thể có của các phần tử của tập thực thể tham gia vào mối quan hệ. Bản số của tập thực thể nào thì được ghi trên nhánh của tập thực thể đó. Nếu i,j nhận giá trị lớn hơn 1 thì quy ước thay chúng bởi ký tự n. Ví dụ Sinh viên Lớp học - Mã SV (1,1) học (1,n) - Mã lớp - Họ tên - Tên lớp Bản số (1,1): Một sinh viên học ít nhất là 1 lớp và nhiều nhất là 1 lớp. Bản số (1,n): một lớp có ít nhất là 1 sinh viên và nhiều nhất là n sinh viên. Các ví dụ: a. Giả sử một người phải ở và chỉ ở trong một nhà, khi đó bản số của các tập thực thể NGƯỜI và NHÀ qua mối quan hệ Ở là (1,1) (1,n) (1,1) (1,n) Người ở Nhà - Họ tên Năm - Số nhà - Số CMND - Đường - Dtích b. Bản số của mối quan hệ Kết hôn của công dân Việt nam (0,1) (0,1) Nhân viên Người Kết hôn - Mã NV Quản lý - Họ tên - Năm - Họ tên - Số CMND - Quê quán (0,1) - Gtính (0,1) c. Giả sử mọi vật tư của công ty phải được chứa trong các kho hàng và một vật tư chỉ ở trong một kho mà thôi, khi đó bản số của các tập thực thể VÂT TƯ và KHO qua mối quan hệ Chứa trong là (1,1) (1,n) VẬT TƯ (1,1) (1,n) KHO Chứa trong MaVT Tenkho TenVT Đchi 44
  45. d. Bản số của các tập thực thể THẦY và TRÒ qua mối quan hệ Dạy học THAY (1,n) Dạy (1,n) TRÒ MaGV MaSV TenGV HTen Các trường hợp có thể xảy ra của các cặp bản số: (1,1) (1,1) hoặc (0,1) (0,1) hoặc (0,1) (1,1) (1,1) (1,n) hoặc (0,1) (1,n) hoặc (1,1) (0,n) (1,n) (1,n) hoặc (0,n) (1,n) hoặc (1,1) (0,n) 2.4.3.2 Bản số trực tiếp giữa các mối quan hệ Trong một số phương pháp phân tích người ta không biểu diễn một cách rõ ràng bản số của một tập thực thể trong mối quan hệ mà chỉ biểu diễn bản số trực tiếp giữa hai tập thực thể. Bản số trực tiếp giữa hai tập thực thể: Giả sử tập thực thể E1 có bản số trong mối quan hệ là (i1:j1); tập thực thể E2 có bản số trong mối quan hệ là(i2:j2). Khi đó bản số trực tiếp giữa hai tập thực thể E1,E2 là (j2:j1). Người ta dùng các ký hiệu sau để mô tả bản số trực tiếp của hai tập thực thể: (1:1) (n:n) (1:n) hoặc (1:1) (n:n) (1:n) hoặc sử dụng các ký hiệu: , , tương ứng với: 0, 1, n Sinh viên Khóa học (n:n) Mối quan hệ ISA (cha-con): Cho hai tập thực thể A và B. Ta nói A có mối quan hệ ISA với B nếu mỗi thực thể trong A cũng là một thực thể trong B (còn gọi là A là con của B). Ký hiệu TTThể con n 1 TTThể cha ISA - Ttinh1 - Ttinh1 - - - Ttính n - Ttính m 45
  46. Ví dụ: Tập thực thể NHÂNVIÊN có tập thực thể ĐẢNGVIÊN là tập thực thể con. Vậy: ĐẢNGVIÊN ISA NHÂNVIÊN 2.4.3.3 Tách một mối quan hệ đa nguyên thành các mối quan hệ nhị nguyên Trong mô hình ER người ta xem bậc (degree) của một mối quan hệ là số các tập thực thể tham gia vào mối quan hệ này. Chẳng hạn mối quan hệ bậc hai, còn được gọi là mối quan hệ nhị nguyên, là mối quan hệ giữa hai tập thực thể. Trên thực tế để đơn giản và tiện cho việc thiết kế cài đặt các CSDL, hầu hết các mối quan hệ đa nguyên đều được chuyển đổi thành các mối quan hệ nhị nguyên. Dựa vào khả năng chuyển đổi này của mối quan hệ đa nguyên, một số công cụ thiết kế CSDL chỉ cho phép sử dụng các mối quan hệ nhị nguyên. Cụ thể phương pháp chuyển đổi được thực hiện như sau. Thuật toán 2.3.1. Tách một mối quan hệ đa nguyên thành các mối quan hệ nhị nguyên không kèm thuộc tính. Input: Mối quan hệ R giữa các tập thực thể E1, E2, , En là mối quan hệ bậc n (n > 2). Bản số đính kèm trên cung nối tập Ei và R là (mini, maxi), với i=1, 2, , n. Output: Các mối quan hệ nhị nguyên Method: Thay R bởi n mối quan hệ Ri (không kèm thuộc tính) giữa các tập thực thể Ei với tập thực thể E (biểu diễn mối quan hệ R), với i =1, 2, , n. Procedure Chuyen_doi_MQH_da_nguyen; 1. Mối quan hệ R được thay thế bởi tập thực thể E có cùng tập các thuộc tính; 2. For i:=1 to n do 3. Xây dựng mối quan hệ nhị nguyên Ri giữa tập thực thể Ei với tập thực thể E; 4. Gán bản số của cung nối Ri với Ei là (mini, maxi); 5. Gán bản số của cung nối Ri và E là (1, 1); 6. Endfor; End Chuyen_doi_MQH_da_nguyen; Lúc này ta hiểu rằng: mỗi thể hiện (e1, e2, , en) thuộc R (mối quan hệ cũ), với ei Ei (i = 1, 2, , n), sẽ cho tương ứng với một thực thể e thuộc E (tập thực thể mới tạo lập), sao cho các thể hiện (e, ei) thuộc Ri (các mối quan hệ mới tạo lập). Ví dụ. Hình sau đây trình bày một ví dụ về một mối quan hệ tam nguyên, và trình bày kết quả chuyển đổi thành ba mối quan hệ nhị nguyên. 46
  47. Hình a GIÁO VIÊN MSGV HOTEN (0,n) Dạy Thời gian (1,n) (1,n) LỚP MÔN HỌC MALOP MSMON TENLOP SOTIET GIÁO VIÊN MSGV HOTEN (1,1) Dạy Hình b (0,n) LỊCH DẠY THỜI GIAN (1,1) (1,1) Bố trí Gồm có (1,n) (1,n) MÔN HỌC LỚP MALOP MSMON TENLOP SOTIET Hình 2.3.1. Minh hoạ việc chuyển đổi một mối quan hệ tam nguyên. (a) Ví dụ về một mối quan hệ tam nguyên. (b) Kết quả chuyển đổi thành ba mối quan hệ nhị nguyên. 47
  48. Ví dụ trên cho thấy rằng, mối quan hệ DAY trong hình a được chuyển đổi thành tập thực thể LICHDAY đóng vai trò như một tập thực thể yếu không có khoá bộ phận và có ba mối quan hệ định danh là GIANG, BOTRI và GOMCO. Ba tập thực thể tham gia vào các mối quan hệ này là GIAOVIEN, LOP, MONHOC đều là các tập thực thể chủ của tập thực thể LICHDAY. Vì vậy, mỗi thực thể thuộc tập thực thể yếu LICHDAY được định danh bởi sự phối hợp của ba thực thể lần lượt thuộc ba tập thực thể chủ GIAOVIEN, LOP và MONHOC. Rõ ràng, ta cũng có thể sử dụng thuật toán 3.1. để phân tách một mối quan hệ nhị nguyên (đặc biệt là mối quan hệ nhị nguyên có kèm thuộc tính) thành các mối quan hệ nhị nguyên không kèm thuộc tính. A. 3.3.5. Ràng buộc phụ thuộc hàm trên mối quan hệ đa nguyên Xét mối quan hệ R là mối quan hệ đa nguyên bậc n (n > 2) giữa n tập thực thể E1, E2, , En. Khác với mối quan hệ nhị nguyên, đối với mối quan hệ đa nguyên R, ngoài ràng buộc về bản số đính kèm trên mỗi cung nối tập Ei và R là (mini, maxi), với i = 1, 2, , n; ta cần bổ sung một loại ràng buộc khác được gọi là ràng buộc phụ thuộc hàm giữa các tập thực thể tham gia vào mối quan hệ R (gọi tắt là ràng buộc phụ thuộc hàm trên R). Một cách hình thức, ta lần lượt xét các định nghĩa sau: Thể hiện của một mối quan hệ: Gọi R là mối quan hệ đa nguyên bậc n (n > 2) giữa n tập thực thể E1, E2, , En; gọi tắt là mối quan hệ R trên {E1, E2, , En}. Gọi e1, e2, , en lần lượt là các thực thể thuộc các tập thực thể E1, E2, , En. Khi đó, một bộ t gồm n thành phần (e1, e2, , en), ký hiệu t = (e1, e2, , en), được gọi là một thể hiện của mối quan hệ R, nếu và chỉ nếu (e1, e2, , en) thuộc mối quan hệ R. Chiếu của một thể hiện: Xét mối quan hệ R trên  = {E1, E2, , En}, X là một tập con của , và t = (e1, e2, , en) R. Khi đó, chiếu của t trên X, ký hiệu là t[X], là bộ t chỉ chứa các thành phần tương ứng với các thực thể của các tập thực thể có trong X. Phụ thuộc hàm giữa các tập thực thể: Xét mối quan hệ R trên , gọi X và Y là các tập con của . Khi đó, ta nói rằng R thoả phụ thuộc hàm X Y (đọc là: X xác định Y, hoặc Y phụ thuộc hàm vào X) nếu và chỉ nếu: với mọi t1, t2 R ta có: t1[X] = t2[X] kéo theo t1[Y]= t2[Y]. Một mối quan hệ R được gọi là thoả F - tập các phụ thuộc hàm trên R, nếu R thoả tất cả các phụ thuộc hàm trong F. Từ những định nghĩa hình thức được nêu ở trên, ta có thể nhận thấy rằng, có sự tương ứng 1-1 giữa một số khái niệm này với các khái niệm của lý thuyết phụ thuộc hàm trong mô hình quan hệ. Cụ thể: 48
  49. Một mối quan hệ đa nguyên R tương ứng với một lược đồ quan hệ trên mô hình quan hệ. Và tập các thể hiện của mối quan hệ đa nguyên này tương ứng với một quan hệ trong lược đồ quan hệ trên. Tức là, một thể hiện của mối quan hệ R tương ứng với một bộ thuộc quan hệ đó. Các tập thực thể tham gia vào R tương ứng với các thuộc tính có trong một lược đồ quan hệ. Một ràng buộc phụ thuộc hàm trên một mối quan hệ R tương ứng với một ràng buộc phụ thuộc hàm trong một lược đồ quan hệ. Thành phần của một bộ trong một quan hệ là giá trị của một thuộc tính, nhưng một thành phần của một thể hiện trong mối quan hệ R là một thực thể. Vì vậy, hai thực thể e và e được gọi là bằng nhau, ký hiệu là e = e’, nếu e và e’ cùng tham chiếu đến một đối tượng trong cùng một tập thực thể. Từ việc so sánh này, cho phép một loạt các định nghĩa (bao đóng của tập các phụ thuộc hàm trên một mối quan hệ, bao đóng của tập các tập thực thể, khoá của một mối quan hệ, ), các tính chất và các thuật toán (thuật toán tìm bao đóng của tập các tập thực thể, bài toán thành viên, thuật toán tìm khoá của một mối quan hệ, ) được xây dựng một cách tương tự như đối với lý thuyết phụ thuộc hàm trên mô hình quan hệ. Chẳng hạn, chúng ta có thể định nghĩa khoá của một mối quan hệ đa nguyên như sau. Khoá của một mối quan hệ đa nguyên: Xét mối quan hệ đa nguyên R trên  thoả tập phụ thuộc hàm F, gọi X là một tập con của . Khi đó, X được gọi là khoá của R nếu thoả mãn hai điều kiện sau: (1). R thoả phụ thuộc hàm X , hay ta gọi X là một siêu khoá trên R. (2). Không tồn tại tập X’  X (X’ là tập con thực sự của X) thoả điều kiện trên. Từ định nghĩa này, cho thấy rằng  là một siêu khoá của mối quan hệ R. Và thuật toán xác định một khoá của mối quan hệ được xây dựng như sau. Thuật toán 1.2. Xác định một khoá của mối quan hệ R. + Input: Mối quan hệ R trên  thoả tập phụ thuộc hàm F + Output: Một khoá K của mối quan hệ R. + Method: Function Key(, F); 1. K := ; 2. for mỗi tập thực thể E trong  do 49
  50. 3. if R thoả K {E}  then 4. K := K {E} 5. endif; 6. endfor; 7. return K; Xét mối quan hệ DAY giữa ba tập thực thể GIAOVIEN, MONHOC và LOP có ngữ nghĩa rằng: (g, m, l) DAY nếu giáo viên g dạy môn m cho lớp l. Giả sử F chỉ có một phụ thuộc hàm {MONHOC, LOP} {GIAOVIEN} để chỉ rằng một môn học của một lớp chỉ do một giáo viên phụ trách. Khi đó, theo thuật toán trên ta có K={MONHOC, LOP} là một khoá của mối quan hệ DAY. Rõ ràng, ta có thể chỉ ra mối liên quan giữa các ràng buộc về bản số và ràng buộc phụ thuộc hàm trong mối quan hệ đa nguyên bởi các tính chất sau. Tính chất 3.1: Xét mối quan hệ R trên  = {E1, E2, , En}, khi đó: chỉ số cực đại của bản số thuộc cung nối Ek  và R trên sơ đồ ER là bằng 1, khi và chỉ khi R thoả Ek  (hay K = Ek là một khoá của R). Tính chất 3.1 cho ta một tiêu chuẩn để xác định khoá của R dựa vào ràng buộc bản số. Dĩ nhiên tính chất này còn có thể áp dụng đối với mối quan hệ nhị nguyên (với n = 2). Dựa vào tính chất này, ta có thể chứng minh tính chất sau khi xét một mối quan hệ nhị nguyên. Tính chất 3.2: Xét mối quan hệ nhị nguyên R giữa hai tập thực thể E1 và E2, khi đó: mối quan hệ R là mối quan hệ nhiều-nhiều, khi và chỉ khi khoá của R là  = {E1, E2}. Tính chất 1.2. cho thấy rằng, đối với mối quan hệ nhị nguyên, ràng buộc phụ thuộc hàm là thật sự không cần thiết trong việc xác định khoá của mối quan hệ này. Ngoài ra, liên quan đến việc phân tách một mối quan hệ đa nguyên trong một mô hình ER thành các mối quan hệ nhị nguyên, ta nhận thấy rằng, rõ ràng việc phân tách này có thể làm mất mát ngữ nghĩa của các ràng buộc phụ thuộc hàm giữa các tập thực thể tham gia vào mối quan hệ đa nguyên đó. Mô hình thực thể-mối quan hệ (ER model) Mô hình thực thể-mối quan hệ là mô hình liên hoàn các tập thực thể và các mối quan hệ trong hệ thống thông tin. Trên mô hình này sẽ thể hiện đầy đủ các tập thực thể và mối quan hệ giữa chúng trong hệ thống. Đây cũng chính là mô hình quan niệm về dữ liệu của hệ thống thông tin. Ví dụ 1: Mô hình thực thể-mối quan hệ của HTTT "Quản lý Kho hàng" NHÀ CC KHO KHHÀNG (1,n) (1,n) (1,n) 50 Chứa Xuất cho Nhập từ
  51. 2.4.4 Một vài nhận xét để rà soát lại mô hình ER 2.4.4.1 Đối tượng nào có thể làm tập thực thể? Một đối tượng có thể làm tập thực thể nếu nó được tạo thành từ một lớp các cá thể tương ứng. Ví dụ, tập thực thể SINHVIÊN được tạo từ các thực thể mà mỗi thực thể là một sinh viên. 2.4.4.2 Yếu tố thông tin gì có thể làm thuộc tính cho một tập thực thể? Các thông tin đặc trưng để xác định các thực thể trong một tập thực thể đều có thể làm thuộc tính cho tập thực thể đó. Tuy nhiên cần phải chọn thông tin nào cần thiết và được sử dụng trong các xử lý. Để tránh nhầm lẫn khi xác định thuộc tính cho một tập thực thể, ta đặt hệ thống thông tin ở trạng thái tĩnh và xem thử thuộc tính đó có nguy cơ bị phá vỡ không. Nếu có thì thuộc tính đó là một tập thực thể hoặc là thuộc tính của một tập thực thể khác. 2.4.4.3 Loại bỏ các thuộc tính vô nghĩa Loại bỏ các thông tin không bao giờ sử dụng đến. Ví dụ trong quản lý sinh viên thì thuộc tính anhem không cần. 2.4.4.4 Tính độc lập của các thuộc tính Thuộc tính của một tập thực thể không được suy từ những thuộc tính khác của tập thực thể đó. Ví dụ : Hóa đơn Hóa đơn - Mã hóa đơn chuyển thành - Mã hóa đơn - Số lượng - Số lượng - Đơn giá - Đơn giá - Thành tiền - 51
  52. Thuộc tính Thành tiền được tính toán từ hai Thuộc tính Số lượng và Đơn giá. Ta loại bỏ Thuộc tính Thành tiền khỏi tập thực thể hóa đơn. 2.4.4.5 Xác định thuộc tính khóa Trong mỗi tập thực thể nên chọn khóa chỉ có một thuộc tính để tiện việc xử lý. Nếu trong tập thực thể không có một thuộc tính nào để làm khóa thì nên áp đặt một thuộc tính bên ngoài để làm khóa. Thông thường thuộc tính áp đặt này có dạng: Mã + , Ví dụ : Trong tập thực thể NHÂN VIÊN không tồn tại một thuộc tính nào để làm khóa, ta đưa thêm thuộc tính Mã nhân viên làm khóa. Trong biểu diễn tập thực thể, những thuộc tính khóa được gạch dưới. 2.4.4.6 Tách thuộc tính có dung lượng lớn Nếu một thuộc tính của tập thực thể có nhiều giá trị, mỗi giá trị chiếm một dung lượng lớn và lặp lại nhiều lần thì nên tách thành một tập thực thể riêng có tên là và có hai thuộc tính là: Mã + và Tên + . Ví dụ : Thuộc tính Đơn vị, Nơi sinh trong tập thực thể Nhân viên với Nơi sinh bao gồm Huyện và Tỉnh được tách thành các tập thực thể riêng như sau: Huyện Nhân viên Tỉnh Quê quán Thuộc - Mã NV - Mã huyện - Mã tỉnh - Tên huyện - Họ NV - Têntỉnh Ở Đơn vị - Tên NV - Ngày sinh - Mã đơn vị - Tên đơn vị 52
  53. 2.4.4.7 Xử lý một thuộc tính lặp (đa trị) nằm trong một tập thực thể Nếu trong tập thực thể có thuộc tính đa trị thì tách thuộc tính này thành một tập thực thể có tên là và có hai thuộc tính là: Mã + và Tên + . Ví dụ: một nhân viên có thể biết nhiều ngoại ngữ khác nhau (lặp). Khi đó thuộc tính Ngoại ngữ trong tập thực thể Nhân viên phải được chuyển thành một tập thực thể khác. Nhân viên Nhân viên (1,n) (1,n) Ngoại ngữ Biết - Mã NV - Mã NV - Mã ngngữ - Họ NV - Họ NV - Tên ngngữ - Tên NV - Tên NV - Ngày sinh - Ngày sinh - Ngoại ngữ 2.4.4.8 Xử lý một nhóm thuộc tính lặp nằm trong cùng một tập thực thể Nếu trong một tập thực thể có một nhóm thuộc tính lặp thì tách chúng (các thuộc tính lặp) thành một tập thực thể riêng. Tập thực thể này nhận các thuộc tính lặp làm thuộc tính và nhận thuộc tính khóa của tập thực thể gốc làm khóa. Ví dụ: một bệnh nhân có thể có nhiều triệu chứng, ngày khám và bác sĩ khám. Trong trường hợp dưới đây chúng ta chuyển các thuộc tính lặp này thành một tập thực thể riêng. Bệnh nhân Bệnh nhân (1,1) (1,n) Lsử điều trị Có MaBN MaBN MaBN HtênBN HtênBN Triệu chứng Đchỉ Đchỉ Ngày khám Triệu chứng (l) Bác sĩ khám Ngày khám (l) Bác sĩ khám (l) 2.4.4.9 Xử lý các thuộc tính phức hợp Thay thuộc tính phức hợp bởi các thuộc tính đơn tạo thành nó. Ví dụ: Nhân viên Nhân viên Ngoaingu - Mã NV - Mã NV MaNN - HọTên NV - Họ NV Tênngngu - Ngày sinh - Tên NV - Ngoại ngữ - Ngày sinh 53
  54. 2.4.4.10 Các tập thực thể có mối quan hệ ISA Khi một thuộc tính của tập thực thể mà chỉ có một số phần tử có giá trị, nếu phần tử nào có giá trị thì có thêm một số thuộc tính riêng của nó thì chuyển thành một tập thực thể riêng có tên là và có thuộc tính là các thuộc tính riêng của nó (trường hợp này giữa hai tập thực thể này có mối quan hệ ISA). Tập thực thể gốc gọi là tập thực thể Cha, tập thực thể được tách ra gọi là tập thực thể Con. Ví dụ: Trong hệ thống quản lý nhân viên của một cơ quan, với tập thực thể Nhân viên, ngoài những Thuộc tính chung như : Họ, tên, ngày sinh, giới tính, nơi sinh còn có các Thuộc tính Đảng viên, Bộ đội Thuộc tính Đảng viên để quản lý những Đảng viên trong cơ quan. Chỉ có một số nhân viên là Đảng viên, nếu là Đảng viên thì quản lý : Ngày vào Đảng, ngày chính thức, nơi vào Đảng. Nơi vào Đảng chỉ quản lý cấp tỉnh. Thuộc tính Bộ đội để quản lý những nhân viên trong cơ quan từng đi bộ đội. Chỉ có một số nhân viên là Bộ đội. Nếu là Bộ đội thì quản lý các thuộc tính: Ngày nhập ngũ, ngày xuất ngũ, cấp bậc và binh chủng khi xuất ngũ. Như vậy, Thuộc tính Đảng viên và Bộ đội được tách thành các tập thực thể con. Nhân viên - Mã NV - Họ Tên - Ngày sinh chuyển thành - Bộ đội - Đảng viên Bộ đội Nhân viên Đảng viên ISA ISA - Ngày NN - Mã NV - Ngày VĐ - Ngày CT - Ngày XN - Họ Tên - Ngày sinh Nếu trong tập thực thể con được tách ra tồn tại các thuộc tính có tính chất trên thì tiếp tục tách thuộc tính đó thành tập thực thể như phương pháp ở trên. 54
  55. 2.4.5 Mô hình quan niệm về dữ liệu Mô hình quan niệm dữ liệu mô tả toàn bộ dữ liệu của hệ thống. Thực chất mô hình quan niệm dữ liệu là mô hình thực thể - mối quan hệ. Để mô tả mô hình quan niệm về dữ liệu của một hệ thống thông tin, cần mô tả thông tin theo các bước sau: B1: Mô tả toàn bộ các tập thực thể và các thuộc tính tương ứng của chúng. B2: Mô tả toàn bộ các mối quan hệ. Ý nghĩa của mỗi mối quan hệ và các thuộc tính tương ứng của chúng (nếu có). Bản số của mỗi tập thực thể qua mối quan hệ. Loại mối quan hệ: một chiều, hai chiều (1-1, 1-n, n-n, isa, ), nhiều chiều. B3: Vẽ mô hình thực thể - mối quan hệ. 55
  56. Ví dụ: Mô hình thực thể của hệ thống thông tin "Quản lý Công chức" 56
  57. Mô hình thực thể -mối quan hệ của httt "Quản lý Công chức" 57
  58. 2.4.6 Mô hình quan niệm xử lý: 2.4.6.1 Mục đích: Mô hình quan niệm xử lý nghiên cứu mặt động của hệ thống thông tin, nhằm xác định hệ thống gồm những chức năng gì, các chức năng đó liên hệ với nhau như thế nào? Ở mức này chưa quan tâm các chức năng đó do ai làm, làm khi nào, làm ở đâu? 2.4.6.2 Một số thuật ngữ và khái niệm a. Biến cố (sự kiện): một sự việc gây ra sự thay đổi trạng thái của hệ thống. Một biến cố có thể xuất hiện bên trong hay bên ngoài hệ thống, tạo phản ứng cho hệ thống thông qua một qui tắc quản lý nào đó. Một biến cố sau khi kích hoạt một công việc thực hiện sẽ tạo một biến cố mới hay dữ liệu mới. Ví dụ, biến cố "có độc giả mượn sách" sẽ kích hoạt sự hoạt động của hệ thống. Có thể phân loại biến cố theo nhiều khía cạnh Biến cố vào: biến cố tham gia vào việc kích hoạt một công việc nào đó của hệ thống. Biến cố này còn gọi là biến cố khởi động. Ví dụ, biến cố "có yêu cầu xuất kho" Biến cố ra: biến cố được sinh ra sau một hoặc nhiều công việc của hệ thống được thực hiện. Ví dụ, biến cố "đủ tư cách độc giả" sinh ra sau công việc "Kiểm tra tư cách độc giả". Biến cố trong: biến cố xảy ra bên trong hệ thống để các hệ thống trao đổi thông tin cho nhau. Ví dụ, biến cố "có sách theo yêu cầu" xảy ra sau công việc "Tìm sách", biến cố này sẽ được công việc "Cho mượn sách" sử dụng. Biến cố ngoài: biến cố đến từ môi trường bên ngoài hệ thống. Ví dụ. biến cố "có sách mới" đến từ "Nhà xuất bản" Biến cố thời gian: biến cố gắn liền với thời gian, có tính chu kỳ. Ví dụ, việc thông báo ĐTB cho SV vào cuối năm học. b. Công việc: là một xử lý nhỏ nhất mà hệ thống thực hiện khi một biến cố trong hệ thống xuất hiện. Thông thường một công việc chưa đủ để xác định được một chức năng hoặc một nhiệm vụ của hệ thống. Ví dụ, công việc "Kiểm tra hàng nhập về" chưa đủ điều kiện để thực hiện nhiệm vụ "nhập kho", bởi vì nhiệm vụ này chỉ được hoàn tất sau khi các công việc kiểm tra và làm phiếu nhập được thực hiện. Một công việc còn được gọi là một quy tắc quản lý. Sau khi một công việc được thực hiện thì thông thường một trong hai trạng thái sẽ xảy ra: thành công (OK) và không thành công (⌐OK). Hai trạng thái này sẽ kèm theo các biến cố ra tương ứng. c. Điểm đợi: một công việc được thực hiện phải được kích hoạt bởi một hay nhiều biến cố. Các biến cố này có thể được sinh từ kết quả của những công việc khác hoặc những biến cố đã có 58
  59. sẵn. Thời điểm để đợi các biến cố xảy ra thì công việc mới thực hiện được gọi là điểm đợi. Các biến cố này kích hoạt công việc theo hai chế độ: Chế độ AND: khi tất cả các biến cố tại điểm đợi cùng xảy ra thì công việc mới được thực hiện. Chế độ OR: khi một trong các biến cố tại điểm đợi xảy ra thì công việc mới được thực hiện. Ví dụ: Biến cố "sách đã cho mượn" được thực hiện bởi công việc "CHO MƯỢN SÁCH" nếu tại điểm đợi các biến cố xảy ra: [(Độc giả yêu cầu)  (Đủ tư cách độc giả)  (có lệnh của GĐ)](có sách) Ký hiệu: Tổng quát, Ở mức tổ chức một hệ thống thông tin hoặc một chức năng của hệ thống được mô tả như sau: 59