软件工程第一次作业

1.关注《构建之法》的作者邹欣老师的博客
2.花20分钟写一个能自动生成小学四则运算题目的“软件”,要求:除了整数以外,还要支持真分数的四则运算。将代码上传至coding.net,并将地址发布至自己的博客。
地址:https://coding.net/u/wxn_151/p/SZYS/git/tree/master/

3.在一周之内快速看完《构建之法》,列出你不懂的5-10个问题,发布在自己的博客。
(1)我看了这一段文字“在结对编程模式下,一对程序员肩并肩,平等的、互补的进行开发工作。他们并排坐在一台电脑前,面对同一个显示器,
使用同一个键盘、同一个鼠标一起工作。”,有这个问题 :两个优秀的程序员在一起合作时很容易产生意见不合,意见不合时就是一番争论,这不会很浪费时间吗?
根据我的实践,同组如果有两个大牛,那么他们总会因为一点点细节争论,而我觉得他们说的都有道理,都可以采纳,但是这么不停地争论就浪费了很多时间。
我的困惑是结对编程模式是否存在这些弊端?。 (第四章 两人合作)

(2)我看到了这一段文字“敏捷对团队的要求很简单:自主管理、自我组织、多功能型,但是这很难做到。”有这个问题:为什么说这很简单,但很难做到?
根据多功能型和自我管理的概念来看,感觉就是每个人每个区域都要做,我的困惑是,这么做的话那么这个团队的每个人的工作量就会很大,每个人会不会比较分散。
(第六章 敏捷流程)

(3)我看到了这一段文字“业余剧团模式:这样的团队在项目中,不同的人会挑选不同的角色。在下一个剧目中,这些人也许会换一个完全不同的角色类型,个人在团队
中听从一个中央指挥的指导和安排。”有这个问题:这样的团队算不算是一个敏捷的团队?我的困惑是:不同的人挑选不同的角色,不同的角色也就有不同的任务,也就
相当于每个人都可以挑选不同的任务,符合了“自主管理”?(第五章 团队和流程)

(4)我看到了这一段文字“WBS通常从最终的产品开始,一层一层往下,把大型交付件分割为小型、具体的交付件。”有这个问题:怎么算具体的交付件?我的困惑是:既然不是所有的文件都要交付,那像哪些是可以不用列出来的?(第八章 需求分析)

(5)我看到这一段文字“PM做开发和测试之外的所有事情”有这个问题:那是不是本专业以外的人也可以做PM?我的困惑是:既然不开发和测试,那为什么还需要一定的专业能力?只要人际关系处的好,得到团队的支持就不用自己写一行代码。(第九章 项目经理)

软件有很多种:包装在盒子里的软件、基于网页的软件、企业或学校或某组织内部的软件、游戏、手机应用、操作系统、工具软件,选取三种软件,请分析它们各自的特点。
游戏:王者荣耀、三国杀、2048等
1)这些软件开发者是怎么说服你(陌生人)成为他们的用户的?他们的目标都是盈利么?他们的目标都是赚取用户现金么么?还是别的?
答:宣传游戏的玩法、画面感和人物角色,并且注册新用户有奖励;
他们的目标是盈利;
但却不都是赚取用户的现金,也有免费的游戏,不过其中广告就比较多,赚取的是广告费。
2)这些软件是如何到你手里的(邮购,下载,互相拷贝)
答:听同学推荐,从网上下载的。
3)这些软件是如何处理Bug的?又是如何更新新的版本的?
答:通过资源的更新来修复Bug;
通过软件提示更新新版本,下载完成后覆盖安装。
4) 同一类型的软件之间是如何竞争的?
答:推出更多的玩法、优化游戏画质、推出更多的游戏人物角色,使玩家不会厌腻。

手机应用:淘宝、美团、饿了么等
1)这些软件开发者是怎么说服你(陌生人)成为他们的用户的?他们的目标都是盈利么?他们的目标都是赚取用户现金么么?还是别的?
答:宣传软件的功能和各自的优点,以及对用户的便利之处,并且注册新用户有奖励;
他们的目标是盈利;
他们并不是赚取用户的现金,而是充当了中介的作用,赚取了商家的现金,给商家和用户提供平台。
2)这些软件是如何到你手里的(邮购,下载,互相拷贝)
答:听同学推荐,从网上下载的。
3)这些软件是如何处理Bug的?又是如何更新新的版本的?
答:通过资源的更新来修复Bug;
通过软件提示更新新版本,下载完成后覆盖安装。
4) 同一类型的软件之间是如何竞争的?
答:优化软件的界面,更美观;提供更多选择,更多功能,更多便利;

操作系统:Windows、Linux等
1)这些软件开发者是怎么说服你(陌生人)成为他们的用户的?他们的目标都是盈利么?他们的目标都是赚取用户现金么么?还是别的?
答:宣传操作系统的更多功能和稳定,适当时候给于优惠;
他们的目标是盈利;
他们的目标大部分都是赚取用户的现金。
2)这些软件是如何到你手里的(邮购,下载,互相拷贝)
答:听同学推荐,从网上下载的;还有就是买电脑时自带的。
3)这些软件是如何处理Bug的?又是如何更新新的版本的?
答:通过资源的更新来修复Bug;
通过软件提示更新新版本,下载完成后覆盖安装。
4) 同一类型的软件之间是如何竞争的?
答:推出更多的功能和便利;提高系统的稳定性。

列举你在使用上述软件时观察到的“特殊”现象,它们和硬件有什么不同?这些能说明软件的某些本质特性么?
答:1.软件不是一个具体的物品,而硬件是实实在在的物品;
2.软件的更新只需要改变数据,而硬件则需要重做;
3.软件的推广比硬件快而且方便;

团队作业:同学们根据自己的爱好和情况组成5-6人的项目小组,选出组长。

posted @ 2017-04-23 16:49  wxn——是我想你  阅读(161)  评论(0编辑  收藏  举报