2010-04-12 29 views
5

Bao nhiêu và lập kế hoạch nào được sử dụng cho các dự án phần mềm mà bạn hoặc công ty của bạn phát triển?Bao nhiêu và lập kế hoạch nào được sử dụng cho các dự án phần mềm?

Lý do tôi hỏi là vì lớp tôi đang học về UML và những thứ tương tự khác về bản chất đó. Từ cách lớp học được thiết lập, chúng tôi đã tạo ra một hệ thống thư viện mô phỏng rộng rãi với các chương trình như Visual Paradigm, nhưng đối với tất cả công việc cho đến nay chúng tôi chưa thực hiện bất kỳ chương trình nào (và chúng tôi không có ý định dự án).

Có lẽ nó chỉ là cách lớp được dạy, nhưng có vẻ như với tôi rằng rất nhiều thứ đang được dạy trong khóa học là rất mơ hồ trong việc trình bày quy hoạch quan trọng cho các dự án phần mềm. Tôi có thể thấy các sơ đồ đối tượng hữu ích như thế nào, nhưng các biểu đồ khác đang để lại rất nhiều điều mong muốn. Các sơ đồ tuần tự hoặc sơ đồ máy trạng thái trong thực tế có hữu ích như thế nào?

Vì vậy, vì những điều đã nói ở trên, chỉ cần sử dụng bao nhiêu và lập kế hoạch nào cho các dự án phần mềm mà bạn hoặc công ty của bạn phát triển? Nó có mở rộng hay là nó tối thiểu? Bạn có nghiên cứu kỹ về việc lập kế hoạch cho mọi thứ hoặc bạn có cảm nhận chung cho dự án trước khi viết mã không?

+0

Chỉ cần có điểm A, nhận thực tập và sau đó nhận được một công việc. Tôi sử dụng tối đa 20% những gì tôi học được ở đại học. Một bằng đại học là một cách để loại bỏ những người không có năng lực, cộng với nó là một viên thuốc giả dược rất tốn kém. Việc học thực tế bắt đầu từ công việc. Không quan trọng; chỉ làm tốt trong lớp. –

+0

@Hamish: Bằng đại học cung cấp cho bạn nền tảng CS có thể được sử dụng trong công việc (ví dụ: hiểu rõ hơn về cách các thuật toán được thiết kế, cách chứng minh tính chính xác, cách đo lường hiệu suất), không có nghĩa là t dạy bạn trở thành nhà phát triển hoặc có kỹ năng kỹ thuật.Nếu các trường thương mại chỉ dạy phát triển có tính cạnh tranh và chất lượng cao, các công ty ít hơn sẽ tập trung vào các cấp độ CS. – Uri

+0

Tôi hoàn toàn với Hamish trên thực tế là bây giờ tôi sử dụng ít hơn 20% (có lẽ ít hơn 10 tôi nghĩ đôi khi) của những gì tôi đã học được ở trường đại học. Tuy nhiên, tôi không biết liệu đây có phải là tôi hay không, nhưng một đoạn khá là 10-20 phần trăm là từ các lớp kỹ nghệ phần mềm của tôi. Giáo sư là một người thực sự thông thái đã từng làm việc trong ngành này từ lâu. Tôi ước tôi có thể quay lại và tiếp thu những lời khuyên từ những lớp học đó ngay bây giờ mà tôi biết nó đang nói về cái gì. – Brandi

Trả lời

2

Tôi nghĩ bạn đang bối rối về lập kế hoạch và thiết kế/kiến ​​trúc. Lập kế hoạch thường đề cập đến mặt kinh doanh của sự vật - có bao nhiêu người sẽ làm điều gì đó trong bao lâu. Thiết kế/kiến ​​trúc nên giải quyết cách thực hiện đúng cách giả sử bạn có đủ thời gian và ngân sách.

Về mặt thiết kế, hầu hết các nhà phát triển đều biết UML ở một mức độ nào đó, nhưng không nhất thiết phải sử dụng nó. Nếu chúng được cung cấp các công cụ CASE, chúng có thể sử dụng các sơ đồ lớp để sử dụng riêng lẻ, nhưng không sử dụng các biểu đồ khác thường xuyên. Các công cụ CASE buộc bạn phải sử dụng "dạng chính thức" của UML để chúng khá nghiêm ngặt và hạn chế việc sử dụng sáng tạo của chúng. Một mô hình CASE thường được tạo ra để hưởng lợi từ việc tạo mã. Trong công ty của riêng tôi, chúng tôi sản xuất một tấn mã nhưng không sử dụng UML.

Để thiết kế và đánh giá cộng tác (ví dụ: vẽ trên bảng), UML phổ biến hơn vì "mọi người đều nói". Tuy nhiên, từ các nghiên cứu quan sát mà tôi đã thực hiện và xuất bản, UML được vẽ trên bảng chỉ đơn thuần là kết thúc - mọi người mượn các ký hiệu nhất định, nhưng sử dụng chúng để truyền đạt ý tưởng. Vì vậy, bạn sẽ thấy những thứ như trình tự và dòng điều khiển trên một sơ đồ lớp. Các tạo phẩm kết quả không phải là thứ bạn chỉ có thể nắm bắt vào một công cụ CASE. Bạn có thể xem my dissertation đối với nhiều ảnh về những điều này trông như thế nào khi bạn nhóm một nhóm các nhà phát triển có kinh nghiệm để thiết kế.

Về quy hoạch, kinh nghiệm của tôi là điều này rất khác nhau giữa các công ty phần mềm và các công ty cũng phát triển phần mềm. Trong kế hoạch cấp vĩ mô (phần lớn) thường được thực hiện dựa trên quy hoạch văn hóa doanh nghiệp và kế hoạch kinh doanh, loại công cụ bạn học trong MBA. Nó thường không cụ thể cho phần mềm, và theo như quản lý là có liên quan bạn có thể xây dựng phần mềm hoặc bánh nướng xốp, nó chỉ là số. Ở mức vi mô hơn, không có hệ thống chính thức nào được sử dụng. Các công cụ như biểu đồ và bảng tính Gantt được sử dụng để theo dõi những dự đoán trường hợp tốt nhất và lịch trình bị trượt. Nhưng cuối cùng, nó phụ thuộc vào kinh nghiệm của quản lý - các nhà phát triển cũ thường mạnh hơn ở đó. Một số thực hành như Agile đơn giản hóa việc lập kế hoạch theo một số cách.

+0

Cảm ơn câu trả lời, tôi sẽ đọc bài báo của bạn một trong những ngày này. Vì không có câu trả lời nào khác, tôi sẽ đánh dấu bạn là câu trả lời đúng. – Nitrodist

Các vấn đề liên quan