Bạn có bao giờ thắc mắc làm thế nào một phần mềm bạn đặt hàng từ một công ty được xây dựng, thử nghiệm và thiết kế không? Các mô hình Vòng đời phát triển phần mềm (SDLC) được sử dụng rộng rãi nhất sẽ được thảo luận hôm nay, cùng với các định nghĩa về trách nhiệm của nhà phân tích hệ thống (SA) và Business Analyst trong quá trình phát triển phần mềm.

1. Software Development Lifecycle (SDLC) là gì?
Software Development Lifecycle (SDLC) là một khuôn khổ phác thảo các hành động được thực hiện ở từng giai đoạn của quy trình phát triển phần mềm. SDLC bao gồm một chiến lược toàn diện nêu rõ cách nhóm phát triển nên tạo, duy trì và thay thế phần mềm cũng như các kỹ thuật để nâng cao chất lượng phần mềm và quy trình phát triển.
 
Mục tiêu của Software Development Lifecycle (SDLC) là cung cấp các giải pháp chất lượng cao và đáp ứng mong đợi cũng như nhu cầu của khách hàng.
 
2. Mô hình SDLC
Có một số mô hình cho Software Development Lifecycle (SDLC) và mỗi mô hình tuân thủ một bộ nguyên tắc nhằm đảm bảo sự thành công của quá trình phát triển phần mềm. Sau đây là các mô hình SDLC được ưa chuộng và sử dụng rộng rãi nhất trong lĩnh vực CNTT:
 
  • Waterfall Model: Cách tiếp cận mô hình Waterfall yêu cầu hoàn thành từng giai đoạn hoàn toàn trước khi chuyển sang giai đoạn tiếp theo. Mỗi giai đoạn được hoàn thành thành công và sau đó được kiểm tra để xác định xem dự án có đúng tiến độ và có thể tiếp tục hay không.
  • Iterative or Incremental Model: Mô hình tăng dần hoặc lặp lại của SDLC bao gồm một số chu kỳ phát triển được chia thành các lần lặp nhỏ hơn. Các giai đoạn yêu cầu, thiết kế, triển khai và thử nghiệm đều được kiểm soát dễ dàng trong quá trình lặp lại, khiến nó trở thành một mô hình dễ quản lý hơn. Sự khác biệt chính giữa mô hình Waterfall là lần lặp lại đầu tiên của nó tạo ra một phiên bản hoạt động của phần mềm.
  • V-Shaped Model: Ở đây, thử nghiệm chiếm vị trí trung tâm vì các quy trình được thực hiện tuần tự, giống như cách tiếp cận Waterfall. Các quy trình kiểm tra được viết ngay cả trước khi viết mã và một kế hoạch có hệ thống được tạo ra trước khi bắt đầu giai đoạn phát triển.
  • Agile Model: Mô hình này ưu tiên tính linh hoạt và sự hài lòng của khách hàng bằng cách cung cấp giải pháp phần mềm chức năng một cách nhanh chóng. Ngoài ra, phương pháp Agile chia sản phẩm thành các bản dựng tăng dần nhỏ. Lặp lại các bản dựng này được cung cấp. Thông thường, một lần lặp lại kéo dài từ một đến ba tuần. Trong mỗi lần lặp, các nhóm đa chức năng cộng tác trên nhiều dự án cùng lúc, bao gồm lập kế hoạch, phân tích yêu cầu, thiết kế, mã hóa và thử nghiệm.
3. Điều gì được thực hiện ở mọi giai đoạn của SDLC?
SDLC thường được chia thành nhiều giai đoạn: 
 

3.1. Lập kế hoạch và phân tích yêu cầu:

Đây là giai đoạn cơ bản của SDLC. Nó được thực hiện bởi các thành viên cấp cao của nhóm phát triển, chẳng hạn như người quản lý dự án và nhà phân tích nghiệp vụ. Họ thu thập dữ liệu cần thiết để tạo ra sản phẩm đáp ứng mong đợi của khách hàng. Giai đoạn này vạch ra các mục tiêu của sản phẩm, những gì phải được sản xuất và người dùng cuối cùng sẽ là ai. Tất cả thông tin từ các cuộc khảo sát thị trường, các chuyên gia về chủ đề (SME), bộ phận bán hàng và các chuyên gia lĩnh vực trong lĩnh vực này đều phải được đưa vào. Nhóm xác định các yêu cầu thiết yếu của sản phẩm và giải quyết mọi điểm mơ hồ để cung cấp lộ trình cho các nhà phát triển.
 
Để thiết lập các phương pháp tiếp cận kỹ thuật và nguồn lực cần thiết để thực hiện dự án thành công với ít rủi ro nhất có thể, giai đoạn này cũng bao gồm việc chuẩn bị các yêu cầu đảm bảo chất lượng và xác định các mối nguy hiểm liên quan đến sản phẩm.
 
Kết quả của việc lập kế hoạch bao gồm kế hoạch dự án, thời gian biểu, dự toán chi phí và thông số kỹ thuật mua sắm. Đầu ra của phân tích yêu cầu là danh sách các yêu cầu bao gồm các kỳ vọng đối với hệ thống và các chức năng của nó bằng cách sử dụng mô hình Waterfall hoặc các nhiệm vụ tồn đọng sẽ được thực hiện bằng vòng đời phát triển phần mềm Agile.Tại thời điểm này, nhóm BA luôn giữ liên lạc cởi mở với khách hàng để đảm bảo rằng họ hiểu rõ về sản phẩm cuối cùng và mục đích sử dụng của nó.
 

3.2.  Xác định và phê duyệt yêu cầu: 

