• PSP总结报告


    作业链接:https://edu.cnblogs.com/campus/nenu/2018fall/homework/2556

    回顾0

    所属团队及链接:二次元梦之队http://www.cnblogs.com/erciyuanmengzhidui/

    团队项目及链接:《i do》:https://git.coding.net/liuyy0817/ido.git

    在本课程(不包括本学期其他课程)中学习和使用的新软件新工具(全称、版本)及链接:Git 2.20.2:https://git-scm.com/download/win

    在本课程(不包括本学期其他课程)中学习、提高的语言、开发平台(全称、版本)及平台链接:

    语言:python、java

    开发平台(全称、版本)及平台链接:Anaconda 3:https://www.anaconda.com/download/

     Myeclipse 2018:http://www.myeclipsecn.com/learningcenter/myeclipse-update/ci-2018-12-0/

    回顾1

    当初你是如何做出选择计算机专业的决定的?经过一个学期,你的看法改变了么,为什么?

           2014年在进行高考志愿填报时,我选择的学习方向是经济类,但由于分数的原因被调剂到网络工程专业,从此走上了学习计算机的道路。现在我认为虽然学习计算机专业不是我的本意,但也是一个很好的专业有很好的发展前景,对于选择这个专业我现在感觉十分满意。

     

    你认为过去接触到的课程是否符合你对计算机专业的期待,为什么?经过一个学期,你的看法改变了么,为什么?

    在没有正式学习计算机专业的时候,我心中所想象的计算机专业是通过学习我可以轻松的入侵各种系统。但是在正式学习过计算机专业的课程后,我意识到要想达到心中所希望的水平要付出巨大的努力。经过这一学期的学习,让我对计算机专业有了深入的了解,在学习中不仅仅学习了理论知识并且注重实践,符合我对计算机专业的期待。

     

    你觉得计算机是你喜欢的领域吗,它是你擅长的领域吗?经过一个学期,你的看法改变了么,为什么?

           计算机是我所喜欢的领域,因为计算机技术的出现让我们的生活发生了翻天覆地的变化。例如12306软件的出现极大的缩短了购票时间,方便了人们的出行。但计算机领域不是我所擅长的领域,尤其是在软件工程方面我还有很大的欠缺需要加倍努力。经过一学期的学习,我认为计算机是我喜欢的领域。因为经过研究生阶段的学习,我对于计算机的了解更加深入。知道了现在计算机专业可以与其他专业结合形成许多交叉学科,对计算机的理解不再停留在编程方面。

            在本科入学后的新生大会上,系主任鼓励同学们在对网络工程专业进行初步了解后,根据个人喜好自主选择未来从事软件或硬件方向的工作。本科期间所学习的课程我十分喜欢,因为大一同时学习软件与硬件两个方向的课程,可以让我们在比较中选择自己未来工作所想从事的方向。所以在我发现编程对于我来说十分复杂的时候,我选择将本科的学习的重心放到硬件的学习上。经过这一学期的学习,我认为计算机仍不是我擅长的领域,因为我在实践方面仍存在许多的不足。如果想要在计算机领域取得成功,就要更加重视编程。

    (2)考取研究生,对照前人们走过的路和描述未来发展,现在的你自我感觉你已经具备的专业知识、技能、能力有哪些离成为一个合格的计算机学生,在专业知识、技能、能力上还差距哪些?

           因为在本科期间决定考研,所以我掌握了数据结构、计算机网络、计算机组成原理、数据库等课程,并且可以进行简单的网络路由搭建。在学习过的众多科目中,数据库方面的知识掌握的最为全面。数学方面也学习了线性代数、概率论等知识,具有一定的数学基础。但距离成为一名合格的计算机学生还有很长的路要走。首先,在继续学习硬件方面的同时还要加强软件相关知识的学习。例如,软件系统开发、软件测试、软件维护。只有真正的学会编程技术并投入实际的软件编程中才能成为一名合格的计算机学生。同时,想要成为一名合格的计算机学生还需要重视英语的学习。因为学好英语不仅能学习国外的先进计算机知识,而且也有利于与其他计算机从业人员进行技术交流。在学习计算机相关技能的同时,我也要重视培养团队协作能力。具有良好的团队协作能力有利于在团队项目开发的过程中更好的与团队其他成员进行配合,顺利完成项目开发。

            经过一学期的学习我认为我掌握了数据结构、计算机网络、计算机组成原理、数据库等课程,并且可以进行简单的网络路由搭建。但是对于数学方面的掌握十分薄弱,这对于学习计算机专业的理论知识十分不利。而且在读论文的过程中发现,英文对于阅读论文来说十分重要,所以在未来还要加强英文的学习。与此同时,在编程方面也应该多加练习,因为计算机是一个注重实践的学科。

    (3)每天都是一个人生选择的十字路口,学术研究、工程项目、社会实践 (?) ,不同的选择有不同的努力方向。对照以上你阅读的前人们的经历,你的选择是什么经过一个学期,你的看法改变了么,为什么?  

           我选择工程项目作为未来工作的方向,因为只有经过一个个项目的练习才能够真正的将知识融会贯通。经过一学期的学习,我认为我还是会坚持选择工程项目作为未来工作的方向,因为计算机是注重实践的专业,只有经过实践才能真正掌握知识。

    在这种选择下,你认为你相比其他同学来说有何优势,有何劣势?经过一个学期,你的看法改变了么,为什么?

           相较于其他同学我的优势在于我有很强的求知欲。我坚信只有对知识充满好奇心才会有学习的兴趣,并且让自己有迎难而上、克服学习中各种困难的动力。而且,我学过许多计算机专业基础课程,在从事工程项目开发时这些知识将会帮助我更顺利的完成工作。经过一学期的学习,我认为我的计算机专业基础课程还不够扎实。因为在考研结束后没有在仔细看过我的计算机专业基础知识,导致在上课时发现自己在很多知识点上都忘记了。

           我的劣势在于我虽然拥有一定的计算机专业基础但对算法缺乏研究,没有进行过项目设计,在进行项目设计时如果出现问题十分容易出现手足无措的情况。并且,由于我英语知识的薄弱导致我很难学习到最前沿的计算机技术。经过一学期的学习,我认为我对于算法的掌握仍然十分薄弱,因为我在完成老师的作业时,涉及到算法的部分仍十分费力。在英语方面我的掌握仍是不足,因为在阅读英文论文时十分吃力。

    针对你的选择,你给自己的本学期的规划是什么?经过一个学期,你的看法改变了么,为什么?

            在本学期我的规划是研读3遍邹欣老师的《构建之法》后参与一次项目设计,因为只有这样才能让书中的理论与实际操作相结合,并且在课余时间通过书籍等方式学习Java编程语言。当然,这学期我最主要的目标是顺利通过期末考试。经过一个学期,我参加了项目的开发,发现自己的编程能力仍有许多的不足但相对于本学期初来说有了很大的进步。关于研读3遍邹欣老师的《构建之法》的计划,我未能完成开学时的目标,因为我只在涉及到软件工程知识点时才会去看《构建之法》,并没有再反复研读。

    (4)你打算平均每周拿出多少个小时用在这门课上?经过一个学期,你的看法改变了么,为什么?实测结果,每周平均用在本课程上多少小时?

            如果想要完成老师所布置的各种作业,在保质保量的前提下我预计需要平均每周不少于10个小时进行这门课的学习,只有这样才能真正学习好这门课程。经过一学期的学习,我经过实测我每周花费14.5个小时,我认为如果可以提高效率每周平均用在本课程上时间将会缩短一些。

    回顾2

    1.请回顾这5个问题,自己回答一下。当初的困惑是否还在,你现在如何认为,是更深的困惑么?

      问题一:书中提出在进行软件工程作业设计的过程中遵循OCP的代价是贵重的,这是什么意思?

            在《构建之法》第三版第2.4节(第38页)中提出,开放—封闭原则是软件设计中一个重要的原则,并且说遵循OCP原则的代价很昂贵。根据书中的介绍可以知道,OCP原则具有允许扩展、不允许修改两个特点。我的理解是在想要进行软件扩展时,不能改动已有代码只能通过增加代码的方式进行。而要保证不改动代码,在设计这个软件时则需要花费更多的时间用于设计。并且,OCP原则如果想要在不改变代码基础上进行修改就需要用到抽象,而抽象也加大了程序运行时间,但我不知道我这样的理解是否正确。经过一学期的学习,我对于OCP原则没有进行更多的了解,无法解决上述问题。

    问题二:书中在第三章软件工程师的成长中提出作为一个成熟的团队成员必须理性地工作,不能被情感驱动?(书中第47页)

            首先,我认为情感驱动是必不可少的,一位没有灵感和激情的团队成员是无法设计出一个好的软件。在书中第5.3.5节(第105页)中,作者讲到第一版iPhone和iPad都是MBP(最强最美品牌)。如果当时的团队人员在设计iPhone和iPad时并没有灵感和激情,而是非常理性的按照一次又一次的模板进行设计,iPhone和iPad也不会成为MBP。由此可见,感情驱动对于软件工程师也十分重要。经过一学期的学习,我认为我的理解是正确的,因为目前较为流行的产品都带有一定的创新,人们对于产品的选择方面已经不单单满足于实用,希望有一定的创新,而灵感和激情是进行创新不可缺少的因素。

    问题三:new与delete运算符是什么?它们在使用时一定要成对使用吗?

             书中第72页介绍了new、delete,new与delete都是用于对内存进行动态管理的运算符,用这两个运算符可以实现内存的分配与删除。new运算符在创建变量与运算后返回的都是指针。delete是调用析构函数实现删除变量的地址空间。我认为new与delete不一定要成对使用,因为如果是一个较为简单的小程序或者程序在运行一次后便退出则不需要配对使用。因为new使用结束后所分配的内存在过一段时间后系统会自动回收系统资源。但如果是复杂度较高的代码还是建议成对使用以免过度占用系统资源。但在许多书籍和网络资料中说new与delete在使用时一定要成对使用,对此我感到十分疑惑。经过一学期的学习,我认为new和delete可以不成成对使用因为如果程序是运行一次就退出的,没有delete也可以运行,main函数把未释放资源返回给操作系统处理,但如果在循环中大量分配,需要delete,否则进程消耗内存越来越多。

    问题四:在软件项目开发中需要考虑哪些需求与任务之间的各种依赖关系?(书中第111页

           在书中第6.2节,作者提到在依赖关系中要注意优先级。例如在进行软件开发时,首先要根据用户的需求确定软件需求,再根据软件需求进行软件模块的设计,才可以开始进行编程。而且软件的测试、维护也一定要在软件编写结束后才能进行。除此之外,我认为还需要考虑这个软件在实际操作中是否存在对环境的依赖,如果有这种依赖在进行软件测试时要考虑用户所提供得环境设备使用时间。经过一学期的学习,我认为在进行软件需求分析时,要注意考虑用户需求,因为在实际的项目开发过程中我发现理解用户需求十分重要。只有真正的理解用户需求才能设计出合格的产品。而且,只有考虑到软件对于环境的依赖,这样的软件才能保证可以进行实际应用。

    问题五:书中第16章作者提出不但大众不喜欢创新,而且创新者也不喜欢创新,甚至恨创新?(书中第342页)

           作者在书中讲述的几个大众所不喜爱的例子我认为有所片面,一部分人因为创新而感到不开心是因为创新影响到了他们的利益。以《王者荣耀》为例,《王者荣耀》今年一季度收约60亿,日活跃人数2000万以上。它之所以如此火爆就是因为制作团队勇于创新改变了传统手游模式,让游戏充值不再成为游戏胜负的决定性因素,于是吸引一大批玩家,成为目前最火的手游。这个例子说明了大众还是比较乐于接受创新。经过一学期的学习,我坚持我的看法因为《王者荣耀》在英雄抽取时,设置了最低线让用户知道进行多少次抽取一定会获得此英雄,而且推出了“边境突围”模式等方面的创新带来了广大用户创造了极大的利益。

     

    2.请根据本学期的学习、收获、困惑,再提出5个问题,可以是读后不理解的,或者读后反对的。有求有观点、有证据或分析。体验一下,这5个问题,是不是更有深度了。 

    问题一:遵循OCP的代价是贵重,这句话的理论依据是什么?

    问题二:在团队合作的过程中,如何能做到真正的量化工作,让同学们得到较为公平的分数?

    问题三:在进行团队合作的时候,发现团队意见有时不能达到统一,那么这个时候是应该投票表决、组长决定还是其他方法?

    问题四:在进行团队项目开发时,创新是否真的重要?对于初次进行项目开发的新人来说创新的重要程度是多少?

    问题五:在进行软件评价,如何客观评价一个代码的好坏?

    3.回忆整个学期,你有什么话想对后来的学弟学妹们说。

                最初的阶段很难熬,忍过第一个月就会发现渐渐适应了,在遇到问题时不妨多咨询下其他同学。

    4.如果重新来过一次,你打算做哪些(技术上,而不是态度上的)改变--基于希望得到什么样的更好结果,你才希望这样改变的;更重要的是,你根据什么估计这些改变会有预期的结果。

         如果重新来过一次,我会在用户需求分析方面更加努力。因为我发现需求分析对于整个软件开发过程来说十分重要。而且我会继续学习如何正确使用git.

    5.终于我们即将不再是师生。当你结束本课程,你和我就站在同样的位置上,我将不再基于学校授权和知识、经验 (年龄?)上的优势而对你的自由有任何干扰。除发布及成绩以外,我最后一次行使教师特权: 请问你有什么要对教师 (我)说的,建议、抱怨、希望……多谢。

         首先感谢杨贵福老师,每周兢兢业业的布置作业、批改作业。在这学期的课程中,您为我展示了一种我从未见过的上课方式,无论是结对编程还是团队编程都让我感受到了高级软件工程这门课的魅力。在此,我也有一点建议那就是杨贵福老师能否加快作业的批改速度,因为我们迫切想知道自己的每次成绩。

    总结

    1.代码总量,平均每周代码量。

    代码行数(行)

    平均每周代码量(行)

    484

    40

        

    2.博客字数总量,平均每周字数。    

    博客字数总量(字)

    平均每周字数(字)

    25860

    2155

         

    3.根据PSP,平均每周在本课程中所用时间(是的,请再回答一次)多少小时。

    总花费时间(h)

    平均每周花费时间(h)

    174.27

    14.5

                                                                                                 

    平均每周我在该课程中所用时间是14.5小时。

    4.进度图总结

    起止时间

    提交PSP例行报告时总结的知识点

    现在回顾该周收获的知识点

    2018.9.13-2018.9.16

    学习《构建之法》

    学习《构建之法》

    2018.9.19-2018.9.24

    学习控制台与命令行参数相关知识,学习重定向概念

    学习控制台与命令行参数相关知识,学习重定向概念

    2018.9.27-2018.10.08

     

    学习如何单元测试、效能分析

    学习如何单元测试、效能分析

    2018.10.10-2018.10.16

     

    学习竞争性需求分析的框架——NABCD模型、视频的制作

    学习竞争性需求分析的框架——NABCD模型、视频的制作

    2018.10.17-2018.10.23

    学习使用安卓模拟器

    学习使用安卓模拟器

    2018.10.24-2018.10.30

     

    数据缓存

    数据缓存

    2018.10.31-2018.11.06

     

    事后诸葛亮会议

    事后诸葛亮会议

    2018.11.13-2018.11.19

    版本控制

    版本控制

    2018.11.20-2018.11.26

    版本控制

    版本控制

    2018.11.27-2018.12.04

    学习软件工程原则

    学习软件工程原则

    2018.12.04-2018.12.11

    版本控制

    版本控制

    5.时间分配堆积柱状图

     

  • 相关阅读:
    java占位符
    linux安装jdk
    linux安装svn
    java判断是汉字和英文
    mysql删除未提交的事务
    Html 解决长串英文字母显示不能自动换行
    spring boot 定时任务
    mybatis批量插入数据
    文本域换行符号
    rabbitmq,生成者和消费者
  • 原文地址:https://www.cnblogs.com/zwqhh/p/10222641.html
Copyright © 2020-2023  润新知