软件开发过程技术指导文件_第1页
软件开发过程技术指导文件_第2页
软件开发过程技术指导文件_第3页
软件开发过程技术指导文件_第4页
软件开发过程技术指导文件_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、软件开发过程技术指导(Technical Solution)目录 ( TABLE OF CONTENTS)1. 介绍 (INTRODUCTION.)31.1. 目的 (Purpose) 31.2. 参考资料(References) 31.3. 过程总体概述(Process Overview) 31.4. 相关过程(Relational Process) 42. 过程活动描述(PROCESS ACTIVITY DESCRIPTION) 42.1. 确定技术路线(Establish Technical Way) 42.1.1. 目的 (Purpose) 42.1.2. 角色和职责(Roles an

2、d Responsibility) 42.1.3. 进入条件(Entry Criteria) 52.1.4. 输入 (Inputs) 52.1.5. 活动流程图(Activity Flow Diagram) 52.1.6. 任务描述(Task Description) 52.1.7. 输出(Outputs) 52.1.8. 退出条件(ExitCriteria) 52.2. 架构设计(Architecture Design) 52.2.1. 目的(Purpose) 52.2.2. 角色和职责(Roles and Responsibility) 62.2.3. 进入条件(Entry Criteri

3、a) 62.2.4. 输入 (Inputs) 62.2.5. 活动流程图(Activity Flow Diagram) 62.2.6. 任务描述(Task Description) 62.2.7. 输出(Outputs) 82.2.8. 退出条件(ExitCriteria) 82.3. 模块设计(Module Design) 82.3.1. 目的(Purpose) 82.3.2. 角色和职责(Roles and Responsibility) 82.3.3. 进入条件(Entry Criteria) 82.3.4. 输入 (Inputs) 92.3.5. 活动流程图(Activity Flow

4、 Diagram) 92.3.6. 任务描述(Task Description) 92.3.7. 输出(Outputs) 102.3.8. 退出条件(ExitCriteria) 102.4. 数据库设计(Database Design) 102.4.1. 目的(Purpose) 102.4.2. 角色和职责(Roles and Responsibility) 102.4.3. 进入条件(Entry Criteria) 102.4.4. 输入 (Inputs) 112.4.5. 活动流程图(Activity Flow Diagram) 112.4.6. 任务描述(Task Description

5、) 112.4.7. 输出(Outputs) 132.4.8. 退出条件(ExitCriteria) 132.5. 编码与单元测试(Coding and Unit Testing) 132.5.1. 目的(Purpose) 132.5.2. 角色和职责(Roles and Responsibility) 132.5.3. 进入条件(Entry Criteria) 142.5.4. 输入 (Inputs) 142.5.5. 建立开发环境 142.5.6. 活动流程图(Activity Flow Diagram) 142.5.7. 任务描述(Task Description) 152.5.8. 输

6、出(Outputs) 162.5.9. 退出条件(Exit Criteria) 163. 工作产品一览(WORK PRODUCTS LIST) 164. 验证(VERIFICATION) 175. 培训(TRAINING) 176. 裁剪基准和指南(TAILORING GUIDELINES AND CRITERIA)177. 附录(APPENDIX) 178. 相关支持文档 18181 .介绍(Introduction)1.1. 目的(Purpose)技术解决(Technical Solution )的目的是依据需求开发成果,完成系统分 析设计、编码实现、单元测试工作,最终构建出能够交付测试并

7、满足用户需求的 软件产品。1.2. 参考资料(References)CMMI V1.31.3. 过程总体概述(Process Overview)确定技术路线主要是确定未来系统将要采用的主要技术路线进行研究和初 步验证,尽可能的降低产品采用不合适的技术路线而带来的风险;随着计算机科学技术水平的提高,我们对如何解决满足客户需求有了更多的技术路线。确定技术路线(De巾ne Technical Way ),确定技术路线时,在满足用户需 求的前提下,需要考虑未来系统的开发成本、维护成本、未来的延续性、扩充性 等问题。该过程产生技术路线计划、技术路线说明书。系统架构设计(Architectural Des

8、ign)完成系统体系结构层次的划分,对 系统进行分解,确定子系统功能和子系统之间的关系,确定子系统的功能以及功 能之间的相互关系。该过程产生架构设计说明书。模块设计(Module Design),依据产品需求规格说明书、架构设计说明 书、技术路线说明书,充分理解用户需求,合理的对系统进行划分,确定每 个子系统的模块和功能、对用户界面、关键接口、关键类、关键算法及其相互关 系进行设计和定义,产生模块设计说明书。数据库设计(Database Design),依据产品需求规格说明书、技术路线 说明书、架构设计说明书和模块设计说明书,深入理解客户需求,设计 定义出表结构、约束、索引,定义关系,产生数据

