第三章 软件开发工具的理论基础
软件开发工具-知识点整理

1、软件开发工具:在高级程序设计语言(第三代语言)的基础上,为提高软件开发的质量和效率,从规划、分析、设计、测试、文档和管理等各方面,对软件开发都提供各种不同程序的帮助的一类新型的软件。
2、软件发展的几个主要阶段:(1)仅限于把用户已经明确表达出来的算法,用机器语言写成一系列机器指令,供硬件运行使用。
(2)编程工作改为用汇编语言进行,编好的汇编指令由汇编程序转化为机器指令。
(3)把汇编语言变成了高级程序设计语言(第三代语言)。
高级程序设计语言不再是与机器指令一一对应,而是更加接近人类习惯的自然语言。
3、21世纪的软件开发工具与以往的有什么区别?(1)自动化程序的提高。
(2)这一阶段的工作明确地把需求分析和架构设计包括在软件工作的范围之内,从而使软件开发过程进一步向用户方面延伸,离用户更近了。
(3)把软件开发工作延伸到项目及版本管理,从而超出了一次编程的局限,而扩展到了作为一个不断发展的客体生长守的全过程。
(4)在这一阶段的研究中,吸收了许多管理可学的内容与方法。
4、软件开发工具的功能要求:(1)认识与描述客观系统。
(2)存储及管理开发过程中的信息。
(3)代码的编写或生成。
(4)文档的编制或生成。
(5)软件项目的管理。
5、软件开发工具的性能:(1)表达能力或描述能力。
(2)保持信息一致性的能力。
(3)使用的方面程度。
(4)工具的可靠程序。
(5)对硬件和软件环境的要求。
6、软件开发工具按工作阶段划分为三类:计划工具、分析工具、设计工具。
计划工具则从更宏观的角度去看待软件开发。
它不仅从项目管理的角度,帮助人们组织与实施项目,并且把有关进度、资源、质量验收情况等信息有条不紊地管理起来,而且考虑到了项目的反复循环、版本更新,实现了“跨生命周期”的信息管理与共享,为信息以致软件的重用创造了条件。
设计工具直接为软件开发过程中的编程、调试、文档编写工作提供帮助。
多数的分析工具都是作为较大型计算机的专用系统出现的。
全国计算机等级考试二级公共基础知识总结

公共基础知识总结第一章数据结构与算法1.1 算法算法:是指解题方案的准确而完整的描述。
算法不等于程序,也不等计算机方法,程序的编制不可能优于算法的设计。
算法的基本特征:是一组严谨地定义运算顺序的规则,每一个规则都是有效的,是明确的,此顺序将在有限的次数下终止。
特征包括:(1)可行性;(2)确定性,算法中每一步骤都必须有明确定义,不充许有模棱两可的解释,不允许有多义性;(3)有穷性,算法必须能在有限的时间内做完,即能在执行有限个步骤后终止,包括合理的执行时间的含义;(4)拥有足够的情报。
算法的基本要素:一是对数据对象的运算和操作;二是算法的控制结构。
指令系统:一个计算机系统能执行的所有指令的集合。
基本运算和操作包括:算术运算、逻辑运算、关系运算、数据传输。
算法的控制结构:顺序结构、选择结构、循环结构。
算法基本设计方法:列举法、归纳法、递推、递归、减斗递推技术、回溯法。
算法复杂度:算法时间复杂度和算法空间复杂度。
算法时间复杂度是指执行算法所需要的计算工作量。
算法空间复杂度是指执行这个算法所需要的内存空间。
1.2 数据结构的基本基本概念数据结构研究的三个方面:(1)数据集合中各数据元素之间所固有的逻辑关系,即数据的逻辑结构;(2)在对数据进行处理时,各数据元素在计算机中的存储关系,即数据的存储结构;(3)对各种数据结构进行的运算。
数据结构是指相互有关联的数据元素的集合。
数据的逻辑结构包含:(1)表示数据元素的信息;(2)表示各数据元素之间的前后件关系。
数据的存储结构有顺序、链接、索引等。
线性结构条件:(1)有且只有一个根结点;(2)每一个结点最多有一个前件,也最多有一个后件。
非线性结构:不满足线性结构条件的数据结构。
1.3 线性表及其顺序存储结构线性表由一组数据元素构成,数据元素的位置只取决于自己的序号,元素之间的相对位置是线性的。
在复杂线性表中,由若干项数据元素组成的数据元素称为记录,而由多个记录构成的线性表又称为文件。
计算机编程入门课程大纲

