Top những quy trình phát triển phần mềm

Chia sẻ:

Tổng quan về quy trình phát triển phần mềm.

Quy trình phát triển phần mềm là gì?

Quy trình phát triển phần mềm còn được gọi là SDLC (Software Development Life Cycle) là một cấu trúc bao gồm tập hợp các thao tác và các kết quả tương quan sử dụng trong việc phát triển để sản xuất ra một sản phẩm phần mềm hoàn thiện nhất cho khách hàng. Vậy có bao nhiêu quy trình phát triển phần mềm và trong từng giai đoạn phát triển phần mềm sẽ diễn những công việc gì? Cùng Technox tìm hiểu ngay trong phần tiếp theo.

Một số mô hình cho việc xây dựng quy trình phát triển phần mềm.

Mô hình thác nước

Quy trình phát triển phần mềm => mô hình thác nước

Mô hình quy trình phát triển phần mềm và các giai đoạn xử lý nối tiếp nhau như sau:

  • Thu thập yêu cầu (Requirement gathering): Nắm được tất cả các yêu cầu. Thảo luận và hướng dẫn để hiểu các yêu cầu. Thực hiện thử nghiệm các yêu cầu để đảm bảo rằng các yêu cầu có thể kiểm chứng được hay không.
  • Phân tích hệ thống ( System Analysis): Theo yêu cầu, tạo ra thiết kế. Thảo luận về yêu cầu phần cứng /phần mềm. Tài liệu thiết kế
  • Coding: Là giai đoạn thực hiện sản phẩm dựa trên đặc tả yêu cầu và tài liệu thiết kế module.
  • Testing: Tester sẽ nhận sản phẩm từ developer và thực hiện kiểm thử cho nhóm các thành phần và kiểm thử hệ thống. Khâu kiểm thử cuối cùng sẽ là Kiểm thử chấp nhận, giai đoạn này còn có sự tham gia của khách hàng.
  • Implementation: Triển khai hệ thống ra môi trường của khách hàng.
  • Operations & Maintenance: Đây là giai đoạn cài đặt, cấu hình và đào tạo cho khách hàng. Giai đoạn này sửa chữa những lỗi của sản phẩm (nếu có) và phát triển những thay đổi mới được khách hàng yêu cầu.

Ưu, nhược điểm của mô hình thác nước?

Ưu điểm
  • Đơn giản, dễ hiểu và sử dụng.
  • Đối với các dự án nhỏ hơn, mô hình thác nước hoạt động tốt và mang lại kết quả phù hợp.
  • Các tiêu chí đầu vào và đầu ra được xác định rõ ràng, do đó nó dễ dàng và có hệ thống để tiến hành chất lượng.
  • Kết quả được ghi chép tốt.
Nhược điểm
  • Không thể chấp nhận thay đổi yêu cầu
  • Nó trở nên rất khó khăn để di chuyển trở lại giai đoạn.
  • Đối với các dự án lớn và phức tạp, mô hình này không tốt vì yếu tố rủi ro cao hơn.
  • Không thích hợp cho các dự án mà yêu cầu được thay đổi thường xuyên.
  • Không làm việc cho các dự án dài và đang diễn ra.

Mô hình chữ V

Quy trình phát triển phần mềm => mô hình chữ V

Mô hình quy trình phát triển phần mềm và các giai đoạn xử lý nối tiếp nhau như sau:

  • Thu thập yêu cầu: Thu thập thông tin chi tiết, thông số kỹ thuật của phần mềm, mong muốn của khách hàng
  • Thiết kế hệ thống: Lên kế hoạch lựa chọn cơ sở dữ liệu (MySQL, Oracle,…) và ngôn ngữ lập trình (PHP, Java,…)
  • Giai đoạn xây dựng: Giai đoạn này sẽ triển khai thực hiện mã hóa code
  • Giai đoạn kiểm thử: Xác minh xem nó được xây dựng đúng theo thông số kỹ thuật được cung cấp bởi khách hàng hay không
  • Giai đoạn triển khai: Triển khai ứng dụng, phần mềm trong môi trường thật
  • Giai đoạn bảo trì: Nâng cấp, bảo trì hoặc thay đổi code theo yêu cầu của khách hàng

Ưu, nhược điểm của mô hình chữ V?

