例子。移山公司程序员阿超的宝贝儿子上了小学二年级,老师让家长每天出30道加
减法题目给孩子做。阿超想写-个小程序来做这件事,具体实现可以采用很多语言或工具:
Excel、C/C++、 C#、VB、Unix Shell. Emacs. Powershell/VBScript. JavaScript、 Perl、 Pythn....
请大家估计写好这个程序需要的时间。
我想,程序员用自己最擅长的工具,-袋烟的工夫就搞定了。
阿超一下打印出好多份不同的题目,让孩子做了。老师看了作业之后,对阿超赞许有加。
别的老师闻讯也想要类似的程序,让二年级到四年级都能用,并附带提出一-些小小的要求,例如:
题目避免重复
可定制数量和打印方式可以控制下列参数
是否有乘除法是否有括号数值范围
加减有无负数除法有无余数
是否支持分数(真分数、假分数.... )是否支持小数(精确到多少位)打印中每行的间隔
阿超的儿子兴高采烈地回家来给老爸汇报,并说“老师明天就想要!”阿超有些挠头,原来就是随手
写了个程序,现在怎么来了一些用户,还带来了不少需求?现在大家估计做好这个软件需要多长时间。
阿超熬夜做出了这个软件的一一个初始版本,交给了老师。过了几天老师说,教导主任看了很满
意,提议把这个程序放到学校的网站上,再多-一点点要求,支持二元-一次方程,能开根号,并
且让老师和家长可以通过网站定制各种类型的四则运算作业,还可以生成期中、期末考试的试卷
。当然,希望网站永远是可以用的,至少早上五点到晚上十二点要能访问。
阿超叹了一口气一这是多复杂的- 一个工程啊,如果有一天晚上网站打不开了,我是不是还要修
理服务器?
这里我们看到客户们对阿超的需求从一一个简单的程序,扩展到-一个满足各种功能的应用软
件,再扩展到一个能保证维修的软件服务!现在请大家估计做好这个软件服务需要多长时间。
上面的例子展现了软件工程的一些概念。
很是真实了
几个......
软件=程序+软件工程
软件企业=软件+商业模式
软件工程是把系统的、有序的、可量化的方法应用到软件的开发、运营和维护上的过程。
软件工程包括下列领域:软件需求分析、软件设计、软件构建、软件测试和软件维护。
这和之前的数据库设计有点像呢,这之类的设计都是按照这么个流程?
VSTS写单元测试
https://www.cnblogs.com/zhanglsh/p/5285285.html
https://www.cnblogs.com/xugang/archive/2008/06/06/1215158.html 很是明白...
单元测试的好处 http://www.blogjava.net/square/articles/158103.html
单元测试是指对软件中的最小可测试单元进行检查和验证。
回归测试是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误
PSP 个人软件过程
魔方的故事
大概是在我小学五年级的时候, 大家开始玩魔方,我们家也买了一个。我和几个小孩折腾了一会, 没搞出什么名堂。我哥摆弄了好一会, 嘿! 弄出一面一样的颜色。后来我也琢磨出来怎么把一面颜色拼出来。再后来我才知道魔方有一些模式和一些口诀,按图索骥, 依口诀而行, 就会从一面玩到一面再加一层,再到加两层, 然后把最上层四个角的颜色搞对, 然后再按照一两个口诀翻十几下, 六面就做好了! 我玩着玩着就把各种模式和口诀都掌握了。上初中的时候, 我还在课间表演过, 赢得一些男同学的好评, 女同学似乎对此不感兴趣。
要在当时, 我的简历上一定会在“技能”一栏写上:
“精通玩魔方”。
后来我就不玩魔方了,这样过了二十多年。
几年以前我在一个实习生的桌上又看到了魔方。我拿起来,似乎不用想, 当年的口诀就在手上. 转啊转,一面, 一层, 两层,那个男实习生露出崇拜的目光。。。直到最上一层, 嗯, 口诀是什么来着? 我试了几种可能, 好像都不行。我看到周围的女实习生似乎不感兴趣, 那就算了吧。
看来我的简历要改写成:
“精通玩魔方到第二层”。
后来我想, 把第二层拼好, 我只知道找到某个模式, 按照某个口诀执行即可。但是我并不了解为什么这个口诀能把第二层拼好, 同时又不打乱第一层的结果。我更不知道如果在执行中走错了几步,如何随机应变, 挽回局面。离开了口诀的话, 我只能把魔方的一面拼出来。从这点看来, 我的魔方技能应该是
“能够还原一面, 其他看口诀可搞定”。
那我的这真实的“技能”还值得写上简历么? 看样子是上不了台面了, 那什么是“技能”呢?
看了很有想法,想问同样的问题?
于是有.....书上总结成简单的“已经知道怎么做了”
意外翻看到 惊 https://www.cnblogs.com/xinz/
原文地址:https://www.cnblogs.com/jj-wbsds-n/p/9595438.html