【软件工程学习】软件工程概论

一、软件工程基础

  1. 软件是什么?

(1)软件独立于硬件

早期软件是作为计算机硬件的零件来开发的,40年代中后期和50年代早期时,为了利用计算机硬件进行研究,使用针对专门的硬件的指令码汇编语言编写程序,这就是软件的雏形。到60年代,硬件开始进入商业化,软件也得到发展,于是软件开始独立于硬件。

(2)软件是一个种工具

50年代:科学计算
60年代:随着商业计算机普及,开始用于商业计算批量数据处理
70年代:复杂的应用软件,计算信息处理(模拟现实的同时改变现实),核心逻辑是 将现实的复杂信息建模成(基于数学的)计算模型,然后利用超强计算能力和信息处理(存储,传输,共享)能力解决人们无法完成的任务。

(3)软件的核心是程序

软件由三部分组成:程序,机器指令的集合;文档,描述程序的使用;数据,程序运行时的信息。
编程时软件开发的核心活动,作为一个软件工程师首先应该能够很好地编程。

(4)软件开发远比编程复杂

随着软件的发展,软件规模和复杂度日益增长,用于解决实际问题的应用软件越来越多,当今的软件开发远不止编程。除编程之外还包括,需求分析软件设计软件测试项目管理

(5)应用软件基于现实又高于现实

  1. 软件工程

(1)特性

  • 具有解决实际问题的动机
  • 应用科学指导工程活动
  • 以成本效益比为基本条件
  • 构建机器或事务
  • 以服务人类为最终目的

(2)动机

软件工程需要解决的问题范围广泛,无行业和领域限制,需要客户和用户进行紧密合作沟通,因此 需求分析 是软件工程活动中最为重要的一环。

(3)软件工程是科学、实践性、工艺性并重的

科学知识指导:计算机科学,例如软件实体(函数、方法、数据结构等),软件开发的理论、方法、技术、模型 。

实践方法和原则:配置管理、风险控制、需求管理办法,模块化、信息屏蔽、OO设计原则。

二、软件工程的发展

  1. 发展脉络
    (1)基础环境的变化以及其对软件工程的推动

软件抽象实体的发展(正确性基础):计算机科学需要从理论上论证软件抽象实体以及其使用规则能够提高程序的正确性、清晰度、开发效率。直接影响软件工程的基础构建能力。
虚拟计算机的发展(硬件和系统软件(数据库、编译软件等)方面,实现基础):将程序员的精力从机器指令模式、性能、和效率等硬件相关细节解放出来,让其集中关注软件实体构建。

(2)现实问题的需要推动(目标)

软件工程的目标就是解决现实问题,当时代背景需要则推动其发展。

  1. 发展历程
    在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值