现代软件工程 第八章 【需求分析】练习与讨论

1  扩展阅读
下面两篇文章也说明了软件估计的难度:
    Steve McConnell 软件估计的 10 种罪:http://www.ewh.ieee.org/r5/central_texas/austin_cs/presentations/2004.08.26.pdf
    Quora精选: 为什么软件开发周期总是预估的2~3倍http://jandan.net/2013/07/16/quora-software-development.html

2  用户调研的对象
我们说了这么多用户调研,很多人假设评价软件的就是购买软件的,就是使用软件的,但是未必。看下面的例子:
1. 你要写一个中学生学习英语的软件,你找谁去做用户调研?
    中学生 - 最终用户。
    家长 - 他们是要掏钱的人,他们不会每天都用软件,有些人都不太会英语,但是他们也有需求。
    学校老师 - 他们是有巨大影响力的人,他们说不定立下一道规矩,我们班级就用某某软件! 
2. 你要写一个企业管理软件, 你要找谁去做用户调研? 请列出你认为重要的用户类型和你认为合适的用户调研的方式。

3  开发速度的算术题

在一个软件项目中,软件团队预计每天的进度为 30 小时(即,完成了30小时的工作量)。当项目完成了一半的总工作量的时候,大家发现实际的进度为15小时/天,问:在余下的时间中, 团队的进度要到多少,才能在项目结束时让整个项目的平均进度恢复到每天30小时工作量?


4. 一个目标/决心/估计的故事:某项目本来进行得很顺利,大领导非要全体人员脱产开一天的动员大会,会议结束时, 领导热情地问大家:大家对如期完成项目有信心么?  这时,项目经理站起来说:我们本来是可以按期完成的,现在开了一天会,我们已经延期了一天。

大家觉得这样的项目经理是好还是不好?

同学们的意见:

  果冻:首先,延期一天也叫延期吗…其次居然把进度卡这么精确没有缓冲时间我估计项目本来就得延期。。。

  大牛:大部分情况下项目按期完成并没有多大价值,除非是为了给团队一点阶段性的激励

你有什么意见?

大牛说,我接一个私活,很简单的,就不用搞那么多的形式主义了吧,我们直接开干,用代码说话!请分析下面例子

    http://www.cnblogs.com/yhyjy/p/4444094.html

如果你来接这个私活,应该怎么做?

专家的意见供大家参考:

    The two causes of runaways that stand head and shoulders above all others are poor (usually optimistic) estimation and unstable requirements.

Glass, Robert L. (2002-10-28). Facts and Fallacies of Software Engineering (Kindle Locations 736-737). Pearson Education. Kindle Edition.

    Most software estimates are made either by upper management or by marketing, not by the people who will build the software or their managers. Estimation is, therefore, done by the wrong people.

Glass, Robert L. (2002-10-28). Facts and Fallacies of Software Engineering (Kindle Locations 853-854). Pearson Education. Kindle Edition.

5. 具体项目练习:

    http://www.cnblogs.com/xinz/p/3308608.html

6. 看看缝纫机大叔是如何解决用户需求的

    http://weibo.com/2694810701/BpI8Km1UW#_rnd1412244033760 

8. 用户真正的需求和正确的解决方案

    面对一个比较难的问题, 有时候项目经理或者程序员会想到一个奇妙的主意,哇,就这样做吧,搞定!  但是一些听上去很妙的办法真的解决了用户的问题? 请看这个例子,用户发现 “原理” 之后的心情:

       http://www.zhihu.com/question/26806900/answer/34095090

       原理:什么原理能够在不越狱的情况下识别骚扰电话呢?

       尼玛原理就是在老子的通讯录里面自动添加上了成千上万个骚扰电话啊!

       老子打开通讯录发现了从haoma1 到haoma7,这7个新添加的联系人啊!

       每个联系人里面都储存了成千上万去TM的谁知道有多少个号码啊!

       然后统一整了个头像是题主配的那个图的样子啊!

       这样就尼玛的算是在不越狱下帮我识别骚扰电话了么!

 有更好的办法么?

