1、 软件需求说明书编写规范 案卷号 日期 <项目名称> 软件需求说明书 作 者: 王浩天 完成日期: 8.23 签 收 人: 签收日期:
2、 修改情况记录: 版本号 修改批准人 修改人 安装日期 签收人 目录 1 引言 1 1.1 编写目的 1 1.2 范围 1 1.3 定义 1 1.4 参考资料 1 2 项目概述 1 2.1 产品描述 1 2.2 产品功能 2 2.3 用户特点 2 2.4 一般约束 2 2.5 假设和依据 3 3 具体需求 3 3.1 功能需求 3 3.1.1 功能需求1 3 3.1.2 功能需求2 4 3.1.n 功能需求n 4 3.2 外部接口需求 4 3
3、2.1 用户接口 4 3.2.2 硬件接口 5 3.2.3 软件接口 5 3.2.4 通信接口 5 3.3 性能需求 5 3.4 设计约束 6 3.4.1 其它标准的约束 6 3.4.2 硬件的限制 6 3.5 属性 6 3.5.1 可用性 6 3.5.2 安全性 7 3.5.3 可维护性 7 3.5.4 可转移 \转换性 7 3.5.5 警告 7 3.6 其它需求 7 3.6.1 数据库 7 3.6.2 操作 8 3.6.3 场合适应性需求 8 4 附录 8 1 引言 1.1 编写目的 详细列出用户对该软件期望实现的功能。 1
4、2 范围 Linux下的FlowerMail邮件系统是由北京理工大学实训小组受NEUSOFT委托为其开发的一套局域网内部的邮件通信系统。公司使用这套系统后,能够使日常的信息交流,文件传递更加便捷,从而使工作效率得到了极大的提升,增加了员工之间的友好交流,增进了友谊。 实训小组作为这款软件的开发商,提高了自己编写程序的能力。 1.3 定义 // 1.4 参考资料 a、Linux系统下邮件系统项目要求说明书 2 项目概述 2.1 产品描述 软件开发是为了解局域网下公司员工之间邮件交流困难的问题,预期将实现局域网下邮件的收发,存储等功能方便员工相互之间的交流,作用范围
5、是公司局域网上的所有员工。该软件是基于Linux系统下的独立的邮件收发系统。 2.2 产品功能 FlowerMail邮件系统的功能主要包括:邮件的接受与存储,邮件的编写与发送,邮件的阅读转发,邮件的删除与恢复等功能。 2.3 用户特点 用户主要是局域网内的员工,主要使用的功能是邮件的编写发送,接受阅读功能,每天使用的频率大概为没人3-5次,因此有新邮件时需要有及时明显的消息提醒。 2.4 一般约束 1、全中文操作界面,简洁方便用户使用 2、适用于Linux各种版本的计算机 3、能够添加各种格式的附件 4、使用c语言编写 5、使用安全的通信协议,如XXX 6、使用一人一账号
6、实名注册,每个身份信息能够注册一个账号 2.5 假设和依据 本系统需要有完整的局域网,依赖于mysql数据库管理系统 3 具体需求 3.1 功能需求 3.1.1 功能需求1 邮件系统注册功能 首先打开邮件登陆界面,点击注册按钮进入新用户注册界面,需要输入用户名,8-14英文字母和阿拉伯数字及下划线构成,密码由8-14位数字字母及下划线构成,再次输入密码同密码,手机号输入11位数字,填写完毕后点击提交按钮系统开始检测输入格式长度是否合法,经过数据库系统检测用户名手机号是否呗注册,如果所有检测都经过则提示注册成功,如果检测出现问题则提示注册失败返回问题。用户能够点击重置按钮,
7、清空已经填写的全部内容。注册成功或者失败都会弹出提示窗口告诉用户。如果点击提交时丢失网络连接,则提示失去网络连接注册失败并返回主页面。 3.1.2 功能需求2 邮件系统新建邮件功能 首先点击主页面上的新建按钮进入编写新邮件的界面,需要输入发件人,收件人,主题,正文,能够添加附件或者更改字体大小颜色格式等,输入完成后点击发送按钮,系统开始检测输入的发件人,收件人格式是否正确,如果都正确发送邮件,发送成功或者失败给出提示窗口并返回主界面。如果编写过程中意外退出或者点击发送时失去网络,则将编写的邮件存入收件箱,提示发送失败。 3.1.n 功能需求3 邮件系统收件箱功能 在主界面上点击
8、收件箱进入收件箱界面,这里主要保存了收到的邮件和未读的邮件,未读邮件会有标志。经过收件箱功能用户能够方便管理收到的邮件,对邮件进行批量的删除,已读操作,单击某个邮件能够读取邮件内容,并能够对邮件进行转发,删除操作,搜索一栏填写用户需要搜索的关键词,系统在下方已经收到的邮件中搜索包含关键词的主题,发件人的邮件并列表表示出来。 3.2 外部接口需求 3.2.1 用户接口 提供用户使用软件产品时的接口需求。例如,如果系统的用户经过显示终端进行操作,就必须指定如下要求: a. 对屏幕格式的要求; b. 报表或菜单的页面打印格式和内容; c. 输入输出的相对时间; d. 程序功能键的可
9、用性。 3.2.2 硬件接口 要指出软件产品和系统硬部件之间每一个接口的逻辑特点。还可能包括如下事宜:支撑什么样的设备,如何支撑这些设备,有何约定。 3.2.3 软件接口 在此要指定需使用的其它软件产品(例如,数据管理系统、操作系统或数学软件包),以及同其它应用系统之间的接口。对每一个所需的软件产品,要提供如下内容: a. 名字; b. 助记符; c. 规格说明号; d. 版本号; e. 来源。 对于每一个接口,这部分应说明与软件产品相关的接口软件的目的,并根据信息的内容和格式定义接口,但不必详细描述任何已有完整文件的接口,只要引用定义该接口的文件即可。 3.2.
10、4 通信接口 指定各种通信接口。例如,局部网络的协议等等。 3.3 性能需求 从整体来说,本条应具体说明软件、或人与软件交互的静态或动态数值需求。 A. 静态数值需求可能包括: 1) 支持的终端数; 2) 支持并行操作的用户数; 3) 处理的文卷和记录数; 4) 表和文卷的大小。 B. 动态数值需求可能包括:欲处理的事务和任务的数量,以及在正常情况下和峰值工作条件下一定时间周期中处理的数据总量。 所有这些需求都必须用能够度量的术语来叙述。例如,95%的事务必须在小于1s时间内处理完,不然,操作员将不等待处理的完成。 3.4 设计约束 设计约束受其它标准、硬件限制
11、等方面的影响。 3.4.1 其它标准的约束 本项将指定由现有的标准或规则派生的要求。例如: a. 报表格式; b. 数据命名; c. 财务处理; d. 审计追踪,等等。 3.4.2 硬件的限制 本项包括在各种硬件约束下运行的软件要求,例如,应该包括: a. 硬件配置的特点(接口数,指令系统等); b. 内存储器和辅助存储器的容量。 3.5 属性 在软件的需求之中有若干个属性,以下指出其中的几个(注意:对这些决不应理解为是一个完整的清单)。 3.5.1 可用性 能够指定一些因素,如检查点、恢复和再启动等,以保证整个系统有一个确定的可用性级别。 3.5.2 安全性
12、指的是保护软件的要素,以防止各种非法的访问、使用、修改、破坏或者泄密。这个领域的具体需求必须包括: a. 利用可靠的密码技术; b. 掌握特定的记录或历史数据集; c. 给不同的模块分配不同的功能; d. 限定一个程序中某些区域的通信; e. 计算临界值的检查和。 3.5.3 可维护性 规定若干需求以确保软件是可维护的。例如: a. 软件模块所需要的特殊的耦合矩阵; b. 为微型装置指定特殊的数据\程序分割要求。 3.5.4 可转移 \转换性 规定把软件从一种环境移植到另一种环境所要求的用户程序,用户接口兼容方面的约束等等。 3.5.5 警告 指定所需属性十分重要,它
13、使得人们能用规定的方法去进行客观的验证。 3.6 其它需求 根据软件和用户组织的特性等,某些需求放在下面各项中描述。 3.6.1 数据库 本项对作为产品的一部分进行开发的数据库规定一些需求,它们可能包括: a. 在功能需求中标识的信息类别; b. 使用的频率; c. 存取能力; d. 数据元素和文卷描述符; e. 数据元素、记录和文卷的关系; f. 静态和动态的组织; g. 数据保存要求。 注:如果使用一个现有的数据库包,这个包应在“软件接口”中命名,并在那里详细说明其用法。 3.6.2 操作 这里说明用户要求的常规的和特殊的操作。 A. 在用户组织之中各
14、种方式的操作。例如,用户初始化操作; B. 交互作用操作的周期和无人操作的周期; C. 数据处理运行功能; D. 后援和恢复操作。 注:这里的内容有时是用户接口的一部分。 3.6.3 场合适应性需求 这里包括: a. 对给定场合或相关任务或操作方式的任何数据或初始化顺序的需求进行定义。例如,栅值,安全界限等等。 b. 指出场合或相关任务为特点,这里能够被修改以使软件适合特殊配制的要求。 4 附录 对一个实际的需求规格说明来说,若有必要应该编写附录。附录中可能包括: a. 输入输出格式样本,成本分析研究的描述或用户调查结果; b. 有助于理解需求说明的背景信息; c. 软件所解决问题的描述; d. 用户历史、背景、经历和操作特点; e. 交叉访问表。按先后次序进行编排,使一些不完全的软件需求得以完善; f. 特殊的装配指令用于编码和媒体,以满足安全、输出、初始装入或其它要求。 注:当包括附录时,需求说明必须明确地说明附录是不是需求要考虑的部分。






