软件工程第一次作业

四则运算:https://git.coding.net/kyoxy/RJGC.git

在一周之内快速看完《构建之法》,列出你不懂的5-10个问题,发布在自己的博客。
a.在每个问题后面,请说明哪一章节的什么内容引起了你的提问,提供一些上下文
b.列出一些事例或资料,支持你的提问
c.说说你提问题的原因,你说因为自己的假设和书中的不同而提问,还是不懂书中的术语,还是对推理过程有疑问,还是书中的描述和你的经验(直接经验或间接经验)矛盾?
Q1:第5章:团队和流程
书P88中向我们展示了软件工程团队的各种模式,我想问如果一个团队需要长久的运作,哪一种模式更加适合?

Q2:第8章
什么是分而治之(WBS)原理?
书中提到WBS通常从最终的产品开始,一层一层往下,把大型交付件分割为小型,具体的交付件,持续分割下去。我有这个问题:那么每次进行这样的分割原理是什么?

Q3:第17章
软件在功利性和公益性上的偏向如何选择?
书中第17章的软件工程师的职业道德中提到“软件工程师应以其客户和雇主利益最大化的方式做事,与公众利益保持一致。”以消费者的角度来看,大部分客户一定是是希望软件能够免费并且好用,雇主希望软件能为自己带来的利益越大越好。如何处理这个问题,如何将客户和雇主的意见基本统一?

Q4:第11章
软件的开发模式分别指那些?
通过阅读十一章,我查了资料(快速原型模型:需要迅速造一个可以运行的软件原型,以便理解和澄清问题)快速原型模型允许在需求分析阶段对软件的需求进行初步的非完全的分析和定义,快速设计开发出软件系统的原型展示待开发软件的全部或部分功能和性能。过程:用户对该原型进行测试评定,给出具体改善的意见以及丰富的细化软件需求,开发人员进行修改完善。增量模型:采用随着日程时间的进展而交错的线性序列,每一个线性产生软件的一个可发布的“增量”,第一个增量往往就是核心的产品。与其他模型共同之处:它与原型实现模型和其他演化方法一样,本质都是迭代。)根据我的实践,我得到这些经验(快速原型模型的优点是克服瀑布模型的缺点,减少由于软件需求不明确带来的开发风险,增量模型的优点是人员分配灵活,一开始不需要投入大量人力资源,增量能够有计划的管理技术风险)但我还是不太懂(如果增量包之间存在相交的情况且未很好处理该如何解决)。

Q5:P257页
书中写道“按测试的目的分类有:功能测试、非功能测试”那么一个软件有千百种功能,如果对已经差不多的软件进行测试,怎么才能具体的将基本功能和非基本功能进行区别?

软件有很多种:包装在盒子里的软件、基于网页的软件、企业或学校或某组织内部的软件、游戏、手机应用、操作系统、工具软件,选取三种软件,请分析它们各自的特点。
答:1、游戏:腾讯火影忍者手游
2、手机应用:微信
3、基于网页的软件:新浪微博网页版

1)这些软件开发者是怎么说服你(陌生人)成为他们的用户的?他们的目标都是盈利么?他们的目标都是赚取用户现金么么?还是别的?
答:1、手游因为是设计在手机上的游戏,玩起来很方便,手机可以随时带在身上,想什么时候玩就什么时候玩,不会浪费太多时间。
2、微信作为一个通讯软件,它页面简洁,一目了然方便使用,并且相较于其他通讯软件又更好的保护了用户的隐私安全。
3、新浪微博微博是一个由新浪网推出,提供微型博客服务类的社交网站,可以把微博理解为“微型博客”或者“一句话博客”。用户可以将看到的、听到的、想到的事情写成一句话,或发一张图片,通过电脑或者手机随时随地分享给朋友,一起分享、讨论;还可以关注朋友,即时看到朋友们发布的信息。
答:他们的用处各不相同,但目标必定都是盈利,也有一部分原因是为广大群众提供交互平台。

2)这些软件是如何到你手里的(邮购,下载,互相拷贝)
答:通过下载得到

3)这些软件是如何处理Bug的?又是如何更新新的版本的?
答:手游一般处理bug都是上传更新包,更新就需要下载更新后的版本。微信和网页微博是用户反馈后后台工作人员修复bug。

  1. 同一类型的软件之间是如何竞争的?
    答:手游通过回馈用户游戏中的物品,或开设活动等。微信和微博都是通过页面设计。

列举你在使用上述软件时观察到的“特殊”现象,它们和硬件有什么不同?这些能说明软件的某些本质特性么?
答:手游和微经常会有闪退情况,网页版新浪微信有时候无法显示页面。
它们和硬件的不同之处在于便携,无形的,没有物理形态,只能通过运行状况来了解功能、特性、和质量。软件不会像硬件一样老化磨损,但存在缺陷维护和技术更新,软件具有可复用性,软件开发出来很容易被复制,从而形成多个副本。

posted on 2017-04-22 17:29  kyoxy  阅读(91)  评论(0编辑  收藏  举报