最近在准备python的计算机二级,对公共基础知识部分的错题做了一些整理,虽然后来还是发现了系统的PPT,但还是想把这些笔记贴上来作为我写博客的一个尝试。
①软件生命周期包括定义阶段、开发阶段、维护阶段。
定义阶段 任务包括可行性研究、初步项目计划和需求分析;
开发阶段 任务包括概要设计、详细设计、实现、测试;
维护阶段 包括使用、维护、退役
②模块独立性是评价软件设计好坏的度量标准。衡量软件的模块独立性使用耦合性和内聚性来衡量,优秀的软件设计应该高内聚、低耦合。
③软件危机 泛指在计算机软件的开发和维护过程中所遇到的一系列严重问题。主要表现在软件需求的增长得不到满足、 软件开发成本和进度无法控制、 软件质量无法保证、 软件成本不断提高、 软件开发生产效率低 等方面
④软件测试是为了发现错误而执行程序的过程。应该由独立的第三方来构造猜测试,避免程序员检查自己的错误。 程序调试的过程是诊断和改正程序中的错误。
⑤软件工程 是应用于计算机软件的定义、开发和维护的一整套方案、工具、文档和实践标准和工序。 软件工程包括3要素:方法、工具和过程。
软件工程工具支撑软件的开发、管理、和文档生成。
软件工程过程支持软件开发各个环节的控制和管理。
⑥软件工程详细设计阶段常见的过程设计工具:程序流程图, N-S, PAD, HIPO, 判定表, PDL(伪码)。
⑦需求分析 阶段需要:需求规格说明书评审,确定软件系统的性能需求,确定软件系统的功能需求
⑧数据流图(DFD) 是结构化分析的常用工具,是描述数据处理过程的工具,是需求理解的逻辑模型的图形表示,直接支持系统的功能建模。
①数据的逻辑结构包含:表示数据元素的信息;表示各数据元素之间的前后件关系。
②数据的逻辑结构在计算机存储空间中的存放形式称为数据的存储结构。一种数据的逻辑结构根据需要可以表示为多种存储结构,常用的存储结构有:顺序,链接,索引等
③数据结构指 互相有关联的数据元素的集合,是反映数据元素之间关系的数据元素集合的表示,包括逻辑结构和存储结构。
④数据结构研究三个方面:1,数据集合中各数据元素之间所固有的逻辑关系,即逻辑结构; 2,在对数据进行处理时,各数据元素在计算机中的存储关系,即数据的存储结构; 3,对各种数据结构进行的运算
⑤根据数据结构中各数据元素之间前后件关系的复杂程度,数据结构分为线性结构和非线性结构。
线性结构满足:1,有且只有一个根节点;2,每个节点最多有一个前件,也最多一个后件。
如果不是线性结构就是非线性结构。如果有一个以上根结点也是非线性结构。
⑥二叉树。
1,复习满二叉树和完全二叉树,及其性质。
2,二叉树基本性质:在任意一棵二叉树中,度(有几个子节点)为0的结点(叶子结点)总是比度为2的结点多一个。二叉树只包含度为0,1,2的结点。
3,前序遍历:根-左-右; 中序遍历:左-根-右; 后序遍历:左-右-根
①结构化程序设计方法的基本思想是将软件设计成相对独立、单一功能的模块组成的结构。
②结构化程序设计方法的4条原则是:1,自顶向下 2,逐步求精 3,模块化 4,限制使用goto语句
③基本结构有:顺序结构,循环结构,选择结构
①数据独立性是数据库技术的重要特点之一。数据独立性是数据与程序间的互不依赖性,及数据库中数据独立于应用程序而不依赖于应用程序。数据独立性一般分为物理独立性和逻辑独立性。
②数据库系统的核心是数据库管理系统。 数据库管理系统是一种系统软件,负责数据库中的数据组织、数据操纵、数据维护、控制及保护和数据服务等。
③数据库设计中,外模式 也称为子模式或用户模式,使用户的数据视图,也是用户所想见到的数据模式,由概念模式推导出来,反映了用户对数据要求的模式。以外模式为框架所组成的数据库叫 用户数据库。
④数据库设计包含 概念设计 和 逻辑设计,在概念设计阶段,用E-R图来描述信息结构但不涉及信息在计算机中的表示。
①脚本语言(python)采用解释方式执行,静态语言(C语言)采用编译方式执行。编译是将源代码转换成目标代码的过程;解释是将源代码逐条转换成目标代码同时逐条运行目标代码的过程。
②python的变量 随时命名,随时赋值,随时使用。
③**%是求余,也叫模运算**。不是我理解的模。
④文件打开。 当文件以文本方式打开,读写按照字符串方式进行,采用当前计算机使用的编码或者指定编码。 当文件以二进制方式打开,读写按照字节流方式进行。
⑤浮点数运算存在不确定尾数,不是bug。例如0.1+0.2=0.300000000000004
⑥python字符串每个字符都使用Unicode编码。
Unicode和ASCII。
⑦CSV文件采用纯文本格式,通过单一编码表示字符。以行为单位,开头不留空行,行之间没有空行。每行表示一个一位数据,多行表示多维数据。以逗号分隔每列数据,列数据为空也要保留逗号。csv可以应用于程序间转移表格数据。
①网路爬虫:requests,scrapy,pyspider
②数据分析:numpy, pandas , scipy
③文本处理:pdfminer, python-docx, beautifulsoup4
④数据可视化:matplotlib,seaborn,mayavi
⑤用户图形界面:PyQt5,wxPython,PyGObject
⑥机器学习:scikit-learn,TensorFlow,mxnet
⑦web开发:Django,pyramid,flask
⑧游戏开发:pygame,Panda3d,cocos2d
⑨大数据分析:opencv-python、NLTK,networkx