9. 用户的需求似乎都被满足了,咋办?

    在市场上已经有一个主流软件满足的大部分用户的显性需求的情况下,后来者如何挖掘用户需求?

    http://www.zhihu.com/question/22310847

    请为后来者想几个办法, 用户的需求真的被满足了么?

10. 团队练习 - NABCD 写作,视频,并且互评

请同学们把自己项目的NABCD 都写出来。

1) 列成详细的条目,用具体的事实和分析说明。

2)把这些要点都组合成为一段话  --  当你要向别人兜售你的项目的时候, 你通常只有很短的时间 (电梯演说),能否自然而有条理地把项目说清楚?  请用你产品中实际的元素代替 <> 中的抽象概念。

     各位领导/投资人/用户/合作伙伴: 我们的产品 <foo> 是为了解决 <目标用户> 的痛苦, 他们需要 <Need>, 但是现有的方案并没有很好地解决这些需求,我们有独特的办法 <Approach>,  它能给用户带来好处 <Benefit>, 远远超过目前市场上的竞争对手 <Competitor>。  同时,我们有高效率的 <Delivery> 方法,能很快地让大部分用户知道我们的产品,并进一步传播。  

3)把上面的这段话录制为视频,上传到视频网站,并把链接发到个人/团队博客上。 

      NABCD参考 (参见 http://www.cnblogs.com/xinz/archive/2010/12/01/1893323.html)

  同学们的实际作业例子:

    http://www.cnblogs.com/liangzhilin/p/5462486.html

    http://www.cnblogs.com/jjy520/p/5463552.html

    http://www.cnblogs.com/hgf520/p/5457322.html 

4) 每个团队发布了博客/视频之后,  其他团队对每一个团队的博客进行排名 (1,2,3... ) ,排名没有并列。    并且把排名的理由写到博客上, 对每个团队的分析不得少于 140 字 (除非这个团队没有写博客或者提供足够的材料) .

  如何写出140 字的分析? 

    对这个项目的一句话描述

    这个项目的优点

    这个项目计划的缺点  (需求符合实际么? 符合你的认知么?技术能满足用户的需求么? ...)

    如果你来领导项目,你会做什么不一样的事情?

这个练习的目的是让团队运用掌握的软工知识去评价别人做的需求分析。   然后助教自己也对所有团队的 NABCD 博客排名, 这样, 助教就能够比较快速地收集到所有团队 需求分析的分数。  

11. 用户界面设计,快速设计并验证需求

  不要等到所有代码写好之后再去验证需求,请用合适的原型设计工具描述用户界面和需求,然后找用户验证。请用下面工具来描述你的产品原型:

  工具 Axure  http://www.cnblogs.com/powertoolsteam/p/4763010.html

  墨刀: https://modao.cc/ 

  MockPlus: mockplus

  Balsamiq Mockup: https://balsamiq.com/products/  

  GUI Design Studio: https://www.carettasoftware.com/guidesignstudio/   

12. 如何平衡各种需求, 如果只满足其中部分需求, 会怎么样?

顾客对于要交付的软件和服务,都是有很多美好的需求的,例如,交付要快, 人工要便宜, 质量要高,最好软件本身是免费的。 但是一个软件团队的确不能同时满足这么多需求,如何让顾客知道她们的“多快好省”愿望是不可能达到的呢? 

在上图中,用户希望软件开发的又快, 又便宜 (人工便宜),质量又好, 最好是免费的。  那么,如果只满足部分的需求, 我们会得到什么样的软件呢?

例如,上图的 ① 说明, 如果希望软件做得又快,又低成本(人工便宜), 不考虑其他要求, 那么,我们会得到大致什么样的软件呢?

例如,上图的 ⑤ 说明, 如果希望软件是免费的,而且要很快交付,越快越好, 那么,这样的软件有什么特点呢?

请把 ① 到 ⑦ 的需求组合会导致什么样的软件, 会出现什么样的问题, 都列出来。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/500378.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

现代软件工程 第九章 【项目经理】练习与讨论

9.5.1 PM们的故事 讲了这么多条条框框&#xff0c;我们还是来讲几个故事吧。 A)是不是所有的好功能都是由PM主导&#xff0c;一步一步根据用户需求&#xff0c;按照用户场景设计&#xff0c;然后进行可用性测试等等步骤之后得来的呢&#xff1f; 功能本天成&#xff0c;妙手偶…

