金生芳-实验十四 团队项目评审&课程学习总结

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

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

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

1.企业该如何为项目制定合理的管理措施?

起初觉得一个项目实施过程中合理的管理措施会受企业的背景、经济状况、社会地位等因素的影响,在通过一学期的学习之后,由浅入深地了解了一个项目开发过程中所涉及到的一些标准说明书、设计说明书。通过自己亲身体会,真正了解到无论是怎样的一个项目,在实施过程中都必须遵守一定的规范,一定的标准。所谓的规范和标准是一种客观的,科学的制定准则,它不会受企业和项目本身所具有的因素影响。

标准管理措施CMII可分为初始级、可管理级、已定义级、量化管理级这几个层次。每个项目基本都是遵循真样的层次进行管理的,如果某些项目在最初时发生了一些意料之外的故障,项目团队贵根据故障的轻重进行不同的处理。如果在项目刚开始阶段发生的故障无法消除,我想项目团队会考录放弃本次实施计划,去寻求另外一种可行的计划,确保项目实施过城顺利。在项目起初就发生不可消除的故障的可能性会很小的。

2.软件代码到底是开源好还是不开源好?

作为一名当代计算机专业的大学生,学好编程语言我们有着不可推卸的责任,但是由于时间、精力各方面的影响因素,我们编程能力并不能达到预想的程度。有时需要做作业或开发一个系统时,如果我们能精准地找到一些功能代码,这样就会提高软件开发的效率,提升作业的质量。所以这种情况下代码开源对我么来说是很好的。软件工程测试中提到重用,这也就说明代码选择部分开源是比较好的。

3.书中提到压力测试,关于增加负载的两个方面,一是沿着用户轴延长、二是沿着时间轴延长,说到时间轴延长,给程序加压的过程中,程序中很多“小”问题就会被放大, 暴露出来,不明白为什么会出现内存/资源泄露?

在学习了软件测试中80/20原之后,可以能用自己的想法回答这个问题了。80%的软件中缺陷常常深生存软件20%的空间里。这个原则告诉我们,如果你想使软件测试有效地话,记住常常光临高危多发“地段”。在那里发现软件缺陷的可能性会大的多,这一原则对于软件测试人员提高测试效率及缺陷发现有着重大的意义,就如内存/资源泄露。软件测试必须有预期的结果。没有预期结果的测试是不可理喻的,软件缺陷是经过对比而得出来的。这正如没有标准无法进行度量一样,如果我们事先不知道或是无法肯定的预期的结果,我们必然无法了解测试正确性。这很容易让人感觉如盲人摸象一般,不少测试人员常常凭借自身的感觉去评判软件缺陷的发生,其结果往往就是把似是而非的东西作为正确的结果来判断。

软件测试是一个需要“自觉”过程,作为一个测试人员,遇事沉着,把持尺度,降低错误。

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

  • A.需求阶段:懂得了需求分析是一个项目软件开发的基础,做好需求分析阶段的工作,这样才能保证一个项目开发的可行性和市场需求,才能预测项目完成后市场前景的好与坏。才能了解用户的需求,知道用户想要什么,明白哪些要求是我们能解决的,那些我们不能解决,这样才能确保项目开发过程的顺利。

  • B.软件设计阶段:梳理请相互结构。然后自定向下逐渐细化。懂得了设计过程中所使用的图形建模方法和一些绘制表,也明白如何更好地选择建模图形。

  • C.实现阶段:真真体会到了团队合作的重要性,把是所有的任务进行分工,这样会提升项目实现的速度,也会让徐哦实现的项目功能更家完美。在实现的过程中,利用Github进行代码的管理;学习和使用已有的方法提高效率。

  • D.测试阶段:掌握测试阶段所用到的一些方法,比如说黑盒测试、白盒测试、覆盖测试、集成测试等,知道了各种测试的优缺点,也体会到了测试对于软件投入使用的重要性。

  • E.项目验收阶段:每个项目都必须经过验收,验收时所涉及到的验收人员必定是经验较丰富的人员,通过验收,老师会给帮助我们找到一些我们想不到的问题,给出一些合理行的建议措施。

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

