1. Trang chủ
  2. » Công Nghệ Thông Tin

Các kinh nghiệm quý báu của công nghệ phần mềm

57 4 0
Tài liệu được quét OCR, nội dung có thể không chính xác

Đ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

Nội dung

Sinh viên được đào tạo về các môn khoa học cơ bản của nhóm ngành CNTT, đào tạo chuyên sâu về quy trình, phương pháp, kỹ thuật, công nghệ trong phân tích, thiết kế, phát triển, kiểm thử, bảo trì phần mềm và quản lý dự án phần mềm cũng như trong lĩnh vực ứng dụng CNTT.

Công cụ môi trường phát triển phần mềm Các kinh nghiệm q Cơng nghệ phần mềm Cơng cụ mơi trường phát triển phần mềm Mục đích w Khám phá triệu chứng nguyên nhân cốt lõi vấn đề phát triển phần mềm w Trình bày kinh nghiệm tốt Rational trình phát triển phần mềm w Xem xét cách sử dụng kinh nghiệm để giảI vấn đề phát triển phần mềm Công cụ môi trường phát triển phần mềm Phân tích tình hình CNPM Kinh tế giới ngày phụ thuộc vào CNPM Các ứng dụng mở rộng kích thước, độ phức tạp, phân bố Thương trường đòi hỏi nâng cao suất, chất lượng giảm thời gian Khơng đủ nhân lực có trình độ Cơng cụ môi trường phát triển phần mềm Phát triển phần mềm công việc tập thể Các thách thức Performance Engineer • Các nhóm đơng • Sự chun mơn hóa Analyst • Phân tán Project Manager • Cơng nghệ thay đổi nhanh Developer Tester Công cụ môi trường phát triển phần mềm Release Engineer Chúng ta làm việc sao? • Nhiều thành cơng • Q nhiều thất bại Analyst Performance Engineer Project Manager Developer Tester Công cụ môi trường phát triển phần mềm Release Engineer Các triệu chứng vấn đề phát triển PM Hiểu khơng người dùng cần Khơng thể thích ứng với thay đổi u cầu hệ thống Các Module không khớp với Phần mềm khó bảo trì nâng cấp, mở rộng Phát trễ lỗ hổng dự án Chất lượng phần mềm Hiệu phần mềm thấp Các thành viên nhóm khơng biết thay đổi gì, nào, đâu, phải thay đổi w Q trình build-and-release khơng đáng tin cậy w w w w w w w w Công cụ môi trường phát triển phần mềm Chữa trị triệu chứng không giải hết vấn đề Root Causes Symptoms insufficient requirements end-user needs ambiguous communications changing requirements brittle architectures modules don’t fit overwhelming complexity hard to maintain undetected inconsistencies late discovery poor testing poor quality poor performance subjective assessment colliding developers waterfall development build-and-release uncontrolled change Diagnose Công cụ môi trường phát triển phần mềm insufficient automation Các nguyên nhân w w w w w w w w w w Sự quản lý yêu cầu người dùng không đầy đủ Trao đổi thông tin mơ hồ không đầy đủ Kiến trúc không vững Độ phức tạp vượt q tầm kiểm sốt Có mâu thuẫn không phát yêu cầu, thiết kế, cài đặt Kiểm chứng không đầy đủ Sự lượng giá chủ quan tình trạng dự án Sự chậm trễ việc giảm rủi ro mơ hình thác nước Sự lan truyền khơng thể kiểm sốt thay đổi Thiếu cơng cụ tự động hóa Công cụ môi trường phát triển phần mềm Các kinh nghim giỳp gii quyt cỏc ỵ ỵ þ þ þ þ þ þ þ þ Nguyên nhân cốt lõi Các yêu cầu không đầy đủ Trao đổi thông tin mơ hồ Kiến trúc bền vững Độ phức tạp cao Các lượng giá chủ quan Các mâu thuẫn chưa thấy Kiểm chứng nghèo nàn Qui trình phát triển thác nước Sự thay đổi khơng kiểm sốt Thiếu tự động hóa Cơng cụ mơi trường phát trin phn mm Cỏc kinh nghim tt ỵ Phỏt trin theo vũng lp ỵ Qun tr cỏc yờu cu ỵ S dng kin trỳc component ỵ Mụ hỡnh húa trc quan ỵ Kim nh cht lng ỵ Kim soỏt cỏc thay đổi Giải nguyên nhân giúp giảm triệu chứng Symptoms Root Causes Best Practices end-user needs insufficient requirements develop iteratively changing requirements ambiguous communications manage requirements modules don’t fit hard to maintain late discovery poor quality poor performance colliding developers build-and-release brittle architectures overwhelming complexity undetected inconsistencies poor testing subjective assessment waterfall development uncontrolled change insufficient automation Công cụ môi trường phát triển phần mềm 10 use component architectures model the software visually verify quality control changes Kinh nghiệm 5: Kiểm định chất lượng phần mềm Phát triển theo vòng lặp Quản trị yêu cầu Sử dụng kiến trúc Component Mơ hình hóa trực quan Kiểm định chất lượng Kiểm soát thay đổi hệ thống Công cụ môi trường phát triển phần mềm 43 Kinh nghiệm 5: Kiểm định chất lượng phần mềm (tt) Chi phí tìm kiếm sửa chữa vấn đề phần mềm tăng hàng trăm, hàng ngàn lần sau phát triển Cost Development Công cụ môi trường phát triển phần mềm Deployment 44 Phát triển theo vòng lặp cho phép test liên tục Iteration Iteration R R D R D D C C T T I M E Test Life Cycle Iteration Công cụ môi trường phát triển phần mềm T Test Test Plan Design Implement Execute Evaluate C Plan Design Implement Execute Evaluate 45 T Test Plan Design Implement Execute Evaluate Automated Tests Requirements Test môi trường phát triển theo vòng lặp Iteration Iteration Test Suite Test Suite Công cụ môi trường phát triển phần mềm Iteration Test Suite 46 Iteration Test Suite Tự động hóa giảm thời gian cơng sức test Một One chu Manual trình test Testthủ Cycle cơng 13,000 13,000 lầnTests Test Weeks Tuần People Người Test tự động 13,000 13,000Test Test 66giờ 11người người Công cụ môi trường phát triển phần mềm Chạy ngày nhiều test 47 Các khía cạnh chất lượng phần mềm Kiểu Tại sao? Thế nào? Chức Ứng dụng tơi có làm yêu cầu? Tạo cácTest case cho scenario cài đặt Độ tin cậy Ứng dụng tơi có làm nhớ? Các cơng cụ phân tích thiết bị coding Hiệu ứng Ứng dụng tơi có hồi đáp dụng hợp lệ? Hiệu hệ thống Công cụ môi trường phát triển phần mềm Ứng dụng tơi có hoạt động cơng suất thiết kế? 48 Kiểm tra hiệu use-case/scenario cài đặt Kiểm tra hiệu tất use-case mức độ tin cậy trường hợp xấu Các vấn đề giải nhờ kiểm định cht lng Nguyờn nhõn ct lừi ă Thiu y/c /v HT ă Truyn tin m h ă Kin trỳc kộm bn ă Quỏ phc ỵ ỏnh giỏ ch quan þ Các mâu thuẫn chưa xác định þ Test kộm ă Qui trỡnh thỏc nc ă Thay i khụng th KS ỵ Thiu cc t ng Cụng c mụi trường phát triển phần mềm Cách giải Testing đánh giá khách quan trạng thái dự án Đánh giá khách quan triệt tiêu mâu sớm Testing kiểm định tập trung vào vùng high risk Tìm thấy thiếu sót sớm chi phí sửa chữa thấp Các ccụ test tự động giúp test độ tin cậy, chức hiệu 49 Kinh nghiệm 6: Kiểm soát thay đổi phần mềm Phát triển theo vòng lặp Quản trị yêu cầu Sử dụng kiến trúc Component Mơ hình hóa trực quan Kiểm định chất lượng Kiểm sốt thay đổi hệ thống Cơng cụ mơi trường phát triển phần mềm 50 Kinh nghiệm 6: Kiểm soát thay đổi phần mềm (tt) w w w w w w w Nhiều developer Nhiều team Nhiều vị trí Nhiều vịng lập Nhiều release Nhiều project Nhiều platform Thiếu kiểm soát tường minh, đầy đủ Phát triển song song dễ biến thành hỗn độn Công cụ môi trường phát triển phần mềm 51 Ba khía cạnh CM System Công cụ môi trường phát triển phần mềm 52 Các khái niệm Configuration & Change M w Phân rã kiến trúc thành subsystem gán trách nhiệm thực subsystem cho nhóm w Thiết lập vùng làm việc an toàn cho developer § Cho phép cô lập với thay đổi tạo vùng làm việc khác § Kiểm sốt tất software artifact - models, code, docs, … w w w w Thiết lập vùng làm việc tích hợp Thiết lập chế khả thi kiểm soát thay đổi Nắm bắt thay đổi xuất xuất release Đưa đường ranh giới hạn chỗ hồn tất vịng lặp Cơng cụ mơi trường phát triển phần mềm 53 Kiểm soát thay đổi hỗ trợ tất Best Practices khác w Phát triển theo qui è Dự án tiến triển thay đổi kiểm sốt trình lặp w Quản lý yêu cầu è Để loại bỏ dãn phạm vị, đánh giá ảnh hưởng thay đổi dự kiến trước chấp nhận w Dùng kiến trúc è Các Component phải đáng tin cậy, i.e., component tìm thấy phiên đắn tất phần hợp thành w Mơ hình hóa trực è Để bảo đảm hội tụ, phải tăng quan dần kiểm soát model thiết kế ổn định w Kiểm định chất è Test có ý nghĩa version lượng phần tử test biết rõ phần tử bỏa vệ trước thay đổi Công cụ môi trường phát triển phần mềm 54 Các vần đề giải nhờ kiểm soát thay đổi Nguyên nhõn ct lừi ỵ Thiu y/c /v HT ỵ Truyn tin m h ă Kin trỳc kộm bn ỵ Quỏ phc ỵ ỏnh giỏ ch quan ỵ Mõu thun cha c xỏc nh ă Test kộm ă Qui trỡnh thỏc nc ỵ Thay i khụng th kim soỏt ỵ Thiếu ccụ tự động Công cụ môi trường phát triển phần mềm Cách giải Requirements change workflow xác định lặp lại lặp lại Các Change request làm cho thông tin trao đổi rõ ràng Vùng làm việc biệt lập giảm trở ngại làm việc song song Thống kê mức độ thay đổi độ đo tốt cho đánh giá khách quan trạng thái dự án Vùng làm việc chứa tất artifact dễ tạo quán Kiểm soát lan truyền thay đổi Các thay đổi trì hệ thống mạnh mẽ, có khả tùy chỉnh 55 Các kinh nghiệm hỗ trợ lẫn Phát triển theo vịng lặp Cơng cụ mơi trường phát triển phần mềm Ensures users involved as requirements evolve Quản trị yêu cầu Validates architectural decisions early on Sử dụng kiến trúc Component Addresses complexity of design/implementation incrementally Mơ hình hóa trực quan Measures quality early and often Kiểm định chất lượng Evolves baselines incrementally Kiểm soát thay đổi hệ thống 56 Tổng kết w Kết phần mềm trở nên § Đúng thời hạn § Bảo đảm ngân sách § Thỏa mãn nhu cầu user Performance Engineer Analyst Project Manager Phá Phát triể triển theo vòng lặ lặp Developer Quả Quản trị trị yêu cầ cầu Sử dụng kiế kiến trú trúc Component Mơ hì hình hó hóa trự trực quan Kiể Kiểm đị định chấ chất lượ lượng Tester Kiể Kiểm soá soát cá thay đổ đổI hệ hệ thố thống Công cụ môi trường phát triển phần mềm Release Engineer 57 ... phát triển phần mềm w Trình bày kinh nghiệm tốt Rational trình phát triển phần mềm w Xem xét cách sử dụng kinh nghiệm để giảI vấn đề phát triển phần mềm Công cụ môi trường phát triển phần mềm Phân... thống Công cụ môi trường phát triển phần mềm 35 Kiểm định chất lượng Kinh nghiệm 4: Mơ hình hóa trực quan phần mềm( tt) w w w w w Nắm bắt cấu trúc hành vi thành phần kiến trúc Thể cách mà phần. .. môi trường phát triển phần mềm 29 Kiểm định chất lượng Kiến trúc phần mềm xác định: w Kiến trúc phần mềm chứa đựng định quan trọng tổ chức hệ thống phần mềm § Sự lựa chọn phần tử cầu trúc interface

Ngày đăng: 08/05/2021, 14:04

TỪ KHÓA LIÊN QUAN

w