CHƯƠNG II CƠ SỞ LÝ THUYẾT PHÂN TÍCH, THIẾT KẾ VÀ XÂY DỰNG HỆ THỐNG THÔNG TIN
II. Quy trình phát triển hệ thống thông tin
Quy trình phát triển hệ thống thông tin được chia thành nhiều giai đoạn.
Tuỳ thuộc vào phương pháp luận và quy định về phương thức làm việc của đơn vị, qui trình này có thể được chia thành số lượng bước nhiều ít khác nhau.
Tuy nhiên có thể tổng hợp chung thành các bước: Khảo sát, Phân tích, Thiết kế, Xây dựng, Cài đặt và Bảo trì hệ thống.
Một điểm cần nhấn mạnh là dù làm việc có phương pháp hay không thì công việc vẫn phải trải qua đầy đủ các bước kể trên. Hay nói cách khác là dù có làm như thế nào đi chăng nữa thì người ta vẫn phải xác định yêu cầu(Khảo sát), tưởng tượng ra hình hài của hệ thống( Phân tích), xác định cách thể hiện dữ liệu và thông tin( Thiết kế), lập trình( Xây dựng), cài đặt và bảo trì.
1. Chiến lược và khảo sát.
Là giai đoạn tìm hiểu quy trình hoạt động của hệ thống thực, các nhu cầu thông tin chính làm cơ sở xác định các yêu cầu, phạm vi của hệ thống thông tin. Kết quả là hồ sơ khảo sát chiếm khoảng 10-15% công sức.
Việc khảo sát thường được tiến hành qua các giai đoạn:
- Khảo sát sơ bộ: Nhằm xác định tính khả thi của đề án.
- 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 kết quả thu được.
- Báo cáo: Lập hồ sơ khảo sát.
Ở giai đoạn khảo sỏt cần xỏc định rừ những nhu cầu, vấn đề quan tõm, để có giới hạn chính xác của công việc (phạm vi dự án: những gì phải làm được, chưa làm được và những gì đã vượt ra ngoài phạm vi của vấn đề). Cũng ở giai
đoạn này, cần tìm hiểu và xác định cụ thể đối tượng sử dụng dù họ có thể sẽ bị biến động cả về số lượng và loại công việc.
2. Phân tích hệ thống.
Là giai đoạn xỏc định rừ cỏc mục tiờu quản lý chớnh cần đạt được của hệ thống, nêu được các yếu tố quan trọng và đảm bảo đạt được các mục tiêu của hệ thống. Dựa trên các mục tiêu đó, xác định được các mô hình chức năng và mô hình dữ liệu. Kết quả là hồ sơ phân tích chiếm 15-25% công sức.
Mục tiêu chính của giai đoạn này là biến đổi phần đầu vào thành các đặc tả có cấu trúc. Đây là quá trình mô hình hoá hệ thống với các sơ đồ luồng dữ liệu, thực thể liên kết, sơ đồ phân rã chức năng, sơ đồ ngữ cảnh...
Các công cụ thể hiện (chủ yếu là dạng đồ hoạ) được sử dụng trong các bước khác nhau của quá trình xây dựng và có thể để phục vụ các mục đích, đối tượng khác nhau. Việc sử dụng các công cụ là không bắt buộc( đặc biệt là các công cụ luồng dữ liệu) và tuỳ thuộc vào sở trường của đội ngũ phân tích hệ thống. Trong thực tế, phần phân tích dữ liệu là phức tạp và quan trọng nhất. Các phần phân tích chức năng và phân tích dữ liệu không được bỏ qua.
2.1. Phân tích chức năng.
Cung cấp một cỏch nhỡn tổng thể tới mọi cụng việc. Xỏc định rừ cỏc công việc cần phải giải quyết để đạt mục tiêu quản lý của hệ thống. Việc phân rã là một cách biểu diễn cấu trúc chức năng giúp cho việc kiểm tra các chức năng còn thiếu và có thể dễ dàng phân tách, tổ hợp các chức năng công việc. Cấu trúc phân rã này không phản ánh độ quan trọng hay thứ tự giải quyết các chức năng. Trong giai đoạn phân tích chỉ nên đưa vào các chức năng phản ánh nghiệp vụ và thuộc phạm vi của mục tiêu quản lý đặt ra.
Một chức năng được xem là đầy đủ gồm những thành phần sau:
- Tên chức năng.
- Mô tả có tính tường thuật.
- Đầu vào của chức năng (dữ liệu).
- Đầu ra của chức năng (dữ liệu).
- Các sự kiện gây ra sự thay đổi, việc xác định và hiệu quả của chúng.
Phân tích chức năng đưa ra những chi tiết quan trọng sẽ được dùng lại nhiều lần trong các giai đoạn sau của quá trình phân tích. Sơ đồ chức năng sau khi được lập sẽ cho chúng ta một cách nhìn toàn diện hơn về những nhu cầu hệ thống.
2.2. Phân tích dữ liêu.
Thực thể là đối tượng chứa thông tin cơ bản phục vụ cho các chức năng mà hệ cần giải quyết. Mỗi thực thể( Entity) là một nhóm các dữ liệu có cùng thuộc tính, luôn cùng xuất hiện. Các thực thể trung gian sẽ sinh ra trong phần thiết kế. Các thực thể lấy dữ liệu từ các thực thể cơ bản nhưng sẽ bị sửa đổi theo yêu cầu của chức năng cũng cần đưa vào giai đoạn phân tích.
2.3. Phân tích ngữ cảnh.
Mô tả mối liên hệ thực tế của hệ thống với các yếu tố, tác nhân liên quan đến hệ thống. Trong sơ đồ, phần bên trong sẽ thể hiện các chức năng chính ở mức tổng quát nhất với dòng dữ liệu chính trong hệ. Phần bên ngoài có thể là các tác nhân như con người, một tổ chức hay bộ phận nghiệp vụ của hệ thống khác và dòng dữ liệu liên quan đến hệ thống.
2.4. Phân tích luồng dữ liệu
Sơ đồ dòng dữ liệu (DFD) là một công cụ để trợ giúp bốn hoạt động chính:
(1) Phân tích: Dùng để xác định các quy trình quản lý, thể hiện yêu cầu của người sử dụng.
(2) Thiết kế: Dùng để minh hoạ các phương án cho phân tích viên, lập trình viên và người dùng xem xét khi thiết kế một hệ thống mới. Thể hiện quy trình xử lý thông tin trong hệ thống.
(3) Liên lạc: DFD là một công cụ trực quan, đơn giản, dễ hiểu trợ giúp cho việc hiểu biết lẫn nhau giữa phân tích viên và người sử dụng.
(4) Tài liệu: Việc dùng DFD trong đặc tả yêu cầu người dùng và đặc tả thiết kế hệ thống làm đơn giản công việc mô hình hoá và chấp nhận những tài liệu như vậy.
3. Thiết kế hệ thống.
Là giai đoạn phát triển các bước phân tích ở giai đoạn trước thành các mô hình logic và vật lý, thiết kế giao diện với người sử dụng. Giai đoạn này phụ thuộc nhiều vào cấu hình của phần cứng và phần mềm được lựa chọn.
Kết quả là hồ sơ thiết kế chiếm khoảng 15-25% công sức.
Đầu chính của quá trình thiết kế là các đặc tả yêu cầu đã được xây dựng trong quá trình phân tích. Trong giai đoạn này từ khái niệm biểu diễn bởi mô hình quan hệ thực thể có thể sinh ra được các mô hình dữ liệu logic. Giai đoạn này là quá trình chuyển từ các mô hình dữ liệu và chức năng thành các thiết kế cơ sở dữ liệu và thiết kế module. Trong giai đoạn thiết kế, có rất nhiều công cụ cho phép đặc tả hệ thống song không phải tất cả các công cụ đều cần phải sử dụng. Nếu sử dụng quá ít các công cụ phát triển hệ thống sẽ làm cho hệ thống kém chất lượng, ngược lại việc sử dụng quá nhiều các công cụ sẽ gây lãng phí thời gian để đồng bộ các mô hình, một mặt có thể kéo dài thời gian xây dựng, mặt khác lại có thể làm giảm chất lượng hệ thống. Người phân tích phải tự chịu trách nhiệm đánh giá để có quyết định đúng xem nên dùng công cụ nào cho phù hợp với hệ thống cụ thể.
Thiết kế hệ thống bao gồm các công việc:
- Xác định hệ thống máy tính.
- Phân tích việc sử dụng dữ liệu.
- Hình thức hoá hệ thống thành phần: áp dụng các cách kiểm soát cần thiết, gộp nhóm các thành phần chức năng.
- Thiết kế cơ sở dữ liệu vật lý.
- Thiết kế chương trình.
4. Xây dựng chương trình.
Là giai đoạn lập trình trên cơ sở các phân tích, thiết kế ở các giai đoạn trước. Kết quả là chương trình. Giai đoạn này chiếm khoảng 35-60% công sức.
Giai đoạn này gồm các bước : a. Thi công:
Trên cơ sở kết quả thiết kế tiến hành tích hợp, mã hoá các module.
Viết các câu lệnh sản sinh CSDL.
Thực hiện các câu lệnh trên hệ quản trị CSDL lựa chọn.
b. Tạo các CSDL kiểm tra.
c. Kiểm thử chương trình.
5. Cài đặt hệ thống
a. Lập tài liệu hướng dẫn sử dụng.
b. Chuyển đổi dữ liệu cũ.
Thực hiện chuyển đổi cơ sở dữ liệu nếu có yêu cầu thay đổi sang hệ thống mới. Việc này đòi hỏi đồng thời hiểu biết cấu trúc của cả hệ thống cũ và hệ thống mới và nguyên tắc chuyển đổi. Cơ chế chuyển đổi phải được thiết kế ngay trong giai đoạn thiết kế hệ thống.
c. Kiểm nghiệm, cài đặt.
6. Bảo trì hệ thống
Bảo trì hệ thống được tính từ khi hệ thống được chính thức đưa vào sử dụng.
Công việc bảo trì bao gồm :
a. Theo dừi việc sử dụng hệ thống, nhận cỏc thụng bỏo lỗi.
b. Sửa đổi, nâng cấp phiên bản.
c. Trợ giúp hiệu chỉnh các sai sót số liệu.
Thông thường việc bảo trì được tiến hành miễn phí trong khoảng 6 tới 12 tháng. Sau đó hợp đồng bảo trì sẽ được tiếp tục hàng năm với trị giá khoảng 10% tổng giá trị hệ thống. Việc bảo trì có thể thực hiện tại chỗ hoặc thông qua một Trung Tâm hỗ trợ từ xa.
III . Phương pháp luận phân tích và thiết kế hệ thống thông tin.
Cùng với sự phát triển của công nghệ thông tin, việc xây dựng hệ thống đã dần được chuẩn hóa chuyển thành các hoạt động chuyên nghiệp, công nghiệp hóa hơn. Các phương pháp luận phân tích thiết kế hệ thống dần được hình thành và hoàn thiện. Một cuộc cách mạng, đỉnh cao của sự hoàn thiện là sự ra đời của phương pháp luận phân tích thiết kế có cấu trúc kết hợp được kết quả của các cách tiếp cận hướng chức năng và hướng dữ liệu và phương pháp luận phân tích thiết kế hướng đối tượng.
Một phương pháp luận thông thường được đặc trưng bởi các yếu tố sau:
- Quy trình và phân đoạn các bước tiến hành.
- Các công cụ và cách thức mô hình hóa.
- Cách tiếp cận (hướng chức năng, hướng đối tượng, trên xuống, dưới lên...).
1. Phương pháp phân tích thiết kế có cấu trúc.
Phương pháp phân tích thiết kế có cấu trúc tập trung vào các chức năng của hệ thống, bao gồm các hoạt động: Khảo sát, Phân tích, Thiết kế, Xây
dựng và cài đặt chương trình. Đặc trưng mới của phương pháp này là các hoạt động có thể thực hiện một cách song song. Mỗi hoạt động có thể cung cấp những sửa đổi phù hợp cho một hoặc nhiều hệ thống trước đó. Trong phân tích có cấu trúc cách tiếp cận cấp tiến cho phép các hoạt động khảo sát, phân tích, thiết kế, xây dựng và cài đặt chương trình được tiến hành một cách song song. Chính ưu điểm này đã làm cho phương pháp phân tích có cấu trúc ngày càng được phát triển.
Phương pháp phân tích thiết kế có cấu trúc được sử dụng rộng rãi trong việc phân tích và thiết kế các hệ thống thông tin quản lý vì tính đơn giản và hiệu quả của phương pháp. Mặt khác, nhiều khái niệm cơ sở, không thể thiếu được đối với người phân tích và thiết kế cũng được bao hàm trong phương pháp này. Thông qua phương pháp phân tích thiết kế này, người dùng có thể dễ dàng nắm bắt được phần cốt lừi - quy trỡnh xõy dựng: Cỏc bước trong quy trình xây dựng hệ thống và yêu cầu đối với mỗi bước, để đạt được trình độ cần thiết cho công việc thẩm định giám sát.
Có nhiều công cụ được sử dụng trong quá trình phân tích và thiết kế.
Tuy nhiên với hệ thống ít phức tạp sẽ không đòi hỏi phải sử dụng tất cả các công cụ này. Ba công cụ quan trọng để mô hình hoá hệ thống theo phương pháp phân tích thiết kế có cấu trúc là:
- Mô hình chức năng.
- Mô hình dữ liệu.
- Mô hình luồng dữ liệu.
Trong đó mỗi mô hình thể hiện một cách nhìn ở góc độ khác nhau vào hệ thống.
1.1. Mô hình chức năng.
Mô hình này mô tả các chức năng chính của hệ thống thông tin, thông thường được biểu diễn bằng sơ đồ chức năng nghiệp vụ, thể hiện hệ thống từ khía cạnh chức năng, trả lời cho câu hỏi:
Hệ thống thực hiện những công việc gì?
Mô hình được sử dụng cho mục đích này là sơ đồ phân rã chức năng (Business Functional Diagram viết tắt là BFD). Nội dung chính của BFD là sơ đồ phân cấp chức năng của hệ thống.
Tư tưởng trờn xuống (Top-Down) được thể hiện rừ nột trờn sơ đồ này.
Trước tiên các chức năng cần thiết được liệt kê và phân loại thành các nhóm chức năng. Việc phân loại có thể theo loại hình tính chất công việc, có thể theo đơn vị sử dụng, có thể theo dữ liệu sử dụng và có thể là kết hợp của các kiểu phân loại khác nhau. Các nhóm chức năng lại tiếp tục được phân nhỏ thành các cụm chức năng hoặc các chức năng cụ thể. Sơ đồ BFD được biểu diễn dưới dạng hình cây, tại mỗi nút là một hình chữ nhật thể hiện chức năng hoặc nhóm chức năng cụ thể.
Sơ đồ chức năng là công cụ khá hữu hiệu cho người đọc một bức tranh tổng thể về các chức năng mà hệ thống có thể thực hiện được.
1.2 Mô hình dữ liệu.
Mô tả các dữ liệu chính sẽ có trong hệ thống và mối quan hệ ràng buộc giữa chúng, thông thường được mô tả bằng sơ đồ quan hệ thực thể, các bảng thuộc tính các ràng buộc dữ liệu... thể hiện hệ thống từ khía cạnh dữ liệu hay trả lời cho câu hỏi:
Hệ thống sử dụng dữ liệu gì để phục vụ cho hoạt động của mình?
Tuy BFD là một công cụ thực sự hữu hiệu cho việc mô hình hóa các hệ thống nhưng công cụ này cũng chỉ mô tả được một khía cạnh lớn của hệ thống là chức năng, mà không cho được một phân tích đầy đủ về toàn bộ hệ
thống. Mô hình dữ liệu (Entity Relationship Diagram viết tắt là ERD) là một trong các công cụ phản ánh hệ thống từ một khía cạnh khác, bổ sung cho BFD để tạo nên một tổ hợp trọn vẹn của quá trình phân tích.
ERD bao gồm 2 thành phần chính:
Thực thể (Entity): Được ký hiệu bởi hình chữ nhật. Một thực thể tượng trưng cho một tập hợp hay một đối tượng trong thế giới thực.
Quan hệ (Relationship): Một quan hệ tượng trưng cho sự liên kết giữa các thực thể. Mối liên kết đó được biểu diễn trên mô hình thực thể bằng đường kẻ có tách ba chân ở một hoặc cả hai đầu (thường gọi là chân gà)
Có ba kiểu quan hệ chính của mô hình thực thể:
- Quan hệ một – một.
- Quan hệ một – nhiều.
- Quan hệ nhiều - nhiều.
1.3. Mô hình luồng dữ liệu.
Mô tả luồng luân chuyển dữ liệu trong hệ thống. Có thể biểu diễn bằng nhiều sơ đồ: Sơ đồ ngữ cảnh, Sơ đồ quá trình xử lý, Sơ đồ luồng dữ liệu hoặc bằng các ma trận chức năng/ thực thể.
Nếu như các mô hình chức năng và mô hình dữ liệu thể hiện hệ thống dưới dạng tĩnh thì ngược lại, mô hình luồng dữ liệu thể hiện hệ thống dưới cách nhìn động. Mô hình này lột tả luồng luân chuyển dữ liệu trong cả quá trình hoạt động của hệ thống. Hệ thống được mô tả như một quá trình vận động.
Một trong các mô hình kinh điển được sử dụng cho mục đích mô tả luồng dữ liệu là sơ đồ dòng dữ liệu (Data Flow Diagram viết tắt là DFD).
DFD thể hiện một mô hình hệ thống với quan điểm bình đẳng cho cả dữ liệu
và chức năng (quá trình), là một trong những công cụ quan trọng nhất của phân tích hệ thống có cấu trúc. Sơ đồ chỉ cách thông tin chuyển vận từ một quá trình hoặc từ chức năng này sang một quá trình hoặc một chức năng khác.
Một điều khá quan trọng là sơ đồ chỉ ra được những thông tin nào cần phải có trước khi thực hiện một chức năng hay một quá trình. Nói cách khác, DFD đưa ra một phương pháp thiết lập mối quan hệ giữa chức năng hoặc quá trình của hệ thống với thông tin mà chúng sử dụng.
DFD bao gồm những thành phần sau:
-Quá trình (Processes): Được ký hiệu bởi vòng tròn, tượng trưng cho các chức năng khác nhau mà hệ thống phải thực hiện. Chức năng thay đổi thông tin đầu vào theo một cách nào đó, như tổ chức lại thông tin, bổ sung hoặc tạo ra thông tin mới.
-Dòng dữ liệu (Flow): Được ký hiệu bởi đường kẻ có mũi tên. Mũi tên chỉ hướng ra của dòng thông tin. Dòng dữ liệu liên kết các Processes với nhau, tượng trưng cho thông tin mà processes yêu cầu cho đầu vào hoặc thông tin mà chúng biến đổi thành đầu ra.
-Kho dữ liệu (Data store): Được ký hiệu bởi 2 đường kẻ song song, hoặc bởi hình chữ nhật tròn góc, biểu diễn cho thông tin mà hệ thống cần phải lưu giữ trong một khoảng thời gian để một hay nhiều quá trình hoặc tác nhân truy nhập vào. Một khi công việc xây dựng hệ thống kết thúc thì những thông tin này được tồn tại dưới dạng file hay cơ sở dữ liệu.
- Tác nhân ngoài: Là một người, một nhóm hoặc một tổ chức bên ngoài lĩnh vực nghiên cứu của hệ thống, nhưng có một số hình thức tiếp xúc với hệ thống. Nhân tố bên ngoài là nguồn cung cấp thông tin và là phần sống còn của mọi hệ thống.