软件工程第一次作业补充

  • 花20分钟写一个能自动生成小学四则运算题目的“软件”,要求:除了整数以外,还要支持真分数的四则运算。将代码上传至coding.net,并将地址发布至自己的博客。
    coding地址: https://coding.net/u/z666/p/diyicizuoye/git/blob/master/1.cpp

  • 在一周之内快速看完《构建之法》,列出你不懂的5-10个问题,发布在自己的博客。
    1.关于bug与测试,怎么判断这些bug的重要程度?
    2.怎么确定对某个bug的修改不会影响其他功能?
    3.通过BVT的构建可以称为可测,意思是说团队可以用这一版本进行各种测试,这是为什么呢?
    4.对PM的有些功能的理解?
    5.团队合作模式和开发流程的关系密切,两者能否脱离?
    6.“软件=程序+软件工程”,软件工程具体指的是?

  • 软件有很多种:包装在盒子里的软件、基于网页的软件、企业或学校或某组织内部的软件、游戏、手机应用、操作系统、工具软件,选取三种软件,请分析它们各自的特点。
    1)这些软件开发者是怎么说服你(陌生人)成为他们的用户的?他们的目标都是盈 利么?他们的目标都是赚取用户现金么么?还是别的?
    2)这些软件是如何到你手里的(邮购,下载,互相拷贝)
    3)这些软件是如何处理Bug的?又是如何更新新的版本的?
    4) 同一类型的软件之间是如何竞争的?

  • 列举你在使用上述软件时观察到的“特殊”现象,它们和硬件有什么不同?这些能说明软件的某些本质特性么?

         -  网页软件----手机百度:
          . 通过不定时的推出新闻,有娱乐的,有军事,引起人们的关注。
          . 他们的目标就是为了盈利,流量赚取的。通过网上商店下载的。
          . 通过人们的建议,举报来处理Bug的,如果有新的版本,系统就会提醒你更新的。
          . 同一类软件通过不断改造皮肤,窗口等等,给用户推送更精彩的新闻来竞争的。
    
          - 游戏----王者荣耀:
          . 通过其他软件打广告,用绚丽的界面,和游戏场景的美观吸引用户的。
          . 引起人们的关注。他们的目标就是为了盈利,通过购买会员,购买英雄等等来赚取的。
          . 通过网上商店下载的。
          . 通过人们的建议和官方监督来处理Bug的,如果有新的版本,系统就会提醒你更新的或者在有无线网的时候自动更新。
          . 同一类游戏通过不断改造英雄皮肤,更低的会员价格来竞争的。
    
          - 工具软件----VS2017:
          . 这是有微软公司研发的编写程序的工具软件。
          . 学习计算机编程的都会用到。他们的目标既是盈利,又是更好的告知人们微软的重要性。
          . 它是通过别人拷贝给我插件,然后我自动下载安装的。
          . 同一类型的工具通过程序的准确性,实用性等竞争。
              *“特殊”现象:
              . 有的时候就突然卡住了,或者无法启动,需要退出程序重新启动。
              . 软件是一系列按照特定顺序组织的计算机数据和指令的集合,按照特定顺序组织的电脑数据和指令的集合。而硬件是电子计算机中所有实体部件和设备的统称。
              . 这些“特殊”现象能说明软件的复杂性等等。
    
  • 在一周之内快速看完《构建之法》,列出你不懂的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章《概论》:
        几乎所有的程序员都知道“程序=数据结构+算法”这句名言,但是在实际的学习和工作中,也有不少人产生了疑问。书上说的“软件=程序+软件工程”,那么,软件工程具体指什么呢?我们知道软件工程是把系统的,有序的,可量化的方法应用到软件的开发,运营和维护上的过程。软件工程包括:软件需求分析,软件设计,软件构建,软件测试和软件维护。
posted @ 2017-04-21 20:38  回忆那么伤  阅读(129)  评论(0编辑  收藏  举报