软件工程学习笔记(第一周)

文章目录

目录

文章目录

前言

一、软件的定义及本质特征

1.1软件的定义

1.2 软件的本质特征

 一致性

 可变性

 不可见性

二、软件工程发展历程及目前面临的主要挑战

2.1软件工程发展历程

 2.2软件开发面临的挑战

客户不满意

项目过程失控

 风险与成本问题

无力管理团队

三、软件工程的基本概念及组成要素:过程、方法、工具。

3.1软件工程的基本概念

 3.2软件工程的基本要素

 3.3软件开发活动

总结



前言

软件工程是一门研究用工程化方法构建和维护有效、实用和高质量的软件的学科。它涉及程序设计语言、数据库、软件开发工具、系统平台、标准、设计件有电子邮件、嵌入式系统、人机界面、办公套件、操作系统、编译器、数据库、游戏等。同时,各个行业几乎都有计算机软件的应用,如工业、农业、银行、航空、政府部门等。这些应用促进了经济和 会的发展,也提高了工作效率和生活效率 。

一、软件的定义及本质特征

1.1软件的定义

      软件 = 程序 + 数据 + 文档

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

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

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

 

1.2 软件的本质特征

软件具有复杂性、一致性、可变性、和不可见性等固有的内在特性,这是造成软件开发困难的根本原因

  • 复杂性

 

  •  一致性

  1. 软件不能独立存在,需要依附于一定的环境(如硬件、 络以及其他软件)
  2. 软件必须遵从人为的惯例并适应已有的技术和系统。
  3. 软件需要接口不同而改变,随时间推移而变化,而这些变化是不同人设计的结果。

  •  可变性

  1. 人们总是认为软件是容易修改的,但忽视了修改所带来的副作用。
  2. 不断的修改最终导致软件的退化,从而结束其生命周期。

 

  •  不可见性

  1. 软件是一种“看不见、摸不着”的逻辑实体,不具有空间的形体特征。
  2. 开发人员可以直接看到程序代码,但是源代码并不是软件本身。
  3. 软件是以机器代码的形式运行,但是开发人员无法看到源代码是如何执行的。

 总之软件所具有的复杂性、一致性、可变性、不可见性等特性,使得软件开发过程变得难以控制,开发团队如同在焦油坑中挣扎的巨兽。

二、软件工程发展历程及目前面临的主要挑战

2.1软件工程发展历程

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

  • 史前时代

 

 

 2.2软件开发面临的挑战

  • 客户不满意

  1. 交付的许多功能不是客户需要的
  2. 交付的日期没有保障
  3. 客户使用时发现许多BUG
  • 项目过程失控

  1. 客户需求变化频繁,无力应对
  2. 无法预见软件的交付质量
  3. 对流程盲目遵从,忽视客户业务价值
  •  风险与成本问题

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

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

三、软件工程的基本概念及组成要素:过程、方法、工具。

3.1软件工程的基本概念

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

软件?程的目标 —— 创造“?够好”的软件


 3.2软件工程的基本要素

 3.3软件开发活动

 

 

总结

这一章主要讲解的是一些概念性和基础性的内容,例如软件的概念、特性,软件危机的主要表现,软件工程的概念等等。

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年8月13日
下一篇 2022年8月13日

相关推荐