首页 > 产品设计 > 软件产品设计手册.doc 14页
2023
09-16

软件产品设计手册.doc 14页

[MeiWei81-优质实用版文档] PAGE [MeiWei81-优质实用版文档] {项目名称}软件产品设计说明文档状态:[√]草案[]正式发布[]修改文件标识:公司-项目- PIM-PROPOSAL 当前版本:GY 作者:完成日期:年月日 北京通用DVR科技有限公司 2010年5月 版本历史 版本/状态 作者 参与者 开始和结束日期 备注 目录 目录 31、简介52、架构设计 52.1、目的 52.2、角色和职责 62.3、启动标准 62.4、输入 62.5、主要步骤 62.5.1、设计准备 62.5.2、确定影响系统设计的约束 62.5.3、确定设计策略 72.5.4、系统分解和设计 72.5.5,编写架构设计文档 72.5.6,架构设计评审 72.5.7,[后续活动] 82.6,输出 82.7,结束标准 82.8,测量 83。 用户界面设计 83.1,目的 83.2,角色和职责 83.3、启动标准 83.4、输入 93.5、主要步骤 93.5.1、设计准备 93.5.2、用户界面设计 93.5.3、编写用户界面设计文档 103.5.4、用户界面设计审查 103.5.5、【后续活动] 103.6,输出 113.7,结束标准 113.8,测量 11 IV。 数据库设计 114.1,目的 114.2,角色和职责 114.3,启动标准 114.4,输入 114.5,主要步骤 124.5.1,设计准备 124.5.2。 数据库设计124.5.3。 编写数据库设计文档 134.5.4。 数据库设计审查144.5.5。 [后续活动] 144.6。 输出 144.7。 结束标准 144.8。 测量 145。 模块设计 145.1。 目的 145.2。 与职责相关的角色145.3、启动标准155.4、输入155.5、主要步骤155.5.1、设计准备155.5.2、模块设计155.5.3、编写模块设计文档165.5.4、模块设计评审165.5.5、【后续活动] 165.6,输出 165.7,结束标准 165.8,测量 17 六、实施建议 17 设计简介 系统设计(SD)是指设计软件系统的架构、用户界面、数据库、模块等,在需求之间搭建桥梁和代码。 ,指导开发者实现满足用户需求的软件产品。

系统设计过程域是CMM模型的重要组成部分。 本规范描述了系统设计过程领域的四个主要学科: 架构设计 用户界面设计 数据库设计 模块设计 “目标”、“角色和职责”、“启动标准”、“输入”、“主要步骤、输出、完成标准” 、 、 Measures等都进行了定义,系统设计过程域分为两个阶段:高层设计阶段和详细设计阶段,高层设计阶段的重点是软件系统的架构设计,详细设计阶段重点关注用户界面设计、数据库设计和模块设计,如图所示 需求开发 高层设计阶段 架构设计 数据库设计 用户界面设计 模块设计 实现与测试 详细设计阶段 需求开发 高层设计阶段 架构设计 数据库设计 用户界面设计 模块设计 实现与测试 详细设计阶段 系统设计流程域图 系统设计流程 域产生的主要文档有:《架构设计报告》。 “用户界面设计报告”。 《数据库设计报告》。 《模块设计报告》。 架构设计的目的是分析和设计软件的架构。 通过系统分解,确定子系统的功能和子系统之间的关系,以及模块的功能和模块之间的关系,并产生《架构设计报告》。 角色与职责 项目经理指定多名开发人员进行架构设计(以下简称架构设计人员)。 启动标准已由架构师确定。 输入《产品需求规格说明书》等需求文档以及架构设计流程的主要步骤如图所示。