当最后一次抱起电脑做软工作业时,还是觉得小有成就的。从第一次写软工作业的博客时,就体会到这门课作业的任务量和难度都会很大,当时就有了一种随便做做完成任务的心态。在做完第一次作业后,就被助教老师指出了一些小问题,和助教老师进行沟通后,觉得还是得用心去学好这门课,这门课对于我们来说,在以后的就业工作当中会给我们带来许多益处。所以每次都得认认真真去做,后面做着做着也就习惯了,或许是上手了。在结对项目中,做的作业还不算太难,所以感受不是很深刻。最困难的就是团队项目的作业了,在团队项目中我负责一些文档的编写与整理、数据库的建立与连接、以及后期测试数据的连通性和测试用户登录状态的安全性,也包括代码的编写,整个过程中我的任务量还算比较小。整个系统开发的过程中,我们团队成员齐心协力,在编写代码的过程中,由于我们的能力有限,遇到了很多的困难,有时遇到一写比较棘手的问题,当上网和查资料都解决不了时,我们也有过抱怨,有过想要放弃。但每次在组长的鼓励与催促下,我们会再次拿出信心,静下心来,共同探讨,解决问题。整个过程中,我们也花费了不少时间。不过,当看到自己能够开发出一个系统时,内心满满的充实感与成就感喷涌而出。最大的收获是了解了一个项目开发过程中需要做哪些准备工作,只有一些必要的准备工作做好了,软件开发的速度和质量才可能更高更快。学会了如何组合模块,遇到问题该怎样科学有效地解决,以及怎样体会到了团队合作的重要性,也深刻体会到了自身所拥有的责任心对一个团队的重要性。感谢团队中的每一位成员,也感谢老师的辛勤付出。

四.总结这门课程的实践总结和给你带来的提升

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

    大约完成了2000多行代码
  • 你在软件工程实践的各次作业分别花了多少时间?(做一个列表)

    任务 花费时间(h)
    1.软件工程准备 4
    2.软件工程个人项目 7
    3.作业互评与改进 2
    4.软件工程结对项目及项目互评 4
    5.软件研发团队组建 2
    6.团队项目选题 4
    7.团队项目原型设计与开发 18
    8.基于原型的团队项目需求调研与分析 14
    9.团队项目需求改进与系统设计 7
    10.团队项目系统设计改进与详细设计 10
    11.团队项目设计完善&编码 20
    12.软件测试与Alpha冲刺 10
    13.Beta冲刺与团队项目验收 4
    14.团队项目评审&课堂学习总结 4
  • 哪一次作业让你印象最深刻?为什么?

在团对项目设计完善编码,这次作业给我的印象最深,实现阶段,由于要写代码,中途有很多代码我们都不能顺利地写出来,当时的自卑感充斥着整个大脑。但我们没有选择放弃,在组长的带领下,我们一步一步,不会的就同学或者在网上搜,最后通过我们的齐心协力,成功地写完了代码。


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

共110小时,平均每周6小时


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

新语言:Java语言

新平台:博客园、Github、eclipse等平台

新工具:leangoo,processon,visio


- 填写下表,总结一学期的学习中,你学习或使用的软件工程开发工具、开发方法和建模方法; | 软件开发工具、项目管理工具 | 软件开发方法 | 软件建模方法 |
| -------------------------- | ---------------------------- | ---------------- |
| eclips,github,navicat | 原型化方法,面向对象开发方法 | 面向对象建模方法 | - 其他方面的收获或提升。

1.认识到了团队合作的重要性,在一个项目开发过程中单靠一个人是不太可能实现的,人多力量大。

2.有效检索资料的能力


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

由于基础太薄弱,没有编程能力,一边又要学习语言,又要学习现有的课程,所以在时间和能力各方面都不太允许,建议老师在课堂上能够添加编程的讲解,这样可能会让学生有更大的进步。谢谢老师!

上一篇:Python安装、配置图文详解(转载)


下一篇:Java常见快捷键