西西河

主题:【原创】软件工程问题系列讨论1 -- poorfat

共:💬29 🌺9 新:
全看分页树展 · 主题
家园 【原创】软件工程问题系列讨论1

河里一定有很多从事软件行业的高手。小的不才,在此行业里也算垂死挣扎了几年。今特此开一新贴,与大家讨论软件工程的若干问题,仅起抛砖引玉的作用。

先谈谈鄙人在大学里学的软件工程这门课。当时就只学了”个人软件过程“(PSP - personal software process),其发明人好像是叫William Hummferry,记不清了。

只记得教授让我们每写一个程序都做好多统计,比如程序一共有几行,一共发现多少错误,都是在什么阶段发现的,每个程序一共花了多少时间,然后估算下一个程序大概会花多少时间,等等,很枯燥的。后来鄙人参加工作以后,发现现实世界满不是那么回事儿。

根据鄙人工作以来平时的观察和学习,软件的生产周期大致有这样几个阶段:

1- 计划

2- 设计

3- 实现 (也就是编程)

4- 稳定期(也就是综合测试)

5- 发布,上市

当然,软件发布以后还要提供售后服务等等。

计划阶段干些什么?鄙人认为在计划阶段主要完成这样几件事情:

- 通过用户调研,列出用户需求清单。也就是回答我们应该做什么的问题。

- 大致估算这个项目要花多长时间做

- 做一些可行性方面的调研,以备设计阶段作参考。

(我漏了什么吗?各位请指正。)

鄙人认为计划阶段的难点是第二条,就是如何估算项目要花多长时间做。当你向用户呈现你的计划的时候,用户最关心的问题之一就是,哪一天你可以发布产品。由于尚处在项目早期,还有很多不确定的因素,所以很难准确预测产品的发布日期。

大项目如此,小到单个人的小程序,也有相似情况。不知各位是否有此经历,每次上级来问我“这个程序你什么时候能做完?“我心里都没谱。不知大家平时都怎么估算自己程序的完成时间的?

欢迎大家热烈讨论,我下回继续。


本帖一共被 1 帖 引用 (帖内工具实现)
全看分页树展 · 主题


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河