步骤3. 确定设计策略Step2. 确定约束条件Step1. 设计准备Step3. 确定设计策略Step2. 确定约束条件Step1. 设计准备Step4. 系统分解设计Step6. 设计评审Step5. 撰写文档架构设计流程设计准备项目经理或技术负责人分配系统设计任务,包括架构设计、模块设计、用户界面设计、数据库设计等。此活动可能会产生分阶段的开发计划软件产品设计,例如系统设计计划,具体取决于工作量。 架构设计师阅读需求文档并阐明设计任务。 架构设计师准备相关的设计工具(如Rational Rose)和材料。 确定影响系统设计的约束和需求约束。 架构设计者从《软件需求说明书》等需求文档中提取需求约束,例如:这个系统应该遵循的标准或者软硬件环境(包括运行环境和开发环境)的约束、接口/接口的约束等。协议、用户界面 控制软件质量的约束,例如正确性、稳健性、可靠性、效率(性能)、易用性、清晰度、安全性、可扩展性、兼容性、可移植性等。隐式约束。 有一些假设或依赖关系没有在需求文档中明确说明,但可能会对系统设计产生影响,设计人员应尽可能在此处说明。 例如,对用户的教育水平和计算机技能的一些假设或依赖,对支持系统的软硬件的假设或依赖等。

确定设计策略。 架构设计师根据产品需求和发展策略确定设计策略(Design Strategy)。 例如:扩张战略。 说明目前正在采取哪些措施来促进该系统未来功能的扩展。 重用策略。 描述该系统当前和未来的重用策略。 妥协的策略。 解释当两个目标难以同时优化时如何进行权衡,例如“时空”效率权衡、复杂性与实用性权衡。 系统分解与设计架构设计者:将系统分解为若干子系统,并确定各子系统的功能以及子系统之间的关系。 将子系统分解为若干模块,确定各个模块的功能以及模块之间的关系。 确定系统开发、测试和运行所需的软硬件环境。 编写架构设计文档。 架构设计师根据指定的模板编写《架构设计报告》。 主要内容包括:软件系统概述、影响设计的约束条件、设计策略、系统总体结构、子系统的结构和模块功能、开发、测试和运行。 所需软硬件环境架构设计评审架构设计者邀请同行专家和开发人员对架构进行正式的技术评审。 架构评审的重点不是“对错”,而是“好坏”。 主要评价要素包括: 适合性。 检查架构是否适合产品需求,能否在预定计划内实施。 系统综合能力(Capability)。 例如“时空”效率(性能、容量等)、可扩展性、可管理性(可维护性)、可重用性、安全性等,取决于产品特性。

【后续活动】架构设计完成后,进入详细设计阶段(用户界面设计、数据库设计、模块设计等)。 输出《架构设计报告》 结束标准 《架构设计报告》已完成并通过技术审查。 衡量架构设计师的工作量和文档大小,并向项目经理报告。 用户界面设计旨在设计软件的用户界面并出具《用户界面设计报告》。 用于制作用户界面的资源,例如图像、图标或特定于界面的组件。 角色和职责 项目经理指定若干名开发人员进行用户界面设计(以下简称界面设计人员)。 如果可能,请邀请用户或艺术家帮助设计用户界面。 启动标准要求文件已经完成。 建筑设计已完成。 输入需求文档、架构设计文档、用户界面设计流程的主要步骤如图所示。 迭代 步骤 2. 界面设计 步骤 4. 设计评审 步骤 3. 文档编写 步骤 1. 设计准备 2.3 细化 2.2 原型评估 2.1 原型创建 迭代步骤 2. 界面设计 步骤 4. 设计评审 步骤 3. 编写文档 步骤 1. 设计准备2.3 细化 2.2 原型评估 2.1 原型创建 架构设计流程 设计准备 界面设计者阅读需求文档和架构设计文档,明确界面设计任务。 界面设计师与用户沟通,了解他们的工作习惯和对界面的看法。 界面设计师准备相关的设计工具和材料,收集或创建图像、图标、常用组件等界面基础资源。

