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

57 768 2
Các kinh nghiệm quý của 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

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

Các kinh nghiệm q Công nghệ phần mềm Các kinh nghi?m q CNPM Duong Anh Ð?c Mục đích: ? 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 ? Trình bày Rationals kinh nghiệm tốt cho trình phát triển phần mềm ? Xem xét cách dùng kinh nghiệm để giảI vấn đề phát triển phần mềm Các kinh nghi?m q CNPM Duong Anh Ð?c 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ác kinh nghi?m quí CNPM Duong Anh Ð?c 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ự chuyên môn hóa Analyst • Phân tán Project Manager • Công nghệ thay đổi nhanh Developer Tester Release Engineer Các kinh nghi?m quí CNPM Duong Anh Ð?c Chúng ta làm việc ? • Nhiều thành công Performance Engineer Analyst • Quá nhiều thất bại Project Manager Tester Release Engineer Các kinh nghi?m q CNPM Duong Anh Ð?c Các triệu chứng vấn đề PTPM Hiểu người dùng cần Không thể thích ứng với thay đổi y/c đ/v 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 thay đổi gì, nào, đâu, tai phải thay đổi ? Quá trình build-and-release không đáng tin cậy ? ? ? ? ? ? ? ? Các kinh nghi?m quí CNPM Duong Anh Ð?c Chữa trị triệu chứng không giải vấn đề Root Causes Symptoms insufficient requirements end-user needs ambiguous communications changing requirements brittle architectures overwhelming complexity modules dont fit hard to maintain undetected inconsistencies late discovery poor testing poor quality poor performance subjective assessment colliding developers waterfall development build-and-release uncontrolled change Các kinh nghi?m quí CNPM Duong Anh Ð?c Diagnose insufficient automation Các nguyên nhân v/đ PTPM ? ? ? ? ? ? ? ? ? ? Sự quản lý y/c 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 tầm kiểm soát Có mâu thuẫn không phát y/c, 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ự trễ nải việc giảm rủi ro mô hình thác nước Sự lan truyền kiểm soát thay đổi Thiếu công cụ tự động hóa Các kinh nghi?m q CNPM Duong Anh Ð?c Các kinh nghiệm giúp giải vấn đề Nguyên nhân cốt lõi ? ? ? ? ? ? ? ? ? ? Caùc y/c 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 Q/tr phát triển thác nước Sự thay đổi không k/soát Thiếu tự động hóa Các kinh nghi?m q CNPM Duong Anh Ð?c Các kinh nghiệm tốt ? ? ? ? ? ? Phát triển theo vòng lặp Quản trị y/c Sử dụng KT component Mô hình hóa trực quan Kiểm định chất lượng Kiểm soát thay đổi G/q 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 dont fit brittle architectures hard to maintain overwhelming complexity late discovery undetected inconsistencies poor quality poor performance colliding developers build-and-release poor testing model the software visually verify quality control changes subjective assessment waterfall development uncontrolled change insufficient automation Các kinh nghi?m quí CNPM Duong Anh Ð?c use component architectures 10 Kinh nghiệm 5: Kiểm định chất lượng phần mềm Develop Iteratively Manage Requirements Use Component Architectures Model Visually Control Changes Các kinh nghi?m quí CNPM Duong Anh Ð?c 43 Verify Quality Kinh nghiệm 5: Kiểm định chất lượng phần mềm Chi phí tìm kiếm sửa chữa vấn đề phần mềm tăng hàng 100, hàng 1000 lần sau PT Cost Development Các kinh nghi?m quí CNPM Duong Anh Ð?c 44 Deployment PT 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ác kinh nghi?m quí CNPM Duong Anh Ð?c T Test Plan Design Implement Execute Evaluate C Test Plan Design Implement Execute Evaluate 45 T Test Plan Design Implement Execute Evaluate Automated Tests Requirements Test môi trường PT theo vòng lặp Iteration Iteration Iteration Test Suite Test Suite Các kinh nghi?m quí CNPM Duong Anh Ð?c 46 Test Suite Iteration Test Suite Tự động hóa giảm thời gian công sức test Một chu trình test thủ công One Manual Test Cycle 13,000 lầnTests 13,000 Test Weeks n Tuầ People i Ngườ Test tự động 13,000 Test 13,000 Test giờ người i ngườ Các kinh nghi?m q CNPM Duong Anh Ð?c Ch?y ngày nhi?u test ho n 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 Ư/d có làm yêu cầu? Tạo cácTest case cho scenario cài đặt Độ tin cậy Ư/d có làm nhớ? Các công cụ phân tích thiết bị coding Hiệu ứng dụng Ư/d có hồi đáp hợp lệ? Kiểm tra hiệu use-case/scenario cài đặt Ư/d có hoạt động công suất thiết kế? Kiểm tra hiệu tất use-case mức độ tin cậy trường hợp xấu Hiệu hệ thống Các kinh nghi?m q CNPM Duong Anh Ð?c 48 Các vấn đề giải nhờ kiểm định CL Nguyên nhân cốt lõi Cách giải ? ? ? ? ? ? Đánh giá khách quan triệt tiêu mâu sớm ? ? ? ? Thiếu y/c đ/v HT Truyền tin mơ hồ Kiến trúc bền Quá phức tạp Đánh giá chủ quan Các mâu thuẫn chưa xác định Test Qui trình thác nước Thay đổi KS Thiếu ccụ tự động Các kinh nghi?m q CNPM Duong Anh Ð?c Testing đánh giá khách quan trạng thái dự án 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 PM Develop Iteratively Manage Requirements Use Component Architectures Model Visually Control Changes Các kinh nghi?m quí CNPM Duong Anh Ð?c 50 Verify Quality Kinh nghiệm 6: Kiểm soát thay đổi PM ? ? ? ? ? ? ? Nhieàu developer Nhieàu team Nhieà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ác kinh nghi?m quí CNPM Duong Anh Ð?c 51 Ba khía cạnh CM System Các kinh nghi?m q CNPM Duong Anh Ð?c 52 Các khái niệm Configuration & Change M ? Phân rã kiến trúc thành subsystem gán trách nhiệm thực subsystem cho nhóm ? 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 soát tất software artifact - models, code, docs, ? 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ỗ hoàn tất vòng lặp Các kinh nghi?m q CNPM Duong Anh Ð?c 53 Change Control hỗ trợ tất Best Practices khác ? Phát triển theo qui trình lặp ? Quản lý Y/c ? Dự án tiến triển thay đổi kiểm soát ? Để loại bỏ dãn phạm vị, đánh giá ảnh hưởng thay đổi dự kiến trước chấp nhận ? Dùng kiến trúc ? Các Component phải đáng tin cậy, component i.e., tìm thấy phiên đắn tất phần hợp thành ? 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 ? 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ác kinh nghi?m q CNPM Duong Anh Ð?c 54 Các vần đề giải nhờ Control Change Nguyên nhân cốt lõi ? ? ? ? ? ? ? ? ? ? Thiếu y/c đ/v HT Truyền tin mơ hồ Kiến trúc bền Quá phức tạp Đánh giá chủ quan Mâu thuẫn chưa xác định Test Qui trình thác nước Thay đổi kiểm soát Thiếu ccụ tự động Các kinh nghi?m q CNPM Duong Anh Ð?c 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 Ensures users involved as requirements evolve Manage Requirements Validates architectural decisions early on Use Component Architectures Addresses complexity of design/implementation incrementally Model Visually Measures quality early and often Develop Iteratively Verify Quality Evolves baselines incrementally Các kinh nghi?m quí CNPM Duong Anh Ð?c 56 Control Changes Tổng kết ? Kết phần mềm trở nên ? ng thời hạn Đú ? o đảm ngân sách Bả ? a mãn nhu cầu userAnalyst Thỏ Performance Engineer Project Manager Develop Iteratively Developer Use Manage Component Requirements Architectures Model Visually Verify Quality Tester Control Changes Các kinh nghi?m quí CNPM Duong Anh Ð?c Release Engineer 57 ... lõi vấn đề phát triển phần mềm ? Trình bày Rationals kinh nghiệm tốt cho trình phát triển phần mềm ? Xem xét cách dùng kinh nghiệm để giảI vấn đề phát triển phần mềm Các kinh nghi?m q CNPM Duong... Control Changes Các kinh nghi?m quí CNPM Duong Anh Ð?c 29 Verify Quality Kiến trúc phần mềm xác định: ? 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 ? lựa chọn phần tử cầu... Control Changes Các kinh nghi?m quí CNPM Duong Anh Ð?c 35 Verify Quality Kinh nghiệm 4: Mô hình hóa trực quan phần mềm ? 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 tử hệ thống

Ngày đăng: 22/08/2012, 10:37

Từ khóa liên quan

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

Tài liệu liên quan