一、软件危机
1.Software=Program+Data+Document
2.软件的特点:
(1)无形
(2)副本制作简单
(3)无磨损
3.软件危机:是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
4.软件危机的典型表现:
(1)对软件开发成本和进度的估计常常很不准确;
(2)用户对“已完成的”软件系统不满意的现象经常发生;
(3)软件产品的质量往往靠不住;
(4)软件常常是不可维护的;
(5)软件通常没有适合的文档资料;
(6)软件成本在计算机系统总成本中所占的比例逐年上升;
(7)软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。
5.产生软件危机的原因:
一方面与软件本身的特点有关,另一方面也和软件开发与维护的方法不正确有关。

二、软件工程
1.中心思想:
把软件当作一种工业产品,要求采用工程化的原理与方法对软件进行计划、开发和维护。
2.目的:
实现按预期的进度和经费完成软件生产计划,提高软件的生产率和可靠性。
3.基本流程:
(1)首先进行系统调查和系统分析;
(2)再进行逻辑设计、物理设计;
(3)最后才编制实施;
(4)反复测试;
(5)试运行后,再投入长期运行;
(6)在运行中不断维护、完善。

三、软件生命周期

四、软件工程模型
1.瀑布模型:
(1)阶段具有顺序性和依赖性{①必须等前一阶段的工作完成之后,才能开始后一阶段的工作;②前一阶段的输出文档就是后一阶段的输入文档,因此,只有前一阶段的输入文档正确,后一阶段的工作才能获得正确的结果}
(2)推迟实现的观点
(3)质量保证的观点{①每个阶段都必须完成规定的文档;②每个阶段结束前都要对所完成的文档进行评审}
瀑布模型基本上是一种文档驱动的模型
优点: 可强迫开发人员采用规范的方法;严格规定了每个阶段必须提交的文档;每个阶段交出的所有产品都必须经过质量保证小组的仔细验证。
缺点: 用户只能通过文档了解产品,很可能导致最终开发出的软件产品不能真正满足用户的需要。

2.快速原型模型:
快速原型的本质是“快速”,快速原型模型是不带反馈环的
优点: 有助于保证用户的真实需要的得到满足;软件产品的开发基本上是线性顺序进行的。
缺点: 系统结构通常较差;用户可能混淆原型系统和最终系统。

3.增量模型:
增量模型也称为渐增模型。使用增量模型开发软件时,把软件产品作为一系列的增量构件来设计、编码、集成和测试。使用增量模型时,第一个增量构件往往实现软件的基本需求,提供最核心的功能。
优点: 能在较短时间内向用户提交可完成部分工作的产品;逐步增加产品功能可以使用户有较充裕的时间学习和适应新产品。
难点: 软件体系结构必须是开放的;不同的构件可能无法集成到一体。

4.螺旋模型:
螺旋模型的基本思想是:使用原型及其他方法来尽量降低风险。
理解这种模型的一个简便方法,是把它看作在每个阶段之前都增加了风险分析过程的快速原型模型。适用于内部开发的大规模软件项目。
优点: (风险驱动)对可选方案和约束条件的强调有利于已有软件的重用,也有助于把软件质量作为软件开发的一个重要目标;减少了过多测试和测试不足所带来的风险;维护和开发之间并没有本质区别。
缺点: 过多的迭代次数可能会增加成本,延迟提交时间。

5.喷泉模型:
“喷泉”这个词体现了面向对象软件开发过程迭代和无缝的特性。
喷泉模型适用于面向对象的软件开发
优点: 各个阶段没有明确的界限,开发人员可以同步开发;降低错误的可能性。
缺点: 需要大量的开发人员,不利于项目的管理;要求严格管理文档,审核难度大。

五、Rational统一过程(略)

练习题:
1.软件是一种( )。
A、程序
B、数据
C、逻辑产品
D、物理产品2.软件生存周期中花费最多的阶段是( )。
A、详细设计
B、软件编码
C、软件测试
D、软件维护3.软件开发方法是( )。
A、指导软件开发的一系列规则和约定
B、软件开发的步骤
C、软件开发的技术
D、软件开发的思想4.瀑布模型本质上是一种( )模型。
A、线性顺序
B、顺序迭代
C、线性迭代
D、能及早见到产品的5.在软件开发模型中,提出最早、应用最广泛的模型是( )。
A、瀑布模型
B、喷泉模型
C、快速原型模型
D、螺旋模型6.瀑布模型不适合用于( )的软件开发。
A、需求模糊不清
B、用户不能参与开发
C、用户对计算机不了解
D、开发人员对业务知识不熟悉7.软件工程的出现是由于( )。
A、软件危机的出现
B、计算机硬件技术的发展
C、软件社会化的需要
D、计算机软件技术的发展8.软件在运行和使用中也存在退化问题。()
9.软件危机的产生主要是因为程序设计人员使用了不适当的程序设计语言。()
10.软件同其他事物一样,有孕育、诞生、成长、成熟和衰亡的生存过程。()
11.原型是软件的一个早期可运行的版本,它反映最终系统的部分重要特性。()
12.软件开发过程中,一个错误发现得越晚,为改正它所付出的代价就越大。()选择题答案:CDAAAAA
判断题答案:对错对对对

