大学计算机基础第5章

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

时期 阶段
任务
文档
需求分析 系统的目标及应完成的工作 需求规格说明书
开发
总体设计 软件设计
详细设计 软件编码 编写程序代码
总体设计说明书 详细设计说明书 程序、数据注释
黑盒测试、白盒测试、单元 测试后的软件、
软件测试 测试、集成测试、确认测试、大纲、方案与结
系统测试

运行 软件维护 运行和维护
维护后的软件
1)软件生命周期模型:是描述软件开发过程 中各种活动如何执行的模型。 2)常见的软件生命周期模型有:瀑布模型、 增量模型、螺旋模型、喷泉模型、变换模型及 基于知识的模型等。
上图是软件生存周期的瀑布模型。
5、软件工具与软件开发环境
软件工具:就是帮助开发软件的软件。 软件开发环境(或称软件工程环境):是全面支 持软件开发全过程的软件工具的集合,这些软 件工具按照一定的方法和模式组合起来,共同 支持软件生命周期内的各个阶段和各项任务的 完成。
结构化方法的软件开发过程
软件计划后 结构化分析
结构化设计
编码并测试 结构化程序设计
面向对象方法的软件开发过程
软件计划后 面向对象分析
面向对象设计
软件测试 面向对象编程
1、结构化分析方法
1)结构化分析(简称SA)方法是面向数据流 进行需求分析的方法。该方法使用简单易读 的符号,运用抽象的概念模型,根据软件内 部数据传递、变换的关系,自顶向下逐层分 解,描绘出满足功能要求的软件模型
DFD图的数据流可分为两种类型:变换流和事务流 变换流:信息沿着输入通路进入系统,同时将信息的外
部形式转换成内部形式,通过变换中心处理之 后,再沿着输出通路转换成外部形式输出 事务流:信息沿着输入通路到达一个事务中心,事务中 心根据输入信息的类型在若干个动作序列中选 择一个来执行,这种信息流称为事务流
方法
例如:挤压排球 按下灯的开关
方法是指当某个行为作用在 对象时,我们就称对象执行了一 个方法。
事件
例如“球”类的撞击事件,撞击可以使球滚 动。
鼠标的双击、单击操作。 事件是对象的动作,而这个动作可能会 改变对象内部的状况或向外界提供某种功能。

例如:人类,球,排球,篮球,汽车。
类:是一组具有相同属性和相同操
S=PI*r*r; L=2*PI*r; printf(“S=%f,L=%f\n”, S, L); }
⑤ 运行调试程序。
⑥ 整理输出结果,写出相关文档。
二、程序设计语言的发展
1.程序设计语言的发展经历了五代:
机器语言:机器语言是用0和1的代码序列描述指令和 数据,是计算机唯一能够识别和执行的形式 。
旋转信号
读入 旋转 信号
信号数/秒
确定
加速/ 减速
箭头指示
燃料流量 传感器信号
读入 并核实
(SPS)
收集 并求 平均
△SPS △SPS
转换成
转/分
rpm
(rpm)
rpm
产生
加速/减 速显示
上箭头
计算 里程
英里
下箭头 水平线
燃料流量
计算 gph
计算 mph 和 超速值
mph
gph
计算 燃料 消耗
超速值
图形描述工具主要有:程序流程图,N-S 结构图,也称盒图,问题分析图(简称 PAD图) 语言描述工具主要有:PDL(Problem Design Language),这是一种用于描述 功能模块的算法设计和加工细节的语言
F
条件
T
A
ELSE
B
部分
THEN 部分
(a) 顺序结构
N-S结构图
软件测试
1)软件测试:是为了发现程序中的错误而 执行程序的过程 2)目的和任务:通过在计算机上执行程序 来尽可能多地发现软件产品中的错误和缺 陷,并改正程序中的错误,以保证程序的 可靠运行 3)软件测试分为静态分析和动态测试 动态测试又分为白盒测试和黑盒测试
三、软件开发方法与技术
开发任务完成的好与坏,关系到软件产品 的质量,完成开发任务的关键是选择好的 软件开发方法。 软件开发方法主要有结构化开发方法和面 向对象开发方法。
内聚性:指模块内各元素联系的紧密性。 耦合性:指模块与模块之间的联系紧密性。 内聚性和耦合性是衡量模块独立程度的两个 度量标准。 模块的耦合性越强,则模块的独立性就越差。
3)模块的作用域应在控制域内 作用域:指受该模块内某判定影响的所有模 块集合
控制域:指模块本身或该模块调用的其他模 块的集合
4)模块的扇入数应尽量大,模块的扇出数应 尽量小
扇入数:指可以直接控制该模块的模块数
扇出数:由该模块可以控制的其他模块数。
模块1
模块2
模块3
模块4
模块5
模块6
模块7
模块8
模块9
模块10
模块11
二、结构化程序设计基本结构
顺序结构、选择结构、循环结构


