Tìm hiểu các quy trình phát triển phần mềm

10 7 0
Tìm hiểu các quy trình phát triển phần mềm

Đang tải... (xem toàn văn)

Thông tin tài liệu

Untitled TRƯƠ NG ĐAI HOC BA CH KHOA HA 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 P MÔN CÔNG NGH N MỌC NHẬ Ệ PHẦ ỀM Đề tài Tìm hi u vể ề.

TRƯƠNG ĐAI HOC BA CH KHOA HA 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 - Tìm    - 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 - Một      hiểu quy trình chuẩn Cơ sở lý thuyết Phân loại Tìm hiểu chung Thời hạn Tuần 10/03 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 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 - 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 I.2 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: Đặc tả yêu cầu (Requirements Specification): ch ỉ “đòi hỏi” cho yêu cầu chức phi chức - 5|P ag e Đồ án môn học Nhập môn công nghệ phần mềm Lớp CNPM K51 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ơ hình Mơ hình Mơ hình Mơ hình 6|P ag e mẫu (Prototype) tiến hóa (Evolutionary) lặp tăng dần (Iterative and Incremental) phát triển ứng dụng nhanh (RAD) xoắn (Spiral) Đồ án môn học Nhập môn công nghệ phần mềm a Lớp CNPM K51 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 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 n ền 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 Maintenan ce): 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 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 7|P ag e Đồ án môn học Nhập môn công nghệ phần mềm Lớp CNPM K51 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õ Sau đó, thực thiết kế nhanh tập trung chuyển tải khía cạnh thơng qua 8|P ag e Đồ án môn học Nhập môn công nghệ phần mềm Lớp CNPM K51 prototype để khách hàng hình dung, đánh giá giúp hồn chỉnh u cầu cho tồn hệ thống phần mềm Việc khơng 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ế 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ờ tồ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ỏ e 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 hoà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) 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 f Mơ hình xoắn (Sprial) g 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 ... 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. .. 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. .. công nghệ phần mềm Lớp CNPM K51 Đề cương nghiên cứu STT Nội dung - Tìm    - 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 - Một      hiểu quy trình chuẩn

Ngày đăng: 26/11/2022, 17:45

Từ khóa liên quan

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

Tài liệu liên quan