第三章 软件开发工具的理论基础
软件开发工具-知识点整理
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.在计算机系统中,对计算机各类资源进行统一管理和调度的软件是_______。
03173软件开发工具-总复习
课程性质本课程是高等教育自学考试“计算机信息管理”专业自学考试计划中,本科阶段的一门专业课程,开发软件能力是本专业学生必备的条件之一,本课程的目的是使学生在学习程序设计的基本知识之后,进一步了解和掌握软件开发的各类工具,从而提高软件开发能力与水平,以适应未来工作的需要。
本课程不是只介绍若干常用的软件开发工具,使学员只是站在一般程序员的角度,而是要从软件开发的组织者的高度,全面地认识与考虑软件开发的过程、组织等问题。
本课程既有一定的理论基础,又有实际上机操作作为背景。
因此。
学生应当结合自己的实践经验,认真从实践提高到理论,建立软件工程与软件开发工具的思想方法。
课程特点理论部分1章,作为导言,概括地介绍软件开发工具的由来,概念,功能,性能,类别与使用环境。
理论部分2-4章,主要介绍了软件工程与程序设计学的基础知识;软件开发工具的有关理论基础知识,包括概念模式,信息库,人机界面,项目管理;软件开发工具各方面的技术状况。
这部分是本课程理论知识的核心部分。
理论部分5-6章,主要介绍了人们在面对具体问题时,是购买现成的工具还是自行开发,以及需要考虑的各个因素;了解软件开发工具技术领域的发展现状和趋势。
实践部分7-8章,介绍Eclipse是什么,历史,用途以及体系结构,详细描述了Eclipse 和JDK安装方法,着重介绍了Eclipse工作台的各个部分及基本功能,详细介绍了Eclipse中的透视图,视图,编辑器。
实践部分9-11章,介绍了MinGW和CDT的概念和安装方法,并着重介绍了使用Eclipse 创建项目,源文件夹,类以及Eclipse重构功能。
最后介绍了Eclipse CDT常用功能:编辑器自定义,定制工作台,格式化代码,生成历史记录。
实践部分12-14章,介绍了版本管理软件CVS的使用,Eclipse插件的开发,最后介绍了Rational Rose建模工具的使用。
基本要求1、系统了解与掌握软件开发过程及其管理工作,深人理解有关的概念与原则,掌握提高软件质量的基本方法与途径。
2019年自考软件开发工具资料笔记
2019年自考软件开发工具资料笔记软件开发工具资料笔记第1章绪论1.1 软件开发工具的由来1、软件产品的(质量)(效率)(价格)已成为各方面关注的十分重要的问题。
(多选题)2、名词解释:软件开发工具在高级程序设计语言的基础上,为提高软件的质量和效率,从规划、分析、设计、测试、成文和管理各方面,对软件开发者提供各种不同程度帮助的一类广泛的软件。
3、简答:如何理解软件开发工具的概念(1)是一类软件,是开发软件用的软件(2)它是在第三代语言的基础上发展起来的。
(3)强调对软件开发全过程中各个阶段的支持,即不仅包含狭义的编程阶段,而是包括了相当广泛的范围和相当丰富的内容。
4、60年代初期的高级语言有(FORTRAN)(ALGOL)(COBOL)。
(多选或填空题)5、第三代语言实现了对机器的(独立性),(抽象)地(逻辑)地描述处理和算法,提高了程序地(移植性)。
(填空题)6、第三代语言地瓶颈-(处理过程的描述)(单选或填空题)7、名词解释:软件危机认识到软件工作地重要性地同时,也认识到了软件工作地困难性。
8、简答:软件的重要性(1)软件是计算机的灵魂(2)软件是使用者与计算机之间的桥梁(3)软件是人类在各个领域中积累的知识的结晶(4)软件是人类文明与知识得以延续的新的载体(5)软件是人类进一步成为一个整体,得以进一步相互联系的纽带9、简答:软件的困难性(1)人类社会和客观世界的复杂性,决定了软件本身的复杂性(2)人类知识的丰富多彩,决定了软件的极大的多样性(3)客观世界的动态性,决定了软件对可维护性、可重用性越来越高的要求。
10、通用软件的弱点(1)有许多工作是通用软件所无法完成的(2)用通用软件完成某些工作,只能表现其表面的形式,而不能反映其逻辑内涵(3)用通用软件来帮助人们完成软件开发工作时,常常遇到难于保持一致性的困难11、属于专用软件开发工具的有(代码生成器:报表生成器、菜单生成器、对话生成器)(第四代语言)(数据字典管理系统DDMS)(画数据流程图、ER图或程序框图的绘图软件)(多选题)12、进入集成的软件开发环境阶段的标志是IBM公司(AD/Cycle理论框架的提出)(单选题)1.2 软件开发工具的概念1、简答:软件开发工具概念的要点(1)它是在高级程序设计语言之后,软件技术进一步发展的产物(2)它的目的是人们开发软件过程中给予人们各种不同方面、不同程度的支持或帮助(3)它支持软件开发的全过程,而不是仅限于编码或其它特定的阶段2、认识软件开发工具的概念,应同时认识它的(继承性)与(创造性)(填空题)3、指令是人们在实践中形成的工作(规范)与(步骤)(填空题)4、软件应当包括(程序)和(文档)两个不可缺少的组成部分。
软件开发的基本知识
软件开发学什么?软件开发需要掌握的基础知识软件开发就是编程,学习的内容就是计算机语言,有的学java 有的学.net 有的学php。
掌握并精通至少一门编程语言,C语言C++主要做底层开发,做软件开发主要是java语言,学习编程语言,首先应该从基础的开始掌握,虽然VB相对更容易入门,但是现在绝大多数的高级编程语言都是从C语言的基础上演化而来的。
以下是软件开发需要掌握的基础知识:1、数据结构。
基本上是必学科目。
因为数据结构是所有软件语言的基础。
如果一个软件工程师不清楚数组丶队列丶排序等等,那十有八九数据结构翘课了;2、逻辑代数。
可能会学到;3、软件工程。
必学科目。
如果不清楚软件的开发过程,那基本上可以认为是软件工程不上心;4、C语言。
必学科目。
有些学校也许会调整为Java。
不管是C还是J,都属于理论的应用;5、编译原理。
可能有,不学没关系;6、数据库原理。
需要掌握,非必学。
现在的软件系统是无法离开数据库,所以不学数据库很危险;7、项目管理。
选学。
一般人不会学,但是大多数都在工作后又悄悄将它重温一遍;8、计算机通信原理。
基本上必学,如果不学,估计对什么通信协议丶加密原理无法深入理解;9、linux系统。
非必学,但强烈建议学。
其它的课程还有很多,但对于软件学习关系不太大,略去。
如果是非科班生,考虑到时间因素,选一门主要语言学习即可,其它知识多从例程入手,不可再去狂钻理论。
软件开发工具分为苹果开发工具和安卓开发工具:1、基于IOS系统的APP:开发苹果系统的APP 需要使用苹果公司的开发工具xcode,通常使用Objective-C或Swift语言开发。
Objective-C源于C 语言,继承了C语言的特点。
如果你懂C语言,可以直接用Objective-C编程,差别不大。
不懂的话,遇到不懂的地方再查资料。
还有苹果引进的Swift语言,非常好用。
2、基于Android系统的APP安卓app开发有多种类型的工具。
常用软件开发工具有效利用分析
常用软件开发工具有效利用分析摘要:软件在开发工作中需要非常基础的软件开发工具作为支撑。
在众多的软件开发工具中,能够有效利用的,或者说是应用比较广泛的不是很多。
那么,掌握这些软件开发工具的特点,并进行有效的软件开发显得非常重要。
以常用的软件开发工作为切入点,探讨了常用软件开发工具在软件开发中的有效性。
关键词:常用软件;开发工具;有效利用;分析中图分类号:tp302 文献标识码:a 文章编号:16727800(2013)0020007021 软件开发工具概述当前软件的编写大都基于一种开发工具软件,有了这类工具软件,软件开发从前期的规划、业务流程的分析、软件模块的设计、代码的测试环节和使用管理方面都进一步规范化,给程序员带来很大的便利。
软件开发工具降低了程序员的工作难度,为复杂软件开发提供了很大帮助。
1.1 什么是计算机软件软件是相对硬件而言,在计算机发明后,通常把计算机cpu、硬盘等组件和外设称为计算机硬件,是实实在在看的见的东西,而软件是以代码形式存在于计算机硬件设备中,用户看到的是软件的运行表现。
计算机用户看到计算机屏幕上的操作系统或者应用程序都是软件,可以说计算机软硬件系统中交互性最强的是软件,软件给使用者提供了无限的方便,可以工作、学习、娱乐等等。
互联网时代软件拥有庞大的数量,软件的产生都是人类智慧的体现。
软件是现代文明一种新的介质,推动人类文明到一个更高的阶段。
1.2 集成的软件开发工具随着计算机技术发展,复杂的业务管理流程和复杂系统控制都依赖于软件开发工具,这类集成的软件开发工具涵盖了软件开发的各个生命周期,从软件工程化的角度诠释了软件开发的系列流程。
越来越多的软件工程需求刺激了集成化软件开发工具的产生。
现在常见的集成软件开发工具有很多:如vb、pb、delphi、vc、java、asp等等,它们是有代表性的软件开发工具,各有所长,如vb简单易学,vc功能强大, java主要用于网络编程等。
第三章习题
一、选择题1.操作系统和应用软件在计算机中运行时,正确的是()A. 操作系统调用应用软件功能B. 应用软件调用操作系统功能C. 操作系统运行完毕后再运行应用软件D. 两者互不相关,独立运行2.下面有关windows操作系统中多任务处理的叙述中,正确的是()A. 用户如果只启动一个应用程序工作(如使用word写作),那么该程序就可以自始至终独占CPUB. 由于计算机中有多个处理器,所以操作系统才能同时执行多个任务的处理C. 前台任务和后台任务都能得到CPU的及时响应D. 由于CPU具有多个执行部件,可同时执行多条指令,所以操作系统才能同时进行多个任务的处理3.操作系统具有存储管理功能,当内存不够时,可以自动“扩充”内存,为用户提供一个容量比实际内存大得多的存储空间,所采用的技术是()A. 缓冲区技术B. 虚拟存储器技术C. SPOOLing技术D. 进程调度技术4.下面关于中文windows操作系统中文件管理的一些叙述中,错误的是()A. 文件夹中可以存放文件,也可以存放文件夹,从而构成树状的文件夹结构B. 根目录中只能用来存放文件夹,不能用来存放文件C. 文件和文件夹的名字既可以用英文也可以用中文D. 即时文件的属性是“隐藏”,该文件也能正常打开和关闭5. 在下列关于Windows操作系统中多任务处理的叙述中,正确的是()。
A.用户如果只启动一个应用程序,则该程序就可以自始至终独占CPU资源B.由于CPU中有多个执行部件,可同时执行多条指令,所以才能同时执行多个任务的处理C.从微观上看,前台任务和后台任务能同时得到CPU响应D.Windows操作系统在执行32位应用程序时,采用的是按时间片轮转的调度方法6. 在下列关于程序设计语言及其处理系统的叙述中,错误的是()。
A.汇编语言同机器语言一样,均是面向机器指令系统的,其程序的可移植性差B.汇编程序是指由汇编语言编写的程序C.高级语言在一定程度上与机器无关D.目前大多数应用程序是用高级语言编写、由编译程序处理后生成的可执行程序7. 在下列有关程序设计语言及其处理程序的叙述中,错误的是()。
计算机软件
2.操作系统的启动
•自举:装载操作系统软件并启动执行的过程。计算机的ROM
中固化了一小部分操作系统指令(基本I/O系统,又称BIOS),
计算机加电后,自动执行BIOS, BIOS先把一部分程序从磁盘 读入内存,然后再由读入的这部分程序装载其他所需的操作系
统软件。这个过程称作为“自举”或“引导”。
•命令:操作系统功能的表现形式。
– 计算机软件(Computer Software):包含与数据
处理系统操作有关的程序、规程、规则以及相关 文档的智力创作。(ISO的定义)
什么是计算机软件
• 软件的三层含义(从科学概念上讲):
–个体含义,即上面所说的计算机系统中的程序、 规程、规则及其文档 –整体含义,指在特定计算机系统中所有个体含 义下的软件的总体
3.1.2 计算机软件的发展
计算机软件的发展
计算机软件的发展与计算机应用和硬件的发展互 (1)第一阶段(1940年代到1950年代中期) • 从第一台计算机上的第一个程序开始到实用的高级语 言程序出现以前,是计算机软件发展初期。 • 应用领域较窄:主要是科学与工程计算。处理对象:
相推动和制约。软件的发展大致经历了三个主要阶段:
3.2.5 设备管理
• 设备管理:对计算机系统中除了CPU和内存以外的所 有I/O设备的管理。进而言之,设备管理的对象除了 进行实际I/O操作的设备外,还包括诸如控制器、通
道等支持设备。
• 设备管理任务:外部设备的分配、启动和故障处理, 用户不必详细了解设备及接口的技术细节,就可以 利用驱动程序对相应的设备进行操作。 • 采用技术:中断技术、通道技术、虚拟设备技术和
数值数据
• 工作方式:个体;编程语言:使用低级语言编程 • 人们对和程序有关的文档的重要性认识不足,重视编 程技巧
第三章软件工程结构化分析
get f1 A
f4 f6
f3 f2
主模块 (C、D、E)
f7
将f3变换成f7和f8
f7
f8
C
D
E
put f7
put f8
f9 f8 f10
F put f9 G put f10
f10
f11
H put f11
主模块 (C、D、E)
get f3
将f3变换成f7和f8
put f7
put f8
get f2 B
随着设计的逐步深入,对软件结构进一步细化,称为详 细设计(或过程设计)。
因此,软件设计分为:概要设计、详细设计两个阶段。
█ 概要设计 通过仔细分析“软件需求规格说明”,适当地对软件
进行功能分解,从而将系统分解为一系列功能模块,并 设计出完成预定功能的模块结构。(层次结构) █ 详细设计
具体针对每个模块,确定完成每个模块功能所需要的 算法和数据结构等。 (实现过程)
每个模块完成一个特定的子功能,所有模块按某种方法组 装成为一个整体,从而实现整个系统所要求的功能。
说明:模块化是软件开发过程中解决复杂问题的重要手段。
开发大而复杂的系统,进行适当的分解,不但可降低系 统复杂性,还可减少开发工作量,总体上降低开发成本, 提高软件生产率。
是否将系统无限分解,最后开发工作量就趋于零?
第4章 结构化设计
学习内容: 1、结构化设计的定义与目标 2、结构化设计与结构化分析的关系 3、结构化设计的分类与任务 4、结构化设计的概念和原理
了解: 结构化设计与结构化分析的关系
掌握: 结构化设计的概念与原理
一、结构化设计的定义与目标
在需求分析基础上,采用结构化方法进行软件系统的设
计算机软件 第三章 练习题(带答案)
1. 为了方便人们记忆、阅读和编程,对机器指令用符号表示,相 应形成的计算机语言称为汇编语言。T
2. 操作系统的三个重要作用体现在:管理系统硬软件资源、为用 户提供各种服务界面、为应用程序开发提供平台。T
3. 计算机应用最多的是数值计算。F 4. “引导程序”的功能是把操作系统的一部分程序从内存写入磁
效率低。T 52. PC机常用的操作系统有Windows、Unix、Linux等。T 53. 解释程序的执行过程是:对源程序的语句从头到尾逐句扫描,
逐句翻译,并且翻译一句执行一句。T 54. Windows操作系统中,磁盘碎片整理程序是一种应用软件。F 55. 实时操作系统的主要特点是允许多个用户同时联机使用计算
45. 计算机系统必须对信息资源的访问进行控制和管理,即对系统 内的信息规定各个用户对它的操作权限,如是否可读、是否可 写、是否可修改等,统称为“访问控制”。 T
46. 程序是软件的主体,单独的数据和文档一般不认为是软件。T 47. 通常将计算机软件分成系统软件和应用软件T
48. 所谓系统软件就是购置计算机时,计算机供应商提供的软件 F 49. Windows系列和Office系列都是目前流行的操作系统F 50. 操作系统是现代计算机系统必须配置的核心应用软件。F 51. 同一个程序在解释方式下的运行效率要比在编译方式下的运行
B. 应用软件
C. 财务软件
D. 文字处理软件
8. 一个用户若需在一台计算机上同时运行多个程序,必须使用具
有___ _功能的操作系统。
A. 多用户
B. 多任务
C. 分布式
D. 单用户
9. 下列关于计算机软件说法中,正确的是________。
A. 用计算机高级语言编写的程序都可直接在计算机上执行
软件开发培训课程内容
软件开发培训课程内容软件开发是一个科技发展迅速的行业,具有广阔的发展前景。
随着现代化技术的不断更新,软件开发人才需求量不断增加。
因此,软件开发培训课程是非常重要的,可以帮助学员获得必要的知识和技能,从而满足市场需求。
本文将详细介绍软件开发培训课程的内容,包括基础知识、编程语言、开发工具和实践应用等方面。
一、基础知识1.计算机基础知识软件开发培训课程的第一部分将介绍计算机基础知识,包括计算机组成原理、操作系统、网络基础和数据库基础等内容。
学员将学习计算机的基本原理和工作原理,以及计算机系统软硬件的相互关系。
2.数据结构与算法数据结构与算法是软件开发的基础,对于软件开发人员而言,掌握好数据结构与算法对于提高编程能力非常重要。
软件开发培训课程将介绍常用数据结构和算法,例如数组、链表、栈、队列、树、图、排序和查找算法等。
学员将学习如何运用这些数据结构和算法解决实际问题,提高代码效率和质量。
3.软件工程基础软件工程是软件开发的重要理论基础,对于软件开发人员而言,掌握软件工程知识能够帮助他们更好地进行软件设计、开发和维护。
软件开发培训课程将介绍软件工程的基本理论和方法,包括软件生命周期、需求分析、设计原则、测试方法和质量保证等内容。
学员将学习如何应用软件工程知识进行软件开发,提高软件的可靠性和稳定性。
二、编程语言1.常用编程语言软件开发培训课程将介绍常用的编程语言,包括Java、C++、C#、Python、JavaScript等。
学员将学习这些编程语言的语法和用法,以及如何利用它们进行软件开发。
2.面向对象编程面向对象编程是现代软件开发的主流方法,对于软件开发人员而言,掌握好面向对象编程能够提高代码的可读性和可维护性。
软件开发培训课程将介绍面向对象编程的基本概念和技术,包括类和对象、继承和多态、封装和抽象等内容。
学员将学习如何运用面向对象编程进行软件开发,提高代码的重用性和可扩展性。
3.前端开发技术随着互联网的快速发展,前端开发技术也变得越来越重要。
- 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 软件开发过程的信息需求
第一类,有关系统环境、现状及需求的信息。 第二类,有关软件的功能设计与物理设计的各种信息。 第三类,软件成果本身,包括程序与文档。 第四类,用户对系统和各种变更要求,以及系统的各 种变更记录。
二、以上四类信息涉及的信息管理工作有 以下几个方面:
七、数学与逻辑模型
一般只能描述比较单纯、比较基础的功能。
另外作为逻辑的表达方式,决策树和决策表也是经常 使用的。
已知某商店业务处理系统中的检查发货单的处理流程如下,