9、库设计说明书。编码与单元测试(Coding and Unit Testing ),依据产品需求规格说明书、 数据库设计说明书、模块设计说明书,参考架构设计说明书,充分理解 用户需求,按照相关的代码规范、界面规范等,进行编码工作,并对每个单元、 关键类、关键算法、关键业务进行单元测试,并编写单元测试计划、单元测 试用例和单元测试报告。1.4.相关过程(Relational Process)过程名称过程编号需求开发(RD)JYSSP/RC-RD验证(VAL)JYSSP/RC-VAL2 .过程活动描述(Process Activity Description)2.1. 确定技术路线(Establis

10、h Technical Way)2.1.1. 目的(Purpose)确定技术路线主要是确定未来系统将要采用的主要技术路线进行研究和初 步验证,尽可能的降低产品采用不合适的技术路线而带来的风险。2.1.2.角色和职责(Roles and Responsibility)角色职责项目经理识别项目可能存在的技术路线,并选定开发人员作为技术路线研究人员开发人员对系统可以米用的技术路线及该技术路线存在的技术问题进行研究和验证2.1.3.进入条件(Entry Criteria)1)关于系统平台的用户需求已经明确。2)技术路线中存在的技术问题已经识别。3)参与技术路线的人员已经指定。2.1.4. 输入(Inp

11、uts)一些用户需求文档和技术方案文档2.1.5.活动流程图(Activity Flow Diagram)2.1.6. 任务描述(Task Description)1)技术路线研究人员制定技术路线计划,主要内容包括:确定技术路线 研究的内容和目标、确定应提交的工作成果、分配任务,制定进度表。项目经理或技术负责人审查该计划,如果该计划被批准,则转向下一步;2)技术路线研究人员按照计划开展研究和验证工作;3)在技术路线研究任务结束时,技术路线研究人员撰写技术路线说明书;4)项目经理或技术负责人组织进行技术路线说明书的技术评审工作。2.1.7. 输出(Outputs)技术路线计划技术路线说明书2.1

12、.8. 退出条件(Exit Criteria)技术路线说明书已经产生,并已经通过技术评审。2.2. 架构设计(Architecture Design)2.2.1. 目的(Purpose)分析与设计软件的体系结构,产生架构设计说明书2.2.2.角色和职责(Roles and Responsibility)角色职责项目经理指定若干名系统分析员作为体系结构设计人员进行架构设计系统分析员进行软件的体系结构的分析与设计工作2.2.3. 进入条件(Entry Criteria)技术路线已经确定,技术路线说明书已经完成;2.2.4. 输入(Inputs)产品需求规格说明书技术路线说明书2.2.5. 活动流程

13、图(Activity Flow Diagram)废升港招F陶豆家曼的筠米国舞1f1F翁被?r抑它计F陵耳其向总计陋明将1金#伴由2.2.6. 任务描述(Task Description)1)设计准备系统分析员阅读需求文档,明确设计的任务。系统分析员准备相关的设计工具(如Rational Rose )和资料。2)系统分析员确定影响系统设计的约束因素,它包括如下两部分:A.需求约束。从需求文档如产品需求规格说明书中提取需求约束,例如:本系统应当遵循的标准或规范软件、硬件环境(包括运行环境和开发环境)的约束接口 / 协议的约束用户界面的约束软件质量的约束,如正确性、健壮性、可靠性、效率(性能)、易用

14、性、清晰性、安全性、可扩展性、兼容性、可移植性等等。8. 隐含约束。有一些假设或依赖并没有在需求文档中明确指出,但可能会对系统设计产生影响,系统分析员应该尽可能地在此处说明。例如对用户教育程度、计算机技能的一些假设或依赖,对支撑本系统的软件硬件的假设或依赖等。3) 系统分析员根据产品的需求与发展战略,确定设计策略。例如:A. 扩展策略。说明为了方便本系统在将来扩展功能,现在有什么措施。B. 复用策略。说明本系统在当前以及将来的复用策略。C. 折衷策略。说明当两个目标难以同时优化时如何折衷,例如“时空”效率折衷,复杂性与实用性折衷。4) 系统分析员进行系统分解与设计;A. 将系统分解为若干子系统

15、,确定每个子系统的功能以及子系统之间的关系。B. 将子系统分解为若干模块,确定每个模块的功能以及模块之间的关系。C. 确定系统开发、测试、运行所需的软硬件环境。5) 系统分析员根据指定的模板撰写架构设计说明书,主要内容包括:A. 软件系统概述B. 影响设计的约束因素C. 设计策略D. 系统总体结构E. 子系统的结构与模块功能F. 开发、测试、运行所需的软硬件环境6)体系结构设计人员邀请同行专家、开发人员对体系结构进行正式技术评 审,评审流程请参考相关文档。体系结构评审的重点不是“对还是错”,而是“好还是差”。主要评审要素包括:A.合适性。考察该体系结构是否适合于产品需求,是否可在预定计划 内实

