如何有效进行软件开发过程实践

admin3年前软件教程66

每个软件产品或者软件系统都会经历产品孕育、产品诞生、产品成长、产品成熟、产品衰亡等阶段,一般称为软件生存周期(软件生命周期)。如果把整个软件生存周期划分为若干阶段,使各个阶段都有明确的任务,让规模大、结构复杂、管理复杂的软件开发变的容易控制、容易管理。通常,软件产品生存周期包括:可行性分析、开发项目计划书、软件需求分析、软件设计(分概要设计、详细设计)、程序编码、软件测试与维护等活动同。这些活动要根据项目进度要求分配到不同的阶段去完成。

(一)传统的软件开发流程采用的是瀑布模型,什么是瀑布模型呢,瀑布模型是软件项目工作中,每到一个阶段就必须把这个阶段的合部工作完成才能进行下一阶段的工作,比如:在进入概要设计阶段时,必须把系统需求规格说明书完全确定后才可以。还比如:程序编码在软件系统设计完成后,才可以进行程序编码。所以在整个项目中所有的系统模块全部开发完成之后,才能进行系统集成,要把上百个模块组成复杂系统,是一个很艰巨的任务。

(二)随着我们开发的软件项目越来越复杂,瀑布模型已经很难满足现在的软件项目的开发工作。根据项目实际情况选择适合的软件生命周期原型及开发团队采用实用的软件开发流程对软件项目的成败起到至关重要的作业。

对软件过程的认识

(一)需求获取

1.在确定项目开始前,先了解客户对项目软件准确的需求。合同项目在前期的准备阶段中,在这方面会花费比较长的时间,这样对后期的工作是很有帮助的。

2.进行软件开发一般分:专用软件、通用软件两方面。

(1)专用软件:比如甲单位要开发一套根据本单位性质专用的软件系统,甲单位会对软件的功能要求有一个大概轮廓(一般在签定的软件开发合同中已注明,但只是合同项目框架),所以在之前必须与使用者进行详细沟通,知道客户到底想要一个什么样的软件系统,定好位,工作就很好做;如果前期工作做不好,到制作后期才发现问题,对软件开发来说是非常费时费力的事情。

(2)通用软件:在开发通用软件时,流程上相对要固定一些,首先,做市场调查,从经济效益、市场潜力、技术分析等,其次调查客户终端中硬件配置、网络情况、数据库情况,最后综上调查结果制定软件开发技术指标。

3.在制作过程中会经常与客户沟通,为了更好更便利的与客户进行沟通,使用一些像用VB,Delphi工具做的原型,针对发现的问题进行有效交流,对客户需求及时定位,为现好的完成合同项目软件开发工作打好坚实的基础。

4.软件的运行与流程上面:用UML的Use Case图做参考是非常有用的。

(二)需求分析

1.什么是需求分析,需求分析是在确认完项目客户对软件使用需求后,将需求用某种直观的文法表现出来。现在业内常用的分析方法有:面向对象法,分析项目目标客户的需求,再用类-—类之间的关系来体现全部软件系统。(具体方法,不予详解)

2.开发过程注意事项。强调问题域与系统责任的区别,开发的软件需要完成的所有应运功能称为系统责任,问题域包括项目软件开发时涉及到的所有问题。比如1:程控机计费程序(程控机现成的、数据输出是固定的,程序从程控机读取信息,程控机对系统来说属外部硬件设备,可以不用一类处理,一个类完成数据读取操作就可以了)。比如2:在现有的数据库上,进行再度开发与应用,数据库格式是固定的,后台程序是现成的,并正常运行,决定开发新的前台软件程序,这时服务器程序就属外部程序了,但是,新软件开发分析文档中必须有体现,以此约束外在的程序系统。

分析与设计过程的关联衔接

1.用类结构表示目标系统时,软件分析过程的全部内容,可以不用具体实现,(如:用那类操作系统平台,用何种程序语言等),这些在项目早期设计阶段,就已明确定位了,这时用面向对象法进行分析、设计、编码过程等表示法进行统一,能很好的进行分析与设计过程的关联与衔接。把设计、分析分开,是用瀑布式方法进行软件开发还是采用别的方法,要根据项目需求的具体情况来定。