软件工程(速成)——第一章 软件与软件工程相关推荐

  1. 第一章软件危机与软件工程

    第一章 软件危机与软件工程 1.1 软件的定义是什么 计算机软件是与计算机系统操作有关的程序.规程.规则及任何与之有关的文档和数据. 软件的含义 (软件是程序.数据以及文档的完整组合) 研制了软件设计 ...

  2. 软件工程技术--第一章 概述

    第一章 软件 操作系统本身就是一个软件,一个系统可以理解为系统软件. 什么是软件? 软件是计算机系统的"思维中枢",它与计算机硬件相互作用,互相配合,从而实现了特定的系统功能. 软 ...

  3. 第一章 软件开发入门引导及概述

    第一章 软件开发入门引导及概述 前言 计算机系统是由硬件和软件组成,所谓硬件是指组成计算机系统的物理设备,包括电子的.机械的.磁的.光的设备的总和. 我们的电脑.手机.电子设备都算一个小的计算机. 而 ...

  4. 软件设计模式--第一章 软件设计模式基础

    目录 第一章 软件设计模式基础 1.软件设计模式概述 (1)什么是软件设计模式 (2)学习设计模式的意义 (3)软件设计模式的基本要素 (4)GoF的23种设计模式简介 2.UML中的类图 (1)统一 ...

  5. 现代软件工程讨论第一章-第四章

    第一章 1.代码如下 #include <iostream> #include <cstdio> #include <time.h> using namespace ...

  6. 软件工程-第2章 软件生存周期与软件过程

    文章目录 软件工程 第二章 软件生存周期与软件过程 ==2.1 软件生存周期== 2.2 传统软件过程 1.瀑布模型 2.快速原型模型 3.软件演化模型 4.形式化方法模型 5.净室模型 2.3 面向 ...

  7. 软件工程——第1章软件工程学概述知识点整理

    本专栏是博主个人笔记,主要目的是利用碎片化的时间来记忆软工知识点,特此声明! 文章目录 1.为什么要有软件工程这门学科? 2.软件分为哪些阶段? 3.软件危机的定义? 4.软件危机包含的问题有哪些? ...

  8. 《软件工程》第一章——初始软件工程

    1.1 软件无处不在 软件是软件工程的研究对象,也是软件工程的产品形态于客观存在. 工程是理论知识应用于实践的科学,其目的是经济有效地解决实际问题. →软件工程是为了解决开发成本效益和软件质量的问题而 ...

  9. 【蓝桥杯嵌入式主板(G4)】第一章 软件环境搭建

    在比赛的考场上,自己的电脑是已经安装好了环境的,但是在比赛之前,同学们自己备赛的时候,肯定会用到一些软件,现在,公子带大家安装软件环境. 第一节    安装jre 1,双击jre. 2,点击" ...

最新文章

  1. 落地三大产业,深耕两个领域,百度AI的这一年|李彦宏乌镇行
  2. 浅谈:Android应用清理内存
  3. C语言高级编程:指针变量p指向的地址与p自身的地址
  4. Steins;Game Gym - 102798J(未解决)
  5. elk如何同步到es 方案靠谱吗_架构设计:微服务架构如何划分?这6个标准原则让你一目了然...
  6. Spring Boot学习总结(10)——SpringBoot打包成Docker镜像
  7. 微信小程序自动检测更新新版本
  8. VulnHub渗透实战--Bytesec
  9. 2021国内市场CRM软件排行榜
  10. elementUI 输入框添加小图标
  11. 解决win10桌面管理器内存泄漏问题
  12. Linux创建 Raid卷
  13. 基于强化学习的自我完善聊天机器人
  14. MindMapper中的分支格式怎样进行修改
  15. 我的世界java泰坦生物版_我的世界泰坦生物MOD
  16. 人工智能资料整理总结
  17. mysql 1168_解决fatal error LNK1168的终极方法
  18. 【BUAA OS】用VSCode写MOS
  19. 重磅!骂了 10 年,微信这功能终于要来了!
  20. 软件安全学习笔记(1):系统引导与控制权

热门文章

  1. 调用第三方api在线生成二维码
  2. webpy —— 简单直接的 python web 框架
  3. Android安卓——实现发短信功能的代码
  4. flex-shrink如何如何分配容器收缩空间
  5. 解决浏览器看不到Flash文档(尤其某慕课)
  6. 拥有梦想的时候 拿出勇气和行动
  7. V4L2驱动详解 API翻译
  8. JS JSP HTML CSS概念
  9. OSChina 周四乱弹 ——潘金莲告西门庆
  10. java中override快捷键_Java高级应用简笔