计算机二级课程记录(公共知识)(2)

程序设计基础

1.设计风格和结构化程序设计

1.清晰,效率

源程序文档化
	注释
	标识符
数据说明
语句结构
输入输出

2.结构化设计原则

自顶向下
逐步求精
模块化
限制goto

3.结构化程序

顺序,选择,循环

4.程序语言的基本成分

数据成分
运算成分
控制成分
传输成分

2.面向对象的程序设计

1.对象

	标识唯一性
	分类性
	多态性
	封装性
	模块独立性好

2.属性,对象状态
3.方法,对象行为
4.类,共同属性和相同对象的集合
5.继承,继承已有的类
6.消息,对象间的通信消息传递

	对象名
	消息名
	参数

7.多态,对相同的消息对不同的对象产生不同的行为

3.软件工程程序设计

1.软件分类

系统软件
	操作系统,编译程序,汇编程序, 网络软件,数据库管理系统
应用软件
支持软件,介于应用软件和系统软件,协助用户开发软件工具性
		分析,设计,编码,测试计划进度管理软件

2.软件危机

需求增长
生产率低
成本提高
难以维护
质量难保
开发难控

3.核心思想
把软件当做一个工程产品来处理
4.软件工程的三要素

方法
工具
过程

5.软件生命周期
提出,实现,使用维护到停止的过程
6.3时期8阶段

软件定义时期
				问题定义
				可行性研究
				需求分析
						任务:发现需求,求精,建模,定义需求的过程
						需求获取,需求分析,编写需求规格说明书,需求审评
						确定系统的逻辑模型
						文档软件需求规格说明书
				
软件开发时期
				概要设计
				详细设计
				实现和测试
软件运行维护(最长,花费最多)时期
				运行和维护

单元测试
详细的设计说明书和源程序

4.结构化分析方法

1.需求分析方法

(1)结构化需求分析方法
	数据流图DFD
		加工,数据流,存储文件,源(接口)
	数据字典DD(核心)
	判定表
	判定树
(2)面向对象的分析方法

2.软件设计的划分

工程管理角度:概要设计,详细设计
技术观点划分:结构设计 数据设计
             接口设计 过程设计

3.软件设计的基本原理

抽象
模块化
信息隐蔽
模块独立性
	高内聚性,模块内紧密程度
	低耦合性,模块间紧密程度	

4.概要设计任务

	设计软件系统结构;
	数据结构及数据库设计;
	编写概要设计文档;
	概要设计文档评审

软件概要设计的工具是系统结构图(SC)

	一般模块,数据信息,控制信息
	基本  顺序,重复,选择

5.详细设计任务:确立每个模块的实现算法和局部数据结构,用适当方法标识算法和数据结构的细节。
详细设计的常用工具

图形工具:(程序流程图、N-S图、PAD、HIPO图)
		程序流程图:基本图符:
    		① 控制流:表示为→或↓
    		② 加工步骤:表示为□
    		③ 逻辑条件:表示为◇
表格工具:判定表
语言工具:PDL(伪码)

5.软件测试

1.发现程序中的错误
2.软件测试的准则

所有测试都应追溯到用户需求;
在测试之前制定测试计划,并严格执行;
充分注意测试中的群集现象;
避免由程序的编写者测试自己的程序;
不可能进行穷举测试;
妥善保存测试分析报告,为维护提供方便。

3.静态测试和动态测试

 静态测试,不运行软件,人发现程序的错误。
 动态测试,执行程序,发现错误。

4.白盒测试和黑盒测试

白盒测试(内部)
        a.逻辑覆盖测试;
        b.基本路径测试。
黑盒测试(外部)
        a.等价类划分法;
        b.边界值分析法;
        c.错误推测法.

5.软件测试步骤

 单元测试:是对软件设计的最小单位——模块进行测试,目的是发现各模块内部的错误。
 集成测试:是把模块按照设计要求组装起来的同时进行测试,目的是发现与接口有关的错误。
 确认测试:是验证软件功能和性能是否满足各种要求,以及软件配置是否完全、正确。
系统测试:是将软件作为一个元素,与计算机系统其他元素组合在一起,进行集成测试。

6.程序的调试

1.Debug(排错),主要在开发阶段进行。
2.任务是诊断和改正程序的错误。
3.基本步骤

		1.错误定位
		2.修改设计和代码,以排除错误
		3.进行回归测试,防止引进新的错误

4.软件调试方法:强行排除法、回溯法、原因排除法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值