201671010417 金振兴 实验十四 团队项目评审&课程学习总结

项目 内容
软件工程 https://www.cnblogs.com/nwnu-daizh/
作业要求 https://www.cnblogs.com/sunmiaokun/p/11095027.html
课程学习目标 (1)掌握软件项目评审会流程;(2)反思总结课程学习内容

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

1. 个人技术与流程与软件工程有什么关系?

  软件是由多人合作完成的,不同人员的工作相互有依赖关系,所以个人技术是会影响整个软件开发的过程,个人技术主要是软件开发过程中的细节问题。

  在开发出软件后,必须要经过测试才算是完成了软件,这就需要一个好的单元测试的标准。1、单元测试应该在最低的功能/参数上验证程序的正确性。 2、单元测试必须由最  熟悉代码的人(程序的作者)来写。 3、单元测试过后,机器状态保持不变。 4、单元测试要快(一个测试的运行时间是几秒钟,而不是几分钟)。 5、单元测试应该产生可重复、一致的结果。 6、独立性-单元测试的运行/通过/失败/不依赖于别的测试,可以人为构造数据,以保持单元测试的独立性。 7、单元测试应该覆盖所有代码路径。 8、单元测试应该集成到自动测试的框架中。 9、单元测试必须和产品代码一起保存和维护。

2.软件工程师的成长历程有那么方面?

 1、积累软件开发相关的知识,提升技术技能(如对具体技术的掌握,动手能力)。例如:对Java、C/C++、C#的掌握,诊断/提高效能的技术,对设备驱动程序(Device Drive)、内核调试器(Kernel Debugger)的掌握;对于某一开发平台的掌握.

 2、积累问题领域的知识和经验

 第一点和第二点都可以再很多简历上都可以看到,也可以比较容易地检测出来。随着经验的增长,一个工程师可以掌握更广泛、更深入的技术和问题领域的知识。

 3、对通用的软件设计思想和软件工程思想的理解。

 4、提升职业技能(区别于技术技能)

3.什么是MSF?

1.MSF是一套大型系统开发指南,它描述了如何用组队模型、过程模型和应用模型来开发Client/Server结构的应用程序,是在微软的工具和技术的基础上建立并开发分布式企业系统应用的参考。

2.MSF是一个经验知识库,它是一种框架结构,一个资源的集合。

在学习本门课中,在老师的指导下,我们组建团队进行项目的开发。在整个过程中我学习到了很多,遇到问题可以与他们讨论,并且在整个项目工作中,对自己存在的问题进行实践,学习。知道了个人团队工作中起到的作用,以及在团队合作中,需要每个人都各尽其职,才能更好的完成工作。

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

可行性分析:

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

需求分析:

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

软件设计:

软件设计是从软件需求规格说明书出发,根据需求分析阶段确定的功能设计软件系统的整体结构、划分功能模块、确定每个模块的实现算法以及编写具体的代码,形成软件的具体设计方案。

实现:

实现就是具体的编码阶段。

测试:

在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。

项目验收:

项目验收,也称范围核实或移交。它是核查项目计划规定范围内各项工作或活动是否已经全部完成,可交付成果是否令人满意,并将核查结果记录在验收文件中的一系列活动。

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

在这次项目开发过程中,从最初的软件立项到现在的项目实现经过了很长的时间,我们小组认真的完成了本次项目试卷管理系统。在整个过程中,我们对每个成员所做的工作进行了详细的划分,每个人各司其职,到现在项目实现经历了很多的问题,我们一起去学习,一起去讨论解决每个难题,我觉得最宝贵的就是这些经历,使我们学会了合作,能够4个人一起去协作完成一个共同的目标。

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

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

2900行

  • 你在软件工程实践的各次作业分别花了多少时间?(做一个列表)
实验 时间
实验一:软件工程准备 3h
实验二:软件工程个人项目 6h
实验三:作业互评与改进 3h
实验四:软件工程结对项目 6h
实验五:软件研发团队组建 2h
实验六:团队项目选题 2h
实验七:团队项目原型设计与开发 4h
实验八:基于原型的团队项目需求调研与分析 5h
实验九:团队项目需求改进与系统设计 5h
实验十:团队项目系统设计改进与详细设计 5h
实验十一:团队项目设计完善&编码 20h
实验十二:软件测试与Alpha冲刺 5h
实验十三:Beta冲刺与团队项目验收 4h
  • 哪一次作业让你印象最深刻?为什么?

在实验十一:团队项目设计完善&编码过程中印象最深刻,因为在整个编码过程中,严重认识到自己的不足,编码遇到了很多问题,认识到编程语言的重要性。所以在以后的学习中,应该对这方面的能力需要加强。

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

70小时,7小时

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

java语言;GitHub

  • 填写下表,总结一学期的学习中,你学习或使用的软件工程开发工具、开发方法和建模方法;
软件开发工具、项目管理工具 软件开发方法 软件建模方法
GitHub,Eclipse,MySQL 面向对象开发方法 面向对象建模方法
  • 其他方面的收获或提升。

对java语言有了进一步的提高。

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

在代老师的课堂上,老师对我们高度负责,了解到我们的基础,针对性备课,把这门课的理论知识详细的讲授给我们。在实验中,布置课程相应的实验,让我们在实践中,不仅加深了本门课的学习,而且有了团队协作开发项目的能力。

猜你喜欢

转载自www.cnblogs.com/jinzhenxing/p/11106715.html