附加题1——我想搞懂的软工问题
1.第四章第3节
如何验证正确性?那就要用断言。当你觉得某事肯定如何时,就可以用断言。
Assert (p!=NULL); 然后可以直接使用变量p。
问题:什么是断言?
断言assert是一个宏,该宏在<assert>中,,当使用assert时候,给他个参数,即一个判读为真的表达式。预处理器产生测试该断言的代码,如果断言不为真,则发出一个错误信息告诉断言是什么以及它失败一会,程序会终止。 我们一般可以用在判断某件操作是否成功上。
摘录林锐博士高质量编程一书中相关内容。
2.第五章第2节
团队模式可以分为下列几种模式:主治医师模式,明星模式,社区模式,业余剧团模式,秘密团队,特工团队,交响乐团模式,爵士乐模式,功能团队模式,官僚模式。
问题:团队模式和团队的开发模式有什么关系?
团队模式和团队的开发模式这二者的关系可做一个比喻,即为:二者共同构成了一个人,而前者是大脑,后者是身体。身体是行动的发出者和执行者,而后者是身体的控制者和调度者。同样是身体,有的团队可以开发出很有价值的软件,完成很困难的任务,并创造价值。而有的团队则做不到这一点。因为,所有的软件开发模式,只是单纯的考虑到开发效率等问题,而最终能否成功完成任务,从某种意义上说,完全取决于项目执行者,也就是团队模式。
http://www.bubuko.com/infodetail-408025.html
3.第八章第3节
问题:获取用户需求的步骤?
a.数据分析
通过一些客观数据,例如,流量、检索量等,能很好的说明问题; 数据分析依赖人员,同样的数据被不同的人解读结果完全不同; 以数据说话,是产品管理人员的基本素质之一; 数据分析的结论,往往是最可信、最可靠的结论。
b.邀请用户进行访谈,观察或者让用户说出自己的需求与偏好。
c.用户反馈
1)在网站上提供让明显的让用户给网站提意见的链接或者邮箱地址;
2) 认真对待每一个用户的反馈,因为大部分情况来说,有时间填写用户反馈的用户(也就是会抱怨的用户),今后往往可能成为忠诚的用户;
3)从用户反馈中发现产品的不足、发现用户的需求;
4)不是每一个用户反馈的需求都需要满足,根据反馈的程度制定优先级。
4.第十章第1节
问题:怎么定义一个典型用户?
我觉得首先要定义用户的角色,正如戏剧中有正面和反面的角色,软件系统中也有受欢迎的和不受欢迎的典型用户。如果用户有不同的安全需求,切记要定义不同的角色来适应这些需求。如例子:
受欢迎的典型用户——指那些按设计者的期望使用系统的用户,如“网站的购物者”;
不受欢迎的典型用户——指那些有不正当目的的用户,如在一个房地产业主论坛中滥发房屋中介广告的用户,这些用户也许在别的系统中(如房屋中介论坛)是受欢迎的。
5.第十二章第2节
问题:用户体验设计的步骤和目标?
用户体验设计的一个重要目的就是要降低用户的认知阻力,即用户对于软件界面的认知和实际结果的差异。
步骤:
需求分析:从商业目标,用户需求,品牌方向,分析竞争产品。收集的历史数据报告后,选用户访谈(用户习惯报告,用户体验目标),需求评审出需求文档。
原型设计:绘制使用流程图,制作底保真原型修改,内部评审审核并修改。
专家评审:修改好的底保真原型,交予专家评审,出设计结果方案。
交互DEMO:确定交互方式,出交互计划方案,制作高保真原型,内部评审审核并修改。
用户测试:根据用户测试,出交互结果方案。
视觉界面:收到结果方案,进行需求消化,确定界面风格和布局,关键界面设计文字,及其他设计。把设计好的视觉界面交予GUI评审,确定GUI方案。
切割编码:切割页面,编写HTML后台编码,界面优化,UI规范审核。进行a版测试,手机用户反馈,修复BUG,优化流程,进行b版测试。
发布跟踪:发布,收集用户操作数据,检测各个反馈渠道进行数据筛选,出用户检测报告。
(步骤是在网上查阅了相关资料)
http://jingyan.baidu.com/article/6079ad0e4b41d428fe86db54.html