920888-大学计算机4版-第4章

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
按照功能分类
系统软件:如操作系统、设备驱动程序等。 支撑软件:协助用户开发应用软件的工具软件。如 各种编程语言、编辑程序、数据库、图形软件包等。 应用软件:如办公自动化软件、工程与科学计算软 件、CAD/CAM 软件、图像处理软件、数据库管理 软件等。
1.软件概述──软件的运行
软件程序包是一个能够支持大量应用的程序集合, 用户安装这个程序包后,就可以使用这个软件提供 的各种功能。 一般程序包都包含有一个可执行的安装程序,以及 一些功能程序、数据文件等。
}
for(j=8-i;j>0;j--){ printf("* "); //打印每行中的“*”
}
printf("\n");
}
}
1.软件概述──软件基本概念
软件含义
个体含义:计算机系统中某个程序及其文档。 整体含义:特定计算机系统中所有个体软件的总称。 学科含义:软件所涉及的理论、方法、技术所构成的 学科,规范的名字应为软件学,但日常情况下常被简 称为软件。
从操作系统角度看资源共享 微观上 —— 程序轮流占有CPU 宏观上 —— 多个程序并发运行 局部看 —— 每个程序按程序指令串行、顺序执行 整体看 —— 多个程序、穿插运行
3.操作系统──操作系统的发展
常见操作系统
DOS Windows XP Unix Linux
– RedHat Linux – Debian Linux – RedFlag Linux
第4章 软件平台
学习内容
1
软件概述
2
软件工程
3
操作系统
4
思考练习
1.软件概述
学习内容
软件基本概念 软件分类 软件的运行 软件与硬件的关系
1.软件概述──软件基本概念
软件定义 软件是指与计算机系统的操作有关的计算机程 序、规则以及任何与之有关的文件。
软件 = 程序 + 文档
软件的组成示意
1.软件概述──软件基本概念
编码 测试 维护
建立软件的逻辑模型, 编写需求说明书文档
进行软件系统 详细设计
运用测试技术发现 软件各种错误,并进 行修改
2.软件工程──软件开发过程
开发原理
抽象:将要处理的问题按一定的方式和步骤抽象成计算机能 处理的形式。 目标分解:把复杂问题处理成为较小问题进行解决,即模块 化设计。 局部化与信息隐藏:局部化即模块化设计。模块内部与外界 隔离,即信息隐藏 一致性:在整个软件中,所有表示方法应该是一致的。 可验证性:开发的程序模块应尽量具有相对的独立性,保证 整个程序的可验证性。
小结:
➢ 计算机软件 ➢ 软件工程 ➢ 操作系统 ➢ 操作系统功能
文件管理 用户接口
3.操作系统──操作系统的特征
资源抽象 隐藏复杂难记的计算机硬件操作命令,给用户提 供一个简单易行的操作界面。即使用一系列符号 或图标代表计算机资源,实现对计算机的应用。
3.操作系统──操作系统的特征
资源抽象
write(block, 100, device, 236, 9)
物理地址到逻辑描述
******** ******* ****** ***** **** *** ** *
C语言程序
void Main() { int i,j,l;
//定义变量(程序的每次运行数值变化的量)
for(i = 0; i<8;i++){
for(l=0; l<=i;l++){
printf(" "); //打印每行前的空格
内核标准接口 作系统──操作系统的特征
并发性
并发性是指在计算机系统中,多个程序在某段时间里都处 于运行状态。
3.操作系统──操作系统的特征
资源共享
资源共享是计算机广泛应用的主要特征。即计算机用户共 享计算机的软件和硬件资源。操作系统提供同时共享和分 时共享两种方式。
分时操作系统
集成电路,MULTICS和UNIX操作 系统
第四代操作系统 20世纪80年代
实时,PC操作系统
个人电脑,CP/M,MS-DOS, MacOS
第五代操作系统 20世纪90年代至今 网络,分布各类操作系统
Windows NT,UNIX,Linux
4.思考与练习
⑴ 什么是软件?软件的分类有哪些?。 ⑵ 什么是操作系统?请用一句话描述你对操 作系统的理解。 ⑶ 你对操作系统和用户程序之间的关系有何 看法?阐述你的视角。
用户1 用户2 用户3
应用软件 操作系统
硬件
虚拟机器界面 物理机器界面
3.操作系统──操作系统的引入
操作系统层次结构
应用层:用户接口 管理层:存储管理、I/O管理、文件存取、作业调度等
系统层:中断处理、外部设备驱动、处理机调度等 硬件
3.操作系统──操作系统的功能
存储管理 CPU管理
设备管理 操作系统
各种语言开发平台 网络软件
数据库管理系统 编译系统
操作系统 驱动程序 计算机硬件
应用 软件
支撑 软件
系统 软件
2.软件工程
学习内容
何谓软件工程 软件开发过程 软件开发方法 软件开发工具
2.软件工程──何谓软件工程
软件工程
软件工程是指导计算机软件开发和维护的工程学科。 具体来说就是采用工程的概念、原理、技术和方法 来开发与维护软件。 软件工程研究的目标是“以较少的投资获取高质量的 软件”。
2.软件工程──何谓软件工程
软件工程
软件工程过程则是为获得软件产品,在软件工具的支 持下由软件工程师完成的一系列软件的工程活动,包 括以下4个方面:
P(Plan):软件规格说明。 D(DO) :软件开发。 C(Check):软件确认。 A(Action):软件演进。
2.软件工程──何谓软件工程
软件工程的主要内容有:
程序定义
❖ 在计算机科学中,一个计算机程序是一套详细地、一 步一步地指导计算机解决一个问题或完成一项任务的 说明。
❖ 计算机程序,就是计算机按一定的动作步骤完成指定 任务的一系列命令。
1.软件概述──软件基本概念
程序定义
一个计算机程序主要由两部分组成,一是说明部分, 包括程序名、类型、参数及参数类型的说明;二是程 序体,为程序的执行部分
按照规模分类
类别 微型 小型 中型 大型 甚大型 极大型
参加人数 1 1
2—5 5—20 100—1000 2000—5000
研制期限 1—4周 1—6月 1—2年 2—3年 4—5年 5—10年
产品规模(源代码行) 0.5K
1K—2K 5K—50K 5K—500K
1M 1M—10M
1.软件概述──软件分类
1.软件概述──软件基本概念
软件特征
❖ 软件是一种逻辑实体,不是具体的物理实体。 ❖ 软件产品的生产主要是研制。 ❖ 软件具有“复杂性”,其开发和运行常受到计算
机系统的限制。 ❖ 软件成本昂贵,其开发方式目前尚未完全摆脱
手工生产方式。 ❖ 软件不存在磨损和老化问题,但存在退化问题。
1.软件概述──软件分类
在 DOS 或 Windows 系 统 下 安 装 程 序 的 扩 展 名 为 exe 或 com,在mac os x下扩展名一般为app。
1.软件概述──软件的运行
程序运行至少需要4个因素:
➢ 程序设计语言 ➢ 编译系统 ➢ 操作系统 ➢ 计算机硬件系统
1.软件概述──软件的运行
程序运行:
在不考虑各种因素之间的穿插 和交互情况下,从一个线性的 角度描述从软件的编写、运行 到获得结果的工作流程,如图 所示。
write(block, 100, device, 3788)
内存地址用变量表示 磁盘用文件描述
fprintf(fileID, “%d”, datum)
3.操作系统──操作系统的特征
虚拟机
通过软件模拟的具有完整硬件系统功能的、运行在 一个完全隔离环境中的完整计算机系统。
应用程序 虚拟文件管理、虚拟内存管理、进程管理等
2.软件工程──软件开发方法
软件开发准则:
(1) 正确性:指软件符合规定的需求程度。 (2) 可靠性:指在规定的条件和时间内,软件不引起系统
失效的概率。 (3) 简明性:要求软件简明易读, (4) 有效性:指软件的时间效率和空间效率。 (5) 可维护性:指的是软件能够修改和升级的容易程度。 (6) 适应性:软件使不同系统和用户需求得到满足的容易
Apple MacOS
3.操作系统──操作系统的发展
从计算机系统进化看操作系统发展
ENIAC is the first computer (Electronic Numerical Integrator and Computer)
1970s to Present—personal computer
Now— tablet computer
3.操作系统──操作系统的发展
发展阶段
第一代操作系统 第二代操作系统
年代
1945~1955 1955~1965
操作系统
特点
监控程序,无操作系统 真空管,机器语言,简单数字运算
批处理操作系统 晶体管,汇编语言,FORTRUN语言,
第三代操作系统
1965~1970
程度。
2.软件工程——软件开发方法
软件开发方法:
2.软件工程──软件开发工具
❖数据流图(DFD:Data Flow Diagram)以 图形的方式刻画出系统内的数据运动情况。
❖实体联系图(entity-relationship diagram) 是关于系统中的信息项(实体)以及这些信息项 之间关系的图示描述。
❖ 面向对象开发工具是面向对象开发语言提供的开 发环境,支持用户方便地进行程序开发,提高开 发的效率和质量。
3.操作系统
学习内容
操作系统的引入 操作系统的功能 操作系统的特征 操作系统的发展
3.操作系统──操作系统的引入
操作系统是计算机用户和计算机硬件之间起媒介作 用的程序,目的是提供用户运行程序的一种环境, 使用户在此环境下能方便、有效地使用计算机资源。
编写软件
编译 系统
程序设计语言 高级语言程序 编译器/解释器
函数/其他 程序
加载程序
链接 机器语言程序
分配进程
操作系统(文件管理,内存管理)
操作 系统
分配CPU
驱动输出设备
操作系统(CPU调度,进程管理)
操作系统输出结果(文件管理,I/O管 理) 运行结果
1.软件概述──软件与硬件的关系
各类用户
教学信息管理软件 办公集成软件 图像编辑软件
软件生产所需要的 工具与软件环境
软件生产遵循 的标准与规范
方法与技术 工具及环境
管理技术 标准与规范
软件开发的各种方 法及其工作模型
对软件工程全过程 的控制和管理
2.软件工程──软件开发过程
制订开发任务 的实施计划
把软件设计转 换成程序
根据软件运行情 况,对软件进行 适当修改
规划 需求分析 软件设计
相关文档
最新文档