zoukankan      html  css  js  c++  java
  • 个人作业4-Alpha阶段个人总结

    一、个人总结

    在alpha 结束之后, 每位同学写一篇个人博客, 总结自己的alpha 过程;
    请用自我评价表:http://www.cnblogs.com/xinz/p/3852177.html 有比较才会有进步。
    
    类别 具体技能和面试问题 现在的回答
    语言 最拿手的语言之一,代码量是多少? C语言,代码量在5000行左右
    软件实现 最拿手的语言之二,代码量是多少? Java吧,代码量也差不多5000左右
    软件测试 你有没有在别人代码的基础上改进,你是怎么读懂别人的代码?你在开发过程中碰到的最复杂的bug是什么,你是如何去解决的?这个bug出现的原因是什么,你在将来应该怎么去避免bug再出现? 有,一般首先要看懂别人的代码,先看清楚这个他代码的架构,里面的功能函数和接口。最发杂的bug不太记得了,但是每个bug解决后都觉得很简单的,但是在改的过程中总是要花费很多的精力。将来的话,在考虑问题的时候要更仔细,然后过程中要及时发现问题并解决,就是留个 缓冲区
    效能分析 你写过最复杂的代码是什么?你是如何测量和改进它的效能的,用了什么工具,如何分析 最复杂的代码是之前科研立项做的提醒闹钟,并未进行测量和改进
    需求分析 你做过多少个有实际用户的项目,用户最多有多少?你的项目有什么创新的地方? 暂时没有做过有实际用户的项目,这次的小程序希望会达到预期的用户量
    行业洞察力 你最感兴趣的领域的什么?这个领域在过去10年经历了哪些创新?你分析过这个领域的前10名产品么?请分析一下他们的劣势,你要进入这个领域,应该如何创新? 我感兴趣的领域是软件测试,这个领域在过去十年内经历的创新,并不了解,就知道互联网的地位越来越高
    项目管理 你参与过项目管理么?请描述一下当下流行的开发方法在你的项目中的具体应用情况;请问你如何决定项目中各种任务的优先次序,有什么理论来支持你的作法? 没有,在组里属于队员。但是看到队长的做法,又学到一些。她采用敏捷开发方法,首先分配任务,然后小组队员认领任务,接下来是每日例会,进行连续的冲刺。关于任务的优先次序,有些任务是要在其他任务完成后才能进行的,就可以把它排到后面,通过这种方法来确定。
    软件设计 你做过架构设计,模块化设计,接口设计么?请说明一下你为什么是这样设计,你比较过什么不同的设计方式,你的设计取得了什么成果?
    质量意识 你是怎么做代码复审的,你加入我们团队后能帮我们提高代码质量么,请具体说明怎么提高? 代码复审就是通过测试一行行改进自己的代码,看是否符合最初的目标
    工具/社区 你在各种开发平台都使用过什么样的工具,自己写过什么工具来改进工作效率?给社区贡献过什么工具和代码?Github有分享代码么? 在这次微信小程序开发在微信开发平台使用微信开发者工具,没有用Github,我们使用的是git
    团队协作 请描述你在项目中如何说服同伴采用你提出的更好的解决方案或者你如何听取了别人的意见改进自己的方案 我们团队很和谐,不管是谁,大家一起提出自己的点子,然后选取最优秀的那个点子,而且大家也会接受。如果你觉得自己的点子好,就要说到底怎么好,让大家来考虑要不要采用你的这个点子
    理论素养 你上过什么数学,计算机或其他理论课,请举出具体的例子,说明你学到的理论如何帮你解决实际问题 就上过我们开的高数课,各类计算机课和理论课。当然有啊,就是靠那些知识撑到了今天
    自我管理 全年级你专业排名多少?你从刚入学(大学一年级)到现在的排名有变化么?如何解释你的排名变化? 感觉自己成绩没有太好,尴尬了,就是在专业的中间,总是跟奖学金擦肩而过。现在学的课更难,成绩没有说进步非常大,但比起之前,上进心提高了许多。继续加油就是了

    二、回答问题

    我们在课程开始之初,曾经要求大家针对软件工程提出问题:个人阅读作业2,那么在经过alpha阶段,大家是否对软件工程有了一定的了解?请结合自己提出的问题进行回答

    • 问题1(p28):将单元测试集成到自动测试的框架中应该注意什么
      -问题1回答:”单元测试有一点特殊性,就是在一个系统中,函数会非常非常的多,变化也比软件的功能频繁的多。面对这么多的函数,这么频繁的变化,纯手工测试是不现实的。所以,我们必须要引入单元测试框架进行自动化测试;其重点是:1、如何搭建测试环境、测试场景;2、如何选择测试用例;3、如何校验测试结果。对于测试代码本身,应该尽可能的简单,能不要使用技巧尽量不要使用,我们的目的在于测试,如果测试本身过于复杂,我们不能保证测试的正确性,测试这个工作就白做了。
      启发:在我们平时编写代码的时候,要注意别写多余的代码,尽可能在实现其功能的前提下精简代码

    • 问题2(p92):到底软件开发的具体流程是什么?怎么操作?
      -问题2回答:软件开发流程即软件设计思路和方法的一般过程
      1 开发流程
      ▪ 需求分析
      ▪ 概要设计
      ▪ 详细设计
      ▪ 编码

      ▪ 测试
      ▪ 软件交付
      ▪ 验收
      ▪ 维护
      2 软件维护

      3 软件升级
      4 报废处理

    • 问题3(p16)
      在文中p16讲到“是否bug取决于用户和开发者”,比如某聊天软件不支持视频聊天,用户期待该软件具备视频聊天功能,用户觉得这是一个bug,但是该软件的开发人员认为,该软件本来就没打算支持视频聊天,所以不能算是bug;于是作者举了肉芽的例子,想说明,对于不同的问题,不同的人有不同的答案,我觉得此例子用得不是很准确,因为店长明明知道这是肉里长出来的虫,为了自己的生意才胡说这是肉芽,并不能用来证明看问题的角度不同得出了问题的不同答案

    • 问题4(p256):对于黑箱测试的定义是看得懂,但是不知道黑箱测试法做些什么

    • 问题4答案:黑盒测试也称功能测试或数据驱动测试,它是在已知产品所应具有的功能,通过测试来检测每个功能是否
      都能正常使用,在测试时,把程序看作一个不能打开的黑盆子,在完全不考虑程序内部结构和内部特性的情况下,测
      试者在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入
      数锯而产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性

    三、再提问题

    同时,大家一定会在实践过程中产生更多问题, 结合你的读书(教材,博客,参考书), 实践, 再提出关于软件工程的 5 个问题。
    在每个问题后面,请说明哪一章节的什么内容引起了你的提问,提供一些上下文。
    列出一些事例或资料,支持你的提问 。
    说说你提问题的原因,你说因为自己的假设和书中的不同而提问,还是不懂书中的术语,还是对推理过程有疑问,还是书中的描述和你的经验(直接经验或间接经验)矛盾?
    一个模板可以是这样:
    我看了这一段文字 (引用文字),有这个问题 (提出问题)。 我查了资料,有这些说法(引用说法),根据我的实践,我得到这些经验(描述自己的经验)。 但是我还是不太懂,我的困惑是(说明困惑)。【或者】我反对作者的观点(提出作者的观点,自己的观点,以及理由)。

  • 相关阅读:
    NanoProfiler
    NanoProfiler
    Open Source Cassandra Gitbook for Developer
    Android Fragment使用(四) Toolbar使用及Fragment中的Toolbar处理
    Android Fragment使用(三) Activity, Fragment, WebView的状态保存和恢复
    Android Fragment使用(二) 嵌套Fragments (Nested Fragments) 的使用及常见错误
    Android Fragment使用(一) 基础篇 温故知新
    Set up Github Pages with Hexo, migrating from Jekyll
    EventBus源码解析 源码阅读记录
    Android M Permission 运行时权限 学习笔记
  • 原文地址:https://www.cnblogs.com/zxl3066/p/9050216.html
Copyright © 2011-2022 走看看