Chương 1 - Giới thiệu tổng quan. Những nội dung chính được trình bày trong chương này gồm có: Khái niệm và các giai đoạn tiến hóa phần mềm, các ứng dụng của phần mềm, khái niệm kỹ thuật phần mềm, các lớp của kỹ thuật phần mềm, tiến trình phần mềm. Mời các bạn cùng tham khảo.
an co ng c om Kỹ thuật phần mềm ứng dụng cu u du o ng th Bộ môn: Điện tử & kỹ thuật máy tính Viện: Điện tử Viễn Thông Trường: ĐH Bách khoa Hà nội 9/5/2017 CuuDuongThanCong.com https://fb.com/tailieudientucntt Giới thiệu tín = 45 Tiết c om Học lớp Điểm = Bài tập lớn + ý th c học lớp co ng Mục đích mơn học: th an – Các khái niệm kỹ thuật phần mềm (software engineering) du o ng – Các bước xây dựng phần mềm, từ lập kế hoạch, phân tích, thiết kế bảo trì phần mềm cu u – Có kỹ thực hành làm phần mềm theo nhóm CuuDuongThanCong.com https://fb.com/tailieudientucntt .c om Nội dung ng Giới thiệu tổng quan Các pha phát triển phần mềm cu u du o ng th an co Cơ sở liệu Ngôn ngữ SQL CuuDuongThanCong.com https://fb.com/tailieudientucntt .c om Tài liệu tham khảo cu u du o ng th an co ng Software Engineering _a practitioner's approach (5th edition, Roger Pressman) CuuDuongThanCong.com https://fb.com/tailieudientucntt Chương Giới thiệu tổng quan c om 1.1 Khái niệm giai đoạn tiến hóa phần co ng mềm th an 1.2 Các ứng dụng phần mềm du o ng 1.3 Khái niệm kỹ thuật phần mềm cu u 1.4 Các lớp kỹ thuật phần mềm 1.5 Tiến trình phần mềm CuuDuongThanCong.com https://fb.com/tailieudientucntt 1.1 Khái niệm phần mềm an co ng c om Máy tính: Thực nhiệm vụ khác cách sử dụng phần mềm khác => Phần mềm tạo khác biệt máy tính định lực máy tính ng th Phần mềm cấu phần quan trọng hệ du o thống thơng tin, cách gọi khác chương u trình Nó bao gồm tập lệnh để bước hướng dẫn cu máy tính làm việc nhằm chuyển đổi liệu thành thông tin CuuDuongThanCong.com https://fb.com/tailieudientucntt Các giai đoạn tiến hóa phần mềm cu u du o ng th an co ng c om 1950 đến 1960: năm đầu Phần cứng thay đổi liên tục Phương thức xử lý theo lơ Lập trình “theo năng” Mơi trường lập trình có tính chất cá nhân 1960 đến năm 1970 Xuất hệ thống đa nhiệm, đa người sd Hệ thống thời gian thực Xuất hệ hệ quản trị CSDL Việc bảo trì phần mềm tiêu tốn công sức tài nguyên CuuDuongThanCong.com https://fb.com/tailieudientucntt 1970 đến đầu năm 1990 c om Các giai đoạn tiến hóa phần mềm (tiếp) Hệ thống phân tán Mạng toàn cục cục bộ, liên lạc số giải thông cao Công nghệ chế tạo vi xử lý tiến nhanh Thị trường phần cứng vào ổn định th Thời kỳ sau 1990 an co ng Kỹ nghệ hướng đối tượng Quy mô độ phức tạp hệ thống phần mềm tăng đáng kể Ra ứng dụng thực tế Phần mềm trí tuệ nhân tạo cu u du o ng CuuDuongThanCong.com https://fb.com/tailieudientucntt 1.2 Các ứng dụng phần mềm u du o ng th an co ng c om Phần mềm hệ thống Phần mềm thời gian thực Phần mềm nghiệp vụ Phần mềm khoa học kỹ thuật Phần mềm nhúng Phần mềm cho máy tính cá nhân Phần mềm trí tuệ nhân tạo Phần mềm phục vụ KTPM cu CuuDuongThanCong.com https://fb.com/tailieudientucntt Phần mềm hệ thống cu u du o ng th an co ng c om – Phục vụ chương trình khác, – Giao tiếp với thiết bị phần cứng – Sử dụng nhiều người dùng – Lập lịch hoạt động đồng thời – Chia sẻ tài nguyên, – Giao tiếp với nhiều thiết bị ngoại vi 10 CuuDuongThanCong.com https://fb.com/tailieudientucntt Mơ hình tuyến tính cổ điển c om Ưu điểm: an Nhược điểm: u du o ng th – Không dễ dàng cho việc thu thập đầy đủ và tường minh tất yêu cầu hệ thống từ ban đầu – Người dùng phải chờ đến cuối có hệ thống để dùng, nên thời gian chờ đợi là lâu, có đến hàng năm Khi có yêu cầu phát sinh, dễ dẫn khả hệ thống khơng cịn đáp ng kỳ vọng người dùng – Dễ dẫn đến tình trạng “blocking states”, t c là có nhóm bị chậm tiến độ, nhóm khác phải chờ, và thời gian chờ đợi chí vượt thời gian làm việc cu co ng – Đơn giản và rõ ràng – Đóng vai trị mẫu tham chiếu cho mơ hình khác – Vẫn cịn sử dụng rộng rãi 35 CuuDuongThanCong.com https://fb.com/tailieudientucntt Mơ hình mẫu ng c om Thông thường thực tế, yêu cầu hệ thống khó xác định rõ ràng và chi tiết gia đoạn đầu dự án phần mềm: cu u du o ng th an co – Người dùng đưa mục tiêu tổng quát phần mềm, ch chưa định rõ cách chi tiết ch c cụ thể, hay thông tin chi tiết đầu vào, đầu nào – Nhà phát triển chưa xác định rõ ràng yêu cầu, chắn chất lượng phần mềm, khả thỏa mãn khách hàng mơ hình mẫu 36 CuuDuongThanCong.com https://fb.com/tailieudientucntt cu u du o ng th an co ng c om Mơ hình mẫu 37 CuuDuongThanCong.com https://fb.com/tailieudientucntt Mơ hình mẫu c om Gồm giai đoạn: cu u du o ng th an co ng – Thu thập yêu cầu (requirements gathering): khách hàng và nhà phát triển gặp để xác định mục tiêu tổng thể phần mềm Sau họ định phần nào rõ, phần nào cần phải định nghĩa thêm – Thiết kế nhanh (quick design): thiết kế này tập trung vào phần mà khách hàng nhìn thấy (giao diện, liệu vào, ra) Sau đó, từ thiết kế này, mẫu xây dựng – Kiểm tra đánh giá mẫu: Bản mẫu này dùng phép người dùng đánh giá, nhằm làm rõ yêu cầu họ Đồng thời, thông qua mẫu, người phát triển hệ thống hình dung cụ thể yêu cầu khách hàng, khả cài đặt và hiệu hoạt động hệ thống 38 CuuDuongThanCong.com https://fb.com/tailieudientucntt Mơ hình mẫu c om Ưu điểm: an co ng – Cho phép người dùng xác định yêu cầu rõ ràng và cụ thể hơn, đồng thời nhà phát triển nắm xác u cầu – Cả người dùng và nhà phát triển thường thích mơ hình này, người dùng cảm nhận hệ thống thực nào, và nhà phát triển ln có để xây dựng và dần hoàn thiện th Nhược điểm: cu u du o ng – Để 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 này dễ dẫn đến thiết kế có tính chắp vá, khơng có nhìn tổng thể và 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 này ảnh hưởng đến giai đoạn phát triển sau quy mô và yêu cầu hệ thống ngày càng lớn lên 39 CuuDuongThanCong.com https://fb.com/tailieudientucntt Mơ hình RAD c om 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: u du o ng th an co ng – 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 cu 40 CuuDuongThanCong.com https://fb.com/tailieudientucntt cu u du o ng th an co ng c om Mơ hình RAD 41 CuuDuongThanCong.com https://fb.com/tailieudientucntt Mơ hình RAD c om Ưu điểm: th an co ng – 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 ng Nhược điểm cu u du o – 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 nguyên và chi phí phát triển cao số lượng nhân lực nhiều, công cụ CASE hệ đắt tiền 42 CuuDuongThanCong.com https://fb.com/tailieudientucntt Mơ hình tăng trưởng cu u du o ng th an co ng c om Là kết hợp mơ hình tuyến tính và 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 là sản phẩm hoàn chỉnh (đã chạy và bàn giao cho người dùng) Đồng thời phần tăng trưởng sau bổ sung thêm tính thiếu phần trước 43 CuuDuongThanCong.com https://fb.com/tailieudientucntt cu u du o ng th an co ng c om Mơ hình tăng trưởng CuuDuongThanCong.com https://fb.com/tailieudientucntt 44 Mơ hình tăng trưởng c om Ưu điểm an co ng – Kết hợp ưu điểm mơ hình tuyến tính và làm mẫu – Rất phù hợp số lượng nhân viên hạn chế, và người dùng có địi hỏi phải sớm có hệ thống thử nghiệm th Nhược điểm cu u du o ng – Việc gấp gáp đưa thành phần tăng trưởng gây manh mún phân tích và 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 45 CuuDuongThanCong.com https://fb.com/tailieudientucntt Mơ hình xốy ốc cu u du o ng th an co ng c om Cũng là mơ hình tiến hóa kết hợp đặc tính lặp lại mơ hình mẫu và tính hệ thống mơ hình thác nước cổ điển Mơ hình này 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 là mơ hình giấy mẫu (prototype) Đến phiên sau là chạy và càng ngày càng hoàn chỉnh 46 CuuDuongThanCong.com https://fb.com/tailieudientucntt cu u du o ng th an co ng c om Mô hình xốy ốc 47 CuuDuongThanCong.com https://fb.com/tailieudientucntt Mơ hình xốy ốc c om Mơ hình này phân chia thành giai đoạn, gọi vùng nhiệm vụ (task regions) cu u du o ng th an co ng Số lượng vùng nhiệm vụ thay đổi, và thường có từ vùng Mỗi vùng lại bao gồm tập nhiệm vụ (set of tasks), và số lượng thay đổi tùy theo tính chất dự án 48 CuuDuongThanCong.com https://fb.com/tailieudientucntt Mơ hình xốy ốc c om Ưu điểm: th an co ng – 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ý ng Hạn chế: cu u du o – 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 49 CuuDuongThanCong.com https://fb.com/tailieudientucntt ... https://fb.com/tailieudientucntt Chương Giới thiệu tổng quan c om 1. 1 Khái niệm giai đoạn tiến hóa phần co ng mềm th an 1. 2 Các ứng dụng phần mềm du o ng 1. 3 Khái niệm kỹ thuật phần mềm cu u 1. 4 Các lớp kỹ thuật phần mềm 1. 5... động 11 CuuDuongThanCong.com https://fb.com/tailieudientucntt Phần mềm thời gian thực cu u du o ng th an co ng c om Phần mềm thời gian thực bao gồm thành tố: – Thành phần thu thập liệu – Thành... CSDL, ứng dụng tương tác xử lý giao tác cho điểm bán hàng 13 CuuDuongThanCong.com https://fb.com/tailieudientucntt Phần mềm khoa học kỹ thuật Thường đòi hỏi phần c ng có lực tính tốn cao ng