[software development] 需求分析checklist


// */
// ]]>

 

[software development] 需求分析checklist

1 Specific Functional Requirements, 功能上的需求

  1. Are all the inputs to the system specified, including their source, accuracy, range of values, and frequency?

    是不是所有系统的输入都已经详细说明了, 包括输入源, 精度, 输入的范围, 以及不同输入的频率?

  2. Are all the outputs from the system specified, including their destination, accuracy, range of values, frequency, and format?

    是不是所有系统的输出都已经详细说明了, 包括输出的地点, 精度, 数值的范围, 频率以及格式?

  3. Are all output formats specified for web pages, reports, and so on?

    是不是所有的输出格式(用于网页, 报告等)都被详细说明了?

  4. Are all the external hardware and software interfaces specified?

    是不是所有的外部的软件接口以及硬件接口都被详细说明了?

  5. Are all the external communication interfaces specified, including handshaking, error-checking, and communication protocols?

    是不是所有的外部通信接口都被详细说明了, 包括握手协议, 错误检测, 以及通信协议

  6. Are all the tasks the user wants to perform specified?

    是不是所有的用户相要的任务都被详细说明了?

  7. Is the data used in the each task and the data resulting from each task specified?

    每一个任务的输入数据和输出结果是不是都被详细说明了?

2 Specific Non-Functional (Quality) Requirements, 非功能需求

  1. Is the expected response time, from the user's point of view, specified for all necessary operations?

    从用户的角度看, 所有的必要操作的响应时间是否被详细说明了?

  2. Are other timing considerations specified, such as processing time, data-transfer rate, and system throughput?

    其他的运行时间有没有被详细说明, 如处理时间, 数据传输率, 系统的吞吐量

  3. Is the level of security specified?

    安全的级别有没有被详细说明?

  4. Is the reliability specified, including the consequences of software failure, the vital information that needs to be protected from failure, and the strategy for error detection and recovery?

    可靠性有没有被详细说明, 包括软件错误的后果, 错误发生时关键信息的保护, 错误检测以及自我修复的策略?

  5. Is maximum memory specified?

    最大的内存需求有没有被详细说明?

  6. Is the maximum storage specified?

    最大的存储需求有没有被详细说明?

  7. Is the maintainability of the system specified, including its ability to adapt to changes in specific functionality, changes in the operating environment, and changes in its interfaces with other software?

    系统的可维护性有没有被详细说明, 包括个别功能的改变, 操作环境的改变, 与其他软件之间的接口的改变等?

  8. Is the definition of success included? Of failure?

    有没有说到什么程度算是成功, 怎样又叫做失败?

3 Requirements Quality, 需求的质量

  1. Are the requirements written in the user's language? Do the users think so?

    需求是不是以用户能够理解的方式写的? 用户是这么认为的吗?

  2. Does each requirement avoid conflicts with other requriements?

    每一个需求和其他的需求有没有冲突?

  3. Are acceptable trade-offs between competing attributes specified – for example, between robustness and correctness?

    互相矛盾的特性之间有没有达到一个可以接受的平衡关系, 如稳健性和准确性之间?

  4. Do the requirements avoid specifying the design?

    需求分析有没有避免详细的设计?

  5. Are the requirements at a fairly consistent level of detail? Should any requirement be specified in more detail? Should any requirement be specified in less detail?

    是否有些需求过于细化, 或是不够细化?

  6. Are the requirements clear enough to be turned over to an independent group for construction and still be understood?

    需求是否足够清晰, 清晰到能够让一个独立的小组充分理解需求, 并进行下一步的构件?

  7. Is each Item relevant to the problem and its solution? Can each item be traced to its origin in the problem environment?

    每一项都与问题和结果相关吗? 能够将每一项追溯到原始问题?

  8. Is each requirement testable? Will it be possible for independent testing to determine whether each requirement bas been satisfied?

    每个需求都能够被测试吗? 能否通过独立的测试确定各个需求的满足情况?

  9. Are all possible changes to the requriements specified, including the likelihood of each change?

    所有可能引起需求改变的因素都详细说明了吗, 包括不同改变的可能性?

4 Requirements Completeness, 需求完成

  1. Where information isn't available before development begins, are the areas of incompleteness specified?

    开发之前没有完成的需求是不是被详细说明了?

  2. Are the requirements complete in the sense that if the product satisfied every requirement, it will be acceptable?

    当需求结束后, 确认产品是否能够满足所有的需求?

  3. Are you comfortable with all the requirements? Have you eliminated requirements that are impossible to implement and included just to appease your customer or your boss?

    你对于所有的需求满足吗? 你是否要消除那些无法实现的或是为了迎合顾客或老板的需求呢?

5 出自

Code complete second edition

Date: 2014-04-23 Wed

Author: Zhong Xiewei

Org version 7.8.11 with Emacs version 24

Validate XHTML 1.0