Nhóm BA chỉ định và ghi lại các yêu cầu sau khi chúng được công nhận, cho phép khách hàng phê duyệt và các nhà phân tích thị trường xem xét chúng. Đặc tả yêu cầu phần mềm (SRS) chứa tất cả các nhu cầu đối với sản phẩm: bao gồm các yêu cầu sản phẩm cần được xác định và phát triển trong chu kỳ phát triển sản phẩm.
 

3.3. Thiết kế và tạo mẫu:

Sau khi hiểu rõ về các yêu cầu của khách hàng trong tài liệu SRS, nhóm sẽ xác định nhiều giao diện và loại dữ liệu sẽ đi qua hệ thống, cũng như các thành phần, mức độ bảo mật, mô-đun và kiến trúc của nó. Tiếp theo, kiến trúc ứng dụng và phương pháp phát triển phần mềm (ví dụ: khung kiến trúc TOGAF) được đưa vào thực tế.
 

3.4. Triển khai và phát triển phần mềm:

Tại giai đoạn này, bố cục màn hình, quy tắc kinh doanh, sơ đồ quy trình và tài liệu khác đều được đưa vào mô tả chi tiết về các chức năng và quy trình thiết kế. Nhóm BA có thể cung cấp những hiểu biết có giá trị để cải thiện tính linh hoạt của sản phẩm và phù hợp với nhu cầu của người tiêu dùng. Bước này dẫn đến mô tả hệ thống mới bao gồm danh sách các mô-đun, hệ thống con, mẫu và thành phần.
 

3.5. Kiểm tra và tích hợp:

Nếu không thử nghiệm, không thể tạo ra phần mềm chất lượng cao và đảm bảo sự hài lòng của khách hàng, khiến đây trở thành một giai đoạn quan trọng trong SDLC. Ngoài việc thu thập và phân tích hành vi và chức năng của phần mềm, nhóm BA cũng có thể sử dụng lĩnh vực này để xác định các cách cải thiện sự hài lòng của khách hàng và người dùng.
 
Việc kiểm tra có thể được thực hiện bởi người dùng thực tế-những người không cần biết gì về mã hóa, cấu hình phần cứng hoặc thiết kế, hoặc bởi nhóm Đảm bảo Chất lượng (QA) chuyên biệt. Việc kiểm tra do nhóm QA thực hiện có thể bao gồm chất lượng mã, kiểm tra chức năng (kiểm tra đơn vị), kiểm tra tích hợp, kiểm tra hiệu suất và kiểm tra bảo mật. Kết quả của giai đoạn này là phần mềm đang hoạt động và sẵn sàng để sử dụng.
 

3.6. Triển khai:

Giai đoạn này đảm bảo hệ thống sẽ không bị lỗi thời. Nó kết hợp các đánh giá hiệu suất hệ thống liên tục và nâng cấp thành phần để đảm bảo rằng hệ thống đáp ứng mọi yêu cầu và sử dụng công nghệ tiên tiến. Điều bắt buộc là phải báo cáo và giải quyết bất kỳ lỗi hoặc sai sót nào của hệ thống được phát hiện trong quá trình bảo trì để ngăn chặn các vấn đề mới xuất hiện.
 
4. Vai trò của Business Analyst trong SDLC là gì?
Business Analyst là một trong những cá nhân đóng vai trò quan trọng nhất trong việc xác định nhu cầu kinh doanh và biến chúng thành giải pháp. Nhóm BA chuyển đổi các yêu tính năng giải pháp được yêu cầu cho khách hàng thành các yêu cầu phần mềm dễ hiểu đối với nhóm phát triển.
 
Nhóm Business Analyst đóng vai trò dẫn đầu trong các giai đoạn thu thập, phân tích và thiết kế. Để đáp ứng nhu cầu của khách hàng, nhóm cũng giám sát chặt chẽ việc phát triển mã và tham gia vào giai đoạn thử nghiệm các bản sửa lỗi với tư cách là tác nhân thay đổi trong nhóm dự án.
 
Tóm lại, vai trò của Business Analyst trong SDLC chính là hỗ trợ tăng sự thành công cho sản phẩm bằng cách: tối ưu hóa kế hoạch và thời gian của dự án, cung cấp những hiểu biết sâu sắc có giá trị giúp sản phẩm của bạn trở nên thân thiện với khách hàng hơn, tạo điều kiện cho quá trình phát triển linh hoạt hơn nhằm đảm bảo sản phẩm đưa ra thị trường đáp ứng được nhu cầu và mong đợi của người dùng. Hy vọng rằng những chia sẻ của BAC sẽ giúp ích cho bạn. Đừng quên đón đọc các bài viết mới nhất được cập nhật tại BAC's Blog bạn nhé.

 

Nguồn tham khảo:
https://www.cprime.com/

Nhu cầu đào tạo doanh nghiệp

BAC là đơn vị đào tạo BA đầu tiên tại Việt Nam. Đối tác chính thức của IIBA quốc tế. Ngoài các khóa học public, BAC còn có các khóa học in house dành riêng cho từng doanh nghiệp. Chương trình được thiết kế riêng theo yêu cầu của doanh nghiệp, giúp doanh nghiệp giải quyết những khó khăn và tư vấn phát triển.
 
 

CÁC KHOÁ HỌC BUSINESS ANALYST BACs.VN DÀNH CHO BẠN

Khoá học Online:

Khoá học Offline:

Tại Tp.HCM:

Tại Hà Nội:

Tham khảo lịch khai giảng TẤT CẢ các khóa học mới nhất

Ban biên tập nội dung - BAC