软件工程第一次作业
- 花20分钟写一个能自动生成小学四则运算题目的“软件”,要求:除了整数以外,还要支持真分数的四则运算。将代码上传至coding.net,并将地址发布至自己的博客。
https://git.coding.net/ngjygb/zzn.git
- 在一周之内快速看完《构建之法》,列出你不懂的5-10个问题,发布在自己的博客。
问题一:
163页获取用户需求――用户调研的调研方法之一:用户调查问卷。上面也提到了调查者一些常见的错误。所以我们如何设计一份能有效的调查问卷呢?调查问卷调查出来的真的会是反映了真实情况吗?在生活中,我经常也会填调查问卷,然后发现,有些问题问得让人常常不会选择那些负面的选项,比如问题A:你是一个勤劳还是懒惰的人?问题B:你觉得自己自私吗?问题C:你爱国吗?这样的调查很多时候得来的结果都是没有意义的。还有一些问被调查者有什么看法或建议的问题,大部分人都会没耐心或者觉得麻烦而草草回答一两字,完全得不到想要的结果。
问题二:
417页职业道德,罪与罚,某员工因为个人恩怨把公司服务器上的数据全删掉。类似这样的各种各样的事发生了不少,那么,应该如何防范呢?我想,在一个公司招聘员工时,千万不能因为能力特别强十分难得而在还不了解为人的情况下就把他招进了公司里,这样只会给公司带来麻烦,无论能力多强,道德低下那是不适合任用的,所以在招聘员工时就要注意好这一点。另外,还需要善于调解好员工之间和员工与公司之间的矛盾。不要让这样的意外再发生。
问题三:
21页,单元测试,回归测试,效能分析,个人开发流程(psp),读到第二章的这一些概念时,因为第一次接触到所以有些吃力。心想这些方法流程对软件开发升级维护有好处吗?再仔细读了一遍,发现,这样做能够让软件的开发效率提高,易于维护,看了几遍后也明白了书本上对这些概念的解释:单元测试,让自己负责的模块功能定义尽量明确,模块内部的改变不会影响其他模块,而且模块的质量能得到稳定、量化的保证。回归测试,能避免遗漏bug,以及确保bug都已解决。效能分析,通过效能分析工具,尽快找到程序的效能瓶颈,从而进行程序的改进。psp着眼于软件开发的流程,开发不同应用的软件工程师可以相互比较。这样我就掌握了第二章的知识。
问题四:
第4页,“同时提供丰富的API让别人能二次开发”,API是什么呢?上网查了一下,API是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。基于互联网的应用正变得越来越普及,在这个过程中,有更多的站点将自身的资源开放给开发者来调用。对外提供的API 调用使得站点之间的内容关联性更强,同时这些开放的平台也为用户、开发者和中小网站带来了更大的价值。在我看来,API就像商品,他人可以买回来使用,这样,即使自己不会制造,也可以使用到这个商品的内容和功能。
问题五:
259页,用户体验,“……但是程序员们还是会想着把高级功能‘秀’出来。”界面的功能越多那是会越好吗?就像书本上所说的,现在的遥控器上都是一些密密麻麻的按钮,功能是多了,但却让人看上去很复杂很烦心。有时候下载了一些美颜相机软件,可是拍照后出来的美颜调控界面却让人不知道要该怎么调才显得照片好看,因为功能实在是太多了,宛若自己面对的是一个图片编辑软件,反倒还不如手机自带相机的一键美颜好用。所以,界面在强调功能多样时的前提是要让用户觉得好用。
- 软件有很多种:包装在盒子里的软件、基于网页的软件、企业或学校或某组织内部的软件、游戏、手机应用、操作系统、工具软件,选取三种软件,请分析它们各自的特点。
- 1)这些软件开发者是怎么说服你(陌生人)成为他们的用户的?他们的目标都是盈利么?他们的目标都是赚取用户现金么么?还是别的?
- 2)这些软件是如何到你手里的(邮购,下载,互相拷贝)
- 3)这些软件是如何处理Bug的?又是如何更新新的版本的?
- 4) 同一类型的软件之间是如何竞争的?
- 列举你在使用上述软件时观察到的“特殊”现象,它们和硬件有什么不同?这些能说明软件的某些本质特性么?
游戏:
游戏以吸引人的玩法内容让玩家越来越多,以玩家的充值虚拟币来盈利。比如说《王者荣耀》,它是通过qq这样一个社交平台来推广的,好友都在玩,于是自己也会因为好奇或者跟风而下载来看看。它会自动更新修补bug,打开后自动下载补丁。它以能够“五人开黑”的形式来打败其它没有开黑玩法的游戏。
手机应用:
《天天免费小说》是一个看小说的软件,它以免费阅读小说来吸引我们,所以它并没有从用户身上盈利,而是通过接一些广告来盈利。比如我们读完一章小说后,页面上会弹出几个广告来。这个软件是通过下载而来的,它的免费特性就是它最大的竞争力。
工具软件:
《画中画相机》是一个编辑图片的软件,它以艺术滤镜、拼图、高清美化来吸引人,使用并不收取费用,但是生成的图片会有一个它名称的小水印,若要去水印,则要成为会员,它以用户充值会员而盈利。它强大的竞争力在于,它拥有“画中画”功能,可以把照片放在它的模板里。
软件是虚拟的,而硬件是现实的物质的。