作业 | 链接 |
---|---|
作业所属课程 | 西北师范大学软件工程 |
作业要求 | 实验十四 团队项目评审&课程学习总结 |
作业目标 | 总结学习心得 |
本学期课程学习总结##
-
解决实验一 软件工程准备任务5提出的问题:###
问题一:代码容易维护是对于复审者而言,代码已经达到了复审者认为的一些标准,还是对于编译代码的软件而言,该代码达到了团队规定的最严格的的编译警告等级或者编译软件对代码的一些要求之后就可以认为该代码是易于维护的呢?
解答:经过一学期对软件工程知识的学习以及在软件工程实践中获得的经验,我认为代码容易维护是对于软件的维护人员或者说是开发人员而言的。而并不是针对某个编译软件的标准,在对软件进行总体设计时,强内聚+弱耦合的设计会使问题二:代码复审应在整个软件开发的哪个步骤中进行才能达到它的目的呢?
解答:经过一学期对软件工程知识的学习以及在软件工程实践中获得的经验,我认为代码复审应当在编码阶段进行会更好的发挥它的作用。这是因为,我在和团队成员在进入团队项目的编码阶段后,虽然我们有约定的《代码规范说明书》,但依旧在编码过程中存在或多或少的问题,比如逻辑混乱等等,我们便在Alpha冲刺阶段的例会上对已经编写好的代码进行复审,可以解决很多问题。问题三:软件工程中的哪一个环节可以与交响乐团模式中提到的“演奏的都是练习过多次的曲目,重在执行”相对应?
解答:经过一学期对软件工程知识的学习以及在软件工程实践中获得的经验,我认为演奏的都是练习过多次的曲目在软件工程中对应的是软件工程的每一个环节:从需求分析到总体设计到详细设计到编码实现到软件测试到最终的项目验收,这些环节都是软件工程必不可少且已经在其他项目中反复执行过的步骤。
-
总结在项目的 可行性分析/需求分析/软件设计/实现/测试/项目验收/中学到的“知识点”:###
在项目的可行性分析阶段:我了解到,如果想做一款产品不是凭空想象也不是头脑发热的一时冲动而是用合理科学的软件工程可行性分析办法来衡量的。
在项目的需求分析阶段:我学会了多种需求调研方式。比如在这次的团队项目中,我们针对西北师范大学教材订购系统的一类用户:教务老师就采取了面对面访谈的方式,利用原型开发方式做好的软件原型,很好的获得了我们想要的数据。
在项目的软件设计阶段:我学会了采用不同的描绘软件结构的图形工具来设计软件。比如软件的总体设计时需要用到的是层次方框图:是用来描绘数据的层次结构的。详细设计中需要用到的图形工具是流程图:是用来表达算法的。除此之外,在软件设计中,模块的独立性也是非常重要的,模块的独立程度可采用两种度量标准:内聚和耦合。一般情况下,强内聚+弱耦合有利于软件的维护。在项目的编码实现阶段:我认为雄厚的编码能力是支撑实现阶段的最佳武器,否则最终的产品将是一座没有生机的孤城。
在项目的测试阶段:我学到了,软件测试是用来发现错误的;好的测试方案可以发现迄今为止尚未发现的错误;成功的测试就是为了发现迄今为止尚未发现的错误。
在项目的项目验收阶段:我学到了,项目验收时要准备好项目所有的文档,以便查阅,且要按照合同办事。
-
我在个人项目/结对编程/团队项目中的心得体会。###
在个人编程阶段和结对编程阶段由于初学软件工程的知识,在这两个阶段我都没有按照软件工程的办法来完成项目,唯一做过的一次文档是结对编程时和队友合作编写的《代码规范说明书》,那时候对于软件工程还没有特别深的感触,只觉得一人或两人完成一个项目是比较艰难的事情。直到后来的团队项目阶段,我作为团队的组长也是项目的PM,我们第一次完全按照软件工程的办法完成了一个项目,虽然最终的项目只完成了基本的功能且由于技术能力的限制,我们的软件没有河岸好看的界面。在团队项目的阶段我体会到了软件开发每一阶段对自己以及团队成员的指引都是清晰且明确的。除此之外,我还体会到了一个PM的艰辛,但这些付出都是值得的。
-
在软件工程这门课当中对我的提升:###
在软件工程这门课中,我学到了许多关于软件开发的知识,经过一学期软件工程的实践后,我所经历的软件开发的每一个阶段都对我后续的立项研究有着明确的指引作用。在这以前,我认为对于软件开发最重要的就是编码实现了,尤其是在之前的高级语言的实践课上,我认为只要编码实现了一个项目的功能以及界面就算是完成一个项目的开发了,但学过软件工程后我明白了一个项目的开发需要可行性分析/需求分析/软件设计/实现/测试/项目验收这些环节,且最好以团队开发的方式来完成。
- 经统计我在这门课当中累计完成了2000+行代码。
- 我在软件工程实践中的任务时间表:
作业 | 时间 |
---|---|
实验一 | 2h |
实验二 | 20h |
实验三 | 2h |
实验四 | 30h |
实验五(团队项目) | 5h |
实验六(团队项目) | 5h |
实验七(团队项目) | 5h |
实验八(团队项目) | 5h |
实验九(团队项目) | 5h |
实验十(团队项目) | 5h |
实验十一、十二(团队项目) | 30h |
实验十三(团队项目) | 15h |
实验十四 | 3h |
-
印象最深刻的一次作业是:结对编程完成词频统计软件。因为这次作业是第一次由两个人合作的方式来完成,且两人的编码能力都较弱在编码阶段花费了较长的时间才完成的,那天晚上熬到了很晚才完成,所以至今印象深刻。
-
经统计,在软件工程实践上花费的时间为:75h,平均每周花:5h.
-
我学习和掌握的新语言:JavaWeb.新平台:Tomcat.
-
总结一学期的学习中,我学习或使用的软件工程开发工具、开发方法和建模方法如下表:
软件开发工具、项目管理工具 | 软件开发方法 | 软件建模方法 |
---|---|---|
Eclipse MySQL TomCat GitHub 墨刀 Leangoo看板 | 面向对象方法 Jackson方法 软件重用 原型方法 | 层次方框图 数据库建模 结构化建模 |
-
我对本课程的建议如下:####
我觉得本课程采用实验课实践做项目的方式很好。对于理论课程,我建议采用实例教学的办法会比翻转课堂的形式有更好的教学效果。