<一> 需求分析(requirement analysis)
需求分析是当前软件工程中的关键问题。需求分析阶段的任务是:在可行性分析的基础上,进一步了解、确定用户需求,准确地回答“系统必须做什么”的问题。获得需求规格说明书。还涉及到软件系统的目标、软件系统提供的服务、软件系统的约束和软件系统运行的环境。它还涉及到这些因素和系统的精确规格说明,以及系统进化之间的关系。
需求分析的基本任务包括:
- 抽取需求: 分析现行系统存在需要解决的问题。获取足够多的问题领域的知识,需求抽取的方法一般有问卷法、面谈法、数据采集法、用例法、情景实例法以及基于目标的方法等;还有知识工程方法,例如,场记分析法、卡片分类法、分类表格技术和基于模型的知识获取等。
- 模拟和分析需求:需求分析和模拟又包含三个层次的工作。首先是需求建模。需求模型的表现形式有自然语言、半形式化(如图、表、结构化英语等)和形式化表示等三种。需求概念模型的要求包括实现的独立性;不模拟数据的表示和内部组织等;需求模拟技术又分为企业模拟、功能需求模拟和非功能需求模拟等。
- 传递需求:传递需求的主要任务是书写软件需求规格说明。
- 认可需求:就是对需求规格说明达成一致,其主要任务是冲突求解,包括定义冲突和冲突求解两方面。常用的冲突求解方法有:协商、竞争、仲裁、强制、教育等,其中有些只能用人的因素去控制。
- 进化需求:客户的需要总是不断(连续)地增长,但是一般的软件开发又总是落后于客户需求的增长,如何管理需求的进化(变化)就成为软件进化的首要问题。对于传统的变化管理过程来说,其基本成分包括软件配置、软件基线和变化审查小组。当前的发展是软件家族法,即产品线方法。多视点方法也是管理需求变化的一种新方法,它可以用于管理不一致性,并进行关于变化的推理。
<二> 概要设计
概要设计是在需求分析的基础上通过抽象和分解将系统分解成模块,确定系统功能是实现。
概要设计基本任务:
- 建立软件系统结构:划分模块、定义模块功能、模块间的调用关系、定义模块的接口、评价模块的质量
- 数据结构和数据库的设计:数据结构设计、概念设计、逻辑设计、物理设计
- 编写概要设计文档:概要设计说明书、用户手册、数据库设计说明书、修订测试计划
<三> 详细设计
1 引言 1.1编写目的 编写这份详细设计说明书的目的(指出预期的读者)。 1.2背景 待开发软件系统的相关。 1.3名称解释 列出本文档中用到的有必要解释的术语。此术语可能在其他文档中用到。 1.4参考资料 列出编写本报告时参考的文件(如经核准的计划任务书或合同、上级机关的批文等)、资料、技术标准,以及他们的作者、标题、编号、发布日期和出版单位。2程序系统结构 3类设计 3.1命名空间(命名空间下可再加子命名空间,以此类推,相应序号加层) 3.1.1类名称 3.1.1.1类功能说明: 3.1.1.2父类 3.1.1.3成员变量 3.1.1.4成员函数列表 3.1.1.5成员函数设计 3.1.1.5.1函数名: 3.1.1.5.1.1功能描述 3.1.1.5.1.2输入 3.1.1.5.1.3返回值 3.1.1.5.1.4流程图 3.1.1.5.1.5算法说明 3.1.1.5.2函数名 … 3.1.2类名称 …. 3.2命名空间 |