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


    实验十四 课程学习总结

    ||||
    |:--|:--|
    |项目|内容|
    |这个作业属于哪个课程|(https://www.cnblogs.com/nwnu-daizh/)|
    |这个作业的要求在哪里|(https://www.cnblogs.com/nwnu-daizh/p/11093584.html)|
    |课程学习目标|掌握软件项目评审会流程;反思总结课程学习内容。|
    任务2:经历了一个学期的软件工程学习和项目实践,请每位同学完成一篇个人学习总结博客,内容要求如下:

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

    通过学习对自己当初提出的问题有了新的认识,首先是第一个“.....作者在本书的这个章节重点是软件测试,而在此处着重指出设计而非测试有何意图?”是通过对本课的学习得到解答的;其次是第二个问题“.....一般我们开发的软件不会去考虑特殊人群(某些特殊项目除外),因为考虑太多特殊因素,势必会增加调研工作,增加经费,我这种想法会不会太狭义?”这个问题在后面的“团队项目需求调研与分析 ”的小组讨论中有了新的认识;最后一个问题“......这些方法也各有利弊,针对这么多的方法我们该如何选择?”是在团队项目的具体实践中得到解决的,在通过对本课的学习后,虽然在老师的带领下完成了团队项目,但对系统的软件开发任然停留在理论知识阶段,如何系统的对这些流程加以实践?

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

    可行性分析阶段学会了”团队项目选题NABCD分析“;需求分析阶段掌握了几种不同的需求分析方法,并对不同情况选取需求分析方法有了新的认识,此外还掌握了功能分析的四个象限;实现阶段理解了一个软件的开发不但对技术有要求,对软件开发流程也要有深刻的理解,不然所设计开发的产品在后期投入运行时会出现很多灾难性的问题;在测试阶段,系统的学习了”黑盒测试,白盒测试“等一些基本的测试技术,此外还对Alpha冲刺和Beta冲刺有了自己的认识和体会。

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

    个人项目:由于是刚接触软件开发,因此打心眼里对软件开发很排斥。因此在做个人项目时是通过网上参考的代码,自己稍加处理就对用来应付交差了,现在想想很尴尬;在做结对编程时,由于是和同伴共同负责项目,所以不敢马虎大意,就开始认真对待这门课程了,结对编程是,在结对伙伴的影响下,自己根据所学理论知识开始设计开发流程,在结对编程时也小有收获;在团队项目中,两两结对,而团队项目在老师的严格要求下,我们严格的按照正常软件开发流程一步步设计实现的,过程中有欣喜亦有心酸,还记得在测试阶段的因为程序BUG迟迟得不到解决,小组内气压很低,好在我们坚持了下来,总体来说团队项目对我影响很大,软件开发不是闭门造成,也不是一朝一夕就可完成的,软件开发是一个任重而道远的工程,需要团队的紧密合作方会有好的成效。

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

    (1)统计在软件工程实践中,你完成了多少行的代码;
    在本次软件工程的实践中我完成了大概四五百行代码。
    (2)你在软件工程实践的各次作业分别花了多少时间?(做一个列表)

    ||||
    |:--|:--|
    |任务|耗时/h|
    |实验一 软件工程准备|3|
    |实验二 软件工程个人项目|9|
    |实验三 作业互评与改进|2|
    |实验四 软件工程结对项目|18|
    |实验五 团队作业1:软件研发团队组建|4|
    |实验六 团队作业2:团队项目选题|8|
    |实验七 团队作业3:团队项目原型设计与开发|20|
    |实验八 团队作业4:基于原型的团队项目需求调研与分析|37|
    | 实验九 团队作业5—团队项目需求改进与系统设计|30|
    |实验十 团队作业6:团队项目系统设计改进与详细设计|88
    |实验十一 团队作业7:团队项目设计完善&编码|26|
    |实验十二 团队作业8:软件测试与Alpha冲刺|6|
    |实验十三 团队作业9:BETA冲刺与团队项目验收|5|
    (3)哪一次作业让你印象最深刻?为什么?
    给我影响最深刻的是“实验八基于原型的团队项目需求调研与分析”,因为这次作业是我们确定项目具体要实现什么模块的阶段,因为我们预开发的是为购房者提供精装的室内家装设计的软件,因此我们需要对大量的购房者房屋设计需求进行了解,而在开始需求调研与分析阶段异常迷茫,在后面的对比学习后,通过电子问卷调查的方式在社交平台上转发,让有需求的人填写,后面收集填写的数据进行整理确定具体模块。
    (4)累计花了多少个小时在软件工程实践上?平均每周花多少个小时?
    在此次的软件工程实践上累计花费了大约半个月的时间,平均每周花费七八个小时吧。
    (5)你学习和掌握的新语言、新平台;
    学习和掌握的新语言、新平台:有博客园、GitHub、Visio、Leangoo、Mockplus、UE4等。
    (6)填写下表,总结一学期的学习中,你学习或使用的软件工程开发工具、开发方法和建模方法;

    软件开发工具、项目管理工具 软件开发方法 软件建模方法
    UE4、3D MAX、PS、Visio、Leangoo 面向对象分析(OOA)软件开发方法 软件原型方法

    (7)其他方面的收获或提升。
    掌握了软件工程的流程的6个阶段:
    可行性研究--> 需求分析--> 概要设计--> 详细设计--> 编码测试--> 运行维护
    1.可行性研究:分析软件的存在必要性和软件制作后现实的可使用性
    2.需求分析:分析用户所需要实现的功能
    3.概要设计;进行程序的框架和总体结构设计
    4.详细设计:详细设计代码功能
    5.编码测试:进行项目的测试和调试
    6.对程序进行维护和更新
    •准备阶段
    理解问题
    分析需求(从用户的视角)
    设计解决方案
    总出规格说明(从开发人员的视角)
    •设计阶段
    软件设计(从用户视图)
    高层设计(架构设计)
    中层设计(直到完成不涉及技术细节的类的设计)
    •构造阶段
    低层设计
    构造
    单元测试
    模块集成
    集成测试
    系统集成
    系统测试

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

    课程挺好收获也很多,此外老师教学严谨,助教也认真负责。就是理论课的时候感觉太枯燥,希望老师可以在课堂上将理论与实践相结合,效果应该更好吧。

  • 相关阅读:
    缓存
    mybatis(ibatis)理解
    hibernate理解
    linux vi 命令
    Activity中ConfigChanges属性的用法
    sendStickyBroadcast和sendStickyOrderedBroadcast
    广播 BroadCastReceiver
    Android四大基本组件介绍与生命周期
    ubuntu14.04 开机自动运行应用程序
    Android中BindService方式使用的理解
  • 原文地址:https://www.cnblogs.com/healerdevil/p/11101448.html
Copyright © 2020-2023  润新知