计算机软件基础笔记 2.docx
- 文档编号:7250189
- 上传时间:2023-01-22
- 格式:DOCX
- 页数:6
- 大小:20.74KB
计算机软件基础笔记 2.docx
《计算机软件基础笔记 2.docx》由会员分享,可在线阅读,更多相关《计算机软件基础笔记 2.docx(6页珍藏版)》请在冰豆网上搜索。
计算机软件基础笔记2
简单变量类型:
字符变量
(1),整型
(2)无符号整型
(2)长整型(4)浮点型(4)双精度型(4)
数据结构是变量的结构及在计算机中的存储方式
分类:
简单数据结构和复杂数据结构。
简单数据结构:
简单变量、数组和字符数组。
复杂数据结构包括:
指针、结构体、链表。
数据:
是对客观事物的符号描述,可被计算机识别、加工的有效信息。
字符串常量的最后被系统加上了一个字符串结束标志”/0”个数加1
数据的种类分为数值型和字符型数据。
数组:
有序数据的集合。
数组中的每一个元素都属于同一种数据类型。
就是说数组在定义时必须指定大小。
数组名:
数组元素的首地址;函数名:
该函数所占存储单元的首地址。
一维数组定义是一般包括类型说明符数组名【常量表达式】。
例如:
intArray[10].一维数组引用表达式:
数组名【下标】。
在C语言中,二维数组是按行存放的。
定义数组时,可以不指定行,只需指定列。
在使用二维数组时,也可以只对部分数组赋值。
字符数组:
用来存放字符数据的数组。
定义字符数组可以省略字符数组长度,让系统根据初值个数确定数组长度。
指针变量当中存放的是变量的地址,而不是变量的值。
指针变量的值就是某个内存单元的地址。
指针变量的一般形式:
类型说明符*变量名。
例如;int*p;
简单变量作为函数的参数时,只能向函数内部传递数据。
指针变量是双向传值。
传递指针的函数调用实现过程:
(1)函数声明中指明指针参数
(2)函数调用中传递变量的地址(3)函数定义中用形参进行间接访问。
函数调用的实质:
实参和形参按顺序一一对应,传递数据的过程。
结构体:
用户定义的新数据类型。
结构体将不同类型但紧密联系的各项数据组织起来。
声明一个结构体只是定义了一个数据类型,并不分配内存。
(判断)
定义结构体变量方法
(1)定义了结构体变量后用来定义变量
(2)定义了结构体变量的同时定义变量struct结构体名{成员变量}变量名列表。
结构体的一般形式struct结构体名称。
结构体变量(指针)引用方法:
(1)结构体变量名.成员名。
(2)结构指针->成员名.
结构体数组中的数据时连续存放的。
结构体变量类似于数据库二维表中的一条记录,而结构体数组类似于数据库中的二维表。
链表相对于数组
(1)具有更好的动态性,插入、删除操作灵活方便,不需要移动结点,只需要改变结点中的指针即可。
(2)插入、删除操作灵活方便,不需移动节点,只需改变结点中指针域的值即可。
链表是链式存储的。
程序=算法+数据函数三要素:
自变量,因变量,对应法则
形参;在定义函数时,函数名后面括弧中的变量名称
实参;在调用函数时,函数名后面括弧中的表达式。
算法:
对特定问题的求解步骤的描述,是指令的有限序列。
算法的要素:
操作和控制结构。
算法设计的要求:
正确性、可读性、健壮性、效率和低存储量要求。
评估算法的好坏:
时间复杂度和空间复杂度。
算法描述:
伪码、N-S图、流程图。
数值计算的精度问题。
(1)注意问题和计算方法的收敛性
(2)注意保护运算精度
如何保护运算精度?
1.在解线性方程组时,采用列主元高斯消去法或全主元高斯消去法。
2.数值积分时的分点不要过细,以免产生所谓下溢出。
3.要尽量避免俩个相近的近似值相减,以免严重损失有效数字。
4.除法运算中,要尽量避免除数的绝对值远远小于被除数的绝对值。
5..合理变换公式,避免特殊点造成计算异常
迭代三要素:
初值,公式,终止条件。
软件危机的定义和表现:
广义的软件危机是指从宏观和社会发展角度看软件开发存在的问题。
具体表现为:
1.软件的发展速度慢;2.大型软件开发失败的教训;3.软件的商品化。
狭义的软件危机是指在计算机软件的开发和维护过程中遇到的一系列严重的问题。
具体表现为:
1.增长的软件需求得不到满足,用户对系统不满意的情况时有发生;2.软件的开发成本和速度无法控制;3.软件质量难以信任;4.软件不可维护或维护程度非常低;5.软件开发成本不断提高;6;软件开发生产率的提高根本跟不上硬件的发展和应用需求的增长。
软件危机原因:
宏观方面是由于软件日益深入社会生活的各个层面,软件需求的增长速度大大超过了技术进步带来的软件生产率的提高。
而就每一项具体的工程任务来看,许多困难来源于软件工程所面临的任务和其他工程的任务之间的差异以及软件和其他工业产品的不同。
软件质量靠管理,靠规则,靠文档来保证。
质量因素组成元素正确性;可靠性;效率;安全性;可使用性;可维护性;灵活性;直接性。
软件开发模型:
瀑布模型:
生存期中,逐级下落。
适用于软件要求比较明确渐增模型:
适用于软件要求不太明确瀑布软件计划﹤—﹥需求分析﹤—﹥软件设计﹤—﹥软件编码﹤—﹥软件测试﹤—﹥软件维护
软件工程:
是开发,运行,维护和修复软件的系统方法。
软件工程三要素:
方法,工具和过程。
方法是完成软件工程项目的技术手段,工具支持软件的开发、管理、文档的生成,过程支持软件开发的各个环节的控制、管理。
核心把软件产品看作一个工程产品来处理。
匈牙利命名法:
1.标识符的名字以一个或多个小写字母开头,用这些字母表示指定数据类型。
2.前缀以后就是一个或多个第一个字母大写的单词这些单词清楚地指出源代码内那个对象的用途;
程序注释分为:
序言性注释和功能性注释。
每一个程序都是有一个表明程序用途的序言性注释开始的。
1序言性注释应置于每个模块的起始部分,说明每个模块的用途、功能、说明模块的接口、数据描述及开发历史。
2功能性注释嵌入在源程序的内部,说明程序的段落或语句的功能,及其数据的状态。
在C++中,程序块的注释常用/*……..*/,行注释常用//……….
程序的可读性作用:
是衡量程序质量好坏的标准之一,提高程序的可读性有助于程序的核查、修改、减少错误。
软件文档分为:
1)用户文档2)开发文档3)管理文档
源程序不能代替软件文档(判断)
软件文档定义就是软件开发过程各个阶段的详细记录。
其中既有规划,设计的内容,又有实施情况的记录。
在团队开发的过程中,软件文档起着设计任务书、设计蓝图、编程和修改记录、开发档案等作用。
对于团队之间的分工合作起着一种桥梁和纽带的作用。
1软件的开发过程可行性论证确立对问题定义阶段确定的问题是否有可行性的解法,比对其方案作出成本效益分析,作为使用部门负责人是否继续这项工程的依据。
2需求分析确定用户对软件系统的全部需求,其目的是明确软件系统做什么。
3概要设计完成软件系统模块的划分和模块的层次结构以及数据库设计
4详细设计完成每个模块的控制流程设计
5软件编码按照选定的程序设计语言将设计说明书中的每个模块的控制流程编写出相应的程序,得带软件系统的源程序
6软件测试检查并排除软件中的错误,提高软件的可靠性
7软件维护修改软件系统在使用过程中发现的隐含错误,扩充用户提出的新功能要求,维持软件系统正常运行
使用说明有用户手册和操作手册。
需求分析主要工具:
①数据流程图(DFD)②数据字典
需求分析的具体任务:
1确定系统的要求2分析系统的数据要求3修正开发计划4编写文档
概要设计也称为总体设计,主要的任务有两个:
一是设计软件系统结构,二是设计主要数据结构。
详细设计的工具分为:
图形、表格和语言三类。
详细设计阶段的目标是确定应该怎样具体实现所要求的系统。
软件测试的方法:
白盒测试和黑盒测试
测试报告:
白盒测试——知道产品的内部工作过程可以通过测试来检验产品的内部动作是否按照规格说明书的规定运行黑盒测试——已知产品应具有的功能,可以通过测试来检验是否每个功能都能正常使用测试报告包括的内容软件测试目标、原则、方法、方案、步骤、结论。
软件质量控制措施:
1技术审查2管理复审3测试
程序流程图:
方框表示处理步骤菱形表示逻辑条件箭头表示控制流
数据流图:
数据流带有命名的箭头加工内有加工名的圆圈文件标有名字的短粗线
数据源点/终点:
圆角方框
程序流程图的五种基本结构:
顺序型、选择型、WHILE型循环(“当”循环)、UNTIL型循环(“直到”循环)、多分支选择型
结构化程序设计也是面向过程或函数的设计。
结构化程序设计的主要思想:
功能分解,逐步求精
结构化程序设计原则:
1)划分模块(函数)是,尽量做到高内聚、低耦合,保持模块的相对独立性。
2)结构的深度、宽度、扇入及扇出应适当。
3)在考虑模块独立性的同时,为了提高可读性,模块的大小最好控制在50条语句左右。
便于阅读和研究。
4)模块的接口要简单、清晰及含义明确便于理解易于实现、测试和维护。
5)尽量避免使用goto语句。
面向对象设计特点:
封装性,继承性,多态性
面向对象设计=对象+类+继承+消息
对象之间的通信是通过传递消息来实现的
类一般来说是相似特征事物的一个集合。
对象一般认为是与所要解决的问题有关的任何事物
类是对象的抽象,对象是类的具体实例。
类有两类成员:
一是数据成员,用于表示实体抽象的属性;另一类是成员函数,用于描述实体抽象的行为。
继承:
保持已有类的特性来创造一个新类的过程。
分为单继承和多继承(公有私有保护)
派生:
在已有的基础上新增自己的特性而产生新类的过程。
继承和派生的作用:
继承就是将原来的程序代码重复使用,从而减少程序代码的冗余度。
派生在已有类上增加新的成员:
增加新的数据成员,增加新的成员函数,重新定义已有成员函数,改变现有成员的属性
数据封装:
就是将类的数据成员按使用或存取的方式分类,有条件地限制对类数据成员的使用。
检验一个界面是否优秀的准则是最终用户的感受
工程软件界面设计的一般原则:
一致性原则,便捷性原则,简约性原则,反馈性原则
基本界面:
主要由窗口部分、信息输入部分和信息输出部分等三大部分组成。
基本界面主要由窗口部分、信息输入部分和信息输出部分等三大部分组成。
信息输入设计主要方式:
1.键盘直接输入2.菜单输入菜单标题设计是最为重要的一个环节3.鼠标直接输入4.批量信息输入5.专用控件输入6.对话框输入
对话框设计中,首先需要根据功能要求,确定在对话框中安置哪些控件,然后需要根据各个输入控件实现功能的重要程度对对话框进行几何设计,及确定对话框的尺寸区域分割的,要达到比例协调,重点突出等,此外还要注意数据的传递和检查。
信息输出:
功用软件操作辅助信息和软件运行结果分析;表现形式文本图形信息;信息与时间的关系动态静态
在软件界面设计时必须遵从简洁有效的原则,充分考虑运行结果信息输出的形式,让用户尽可能方便得到结论性的结果。
可视化的定义:
用直观的图形代替文字;用直观的图形,曲线,表格代替数据,动态显示数据。
及用模拟量代替数字量,用形象代替抽象,用动态代替静态。
可视化设计的优点:
1大大加深了人类对数据的理解和利用2大大加快了数据的处理速度,使庞大的数据得到的有效地利用3大大加强了工程设计的直观性,减少了工程设计和试验的费用
软件文档大体包括以下十种:
可行性研究报告、项目开发计划、软件需求说明书、概要设计说明书、详细设计说明书、使用说明、测试计划、测试报告、开发进度月报、项目开发总结报告。
常见运行结果输出形式包括文本形式、图形图形形式、动画形式、文件形式。
文件:
数据在存储介质上的存在形式。
二进制文件:
是把内存中的数据按其在内存中的存储形式原样输出到磁盘中存放,数据库的重要概念。
接口定义:
1传递信息的设备-硬件接口2软件也是接口3标准也是接口
接口的作用:
1方便连接2传递信息3加工处理信息4智能化终端
如何使用接口:
尽量采用接口,起到方便连接方便维修更换的作用
尽量采用标准,增强通用性能
文件也是传递数据的接口
数据库是一种特殊的文件
表格是数据库的基础,采用数据库的方式来管理数据的优点是数据与处理数据的程序分离;数据容易扩充;数据便于排序,检索,统计等操作;数据具有标准的格式,便于交流。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机软件基础笔记 计算机软件 基础 笔记