课程总结

这个作业属于哪个课程 https://edu.cnblogs.com/campus/xnsy/SoftwareEngineeringClass1
这个作业的要求在哪 https://edu.cnblogs.com/campus/xnsy/SoftwareEngineeringClass1/homework/3379
团队名称 黄金六点小组
这个作业的目标 总结这学期从软件工程这门课学到的知识,心得和体会

一.回望第一次作业对软件工程的想象和提出的问题以及链接

以前提问题的博客以及畅想:https://www.cnblogs.com/230332663abcd/p/10542502.html#4225180

二.尝试解答自己的问题

1.

解答:学完这门课,我认为一个工程师或者是一个项目组的成员,不会只专注于一个技术,在不断的练习项目,不断的接触不同的工程,在多年的经验积累后,掌握多种技术,或者是说挑战不同的角色不是一件很困难的事,实际在接触的团队项目中,我们的确有时会转换角色。解决方法:通过这学期的团队项目,亲身经历了这次过程,感觉到实际的分工并不是这么明确,在不同的阶段,每个人根据项目的需要,会不同的切换角色,确实像书中所说。比如在前期,我负责用PS画设计图,但在后期的测试中,也参与了单元测试的部分和编码的部分,因此分工这个是不会很明确的。

2.

解答:其实在团队中,确实不管是敏捷流程还是一般的分类都是存在分工的问题,而我们组在解决这种问题的时候是强制性的要求,自己的任务要完成。确实敏捷流程是一种新的方式,而在建立在团队成员很默契的大家都存在有利益根据每个人的贡献率来发奖金的情况下,确实在提这个问题的时候没有考虑外在的条件。方法:通过做团队项目,根据自己的经验,以及老师课堂上对敏捷流程的介绍,具体的分工和做项目的过程。

3.

解答:通过学习的比如第九章中,软件结构化分析以及软件结构化详细工具中,在画数据流图,盒图等都用到了对符号的运算和变化。比如在简化一个用户需求的时候,需要逻辑将它顶层图的连线,关系呈现和实现。在比如在盒图中,需要将流程图的计算流程结果进行转换,推理成另一种表达。在比如在matlab这门语言中,我们将数学知识通过适当的模型转换成软件的模型,也就是说不一定是符合数学特征,而是在转化的时候用到数学思想。方法:通过老师的讲解和联系,体验这种过程和转换的思路以及在数学建模的比赛中接触到的将数学与计算机联系的过程。

4.

解答我当初的理解是错误的。软件的开发活动中,有一种模型叫做原型模型,它的定义就是在做一个初步的版本发布出来,等待用户的确认,在客户的认可和提出新的方案时,在做新的版本和更改,最终做出一个完整的版本。方法:是通过上课老师讲解的模型中所介绍的原型模型,正好和这个问题相符合。

5.

解答:可以采用一些开发模型来解决这个问题。比如:瀑布模型,螺旋模型,原型模型,增量模型,构成继承模型等。比如原型模型,可以先做一个初步的模型,先让客户来评估,这个时间肯定是在几个月之内。越快越好。在顾客给出意见和建议,在陆续发布第二,第三个版本。方法:通过老师上课的介绍,比较几个模型的特点以及课后查阅网站。

三.是否产生了新的问题及提出

1.在团队的分工中,存在能力的差异,如果有些队员停留在初始技术,导致其他队员工作量过大,不知道该怎么解决这类问题。

2.在考虑项目的漏洞时,不能够想的很全面,导致在其他同学的验证时,漏洞很懂。有没有更好地解决方案,解决这些思考方案的缺陷。

3.在实际画数据流图的时候,考虑的版本很多,不知道如果选择出合适的数据流图的模型。

四.掌握的技能

1.单元测验方法。通过博客作业的引导和学习,明白怎样通过用VS和代码去测试自己完成的代码,以及查看覆盖率等功能。

2.了解github这个强大的代码管理的软件,知道怎么从本地上传文件到大的代码网站里,根据博客的引导和作业。

3.代码的能力,对C#中计算器,计数器,导入文件,导出文件等功能,以及游戏的发布,使用都有了深入的了解,根据博客的个人项目和团队项目以及网站的查阅和资料的学习。

4.对软件工程的生命周期,以及需求分析,结构化设计都有了详细的了解,根据老师上课的讲解。

五.总结

首先是对软件工程各个阶段,从开始的可行性分析到软件的发布,中间的过程都有了详细的了解。在通过博客作业的一步步的引导,对整个过程了解更加清晰,从书本到实践还是克服了很多的困难,中间也存在一定的差距。其次,在个人博客中,学习到了代码的编程的各种方式以及测试的方法。虽然这学期很累,也绝望过,但经历了,觉得收获很多,很值得。

原文地址:https://www.cnblogs.com/230332663abcd/p/11061363.html