东软暑假培训资料之软件开发过程培训教程

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

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

1 / 31
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功