实验十四 课程学习总结-韩艳艳(201671030109)

项目 内容
这个作业属于哪个课程 任课教师博客主页链接
这个作业的要求在哪里 作业链接地址
作业学习目标 (1)掌握软件项目评审会流程;(2)反思总结课程学习内容。

任务一:

团队项目验收意见表--github地址

任务二:

1.结合本学期课程学习内容,对比《实验一 软件工程准备》的任务5你所提的问题(给出提问博客链接),尝试对提出问题进行解答,并阐明是如何通过学习/实践/讨论弄清楚的;学习中是否产生了新的问题?如有,请提出。

实验一 初读《构建之法的疑虑》

  • 问题1解答

在本学期的学习过程中,意识到学习是个循序渐进的过程,我们应该以兴趣为主,不断地尝试、不断地改正、不断地提高,没有任何事是一蹴而就的,任何事只要有耐心、勤练习,坚持下去都会给你一个满意的结果;所以在以后的软件工程学习过程中,我应该积极思考、勤加练习,争取学好像这门功课。

  • 问题2解答

通过一学期的学习,我认为在程序段规模较小时,不需要写“单元测试”,因为代码篇幅小,通过我们基础的阅读和编译运行,便能找到问题并解决,此时写“单元测试”,效果适得其反;在进行规模较大的团队项目时,我们可以通过编写“单元测试”,快速的找到问题所在,达到事半功倍的效果;但“100%的代码覆盖率并不等于100%的正确性”,它只是在最大程度上帮我们解决一些遇到的问题,但有些错误,如语义错误等还需我们进一步修改和调整;由于“单元测试”代码是根据具体的程序编写的,所以对于具体程序的“单元测试”代码的编写以及实现原理,还需要进一步的了解和学习;

  • 问题3解答

通过这个“案例”,我们认识到了“效能分析”技能的重要性以及在编写代码时,在达到效果的基础上,我们应该把其调用时间、运行效率等都考虑进去,这样程序的运行速度会有所提高,整个系统的运行效率也会大大提高

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

  • 可行性分析

可行性分析是通过对项目的主要内容和配套条件,如市场需求、资源供应、建设规模、工艺路线、设备选型、环境影响、资金筹措、盈利能力等,从技术、经济、工程等方面进行调查研究和分析比较,并对项目建成以后可能取得的财务、经济效益及社会环境影响进行预测,从而提出该项目是否值得投资和如何进行建设的咨询意见,为项目决策提供依据的一种综合性的系统分析方法。可行性分析应具有预见性、公正性、可靠性、科学性的特点。

  • 需求分析

需求分析也称为软件需求分析、系统需求分析或需求分析工程等,是开发人员经过深入细致的调研和分析,准确理解用户和项目的功能、性能、可靠性等具体要求,将用户非形式的需求表述转化为完整的需求定义,从而确定系统必须做什么的过程。

  • 软件设计

软件设计是从软件需求规格说明书出发,根据需求分析阶段确定的功能设计软件系统的整体结构、划分功能模块、确定每个模块的实现算法以及编写具体的代码,形成软件的具体设计方案。项目团队可以使用原型开发软件形成最初的软件的原型,然后再此基础之上在进行进一步的设计,在软件设计阶段也应该明确软件系统总体结构并形成比较完整的数据库逻辑结构设计,利用Visio、Rational Rose、PowerDesign等绘图工具完成,最后编写符合国标GB8567——88的《软件系统概要设计说明书》。

  • 实现

实现就是进行软件编码。软件编码是指把软件设计转换成计算机可以接受的程序,即写成以某一程序设计语言表示的“源程序清单”。充分了解软件开发语言、工具的特性和编程风格,有助于开发工具的选择以及保证软件产品的开发质量。团队项目在这个阶段应该注意在程序编码之前要制定统一、符合标准的编码规范,这样可以保证程序的可读性、易维护性,提高程序的运行效率。

  • 测试

