其实软件工程是一个非常大的概念,我们的软件测试也好,软件开发也好,软件运维也好,其实都是属于软件工程的范畴。

今天就讲一讲软件工程和我们软件测试相关的一些内容。

我们今天三个主要的节点:

 

1.软件的生命周期

至少我们得知道软件它从开始到结束会经过一些什么样的环节,哪一些环节由哪一些人来做,这个其实就是软件的生命周期。

2.软件开发模型

软件的诞生其实是和开发息息相关的。

3.软件测试模型

开发人员把软件做出来之后,就可以让测试来进行一个相关的测试,测试执行完成,就可以进行上线(交付)

因为在开发和测试的过程中间,通过这么多年的发展,整理出了一系列的开发模型和测试模型。这些模型都是有利又有弊,有一些是符合当前需求的,有一些是不太符合当前需求的。我们就来做一个扩展。

软件生命周期

软件生命周期(SDLC,Systems Deve lopment Life Cycle)是指软件开始研制到最终被废弃不用这整一个过程。(这个概念我们要记一下)

软件生命周期包括 问题定义及规划、需求分析、系统设计、软件编程、软件测试、软件维护等阶段。(参考下方类比图理解再记忆)

软件生命周期各阶段工作

1.问题定义及规划阶段(计划阶段)任务:此阶段是软件开发与需求方共同讨论,主要确定软件的开发目标及可行性。输出文档:可行性研究报告和项目开发计划比如说微信、QQ、滴滴打车,之前没有这些软件的时候,是如何产生的呢?产品经理有这样子的一个想法,腾讯高级执行副总裁,微信事业群总裁 微信之父 张小龙 想要做一个微信这样的软件,有了这个想法之后,就召集团队相关人员讨论并制定计划,确定这个软件的开发目标及其可行性。有没有开发的价值,能不能给公司带来效益。

这个就是问题定义及规划阶段(计划阶段)对于提出这个想法的人我们一般也把他叫做产品经理或者客户,有了想法找方案公司来实现落地。计划提出来之后,一般还会去做一些调研,产品有没有社会价值或者说市场价值。(市场调研)然后进入第二个阶段。---专业人做专业事:客户/产品经理

2.需求分析阶段任务:在确定软件开发可行性的情况下,对软件需要实现的各个功能进行详细需求分析。输出文档:软件需求规范说明书(或者原型图)数据要求说明书我们既然去做微信或者滴滴,我们就要去确定软件中间是要有哪一些功能的,有一些是马上能够想到的,有一些是暂时想不到的。因此我要把想得到的这些功能详细的写出来,能够把原型图画出来是最好的。因为你有了这些文字性的说明、原型图,那就便于开发后期研发以及一系列操作。

---专业人做专业事:需求人员/产品经理

3.软件设计阶段接下来就要正式对软件进行实现了,就是根据在第二个阶段你对每个功能要怎么样去进行实现,要达到什么样的效果,一次进行系统设计、框架设计、数据库设计,都是在这个阶段去完成的。什么是系统框架设计、数据库设计?零基础小白可能会觉得有些抽象,举个例子。

建房子,前面第一个阶段第二个阶段就相当于土地已经批了,也确定了是盖商业还是盖住宅,盖几栋,几个单元,一层是几户,几个楼梯。基本都确定了,确定之后。设计阶段:接下来就是设计,设计师出图纸,施工单位确定实施细节。任务:根据需求分析的结果,对整个软件系统进行设计,如系统框架设计、数据库设计等。概要设计:主要架构的实现,指搭建结构、表述各模块功能、模块接口连接和数据传递的实现等项事务。详细设计:对概要设计中表述的各模块进行深入分析,对各模块组合进行分析等。输出文档:总体设计说明书详细设计说明书、数据库设计说明书

---专业人做专业事:设计/开发

4.软件编码开发任务:编码,将软件设计的结果转化为计算机可运行的程序代码。输出文档:用户手册、操作手册、模块开发卷宗以建房子为例子,这个阶段就是施工阶段。---专业人做专业事:开发/研发

5.测试阶段测试:对软件进行严密的测试,一发现软件在整个软件设计过程中存在的问题并加以纠正。输出文档:测试计划、测试分析报告,项目与开发总结报告以建房子为例子,这个阶段就是第三方的质检机构进行检测、验收阶段。---专业人做专业事:测试人员 6.部署和维护阶段部署任务:讲软件上线,或者给客户进行部署安装维护任务:软件开发完成并投入使用后,由于多个方面的原因,软件不能继续适应用户需求,要延续软件的使用寿命,就必须对软件进行维护。软件的维护包括纠错性维护和改进性维护两个方面。---专业人做专业事:运维人员(以及多方人员)7.升级和淘汰阶段升级:修复错误、添加需求等,编码后再测试,测试通过则进行推送升级。

