软件工程第一次作业

一·写一个能自动生成小学四则运算题目的“软件”,要求:除了整数以外,还要支持真分数的四则运算。

二·一周之内快速看完《构建之法》,列出你不懂的5-10个问题。

  1. p80我对于结对编程具有一些疑问,一人编程,一人复审,两个人必然有矛盾和不同见解所在,结对成员一定要区分出强弱进行结对么?那岂不是浪费了工作时间和效率,觉得编程和审核分开比较好,各司其职。既然这样为什么还要结对编程。
  2. p89例举了很多种团队模式,也有几种模型,但是团队项目如何合理的分配成员的任务?才能够是每名成员都满意。
  3. p104敏捷流程的开发原则,学完这本书我感觉需求分析和设计的重要性,敏捷流程则是速成,如果最初的需求分析有偏差,修改成本又很大,敏捷流程是不是就与软件工程思想不符了?
  4. 14.1.4质量的成本,如果最后做性能分析的时候发现性能问题造成的原因是前期一个隐藏在很深地方的不妥当架构造成的,这个时候该如何取舍?如果成本很高呢?
  5. 15.1.4设计变更,如果用户需求和优化后的软件起冲突时,要按照用户的需求继续做还是优化的软件?

三·软件有很多种:包装在盒子里的软件、基于网页的软件、企业或学校或某组织内部的软件、游戏、手机应用、操作系统、工具软件,选取三种软件,请分析它们各自的特点。

  • 游戏(王者荣耀)
    • 画面精致,操作性强,可以团队协作,游戏内容更新较快。相比较于其他游戏,这款游戏更加吸引男生,因其比较男性化,需要一定得思考,操作协调能力。
  • 手机应用(哔哩哔哩动画)
    • 最初是动漫弹幕网站,app集成了网站的所有功能,软件开发速度较快,界面一目了然。最重要的是动漫资源丰富,还加入了其他类型的资源,并且观看时能够通过弹幕发表意见。
  • 操作系统(Windows10)
    • 图形界面优化比较好,与用户交互能力强,新版的Windows10对界面进行了优化扁平处理,增加了游戏,商店功能,系统更加流畅和精简了,个性化增强了一些。
  1. 这些软件开发者是怎么说服你(陌生人)成为他们的用户的?他们的目标都是盈利么?他们的目标都是赚取用户现金么?还是别的?
    - 这款游戏是由于使用了腾讯QQ,在里面的游戏界面宣传,于是下载来。哔哩哔哩动画是他人推荐使用,Windows10的宣传比较好,同时windows占据了大部分市场。
    - 他们的最底层目的是收费,但非付费玩家也可以使用。
    - windows10起初是免费的,目的是扩大使用人数。
  2. 这些软件是如何到你手里的(邮购,下载,互相拷贝)
    - 游戏和手机应用是从手机内置的应用商店里下载的。
    - Windows10是从系统之家网站下载的镜像自己安装的。
  3. 这些软件是如何处理Bug的?又是如何更新新的版本的?
    - 王者荣耀事先发布体验服,在那个版本测试新功能和收集反馈,最后版本发布,更新正式版处理BUG,登陆时自动更新
    - 哔哩哔哩动画也发布概念版事先体验新功能收集BUG,在正式版内有反馈信息功能,它在WIFI下后台下载最新版。
    - Windows10有Windows预览体验计划可以使用测试未发布版本,同时将信息反馈。发布补丁来处理Bug,可以选择暂不更新,和后台自动更新。
  4. 同一类型的软件之间是如何竞争的?
    - 一般都是在界面和操作上进行优化,也有在功能上更加实用全面,来达到吸引人群的目的,遵循优胜劣汰的生存法则。
  5. 列举你在使用上述软件时观察到的“特殊”现象,它们和硬件有什么不同?这些能说明软件的某些本质特性么?
    - 硬件是基础,与计算机底层直接交互,这些软件在硬件之上,与用户进行交互,来直观的实现用户想要的功能,说明软件是为用户服务而开发的。
posted @ 2017-04-17 18:37  Gali-gaygay  阅读(258)  评论(0编辑  收藏  举报