Bài giảng Công nghệ phần mềm ứng dụng: Bài 6 - ThS. Thạc Bình Cường

52 18 0
Bài giảng Công nghệ phần mềm ứng dụng: Bài 6 - ThS. Thạc Bình Cường

Đ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

Bài giảng Công nghệ phần mềm ứng dụng - Bài 6: Chủ đề nâng cao trong công nghệ học phần mềm trình bày mô hình RUP; phương pháp phân tích phần mềm linh hoạt; ước lượng chi phí phần mềm; quản lí chất lượng; cải tiến quy trình; các chủ đề tiên tiến khác.

CÔNG NGHỆ PHẦN MỀM ỨNG DỤNG Giảng viên: ThS Thạc Bình Cƣờng v1.0015112208 BÀI CHỦ ĐỀ NÂNG CAO TRONG CÔNG NGHỆ HỌC PHẦN MỀM Giảng viên: ThS Thạc Bình Cường v1.0015112208 MỤC TIÊU BÀI HỌC • Tiếp cận xây dựng phần mềm nâng cao, phần mềm linh hoạt • Lập dự trù chi phí phần mềm, nguồn lực • Quản lí bảo đảm chất lượng phần mềm theo yêu cầu đề chuẩn phần mềm • Hiểu biết vận dụng phần mềm tiên tiến thời gian thực • Biết xu hướng phát triển phần mềm sau v1.0015112208 CÁC KIẾN THỨC CẦN CĨ • Tin học đại cương; • Ngơn ngữ lập trình; • Phân tích thiết kế hệ thống thơng tin v1.0015112208 HƢỚNG DẪN HỌC • Đọc nắm xu hướng công nghệ mới: điện tốn đám mây, hệ thơng minh, cơng cụ lập trình ngơn ngữ lập trình; hệ thống smart phone, lập trình mobile phone • Định hướng cho tổ hợp, tập đoàn hệ thống mạng quốc gia ứng dụng hệ nâng cao công nghệ phần mềm • Xây dựng chiến lược quốc gia vùng miền hệ thống liệu lớn, tích hợp liệu v1.0015112208 CẤU TRÚC NỘI DUNG 6.1 6.2 Phương pháp phân tích phần mềm linh hoạt 6.3 Ước lượng chi phí phần mềm 6.4 Quản lí chất lượng 6.5 Cải tiến quy trình 6.6 v1.0015112208 Mơ hình RUP Các chủ đề tiên tiến khác 6.1 MƠ HÌNH RUP 6.1.1 Tổng quan 6.1.2 Các khái niệm v1.0015112208 6.1.1 TỔNG QUAN • • • Định nghĩa:  RUP (Rational Unified Process) trình phát triển phần mềm bao gồm giai đoạn vòng đời dự án giúp đỡ nhà phát triển hoạt động quản lí dự án hoạt động kĩ thuật Là sản phẩm phát triển bảo trì Rational  Nó lĩnh hội tương tự trình làm phần mềm khác, sử dụng mơ hình hướng đối tượng UML Hai trục RUP:  Trục hoành biểu diễn chuỗi cơng việc theo thời gian: Vịng đời q trình biểu diễn thuật ngữ giai đoạn, lặp, chuẩn hóa… Nó biểu diễn trạng thái động trình  Trục tung biểu diễn Workflows, tập hợp cách lơgíc hoạt động cơng nghệ phụ thuộc vào chất Nó biểu diễn trạng thái tĩnh trình Chú ý: Sự phân biệt quan trọng Quá trình kĩ nghệ phần mềm:  Tiến trình: tập hợp giai đoạn xếp cách cục mà mục đích đạt mục tiêu đặt Trong lĩnh vực SE sản phẩm hay bảo trì sản phẩm  Mơ hình hóa: Tiến trình phần mềm tiến trình nghề nghiệp nhằm hoàn thiện tổ chức để phát triển phần mềm RUP tiến trình nghề nghiệp để phát triển phần mềm theo hướng đối tượng v1.0015112208 6.1.2 CÁC KHÁI NIỆM CƠ BẢN • Vai trị (Role): Trạng thái/trách nhiệm cá thể hay nhóm làm việc theo nhóm ngữ cảnh tổ chức cơng nghệ phần mềm • Hoạt động (Ativité): đơn vị công việc cung cấp vai trò ngữ cảnh dự án Một hoạt động phải có đích rõ ràng • Giai đoạn (Etape): Một hoạt động phân thành nhiều giai đoạn: suy nghĩ, thực hiện, xem xét • Hướng dẫn: Những kĩ thuật, tư vấn cần thiết cho hoạt động • Artefacts (chế phẩm): Một hoạt động có artefacts vào Một artefact phần tử tạo ta hay sử dụng trình Một đích sử dụng nhiều artefact để thực hoạt động Một artefact chịu trách nhiệm đích v1.0015112208 6.1.2 CÁC KHÁI NIỆM CƠ BẢN (tiếp theo) • Kiểu kế hoạch: mơ hình hay mẫu thử liên kết với chế phẩm Ví dụ:  Kế hoạch kiểu word dùng cho artefact kiểu văn  Kế hoạch kiểu Rational SoDA (cơng cụ phát triển Rational) • Báo cáo: Trích rút thơng tin từ mơ hình phần tử từ cơng cụ nhằm mục đích xem xét lại • Hướng dẫn artefact điều khiển: Thường liên kết hướng dẫn cho artefact điều khiển nhằm tạo hay biên tập lại để đánh giá • Liên kết hoạt động Workflow • Quy trình (discipline) • Nhóm hoạt động: Workflow không trực tiếp hoạt động, song nhóm hoạt động cách nhóm lại hoạt động thường thực v1.0015112208 10 6.5.2 MƠ HÌNH HĨA VÀ PHÂN TÍCH QUY TRÌNH • Vai trị: Nghiên cứu quy trình tồn phát triển mơ hình trừu tượng cho quy trình (thâu tóm đặc trưng) • Phân tích nghiên cứu để hiểu mối liên quan phần quy trình Điểm xuất phát mơ hình hình thức sử dụng • kĩ thuật:  Hỏi vấn;  kĩ thuật Ethnographic: Dùng để hiểu chất phát triển phần mềm hoạt động người • Các ký pháp dùng mơ hình:  Activity (hoạt động): Biểu diễn hình chữ nhật trịn;  Process (q trình): Tập hoạt động, biểu diễn hình chữ nhật trịn có bóng mờ;  Deliverable (phân phối): Biểu diễn hình chữ nhật có bóng mờ, đầu hoạt động;  Condition (điều kiện): Biểu diễn hình chữ nhật, tiền hay hậu điều kiện;  Role (vai trị): Biểu diễn hình trịn;  Exception (ngoại lệ): Hộp bao kép, việc thay đổi kiện đó;  Communication (giao tiếp): Biểu diễn → Trao đổi thông tin người với hay với hệ thống 38 v1.0015112208 6.5.3 ĐỘ ĐO QUY TRÌNH • Độ đo quy trình liệu định lượng quy trình phần mềm (Tập độ đo chủ yếu cho trình cải tiến quy trình – Humphey, 1989) • Phân loại:  Thời gian để thực quy trình đặc biệt;  Tài nguyên yêu cầu cho quy trình đặc biệt  Số biến cố • Khó khăn: Cái cần định lượng đo đếm Tuy nhiên xem: mục đích, câu hỏi, độ đo v1.0015112208 39 6.5.4 MƠ HÌNH THUẦN THỤC KHẢ NĂNG SEI • Viện Công nghệ phần mềm (SEI) Carnegie-Melon-University đề xuất Mơ hình SEI phân q trình phần mềm thành mức khác nhau:  Mức khởi đầu: Một tổ chức khơng quản lí thực thủ tục hay dự án Phần mềm phát triển song khơng thể dự đoán trước (ngân sách, thời gian…)  Mức lặp: Một tổ chức có quản lí hình thức đảm bảo chất lượng, thủ tục điều khiển cấu hình Tổ chức lặp lại dự án kiểu  Mức có định nghĩa: Ở mức này, tổ chức có định nghĩa q trình mà có sở cho trình cải tiến chất lượng Các thủ tục hình thức đảm bảo trình định tuân thủ  Mức quản trị: Một tổ chức định nghĩa trình chương trình để thu thập liệu chất lượng Số đo trình thủ tục sưu tập cho hoạt động trình cải tiến  Mức tối ưu: Đã thoả thuận tiếp tục trình cải tiến Q trình có ngân sách kế hoạch để thực phần tích hợp trình tổ chức v1.0015112208 40 6.5.5 PHÂN LOẠI QUY TRÌNH • Việc phân loại độ chín quy trình thường áp dụng cho dự án lớn • Phân loại :  Quy trình khơng hình thức: Các q trình mà mơ hình khơng định nghĩa cách chặt chẽ  Quy trình quản lí: Mơ hình q trình định nghĩa (định hướng);  Quy trình có phương pháp: Một số phương pháp phát triển định nghĩa;  Quy trình cải tiến • Lựa chọn quy trình:  Quy trình sử dụng phụ thuộc vào kiểu sản phẩm phát triển: Với hệ thống lớn, việc quản lí thường vấn đề yếu, cần có quy trình quản lí nghiêm ngặt Với hình thức nhỏ hình thức  Khơng có quy trình thống đáp ứng cho tổ chức v1.0015112208 41 6.6 CÁC CHỦ ĐỀ TIÊN TIẾN KHÁC a Tái kĩ nghệ • Tái kĩ nghệ phần mềm:  Biên dịch mã nguồn;  kĩ nghệ ngược;  Cải tiến cấu trúc chương trình;  Module hóa chương trình;  Tái kĩ nghệ liệu • Tái kĩ nghệ hệ thống:  Tái cấu trúc viết lại phần/tồn hệ thống có, song khơng làm thay đổi chức hệ thống  Có thể ứng dụng cho số hệ thống hệ thống thường cần phải bảo trì  Tái kĩ nghệ cần có thêm cố gắng để làm cho hệ thống dễ bảo trì hơn, hệ thống phải tái cấu trúc tái lập lại tài liệu v1.0015112208 42 6.6 CÁC CHỦ ĐỀ TIÊN TIẾN KHÁC (tiếp theo) • Khi cần tái kĩ nghệ?  Khi thay đổi hệ thống thường giới hạn phần hệ thống cần tái kĩ nghệ cho phần  Khi hỗ trợ phần cứng, phần mềm trở nên lạc hậu  Khi cơng cụ hỗ trợ tái cấu trúc diện • Những ưu điểm tái kĩ nghệ:  Giảm rủi ro: Có rủi ro lớn phát triển phần mềm Đó vấn đề phát triển, vấn đề nhân vấn đề đặc tả  Giảm chi phí: Chi phí cho tái nghĩ kệ thường thấp chi phí cho phát triển phần mềm • Phát triển tái kĩ nghệ Đặc tả hệ thống Thiết kế cài đặt Hệ thống Forward Engineering Hệ thống tồn Hiểu dịch chuyển hệ thống Software Re-engineering v1.0015112208 Hệ thống tái tạo 43 6.6 CÁC CHỦ ĐỀ TIÊN TIẾN KHÁC (tiếp theo) Quy trình tái kĩ nghệ Tư liệu chương trình Chương module hóa Dữ liệu gốc Chương trình nguồn Kĩ nghệ ngược Mơ đun hóa chương trình Dịch mã nguồn Cải tiến kiến trúc chương trình Chương trình cấu trúc lại v1.0015112208 Tái kĩ nghệ liệu Bản ghi tái kĩ nghệ 44 6.6 CÁC CHỦ ĐỀ TIÊN TIẾN KHÁC (tiếp theo) b Biên dịch mã nguồn • Bao gồm việc chuyển mã từ ngơn ngữ lập trình sang ngơn ngữ lập trình khác • Điều cần thiết vì:  Cập nhật mơi trường phần cứng;  Phong cách nhân viên;  Thay đổi chiến lược tổ chức; • Chỉ có thực biên dịch có • Q trình biên dịch mã nguồn: Hệ thống tái kĩ nghệ Xác định khác biệt mã nguồn v1.0015112208 Thiết kế lệnh chuyển dịch Hệ thống tái kĩ nghệ Hệ thống tái kĩ nghệ Dịch mã tự động Dich mã thủ công 45 6.6 CÁC CHỦ ĐỀ TIÊN TIẾN KHÁC (tiếp theo) c Kĩ nghệ ngƣợc • Phân tích phần mềm với quan điểm để hiểu thiết kế đặc tả • Có thể phần q trình tái kĩ nghệ song sử dụng để đặc tả lại hệ thống cho việc cài đặt lại • Xây dựng CSDL chương trình khởi tạo thơng tin từ • Cơng cụ hiểu chương trình (trình duyệt, khởi tạo tham chiếu chéo…) sử dụng q trình • Quy trình: Sơ đồ cấu trúc chương trình Hệ thống tái cấu trúc Phân tích tự động Kho thông tin hệ thống Sản sinh tài liệu Sơ đồ cấu trúc liệu Ghi giải Ma trận dấu vết v1.0015112208 46 6.6 CÁC CHỦ ĐỀ TIÊN TIẾN KHÁC (tiếp theo) d Cải tiến cấu trúc chƣơng trình • Bảo trì có khuynh hướng làm sai lạc cấu trúc chương trình Do vậy, cấu trúc trở nên ngày khó hiểu • Chương trình tự động cấu trúc lại để loại bỏ nhánh không điều kiện • Điều kiện đơn giản hóa để chúng ngày dễ đọc • Tự động hóa cấu trúc: Chương trình tái cấu trúc Chương trình tái cấu trúc Phân tích xây dựng đồ họa Tạo sinh chương trình Biểu diễn đồ họa v1.0015112208 47 6.6 CÁC CHỦ ĐỀ TIÊN TIẾN KHÁC (tiếp theo) • Các vấn đề với tái cấu trúc:  Mất giải;  Mất tài liệu;  Yêu cầu tính tốn lớn • Tái cấu trúc trợ giúp với chương trình có tính mơ đun hóa, nơi mà thành phần liên quan bị phân tán mã • Tính khó hiểu lập trình hướng liệu khơng tận dụng cho việc tái cấu trúc v1.0015112208 48 6.6 CÁC CHỦ ĐỀ TIÊN TIẾN KHÁC (tiếp theo) e Module hóa chƣơng trình • Đó trình tổ chức lại chương trình cho phần chương trình có liên quan tập hợp lại module đơn • Thường q trình thủ cơng thực việc giám sát chương trình tổ chức lại • Các kiểu module:  Sự trừu tượng hóa liệu Kiểu liệu trừu tượng mà cấu trúc liệu thao tác với cấu trúc liệu nhóm lại với  Các module phần cứng Tất chức yêu cầu giao tiếp với đơn vị phần cứng  Các module chức Các module chứa chức thực nhiệm vụ có liên quan với  Các module hỗ trợ trình  Các module mà chức hỗ trợ trình nghiệp vụ hay trình phân mảnh v1.0015112208 49 6.6 CÁC CHỦ ĐỀ TIÊN TIẾN KHÁC (tiếp theo) f Khôi phục liệu trừu tƣợng • Nhiều hệ thống sử dụng bảng dùng chung liệu toàn cục để tiết kiệm nhớ • Gây nên vấn đề thay đổi có ảnh hưởng lớn đến hệ thống • Các liệu tồn cục dùng chung phải chuyển đổi sang đối tượng hay ADT:  Phân tích miền liệu chung nhằm xác định trừu tượng mặt logic;  Tạo kiểu liệu trừu tượng hay lớp đối tượng cho trừu tượng • Cung cấp chức truy nhập cập nhật vào trường liệu trừu tượng • Dùng trình duyệt để gọi liệu trừu tượng thay chúng với chức định nghĩa v1.0015112208 50 6.6 CÁC CHỦ ĐỀ TIÊN TIẾN KHÁC (tiếp theo) g Vấn đề liệu • Người dùng đầu cuối muốn có liệu máy họ hệ thống file Họ cần có khả tải liệu từ CSDL • Hệ thống phải xử lí nhiều liệu nhà thiết kế • Dữ liệu dư thừa lưu định dạng khác vị trí khác hệ thống • Vấn đề đặt tên liệu: Tên khó hiểu, liệu có nhiều tên khác chương trình khác • Vấn đề chiều dài trường: Cùng phần tử gán cho chiều dài khác chương trình khác • Vấn đề tổ chức mẫu tin: Các mẫu tin biểu diễn cho thực thể tổ chức khác chương trình khác • Literals khó mã hóa • Khơng có từ điển liệu v1.0015112208 51 TÓM LƢỢC CUỐI BÀI Trong tìm hiểu nội dung sau: v1.0015112208 • Mơ hình RUP; • Phương pháp phân tích phần mềm linh hoạt; • Ước lượng chi phí phần mềm; • Quản lí chất lượng; • Cải tiến quy trình; • Các chủ đề tiến tiến khác 52 ...BÀI CHỦ ĐỀ NÂNG CAO TRONG CÔNG NGHỆ HỌC PHẦN MỀM Giảng viên: ThS Thạc Bình Cường v1.0015112208 MỤC TIÊU BÀI HỌC • Tiếp cận xây dựng phần mềm nâng cao, phần mềm linh hoạt • Lập... 6. 4.3 Xem xét lại quy trình 6. 4.4 Các chuẩn phần mềm 6. 4.5 Các chuẩn tài liệu 6. 4 .6 Độ đo phần mềm 6. 4.7 Độ đo chất lượng sản phẩm v1.0015112208 23 6. 4.1 TỔNG QUAN • Đảm bảo chất lượng phần mềm. .. phẩm phần mềm Q trình phần mềm Độ đo dự đoán Độ đo đăng ký Các định quản lí v1.0015112208 32 6. 4 .6 ĐỘ ĐO PHẦN MỀM (tiếp theo) • Độ đo dự đốn độ đo điều khiển: Q trình xử lí phần mềm Sản phẩm phần

Ngày đăng: 17/12/2020, 09:05

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

Tài liệu liên quan