接口得到软件产品的数据和服务的人、或者机构也有他们的需求。所以,应该将这些外部需求视为通过报表、应用程序接口、系统硬件接口附加给软件产品的附加用户类。 2.4运行环境
描述了本软件的运行环境,一般包括:
● 硬件平台; ● 操作系统和版本;
● 支撑环境(例如:数据库等)和版本; ● 其它与该软件有关的软件组件; ● 与该软件共存的应用程序。 2.5设计和实现上的限制
确定影响开发人员自由选择的问题,并且说明这些问题为什么成为一种限制。可能的限制包括下列内容:
● 必须使用的特定技术、工具、编程语言和数据库; ● 避免使用的特定技术、工具、编程语言和数据库; ● 要求遵循的开发规范和标准
例如,如果由客户的公司或者第三方公司负责软件维护,就必须定义转包者所使用的设计符号表示和编码标准;
● 企业策略的限制; ● 政府法规的限制;
● 工业标准的限制; ● 硬件的限制
例如,定时需求或存储器限制;
● 数据转换格式标淮的限制。 2.6假设和约束(依赖)
列举出对软件产品需求分析报告中,影响需求陈述的假设因素(与己知因素相对立)。如果这些假设因素不正确、不一致或者被修改,就会使软件产品开发项目受到影响。这些假设的因素可能包括:
● 计划使用的商业组件,或者其它软件中的某个部件; ● 假定产品中某个用户界面将符合一个特殊的设计约定;
● 有关本软件用户的若干假定(例如:假定用户会熟练使用SQL语言。); ● 有关本软件开发工作的若干假定(例如:用户承诺的优惠、方便、上级部门给予的特殊政策和支持等。); ● 有关本软件运行环境的一些问题;
此外,确定本软件开发项目对外部约束因素所存在的依赖。有关的约束可能包括:
● 工期约束; ● 经费约束; ● 人员约束; ● 设备约束; ● 地理位置约束;
● 其它有关项目约束;
3.外部接口需求
通过本节描述可以确定,保证软件产品能和外部组件正确连接的需求。关联图仅能表示高层抽象的外部接口,必须对接口数据和外部组件进行详细描述,并且写入数据定义中。如果产品的不同部分有不同的外部接口,那么应该把这些外部接口的全部详细需求并入到这一部分实例中。
注意:必须将附加用户类的特征与外部接口需求加以区分,附加用户类的特征描述的是通过接口取得软件产品的数据和服务的人的需求;而外部接口需求描述的是接口本身的需求。 3.1用户界面
陈述需要使用在用户界面上的软件组件,描述每一个用户界面的逻辑特征。必须注意,这里需要描述的是用户界面的逻辑特征,而不是用户界面。以下是可能包括的一些特征:
● 将要采用的图形用户界面(GUl)标准或者产品系列的风格; ● 有关屏幕布局或者解决方案的限制;
● 将要使用在每一个屏幕(图形用户界面)上的软件组件,可能包括:
? 选单; ? 标准按钮; ? 导航链接; ? 各种功能组件;
? 消息栏; ● 快捷键;
● 各种显示格式的规定,可能包括:
? 不同情况下文字的对齐方式;
? 不同情况下数字的表现格式与对齐方式 ? 日期的表现方法与格式; ? 计时方法与时间格式; ? 等等。
● 错误信息显示标准;
对于用户界面的细节,例如:一个特定对话框的布局,应该写入具体的用户界面设计说明中,而不能写入软件需求规格说明中。
如果采用现成的、合适的用户界面设计规范(标准),或者另文描述,可以在这里直接说明,并且将其加入参考文献。 3.2硬件接口
描述待开发的软件产品与系统硬件接口的特征,若有多个硬件接口,则必须全都描述。接口特征的描述内容可能包括:
● 支持的硬件类型;
● 软、硬件之间交流的数据; ● 控制信息的性质; ● 使用的通讯协议; 3.3软件接口
描述该软件产品与其它外部组件的连接,这些外部组件必须明确它们的名称和版本号以资识别,可能的外部组件包括:
● 操作系统; ● 数据库; ● 工具; ● 函数库; ● 集成的商业组件
说明:这里所说的“集成的商业组件”,是指与系统集成的商业组件,而不是与软件产品集成的商业组件。例如:中间件、消息服务,等等。
描述并且明确软件产品与软件组件之间交换数据或者消息的目的。描述所需要的服务,以及与内部组件通讯的性质。确定软件产品将与组件之间共享的数据。如果必须使用一种特殊的方法来实现数据共享机制,例如:在多用户系统中的一个全局数据区,那么就必须把它定义为一种实现上的限制。 3.4通讯接口
描述与软件产品所使用的通讯功能相关的需求,包括:
● 电子邮件; ● WEB浏览器;
● 网络通讯标准或者协议; ● 数据交互用电子表格; 必须定义相关的:
● 消息格式;