计算机软件工程基础课件
– 程序属于软件, 但软件不仅是程序,还包括说明其功能、性能的说明
性信息, 如使用维护说明、指南、培训教材等。
软件是具有使用性能的软设备 – 编制一个应用程序, 可以解决自己的问题, 但不能称之为应用软件。
一旦使用良好并转让给他人则可称为应用软件。
17
(二) 软件的特性-4
软件是信息商品
– 软件不仅有功能、性能要求, 还要有质量、成本、交货期、使用寿命 要求。软件开发者一般不是使用者。软件的开发、生产、销售形成 巨大信息产业部门。它不同于传统产业, 研制开发是其主要的生产方 式, 而大量批生产是十分容易的拷贝工作, 制造成本极低, 如同电影工 业。
3
第一章 导论
§1.1 几个问题的思考 §1.2 计算机、软件及软件技术 §1.3 程序与软件 §1.4 软件的分类与应用软件 §1.5 几种常见软件 §1.6 本课程主要内容简介 §1.7 学习提示
4
1.2 计算机、软件及软件技术
计算机是我们这个时代的特征,成为我们生活的一部分; 计算机就如同识字、算术,成为人们求生的一种工具; 计算机是我们工作、学习、生活和娱乐的重要工具。
计算机软件技术基础
武汉大学动力与机械学院 刘俊 liu_
1
课程定义
《计算机软件技术基础》是非电类专业的一门技术基础课,涉及数据结构、 操作系统、数据库技术和软件工程等多门课程的经典内容,通过该课程的学 习,使学生掌握开发应用软件所必需的软件基础知识,为今后结合本专业开 发应用软件打下必要的基础。
1、什么是计算机? ? 计算机是接收、处理和提供数据的装置,它由硬件和软件两大部分组成。
CPU是Central Processing Unit(中央微处理器),是计算机中最重要的一 个部分,由运算器和控制器组成。如果把计算机比作人,那么CPU就是人的 大脑。 ? 计算机就是我们平时常用的PC机吗? PC机只是计算机的一种,计算机家族中还有很多其他的成员,特别是随着 IPV6的实际应用,数字化化社会的发展,计算机种类和形式已经越来越丰富 多彩。 ? 计算机发展的摩尔定律:集成电路芯片上所集成的电路的数目,每隔18个月就 翻一番。微处理器的性能每隔18个月提高一倍,而价格下降一倍。用一个美元 所能买到的电脑性能,每隔18个月翻两番。...
课程教学目标
1. 了解计算机软件设计的基本知识和技巧 2. 重点培养良好的程序设计能力,重点在数据结构和程序设计 3. 学习软件开发相关的基础知识,包括数据库、操作系统、软件工程、
网络应用,多媒体技术等
2
教材参考书
? 《计算机软件技术基础》第三版 麦中凡等编著,高等教 育出版社。
? 《计算机软件技术基础》第三版 沈被娜等编著,清华大 学出版社。
8
软件与硬件的关系
– 相互依存 – 无严格界面 – 相互促进
SOC:System On Chip an integrated circuit that contains a compute engine, memory and logic on a single chip. 即SOC为包含处理器、存储器和片上逻辑的集成电 路。
软件本质上是一种思想,利用计算机来解决某个问题的思 想!软件的实现就是将这个思想数字化的过程!
? 软件=程序,开发软件=写程序?
? 错误! ? 程序只是软件的一个组成部分 ? 写程序只是软件开发的过程中的一个步骤,软件是程序、数据以及有关文
档资料的集合。
? (可运行的)思想和内容的数字化
? 思想:算法、规律、办法(程序) ? 内容:图形、图像、数据、声音、文字等(数据)
12
1.3 程序与软件
? 程序是计算机指令的序列,是一个用计算机语言描述的某 一问题的解决步骤。这些指令非常简单(简单的四则运算、 逻辑运算、数据传送和跳转指令)但它们的组合却能完成 非常复杂的任务 。
? 软件是计算机程序,方法,规则,相关的文档以及在计算 机上运行它时所必需的数据。
ห้องสมุดไป่ตู้13
(一) 程序的特性-5
应用软件 实用工具集
操作系统 硬件平台
计算机体系结构
软件是计算机的灵魂
从来没有那个高手是培训成功的。成为软件开发高手的路只有一条:自学! 软件开发中需要大量的编程实践和独立思考,只有在此过程中,你才能够 逐步成长起来。学院里面能够培养出软件开发经理更是十足的谎言,软件 项目经理更强调从实际中学习软件。
a.程序的静态与动态属性
– 程序的表示是静态的,但程序必须能够运行,否则毫无用处。
b.程序由程序语言抽象的符号表达
– 二进制机器码,它是机器可以直接“读懂”的语言。但书写时人 们常用八进制或十六进制表示。
– 汇编语言,用一些特殊描述符表示操作符和操作数,它与具体的 硬件相关,不可移植。
– 高级语言,类似人类语言,易懂,可移植。
– 程序是按照一定的算法来编制的。
e.程序是分层嵌套的
– 程序在结构上是层层嵌套的,在功能上是层层迭加的。
15
P ...
call A ...
end
A ... Call B ... return
程序调用
B ... Return
程序的嵌套结构
16
(二) 软件的特性-4
软件是功能、性能相对完备的程序系统
5
养在深闺的巨型计算机
? 世界上最快的计算机 IBM的Blue Gene/L , 拥有超过100万个处理 器,每个处理器每秒可 运算10亿次。运算能力 相当于击败国际象棋世 界级棋手的超级电脑“ 深蓝”的1000倍。占地 达两个篮球场之大,重 达106吨。
6
计算机的发展历史
7
2、什么是计算机软件
c.程序设计的发展过程 — 语言愈高级,愈自动,翻译程 序的任务愈重
14
(一) 程序的特性
d.程序是对数据施行算法的过程
– 按程序设计语言提供的符号和语法写出程序,它同时表达了语义, 即该程序要做的计算。
– 执行后或是改变(加工)了数据或是提供一组动作。这就是算法的执行 过程。算法使数据由初始态变为终止态。
9
软件的发展历史
10
3、软件技术
计算机解题过程: 1. 理解问题,建立数学模型 2. 设计解题方案 3. 程序编码和调试 4. 程序测试和维护
在这个过程中要用到各种各样的软件技术,有的是抽 象的指导理论,有的是具体的实现工具。
11
软件技术分类
软件及实现技术
计算机 软件技术
软件开发方法与技术
程序设计语言 编译技术 操作系统及实用程序 数据库技术 软件工具 软件工程 程序设计方法 数据结构和算法