Tìm hiểu về sdlc là gì và một số mô hình điển hình của nó

Ngành công nghệ thông tin và tự động hóa đang là một trong những ngành có bước phát triển vượt trội. Cùng với sự phát triển đó là sự ra đời của một số thuật ngữ mới, sdlc là một trong số đó. Để các bạn hiểu hơn về thuật ngữ này thì chúng tôi sẽ giải thích sdlc là gì và một số mô hình của nó qua bài viết ngay sau đây.

Sdlc là gì?

Một trong những kiến thức cần thiết của một người kỹ sư kiểm thử phần mềm chuyên nghiệp là hiểu biết và nắm rõ sdlc. Sdlc là viết tắt của từ Software Development Life-cycle. Nó có nghĩa là chu kỳ phát triển của phần mềm. Kiểm thử phần mềm software testing chính là 1 phần và liên quan chặt chẽ, mật thiết đến SDLC.

Vòng đời phát triển phần mềm sdlc là gì? Nó được hiểu là một quá trình theo sau của một dự án phần mềm và tồn tại trong một tổ chức phần mềm. Nó bao gồm một số kế hoạch chi tiết mô tả như làm thế nào để phát triển, duy trì, thay đổi hoặc là nâng cấp phần mềm cụ thể.

Quy trình này là một trong những yếu tố cực kỳ quan trọng nhằm đem lại sự thành công cho các nhà sản xuất phần mềm. Nó giúp cho mọi thành viên trong dự án đều có thể xử lý đồng bộ công việc tương ứng với vị trí của mình thông qua cách thức chung của công ty, hay ít nhất là ở cấp độ dự án.

Trên thực tế thì các công ty xây dựng và phát triển phần mềm sẽ tùy theo từng quy mô và hình thức hoạt động mà có thể điều chỉnh hay gộp tách các giai đoạn tùy theo nhu cầu thực tế của công ty đó.

sdlc-la-gi-1-1660642559.jpg
sdlc là gì?

Phân loại các pha hoạt động của sdlc là gì?

Các bạn có biết cách phân loại sdlc là gì hay không? Để có thể tạo ra một sản phẩm phần mềm hoàn chỉnh thì sẽ bao gồm các giai đoạn cơ bản sau

sdlc-la-gi-2-1660642559.jpg
Để có thể tạo ra một sản phẩm phần mềm hoàn chỉnh thì sẽ bao gồm 6 giai đoạn cơ bản 

Pha yêu cầu 

Ở pha này thì bộ phận phân tích yêu cầu sẽ đi gặp và trao đổi với khách hàng, đối tác để làm rõ các chức năng, các yêu cầu mà khách hàng mong muốn xây dựng trong phần mềm của mình.

Trong thực tế thì khi ở pha này, các đơn vị phần mềm sẽ có một bộ câu hỏi chung dành cho các dự án. Đồng thời họ cũng có một câu hỏi riêng về đặc thù của dự án cần làm.

Đây là một pha vô cùng quan trọng ảnh hưởng trực tiếp đến việc xây dựng và phát triển của phần mềm trong thời gian tới. Do vậy mà đội ngũ phân tích yêu cầu thường sẽ là những người đã có nhiều kinh nghiệm trong quá trình trao đổi với khách hàng.

Mục đích của việc làm này giúp cho doanh nghiệp hiểu đúng về các yêu cầu bài toán của khách hàng đưa ra. Cũng như là thu thập của các biểu mẫu thông tin liên quan đến dự án. Đồng thời, nó còn phục vụ phân tích ở giai đoạn kế tiếp.

sdlc-la-gi-3-1660642559.jpg
Mục đích của việc làm này giúp cho doanh nghiệp hiểu đúng về các yêu cầu bài toán của khách hàng đưa ra

Pha đặc tả trong sdlc là gì?

Đây là một pha sẽ được thực hiện ngay sau khi đã ghi nhận các yêu cầu của khách hàng. Bộ phận phân tích sẽ thực hiện làm rõ các yêu cầu và hiện thực hóa bằng một tài liệu SRS. Chúng còn được gọi là “Tài liệu đặc tả“.

Đây là một tài liệu rất quan trọng đối với quá trình phát triển của phần mềm vì nó bao gồm tất cả các yêu cầu sản phẩm được thiết kế và phát triển trong suốt vòng đời của dự án. Các bộ phận liên quan như lập trình, kiểm thử viên,… sẽ thực hiện công việc này dựa trên sự mô tả các chức năng chi tiết trong tài liệu. Nó sẽ trả lời cho câu hỏi “Phần mềm sẽ làm gì ?“.

sdlc-la-gi-4-1660642559.jpg
Nó sẽ trả lời cho câu hỏi “Phần mềm sẽ làm gì ?”

Pha thiết kế trong sdlc là gì?

