软件开发周期软件开发的生命周期

软件开发周期  时间:2021-07-24  阅读:()

软件的生命周期到底是哪些?

软件生命周期(SDLC,软件生存周期)是软件的产生直到报废的生命周期,周期内有问题定义、可行性分析、总体描述、系统设计、编码、调试和测试、验收与运行、维护升级到废弃等阶段,这种按时间分程的思想方法是软件工程中的一种思想原则,即按部就班、逐步推进,每个阶段都要有定义、工作、审查、形成文档以供交流或备查,以提高软件的质量。

软件生命周期(SDLC)的六个阶段 1、问题的定义及规划 此阶段是软件开发方与需求方共同讨论,主要确定软件的开发目标及其可行性。

2、需求分析 在确定软件开发可行的情况下,对软件需要实现的各个功能进行详细分析。

需求分析阶段是一个很重要的阶段,这一阶段做得好,将为整个软件开发项目的成功打下良好的基础。

"唯一不变的是变化本身。

",同样需求也是在整个软件开发过程中不断变化和深入的,因此我们必须制定需求变更计划来应付这种变化,以保护整个项目的顺利进行。

3、软件设计 此阶段主要根据需求分析的结果,对整个软件系统进行设计,如系统框架设计,数据库设计等等。

软件设计一般分为总体设计和详细设计。

好的软件设计将为软件程序编写打下良好的基础。

4、程序编码 此阶段是将软件设计的结果转换成计算机可运行的程序代码。

在程序编码中必须要制定统一,符合标准的编写规范。

以保证程序的可读性,易维护性,提高程序的运行效率。

5、软件测试 在软件设计完成后要经过严密的测试,以发现软件在整个设计过程中存在的问题并加以纠正。

整个测试过程分单元测试、组装测试以及系统测试三个阶段进行。

测试的方法主要有白盒测试和黑盒测试两种。

在测试过程中需要建立详细的测试计划并严格按照测试计划进行测试,以减少测试的随意性。

6、运行维护 软件维护是软件生命周期中持续时间最长的阶段。

在软件开发完成并投入使用后,由于多方面的原因,软件不能继续适应用户的要求。

要延续软件的使用寿命,就必须对软件进行维护。

软件的维护包括纠错性维护和改进性维护两个方面。

软件的生命周期

软件生命周期是指从软件定义、开发、使用、维护到报废为止的整个过程,一般包括问题定义、可行性分析、需求分析、总体设计、详细设计、编码、测试和维护。

问题定义就是确定开发任务到底“要解决的问题是什么”,系统分析员通过对用户的访问调查,最后得出一份双方都满意的关于问题性质、工程目标和规模的书面报告。

可行性分析就是分析上一个阶段所确定的问题到底“可行吗”,系统分析员对系统要进行更进一步的分析,更准确、更具体地确定工程规模与目标,论证在经济上和技术上是否可行,从而在理解工作范围和代价的基础上,做出软件计划。

需求分析即使对用户要求进行具体分析,明确“目标系统要做什么”,把用户对软件系统的全部要求以需求说明书的形式表达出来。

总体设计就是把软件的功能转化为所需要的体系结构,也就是决定系统的模块结构,并给出模块的相互调用关系、模块间传达的数据及每个模块的功能说明。

详细设计就是决定模块内部的算法与数据结构,也是明确“怎么样具体实现这个系统”。

编码就是选取适合的程序设计语言对每个模板进行编码,并进行模块调试。

测试就是通过各种类型的测试使软件达到预定的要求。

维护就是软件交付给用户使用后,对软件不断查错、纠错和修改,使系统持久地满足用户的需求。

软件的生命周期也可以分为3个大的阶段,分别是计划阶段、开发阶段和维护阶段。

瀑布模型 有时也称为V模型,它是一种线型顺序模型,是项目自始至终按照一定顺序的步骤从需求分析进展到系统测试直到提交用户使用,它提供了一种结构化的、自顶向下的软件开发方法,每阶段主要工作成果从一个阶段传递到下一个阶段,必须经过严格的评审或测试,以判定是否可以开始下一阶段工作,各阶段相互独立、不重叠。

瀑布模型是所有软件生命周期模型的基础。

原型+瀑布模型 原型模型本身是一个迭代的模型,是为了解决在产品开发的早期阶段存在的不确定性、二义性和不完整性等问题,通过建立原型使开发者进一步确定其应开发的产品,使开发者的想象更具体化,也更易于被客户所理解。

原型只是真实系统的一部分或一个模型,完全可能不完成任何有用的事情,通常包括抛弃型和进化型两种,抛弃型指原型建立、分析之后要扔掉,整个系统重新分析和设计;进化型则是对需求的定义较清楚的情形,原型建立之后要保留,作为系逐渐增加的基础,采用进化型一定要重视软件设计的系统性和完整性,并且在质量要求方面没有捷径,因此,对于描述相同的功能,建立进化型原型比建立抛弃型原型所花的时间要多。

原型建立确认需求之后采用瀑布模型的方式完成项目开发。