现代软件工程 第十章 【典型用户和场景】 练习与讨论

1. 讨论&#xff1a;下面的老板犯了什么错误? 只看用户的表面语言或行动还是不够的。我们还要找到用户语言行动背后的动机! (图像来源: http://www.weibo.com/funnyshoelace) 2. 是否要文档 有人说&#xff0c;我们敏捷的团队&#xff0c;就喜欢直接的面对面的交流&#xff0…

现代软件工程 第十七章 【人、绩效和职业道德】 练习与讨论

0. 为啥要讲人、绩效、和职业道德&#xff1f; 学好专业不就行了么&#xff0c;为啥要扯这么多&#xff1f; 用专业知识教育人是不够的。通过专业教育&#xff0c;他可以成为一种有用的机器&#xff0c;但是不能成为一个和谐发展的人。要使学生对价值有所理解并且产生热烈的感情…

现代软件工程 第十六章 【IT 行业的创新】练习与讨论

16.6.0 Xerox Parc 的成功创新和推向市场的失败 http://research.microsoft.com/en-us/um/people/blampson/Slides/AltoAtPARCIn1970s_files/frame.htm http://research.microsoft.com/en-us/um/people/blampson/38-AltoSoftware/WebPage.html http://research.microsoft.com/…

《梦断代码》读后感 - 驱动,责任,交流,远虑

这三篇读后感原来发布在我自己申请的域名 yishan.cc 上面&#xff0c;后来这个域名被墙了。 (原文写于2008年12月) 几个星期前&#xff0c;我给《现代软件工程》课的每一个团队都发了一本 《Dreaming In Code》的中文版 《梦断代码》&#xff0c;要求写读后感。这本书讲了这样的…

现代软件工程讲义 7 分析和设计方法

