目录

第一章 | 软件工程概述

【软件的特性】

【软件危机】

【软件工程】

【软件开发基本策略(要素)】

【软件工程基本原理】

【单元测试题】

选择题

判断题


第一章 | 软件工程概述

【软件的特性】

  • 软件 = 程序 + 数据 + 文档

    • 程序:计算机可以接受的一系列指令,运行时可以提供所要求的功能和性能。

    • 数据:使得程序能够适当地操作信息的数据结构。

    • 文档:描述程序的研制过程、方法和使用的图文资料。

  • 软件的特性:复杂性  |  一致性  |  可变性  |  不可见性 等固有的内在特性,使得软件开发过程变得难以控制,这是造成软件开发困难的根本原因。

    • 复杂性:软件是 Complex 的。

      注意: Complex != Complicated。 Complex:由许多相互关联的简单部分组成 | Complicated:没有被很好地理解或解释

    • 一致性:软件不能独立存在,需要依附于一定的环境(如硬件、网络以及其他软件)

      软件必须遵从人为的惯例并适应已有的技术和系统

    • 可变性:软件需要随接口不同而改变,随时间推移而变化,而这些变化是不同人设计的结果其他系统

    • 不可见性:软件是安装在硬件里的,人不可能通过硬件看到里面的软件。


【软件危机】

  • 软件危机的产生:软件 复杂性 | 一致性 | 可变性 | 不可见性 等固有的内在特性,使得软件开发过程变得难以控制,这是造成软件开发困难的根本原因。

  • 软件危机的示例:软件项目的平均成功率大概在30%左右、大概有一半左右的项目,超出预算和最后期限或者存在缺陷


【软件工程】

  • 软件工程的提出:1968年北大西洋公约组织(NATO)召开国际会议,提出“软件工程”概念和术语。

  • 什么是工程?工程是将理论和知识应用于实践的科学,以便经济有效地解决问题。

  • 软件工程的发展:

  • 软件工程的概念【重点】

    • 广义的软件工程:通过应用计算机科学、项目管理和其他领域的技术和实践来创建和维护软件应用程序。

    • 软件工程是关于人们在受限的团队中工作,为他们的客户创造价值。

    • 软件工程的定义:①在软件的开发、操作和维护中应用一种系统的、有纪律的、可量化的方法,也就是工程学在软件上的应用

      ②方法的研究,如①。

  • 软件工程 VS 程序

    • 程序(Programming):把给定的蓝图给实现出来!

    • 软件工程(Software engineering):是理解业务问题,提出解决方案的想法,并设计解决方案的“蓝图”!

  • 软件工程的目的:

    软件工程是研究和应用如何以系统性的、规范化的、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来的学科。


【软件开发基本策略(要素)】

  • 软件工程的基本要素:过程、方法、工具

  • 软件开发的基本流程:获取需求 → 设计软件 → 实现软件的编写 → 确认与测试 → 上线与维护

  • 软件工程方法:面向过程(算法为基本构造单元)、面向对象(类为基本构造单元)、面向构件(构件为基本构造单元)、面向服务(将软件构件化)

  • 面向对象:尽量模拟人类习惯的思维方式,描述问题的问题空间与实现解法的解空间在结构上尽可能一致

  • 软件工程方法:

  • 软件工程工具:需求开发、软件设计、软件构造、软件测试、软件维护、开发管理


【软件工程基本原理】

【单元测试题】

选择题

 

判断题

由于今天个人计算机不断发展壮大,人们不再采用软件团队的开发方式。 F

大多数软件产品在其生命周期中不需要增强功能。 F

一般来说,软件只有在其行为与设计者的目标一致的情况下才能成功。 F

大多数软件系统是不容易变化的,除非它们在设计时考虑了变化。 T

购买大多数计算机系统所需的硬件比软件更昂贵。 F

由于软件是产品,因此可以应用其他工程制品所用的技术进行生产。 F

