软件要求规范 (SRS):什么是"系统接口"?

  • 本文关键字:系统 接口 SRS 软件 srs
  • 更新时间 :
  • 英文 :


在SRS的维基百科链接中,在"产品透视"部分,提到了术语"系统接口"。我不清楚这究竟意味着什么。我已经查看了其他一些在线SRS示例,但无法从这些示例中拼凑出明确的定义。有人能详细说明"系统接口"指的是什么吗?

IEEE 830-1998标准将"硬件接口"定义为

软件之间每个接口的逻辑特征产品和系统硬件组件

同样,它将"用户界面"定义为

软件之间每个接口的逻辑特征产品及其用户。

因此,一点推理告诉我们,"系统接口"应该被定义为

软件之间每个接口的逻辑特征产品和更大的系统’。

这意味着,"系统接口"不是更大系统与外部世界的接口,而是软件与更大系统内其他一切之间的内部接口,包括用户接口、硬件接口和软件接口。

具有讽刺意味的是,830-1998是以一种不一致的方式编写的,因此推荐的章节层次结构是:

2. Overall Description
   2.1. Product perspective
     2.1.1 System Interfaces 
     2.1.2. User Interfaces
     2.1.3. Hardware Interfaces
     2.1.4. Software Interfaces 
...

其中2.1.1实际上应该是2.1.2-2.1.4的母节。

因此,他们对"系统接口"部分给出了一些模糊的定义:

这应该列出每个系统接口并确定功能实现系统需求和接口的软件描述以匹配系统。

不管是谁写的,请试着在12年级的英语作文课上获得B!

无论如何,作为一个非母语人士,我对IEEE版本的"系统接口"的理解是:

  1. 软件可以是为通用而制造的独立产品(例如商业软件、视频游戏等),也可以是包含软件和硬件的更大系统的一部分。例如,汽车是一个系统,嵌入式计算机软件只是系统的一部分。另一个例子是医院CT扫描仪中的软件也是系统(机器)的一部分。

  2. 假设系统需求是在软件需求之前定义的(即自上而下的方法),请考虑

a) 您的软件必须具备哪些功能才能满足系统要求?(不能忘记大局)

例如,如果自动驾驶汽车系统的要求是"汽车应在0.1秒内检测到前方车辆的突然减速",那么您可能需要为您的软件系统编写一个非功能性要求,例如"在软件接收到来自前方传感器的"突然减速"信号后,它将处理该信号并做出决定。如果是已确认的真实场景(而非误报),则软件应向中断系统发送"命中-中断"信号。决策和信号发送过程应不超过0.05秒。

b) 在更大的系统中,你的软件和其他一切之间的接口是什么

例如,您的汽车计算机软件应具有以下与前传感器的接口:

public int processFrontSensorSignal(Signal signal){
   if (signal.getType() == 1){
      SuddenSlowDownSignalProcessor.process(signal);
   } else if (signal.getType() == 2){
      ...
   }
   else
    ....
}

此类接口应明确定义。

如果您的软件不是更大系统的一部分,或者它被设计为在通用系统(如MS Windows应用程序)中运行的通用软件,那么几乎不需要指定"系统接口"部分。

系统接口包括以下内容:1.用户界面,例如屏幕格式、按键2.硬件接口,例如配置特性、支持的设备3.软件接口,例如操作系统4.通信接口-LAN

此外,您可能希望包含与所有这些接口相关的系统的高级视图。

如果你需要更多细节,请告诉我。

上下文中的系统接口意味着系统需要执行其目的的所有接口。

如果您的服务器使用web服务响应/队列消息或数据库轮询,它们可能被视为系统的3个接口。这些接口的实现将是SOAP impl、ACTIVEMQ代理和数据库。

最新更新