工程管理文档:概要设计说明书

2019-11-05

  软件工程管理中,有几个比较重要的文档,软件开发者这边会接触到的,有:需求输入表、需求规格说明书,概要设计,详细设计,自测报告。这里我想要谈一谈概要设计文档,也是对于开发者而言,最重要的文档。其他文档及相关过程,另写文章总结。

一、谁负责?
  谁负责这个问题一定要明确?我觉得这个问题很重要,非常重要。有些时候,项目的技术负责人会把概要设计交给属下每一个人负责一部分,然后收集并综合起来。我认为,这是不对的。一般来说,一个技术团队,技术leader 就是那个技术最厉害的人。概要设计文档应该由技术leader完全负责。如果是web或者mobileApp项目,可能开发团队不超过二十人,分成两三个、三四个小组,而且,大家的技术技能还比较类似。如果是算法软硬件结合项目,或CAD类型项目,可能涉及到三四十人,技能领域可能差别较大,一个小组的内容,其他的小组可能完全不会,或者花两年的时间学习也能够会。这就比较麻烦了。如我们之前的项目:虚拟制衣CAD项目:CAD组、渲染算法组、物理引擎组。这样子的项目,每个方向的难度较大,就需要小组长来辅助技术负责人做好概要设计。技术负责人不能把这些工作下放给普通开发者。我一向秉承拿最大份的酬劳,输出最大的价值,担最大份责任的原则。
   为什么一定要技术负责人来做概要设计呢?找组员A过来,他是不是也能干了这个活儿呢?比如说,他手上拿着Scrum或者UML的教材,是不是也能照猫画虎呢?并不能,软件工程,与其他类型项目的工程也有类似之处,技术积累的年限是保证经验的简单的标准。