Ưu điểm
  • Đơn giản, thân thiện và tiết kiệm thời gian
  • Có kế hoạch, hoạt động cụ thể cho quá trình kiểm thử
  • Khả năng thành công cao hơn so với mô hình thác nước
  • Phát hiện nhanh sai sót và tìm ra nguyên nhân từ bước đầu
Nhược điểm
  • Còn tồn tại sự cứng nhắc, ít linh hoạt (sau mỗi step phải kiểm tra, xác nhận)
  • Không đáp ứng được yêu cầu dịch vụ là vừa phát triển vừa bán sản phẩm
  • Nếu yêu cầu dự án đơn giản thì việc thực hiện các công đoạn xác minh sẽ tiêu tốn rất nhiều thời gian
  • Phải quay lại các bước đầu tiên, update tài liệu nếu có sự thay đổi về kỹ thuật giữa chừng
  • Sản phẩm của dự án chỉ được ra mắt khi hoàn thành các bước, không có nguyên mẫu ngay từ ban đầu

Mô hình Agile: quy trình Scrum

Quy trình phát triển phần mềm => mô hình Agile: quy trình Scrum

Mô hình quy trình phát triển phần mềm và các giai đoạn xử lý nối tiếp nhau như sau:

  • Requirement planing and analysis ( Lập kế hoạch và phân tích yêu cầu): Yêu cầu được thu thập trong giai đoạn này. Giai đoạn này là trọng tâm chính của dự án. Các cuộc họp với người quản lý, với các bên liên quan và người dùng được tổ chức để xác định yêu cầu.
  • Design ( Thiết kế): Trong giai đoạn này, thiết kế hệ thống và phần mềm được chuẩn bị từ các thông số kỹ thuật yêu cầu đã được nghiên cứu trong giai đoạn đầu tiên. Thiết kế hệ thống giúp xác định các yêu cầu phần cứng và kiến trúc hệ thống tổng thể. Các thông số kỹ thuật thiết kế hệ thống phục vụ như đầu vào cho giai đoạn tiếp theo của mô hình.
  • Implementation or coding (Thực hiện / Mã hóa): Khi nhận được tài liệu thiết kế hệ thống, công việc được chia thành các mô-đun / đơn vị và việc mã hóa được bắt đầu. Vì, trong giai đoạn này mã được tạo ra nên nó là trọng tâm chính cho phát triển phần mềm.
  • Testing (Thử nghiệm): Sau khi code xong, mã nguồn được kiểm thử dựa trên spec đã được thu thập trong giai đoạn đầu và dựa trên tính khả dụng người dùng. Trong quy trình phát triển phần mềm giai đoạn này tất cả các loại kiểm thử chức năng như kiểm thử đơn vị, kiểm thử tích hợp, kiểm tra hệ thống, kiểm tra chấp nhận được thực hiện cùng với các kiểm thử phi chức năng cũng được thực hiện.
  • Deployment (Triển khai): Sau khi thử nghiệm thành công, sản phẩm được phân phối / triển khai cho khách hàng để sử dụng.

Ưu, nhược điểm của mô hình Agile: quy trình Scrum?

Ưu điểm
  • Phù hợp với các yêu cầu
  • Nghiệp vụ hay thay đổi
  • Hệ thống nghiên cứu do làm theo từng giai đoạn ngắn ngày, có thể nhìn thấy những rủi ro hay những điểm chưa phù hợp để thay đổi.
Nhược điểm
  • Thiếu sự nhấn mạnh về thiết kế và tài liệu cần thiết
  • Quy mô nhân lực thường giới hạn , sẽ có trở ngại lớn nếu nguồn nhân lực yêu cầu vượt quá con số này ví dụ trong các cuộc họp trao đổi.
  • Yêu cầu nguồn nhân lực phải có kiến thức và am hiểu về Agile

 

Trên đây là những thông tin mà Technox chia sẻ về kiến thức phần mềm. Nếu bạn có thắc mắc bất cứ điều gì, hãy liên hệ với chúng tôi ngay lập tức để được phục vụ và giải quyết khó khăn kịp thời nhé!

Thông tin liên hệ

Địa chỉSố 9/84 ngõ 1 Phạm Tuấn Tài, P. Dịch Vọng Hậu, Q. Cầu Giấy, Tp. Hà Nội 

Holine: 0376 175 030

Fanpage: Công ty TNHH Technox Việt Nam 

Email: Technox.vn@gmail.com

 

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

technox.vn@gmail.com 0376 175 030