界面设计者确定软件的用户界面设计规则(或指南),主要包括:优秀界面的特征或一般设计原则; 软件主界面(如主窗口、主页)的设计规则; 软件子界面(如子界面、窗口、子页面的设计规则); 使用标准控制的规则; 美学设计规则。 用户界面设计 用户界面设计一般要经历“原型创建->原型评估->细化”等步骤,并且通常是迭代进行的。 [Step2.1]原型创建界面设计者创建界面原型:首先徒手绘制,或者使用Visio等工具绘制界面视图; 然后使用软件开发工具实现可运行的原型。 [Step2.2]原型评估界面设计者邀请用户和同行对界面原型进行评估,收集意见,并及时改进。 [Step2.3]精细化界面设计者对界面原型进行细化,如美工处理、添加细节等。补充说明:开发者现阶段不需要关心界面原型的代码质量,因为界面原型可能是不断修改甚至废弃。 编写用户界面设计文档 用户界面最终确定后,界面设计者根据指定的模板编写“用户界面设计报告”。 主要内容包括:应遵循的界面设计规范; 界面关系图和工作流程图; 视图、功能说明、操作方法; 子界面视图、功能说明、操作方法; 美学设计描述。 用户界面设计评审 界面设计者邀请用户和同行对最终确定的界面进行正式的技术评审,并尽力使界面更美观、更易于使用。

用户界面的主要审查要素包括: 适用性 简洁易用 一致性和美观 动态反馈功能 屏蔽和错误处理 用户控制 国际化(兼容性和可移植性) 适应性(针对各种用户) [后续活动] 系统设计中 以后工作完成后,开发人员编写界面代码,并通过各种渠道与用户一起测试界面,不断改进用户界面。 (请参阅测试文档)界面设计者总结经验教训,不断完善适用于其组织的《用户界面设计指南》。 输出《用户界面设计报告》结束标准《用户界面设计报告》已完成,界面原型已通过审核。 衡量界面设计师的工作量和文档大小,并向项目经理报告。 数据库设计的目的是对软件的数据库进行设计,并出具《数据库设计报告》。 角色和职责 项目经理指定若干名开发人员进行数据库设计(以下简称数据库设计人员)。 启动标准要求文件已经完成。 建筑设计已完成。 输入需求文档、架构设计文档、数据库设计流程的主要步骤如图所示。 迭代 步骤 2. 数据库设计 步骤 3. 编写文档 2.4 优化 2.3 安全设计 2.2 物理设计 2.1 逻辑设计 步骤 1. 设计准备 步骤 4. 设计评审迭代 步骤 2. 数据库设计 步骤 3. 编写文档 2.4 优化 2.3 安全设计 2.2 物理设计 2.1 逻辑设计 Step1. 设计准备Step4. 设计评审 数据库设计流程 设计准备 数据库设计人员阅读需求文档和架构设计文档,明确数据库设计任务。

数据库设计者准备相关的设计工具和材料。 数据库设计者确定本软件的数据库设计规则(或指南),主要包括: 数据库命名规则 逻辑设计规则(或指南) 物理设计规则(或指南) 安全设计规则(或指南) 优化规则(或指南) 数据库管理和维护规则(或指南) 数据库设计 数据库设计一般要经历“逻辑设计->物理设计->安全设计->优化”等步骤,并且通常是迭代进行的。 逻辑设计数据库设计者根据需求文档创建与数据库相关的实体关系图(ERD)部分。 如果采用面向对象的方法(OOAD),这里的实体就相当于一个类。 物理设计设计表结构。 一般来说,实体对应于表,实体的属性对应于表的列,实体之间的关系成为表的约束。 逻辑设计中的大部分实体都可以转化为物理设计中的表,但它们并不一定是一一对应的。 数据库表参考格式如表11-1所示。 规范化表结构(第三范式)。 表名 功能描述 列名 数据类型(精度范围) 空/非空约束 补充说明 数据库表参考格式 安全设计 提高软件系统的安全性应从“管理”和“设计”两方面入手。 这里只考虑数据库的安全设计。 用户只能使用自己的账号登录应用软件,通过应用软件访问数据库吉祥物设计,而没有其他方式对数据库进行操作。 对用户帐户的密码进行加密,以确保密码的明文不会出现在任何地方。

