201671030102陈飞 实验十四 团队项目评审&课程学习总结

项目 内容
这个作业属于哪个课程 2016级计算机科学与工程学院软件工程(西北师范大学)
这个作业的要求在哪里 实验十四 团队项目评审&课程学习总结
课程学习目标 1.掌握软件项目评审会议流程;2.对本学期所有知识进行回顾和梳理; 3.通过所学知识对之前所存在的疑惑进行再次思考并尝试解答。

1、任务一:回答任务一所提出的问题并阐明解决疑问的途径,提出在学习中产生的新问题

1.1 任务五的博客连接

实验一 软件工程准备

1.2 任务五问题的回答

    1、书中第三章提出软件工程师的能力,我想知道软件工程师的能力具体在现实中如何表现,如何在面试中突显这种“能力”,而这种能力的提示方式又与代码质量的提升方式有何不同?
    答:①软件工程似的能力表现的方面不光光是敲代码的速度和算法的实现与应用,软件工程师的能力更多的应该体现在对一个问题的分析、总结和形成通用解决方案上。在面试中完全可以给出自己以前开发一个项目所写的需求分析文档和详细设计文档。
    ②提升这种能力的方式是掌握与人的沟通,了解别人所想的才是这种能力最大的体现。所以提升这种能力与提升代码质量不同的地方就是一个是人文社会的体现而另一个是不断累积经验的体现。
获得途径是最后的结对项目各种文档的书写。
    2、在书中第四章所提到两人合作中可以通过Java的端口和继承实现,而这些端口和继承父类又该如何设计?
    答:接口和父类都是可以设置虚拟函数来形成代码规范,设计他们的时候考虑输入、输出、和数据处理的方式就可以了。获取方式是几次联合开发得到的经验。
    3、在书中第五章所提到的多人合作即团队的协调,如何将每个人的长处发挥到淋漓尽致,从而达到一个软件的最佳状态。
    答:经过最后一次结队项目,我获得了其中的一点点经验。在这次合作中有收获,当然也有不愉快。每个人都想要做最简单的事,但是每次任务简单的是就那么多,跟多的是比较麻烦的事。但是这次开发给了我经验分配给每个人固定的任务,并要求其按时完成,并在安排任务时考虑每个人的长处(其作用是每个人做的模块质量都会有很好的保障),还要考虑任务的简易程度,简单的是多分配,繁琐的是少分配,以此来保护每个人的工作时间都是趋近于相同的。

1.3产生的新问题

在结对开发时,我发现有些人特别难沟通,难以准确的获得他对该项目的需求,有没有较为顺畅获取方式。

2、总结自己在项目的 可行性分析/需求分析/软件设计/实现/测试/项目验收/中学到了哪些“知识点”。

软件开发的过程主要包括可行性分析、需求分析、概要设计、详细设计、实现、运行和维护七大步骤:

可行性分析:可行性分析主要是对技术可行性、经济可行性、市场可行性三个方面进行分析,以确定软件的开发是否需要进一步开展,避免造成经济、时间等不必要的损失。

需求分析:需求分析主要是对目标系统提出完整、准确、清晰、具体的要求以明确系统必须做什么。

概要设计:概要设计主要是设计并选取最优实现方案,对系统功能进行分解后设计出软件结构和数据库以及测试计划。

详细设计:详细设计主要是对系统进行详细具体的设计和说明,方便开发人员在后期的开发,决定了最终程序代码的质量。
实现:编码和测试统称为实现,因为在编程的过程中要不断进行测试,以确保软件的正常开发和软件的质量。

运行和维护:软件在进行内部测试和运行测试之后即可投入使用,然后在使用的过程中对软件进行维护以确保软件具有一个相当长的使用寿命。

最后在开发途中我得到的知识其实我觉的最重要的是:一个团队的积极性和配合对于一次工程开发是有决定性影响的

3、课程心得

3.1个人项目:

    在个人项目中,我发现开发比较自由,可以完全按照自己的想法来敲代码,代码苦涩难懂。我后面再也不想读我自己的代码了。所以我得到经验,在敲代码时不要图一时之快,要有自己的代码规范,而且这种规范要能被大部分人接受。

3.2结对项目:

    在结队项目,我曾出现过代码没法整合的事故,后来在团队项目上作为警告避免了不少麻烦。要善于沟通,发现问题及时解决。

3.3团队项目:

    从项目选题,进行项目需求分析和文档的编写、系统设计、详细设计、项目的编码及测试,亲身经历和感受了一个完整的项目的过程,通过撰写一系列的说明书,我了解了编写需求分析说明书、系统详细设计说明书、编码规范说明书的规范等等说明书的规范,学习了一些工具的使用,比如利用mockplus进行项目的原型设计,采用Visio进行项目的建模,还敲了一些令人头秃的代码(数代码量令人头秃),在团队项目的过程中,我得到的经验是一个团队首先要有的是心态,及时扼杀怠慢的心理尤为重要,因为这个心理会传染,导致一个组的涣散。其次是配合,一个项目的完结与否完全看一个团队的配合。在这是每个人的态度,这个决定了一个项目完成的质量。

4、总结这门课程的实践总结和给你带来的提升,包括以下内容:

4.1统计在软件工程实践中,你完成了多少行的代码;

我大概完成了8000行代码。

4.2你在软件工程实践的各次作业分别花了多少时间?

软件工程作业 花费时间/h
实验一 软件工程准备 2
实验二 软件工程个人项目 6
实验三 作业互评与改进 1.5
实验四 软件工程结对项目 5
实验五 软件研发团队组建 1
实验六 团队项目选题 2
实验七 团队项目原型设计与开发 2
实验八 基于原型的团队项目需求调研与分析 2.5
实验九 团队项目需求改进与系统设计 4
实验十 团队项目系统改进与详细设计 5
实验十一 团队项目设计完善与编码 3
实验十二 软件测试与Alpha冲刺 7
实验十三 Beta冲刺与团队项目验收 8

4.3哪一次作业让你印象最深刻?为什么?

我印象最深刻的一次作业是实验十二 团队作业7:软件测试与Alpha冲刺,这次实验要求编程完成项目,虽然前面设计都已经做好了,但由于专业能力的不足,导致编程进展很慢。

累计花了多少个小时在软件工程实践上?平均每周花多少个小时?

累计花费50个小时,平均每周花3个小时

4.4你学习和掌握的新语言、新平台;

语言:Markdown、jsp、xml
平台:博客园、GitHub、中国大学MOOC、Tomcat、代码云(中国)

4.5填写下表,总结一学期的学习中,你学习或使用的软件工程开发工具、开发方法和建模方法;

软件开发工具,项目管理工具 软件开发方法 软件建模方法
GitHub,MyEclipse,MySQL、process on、墨刀、石墨文档、mockplus 面向对象方法,Jackson方法,快速原型方法 数据流图,数据库建模,面对对象建模

5你认为目前的课程存在哪些问题,你有什么更好的建议。

    在本学期,老师的教学方式其实刚刚开始我很难接受,到后来才发现这门课重要的不是去死记硬背哪些知识,而是将所学的知识应用到项目中。
    在项目选择上希望老师可以去了解一下每个人的开发能力,与开发语言。并且要根据这些又老师你看着分组,每个人能力不同往往会出现1=N的现象。好在我们组比较幸运没有出现该现象。所以希望老师按能力分组,然后给予不同能力级的项目,这样这个项目才能发挥最好的作用。

猜你喜欢

转载自www.cnblogs.com/ChenFei23/p/11110875.html