软件测试的目的是以较小的代价发现尽可能多的错误。在这个阶段可以在软件设计完成之后要进行严密的测试,一发现软件在整个软件设计过程中存在的问题并加以纠正。整个测试阶段分为单元测试,组装测试,系统测试三个阶段进行。两种常用的测试方法是白盒法测试对象是源程序,依据的是程序内部的的逻辑结构来发现软件的编程错误、结构错误和数据错误。黑盒法依据的是软件的功能或软件行为描述,发现软件的接口、功能和结构错误。最后编写完整测试文档。

  • 项目验收

项目验收测试是软件开发结束后,用户对软件产品投入实际应用以前进行的最后一次质量检验活动。它要回答开发的软件产品是否符合预期的各项要求,以及用户能否接受的问题。由于它不只是检验软件某个方面的质量,而是要进行全面的质量检验,并且要决定软件是否合格,因此验收测试是一项严格的正式测试活动。需要根据事先制订的计划,进行软件配置评审、功能测试、性能测试等多方面检测。项目开发方应该提供《需求分析说明书》、《概要设计说明书》、《详细设计说明书》、《数据库设计说明书》、《测试计划》、《测试报告》、《程序维护手册》、《用户操作手册》、《项目总结报告》等一系列的文档说明。

3.结合个人项目/结对编程/团队项目的个人经历,谈谈心得。

  • 个人项目心得

在个人项目中,老师要求实现一个可读入任意英文文本文件的程序,通过以前的知识总结以及查阅资料,最终独立完成了本次项目设计;随后老师安排了作业互评,在互评的过程中,我发现了自己项目的许多不足之处,通过借鉴其他同学的项目实现过程以及博客排版等,对自己的项目也进行了相应的改善和提高。

  • 结对编程心得

在个人项目完成后,进行了两人的结队项目,在结对过程中,我们首先熟悉了对方的编码风格和学习方式,完后通过沟通和交流,完成了最初的结队项目

  • 团队项目心得

在两人结对完成后,进行了四人结对的项目,项目难度也提高,在结对过程中,我们互帮互助,遇到问题大家一起解决,很多时候会有意见不一致以及各种冲突等,通过沟通和协商,我们最终达成了一致的意见和解决办法,也意识到在团队合作过程中沟通和倾听的重要性。

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

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

大概完成了3000行代码

•你在软件工程实践的各次作业分别花了多少时间?(做一个列表)

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

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

在整个项目开发过程中,我印象最深刻的是实验十三 团队作业9:Beta冲刺与团队项目验收 ,在团队相互验收以及助教老师验收过程中,我们的系统运行出了一点点故障,在队长的调试和各种修改下才正常运行,实验效果也得到了其他同学和助教老师的认可,最终也顺利地完成了此次的团队项目。

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

累计花了60小时在软件工程实践上,平均每周花4小时

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

语言:Java Web、android、JAVA
平台:博客园、GitHub、中国MOOC大学网

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

软件开发工具、项目管理工具 软件开发方法 软件建模方法
process on、墨刀、石墨文档、mockplus 原型方法、面向对象分析方法(OOA)、NABCD分析方法、面向对象设计(OOD)、黑盒测试 面对对象建模法、结构化建模法

•其他方面的收获或提升。

在此次软件工程的个人项目、结对项目和团队项目实现过程中,我的编程能力、文档撰写能力、逻辑分析能力,任务规划能力、团队协作等能力都有了一定的提升和改善。

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

实验课方面,我认为作业量还是有点偏多,尤其是在结对项目中,最后一周就要完成系统的实现和各种文档的撰写,时间有点紧迫;在课堂教学方面,有些概念和知识点我们都较难理解,所以我建议在讲一些重点知识时老师可以举例说明一下,让我们易于理解和记忆。其他方面,老师很尽职尽责,也会给我们讲一些以后实践过程中需要注意的事项以及需要掌握的基本技能,最后非常感谢代老师这一学期的谆谆教导!

原文地址:https://www.cnblogs.com/yanyanH/p/10694170.html