软件开发过程教程
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
概要设计
任务
1.总体结构设计 处理流程、总体结构与模块、功能与模块的关系 。
2.接口设计 重点是模块间接口设计。
3.数据库设计 根据各个模块的具体功能,细化到数据库表。
4.异常处理 重点是根据具体业务需要,明确各种与客户交互的信息。
5.其他 根据业务特点不同,会有诸如保密处理等等一些客户特有 的需要。
・详细设计说明书的做成 依据前一阶段的概要设计说明书来制作详细设计说明书是 一个不变的规定。 Flash变换工具的详细设计说明书的重点是放在了功能的细 化上,通过把功能细化到足够细来分担项目存在的风险。 例如:完整的定义了包名、类名、方法名、以及处理逻辑, 大大加快了程序开发的效率,降低了项目风险。
• 开发模型的由来 • 常见的软件开发模型有以下四种:
1.瀑布开发模型 2.演化开发模型
前期需求分析阶段较适用 3.螺旋开发模型 4.喷泉开发模型
瀑布开发模型概述
什么是瀑布开发
• 瀑布模型将软件生命周期划分为制定计划、需求分 析、软件设计、程序编写、软件测试和运行维护等 六个基本活动,并且规定了它们自上而下、相互衔 接的固定次序,如同瀑布流水,逐级下落。
3.要明确和用户交互的信息 4.要明确要做哪些东西,更要明确不做哪些东西
详细设计
成果
详细设计的最重要成果就是详细设计说明书,程序员以此 做为依据进行代码的编写工作。
详细设计实例(1)
RICOH-Flash变换工具
・详细设计说明书规约(Check List) 详细设计说明书在做成之前,要制定一份规约,以此来统 一和约束书写格式,书写内容,以及在书写过程中需要注 意的问题。Flash变换工具的详细设计说明书在书写之前我 们制定了一个模版文件以完成上述要求。
软件开发过程培训教程
演讲人:王超 职位:软件开发工程师
Copyright 2008 By Neusoft Group. All rights reserved
Hello Everyone
软件开发模型概述
• 为了指导软件的开发,用不同的方式将软件开发周 期中的各种活动组织起来,便形成了软件开发模型。
详细设计实例(2)
RICOH-Flash变换工具
・详细设计说明书的Review 1.进入Review之前,需要详细设计担当者对自己的设计进 行自查(依据是详细设计Check List)。 2.Flash变换工具是通过模版的方式完成了Check List的要 求。 3.详细设计说明书初版完成以后要进行Review,通常情况 下是由对应的概要设计担当者来完成。 4.Review主要通过两方面来进行,一是业务层面的 Review,主要的任务是检查详细设计是否完成了概要 设计规定的业务。另一个是技术层面的Review,主要 任务是检查在实现细节中处理逻辑正确、合理。 5.Review结束之后要对Review结果进行分析,找出原因, 共性的问题要写入Check List或者通过会议进行全项 目组同报。
需求分析
重要性
需求分析之所以重要,就因为他具有决策性,方向性,策略性 的作用,他在软件开发的过程中具有举足轻重的地位.大家 一定要对需求分析具有足够的重视.在一个大型软件系统的 开发中,他的作用要远远大于程序设计.
需求分析
方法
需求分析的方法有很多,包括: 1.原型化方法
原型化方法就是尽可能快地建造一个的系统,这系统实现了 目标系统的某些或全部功能,但是这个系统可能在可靠性, 界面的友好性或其他方面上存在缺陷.建造这样一个系统的 目的是为了考察某一方面的可行性,如算法的可行性,技术 的可行性,或考察是否满足用户的需求等.
详细设计
定义
详细设计说明书是对编码阶段的指导性设计文档。在详细 设计说明书中进一步明确了代码的实现细节。
详细设计
重要性
详细设计是程序编写的最重要依据,对代码编写具有指导 意义,一个好的详细设计不仅可以加快代码编写速度,还 能够在很大程度上分担项目的风险,并且对日后的系统维 护起到至关重要的作用。
概要设计实例
RICOH-Flash变换工具
・总体结构设计 从功能的角度出发,整个工程分成两个部分,一是创建一 个描述文件,另外一个是创建一个Java工程。 从角色担当的角度出发,分为主操作系、数据入力系、入 力辅助系三个模块。
・接口的设计 三个模块之间采用一个统一的数据模型来传递数据。
・异常处理的设计 采取中断式异常处理机制。
瀑布开发V型图
项目与需求 策划
产品需求与 规范分析
体系结构/ 概要设计
产品,运行 与维护
系统与验收 测试
集成与测试
详细设计
单元测试
编码
需求分析
定义
需求分析是指理解用户需求,就软件功能与客户达成一致, 估计软件风险和评估项目代价,最终形成开发计划的一个 复杂过程 。在这个过程中,用户是处在主导地位,需求分 析工程师和项目经理要负责整理用户需求,为之后的软件 设计打下基础。
・采用原型法进行需求分析 需求分析的初期,我们花了大量精力做出来一个原型,其 中囊括了所有我们对于业务的理解,并且以此原型作为依 据与客户进行了更进一步的业务接触,效果甚佳。
概要设计
定义
概要设计是将软件系统需求转换为未来系统设计的过程。 进一步明确做什么,以及怎么做,重点各半。
概要设计
重要性
概要设计是进行详细设计工作的基础,有了一个好的概要 设计也就有了开发规范和程序模块之间和项目成员彼此之 间的接口规则、方式方法,项目组成员就有了共同的工作 语言、共同的工作平台,使整个软件开发工作可以协调有 序地进行。
详细设计
方法
1.详细设计的作业依据是概要设计 在详细设计阶段要严格按照概要设计的内容进行作业,如 果在业务细化的过程中发现不合理的情况,应该及时和概 要设计担当协商,在概要设计完成修改后再进行详细设计 的修改。
2.详细设计是对概要设计的细化 详细设计的终极目标是指导程序代码的编写,为此要对概 要设计进行足够的细化。
2.结构化方法
3.动态分析法
需求分析
成果
需求分析的成果
1.系统需求说明书
2.项目计划
源自文库
需求分析实例
RICOH-Flash变换工具
・需求内容 通过对设计用SWF文件的解析,生成一个描述SWF文件信息 的CSV文件,同时生成一个Java工程。
・客户需求的特点 Flash变换工具的客户需求的特点是对业务背景的要求相对 较高,业务所涉及的领域比较陌生且极其复杂。
概要设计
成果
1.总体架构:你的系统大致分为几个部分。 2.技术架构:准备采用的技术是什么,用什么技术、框架、
数据库。 3.功能模块划分:要进行进一步开发,功能模块的细化必须
在概要设计中完成。 4.数据库设计:根据功能模块细化要写出具体的数据库设计,
后期可能要不断完善,但是概要设计阶段必须已经有了初 步的模型。