计算机编程入门课程大纲第一章:课程介绍本章将对计算机编程入门课程进行详细介绍,包括课程目标、学习方法、教学资源等内容,让学生对本门课程有初步了解。
第二章:编程基础本章将介绍编程的基础知识,包括编程语言、变量与数据类型、基本运算符、条件语句、循环语句等内容。
通过实例演示和练习,帮助学生掌握编程的基本概念和技能。
第三章:面向对象编程本章将介绍面向对象编程的概念和方法,包括类、对象、封装、继承、多态等内容。
通过实例分析和实践,让学生理解面向对象编程的思想,并能够运用到实际的编程中。
第四章:数据结构与算法本章将介绍常用的数据结构和算法,包括数组、链表、栈、队列、递归、排序算法等内容。
通过理论讲解和实际操作,培养学生对数据结构和算法的理解和运用能力。
第五章:图形化编程本章将介绍图形化编程的基本原理和应用,包括图形界面设计、事件处理、图形绘制等内容。
通过实例演示和实践,让学生了解图形化编程的特点,并能够进行简单的图形界面设计和开发。
第六章:网络编程本章将介绍网络编程的基本概念和技术,包括网络通信协议、Socket编程、HTTP通信等内容。
通过实例分析和实践,帮助学生理解网络编程的原理,并能够进行简单的网络应用开发。
第七章:软件工程与代码管理本章将介绍软件工程的基本概念和方法,包括需求分析、设计原则、代码管理工具等内容。
通过案例分析和实际操作,培养学生对软件开发过程的理解和掌握。
第八章:实践项目本章将组织学生进行实践项目,结合前面所学知识,完成一个简单的软件开发项目。
通过实践项目,让学生综合运用所学的编程知识和技巧,提高解决问题的能力和实践能力。
第九章:课程总结与展望本章将对整个课程进行总结回顾,并展望学习计算机编程的未来发展方向。
同时,为学生提供学习资源和拓展学习的建议。
结语本课程旨在帮助学生入门计算机编程,培养编程思维和解决问题的能力。
通过系统学习和实践项目,学生将能够掌握基本的编程知识和技能,为今后进一步深入学习和应用计算机编程打下基础。
第3章 计算机软件

int x;char c;
enum color(red,yellow,blue);color table; int y[3]; int I=3;int *p=&I;
整型变量i 3
图3.4 指针变量示意
(5)用户定义类型:由用户按应用和语法要求定义的数据类型。
2011-9-20 22
3.3.2 程序设计语言中的数据成分和 控制成分
பைடு நூலகம்
2011-9-20
11
3.2.1 操作系统的作用
1.操作系统有两个重要作用 •管理系统中的各种硬件和软件资源 •为用户提供各种服务界面 2.裸机:只有硬件、没有软件的计算机 3.操作系统与用户和硬件都直接打交道 4. “自举”或“引导”过程
2011-9-20
12
3.2.1 操作系统的作用
图3.2 操作系统的地位
计算机软件 程序 规程 规则 文 档
2011-9-20
4
3.1.1 计算机软件
2.软件的分类
1.与硬件关系紧密
从应用角度出发 系统软件 软件 应用软件
2.数据结构复杂 3.外部接口多样
例如编译程序、 操作系统等
用于解决各种不同具 体应用问题的专门软 件
2011-9-20
通用应用软件 定制应用软件
5
有关ISO信息,请访问
2011-9-20 2
3.1 计算机软件 3.1.1 计算机软件 3.1.2 计算机软件的发展 3.1.3 计算机软件技术
2011-9-20
3
3.1.1 计算机软件
1.什么是计算机软件
(1)软件与软件产品的区别 (2)文档的重要性 (3)软件的三个含义 个体含义:程序、规程、规则+文档 整体含义:特定计算机系统中所有个 体含义下的软件总体 学科含义:软件学
学习计算机软件的关键点和难点

