软件工程第一次作业补充

代码地址:https://coding.net/u/z1669133610/p/ruanjiangongchengdiyicizuoye/git/commit/3634d407ad0d7968e09b431063704bf8e39e20ba

1.关注《构建之法》的作者邹欣老师的博客

 2.本次作业的标题命名为“软件工程第一次作业”

 3.花20分钟写一个能自动生成小学四则运算题目的“软件”,要求:除了整数以外,还要支持真分数的四则运算。将代码上传至coding.net,并将地址发布至自己的博客。

软件工程第一次作业的补充

对于作业“在一周之内快速看完《构建之法》,列出你不懂的5-10个问题”。

作业要求有:

(1)在每个问题后面,请说明哪一章节的什么内容引起了你的提问,提供一些上下文

(2)列出一些事例或资料,支持你的提问

(3)说说你提问题的原因,你说因为自己的假设和书中的不同而提问,还是不懂书中的术语,还是对推理过程有疑问,还是书中的描述和你的经验(直接经验或间接经验)矛盾?

例如:我看了这一段文字 (引用文字),有这个问题 (提出问题);我查了资料,有这些说法(引用说法);根据我的实践,我得到这些经验(描述自己的经验);但是我还是不太懂,我的困惑是(说明困惑);或者我反对作者的观点(提出作者的观点,自己的观点,以及理由)

1.团队模式和团队开发流程有什么关系?还有和开发模式有什么关系?

( 第五章的内容 )例如:我能理解团队是由基层和管理层人员组成的一个共同体,它合理利用每一个成员的知识和技能协同工作,解决问题,达到共同的目标。至于团队模式和团队的开发模式的关系,是一群人在一起做软件开发时,总是要一些方式方法。而这里团队模式就是这一群人的定性,团队的开发模式则是这群人使用的方法的定性。一群人在一起做软件开发,总是要有一些方式方法。开发流程就像在书中提到的,我们在开发,运营,维护软件的过程中有很多技术,做法,习惯和思想。软件工程把这些相关的技术和过程统一到一个体系中,叫作“软件开发流程”,开发流程的目的是为了提高软件开发,运营和维护的效率,以及提升用户满意度,可靠性和可维护性。可是团队模式和团队开发流程的关系是什么呢?

2.选择敏捷流程的条件有哪些?什么时候适合选择敏捷?

(第六章的内容)书上看了敏捷流程的内容,就提到了敏捷开发的原则和敏捷的步骤。还不太明白什么时候才能适合选择敏捷和选择敏捷流程有没有什么条件的问题。我查了一下资料,敏捷开发过程与传统的开发过程有很大不同,在这过程中,团队是有激情有活力的,能够适应更大的变化,做出更高质量的软件。敏捷开发中,客户是与开发团队一起工作的,团队到客户现场进行开发或者邀请客户到团队公司里来开发。如果开发过程中有什么问题或者产品经过一个迭代后,能够以最快速度得到客户的反馈。敏捷开发主要就是让软件开发项目变得更可控,让不了解具体细节的领导者也能直观的明白和管理项目的进度。当然,这只是一个管理工具而已,对于一些技术攻关与预言的项目,适用性似乎并不强。书上说了敏捷的方法能帮助你更早地知道你是否能如期完成任务,帮你尽快让用户看到项目的部分的价值。只是这些吗?

3.PM如何找到需求?

(第九章的内容)在项目经理的内容中,PM有几种,在不同的行业和公司,他们的作用各不相同。PM需要和很多用户交流,需要花费大量的时间去直接观察和讨论。现在我们需要对用户和顾客进行分类,然后决定那一类是我们的首要用户。PM是微软的名称。负责除产品开发和测试之外的所有事情。书上说PM最独特的贡献是带领团队达成最重要的目标,并保持团队的平衡。成为一个合格的PM,需要几个能力:(1)观察,理解和快速学习能力。(2)分析管理能力  。(分析出重点,找到优先级,做判断,做决定)(3)一定的专业能力 。 (4)自省的能力 。

4.软件质量的保证涉及太多方面,哪一方面是最重要的?哪一方面是最容易出纰漏的?

(第十四章的内容)看书中的描述就不能理解清楚。查了资料说软件质量保证是一个复杂的系统,它采用一定的技术、方法和工具,来处理和调整软件产品满足需求时的相互关系,以确保软件产品满足或超过在该产品的开发过程中所规定的标准。其工作原则如下:(1) 尽可能做到质量特征的具体化及量化。(2) 要找出每个阶段的具体质量特征。(3) 针对具体产品和相应项目制定质量计划。(4) 检查质量测试结果。(5) 进行各种质量评审。(6) 优化的建设性的质量保证。(7) 尽早发现并改正错误和缺陷。(8) 集中进行质量保证。(9) 独立的质量测试。(10) 对所应用的软件质量保证措施的评价。也不太明白哪一方面是最容易出纰漏的?

 5.怎样定义典型用户?特点是什么?

(第十章的内容)开发软件的时候,首先为用户考虑,一个典型用户描述了一组用户的典型能力,技巧等。具体的不太清楚怎样定义。191页上说了VS的典型用户。典型用户我们首先要定义用户的角色。正如戏剧中有正面和反面的角色,软件系统中也有受欢迎的和不受欢迎的典型用户。如果用户有不同的安全需求,要定义不同的角色来适应这些需求。我觉得应该是某一款产品的在一些“特征”(用户需求、产品认知程度、产品使用习惯等)上最集中的用户群体。查资料得知,按不同维度来区分用户的过程中,在每个维度中能代表目标用户的那类群体。比如,按人数多少来划分的,能代表最多用户特征的群体;按盈利来划分,能代表带来最多盈利价值特征的群体。

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

 

手机应用

 

QQ:QQ已成为人们日常工作,生活,学习的重要交流工具。QQ软件凭借其界面生动而又简单易懂,操作便捷等特点。可以进行实时或非实时的点交流,还可以进行视频交流,也可以发布图片和共享资料,文件传输。

 

基于网页的软件

 

淘宝:购物方便,通过快递公司送货上门。品种齐全,可选择范围很大。为用户提供了庞大的信息量,满足了大部分用户的需求。

 

游戏

 

开心消消乐:一款休闲娱乐的游戏,让人玩起来爱不释手。有1000多关卡,通过游戏道具或者游戏金币来赚取用户现金,通过用户反馈处理bug,更新版本四度快,开设很多新活动给用户更多新体验,与它同类型的游戏软件,也通过自己独有的特点与它竞争。

 

(1)这些软件开发者是怎么说服你(陌生人)成为他们的用户的?他们的目标都是盈利么?他们的目标都是赚取用户现金么么?还是别的?
不是赚取用户现金的,便于通讯,方便快捷,交流。

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

 

  (3)这些软件是如何处理Bug的?又是如何更新新的版本的?

 

       自动更新修补Bug的。

 

  (4) 同一类型的软件之间是如何竞争的?

 

列举你在使用上述软件时观察到的“特殊”现象,它们和硬件有什么不同?这些能说明软件的某些本质特性么?

 

硬件系统是看得见,摸得着的部件或设备。软件系统是以程序和文档的形式存在,通过计算机上运行来体现他的作用。

 

posted on 2017-04-20 21:52  zmcasl  阅读(157)  评论(1编辑  收藏  举报