問49
頻出度★★★
システム開発プロセスには, システム要件定義, ソフトウェア要件定義, ソフトウェア方式設計, ソフトウェア詳細設計などがある。システム要件定義で実施する作業として, 適切なものはどれか。
这道题的解析和你的作答记录。
システム開発プロセスには, システム要件定義, ソフトウェア要件定義, ソフトウェア方式設計, ソフトウェア詳細設計などがある。システム要件定義で実施する作業として, 適切なものはどれか。
正解 正确答案是ア。系统需求定义位于开发过程的最上游,是从用户和业务的角度确定「该系统应当实现什么」的工序,把包含硬件、软件和人工作业在内的整个系统的需求汇总起来。这里处理的内容,除了业务上必需的功能(功能性需求)之外,还有性能、可用性、安全性、运行条件等非功能性需求。「确定响应时间的目标值」,例如「检索结果在3秒以内显示」这样,是系统必须满足的性能方面的质量目标,可以独立于实现手段(采用什么样的程序结构、使用什么样的数据库)来确定。因此它属于应当作为非功能性需求在系统需求定义中确定的作业,ア是恰当的。
确定数据库的记录项目和主键,是为了实现需求而确定内部结构的作业,属于软件架构设计以后的数据库设计。在系统需求定义阶段,只确定到「需要处理什么样的信息」为止,不会深入到记录构成、主键这类偏向实现的细节。
确定处理数据的算法,说的是如何组织程序内部的处理步骤,即实现方法,属于软件详细设计的作业。需求定义确定的是「实现什么(What)」,而算法属于「如何实现(How)」,不在需求定义的处理范围内。
确定程序之间交换的数据的格式,是把软件划分为多个程序(组件)并约定它们之间接口的作业,因此属于软件架构设计。而且程序划分本身是软件需求定义之后的事情,在系统需求定义阶段,程序构成本身还不存在。