Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 33 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
33
Dung lượng
664,08 KB
Nội dung
Viện Đại học Mở Hà Nội Khoa Công nghệ Điện tử - Thơng tin Lập trình ứng dụng Quy Trình Sản Xuất Phần Mềm Các nội dung • • • • Giới thiệu chung Các khái niệm Các loại phần mềm Giới thiệu loại quy trình phát triển phần mềm phổ biến Giới thiệu chung • Phần mềm có đặc điểm trừu tượng không chạm đến (intangible) Điều làm cho phần mềm dễ trở nên phức tạp khó hiểu; • Việc phát triển phần mềm cần theo quy trình sản xuất khoa học để đảm bảo hai điều kiện: – Chất lượng phần mềm tốt: thỏa mãn nhu cầu người dùng; – Tỉ lệ Giá thành/Chi phí phát triển cao Các khái niệm • Phần mềm (sản phẩm phần mềm), bao gồm: – Chương trình (Program): phần thi hành máy tính; – Dữ liệu (Data): gồm cấu trúc liệu, sở liệu lưu giữ liệu vào chương trình; – Tài liệu (Documentation): tài liệu hệ thống, tài liệu người dùng Các khái niệm • Kỹ thuật phần mềm (Software Engineering): Là chuyên ngành kỹ thuật mà quan tâm đến tất khía cạnh việc sản xuất phần mềm, với mục tiên sản xuất sản phẩm phần mềm đa dạng, chất lượng cao, cách hiệu • Cụ thể hơn, KTPM cần tạo Quy trình Sản xuất Phần mềm (hay Mơ hình) hiệu khả thi Quy trình Sản xuất Phần mềm • Là dãy giai đoạn hoạt động đó, kết kèm theo Kết cuối phần mềm cần phải xây dựng, đáp ứng yêu cầu người dùng, hoàn thành theo kế hoạch thời gian ngân sách; • Có ba giai đoạn tiến trình phần mềm: – Giai đoạn định nghĩa (definition phase), – Giai đoạn phát triển (development phase), – Giai đoạn hỗ trợ (support phase) Quy trình Sản xuất Phần mềm • Giai đoạn định nghĩa: tập trung vào làm rõ Cái gì, bao gồm: – Thơng tin cần xử lý, bao gồm thơng tin đầu vào đầu – Các chức cần thực – Hành vi hệ thống mong đợi – Các tiêu chuẩn hợp lệ để đánh giá đắn thành cơng hệ thống Quy trình Sản xuất Phần mềm • Giai đoạn phát triển: tập trung vào Làm nào, bao gồm: – Kiến trúc hệ thống (system architecture) tổ chức – Các chức cài đặt liên kết với – Tổ chức cấu trúc liệu, sở liệu – Chuyển từ thiết kế sang cài đặt nào? – Việc kiểm thử thực nào? Quy trình Sản xuất Phần mềm • Giai đoạn hỗ trợ: cịn gọi giai đoạn bảo trì, tập trung vào việc ứng phó với thay đổi hệ thống phần mềm, bao gồm: – Sửa lỗi (Correction) – Làm thích ứng (Adaptation) – Nâng cấp (Upgrade) Quy trình Sản xuất Phần mềm 1.1 Thu thập yêu cầu Định nghĩa 1.2 Phân tích 2.1 Thiết kế Phát triển 2.2 Cài đặt kiểm thử Hỗ trợ Bảo trì 10 Mơ hình mẫu • Ưu điểm: – Cho phép người dùng xác định yêu cầu rõ ràng cụ thể hơn, đồng thời nhà phát triển nắm xác u cầu – Cả người dùng nhà phát triển thường thích mơ hình này, người dùng ln cảm nhận hệ thống thực nào, nhà phát triển ln có để xây dựng dần hồn thiện • Nhược điểm: – Để có mẫu nhanh, việc thiết kế làm nhanh, nên thường làm không cẩn thận Điều dễ dẫn đến thiết kế có tính chắp vá, khơng có nhìn tổng thể dài hạn – Việc làm mẫu nhanh thường kéo theo việc lựa chọn công cụ cài đặt vội vàng, không cẩn thận, (như ngơn ngữ lập trình, hệ quản trị sở liệu,v.v) Điều ảnh hưởng đến giai đoạn phát triển sau quy mô yêu cầu hệ thống ngày lớn lên 19 Mô hình RAD • Là mơ hình tiến trình phát triển phần mềm tăng trưởng, nhấn mạnh vào chu trình phát triển phần mềm có thời gian ngắn Mơ hình gồm giai đoạn: – Mơ hình hóa nghiệp vụ (Business modeling): mơ hình hóa luồng thơng tin nghiệp vụ chức nghiệp vụ – Mơ hình hóa liệu (Data modeling): từ thơng tin nghiệp vụ, thực thể liệu, thuộc tính chúng, liên kết thực thể xác định mơ hình hóa – Mơ hình hóa xử lý (Process modeling): Mơ tả chức xử lý đối tượng liệu xác định giai đoạn – Sản sinh ứng dụng (Application generation): RAD sử dụng kỹ thuật công nghệ phần mềm hệ thứ 4, cho phép dễ dàng sản sinh mã chương trình từ đặc tả thiết kế trừu tượng Các kỹ thuật cho phép tái sử dụng thành phần chương trình có sẵn (kết hợp mơ hình Component-based development) – Kiểm thử bàn giao (Testing and turnover): phần ứng dụng xây dựng kiểm tra bàn giao cho bên tích hợp hệ thống 20 Mơ hình RAD 21 Mơ hình RAD • Ưu điểm: – Tận dụng công nghệ phát triển hệ thống, cho phép hoàn thành hệ thống thời gian ngắn đáng kể – Khuyến khích việc tái sử dụng thành phần chương trình • Nhược điểm: – Không phù hợp với phần mềm mà khơng có phân chia modul rõ ràng, – Địi hỏi tài ngun chi phí phát triển cao số lượng nhân lực nhiều, công cụ CASE hệ đắt tiền 22 Mơ hình tăng trưởng • Là kết hợp mơ hình tuyến tính triết lý lặp lại mơ hình mẫu • Phần mềm chia thành phần tăng trưởng (increment), phần sản phẩm hồn chỉnh (đã chạy bàn giao cho người dùng) Đồng thời phần tăng trưởng sau bổ sung thêm tính cịn thiếu phần trước 23 Mơ hình tăng trưởng 24 Mơ hình tăng trưởng • Ưu điểm – Kết hợp ưu điểm mơ hình tuyến tính làm mẫu; – Rất phù hợp số lượng nhân viên hạn chế, người dùng có địi hỏi phải sớm có hệ thống thử nghiệm • Nhược điểm – Việc gấp gáp đưa thành phần tăng trưởng gây manh mún phân tích thiết kế; – Khó khăn việc đảm bảo tính tương thích (compatibility) thành phần tăng trưởng 25 Mơ hình xốy ốc • Cũng mơ hình tiến hóa kết hợp đặc tính lặp lại mơ hình mẫu tính hệ thống mơ hình thác nước cổ điển; • Mơ hình cho phép tạo dãy phiên tăng trưởng (incremental release) Tuy nhiên khác với mơ hình tăng trưởng, phiên mơ hình xốy ốc thường mơ hình giấy mẫu (prototype) Đến phiên sau chạy ngày hoàn chỉnh 26 Mơ hình xốy ốc 27 Mơ hình xốy ốc • Mơ hình phân chia thành giai đoạn, gọi vùng nhiệm vụ (task regions) • Số lượng vùng nhiệm vụ thay đổi, thường có từ vùng • Mỗi vùng lại bao gồm tập nhiệm vụ (set of tasks), số lượng thay đổi tùy theo tính chất dự án 28 Mơ hình xốy ốc • Ưu điểm: – Linh hoạt, dễ thích ứng với loại phần mềm nhu cầu sử dụng khác nhau, phần mềm quy mô lớn – Có đầy đủ bước tiến trình phát triển, việc trọng phân tích tính rủi ro (risk) phần mềm mặt kỹ thuật quản lý • Hạn chế: – Phức tạp, cần nhiều thời gian để hiểu vận dụng cách hiệu – Khó khăn việc quản lý nhiều chu trình phát triển 29 Mơ hình hướng đối tượng • Mơ hình dựa tiếp cận hướng đối tượng, nhằm xác định đối tượng/lớp phần mềm; • Các bước phát triển phần mềm xoay quanh việc xác định cấu trúc đối tượng, mối quan hệ đối tượng 30 Mơ hình hướng đối tượng • Ưu điểm: – Hỗ trợ trực tiếp cho việc cài đặt ngơn ngữ lập trình hướng đối tượng C++, Java, v.v – Tăng cường khả tái sử dụng tính an tồn phần mềm; – Hỗ trợ tốt cho khả nâng cấp, sửa chữa phần mềm; • Hạn chế: – Phương pháp luận thường phức tạp; 31 Tóm tắt • Các khái niệm • Các loại phần mềm • Các quy trình phần mềm phổ biến 32 Thank you! 33 ... (Prototyping) • Phát triển nhanh (RAD - Rapid Application Development) • Tăng trưởng (Incremental model) • Xốy ốc (Spiral model) • Hướng đối tượng (Object-Oriented model) 12 Mơ hình tuyến tính... scientific sw) • Phần mềm nhúng (embedded sw) • Phần mềm văn phịng (office sw) • Phần mềm Web (Web-based sw) • Phần mềm trí tuệ nhân tạo (artificial intelligence sw) • V.v 11 Các Quy Trình Phần... tượng Các kỹ thuật cho phép tái sử dụng thành phần chương trình có sẵn (kết hợp mơ hình Component-based development) – Kiểm thử bàn giao (Testing and turnover): phần ứng dụng xây dựng kiểm tra