学习计算机软件的关键点和难点第一章:计算机软件的重要性及分类计算机软件在现代社会中扮演着重要的角色。
它是计算机系统的灵魂,用于控制硬件、处理数据并实现任务。
根据用途和功能,计算机软件可以分为系统软件、应用软件和中间件等不同类型。
系统软件是构建在硬件平台上的基础软件,管理计算机的资源和控制计算机的各个组件。
常见的系统软件有操作系统、编译器、驱动程序等。
应用软件是直接面向用户的,用于满足特定需求和解决特定问题。
例如,办公软件、数据库管理系统、图像处理软件等。
中间件是连接系统软件和应用软件的桥梁,用于实现不同软件之间的通信和数据传递。
网络操作系统、消息队列系统等都属于中间件。
第二章:学习计算机软件的关键点2.1 理论基础的学习学习计算机软件的关键点之一是掌握相关的理论基础。
这包括数字逻辑、算法和数据结构、计算机网络、数据库等。
数字逻辑是计算机运行的基础,包括布尔代数、逻辑门电路等内容。
算法和数据结构是计算机软件设计和开发的核心,需要掌握常见的数据结构(如链表、数组、树等)和算法(如排序、查找等)。
计算机网络和数据库是当今社会中广泛应用的技术,掌握基本原理和操作方法对于软件开发至关重要。
2.2 编程语言的掌握编程语言是计算机软件开发的工具,学习掌握一门或多门编程语言是学习计算机软件的关键点之一。
常见的编程语言有C、Java、Python等。
C语言是一门广泛应用于系统编程的高级编程语言,它的学习可以帮助理解计算机原理和底层运行,掌握C语言可以进行系统软件的开发。
Java语言是一种面向对象的编程语言,具有良好的可移植性和跨平台性。
学习Java语言可以进行大型应用软件和企业级系统的开发。
Python语言是一门简单易学的高级编程语言,适用于快速开发和原型设计。
学习Python语言可以进行Web开发、数据分析和人工智能等领域的应用开发。
2.3 实践项目的完成学习计算机软件需要进行实践项目的完成,通过实际的开发项目来提升技能。
软件开发工具知识点

