16061023-软件工程第1次作业
第一次阅读作业
快速看完整部教材,列出你仍然不懂的5到10个问题,发布在你的个人博客上。
问题一:来自概论一节第17页,本书倡导的教学和培训目标
2.通过一定的软件流程,在预计的时间内发布“足够好”的软件。
看完这个要求后,我的疑问在于什么样的软件才能够成为“足够好”的软件,查询资料之后我认为,“足够好”的软件应该满足这些条件:
·确保软件完成了它所承诺或公布的功能
·确保软件满足了性能的要求
·确保软件是健壮的和适应用户环境的
那么还有其它的评判标准吗?又该由谁来评判呢?是负责测试的人员还是客户呢?
问题二:来自软件工程师的成长其中的思维误区
分析麻痹:一种极端情况是想弄清楚所有细节,所有依赖关系之后再动手,心理上过于悲观。分析太多,腿都麻了,没法起步前进。
我记得在完成OO作业的时候,在设计阶段需要弄清楚每一个类应该完成什么事情,以及类之间的调用,依赖关系,完成这部分工作之后再去着手写代码会比较轻松。那么在此处的依赖关系与单纯的程序设计作业之间类的调用依赖关系区别在哪呢?
问题三:来自第六章的敏捷流程
敏捷是一股思潮,它涵盖了好几种软件开发的方法论,这些方法论又是建立在许多行之有效的最佳实践方法之上的。
我的疑问点在于,面对不同的项目以及需求时,我们究竟该什么时候选择敏捷呢?能否给出几个详细的例子来说明敏捷的优势呢?
问题四:来自第八章的需求分析
对于杀手功能,外围功能的定义不太明白,不太能理解功能分析中四个象限的建议。
问题五:来自第十章的典型用户和场景
如何把我构建的典型用户和场景转换成我的规格说明书呢?又如何去写好我的技术说明书呢?
问题六:来自第十四章的质量保证
运用CMMI模型管理项目,不仅降低了项目的成本。而且提高了项目的质量和按期完成率。
我对CMMI的运行过程还是觉得很疑惑,并不懂得该模型应该如何去达到其预期的效果。
请问 “软件” 和 “软件工程” 这些词汇是如何出现的 - 何时、何地、何人?
软件工程的概念是1968年第一次提出的。“软件工程”是Margaret Hamilton在阿波罗计划期间所提出来的。
大家知道了软件和软件工程的起源,请问软件工程发展的过程中有什么你觉得有趣的冷知识和故事?
60年代中期,大容量、高速度计算机的出现,使计算机的应用范围迅速扩大,软件开发急剧增长。高级语言开始出现;操作系统的发展引起了计算机应用方式的变化;大量数据处理导致第一代数据库管理系统的诞生。软件系统的规模越来越大,复杂程度越来越高,软件可靠性问题也越来越突出。原来的个人设计、个人使用的方式不再能满足要求,迫切需要改变软件生产方式,提高软件生产率,软件危机开始爆发 。
上网调查一下目前流行的源程序版本管理软件和项目管理软件都有哪些, 各有什么优缺点?
项目管理软件 | 优点 | 缺点 |
---|---|---|
Microsoft TFS | 团队工具,贯穿需求,开发,测试,发布各个流程提供自动化工具 | 个人成本高,浏览器访问速度较慢 |
GitHub | 可以使用git来管理源代码,从微型到超大规模的项目都可以高效处理 | 代码保密性差,学习周期相对较长 |
Mercurial | 轻量级分布式版本控制系统,易于学习和使用,扩展性强 | 用户磁盘空间管理不当,产生了大量的多余副本 |
Bugzilla | 强大的检索功能,通过跟踪和描述处理Bug | 只能管理缺陷 |