201671030104 邓海祥 实验十四 团队项目评审&课程项目总结

项目 内容
课程名称 2016级计算机科学与工程学院软件工程(西北师范大学)
这个作业的要求在哪里 实验十四 团队项目评审&课程学习总结
课程学习目标 (1)掌握软件项目评审会流程;(2)反思总结课程学习内容

实验一
结合本学期课程学习内容,对比《实验一 软件工程准备》的任务5你所提的问题(给出提问博客链接),尝试对提出问题进行解答,并阐明是如何通过学习/实践/讨论弄清楚的;学习中是否产生了新的问题?如有,请提出。
Q1:在没有接触这门课的时候,对软件工程很模糊,虽然学计算机,但是只是简单编程。读了《构建之法》以后,对于书中70页的代码风格规范中,以前的随便以出结果为目的。书上的这些规范,虽然明白这么个道理,但是不知道该怎么规范。不知道方法。
对于Q1的回答:代码风格的规范包括了对于接口类名之类的行规,以及变量的表示方法比如你们组内都可以规定变量为英文描述加上下划线加上具体作用等等,或者是规定每个操作符间必须有空格,代码风格的形成需要具*定,便于合并代码。
Q2:第二个呢就是,对于书中101页的官僚模式,既然最后提出这种模式因人私心,很容易对整个工程产生影响,但为什么,有什么必要提出这个问题呢?
对于Q2的回答:因为官僚模式会给工程带来负面作用所以要提出这一问题,避免外行过度干扰内行产生负作用。
Q3:软件工程到底有什么实实在在的用处,在计算机领域它担任什么角色?很广泛的概念,但具体问你,它到底能干什么,就很难回答。
对于Q3的回答:工程论是指导工程准则的方法,虽然很广泛,但是任何一个做软件的公司都必须遵循一定的软工过程才能得到结果。
实验二
总结自己在项目的 可行性分析/需求分析/软件设计/实现/测试/项目验收/中学到了哪些“知识点”。
•1、可行性分析
使用NABCD方法对团队初选项目进行可行性分析,用最小的代价在最短的时间内确定问题是否可以解决,是否值得去解决。
•2、需求分析
使用Visio UML图形绘制工具绘制用例图,与多人交流并共享;通过问卷调查分析用户的需求。一个项目开发的最终目标,是为了让用户使用,因此必须清楚的了解用户的真实需求,比如用户需要的功能,想要看到的界面等。一个靠谱的需求分析能够减少项目开发的时间,提高项目开发的效率。
•3、概要设计
概要设计主要是设计并选取最优实现方案,对系统功能进行分解后设计出软件结构和数据库以及测试计划。
•4、详细设计:详细设计主要是对系统进行详细具体的设计和说明,方便开发人员在后期的开发,决定了最终程序代码的质量。
实验三
结合个人项目/结对编程/团队项目的个人经历,谈谈心得。
通过个人项目的实施,我深刻认识到自己的相关专业知识掌握的很不够,也发现了学习和实践中的不足。软件工程中需求分析的不充分,软件开发方法的不恰当这些都是需要以后改进和学习的,软件开发中的各种文档编写能力还需要提升,在以后学习和实践中认真总结和完善,参考他人的软件工程项目,体会优秀软件工程的思想。在做任何事情的时候都要有觉得是站在巨人的肩上,而不是重复的生产车轮的思想来做事情。总的来说,本次个人项目使我对软件开发有了进一步的认识,学到了很多知识。这学期老师要求继续以小组合作的方式来开发一款软件,在边学习软件开发的方法边把理论知识与实际操作相结合的过程中,我对软件工程开始有了浅薄的认识。我觉得收获最大的就是知道了概要设计与详细设计的区别,知道了文档需要怎么撰写,为什么这么撰写,以及为什么要撰写。当然,也改变了我对软件开发固有的想法,软件开发的过程不仅仅是编码和测试,设计部分是更为重要的,一个软件若是有好的设计,则开发起来会相对容易一些,编程时也会更加明确,即使开发的软件再大。
实验四
总结这门课程的实践总结和给你带来的提升。
•1、统计在软件工程实践中,你完成了多少行的代码;
在软件工程的实践中,大约完成了3000多行代码。
•2、你在软件工程实践的各次作业分别花了多少时间?(做一个列表)

任务 花费时间(h)
实验 一 软件工程准备 4h
实验 二 软件工程个人项目 15h
实验 三 作业互评与改进 12h
实验 四 软件工程结对项目 8h
实验 五 软件工程准备 5h
实验 六 团队项目选题 7h
实验 七 团队项目原型设计与开发 6h
实验 八 基于原型的团队项目需求调研与分析 15h
实验 九 团队项目需求改进与系统设计 20h
实验 十 团队项目系统设计与详细设计 18h
实验 十一 团队项目设计完善&编码 30h
实验 十二 软件测试与Alpha冲刺 15h
实验 十三 Beta冲刺与团队项目验收 10h
实验 十四 团队项目评审&课程学习总结 5h

•3、哪一次作业让你印象最深刻?为什么?
在Beta冲刺与团队项目验收这次作业中让我印象深刻。有很大的可能是我们团队在前期的各种设计做的不是很详细,团队组建初期打算要学习的东西也没有学扎实。就导致在这次实验中弄得非常难。原本打算好的开发方式也用不了,最后又换了另外一种方式进行。最后团队内部成员也不是特别团结,做的网页很一般,好多功能都不能实现。最终在我和另外一名团队成员的合作下又将整个项目进行了大部分的修改,功能实现的也不是很全面,很遗憾。
•4、累计花了多少个小时在软件工程实践上?平均每周花多少个小时?
失物招领系统从最初定题到期末验收,累计共花费300个小时,平均每周13个小时。
•5、你学习和掌握的新语言、新平台;
编写Java语言的水平有所提高;熟练了HTML网页的一些基本语法和编写方法;MySQL数据库。
新平台:博客园、Markdown、GitHub、板、雨课堂、墨刀的使用、UML用例图的绘制,还有燃尽图的制作。
•6、填写下表,总结一学期的学习中,你学习或使用的软件工程开发工具、开发方法和建模方法;
语言:Java Web、Java

平台:博客园、GitHub、中国大学MOOC

•7、其他方面的收获或提升。
(1)学会了撰写博文以及如何开发严格完整的软件项目,编写文档和代码的能力也有所提升。
(2)提高了自己分析问题和解决问题的能力,也认识到了自己需要改正的一些不足。
(3)通过结对项目和团队项目的完成,认识到了团队合作的重要性。
实验五
你认为目前的课程存在哪些问题,你有什么更好的建议。
在实践这部分,避免了软件工程这门课本身的枯燥性。以实践来巩固。我觉得老师的翻转课堂的教学方式,很奇特,但是,有点适应不过来,得需要一定的过渡期,新的教学方式不一定适合我们吧,就我个人而言,我觉得我们的课堂效率不高。