BÁO cáo đồ án môn học NHẬP môn CÔNG NGHỆ PHẦN mềm đề tài tìm hiểu về các quy trình phát triển phần mềm

22 1.1K 1
BÁO cáo đồ án môn học NHẬP môn CÔNG NGHỆ PHẦN mềm đề tài tìm hiểu về các quy trình phát triển 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

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG BỘ MÔN CÔNG NGHỆ PHẦN MỀM BÁO CÁO ĐỒ ÁN MÔN HỌC NHẬP MÔN CÔNG NGHỆ PHẦN MỀM Đề tài Tìm hiểu quy trình phát triển phần mềm Giảng viên hướng dẫn: Thầy Huỳnh Quyết Thắng Sinh viên thực : Đặng Việt Hùng Nguyễn Văn Hiệp Lớp Công nghệ phần mềm K51 Đồ án môn học Nhập môn công nghệ phần mềm Lớp CNPM K51 MỤC LỤC Giới thiệu……………………………………………………………………………………………………………………… I Các quy trình phát triển phần mềm chuẩn I.1 Nội dung I.2 Chi tiết tìm hiểu I.2.1 Qui trình gì? I.2.2 SEP, ISO, CMM/CMMI I.2.3 Các mơ hình SEP II Tìm hiểu quy trình áp dụng thực tế cơng ty phần mềm .12 II.1 Nội dung 12 II.2 Chi tiết thực 12 II.2.1 Giới thiệu GoldeSoft 12 II.2.2 Khảo sát quy trình phát triển phần mềm GoldenSoft 12 II.2.3 Quy trình phát triển phần mềm số công ty phần mềm khác 16 III Nhận xét đánh giá………… 17 IV Tài liệu tham khảo………… 18 2|P ag e Đồ án môn học Nhập môn công nghệ phần mềm Lớp CNPM K51 Giới thiệu Đồ án môn học Nhập môn công nghệ phần mềm Giảng viên hướng dẫn: PGS.TS Huỳnh Quyết Thắng Danh sách nhóm STT Họ tên Đặng Việt Hùng Nguyễn Văn Hiệp Đề tài MSSV 20061444 20061208 Lớp CNPM A K51 CNPM A K51 Tìm hiểu quy trình phát triển phần mềm thực tế ứng dụng công ty phần mềm / công ty tin học làm việc địa bàn Hà nội - Công việc cụ thể       Các quy trình chuẩn: sở lí thuyết, phân loại, tìm hiểu chung Tìm hiểu thu thập tài liệu tham khảo tiêu biểu liên quan đến nội dung tập lớn Một số quy trình phát triển phần mềm thơng dụng: CMM, Prototyping, RAD, RUP, Chú ý SCRUM : chia nhỏ thành module Các công cụ hỗ trợ triển khai quy trình Thực tế ứng dụng cơng ty (trên địa bàn Hà Nội): khảo sát thực tế, vấn, đánh giá Bài học kinh nghiệm kết luận 3|P ag e Đồ án môn học Nhập môn công nghệ phần mềm Lớp CNPM K51 Đề cương nghiên cứu STT Nội dung Thời hạn - Tìm    Tuần 10/03 - Tìm hiểu, thu thập tài liệu tham khảo liên quan đến quy trình phát triển phần mềm hiểu quy trình chuẩn Cơ sở lý thuyết Phân loại Tìm hiểu chung Kết cần đạt Phân cơng nhóm Cả nhóm Tuần 10 17/03 Cả nhóm Tuần 11, 12 31/04 Cả nhóm Tuần 13 07/04 Cả nhóm - Một số quy trình thơng dụng  CMM  Prototyping  RAD  RUP  SCRUM - Các công cụ hỗ trợ triển khai quy trình - Thực tế ứng dụng công ty địa bàn Hà Nội (công ty phần mềm GoldenSoft)  Khảo sát thực tế  Phỏng vấn  Đánh giá - Công ty cổ phần phần mềm Golden Soft  Giám đốc: KS Vũ Hồng Lĩnh  Địa chỉ: Số 5-Bắc Hồng-Khương TrungThanh Xuân-Hà Nội  Điện thoại: 0947796485 - Tổng kết học kinh nghiệm, kết luận - Viết báo cáo 4|P ag e Đồ án môn học Nhập môn công nghệ phần mềm I Các quy trình phát triển phần mềm chuẩn I.1 - Nội dung Tìm hiểu quy trình phát triển phần mềm chuẩn    - Lớp CNPM K51 Cơ sở lý thuyết Phân loại Tìm hiểu chung Một số quy trình thơng dụng      - CMM Prototyping RAD RUP SCRUM Các công cụ hỗ trợ triển khai quy trình I.2 Chi tiết tìm hiểu Cũng ngành sản xuất khác, qui trình yếu tố quan trọng đem lại thành công cho nhà sản xuất phần mềm, giúp cho thành viên dự án từ người cũ đến người mới, hay ngồi cơng ty xử lý đồng cơng việc tương ứng vị trí thơng qua cách thức chung cơng ty, hay cấp độ dự án Có thể nói qui trình phát triển/xây dựng phần mềm (Software Development/Engineering Process - SEP) có tính chất định để tạo sản phẩm chất luợng tốt với chi phí thấp suất cao, điều có ý nghĩa quan trọng cơng ty sản xuất hay gia công phần mềm củng cố phát triển với công nghiệp phần mềm đầy cạnh tranh I.2.1 Qui trình gì? Qui trình hiểu phương pháp thực sản xuất sản phẩm Tương tự vậy, SEP phương pháp phát triển hay sản xuất sản phẩm phần mềm.Thơng thường qui trình bao gồm yếu tố sau:      - Thủ tục (Procedures) Hướng dẫn công việc (Activity Guidelines) Biểu mẫu (Forms/templates) Danh sách kiểm định (Checklists) Công cụ hỗ trợ (Tools) Với nhóm cơng việc chính: 5|P ag e Đồ án môn học Nhập môn công nghệ phần mềm Lớp CNPM K51 Đặc tả yêu cầu (Requirements Specification): “đòi hỏi” cho yêu cầu chức phi chức  Phát triển phần mềm (Development): tạo phần mềm thỏa mãn yêu cầu “Đặc tả yêu cầu”  Kiểm thử phần mềm (Validation/Testing): để bảo đảm phần mềm sản xuất đáp ứng “đòi hỏi” “Đặc tả yêu cầu”  Thay đổi phần mềm (Evolution): đáp ứng nhu cầu thay đổi khách hàng Tùy theo mơ hình phát triển phần mềm, nhóm cơng việc triển khai theo cách khác Để sản xuất sản phẩm phần mềm người ta dùng mơ hình khác Tuy nhiên khơng phải tất mơ hình thích hợp cho ứng dụng  I.2.2 SEP, ISO, CMM/CMMI Vấn đề đặt làm cải tiến qui trình để cải thiện chất lượng suất? Câu trả lời qui trình khung (Process Framework - PF) PF yêu cầu mà qui trình phải đáp ứng tùy theo mức độ PF không qui trình cụ thể mà đưa yêu cầu mức độ trưởng thành khác qui trình phải đạt Đây hướng dẫn cho hoạt động cải tiến để nâng mức độ trưởng thành từ thấp lên cao Có nhiều PF, phổ biến ISO CMM (Capability Maturity Model) tổ chức giới công nhận ISO nhắm chung đến nhiều loại tổ chức sản xuất lẫn dịch vụ, CMM dành riêng cho tổ chức phát triển phần mềm Đối với phần mềm, ISO mức độ chất lượng yêu cầu tối thiểu mà SEP phải đạt (ISO certified) việc cải tiến qui trình thực thơng qua qui trình kiểm định, CMM bao gồm thực tiễn tốt (best practices) tập hợp rút tỉa từ nhiều tổ chức phát triển phần mềm khác chúng tổ chức thành mức độ trưởng thành khác (Level - Initial, Level - Repeatable, Level - Defined, Level - Managed, Level - Optimizing) Ngày nay, phần mềm khơng đứng riêng mà thường phận hệ thống hồn chỉnh Do đó, CMMI (Capability Maturity Model Integration) đời hướng đến qui trình cho việc xây dựng hệ thống, bao gồm việc tích hợp để xây dựng bảo trì tồn hệ thống I.2.3 Các mơ hình SEP Mơ hình SEP cịn gọi chu trình hay vịng đời phần mềm (SLC - Software Life Cycle) SLC tập hợp công việc quan hệ chúng với diễn trình phát triển phần mềm Có nhiều mơ hình SLC khác nhau, số ứng dụng phổ biến giới: - Các mơ hình phiên (Single-version models) • Mơ hình Waterfall (Waterfall model) • Mơ hình chữ V (V-model) - Các mơ hình nhiều phiên (Multi-version models) • Mơ hình mẫu (Prototype) • Mơ hình tiến hóa (Evolutionary) • Mơ hình lặp tăng dần (Iterative and Incremental) 6|P ag e Đồ án môn học Nhập mơn cơng nghệ phần mềm Lớp CNPM K51 • Mơ hình phát triển ứng dụng nhanh (RAD) • Mơ hình xoắn (Spiral) a Mơ hình Waterfall Mơ hình bao gồm giai đoạn xử lý nối tiếp mơ tả Hình Hình Mơ hình Waterfall Phân tích yêu cầu tài liệu đặc tả (Requirements and Specifications): giai đoạn xác định “đòi hỏi” (“What”) liên quan đến chức phi chức mà hệ thống phần mềm cần có Giai đoạn cần tham gia tích cực khách hàng kết thúc tài liệu gọi “Bản đặc tả yêu cầu phần mềm” hay SRS (software requirement specification), bao gồm tập hợp yêu cầu duyệt (reviewed) nghiệm thu (approved) người có trách nhiệm dự án (từ phía khách hàng) SRS tảng cho hoạt động cuối dự án Phân tích hệ thống thiết kế (System Analysis and Design): giai đoạn định “làm nào” (“How”) để hệ thống phần mềm đáp ứng “đòi hỏi” (“What”) mà khách hàng yêu cầu SRS Đây là cầu nối “đòi hỏi” (“What”) mã (Code) thực để đáp ứng yêu cầu Hiện thực kiểm thử thành phần (Coding and Unit Test): giai đoạn thực “làm nào” (“How”) giai đoạn “Phân tích hệ thống thiết kế” Kiểm thử (Test): giai đoạn tiến hành kiểm thử mã (code) thực, bao gồm kiểm thử tích hợp cho nhóm thành phần kiểm thử toàn hệ thống (system test) Một khâu kiểm thử cuối thường thực nghiệm thu (acceptance test), với tham gia khách hàng vai trị để xác định hệ thống phần mềm có đáp ứng yêu cầu họ hay khơng Cài đặt bảo trì (Deployment and Maintenance): giai đoạn cài đặt, cấu hình huấn luyện khách hàng Giai đoạn sửa chữa lỗi phần mềm (nếu có) phát triển thay đổi khách hàng yêu cầu (như sửa đổi, thêm hay bớt chức năng/đặc điểm hệ thống) Thực tế cho thấy đến giai đoạn sau có khả nhận sai sót 7|P ag e Đồ án môn học Nhập môn công nghệ phần mềm Lớp CNPM K51 giai đoạn trước phải quay lại để sửa chữa Đây kiểu waterfall dạng lặp (Iterative Waterfall) minh hoạ Hình b Mơ hình chữ V Trong mơ hình Waterfall, kiểm thử thực giai đoạn riêng biệt Còn với mơ hình chữ V, tồn qui trình chia thành hai nhóm giai đoạn tương ứng nhau: phát triển kiểm thử Mỗi giai đoạn phát triển kết hợp với giai đoạn kiểm thử tương ứng minh họa Hình Hình Mơ hình chữ V Tinh thần chủ đạo V-model hoạt động kiểm thử phải tiến hành song song (theo khả có thể) từ đầu chu trình với hoạt động phát triển Ví dụ, hoạt động cho việc lập kế hoạch kiểm thử tồn hệ thống thực song song với hoạt động phân tích thiết kế hệ thống c Mơ hình mẫu (Prototype) Hình Mơ hình mẫu Mơ hình mẫu (prototype) minh hoạ Hình Trong đó, qui trình bắt đầu việc thu thập yêu cầu với có mặt đại diện phía phát triển lẫn khách hàng nhằm định mục tiêu tổng thể hệ thống phần mềm sau này, đồng thời ghi nhận tất yêu cầu biết sơ luợc nhóm yêu cầu cần phải làm rõ 8|P ag e Đồ án môn học Nhập môn công nghệ phần mềm Lớp CNPM K51 Sau đó, thực thiết kế nhanh tập trung chuyển tải khía cạnh thơng qua prototype để khách hàng hình dung, đánh giá giúp hoàn chỉnh yêu cầu cho toàn hệ thống phần mềm Việc giúp tinh chỉnh yêu cầu, mà đồng thời giúp cho đội ngũ phát triển thơng hiểu cần phát triển Tiếp theo sau giai đoạn làm prototype chu trình theo mơ hình waterfall mơ hình khác Chú ý, prototype thường làm thật nhanh thời gian ngắn nên không xây dựng môi trường công cụ phát triển giai đoạn xây dựng phần mềm thực sau Prototype không đặt mục tiêu tái sử dụng cho giai đoạn phát triển thực sau d biệt:   Mơ hình tiến hóa (Evolutionary) Mơ hình thực dạng dựa mơ hình mẫu, nhiên có khác Mơ hình tiến hóa xây dựng nhiều phiên prototype liên tiếp Những phiên prototype trước xây dựng với mục tiêu tái sử dụng phiên sau Hình minh họa mơ hình tiến hóa, cho thấy số phần hệ thống phần mềm đuợc xây dựng sớm từ giai đoạn thực phân tích yêu cầu thiết kế e Mơ hình lặp tăng dần (Iterative and Incremental) Mơ hình lặp tăng dần có lúc hiểu Tuy nhiên, ta phân biệt nhiều khác biệt Trước tiên, hai mơ hình có điểm giống dựa tinh thần mơ hình tiến hóa, có thêm đặc điểm nhắm đến việc cung cấp phần hệ thống, để khách hàng đưa vào sử dụng môi trường hoạt động sản xuất thực sự, mà không cần chờ toàn hệ thống hồn thành (trong mơ hình mẫu hay tiến hóa, phiên mẫu hay trung gian không nhắm đến đưa vào vận hành thực cho khách hàng, trừ phiên cuối cùng) Để khách hàng sử dụng, phiên phải thực qui trình đầy đủ cơng việc từ phân tích yêu cầu với khả bổ sung hay thay đổi, thiết kế, thực kiểm nghiệm xem qui trình (chu trình) Các chu trình sử dụng mơ hình khác (thơng thường waterfall) Hình minh họa hai mơ hình này, chu trình waterfall nhỏ 9|P ag e Đồ án môn học Nhập môn công nghệ phần mềm Lớp CNPM K51 Hình Mục tiêu phiên phát triển phần lõi nhóm chức quan trọng Sau phiên đưa vào sử dụng, kết đánh giá phản hồi lập kế hoạch cho chu trình phiên để thực hiện:      Những thay đổi cho phiên trước nhằm đáp ứng nhu cầu khách hàng tốt Có thể thêm chức đặc điểm bổ sung Sự khác hai mơ hình tăng dần lặp hiểu đơn giản sau (so với sản phẩm hồn thành chu trình trước): Mơ hình tăng dần (Incremental): thêm chức vào sản phẩm (xem minh hoạ Hình 6) Mơ hình lặp (Iterative): thay đổi sản phẩm (xem minh họa Hình 6) Một SEP kết hợp hai mơ hình lặp lẫn tăng dần, chẳng hạn RUP (Rational Unified Process) f Mơ hình phát triển nhanh (RAD) Mơ hình phát triển nhanh (RAD - Rapid Application Development) mơ hình tăng dần với chu kỳ phát triển cực ngắn Để đạt mục tiêu này, RAD dựa phương pháp phát triển sở thành phần hóa hệ thống với việc tái sử dụng thành phần thích hợp RAD thích hợp cho hệ thống quản lý thơng tin g Mơ hình xoắn (Sprial) Mơ hình xây dựng Barry Boehm, đặt trọng tâm phân tích rủi ro xem xét kế hoạch để giải chúng, thông qua nhiều chu kỳ nối tiếp lặp liên tiếp dựa chất mô hình lặp Trong mơ hình này, việc phân tích giải vấn đề có rủi ro cao tập trung vào thiết kế khía cạnh cụ thể không dựa vào việc xử lý vấn đề cách chung chung Hình minh họa mơ hình với giai đoạn lặp theo chu kỳ xoay vòng, chu kỳ bao gồm giai đoạn sau:     Analysis: Xác định mục tiêu chất lượng cho sản phẩm thực hiện, đồng thời xác định lựa chọn mua, tái sử dụng hay tự thiết kế thực thành phần hệ thống Evaluation: Phân tích lựa chọn rủi ro xảy Việc thực nhiều hoạt động khác thông qua làm mẫu hay mô Development: Phát triển kiểm định sản phẩm mức dựa kết định hướng giai đoạn số (phân tích rủi ro) Planing: Kiểm duyệt tất kết giai đoạn xảy trước lập kế hoạch cho chu kỳ lặp 10 | P a g e Đồ án môn học Nhập môn công nghệ phần mềm Hình 11 | P a g e Lớp CNPM K51 Đồ án môn học Nhập môn công nghệ phần mềm II Tìm hiểu quy trình áp dụng thực tế công ty phần mềm II.1 - Nội dung Tìm hiểu quy trình áp dụng thực tế công ty phần mềm - Cụ thể khảo sát công ty Golden Soft Lớp CNPM K51 II.2 Chi tiết thực Tiếp tục thực theo đề cương đồ án, nhóm tiến hành khảo sát, tìm hiểu thực tế áp dụng quy trình phát triển phần mềm công ty địa bàn Hà Nội Cụ thể nhóm khảo sát cơng ty sau:   Trực tiếp khảo sát công ty cổ phần phần mềm vàng GoldenSoft Tìm hiểu thơng tin quy trình cơng ty o FPT o Tinh vân o Sóc bay o II.2.1 Giới thiệu GoldenSoft Cơng ty GoldenSoft công ty hàng đầu lĩnh vực phát triển hệ thống phần mềm hướng dịch vụ Cơng ty phần q trình thực hóa đề án xây dựng phủ điện tử Một số hệ thống GoldenSoft nghiên cứu, triển khai, phát triển; hỗ trợ hiệu cho quan quản lý nhà nước nhiều lĩnh vực, đặc biệt bất động sản      - Hệ thống cấp quản lý giấy chứng nhận chuyên gia môi giới định giá bất động sản Hệ thống cấp quản lý giấy chứng nhận quyền sử dụng đất, quyền sở hữu nhà tài sản khác gắn liền với đất Hệ thống sàn bất động sản điện tử Việt Nam Hệ thống website ban đạo trung ương vấn đề nhà bất động sản Cơng ty GoldenSoft có 20 nhân viên, kỹ sư tốt nghiệp khoa CNTT ĐHBKHN II.2.2 Khảo sát quy trình phát triển phần mềm GoldenSoft Hiện GoldenSoft áp dụng quy trình SCRUM, theo mơ hình linh hoạt Do đặc thù đội phát triển số lượng nhỏ (có team, team khoảng thành viên), nên việc áp dụng quy trình SCRUM giúp việc phát triển phần mềm trở nên nhanh chóng dễ dàng a Giới thiệu SCRUM Đó quy trình phát triển phần mềm theo mơ hình linh hoạt (agile) Công nghệ Agile cung cấp nhiều phương pháp luận, quy trình thực nghiệm việc phát triển phần mềm trở nên nhanh chóng dễ dàng Scrum theo mơ hình Scrum chia dự án thành vòng lặp phát triển gọi sprint Mỗi sprint thường 2- tuần (30 ngày) để hồn thành Nó phù hợp cho dự án có nhiều thay đổi 12 | P a g e Đồ án môn học Nhập môn công nghệ phần mềm Lớp CNPM K51 yêu cầu tốc độ cao Một sprint hoàn thành số chức năng, mục đích tồn hệ thống Các tác vụ sprint chia thành danh mục, đội làm việc phát triển đánh giá lại cho đạt mục đích ban đầu khoảng thời gian đề Thành phần quan trọng scrum role (vai trò) trao đổi đánh giá Có role là:    Product Owner: người làm công việc bắt đầu cho dự án, tạo yêu cầu q trình phát triển dự án Phân tích mục tiêu, giải phóng kế hoạch Scrum Master: họ phải đảm bảo sprint hồn thành mục đích, bảo vệ đội làm việc loại bỏ trở ngại Đội làm việc scrum: thường từ 5-9 người, tùy theo quy mơ dự án có nhiều đội, nhiều người tham gia Sẽ khơng có lập trình viên (programmer), người thiết kế (designer), kiểm thử viên (tester),… thường thấy dự án phần mềm truyền thống Các đội làm việc tiến hành cài đặt chức mô tả yêu cầu Họ tự quản lý, tổ chức điều chỉnh đội làm việc cho hiệu lớn Tất thành viên có ảnh hưởng đến thành công thất bại toàn hệ thống hệ thống nhỏ Có pha lập kế hoạch kết thúc xác định tiến trình cần thiết gồm liệu đầu vào đầu thật đầy đủ Có số vịng lặp phát triển pha kế hoạch Kế hoạch lập ban đầu tương đối có điều chỉnh b So sánh scrum quy trình phần mềm truyền thống Với phương pháp truyền thống, việc lập kế hoạch dự án (xác định việc cần làm thời gian kế thúc) dựa kinh nghiệm môi trường làm trực tiếp Và so với kế hoạch bắt tay vào xây dựng thường có độ trễ định Scrum quy trình thác nước (waterfall), xoắn ốc (spiral) 13 | P a g e Đồ án môn học Nhập môn công nghệ phần mềm Lớp CNPM K51 yêu cầu tốc độ cao Một sprint hồn thành số chức năng, mục đích tồn hệ thống Các tác vụ sprint chia thành danh mục, đội làm việc phát triển đánh giá lại cho đạt mục đích ban đầu khoảng thời gian đề Thành phần quan trọng scrum role (vai trò) trao đổi đánh giá Có role là:    Product Owner: người làm công việc bắt đầu cho dự án, tạo yêu cầu trình phát triển dự án Phân tích mục tiêu, giải phóng kế hoạch Scrum Master: họ phải đảm bảo sprint hồn thành mục đích, bảo vệ đội làm việc loại bỏ trở ngại Đội làm việc scrum: thường từ 5-9 người, tùy theo quy mơ dự án có nhiều đội, nhiều người tham gia Sẽ khơng có lập trình viên (programmer), người thiết kế (designer), kiểm thử viên (tester),… thường thấy dự án phần mềm truyền thống Các đội làm việc tiến hành cài đặt chức mô tả yêu cầu Họ tự quản lý, tổ chức điều chỉnh đội làm việc cho hiệu lớn Tất thành viên có ảnh hưởng đến thành cơng thất bại tồn hệ thống hệ thống nhỏ Có pha lập kế hoạch kết thúc xác định tiến trình cần thiết gồm liệu đầu vào đầu thật đầy đủ Có số vòng lặp phát triển pha kế hoạch Kế hoạch lập ban đầu tương đối có điều chỉnh b So sánh scrum quy trình phần mềm truyền thống Với phương pháp truyền thống, việc lập kế hoạch dự án (xác định việc cần làm thời gian kế thúc) dựa kinh nghiệm môi trường làm trực tiếp Và so với kế hoạch bắt tay vào xây dựng thường có độ trễ định Scrum quy trình thác nước (waterfall), xoắn ốc (spiral) 13 | P a g e Đồ án môn học Nhập môn công nghệ phần mềm   Lớp CNPM K51 Mơ hình thác nước chia dự án phần mềm gồm giai đoạn: đặc tả yêu cầu, thiết kế hệ thống, cài đặt (lập trình), kiểm thử bảo trì Quy trình dễ quản lý lại linh hoạt không hiệu có thay đổi giai đoạn sau ảnh hưởng lớn đến giai đoạn trước Quy trình xoắn ốc chia dự án thành giai đoạn: lập kế hoạch, phân tích rủi ro, giao tiếp khách hàng, đánh giá lại, sản xuất phân phối Nó chưa sử dụng rộng rãi Các quy trình phần mềm truyền thống thường có nhiều giai đoạn, nhiều thành phần, yếu tố suốt thời gian phát triển sản phẩm Phương pháp scrum tránh điều Đặc điểm Waterfall Spiral Scrum c - Áp dụng scrum GoldeSoft Triển khai SCRUM GoldenSoft trải qua 10 bước sau:  Bước 1: Thu nhập đặc điểm sản phẩm (backlog) đơn đặt hàng Đây bước quan trọng Lập nên đội làm việc, tách thành đội cần thiết thảo luận với nghiệp vụ cần làm Sau bổ nhiệm người vào vị trí Product owner, người có khả trao đổi, bao quát công việc tốt, biết xếp ưu tiên thứ tự nhiệm vụ Sau tự tổ chức lại đội làm việc, đề xuất vị trí Scrum master thảo luận chi tiết yêu cầu, xếp chúng theo thứ tự ưu tiên  Bước 2: Ước lượng đầy yêu cầu sản phẩm đầu Có ước lượng mức độ cao, chia sản phẩm thành số lượng danh mục backlog Tuy nhiên số lượng khơng xác được, sau chúng bổ sung Tiếp đến ước lượng chi tiết backlog, ước lượng số lượng đội làm việc  Bước 3: Lên kế hoạch phát triển vòng lặp sprint Sử dụng trao đổi kế hoạch phát triển sprint với tất thành viên Xác định khoảng thời gian phát triển 14 | P a g e Đồ án môn học Nhập môn công nghệ phần mềm Lớp CNPM K51 sprint (thường 30 ngày), mục tiêu sprint gì, đạt gì, phân tích u cầu sprint cách rõ ràng d  Bước 4: Lên kế hoạch phát triển nhiệm vụ sprint Tất người xác định ngân sách sprint đó, chia đặc điểm thành tác vụ nhỏ hơn, ước lượng số thời gian làm task (giờ), hoàn tất yêu cầu nhận dạng task quan trọng  Bước 5: Tạo không gian làm việc cộng tác cho tất người Thường sử dụng bảng trắng để vẽ nên vấn đề cần thiết cho tất người đánh giá  Bước 6: Các thành viên bắt tay xây dựng sprint Lập trình, kiểm thử điều chỉnh thời gian để có hiệu tốt Đơi hủy bỏ sprint quay lại với việc lập kế hoạch khác  Bước 7: Mọi người báo cáo kết để tiếp tục làm việc Các báo cáo tập trung vào vấn đề: đạt so với lần trao đổi trước; hồn thành lần trao đổi tiếp theo; có trở ngại trình làm việc v.v  Bước 8: Tổng hợp kết biểu đồ Đây tranh tổng quát việc làm được, việc chưa làm được, thời gian ước lượng lại điều chỉnh lại  Bước 9: Xem xét để hồn tất Khi thành viên nói cơng việc hồn thành có nghĩa thay đổi bị từ chối, đẩy lại cho vòng lặp sau  Bước 10: Đánh giá, phản ánh lặp lại Có họp đánh giá lại sprint thành viên Sẽ trình bày đạt được, phản hồi khách hàng, xét thời hạn sprint Nhìn lại biểu đồ bước để xác định lại toàn hệ thống tiếp nhận đóng góp, bổ sung để đưa tiếp vào vòng lặp sprint Các điểm mạnh quy trình SCRUM áp dụng GoldenSoft Điểm mạnh việc linh hoạt, dự án không cố định từ đầu thời gian hồn thành hay u cầu mà xác định phát triển thực tế Phân phối sản phẩm mềm dẻo: nội dung sản phẩm chuyển giao xác định linh hoạt theo môi trường sử dụng thực tế Thời gian biểu linh hoạt: muộn sớm so với kế hoạch ban đầu Chất lượng sản phẩm tốt giảm rủi ro sản xuất, chi phí thấp Khả trao đổi khách hàng nhà phát triển, thành viên đội đặt lên mức cao Tốc độ phát triển nhanh, tiết kiệm thời gian Việc chuẩn bị hành động cho thay đổi trình phát triển tốt hàng ngày ln có buổi họp đánh giá lại vòng lặp phát triển Các bugs (lỗi) vấn đề phát sớm nhiều so với phương pháp truyền thống khách hàng tham gia đánh giá nhiều đầu sản phẩm nhanh Và sai hướng, hủy sprint để quay lại với kế hoạch 15 | P a g e Đồ án môn học Nhập môn công nghệ phần mềm Lớp CNPM K51 II.2.3 Quy trình phát triển phần mềm số công ty phần mềm khác Theo khảo sát nhóm, cơng ty phần mềm khác áp dụng quy trình dựa quy trình chuẩn Tuy nhiên tùy đặc thù cơng ty, số lượng nhân viên, số thành viên team, quy mơ dự án; mà có điều chỉnh cho phù hợp Nhận xét chung dự án vừa nhỏ, quy trình phần mềm thường chưa quan tâm mức Sau có phân tích, thành viên bắt tay vào cài đặt Mỗi có lỗi u cầu chỉnh sửa, họp bàn team để xử lý 16 | P a g e Đồ án môn học Nhập môn công nghệ phần mềm   Lớp CNPM K51 Mơ hình thác nước chia dự án phần mềm gồm giai đoạn: đặc tả yêu cầu, thiết kế hệ thống, cài đặt (lập trình), kiểm thử bảo trì Quy trình dễ quản lý lại linh hoạt không hiệu có thay đổi giai đoạn sau ảnh hưởng lớn đến giai đoạn trước Quy trình xoắn ốc chia dự án thành giai đoạn: lập kế hoạch, phân tích rủi ro, giao tiếp khách hàng, đánh giá lại, sản xuất phân phối Nó chưa sử dụng rộng rãi Các quy trình phần mềm truyền thống thường có nhiều giai đoạn, nhiều thành phần, yếu tố suốt thời gian phát triển sản phẩm Phương pháp scrum tránh điều Đặc điểm Waterfall Spiral Scrum c - Áp dụng scrum GoldeSoft Triển khai SCRUM GoldenSoft trải qua 10 bước sau:  Bước 1: Thu nhập đặc điểm sản phẩm (backlog) đơn đặt hàng Đây bước quan trọng Lập nên đội làm việc, tách thành đội cần thiết thảo luận với nghiệp vụ cần làm Sau bổ nhiệm người vào vị trí Product owner, người có khả trao đổi, bao quát công việc tốt, biết xếp ưu tiên thứ tự nhiệm vụ Sau tự tổ chức lại đội làm việc, đề xuất vị trí Scrum master thảo luận chi tiết yêu cầu, xếp chúng theo thứ tự ưu tiên  Bước 2: Ước lượng đầy yêu cầu sản phẩm đầu Có ước lượng mức độ cao, chia sản phẩm thành số lượng danh mục backlog Tuy nhiên số lượng khơng xác được, sau chúng bổ sung Tiếp đến ước lượng chi tiết backlog, ước lượng số lượng đội làm việc  Bước 3: Lên kế hoạch phát triển vòng lặp sprint Sử dụng trao đổi kế hoạch phát triển sprint với tất thành viên Xác định khoảng thời gian phát triển 14 | P a g e Đồ án môn học Nhập môn công nghệ phần mềm Lớp CNPM K51 sprint (thường 30 ngày), mục tiêu sprint gì, đạt gì, phân tích u cầu sprint cách rõ ràng d  Bước 4: Lên kế hoạch phát triển nhiệm vụ sprint Tất người xác định ngân sách sprint đó, chia đặc điểm thành tác vụ nhỏ hơn, ước lượng số thời gian làm task (giờ), hoàn tất yêu cầu nhận dạng task quan trọng  Bước 5: Tạo không gian làm việc cộng tác cho tất người Thường sử dụng bảng trắng để vẽ nên vấn đề cần thiết cho tất người đánh giá  Bước 6: Các thành viên bắt tay xây dựng sprint Lập trình, kiểm thử điều chỉnh thời gian để có hiệu tốt Đơi hủy bỏ sprint quay lại với việc lập kế hoạch khác  Bước 7: Mọi người báo cáo kết để tiếp tục làm việc Các báo cáo tập trung vào vấn đề: đạt so với lần trao đổi trước; hồn thành lần trao đổi tiếp theo; có trở ngại trình làm việc v.v  Bước 8: Tổng hợp kết biểu đồ Đây tranh tổng quát việc làm được, việc chưa làm được, thời gian ước lượng cịn lại điều chỉnh lại  Bước 9: Xem xét để hoàn tất Khi thành viên nói cơng việc hồn thành có nghĩa thay đổi bị từ chối, đẩy lại cho vòng lặp sau  Bước 10: Đánh giá, phản ánh lặp lại Có họp đánh giá lại sprint thành viên Sẽ trình bày đạt được, phản hồi khách hàng, xét thời hạn sprint Nhìn lại biểu đồ bước để xác định lại toàn hệ thống tiếp nhận đóng góp, bổ sung để đưa tiếp vào vòng lặp sprint Các điểm mạnh quy trình SCRUM áp dụng GoldenSoft Điểm mạnh việc linh hoạt, dự án không cố định từ đầu thời gian hoàn thành hay yêu cầu mà xác định phát triển thực tế Phân phối sản phẩm mềm dẻo: nội dung sản phẩm chuyển giao xác định linh hoạt theo môi trường sử dụng thực tế Thời gian biểu linh hoạt: muộn sớm so với kế hoạch ban đầu Chất lượng sản phẩm tốt giảm rủi ro sản xuất, chi phí thấp Khả trao đổi khách hàng nhà phát triển, thành viên đội đặt lên mức cao Tốc độ phát triển nhanh, tiết kiệm thời gian Việc chuẩn bị hành động cho thay đổi trình phát triển tốt hàng ngày ln có buổi họp đánh giá lại vịng lặp phát triển Các bugs (lỗi) vấn đề phát sớm nhiều so với phương pháp truyền thống khách hàng tham gia đánh giá nhiều đầu sản phẩm nhanh Và sai hướng, hủy sprint để quay lại với kế hoạch 15 | P a g e Đồ án môn học Nhập môn công nghệ phần mềm Lớp CNPM K51 II.2.3 Quy trình phát triển phần mềm số cơng ty phần mềm khác Theo khảo sát nhóm, công ty phần mềm khác áp dụng quy trình dựa quy trình chuẩn Tuy nhiên tùy đặc thù công ty, số lượng nhân viên, số thành viên team, quy mô dự án; mà có điều chỉnh cho phù hợp Nhận xét chung dự án vừa nhỏ, quy trình phần mềm thường chưa quan tâm mức Sau có phân tích, thành viên bắt tay vào cài đặt Mỗi có lỗi yêu cầu chỉnh sửa, họp bàn team để xử lý 16 | P a g e Đồ án môn học Nhập môn công nghệ phần mềm III Nhận xét đánh giá - Thơng qua việc thực đồ án, nhóm rút học sau    Lớp CNPM K51 Nắm tầm quan trọng quy trình phát triển phần mềm Nắm kiến thức quy trình phát triển phần mềm: sở lý thuyết, quy trình thực tế, cơng cụ hỗ trợ triển khai quy trình Học hỏi kinh nghiệm áp dụng quy trình phát triển phần mềm công ty 17 | P a g e Đồ án môn học Nhập môn công nghệ phần mềm IV Lớp CNPM K51 Tài liệu tham khảo Bài giảng Thầy Huỳnh Quyết Thắng, Viện CNTT&TT, ĐHBKHN Roger S Pressman: “Software Engineering: A Practitioner's Approach”, 6th Ed., McGraw Hill, 2004 Ian Sommerville: “Software Engineering”, 7th Ed., Addison-Wesley, 2004 Ghezzi, M Jazayeri, and D Mandrioli, Fundamentals of Software Engineering 2nd Ed., Prentice-Hall, 2002 John Musa: “Software Reliability Engineering”, McGraw-Hill, 1998 Barry W Boehm et al.: “Software Cost Estimation with COCOMO II”, Prentice Hall PTR, 2000 Guide to the Software Engineering Body of Knowledge(SWEBOK) – IEEE 2004 Version wikipedia.org www.pcworld.com.vn - Các viết, tài liệu liên quan mơ hình phát triển phần mềm 18 | P a g e ... kết học kinh nghiệm, kết luận - Viết báo cáo 4|P ag e Đồ án môn học Nhập môn công nghệ phần mềm I Các quy trình phát triển phần mềm chuẩn I.1 - Nội dung Tìm hiểu quy trình phát triển phần mềm. .. g e Đồ án môn học Nhập môn công nghệ phần mềm Lớp CNPM K51 II.2.3 Quy trình phát triển phần mềm số công ty phần mềm khác Theo khảo sát nhóm, cơng ty phần mềm khác áp dụng quy trình dựa quy trình. .. g e Đồ án môn học Nhập môn công nghệ phần mềm Lớp CNPM K51 II.2.3 Quy trình phát triển phần mềm số cơng ty phần mềm khác Theo khảo sát nhóm, cơng ty phần mềm khác áp dụng quy trình dựa quy trình

Ngày đăng: 08/01/2016, 08:33

Từ khóa liên quan

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

Tài liệu liên quan