当前位置:   article > 正文

4600 字 + 20 图:测试必知的软件开发流程_。用增量式对下图进行集成规划。

。用增量式对下图进行集成规划。

软件工程简述

什么是软件工程?

听到「软件工程」四个字,多数人既熟悉又陌生!熟悉是因为与自己的职业息息相关,大多数公司都或多或少地在用软件工程,比如敏捷模型,单元测试、性能测试都属于软件工程范畴,为什么软件工程被各公司重视?有两点原因:

  1. 生活越来越依赖软件,公司需要经济且快速的方式开发出可靠、可信的系统,
  2. 软件工程提供了更低的测试成本、质量保障成本和长期维护成本

奇怪的是,虽然工作中经常接触到软件工程,为什么多数人对其感到很陌生?因为每个人接触的只是软件工程片段,比如测试同学接触的是软件工程测试部分,研发同学接触软件工程开发部分。那究竟什么是软件工程呢?软件工程是一门工程学科,涉及软件生产的各个方面,从最初的系统规格说明直到投入使用后的系统维护,都属于其学科范畴。

多数人对软件工程存在偏见,认为其过于落后跟不上互联网应用发展,并不是这样!不同的系统使用的软件工程方法各不相同,在过去的 50 多年里,软件工程也在随着系统发展变化。举个例子,汽车嵌入式控制系统,该系统十分注重安全性不允许被任意修改,因此需要烧录到 ROM 中。

不难想像,由于 ROM 的只读性,修改控制系统会十分昂贵!为避免汽车被召回,厂商需要反复检测控制系统是否完好。上述例子需要哪些软件工程呢?汽车控制系统无界面,不会与用户产生交互,该厂商使用的软件工程应该是无交互非迭代类。

再看一个反例,现在的互联网应用,大多采用交互式的 web 应用,很多公司会使用迭代开发。

控制系统和 web 系统不相同,两者使用的软件工程方法也不同,控制系统使用的是非迭代开发流程,而 web 系统使用的是迭代开发流程。因此得出一个简单结论**“只要两个系统不相同,使用的软件工程方法就不同!”**,这个结论对吗?当然不对,不能一棒子打死!软件工程也存在一些通用的研究方向,比如:

  • 开发流程可被管理:管理人员可以控制开发流程并制定开发计划,比如设立项目 deadline。
  • 关注可靠性和性能:所有的系统都应该运行正常并且能够抵抗外部攻击,此外,系统也应当高效运行不浪费资源。
  • 理解需求:开发人员需要了解客户的需求,要在预算范围内有的放失,比如项目 deadline 是三天,与主要功能无关的需求都可以延期。
  • 系统复用:开发人员应该尽可能地复用已有功能,避免造轮子。

互联网应用

最后谈一谈与生活息息相关的互联网应用。最初的 Web 只是静态页面,简单而直接,2000 年左右web 开始崛起,浏览器越来越强悍,用户可以在页面上干更多的事!之前需要用光盘看视频,现在打开浏览器即可观看,人们越来越喜欢 web 应用,服务型系统如雨后春笋般出现。相对于个人计算机应用,服务器型应用更容易修改和升级,软件即服务的思想在 21 世纪初被提出这一思想已成为 web 应用交付的标准方法,例如 Google 移动应用、微软的 ofice365、 Adobe 的 Creative 套件。

当 web 应用越来越多,其依赖的服务器也越来越多,维护服务器的成本也越来越高,中小型公司难以承担如此高昂的维护费用,“云”伴随而生,即由一家公司专门维护服务器,将服务器租借给其他公司,软件运行在远端云上。

不可否认,Web 应用对「软件工程」造成了巨大影响,主要有以下几点:

  1. Web 应用更依赖复用:开发人员常常使用 Web 框架开发 Web 应用,框架集成了很多常用功能,比如 SpringBoot 集成了事务管理,数据持久化、Web 框架等等。
  2. 增量开发和交付:用户的需求并不准确,开发完成后,用户可能更改需求或者提出新需求,公司会采用增量开发/交付。
  3. 富页面技术出现:AJAX( Holdener2008)和 HTML5( Freeman2011)等富页面技术出现。

注意:纵然 Web 应用飞速发展,但前面讨论的软件工程思想同样适用。

软件开发流程

「软件开发流程」是指软件开发的开发生命周期。不同的系统会采用不同的软件开发流程,但每一个开发流程都包含 4 个基本行为:

  1. 规格说明:描述了软件功能和一些约束条件。
  2. 开发:开发出符合规格说明的软件。
  3. 确认:确保软件符合客户的需求。
  4. 演化:客户的需求是不断变化的,软件需要不停地迭代以满足需求。

“就四个行为

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/212754
推荐阅读
相关标签