《软件产品及组件技术解决方案过程流程全套.docx》由会员分享,可在线阅读,更多相关《软件产品及组件技术解决方案过程流程全套.docx(13页珍藏版)》请在优知文库上搜索。
1、软件产品及组件技术解决方案过程流程1.引言1.1意图和价值意图:设计和构建符合客户要求的解决方案。价值:提供符合客户要求和减少返工的成本效益高的设计和解决方案。1.2适用范围本过程文档是系统设计及开发人员,根据需求实现产品的依据,适用于公司内所有软件产品、产品组件。1.3名词术语2EPG:EngineerProcessGroup(工程过程组)2PLAN:ProjectPlan(项目计划)2TDP:TechnicalDataPackage(技术数据包)技术数据包包含需求规格文档、技术方案文档,概要设计、详细设计、数据库设计等设计文档,还包含测试用例、用户手册等文档,另外产品的开发环境、测试环境、
2、使用环境等也是技术数据包的内容。2.过程定义2.1角色和职责角色职责描述项目1.依据项目计划安排设计、开发、代码走查及支持文经理档编写的任务,并监督执行。2.负责此过程中产生的所有文档的评审。设计1.编写技术解决方案,并设定评选准则;人员2.进行概要设计、数据库设计,并参与详细设计。开发1.参与评审概要设计及数据库设计;人员2.编写详细设计;3.进行代码实现、代码走查以及软件产品支持文档的编写;2.2入口准则2产品需求规格说明书、项目计划等文档已经完成,并评审通过形成基线。2产品需求规格说明书。2.4过程活动2.4.1建立技术解决方案设计人员确定技术解决方案的选择标准,一般的选择标准如下:1、
3、当客户有要求的解决方案,遵循客户要求。2、组织有成熟的解决方案,可以复用现有方案。3、当投标时已指定的解决方案,项目可使用投标中的方案。4、其他情况用决策分析过程来选择。设计人员依据以上选择标准,制订技术解决方案。对技术解决方案进行评审:项目经理就要组织同行专家人员对技术解决方案进行正式评审;评审不通过,设计人员要重新修改,评审流程参考正式评审过程。2.4.2系统设计系统设计的内容包括:概要设计、数据库设计等。系统设计人员根据技术解决方案得出的决策结果,依照产品需求规格说明书进行系统概要设计。设计人员按照从整体到局部、自顶向下的方法进行系统功能分解,将系统分解为若干个子系统,确定子系统间的接口
4、关系;将子系统分解为若干个模块,并确定模块间的关系。确定系统开发、测试、运行的软硬件环境等。购买复用分析:2确定哪些产品部件应当采购、外包开发或者自主研发,说明理由。2分析相应的风险。2列出多个可选方案。(即使没有可选方案也应有用和不用两个方案)撰写概要设计文档:2概要设计人员根据指定的模板撰写概要设计说明书,主要内容包括:U软件系统概述U影响设计的约束因素口系统的软件架构u子系统的结构与模块功能u系统接口、数据库设计规划u运行所需的软硬件环境u购买复用分析结果对概要设计进行评审:概要设计结束之后,产生概要设计说明书,项目经理就要组织同行专家人员对设计成果进行正式评审;评审不通过,系统设计人员
5、要重新修改,评审流程参考正式评审过程。2.4.2.2数据库设计数据库设计的内容包括:2数据库设计准备:系统设计人员阅读产品需求规格说明书、和概要设计说明书,明确数据库设计任务,准备PoWerDeSigner设计工具。2逻辑设计:系统设计人员根据需求文档,创建与数据库相关的那部分实体关系图。2物理设计:系统设计人员进行表结构设计。一般地,实体对应于表,实体的属性对应于表的列,实体之间的关系成为表的约束。逻辑设计中的实体大部分可以转换成物理设计中的表,但是它们并不一定是一一对应的。系统设计人员要对表结构进行规范化处理。2安全性设计;系统设计人员要提高系统的安全性,应当从管理和设计两方面着手。这里仅
6、考虑数据库的安全性设计。用户只能用账号登录到应用软件,通过应用软件访问数据,而没有其他途径可以操作数据库。对用户账号的密码进行加密处理,确保在任何地方都不会出现密码的明文。确定每个角色对数据库表的操作权限,如创建、检索、更新、删除等。每个角色拥有刚好能够完成任务的权限,不多也不少。在应用时再为用户分配角色,则每个用户的权限等于他所兼角色的权限之和。2设计优化:分析并优化数据库的效率,尽可能地提高处理速度并且降低数据库占用的空间。分析效率的瓶颈,找出优化对象(目标),并确定优先级。当优化对象(目标)之间存在对抗时,给出折衷方案,给出优化的具体措施,例如优化数据库环境参数,对表格进行反规范化处理等
7、。2撰写数据库设计文档:系统设计人员利用P。WerDeSigner工具撰写数据库设计说明书oU对数据库设计进行评审:数据库设计结束之后,产生的数据库设计说明书,项目经理就要组织同行专家等所有相关人员对设计成果进行评审;评审不通过,系统设计人员要重新修改。2.4.3详细设计数据库设计评审通过后,系统设计人员进行详细设计,详细设计主要是指对模块的功能进行设计。详细设计的步骤包括:u模块设计:2模块设计准备:系统设计人员阅读需求文档和概要设计说明书文档,明确模块设计任务。准备相关的设计工具和资料。确定本软件的编程规范,确保模块设计文档的风格与代码的风格保持一致。2模块设计:模块设计一般要经历接口与属
8、性设计T数据结构与算法设计等步骤,通常需要迭代进行。面向对象软件开发中,模块是与包对应的,模块设计的工作是对模块中的类方法、类属性和类关系进行设计。模块设计要视问题复杂性以及所采用的开发工具而定,要确定每个模块的主要接口、数据结构与算法或者类,要能够清楚地指导模块编程。2撰写模块设计文档:系统设计人员根据指定的模板撰写详细设计说明书。U对详细设计文档进行评审:详细设计结束之后,产生的详细设计说明书,项目经理就要组织同行专家及开发人员等所有相关人员对关键点的设计成果进行评审;评审不通过,系统设计人员要重新修改。2.4.4编码实现2开发人员依据详细设计说明书的内容进行代码编写工作。2开发人员要完全
9、按照编码规范,套用界面原型(系统开发原型Demo)进行模块功能编码。2数据库开发人员根据数据库设计说明书要求,对数据库对象(过程、函数、触发器等)进行编码实现。在编写完成后,开发人员必须对自己的代码进行必要的走查和自测,保证提交代码的质量。2.4.5代码走查2代码走查人员根据项目进度中的编码实现任务计划内容进行代码走查工作;2代码走查人员根据详细设计说明书、数据库设计规范、编码规范要求进行数据库脚本、模块代码的走查工作。检查的内容包括:I数据库对象代码(如:函数、存储过程、触发器等)是否满足数据库实现的功能要求?I模块代码(如:类、界面代码等)是否满足详细设计说明书中要求实现的功能要求?I数据
10、库对象或模块代码是否符合规范?如:命名、注释、循环语句、判断语句、格式(换行、格式)等;语句的执行性能是否优化、是否有对异常情况的处理机制(健壮性)、注释是否清晰及与代码内容匹配等;2代码走查是在技术人员之间交叉进行,走查的形式不限,可以是正式的(类似正式评审的方式),也可以是非正式的(类似个人评审的方式),由项目经理根据项目的实际情况自由选择;代码走查结果记录在代码走查检查单中,并由专人负责跟踪监督。2.4.6单元测试对产品核心组件有条件地进行单元测试。2.4.7编写支持文档编码实现及代码走查结束后,根据项目计划分配的人员进行软件支持文档的编写,最终生成用户操作手册、运行维护手册。支持文档编
11、写完毕后,须经正式或非正式的技术评审。支持文档的内容可以和用户进行协商确定,支持文档应编写的内容有:2产品的安装部署2用户的功能操作2产品的维护方法2联机帮助2.5输出2技术解决方案2概要设计说明书2数据库设计说明书;2详细设计说明书;2模块代码/数据库代码;2用户操作手册;2运行维护手册。2.6出口准则所有产出文档已评审通过,代码走查完毕,所有缺陷均已修复。2.7过程度量执行人 度量时机I频率存储位置N?度量点M-I概要设计的工作量项目经理项目例会PP计划中里程碑的时间点项目周报里程碑报告M-2数据库设计的工作量项目经理项目例会PP计划中里程碑的时间点项目周报里程碑报告M-3详细设计的工作量项目经理项目例会PP计划中里程碑的时间点项目周报里程碑报告M-4编码实现工作量项目经理项目例会PP计划中里程碑的时间点项目周报里程碑报告M-5支持文档编写工作量项目经理项目例会PP计划中里程碑的时间点项目周报里程碑报告2.8裁剪说明裁剪对象类型(过程活动或工作产品)裁减要素(增力口、删除、修改)裁减条件活动详细设计删除除了系统管理部分外,如果功能点少于10个。3.相关指南2JAVA编码规范界面设计规范数据库设计规范