装修一套新房,屋主一般会告诉装修队伍房屋布局、各个部位的装修要求等,描述和要求越详细,满足期望值的可能性越高;地砖是深颜色的,屋主自以为装修队伍知道接缝线应该处理成黑色,所以没有明说,装修队伍却按惯例处理成白色,这产生了争执和返工。所以,需求做得全面和被深度挖掘,后头阶段的工作将开展得非常顺利。
判断是否做好需求的标准是:清楚、完整、一致、可测试:
该文档根据《项目发起书》、《可行性报告》、《沟通计划》、《总体计划》进行调研编写而出,是项目后续阶段的基石,工作一定要做到位。项目经理整理审核《需求说明书》,召开组织内部评审会,会议内容是比对需求是否都涵盖合同要求、需求是否合理可行等。通过评审后,如果条件允许,项目经理到客户处做1-3次需求阐述会(超过3次,可能是双方沟通不畅或调研工作不到位),会上项目经理逐条讲解需求,听取客户反馈——是否有错误的需求理解、是否有漏掉的需求等。最后该文档发送给甲乙双方签署。
常听到一些项目经理抱怨客户不肯签署文档,抱怨改变不了现状或对项目有帮助,必须跟客户充分交流找到原因,例如:
世界万物都有特质,除了那些身经百战做过很多项目的客户外,大部分客户容易改变想法或不断冒出新想法,这是需求阶段的特质之一,有些项目经理常常抱怨这点并期许“如果客户能一次拿定主意就好了”,这种想法只能说是美好的但不可行,正如突然要求素食者吃肉嗜肉者吃素一样,引入业内流行的一句话:"没有不变的需求,世上的软件都改动过3次以上,唯一一个只改动过两次的软件的拥有者已经死了,死在去修改需求的路上。"。这阶段适宜跟客户保持高频度的沟通交流、保证沟通渠道的顺畅、主动帮助客户完善需求、积极给客户提供正确专业的建议等等。
需求说明书定稿后,项目组据此编写《美工工作列表》,即美工要做出多少个UI页面,这些页面也要让客户审阅和签署的,设计阶段会说到。
当软件多次销售或多次使用时,需要这份文档面向一种以上的客户。它依据《需求说明书》而编写,主要是以非技术性的大众化的语言描述软件具备的功能,例如第一次用液晶电视,会根据《产品规格书》来调试频道而不是看电路板图。
美工根据《美工工作列表》做出UI页面,项目经理一般跟美工讨论、完善页面3-7次(如果次数过多,说明沟通出现误差)后定稿。UI页面很直观地展示系统外貌,用户有时会据此确定软件整体色系、整体页面布局是否符合客户使用习惯、指出误漏和能优化的地方,从而增加用户满意度、减少界面返工概率、减少开发时对界面布局的讨论等。
UI页面一定要往细节做,除了客户原因外,做得细的UI页面能很好地满足开发需要,避免项目组成员花费太多无谓时间在界面讨论上;把项目同性质事情统一处理,这是有效省时的工作方式。
系统设计文档的内容主要有硬件网络图、软件技术架构、源代码文件夹结构、公共设置、模块设计、数据底层架构设计、数据库设计等:
软件测试常用白盒测试和黑盒测试,一般开发阶段做白盒测试,测试阶段做黑盒测试。这里的测试案例是为黑盒测试准备的,内容因各个项目而异,例如:
项目组和客户各自写一份《测试测试》,彼此不能交换文档。一般项目组习惯侧重于功能、技术、逻辑等,客户侧重于界面、是否符合工作流程、是否满足需求等;如果互相交换文档,有时受先入为主的影响而局限测试案例的设计思想,有时项目时间过于紧张,文档编写人员会抄袭,这是不负责任的。
文档格式例子见表5。
唯一标识符 |
测试案例编号 |
依存关系 |
类别/模块 |
测试区域 |
需求说明书编号 |
特征/功能 |
测试步骤 |
正确结果 |
1 |
1A |
|
登录 |
档案系统 |
2.1 |
录入员正确登录 |
1) 打开IE窗口,访问http://192.168.1.88/login.jsp |
1) 显示登录页面 |
2 |
1B |
|
登录 |
档案系统 |
2.1 |
录入员错误登录 |
1) 打开IE窗口,访问http://192.168.1.88/login.jsp |
1) 显示登录页面 |
3 |
2A |
1A |
录入员主页 |
档案系统 |
2.2 |
录入员主页 |
1) 执行1A |
1) 页面显示“档案管理”和“档案类型”两个链接 |
表 5