软件设计说明书
![本页使用了标题或全文手工转换](http://upload.wikimedia.org/wikipedia/commons/thumb/c/cd/Zh_conversion_icon_m.svg/35px-Zh_conversion_icon_m.svg.png)
软件设计说明书(software design description)也称为软件设计文件(software design document)或软件设计规格(Software Design Specification),是对软件设计的呈现,可以纪录设计资讯、处理各种设计上的考量,并且和设计的利益相关人传达资讯,进行沟通[1]。软件设计说明书会伴随架构图,其中也会针对较小的设计组件有具体的规格。在实务上,若要在大的团队协作,需要透过此一文件,有单一的文件版面,是稳定的参考资料,简述软件的各部分,以及其运作原理。
组成
[编辑]软件设计说明书会包括以下的内容:
- 资料驱动设计(Data-driven design)会说明软件中的结构,对象的属性以及彼此的关系也会影响其数据结构的选择。
- 软件架构会利用资讯流的特性,将其和程序的结构对应。会应用变换映射方法来显示传入资料和传出之间的明显边界。资料流图会分出三个独立的模块,控制输入、资料处理以及输出。
- 接口会说明内部和外部的程序接口,也包括用户界面设计。内部和外部的接口设计会以分析模型所得到的资讯为基础。
- 程式设计会用图形、表格或是文字来说明结构化程序的概念。
设计的目的是要让设计者可以呈现程序的细节,以便转换成代码。代码实现的蓝图是所有后续软件工程工作的基础。
IEEE 1016
[编辑]IEEE 1016-2009的名称为IEEE Standard for Information Technology—Systems Design—Software Design Descriptions[2]是IEEE标准,其中有列出软件设计说明书“需要的资讯内容以及组织”[3]。IEEE 1016没有要求软件设计说明书的介质,“可以用自动化的数据库以及设计叙述语言,不过也可以用纸本文件以及其他的叙述方式。”[4]。
2009版本是IEEE 1016-1998之后的大改版,将其从推荐性的实务变成标准。此版本也是依照IEEE 1471 Recommended Practice for Architectural Description of Software-intensive Systems调整过,将view, viewpoint, stakeholder和concern的概念从架构叙述(architecture description)延伸到支持高阶设计、细节设计以及软件构建的文件。
依照IEEE 1016的概念模型,软件设计说明书可以分为一个或是数个设计视角(design view)。每个设计视角都依照其设计观点(design viewpoint)的约定。IEEE 1016定义了以下的设计观点[5]:
- 上下文观点(Context viewpoint)
- 组成观点(Composition viewpoint)
- 逻辑观点(Logical viewpoint)
- 相依观点(Dependency viewpoint)
- 资讯观点(Information viewpoint)
- 模式使用观点(Patterns use viewpoint)
- 接口观点(Interface viewpoint)
- 结构观点(Structure viewpoint)
- 交互观点(Interaction viewpoint)
- 状态动态观点(State dynamics viewpoint)
- 算法观点(Algorithm viewpoint)
- 资源观点(Resource viewpoint)
用户不受限于上述的观点,也可以定义自己的观点[6]。
IEEE状态
[编辑]IEEE 1016-2009目前的状态是无效-保留(Inactive - Reserved)[7]。
相关条目
[编辑]参考资料
[编辑]- ^ IEEE Standard for Information Technology--Systems Design--Software Design Descriptions. IEEE STD 1016-2009. July 2009: 1–35. ISBN 978-0-7381-5925-6. doi:10.1109/ieeestd.2009.5167255.
- ^ IEEE Standard for Information Technology--Systems Design--Software Design Descriptions. IEEE. 2009-07-20. ISBN 978-0-7381-5925-6. doi:10.1109/IEEESTD.2009.5167255.
- ^ IEEE 1016, Abstract.
- ^ IEEE 1016, Abstract.
- ^ IEEE 1016, Clause 5.
- ^ IEEE 1016, sub-clause 4.5.
- ^ IEEE Standard for Information Technology--Systems Design--Software Design Descriptions. IEEE STD 1016-2009. July 2009: 1–35. ISBN 978-0-7381-5925-6. doi:10.1109/IEEESTD.2009.5167255.