zoukankan      html  css  js  c++  java
  • 实验十四 团队项目评审&课程学习总结

    项目 内容
    这个作业属于哪个课程 软件工程任教教师
    这个作业的要求在哪里 实验十四 团队项目评审&课程学习总结作业要求
    作业学习目标 对一个学期的软件工程学习和项目实践的总结




    任务2:经历了一个学期的软件工程学习和项目实践,请每位同学完成一篇个人学习总结博客,内容要求如下:




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

    在实验一 软件工程准备中的任务5我曾提出了一下几个问题,现在我将根据一学期的学习和实践做出我的解答

    >1.我们都知道PSP是个人开发流程,在书中第34页也介绍了个人开发流程的任务清单,包括计划(明确需求和其他相关因素),开发(分析需求,生成设计文档,设计复审,代码规范,具体设计,具体编码,代码复审,测试),记录用时,测试报告,计算工作量,事后总结,提出过程改进计划这些内容。作者提供了2011年收集的两组统计数据,对比大学四年级学生与工作三年的软件工程师在PSP阶段用时的对比,从表中对比我们可以发现大学生在需求分析和测试阶段用时明显比工程师要短,但编码时间却比工程师长许多。这是什么原因导致的呢?我们在个人开发软件过程中应该注意哪些问题?

    回答:
          在这软件工程一学期的学习过程中我们除了学习了相关的理论知识,更多的是在具体的软件项目开发过程中去实践。在软件的开发过程中我们又明显的体会,就是项目做着做着就会出现很多问题,发现缺这少那,究其原因还是因为我们在需求分析时分析不够彻底,总是在潦草分析得到部分需求后就马上投入到设计去了,结果到后期设计时就会发现大量问题。大学生编码时间在整个开发过程中用时较长是因为代码量太少。我在刚开始的词频统计分析编写代码就比较慢,但是随着越往后写的代码越多,我就发现在开发过程中用在编码阶段用时相比较减少了.


    >2.开发软件最重要的一步就是需求分析,即确定开发产品的功能,那当我们开发出一款具备用户需求的所有功能且测试功能都可用后,能否说这款产品就是一款好的产品,让用户满意的产品?当然不能,还得考虑用户体验,软件的各部分功能就相当于一个产品的各个零件,具备所有零件的产品就可用了吗,例如生活中常用的插板,用的插板上面有两孔和三孔的,看起来挺好的,既能插两孔也能插三孔,但实际用的时候也许会发现具备两个功能的插板却不能同时插,这会让人很抓狂。所以用户体验也是极其重要的一方面,那对于我们来说,开发一个具有友好用户体验的产品应该注意哪些方面呢?怎么去获取用户对于一款产品的使用喜好呢,开发出令用户满意的软件呢?

    回答:
          我们自己开发的软件产品,因为开发人员对自己的产品非常的了解,便不会觉得产品在使用的时候有哪些不便之处,当让其他用户来用时,就会发现在用户体验方面的问题。如果用户体验不好,那这款产品就算功能再强大,用户不愿意也是白搭。我觉得在开发一个具有友好用户体验的产品应该注意一下几个方面呢
    - 注意异常错误操作。提示在一些异常或者错误的操作时,一定要给予用户一定的提示,让用户知道这样操作是不规范的,也能够更好地提升用户体验。
    - 产品操作手册帮助。设计产品操作手册帮助台,也能够让用户能够更快速地了解产品的操作,更加轻松的上手使用产品。
    - 保证操作的功能稳定性。产品操作的稳定性保证,也是直接影响用户体验的关键,千万不要出现闪退、缓慢等直观的使用感受。
    - 注意基础页面的分类。关于产品的功能分类,也一定要提前做好规划,这样基础功能的清楚展现,也是帮助开发者和用户提升体验的关键。
    - 注意分析用户反馈信息。在产品上线后,对于用户的使用反馈的信息,开发者也应该去了解,这样才能知道如何进行完善、优化,开发出和适合用户喜好的软件。


    >3.听过这么一句话:所有能够顾促进质量提高的事情都QA应该参与,QA就是质量的把控和监督者,QA不应当局限于"测试分析"、"测试设计"、"测试执行"等等,那么作为一个QA应该从哪些方面关注软件产品质量?书中第14章,讲述了软件的质量=程序的质量+软件工程的质量,提到软件工程质量可以用一套比较成熟的理论CMMI(能力成熟度模型集成),帮助企业进行对软件工程过程的管理和改进,增强开发制造能力,从而能按时地,不超预算地制造质量的软件。那CMMI适用于什么样的公司或者团队?CMMI怎么用?怎么将它应用到具体工作中?

    回答:
          CMMI(能力成熟度模型集成)适合企业操作,避免了某些管理体系只重理论而忽视实践的缺陷。在我国,随着媒体的宣传和政府的支持,许多企业引入了CMMI咨询和认证,对于整个软件行业的管理提升及研发效率提高起到了很大的帮助作用。但也有一些企业引入CMMI体系后,只留下一些形式上的开发流程和文档模板,在管理上并无实质性改进。




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

          在可行性分析阶段我们明白了可行性研究的任务和过程,在进行可行性分析研究时需要了解和分析现有的系统,并以概括的形式表达对现有系统的认识,进入设计阶段以后应该把设想的新系统的逻辑模型转变成物理模型,所以我们学习了系统流程图,数据流图和数据字典来描绘未来的物理系统概貌。
          在需求分析阶段,我们明确了需求分析的主要任务有确定对系统的综合要求,分析系统的数据要求,导出系统的逻辑模型和修正系统的开发计划,学习了用访谈法,面向数据流的自顶向下求精,简易的应用规格说明技术和快速建立原型方法来获取用户需求,认识了E-R图,状态转换图,层次方框图,Warnier图和IPO图等内容。
          在软件设计阶段,主要有总体设计和详细设计,在总体设计中我们对于总体设计有了一定的了解,明白了总体设计的几大原则,如模块化,抽象,逐步求精,信息的隐藏和局部化以及模块独立原则,在这一部分学习了用层次图,HIPO图和结构图等图形工具来描绘软件的结构,也学习了面向数据流的设计方法,对变换分析和事务分析有了一定的认识。在详细设计部分,我们先对于人机界面的设计过程有了初步的认识,然后学习了几款过程设计的工具,如程序流程图,盒图,PAD图,判定树,判定表及过程设计语言等内容。
          在实现阶段,主要选择合适的程序设计语言,按照软件编码规范说明说来进行编码。
          在测试阶段,测试的方法如黑盒测试和白盒测试有了一定的认识,知道了黑盒测试又叫功能测试,是用来测试软件的功能是否符合需求说明书中的要求,也知道了白盒测试又叫结构测试,是用来测试程序内部结构是否正确执行的,然后学习了单元测试,集成测试,确认测试和系统测试,最后学习了软件的调试。
          在最后的项目验收中我们模拟了真实环境在的验收过程,对于验收所需的材料,基本的流程有了总体的认识。




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

          通过这一学期的实践练习,我对这三种类型的项目有了更加切身的体会。就个人项目而言,我觉得我们可按照个人的想法来实施,但在过程遇到问题的情况比较多,一个人不容易解决。结对项目中有了另个人成员的参与,一人领航一人驾驶,在需求阶段会有更多的想法和思路,考虑问题会更加的全面,如果两人技术相当,能力相当效果会比较好,但是两人思维方式不一样,技术相差较大,编码风格又不同就很难共同来完成任务。团队项目在人数上比结对项目要多,可以将一个较大项目分配给不同的人员来做,但是这又有一个缺点是人多不好管理,谁应该适合做什么,做那一块内容,成员之间如何沟通协作,这都得项目组长来协调,协调的好项目才能正常稳定的进行下去。




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

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

          在软件工程实践中,从个人项目到结对项目再到最后的团队项目,我完成了大概5000-8000行的代码

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

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

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

          在做过的这些作业中,我觉得令我印象最深刻的是英文词频统计的结对项目,因为这是时隔将近一年又重新接触java,编写java web项目,好久没写代码,好多东西都只记了大概,所以又把以前做的项目重新温习了一遍,而且由于是第一次尝试结对项目,所以过程中遇到了许多问题,花费了较长的时间。

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

          大概18小时,但是具体算来远远不止,因为还有温习之前学习过的内容的时间。

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

          语言方面一直用的都是java,新工具倒是挺多,像原型设计工具如摩客,墨刀;在线作图工具process on;画用例图的DiagramDesigner ;GitHub等;

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

    软件开发工具、项目管理工具 软件开发方法 软件建模方法
    Eclipse、GitHub 、Sublime、Oracle,Rational Rose,Process On,墨刀 原型方法、面向对象方法、结构化方法 面对对象建模、结构化建模方法




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

          很荣幸可以成为代老师的学生,代老师真的是非常的认真负责,也是很注重课程创新,在课程方面花费了很多心思,又是翻转课堂,又是专门教我们使用博客来记录平时学习过程,又是专门找助教来评作业,为我们提供各种学习方法和工具,还可以提供与作者交流的机会等等。各方面都很好,建议的话,希望老师在课堂上多讲些例子,比如用例建模这块,可以找一个学生熟悉的具体的例子,从用例图,活动图,时序图,类图等都讲一下,这样可以给同学们更直观的认识,更容易理解,在具体的项目中也能更好的运用。

  • 相关阅读:
    IIS 无法下载EXE
    大数据ListView
    vss error reading from file
    fatal error LNK1107
    A Generic Singleton Class
    转 ORACLE 的FOR循环、游标、时间值函数、转换函数题目
    regsvr32.exe 会用
    MSChat 临时目录
    关于LinkedList的三种写法的效率
    旋转门压缩算法
  • 原文地址:https://www.cnblogs.com/HaiYou667-GJ/p/11105812.html
Copyright © 2011-2022 走看看