OK,这个就是软件生命周期的几个阶段,以及每个阶段要做的事情,每个阶段主要负责人以及参与的人员。每个阶段都由不同的人员来负责,软件诞生到结束要经历一系列的过程,不是一天两天能完成的。

总结:
最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取

软件的生命周期(软件工程各阶段的工作)相关推荐

  1. 一文弄懂软件发布生命周期中各阶段名称及代表含义

    什么是软件发布生命周期 软件发布生命周期是指开发.测试和发布软件产品的过程.不同阶段代表了不同的稳定级别(Stability levels). 软件发布生命周期的各个阶段名称及含义 Pre-alpha ...

  2. 软件的生命周期的若干阶段

    要做好一个软件,要了解软件的生命周期,在什么阶段,要做好什么事情! 在了解软件的生命周期之前,先了解一下软件工程. 软件工程 软件工程是一门研究用工程化方法构建和维护有效的.实用的和高质量的软件的学科 ...

  3. 软件开发生命周期-2-每个阶段的利益相关方

    记录下一点自己的心得体会,分享给大家,有不足之处,望指教. 下面我只提及每个阶段所涉及到的利益相关方,关于利益相关方的利害关系分析以及如何寻求平衡之道有一个作者认为比较合理的方法论,会在后面的章节专门 ...

  4. 软件开发生命周期中的设计阶段_软件的生命周期——测试人员必须了解的事

    软件的生命周期(prdctrm) 计划阶段(planning)-〉需求分析(requirement)-〉设计阶段(design)-〉编码(coding)->测试(testing)->运行与 ...

  5. 9分钟内完成软件开发生命周期

    软件在开发过程中要经历几个阶段,包括计划.需求分析.设计.编码.测试.部署.维护等.这个由计划开始,直至维护结束的完整周期称为软件开发生命周期. 9分钟完成软件开发生命周期 01 计划阶段 客户或者用 ...

  6. 科创项目日记(1)—对软件开发生命周期的一些小总结

    最近在做一个科创项目,该项目中,我们的第一个任务就是总结一下软件生命周期各个阶段的任务以及自行网上收集各种软件生命周期文档的编写模版.经过这几天的资料收集,技术顾问的指导,加上自己过滤整理,终于有了现 ...

  7. 软件工程--软件危机-生命周期-软件过程

    文章目录 软件危机 问题 现象 危机产生的原因 途径 软件 定义 特点 软件工程方法学 软件生命周期(过程模型) 软件定义时期 软件开发时期 运行维护 软件过程 理想瀑布模型 实际瀑布模型 快速原型模 ...

  8. 软件开发生命周期中的设计阶段_软件开发分为几个阶段

    软件开发生命周期,亦叫做软件生命周期或者系统开发生命周期,是直到生命周期结束的软件生成生命周期.有问题定义,可行性分析,总体描述,系统设计,编码,调试和测试,验收.运行,维护和升级到过时,这种分时的思 ...

  9. sdlc 瀑布式 生命周期_SDLC指南–软件开发生命周期的阶段和方法

    sdlc 瀑布式 生命周期 When I decided to teach myself how to code almost four years ago I had never heard of, ...

最新文章

  1. Java 最常见的 10000+ 面试题及答案整理:持续更新
  2. vbox下安装arch
  3. [渝粤教育] 广东-国家-开放大学21秋期末考试中国近现代史纲要(A)10881k1
  4. 空间金字塔池化_回顾语义分割—DenseASPP (密集空洞空间金字塔池化)
  5. Centos7 防火墙操作及端口查询
  6. php jquery mysql,使用PHP / MySQL搜索并使用jQuery动态更新
  7. 一个优雅的后端API接口样例和代码实现方案
  8. lightoj1027_数学求期望
  9. python学习——正则表达项目
  10. 【iOS开发-35】有了ARC内存管理机制,是否还须要操心内存溢出等问题?——面试必备...
  11. 概率矩阵分解模型 PMF
  12. 使用BoobSnail生成任意Excel 4.0 XLM宏文件
  13. Litestar4D道路照明设计
  14. SOLIDWORKS工程图导出DWG图纸时图层映射关系
  15. sipp使用过程中报错
  16. 2020 年省份数据拉取
  17. CDR中神奇的卷页滤镜
  18. Hololens学习(一)安装 部署Hololens开发环境
  19. leet 75. 颜色分类
  20. hand crafted feature:histogram(直方图)

热门文章

  1. Codeforces - 1428E. Carrots for Rabbits
  2. Win10 连接不上局域网共享文件解决方案
  3. Java学习笔记分享之Spring Cloud Netflix篇(上)
  4. python 类 实例 方法 涉及到的名称定义
  5. 一个android工程师写java后台的感受
  6. Radius/Free Radius/Diameter协议
  7. Deep K-SVD Denoising
  8. 报录比超过13:1的计算机专硕?211暨南大学公布报考人数!
  9. 如何取消Word文档保护密码(密码的破解方法)
  10. 项目经理如何做好项目数据分析?