软件工程第一次作业

一、四则运算(coding中有说明文档):

    https://git.coding.net/Mr_Kun/calculator.git

(按钮有点low,没有美化)

 

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

1.    代码注入到底是怎么回事?(第二章效能分析的第二种方法)

  •  我在看第二章时,见到了一个名词,叫做“代码注入”,我觉得很新颖并且想明白具体是怎么运作的,因此去网上查了一下,发现与课本有些出入。
  • 书上大致是这样说的:将检测的代码加入到每一个函数中,记录程序的一举一动,精确测量程序的各个效能数据。我在百度百科里查到的,所谓代码注入的实质是用户可以提交一段数据库查询代码,目的是获得他想得到的某些数据。在网上的说法大部分都偏向于代码注入是贬义的,是一种不做好的行为。那么它到底是什么情况呢?

2.    技能的反面是“解决问题”,为什么呢?

  • 在第三章中技能的反面中提到计算机人机交互领域的科学家比尔·巴克斯顿提出的一个观点,技能的反面是“Problem Solving”——“解决问题”,并且举了一个大学生面试的例子。但是我还是没明白为什么技能的反面是解决问题,书上的例子中,意思是提高技能需要通过不断地练习,把低层次问题解决了,变成不用经过大脑的自动操作。这应该是一种关联关系,我并不觉得是一种正反两面的对立关系。

3. Goto语句的使用?

  • 第四章中代码设计规范中提到函数最好有单一的出口,为了达到这一目的,可以使用goto。只要有助于程序逻辑的清晰体现,什么方法都可以使用,包括goto。我在大一学C时,我的C语言老师就告诉我们goto语句是不建议使用的,什么不让我们使用。并且我在网络上查询goto语句的使用,都指出了goto语句是不好的,不被建议使用。因此,我比较反对书上写的,goto语句应该是不建议使用的。

4.    “我们是预期变化,不是期望变化”是什么意思?

  • 在第七章,有一句被重点加粗了的话,“我们是预期变化,不是期望变化”。对于变化,前面也提到了,软件工程,唯一不变的是变化。在网上查到,预期是对未来情况的估计;期望是希望、盼望。做软件的时候,我们的确应该预期变化,及时作出相应的措施来解决,但是期望变化我就不懂了。所以我对书上的这句话始终不理解。

5. 软件不是为所有人服务?

  • 在第10章有一个观点我不是很认同,“我们宁可从小部分人出发,要非常明确地定义谁是我们的用户”。我认为在我们日常生活中,每次出现一个新的软件,都是欢迎广大用户前来使用的,即使存在捣乱的用户,也应该是对此采取相应的防御和处理方法,而并不是为小部分人服务。虽然,这样做会大大提高软件的安全和合理化,但是却缺少了市场,也并不是一种很好的作为。

三、企业内部软件、游戏、手机应用

1、游戏

  • 游戏软件通过广告、活动等途径让我知道其存在,游戏软件的上市主要目的还是盈利,不论是赚取流量费或者是游戏充值等方式。游戏分为免费的和收费的,收费的游戏还分为计时收费和购买游戏收费,游戏间的竞争是十分激烈的,它们通过不断地更新,增加更多的玩法、增加级别上限等方式增加对玩家的吸引力。举个例子,像神庙逃亡这个游戏,里面有各种道具的充值购买,它使玩家在消磨时光的同时,也收获了乐趣,现在类似这种跑酷游戏层出不穷,像地铁跑酷、小黄人快跑什么的,竞争是十分激烈的。

2。手机应用

  • 在看完手机应用的简便操作、节省时间后就毅然下载了很多实用的手机应用,好多手机应用都是存在PC版的,将其拓展到手机上也是使本身有更大的效应,扩展了用户群,手机应用通过扫描二维码或者登陆官网下载移动版下载,也是十分方便,有时电脑不在身边,手指轻轻划划手机也就完成了工作。手机应用重点是可以连接网络,简直就是一个迷你版电脑。

3.企业内部聊天软件

  • 企业内的聊天软件对外是封闭的,它只允许内部的员工交流使用,防止了公司机密被盗取,提高了安全性。同时,员工也通过这种聊天软件沟通提高了工作效率,公司高层也能够时刻监视注意公司的情况。这类软件和QQ等的即时聊天最主要的不同在于面向的人群不同,这也是他们功能的体现。
posted @ 2018-03-20 00:52  Mr_Kun  阅读(294)  评论(2编辑  收藏  举报