确定每个角色对数据库表的操作权限,如创建、检索、更新、删除等。每个角色的权限刚好够完成任务,不多也不少。 当用户在申请时被分配角色时,每个用户的权限等于其角色的权限之和。 优化分析,优化数据库的“时空”效率,尽可能“提高处理速度”和“减少数据占用的空间”。 分析“时空”效率瓶颈,找出优化对象(目标),确定优先级。 当优化对象(目标)之间发生冲突时,就会做出妥协。 给出了优化的具体措施,如优化数据库环境参数、反规范化表等。编写数据库设计文档。 数据库设计人员按照指定的模板编写《数据库设计报告》。 主要内容包括: 数据库环境描述。 数据库命名规则。 逻辑设计。 物理设计。 安全设计。 优化。 数据库管理和维护说明。 数据库设计审查。 数据库设计者邀请同行。 我们对数据库进行正式的技术审查。 数据库的主要审核要素包括:正确性、完整性、一致性、安全性、“时空”效率 [后续活动] 系统设计工作完成后,开发人员将编写与数据库相关的代码并与用户通过各种方式对数据库进行测试,不断完善数据库。 (测试请参考文档) 数据库设计者总结经验教训,不断完善适用于其组织的《数据库设计指南》。 软件交付给用户后软件产品设计,由用户管理和维护数据库。

输出《数据库设计报告》结束标准《数据库设计报告》已完成并通过技术审查。 衡量数据库设计人员的工作量和文档的大小,并向项目经理报告。 模块设计的目的是对软件各模块的主要接口和属性、数据结构和算法进行设计,并出具《模块设计报告》。 角色和职责 项目经理指定数名开发人员进行模块的设计(以下简称模块设计人员),他们将在实施阶段编写这些模块的代码。 启动标准要求文件已经完成。 建筑设计已完成。 输入需求文档、架构设计文档、模块设计流程的主要步骤如图所示。 第2步。 模块设计 2.1 接口和属性设计 步骤 4. 设计评审 步骤 3. 编写文档 步骤 1. 设计准备迭代 2.2 数据结构 步骤 2. 模块设计 2.1 接口和属性设计 步骤 4. 设计评审 步骤 3. 编写文档 步骤 1. 设计准备迭代 2.2 数据结构 准备模块设计流程,与算法设计模块设计者一起阅读需求文档和架构设计文档,明确模块设计任务。 模块设计者准备相关的设计工具和材料。 模块设计者确定软件的编程规范,并保证模块设计文档的风格与代码的风格一致。 模块设计 模块设计一般要经历“接口与属性设计->数据结构与算法设计”等步骤,通常需要反复迭代。

建议:随着现代软件开发工具越来越先进,模块的详细设计和编程可以很好地集成并且非常高效。 有些工具甚至具有自动代码生成功能。 因此,在系统设计阶段,模块设计的详细程度取决于问题的复杂程度和所使用的开发工具。 一般来说,只要确定了各个模块的主界面、数据结构和算法卡通形象,就可以清晰地指导模块编程。 总而言之,您不必花费太多时间来设计模块的细节。 界面和属性设计 模块设计者设计各模块的主要界面和属性。 如果采用面向对象的方法(OOAD),就相当于设计类的函数和成员变量。 数据结构和算法设计 模块设计者为每个模块(如果存在)设计数据结构和算法。 编写模块设计文档。 模块设计者根据指定的模板撰写《模块设计报告》。 主要内容包括:模块概要、各模块的主要接口和属性、各模块的数据结构和算法(如果有)、模块设计评审、模块设计人员邀请同行进行正式的技术评审或非正式的技术评审。模块设计文档的审查(由技术负责人决定采用哪种审查方式)。 模块的主要评审要素包括:信息隐藏(独立性)强内聚、低耦合数据结构和算法效率【后续活动】模块的代码实现可以与模块设计同时进行,也可以在模块设计之后进行设计完成。 输出《模块设计报告》结束标准《模块设计报告》已完成并通过技术审查。 测量模块的设计者统计工作量和文档的大小,并将其报告给项目经理。 建议首先对系统设计人员实施“专项”培训,使他们掌握必要的系统设计技能。由于国内绝大多数大学不开设“用户界面设计课程”,这导致大多数软件开发人员

最后编辑:
作者:nuanquewen
吉祥物设计/卡通ip设计/卡通人物设计/卡通形象设计/表情包设计