1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > 北京大学软件工程课程听课笔记---软件工程课程介绍第二讲

北京大学软件工程课程听课笔记---软件工程课程介绍第二讲

时间:2021-12-24 03:20:19

相关推荐

北京大学软件工程课程听课笔记---软件工程课程介绍第二讲

文章目录

软件工程的起源早期计算机程序软件开发的三个阶段(1)个人程序时期(1947-1950)(2)软件作坊时期(1960)(3)软件工程时期(1970-至今)软件工程的定义模型(model)何谓模型软件工程框架目标活动

软件工程的起源

早期计算机程序

在1946年计算机刚诞生时,人们采用机器编码程序,根本没有独立的软件的概念。机器码指令只是为了驱动计算机硬件工程,就像人们调节电视机,录像机,洗衣机等家用电器的按钮一样。1947年,冯诺依曼首先提出用流程图描述计算机的运行过程,才使人们认识到程序设计是完全不同于硬件研制的另一项工作,从此以后,软件的开发和研究才逐渐独立地进行。

现在人们认为,在信息产业中,微电子是基础,计算机网络是再起,软件是核心。

软件开发的三个阶段

(1)个人程序时期(1947-1950)

在这个时期,程序员使用的开发语言主要是机器语言和汇编语言,负责从程序的开发,运行和维护的全过程,这是一种私人化的软件环境。不同层次水平的程序员,可以编写出不同性能的程序。比较体现个人英雄主义。

(2)软件作坊时期(1960)

随着以计算机为基础的系统应用范围不断扩大,以及系统数量的不断增长,个体生产方式已经不能适应社会发展的需求,而是需要多人分工合作,共同完成一个程序的编制,需要对项目开发进行管理,即所谓“作坊式生产方式”。这是一个创新性的举措,可以有效地保护客户的投资;同时,也意味着软件不必依附于特定的硬件,可以作为独立的产品存在。

(3)软件工程时期(1970-至今)

随着计算机应用领域的进一步扩大,软件的规模和复杂性也在不断增加。在软件开发领域的地平线上出现了一朵乌云:

软件质量差,可靠性难以保证成本难以控制,很少有在预算内完成的开发进度难以把控,周期拖得很长可维护性较差,维护人员和费用不断增加

这就是所谓的软件危机 。

软件工程概念的提出:其目的是倡导以工程的原理、原则和方法进行软件开发,以解决软件危机。

软件工程的定义

计算机百科全书上的软件工程定义:

应用计算机科学,数学以及管理科学等原理,以工程化的方法制作软件的工程。它借鉴传统工程的原则,方法,创建软件以达到提高质量,降低成本的目的。其中,计算机科学,数学用于构造模型与算法,工程科学用于制定规范,设计范型、评估成本以及确定权衡,管理科学用于计划、资源、质量、成本等管理软件工程是一门指导计算机软件开发和维护的工程学科,软件工程是一门交叉性学科。

软件开发本质示意:

不同抽象层术语之间的“映射”不同抽象层处理逻辑之间的“映射”

模型(model)

何谓模型

模型是在特定意图下所确定的角度和抽象层次上对物理系统的描述,通常包含对该系统边界的描述,给出系统内各模型元素以及他们之间的语义关系。

分层的基本动机是控制开发的复杂性,一个抽象层是由一组确定的术语定义的。

软件工程框架

软件工程可定义为三元组:目标,原则,活动

(1)给出了软件所涉及软件工程的工程要素

(2)给出了各要素之间的关系

(3)给出了软件工程学科所研究的主要内容

目标

生产具有正确性、可用性以及开销合宜的产品

活动

生产一个最终满足需求且达到工程目标的软件产品所需要的步骤

主要包括需求、设计、实现、确认和支持等活动

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。