西工大软件技术归纳总结.docx
《西工大软件技术归纳总结.docx》由会员分享,可在线阅读,更多相关《西工大软件技术归纳总结.docx(28页珍藏版)》请在冰豆网上搜索。
西工大软件技术归纳总结
归纳总结(综合)
●一、关于软件
●什么是程序?
程序有哪些特性?
–程序是由程序设计语言的抽象符号的集合;是对数据施行算法的过程;
–程序具有层次性——程序的结构是嵌套的,程序的功能是迭加的。
●什么是软件?
软件有哪些特性?
–软件是计算机程序以及与程序有关的各种文档的总称。
软件是信息商品。
–是一种逻辑产品,是思维逻辑的结晶;
–软件产品的质量通过实践来验证;
–软件产品的成本构成具有上升的趋势;
–软件产品的故障率随着软件维护而下降
●评价程序设计语言的标准是什么?
–
(1)用户界面好,操作简便;
–
(2)对硬件、软件环境要求低;
–(3)对硬件资源利用的程度高;
–(4)代码质量高,目标程序运行速度快,可靠性高,结构化性能高,可读性好;
–(5)应用范围广泛;
–(6)调用其它软件容易;
–(7)自身发展快。
●选择程序设计语言的一般标准是什么?
–应用范围;
–算法及计算复杂性
–数据结构
–效率
●衡量一个软件质量好坏的标准有哪些?
–1.可理解性(Understandablity)
–2.可靠性(Reliablity)
–3.效率(Efficiency)
–4.可维护性(Maintainablity)
–5.完整性(Completencess)
–6.简明性(concisess)
–7.可移植性(Portability)
–8.可测试性(Testablity)
–9.结构性(Structuredness)
–10.友好性(Friendliness)
●二、数据库基础
●数据库中的常用数据模型:
●层次模型——上层记录和下层记录之间的联系是1:
N。
●网状模型——实体间存在N:
N的联系;
●关系模型——用二维表格表达实体集;
●对象模型——具有丰富的表达能力,但模型相对较复杂;
●完整性约束条件——完整性规则的集合;
●完整性规则——用来限定符合数据模型的数据状态及其变化,以保证数据系统的数据与现实系统的状态一致。
●三级结构和两级映象:
●概念模式——数据库中全部数据的整体逻辑结构的描述。
由若干个概念记录类型组成,且包含记录间联系、数据的完整性安全性等要求。
●外模式——用户与数据库系统的接口,是用户用到的那部分数据的描述。
外模式由若干个外部记录类型组成。
●内模式——内模式是数据库在物理存储方面的描述,定义所有内部记录类型、索引和文件的组织方式,以及数据控制方面的细节。
●模式/内模式映象——模式/内模式映象存在于概念级和内部级之间,用于定义概念模式和内模式之间的对应性。
(需说明概念记录和内部记录之间的对应性)
●外模式/模式映象——存在于外部级和概念级之间,用于定义外模式和概念模式之间的对应性。
这个映象一般是放在外模式中描述的。
●逻辑数据独立性——如果数据库的概念模式要修改,比如增加记录类型或增加数据项,那么只要对外模式/模式映象做相应的修改,可以使外模式和应用程序尽可能保持不变。
这样,我们称数据库达到了逻辑数据独立性。
●物理数据独立性——如果数据库的内模式要修改,即数据库的物理结构有所变化,那么只要对模式/内模式映象做相应的修改即可。
可以使概念模式尽可能保持不变,也就是对内模式的修改尽量不影响概念模式,当然对于外模式和应用程序的影响更小,这样,我们称数据库达到了物理数据独立性(简称物理独立性)。
●关系模型——运用数学方法研究数据库的结构和定义对数据的操作,所以基于关系模型的关系数据库具有模型简单、数据独立性高、有较为坚实的理论基础等特点。
●关系(表)——由行和列交叉组成的二维表格。
它表示的是一个实体集合。
●元组——表中一行称为一个元组。
可用来表示实体集中的一个实体。
●属性——表中的列称为属性,给每一列起一个名称即属性名,表中的属性名不能相同。
●域——列的取值范围称为域,同列具有相同的域,不同的列可有相同的域。
●规范化了的二维表格,具有如下性质:
●
(1)属性值是原子的,不可分解。
●
(2)没有重复元组。
●(3)没有行序。
●(4)理论上没有列序,为方便,使用时有列序。
●主键(也称主码、主关键字)——若一个关系中有多个候选键,则选其中的一个为关系的主键。
●外键——若一个关系R中包含有另一个关系s的主键所对应的属性组F,则称F为R的外键。
●关系的规范化——对有异常的关系进行分解以消除异常的过程。
也就是让一个关系只描述一个主题,如果某个关系有两个或多个主题,就将它分解为多个关系,在分解关系时,同时注意到多个关系之间的相互参照性
●范式——在规范化过程中,必须遵循一定的准则以指导关系的规范化,一般把这些准则称为范式。
●第一范式——任何符合关系定义的表都是第一范式的。
●第二范式——如果一个关系的所有非主属性都完全依赖于整个主关键字(不存在部分依赖),那么该关系就属于第二范式,记作R∈2NF。
根据这一定义,凡是以单个属性作为主关键字的关系自动就是第二范式。
●第三范式——一个关系如果是第二范式的,并且没有传递依赖关系,则该关系就是第三范式的。
●数据库的完整性——指尽可能避免对数据库无意的滥用;
●数据库的安全性——指尽可能避免对数据库恶意的滥用;
●完整性包括:
●域完整性——规定了属性的值必须是域中的值,这是关系模式规定了的。
此外,一个属性值能否为“空”,这由实际的应用语义决定,这也是域完整性约束的主要内容。
●实体完整性——关系中的主关键字不能为空且主关键字的值不能相同。
●参照完整性——不允许引用数据库中不存在的外键数据。
●三、结构化查询语言SQL
●SQL数据库的体系结构基本上是三级模式结构。
●SQL术语与传统的关系模型术语不同。
在SQL中:
●外模式——对应于视图;
●模式——对应于基本表;
●元组——称为“行”;
●属性——称为“列”;
●内模式——对应于存储文件。
●SQL的核心功能动词有8个:
●CREAT,DROP用于定义;SELSCT用于查询;INSERT,UPDATA,DELETE用于操纵;GRANT,REVOKE用于控制
●SQL的组成:
●
(1)数据定义:
这一部分也称为“SQLDDL”,用于定义SQL模式、基本表、视图和索引。
●
(2)数据操纵:
这一部分也称为“SQLDML”。
数据操纵分成数据查询和数据更新两类。
其中数据更新又分成插入、删除和修改三种操作。
●(3)数据控制:
这一部分也称为“SQLDCL”。
数据控制包括对基本表和视图的授权,完整性规则的描述,事务控制语句等。
●(4)嵌入式SQL的使用:
这一部分内容涉及到SQL语句嵌入在宿主语言程序中的使用规则。
●SQL的数据定义部分包括对SQL模式(Schema)、基本表(关系,Table)、视图(View)、索引Index的创建和撤消操作。
●模式创建语法如下:
●CREATESCHEMA<模式名>AUTHORIZATION<用户名>
●创建基本表语法如下:
●CREATETABLE<模式名.基本表名>(列名类型,…完整性约束…)
●创建视图语法如下:
●CREATEVIEW视图名(列名表)ASSELECT查询语句
●创建索引语法如下:
●CREATE[UNIQUE]INDEX<索引名>ON基本表名(<列名>,[<次序>],[,<列名>[<次序>]]¡)
●撤消一个模式的语法如下:
●DROPSCHEMA<模式名>[CASCADE|RESTRICT]
●撤消的方式有两种:
●CASCADE(连锁式)方式,执行DROP语句时,把SQL模式及其下属的基本表、视图、索引等所有元素全部撤消;
●RESTRICT(约束式)方式,执行DRPO语句时,只有当SQL模式中没有任何下属元素时,才能撤消SQL模式,否则拒绝执行DROP语句。
●撤消基本表的语法如下(撤消视图、索引类似):
●DROPTABLE基本表名(CASCADE|RESTRICT)
●增加新属性的语法如下:
●ALTERTABLE基本表名ADD新属性名新属性类型
●删除属性的语法如下:
●ALTERTABLE基本表名DROP属性名[CASCADE|RESTRICT]
●SQL的数据查询SELECT语句格式:
●SELECT字段表FROM表名WHERE查询条件GROUPBY分组字段HAVING分组条件ORDERBY字段[ASC|DESC]
●其中:
字段表部分包含了查询结果要显示的字段清单,字段之间用逗号分开。
要选择表中所有字段,可用星号¡°*¡±代替。
如果所选定的字段要更名,可在该字段后用AS[新名]实现。
●FROM子句¡ª¡ª用于指定¡ª个或多个表。
如果所选的字段来自不同的表,则字段名前应加表名前缀。
●WHERE子句¡ª¡ª用于限制记录的选择。
构造查询条件可使用大多数的VisualBasic内部函数和运算符,以及SQL特有的运算符构成表达式。
●GROUPBY和HAVING子句¡ª¡ª用于分组和分组过滤处理。
它能把在指定字段列表中有相同值的记录合并成一条记录。
●SQL的数据更新包括数据插入、数据修改和数据删除等操作。
●
(1)数据插入
●①插入单个元组:
●INSERTINTO基本表名(列名表)VALUES(元组值)
●VALUES后的元组值中列的顺序必须同基本表的列名表一一对应。
如基本表后不跟列名表,表示在VALUES后的元组值中提供插入元组的每个分量的值,分量的顺序和关系模式中列名的顺序一致。
●②插入多个元组:
●INSERTINTO基本表名(列名表)VALUES(元组值),(元组值),¡
●
(2)数据删除
●删除关系中满足条件的元组语句的句法如下:
●DELETEFROM<表名>WHERE<条件表达式>
●注意:
DELETE语句只能从一个关系中删除元组,而不能一次从多个关系中删除元组。
要删除多个元组,就要写多个DELETE语句。
●(3)数据修改
●修改指定关系中元组的某些值时,用如下语句:
●UPDATE基本表名SET列名=值表达式[,列名=值表达式¡][WHERE条件表达式]
●SQL的数据控制功能是指控制用户对数据的存取权力。
共有两条相关指令:
–①授权语句(GRANT)——使某个用户具有某些权限
–②收权语句(REVOKE)——收回已授给用户的权限。
●四、VB语言基础
●VB中的数据类型——哪些是VB中特有的数据类型,哪些是高级语言共有的?
●变量——变量名的命名规则;变量的声明:
隐式或显式;
●变量的作用域和生存期——局部变量的三个层次:
模块层、窗体层、过程层;全局变量的声明及引用规则;
●常量——常量的类型和声明方式
●数组——数组的定义、数组的引用、动态数组的建立及引用;
●运算符——赋值运算符、数学运算符、逻辑运算符、关系运算符等,及其运算优先级;
●表达式——表达式的书写方法和运算顺序;
●条件分支结构——单分支、双分支、多分支;If……Else……Endif等;Selectcase结构;
●注释语句、赋值语句、暂停语句和结束语句以及异常退出语句等;
●循环结构——等步长循环(For……Next)当型循环、直到型循环、传统循环(While……Wend)等;
●过程、事件过程和函数——过程的定义与调用、过程与事件过程的区别,过程与函数的区别等;
●常用函数——数据类型转换函数;输入、输出函数(InputBox、MsgBox)及该函数带有$符号和不带$符号的用法区别;相关函数中各参数的含义等;
●应用程序框架——VB环境及其启动与退出
●可视化程序设计特点——面向对象的可视化编程、窗体、控件、对象、属性、消息、事件和方法等;
●对象的链接和嵌入(OLE)——声音、影像、动画、文字等均可Link,并嵌入其中;
●对象的常见事件——加载、单击、变化等及其各自特征和应用区别;
●开发一个应用程序的步骤——画控件、设置属性、编制事件过程;
●常用控件的常见属性——Form、TextBox、Label、Command、listBox、ComboBox等的常见属性;
●内部标准控件与外部控件——区分VB哪些属于内部标准控件(即VB打开时即在工具箱中的),哪些是需要加载的外部控件及加载方法。
●五、VB中的数据访问
●提供了两种与Jet数据库引擎接口的方法:
–Data控件(DataControl)——只提供了有限的不需编程就能访问现存数据库的功能;
–数据访问对象(DAO)——是全面控制数据库的完整编程接口。
●两种方法并非互斥,它们可以同时使用。
●数据控件允许将VisualBasic的窗体与数据库方便地进行连接。
●要利用数据控件返回数据库中记录的集合,应先在窗体上画出控件,再通过它的三个基本属性Connect、DatabaseName和RecordSource设置要访问的数据资源。
●在VisualBasic中,数据控件本身不能直接显示记录集中的数据,必须通过能与它绑定的控件来实现。
●可与数据控件绑定的控件对象有:
文本框、标签、图像框、图形框、列表框、组合框、复选框、网格、DB列表框、DB组合框、DB网格和OLE容器等控件。
●要使绑定控件能被数据库约束,必需在设计或运行时对这些控件的两个属性进行设置:
–⑴DataSource属性——通过指定—个有效的数据控件连接到一个数据库上。
–⑵DataField属性——设置数据库有效的字段与绑定控件建立联系。
●绑定控件、数据控件和数据库三者的关系如图所示:
●VB中三类数据访问对象——DAO、RDO、ADO三者的同异;Data控件的常用方法和属性等(Refresh方法、Updata方法、UpdataControls方法、AddNew方法、Edit方法、Delete方法、Move方法、Find方法、Eof、Bof属性、NoMatch属性、Bookmark属性等);
●ADO控件——ADO的三个对象成员Connection、Command和Recordset,ADO连接数据库的属性设置:
ConnectionString属性、RecordSource属性、CommandType属性
●ODBC体系结构——ODBC数据库应用程序、驱动程序管理器、DBMS驱动程序、数据源;
●三类数据源——系统数据源、用户数据源、文件数据源,以及它们之间的同异;
●VB中SQL的嵌入应用——查询语句规则、语句嵌入的连接对象、字符串引用语法、字段引用方法等;
●记录集对象Recordset——记录集的含义、记录集引用对于数据库操作的重要性;
●ADO对象集合中的基本成员:
–Connection对象——用于连接数据库;
–Command对象——用于使用SQL命令操纵数据库
–RecordSet对象——用于直接表示数据库表或获取查询操纵数据库表的结果。
–Errors对象——用于包含与单个数据库操作有关的数据访问错误的详细信息。
–Parameters对象——配置个对象的参数。
–Fields对象——表示使用普通数据类型的数据库表的列信息。
对应于RecordSet中的一列。
●ADO对象集合中各个成员所分别负责提供的各种操作,相应的参数配置等等。
●Connection对象的属性:
–ConnectionString属性指定用于建立连接数据源的信息。
有三种设置形式:
使用ODBC数据源、使用ODBC驱动程序、使用OLEDB的provider
–DefaultDatabase
–Provider
–State
●Connection对象方法:
–Cancel
–Close
–Execute
–Open
●Command对象的属性:
–ActiveConnection
–CommandStream
–CommandText
–Dialect
–State
●Command对象的方法:
–Cancel方法:
放弃操作;
–CreateParameter方法:
创建参数;
–Execute方法:
执行参数
●Recordset对象中的重要参数:
●CursorType参数表示将以什么样的游标类型访问数据:
–adOpenForwardOnly:
对应数字0,仅向前游标
–adOpenKeyst:
对应数字1,键集游标。
–adOpenDynamic:
对应数字2,动态游标
–adOpenStatic:
对应数字3,静态游标
●LockType参数含义
–ADLOCKREADONLY(=1)只读
–ADLOCKPESSIMISTIC(=2)悲观锁定,编辑开始立即锁定
–ADLOCKOPTIMISTIC(=3):
乐观锁定,直至用Update方法提交后,
–ADLOCKBATCHOPTIMISTIC(=4):
力量乐观锁定,直至用UpdateBatch方法后
●六、关于软件开发
●软件危机——导致产生软件工程
–软件危机主要表现在:
●①软件开发进度难以预测。
●②软件开发成本难以控制。
●③用户对软件产品的功能要求难以满足。
●④软件产品的质量无法保证,系统中的错误难以消除。
●⑤软件产品难以维护。
●⑥软件缺少适当的文档资料。
●⑦软件开发生产率的提高速度,难以满足社会需求的增长率。
●软件工程定义——软件工程是开发、运行、维护和修复软件的系统方法,其中,“软件”的定义为:
计算机程序、方法、规则、相关的文档资料以及在计算机上运行时所必需的数据。
●软件工程涉及到的学科:
–①计算机科学
–②管理科学
–③工程学;
–④数学
●软件工程研究的对象——大型软件系统的开发过程,它研究的内容是生产流程、各生产步骤的目的、任务、方法、技术、工具、文档和产品规格。
●软件工程的研究目的:
–①降低开发成本;
–②缩短研制周期;
–③提高软件的可靠性
–④增加生产效率。
●传统软件工程模式——建立在软件生存周期方法学和结构化程序设计方法学的基础上。
●现代软件工程模式——在传统软件工程模式的基础上,强调人在系统开发中的作用,其基本要点是:
–
(1)软件开发过程是以人为主,充分利用软件开发方法及软件开发工具;
–
(2)开发人员的组织管理对软件开发成功与否至关重要;
–(3)基于软件组件的软件开发技术。
●软件工程模式的主要任务
–⑴系统分析——从系统需求入手以用户观点建立系统用户模型。
用户模型从概念上全方位表达系统需求及系统与用户的相互关系。
–⑵系统构造——在系统设计阶段,将系统分析空间扩展为系统设计空间。
–(3)系统测试——系统测试包括单元测试、集成测试和系统测试。
–⑷软件组件——将软件组件作为一个单独的过程,目的是将组件作为构造软件的“零部件”。
–⑸系统开发人员的组织管理.
●软件生存周期各个阶段的主要任务:
●系统定义系统设计系统编程系统测试系统维护
● 7%6%7%13%67%
●软件开发模型:
–1)瀑布模型;
–2)原型模型;
–3)螺旋模型;
–4)智能模型;
●软件测试的三个阶段:
–单元测试;
–集成测试;
–综合测试;
●软件维护的四项活动:
–完善性维护;
–适应性维护;
–纠错性维护;
–预防性维护;
●管理信息系统(MIS)——MIS系统的应用分类:
国家、企业、事务、办公、专业及综合服务;
●管理信息系统的开发环境——局域网、UNIX、WINNT/XP等;
●管理信息系统与数据库——大型、大众两个方向;
●网络应用系统——DPS系统(数据处理系统)、MIS系统(管理信息)、DSS系统(决策支持)、OA系统(办公自动化)、TPS系统(事务处理)EDI系统(电子数据交换)、TRS系统(信息查询)、DCS系统(分布式控制)、CEI系统(计算机辅助教育)、CIMS系统(计算机集成制造)
VB数据库编程
n一、数据库设计基础
n1、VB中的数据访问
nJet——VB提供的数据库引擎;
n提供了两种与Jet数据库引擎接口的方法:
•Data控件(DataControl)——只提供了有限的不需编程就能访问现存数据库的功能;
•数据访问对象(DAO)——是全面控制数据库的完整编程接口。
n两种方法并非互斥,它们可以同时使用。
nVB中的数据库编程就是创建数据访问对象,这些数据访问对象对应于被访问的物理数据库的不同部分:
nDatabase——数据库;Table——表;
nField——字段;Index——索引对象;
nVB通过DAO和Jet引擎可以识别三类数据库:
•1.VB数据库:
也称为本地数据库,这类数据库文件使用与MicrosoftAccess相同的格式。
Jet引擎直接创建和操作这些数据库
•2.外部数据库:
VB可以使用几种比较流行的“索引顺序访问文件方法(ISAM)”数据库,包括:
dBaseIII、dBaseIV、FoxPro2.0和2.5以及Paradox3.x和4.x。
在VB中可以创建和操作所有这些格式的数据库
•3.ODBC数据库:
包括符合ODBC标准的客户机/服务器数据库,如MicrosoftSQLServer。
如果要在VB中创建真正的客户机/服务器应用程序,可以使用ODBCDirect直接把命令传递给服务器处理。
n2、VB数据库体系结构
nJet引擎负责处理存储、检索、更新数据的结构,并提供了功能强大的面向对象的DAO编程接口。
n
(1)VB数据库应用程序的组成——包含三部分,如图:
n数据库引擎位于程序和物理数据库文件之间。
把用户与正在访问的特定数据库隔离开来,实现“透明”访问。
n对于任何数据库,VB所使用的数据访问对象和编程技术都是相同的。
•①用户界面和应用程序代码——用户界面包括显示数据并允许用户查看或更新数据的窗体;VB程序代码驱动这些窗体;以及用以请求数据库服务的数据访问对象和方法,比如添加或删除记录,或执行查询等。
•②Jet引擎——被包含于一组动态链接库(DLL)文件中。
它真正读取、写入和修改数据库,并处理所有内部事务,如索引、锁定、安全性和引用完整性。
此外,还包含一个查询处理器和一个结果处理器:
用以接收并执行SQL查询,实现所需的数据操作;和管理查询所返回的结果。
•③数据库——包含数据库表的一个或多个文件。
对于本地VB或Access数据库来说,就是.mdb文件。
对于ISAM数据库,它可能是包含.dbf(dBASE文件后缀)文件或其他扩展名的文件。
n
(2)数据库应用程序的存放——数据库应用程序的这三个部分既可以把它们都放在一台计算机上,供单用户应用