Quy trình phát triển phần mềm Các hoạt động bước Các yêu cầu · Chi tiết hóa Kiến trúc · Thiết kế Thực thi · Kiểm thử Triển khai · Bảo trì Các hệ phương pháp Agile · Cleanroom · Lặp phân tích u cầu cơng việc bao gồm tác vụ xác định yêu cầu cho hệ thống thay đổi, dựa sở yêu cầu (có thể mâu thuẫn) mà người có vai trị quan trọng hệ thống, chẳng hạn người sử dụng, đưa Việc phân tích u cầu có ý nghĩa quan trọng thành công dự án.[1] Việc phân tích u cầu cách có hệ thống cịn gọi kỹ nghệ yêu cầu (requirements engineering) Đôi cịn gọi cách khơng thật xác tên thu thập yêu cầu (requirements gathering, requirements capture), đặc tả yêu cầu (requirements RAD · RUP · Xoắn ốc specification) Thuật ngữ "phân tích yêu cầu" áp dụng cụ thể cho Thác nước · XP · Lean công việc túy phân tích (thay việc khác chẳng hạn làm rõ Scrum · V-Model · TDD yêu cầu hay viết tài liệu yêu cầu) Các ngành hỗ trợ Quản lí cấu hình Tài liệu Bảo đảm chất lượng Quản lí dự án User experience design Các công cụ Các yêu cầu phải có tính đo được, kiểm thử được, có liên quan đến nhu cầu hội doanh nghiệp xác định, yêu cầu phải định nghĩa mức độ chi tiết đủ cho việc thiết kế hệ thống Về khái niệm, việc phân tích yêu cầu bao gồm ba loại hoạt động sau: • Làm rõ yêu cầu (Eliciting requirements): giao tiếp với khách hàng người sử dụng để xác định u cầu họ • Trình biên dịch · Trình gỡ rối · Profiler Xem xét yêu cầu (Analyzing requirements): xác định xem yêu cầu đặt có tình trạng khơng rõ ràng, khơng hồn chỉnh, đa Người thiết kế GUI · IDE • nghĩa, mâu thuẫn hay không, giải vấn đề Làm tài liệu yêu cầu (Recording requirements): yêu cầu ghi lại theo nhiều hình thức, chẳng hạn tài liệu ngôn ngữ tự nhiên, tình sử dụng (use case), câu chuyện sử dụng (user story), đặc tả tiến trình Pha phân tích u cầu q trình dài khó khăn, cần đến nhiều kĩ tâm lý khéo léo Các hệ thống làm thay đổi môi trường mối quan hệ người, điều quan trọng phải xác định tất người có vai trị quan trọng, xem xét tất nhu cầu họ đảm bảo họ hiểu hàm ý hệ thống Các nhà phân tích sử dụng số kĩ thuật để làm rõ yêu cầu khách hàng Trong lịch sử, kỹ thuật bao gồm vấn, thành lập nhóm trọng tâm (focus group) với họp bàn yêu cầu (requirements workshops), tạo danh sách yêu cầu Các kỹ thuật đại gồm có tạo nguyên mẫu(prototyping), tình sử dụng Khi cần thiết, nhà phân tích kết hợp phương pháp để thiết lập yêu cầu xác người có vai trị quan trọng, nhằm mục đích xây dựng hệ thống thỏa mãn yêu cầu doanh nghiệp Vấn đề người dùng khách hàng Trong Rapid Development, Steve McConnell liệt kê loạt khả người dùng cản trở trình thu thập u cầu: • Người dùng khơng hiểu họ muốn • Người dùng khơng tn theo u cầu tài liệu hóa • Người dùng định đòi hỏi yêu cầu sau chi phí kế hoạch phát triển hoạch định xong • Mức độ giao tiếp với người dùng thấp • người dùng thường khơng tham gia đợt thẩm định khơng thể tham gia • Người dùng khơng hiểu kỹ thuật • Người dùng khơng hiểu quy trình phát triển Những điều dẫn tới tình yêu cầu người dùng liên tục thay đổi việc phát triển hệ thống hay sản phẩm bắt đầu Vấn đề kỹ sư/nhà phát triển Trong q trình phân tích yêu cầu, vấn đề sau nảy sinh từ phía kỹ sư nhà phát triển: • Nhân viên kỹ thuật người dùng cuối có ngơn từ khác Kết họ tin họ hoàn toàn đồng thuận sản phẩm hồn thiện đưa • • Các kỹ sư nhà phát triển cố lái cho yêu cầu khớp với hệ thống hay mơ hình sẵn có, thay phát triển hệ thống theo sát nhu cầu khách hàng Việc phân tích kỹ sư lập trình viên thực hiện, thay nhân viên có kỹ kiến thức miền ứng dụng để hiểu nhu cầu khách hàng cách đắn Giải pháp thực Một giải pháp vấn đề giao tiếp thuê chuyên gia doanh nghiệp chuyên gia phân tích hệ thống Các kỹ thuật đưa thập kỷ 1990 tạo nguyên mẫu, UML, tình sử dụng phát triển phần mềm linh hoạt (Agile software development) dùng làm giải pháp cho vấn đề Một số nguyên nhân dẫn đến thất bại việc quản lý dự án sau: Dự án khơng có tính thực tế khơng khớp Ước tính khơng xác nguồn lực cần thiết cho dự án Xác định yêu cầu hệ thống khơng Báo cáo tình trạng dự án sơ sài Không quản lý độ rủi ro Việc giao tiếp khách hàng, người sử dụng người phát triển dự án không tốt Sử dụng cơng nghệ chưa phát triển Khơng có khả xử lý độ phức tạp dự án Phát triển thực hành khơng có hệ thống 10 Thiếu kinh nghiệm việc quản lý dự án 11 Các bên liên quan mang tính trị 12 Các áp lực mang tính thương mại Quản lý dự án phần mềm tập hợp công việc thực tập thể (có thể có chun mơn khác nhau, thực công việc khác nhau, thời gian tham gia dự án khác nhau) nhằm đạt kết dự kiến, thời gian dự kiến, với kinh phí dự kiến Trong thuật ngữ chuyên ngành Công nghệ phần mềm, Quản lý dự án phần mềm hoạt động lập kế hoạch, giám sát điều khiển tài nguyên dự án (ví dụ kinh phí, người), thời gian thực hiện, rủi ro quy trình thực dự án nhằm đảm bảo thành công cho dự án Quản lý dự án phần mềm cần đảm bảo cân ba yếu tố: thời gian, tài nguyên chất lượng Ba yếu tố gọi tam giác dự án Quy trình quản lý dự án phần mềm Quy trình quản lý dự án phần mềm quy trình vận dụng kiến thức, kỹ kỹ thuật công nghệ vào hoạt động dự án để đạt mục tiêu dự án đặt Những ứng dụng đưa vào phần mềm theo tiêu chuẩn hóa quản lý dự án theo tiêu chuẩn PMI Để đảm bảo dự án thành công, thành viên dự án phải đảm bảo: • Lựa chọn quy trình phù hợp để đạt mục tiêu dự án • Tuân theo yêu cầu để đáp ứng nhu cầu mong đợi bên liên quan • Cân yêu cầu (nhân tố) cạnh tranh dự án như: phạm vi công việc, ngân sách, tiến độ, chất lượng, rủi ro, thay đổi Tùy theo quy mô dự án mà giai đoạn lại gồm quy trình nhỏ Ngồi lợi ích chiến lược nêu phần mềm cịn cung cấp đầy đủ tính hệ thống Việc bảo mật tiến hành cách tuyệt đối nghiêm ngặt Việc phân quyền cụ thể đến vai trị người sử dụng Quy trình kiểm tra giám sát dự án quản lý phần mềm bao gồm giai đoạn Khởi tạo dự án (Initiating): Giai đoạn thực việc định nghĩa dự án phát sinh (hoặc trộn lẫn) dự áncó sẵn như: Xác định yêu cầu dự án, mức độ ưu tiên dự án, phân tích yêu cầu đầu tư, phân công trách nhiệm cho phận triển khai Lập kế hoạch dự án (Planning): Giao đoạn yêu cầu thiết lập phạm vi công viêc dự án, điều chỉnh lại mục tiêu xác định đường tới mục tiêu Triển khai (Executing): Giai đoạn thực hồn thành cơng việc xác định phần lập kế hoạch để đảm bảo yêu cầu dự án Giám sát kiểm soát (Monitoring & Control): Giai đoạn yêu cầu việc theo dõi, rà soát điều chỉnh lại tiến độ khả thực dự án Theo dõi rủi ro, thay đổi, phát sinh trình thực có đề xuất điều chỉnh kịp thời Kết thúc (Closing): Giai đoạn thực để kết thúc tất hoạt động dự án để thức đóng lại dự án Các hoạt động quản lý dự án phần mềm Xác định bước thực dự án phần mềm Xác định yêu cầu chung Trước tiên, cần xác định yêu cầu chức (công việc phần mềm thực hiện) phi chức (công nghệ dùng để phát triển phần mềm, sử dụng hệ điều hành) phần mềm Tiếp theo cần xác định rõ tài nguyên cần thiết để xây dựng phần mềm Tài nguyên gồm có nhân tố người, thành phần, phần mềm sử dụng lại, phần cứng cơng cụ có sẵn cần dùng đến; nhân tố người quan trọng Điều cuối xác định thời gian cần thiết để thực dự án Trong trình cần phải nắm bắt toán thực tế cần giải hoạt động mang tính nghiệp vụ khách hàng để xác định rõ ràng yêu cầu chung đề án, xem xét dự án có khả thi hay khơng Viết đề án Viết đề án q trình xây dựng tài liệu mơ tả đề án để xác định phạm vi dự án, trách nhiệm người tham gia dự án; cam kết người quản lý dự án, người tài trợ dự án khách hàng Nội dung tài liệu mơ tả đề án thường có nội dung sau: [cần dẫn nguồn] • Bối cảnh thực dự án: Căn pháp lý để thực dự án, trạng công nghệ thông tin khách hàng trước có dự án, nhu cầu ứng dụng phần mềm khách hàng, đặc điểm phạm vi phần mềm xây dựng • • • Mục đích mục tiêu dự án: xác định mục đích tổng thể, tin học hóa hoạt động quy trình nghiệp vụ khách hành, xác định mục tiêu phần mềm gồm lượng liệu xử lý, lợi ích phần mềm đem lại Phạm vi dự án: Những người liên quan tới dự án, hoạt động nghiệp vụ cần tin học hóa Nguồn nhân lực tham gia dự án: Cán nghiệp vụ, người phân tích, người thiết kế, người lập trình, người kiểm thử, người cài đặt triển khai dự án cho khách hàng, người hướng dẫn khách hàng sử dụng phần mềm, người bảo trì dự • ánphần mềm Ràng buộc thời gian thực dự án: Ngày nghiệm thu dự án, ngày bàn giao dự án • Ràng buộc kinh phí: Kinh phí giai đoạn thực dự án • Ràng buộc cơng nghệ phát triển: Công nghệ phép sử dụng để thực dự án • Chữ kí bên liên quan tới dự án Lập kế hoạch thực dự án Lập kế hoạch thực dự án hoạt động diễn suốt trình từ bắt đầu thực dự án đến bàn giao sản phẩm với nhiều loại kế hoạch khác nhằm hỗ trợ kế hoạch dự án phần mềm lịch trình ngân sách Các loại kế hoạch thực dự án • Kế hoạch đảm bảo chất lượng: Mơ tả chuẩn, qui trình sử dụng dự án • Kế hoạch thẩm định: Mơ tả phương pháp, nguồn lực, lịch trình thẩm định hệ thống • Kế hoạch quản lý cấu hình: Mơ tả thủ tục, cấu trúc quản lý cấu hình sử dụng • Kế hoạch bảo trì: Dự tính yêu cầu hệ thống, chi phí, nỗ lực cần thiết cho bảo trì • Kế hoạch phát triển đội ngũ: Mô tả kĩ kinh nghiệm thành viên nhóm dự án phát triển Quy trình lập kế hoạch thực dự án • Thiết lập ràng buộc dự án: thời gian, nhân lực, ngân sách • Đánh giá bước đầu "tham số" dự án: quy mơ, độ phức tạp, nguồn lực • Xác định mốc thời gian thực dự án sản phẩm thu ứng với mốc thời gian • Trong dự án chưa hoàn thành chưa bị hủy bỏ thực lặp lặp lại công việc sau: Lập lịch thực dự án Thực hoạt động theo lịch trình Theo dõi tiến triển dự án, so sánh với lịch trình Đánh giá lại tham số dự án Lập lại lịch thực dự án cho tham số Thỏa thuận lại ràng buộc sản phẩm bàn giao mốc thời gian Nếu có vấn đề nảy sinh xem xét lại kĩ thuật khởi đầu đưa biện pháp cần thiết Cấu trúc kế hoạch thực dự án • Tổ chức dự án • Phân tích rủi ro [3] • u cầu tài ngun phần cứng, phần mềm • Phân cơng cơng việc • Lập lịch dự án • Cơ chế kiểm soát báo cáo Hướng dẫn kiến thức cốt lõi Quản lý dự án (tên tiếng Anh A Guide to the Project Management Body of Knowledge, viết tắt PMBOK, PMBOK Guide, hay PMBOK®Guide), sách hướng dẫn quản lý dự án, công nhận đạt tiêu chuẩn quốc tế, cung cấp kiến thức quản lý dự án cho nhà quản lý dự án chuyên nghiệp, mà dường kiến thức có hiệu với hàng loạt dự án, ngành xây dựng, phần mềm, khí, tơ, Cuốn sách thường dùng làm sách học để chuẩn bị cho kiểm tra (test, examination) PMI để lấy chứng nhận (Certification) PMI quản lý dự án PMBOK tập hợp tiến trình (process) phạm vi kiến thức (knowledge) áp dụng chung cho dự án Tiến trình mơ tả theo thuật ngữ:[1] Project Management Body of Knowledge • Dữ liệu đầu vào (văn bản, kế hoạch, thiết kế, thơng tin liên quan ) • Cơng cụ kỹ thuật quản lý (xử lý thông tin đầu vào) • Đưa kết quả, định (văn bản, sản phẩm, điều chỉnh trình, ) PMBOK đưa nhóm tiến trình 10 phạm vi kiến thức điển hình cho dự án: [1] • nhóm tiến trình là: Khởi động/chuẩn bị dự án Lập kế hoạch Triển khai, thực Giám sát quản lý Kết thúc dự án • 10 phạm vi kiến thức là: Quản lý tổng hợp dự án Quản lý phạm vi dự án Quản lý thời gian dự án Quản lý chi phí dự án Quản lý chất lượng dự án Quản lý nhân lực dự án Quản lý thông tin dự án Quản lý rủi ro dự án Quản lý hồ sơ dự án 10 Quản lý bên liên quan (được thêm vào ấn 5) Quản lý tổng hợp dự án, tạm dịch từ project integration management 10 lĩnh vực kiến thức (knowledge area) Project Management Body of Knowledge 5th edition (PMBOK 5) Viện Quản Lý Dự Án PMI ban hành vào tháng năm 2013 Quản lý tích hợp dự án gồm quy trình: · Xây dựng điều lệ dự án (Develop Project Charter) · Xây dựng kế hoạch quản lý dự án (Develop Project Management Plan) · Chỉ đạo quản lý công việc dự án (Direct and Manage Project Work) · Theo dõi kiểm sốt cơng việc dự án (Monitor and Control Project Work) · Thực kiểm soát thay đổi tích hợp (Perform Integrated Change Control) · Kết thúc dự án hay giai đoạn (Close Project or Phase) Xây dựng điều lệ dự án (Develop Project Charter): quy trình xây dựng tài liệu thức cho phép tồn dự án cho phép nhà quản lý dự án có quyền sử dụng nguồn lực tổ chức vào hoạt động dự án Lợi ích quy trình xác nhận rõ ràng ngày bắt đầu dự án ranh giới dự án, tạo hồ sơ dự án có thừa nhận cam kết thức quản lý cấp cao với dự án Xây dựng kế hoạch quản lý dự án (Develop Project Management Plan): quy trình xác định, chuẩn bị phối hợp tất kế hoạch lĩnh vực kiến thức (phạm vi, thời gian, chi phí, chất lượng, giao tiếp, nhân sự, rủi ro, mua sắm, bên liên quan) tích hợp chúng vào kế hoạch quản lý dự án tồn diện Lợi ích quy trình cung cấp tài liệu tập trung làm sở cho tất công việc dự án Chỉ đạo quản lý công việc dự án (Direct and Manage Project Work): quy trình lãnh đạo thực công việc xác định kế hoạch quản lý dự án thực thay đổi phê duyệt để đạt mục tiêu dự án Lợi ích quy trình quản lý tồn cơng việc dự án Theo dõi kiểm sốt cơng việc dự án (Monitor and Control Project Work): quy trình theo dõi, rà soát báo cáo tiến độ để đáp ứng mục tiêu xác định kế hoạch quản lý dự án Lợi ích quy trình cho phép bên liên quan hiểu trạng thái dự án, bước thực hiện, dự báo ngân sách, lịch trình phạm vi dự án Thực kiểm soát thay đổi tích hợp (Perform Integrated Change Control): quy trình xem xét tất yêu cầu thay đổi; phê duyệt thay đổi quản lý thay đổi liên quan đến sản phẩm bàn giao, tài sản quy trình tổ chức, tài liệu dự án kế hoạch quản lý dự án; truyền thông định cuối yêu cầu thay đổi Quy trình xem xét tất yêu cầu liên quan đến thay đổi hay sửa đổi tài liệu dự án, sản phẩm bàn giao, đường sở dự án, hay kế hoạch dự án, phê duyệt từ chối yêu cầu Lợi ích quy trình cho phép lập tài liệu thay đổi dự án, xem xét nhìn tích hợp tất lĩnh vực kiến thức, giảm thiểu rủi ro dự án thay đổi gây Kết thúc dự án hay giai đoạn (Close Project or Phase): quy trình hồn thiện tất hoạt động tất nhóm quy trình quản lý dự án nhằm thức hồn thành dự án giai đoạn Lợi ích quy trình cung cấp học kinh nghiệm, kết thúc thức cơng việc dự án, trả nguồn lực dự án cho tổ chức để phục vụ dự án hay công việc khác Quản lý chất lượng hoạt động có phối hợp để định hướng kiểm sốt tổ chức chất lượng Việc định hướng kiểm sốt chất lượng nói chung bao gồm lập sách chất lượng mục tiêu chất lượng, hoạch định chất lượng, kiểm soát chất lượng, đảm bảo chất lượng cải tiến chất lượng Quản lý chất lượng áp dụng ngành công nghiệp, không sản xuất mà lĩnh vực, loại hình tổ chức, từ quy mơ lớn đến quy mơ nhỏ, cho dù có tham gia vào thị trường quốc tế hay không Quản lý chất lượng đảm bảo cho tổ chức làm việc phải làm việc quan trọng, theo triết lý "làm việc đúng" "làm việc", "làm từ đầu" "làm thời điểm" Các định nghĩa quản lý chất lượng Lịch sử phát triển quản lý chất lượng Các nguyên tắc quản lý chất lượng Các trình quản lý chất lượng 4.1 Lập kế hoạch chất lượng 4.2 Kiểm soát chất lượng 4.3 Đảm bảo chất lượng 4.4 Cải tiến chất lượng Quản lý chất lượng theo phương pháp truyền thống Quản lý chất lượng toàn diện Quản lý rủi ro dự án nghệ thuật khoa học việc nhận biết, phân tích phản hồi rủi ro thơng qua vịng đời dự ánvà lợi ích tốt để đạt mục tiêu dự án.[1] Quản lý rủi ro dự án xem khía cạnh quan trọng việc quản lý dự án chín lĩnh vực kiến thức định nghĩa PMBOK.[2] Quản lý rủi ro xem kiện hay hoạt động khơng thể dự đốn tác động đến quy trình dự án, kết tích cực tiêu cực Nó tác động tích cực việc lựa chọn dự án, định nghĩa quy mô dự án phát triển lịch trình thực tế đánh giá chi phí bỏ ra.[1] Rủi ro đánh giá theo nhân tố: tác động khả xảy Nếu khả xảy 1, vấn đề Điều có nghĩa rủi ro tài liệu hóa Nếu khả xảy 0, điều có nghĩa rủi ro khơng xảy loại bỏ công cụ đăng ký rủi ro Lợi ích quản lý rủi ro[sửa | sửa mã nguồn] Quản lý rủi ro giúp giảm thiểu, giám sát điều khiển tính khả thi tác động kiện khơng dự đốn tối đa hóa nhân dạng hội Theo đó, số lợi ích việc quản lý rủi ro phần mềm sau: [3] • Dự đốn phịng tránh vấn đề • Ngăn chặn bất ngờ xảy với bên liên quan tham gia dự án • Nâng cao khả dàn xếp • Đạt cam kết khách hàng • Giảm thiểu kéo dài lịch trình phát triển dự án • Giảm tăng chi phí dự án q mức Cơng cụ Cấu trúc chia nhỏ rủi ro (risk breakdown structure) xem cơng cụ hữu ích để nhận biết rủi ro xảy đến dự án danh mục khác Sơ đồ mẫu cấu trúc chia nhỏ rủi ro dự án công nghệ thơng tin Mơ hình thác nước (tiếng Anh: waterfall model) mơ hình quy trình phát triển phần mềm, quy trình phát triển trơng giống dòng chảy, với pha thực theo trật tự nghiêm ngặt khơng có quay lui hay nhảy vượt pha là: phân tích yêu cầu, thiết kế, triển khai thực hiện, kiểm thử, liên kết bảo trì Người ta thường dẫn báo đượcWinston W Royce xuất vào năm 1970 để giải thích nguồn gốc cho tên gọi "thác nước"; có điều thú vị Royce dùng mơ hình phát triển lặp khơng dùng thuật ngữ "mơ hình thác nước" Nội dung mơ hình thác nước Vào năm 1990 báo mình, Royce mơ tả dạng khái niệm mà ngày công nhận với tên gọi "mơ hình thác nước", bàn luận nhược điểm mơ hình Trong ơng mơ hình tu sửa thành mơ hình lặp Mơ hình Royce nguyên gốc có pha theo thứ tự sau: Xác định yêu cầu Thiết kế Xây dựng (hay "triển khai", "mã hóa", "viết mã") Liên kết Kiểm thử Chỉnh sửa (hay «kiểm nghiệm») Cài đặt Bảo trì Theo mơ hình thác nước, người phát triển phải thực giai đoạn theo thứ tự nghiêm ngặt Trước hết, giai đoạn "xác định yêu cầu" phải hoàn tất, kết nhận danh sách yêu cầu phần mềm Sau yêu cầu hoàn toàn xác định, chuyển sang pha thiết kế, pha người ta tạo tài liệu dành cho lập trình viên, mơ tả chi tiết phương pháp kế hoạch thực yêu cầu làm rõ pha trước Sau pha thiết kế hồn tất, lập trình viên triển khai thực (mã hóa, viết mã) đồ án họ nhận Giai đoạn liên kết thành phần riêng lẻ đội lập trình viên khác thực thành sản phẩm hoàn chỉnh Sau pha triển khai pha liên kết hoàn tất, diễn pha kiểm thử chỉnh sửa sản phẩm; giai đoạn khiếm khuyết giai đoạn trước bị loại bỏ Sau đó, sản phẩm phần mềm đưa vào sử dụng; phần bảo trì phần mềm bảo đảm cách bổ sung chức loại trừ lỗi Như vậy, mơ hình thác nước ngụ ý rằng, việc chuyển từ pha phát triển sang pha khác diễn sau pha trước kết thúc hồn tồn thành công, quay lui pha trước hay nhảy vượt pha Tuy nhiên, tồn số mơ hình thác nước biến thể (bao gồm mơ hình Royce), quy trình phát triển mô tả bị biến đổi không nhiều bị biến đổi đáng kể ... việc theo dõi, rà so? ?t điều chỉnh lại tiến độ khả thực dự án Theo dõi rủi ro, thay đổi, ph? ?t sinh trình thực có đề xu? ?t điều chỉnh kịp thời K? ?t thúc (Closing): Giai đoạn thực để k? ?t thúc t? ? ?t ho? ?t. .. kiểm s? ? ?t thay đổi t? ?ch hợp (Perform Integrated Change Control): quy trình xem x? ?t t? ?t yêu cầu thay đổi; phê duy? ?t thay đổi quản lý thay đổi liên quan đến s? ??n phẩm bàn giao, t? ?i s? ??n quy trình t? ??... lịch thực dự án Thực ho? ?t động theo lịch trình Theo dõi tiến triển dự án, so s? ?nh với lịch trình Đánh giá lại tham s? ?? dự án Lập lại lịch thực dự án cho tham s? ?? Thỏa thuận lại ràng buộc s? ??n phẩm