第一章绪论1、软件开发工具的定义:在高级程序设计语言(第三代语言)的基础之上,为了提高软件开发的质量和效率,从规划、分析、设计、测试、成文和管理各方面,对软件开发者提供各种不同程度的帮助的一类广泛的软件。
2、软件是广大使用者与计算机之间的桥梁,软件是人类在各个领域中基类的只是的结晶,软件是人类文明与只是得以延续的新的载体,软件是人类记你一不成为一个整体,得以进一步相互联系的纽带。
3、用通用软件帮助软件开发有三个主要的弱点:第一个弱点是,有许多工作是通用软件所无法完成的;第二个弱点是,通用软件完成某些工作,只能表现其表面的形式,而不能反映其逻辑内涵;第三个弱点是,用通用软件来帮助人们完成软件开发工作时,常常遇到难于保持一致性的困难。
4、IBM在1989年宣布了一个名为AD/Cycle的巨大的理论框架,可以被看做死后进入集成的软件开发环境阶段的标志。
5、软件开发工具概念的要点:它是在高级程序设计语言(第三代语言)之后,软件技术进一步发展的产物;它的目的是在人们开发软件过程中给予人们各种不同方面、不同程度的支持或帮助;它支持软件开发的全过程,而不是仅限于编码或其它特定的工作阶段。
6、第四代语言(4GL):它的原义是非过程化的程序设计语言。
针对以处理过程为中心的第三代语言,它希望通过某些标准处理过程的自动生成,使用户可以只说明要求做什么,而把具体的执行步骤的安排交由软件自动处理。
7、软件开发的过程:第一阶段是初始要求的提出;第二阶段是总体设计;第三阶段是程序的编写与文档的编写;第四阶段是测试或调试阶段。
8、软件开发工具应提供的支持工作有:第一,认识与描述客观系统;第二,存储及管理开发过程中的信息;第三,代码的编写或生成;第四,文档的编制或生成;第五,软件项目管理。
9、软件开发工具的性能:第一,表达能力或描述能力;第二,保持信息一致的能力;第三,使用的方便程度;第四,工具的可靠程度;第五,对硬件和软件环境的要求。
自考软件开发工具笔记
自考软件开发工具笔记1 一、绪论1、简述软件开发工具的范围在高级程序设计语言的基础上为提高软件开发的质量和效率从规划、分析、设计、测试、成文和管理各方面对软件开发者提供各种不同程序帮助的一类新型软件。
2、简术用通用软件辅助软件开发的缺点有许多工作是通用软件所无法完成的用通用软件完成某些工作只能表现出其表面的形式而不能反映其逻辑内涵只能做到“形似”不能做到“神似”难于保持一致性。
3、简述集成化软件开发工具产生的背景集成的软件开发工具称为软件开发环境是指包括支持全过程、全阶段的软件开发工具。
以往的专用软件开发工具对软件的开发缺乏全面的、统一的支撑环境。
这些零散地、分散地支持各个工作阶段、各项具体工作的专用工具之间没有有机地联系起来必然会造成冲突与矛盾。
这种冲突与矛盾对于用户来说造成了沉重的负担使用工具越多这种负担越重以致抵消了工具带来的益处。
这种情况导致了集成化软件开发工具的产生。
4、简述第四代语言与软件开发工具的区别软件开发工具包括4GL的功能软件开发工具支持系统分析、设计工作软件开发工具支持文档工作。
5、简述软件开发总体设计阶段的工作要点是根据软件功能说明书的要求完成软件的总体设计包括整个软件的结构设计、公用的数据文件或数据库的设计、各部分的连接方式及信息交换的标准等。
6、简述软件开发实现阶段的工作以及应强调之点。
包括程序的编写和文档的编写应特别强调组织与协调及时发现并纠正背离总体设计要求的情况。
7、简述软件开发工具认识与描述客观系统的功能要求认识与描述客观系统是软件开发第一阶段所需的重要工作。
该项工作不确定程度高更需要经验更难规范化需要对复杂系统认识与理解并在此基础上抽象出信息需求与信息流程。
8、简述软件开发的项目管理功能为项目管理人员提供支持。
项目管理包括进度管理、资源与费用管理、质量管理三个基本内容。
还包括需要提出测试方案提供测试环境和测试数据并进行版本管理。
9、从人类科学技术发展的角度论述软件的意义软件是广大使用者与计算机之间的桥梁软件是人类在各个领域中积累的知识结晶软件是使人类文明与知识得以延续的新的载体软件是人类进一步成为一个整体、得以进一步相互联系的纽带。
计算机二级理论知识精华版
第一章数据结构与算法第一节算法一、算法的基本概念所谓算法是指解题方案的准确而完整的描述。
1、算法的基本特征:(1)可行性(2)确定性(3)有穷性(4)拥有足够的情报2、算法的基本要素(1)算法中对数据的运算和操作算术运算,逻辑运算,关系运算,数据传输(2)算法的控制结构:算法中各操作之间的执行顺序称为算法的控制结构。
一个算法可以用顺序、选择、循环三种基本控制结构组合而成。
2、算法设计的基本方法(1)列举法(2)归纳法(3)递推(4)递归(5)减半递推技术二、算法复杂度1、算法的时间复杂度:指执行算法所需要的计算工作量。
用算法在执行过程中所需基本运算的次数来衡量算法的工作量。
方法:平均性态,最坏情况复杂性2、算法的空间复杂度:指执行这个算法所需的内存空间。
第二节数据结构的基本概念一、什么是数据结构数据结构是指相互有关联的数据元素的集合。
如:(1)春、夏、秋、冬(2)父亲、儿子、女儿(1)数据元素有共同的特征(2)各个元素之间存在着某种关系(联系)。
用前后件关系来描述。
如:夏是秋的前件,秋是夏的后件。
父亲是儿子和女儿的前件儿子和女儿都是父亲的后件1、数据的逻辑结构数据结构是指带有结构的数据元素的集合。
一个数据结构应包含以下两方面的信息:(1)表示数据元素的信息(2)表示各数据元素之间的前后件关系,前后件关系是逻辑关系,与它们在计算机中的存储位置无关。
数据的逻辑结构反映数据元素之间的逻辑关系。
2、数据的存储结构数据的逻辑结构在计算机中的存放形式称为数据的存储结构,也称数据的物理结构。
采用不同的存储结构,数据处理的效率不同。
一般情况下,数据的逻辑结构和存储结构是不同的。
二、数据结构的图形表示每一个数据元素用中间标有元素值的方框表示,称为数据结点,简称结点。
用一条有向线段从前件结点指向后件结点。
父亲丨在数据结构中,没有前件的结点称为根结点,没有后件的结点称为终端结—午—点(也称为叶子结点)。
其他结点一儿子女儿般称为内部结点。
07169软件开发工具与环境
07169软件开发环境与工具单项选择题1.下列属于高级语言的是A.机器语言B.汇编语言C.VC D.二进制2.软件开发环境的主要组成成分是A.软件工具B.软件C.程序D.人机界面3.下列属于总体设计工具的是A.DFD B.E-R图C.HIPO图D.PERT图4.下列不属于数据库的设计过程的是A.需求分析B.概念设计C.物理设计D.程序设计5.下列属于性能优化工具的是A.Win Runner B.EcoScope C.PC-LINT D.Vector CAST6.在软件开发工具的概念模式中,着重描述模块间控制的是A.E-R图B.结构图C.系统流程图D.DFD图7.信息库研究的核心问题是A.信息的一致性B.信息的共享性C.信息的准确性D.信息的安全性8.选购软件开发工具首先应考虑的是A.价格B.市场调查C.环境D.明确目的与要求9.在软件开发过程中,建立逻辑模型应在A.需求分析阶段B.编码阶段C.测试阶段D.分析设计阶段10.下列不属于项目管理范围的是A.质量管理B.资源管理C.费用管理D.计时管理11.下列不属于多媒体技术特征的是A.集成性B.交互性C.模拟性D.实时性12.软件开发工具最重要的信息出口是代码生成和A.报表生成B.文档生成C.联机查询D.图形处理13.在Rational Rose建模的逻辑设计中,使用的图是A.活动图B.顺序图C.状态图D.关联图14.下列测试工具中,直接对代码进行分析,不需要运行代码,也不需要对代码编译链接的是A.白盒B.黑盒C.静态D.动态15.下列属于分析工具的是A.测试工具B.数据字典管理系统C.代码生成器D.第四代语言1.软件开发工具最重要的信息出口是A.代码生产和图形处理B.代码生成和文档生成C.代码生成和联机查询D.代码生成和报表生成2.下列属于需求分析工具的是A.数据流图B.E-R图C.HIPO图D.PERT图3.目前CASE工具集成的关键是A.数据库B.操作系统C.信息库D.ODBC技术4.非过程化语言是指A.软件开发工具B.CASE C.4GL D.计算机辅助软件5.软件配置管理中最基本的模式是A.面向改变模式B.合成模式C.长事务模式D.恢复提交模式6.在PowerBuilder中,提供以自由表形式显示数据的是A.应用程序对象B.数据窗口对象C.菜单对象D.用户对象7.下列属于软件开发工具的是A.菜单生成器B.编译系统C.操作系统D.杀毒软件8.软件开发工具文档生成中,最难处理的内容是A.文章B.程序C.表格D.图形9.软件行业公认的功能最强大、价格最昂贵,主要用于复杂产品的并行开发、发布和维护的配置管理软件是A.SourceSafe B.CVS C.Clear Case D.CCC10.集成化的软件工具常被称为A.程序包B.函数集合C.过程集合D.软件工作环境11.下列软件中属于Rational公司的是A.CASE B.Visual Age C.Rose D.ADPS12.将事务的静态属性和有关操作放在一个对象中,对外不公开这些属性和操作,这称为A.隐蔽性B.安全性C.完整性D.封装性13.软件开发工具最重要的性能是A.存储各种信息的能力B.工具的可靠程度C.版本管理的能力D.帮助人们编写文档14.自行开发软件开发工具的主要缺点是A.不易于商品化B.不便于扩充C.往往低估开发难度D.目标不明确15.软件开发环境可分为宿主层、核心层、基本层和A.模式层B.应用层C.物理层D.逻辑层1.下列与软件开发工具性能指标无关的是A.软件环境B.主机速度C.硬件环境D.表达能力2.下列属于多媒体工具的是A.Photoshop B.DBMS C.VB D.Oracle3.用户界面设计在工作流程上不包括A.结构设计B.交互设计C.视觉设计D.需求设计4.软件开发工具的基础是A.信息库B.人机界面C.代码生成D.总控部分5.用户界面的主要功能是A.控制B.方便用户C.提供帮助D.通信6.下列属于平面设计软件的是A.Power Builder B.Tool Book C.CorelDraw D.Clear Case7.在第三代语言的应用中,人们发现了新的“瓶颈”是A.信息库处理需求的描述B.处理过程的描述C.处理结果的描述D.检测方式的描述8.对信息库来说,最困难的工作是保持信息库的A.安全性B.完整性C.共享性D.一致性9.在软件开发工具的结构中,处于中心位置的是总控部分和A.数据库查询B.人机界面C.代码生成D.通信10.下列版本控制软件中,具有开放源代码特点的是A.RCS B.PVCS C.CVS D.SCCS11.用助记符表示的面向机器的计算机语言是A.机器语言B.高级语言C.4GL D.汇编语言12.模块的功能在逻辑上应尽可能地单一化、明确化,这称为模块的A.完整性B.凝聚性C.可靠性D.结构化13.选购软件开发工具首先应考虑的是A.市场调查B.明确环境与约束条件C.明确目的与要求D.价格14.帮助人们编写测试软件的工具是A.计划工具B.管理工具C.分析工具D.设计工具15.在软件生产线中,负责进行基于构件的软件开发的是A.构件生产者B.构件库管理者C.构件复用者D.构件查询者1.CASE是指A.计算机辅助软件工程B.统一建模语言C.软件配置管理D.软件工具酶2.软件工具酶作用的对象是A.软件B.软件底物C.软件工具D.软件开发工具3.下列属于软件开发工具的是A.DBMS B.4GL C.编译系统D.操作系统4.从概念上说,软件开发工具产生的基础是A.机器语言B.汇编语言C.高级语言D.非过程化语言5.软件开发工具在技术上的三个要点是面向使用者、保证信息准确传递和保证系统的A.一致性B.周期性C.开放性D.准确性6.下列属于典型的基于场景设计的著作工具的是A.Action B.Tool Book C.视觉设计D.需求设计7.下列属于面向文件单一版本的软件配置模式的是A.恢复提交模式B.面向改变模式C.合成模式D.长事务模式8.第三代程序设计语言属于A.汇编语言B.机器语言C.过程化语言D.非过程化语言9.在实际工作中,数量最大的软件开发工具是A.分析工具B.计划工具C.设计工具D.软件工作环境10.每项任务仅由一个模块来完成,这称为模块的A.开放性B.稳定性C.凝聚性D.封装性11.VisualAge属于哪个公司A.ORACLE B.IBM C.INFOMAX D.HP12.下列耦合度最高的是A.内容耦合B.外部耦合C.控制耦合D.数据耦合13.下列软件以图形绘制为主的是A.PS B.CorelDraw C.InDesign D.PageMaker14.在软件生产线中,负责进行基于构件的软件开发的是A.构件生产者B.构件库管理者C.构件复用者D.构件查询者15.下列属于支持软件开发过程的工具的是A.文档工具B.版本控制工具C.配置管理工具D.需求分析工具填空题1.CASE是一组工具和方法的集合。
第三章 计算机软件复习资料
第三章计算机软件【知识点1】计算机系统的概念(1) 计算机系统的基本组成:①计算机硬件:组成计算机各种物理设备的总称②计算机软件:是指示计算机完成特定任务的,以电子格式存储的程序、数据和相关的文档。
程序:计算机如何完成任务逐步执行的命令;数据:程序所处理的对象及处理过程中使用的参数;文档:程序开发、维护和使用所涉及的资料。
(2)软件的三层含义(从科学概念上讲):①个体含义:即上面所说的计算机系统中的程序、规程、规则及其文档。
②整体含义:指在特定计算机系统中所有个体含义下的软件的总体。
③学科含义:即指软件在研究、开发、维护以及使用中所涉及的理论、方法、技术所构成的学科,在这一意义上称为软件学。
【典型例题】55.计算机软件指的是能指示计算机完成特定任务的、以电子格式存储的程序、______和相关的文档的集合。
【知识点2】软件的分类从应用的角度出发,通常将软件分为:系统软件、应用软件(1) 系统软件①系统软件:是给其他程序提供服务的程序的集合.(如各种操作系统、编译程序、磁盘清理程序等)②系统软件的主要特征:与计算机硬件系统有很强的交互性,对计算机的硬件资源进行统一的控制、调度、管理。
具有通用性,任何计算机系统必不可少。
购买计算机时,厂商必须提供一些基本的系统软件(2)应用软件①应用软件:泛指专门用于解决各种具体应用问题的软件。
②应用软件分类:按软件的开发方式和适用范围分为:通用应用软件:可以在许多行业和部门共同使用如:word、excel、绘图软件、媒体播放软件定制应用软件:按照不同领域用户的特定应用要求而专门设计的软件如:某大学的教务管理系统、某超市的销售系统③主要通用应用软件类别和功能【典型例题】8.下列软件中,_____是专门的网页制作软件。
A .FrontPage 2000B .Visual BASIC 6.0 C .Excel 2000D .PowerPoint 2000 11.在计算机的软件分类中,应用软件和系统软件的相互关系是______A .前者以后者为基础B .后者以前者为基础C .每一类都不以另一方为基础D .每一类都以另一方为基础11.在计算机系统中,对计算机各类资源进行统一管理和调度的软件是_______。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
四、实体关系图( ER 图) 实体关系图是一种用于描述静态数据结构的概念模式。
以实体、关系、属性三个基本概念概括数据的基本结构。 广泛用于数据库的设计中,常常和数据流程图、结构图 等互相配合使用。(前二者重点描述信息的处理与流通, 而缺乏对静态数据结构的具体描述方法。
五、数据字典(DD)
也是一种描述数据内容的概念模式。它用表格的形式
5、信息库的特点:
数据结构是相当复杂的,而且会不断变化,保持一
致性的任务变得十分复杂和艰巨。 一、应当存入信息库的内容:(理解掌握) (1)所述软件的工作环境、功能需求、性能要求, 有关的各种信息来源的状况、用户的状况、硬件环 境以及在该领域中的作用等外部信息。 (2)需求分析阶段中收集的有关用户的各种信息, 包括用户本身提供的和在调查研究中得到的。 (3)逻辑设计阶段的各种调查材料和由此生成的各 种文档,包括调查记录、原始数据、报表及单证的 样本、绘制的各种图以及最后生成的系统说明书。
列出数据的基本属性及相互关系。适于记录各种细节, 所以常常与其它描述工具互相补充、配合使用。
列 名 KH_NO
数据类型 VARCHAR2(10)
可否为空 NOT NULL
说 明 客户号(主键)
KH_NAME
VARCHAR2(20)
NULL
姓名
KH_GENDER KH_YEAR KH_JOB
VARCHAR2(2) NUMBER(3) VARCHAR2(20)
九、直观模型
用可视化的图标、图像、图表,甚至随手画的素描等元
素描述心中的系统。 例:VB的FORM就是一个典型。
3.3 信息库及其一致性
信息库从原义上说无非是数据库,但它不同于 Database或Data Warehouse。 1、数据库(Database)是指在文件系统基础上发展
真情煌一种数据管理技术,它的重点在于合理地组 织数据,体现出数据之间的逻辑关系,并尽可能地 帮助用户检索,减少冗余。 2、数据仓库(Data Warehouse)的基本思想:现实 中的大量原始数据与实际的应用是有相当距离的, 为了能够切实为企业管理者提出对管理真正有用的 信息,就要对信息或数据进行多次的加工或提炼, 从而得出许多派生的或综合的数据。
信息库的内容一般不删除)。 如何保持信息库的一致性,是信息库研究中的核心问 题。 关于信息库的研究目前还在进行之中,还没有形成公 认的信息库的内容与格式的标准。
3.4 人机界面及其管理
1、人机界面的重要性(不是问答题,可能是判断、填
空或选择) "对于用户,界面就是系统本身"。 用户关心的主要问题就是:是否能够有效地使用软件, 页不是系统内部的算法或数据结构。 一个软件没有很好的界面设计就不能算是成功的。 (人机界面的研究已经上升为一个专门的领域)
பைடு நூலகம்
三、软件开发工具用到的理论和方法
第一、认知科学中关于概念模式的概念与方法
第二、数据库技术的理论与方法 第三、编译技术的有关方法 第四、关于人机界面的理论与方法 第五、管理科学中关于项目管理与版本管理的理
论与方法 第六、系统科学与系统工程中的有关理论与方法
3.2 概念模式及其作用(考试的重点)
NULL NULL NULL
性别 年龄 职务
KH_TEL
VARCHAR2(20)
NULL
联系电话
KH_COMPANY
VARCHAR2(20)
NULL
工作单位
六、时序网络
一种较为特殊的概念模式。
主要描述系统状态及其转换方式,因此常常用于一些实 时控制方面的软件的功能。 基本概念是状态与转换。 状态:是指系统在运转中茉一特定的运行态势或工作方 式 转换:状态之间在一定条件下的相互变化。 它具有前面几种概念模式所没有的、特殊的描述功能。
三、数据流程图DFD图(P36)
数据流程图面对的是一个系统的信息流程。用于描述某
一业务处理系统的信息来源、存储、去向的全面情况。 由于是描述全局的,常常需要用其它一些工具补充。 基本思想是把信息流看作一个组织或系统动作的线索, 力图简明扼要地勾通画出全局。 适用于客观描述,而结构图则着重于软件模块之间的控 制。 基本元素:外部实体(系统以外的信息来源或去向)、 数据处理与数据存储。 箭头表明信息在它们之间的流动状况。
另一方面,除了规定复杂的内部结构以存放信息外, 还需要认真设计有关的界面,以便使用。 (因为 信息库要面对分析人员、程序员和维护人员(一般 不直接面对用户)等不同的对象,人们各有自己的 权限和使用目标) 因此,信息库的特殊性决定了其功能的特色。
三、信息库如何保持一致性
信息库中的信息需要不断更新(这个更新不是撤换,
(3)界面必须使用户随时掌握任务的进展状况。 (4)界面必须能提供帮助。 (5)宁可让程序多干,不可让用户多干。
4、人机界面设计中经常遇到的灵活性和一致性的权衡
(1)原则上对某一软件来说,用户的思维方式应当是一致 的,操作与控制的方式也应当是一致的。(只有这样,才 能减轻用户使用的困难) (2)另一方面是,用户是多种多样的,他们有各自的习惯 与爱好,应当让他们有一定的灵活、自由地选择某些功能 的操作方式。 对这两方面的合理权衡是人机界面设计者的责任。
3、三个文档:系统说明书、设计方案、使用手册 传统的以文档形式交流带来的两个十分严重的问题 ①首先在信息传递中,误解与丢失十分严重。
②另一个问题是由软件的修改与版本更新引起的。 4、信息库(Repository)是针对软件开发或信息系 统开发中的大量信息管理工作提出来的。是一个包 罗万象的,随着项目进展而不断修改与补充的数据 集合。
二、结构图(P35)
在结构化程序设计中引入结构图,用以表示大型软件
的层次结构,即模块结构。以模块调用的关系为线索, 从宏观上使人一目了然地掌握软件的全过程。 用自上而下的连线表示调用关系。 基本程序调用方式有三种:顺序调用、选择调用、循 环调用 优点:能够体现层次,由粗到细、自顶向下地描述程 序。
(4)设计阶段的各种资料,包括所有的数据库与数 据文件格式、数据字典、程序模块的要求、总体结
构、各种接口及参数的传递方式以及最后形成的设 计方案。 (5)编程阶段的所有成果,包括程序代码、框图、 变量说明、测试情况(输入数据及输出结果)、验 收报告、使用说明等。 (6)运行及使用情况的详细记录,包括每次使用的 时间、状态、问题,特别是有关错误及故障的记录 情况。 (7)维护及修改的情况,包括修改的目标、责任人、 过程、时间,修改前后的代码、文档以及修改后的 结果、原系统的备份。
(8)项目管理的有关信息,包括人员变更、资金投入、
进度计划及实施情况,还包括版本信息,即各次版本 的备份、每个版本的推出日期和以前版本相比的变更 说明等。
二、信息库应当具备的管理功能
由于信息库结构的特殊性,只有一般的数据库功能 是不够用的。 一方面,许多信息(如原始单证、报表样张等)计 算机中只能有目录,这就需要把计算机内外的信息 存储统一起来管理。
2、关于人机界面的研究有两种角度:
①一种是从软件开发的角度讨论应当遵循的原则,这
基本上沿着程序设计方法学的方向发展而来的。 ②另一种是归纳出人机界面的基本要求与基本操作, 写出样例(或样板)及有关的函数与操作程序,从而 大大减轻人们设计人机界面的工作负担,提高设计的 质量。 这就是软件开发工具的思路。
第一、使产品(或工程)的质量得到有效的控制。 第二、保证整个系统按预定的进度完成。
首先,许多信息需要长期保存,因为它们并非只 用一次,而是需要不断更新,不断被调用。(合 理存储) 其次,在许多环节上都要进行数据的转换或加工。 (正确转化)
再次,还有大量的人与人之间的信息交流。(顺
畅流通) 所以可以说,软件开发工具正是为对上述四类信 息的合理存储、正确转化和顺畅流通提供帮助。
5、人机交互手段有八个方面:(要记住)
键盘操作、屏幕滚动、菜单选择、帮助系统、鼠标操作、 色彩应用、数据录入、信息显示。 ·在软件开发工具中,人机界面占有特别重要的地位,充 分利用已有的成果无疑是一条捷径。
3.5 项目管理与版本管理
一、项目管理
1、项目管理:本来是管理科学领域的一项内容,指与 固定的生产线上的日常生产管理不同的,具有更大的 变动性、时间性的一类管理任务。
3、概念模式具有相对性,即面对各种不同的用途,必
然会有不同形式的概念模式。它们各有各有用处,不 能互相代替,也无法说哪个更好或更有力。
4、概念模式的特点:简单明了,易于理解。
一、框图(P35)
人们在编写软件时最早使用的一种概念模式。用来描述
程序执行的逻辑过程的。 基本步骤:处理、判断、输入输出、起始或终止等几个 基本功能。 适用范围:当软件规模不太大的时候(至今还在普遍地 使用)
1、定义:是指人们在认识事物过程中,对某一事物 或某一系统形成的抽象的、一般化的概念框架 2、概念模式的意义: ①概念模式是人们认识客观世界的一种方法、工具。 ②概念模式是人们的长期的实践活动中逐渐形成的。 ③要领模式总是在一定的理论思想指导下形成的, 同时又不断根据实际情况得到修正。 ④概念模式在认识过程中十分重要,同时作为交流 与表达工具也是十分重要的。
一、软件开发中涉及的信息主要有以下几方面:
3.1 软件开发过程的信息需求
第一类,有关系统环境、现状及需求的信息。 第二类,有关软件的功能设计与物理设计的各种信息。 第三类,软件成果本身,包括程序与文档。 第四类,用户对系统和各种变更要求,以及系统的各 种变更记录。
二、以上四类信息涉及的信息管理工作有 以下几个方面:
七、数学与逻辑模型
一般只能描述比较单纯、比较基础的功能。
另外作为逻辑的表达方式,决策树和决策表也是经常 使用的。
已知某商店业务处理系统中的检查发货单的处理流程如下,