软件工程---个人总结
一 本课程对我带来的收获
1 学习和使用的新软件
我们的代码全部托管在新浪云上,因此本次项目中没有使用新的软件。
2 学习和使用的新工具
Mockplus:在项目初期做原型设计,做项目的初始界面
3 学习和掌握的新语言新平台
在进行项目过程中,我们使用了网上的在线编译器新浪云代码托管,使用的语言是php,选择的数据库是MySQL。也初次使用了一些特别方便的平台,比如模板之家,里边有许多实用美观的模板,菜鸟教程,可以教我们一些简单的语言入门。
4 完成代码情况
在我们的项目中,我大概完成了一千行代码,其中包括网页设计部分,整体框架部分等。
5 学习和掌握的新方法
在这次课程作业过程中,我几乎参与了项目的每一步,例如项目的整体规划,软件开发,软件测试。
二 总结和展望
1 在软件过程课上的经验总结
我在做项目的过程中曾遇到了许多许多困难,有可能在电脑前坐一整天项目也没有任何进展,后来才明白是因为我们团队内部没有交流清楚,深深体会到做项目的过程中还是与队友的交流最重要。其次,还是要多多了解与项目有关的专业知识。
2 对学弟学妹的建议
我们的项目基于微信的二手交易平台虽然按照我们的需求规格说明书中的功能基本完成,但还是有许多漏洞和可以扩展的功能,如果有学弟学妹要继续我们的项目还希望多多努力,尽可能完善我们的项目。
3 分析自己的团队
我的团队是一个五人小组,而且全部是女生,团队内也没有特别强的人,所以在项目刚刚开始是都手足无措,每个人都自己做自己的事,走了不少弯路,后来大家慢慢磨合,有了问题大家一起讨论解决,有队长分配任务,大家也进行的有条有理了。
4 个性发挥
这是我第一次做项目,因此也没有信心,以为我们做不出来,但后来还是做出来了,对此,心里满满的成就感。
三、请大家回顾我们软件工程第一次作业,通过本学期的学习,对第一次作业中的5个问题重新回答。
问题一
我看了这一段文字 (第二章开始的关于写单元测试部分以及回归测试部分),有这个问题 (怎样进行单元测试)。 我查了资料,有这些说法(单元测试是在软件开发过程中要进行的最低级别的测试活动,在单元测试活动中,软件的独立单元将在与程序的其他部分相隔离的情况下进行测试。 单元测试不仅仅是作为无错编码一种辅助手段在一次性的开发过程中使用,单元测试必须是可重复的,无论是在软件修改,或是移植到新的运行环境的过程中。因此,所有的测试都必须在整个软件系统的生命周期中进行维护。),根据我的实践,我得到这些经验(单元测试要保证所有的代码都得到基本的测试)。 但是我还是不太懂,我的困惑是(为什么单元测试要一次又一次的重复进行,怎么样才能进行一个有效的单元测试)。
回答:进行测试当然是保证程序能够准确运行,发现bug,由于单元测试要写测试驱动程序,等到整个系统全部开发完后,集中精力进行一次性地单元测试,因为在开发过程中,缺陷会越积越多并且分布得更广、隐藏得更深,反而导致测试与改错的代价大大增加。最糟糕的是无法估计测试与改错的工作量,使进度失去控制。因此为图眼前省事而省略单元测试或者“偷工减料”,是“得不偿失”的做法。
问题二
我看了这一段文字 (在第五章介绍的关于团队与流程部分),有这个问题 (如果要开展一个项目,应该选择怎样的团队模式)。 我查了资料,有这些说法(大概都说的是选择,选择好的人,选择好的方式,选择好的平台协作来提高团队能力的),根据我的实践,我得到这些经验(根据看书的过程,应该选择渐进交付的流程)。 但是我还是不太懂,我的困惑是(既然已经接近迭代式的开发流程,那么是不是要放弃以前几个未发展健全且漏洞较多的团队模式)。
回答:由实践可知,每个团队模式都有不同的优缺点,由此我们可以去其糟粕,取其精华,集各种团队模式的优点,尽量避免它们的缺陷。
问题三
我看了这一段文字 (读了第六章关于敏捷流程的部分),有这个问题 (在什么时候适合选择敏捷)。 我查了资料,有这些说法(引用周啸辰敏捷软件工程和传统软件工程比较,敏捷软件开发的一个精髓就是“刚刚够”思想。用逐步实现的思想替代完整架构,每一步的需求和人员及其沟通、开发成本都刚刚好,通过不断地迭代,在迭代过程中响应客户需求的变化,实现最紧致成本,体现“刚刚好”思想。同时对每次迭代的反馈进行讨论和思考,总结经验和吸取教训。),根据我的实践,我得到这些经验(敏捷并不是软件开发的顶峰,这种价值观建立在许多行之有效的最佳方法之上。)但是我还是不太懂,我的困惑是(为什么敏捷很有效果,那么敏捷最适用的范围是哪些)。
回答:因为敏捷体现出一个刚刚好思想,所以实现了响应客户需求与紧致成本,即为有效果。敏捷的适用即为每次迭代反馈进行思考,总结经验,吸取教训。
问题四
我看了这一段文字 (我看了第八章关于需求分析的部分),有这个问题 (我们在做需求分析的时候应该如何减小用户与我们之间的理解误差)。 我查了资料,有这些说法(应该贴切的做用户调研,与用户密切交流,深入面谈,以及市场调研),根据我的实践,我得到这些经验(在项目开始之前一定详细的做用户调查,在后期项目开始时对需求分析时刻更新。)。 但是我还是不太懂,我的困惑是(假如我们做出项目之后与用户和我们的预期想法差别较大,是我们的需求分析做的不到位,我们到底应该把需求分析的着重点放在哪里)。
回答:我们做出项目之后与用户和我们的预期想法差别较大,是我们的需求分析做的不到位,我们自然应该把着重点放在用户的需求身上,因为我们做的项目就是针对用户的这 不可置否。
问题五
我看了这一段文字 (在第十三章中关于“探测式”的测试部分),有这个问题 (为什么探测式测试流程是不可重复的)我查了资料,有这些说法(因为测试是特定的,使得探测式测试没办法自动化,达不到可重复级。而探测式测试太多是团队管理不佳的标志。),根据我的实践,我得到这些经验(因此我们还是要注重单元测试和回归测试和其他测试方法,尽管探测式测试依然可以找出许多预料之外的漏洞)。 但是我还是不太懂,我的困惑是(为什么说探测式测试在没有发现当前用例之外的问题,就说明现有测试用例是比较完备的)。
回答:因为探测式测试的探测是特定的,只针对某一部分,不能达到可重复级,所以说如果探测式测试没有发现当前用例之外的问题,即说明探测用例比较完备。
浙公网安备 33010602011771号