2.像设计完成后,后续改动及变化不多的项目,建议用瀑布模型,这们的好处是:在后期软件开发当中,如改用别的编程语言、平台,早期设计阶段中备份的的分析文档就可以用上了。

3.在今后的工作中会涉及到经常变化的合同项目,要整理好运作流程,比如:少部分分析——少部分设计——少部分编码——最后测试的方法,这样可以避免要返回前一个步骤修改的麻烦,所以后续经常变化的软件开发没有一个完整的分析文档。

4.软件开发中分析与设计是不能区分的,虽然市面上很多CASE工具对分析和设计的阶段不区分,但是,不表示就可以不加区分。

设计编码过程

设计阶段:

1.分析模型:类结构在后期工作中会进行一定的修改,修改的原因不外呼有二种,一种是是:编程环境的要求部分,第二种是对原来的一些特定工作重用。

2.定义界面:数据访问(数据库)部分,现阶段很多编程语言都可以用可视化设计界面,所以界面部分的工作都会保留到编码阶段来进行,这样在项目设计阶段,总体工作量是不大的。

项目测试

测试人员需要在项目需求阶段就要安排介入到项目中,针对需求编写测试计划及测试用例。根据需求跟踪矩阵衡量测试用例对软件的覆盖率。另外在详细设计阶段,开发人员需要考虑代码的可测试性,编制单元测试用例并进行测试等。

结束语

针对一个企业的管理模式,需要在实践中找到一套适合自己企业的模式,成功的经验要借鉴,套搬是不行的,还会适得其反。很多项目,不管大也好,还是小也好,并没有本质的区别,很多事情去做的方法是有共性的。同样,在做一个软开发项目时,项目的合作运行方法虽然有区别。但是换一个角度来看,又会感受不同的现解方式。因此把别人的成功的经验及成果转变为自己所用,这个变是至关重要的。

免责声明:本文内容来自用户上传并发布,站点仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。请核实广告和内容真实性,谨慎使用。

相关文章

微信小程序如何使流量变现

微信小程序如何使流量变现: 1、定位只有拥有自己清晰的定位以后才可以拥有忠实用户,比如京东的小程序,是一个综合性电商平台,唯品会的小程序定位于特卖电商平台,优衣库的小程序专注于男装垂直品牌等等,这些品...

获取取件码失败是什么原因

以菜鸟裹裹为例,获取取件码失败的原因可能是网络质量较差造成的,或是没有绑定手机号,可以绑定包裹收件人的手机号,这样包裹就会出现。菜鸟裹裹是阿里巴巴集团旗下的一款提供快递服务的APP。主要提供国内外快递...

滴滴怎么几个小时一个订单没有

滴滴版本为5.4.18,滴滴几个小时一个订单没有的原因如下:1、接单工作的时间太长了。滴滴10个小时触发疲劳驾驶。工作太久了建议休息,是对自己和客户负责任的表现。2、理论上不会出现出车十个小时就不派发...

zoom有回放吗

ZOOM视频会议可以看回放,Zoom录制分为本地录制和云端录制两种。本地录制在会议结束后会把会议的音频、视频、共享内容转码成一个mp4的视频文件储存在用户的电脑本地。zoom公司创立于日本,起初生产录...

APP相对于传统营销的优势是什么

APP相对于传统营销的优势是:1、成本低APP营销的模式,费用相对于电视、报纸、甚至是网络都要低的很多,只要开发一个适合于本品牌的应用就可以了,可能还会有一点的推广费用,但这种营销模式是营销效果是电视...

php mysql 连接池

PHP和MySQL连接在Web应用程序中扮演着至关重要的角色,这是因为它俩是关系型数据库系统中最广泛使用的两个技术。尽管它们非常流行,但这两项技术在处理高并发时可能会遇到一些棘手的问题,例如连接池。在...