软件工程-基础理论知识

1、软件工程

  • 什么是软件工程
    软件工程这一说法最早出现在1986年德国召开的NATO会议,首次提出“软件工程”这个名词,当时主要是希望用工程化的原则和方法来克服当时的软件危机。在这次会议后,慢慢出现了软件开发模型,开发方法,工具。同时也产生了一些面向数据流,面向数据结构,面向对象,以及计算机辅助的软件工程(简称-CASE)等一些方法。
    软件工程主要是指向计算机科学,数学,以及管理学等,用工程化原则和方法来解决软件问题,其目的是提高软件生产效率,提高软件质量,降低软件成本。

1.1、计算机软件

  • 计算机软件是指计算机系统中的程序以及计算机相关文档。按照软件的应用领域,可以分为10大类。
  • 分别是:系统软件,应用软件,工程/科学软件,嵌入式软件,产品线软件,WEB应用,人工智能软件,开发计算,网络资源,开源软件。
  • 基本原理:用分阶段的生命周期计划严格管理,坚持进行阶段评审,实现严格的产品控制,采用现代化程序设计技术,结果应该能清楚的审查,开发小组的人员应少而精,承认不断改进软件工程实践的必要性。

1.2、软件生命周期

  • 软件产品虽然不像人类一样有生命,能够行走,吃,对外界的刺激做出应激的反应。但是这是对于有机生命的一个定义。而软件产品属于无机生命,对于无机产品,也有相应的的一个生命周期。
  • 具体可以分为:可行性分析与项目开发计划
    这个阶段主要是确定软件的开发目标与可行性,软件是否确定进行开发,是否可以进行开发,需要多少资金,参与这个项目需要那些人群,那些人群进行使用等。
  • 需求分析
    这个阶段主要是确定软件系统需要做什么,有哪些功能模块,数据要求,而不是具体的解决问题。这个阶段只是这个软件系统的一个大的架子,没有具体的实现细节。
  • 概要设计
    这个阶段主要是设计软件的结构,明确软件是包含哪些模块,这些模块又是怎么样的一个层次结构,模块之间又有什么关系。
  • 详细设计
    这一阶段是软件系统的一个具体实现环节,也就是所谓的功能代码实现。主要是软件设计师,码农参与。
  • 测试
    这个阶段就是把已经写好的功能代码进行测试,检查代码是否存在BUG,功能是否达到要求,系统是否能够正常运行。(这里需要注意,测试阶段有专门的软件测试人员,并不是开发人员,同时测试阶段主要是寻找错误,并不是证明软件没有错误)
  • 维护
    这一阶段是整个软件生命周期中最长的一个周期,一般是指软件进行交付使用后,对软件出现的一系列问题进行解决,维护系统功能的正常运行。

1.3、软件过程模型

  • 软件过程模型又称为软件开发模型,一般我们经常看到的模型有:瀑布模型,增量模型,原型模型,螺旋模型,喷泉模型,统一过程模型,敏捷方法等。下面给大家概述常见的几种模型。
1.3.1、瀑布模型

这个模型主要是前面一级的任务假如没有完成,后面的任务将无法进行,一步步,一层层的进行。因此也有一个明显的缺点,就是难以适应变化的需求,上一个阶段的结束才可以进行下一个阶段的开始。
如图:在这里插入图片描述

1.3.2、增量模型

这个模型主要是适用于要求短时间内快速开发一个产品并且风险比较小。基本上记住这一句话就可以了应付考试。如下图:在这里插入图片描述

1.3.3、原型模型

这个模型主要是适用于用户需求不清晰,且经常发生需求变动的情况。这个模型不适合大规模系统设计。适用一般规模系统设计。如下图:在这里插入图片描述

1.3.4、螺旋模型

这个模型一般适用于规模比较大,复杂并且具有高风险的系统。一般用于大规模系统。如下图:在这里插入图片描述

1.3.5、喷泉模型

这个一般适用于以一种用户需求为动力,以对象作为驱动的模型,适用面向对象的开发方法。喷泉模型的每一个阶段没有明显的界限,开发人员可以同步进行,可以提高软件项目的开发效率,节省开发时间。但是开发过程需要大量的开发人员,不利于项目管理,同时严格要求管理文档。如下图:在这里插入图片描述

1.3.6、统一过程模型

这个模型是一种“用例和风险驱动,以架构为中心,迭代并且增量”的开发过程,由UML方法和工具支持。统一过程定义了4个技术阶段,分别为:
起始阶段,也叫初始阶段:生命周期目标
精化阶段:生命周期架构
构建阶段:初始运作功能
移交阶段:产品发布

1.3.7、敏捷方法

敏捷方法开发的一个总体目标是:尽可能早的,持续的对于有价值的软件的交付,使客服满意。敏捷方法包括:极限编程,水晶法,并列争求法,自适应软件开发,敏捷统一过程。
其中,并列争求法把30天作为一个时间点,也可以把时间点进行修改变动。水晶法认为每一个不同的项目都需要一套不同的策略。极限编程也叫XP,有4大价值观,5个原则,12个最佳实践:如下图:在这里插入图片描述

  • 以上就是一些常见的软件过程模型,希望能给大家带来帮助,若有错误之处,请指正,谢谢!
  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

-托尼-

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值