软件工程—软件开发生命周期

正如任何事物一样,软件也有其孕育、诞生、成长、成熟以及衰亡的生命过程,一般称其为“软件生命周期”。把整个软件生存周期划分为若干阶段,使得每个阶段有明确的任务,使规模大,结构复杂和管理复杂的软件开发变的容易控制和管理。通常,软件生存周期包括:

一,问题定义。要求系统分析员与用户进行交流,弄清“用户需要计算及解决什么问题”然后提出关于“系统目标与范围的说明”,提交用户审查和确认。

二,可行性研究。一方面在于把待开发的系统的目标以明确的语言描述出来,另一方面从经济、技术、法律等多方面进行可行性分析。

三,需求分析。弄清用户对软件系统的全部需求,编写需求规格说明书和初步的用户手册,提交评审。

四,开发阶段。开发阶段由三个阶段组成:

1,设计

2,实现:根据选定的程序设计语言完成源程序的编码

3,测试

五,维护:维护包括四个方面

1,改正性维护:在软件交付使用后,由于开发测试时的不彻底、不完全、必然会有一部分隐藏的错误被带到运行阶段,这些隐藏的错误在某些特定的使用环境下就会暴露。

2,适应性维护:是为适应环境的变化而修改软件的活动。

3,完善性维护 :是根据用户在使用过程中提出的一些建设性意见而进行的维护活动。

4,预防性维护:是为了进一步改善软件系统的可维护性和可靠性,并为以后的改进奠定基础。

问题的定义及规划

此阶段是软件开发方与需求方共同讨论,主要确定软件的开发目标及其可行性。

需求分析

软件生命周期之需求分析

在确定软件开发可行的情况下,对软件需要实现的各个功能进行详细分析。需求分析阶段是一个很重要的阶段,这一阶段做得好,将为整个软件开发项目的成功打下良好的基础。"唯一不变的是变化本身。",同样需求也是在整个软件开发过程中不断变化和深入的,因此我们必须制定需求变更计划来应付这种变化,以保护整个项目的顺利进行。软件需求定义是软件设计开发阶段的输入,为需求被翻译成为可以使软件建构功能的代码发挥作用。

软件设计

软件生命周期之软件设计

此阶段主要根据需求分析的结果,对整个软件系统进行设计,如系统框架设计,数据库设计等等。软件设计一般分为总体设计详细设计。好的软件设计将为软件程序编写打下良好的基础。软件设计的核心在于把握好那些决定“服务质量”的因素,比如软件的性能,可扩展性,安全性,怎样划分模块的组成,怎样组织和封装软件的组件,以及其他一些虽然不作为软件主要应用的方面但会对其支持方面有所影响的方方面面。软件设计的原理包括抽象,分解和模块化,耦合和内聚封装,充分性,完整性和原始性。软件设计主要关注软件的兼容性、可扩展性、容错性、可维护性、模块化、可靠性、可重用性、健壮性、安全性、可用性和互操作性。耦合和内聚是两个用来评估软件设计质量的方法。

程序编码

此阶段是将软件设计的结果转换成计算机可运行的程序代码。在程序编码中必须要制定统一,符合标准的编写规范。以保证程序的可读性,易维护性,提高程序的运行效率。

软件测试

软件生命周期之软件测试

软件设计完成后要经过严密的测试,以发现软件在整个设计过程中存在的问题并加以纠正。整个测试过程单元测试组装测试以及系统测试三个阶段进行。测试的方法主要有白盒测试黑盒测试两种。在测试过程中需要建立详细的测试计划并严格按照测试计划进行测试,以减少测试的随意性。

运行维护

软件维护是软件生命周期中持续时间最长的阶段。在软件开发完成并投入使用后,由于多方面的原因,软件不能继续适应用户的要求。要延续软件的使用寿命,就必须对软件进行维护。软件的维护包括纠错性维护和改进性维护两个方面。

以上文章摘自百度百科

时间: 2024-10-07 03:10:06

软件工程—软件开发生命周期的相关文章

软件开发生命周期中测试的使用情况

软件开发的生命周期主要包括以下的阶段: 1.问题定义. 2.可行性研究. 3.需求分析. 4.概要设计. 5.详细设计. 6.编码和单元测试. 7.综合测试. 8.软件维护 以上就是一个软件开发的完整生命周期,能比较明显的看出,到详细设计为止,之前的阶段很少涉及到测试的环节,从编码实现开始,测试就开始贯穿之后的阶段,编码实现中,用的最多的就是单元测试,编码人员或测试人员主要通过一些测试用例来检测编写的代码块是否实现了所需要的功能,但是单元测试中又分为黑盒测试和白盒测试,黑盒测试是不知道内部的详细

以软件开发生命周期的过程来说明不同测试的使用情况