Ở pha này, ngay sau khi căn cứ vào tài liệu đặc tả thì bộ phận thiết kế sẽ được thiết kế và đưa ra giao diện chung. Ngoài ra, bộ phận lập trình sẽ thiết kế giao diện ở mức chi tiết theo từng chức năng của phần mềm. Tức là sẽ hiện thực hóa các chức năng nằm trong tài liệu mô tả thành một giao diện chức năng phần mềm dưới dạng prototype.

Sau đó, họ sẽ sử dụng bản khung phần mềm này để trao đổi và thống nhất với khách hàng về giao diện và bố cục. Khi khách hàng đồng ý với thiết kế phần mềm theo prototype đó thì mới có thể chuyển sang giai đoạn tiếp theo . Nếu không doanh nghiệp sẽ ghi nhận ý kiến đóng góp và thực hiện chỉnh sửa và hoàn thiện cho đến khi khách hàng đồng thuận với bản prototype phần mềm.

Pha lập trình trong sdlc là gì?

Trong giai đoạn này thì công việc của sdlc là gì? Nó sẽ bắt đầu phát triển thực tế và sản phẩm được xây dựng. Pha lập trình này là pha hiện thực hóa các chức năng của phần mềm ngay sau khi khách hàng đã thống nhất prototype của phần mềm.

Ở pha này các lập trình viên sẽ lập trình và xử lý chức năng, module theo yêu cầu được giao. Sau đó, chúng sẽ chuyển cho đơn vị kiểm thử viên thực hiện kiểm tra các chức năng theo testcase đã được xây dựng dựa trên tài liệu đặc tả.

Pha kiểm thử 

Ở pha này, các kiểm thử viên sẽ nhận được sự bàn giao chức năng thực hiện từ lập trình viên. Sau đó các kiểm thử viên sẽ thực hiện và kiểm tra các chức năng này theo các testcase được xây dựng.

Trong quá trình kiểm thử theo testcase, nếu có phát sinh lỗi thì kiểm thử viên sẽ thực hiện báo bug lỗi để lập trình viên có thể xử lý chức năng đó fix lỗi. Quá trình kiểm thử chức năng, kiểm tra lại, báo bug lỗi và báo cáo sẽ được thực hiện đi thực hiện lại cho đến khi các chức năng lập trình đúng theo tài liệu đặc tả hay là yêu cầu của khách hàng.

Sau khi hoàn thiện các chức năng này cũng như đã đạt yêu cầu về kiểm thử, phần mềm sẽ được triển khai thử nghiệm trên môi trường của khách hàng. Nếu có bất kỳ yêu cầu chỉnh sửa thì đội ngũ phát triển phần mềm sẽ thực hiện bổ sung, sửa lỗi để có thể nghiệm thu một phần mềm hoàn chỉnh.

sdlc-la-gi-5-1660642559.jpg
Các kiểm thử viên sẽ nhận được sự bàn giao chức năng thực hiện từ lập trình viên

Pha triển khai bảo trì trong sdlc là gì?

Sau khi được kiểm thử và sẵn sàng triển khai, sản phẩm được phát hành chính thức trên thị trường thích hợp. Đôi khi việc triển khai phần mềm xảy ra theo từng giai đoạn theo chiến lược kinh doanh của tổ chức đó.

Trong quá trình sử dụng phần mềm của khách hàng thì công ty phát triển phần mềm sẽ phải hỗ trợ, xử lý lỗi nếu như có phát sinh trong quá trình sử dụng. Ở đây, chúng ta có 2 khái niệm cần chú ý đó là:

  • Software repair: Có nghĩa là bảo trì sửa lỗi, thực hiện việc chỉnh sửa các lỗi phát sinh trong quá trình sử dụng phần mềm của khách hàng.

  • Software update; Là bảo trì cập nhật và bảo trì hoàn thiện. Tức là việc sửa đổi phần mềm theo ý khách hàng

  • Bảo trì thích nghi: Tức là sửa đổi để phần mềm thích nghi với một môi trường mới

Mô hình sdlc là gì?

Hiện nay có rất nhiều mô hình vòng đời phát triển phần mềm được xác định và thiết kế trong quá trình phát triển. Các mô hình này còn được gọi là các mô hình quá trình phát triển phần mềm. Mỗi mô hình quy trình sẽ tuân theo các bước của nó để có thể đảm bảo rằng sẽ thành công trong quá trình phát triển phần mềm. Sau đây sẽ là một số mô hình sdlc quan trọng và phổ biến nhất.

  • Mô hình thác nước – Waterfall

  • Mô hình chữ V – V model

  • Mô hình Xoắn ốc – Spiral model

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

unnamed-1660642968.jpg
Mô hình thác nước là một trong số các mô hình phổ biến của sdlc

Lời kết:

Như vậy, chúng tôi vừa giúp các bạn có thể hiểu rõ hơn về sdlc là gì và phân loại các pha hoạt động của nó. Hy vọng bài viết này đã bổ sung cho các bạn nhiều thông tin hữu ích hơn về chu kỳ phát triển của phần mềm.