3 Sept. 2008
Confidential
软件开发过程培训教程
演讲人:王超
职位:软件开发工程师
2008 .
3 Sept. 2008
Confidential
软件开发模型概述
• 为了指导软件的开发,用不同的方式将软件开发周
期中的各种活动组织起来,便形成了软件开发模型。
• 开发模型的由来
• 常见的软件开发模型有以下四种:
• 1.瀑布开发模型
• 2.演化开发模型
• 前期需求分析阶段较适用
• 3.螺旋开发模型
• 4.喷泉开发模型
3 Sept. 2008
Confidential
瀑布开发模型概述
什么是瀑布开发
• 瀑布模型将软件生命周期划分为制定计划、需求分
析、软件设计、程序编写、软件测试和运行维护等
六个基本活动,并且规定了它们自上而下、相互衔
接的固定次序,如同瀑布流水,逐级下落。
3 Sept. 2008
Confidential
瀑布开发V型图
3 Sept. 2008
Confidential
需求分析
定义
需求分析是指理解用户需求,就软件功能与客户达成一致,
估计软件风险和评估项目代价,最终形成开发计划的一个
复杂过程 。在这个过程中,用户是处在主导地位,需求分
析工程师和项目经理要负责整理用户需求,为之后的软件
设计打下基础。
3 Sept. 2008
Confidential
需求分析
重要性
需求分析之所以重要,就因为他具有决策性,方向性,策略性的作
用,他在软件开发的过程中具有举足轻重的地位.大家一定要对需
求分析具有足够的重视.在一个大型软件系统的开发中,他的作用
要远远大于程序设计.
3 Sept. 2008
Confidential
需求分析
方法
需求分析的方法有很多,包括:
1.原型化方法
原型化方法就是尽可能快地建造一个的系统,这系统实现了
目标系统的某些或全部功能,但是这个系统可能在可靠性,
界面的友好性或其他方面上存在缺陷.建造这样一个系统的
目的是为了考察某一方面的可行性,如算法的可行性,技术
的可行性,或考察是否满足用户的需求等.
2.结构化方法
3.动态分析法
3 Sept. 2008
Confidential
需求分析
成果
需求分析的成果
1.系统需求说明书
2.项目计划
3 Sept. 2008
Confidential
需求分析实例
变换工具
・需求内容
通过对设计用文件的解析,生成一个描述文件信息的文件,
同时生成一个工程。
・客户需求的特点
变换工具的客户需求的特点是对业务背景的要求相对较高,
业务所涉及的领域比较陌生且极其复杂。
・采用原型法进行需求分析
需求分析的初期,我们花了大量精力做出来一个原型,其
中囊括了所有我们对于业务的理解,并且以此原型作为依
据与客户进行了更进一步的业务接触,效果甚佳。
3 Sept. 2008
Confidential
概要设计
定义
概要设计是将软件系统需求转换为未来系统设计的过程。
进一步明确做什么,以及怎么做,重点各半。
3 Sept. 2008
Confidential
概要设计
重要性
概要设计是进行详细设计工作的基础,有了一个好的概要
设计也就有了开发规范和程序模块之间和项目成员彼此之
间的接口规则、方式方法,项目组成员就有了共同的工作
语言、共同的工作平台,使整个软件开发工作可以协调有
序地进行。
3 Sept. 2008
Confidential
概要设计
任务
1.总体结构设计
处理流程、总体结构与模块、功能与模块的关系 。
2.接口设计
重点是模块间接口设计。
3.数据库设计
根据各个模块的具体功能,细化到数据库表。
4.异常处理
重点是根据具体业务需要,明确各种与客户交互的信息。
5.其他
根据业务特点不同,会有诸如保密处理等等一些客户特有
的需要。
3 Sept. 2008
Confidential
概要设计
成果
1.总体架构:你的系统大致分为几个部分。
2.技术架构:准备采用的技术是什么,用什么技术、框架、
数据库。
3.功能模块划分:要进行进一步开发,功能模块的细化必须
在概要设计中完成。
4.数据库设计:根据功能模块细化要写出具体的数据库设计,
后期可能要不断完善,但是概要设计阶段必须已经有了初
步的模型。
3 Sept. 2008
Confidential
概要设计实例
变换工具
・总体结构设计
从功能的角度出发,整个工程分成两个部分,一是创建一
个描述文件,另外一个是创建一个工程。
从角色担当的角度出发,分为主操作系、数据入力系、入
力辅助系三个模块。
・接口的设计
三个模块之间采用一个统一的数据模型来传递数据。
・异常处理的设计
采取中断式异常处理机制。
3 Sept. 2008
Confidential
详细设计
定义
详细设计说明书是对编码阶段的指导性设计文档。在详细
设计说明书中进一步明确了代码的实现细节。
3 Sept. 2008
Confidential
详细设计
重要性
详细设计是程序编写的最重要依据,对代码编写具有指导
意义,一个好的详细设计不仅可以加快代码编写速度,还
能够在很大程度上分担项目的风险,并且对日后的系统维
护起到至关重要的作用。
3 Sept. 2008
Confidential
详细设计
方法
1.详细设计的作业依据是概要设计
在详细设计阶段要严格按照概要设计的内容进行作业,如
果在业务细化的过程中发现不合理的情况,应该及时和概
要设计担当协商,在概要设计完成修改后再进行详细设计
的修改。
2.详细设计是对概要设计的细化
详细设计的终极目标是指导程序代码的编写,为此要对概
要设计进行足够的细化。
3.要明确和用户交互的信息
4.要明确要做哪些东西,更要明确不做哪些东西
3 Sept. 2008
Confidential
详细设计
成果
详细设计的最重要成果就是详细设计说明书,程序员以此
做为依据进行代码的编写工作。
3 Sept. 2008
Confidential
详细设计实例(1)
变换工具
・详细设计说明书规约( )
详细设计说明书在做成之前,要制定一份规约,以此来统
一和约束书写格式,书写内容,以及在书写过程中需要注
意的问题。变换工具的详细设计说明书在书写之前我们制
定了一个模版文件以完成上述要求。
・详细设计说明书的做成
依据前一阶段的概要设计说明书来制作详细设计说明书是
一个不变的规定。
变换工具的详细设计说明书的重点是放在了功能的细化上,
通过把功能细化到足够细来分担项目存在的风险。例如:
完整的定义了包名、类名、方法名、以及处理逻辑,大大
加快了程序开发的效率,降低了项目风险。
3 Sept. 2008
Confidential
详细设计实例(2)
变换工具
・详细设计说明书的
1.进入之前,需要详细设计担当者对自己的设计进
行自查(依据是详细设计 )。
2变换工具是通过模版的方式完成了 的要 求。
3.详细设计说明书初版完成以后要进行,通常情况
下是由对应的概要设计担当者来完成。
4主要通过两方面来进行,一是业务层面的 ,主要的
任务是检查详细设计是否完成了概要 设计规定的业务。
另一个是技术层面的,主要 任务是检查在实现细节
中处理逻辑正确、合理。
5结束之后要对结果进行分析,找出原因, 共性的问
题要写入 或者通过会议进行全项 目组同报。
3 Sept. 2008
Confidential
程序编写
定义
依据详细设计说明书的要求,把软件从设计模型转变为具
体实现的过程,就是所谓的程序编写。
3 Sept. 2008
Confidential
程序编写
重要性
有了一个好的设计之后,程序编写工作变成了一个轻松而
愉快的事情。
程序编写这个环节有它自己的特点,可以说前面做的很多
所有工作都是为这个阶段服务的。需求分析做得再明确,
设计阶段做得再完美,如果程序编写过程出了问题,也是
前功尽弃。
3 Sept. 2008
Confidential
程序编写
如何写好程序
如何写好程序,这是一个“古老”的话题,自从计算机语
言出现的时候开始,程序员就在研究怎么把程序写得完美
无瑕,所以在不同阶段出现了各种各样的方法和技巧。从
软件开发过程的角度来讲,应注意以下问题。
1.从详细设计阶段开始,程序员就要进入项目。
2.严格按照详细设计的要求,认真编写程序。
3.及时和设计人员沟通,不要私自更改设计。
4.注重客户的满意度,时刻牢记我们不是在搞科研。
3 Sept. 2008
Confidential
程序编写
成果
程序清单是程序开发阶段的成果。
3 Sept. 2008
Confidential
程序编写实例
变换工具
・程序代码的编写
变换工具的程序代码在编写之前,统一作了一次代码编写
规约培训,同时制定了一完备的 供程序员参考。第一本代
码编写结束后立刻拿出来做公共讲解,总结出现的问题,
以免大家犯同样的错误。
・代码
变换工具的代码进入之前,首先是程序员的自查(依据是
)。对于出来的问题进行一定的分析,共性的问题要追加
到 中。
3 Sept. 2008
Confidential
测试
如何保证软件的质量(1)
软件产品和其他商品一样,也有质量的好与坏,也有自己
的保质期。
测试是保证软件质量的重要手段。
从软件开发过程的V型图可以看出,从需求分析开始,直到
程序编写结束,测试相关的工作一直在持续进行。
3 Sept. 2008
Confidential
如何保证软件的质量(2)
单元测试要严格按照式样书的要求来进行。有出现时要及
时填写报告书,并且通知程序员进行修改。
测试过程中要遵循的基本原则就是认真,切不可为了赶进
度,草草的测试。
阶段出现的如果遗留到或者更靠后的阶段才被发现,改修
成本几乎是成倍的增长。
3 Sept. 2008
Confidential
如何保证软件的质量(3)
阶段测试的重点是模块之间的接口,以及数据流的完整性
与正确性。
测试过程中要严格按照测试式样书来进行,发现应该及时
填写报告书,并且通知相关人员进行修正。
另外一点需要注意的是,进入阶段后,程序的源代码要进
行集中管理,保证代码的稳定性。
3 Sept. 2008
Confidential
养成良好的工作习惯
1.如何发你的
2.在你完成了工作之后,你应该怎么做。
3.如何看待别人对你工作的
4.如何和你的关联的人员作工作上的沟通。
5.如何面对超负荷的工作
Copyright © 2008 版权所有 东软集团