Quy trình phát triển một dự án phần mềm có bao nhiêu giai đoạn? – Công ty cổ phần Truyền số liệu Việt Nam
Hàng triệu người trên thế giới mỗi ngày đều sử dụng các chức năng trong các phần mềm khách nhau (Mạng xã hội, Trang tin tức, Phần mềm nhân sự, Phần mềm kết toán, ERP, …).
Vậy có ai đã từng thắc mắc: Một phần mềm máy tính (PMMT) được phát triển qua những giai đoạn nào? Bài viết sau sẽ một phần giải đáp các thắc mắc đó.
Giai đoạn 1: Khảo sát dự án
Khảo sát hiện trạng là giai đoạn đầu tiên trong quá trình phát triển một hệ thống thông tin. Nhiệm vụ chính trong giai đoạn này là tìm hiểu, thu thập thông tin cần thiết để chuẩn bị cho việc giải quyết các yêu cầu được đặt ra của dự án. Giai đoạn khảo sát được chia làm hai bước:
Bước 1:
-
Khảo sát sơ bộ: tìm hiểu các yếu tố cơ bản (tổ chức, văn hóa, đặc trưng, con người,…) tạo tiền đề để phát triển PMMT phù hợp với dự án và doanh nghiệp.
-
Khảo sát chi tiết: thu thập thông tin chi tiết của hệ thống (chức năng xử lý, thông tin được phép nhập và xuất khỏi hệ thống, ràng buộc, giao diện cơ bản, nghiệp vụ) phục vụ cho việc phân tích và thiết kế.
Bước 2: Đặt ra các vấn đề trọng tâm cần phải giải quyết, như:
-
Thông tin đưa vào hệ thống phải như thế nào?
-
Dữ liệu hiển thị và xuất ra khác nhau ở những điểm nào?
-
Ràng buộc giữa các đối tượng trong hệ thống cần xây được dựng ra sao?
-
Chức năng và quy trình xử lý của hệ thống phải đảm bảo những yêu cầu nào?
-
Cần sử dụng những giải pháp nào? Tính khả thi của từng giải pháp ra sao?
Từ những thông tin thu thập được và vấn đề đã đặt ra trong giai đoạn khảo sát, nhà quản trị và các chuyên gia sẽ chọn lọc những yếu tố cần thiết để cấu thành hệ thống thông tin riêng cho doanh nghiệp.
Giai đoạn 2: Phân tích hệ thống
Mục tiêu của giai đoạn là xác định các thông tin và chức năng xử lý của hệ thống, cụ thể như sau:
-
Xác định yêu cầu của PMMT gồm: các chức năng chính – phụ; nghiệp vụ cần phải xử lý đảm bảo tính chính xác, tuân thủ đúng các văn bản luật và quy định hiện hành; đảm bảo tốc độ xử lý và khả năng nâng cấp trong tương lai.
-
Phân tích và đặc tả mô hình phân cấp chức năng tổng thể thông qua sơ đồ BFD (Business Flow Diagram), từ mô hình BFD sẽ tiếp tục được xây dựng thành mô hình luồng dữ liệu DFD (Data Flow Diagram) thông qua quá trình phân rã chức năng theo các mức 0, 1, 2 ở từng ô xử lý.
-
Phân tích bảng dữ liệu. Cần đưa vào hệ thống những bảng dữ liệu (data table) gồm các trường dữ liệu (data field) nào? Xác định khóa chính (primary key), khóa ngoại (foreign key) cũng như mối quan hệ giữa các bảng dữ liệu (relationship) và ràng buộc (constraint) dữ liệu cần thiết.
Ở giai đoạn này, các chuyên gia sẽ đặc tả sơ bộ các bảng dữ liệu trên giấy để có cái nhìn khách quan. Qua đó, xác định các giải pháp tốt nhất cho hệ thống đảm bảo đúng các yêu cầu đã khảo sát trước khi thực hiện trên các phần mềm chuyên dụng.
Giai đoạn 3: Thiết kế
Thông qua thông tin được thu thập từ quá trình khảo sát và phân tích, các chuyên gia sẽ chuyển hóa vào phần mềm, công cụ chuyên dụng để đặc tả thiết kế hệ thống chi tiết. Giai đoạn này được chia làm hai bước sau:
Bước 1: Thiết kế tổng thể
Trên cơ sở các bảng dữ liệu đã phân tích và đặc tả trên giấy sẽ được thiết kế dưới dạng mô hình mức ý niệm bằng phần mềm chuyên dụng như Sybase PowerDesigner, CA ERwin Data Modeler. Bằng mô hình mức ý niệm sẽ cho các chuyên gia có cái nhìn tổng quát nhất về mối quan hệ giữa các đối tượng trước khi chuyển đổi thành mô hình mức vật lý.
Bước 2: Thiết kế chi tiết
-
Thiết kế cơ sở dữ liệu (Database): Với mô hình mức vật lý hoàn chỉnh ở giai đoạn thiết kế đại thể sẽ được kết sinh mã thành file sql.
-
Thiết kế truy vấn, thủ tục, hàm: thu thập, xử lý thông tin nhập và đưa ra thông tin chuẩn xác theo đúng nghiệp vụ.
-
Thiết kế giao diện chương trình đảm bảo phù hợp với môi trường, văn hóa và yêu cầu của doanh nghiệp thực hiện dự án.
-
Thiết kế chức năng chương trình đảm bảo tính logic trong quá trình nhập liệu và xử lý cho người dùng.
-
Thiết kế báo cáo. Dựa trên các yêu cầu của mỗi doanh nghiệp và quy định hiện hành sẽ thiết kế các mẫu báo cáo phù hợp hoặc cho phép doanh nghiệp tư tạo mẫu báo cáo ngay trên hệ thống.
-
Thiết kế các kiểm soát bằng hình thức đưa ra các thông báo, cảnh báo hoặc lỗi cụ thể tạo tiện lợi và kiểm soát chặt chẽ quá trình nhập liệu với mục tiêu tăng độ chính xác cho dữ liệu.
Tóm lại, thiết kế là việc áp dụng các công cụ, phương pháp, thủ tục để tạo ra mô hình hệ thống cần sử dụng. Sản phẩm cuối cùng của giai đoạn thiết kế là đặc tả hệ thống ở dạng nó tồn tại thực tế, sao cho nhà lập trình và kỹ sư phần cứng có thể dễ dàng chuyển thành chương trình và cấu trúc hệ thống.
Giai đoạn 4: Thực hiện
Đây là giai đoạn nhằm xây dựng hệ thống theo các thiết kế đã xác định. Giai đoạn này bao gồm các công việc sau:
-
Lựa chọn hệ quản trị cơ sở dữ liệu (SQL Server, Oracle, MySQL, …) và cài đặt cơ sở dữ liệu cho hệ thống.
-
Lựa chọn công cụ lập trình để xây dựng các modules chương trình của hệ thống (Microsoft Visual Studio, PHP Designer,…).
-
Lựa chọn công cụ để xây dựng giao diện hệ thống (DevExpress, Dot Net Bar,…).
Viết tài liệu hướng dẫn sử dụng, tài liệu kỹ thuật hoặc clip hướng dẫn.
Giai đoạn 5: Kiểm thử
-
Trước hết phải lựa chọn công cụ kiểm thử.
-
Kiểm chứng các modules chức năng của hệ thống thông tin, chuyển các thiết kế thành các chương trình (phần mềm).
-
Thử nghiệm hệ thống thông tin.
-
Cuối cùng là khắc phục các lỗi (nếu có).
-
Viết test case theo yêu cầu.
Kết quả cuối cùng là một hệ thống thông tin đạt yêu cầu đặt ra.
Giai đoạn 6: Triển khai và bảo trì
-
Lắp đặt phần cứng để làm cơ sở cho hệ thống.
-
Cài đặt phần mềm.
-
Chuyển đổi hoạt động của hệ thống cũ sang hệ thống mới, gồm có: chuyển đổi dữ liệu; bố trí, sắp xếp người làm việc trong hệ thống; tổ chức hệ thống quản lý và bảo trì.
-
Phát hiện các sai sót, khuyết điểm của hệ thống thông tin.
-
Đào tạo và hướng dẫn sử dụng.
-
Cải tiến và chỉnh sửa hệ thống thông tin.
-
Bảo hành.
-
Nâng cấp chương trình khi có phiên bản mới.