我们在软件的开发和维护过程中会遇到一系列严重的问题,比如软件开发的成本和进度估计的不准,用户对已经完成开发的软件不满意、用户需求变更、软件产品质量不好、软件难以维护、软件没有合适的文档资料、软件开发成本高昂等。
如何开发软件,以满足对软件日益增长的需求?如何维护数量不断膨胀的已有软件?
只要掌握了正确科学的软件开发流程,上面的问题就能很好的解决。
软件开发主要分为以下几个阶段
1、问题定义
确定好要解决的问题是什么(what),通过对客户的访问调查,系统分析员扼要的写出关于问题性质、工程目标和工程规模的书面报告,经过讨论和必要的修改之后这份报告应该得到客户的确认。
2、可行性研究
确定该问题是否存在一个可以解决的方案。这个阶段的任务不是具体解决问题,而是研究问题的范围,套索这个问题是否值得去解决,是否有可行的解决办法。可行性研究的结果是客户做出是否继续进行这项工程的决定的重要依据,一般来说,只有投资可能取得较大的效益的那些工程项目才值得继续进行下去。
3、需求分析
深入具体的了解用户的需求,在所开发的系统要做什么这个问题上和用户想法完全一致。明确目标系统必须做什么,确定目标系统必须具备哪些功能。通常用数据流图、数据字典和简要的算法表示系统的逻辑模型。用《规格说明书》记录对目标系统的需求。
4、概要设计(总体设计)
概括的说,应该怎样实现目标系统,设计出实现目标系统的几种可能方案,设计程序的体系结构,也就是确定程序由哪些模块组成以及模块之间的关系。
5、详细设计
实现系统的具体工作,编写详细规格说明,程序员可以根据它们写出实际的程序代码。详细设计也称模块设计,在这个阶段将详细的设计每个模块,确定实现模块功能所需的算法和数据结构。
6、编码和单元测试(编码占全部开发工作量的10%-20%)
7、综合测试(测试占全部开发工作量的40%-50%)
分为集成测试和验收测试。
8、软件维护
通过各种必要的维护活动使系统持久的满足用户的需求。主要分为 改正性维护、适应性维护、完善性维护、预防性维护。
软件交付
软件产品包括:程序、文档、数据

