此作业要求参见:https://edu.cnblogs.com/campus/nenu/2018fall/homework/2556
回顾0
所属团队:
杨老师粉丝群(链接: http://www.cnblogs.com/ylsfsq/)
团队项目及链接:
弹球学成语(链接:https://www.cnblogs.com/ylsfsq/p/10098738.html)
在本课程(不包括本学期其他课程)中学习和使用的新软件新工具(全称、版本)及链接:
Python3.70 及 Pycharm。
在本课程(不包括本学期其他课程)中学习、提高的语言、开发平台(全称、版本)及平台链接:
Python、Python3.70 及 Pycharm。
回顾1
(1)回想一下你曾经对计算机专业的畅想
当初你是如何做出选择计算机专业的决定的?经过一个学期,你的看法改变了么,为什么?
当初高考报考意外被调剂成了软件工程专业。
我的看法改变了。因为我感觉到软件工程的吸引力,技术带给人的获得感无止境。
你认为过去接触到的课程是否符合你对计算机专业的期待,为什么?经过一个学期,你的看法改变了么,为什么?
过去接触的课程符合我对计算机专业的期待。虽然我本科读的是软件工程,但是学校也开设了许多计算机方向的课程,比如计算机组成原理,计算机操作系统,计算机网络等。总体来说(并不全面)计算机专业相比单纯的编程还是比较难的,计算机技术是指计算机的全面知识,包括计算机原理、硬件、软件及发展趋势。教材也很难,上课后自己复习的时候也很难完全掌握,可能是有些理论太过抽象,但是后来慢慢有了基础自己再学起来就会容易一些了。但是自己还并未接触到太多的计算机硬件。
经过一个学期,我的看法并没有改变。因为编程和我想象中的一样难,除此之外完成一个工程项目还要与人深入合作,对情商的考验也刻不容缓。
你觉得计算机是你喜欢的领域吗,它是你擅长的领域吗?经过一个学期,你的看法改变了么,为什么?
我觉得计算机是我喜欢的领域,但目前还不是很擅长。如今对计算机专业更有情怀,当初仅仅觉得计算机很高难,玩得转它的人就是很酷。现在身边很多理工科的同学都和我谈到过,他们的本科专业并不是与软件、计算机相关的那一类,例如信管、光电、教育技术等。但是在硕士研究生的学习期间,他们都纷纷开始被迫钻研计算机的相关知识,可见计算机的普及之广泛,影响之深远,远远高于我当初的预期。同时也感觉自己比较幸运当初误打误撞学了这个专业,希望之未来的学习中,我和它能逐渐和解,相互扶持共同进步,争取计算机能够成为我擅长的领域。
经过一个学期,我的看法没有改变。计算机仍然是我喜欢的领域,而且更加喜欢。因为我喜欢和技术人员相处交流,不断完成代码。
(注:不可以回答 "不是","是"。请把这当成以后工作时面试题,需要回答足够长度,提供足够信息,让对方了解你。比如,给出为什么。)
(2)考取研究生,对照前人们走过的路和描述未来发展,现在的你自我感觉你已经具备的专业知识、技能、能力有哪些?
1. 我已经具备初级的Java 和Python编程知识,以及一些机器学习方法。
2. 我熟练使用各种办公软件。
3. 我有较好的与人沟通能力。
离成为一个合格的计算机学生,在专业知识、技能、能力上还差距哪些?
距离一个合格的计算机学生,我在各个方面的能力都尤为不足,急待提高,比如基础知识和编程能力,希望自己在硕士期间着重提高编程能力和测试能力,向专业程序员学习。
经过一个学期,你的看法改变了么,为什么?
我的看法有一些改变。 我在编程能力和与人沟通方面有所提高。
(3)每天都是一个人生选择的十字路口,学术研究、工程项目、社会实践 (?) ,不同的选择有不同的努力方向。
对照以上你阅读的前人们的经历,你的选择是什么?经过一个学期,你的看法改变了么,为什么?
我对自己的期待和规划是想侧重工程项目方向。因为能够学以致用才是学习的终极目标,希望在未来职业工作中,自己可以独当一面,做出设计和编译都及其精良完美的软件产品。
经过一学期,我的看法没有改变。我更加坚定了自己的期待和规划是侧重工程项目方面,且我的诸多特点比较适合。
在这种选择下,你认为你相比其他同学来说有何优势,有何劣势?经过一个学期,你的看法改变了么,为什么?
我相比其他同学来说优势是做事情比较有热情且不拖延,喜欢与人沟通交流,喜欢提前做计划。劣势有专业基础薄弱(要命的劣势),编程能力急待提高。
经过一个学期,我的看法有一些改变。因为我的优势依然是优势,对于曾经的劣势,编程能力方面,我已经有了提高并且具有学习编程的信心。
针对你的选择,你给自己的本学期的规划是什么?经过一个学期,你的看法改变了么,为什么?
熟练掌握Java编程系统,全面复习本科基础教材,夯实专业基础。并且要锻炼自己在团队中的协作能力,适应两人合作和多人合作的软件开发模式。能够完成课上老师布置的一切要求。
经过一个学期我的看法没有改变。之前的规划是我渴望实现的,现在依然如此。
(4) 这门课的期待是什么?
对对软件工程的学习不再局限于书本,而是能尽可能多的感受和接触到一个真正的软件团队是什么样的,并且学会把软件和产业应用在一起。能够自己亲力亲为做好每个细节,从需求分析到软件测试,自己都能够参与其中,并且说到做到,完成团队对个人的期望。
你打算平均每周拿出多少个小时用在这门课上?经过一个学期,你的看法改变了么,为什么?
平均至少10个小时。但是在实际操作中会尽量比10个小时要多。
经过一个学期,我的看法没有改变。这门课伴随我每天的学习生活,想不花时间都难啊。
实测结果,每周平均用在本课程上多少小时?
8.60小时
回顾2
1. 5个问题
问题1:
书中并没有给出单元测试的具体定义,但是通过分析认为单元测试是对于程序中最基本单元的检查和验证(不知道是否准确全面)。书中提到用VSTS写单元测试,但是本科并没有接触过这个软件,VSTS是专门用来进行单元测试的么?因为不懂VSTS,书中之后的内容介绍了单元测试的流程也几乎没有看懂。
答:单元测试,是指对软件中的最小可测试单元进行检查和验证。对于单元测试中单元的含义,一般来说,要根据实际情况去判定其具体含义。VSTS提供了一套追踪软件开发过程的任务管理工具, 为了使整个团队的软件开发的过程能够清晰可见。
问题2:
书中第三章谈到了软件工程师的职业成长,还把一个工程师对知识的掌握分为“入门、熟练、带头人、大师”四个阶段。可是如果在实际的工作岗位中,如果做一个合格的一线码农要至少达到哪个阶段呢?如果达到了工程领域的带头人甚至是大师水平,在企业中大概会得到什么级别的职务呢?可以达到CTO么?
答:一个合格的码农至少要达到熟练阶段。要达到CTO要看具体企业的情况。
问题3:
在书中第115页中谈到,可以让测试人员负担起产品负责人的部分责任,对产品的最终质量负责,那尽可以允许测试人员参与敏捷流程中的任何一环(不仅仅是冲刺阶段)。并且敏捷开发的原则之一就是要求业务人员和开发人员在项目开发过程中应该每天共同工作,那为什么不能让测试人员与前两者共同工作,参与其中呢?
答:测试人员一定要参与开发全程。
问题4:
本书第十二章是写用户体验,整张都在围绕软件如何让用户用着舒适展开论点。可是绝大多数用户在软件尚未问世的时候并不知道自己要的是什么,如果让用户(无论是哪类目标群体)来提需求,恐怕好几张A4纸都写不下吧。很多用户是在用了不太好用的软件之后才能提出有效意见,可这样一来用户的第一印象就难以保证了,该如何解决这个矛盾的问题呢?
答:所以程序开发要有三个阶段,每一阶段都要有用户使用报告。根据用户使用报告在下一阶段对产品进行设计和更改。
问题5:
在第十五章中,具体讲述了关于会诊小组的问题,通过阅读基本分析出所谓的会诊小组就是处理产品发布的各种问题,修复各种Bug。请问会诊小组的作用和测试人员有什么不同呢,如果测试人员工作足够完美,还用得上会诊小组么?
答:例如,医院的测试人员通过验血,体检,发现某个病人身上有三种疾病, 两种会致命,一个要截肢。 那么会诊的成员就包括各科的医师来决定如何处理,先做哪个,后做哪个, 如何处理并发症, 等等。(答案来自邹欣老师评论解答)
2. 请根据本学期的学习、收获、困惑,再提出5个问题,可以是读后不理解的,或者读后反对的。有求有观点、有证据或分析。体验一下,这5个问题,是不是更有深度了 。
问题1:两人结对编程可以解决很多沟通困难,多人开发时难免人多混乱,如果在一个大项目中把逐个困难都分配给N个两人结对编程,在实际操作中是否可以实现?
问题2:如果是一个小团队,是否需要产品经理,项目经理,开发人员,测试人员五脏俱全呢?在实际项目中可以一人身兼数职么?
问题3:在实际项目中,测试人员用不用参与代码规范的制定?
问题4:现在企业中是否大部分多用Git作为版本控制工具呢?
问题5:若在规定时间内,有bug无法修改或有功能无法完成,如何善后?
3. 回忆整个学期,你有什么话想对后来的学弟学妹们说。
作业一定不能不交,遇见困难积极面对,一方有难八方支援,互帮互助很重要。信任你的队友,自己也不要做猪队友。
4. 如果重新来过一次,你打算做哪些(技术上,而不是态度上的)改变--基于希望得到什么样的更好结果,你才希望这样改变的;更重要的是,你根据什么估计这些改变会有预期的结果。
当然是精进Pygame 编程技术,我希望两个小球可以互不影响随意弹,而不仅仅限于高度一致。
5. 终于我们即将不再是师生。当你结束本课程,你和我就站在同样的位置上,我将不再基于学校授权和知识、经验 (年龄?)上的优势而对你的自由有任何干扰。除发布及成绩以外,我最后一次行使教师特权: 请问你有什么要对教师 (我)说的,建议、抱怨、希望……多谢。
建议老师在课上多讲一些专业知识,比如关于Git版本控制的使用方法。对老师无抱怨。希望老师身体健康,鸿远当头。
总结 代码总量,平均每周代码量。
1.代码总量,平均每周代码量。
代码总量:1384。平均每周代码量:106。
2. 博客字数总量,平均每周字数。
博文字数总量:25727。 平均每周代码量:1979。
3. 根据PSP,平均每周在本课程中所用时间(是的,请再回答一次)多少小时。
8.60小时。
4. 进度条总结: 遍历每周知识点,以周为单位做如下表格。
1.时间分配堆积柱状图。如图所示,给出每周的时间分配,数据来源是每周的PSP。