增量模型 与建造大厦相同,软件也是一步一步建造起来的。

在增量模型中,软件被作为一系列的增量构件来设计、实现、集成和测试,每一个构件是由多种相互作用的模块所形成的提供特定功能的代码片段构成。

增量模型在各个阶段并不交付一个可运行的完整产品,而是交付满足客户需求的一个子集的可运行产品。

整个产品被分解成若干个构件,开发人员逐个构件地交付产品,这样做的好处是软件开发可以较好地适应变化,客户可以不断地看到所开发的软件,从而降低开发风险。

一些大型系统往往需要很多年才能完成或者客户急于实现系统,各子系统往往采用增量开发的模式,先实现核心的产品,即实现基本的需求,但很多补充的特性(其中一些是已知的,另外一些是未知的)在下一期发布。

增量模型强调每一个增量均发布一个可操作产品,每个增量构建仍然遵循设计-编码-测试的瀑布模型。

迭代模型 早在20世纪50年代末期,软件领域中就出现了迭代模型。

最早的迭代过程可能被描述为“分段模型”。

迭代,包括产生产品发布(稳定、可执行的产品版本)的全部开发活动和要使用该发布必需的所有其他外围元素。

所以,在某种程度上,开发迭代是一次完整地经过所有工作流程的过程:(至少包括)需求工作流程、分析设计工作流程、实施工作流程和测试工作流程。

实质上,它类似小型的瀑布式项目。

所有的阶段(需求及其它)都可以细分为迭代。

每一次的迭代都会产生一个可以发布的产品,这个产品是最终产品的一个子集。

软件开发的生命周期的实例

确定目标,风险分析,需求分析。

软件需求。

需求确认,开发计划,产品设计。

设计验证与确认。

集成测试计划。

可运行的原形。

详细设计。

编码。

单元测试。

集成测试。

验收测试。

运行维护

软件开发的生命周期

无论是瀑布开发模式还是螺旋开发模式 软件开发的周期大约都是分成需求,设计,编码和单元测试,系统集成,运行和维护几个阶段 如果是迭代方法开发 那么软件的生命周期应该分为开端(inception)、评价(elabration)、构建(construction)和产品化(transaction). 我从一本书上找出来的 希望能够帮助你

快云科技:夏季大促销,香港VPS7.5折特惠,CN2 GIA线路; 年付仅不到五折巨惠,续费永久同价

快云科技怎么样?快云科技是一家成立于2020年的新起国内主机商,资质齐全 持有IDC ICP ISP等正规商家。我们秉承着服务于客户服务于大众的理念运营,机器线路优价格低。目前已注册用户达到5000+!主营产品有:香港弹性云服务器,美国vps和日本vps,香港物理机,国内高防物理机以及美国日本高防物理机!产品特色:全配置均20M带宽,架构采用KVM虚拟化技术,全盘SSD硬盘,RAID10阵列, 国...

inlicloud48元/月,云主机,2核1G/200Mbps,可选安徽/上海联通/广州移动/江门移动NAT

inlicloud怎么样?inlicloud(引力主机)主要产品为国内NAT系列VPS,目前主要有:上海联通NAT(200Mbps带宽)、宿州联通NAT(200Mbps带宽)、广州移动NAT(200Mbps带宽)。根据官方的说法国内的NAT系列VPS不要求备案、不要求实名、对中转要求也不严格,但是,禁止任何形式的回国!安徽nat/上海联通/广州移动/江门移动nat云主机,2核1G/200Mbps仅...

HostSailor:罗马尼亚机房,内容宽松;罗马尼亚VPS七折优惠,罗马尼亚服务器95折

hostsailor怎么样?hostsailor成立多年,是一家罗马尼亚主机商家,机房就设在罗马尼亚,具说商家对内容管理的还是比较宽松的,商家提供虚拟主机、VPS及独立服务器,今天收到商家推送的八月优惠,针对所有的产品都有相应的优惠,商家的VPS产品分为KVM和OpenVZ两种架构,OVZ的比较便宜,有这方面需要的朋友可以看看。点击进入:hostsailor商家官方网站HostSailor优惠活动...

软件开发周期为你推荐
湖南卫视网络电视湖南数字电视win8企业版我的电脑想装WIN8的系统,企业版和专业版有什么区别?垃圾文件清理bat一键清理系统垃圾文件.bat 的原理百度预测世界杯预测世界杯8强名单微软将停止支持32位Win10系统WIN10系统Microsoft Office已停止工作怎么解决云图好看吗云图好看么?prepare的用法prepare和prepare for的区别qq空间克隆素材qq空间克隆oa源码lotus的oa源码,怎么样?湖北健康码转码申请个人健康随身绿色码怎么申请?
php主机租用 花生壳域名贝锐 视频存储服务器 双11抢红包攻略 12306抢票助手 商家促销 ca4249 福建天翼加速 腾讯云分析 电子邮件服务器 老左正传 服务器硬件防火墙 彩虹云 创建邮箱 空间首页登陆 全能空间 iki 国外网页代理 中国联通宽带测试 小夜博客 更多