此图为软件开发生命周期的模型图,下面以此图为例说明在软件开发生命周期各个阶段所使用的测试类型的异同. 1.在最初的原始计划制定阶段,需要进行文档编写测试. 2.开始参考某些软件原型并编写需求计划时,要进行手工测试来提取原型的优缺点,以及文档编写测试.每一次参考原型和风险分析时都需要进行所说的测试. 3.最终确定需要的开发计划,需要文档编写测试. 4.详细设计阶段:进行数据和数据库完整性测试. 5.编码阶段:依次进行单元测试.集成测试.系统测试,并穿插着功能测试和性能测试. 6.组装测试阶段:进行

软件开发生命周期总结

软件开发生命周期过程 软件开发的标准过程包括六个阶段,而六个阶段需要编写的各类文件达14种之多,在每个阶段需要编写哪些文件,以及这些文件的主要内容见下: 1.可行性与计划研究阶段 可行性研究报告:在可行性研究与计划阶段内,要确定该软件的开发目标和总的要求,要进行可行性分析.投资一收益分析.制订开发计划,并完成应编制的文件. 项目开发计划:编制项目开发计划的目的是用文件的形式,把对于在开发过程中各项工作的负责人员.开发进度. 所需经费预算.所需软.硬件条件等问题作出的安排记载下来,以便根据本计划开

软件开发生命周期及文档

软件开发,同任何事物一样要经历孕育.诞生.成长.成熟.结束等阶段,称之为软件开发生命周期. 通常,软件开发生命周期包括可行性分析与项目开发计划.需求分析.设计.编码.测试.发布维护等. 1)可行性分析与项目开发计划 这个阶段主要确定软件开发的目标及其可行性,明确要解决的问题及解决办法,以及解决问题需要的费用.资源.时间.要进行问题定义.可行性分析,制定项目开发计划. 该阶段产生的文档主要有可行性分析报告(一般很少需要)和项目开发计划. 2)需求分析 需求分析是明确软件系统要做什么,确定软件系统的

软件开发生命周期模型 瀑布模型、增量模型、原型模型、螺旋模型、喷泉模型总结

在校期间学习过这些模型,现在来复习一下. 瀑布模型/改进的瀑布模型 虽然瀑布模型仍然存在很多的问题有待解决,但瀑布模型仍然是最基本的和最效的一种可供选择的软件开发生命周期模型.瀑布模型要求软件开发严格按照需求 ->分析->设计->编码->测试的阶段进行,每一个阶段都可以定义明确的产出物和验证准则.瀑布模型在每一个阶段完成后都可以 组织相关的评审和验证,只有在评审通过后才能够进入到下一个阶段. 由于需要对每一个阶段进行验证,瀑布模型要求每一个阶段都有明确的文档产出,对于严格的瀑布模型

以软件开发生命周期来说明不同测试的使用情况

在软件生命周期的编码和单元测试阶段:用单元测试的方法完成“写出正确的容易理解.容易维护的程序模块”的任务.在综合测试阶段,使用的最基本的测试是集成测试和验收测试,来完成“通过各种类型的测试(及相应的调试)使软件达到预定的要求”的任务,必要时在这一阶段,还可以在通过现场测试或平行运动等方法对目标系统进行进一步的测试检验.

以软件开发生命周期来说明各种测试的使用情况

说到软件生命周期,我们首先来温习一下.一个软件产品或软件系统也要经历孕育.诞生.成长.成熟.衰亡等阶段,一般称为软件生存周期(软件生命周期)通常,软件生存周期包括:1.问题定义:2.可行性研究:3.需求分析:4.总体合计:5.详细设计:6.编码和单元测试:7.综合测试. 接下来,在了解一下软件测试.从软件测试的阶段分类,测试可分为4个主要阶段:单元测试.集成测试.系统测试.验收测试.这是一种由小到大,循序渐进的测试过程. 从基于功能的角度: 1.单元测试 这个步骤主要是开发者针对开发过程中,程序

软件开发生命周期-酒店销售管理系统实例---1.数据库设计

软件项目开发模式 一  螺旋开发模式 适合于项目前期部分需求不确定的情况,对于每一个模块进行一个个开发: 分析.设计.编码.测试.上线. 好处:降低软件开发的风险(产品尽量满足用户需求) 二  瀑布模式 先进行所有模块的需求分析,当分析结束后,才进入项目下一个阶段,即设计.编码.测试.上线 更容易项目把控,项目质量有控制. "餐馆王" 系统功能分析 1.餐桌管理 2.菜类别管理(菜系) 3.菜信息(菜品) 4.订单管理 详细分析 1.后台录入的餐桌,要在前台显示:且只显示未预订 2.后

软件开发生命周期来说明不同的测试的使用情况

1.编码阶段:单元测试 单元测试是对软件中的基本组成单位进行测试,检验其函数的正确性.其测试周期贯穿整个开发期间. 2.合并功能模块:集成测试 集成测试在基本功能单元模块完成时,进行模块的整合时需要进行一定的测试,检测所提供的接口是否正确. 3.完成时:系统测试 系统测试是对已经集成好的软件系统进行彻底的测试,以验证软件系统的正确性以及性能等是否满足各系统的需要. 4:.验收阶段:验收测试: 验收测试时在软件完成交付用户使用时有用户完成的测试