Bài giảng Phát triển hệ thống thông tin kinh tế - Chương 1: Môi trường phát triển hệ thống

pdf 29 trang phuongnguyen 3330
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Phát triển hệ thống thông tin kinh tế - Chương 1: Môi trường phát triển hệ thống", để 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:

  • pdfbai_giang_phat_trien_he_thong_thong_tin_kinh_te_chuong_1_moi.pdf

Nội dung text: Bài giảng Phát triển hệ thống thông tin kinh tế - Chương 1: Môi trường phát triển hệ thống

  1. PHÁT TRIỂN HỆ THỐNG THÔNG TIN KINH TẾ • Tổng quan về phát triển hệ thống thông tin Phần 1 Chương 1: Môi trường phát triển hệ thống Chương 2: Lựa chọn và lập kế hoạch phát triển hệ thống
  2. Chương 1: Môi trường phát triển hệ thống 1. Định nghĩa hệ thống thông tin 2. Vai trò của phát triển hệ thống thông tin 3. Các cách tiếp cận trong phát triển hệ thống thông tin 4. Vòng đời phát triển hệ thống thông tin 5. Các phương pháp phát triển hệ thống thông tin 2
  3. 1. Định nghĩa hệ thống thông tin 2. Vai trò của phát triển hệ thống thông tin 1. Hệ thống 3. Các cách tiếp cận trong phát triển hệ thống thông tin 2. Hệ thống thông tin 4. Vòng đời phát triển hệ thống thông tin 3. Hệ thống thông tin quản l{ 5. Các phương pháp phát triển hệ thống thông tin  Hệ thống: là một tập hợp bao gồm nhiều phần tử như: con người, máy móc, dữ liệu, các quy tắc, quy trình xử l{ có mối quan hệ ràng buộc lẫn nhau và cùng hoạt động hướng tới một mục đích chung.  Ví dụ: Hệ thống pháp luật, Hệ thống giáo dục, Hệ thống cơ khí 3
  4. 1. Định nghĩa hệ thống thông tin 2. Vai trò của phát triển hệ thống thông tin 1. Hệ thống 3. Các cách tiếp cận trong phát triển hệ thống thông tin 2. Hệ thống thông tin 4. Vòng đời phát triển hệ thống thông tin 3. Hệ thống thông tin quản l{ 5. Các phương pháp phát triển hệ thống thông tin  Hệ thống thông tin: là một hệ thống gồm tập hợp các phần tử như con người, phần cứng, phần mềm, mạng truyền thông được xây dựng để thu thập, lưu trữ, xử l{ và khai thác thông tin nhằm phục vụ cho các hoạt động của tổ chức. 4
  5. 1. Định nghĩa hệ thống thông tin 2. Vai trò của phát triển hệ thống thông tin 1. Hệ thống 3. Các cách tiếp cận trong phát triển hệ thống thông tin 2. Hệ thống thông tin 4. Vòng đời phát triển hệ thống thông tin 3. Hệ thống thông tin quản lý 5. Các phương pháp phát triển hệ thống thông tin  Hệ thống thông tin quản l{: là sự phát triển và sử dụng HTTT có hiệu quả trong công tác quản l{ điều hành tổng thể các hoạt động của một tổ chức.  Thành phần quan trọng nhất của HTTT quản l{ là một cơ sở dữ liệu hợp nhất chứa các thông tin phản ánh cấu trúc nội tại của hệ thống và các thông tin về các hoạt động diễn ra trong hệ thống.  Ví dụ: HTTT quản l{ nhân sự trong một cơ quan lưu giữ các thông tin về l{ lịch của nhân viên, quá trình đào tạo, quá trình công tác v.v nhằm phục vụ mục đích quản l{ nhân viên dễ dàng, khoa học, hiệu quả. 5
  6. 1. Định nghĩa hệ thống thông tin 2. Vai trò của phát triển hệ thống thông tin 3. Các cách tiếp cận trong phát triển hệ thống thông tin Vai trò 4. Vòng đời phát triển hệ thống thông tin 5. Các phương pháp phát triển hệ thống thông tin  Cải thiện hiệu quả, hiệu suất thực hiện các qui trình nghiệp vụ của tổ chức.  Quản l{ thông tin một cách đầy đủ và khoa học, giúp cho việc trao đổi trích xuất thông tin được nhanh chóng kịp thời, hỗ trợ tối đa cho công tác ra quyết định và điều hành công việc, tạo những ưu thế mới, năng lực mới để có thể vượt qua những thách thức và chớp lấy cơ hội phát triển trong tương lai.  Mở rộng và tăng cường quan hệ hợp tác, kết nối và quảng bá với các đối tác trên toàn thế giới, vượt qua mọi trở ngại về thời gian và không gian đưa sự phát triển của tổ chức lên một tầm cao mới. 6
  7. 1. Định nghĩa hệ thống thông tin 1. Hướng tiến trình 2. Vai trò của phát triển hệ thống thông tin 2. Hướng dữ liệu 3. Các cách tiếp cận trong phát triển hệ thống thông tin 3. Hướng cấu trúc 4. Vòng đời phát triển hệ thống thông tin 4. Hướng đối tượng 5. Các phương pháp phát triển hệ thống thông tin 5. Hướng tiến trình nghiệp vụ  Tiếp cận hướng tiến trình:  Xuất hiện từ những năm 1950 trong bối cảnh máy tính mới ra đời, tốc độ xử l{ chậm và bộ nhớ nhỏ.  Quá trình phát triển phần mềm lấy tiến trình làm trung tâm của việc phân tích, thiết kế và thực hiện, các kỹ thuật chủ yếu tập trung vào việc xây dựng các giải thuật và các thao tác xử l{ nhằm thực thi các chức năng theo trình tự phải thực hiện của hệ thống.  Trong cách tiếp cận này hệ thống được chia thành những bộ phận chương trình độc lập và dữ liệu được tổ chức gắn liền với từng chức năng xử l{. Cách tiếp cận này tạo ra sự dư thừa dữ liệu, khó khăn trong việc thu thập, tổ chức dữ liệu ngoài ra hiệu quả sử dụng kém do dữ liệu không được chia sẻ giữa các ứng dụng với nhau và mất nhiều công sức cho việc tổ chức lại dữ liệu mỗi khi có sự thay đổi trong tiến trình xử l{. 7
  8. 1. Định nghĩa hệ thống thông tin 1. Hướng tiến trình 2. Vai trò của phát triển hệ thống thông tin 2. Hướng dữ liệu 3. Các cách tiếp cận trong phát triển hệ thống thông tin 3. Hướng cấu trúc 4. Vòng đời phát triển hệ thống thông tin 4. Hướng đối tượng 5. Các phương pháp phát triển hệ thống thông tin 5. Hướng tiến trình nghiệp vụ  Tiếp cận hướng dữ liệu:  Tập trung vào việc tổ chức dữ liệu một cách tối ưu về cả không gian lưu trữ và hiệu quả sử dụng.  Ý tưởng của các tiếp cận này là phân tách dữ liệu ra khỏi các quá trình xử lí và tổ chức tập chung chúng thành một cơ sở dữ liệu dùng chung cho toàn bộ hệ thống. Cách tiếp cận này làm giảm sự dư thừa dữ liệu, tiếp kiệm không gian lưu trữ, dễ dàng trong việc thu thập, tìm kiếm và trích xuất dữ liệu, nâng cao tính kết nối và tính đồng nhất của dữ liệu trong hệ thống. Tuy nhiên mỗi ứng dụng tạo thành một khối chương trình nên khó khăn trong việc quản l{ và chỉnh sửa các hoạt động nghiệp vụ. ứng dụng 1 ứng dụng 2 ứng dụng k Tầng ứng . . . dụng Tầng dữ liệu Cơ sở dữ liệu 8
  9. 1. Định nghĩa hệ thống thông tin 1. Hướng tiến trình 2. Vai trò của phát triển hệ thống thông tin 2. Hướng dữ liệu 3. Các cách tiếp cận trong phát triển hệ thống thông tin 3. Hướng cấu trúc 4. Vòng đời phát triển hệ thống thông tin 4. Hướng đối tượng 5. Các phương pháp phát triển hệ thống thông tin 5. Hướng tiến trình nghiệp vụ  Tiếp cận hướng cấu trúc:  Là một bước phát triển tiếp tục của cách tiếp cận hướng dữ liệu.  Tập trung vào việc cải tiến cấu trúc chương trình dựa trên cơ sở môđun hoá chương trình thành các chức năng nhỏ độc lập để dễ theo dõi, quản l{ và bảo trì.  Đặc tính cấu trúc của một hệ thống hướng cấu trúc được thể hiện trên ba cấu trúc chính là cấu trúc dữ liệu, cấu trúc hệ thống chương trình, cấu trúc chương trình và module. Cách tiếp cận này làm giảm sự phức tạp của hệ thống, tuy nhiên chỉ phù hợp với các hệ thống vừa và nhỏ khi người phát triển có thể bao quát được hết các chức năng của hệ thống. ứng dụng dụng 1 1 ứng dụng dụng 2 2 ứng dụng dụng k k . . . Tầng ứng ứng dụng Tầng dữ Cơ sở dữ liệu liệu 9
  10. 1. Định nghĩa hệ thống thông tin 1. Hướng tiến trình 2. Vai trò của phát triển hệ thống thông tin 2. Hướng dữ liệu 3. Các cách tiếp cận trong phát triển hệ thống thông tin 3. Hướng cấu trúc 4. Vòng đời phát triển hệ thống thông tin 4. Hướng đối tượng 5. Các phương pháp phát triển hệ thống thông tin 5. Hướng tiến trình nghiệp vụ  Tiếp cận hướng đối tượng:  Ý tưởng của cách tiếp cận này là ánh xạ tương ứng các đối tượng ngoài đời thực của hệ thống thành các đối tượng bên trong của hệ thống thông tin cần xây dựng. Mỗi đối tượng được thiết kế đầy đủ cả dữ liệu và các hành động liên quan đến đối tượng đó.  Các đối tượng trong một hệ thống tương đối độc lập với nhau và được ghép nối để tạo thành một hệ thống thông qua các mối quan hệ và tương tác giữa chúng. Với cơ chế này, hệ thống được "lắp ghép" và "tháo dỡ" đơn giản, dễ bảo trì, dễ sử dụng lại và có thể đạt được quy mô tuz {. 10
  11. 1. Định nghĩa hệ thống thông tin 1. Hướng tiến trình 2. Vai trò của phát triển hệ thống thông tin 2. Hướng dữ liệu 3. Các cách tiếp cận trong phát triển hệ thống thông tin 3. Hướng cấu trúc 4. Vòng đời phát triển hệ thống thông tin 4. Hướng đối tượng 5. Các phương pháp phát triển hệ thống thông tin 5. Hướng tiến trình nghiệp vụ  Tiếp cận hướng tiến trình nghiệp vụ:  Là một xu hướng gần đây trong phát triển các hệ thống thông tin, cách tiếp cận này thiết lập một môi trường phát triển cho phép bộ phận nghiệp vụ và bộ phận công nghệ cùng làm việc trên một mô hình để chia sẻ, xây dựng và điều chỉnh các tiến trình nghiệp vụ.  Các công cụ phát triển theo định hướng tiến trình cung cấp khả năng mô hình hóa tiến trình, tích hợp, giám sát hoạt động của tiến trình, phát triển các ứng dụng và quản l{ báo cáo. Tất cả những chức năng này làm việc cùng nhau để chuyển các yêu cầu nghiệp vụ thành các hệ thống hỗ trợ nghiệp vụ một cách nhanh chóng.  Trong cách tiếp cận này khái niệm "lập trình" được thay bằng khái niệm "mô hình hoá“, ngôn ngữ “lập trình” được thay thế bằng ngôn ngữ "mô hình hoá" như BPMN, BPEL (BPMN: Business Process Management Notation; BPEL: Business Process Execution Language), các ngôn ngữ phát triển thay vì việc sử dụng các từ khoá bằng cách sử dụng các kí pháp đồ họa, cách mô hình hoá giống việc thiết kế kiến trúc hơn là cách viết từng dòng lệnh. 11
  12. 1. Định nghĩa hệ thống thông tin 2. Vai trò của phát triển hệ thống thông tin 3. Các cách tiếp cận trong phát triển hệ thống thông tin Định nghĩa 4. Vòng đời phát triển hệ thống thông tin 5. Các phương pháp phát triển hệ thống thông tin  Phát triển hệ thống bao gồm một loạt các hoạt động cần phải thực hiện để xây dựng lên một hệ thống thông tin cho một tổ chức.  Quá trình phát triển hệ thống thông tin kể từ lúc sinh ra đến khi kết thúc được gọi là vòng đời phát triển hệ thống - Systems Development Life Cycle (SDLC).  Phát triển HTTT cũng giống như phát triển một sản phẩm thương mại phải tuân theo một chu kz phát triển, ví dụ chu kz phát triển của một chiếc xe ô tô Honda gồm: Tạo mới, thử nghiệm và đưa ra thị trường. Doanh thu bán hàng sẽ tăng, tăng lên đỉnh cao và suy giảm. Cuối cùng, sản phẩm được lấy ra khỏi thị trường và được thay thế bởi một sản phẩm khác.  Vòng đời phát triển HTTT bao gồm: Lên { tưởng về hệ thống và mục đích của nó, nghiên cứu kỹ lưỡng các công việc hệ thống thực đang xử l{, thiết kế hệ thống mới, xây dựng hoặc mua hệ thống mới, cài đặt hệ thống và sau khi được đào tạo người dùng bắt đầu sử dụng hệ thống mới vào việc thực hiện các công việc hàng ngày của họ. 12
  13. 1. Định nghĩa hệ thống thông tin 2. Vai trò của phát triển hệ thống thông tin 3. Các cách tiếp cận trong phát triển hệ thống thông tin Định nghĩa 4. Vòng đời phát triển hệ thống thông tin 5. Các phương pháp phát triển hệ thống thông tin  Vòng đời phát triển HTTT được chia thành 4 pha chính có mối quan hệ tác động lẫn nhau, kết quả của pha này sẽ cung cấp thông tin quan trọng cho pha khác.  Vào cuối mỗi pha, dự án phát triển hệ thống đạt đến một cột mốc quan trọng và cần phải tạo ra những tài liệu đặc tả để bộ phận quản l{ xem xét, đánh giá và phê duyệt.  Trong vòng đời phát triển HTTT, các pha không nhất thiết phải được thực hiện tuần tự một chiều từ đầu đến cuối, trình tự thực hiện có thể được điều chỉnh theo yêu cầu của dự án, ví dụ tại một pha bất kz đều có thể quay trở lại pha trước đó nếu cần thiết. Tương tự như một sản phẩm thương mại không đáp ứng tốt sau khi ra mắt, nó có thể được tạm thời loại bỏ khỏi thị trường và được cải thiện trước khi giới thiệu lại.  Đôi khi các pha trong vòng đời phát triển hệ thống được thực hiện lặp đi lặp lại cho đến khi đạt yêu cầu. 13
  14. 1. Định nghĩa hệ thống thông tin 2. Vai trò của phát triển hệ thống thông tin 3. Các cách tiếp cận trong phát triển hệ thống thông tin Các pha chính 4. Vòng đời phát triển hệ thống thông tin 5. Các phương pháp phát triển hệ thống thông tin  4 pha chính trong vòng đời phát triển hệ thống thông tin:  Lựa chọn và lập kế hoạch hệ thống (Systems Planning and Selection)  Phân tích hệ thống (Systems Analysis)  Thiết kế hệ thống (Systems Design)  Triển khai và vận hành hệ thống (Systems Implementation and Operation) 14
  15. 1. Định nghĩa hệ thống thông tin 1. Lựa chọn và lập kế hoạch hệ thống 2. Vai trò của phát triển hệ thống thông tin 2. Phân tích hệ thống 3. Các cách tiếp cận trong phát triển hệ thống thông tin 3. Thiết kế hệ thống 4. Vòng đời phát triển hệ thống thông tin 5. Các phương pháp phát triển hệ thống thông tin 4. Triển khai và vận hành hệ thống  Giai đoạn đầu tiên trong SDLC gồm 2 hoạt động chính:  Thứ nhất: xác định nhu cầu xây dựng hệ thống mới hoặc nâng cấp hệ thống cũ.  Nhu cầu này có thể xuất phát từ việc xem xét các yêu cầu đặt ra để giải quyết các bài toán trong quy trình hiện tại, hoặc mong muốn thực hiện các nhiệm vụ bổ sung, hoặc nhận thức được vai trò của hệ thống thông tin trong công tác quản l{, điều hành tổ chức  Việc xác định nhu cầu hệ thống là một yêu cầu bắt buộc để có thể tiến hành những bước tiếp theo của quá trình phát triển: Không có nhu cầu thì cũng không có việc xây dựng HTTT.  Thứ hai: điều tra và xác định phạm vi của hệ thống được đề nghị.  Lập bản kế hoạch cụ thể về mục đích và các nhiệm vụ mà hệ thống được đề xuất cần phải thực hiện, hệ thống phải đảm bảo giải quyết được những vấn đề đặt ra của tổ chức.  Ước lượng các nguồn lực cần có và lịch trình thực hiện cho việc phát triển hệ thống mới. Đồng thời xác định chi phí phát triển hệ thống và lợi ích mà nó sẽ mang lại cho tổ chức. Đầu ra là một bản kế hoạch dự án cơ sở mô tả sơ bộ các thông tin ban đầu của dự án, nếu bản kế hoạch được phê duyệt thì có thể tiến hành các giai đoạn tiếp theo của dự án. 15
  16. 1. Định nghĩa hệ thống thông tin 1. Lựa chọn và lập kế hoạch hệ thống 2. Vai trò của phát triển hệ thống thông tin 2. Phân tích hệ thống 3. Các cách tiếp cận trong phát triển hệ thống thông tin 3. Thiết kế hệ thống 4. Vòng đời phát triển hệ thống thông tin 5. Các phương pháp phát triển hệ thống thông tin 4. Triển khai và vận hành hệ thống  Phân tích hệ thống nhằm xác định nhu cầu thông tin của tổ chức, bao gồm 3 pha nhỏ:  Xác định các yêu cầu của hệ thống: các nhà phân tích làm việc với người sử dụng để xác định những mong muốn của người dùng đối với hệ thống được đề xuất. Pha này nghiên cứu kỹ lưỡng quy trình làm việc hiện tại của hệ thống để xác định các chức năng trong hệ thống mới.  Nghiên cứu và cấu trúc yêu cầu theo mối quan hệ tương quan giữa chúng, xác định và loại bỏ các dư thừa. Lập bản mô tả các giải pháp thiết kế ban đầu khác nhau đáp ứng yêu cầu đặt ra của hệ thống.  So sánh để lựa chọn giải pháp tốt nhất cho thiết kế ban đầu sao cho đáp ứng các yêu cầu với chi phí, nguồn lực, thời gian và kỹ thuật cho phép. Đầu ra của giai đoạn phân tích là một mô tả các giải pháp thay thế được đề nghị bởi nhóm phân tích. Khi đề nghị được chấp nhận ta có thể lập kế hoạch yêu cầu các phần cứng và phần mềm hệ thống cần thiết để xây dựng hoặc vận hành hệ thống như đề xuất. 16
  17. 1. Định nghĩa hệ thống thông tin 1. Lựa chọn và lập kế hoạch hệ thống 2. Vai trò của phát triển hệ thống thông tin 2. Phân tích hệ thống 3. Các cách tiếp cận trong phát triển hệ thống thông tin 3. Thiết kế hệ thống 4. Vòng đời phát triển hệ thống thông tin 5. Các phương pháp phát triển hệ thống thông tin 4. Triển khai và vận hành hệ thống  Pha thiết kế có nhiệm vụ chuyển đổi từ bản đặc tả giải pháp yêu cầu của pha phân tích thành bản đặc tả hệ thống logic và hệ thống vật l{. Thiết kế tất cả các khía cạnh của hệ thống từ màn hình đầu vào, đầu ra, cơ sở dữ liệu cũng như các tiến trình xử l{ bên trong của hệ thống. Pha thiết kế bao gồm 2 pha nhỏ:  Thiết kế logic: tập trung vào các khía cạnh nghiệp vụ của hệ thống.  Không gắn với bất kz phần cứng và phần mềm hệ thống cụ thể nào, về mặt l{ thuyết hệ thống thiết kế có thể được thực hiện trên mọi nền tảng công nghệ.  Thiết kế vật lý: chuyển đổi từ thiết kế logic trừu tượng thành bản đặc tả vật l{ hoặc đặc tả kỹ thuật.  Thiết kế những thành phần khác nhau của hệ thống để thực hiện các hoạt động cần thiết như thu thập dữ liệu, xử l{ và đưa ra thông tin cần thiết cho tổ chức một cách thuận tiện.  Quyết định lựa chọn ngôn ngữ lập trình, hệ cơ sở dữ liệu, nền tảng phần cứng, hệ điều hành và môi trường mạng để phát triển hệ thống. Sản phẩm cuối cùng của pha thiết kế là bản đặc tả hệ thống vật l{ và được chuyển cho các nhà lập trình để bắt đầu xây dựng hệ thống. 17
  18. 1. Định nghĩa hệ thống thông tin 1. Lựa chọn và lập kế hoạch hệ thống 2. Vai trò của phát triển hệ thống thông tin 2. Phân tích hệ thống 3. Các cách tiếp cận trong phát triển hệ thống thông tin 3. Thiết kế hệ thống 4. Vòng đời phát triển hệ thống thông tin 5. Các phương pháp phát triển hệ thống thông tin 4. Triển khai và vận hành hệ thống  Ví dụ minh họa sự khác biệt giữa thiết kế logic và thiết kế vật l{: Hình A- thiết kế logic của ván trượt, hình B- thiết kế vật l{ của ván trượt. 18
  19. 1. Định nghĩa hệ thống thông tin 1. Lựa chọn và lập kế hoạch hệ thống 2. Vai trò của phát triển hệ thống thông tin 2. Phân tích hệ thống 3. Các cách tiếp cận trong phát triển hệ thống thông tin 3. Thiết kế hệ thống 4. Vòng đời phát triển hệ thống thông tin 5. Các phương pháp phát triển hệ thống thông tin 4. Triển khai và vận hành hệ thống  Trong pha cuối cùng của SDLC đặc tả hệ thống được chuyển thành hệ thống thực, sau đó được kiểm tra và đưa vào sử dụng. Pha này bao gồm 2 hoạt động chính:  Triển khai hệ thống: bao gồm các công việc lập trình, kiểm thử và cài đặt.  Lập trình: lập trình viên sử dụng ngôn ngữ lập trình để xây dựng các chương trình phần mềm đã được đặc tả ở bước trước.  Kiểm thử: lập trình viên và các nhà phân tích kiểm tra các chương trình phần mềm để tìm và sửa lỗi cho đến khi đạt yêu cầu.  Cài đặt: chương trình phần mềm sẽ được cài đặt vào hệ thống phần cứng của tổ chức, viết tài liệu hướng dẫn sử dụng và đào tạo người dùng sử dụng hệ thống thực hiện các công việc hàng ngày của họ  Vận hành hệ thống: là hoạt động đảm bảo hệ thống hoạt động hiệu quả theo yêu cầu ban đầu, bao gồm công việc chỉnh sửa các lỗi phát sinh khi hệ thống phần mềm được triển khai trong thực tế và cải tiến phần mềm để đáp ứng các nhu cầu mới nảy sinh của tổ chức. 19
  20. 1. Định nghĩa hệ thống thông tin 2. Vai trò của phát triển hệ thống thông tin Sản phẩm của các pha 3. Các cách tiếp cận trong phát triển hệ thống thông tin 4. Vòng đời phát triển hệ thống thông tin trong SDLC 5. Các phương pháp phát triển hệ thống thông tin 20
  21. 1. Định nghĩa hệ thống thông tin 2. Vai trò của phát triển hệ thống thông tin 3. Các cách tiếp cận trong phát triển hệ thống thông tin Định nghĩa 4. Vòng đời phát triển hệ thống thông tin 5. Các phương pháp phát triển hệ thống thông tin  Phương pháp phát triển HTTT được định nghĩa như một tập hợp các bước cần phải thực hiện và các công cụ hỗ trợ, cho phép việc phát triển HTTT được tiến hành một cách chặt chẽ và hiệu quả.  Các phương pháp phát triển HTTT khác nhau sẽ có nội dung thực hiện và công cụ hỗ trợ khác nhau nhưng phải tuân thủ theo nội dung các pha trong vòng đời phát triển hệ thống thông tin.  Khi phát triển một HTTT không nhất thiết phải sử dụng một phương pháp phát triển, tuy nhiên như thế sẽ khó kiểm soát chất lượng, tiến độ thực hiện và chi phí tài chính. 21
  22. 1. Mô hình thác nước 1. Định nghĩa hệ thống thông tin 2. Phương pháp làm bản mẫu 2. Vai trò của phát triển hệ thống thông tin 3. Mô hình xoắn ốc 3. Các cách tiếp cận trong phát triển hệ thống thông tin 4. Phương pháp CASE 5. Phương pháp thiết kế ứng dụng liên kết 4. Vòng đời phát triển hệ thống thông tin 6. Phương pháp phát triển ứng dụng nhanh 5. Các phương pháp phát triển hệ thống thông tin 7. Phương pháp phát triển linh hoạt  Mô hình thác nước – waterfall: là mô hình phát triển hệ thống tuần tự, kết thúc pha trước rồi mới được thực hiện pha tiếp theo.  Ưu điểm:  Phản ánh công nghệ theo lối tư duy tự nhiên, đơn giản, dễ hiểu, dễ thực hiện.  Trình tự thực hiện rõ ràng, thích hợp với các hệ thống vừa và nhỏ với các yêu cầu đã được tìm hiểu rõ ràng và ít thay đổi.  Nhược điểm:  Gặp khó khăn khi có thay đổi xảy ra trong quá trình phát triển hệ thống.  Sự tham gia của người dùng trong quá trình phát triển bị giới hạn (chỉ tham gia trong giai đoạn xác định yêu cầu). 22
  23. 1. Mô hình thác nước 1. Định nghĩa hệ thống thông tin 2. Phương pháp làm bản mẫu 2. Vai trò của phát triển hệ thống thông tin 3. Mô hình xoắn ốc 3. Các cách tiếp cận trong phát triển hệ thống thông tin 4. Phương pháp CASE 5. Phương pháp thiết kế ứng dụng liên kết 4. Vòng đời phát triển hệ thống thông tin 6. Phương pháp phát triển ứng dụng nhanh 5. Các phương pháp phát triển hệ thống thông tin 7. Phương pháp phát triển linh hoạt  Phương pháp làm bản mẫu–Prototyping: dùng các công cụ phần mềm tự động hóa các bước trong vòng đời phát triển hệ thống để xây dựng bản mẫu, các bước thực hiện như sau:  Xác định các yêu cầu cơ bản của hệ thống và xây dựng một nguyên mẫu dựa trên các yêu cầu đó.  Khách hàng dùng thử và đánh giá nguyên mẫu.  Tinh chỉnh nguyên mẫu qua nhiều phiên bản cho đến khi thỏa mãn các yêu cầu của người dùng.  Ưu điểm:  Cải thiện mối liên hệ giữa người dùng và đội phát triển phần mềm, cho phép người dùng sớm hình dung về chức năng và đặc điểm của hệ thống.  Nhược điểm:  Cần phải có các công cụ và ngôn ngữ đặc biệt dành cho việc tạo bản mẫu.  Thiếu tầm nhìn trong quy trình phát triển. 23
  24. 1. Mô hình thác nước 1. Định nghĩa hệ thống thông tin 2. Phương pháp làm bản mẫu 2. Vai trò của phát triển hệ thống thông tin 3. Mô hình xoắn ốc 3. Các cách tiếp cận trong phát triển hệ thống thông tin 4. Phương pháp CASE 5. Phương pháp thiết kế ứng dụng liên kết 4. Vòng đời phát triển hệ thống thông tin 6. Phương pháp phát triển ứng dụng nhanh 5. Các phương pháp phát triển hệ thống thông tin 7. Phương pháp phát triển linh hoạt  Mô hình xoắn ốc–Spiral model: quá trình phát triển hệ thống được biểu diễn như một vòng xoắn ốc, chia thành nhiều bước lặp, mỗi bước lặp bao gồm 4 hoạt động: 1.Lập kế hoạch xác định mục tiêu và các ràng buộc của sản phẩm dựa trên yêu cầu của khách hàng. 2.Phân tích rủi ro và xác định các phương án giải quyết rủi ro, tại mỗi vòng phải đi đến quyết định “đi tiếp hay không” nếu rủi ro quá lớn thì có thể dừng việc phát triển hệ thống. 3.Tạo nguyên mẫu cho hệ thống (càng ở vòng xoáy ngoài thì nguyên mẫu càng chứa nhiều chức năng của hệ thống). 4.Khách hàng sử dụng nguyên mẫu và đưa ra các đánh giá, trên cơ sở đó xuất hiện vòng xoắn tiếp theo của chu trình.  Ưu điểm:  Phù hợp với việc phát triển các hệ thống lớn.  Khả năng thành công cao do đã giải quyết được các rủi ro.  Nhược điểm:  Phức tạp và cần phải có kỹ năng tốt về phân tích rủi ro. 24
  25. 1. Mô hình thác nước 1. Định nghĩa hệ thống thông tin 2. Phương pháp làm bản mẫu 2. Vai trò của phát triển hệ thống thông tin 3. Mô hình xoắn ốc 3. Các cách tiếp cận trong phát triển hệ thống thông tin 4. Phương pháp CASE 5. Phương pháp thiết kế ứng dụng liên kết 4. Vòng đời phát triển hệ thống thông tin 6. Phương pháp phát triển ứng dụng nhanh 5. Các phương pháp phát triển hệ thống thông tin 7. Phương pháp phát triển linh hoạt  Phương pháp CASE (Computer-Aided Software Engineering Tools): là các công cụ phần mềm được sử dụng để hỗ trợ việc thực hiện các hoạt động trong quá trình phát triển hệ thống với mục tiêu tăng năng suất và nâng cao chất lượng tổng thể của hệ thống.  Công cụ CASE cơ bản bao gồm các thành phần sau:  Các công cụ front-end: hỗ trợ từ việc lên kế hoạch, đặc tả yêu cầu đến việc thiết kế giao diện, mẫu báo cáo, dữ liệu  Các công cụ back-end: hỗ trợ việc sinh mã chương trình, gỡ lỗi và kiểm thử trực tiếp từ các tài liệu thiết kế.  Kho dữ liệu: cho phép lưu trữ các định nghĩa về biểu đồ, biểu mẫu, báo cáo, cấu trúc dữ liệu và các thông tin quản l{ dự án. 25
  26. 1. Mô hình thác nước 1. Định nghĩa hệ thống thông tin 2. Phương pháp làm bản mẫu 2. Vai trò của phát triển hệ thống thông tin 3. Mô hình xoắn ốc 3. Các cách tiếp cận trong phát triển hệ thống thông tin 4. Phương pháp CASE 5. Phương pháp thiết kế ứng dụng liên kết 4. Vòng đời phát triển hệ thống thông tin 6. Phương pháp phát triển ứng dụng nhanh 5. Các phương pháp phát triển hệ thống thông tin 7. Phương pháp phát triển linh hoạt  Phương pháp thiết kế ứng dụng liên kết-JAD (Joint Application Design): Vào cuối những năm 1970, nhân viên phát triển hệ thống tại IBM đã phát triển một quy trình mới để thu thập các yêu cầu hệ thống và rà soát lại thiết kế hệ thống.  Ý tưởng của phương pháp: người dùng, nhà quản l{ và các nhà phát triển hệ thống cùng tập trung làm việc với nhau trong một căn phòng để thống nhất về yêu cầu hệ thống và các thiết kế chi tiết.  Thời gian và nguồn lực tổ chức được quản l{ tốt hơn.  Các thành viên trong nhóm đều có sự hiểu biết chung về những gì hệ thống được đề xuất sẽ phải thực hiện.  Thời gian làm việc kéo dài một vài ngày. 26
  27. 1. Định nghĩa hệ thống thông tin 1. Mô hình thác nước 2. Phương pháp làm bản mẫu 2. Vai trò của phát triển hệ thống thông tin 3. Mô hình xoắn ốc 3. Các cách tiếp cận trong phát triển hệ thống thông tin 4. Phương pháp CASE 5. Phương pháp thiết kế ứng dụng liên kết 4. Vòng đời phát triển hệ thống thông tin 6. Phương pháp phát triển ứng dụng nhanh 5. Các phương pháp phát triển hệ thống thông tin 7. Phương pháp phát triển linh hoạt  Phương pháp phát triển ứng dụng nhanh-RAD (Rapid Application Development): Gồm các công cụ hỗ trợ quan trọng như Prototyping, CASE, và JAD với mục tiêu tăng tốc độ phát triển ứng dụng, giảm thiểu thời gian thiết kế và triển khai, nhanh chóng cung cấp hệ thống cho người sử dụng.  RAD phát triển hệ thống một cách linh hoạt và có thể đáp ứng được với các thay đổi nhanh chóng của môi trường.  Nguyên tắc cơ bản của RAD là không viết các tài liệu thiết kế hệ thống chi tiết cho đến khi yêu cầu của người dùng được làm rõ.  RAD được sử dụng rộng rãi bởi các công ty tư vấn. 27
  28. 1. Mô hình thác nước 1. Định nghĩa hệ thống thông tin 2. Phương pháp làm bản mẫu 2. Vai trò của phát triển hệ thống thông tin 3. Mô hình xoắn ốc 3. Các cách tiếp cận trong phát triển hệ thống thông tin 4. Phương pháp CASE 5. Phương pháp thiết kế ứng dụng liên kết 4. Vòng đời phát triển hệ thống thông tin 6. Phương pháp phát triển ứng dụng nhanh 5. Các phương pháp phát triển hệ thống thông tin 7. Phương pháp phát triển linh hoạt  Phương pháp phát triển linh hoạt-Agile: cùng nhóm với các phương pháp và phương pháp luận phát triển ứng dụng dựa trên nguyên tắc phát triển phân đoạn lặp (iterative) và tăng trưởng (incremental).  Agile cố gắng cực tiểu hóa rủi ro bằng cách phát triển ứng dụng trong các khung thời gian ngắn, gọi là các bước lặp, mỗi bước lặp thường được thực hiện trong khoảng từ 1 đến 4 tuần để có thể dễ dàng phản hồi lại với các thay đổi trong quá trình phát triển.  Agile nhấn mạnh vào tầm quan trọng của giao tiếp thời gian thực, giao tiếp trực tiếp mặt-đối-mặt với tất cả các thành viên trong đội phát triển ứng dụng bao gồm cả khách hàng.  Agile là một cách tiếp cận tốt khi không biết trước hoàn toàn các yêu cầu của hệ thống đang cần xây dựng hoặc sửa chữa. 28