Bài giảng Phân tích Thiết kế Hệ thống - Chương 1: Đại cương về phân tích và thiết kế hệ thống

Khái niệm cơ bản của HTTT Một số loại hình HTTT Một số vấn đề của PT & TK HT Vòng đời phát triển hệ thống Phương pháp phát triển hệ thống Hướng phát triển hệ thống

pdf85 trang | Chia sẻ: candy98 | Lượt xem: 1091 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Bài giảng Phân tích Thiết kế Hệ thống - Chương 1: Đại cương về phân tích và thiết kế hệ thống, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
CHƯƠNG 1 ĐẠI CƯƠNG VỀ PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG Khái niệm cơ bản của HTTT Một số loại hình HTTT Một số vấn đề của PT & TK HT Vòng đời phát triển hệ thống Phương pháp phát triển hệ thống Hướng phát triển hệ thống Nội dung 1.2 Khái niệm cơ bản của hệ thống thông tin 1.3 Hệ thống là tập hợp các phần tử có mối liên hệ với nhau, làm việc cùng nhau để đạt được một mục tiêu / nhiệm vụ nào đó. Ví dụ: Hệ thống tiêu hóa Hệ thống giao thông công cộng Hệ thống máy tính Hệ thống thông tin, Hệ thống là gì? (1) 1.4 Đặc điểm của hệ thống: ◦ Có phát triển: phát sinh, tăng trưởng, suy thoái và mất đi. ◦ Có hoạt động: Các phần tử trong hệ thống cộng tác với nhau để cùng thực hiện mục đích chung. => Hệ thống luôn hoạt động trong môi trường và có trao đổi vào ra với môi trường xung quanh. Hệ thống là gì? (2) 1.5 Các thành phần trong hệ thống INPUT OUTPUTPROCESS FEEDBACK 1.6 Một hệ thống có nhiều hệ thống con  - Hệ thống con đơn giản là một hệ thống nằm trong một hệ thống nào đó.  Ô tô là một hệ thống bao gồm các hệ thống con: ◦ Hệ thống động cơ ◦ Hệ thống điều hòa ◦ Hệ thống khung,  - Trong mỗi hệ thống con có thể có nhiều hệ thống con (sub- sub –systems). ◦ Hệ thống động cơ: Hệ thống chế hòa khí, hệ thống máy phát điện, hệ thống nhiên liệu, Hệ thống con là gì? 1.8 Phân rã ◦ Quá trình phá vỡ một hệ thống thành các thành phần nhỏ hơn. ◦ Mục đích:  Chia thành nhiều hệ thống nhỏ, hệ thống con để quản lý.  Tập trung vào một lĩnh vực tại một thời điểm.  Tập trung vào từng thành phần thích hợp với từng nhóm người sử dụng.  Xây dựng các thành phần khác nhau vào những thời điểm độc lập. Một số khái niệm trong hệ thống (1) 1.9 Modular Quá trình phân chia một hệ thống thành các module có kích thước tương đối đồng bộ. Modules đơn giản hóa thiết kế hệ thống. Hợp lại Các hệ thống con có mối liên hệ, phụ thuộc vào nhau và được kết hợp lại thành một hệ thống tổng thể. Sự gắn kết Mức độ mà một hệ thống con thực hiện duy nhất một chức năng. Một số khái niệm trong hệ thống (2) 1.10 Hardware + Software + People+ Procedures +Information Các thành phần của HTTT dựa trên máy tính 1.11  Dữ liệu là những dữ kiện về mặt tổ chức và các hoạt động giao dịch. Hầu hết các dữ liệu đều có ý nghĩa và đều được sử dụng.  Định nghĩa thay thế : ◦ Dữ liệu là một tập hợp của các hạng mục như chữ, số, hình ảnh, và âm thanh mà không được tổ chức và có rất ít ý nghĩa riêng. ◦ Dữ liệu là những dữ kiện về con người, các đối tượng, và các sự kiện trong một tổ chức.  Thông tin: là dữ liệu được tổ chức. Dữ liệu và Thông tin 1.12 Luồng dữ liệu Dữ liệu trong chuyển động, di chuyển từ vị trí này đến vị trí khác trong hệ thống. Xử lý logic Các bước dữ liệu được truyền hoặc di chuyển; mô tả về các sự kiện kích hoạt cho các hoạt động kế tiếp. Luồng dữ liệu và xử lý logic 1.13 CSDL là tập hợp dữ liệu liên quan được chia sẻ một cách hợp lý và được thiết kế để đáp ứng nhu cầu thông tin của nhiều người dùng trong cùng một tổ chức. Database – Files – Records -- Fields Cơ sở dữ liệu 1.14 Các mức quản lý dữ liệu databases File 1 Record 1 Record 2 Filed 1 Filed 2 Character BYTE Character BYTE Character BYTE Filed N Record N File 2 File N 1.15 Phương pháp tiếp cận truyền thống Phương pháp truyền thống & phương pháp CSDL Personal data Project data Tax data Personal data Payroll system Project Management System  Dư thừa dữ liệu 1.16 Phương pháp tiếp cận CSDL Phương pháp truyền thống & phương pháp CSDL Tax data Personal data Payroll system Project Management System Project data 1.17  Hệ thống thông tin là tập các thành phần liên quan đến nhau, làm việc cùng nhau với mục đích chung.  Mục đích HTTT: ◦ Tập hợp ◦ Xử lý ◦ Lưu trữ ◦ Phổ biến thông tin.  Đặc điểm: hỗ trợ việc ra quyết định, phối hợp, kiểm soát, phân tích và hiển thị trong một tổ chức Hệ thống thông tin là gì? 1.18 Các thành phần cấu thành HTTT Các xử lý: - Các quy trình - Các công thức quy tắc quản lý - Các lưu đồ chu chuyển Các dữ liệu phản ánh cấu trúc cơ quan Các dữ liệu phản ánh hoạt động kinh doanh Tham số Thông báo kết quả Sự kiện hoạt động cập nhật Sự kiện tiến hoá cập nhật 1.19 Các loại hình HTTT  Hệ xử lý giao dịch (Transaction Processing Systems – TPS)  Hệ thông tin quản lý (Management Information Systems - MIS)  Hệ hỗ trợ quyết định (Decision Support Systems - DSS)  Hệ chuyên gia và trí tuệ nhân tạo (Expert System and Artificial Intelligence - ES &AI) Các kiểu HTTT phổ biến 1.21 TPS là những hệ thống thông tin máy tính được phát triển để xử lý một lượng lớn dữ liệu cho các hoạt động giao dịch thường xuyên. Xử lý các giao dịch và ghi lại dữ liệu cho từng chức năng đặc thù. Dữ liệu đầu vào được cập nhật thường xuyên, dữ liệu đầu ra là định kỳ (Thống kê, báo cáo,) => Có tính cục bộ, thường dành cho các nhà quản lý cấp tác nghiệp Hệ thống xử lý giao dịch (TPS) (1) 1.22 Đặc trưng: Lượng dữ liệu nhiều, thu thập dữ liệu tập trung. Phương pháp phát triển hệ thống: Hướng chức năng. Hệ thống xử lý giao dịch (TPS) (2) 1.23 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 csdl hợp nhất và hỗ trợ cho nhiều chức năng. Từ dữ liệu ban đầu thông qua TPS để chuyển đổi thành dạng tổng hợp có ý nghĩa mà nhà quản lý cần để thực hiện nhiệm vụ của mình. => Là HTTT đượ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. Hệ thống thông tin quản lý(MIS)(1) 1.24 Đặc trưng: Dựa trên sự đa dạng của nguồn dữ liệu để tổng hợp và tóm tắt dữ liệu. Phương pháp phát triển hệ thống: Hướng dữ liệu Xem xét mối quan hệ giữa các dữ liệu để dữ liệu có thể được truy cập và tóm tắt một cách đa dạng. Hệ thống thông tin quản lý(MIS)(2) 1.25 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.  DSS được thiết kế để giúp tổ chức ra quyết định thực hiện.  Một DSS gồm: ◦ Cơ sở dữ liệu (có thể được rút ra từ một TPS / MIS) ◦ Đồ họa / mô hình toán học cho quá trình hoạt động. ◦ Giao diện người dùng để giao tiếp với DSS. Hệ hỗ trợ quyết định (DSS) (1) 1.26 Đặc trưng: Cung cấp hướng dẫn trong việc xác định vấn đề, việc tìm kiếm, đánh giá các giải pháp thay thế và lựa chọn hoặc so sánh lựa chọn thay thế; có khả năng liên quan đến nhóm của việc ra quyết định. Phương pháp phát triển hệ thống: Hướng dữ liệu và quyết định logic. Thiết kế đối thoại người dùng; truyền thông nhóm có thể là chìa khóa truy cập vào dữ liệu mà không dự đoán trước. Hệ hỗ trợ quyết định (DSS) (2) 1.27 Hệ chuyên gia 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 , Ví dụ: Lập kế hoạch tài chính, chẩn đoán bệnh, dịch máy, Hệ chuyên gia và trí tuệ nhân tạo (ES & AI)(1) 1.28 Kiến thức (Knowledge): là cách một chuyên gia sẽ tiếp cận vấn đề. Cố gắng hệ thống hóa và vận dụng kiến thức chứ không phải là thông tin, (ví dụ nếu .. Sau đó, loại trừ) Các chuyên gia hỏi câu hỏi và người dùng cuối cung cấp các câu trả lời. Những câu trả lời sau đó được sử dụng để xác định các quy tắc và chuyên gia đưa ra đề nghị dựa trên các quy tắc. Knowledge Engineers thực hiện thu thập kiến thức; giống với các nhà phân tích hệ thống nhưng được đào tạo để sử dụng các kỹ thuật khác nhau. Hệ chuyên gia và trí tuệ nhân tạo (ES & AI)(2) 1.29 Đặc trưng: Chuyên gia tư vấn bằng cách yêu cầu người sử dụng một chuỗi các câu hỏi, phụ thuộc vào câu trả lời để đưa ra kết luận. Phương pháp phát triển hệ thống: Định hướng logic quyết định chuyên môn, trong đó tri thức được suy ra từ các chuyên gia và được mô tả bởi quy tắc hay hình thức nào đó. Hệ chuyên gia và trí tuệ nhân tạo (ES & AI)(3) 1.30 Quản lý hệ thống thông tin Phân tích và phát triển hệ thống Lập trình viên Người dùng cuối Hỗ trợ người dùng cuối Quản lý doanh nghiệp Quản lý thông tin/ cán bộ kỹ thuật khác. Các thành phần tham gia vào hệ thống thông tin 1.31 Các vấn đề phân tích và thiết kế hệ thống 1.32 Là nghiên cứu các vấn đề và nhu cầu để xác định như thế nào, ai, dữ liệu, quy trình, công nghệ truyền thông và thông tin tốt nhất mà hệ thống mới mang lại. Là tác nhân quan trọng trong quá trình phát triển hệ thống. Phân tích hệ thống 1.33 Kiến thức làm việc với công nghệ thông tin. Kinh nghiệm lập trình máy tính và chuyên môn. Kiến thức kinh doanh chung. Kỹ năng giải quyết vấn đề. Kỹ năng giao tiếp, quan hệ giữa các nhân tố. Tính linh hoạt và khả năng thích ứng. Tính cách và đạo đức. Kỹ năng phân tích và thiết kế hệ thống. Kỹ năng của nhà phân tích hệ thống 1.34 Đối tượng liên quan đến nhà phân tích hệ thống Kỹ năng, và mục tiêu. Thông tin liên lạc rõ ràng và đầy đủ. Tin tưởng, tôn trọng lẫn nhau và luôn đưa ra khung nhìn riêng thứ 2. Có tổ chức, có tính kỷ luật. Đặc điểm của các đội thành công trong phát triển hệ thống 1.36 Phân tích: Xác định vấn đề Từ yêu cầu đặc điểm kỹ thuật. Thiết kế: Giải quyết vấn đề Từ đặc điểm kỹ thuật thực hiện. Phân tích & thiết kế hệ thống (SAD)(2) 1.37 Ví dụ: trang bị bàn ghế cho 1 phòng học Tại sao PT và TKHT lại quan trọng? 1.38 Chúng ta thường có suy nghĩ trước: Bao nhiêu bộ bàn ghế? Địa điểm nhận là ở đâu? Bao nhiêu tiền? .  Đặt mục tiêu ưu tiên là người làm hệ thống mà quên mất Ai sẽ sử dụng hệ thống? Tại sao PT và TKHT lại quan trọng? 1.39 Tại sao PT và TKHT lại quan trọng? 1.40 - Xác định vấn đề, phân tích, hiểu vấn đề. - Xác định yêu cầu, giải pháp. - Xác định các giải pháp thay thế và lựa chọn tốt nhất. - Thiết kế các giải pháp được lựa chọn. - Thực hiện các giải pháp được lựa chọn. - Đánh giá kết quả. -Nếu vấn đề không được giải quyết, trở lại bước 1. Cách tiếp cận giải quyết một vấn đề 1.41 Cách giải quyết bài toán (1) Để lấy người sử dụng là trung tâm, chúng ta cần: Mục đích của phòng học là gì: học văn hóa, máy tính, học đàn, Đối tượng sử dụng phòng học là ai: mẫu giáo, tiểu học, THCS, phổ thông, sinh viên, cán bộ, Diện tích phòng, số lượng người dùng tối đa/ 1 phòng là bao nhiêu? Vị trí, thời gian bàn giao? Giá thành?  quyết định có làm hay không? 1 - 42 Cách giải quyết bài toán (2) Thu thập yêu cầu của bên đầu tư? Thu thập yêu cầu của đối tượng sử dụng: chất liệu, màu sắc, kiểu dáng, Đề xuất: cách bố trí, số lượng , chất liệu, màu sắc, kiểu dáng,  Công việc của người phân tích hệ thống 1 - 43  Công việc của người thiết kế Cách giải quyết bài toán (3) 1.44 Vai trò của PT&TK hệ thống Có cái nhìn đầy đủ, đúng đắn và chính xác về HTTT đượ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 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. => Do đó: Phân tích và thiết kế là cực kỳ quan trọng, là cơ sở để đưa đến thành công cho mỗi dự án. 1 - 45 Làm thế nào để xây dựng hệ thống thông tin? Làm thế nào để phân tích nhu cầu của hệ thống thông tin? Làm thế nào để thiết kế hệ thống thông tin dựa trên máy tính? Làm thế nào để giải quyết vấn đề hệ thống trong tổ chức? Quan điểm của phân tích hệ thống 1.46 Vòng đời phát triển hệ thống Planning Analysis Design Implementation Systems Development Life Cycle (SDLC) 1.48 Tại sao chúng ta nên xây dựng hệ thống này? Giá trị hệ thống mang lại là gì? Sẽ phải mất bao lâu để xây dựng? Câu hỏi giai đoạn: Lập kế hoạch 1.49 Ai sẽ sử dụng hệ thống? Hệ thống nên làm gì cho chúng ta? Ở đâu và khi nào nó sẽ được sử dụng? Câu hỏi giai đoạn: phân tích 1.50 Câu hỏi giai đoạn: thiết kế Hệ thống sẽ hoạt động như thế nào? Điều kiện phần cứng, phần mềm và cơ sở hạ tầng mạng ? Giao diện người sử dụng, các form và các báo cáo sẽ được sử dụng? Các chương trình cụ thể, các CSDL, các file sẽ cần? Làm thế nào chúng ta xây dựng được hệ thống? 1 - 51 1. Xây dựng hệ thống ◦ Xây dựng (viết code chương trình). ◦ Kiểm tra. 2. Lắp đặt hệ thống ◦ Đào tạo cho người sử dụng hệ thống. 3. Hỗ trợ hệ thống (bảo trì) Giai đoạn thực hiện 1.52 Phương pháp phát triển hệ thống 1.53 Mô hình thác Mô hình lặp Mô hình xoắn ốc V-Model Mô hình Big Bang Mô hình Agile Một số phương pháp SDLC quan trọng và phổ biến 1.54 Người phân tích và người dùng truy cập tuần tự từ một giai đoạn đến giai đoạn kế tiếp. Mô hình thác 1.55 Mô hình thác 1 - 56 Mô hình thác: Ưu điểm Hệ thống được nhận biết dài trước khi chương trình bắt đầu. Thay đổi yêu cầu được giảm đến mức tối thiểu khi dự án bắt đầu. 1 - 57 Mô hình thác: Nhược điểm Thiết kế phải hoàn toàn rõ ràng trước khi chương trình bắt đầu. Thời gian trải dài từ việc hoàn thành đề xuất hệ thống trong giai đoạn phân tích đến triển khai hệ thống. 1 - 58 Yêu cầu có thể bổ sung sau mỗi lần lặp. Thiết kế có thể được sửa đổi và bổ sung sau mỗi lần lặp. Kết thúc một quá trình lặp  một phiên bản mới của phần mềm Khi hệ thống đã hoàn chỉnh  kết thúc quá trình lặp. Mô hình lặp - Iterative model (1) 1.59 Mô hình lặp - Iterative model (2) 1.60 Mô hình lặp: Ưu điểm (1) Một số chức năng làm việc có thể được phát triển và hoàn thiện sớm. Kết quả thu được là định kỳ. Có thể phát triển song song. Chủ động được tiến độ có thể đo được. Ít tốn kém để thay đổi phạm vi / yêu cầu. Kiểm tra và gỡ lỗi trong quá trình lặp là dễ dàng. Các rủi ro được xác định và giải quyết trong vòng lặp => dễ dàng hơn để quản lý rủi ro. 1 - 61 Hỗ trợ việc thay đổi các yêu cầu. Đặc biệt thích hợp cho các dự án lớn và quan trọng. Tạo điều kiện cho các đánh giá và phản hồi của khách hàng. Mô hình lặp: Ưu điểm (2) 1.62 Các tài nguyên khác có thể được yêu cầu. Mặc dù chi phí của sự thay đổi là ít hơn nhưng không phải là rất thích hợp cho việc thay đổi yêu cầu. Kiến trúc hệ thống hoặc thiết kế có thể phát sinh do không phải tất cả các yêu cầu được tập hợp trong lần lặp đầu. Không thích hợp cho các dự án nhỏ. Phức tạp hơn trong quản lý. Kết thúc dự án có thể không biết đó là một nguy cơ. Mô hình lặp: Nhược điểm 1.63 Kết hợp ý tưởng phát triển lặp với mô hình thác nước. Mô hình xoắn ốc có bốn giai đoạn. Một dự án phần mềm liên tục đi qua những giai đoạn trong lần lặp được gọi là vòng xoắn. Mô hình xoắn ốc (1) 1.64 Mô hình xoắn ốc (2) 1.65 Yêu cầu thay đổi có thể được linh hoạt. Cho phép sử dụng rộng rãi các nguyên mẫu. Có thể sử dụng hệ thống sớm. Phát triển có thể được chia thành các phần nhỏ hơn giúp quản lý rủi ro tốt hơn. Mô hình xoắn ốc – ưu điểm 1.66 Quản lý là phức tạp hơn. Không xác định được thời gian kết thúc dự án. Không thích hợp cho các dự án rủi ro nhỏ hay thấp và có thể là đắt đối với các dự án nhỏ. Quy trình là phức tạp. Mô hình xoắn ốc có thể đi vô thời hạn. Số lượng lớn các giai đoạn trung gian đòi hỏi tài liệu nhiều. Mô hình xoắn ốc – nhược điểm 1.67 Mô hình V là mô hình SDLC thực hiện các quá trình một cách tuần tự trong V-shape hay còn được gọi là mô hình Thẩm tra và Xác nhận. Ứng dụng mô hình V gần tương tự như mô hình thác nước. Yêu cầu phải rất rõ ràng trước khi dự án bắt đầu, bởi vì rất đắt để quay trở lại và thực hiện thay đổi. Mô hình này được sử dụng trong các lĩnh vực phát triển y tế vì tính kỷ luật.. Mô hình V 1.68 Mô hình V 1.69 Là mô hình có tính kỷ luật cao và được hoàn thành từng giai đoạn tại mỗi thời điểm. Hoạt động tốt đối với các dự án nhỏ, với yêu cầu đầu vào là đầy đủ. Đơn giản, dễ hiểu và dễ sử dụng. Dễ quản lý do sự cứng nhắc của các mô hình. Mỗi giai đoạn đều có phân công và xem xét cụ thể. Mô hình V: ưu điểm 1.70 Mô hình V: Nhược điểm Nguy cơ thất bại cao và không chắc chắn. Không phải là mô hình tốt cho các dự án phức tạp và hướng đối tượng. Không phải là mô hình tốt cho các dự án dài và liên tục. Không thích hợp cho các dự án mà các yêu cầu đang ở mức độ trung bình, có nguy cơ cao thay đổi. Khi một ứng dụng đang trong giai đoạn thử nghiệm, rất khó khăn để thực hiện lại hay thay đổi một chức năng. Không thể có một phần mềm được sản xuất duy nhất trong vòng đời. 1 - 71 Là mô hình SDLC không làm theo bất kỳ quy trình cụ thể. Là phát triển phần mềm mà có thể có hoặc không theo yêu cầu của khách hàng. Là mô hình lý tưởng cho các dự án nhỏ với một hoặc hai nhà phát triển làm việc với nhau (hữu ích cho các dự án học tập hoặc thực hành). Mô hình Big Bang 1.72 Là một mô hình rất đơn giản. Ít hoặc không có kế hoạch cần thiết. Dễ quản lý. Cần rất ít nguồn lực. Linh hoạt để phát triển. Là một mô hình trợ giúp rất tốt cho những người mới hoặc sinh viên. Mô hình Big Bang:Ưu điểm 1.73 Rủi ro rất cao và không chắc chắn. Không phải là một mô hình tốt cho các dự án phức tạp và hướng đối tượng. Mô hình tồi cho các dự án dài và thay đổi liên tục. Có thể rất tốn kém nếu yêu cầu đầu vào được hiểu lầm. Mô hình Big Bang:Nhược điểm Là sự kết hợp của lặp và tăng dần mô hình. Phương pháp Agile chia nhỏ các sản phẩm để xây dựng trong mỗi lần lặp. Mỗi lần lặp bao gồm các đội chéo chức năng làm việc đồng thời trên nhiều lĩnh vực như lập kế hoạch, phân tích yêu cầu, thiết kế, viết mã, kiểm tra đơn vị, và kiểm tra chấp nhận. Vào cuối của mỗi lần lặp, một sản phẩm được hiển thị cho khách hàng và các bên liên quan. Mô hình Agile 1.75 Mô hình Agile 1.76 Là cách tiếp cận rất thực tế để phát triển phần mềm. Khuyến khích làm việc theo nhóm. Chức năng có thể được phát triển nhanh chóng. Yêu cầu tài nguyên là tối thiểu. Cung cấp các giải pháp làm việc từng phần. Mô hình tốt cho các môi trường có thay đổi đều đặn. Quy tắc tối thiểu, tài liệu dễ dàng sử dụng. Ít hoặc không có kế hoạch cần thiết. Dễ quản lý. Mô hình Agile: Ưu điểm 1.77 Mô hình Agile: Nhược điểm Không thích hợp để xử lý những phụ thuộc phức tạp. Nhiều rủi ro về tính bền vững, bảo trì và mở rộng. Phức tạp trong việc quản lý tiến độ, chức năng và điều chỉnh. Phụ thuộc rất nhiều vào sự tương tác của khách hàng, vì vậy nếu khách hàng không rõ ràng có thể dẫn đến điều khiển theo hướng sai lầm. Phụ thuộc cá nhân rất cao. Chuyển giao công nghệ cho các thành viên nhóm mới có thể khá khó khăn do thiếu tài liệu. 1 - 78 SDLC- tóm tắt (1) Thác nước và mô hình V là mô hình SDLC truyền thống và là tuần tự. Rất thích hợp cho các dự án có yêu cầu sản phẩm rõ ràng và nơi yêu cầu sẽ không thay đổi trong quá trình hoàn thành dự án. Mô hình lặp và xoắn ốc linh hoạt hơn về sự thay đổi. Thích hợp cho các dự án mà các yêu cầu không được xác định rõ, hoặc yêu cầu thị trường thay đổi khá thường xuyên. Mô hình Big Bang là cách tiếp cận ngẫu nhiên để phát triển phần mềm và phù hợp cho các dự án nhỏ hoặc học tập. 1 - 79 Agile là mô hình phổ biến nhất. Agile chia dự án thành các bước lặp nhỏ với tính năng chuyển giao cụ thể. Tương tác khách hàng là xương sống của phương pháp Agile. SDLC- tóm tắt (2) Các hướng phát triển hệ thống 1.81 Hướng chức năng (giữa 1970s) Hướng dữ liệu (đầu 1980s) Hướng đối tượng (nửa cuối 1980s). Các hướng phát triển hệ thống 1.82 Tập trung vào mục tiêu làm thế nào và khi nào dữ liệu được di chuyển và thay đổi bởi hệ thống thông tin. Hướng chức năng 1.83 Tập trung vào việc tổ chức của dữ liệu chứ không phải ở đâu và làm thế nào dữ liệu được sử dụng. Hướng dữ liệu 1.84 Phương pháp và kỹ thuật phát triển hệ thống cơ bản về đối tượng chứ không phải là tập trung vào dữ liệu hay chức năng. Dữ liệu và chức năng được đóng gói lại với nhau. Hướng đối tượng 1.85