第二次作业
| 这个作业属于哪个课程 | https://edu.cnblogs.com/campus/zjlg/rjjc20 |
|---|---|
| 这个作业的目标 | 通读《构建之法》,提出三个问题 |
| 姓名-学号 | 何佳骏-2018330301047 |
| 1.原文:一些同学认为,所谓好软件,就是软件没有缺陷(Bug),所谓软件工程,就是把软件中的Bug都消灭的过程。(选自一章p15) |
1.提问:一个软件有BUG就代表这软件不是好软件么?
个人想法:好软件的判别条件并不是是否存在bug
查取资料分析:好软件功能稳定可靠,操作简便易行;运行流畅,不影响其他软件运行;不会携亲带友地拉扯着一大堆附属小软件一起安装;省心,不会三天提示你更新两天提示你升级; 简单来说就是、朴素、大气,用自己的实力吸引着客户使用,而不是不要脸地老往客户跟前转悠骚扰,把用与不用、怎么用的主动权交给客户。
而出现上述情况下并不代表就不存在着BUG,而没有上述情况也不意味着有BUG。
结论:好软件与BUG并没有绝对的因果关系,但是确实是的确在互相影响着。
2.提问:软件开发是一门工程,是一门艺术,还是一门手艺?(三章P63)
个人观点:对于真正的高级软件工程师来说这既是一门手艺也是一门艺术
资料分析:艺术是没有具体形象的,一名艺术家必须要擅长创新;工程则是循规蹈矩的,一名工程师则必须要守规矩。而软件开发之所以可以称为一门艺术而不是工程师因为软件要满足用户的需求并不是循规蹈矩的,不同的软件开发者对做一个相同的软件开发项目可能有很多不同的想法,一个只会循规蹈矩的软件开发者肯定是无法成为一个出色的工程师的,只有懂得创新的工程师才能开发出更多合适的好的软件。
结论:这与工程师的水平密切相关
3.提问:大多数工程师都在团队的环境工作,怎么样才是一个合格,甚至优秀的队员呢?(三章P51)
个人观点:接受团队意见,为团队做出贡献,并且能够完美完成个人的任务
资料分析:一.需求分析能力 二. 项目设计方法和流程处理能力 三. 复用设计和模块化分解能力
四. 整体项目评估能力 五. 团队组织管理能力
结论:一个优秀的软件开发工程师应该能够根据程序员之间的能力水平差距,以及根据项目研发的需求,选择合适的组队方式,并能将责权和成员的工作任务紧密结合,这样才能最大发挥组队的效率。

浙公网安备 33010602011771号