A P
B
A
B
假 P

A
A
假 P 真
第三节 面向对象程序设计
2)结构化分析方法的常用工具:数据流图、 数据字典、结构化语言、判定树、判定表
3)SA的基本步骤如下: ① 自顶向下对系统进行功能分解,画出分
层的数据流图 ② 由后向前定义系统的数据和加工,编制
数据字典和加工说明 ③ 写出需求规格说明书(SRS)
4)数据流图(简称DFD):
数据流图是以图形的方式描,所以它是一种 功能模型。
特性:
封装性、继承性、多态性
第四节 软件工程基础
一、基本概念
1.软件危机:是指在软件的开发和维护过程中所
遇到的一系列严重问题。软件危机主要体现在以下 几个方面: ① 软件开发的实际成本和进度估计不准确 ② 开发出来的软件常常不能使用户满意 ③ 软件产品的质量不高,存在漏洞,需要经常打补丁
④ 大量已有的软件难以维护 ⑤ 软件缺少有关的文档资料 ⑥ 软件的开发和维护成本不断提高,直接威胁计
3.软件生命周期
1)概念:将软件产品从开始计划起,到废弃 不用止,称为软件生命周期。 2)软件生命周期一般划分为计划、开发和运 行3个时期,每一时期又区分为若干个阶段。
计划时期有问题定义和可行性研究两个阶段;
开发时期有需求分析、设计、编码和测试4个 阶段;
运行时期主要是系统维护阶段。
4、软件生命周期模型
第一节 程序设计基础
一、程序设计
程序设计(Programing)是指利用计算机解决问 题的全过程,它包含多方面的内容,而编写程 序只是其中的一部分。
程序设计的一般步骤:

确定

处理


方案
确定

上机

操作
写 程
运行
理 结
步骤

程序

例如:求圆的面积和周长的程序设计一 般步骤:
① 分析问题。
求圆的面积和周长需要知道圆的半径r,根据圆的半 径求出圆的面积S和周长L并输出结果。
汇编语言:它利用助记符来表示每一条机器指令 。 例如:ADD AL,60H JMP 10
高级语言:如FORTRAN语言、COBOL语言、PASCAL语言、 C语言等。
非过程语言:如Visual C++,Java语言 ,Visual basic
智能化语言 :如PROLOG语言 .
2.语言处理程序
一个不可分割的整体,封装目的是有效地实现
信息隐藏。
多态性:对象在收到消息时要予以响应,
不同的对象收到同一消息可产生完全不 同的结果。
面向对象程序设计的基本思想
基本思想: 以客观世界中的对象为中心,以类 和继承为构造机制来进行软件开发活动。 优点: 符合人们通常解决问题的思维方式;对 象结构稳定;软件具有易于扩充、修改和维护 的特性。
二、软件工程过程
软件工程过程就是为开发软件进行 的一组开发活动。 活动包含“计划”、“开发”、 “运行”。三个时期。
软件生命周期各阶段的任务和文档
时期
计划
阶段
任务
文档
调查用户需求、分析 系统目标及范 问题定义 新系统的主要目标 围说明书
从经济、技术和法律 可行性论证报
可行性分析 方面研究可行性

