Phương pháp phát triển một hệ thống thông tin
Mục tiêu cuối cùng của những cố gắng phát triển hệ thống thông tin là cung cấp cho các thành viên của tổ chức những công cụ quản lý tốt nhất. Phát triển một hệ thống thông tin bao gồm việc phân tích hệ thống đang tồn tại, thiết kế một hệ thống ...
Mục tiêu cuối cùng của những cố gắng phát triển hệ thống thông tin là cung cấp cho các thành viên của tổ chức những công cụ quản lý tốt nhất. Phát triển một hệ thống thông tin bao gồm việc phân tích hệ thống đang tồn tại, thiết kế một hệ thống mới, thực hiện và tiến hành cài đặt nó. Phân tích một hệ thống bắt đầu từ việc thu thập dữ liệu và chỉnh đốn chúng để đưa ra được chẩn đoán về tình hình thực tế. Thiết kế là nhằm xác định các bộ phận của một hệ thống mới có khả năng cải thiện tình trạng hiện tại và xây dựng các mô hình lô gíc và mô hình vật lý ngoài của hệ thống đó. Việc thực hiện hệ thống thông tin liên quan tới xây dựng mô hình vật lý trong của hệ thống mới và chuyển mô hình đó sang ngôn ngữ tin học. Cài đặt một hệ thống là tích hợp nó vào hoạt động của tổ chức.
Câu hỏi đầu tiên của việc phát triển một hệ thống thông tin mới là cái gì bắt buộc một tổ chức phải tiến hành phát triển hệ thống thông tin? Như chúng ta đã biết trong chương trước, sự hoạt động tồi tệ của hệ thống thông tin, những vấn đề về quản lý và việc thâm thủng ngân quỹ là những nguyên nhân đầu tiên thúc đẩy một yêu cầu phát triển hệ thống. Nhưng cũng còn một số nguyên nhân khác nữa như yêu cầu của nhà quản lý, công nghệ thay đổi và cả sự thay đổi sách lược chính trị. Có thể tóm lược các nguyên nhân đó như sau:
Nguyên nhân dẫn đến việc phát triển hệ thông thông tin
- Những vấn đề về quản lý.
- Những yêu cầu mới của nhà quản lý.
- Sự thay đổi của công nghệ.
- Thay đổi sách lược chính trị.
Những yêu cầu mới của quản lý cũng có thể dẫn đến sự cần thiết của một dự án phát triển một hệ thống thông tin mới. Những luật mới của chính phủ mới ban hành (luật về thuế chẳng hạn), việc ký kết một hiệp tác mới, đa dạng hoá các hoạt động của doanh nghiệp bằng sản phẩm mới hoặc dịch vụ mới. Các hành động mới của doanh nghiệp cạnh tranh cũng có một tác động mạnh vào động cơ buộc doanh nghiệp phải có những hành động đáp ứng. Ví dụ một ngân hàng cạnh tranh lắp đặt những quầy giao dịch tự động, thực tế, sẽ bắt các ngân hàng khác phải cùng vượt lên phía trước trong việc tự động hoá.
Việc xuất hiện các công nghệ mới cũng có thể dẫn đến việc một tổ chức phải xem lại những thiết bị hiện có trong hệ thống thông tin của mình. Khi các hệ quản trị cơ sở dữ liệu ra đời nhiều tổ chức phải rà soát lại các hệ thống thông tin của mình để quyết định những gì họ phải cài đặt khi muốn sử dụng những công nghệ mới này.
Cuối cùng, vai trò của những thách thức chính trị cũng không lên bỏ qua. Nó cũng có thể là nguyên nhân dẫn đến việc phát triển một hệ thông tin. Chẳng hạn, không phải là không có những hệ thông tin được phát triển chỉ vì người quản lý muốn mở rộng quyền lực của mình và khi ông ta biết rằng thông tin là một phương tiện thực hiện điều đó.
Việc người ta nhận ra yêu cầu phát triển hệ thông tin rõ ràng là chưa đủ để bắt đầu sự phát triển này. Trong phần lớn các tổ chức, có các cơ chế, ít nhiều chính thức đang tồn tại, để xác định liệu một nghiên cứu phát triển về hệ thống thông tin có nên được thực hiện hay không. Vấn đề có thể là một yêu cầu đơn giản gửi tới từ một bộ phận hoặc một phòng ban đến lãnh đạo các bộ phận tin học của tổ chức, những người này chịu trách nhiệm quyết định liệu yêu cầu có thể chấp nhận được không. Bởi vì tình trạng như vậy có thể thường được xem như là để ngỏ cửa, nhiều tổ chức đặt ra một hội đồng tin học chịu trách nhiệm về những quyết định loại đó. Trong đại đa số trường hợp hôị đồng tin học được cấu thành từ người chịu trách nhiệm về tin học cùng với những người chịu trách nhiệm về các chức năng chính của tổ chức. Cách thức này đảm bảo rằng mọi khía cạnh đều được xem xét khi một quyết định được đưa ra. Quyết định của hội đồng hoặc của người chịu trách nhiệm tin học trong một số trường hợp, có thể không bắt buộc phải dẫn tới việc cài đặt một hệ thống mới; nó chỉ mới khởi động một dự án phát triển. Suốt quá trình của dự án, người ta phải xem lại quyết định này có nghĩa là phải xác định xem sẽ tiếp tục dự án hay kết thúc nó.
Mục đích chính xác của dự án phát triển một hệ thống thông tin là có được một sản phẩm đáp ứng nhu cầu của người sử dụng, mà nó được hoà hợp vào trong các hoạt động của tổ chức, chính xác về mặt kỹ thuật, tuân thủ các giới hạn về tài chính và thời gian định trước. Không nhất thiết phải theo đuổi một phương pháp để phát triển một hệ thống thông tin, tuy nhiên không có phương pháp ta có nguy cơ không đạt được những mục tiêu định trước. Tại sao lại như vậy? Một hệ thống thông tin là một đối tượng phức tạp, vận động trong một môi trường cũng rất phức tạp. Để làm chủ sự phức tạp đó, phân tích viên cần phải có một cách tiến hành nghiêm túc, một phương pháp.
Một phương pháp được định nghĩa như một tập hợp các bước và các công cụ cho phép tiến hành một quá trình phát triển hệ thống chặt chẽ nhưng dễ quản lý hơn. Phương pháp được đề nghị ở đây dựa vào ba nguyên tắc cơ sở chung của nhiều phương pháp hiện đại có cấu trúc để phát triển hệ thống thông tin. Ba nguyên tắc đó là :
Nguyên tắc 1. Sử dụng các mô hình.
Nguyên tắc 2. Chuyển từ cái chung sang cái riêng.
Nguyên tắc 3. Chuyển từ mô hình vật lý sang mô hình lô gíc khi phân tích và từ mô hình lô gíc sang mô hình vật lý khi thiết kế.
Ta xem xét ba nguyên tắc này. Trong chương trước, chúng ta đã định nghĩa ba mô hình của một hệ thống thông tin, đó là mô hình lô gíc, mô hình vật lý ngoài và mô hình vật lý trong. Bằng cách cùng mô tả về một đối tượng chúng ta đã thấy ba mô hình này được quan tâm từ những góc độ khác nhau. Phương pháp phát triển hệ thống được thể hiện cũng dùng tới khái niệm của những mô hình này và do đó cần luôn luôn phân định rõ ràng ba mức trong tâm trí chúng ta.
Nguyên tắc đi từ chung đến riêng là một nguyên tắc của sự đơn giản hoá. Thực tế người khẳng định rằng để hiểu tốt một hệ thống thì trước hết phải hiểu các mặt chung trước khi xem xét chi tiết. Sự cần thiết áp dụng nguyên tắc này là hiển nhiên. Tuy nhiên những công cụ đầu tiên được sử dụng để phát triển ứng dụng tin học cho phép tiến hành mô hình hoá một hệ thống bằng các khía cạnh chi tiết hơn. Nhiệm vụ lúc đó sẽ khó khăn hơn.
Nhiệm vụ phát triển cũng sẽ đơn giản hơn bằng cách ứng dụng nguyên tắc 3, có nghĩa là đi từ vật lý sang lô gíc khi phân tích và đi từ lô gíc sang vật lý khi thiết kế. Như đã kể ra ở trên, phân tích bắt đầu từ thu thập dữ liệu về hệ thống thông tin đang tồn tại và về khung cảnh của nó. Nguồn dữ liệu chính là những người sử dụng, các tài liệu và quan sát. Cả ba nguồn này cung cấp chủ yếu sự mô tả mô hình vật lý ngoài của hệ thống. Ví dụ, một người sử dụng nói với chúng ta: "Robert xem xét bản sao màu hồng và chuyển bản sao màu xanh cho Marie. Marie xem xét nội dung tài liệu, ký vào văn bản và gửi cho phòng kế toán" hơn là nói: "Người thứ nhất xem xét tính hợp lệ của đơn đặt hàng, người thứ hai xem xét và xác định sự đúng đắn của số tiền trả". Việc phiên dịch như vậy là nhiệm vụ của phân tích viên. Tuy nhiên vấn đề sẽ khác đi khi ta tiến hành thiết kế hệ thống mới. Trong thực tế ta xây dựng trước hết rằng: "Hệ thống phải kiểm tra tư cách của khách hàng" trước khi ta xem xét cụ thể nên để "Khách hàng đưa thẻ của mình vào cửa đọc thẻ và nhập mã hiệu cá nhân vào máy" hay là để "Khách hàng để ngón tay cái và ngón tay trỏ vào máy đọc vân tay số hoá".
Các công đoạn của phát triển hệ thống
Phương pháp được trình bày ở đây có 7 giai đoạn. Mỗi giai đoạn đoạn bao gồm một dãy các công đoạn được liệt kê kèm theo dưới đây. Cần phải lưu ý rằng từ đây trở đi cuối mỗi giai đoạn là phải kèm theo việc ra quyết định về việc tiếp tục hay chấm dứt sự phát triển hệ thống. Quyết định này được trợ giúp dựa vào nội dung báo cáo mà phân tích viên hoặc nhóm phân tích viên trình bày cho các nhà sử dụng. Phát triển hệ thống là một quá trình lặp. Tuỳ theo kết quả của một giai đoạn có thể, và đôi khi là cần thiết, phải quay về giai đoạn trước để tìm cách khắc phục những sai sót. Một số nhiệm vụ được thực hiện trong suốt quá trình; đó là việc lập kế hoạch cho giai đoạn tới, kiểm soát những nhiệm vụ đã hoàn thành, đánh giá dự án và lập tài liệu về hệ thống và về dự án. Và sau đây là mô tả sơ lược các giai đoạn của việc phát triển hệ thống thông tin.
Giai đoạn 1 : Đánh giá yêu cầu
Đánh giá yêu cầu có mục đích cung cấp cho lãnh đạo tổ chức hoặc hội đồng giám đốc những dữ liệu đích thực để ra quyết định về thời cơ, tính khả thi và hiệu quả của một dự án phát triển hệ thống. Giai đoạn này được thực hiện tương đối nhanh và không đòi hỏi chi phí lớn. Nó bao gồm các công đoạn sau:
1.1 Lập kế hoạch đánh giá yêu cầu.
1.2 Làm rõ yêu cầu.
1.3 Đánh giá khả năng thực thi.
1.4 Chuẩn bị và trình bày báo cáo đánh giá yêu cầu.
Giai đoạn 2 : Phân tích chi tiết
Phân tích chi tiết được tiến hành sau khi có sự đánh giá thuận lợi về yêu cầu. Những mục đích chính của phân tích chi tiết là hiểu rõ các vấn đề của hệ thống đang nghiên cứu, xác định những nguyên nhân đích thực của những vấn đề đó, xác định những đòi hỏi và những ràng buộc áp đặt đối với hệ thống và xác định mục tiêu mà hệ thống thông tin mới phải đạt được. Trên cơ sở nội dung báo cáo phân tích chi tiết sẽ quyết định tiếp tục tiến hành hay thôi phát riển một hệ thống mới. Để làm những việc đó giai đoạn phân tích chi tiết bao gồm các công đoạn sau đây.
2.1 Lập kế hoạch phân tích chi tiết.
2.2 Nghiên cứu môi trường của hệ thống đang tồn tại.
2.3 Nghiên cứu hệ thống thực tại.
2.4 Đưa ra chẩn đoán và xác định các yếu tố giải pháp.
2.5 Đánh giá lại tính khả thi.
2.6 Thay đổi đề xuất của dự án.
2.7 Chuẩn bị và trình bày báo cáo phân tích chi tiết.
Giai đoạn 3: Thiết kế lô gíc
Giai đoạn này nhằm xác định tất cả các thành phần lô gíc của một hệ thống thông tin, cho phép loại bỏ được các vấn đề của hệ thống thực tế và đạt được những mục tiêu đã được thiết lập ở giai đoạn trước. Mô hình lô gíc của hệ thống mới sẽ bao hàm thông tin mà hệ thống mới sẽ sản sinh ra (nội dung của Outputs), nội dung của cơ sở dữ liệu (các tệp, các quan hệ giữa các tệp), các xử lý và hợp thức hoá sẽ phải thực hiện (các xử lý) và các dữ liệu sẽ được nhập vào (các Inputs). Mô hình lô gíc sẽ phải được những người sử dụng xem xét và chuẩn y. Thiết kế lô gíc bao gồm những công đoạn sau:
3.1 Thiết kế cơ sở dữ liệu.
3.2 Thiết kế xử lý.
3.3 Thiết kế các luồng dữ liệu vào.
3.4 Chỉnh sửa tài liệu cho mức lô gíc.
3.5 Hợp thức hoá mô hình lô gíc.
Giai đoạn 4: Đề xuất các phương án của giải pháp
Mô hình lô gíc của hệ thống mới mô tả cái mà hệ thống này sẽ làm. Khi mô hình này được xác định và chuẩn y bởi người sử dụng, thì phân tích viên hoặc nhóm phân tích viên phải nghiêng về các phương tiện để thực hiện hệ thống này. Đó là việc xây dựng các phương án khác nhau để cụ thể hoá mô hình lô gíc. Mỗi một phương án là một phác hoạ của mô hình vật lý ngoài của hệ thống những chưa phải là một mô tả chi tiết. Tất nhiên là người sử dụng sẽ thấy dễ dàng hơn khi lựa chọn dựa trên những mô hình vật lý ngoài được xây dựng chi tiết nhưng chi phí cho việc tạo ra chúng là rất lớn.
Để giúp các những người sử dụng lựa chọn giải pháp vật lý thoả mãn tốt hơn các mục tiêu đã định ra trước đây, nhóm phân tích viện phải đánh giá các chi phí và lợi ích (hữu hình và vô hình) cả mỗi phương án và phải có những khuyến nghị cụ thể. Một báo cáo sẽ được trình lên những người sử dụng và một buổi trình bày sẽ được thực hiện. Những người sử dụng sẽ chọn lấy một phương án tỏ ra đáp ứng tốt nhất các yêu cầu của họ mà vẫn tôn trọng các ràng buộc của tổ chức. Sau đây là các công đoạn của giai đoạn đề xuất các phương án giải pháp:
4.1 Xác định các ràng buộc tin học và ràng buộc tổ chức.
4.2 Xây dựng các phương án của giải pháp.
4.3 Đánh giá các phương án của giải pháp.
4.4 Chuẩn bị và tình bày báo cáo của giai đoạn đề xuất các phương án giải pháp.
Giai đoạn 5 : Thiết kế vật lý ngoài
Giai đoạn này được tiến hành sau khi một phương án giải pháp được lựa chọn. Thiết kế vật lý bao gồm hai tài liệu kết quả cần có: Trước hết là một tài liệu bao chứa tất cả các đặc trưng của hệ thống mới sẽ cần cho việc thực hiện kỹ thuật; và tiếp đó là tài liệu dành cho người sử dụng và nó mô tả cả phần thủ công và cả những giao diện với những phần tin học hoá. Những công đoạn chính của thiết kế vật lý ngoài là:
5.1 Lập kế hoạch thiết kế vật lý ngoài
5.2 Thiết kế chi tiết các giao diện (vào/ ra)
5.3 Thiết kế cách thức tương tác với phần tin học hoá
5.4 Thiết kế các thủ tục thủ công
5.5 Chuẩn bị và trình bày báo cáo về thiết kế vật lý ngoài
Giai đoạn 6: Triển khai kỹ thuật hệ thống
Kết quả quan trọng nhất của giai đoạn thực hiện kỹ thuật là phần tin học hoá của hệ thống thông tin, có nghĩa là phần mềm. Những người chịu trách nhiệm về giai đoạn này phải cung cấp các tài liệu như các bản hướng dẫn sử dụng và thao tác cũn như các tài liệu mô tả về hệ thống. Các hoạt động chính của việc triển khai thực hiện kỹ thuật hệ thống là như sau:
6.1 Lập kế hoạch thực hiện kỹ thuật
6.2 Thiết kế vật lý trong
6.3 Lập trình
6.4 Thử nghiệm hệ thống
6.5 Chuẩn bị tài liệu
Giai đoạn 7: Cài đặt và khai thác
Cài đặt hệ thống là pha trong đó việc chuyển từ hệ thống cũ sang hệ thống mới được thực hiện. Để việc chuyển đổi này được thực hiện với những va chạm ít nhất, cần phải lập kế hoạch một cách cẩn thận. Giai đoạn này bao gồm các công đoạn:
7.1 Lập kế hoạch cài đặt
7.2 Chuyển đổi
7.3 Khai thác và bảo trì
7.4 Đánh giá
Cần phải lưu ý rằng kết quả của quá trình phân tích và thiết kế bao gồm hai phần lớn: hệ thống thông tin và tài liệu về hệ thống. Có thể tóm lược các giai đoạn trên đây thành bảng sau:
Các giai đoạn phát triển một hệ thống thông tin
Số lượng các thành viên tham gia vào dự án phát triển hệ thống thay đổi tuỳ theo quy mô và sự phức tạp của dự án. Sau đây là một dạng cấu hình tương đối phổ biến do Y. C. Gagnon đưa ra. Cần lưu ý rằng cùng một con người có thể tuỳ theo hoàn cảnh mà thuộc vào một hay nhiều nhóm:
- Những người ra quyết định. Họ kiểm soát các nguồn lực được dùng trong hệ thống. Họ có quyền lực tác động vào việc phát triển hệ thống. Họ có tiếng nói quyết định trong việc lựa chọn mục tiêu cũng như tiến hành thực hiện hệ thống mới. Đó là bộ phận lãnh đạo cao nhất của tổ chức.
- Những nhà quản lý trông coi quá trình phát triển và hoặc vận hành hệ thống. Họ là địa diện, ở thứ bậc thấp hơn, của những người ra quyết dịnh. Họ lao động trong sự hợp tác với các phân tích viên.
- Phân tích viên và thiết kế viên phân tích thiết kế và cài đặt hệ thống trong sự cộng tác với các nhà ra quyết định và các nhà quản lý.
- Người sử dụng cuối tương tác với hệ thống theo sự cần thiết hoặc tuỳ chọn. Họ sử dụng đầu ra của hệ thống. Họ tiếp xúc trực tiếp với hệ thống trong những khoảng thời gian ngắn. Đó là những người sử dụng các tại các giao diện vào/ra của hệ thống, những nhà quản lý mà hệ thống đang được xây dựng cho học.
- Người sử dụng - thao tác viên là những người mà vai trò nhiệm vụ của họ là gắn liền với hệ thống khi nó trở thành tác nghiệp được. Họ tạo ra những đầu vào (Inputs) hoặc nhận các đầu ra từ hệ thống (Outputs) để rồi đưa cho những người sử dụng cuối.
- Những người sử dụng gián tiếp. Đó là những người chịu ảnh hưởng gián tiếp của hệ thống. Như sử dụng nguồn lực hiếm, ảnh hưởng xã hội ...
- Các lập trình viên chịu trách nhiệm xây dựng các chi tiết của cấu trúc hệ thống.
- Các hướng dẫn viên hướng dẫn cho những người sử dụng thao tác viên hoặc các nhóm người khác cách thức sử dụng hệ thống.
Phân tích viên hệ thống nói chung không phải là người duy nhất có trách nhiệm trong một dự án phát triển hệ thống. Trong trường hợp một hệ thống rất lớn người ta có thể có một đội ngũ gồm một chủ dự án, một số phân tích viên, một số người sử dụng, một số lập trình viên và trợ lý quản trị dự án. Đối với hệ thống nhỏ có thể chỉ có một người đóng đồng thời vai trò chủ dự án, phân tích viên, lập trình viên và thư ký. Để hực hiện những chức năng của mình một cách dễ dàng phân tích viên phải có kiến thức trong nhiều lĩnh vực như quản lý, kinh doanh, hệ thống thông tin, kỹ thuật công nghệ thông tin ...
Cán bộ phân tích phải hiểu rõ công việc mà người sử dụng phải làm, những vấn đề và những khó khăn họ gặp. Để làm điều đó việc hiểu biết các phương pháp thu thập thông tin và các phương pháp trình bày hệ thống là cần thiết ... Phân tích viên cũng cần phải biết đề xuất các giải pháp cho vấn đề gặp phải và phải biết thiết kế lô gíc cho hệ thống tương ứng. Phân tích viên cũng cần phải biết chuyển đổi các yếu tố lô gíc sang thành các phương án cụ thể và đánh giá chi phí và lợi ích của các phương án về mặt tài chính cũng như xã hội. Anh ta cũng phải biết chuyển những đề xuất thành các dặc tả cụ thể chính xác để lập trình viên có thể thực hiện chúng hoăc tự thực hiện lấy. Những hiểu biết về lập trình, thử nghiệm hệ thống và những phương pháp cài đặt cũng là cần thiết hữu ích.
Ngoài ra phân tích viên phải có một số phẩm chất nhân bản cao liên quan chặt chẽ với hoàn cảnh của dự án đang tiến hành. Trong thực tế, việc đưa ra một dự án thường nẩy sinh sự không an tâm ở những người sử dụng có liên quan. Một số người nhìn thấy nó như một phương tiện để cấp trên đánh giá năng lực, một số khác ngại thay đổi thói quen, một số khác sợ mất quyền lực và cũng có người thấy việc làm của mình bị đe doạ. Những nỗi sợ hãi và không an tâm đó đôi khi dẫn tới việc người sử dụng kháng cự lại ngay lập tức sự thay đổi và giảm khả năng hợp tác có hiệu quả trong việc nghiên cứu. Chẳng có gì khó chịu hơn đối với người sử dụng khi người phân tích tạo ra một cảm tưởng là anh ta hiểu biết tốt hơn người sử dụng cách thức thực hiện nhiệm vụ của họ.
Trong những hoàn cảnh như vậy, việc phân tích viên thể hiện những phẩm chất nhân văn sẽ có những hiệu quả rất lớn.