(这一节在第一版的 《构建之法》中没有&#xff0c; 是《构建之法》电子书(多看版)&#xff0c; 和纸版书第二版中新增加的内容&#xff0c;纸版书第二版预计2015年6月出版) 11.1 分析和设计方法 我们写软件就是要解决用户的需求&#xff0c;我们需要表达和传递下面这些…

现代软件工程讲义 源代码管理

【现代软件工程课件】 源代码管理 -- 以实践促进学习 移山软件学院的学生果冻问老师&#xff1a; 为啥需要源代码管理? 我自己写代码多爽&#xff0c;别人要&#xff0c;就用QQ 传过去好了。 老师问&#xff1a;原始人怎么建房子&#xff1f; 果冻&#xff1a;或者找一个洞&…

现代软件工程讲义 个人项目和结对项目练习 地铁

很多老师反映教软件工程和程序设计的时候没有合适的题目&#xff0c;《构建之法》提供了下面的题目&#xff0c;都是从简单的解题思路入手&#xff0c;逐步增量改进。学生们可以复习基本的编程技能&#xff0c;然后逐步加入模块化&#xff0c;文件处理&#xff0c;单元测试&…

最新软件工程总结,项目模板,软工作业下载

(改了标题吸引目标用户) 老师教课&#xff0c;学生上课&#xff0c;首先要讲明师生关系。 其次&#xff0c;就是要说明这门课的底线是什么。 我们假设所有人写作业都独立思考&#xff0c;认真实践&#xff0c;不断改进&#xff0c;勇于创新... 这个假设通常是不全面的&#xf…

构建之法 第三版 17 章 部分草稿

构建之法 17 章  人&#xff0c;绩效和职业道德 (<构建之法> 第三版草稿) 2016/12/23 17.1 领导力 在软件开发过程中&#xff0c;有很多平等合作&#xff0c;但是也有上下之分的领导/被领导关系&#xff0c;即使都是平级的员工之间&#xff0c;也有老师傅/新人&#xf…

构建之法 第三版 第3章 部分草稿 (剪牦牛毛、老程序员去金融公司的故事)...

/* * 这是 《构建之法》 第三版的草稿 */ 3.2 软件工程中的几种思维误区 正如我们在第一章讲的那样&#xff0c;软件有很多特性&#xff0c;软件开发有它自己独特的规律&#xff0c;如果不了解这些特性&#xff0c;软件工程师就会产生不符合实际的想法&#xff0c;在开发过程中…

现代软件工程作业 – 计算最长英语单词链

结对编程 – 计算最长英语单词链 《构建之法》练习题 大家经常玩成语接龙游戏&#xff0c;我们试一试英语的接龙吧&#xff1a;一个文本文件中有N 个不同的英语单词&#xff0c; 我们能否写一个程序&#xff0c;快速找出最长的能首尾相连的英语单词链&#xff0c;每个单词最多只…

AI应用开发实战系列之一: 从零开始配置环境

AI应用开发实战 - 从零开始配置环境 与本篇配套的视频教程请访问&#xff1a;https://www.bilibili.com/video/av24421492/ 零、前提条件 一台能联网的电脑&#xff0c;使用win10 64位操作系统请确保鼠标、键盘、显示器都是好的 建议和反馈&#xff0c;请发送到 https://g…

usb连接不上 艾德克斯电源_第十二届(深圳)新能源汽车核心电源技术研讨会成功举办...

2019年4月26日&#xff0c;由大比特主办的第十二届(深圳)新能源汽车核心电源技术研讨会在深圳登喜路国际大酒店成功举办。本次会议受到了法雷奥、长安铁雪龙、比亚迪、蔚来汽车、麦格米特、科陆电子、欣锐、英威腾、晶福源、英可瑞、瀚美特、航嘉驰源、核达中远通、永联、优优绿…

AI应用开发实战系列之二:从零开始搭建macOS开发环境

AI应用开发实战 - 从零开始搭建macOS开发环境 本视频配套的视频教程请访问&#xff1a;https://www.bilibili.com/video/av24368929/ 零、前提条件 一台能联网的电脑&#xff0c;使用macOS操作系统请确保鼠标、键盘、显示器都是好的 建议和反馈&#xff0c;请发送到 https…

安卓能硬改的手机机型_手机后盖材质,金属比塑料的好,玻璃比金属的好,是这样么?...

从2000年至今&#xff0c;18年手机发生了巨大变化到现在&#xff0c;人们不再唯性能至上屏幕、拍照、材质、工艺等等也成了人们选购手机的标准手机后盖材质的发展史很好的见证了人们喜好的变化接下来我们来看手机后盖材质的演变史从手机的创造到手机的普及作为一个材料人我们经…

AI应用开发实战系列之三:手写识别应用入门

AI应用开发实战 - 手写识别应用入门 手写体识别的应用已经非常流行了&#xff0c;如输入法&#xff0c;图片中的文字识别等。但对于大多数开发人员来说&#xff0c;如何实现这样的一个应用&#xff0c;还是会感觉无从下手。本文从简单的MNIST训练出来的模型开始&#xff0c;和…

重力加速度换算_中考物理重难点汇总——公式换算大全

初中物理中最重要的部分就是公式了&#xff0c;在这之中公式的换算可以说是一个难点&#xff0c;也是一个重点。力学部分一、速度公式火车过桥(洞)时通过的路程s&#xff1d;L桥&#xff0b;L车声音在空气中的传播速度为340m/s 光在空气中的传播速度为3108m/s二、密度公式(ρ水…

新手一小时就写出人工智能应用 - 看图识熊

来不及了&#xff0c;先上车&#xff1a; 人工智能开发案例 熊的分类 如何安装必要的工具并配置环境呢&#xff0c;请看这个详细的解说 今后会有更详细的文字版在这个专题出现。 如果有对这个教程有疑问&#xff0c;请在这里留言。

c++ 线性回归_模型之母:简单线性回归的代码实现

模型之母&#xff1a;简单线性回归的代码实现关于作者&#xff1a;饼干同学&#xff0c;某人工智能公司交付开发工程师/建模科学家。专注于AI工程化及场景落地&#xff0c;希望和大家分享成长中的专业知识与思考感悟。0x00 前言 在《模型之母&#xff1a;简单线性回归&最小…