16、现。B.系统的综合能力(Capability )。例如“时空”效率(性能,容量 等),可扩展性,可管理性(可维护性),可复用性,安全性等等, 视产品特征而定。1.1.7. 输出(Outputs)架构设计说明书架构设计评审报告1.1.8. 退出条件(Exit Criteria)架构设计说明书已经完成,并且通过技术评审。2.3. 模块设计(Module Design)2.3.1. 目的(Purpose)设计关键用户界面,设计软件模块的主要接口、类、数据结构、算法,产生 模块设计说明书。2.3.2.角色和职责(Roles and Responsibility)角色职责项目经理确定若干系统分析员作为模

17、块设计人员,确定模块设计负责人,并指导计划的制定系统分析员进行具体模块的设计,编写模块设计说明书2.3.3.进入条件(Entry Criteria)1)需求较为明确,产品需求规格说明书评审通过2)技术路线已经确定,技术路线说明书评审通过3)系统架构已经确定,架构设计说明书评审通过2.3.4. 输入(Inputs)产品需求规格说明书 技术路线说明书架构设计说明书2.3.5.活动流程图(Activity Flow Diagram)2.3.6.任务描述(Task Description)1)设计准备A.模块设计人员阅读需求文档和架构设计文档,明确模块设计任务。B.模块设计人员准备相关的设计工具和资料

18、。C.模块设计人员确定本软件的编程规范,确保模块设计文档的风格与 代码的风格保持一致。2)模块设计模块设计一般要经历“界面设计一类与接口设计一 数据结构与算法设计”等步骤,并且通常需要反复迭代。A.用户界面设计:模块设计人员设计每个模块的主要界面,画出界面 原型,控件布局和摆放位置,描述关键控件状态变化;B.类与接口设计:模块设计人员设计每个模块的主要类和接口。如果 采用面向对象方法(OOAD,相当于设计类的函数和成员变量;C.数据结构与算法设计:模块设计人员设计每个模块的数据结构与算 法,特别是关键算法,要给出伪指令和主要流程(如果存在的话) 3)模块设计人员根据指定的模板撰写模块设计说明书

19、,主要内容包括:A.模块汇总B.每个模块的主要界面C.每个模块的主要类与接口D.每个模块的数据结构与关键算法(如果存在的话)4)模块设计人员邀请同行们对模块设计文档进行正式技术评审或者非正式技术评审(由技术负责人决定采用何种评审方式),评审流程请参考相关文档。模块的主要评审要素包括:A.用户界面是否满足需求B.信息封装C.高内聚、低耦合D.数据结构与算法的效率2.3.7. 输出(Outputs)模块设计说明书模块设计评审报告2.3.8. 退出条件(Exit Criteria)模块设计说明书已经完成,并且已经通过评审。2.4. 数据库设计(Database Design)2.4.1. 目的(Pu

20、rpose)对系统数据进行设计,定义各数据实体的存储结构,确定结构、约束、索引、 关系等,产生数据库设计说明书。2.4.2.角色和职责(Roles and Responsibility)角色职责项目经理指定若干开发人员进行数据库设计项目组成员项目组小组讨论对设计进行评审2.4.3. 进入条件(Entry Criteria)1)需求较为明确,产品需求规格说明书评审通过;2)技术路线已经确定,技术路线说明书评审通过;3)系统架构已经确定,架构设计说明书评审通过;4)模块设计已确定,模块设计说明书评审通过。2.4.4. 输入(Inputs)产品需求规格说明书技术路线说明书架构设计说明书模块设计说明书

21、2.4.5.活动流程图(Activity Flow Diagram)2.4.6.任务描述(Task Description)1)设计准备A.数据库设计人员阅读需求文档和体系结构设计文档,明确数据库设 计任务。B.数据库设计人员准备相关的设计工具和资料。C.数据库设计人员确定本软件的数据库设计规则,可以从数据库设 计规范中进行剪裁,主要包括: 数据库命名规则 逻辑设计规则 物理设计规则 安全性设计规则优化规则数据库管理与维护规则2) 数据库设计A. 数据库设计一般要经历“逻辑设计物理设计安全性设计优化”等步骤,需要迭代进行。逻辑设计:数据库设计人员根据需求文档,采用面向对象的方法发现并建立相应的