项目名称 软件概要设计说明书 版本:V1.0 文 档 编 号 保 密 等 级 作 者 最后修改日期 审 核 人 最后审批日期 批 准 人 最后批准日期 修订记录 日期 版本 修订说明 修订人 目 录 1 引言 1 1.1 编写目的 1 1.1.1 作用 1 1.1.2 预期读者 1 1.2 编写背景 1 1.2.1 系统名称及版本号 1 1.2.2 任务提出者 1 1.2.3 任务承接者及实施者 1 1.2.4 使用者 1 1.2.5 与其它系统的关系 1 1.3 文档结构 1 1.4 电子文档编写工具 1 1.5 定义说明与符号规定 2 1.6 参考资料 2 2 系统概述 2 2.1 系统目标 2 2.2 设计原则 3 2.3 运行环境 3 2.3.1 硬件平台 3 2.3.2 软件平台 3 2.3.3 网络体系结构 3 2.4 应用软件整体结构概述 3 2.5 关键技术 4 3 数据库设计 4 4 代码设计 4 5 功能概述 4 5.1 功能模块命名原则 4 5.2 功能层次图 4 5.3 功能简介 4 5.4 外部接口 4 6 用户界面设计 4 6.1 基本原则 4 6.2 设计概述 4 7 出错处理 5 7.1 出错信息设计 5 7.2 异常情况处理 5 引言 编写目的 作用 【说明】《软件概要设计说明书》是在《软件需求规格说明书》的基础上,通过我方与用户方反复沟通形成的。它必须充分反映《软件需求规格说明书》中的用户需求,如有改动必须征得用户的认可。它将作为项目验收时重要的的标准和依据。 从另一方面讲,它又是开发人员在下一阶段进行系统详细设计的纲领性文件,也是考核系统总体质量的重要技术文档。 预期读者 【说明】本文档的阅读对象是软件开发人员、业务规范设计人员、软件测试人员、系统安装人员及用户代表。 编写背景 系统名称及版本号 【说明】形如“北京市地方税务局管理信息系统V3.0”。其中,版本号的格式为“XX.XX”,X为阿拉伯数字,左“0”可省略。 任务提出者 【说明】指《工作说明书》中规定的我方领导机构或项目负责人。 任务承接者及实施者 【说明】指承担概要设计的负责人及工作人员名单。 使用者 【说明】适应对象和范围。主要指预期读者,也供有关领导审阅。 与其它系统的关系 【说明】在用户现有的及预期的整个应用系统中,给本系统准确定位。用示意图及相应的文字予以说明。 文档结构 【说明】章节划分原则、内容的取舍、重点的确定等。 电子文档编写工具 【说明】工具名、版本号、操作系统平台。使用多种工具时,应分别说明。形如: Microsoft Word 97 for Windows 95 Power-Designor 6.0 for Windows 95 PhotoShop 4.0 for Windows 95 Visio或Power Point 定义说明与符号规定 【说明】包括对专用术语及缩略语的解释、所用到的图(E-R图/功能层次图)中图符的表示与解释、屏幕界面中图标与按钮的表示与含义等。如在E-R图中,表示两个实体之间的关系时,我们定义了以下图符(部分举例): 终结符 基数(自左至右) 1 多 终结符 基数 存在性 说明(自左至右) 1 强制 必须存在且只能存在1个 多 强制 必须存在1个或多个 1 任选 可能存在1个,或没有 多 任选 可能存在1个或多个,或没有 参考资料 【说明】格式:作者,[版本号,]资料来源,日期 [,起止页号]。其中,《质量保证计划》与《需求规格说明书》是必选的参考资料。 系统概述 系统目标 【说明】开发意图、应用目标(总目标、分期目标)、作用范围、预期效益等。 设计原则 【说明】设计原则应包括: 质量管理应贯穿于整个设计之全过程。 对质量保证的承诺应落实到全体人员。 实际执行的过程中,必须符合项目自身的特点,体现个性差异,切实做到有的放矢。 运行环境 硬件平台 【说明】指出本系统对硬件设备的需求、我们选型的原则和依据、推荐的型号与配置、性能综述、技术优势、特殊约定等。 软件平台 【说明】使用操作系统的名称、生产厂家、版本号等。 使用数据库的名称、生产厂家、版本号等。如使用了多种数据库,则要说明如何 实现互连。 其它支撑软件:指出开发与运行时需要的工具软件的情况,如4GL等。 对于选用的各类软件,均应着重说清其技术特点、与国内外同类产品的比较,明 确阐述我方选择的理由。 网络体系结构 【说明】写明网络设计原则、技术要求、产品选型、拓扑结构、基本部件与配件、传输介质、接口情况、通信协议、约束条件、结构化综合布线方案等。 画出网络结构图。图中应标出各类服务器与客户机、网管机、路由器、网关等的数量与分布;应反映出局域网、广域网及其互连的情况;如使用国内的公用数据网或Internet,也须具体标出。 用文字说明各个服务器/客户机的作用、配置与具体位置。例如:Oracle数据库服务 器1台,位于局信息中心,用于支撑征管业务信息处理、领导决策辅助支持、各征管业务科室的信息采集、查询及统计工作。它安装在IBM RS6000小型机上,操作系统是AIX 3.2。 说明拟采取的网络保护技术,如防火墙等。 应用软件整体结构概述 【说明】说明本系统的各层模块、公用模块的划分原则。 如果系统复杂而开发者又有比较多的技术积累,应说明其分层构造(如组件层、构件层与应用子系统层)。 对于大的系统,应画出体系结构图并予以说明。 关键技术 【说明】本系统采用了哪些关键技术,如算法、中间件、构件等。 指出使用了那些主要工具。 解释作出上述选择的理由。 说明这些关键技术在整体结构中的位置及内外接口。 数据库设计 【说明】单独成册,见《数据库设计说明书模板》 代码设计 【说明】 给出系统设计中的代码的设计内容,代码设计包括系统代码(硬码)、系统代码(软码)、业务代码以及标准化代码等。对于硬码的引用需要在数据库设计的PDM中注明,对于其他代码的引用需要在数据字典或数据库设计中注明。 功能概述 功能模块命名原则 【说明】指出本系统的各层模块/公用模块的划分原则、命名原则、编号原则。并且需要指出在概要设计中的功能模块编号与《软件需求规格说明书》中的业务需求编号及性能需求编号之间的对应关系。 功能层次图 【说明】指明在输入信息转变为输出信息的过程中,为了满足用户的业务需求,应用软件必须完成的基本动作。采用自然语言叙述+树状功能图描绘的方式。由此确定系统最终的菜单结构。 功能简介 【说明】用一览表或框图的形式扼要说明每个模块的编号、名称和基本功能。用矩阵形式标明《软件需求规格说明书》中列出的各项功能需求与模块之间的对应关系。 外部接口 用户界面设计 基本原则 【说明】指出基本风格、屏幕总体布局和输入/输出的常规手段。 设计概述 【说明】本节的内容也可以归入附录“设计与编程规范、惯例及约定”中,而不在这里 叙述。 一般地讲,界面设计应包括以下几项: □屏幕环境设置 □字型与字体 □颜色 □提示 □菜单(Menu) □按钮(Command Button) □图标 □列表框 □常用键 □Data Windows生成标准 □窗口定义 □日期类型 (特别要注意解决“千年虫”问题) □界面语言 □其它 出错处理 出错信息设计 【说明】扑捉出错信息、分析定位、提示信息。 异常情况处理 【说明】错误处理方案与帮助手段。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值