Việc làm phần mềm theo yêu cầu (customize) đòi hỏi khách hàng có hiểu biết về việc phát triển phần mềm và đặc biệt là có tài chính đủ để thực hiện, vì làm phần mềm customize có chi phí cao (từ trăm triệu đến nhiều tỉ đồng), thời gian hoàn thành theo tiến độ và có thể kéo dài nếu thay đổi yêu cầu.
Dtech ngoài việc cung cấp phần mềm đóng gói với hàng trăm doanh nghiệp đang sử dụng, để tiết kiệm chi phí bạn nên sử dụng phần mềm đóng gói với chi phí rất rẻ. Nếu nhu cầu doanh nghiệp quá đặc thù, chưa có phần mềm nào đáp ứng được và quý vị đã chuẩn bị tài chính sẵn sàng (tối thiểu vài chục đến vài trăm triệu và có thể vài tỉ đồng) thì hãy liên hệ với dịch vụ làm phần mềm theo yêu cầu (phần mềm customize) của Dtech.
Gọi ngay cho hotline tư vấn: 0982.000.000 (Mr. Dương) để được tư vấn đúng quy trình.
Bài viết dưới đây chia sẻ về các quy trình cơ bản để phát triển phần mềm. Tùy vào tính chất của mỗi dự án, Dtech sẽ tư vấn để đưa giải pháp tối ưu nhất với ngân sách và nhu cầu.
I. Tổng quan về quy trình phát triển phần mềm
Một quy trình tốt và hợp lí luôn tạo ra những sản phẩm đạt tiêu chuẩn. Nó giúp tương tác hóa các hoạt động và yếu tố với nhau một các nhịp nhàng, đem lại hiệu quả.
Có thể cho rằng quy trình phần mềm đem lại chất lượng, năng suất, giá thành phần phềm, từ đó tăng tính cạnh tranh và đem lại lợi nhuận cao cho doanh nghiệp.
1. Khái niệm
Quy trình phát triển phần mềm là một tập hợp các hoạt động tổ chức mà mục đích của chúng là xây dựng và phát triển phần mềm.
Những câu hỏi được đặt ra ở đâu là:
Nhân sự: Ai sẽ làm? Ai làm gì?
Thời gian: Khi nào làm? Làm mất bao nhiêu thời gian?
Phương pháp: Làm như thế nào?
Công cụ: Dùng công cụ gì để làm công việc này?
Chi phí: Chi phí bỏ ra bao nhiêu? Thu về bao nhiêu? (ước tính)
Mục tiêu: Mục tiêu hướng đến là gì?
Mỗi loại hệ thống khác nhau thì cần những quy trình phát triển khác nhau.
2. Các hoạt động cơ bản của quy trình phát triển phần mềm
Có 4 thao tác là nền tảng của hầu hết các quy trình phát triển phần mềm:
- Đặc tả phần mềm: Định nghĩa được các chức năng, điều kiện hoạt động của phần mềm.
- Phát triển phần mềm: Là quá trình xây dựng các đặc tả.
- Đánh giá phần mềm: Phầm mềm phải được đánh giá để chắc chắn rằng ít nhất có thể thực hiện những gì mà tài liệu đặc tả yêu cầu.
- Tiến hóa phần mềm: Đây là quá trình hoàn thiện các chức năng cũng như giao diện để ngày càng hoàn thiện phần mềm cũng như các yêu cầu đưa ra từ phía khách hàng.
II. Các mô hình phát triển trong dự án phần mềm
1. Waterfall model- Mô hình thác nước
Mô tả: Mô hình thác nước là mô hình áp dụng theo tính tuần tự của các giai đoạn phát triển phần mềm, có nghĩa là: giai đoạn sau chỉ được thực hiện tiếp khi giai đoạn trước đã kết thúc. Không được quay lại giai đoạn trước để xử lí các thay đổi trong yêu cầu. Đây được coi là mô hình phát triển phần mềm đầu tiên.
Áp dụng: Thường được áp dụng cho các dự án không thường xuyên bị thay đổi về yêu cầu.
Đặc điểm:
Ưu điểm:
Dễ sử dụng, dễ tiếp cận
Các giai đoạn và hoạt động được xác định rõ ràng
Xác nhận ở từng giai đoạn, đảm bảo phát hiện sớm các lỗi
Nhược điểm:
Rất khó để quay lại giai đoạn nào khi nó đã kết thúc
Ít tính linh hoạt và phạm vi điều chỉnh của nó khá là khó khăn, tốn kém.
2. V- Shaped Model- Mô hình chữ V
Mô tả: Đây là mô hình mở rộng từ mô hình thác nước, thay vì di chuyển xuống theo tuần tự các bước thì quy trình sẽ đi theo hình chữ V.
Áp dụng:
Yêu cầu phần mềm phải xác định rõ ràng
Công nghệ phần mềm và các công cụ phải được tìm hiểu kĩ
Đặc điểm:
Ưu điểm:
Đơn giản dễ sử dụng
Phấn phối cụ thể theo mỗi giai đoạn
Thực hiện verification và validation sớm trong mỗi giai đoạn phát triển
Nhược điểm: Phạm vi điều chỉnh khá là khó khăn và tốn kém.
Spiral Model - Mô hình xoắn ốc
Mô tả: Là mô hình kết hợp giữa các tính năng của mô hình prototyping và mô hình thác nước. Mô hình xoắn ốc được ưa chuộng cho các dự án lớn, đắt tiền và phức tạp. Mô hình này sử dụng nhiều những giai đoạn tương tự như mô hình thác nước, về thứ tự, plan, đánh giá rủi ro, ...
Áp dụng: Thường được sử dụng cho các ứng dụng lớn và các hệ thống được xây dựng theo các giai đoạn nhỏ hoặc theo các phân đoạn.
Đặc điểm:
Ưu điểm:
Estimates (i.e. budget, schedule, etc.) trở nên thực tế hơn như là một quy trình làm việc, bởi vì những vấn đề quan trọng đã được phát hiện sớm hơn.
Có sự tham gia sớm của deverlopers
Quản lý rủi ro và phát triển hệ thống theo phase
Nhược điểm:
Chi phí cao và thời gian dài để có sản phẩm cuối cùng
Phải có kỹ năng tốt để đánh giá rủi ro và giả định.
3. Iterative Model- Mô hình tiếp cận lặp
Example:
Diagram:
Mô tả: Một mô hình được lặp đi lặp lại từ khi start cho đến khi làm đầy đủ spec, thay vì phát triển phần mềm từ spec đặc tả rồi mới bắt đầu thực thi thì mô hình này có thể review dần dần để đi đến yêu cầu cuối cùng. Quy trình phát triển được lặp đi lặp lại cho mỗi một version của sản phẩm trong mỗi chu kỳ.
Áp dụng:
Yêu cầu của hề thống đã hoàn chỉnh, được xác định rõ ràng và dễ hiểu
Yêu cầu chính cần được xác định, và một số chi tiết có thể được đổi mới theo thời gian
Đặc điểm:
Ưu điểm:
Xây dựng và hoàn thiện các bước sản phẩm theo từng bước
Nhận được phản hồi của người sử dụng từ những bản phác thảo
Thời gian làm tài liệu sẽ ít hơn so với thời gian thiết kế
Nhược điểm:
Mỗi giai đoạn lặp lại thì cứng nhắc
Tốn kiến trúc hệ thống hoặc thiết kế các vấn đề có thể phát sinh nhưng không phải tất cả đều xảy ra trong toàn bộ vòng đời.
(Còn nữa)
(Nguồn: Internet)