Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 57 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
57
Dung lượng
639,37 KB
Nội dung
Cáckinh nghi?m q trong CNPM Duong Anh Ð?c 1 Cáckinhnghiệm q của Côngnghệphầnmềm Các kinh nghi?m q trong CNPM Duong Anh Ð?c 2 Mục đích: ? ? Khám Khám phá phá cáccác triệu triệu chứng chứng và và cáccác nguyên nguyên nhân nhân cốt cốt lõi lõi củacủacáccác vấn vấn đề đề trong trong phát phát triển triển phầnphầnmềmmềm ? ? Trình Trình bày bày Rationals Rationals 6 6 kinhkinhnghiệmnghiệm tốt tốt cho cho quá quá trình trình phát phát triển triển phầnphầnmềmmềm ? ? Xem Xem xét xét cách cách dùng dùng cáccáckinhkinhnghiệmnghiệm này này để để giảI giảI quyết quyết cáccác vấn vấn đề đề trong trong phát phát triển triển phầnphầnmềmmềm Các kinh nghi?m q trong CNPM Duong Anh Ð?c 3 Phân tích tình hình của CNPM Kinh tế thế giớI ngày càng phụ thuộc hơn vào CNPM Các ứng dụng mơ rộng về kích thước, độ phức tạp, và phân bố Thương trường đòi hỏi nâng cao năng suất & chất lượng và giảm thời gian Không đủ nhân lực có trình độ Cáckinh nghi?m q trong CNPM Duong Anh Ð?c 4 Phát triển phầnmềm là công việc tập thể Project Manager Performance Engineer Release Engineer Analyst Developer Tester Các thách thức • Các nhóm đông hơn • Sự chuyên môn hóa • Phân tán • Côngnghệ thay đổi quá nhanh Cáckinh nghi?m q trong CNPM Duong Anh Ð?c 5 Chúng ta đã làm việc ra sao ? Project Manager Performance Engineer Release Engineer Analyst Tester • Nhiều thành công • Quá nhiều thất bại Cáckinh nghi?m q trong CNPM Duong Anh Ð?c 6 Các triệu chứng củacác vấn đề trong PTPM ? ? Hiểu Hiểu không không đúng đúng những những gì gì người người dùng dùng cần cần ? ? Không Không thể thể thích thích ứng ứng với với cáccác thay thay đổi đổi về về y y / / c c đ đ / / v v hệ hệ thống thống ? ? CácCác Module Module không không khớp khớp với với nhau nhau ? ? PhầnPhầnmềmmềm khó khó bảo bảo trì trì và và nâng nâng cấp cấp , , mở mở rộng rộng ? ? Phát Phát hiện hiện trễ trễ cáccác lỗ lỗ hổng hổng củacủa dự dự án án ? ? Chất Chất lượng lượng phầnphầnmềmmềm kém kém ? ? Hiệu Hiệu năng năng củacủaphầnphầnmềmmềm thấp thấp ? ? CácCác thành thành viên viên trong trong nhóm nhóm không không biết biết được được ai ai đã đã thay thay đổi đổi cái cái gì gì , , khi khi nào nào , , ở ở đâu đâu , , tai tai sao sao phải phải thay thay đổi đổi ? ? Quá Quá trình trình build build - - and and - - release release không không đáng đáng tin tin cậy cậy Cáckinh nghi?m q trong CNPM Duong Anh Ð?c 7 Symptoms end-user needs changing requirements modules dont fit hard to maintain late discovery poor quality poor performance colliding developers build-and-release Root Causes insufficient requirements ambiguous communications brittle architectures overwhelming complexity undetected inconsistencies poor testing subjective assessment waterfall development uncontrolled change insufficient automation Diagnose Chữa trò triệu chứng không giải quyết vấn đề Cáckinh nghi?m q trong CNPM Duong Anh Ð?c 8 Các nguyên nhân chính củacác v/đ trong PTPM ? ? Sự Sự quản quản lý lý y y / / c c người người dùng dùng không không đầy đầy đủ đủ ? ? Trao Trao đổi đổi thông thông tin tin mơ mơ hồ hồ và và không không đầy đầy đủ đủ ? ? Kiến Kiến trúc trúc không không vững vững chắc chắc ? ? Độ Độ phức phức tạp tạp vượt vượt quá quá tầm tầm kiểm kiểm soát soát ? ? Có Có những những mâu mâu thuẫn thuẫn không không phát phát hiện hiện được được giữa giữa y y / / c c , , thiết thiết kế kế , , và và cài cài đặt đặt ? ? Kiểm Kiểm chứng chứng không không đầy đầy đủ đủ ? ? Sự Sự lượng lượng giágiá chủ chủ quan quan về về tình tình trạng trạng củacủa dự dự án án ? ? Sự Sự trễ trễ nải nải trong trong việc việc giảm giảm rủi rủi ro ro do do mô mô hình hình thác thác nước nước ? ? Sự Sự lan lan truyền truyền không không thể thể kiểm kiểm soát soát củacủacáccác thay thay đổi đổi ? ? Thiếu Thiếu cáccáccôngcông cụ cụ tự tự động động hóa hóa Cáckinh nghi?m q trong CNPM Duong Anh Ð?c 9 ? ? CácCác y y / / c c không không đầy đầy đủ đủ ? ? Trao Trao đổi đổi thông thông tin tin mơ mơ hồ hồ ? ? Kiến Kiến trúc trúc kém kém bền bền vững vững ? ? Độ Độ phức phức tạp tạp quá quá cao cao ? ? CácCác lượng lượng giágiá chủ chủ quan quan ? ? CácCác mẫu mẫu thuẫn thuẫn chưa chưa thấy thấy ? ? Kiểm Kiểm chứng chứng nghèo nghèo nàn nàn ? ? Q Q / / tr tr phát phát triển triển thác thác nước nước ? ? Sự Sự thay thay đổi đổi không không k k / / soát soát ? ? Thiếu Thiếu sự sự tự tự động động hóa hóa ? ? Phát Phát triển triển theo theo vòng vòng lặp lặp ? ? Quản Quản trò trò cáccác y y / / c c ? ? Sử Sử dụng dụng KT KT component component ? ? Mô Mô hình hình hóa hóa trực trực quan quan ? ? Kiểm Kiểm đònh đònh chất chất lượng lượng ? ? Kiểm Kiểm soát soát cáccác thay thay đổi đổi Nguyên nhân cốt lõi Nguyên nhân cốt lõi Cáckinhnghiệm tốt Cáckinhnghiệm tốt Cáckinhnghiệm giúp giải quyết các vấn đề Cáckinh nghi?m q trong CNPM Duong Anh Ð?c 10 Symptoms end-user needs changing requirements modules dont fit hard to maintain late discovery poor quality poor performance colliding developers build-and-release Root Causes insufficient requirements ambiguous communications brittle architectures overwhelming complexity undetected inconsistencies poor testing subjective assessment waterfall development uncontrolled change insufficient automation Best Practices develop iteratively manage requirements use component architectures model the software visually verify quality control changes G/q các nguyên nhân giúp giảm các triệu chứng [...]... Control Changes Cáckinh nghi?m q trong CNPM Duong Anh Ð?c 29 Verify Quality Kiến trúc phầnmềm xác đònh: ? Kiến trúc phầnmềm chứa đựng các quyết đònh quan trọng về tổ chức của hệ thống phầnmềm ? lựa chọn cácphần tử cầu trúc và interface của Sự chúng để cấu thành một hệ thống ? nh vi được mô tả như sự cộng tác giữa cácphần Hà tử này ? tổng hợp củacácphẩn tử cấu trúc và hành vi Sự này thành các subsystem.. .Các kinhnghiệm q của CNPM Phát triển theo vòng lặp Quản trò Các y/c Sử dụng kiến trúc Component Mô hình hóa trực quan Kiểm soát các thay đổi trong hệ thống Cáckinh nghi?m q trong CNPM Duong Anh Ð?c 11 Kiểm đònh chất lượng Cáckinhnghiệm tạo ra các nhóm lv hiệu năng cao Kết quả Performance Engineer • Nhiều dự án thành công hơn Analyst Project Manager Developer... Requirements Use Component Architectures Model Visually Control Changes Cáckinh nghi?m q trong CNPM Duong Anh Ð?c 35 Verify Quality Kinhnghiệm 4: Mô hình hóa trực quan phầnmềm ? Nắm bắt cấu trúc và hành vi củacác thành phần kiến trúc ? Thể hiện cách mà cácphần tử hệ thống khớp với nhau ? Che dấu hoặc phơi bày chi tiết theo nhu cầu công việc ? Duy trì tinhd nhất quán giữa thiết kế và cài đặt ? Tăng... T I M E Cáckinh nghi?m q trong CNPM Duong Anh Ð?c 18 Các đặc tính củaqui trình lặp ? Các rủi ro chính được giải quyết trước khi có các phát triển lớn ? Các vòng lặp đầu tiên cho phép nhận feedback ? Việc kiểm chứng và tích hợp diễn ra liên tục ? Các cột mốc cục bộ sẽ đònh ra các tiêu điểm ngắn hạn ? Sự tiến triển được đo bằng bản cài đặt ? Các cài đặt bộ phận có thể triển khai riêng Cáckinh nghi?m... cácphẩn tử cấu trúc và hành vi Sự này thành các subsystem lớn hơn ? u kiến trúc đònh hướng cho tổ chức này, cho các Kiể phần tử cấu trúc và interface của chúng, cáccông tác, và sự tổng hợp giữa chúng Cáckinh nghi?m q trong CNPM Duong Anh Ð?c 30 Các ảnh hưởng của kiến trúc ? Kiến trúc phầnmềm liên quan đến cấu trúc, hành vi và ngữ cảnh (context): ? ch dùng (Usage) Cá ? Chức năng (Functionality) ? u... Engineer Control Changes Cáckinh nghi?m q trong CNPM Duong Anh Ð?c 12 Kinhnghiệm 1: PTPM theo vòng lặp Develop Iteratively Manage Requirements Use Component Architectures Model Visually Control Changes Cáckinh nghi?m q trong CNPM Duong Anh Ð?c 13 Verify Quality Kinhnghiệm 1: PTPM theo vòng lặp ? Một thiết kế ban đầu có thể không hoàn chỉnh so với các yêu cầu chính ? Việc phát hiện trễ các thiếu sót trong... lặp giải quyết các vấn đề Nguyên nhân cốt lõi Cách giải quyết Nhận và khuyến khích các feedback từ người dùng Các hiểu lầm nghiêm trọng được làm rõ sớm ? Không đủ các yêu cầu đ/v hệ thống ? Trao đổi TT mơ hồ ? Kiến trúc kém bền vững ? Độ phức tạp quá cao ? Đánh giá chủ quan ? Các mâu thuẫn không được phát hiện ? Kiểm chứng kém ? QT thác nước ? Các thay đổi không ks ? Thiếu ccụ tự động Cáckinh nghi?m... nghi?m q trong CNPM Duong Anh Ð?c Cách giải quyết Các Component dễ tạo ra các kiến trúc đàn hồi Tái sử dụng các com và framework Thương mại trở nên dễ dàng Tính đơn thể cho phép phân tách các điều lo lắng Component cung cấp nền tảng tự nhiên cho quản lý cấu hình Các ccụ mô hình hóa trực quan hỗ trợ thiết kế tự động component-based 34 Kinhnghiệm 4: Mô hình hóa trực quan phầnmềm Develop Iteratively Manage... Thiếu ccụ tự động Cáckinh nghi?m q trong CNPM Duong Anh Ð?c Xây dựng trong quản lý Y/C một tiếp cận kỷ luật Trao đổi thông tin dựa trên các y/c đã xác đònh Đặt độ ưu tiên, lọc và theo dõi các yêu cầu Đánh giá khách quan các chức năng và hiệu năng Các mâu thuẫn đễ phát hiện RM tool cung cấp một kho chứa các y/c, thuộc tính và đồ hình, sẽ được kết nối tự động với sưu liệu 28 Kinhnghiệm 3: Dùng kiến... 2: Quản lý yêu cầu đ/v hệ thống ? Suy dẫn, tổ chức, và tạo sưu liệu về các yêu cầu chức năng và các ràng buộc ? Lượng giácác thay đổi và xác đònh ảnh hưởng của chúng ? Theo dấu và tao sưu liệu về các thỏa hiệp & các quyết đònh Yêu cầu đối với hệ thống luôn động -Phải lường trước khả năng chúng bò thay đổi trong quá trình PTPM Cáckinh nghi?m q trong CNPM Duong Anh Ð?c 23 Đònh nghóa: Y/c đ/v HT và sự . Các kinh nghi?m q trong CNPM Duong Anh Ð?c 1 Các kinh nghiệm q của Công nghệ phần mềm Các kinh nghi?m q trong CNPM Duong Anh Ð?c 2 Mục đích: ? ? Khám Khám phá phá các các triệu triệu chứng chứng và và các các nguyên nguyên nhân nhân cốt cốt lõi lõi của của các các vấn vấn đề đề trong trong phát phát triển triển phần phần mềm mềm ? ? Trình Trình bày bày Rationals Rationals 6. mở mở rộng rộng ? ? Phát Phát hiện hiện trễ trễ các các lỗ lỗ hổng hổng của của dự dự án án ? ? Chất Chất lượng lượng phần phần mềm mềm kém kém ? ? Hiệu Hiệu năng năng của của phần phần mềm mềm thấp thấp ? ? Các Các thành thành viên viên trong trong nhóm nhóm không không biết biết được được ai ai đã đã thay thay đổi đổi cái cái gì gì , , khi khi nào nào , , ở ở đâu đâu , , tai tai sao sao phải phải thay thay đổi đổi ? ? Quá Quá trình trình build build - - and and - - release release không không đáng đáng tin tin cậy cậy Các. 6 kinh kinh nghiệm nghiệm tốt tốt cho cho quá quá trình trình phát phát triển triển phần phần mềm mềm ? ? Xem Xem xét xét cách cách dùng dùng các các kinh kinh nghiệm nghiệm này này để để giảI giảI quyết quyết các các vấn vấn đề đề trong trong phát phát triển triển phần phần mềm mềm Các