软件工程---个人总结

  • 1.回想开学初对于软件工程这门课的期望,总结本课程对你带来的提升:

    • 学习和使用的新软件
      AutoCAD;Andriod Studio
    • 学习和使用的新工具
      SqlServer2008;FireFox;Javascript Debugger;VS2010
    • 学习和掌握的新语言、新平台
      • 新语言
        PHP,HTML5语言
      • 新平台
        无新平台
    • 统计一下,你在这软件工程实践中,完成了多少行的代码
      大概400行
    • 学习和掌握的新方法
      学会了Markdown编辑,AutoCAD画图
  • 2.总结与展望

    • 记录自己在软件工程课程上的经验总结
      软件工程这门课已经接近尾声了,让我受益匪浅。通过实践,学会了对新软件的使用。更加理解了团队合作的重要性。
    • 对于下一届的学弟学妹你有什么建议和告知呢?
      希望下一届的学弟学妹认真对待这门课,认真完成老师布置的作业,这门课很重要。
    • 分析一下自己所处的团队。软件工程实践是大学里少有的认真的团队协作经验。《构建之法》团队合作的阶段,你们团队经历过么?最后到达了哪一阶段?
      我们的团队是“云”之巅战队。所做的项目是“在线云盘”。 需要建一个网站的前端,上面先实现最基本的上传和下载功能,另外还编写一个用户登录和注册的网页,之后搭建一个后端执行相关的系列操作。用户访问页面时首先进行注册,之后通过注册的用户名和密码进行登录。等到完成搭建后,测试成功后让十个潜在用户进行试用,找到其中的不足和一些没解决的问题和功能进行完善和改进,最终发出最后的成品。我们做完界面以后,后面的代码写不出来了,最后问同学老师给解决了。
    • 个性发挥,包括图文、照片和创意等

  • 3.软件工程第一次作业的五个问题
    在一周之内快速看完《构建之法》,列出你不懂的5-10个问题,发布在自己的博客。

           (1).关于bug与测试,怎么判断这些Bug的重要程度?
              第13章《软件测试》:
              Bug的意思是:软件缺陷。Bug可以分解为:症状(Symptom),程序错误(Fault),根本原因(Root Cause).在一定规模的软件项目中,一份好的错误报告,至少满足:Bug的标题;Bug的内容要写在描述中;如有其它补充材料,应保存在Bug对应的附件或链接中;还可以设置Bug的严重程度(Severity)。那么怎么判断这些Bug的重要程度呢?
          (2).怎么确定对某个bug的修改不会影响其他功能?
              第13章《软件测试》:
             当开发人员修复了一个缺陷并签入代码后,一个新的构建就会包含这一修复(Bug Fix)。测试人员所要做的就是验证修复,并且搜寻有无类似的缺陷,验证修复会不会导致他问题(回归,退化),了解修复的影响,并且检测系统的一致性是否受到影响。那么这样修复会不会影响其他功能呢?
          (3).通过BVT的构建可以称为可测,意思是说团队可以用这一版本进行各种测试,这是为什么呢?
            第13章《软件测试》:
            顾名思义,构建验证测试是指一个构建验证完成之后,构建系统会自动运行一套测试,验证系统的基本功能。在大多数情况下,这些验证的步骤都是在自动构建成功后自动运行的,有些情况下也会手工运行,但是由于构建是自动生成的,我们也要努力让BTV自动运行。通过BVT的构建可以称为可测(Testable),意思是说团队可以用这一版本进行各种测试,因为它的基本功能都是可用的。
          (4).对PM的有些功能的理解?
              第9章《项目经理》:
            典型的软件团队里除了能写代码,测试代码和画图做设计的成员,还有一类角色,不做上面这些事情但也很重要,我们叫他们项目经理——PM。PM有:Product Manager,Projest Manager,Program Manader三种,即:产品经理,项目经理,,微软的职位名称。在不同的行业和公司,他们的作用各不相同。
         (5).团队合作模式和开发流程的关系密切,两者能否脱离?
           第4,5章《两人合作》,《团队和流程》:
            团队合作模式和开发流程关系密切,相互影响。一个优秀的团队是要具有合理的团队模式和开发流程。
         (6).“软件=程序+软件工程”,软件工程具体指的是?
             第1章《概论》:
      几乎所有的程序员都知道“程序=数据结构+算法”这句名言,但是在实际的学习和工作中,也有不少人产生了疑问。书上说的“软件=程序+软件工程”,那么,软件工程具体指什么呢?我们知道软件工程是把系统的,有序的,可量化的方法应用到软件的开发,运营和维护上的过程。软件工程包括:软件需求分析,软件设计,软件构建,软件测试和软件维护。
    

    对五个问题的重新回答:
    (1)看是否影响用户操作;是不是很明显的一个Bug;后期的维护有没有影响等等。
    (2)首先,如果这个bug比较紧急,或是比较重要那无论如何也要修改了,但是如果一个bug改完不知道会不会对其他功能产生多少影响,并且这个bug即使不修改也不会有什么影响的情况下那还是不改为妙。
    (3)进一步说,我们并不是要禁止懂得程序内部结构的人员来进行黑箱测试设计,只不过是在设计时有意不考虑软件的内部结构。例如,在测试程序内部基本模块时(单元测试),通常要求由对程序结构非常了解的程序员来设计,这是因为内部模块的“行为”和程序的外部功能并没有直接的关系,而且对内部基本模块的“行为”通常没有明确的定义。
    (4) 作为PM,首先要对成员,有一个比较清晰的认识,他的基本技能和扩展技能有个大概的了解,其次就是他的熟练程度,最后,就是他的发展潜力。PM在这个阶段就要全面掌握他的技术能力,从言谈举止中琢磨他的沟通,表达能力,反应能力。就是综合能力的评估。典型的软件团队里除了能写代码,测试代码和画图做设计的成员,还有一类角色,不做上面这些事情但也很重要,我们叫他们项目经理——PM。PM有:Product Manager,Projest Manager,Program Manader三种,即:产品经理,项目经理,,微软的职位名称。在不同的行业和公司,他们的作用各不相同。
    (5)我对团队合作模式和开发流程的理解是一群人在一起做软件开发,总是要一些方式方法。而这里团队模式就是这一群人的定性,团队的开发模式则是这群人使用的方法的定性。
    (6)软件工程是把系统的,有序的,可量化的方法应用到软件的开发,运营和维护上的过程;软件工程包括下列领域:软件需求分析,软件设计,软件构建,软件测试和维护;软件工程和下列学科相关:计算机科学,计算机工程,管理学,数学等等。

posted @ 2017-06-22 22:37  回忆那么伤  阅读(162)  评论(1编辑  收藏  举报