1.1 软件无处不在

软件是软件工程的研究对象,也是软件工程的产品形态于客观存在。
工程是理论知识应用于实践的科学,其目的是经济有效地解决实际问题。

→软件工程是为了解决开发成本效益和软件质量的问题而产生的,倡导以工程的原理、原则和方法进行软件的开发,用系统的、可控的和有效的方式构建高质量的软件产品。

1.2 软件的本质特性

1.2.1 软件的定义

软件 = 程序 + 数据 + 文档

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

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

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

1.2.2 软件的本质特性

软件更像是嵌入式的数字化知识,这种知识载体的特征带来一些怎样的影响呢?

软件具有复杂性一致性可变性不可见性固有的内在特征软件开发困难的根本原因

  • 复杂性

这种复杂性会给软件开发管理和质量保证带来很多困难。
  • 一致性

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

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

    3.软件需要随接口不同而改变,随时间推移而变化,而这些变化是不同人设计的结果。

  • 可变性

软件只要是在使用,就会一直在变,而这个改变是随需而变。


虽然由于修改软件会造成失效率的提高,但是,修改会给软件本身带来了生命力。成功的软件都是会发生演化的。

  • 不可见性

    1.软件是一种“看不见、摸不着”的逻辑实体,不具有空间的形体特征。

    2.开发人员可以直接看到程序代码,但是源代码并不是软件本身。

    3.软件是以机器代码的形式运行,但是开发人员无法看到源代码是任何人运行。

1.3 软件工程的产生与发展(软件开发面临的问题)

错误多、性能低、不可靠、不安全等质量问题

1.3.1软件开发失败的案例

  • 1.ARIANE 5 火箭

  • 2.Window Vista 系统

  • 12306网络购票系统

1.3.2 软件开发面临的挑战

  • 客户不满意
    1.交付的许多功能不是客户需要的
    2.交付的日期没有保障3.
    3.客户使用时发现许多Bug

  • 项目过程失控
    1.客户需求变化频繁,无力应对
    2.无法预见软件的交付质量
    3.对流程盲目遵从,忽视客户业务价值

  • 风险与成本问题
    1.开发团队专注技术,忽视风险
    2.无能力预测成本,导致预算超支

  • 无力管理团队
    1.无法评估开发人员能力及工作进度
    2.困扰于如何提升团队的能力与效率

1.4 软件工程的基本概念和内涵

1.4.1工程的含义

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

1.4.2 软件工程的含义及目标

软件工程是

  1. 将系统性的、规范化的、可定量的方法应用于软件的开发、运行和维护,即工程化应用到软件上;
  2. 对1.中所述的方法的研究

软件工程的目标——创造“足够好”的软件。

1.较低的开发成本
2.按时完成开发任务并及时交付
3.实现客户要求的功能
4.具有良好性能、可靠性、可扩展性、可移植性等
5.软件维护费用低

1.4.3 软件工程的基本要素

  • 过程:
    支持软件开发各个环节的控制和管理

  • 方法:
    完成软件开发任务的技术手段

  • 工具:

1.4.4 软件开发的基本策略

  • 软件复用(不只是代码复用)
    构造一个新的系统不必从零做起,直接复用已有的构件进行组装
    构件是经过反复使用验证的,由其组成的新系统具有较高的质量
  • 分而治之
    将一个复杂的问题分解成若干个简单的问题,如何逐个解决
    来源于人们生活与工作的经验,完全适合于技术领域
  • 逐步演进
    软件开发是自底向上逐步有序的生长过程
    小步快跑:每走完一步再调整并为下一步确定方向,直到终点
  • 优化折中
    优化:优化软件的各个质量特性,如运行速度、资源利用、用户体验
    折中:通过协调各个质量特性,实现整体质量的最优

1.4.5软件工程学科发展

1.5 软件质量实现(工程化的原则)

暂无

1.6 业界人士谈软件工程

1.6.1 软件工程在企业中的实际应用

1.6.2 优秀工程师应该具备的素质和能力

  1. 代码阅读和理解以及书写代码的能力
  2. 一个极强的责任心和对整个软件产业的敬畏之心
  3. 职业的道德
  4. 协同的能力

测试题

