• Thứ Ba, 11/01/2005 08:42 (GMT+7)

    Câu hỏi :
    Để xây dựng 1 chương trình phần mềm cần phải chuẩn bị những gì? Một chương trình phần mềm bao gồm những gì?

    Trả lời :
    Tùy theo phần mềm của bạn giải quyết bài toán có độ phức tạp ra sao mà kiến thức cần trang bị sẽ rất khác nhau, thí dụ như để xây một căn chòi nhỏ tạm bợ thì ai cũng có thể làm, nhưng để xây dựng 1 khu nhà nhiều tầng kiên cố có khả năng chống động đất thì rất ít người có thể làm vì nó đòi hỏi rất nhiều kiến thức chuyên ngành xây dựng.

    Để xây dựng 1 chương trình phần mềm lớn, bạn phải nắm vững 1 qui trình phát triển nào đó và các thông tin chi tiết để thực hiện từng bước qui trình đó. Hiện nay, người ta dùng phổ biến qui trình phát triển phần mềm hợp nhất (Unified Software Development Process) gồm 5 luồng công việc chính (workflows):

     1. Nắm bắt yêu cầu phần mềm (requirements): xác định chính xác và cụ thể những loại người dùng nào sẽ dùng phần mềm, mỗi loại người dùng sẽ thực hiện những chức năng cụ thể nào của phần mềm.

     2. Phân tích (analysis): ứng với từng chức năng mà phần mềm cần thực hiện, phác hoạ sơ lược cách thức giải quyết nó.

     3. Thiết kế (design): chi tiết hóa và cụ thể hóa bản phác họa cách thức giải quyết từng chức năng.

     4. Hiện thực (implementation): dùng ngôn ngữ lập trình nào đó và chuyển bản thiết kế sang dạng mà máy có thể hiểu được (coding).

     5. Kiểm thử (testing): kiểm tra và thử nghiệm phần mềm xem có đáp ứng đúng những chức năng kỳ vọng (được xác định trong bước nắm bắt yêu cầu).

    Bạn cần phải học hay tham khảo tài liệu để biết cách thức, qui trình tiến hành từng luồng công việc cụ thể ở trên. Riêng bước hiện thực, bạn cần tìm hiểu và nắm vững ít nhất 1 ngôn ngữ lập trình nào đó để "coding" bản thiết kế của phần mềm.

    Tóm lại việc xây dựng 1 chương trình, nhất là những chương trình cung cấp nhiều chức năng phức tạp và hữu dụng, là 1 công việc rất khó khăn, tốn nhiều công sức trí tuệ, tiền của và thời gian, nó đòi hỏi nhiều người tham gia và biết làm việc nhóm với nhau.
    Chuyên mục: Lập trình