[software development] 需求分析checklist的更多相关文章

  1. 关于敏捷开发方法(Agile Software Development)的阅读笔记

    对“敏捷开发”(Agile Software Development)这个词,我是在这学期邹欣老师<现代程序设计>课上第一次听到的,刚听到时并不知道其具体指什么,只是从字面上直觉其意思应该 ...

  2. 敏捷软件开发 Agile software Development(转)

    原文链接: http://www.cnblogs.com/kkun/archive/2011/07/06/2099253.html 敏捷软件开发 Agile software Development ...

  3. 敏捷软件工程(agile software development) VS传统软件工程(traditional software development)

    敏捷软件工程(agile software development) VS传统软件工程(traditional software development)      Agile principle  ...

  4. Agile software Development

    转自:https://www.cnblogs.com/kkun/archive/2011/07/06/agile_software_development.html 敏捷软件开发 Agile soft ...

  5. 软件开发流程 Software development process

    软件开发流程(Software development process)即软件设计思路和方法的一般过程,包括设计软件的功能和实现的算法和方法.软件的总体结构设计和模块设计.编程和调试.程序联调和测试以 ...

  6. Software Development Engineer - Database Services

    http://stackoverflow.com/jobs/116486/software-development-engineer-database-services-amazon?med=clc& ...

  7. 微软职位内部推荐-Software Development Engineer

    微软近期Open的职位: Job Title: Software Development Engineer Work Location: Suzhou, China The Office 365 Co ...

  8. FBX Software Development Kit

    FBX Software Development Kit The FBX Software Development Kit (FBX SDK) allows software developers t ...

  9. Agile Software Development ——敏捷开发

    敏捷? 过去几年中,软件行业中出现了一个新词汇——agile:与此同时,一个关于新的软件开发方式的变革正悄然兴起. 在老师的引导下,我阅读了Agile Guide网站上的几篇文章,并查阅了相关资料.不 ...

随机推荐

  1. 关于STM32-MDK中preprocessor symbols解释

    preprocessor symbols 是预处理符号的意思,这里相当于宏定义,我们在使用STM32固件库时,由于固件库里面包含的是ST整个系列单片机的定义,如下图 这时在define框中可以作为一个 ...

  2. step by step设置postgresql用户密码并配置远程连接

    设置pgsql默认用户posgres的密码 1.确认pgsql是开启的 /etc/init.d/postgresql status 2.使用默认用户登录 sudo su postgres 3.进入ps ...

  3. the diff typeof and instanceof

    instanceof和typeof都能用来判断一个变量是否为空或是什么类型的变量. typeof用以获取一个变量的类型,typeof一般只能返回如下几个结果:number,boolean,string ...

  4. beetle.express针对websocket的高性能处理

    客户需要对websocket服务应用,其要求每秒同时给3W个在线的websocket连接进行广播消息.以下针对beetle.express扩展websocket简单的性能测试.从测试结果来看基本没什么 ...

  5. TypeScript之基本数据类型

    前言 最近项目很急,所以没有什么时间回答关于Xamarin.Android方面的问题,也有一段时间没有更新.主要是手头很缺人,如果有谁有兴趣加入我们的话,可以私聊我,这样我就能继续造福社区了,同时还有 ...

  6. 可在广域网部署运行的QQ高仿版 -- GG叽叽V3.4,增加系统设置、最近联系人、群功能(源码)

    自从上次版本(GG叽叽V3.2,增加离线消息.离线文件功能)发布后,我个人觉得主要的大功能都实现得差不多了,接下来的几个版本将不断优化GG的细节,提高其可用性.这次版本更新的内容主要是为GG增加了系统 ...

  7. 循序渐进做项目系列(1):最简单的C/S程序——让服务器来做加法

    (本文是专门针对未接触过C/S开发的初学者而写的,C/S开发高手请自动忽略啊~~) 还在写“Hello world!”式的单机程序吗?还在各种拖控件吗?是否自己都觉得有点low呢?来个质的飞跃吧!看看 ...

  8. 【Bugly安卓开发干货分享】Android APP 快速 Pad 化实现

    项目背景 采用最新版本手机 APP(之后称为 MyApp)代码,实现其 Pad 化,为平板和大屏手机用户提供更好的体验.为实现 MyApp 的 Pad 化工作,需要我们首先来了解一下 MyApp 项目 ...

  9. Wix 安装部署教程(十六) -- 自动生成多语言文件

    因为持续集成需要,所有项目编译完之后生成一个多语言的安装包.之前生成mst文件都是手动操作,而且mst文件必须每次重新和新的安装包“关联”,否则中文的安装包去调用英文的资源的时候就会报类似于“类型转换 ...

  10. [.net 面向对象编程基础] (18) 泛型

    [.net 面向对象编程基础] (18) 泛型 上一节我们说到了两种数据类型数组和集合,数组是指包含同一类型的多个元素,集合是指.net中提供数据存储和检索的专用类. 数组使用前需要先指定大小,并且检 ...