「武汉理工大学 软件工程复习」第一章 | 软件工程概述相关推荐

  1. 软件工程复习提纲——第一章

    软件工程复习提纲,期末.考研的学霸笔记 第一章--软件工程基本概念 第一章软件工程基本概念 软件危机的概念:指在计算机软件的开发和维护过程中所遇到的一系列严重问题. 软件危机包含两方面的问题:1)如何 ...

  2. 计算机网络教学重点突破,武汉理工大学计算机网络复习重点教学内容(34页)-原创力文档...

    武汉理工大学计算机网络复习重点 精品文档 精品文档 收集于网络,如有侵权请联系管理员删除 收集于网络,如有侵权请联系管理员删除 精品文档 收集于网络,如有侵权请联系管理员删除 第二章 1.数字信号与模 ...

  3. 没有nos计算机网络叫计算机,对口升学计算机网络基础复习资料(第一章)

    <对口升学计算机网络基础复习资料(第一章)>由会员分享,可在线阅读,更多相关<对口升学计算机网络基础复习资料(第一章)(4页珍藏版)>请在人人文库网上搜索. 1.第一章.计算机 ...

  4. 计算机操作系统 (第四版汤小丹老师) 复习笔记第一章

    教材为西安电子科技大学 汤小丹老师 第四版 1.1操作系统目标和作用 1.目标 目前存在着多种类型的OS,不同类型的OS,其目标各有所侧重.通常在计算机硬件上配置的OS,其目标有以下几点: 方便性 便 ...

  5. 第一章 MongoDb概述

    版本修改历史 版本 修改内容 修改人 日期 1.0 创建文档 李乐 2010-6-30 第一章 MongoDb概述 集文档数据库,键值对存储和关系型数据库的优点于一身. MongoDB (名称来自&q ...

  6. IT项目管理总结:第一章 项目管理概述

    第一章 项目管理概述 使用项目管理的好处 –更好地控制财力.物力和人力资源 –改进客户关系 –缩短开发时间 –降低成本和提高生产率 –提高质量和可靠性 –更大的边际利润空间 –更好的内部协调 –积极影 ...

  7. 计算机网络(谢希仁第八版)第一章:概述

    1.计算机网络在信息时代的作用 三网:电信网络,有线电视网络,计算机网络. 三网融合:由于涉及多方面的利益和行政管辖权的问题,目前没有实现. Internet(译名:因特网,目前使用最广泛的译名为:互 ...

  8. 【JUC】第一章 JUC概述、Lock 接口

    第一章 JUC 概述.Lock 接口 文章目录 第一章 JUC 概述.Lock 接口 一.JUC 概述 1.什么是 JUC 2.线程和进程概念 3.线程的状态 4.并发与并行 5.管程 6.用户线程和 ...

  9. Java极速入门系列:第一章Java概述、Java环境、IDEA开发工具

    Java极速入门-第一章Java概述.Java环境.IDEA开发工具 一.什么是Java 1.好的编程语言的特性 2.Java的特点 3.Java的运行机制 4.Java的三大体系 5.Java环境 ...

最新文章

  1. html的css样式中表示后代选择器,html添加css——样式选择器
  2. buildin 字节交换
  3. 云炬WEB开发笔记3-1 项目初始化概要
  4. 字符识别(模板匹配BP神经网络训练)
  5. 在php中使用kind,KindEditor 4.x在PHP中的应用实例!
  6. jetty嵌入式容器_嵌入式Jetty和Apache CXF:借助Spring Security来保护REST服务
  7. 《JAVA核心技术》
  8. java基础 通过继承Thread类和实现Runnable接口创建线程
  9. new方法、定制属性、描述符、装饰器
  10. 给计算机系统打补丁,为什么我的电脑需要打补丁?
  11. 网络攻防实验(连更)
  12. 守望先锋外挂(OWG)透视原理分析
  13. 基于Python完成云知声平台的语音合成接口
  14. Android中的Action和Category常量表
  15. liuyubobobo:学习方法分享
  16. 【学习笔记】stm32+openmv串口通信实现颜色识别
  17. python爬取bili指定up主的视频
  18. mjpeg-streamer移植
  19. java笔试题:海量数据找最大或最小的k个数(堆排序)
  20. useEffect五个经典问题实践总结

热门文章

  1. 文件操作(2):文件粉碎机
  2. 测试用例设计等级划分
  3. office2020与2016版的不同_office2016版和2010版的区别
  4. Inno Setup 语法
  5. camera模组拆解记录
  6. ZYNQ7000 Linux开发步骤
  7. android 动画实现倒车,一种快速实现Android车机冷启动全景倒车的方法与流程
  8. 开源~新款装机神器!启动 U盘 告别格式化,直接挂载多 ISO
  9. 步步分析爬取知乎用户头像
  10. 传智oracle,传智播客Oracle笔记