Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 27 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
27
Dung lượng
883,5 KB
Nội dung
Chương Tổng quan công nghệ phần mềm Giới thiệu - Các nước phát triển phụ thuộc chủ yếu vào hệ thống phần mềm - Có nhiều hệ thống kiểm soát phần mềm => Xây dựng bảo trì hệ thống phần mềm cách hiệu yêu cầu cần thiết kinh tế toàn cầu quốc gia Giới thiệu Khái niệm công nghệ phần mềm đưa lần vào năm 1968 hội nghị thảo luận khủng hoảng phần mềm Công nghệ phần mềm đề cập tới phương thức công cụ để xây dựng phần mềm chuyên nghiệp, mang lại lợi nhuận cao Giới thiệu (tt1) Nội dung nghiên cứu chương 1: Một số khái niệm có liên quan tới phần mềm cơng nghệ phần mềm Tìm hiểu ngun tắc tính chuyên nghiệp nguyên tắc kỹ sư phần mềm Một số khái niệm Khi tìm hiểu cơng nghệ phần mềm, thường đặt số câu hỏi sau: - Phần mềm gì? - Cơng nghệ phần mềm gì? - Sự khác biệt cơng nghệ phần mềm khoa học máy tính? - Sự khác biệt công nghệ phần mềm công nghệ hệ thống? Một số khái niệm - Quy trình phần mềm gì? - Mơ hình quy trình phát triển phần mềm gì? - Chi phí công nghệ phần mềm? - CASE (Computer-Aided Software Engineering) gì? - Thế phần mềm tốt? - Một số nguyên tắc kỹ sư phần mềm? Một số khái niệm (tt1) Phần mềm gì? Phần mềm chương trình máy tính tài liệu liên quan đến như: yêu cầu, mơ hình thiết kế, tài liệu hướng dẫn sử dụng… Các sản phẩm phần mềm chia thành loại: - Sản phẩm đại trà (Generic Product) - Sản phầm theo đơn đặt hàng (Bespoke Product Customized Product) Một số khái niệm (tt1) - Sản phẩm đại trà : phát triển để bán thị trường, đối tượng người sử dụng tương đối đa dạng phong phú Những sản phẩm phần mềm thuộc loại thường phần mềm dành cho máy PC - Sản phầm theo đơn đặt hàng phát triển cho khách hàng riêng lẻ theo yêu cầu Ví dụ: Những hệ thống phần mềm chuyên dụng, hỗ trợ nghiệp vụ cho doanh nghiệp riêng lẻ … Một số khái niệm (tt2) Công nghệ phần mềm gì? - Cơng nghệ phần mềm quy tắc cơng nghệ (engineering discipline) có liên quan đến tất khía cạnh q trình sản xuất phần mềm - Các kỹ sư phần mềm nên tuân theo phương pháp luận có hệ thống có tổ chức công việc họ Đồng thời, họ nên sử dụng cơng cụ kỹ thuật thích hợp với vấn đề cần giải quyết, ràng buộc tài nguyên sẵn có Một số khái niệm (tt3) Sự khác biệt công nghệ phần mềm khoa học máy tính? - Khoa học máy tính đề cấp tới lý thuyết vấn đề bản; cịn cơng nghệ phần mềm đề cập tới hoạt động xây dựng đưa phần mềm hữu ích - Khi phát triển phần mềm trở nên mạnh mẽ lý thuyết khoa học máy tính khơng đủ để đóng vai trị tảng hồn thiện cho cơng nghệ phần mềm Một số khái niệm (tt5) Quy trình phần mềm gì? - Quy trình phần mềm tập hợp hành động mà mục đích xây dựng phát triển phần mềm Những hành động thường thực quy trình phần mềm bao gồm: Đặc tả: Miêu tả hệ thống phải làm ràng buộc trình xây dựng hệ thống Phát triển: xây dựng hệ thống phần mềm Một số khái niệm (tt5) Kiểm thử: kiểm tra xem liệu phần mềm thoả mãn yêu cầu khách hàng Mở rộng: điều chỉnh thay đổi phần mềm tương ứng với thay đổi yêu cầu Một số khái niệm (tt6) Mơ hình quy trình phát triển phần mềm gì? Mơ hình quy trình phát triển phần mềm thể đơn giản quy trình phần mềm, biểu diễn từ góc độ cụ thể Một số ví dụ mơ hình quy trình phát triển phần mềm - Mơ hình luồng cơng việc (workflow): mơ tả chuỗi hành động cần phải thực Một số khái niệm (tt6) Mơ hình luồng liệu (data-flow): mơ tả luồng thơng tin Mơ hình Vai trò/Hành động (Role/action): vai trò người liên quan quy trình phần mềm nhiệm vụ người Ngồi ra, cịn có số mơ hình quy trình: Mơ hình thác nước (waterfall) Mơ hình phát triển lặp lại (Iterative development) Mơ hình cơng nghệ phần mềm dựa thành phần (Componentbased software engineering) Một số khái niệm (tt7) Các chi phí công nghệ phần mềm - Để xây dựng hệ thống phần mềm, thường phải đầu tư khoản ngân sách lớn Theo thống kê cho thấy, chi phí cho việc xây dựng phần mềm chiếm phần đáng kể tất nước phát triển Một số khái niệm (tt7) - Chi phí phần mềm thường chiếm phần lớn chi phí hệ thống máy tính - Chi phí phần mềm máy PC thường lớn chi phí phần cứng - Chi phí biến đổi tuỳ thuộc vào loại hệ thống xây dựng yêu cầu đặc điểm hệ thống như: hiệu độ tin cậy hệ thống Một số khái niệm (tt9) - Việc phân bổ chi phí phụ thuộc vào mơ hình phát triển hệ thống sử dụng Sau bảng so sánh chi phí mơ hình phổ biến nhất, thường sử dụng: Mơ hình thác nước: - Chi phí pha đặc tả, thiết kế, cài đặt, tích hợp kiểm thử xác định cách riêng rẽ Một số khái niệm (tt10) Mô hình phát triển lặp lại: -Khơng thể phân biệt rõ chi phí cho pha quy trình - Chi phí đặc tả giảm - Tại bước lặp, pha quy trình xây dựng hệ thống thực lại nhằm thực yêu cầu hệ thống khác bước lặp - Sau thực hết bước lặp, phải có chi phí kiểm thử toàn hệ thống Một số khái niệm (tt11) Mơ hình cơng nghệ phần mềm hướng thành phần: - Chi phí phụ thuộc nhiều vào việc tích hợp kiểm thử hệ thống Ngồi chi phí xây dựng, cịn phải để phần lớn chi phí phục vụ cho việc thay đổi phần mềm sau đưa vào sử dụng Chi phí cải tiến phần mềm thay đổi phụ thuộc vào loại phần mềm CASE (Computer-Aided Software Engineering) - Các hệ thống CASE thường sử dụng để hỗ trợ hoạt động quy trình xây dựng phần mềm Có hai loại CASE: Upper-CASE: cơng cụ để hỗ trợ hoạt động đặc tả yêu cầu thiết kế Lower-CASE: công cụ để hỗ trợ hoạt động sau lập trình, gỡ lỗi kiểm thử Phần mềm tốt? Phần mềm phải đáp ứng chức theo yêu cầu, có hiệu tốt, có khả bảo trì, đáng tin cậy, người sử dụng chấp nhận -Khả bảo trì: phần mềm phải điều chỉnh mở rộng để thoả mãn yêu cầu thay đổi - Mức độ tin cậy: phần mềm phải tin cậy, bảo mật xác Phần mềm tốt? - Hiệu quả: phần mềm không nên sử dụng lãng phí tài nguyên hệ thống - Khả chấp nhận: người sử dụng phải chấp nhận phần mềm Điều có nghĩa phải dễ hiểu, sử dụng tương thích với hệ thống khác Nguyên tắc cần thiết kỹ sư phần mềm Quy trình xây dựng phần mềm thực mơi trường chun nghiệp địi hỏi tuân thủ nguyên tắc cách xác Do đó, kỹ sư phần mềm phải coi cơng việc họ trách nhiệm to lớn, không đơn việc ứng dụng kỹ thuật Nguyên tắc cần thiết kỹ sư phần mềm Kỹ sư phần mềm phải ứng xử trung thực cách làm họ phải chuyên nghiệp quy tắc Một số nguyên tắc cần thiết mà kỹ sư phần mềm phải thực hiện: - Sự tin cẩn: kỹ sư phần mềm phải tạo tin cẩn từ phía nhân viên khách hàng - Năng lực: kỹ sư phần mềm khơng nên trình bày sai khả mình, khơng nên nhận cơng việc vượt khả Nguyên tắc cần thiết kỹ sư phần mềm - Các quyền tài sản trí tuệ: kỹ sư phần mềm nên quan tâm tài sản trí tuệ bảo hộ như: sáng chế, quyền tác giả … để đảm bảo tất tài sản trí tuệ nhân viên khách hàng bảo hộ - Lạm dụng máy tính: kỹ sư phần mềm khơng nên sử dụng kỹ để gây ảnh hưởng tới người khác Lạm dụng máy tính hiểu việc tầm thường (Ví dụ: chơi điện tử máy tính người khác) đến vấn đề nghiêm trọng (Ví dụ: phát tán virus) ... sau: - Phần mềm gì? - Cơng nghệ phần mềm gì? - Sự khác biệt cơng nghệ phần mềm khoa học máy tính? - Sự khác biệt công nghệ phần mềm công nghệ hệ thống? Một số khái niệm - Quy trình phần mềm gì?... triển phần mềm gì? - Chi phí cơng nghệ phần mềm? - CASE (Computer-Aided Software Engineering) gì? - Thế phần mềm tốt? - Một số nguyên tắc kỹ sư phần mềm? Một số khái niệm (tt1) Phần mềm gì? Phần mềm. .. nghiên cứu chương 1: Một số khái niệm có liên quan tới phần mềm cơng nghệ phần mềm Tìm hiểu ngun tắc tính chuyên nghiệp nguyên tắc kỹ sư phần mềm Một số khái niệm Khi tìm hiểu cơng nghệ phần mềm,