Tái sử dụng trong công nghệ phần mềm

26 1.4K 8
Tái sử dụng trong công nghệ phần mềm

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Tái sử dụng trong công nghệ phần mềm

BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN BÁO CÁO BÀI TẬP LỚN MÔN: CÔNG NGHỆ PHẦM MỀM NÂNG CAO ĐỀ TÀI: TÁI SỬ DỤNG TRONG CÔNG NGHỆ PHẦN MỀM Giáo viên hướng dẫn: Phùng Đức Hòa Nhóm sinh viên thực hiện: Nguyễn Khắc Tùng Nguyễn Thu Ngân Bùi Thị Ngọc Lan Đặng Thị Chinh Lớp: KHMT1-K1 Hà nội Page LỜI NÓI ĐẦU Với phát triển không ngừng ngành kinh tế xã hội, yêu cầu sản phẩm dịch vụ ngày cao chất lượng thời gian phát triển Một phần mềm xây dựng từ đầu có tính ổn định tính quán hệ thống cao Nhưng mặt khác, chi phí để phát triển sản phẩm thường lớn, điều dẫn đến hệ giá thành sản phẩm cao, làm giảm tính cạnh tranh sản phẩm thương trường Thời gian phát triển sản phẩm vấn đề quan trọng cần phải xem xét Với phát triển chóng mặt công nghệ, chu kì sống sản phẩm dịch vụ ngày ngắn Yêu cầu chung nhà sản xuất cung cấp dịch vụ phải để đưa sản phẩm dịch vụ nhanh tốt, đáp ứng kịp thời nhu cầu tiêu dùng khách hàng Vì việc tiêu tốn nhiều thời gian công sức để phát triển sản phẩm từ đầu đến cuối giải pháp hiệu Trong công nghệ phần mềm, tính kế thừa sử dụng lại mã luôn nhà phát triển quan tâm Phát triển phần mềm dựa móng có sẵn sử dụng lại thành phần xây dựng từ trước tiết kiệm nhiều công sức thời gian Một cách tiếp cận tương đối hiệu sử dụng mã nguồn mở Các phần mềm mã nguồn mở đa dạng Ta cần lựa chọn mã nguồn mở thích hợp, tùy biến chúng cho phù hợp với yêu cầu phần mềm Làm tiết kiệm nhiều thời gian công sức cho việc viết mã Page MỤC LỤC Giáo viên hướng dẫn: Phùng Đức Hòa Nhóm sinh viên thực hiện: Nguyễn Khắc Tùng Nguyễn Thu Ngân Bùi Thị Ngọc Lan Đặng Thị Chinh Lớp: KHMT1-K1 Hà nội LỜI NÓI ĐẦU MỤC LỤC .3 CHƯƠNG I: TỔNG QUAN VỀ TÍNH TÁI SỬ DỤNG TRONG CÔNG NGHỆ PHẦN MỀM I Khái niệm tính tái sử dụng II Các tài nguyên tái sử dụng III Phân loại tái sử dụng .8 IV Các đặc điểm tính tái sử dụng CHƯƠNG II: TỔNG QUAN VỀ QUY TRÌNH TÁI SỬ DỤNG PHẦN MỀM .12 I Giới thiệu 12 II Hướng hiệu quy trình tái sử dụng phần mềm .13 CHƯƠNG III: NHỮNG LỢI ÍCH VÀ KHÓ KHĂN TRONG QUÁ TRÌNH TÁI SỬ DỤNG 18 I Những lợi ích từ việc tái sử dụng phần mềm 18 II Những khó khăn việc tái sử dụng .19 CHƯƠNG IV: TỔNG KẾT 24 DANH MỤC TÀI LIỆU THAM KHẢO .25 Page CHƯƠNG I: TỔNG QUAN VỀ TÍNH TÁI SỬ DỤNG TRONG CÔNG NGHỆ PHẦN MỀM I Khái niệm tính tái sử dụng Tồn nhiều quan điểm khác định nghĩa liên quan đến tái sử dụng phần mềm Theo Peter Freeman: tái sử dụng việc sử dụng thông tin mà người phát triển cần trình xây dựng phần mềm (Ezran et al., 2002) Basili Rombach định nghĩa tái sử dụng phần mềm việc sử dụng thứ liên quan đến dự án phần mềm, bao gồm tri thức (Basili & Rombach, 1991) Theo Frakes & Isoda (Frakes & Isoda, 1994): Tái sử dụng phần mềm định nghĩa việc sử dụng tri thức khoa học hay phần mềm có sẵn để xây dựng hệ thống Theo nguồn tin tìm tính tái sử dụng định nghĩa sau: Trong khoa học máy tính công nghệ phần mềm, tính tái sử dụng khả phần mã nguồn sử dụng lại với chút chỉnh sửa để thêm tính Tái sử dụng module lớp làm giảm thời gian triển khai dự án nâng cao tính xác chương trình trước kiểm thử sử dụng Quan điểm Krueger tái sử dụng phần mềm thông qua Krueger, 1992): "Phần mềm tái sử dụng trình tạo phần mềm từ hệ thống phần mềm có xây dựng phần mềm từ đầu " Nói chung, hầu hết quan điểm đưa khái niệm bao quát tính tái sử dụng mà tổng hợp sau: tái sử dụng phần Page mềm trình mà nhờ tổ chức xác định chuỗi hệ thống thực thi thủ tục để xác định, trình bày, phân loại, khôi phục làm thích nghi với phần mềm tạo cho mục đích sử dụng chúng hoạt động phát triển khác Và mục đích việc tái sử dụng phần mềm tiết kiệm thời gian chi phí xây dựng lên hệ thống mà đảm bảo chất lượng tính đáng tin cậy II Các tài nguyên tái sử dụng Việc đưa ý kiến phạm vi rộng lớn tính tái sử dụng dựa phát triển phần mềm so sanh với thành phần dựa vào phát triển, liệt kê chuỗi thành phần mà xem xét tài nguyên tái sử dụng Các yêu cầu Những yêu cầu phổ biến kết trình đòi hỏi nhiều nỗ lực liên quan nhà phân tích lĩnh vực chuyên môn Họ hệ thống hóa đặc tính quan trọng Sự tổ chức mà tạo nhiều hệ thống lĩnh vực đem lại nhiều lợi ích từ việc tái sử dụng yêu cầu Trong trình chuyển tiếp từ yêu cầu cấu trúc, phân tích mô hình đặc tính mô hình tái sử dụng Kiến trúc Các kiến trúc miêu tả xử lý chủ yếu để tổ chức thành phần hệ thống Theo ý tưởng đó, mô tả kiến trúc bao gồm định thiết kế quan trọng nhân tố chúng Thông thường kiến trúc kết việc thảo luận nhà thiết kế giàu kinh nghiệm mà biết rõ làm thế để có tính ổn định hệ thống Những kiến trúc có giá trị cho việc xây dựng hệ thống lĩnh vực đặc biệt, phù hợp cho việc tái sử dụng Page tài nguyên chương trình khác Sự có mặt nhân tố thiết kế quan trọng để biết liệu có phải số định thiết kế cần phải xem xét lại kiến trúc sử dụng bối cảnh khác Thiết kế Mỗi thiết kế đặc tả chi tiết hệ thống hay phần hệ thống Thiết kế tài nguyên có điểm chung khác từ linh vực hay ứng dụng Điểm chung phổ biến việc thiết kế cấp độ tài nguyên mẫu thiết kế Một mẫu thiết kế giải pháp chung cho vấn đề thông thường Các mẫu thường chủ yếu tài liệu sách (ví dụ Bu+1996) lưu trữ internet (WWW-Pat) Ngày có nhiều hỗ trợ cho mô hinh tái sử dụng tích hợp công cụ phát triển phần mềm Một ví dụ điển hình cho việc thiết kế phân cấp tài nguyên mô hình UML Một mô hình UML tái sử dụng sở cho việc triển khai tảng khác cho mẫu thiết kế Sự thực thi - Mã chương trình văn mà máy tính xử lý Thông thường số ngôn ngữ lập trình C Java Việc tái sử dụng mã chương trình thực theo nhiều mô hình quy mô Ví dụ: tái sử dụng mã nguồn, macro, script để xây dựng, biên dịch cấu hình tệp tin, khuôn mẫu, thư viện,… Mã nguồn đóng gói với kích cỡ khác nhau, phân luồng từ phương thức, lớp thuộc tính Tái sử dụng mã chương trình thường phổ biến cung cấp kết rõ ràng (có thể nhìn thấy được) Nên ý đoạn mã thuộc tính chức mà bao Page gồm thuộc tính phi chức thực thi - Dữ liệu: Các chương trình không tồn dạng mã chương trình mà chứa liệu có giá trị Ví dụ hệ thống định tuyến, liệu quan trọng tập hợp đường vị trí GPS chúng Một hệ thống thông tin bệnh viện trì danh sách chẩn đoán y tế Một trò chơi máy tính chứa thiết kế đồ họa (phông chữ, ký tự, cảnh quan) mà sử dụng trò chơi khác Việc sử dụng sản phảm phần mềm hệ điều hành hay hệ quản trị sở liệu thường không tái sử dụng Theo quy định, thành phần không coi phần thiết kế hệ thống, không coi tái sử dụng Trong CBSE, sản phẩm phần mềm coi thành phần Quy ước CBSE gọi chi phí phát triển Khi lập trình viên cần thực số chức năng, người tìm kiếm mã nguồn chức chương trình có Khi tìm mã nguồn, điều chỉnh phù hợp với bối cảnh chương trình Rõ ràng loại hình tái sử dụng tất mã tạo từ đầu Đảm bảo chất lượng / Sự xác minh Các tài nguyên mà tái sử dụng cho việc đảm bảo chất lượng là: - Bảng liệt kê danh mục cần kiểm tra - Kiểm thử: tái sử dụng kịch thử nghiệm (ví dụ: Sau sửa đổi, mở rộng hệ thống Kịch thử nghiệm nắm bắt kiến thức lỗi điển hình - Tài liệu mẫu Page III Phân loại tái sử dụng Tái sử dụng phần mềm thường có hai dạng: tái sử dụng hộp trắng tái sử dụng hộp đen + Tái sử dụng hộp đen tập trung vào việc tích hợp tài nguyên thành hệ thống mà thay đổi tài nguyên gốc + Tái sử dụng hộp trắng: tài nguyên thay đổi trước tích hợp thành hệ thống Tái sử dụng hộp trắng dễ dàng thực lợi ích thu nhỏ tái sử dụng hộp đen đòi hỏi nỗ lực nhiều để hiểu biết tài nguyên việc xác nhận lại (ví dụ kiểm thử) tài nguyên sửa đổi IV Các đặc điểm tính tái sử dụng Khả tái sử dụng tài nguyên khác bối cảnh khác Tuy nhiên, có số đặc tính chung góp phần tạo nên tính tái sử dụng Tại khía cạnh đó, phân biệt hai khía cạnh tính tái sử dụng (được Mili et.at đưa ra): Reusability = Usability + Usefulness Tái sử dụng = Tính dùng + Tính hữu ích Usability (Tính dùng được) Usability mức độ mà tài nguyên ‘dễ dàng’ sử dụng số lượng lớn trường hợp Usability hiểu không phụ thuộc vào chức thành phần Các đặc điểm Usability trình bày hình Tính hiểu nỗ lực cần thiết để hiểu mà thành phần thực Tính hiểu phụ thuộc vào quy mô độ phức tạp thành phần Như vậy, thành phần hiểu nhanh Page có tài liệu hướng dẫn đưa với thành phần Một thành phần mà nắm bắt khái niệm đơn hiểu nhanh thành phần mà có nhiều khái niệm trừu tượng Việc triển khai dễ dàng định thành phần cài đặt môi trường hay không Việc gộp thành phần giúp ích lớn việc cài đặt Trong Windows thành phần gói chương trình cài đặt Chương trình lưu trữ tệp tin cách cẩn thận vị trí thiết lập cấu hình tham số cách thích hợp Việc tuân theo tiêu chuẩn đơn giản hóa trình xác minh thành phần Tính di chuyển đặc điểm hiểu theo nghĩa làm giảm độ phức tạp cho việc sử dụng thành phần tảng khác Độ phức tạp Tính hiểu Tính mạch lạc Tài liệu hướng dẫn Tuân thủ tiêu chuẩn Usability Dễ dàng việc triển khai … Đóng gói Tính di chuyển được/ môi trường Các công cụ (SDE, trình biên dịch, …) Nền tảng( Hệ điều hành, …) Hình 1: Các đặc điểm tính dùng Page Usefulness (Tính hữu ích) Usefulness ‘tần số’ thích hợp cho việc sử dụng Usefulness phụ thuộc vào chức năng, tính phổ biến chất lượng phần mềm Tính phổ biến thành phần mức cao xây dựng theo nhiều cách Tuy nhiên, điều phải phù hợp với độ phức tạp Usability Có nhiều khía cạnh chất lượng thành phần tất đặc điểm mà xác định tiêu chuẩn chất lượng phần mềm áp dụng cho thành phần riêng biệt, tính hiệu độ tin cậy Usefulness bị tác động vấn đề kinh tế chi phí mua sản phẩm bảo trì Hình hiển thị đặc điểm cho Usefulness Cấu hình Tính phổ biến … … Tính xác Chất lượng Tính hiệu Usefulness Độ tin cậy Mua Chi phí Bảo trì Page 10 Hình 2: Các dặc điểm tính hữu ích CHƯƠNG II: TỔNG QUAN VỀ QUY TRÌNH TÁI SỬ DỤNG PHẦN MỀM I Giới thiệu Một quy trình tập hợp thao tác có liên quan chủ yếu tới sản phẩm (theo Ezran et al 2002) Các quy trình quan trọng cần thiết để xác định làm tổ chức thi hành hoạt động, làm để người thực tương tác để đạt mục tiêu Thông thường, quy trình phải xác định để đảm bảo độ hiệu quả, tính tái sử dụng tính đồng Các quy trình phần mềm cung cấp tất thao tác cần thiết để sản xuất quản lý phần mềm, quy trình tái sử dụng tập hợp thao tác cần thiết để phát triển tái sử dụng tài nguyên Các quy trình tái sử dụng phần mềm cách hiệu để có lợi ích việc tái sử dụng phần mềm thông qua quy trình tái sử dụng Một quy trình sử dụng để nắm bắt phương pháp hay để giải gặp vấn đề Việc thực quy trình cho phép thực công việc hiệu Một quy trình tái sử dụng phần mềm, bên cạnh việc trình bày vấn đề liên quan tới mặt không thuộc kỹ thuật, phải miêu tả hai hoạt động chủ yếu là: phát triển để dùng lại phát triển với tái sử dụng Trong tài liệu, số nghiên cứu tìm cách hiệu để phát triển phần mềm dùng lại Những công việc tập trung vào hai mặt: kỹ thuật tên miền dòng sản phẩm Quy trình kỹ thuật tên miền Kỹ thuật tên miền hoạt động tập hợp, tổ chức lưu trữ qua kinh nghiệm việc xây dựng hệ thống phần hệ thống Page 12 lĩnh vực cụ thể dạng tài nguyên dùng lại được, cung cấp cách thức phù hợp cho việc tái sử dụng tài nguyên xây dựng hệ thống (Czarnecki & Eisenecker, 2000) Trong số công trình xây dựng đầu năm 80 90 (Neighbors, 1980), (STARS, 1993), (Simos et al 1996), (Jacobson et al, 1997), (Griss et al, 1998), (Kang et al, 1998), nỗ lực đặc biệt đưa vào quy trình kỹ thuật phát triển phần mềm dùng lại Quy trình dòng sản phẩm Cho tới năm 1998, quy trình tái sử dụng phần mềm liên quan tới vấn đề kỹ thuật Tuy nhiên, khoảng thời gian này, khuynh hướng bắt đầu khai thác: lĩnh vực dòng sản phẩm phần mềm Các dòng sản phẩm phần mềm bắt đầu xem hứa hẹn cho hiệu phát triển phần mềm Tuy nhiên, cuối năm 90 có số nguyên tắc sẵn có phương pháp để phát triển triển khai dòng sản phầm phương pháp kỹ thuật II Hướng hiệu quy trình tái sử dụng phần mềm Hiện nay, quy trình tái sử dụng phần mềm liên quan tới vấn đề dòng sản phẩm phần mềm Tuy nhiên số câu hỏi quan trọng ban đầu đề cập quy trình kỹ thuật ngày quy trình dòng sản phẩm câu trả lời rõ ràng (Làm để thực tính hiệu phát triển để tái sử dụng? Làm để giải thiếu hụt phân tích, thiết kế thực thi quy trình tái sử dụng? Làm cách để hoàn tất phát triển với tái sử dụng kết hợp với phát triển để tái sử dụng?) Page 13 Phát triển để tái sử dụng Thiết kế cho tái sử dụng hộp đen chủ yếu vấn đề đặc tả xác định cách tổng quát triển khai thực Thiết kế cho tái sử dụng hộp trắng chủ yếu xác định vấn đề thiết kế module, tính đơn giản cấu trúc Hiện nay, thiết kế theo vòng đời không làm rõ điều Hơn nữa, phát triển cho quy trình tái sử dụng gặp nhiều thiếu hụt phân tích, thiết kế thực thi Theo Szyperski (Szyperski, 2002), tài nguyên coi thành phần, ví dụ, lúc đầu tính xác thực cấp độ thực thi nội dung phải tìm thấy giai đoạn đầu phát triển vòng đời Để làm điều này, yếu tố tái sử dụng khái niệm nên áp dụng thống suốt trình phát triển phải quán giai đoạn sau Phát triển với việc tái sử dụng Phát triển với hoạt động tái sử dụng quan trọng cho tái sử dụng phần mềm Các phương pháp để xác định yêu cầu, trình bày cấu trúc cho sản phẩm ứng dụng cụ thể, làm thích nghi tích hợp chúng thành code cần thiết Hiện nay, quy trình tái sử dụng đưa số cải tiến theo hướng phân tích chủ yếu liên quan tới việc phát triển với tái sử dụng Độ đo Trong hoạt động kỹ thuật nào, độ đo cần thiết cho tái sử dụng có hệ thống Theo tổng quát, lợi ích tái sử dụng (như cải thiện suất chất lượng) chức việc hoàn thành tái sử dụng Một quy trình tái sử dụng phải xác định đo gì, đo đâu đo Page 14 Tuy nhiên, độ đo thường không xác quy trình tái sử dụng Chi phí Xem xét tới vấn đề kinh tế mặt quan trọng việc tái sử dụng, từ đầu tư tái sử dụng phần mềm phải hợp lý số phạm vi kinh tế Tuy nhiên, với sản phẩm quan trọng lĩnh vực Poulin-1997 quy trình tái sử dụng không xem xét tới mặt chi phí ví dụ: cách để ước tính chi phí để phát triển cho việc tái sử dụng xem xét tới quy trình kỹ thuật tên miền quy trình dòng sản phẩm Reengineering Software Reengineering sử dụng để khôi phục lại hệ thống di sản cho phép phát triển chúng (Jacbon Lindstrom, 1991) Nó thực chủ yếu để làm giảm bớt chi phí bảo trì cải thiện tốc độ phát triển Tuy nhiên tầm quan reengineering nằm khía cạnh kỹ thuật Hệ thống di sản trình bày nhiều hiểu biết sản xuất trì tổ chức mà không làm Do vậy, reengineering cho phép kiến thức tái sử dụng dạng cấu trúc mã tài liệu hướng dẫn Sự thích nghi Nhiều tổ chức tích cực theo đuổi quy trình phần mềm để làm tăng tính cạnh tranh họ Thường họ sử dụng độ đo Mô hình CMM (Capability Maturity Model) để cấu trúc quy trình họ cải thiện tốt Một phương pháp thường trích dẫn để đẩy nhanh trình cải thiện tổ chức để tái tạo tiêu chuẩn, quy trình tổ chức tái sử dụng dự án khác Hollenbach định nghĩa phương pháp Page 15 quy trình tái sử dụng (Hollenbach & Frakes, 1996) Theo Hollenbach, quy trình tái sử dụng quy trình sử dụng quy trình miêu tả việc tạo quy trình khác Điều phải rõ ràng với nhiều thực thi quy trình dự án Tuy nhiên, phương pháp tồn số vấn đề ranh giới để tái sử dụng quy trình không tổ chức Hơn nữa, vấn đề lớn quy trình vấn đề quy trình tái sử dụng phần mềm Do đó, cần thiết quy trình hiệu để nắm bắt nguyên tắc mà dẫn tới thích nghi quy trình tổ chức trở thành trung tâm tái sử dụng Chúng tin công việc ban đầu Hollenbach cung cấp số hướng dẫn để xác định khía cạnh trình thích nghi Tuy nhiên, thấy trình thích nghi mô hình RMM (Reuse Maturity Model: mô hình tái sử dụng chuẩn) với nhiều mức độ tái sử dụng cung cấp nhìn quan trọng, từ tổ chức phân loại theo mức độ RMM quy trình thích nghi cách xác Môi trường tái sử dụng phần mềm Các công cụ CASE luôn trợ giúp phát triển phần mềm, cung cấp việc cải thiện suất chất lượng phần mềm Tuy nhiên, lợi ích CASE lớn thực hình thức tích hợp môi trường, với công cụ với đóng góp chúng thành quy trình, hoạt động người hướng dẫn kỹ sư phần mềm thông qua toàn việc phát triển vòng đời Với tái sử dụng phần mềm, điều không khác Bên cạnh môi trường tái sử dụng phần mềm, công cụ sử dụng phát triển tái sử dụng tài nguyên Có Page 16 vài vấn đề cần phải xem xét bên cạnh môi trường tái sử dụng phần mềm, là: i Sự khác phát triển để tái sử dụng phát triển với tái sử dụng: Những hoạt động khác này, phải có công cụ hỗ trợ khác ii Tích hợp công cụ Các công cụ môi trường phải có mức độ khác tích hợp (Ambriola et al, 1997), bao gồm liệu việc đưa tích hợp chủ yếu tích hợp quy trình Nghĩa chúng phải tập trung vào quy trình, trường hợp quy trình tái sử dụng iii Tính tái sử dụng Không mã mà loại tài nguyên tái sử dụng, bao gồm mô hình, ca kiểm thử, yêu cầu,… Page 17 CHƯƠNG III: NHỮNG LỢI ÍCH VÀ KHÓ KHĂN TRONG QUÁ TRÌNH TÁI SỬ DỤNG I Những lợi ích từ việc tái sử dụng phần mềm Như thảo luận trước đó, tái sử dụng phần mềm có tác động tích cực lên chất lượng phần mềm, chi phí thời gian phát triển phần mềm (Sametinger, 1997) Nâng cao chất lượng Kết việc tái sử dụng phần mềm cải thiện chất lượng, nâng cao suất độ tin cậy phần mềm - Chất lượng: Lỗi sửa chữa tích lũy từ lần tái sử dụng đến lần tái sử dụng khác Điều mang lại chất lượng cao cho thành phần tái sử dụng - Năng suất: Việc tái sử dụng thành phần phần mềm mang lại xuất cao tiết kiệm công sức phân tích, thiết kế tiến trình chi phí khác trình xây dựng phát triển phần mềm - Độ tin cậy: Việc sử dụng tốt thành phần kiểm tra làm tăng độ tin cậy hệ thống phần mềm Hơn nữa, sử dụng thành phần hệ thống khác làm tăng khả phát lỗi làm tăng độ tin cậy thành phần Giảm thiểu khó khăn trình xây dựng phát triển phần mềm Tái sử dụng phần mềm làm giảm số công việc rườm rà, không cần thiết giảm tối thiểu thời gian phát triển nhanh chóng đưa sản phẩm thị trường - Giảm thiểu công việc không cần thiết thời gian phát triển: Việc phát triển hệ thống từ ban đầu có nghĩa phát triển nhiều phần Page 18 không cần thiết yêu cầu kỹ thuật, cấu trúc, … Điều tránh phần sẵn có thành phần tái sử dụng chia sẻ, kết làm giảm thời gian phát triển chi phí cho thành phần - Làm giảm thời gian đưa sản phẩm vào thị trường: Sự thành công hay thất bại sản phẩm phần mềm thường xác định thời gian đưa sản phẩm thị trường Sử dụng thành phần tái sử dụng mang lại kết rút ngắn thời gian đưa sản phẩm vào thị trường - Các tài liệu hướng dẫn: Mặc dù tài liệu hướng dẫn thường quan trọng việc trì hệ thống thường không đề cập tới Tái sử dụng thành phần phần mềm làm giảm lượng tài liệu hướng dẫn cần phải viết nâng cao tầm quan trọng viết Do vậy, có toàn cấu trúc hệ thống tài nguyên phát triển có tài liệu hướng dẫn - Giảm thiểu chi phí bảo trì: Không khiếm khuyết phát kiểm định chất lượng thành phần sử dụng tính trì hệ thống - Giảm quy mô nhóm: Một số nhóm phát triển lớn thường gặp phải việc liên lạc tải Việc tăng gấp đôi quy mô nhóm phát triển không mang lại kết việc tăng gấp đôi suất sản phẩm Nếu nhiều thành phần tái sử dụng, hệ thống phần mềm phát triển với nhóm nhỏ dẫn tới việc liên lạc thuận lợi suất cao II Những khó khăn việc tái sử dụng Mặc dù hứa hẹn đem lại lợi ích, có số khó khăn tồn cách đón nhận kỹ nghệ phần mềm dựa tái sử dụng Tồn Page 19 trở ngại điển hình sau: tổ chức quản lý, kinh tế, tâm lý, pháp luật, công nghệ Các trở ngại không phân chia thực chặt chẽ, làm theo cấu trúc để dễ dàng giải thích Phần tóm tắt bổ sung thu thập Sametinger [Sam97] Những khó khăn quản lý tổ chức + Thiếu hỗ trợ quản lý Những nhà quản lý không thật thiết tha đầu tư vào việc ứng dụng tái sử dụng phần mềm Điều thiếu tiền cho chi phí toán ban đầu thiếu nguồn nhân lực (không có nhiều người triển khai thực chương trình tái sử dụng / tái sử dụng dựa quản lý dự án) Hoặc thiếu niềm tin vào giá trị tái sử dụng mang lại kinh doanh + Thiếu tổ chức ưu đãi Sản xuất phần mềm cho việc tái sử dụng đòi hỏi nhiều cố gắng so với sản xuất phần mềm bình thường, tốn Nhà quản lý thường không thích đầu tư toàn diện vào chương trình tái sử dụng, lợi ích việc tạo tài nguyên có khả tái sử dụng thường dồn vào dự án khác không họ quản lý Trừ cá nhân doanh nghiệp chịu bỏ tiền đầu tư nhận lại lợi ích tài nguyên chương trình họ người khác sử dụng Trở ngại kinh tế Khó khăn đầu tư: Đâu tư phát triển phần mềm tái sử dụng tốn nhiều khoản chi phí ban đấu (ví dụ cho tổ chức phát triển quy trình kỹ thuật sở hạ tầng, đào tạo, vv) Những tiềm lợi ích thu sau khoảng thời gian Để bù lại cho nỗ lực phát triển này, cần phải có quy định thuế sử dụng sang chế Page 20 Những trở ngại tâm lý Một tác động tâm lý ảnh hưởng đến đến đón nhận công nghệ hội chứng"Not invented here" Nguyên nhân hội chứng vài nhân tố: - Sự lo ngại chưa hiểu rõ: Đưa vào phương thức , kỹ thuật mang lại rủi ro trình phát triển Một tổ chức cần xây dựng nên đánh giá đáng tin cậy công sức tài thời gian cần thiết để xây dựng phát triển phần mềm dựa tảng tái sử dụng Về vấn đề niềm tin - Những Kỹ sư cảm thấy bị cản trở độc lập sáng tạo họ khuyến khích tái sử dụng phần mềm mà không phài họ phát triển Khả làm việc sáng tạo yếu tố quan trọng góp phần vào hài long công việc nhân viên Thiếu ưu đãi: Nếu việc đóng góp vào tài nguyên tái sử dụng coi phần công việc kỹ sư phần mềm, sau cần phải có chế khuyến khích cho nỗ lực phát triển đơn vị cá nhân phát triển phần mềm Một số lợi ích làm đơn gian hóa công tác quản lý dự àn công việc kỹ sư phần mềm Một báo cáo [PD91] đề xuất dộng viên tài cho cá nhân kỹ sư giúp họ vượt qua khó khăn biện pháp khắc phục hội chứng “Not invented here” Khó khăn trị Các nhóm cá nhân có trách nhiệm quản lý chấp nhận tài nguyên có khả tái sử dụng có toàn quyền quản lý sử dụng chúng Điều sử dụng nhằm tạo lợp Page 21 cho số tập đoàn quản lý chúng bất lợi cho tập đoàn khác Trở ngại pháp lý Trách nhiệm pháp lý: Các thành phần tái sử dụng bán mà ràng buộc trách nhiện từ phía người bán Điều có nghĩa người mua / người tiêu dùng thành phần có nguy phải trả thêm khoản chi phí phát sinh từ thất bại thành phần Khó khăn kỹ thuật Trở ngại kỹ thuật việc tái sử dụng phần mềm bao gồm vấn đề liên quan tới tìm kiếm phục hồi thành phần - Khó khăn việc tìm kiếm thành phần tái sử dụng: Để tái sử dụng thành phần phần mềm có hiệu cần phải có cách để tìm kiếm khôi phục chúng Hơn nữa, điều quan trọng phải có kho chứa thành phần tổ chức tốt với số phương tiện để truy cập vào - Phần mềm tìm thấy không tái sử dụng: Việc dễ dàng truy cập vào phần mềm có không thiết phải tái sử dụng phần mềm Tái sử dụng tài nguyên phải xác định, thiết kế, thực thi cẩn thận, việc chỉnh sửa lắp đặt phần mềm đắt lập trình chức cần thiết từ ban đầu - Kế thừa thành phần không phù hợp với việc tái sử dụng: Một phương pháp tái sử dụng phần mềm sử dụng tính kế thừa phần mềm Tuy nhiên, phục hồi tài nguyên sẵn có từ hệ thống cố gắng tái sử dụng chúng cho phát triển không đủ khả tái sử dụng cách có hệ thống Việc kiểm tra lại trợ giúp việc trích thành phần tái sử dụng từ hệ thống kế thừa nỗ lực cần thiết cho hiểu biết khai thác nên xem xét Page 22 - Chỉnh sửa: Điều khó khăn để tìm thành phần hoạt động cách xác mong muốn Theo cách này, việc sửa đổi bổ sung cần thiết cần phải có cách đê xác định hiệu thành phần kết kiểm tra trước - Tóm lại vấn đề đặt là, khó để tìm tài nguyên phù hợp có khả giải vấn đề toàn cụ thể Về chất việc đặc tả vấn đề cần phải phù hợp với đặc tả xử lý cụ thể Nói chung, vấn đề có nhiều mức độ khác khai thác giải pháp Không có phương thức giải vấn đề Hiện có cách tiếp cận dựa phân loại, từ khóa, tiêu chuẩn kỹ thuật Page 23 CHƯƠNG IV: TỔNG KẾT Qua phần trình bày vấn đề tái sử dụng công nghệ phần mềm Nhóm tìm hiều điểm khái quát chủ yếu liên quan tới vấn đề tái sử dụng Trong chương 1, dựa số quan điểm đưa định nghĩa liên quan đến tái sử dụng, rút khái niệm bao quát theo ý hiểu là: Tái sử dụng công nghệ phần mềm trình mà nhờ tổ chức xác định chuỗi hệ thống thực thi thủ tục để xác định, trình bày, phân loại, khôi phục làm thích nghi với phần mềm tạo cho mục đích sử dụng chúng hoạt động phát triển khác Và mục đích việc tái sử dụng phần mềm tiết kiệm thời gian chi phí xây dựng lên hệ thống Bên cạnh tìm hiểu số vấn đề như: Các tài nguyên tái sử dụng, đặc điểm tính tái sử dụng Chương 2, tìm hiểu quy trình tái sử dụng mà đề cập tới hai quy trình (quy trình kỹ thuật tên miền quy trình dòng sản phẩm) hướng hiệu quy trình tái sử dụng phần mềm Chương trình bày lợi ích khó khăn tình tái sử dụng Ngoài vấn đề tìm hiểu nêu trên, thời gian có hạn kiến thức môn chưa sâu, với việc tìm hiểu tài liệu tiếng anh nên trình đọc hiểu thiếu sót thuật ngữ.Vì vậy, đề tài nhóm tìm hiểu giới thiệu qua tính tái sử dụng công nghệ phần mềm nên phần chưa hoàn thiện Qua phần trình bày nhóm, mong nhận đóng góp ý kiến Giảng viên bạn sinh viên lớp để rút kinh nghiệm hoàn thành tốt đề tài Xin chân thành cảm ơn ! Page 24 DANH MỤC TÀI LIỆU THAM KHẢO Sortware Reuse William B.Frakes (link down: http://frakes.cs.vt.edu/SEportalReuse.htm) Software Reuse and Component Based Software Engineering (linkdown:http://www.win.tue.nl/~mchaudro/cbse2007/Managing%20CBSE %20and%20Reuse.pdf ) Component Reuse in SortWare Engineering – tác giả Dr Jeffrey S Poulin (linkdown: http://cruise.cesar.org.br/other_languages.html) Reusability (linkdown: http://www.answers.com/topic/reusability) Bài giảng SoftWare Engineering – tác giả Vũ Đức Thi Lê Văn Phùng – Viện công nghệ thông tin Page 25 Page 26 [...]... như trong trường hợp này là quy trình tái sử dụng iii Tính tái sử dụng Không chỉ mã mà còn các loại tài nguyên có thể được tái sử dụng, bao gồm các mô hình, các ca kiểm thử, các yêu cầu,… Page 17 CHƯƠNG III: NHỮNG LỢI ÍCH VÀ KHÓ KHĂN TRONG QUÁ TRÌNH TÁI SỬ DỤNG I Những lợi ích từ việc tái sử dụng phần mềm Như đã thảo luận trước đó, tái sử dụng phần mềm có một tác động tích cực lên chất lượng phần mềm, ... gian phát triển phần mềm (Sametinger, 1997) 1 Nâng cao chất lượng Kết quả của việc tái sử dụng phần mềm là cải thiện về chất lượng, nâng cao năng suất và độ tin cậy phần mềm - Chất lượng: Lỗi khi sửa chữa được tích lũy từ lần tái sử dụng này đến lần tái sử dụng khác Điều này mang lại chất lượng cao hơn cho các thành phần tái sử dụng - Năng suất: Việc tái sử dụng các thành phần phần mềm mang lại năng... sử dụng và tính đồng nhất Các quy trình phần mềm cung cấp tất cả các thao tác cần thiết để sản xuất và quản lý phần mềm, trong khi các quy trình tái sử dụng là những tập hợp thao tác con cần thiết để phát triển và tái sử dụng các tài nguyên Các quy trình tái sử dụng phần mềm đã chỉ ra rằng một cách hiệu quả để có được những lợi ích của việc tái sử dụng phần mềm là thông qua một quy trình tái sử dụng. .. vào nó - Phần mềm được tìm thấy có thể không được tái sử dụng: Việc dễ dàng truy cập vào các phần mềm hiện có không nhất thiết phải tái sử dụng phần mềm Tái sử dụng các tài nguyên phải được xác định, thiết kế, thực thi cẩn thận, do đó việc chỉnh sửa và lắp đặt phần mềm có thể đắt hơn là lập trình các chức năng cần thiết từ ban đầu - Kế thừa các thành phần không phù hợp với việc tái sử dụng: Một trong. .. các công cụ cùng với sự đóng góp của chúng thành các quy trình, hoạt động của người hướng dẫn các kỹ sư phần mềm thông qua toàn bộ việc phát triển vòng đời Với tái sử dụng phần mềm, điều này có thể không khác Bên cạnh môi trường tái sử dụng phần mềm, các công cụ còn được sử dụng trong sự phát triển và tái sử dụng các tài nguyên Có một Page 16 vài vấn đề cần phải được xem xét bên cạnh môi trường tái sử. .. tha đầu tư vào việc ứng dụng tái sử dụng phần mềm Điều này có thể do thiếu tiền cho các chi phí thanh toán ban đầu hoặc thiếu nguồn nhân lực (không có nhiều người triển khai thực hiện các chương trình tái sử dụng / tái sử dụng dựa trên quản lý dự án) Hoặc thiếu niềm tin vào giá trị tái sử dụng mang lại trong kinh doanh + Thiếu tổ chức ưu đãi Sản xuất phần mềm cho việc tái sử dụng đòi hỏi nhiều cố gắng... đến tái sử dụng, chúng tôi rút ra một khái niệm bao quát nhất theo ý hiểu là: Tái sử dụng trong công nghệ phần mềm là một quá trình mà nhờ đó một tổ chức xác định một chuỗi các hệ thống thực thi các thủ tục để xác định, trình bày, phân loại, khôi phục và làm thích nghi với phần mềm được tạo ra cho mục đích sử dụng chúng trong các hoạt động phát triển khác Và mục đích của việc tái sử dụng phần mềm đều... hợp với việc tái sử dụng: Một trong những phương pháp tái sử dụng phần mềm là sử dụng tính kế thừa phần mềm Tuy nhiên, chỉ phục hồi các tài nguyên sẵn có từ hệ thống và cố gắng tái sử dụng chúng cho những phát triển mới thì không đủ khả năng tái sử dụng một cách có hệ thống Việc kiểm tra lại có thể trợ giúp trong việc trích các thành phần tái sử dụng từ hệ thống kế thừa nhưng những nỗ lực cần thiết... triển với tái sử dụng 3 Độ đo Trong bất kỳ hoạt động kỹ thuật nào, độ đo là cần thiết cho tái sử dụng có hệ thống Theo tổng quát, các lợi ích tái sử dụng (như cải thiện năng suất và chất lượng) là một chức năng của việc hoàn thành tái sử dụng Một quy trình tái sử dụng phải xác định được đo cái gì, đo ở đâu và khi nào đo Page 14 Tuy nhiên, các độ đo thường không chính xác trong các quy trình tái sử dụng. .. thành phần 6 Khó khăn về kỹ thuật Trở ngại về kỹ thuật đối với việc tái sử dụng phần mềm bao gồm các vấn đề liên quan tới tìm kiếm và phục hồi các thành phần - Khó khăn trong việc tìm kiếm các thành phần có thể tái sử dụng: Để có thể tái sử dụng các thành phần phần mềm có hiệu quả thì cần phải có những cách để tìm kiếm và khôi phục chúng Hơn thế nữa, điều quan trọng là phải có một kho chứa các thành phần ... VỀ TÍNH TÁI SỬ DỤNG TRONG CÔNG NGHỆ PHẦN MỀM I Khái niệm tính tái sử dụng Tồn nhiều quan điểm khác định nghĩa liên quan đến tái sử dụng phần mềm Theo Peter Freeman: tái sử dụng việc sử dụng thông... TÁI SỬ DỤNG TRONG CÔNG NGHỆ PHẦN MỀM I Khái niệm tính tái sử dụng II Các tài nguyên tái sử dụng III Phân loại tái sử dụng .8 IV Các đặc điểm tính tái sử. .. hướng dẫn kỹ sư phần mềm thông qua toàn việc phát triển vòng đời Với tái sử dụng phần mềm, điều không khác Bên cạnh môi trường tái sử dụng phần mềm, công cụ sử dụng phát triển tái sử dụng tài nguyên

Ngày đăng: 17/11/2015, 21:33

Mục lục

  • Giáo viên hướng dẫn: Phùng Đức Hòa

  • Nhóm sinh viên thực hiện: Nguyễn Khắc Tùng

  • Nguyễn Thu Ngân

  • Bùi Thị Ngọc Lan

  • Đặng Thị Chinh

  • Lớp: KHMT1-K1

  • Hà nội

  • LỜI NÓI ĐẦU

  • MỤC LỤC

  • CHƯƠNG I: TỔNG QUAN VỀ TÍNH TÁI SỬ DỤNG TRONG CÔNG NGHỆ PHẦN MỀM

    • I. Khái niệm về tính tái sử dụng

    • II. Các tài nguyên có thể tái sử dụng

      • 1. Các yêu cầu

      • 2. Kiến trúc

      • 3. Thiết kế

      • 4. Sự thực thi

      • 5. Đảm bảo chất lượng / Sự xác minh

      • III. Phân loại tái sử dụng

      • IV. Các đặc điểm của tính tái sử dụng

        • 1. Usability (Tính có thể dùng được)

        • 2. Usefulness (Tính hữu ích)

        • CHƯƠNG II: TỔNG QUAN VỀ QUY TRÌNH TÁI SỬ DỤNG PHẦN MỀM

          • I. Giới thiệu

            • 1. Quy trình kỹ thuật tên miền

            • 2. Quy trình dòng sản phẩm

Tài liệu cùng người dùng

Tài liệu liên quan