《软件工程》第一章——初始软件工程相关推荐

  1. 软件工程第一章绪论————(2019.12.27学习笔记)

    第一章绪论 第一节软件工程概念的提出与发展 1. 软件危机 1968年,北大西洋公约组织(NATO)在联邦德国的国际学术会议创造软件危机(Software crisis)一词.用来描述因为软件生产率, ...

  2. 软件工程 | 第一章:软件工程学概述

    软件工程学概述 一.前言 二.软件危机 1.典型表现 2.产生原因 3.消除危机途径 三.软件工程 1.概述 2.软件本质特征 3.软件工程基本原理 4.软件工程方法学 1️⃣传统方法学 2️⃣面向对 ...

  3. 软件工程-第一章(郑逢斌版)

    第一章-软件功能概述 文档版直接复制上来效果不佳,这里就不再放上来了. 如果看不清的话可以用幕布查看. 文档链接: https://www.mubucm.com/doc/wRXxHizheG 密码: ...

  4. 零基础玩转C语言系列第一章——初始C语言(上)

    目录 一.如何学好C语言? 1.鼓励你,为你叫好. 2.挤时间学习 3.学好编程,不仅仅是学好C语言 二.初始C语言 本章目标 本章重点 1.什么是C语言? 2.第一个C语言程序 3.数据类型 4.变 ...

  5. y2第一章 初始mybatis的上机3_MyBatis3.2.x从入门到精通之第一章

    第一章 一.引言 mybatis是一个持久层框架,是apache下的顶级项目.mybatis托管到goolecode下,再后来托管到github下.(百度百科有解释) 二.概述 mybatis让程序将 ...

  6. 软件工程 第一章 软件工程概述

    1 什么是软件 软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的完整集合. 程序:按事先设计的功能和性能需求执行的指令序列) 数据:程序能正常操纵信息的数据结构->软 ...

  7. 软件工程-第一章 介绍

    目标 本章目的主要是介绍软件工程和提供理解本书剩余部分的框架.阅读本章时将会: 理解软件工程是什么以及为什么很重要 理解不同类型软件系统的开发可能需要不同的软件工程技术 理解一些对于软件工程师很重要的 ...

  8. 现代软件工程 第一章 概论 第9题——邓琨

    我采访了一只开发了天津8890便民服务网站系统的团队. - 当时的项目有多少用户,给用户多少价值? 现在还有人用吗? 答:当时项目有近万用户,为天津市民提供便民服务平台,例如联系修理家电.水电气.咨询 ...

  9. 软件工程 | 第一章 软件工程概论

    软件工程 系列为本学期(2020春季)软件工程以及软件工程实践课程笔记整理~ 研究生阶段的软件工程课程相对本科比较综合,内容涉及本科曾经学过"软件工程"."软件过程管理& ...

最新文章

  1. RISC-V 正在成为芯片世界中的 Linux
  2. datagridview cell字体大小自适应_CELL:肿瘤为何“饿不死”?神经元为饥饿胰腺癌提供营养支持...
  3. webstorm php文件高亮,webStorm支持.wxml文件高亮显示
  4. [SPOJ375]QTREE - Query on a tree【树链剖分】
  5. Flink从入门到精通100篇(六)-Flink 应用之 对Release 文档进行深度解读
  6. [USACO17JAN]Promotion Counting 题解
  7. 实例 20 重定向输出流实现程序日志
  8. typeof的用法 typeof的返回值是一个字符串 返回的字符串类别
  9. 如何用VS2015手撕白菜
  10. 字节跳动实习 视频面试
  11. 最新emlog5.3.1系统YiT模板源码
  12. IDEA补丁破解使用方法
  13. C#理论 —— 文件操作、委托和事件
  14. 在windows下python3使用multiprocessing.Pool时出现的问题
  15. mk突变点检测_Mann-Kendall突变检测(mk突变检测)
  16. 中国电信欢go建立话费话费异常预警(国际)
  17. 声音鉴黄师饱受摧残,AI声音鉴黄师为何没帮上忙?
  18. MyBatisPlu自动生成代码简介(一)
  19. 帷幄SDP空间数据平台 - 智慧门店服务商 智慧数字化门店运营案例
  20. c语言生成1000 9999随机数,产生随机数(rand()函数和srand()函数)

热门文章

  1. JSch - Examples - Exec.java
  2. IOS 生成pem证书方法
  3. 第三章 8086微处理器
  4. 中兴U807刷Rom、变砖、刷recovery、root、安装google play,亲测
  5. 秋招面试之同花顺面经
  6. 基础知识-线性代数、高数
  7. 汽车行业PPM统计乱象
  8. 5G市场乱象:用户被擅自开通套餐,资费贵了网速没快
  9. valet-windows
  10. Java 手写一个简单计算器(1)