Bai giang ve ngon ngu UML Bai 1
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 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 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ác kinh nghi?m q trong CNPM Duong Anh Ð?c 4 Phát triển phần mề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ông nghệ thay đổi quá nhanh Các kinh 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ác kinh nghi?m q trong CNPM Duong Anh Ð?c 6 Các triệu chứng của cá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ác các thay thay đổi đổi về về y y / / c c đ đ / / v v hệ hệ thống thống ? ? Các Các Module Module không không khớp khớp với với nhau nhau ? ? Phần Phần mềm mề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á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 kinh 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ác kinh nghi?m q trong CNPM Duong Anh Ð?c 8 Các nguyên nhân chính của cá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ủa củ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ủa của các các thay thay đổi đổi ? ? Thiếu Thiếu các các công công cụ cụ tự tự động động hóa hóa Các kinh nghi?m q trong CNPM Duong Anh Ð?c 9 ? ? Các Cá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ác Các lượng lượng giá giá chủ chủ quan quan ? ? Các Cá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ác cá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ác các thay thay đổi đổi Nguyên nhân cốt lõi Nguyên nhân cốt lõi Các kinh nghiệm tốt Các kinh nghiệm tốt Các kinh nghiệm giúp giải quyết các vấn đề Các kinh 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