顺序、选择、循环
图书管理系统
图书借阅 图 书 浏 览 图书入库 读 者 信 息
借书管理 还书处理
教师
学生
1、模块化:就是把一个大型的程序按照功
能分解为若干相对独立的、较小的子程序(即 模块),并把这些模块按层次关系进行组织。
2、模块分解的原则:
1)模块大小适中,模块的调用深度不要过大 2)尽量使得模块的内聚性高,模块间的耦合 性低
一、概念
对象 对象是现实生活中具体存在的事物。
例如:某一辆车,某个人。 对象都有两个共同的特点:对象的属性和对象的操作。 一个对象通常由对象名、属性和操作组成。
属性
例如: 一个白色和黄色相间的直径40CM的排球。 一个白色的直径30厘米的排球。
属性是用来描述对象的状态,对象的状态 又称为对象的静态属性。 对对象实施某种操作后,其状态就会发生 变化。
名字:零件编号
别名:
描述:唯一地标识库存清单中一个特定零件的
关键域
定义:零件编号=8{字符}8
位置:定货报表
定货信息 库存清单
数据字典
3、结构化程序设计方法
结构化程序设计(Structured Programming, SP)方法是实现软件详细设计的关键技术之一, 其目的是为软件结构图(SC图)中的每一个模 块确定采用的算法和块内数据结构 常用的表达工具主要:图形描述工具,语言 描述工具和表格描述工具
算机应用的扩大 ⑦ 软件生产技术进步缓慢,跟不上硬件的发展和
人们需求的增长
2.软件工程概述
1)软件工程:是指应用计算机科学、数学 及管理科学等原理,以工程化的原则和方 法来开发与维护软件的学科。 2)研究软件工程的主要目的:就是在规定 的时间、规定的开发费用内开发出满足用 户需求的高质量的软件系统(高质量是指错 误率低、好用、易用、可移植、易维护等)。
数据流图由数据流、加工(又称数据处 理)、数据存储(又称文件)、数据源点或终 点四种基本成分组成。
5)数据字典(简称DD)
数据字典就是用来定义数据流图中的各个成分 的具体含义和详细的描述。它和数据流图共同 构成了系统的逻辑模型,是需求规格说明书的 主要组成部分。
数据字典是为分析人员查找数据流图中有关 名字的详细定义而服务的。数据字典有四类条 目:数据流、数据项、数据存储和基本加工。
作的对象的集合。 一个类中的每个对象都是这个类的
一个实例。
继承性:在已有的类的基础之上增加构造新
的类,前者称为父类(或超类),后者称为子类。
子类除自动拥有父类的全部属性和操作外,还 可以进一步定义新的属性和操作。
优点:可以减少代码和数据的冗余,增加程 序的复用能力。
封装:就是把对象的属性和操作结合成
发出 警告 铃声
产生 里程 显示
mph
显示 警告铃声
变换型数据流图
mpg
产生 mpg 显示
mpg 显示
产生 mph 显示
mph 显示
事务性数据流图
名字:定货报表 别名:定货信息 描述:每天一次送给采购员的需要定货的零件表 定义:定货报表=零件编号+零件名称+定货数量+
目前价格+主要供应者+次要供应者 位置:输出到打印机
2、结构化设计方法
结构化设计方法(简称SD)是实现软件概要设计的 关键技术之一, SD方法是一种面向数据流的设计方法,它与SA 方法衔接。 SD方法的中心任务就是把用DFD图表示的系统 分析模型方便地转换为软件结构的设计模型。 SD方法采用结构图(简称SC)来描述程序的结构。 结构图的基本成分有模块、调用和数据。
源程序:用汇编语言和各种高级语言编写的程 序称为“源程序”.
目标程序:源程序必须使用语言处理程序将其 转换为计算机能够识别的机器语言程序,即 “目标程序”。
语言处理的方式有编译方式和解释方式两种, 相应的转换工具分别称为编译程序和解释程序。
三、程序设计方法
1、程序设计方法:
是指以什么观点来研究问题并进行求解, 以及如何进行系统设计的软件方法学。
② 确定处理方案。 求圆的面积数学公式是:S=л r2
求圆的周长公式是:L=2л r
③ 确定操作步骤。
求圆的面积和周长的算法描述为: 置pi=3.14159为常量 确定r的初值 计算面积S 计算周长L 输出结果S,L
④ 根据操作步骤编写源程序。
将上面求圆的面积和周长算法编写源程序如下(利用C 语言编写): #define PI 3.14159 main() { float r=3,S,L;
2、程序设计方法经过的阶段:
经过了结构化程序设计和面向对象程序设 计两个阶段 。
第二节 结构化程序设计
结构化程序设计是指:为使程序具有一 个合理的结构以保证程序正确性而规定的一 套如何进行程序设计的原则。
一、原则:
采用自顶向下、逐步求精的方法 程序结构模块化,每个模块只有一个入口
和一个出口 使用三种基本控制结构描述程序流程
相关文档
最新文档