软件生命周期的八个阶段相关推荐

  1. 软件生命周期-SDLC-的六个阶段简单介绍

    1.评估现有的系统-问题的定义及规划 此阶段是软件开发方与需求方共同讨论,主要确定软件的开发目标及其可行性. 2.需求分析 在确定软件开发可行的情况下,对软件需要实现的各个功能进行详细分析.需求 分析 ...

  2. 软件生命周期的六个阶段

    软件的生命周期,亦称软件的生存周期.它是按开发软件的规模和复杂程度,从时间上把软件开发的整个过程(从计划开发开始到软件报废为止的整个历史阶段)进行分解,形成相对独立的几个阶段,每个阶段又分解成几个具体 ...

  3. 软件的生命周期(软件工程各阶段的工作)

    其实软件工程是一个非常大的概念,我们的软件测试也好,软件开发也好,软件运维也好,其实都是属于软件工程的范畴. 今天就讲一讲软件工程和我们软件测试相关的一些内容. 我们今天三个主要的节点:   1.软件 ...

  4. 项目管理基础:软件生命周期概念介绍

    1.软件生命周期定义 软件产品或软件系统要经历孕育.诞生.成长.成熟.衰亡等阶段称为软件的生命周期. 2.软件生命周期阶段组成 软件的生命周期由可行性分析与项目开发计划.需求分析.总体设计.详细设计. ...

  5. 软件测试基础课程学习笔记2--贯穿软件生命周期的测试活动

    (1) 软件生存周期:开发文档下载 软件生命周期一般包括以下阶段:软件计划与可行性研究(问题定义.可行性研究).需求分析.软件设计(概要设计与详细设计).编码.软件测试.运行与维护 (2) 软件测试的 ...

  6. 软件生命周期模型知识点总结(瀑布模型、演化模型、增量模型、V模型、W模型、螺旋模型、构件组装模型、RAD模型、RUP模型、极限编程模型)

    软件生命周期模型 基本概念 --PDCA循环(戴明环) --软件工作过程 --软件生命周期 --软件过程模型 传统软件生命周期模型 --瀑布模型 --演化模型 --增量模型 --喷泉模型 --V模型 ...

  7. 软件测试作业1:正确理解原型方法对软件生命周期不同阶段的支持

    作业1 1.正确理解原型方法对软件生命周期不同阶段的支持,分别给出:辅助或代替分析阶段:辅助设计阶段:代替分析与设计阶段:代替分析.设计和实现阶段:代替全部开发阶段所对应的开发活动执行时间顺序. 答: ...

  8. 深圳软件测试培训:软件生命周期(SDLC)的六个阶段

    深圳软件测试培训:软件生命周期(SDLC)的六个阶段 1.问题的定义及规划 此阶段是软件开发方与需求方共同讨论,主要确定软件的开发目标及其可行性. 2.需求分析 在确定软件开发可行的情况下,对软件需要 ...

  9. 软件生命周期之软件计划阶段

    [总体把握] 软件计划阶段分为两部分:"是什么"."怎么做". 一."是什么":软件计划阶段是软件生命周期的第一步,是软件开发的前提. 二. ...

  10. 软件生命周期阶段有几个?常见软件生命周期模型有哪些?

    软件生命周期阶段及常见的软件生命周期模型,软件生命周期是指一个计算机软件从功能确定.设计,到开发 成功投入使用,并在使用中不断地修改.增补和完善,直到停止该软件的使用的全过程. 生命周期从收到应用软件 ...

最新文章

  1. oracle valueerror,Oracle VALUE_ERROR异常(挑战题编号000005)
  2. R语言可视化散点图(scatter plot)图中的标签和数据点互相堆叠丑死了,ggrepel包来帮忙:文本标签(label)相互排斥,远离数据点,远离绘图区域的边缘。
  3. server.mapPath(.mdb)
  4. 进阶指令——wc指令【作用:统计文件内容信息(包含行数、单词数、字节数)】、date指令【作用:表示操作时间日期(读取、设置)】、cal指令【作用:用来操作日历的】、clear/ctrl + L指令
  5. ASP保存远程图片到本地 同时取得第一张图片
  6. sql注入问题-视图-事物-以及存储过程(可视化工具)
  7. 关于链表的简单创建和遍历
  8. 虚拟机(centos系统)连接网络,xshell连接虚拟机
  9. Bailian4029 数字反转【进制】(POJ NOI0105-29)
  10. eNSP进行配置网络模拟网络联通
  11. android viewpager原理,ViewPager不为人知的秘密
  12. 在计算机系统软件中核心软件,在计算机系统软件中的核心软件是()
  13. 云智能,助力警务大数据云平台建设
  14. 软件测试基础知识整理
  15. 揭开阿里巴巴复杂任务资源混合调度技术面纱
  16. 野火ISO-V2学习
  17. BZOJ 4556 [Tjoi2016Heoi2016]字符串
  18. Nvidia Deepstream极致细节:3. Deepstream Python RTSP视频输出显示
  19. 期刊论文发表能加分吗
  20. NOIP-模拟试题之--猴子摘桃

热门文章

  1. 面向视频领域的边缘计算白皮书
  2. cck8graphpad作图_北京cck8数据作图「上海儒安生物科技供应」
  3. 三极管开关为什么工作在饱和区和截至区
  4. GameSalad:率先使用HTML5发布新游戏
  5. 齐杰文学CMS - 关关采集器2021可用19条采集规则
  6. 《麦肯锡方法》读书笔记15
  7. Spring Security系列之基本原理
  8. Google Chrome抓包分析详解
  9. 源码编译 Qt 6.2
  10. C#中backgroundworker的使用