22、数据实体,并确定实体之间的关系。B. 物理设计设计表结构。建立数据实体到物理表的映射,一般地,实体对应于表,实体的属性对应于表的列,实体之间的关系成为表的约束、外键等。逻辑设计中的实体大部分可以转换成物理设计中的表,但是它们并不一定是一一对应的。对表结构进行规范化处理,一般的要至少遵循“第二范式”的要求;某些情况下考虑到实现难度和效率的问题,可以依据情况灵活掌握。C. 安全性设计用户只能用账号登陆到应用软件,通过应用软件访问数据库,而没有其它途径可以操作数据库。对用户账号的密码进行加密处理,确保在任何地方都不会出现密码 的明文。确定每个角色对数据库表的操作权限,如创建、检索、更新、删除等。每个

23、角色拥有刚好能够完成任务的权限,不多也不少。在应用时再为用户分配角色,则每个用户的权限等于他所兼角色的权限之和。D. 优化分析并优化数据库的“时空”效率,尽可能地“提高处理速度”并且“降低数据占用的空间”。分析“时空”效率的瓶颈, 找出优化对象(目标) , 并确定优先级。当优化对象(目标)之间存在对抗时,给出折衷方案。给出优化的具体措施,例如优化数据库环境参数,对表格进行反规范化处理等。3)数据库设计人员根据指定的模板撰写 数据库设计说明书,主要内容包 括:A.数据库环境说明B.数据库的命名规则C.逻辑设计D.物理设计E.安全性设计F.优化G.数据库管理与维护说明4)数据库设计人员邀请同行们对

24、数据库设计进行正式技术评审,评审流程 请参考相关文档,数据库的主要评审要素包括:A.正确性、完整性、一致性B.安全性C. “时一空”效率2.4.7. 输出(Outputs)数据库设计说明书数据库设计评审报告2.4.8. 退出条件(Exit Criteria)数据库设计说明书已经完成,并且已经通过评审。2.5.编码与单元测试(Coding and Unit Testing)2.5.1. 目的(Purpose)依据项目总体进度计划完成代码的编写,并通过单元测试,产生集成测 试所需要的产品。2.5.2. 角色和职责(Roles and Responsibility)角色职责项目经理依据项目规模确定项

25、目开发小组,确定每个项目开发小组的小组负责人(开发组长),领导对小组的工作目标进行明确,制定开发计划开发组长编程、代码审查、单兀测试、集成测试、缺陷管理与改错等活动开发人员依据计划编写代码,并对自己和同伴的代码进行必要的审查和测试文档编写人员根据说明书和可运行的模块编写用户手册系统分析员进行具体模块的设计,编写模块设计说明书2.5.3. 进入条件(Entry Criteria)模块设计已经确定,模块设计说明书评审通过;2.5.4. 输入(Inputs)产品需求规格说明书技术路线说明书架构设计说明书数据库设计说明书模块设计说明书2.5.5. 建立开发环境2.5.6. 活动流程图(Activity

26、 Flow Diagram)准备工作1技能培训编码与单元测试5缺陷管理与改错联合调试1编程2代码审查3单元测试4组件测试2 决定 make or buy编写用户手册2.5.7.任务描述(Task Description)1)准备工作:依据项目总体进度计划表进行技能培训。项目经理和开发小组,根据项目计划决定某些模块或组件是否需要进行购买(一股 在策划和设计阶段进行),必要时要使用DAR怏策分析和决议)过程,在 决定购买后,启动供应协议管理(SAM过程。2)编码与单元测试编码与单元测试一般要经历“编程一 代码审查一 单元测试一 模块测试” 等步骤,并且通常需要反复迭代,“缺陷管理”贯穿始终。A.编

27、程开发人员根据项目总体进度计划表编写软件的代码,并随时记 录编程技术、问题与对策、心得体会等等,产生工作日志 。 开发人员在编写完成每个模块时,必须对自己的代码进行必要的审 查和测试。B.代码审查由开发工程师对代码按照相关代码规范进行交叉审查,并填写代 码检查表。C.单元测试开发人员首先撰写单元测试用例。开发人员根据“单元测试计划”和相应的单元测试用例来测试 同伴的代码,产生单元测试报告。D.缺陷管理从StepA至StepC,任何人发现软件中的缺陷时都必须使用开发 小组指定的缺陷管理工具。该工具将记录所有缺陷的状态信息,并 可以对缺陷进行跟踪,形成缺陷一览表。开发人员及时消除已经发现的缺陷。开发人员消除缺陷之后应当马上进行回归测试,以确保不会引入新 的缺陷。3) 编写用户手册A. 文档编写人员编写用户手册;B. 用户手册的编写与2)可同时展

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论