第三章 软件开发工具的理论基础
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2、关于人机界面的研究有两种角度:
①一种是从软件开发的角度讨论应当遵循的原则,这
基本上沿着程序设计方法学的方向发展而来的。 ②另一种是归纳出人机界面的基本要求与基本操作, 写出样例(或样板)及有关的函数与操作程序,从而 大大减轻人们设计人机界面的工作负担,提高设计的 质量。 这就是软件开发工具的思路。
(3)界面必须使用户随时掌握任务的进展状况。 (4)界面必须能提供帮助。 (5)宁可让程序多干,不可让用户多干。
4、人机界面设计中经常遇到的灵活性和一致性的权衡
(1)原则上对某一软件来说,用户的思维方式应当是一致 的,操作与控制的方式也应当是一致的。(只有这样,才 能减轻用户使用的困难) (2)另一方面是,用户是多种多样的,他们有各自的习惯 与爱好,应当让他们有一定的灵活、自由地选择某些功能 的操作方式。 对这两方面的合理权衡是人机界面设计者的责任。
5、人机交互手段有八个方面:(要记住)
键盘操作、屏幕滚动、菜单选择、帮助系统、鼠标操作、 色彩应用、数据录入、信息显示。 ·在软件开发工具中,人机界面占有特别重要的地位,充 分利用已有的成果无疑是一条捷径。
3.5 项目管理与版本管理
一、项目管理
1、项目管理:本来是管理科学领域的一项内容,指与 固定的生产线上的日常生产管理不同的,具有更大的 变动性、时间性的一类管理任务。
(4)设计阶段的各种资料,包括所有的数据库与数 据文件格式、数据字典、程序模块的要求、总体结
构、各种接口及参数的传递方式以及最后形成的设 计方案。 (5)编程阶段的所有成果,包括程序代码、框图、 变量说明、测试情况(输入数据及输出结果)、验 收报告、使用说明等。 (6)运行及使用情况的详细记录,包括每次使用的 时间、状态、问题,特别是有关错误及故障的记录 情况。 (7)维护及修改的情况,包括修改的目标、责任人、 过程、时间,修改前后的代码、文档以及修改后的 结果、原系统的备份。
(8)项目管理的有关信息,包括人员变更、资金投入、
进度计划及实施情况,还包括版本信息,即各次版本 的备份、每个版本的推出日期和以前版本相比的变更 说明等。
二、信息库应当具备的管理功能
由于信息库结构的特殊性,只有一般的数据库功能 是不够用的。 一方面,许多信息(如原始单证、报表样张等)计 算机中只能有目录,这就需要把计算机内外的信息 存储统一起来管理。
首先,许多信息需要长期保存,因为它们并非只 用一次,而是需要不断更新,不断被调用。(合 理存储) 其次,在许多环节上都要进行数据的转换或加工。 (正确转化)
再次,还有大量的人与人之间的信息交流。(顺
畅流通) 所以可以说,软件开发工具正是为对上述四类信 息的合理存储、正确转化和顺畅流通提供帮助。
1、定义:是指人们在认识事物过程中,对某一事物 或某一系统形成的抽象的、一般化的概念框架 2、概念模式的意义: ①概念模式是人们认识客观世界的一种方法、工具。 ②概念模式是人们的长期的实践活动中逐渐形成的。 ③要领模式总是在一定的理论思想指导下形成的, 同时又不断根据实际情况得到修正。 ④概念模式在认识过程中十分重要,同时作为交流 与表达工具也是十分重要的。
二、结构图(P35)
在结构化程序设计中引入结构图,用以表示大型软件
的层次结构,即模块结构。以模块调用的关系为线索, 从宏观上使人一目了然地掌握软件的全过程。 用自上而下的连线表示调用关系。 基本程序调用方式有三种:顺序调用、选择调用、循 环调用 优点:能够体现层次,由粗到细、自顶向下地描述程 序。
3、三个文档:系统说明书、设计方案、使用手册 传统的以文档形式交流带来的两个十分严重的问题 ①首先在信息传递中,误解与丢失十分严重。
②另一个问题是由软件的修改与版本更新引起的。 4、信息库(Repository)是针对软件开发或信息系 统开发中的大量信息管理工作提出来的。是一个包 罗万象的,随着项目进展而不断修改与补充的数据 集合。
九、直观模型
用可视化的图标、图像、图表,甚至随手画的素描等元
素描述心中的系统。 例:VB的FORM就是一个典型。
3.3 信息库及其一致性
信息库从原义上说无非是数据库,但它不同于 Database或Data Warehouse。 1、数据库(Database)是指在文件系统基础上发展
真情煌一种数据管理技术,它的重点在于合理地组 织数据,体现出数据之间的逻辑关系,并尽可能地 帮助用户检索,减少冗余。 2、数据仓库(Data Warehouse)的基本思想:现实 中的大量原始数据与实际的应用是有相当距离的, 为了能够切实为企业管理者提出对管理真正有用的 信息,就要对信息或数据进行多次的加工或提炼, 从而得出许多派生的或综合的数据。
三、数据流程图DFD图(P36)
数据流程图面对的是一个系统的信息流程。用于描述某
一业务处理系统的信息来源、存储、去向的全面情况。 由于是描述全局的,常常需要用其它一些工具补充。 基本思想是把信息流看作一个组织或系统动作的线索, 力图简明扼要地勾通画出全局。 适用于客观描述,而结构图则着重于软件模块之间的控 制。 基本元素:外部实体(系统以外的信息来源或去向)、 数据处理与数据存储。 箭头表明信息在它们之间的流动状况。
列出数据的基本属性及相互关系。适于记录各种细节, 所以常常与其它描述工具互相补充、配合使用。
列 名 KH_NO
数据类型 VARCHAR2(10)
可否为空 NOT NULL
说 明 客户号(主键)
KH_NAME
VARCHAR2(20)
NULL
姓名
KH_GENDER KH_YEAR KH_JOB
VARCHAR2(2) NUMBER(3) VARCHAR2(20)
四、实体关系图( ER 图) 实体关系图是一种用于描述静态数据结构的概念模式。
以实体、关系、属性三个基本概念概括数据的基本结构。 广泛用于数据库的设计中,常常和数据流程图、结构图 等互相配合使用。(前二者重点描述信息的处理与流通, 而缺乏对静态数据结构的具体描述方法。
五、数据字典(DD)
也是一种描述数据内容的概念模式。它用表格的形式
5、信息库的特点:
数据结构是相当复杂的,而且会不断变化,保持一
致性的任务变得十分复杂和艰巨。 一、应当存入信息库的内容:(理解掌握) (1)所述软件的工作环境、功能需求、性能要求, 有关的各种信息来源的状况、用户的状况、硬件环 境以及在该领域中的作用等外部信息。 (2)需求分析阶段中收集的有关用户的各种信息, 包括用户本身提供的和在调查研究中得到的。 (3)逻辑设计阶段的各种调查材料和由此生成的各 种文档,包括调查记录、原始数据、报表及单证的 样本、绘制的各种图以及最后生成的系统说明书。
3、概念模式具有相对性,即面对各种不同的用途,必
然会有不同形式的概念模式。它们各有各有用处,不 能互相代替,也无法说哪个更好或更有力。
4、概念模式的特点:简单明了,易于理解。
一、框图(P35)
人们在编写软件时最早使用的一种概念模式。用来描述
程序执行的逻辑过程的。 基本步骤:处理、判断、输入输出、起始或终止等几个 基本功能。 适用范围:当软件规模不太大的时候(至今还在普遍地 使用)
Fra Baidu bibliotek
七、数学与逻辑模型
一般只能描述比较单纯、比较基础的功能。
另外作为逻辑的表达方式,决策树和决策表也是经常 使用的。
已知某商店业务处理系统中的检查发货单的处理流程如下,
练习题:
给制其决策树或是决策表。 if 发货单金额 >$500 then if 欠款> 60天 then 在偿还欠款之前不予批准 else 发批准书,发货单 else if 欠款> 60天 then 发批准书,发货单及赊欠报告 else 发批准书,发货单
一、软件开发中涉及的信息主要有以下几方面:
3.1 软件开发过程的信息需求
第一类,有关系统环境、现状及需求的信息。 第二类,有关软件的功能设计与物理设计的各种信息。 第三类,软件成果本身,包括程序与文档。 第四类,用户对系统和各种变更要求,以及系统的各 种变更记录。
二、以上四类信息涉及的信息管理工作有 以下几个方面:
第一、使产品(或工程)的质量得到有效的控制。 第二、保证整个系统按预定的进度完成。
发货单金额 >$500
成立
成立
不成立
不成立
欠款> 60天
在偿还欠款之前不 予批准 发批准书,发货单
成立
√
不成立 立
成立
不成
√ √
√
发批准书,发货单 及赊欠报告
八、计算机模拟模型
利用计算机大量、高速处理信息的能力,在计算机内设
置一定的环境,又以程序来表现客观系统中的某些规律 或规则,计算机则在设定好的环境、按定好的规则高速 运行,以便人们观察与预测客观系统的状况。 计算机模拟人微言轻一种不需要事先作更多理论假设的 概念模式,已发展成为一个独特的分支。
NULL NULL NULL
性别 年龄 职务
KH_TEL
VARCHAR2(20)
NULL
联系电话
KH_COMPANY
VARCHAR2(20)
NULL
工作单位
六、时序网络
一种较为特殊的概念模式。
主要描述系统状态及其转换方式,因此常常用于一些实 时控制方面的软件的功能。 基本概念是状态与转换。 状态:是指系统在运转中茉一特定的运行态势或工作方 式 转换:状态之间在一定条件下的相互变化。 它具有前面几种概念模式所没有的、特殊的描述功能。
2、与一般工厂的日常生产管理相比,项目管理的四
个突出的特点: 第一,子任务多,关系复杂 第二,任务不可重复,形势不断变更 第三,协调组织的任务十分突出,资源浪费闲置的 风险与合理地优化组合、提高效益的机会并存。 第四,信息处理工作的作用与意义更为突出。
这几个特点在软件开发工作中同样存在。对于软件 来说,样品即产品。 进度和质量对软件开发是最关键的问题。软件开发 与工程项目一样没有"下一次",它必须正确、按时地 完成,它也是一旦做好就不用再做了。资源的浪费 更是软件工作中十分常见的现象。
3、软件开发工作还有自己的不同于一般 项目管理的特点:
(1)一般工程项目没有版本更新的问题,但一个有生命 力的软件产品(或应用系统)必然要经过若干次改进 和更新才能形成。 (2)另外,对于大系统来说,各部分的一致性各程序 与文档之间的一致性又带来一系统复杂的管理问题。 (在软件开发工具的理论基础中,项目管理和版本管 理占据了十分重要的、不可忽视的地位。)
另一方面,除了规定复杂的内部结构以存放信息外, 还需要认真设计有关的界面,以便使用。 (因为 信息库要面对分析人员、程序员和维护人员(一般 不直接面对用户)等不同的对象,人们各有自己的 权限和使用目标) 因此,信息库的特殊性决定了其功能的特色。
三、信息库如何保持一致性
信息库中的信息需要不断更新(这个更新不是撤换,
信息库的内容一般不删除)。 如何保持信息库的一致性,是信息库研究中的核心问 题。 关于信息库的研究目前还在进行之中,还没有形成公 认的信息库的内容与格式的标准。
3.4 人机界面及其管理
1、人机界面的重要性(不是问答题,可能是判断、填
空或选择) "对于用户,界面就是系统本身"。 用户关心的主要问题就是:是否能够有效地使用软件, 页不是系统内部的算法或数据结构。 一个软件没有很好的界面设计就不能算是成功的。 (人机界面的研究已经上升为一个专门的领域)
3、用户界面(人机界面)的基本原则: (1)用户界面的主要功能是通信 ①一方面,人向机器输入时应当尽量采取自然
的方式。 ②另一方面机器向人传递的信息必须准确、不 致引起误解或混乱。 ③另外,不要把内部的处理、加工与人机界面 混在一起。(人机界面的程序只执行信息的传递任 务,不做加工处理。)
(2)界面必须始终一致。
三、软件开发工具用到的理论和方法
第一、认知科学中关于概念模式的概念与方法
第二、数据库技术的理论与方法 第三、编译技术的有关方法 第四、关于人机界面的理论与方法 第五、管理科学中关于项目管理与版本管理的理
论与方法 第六、系统科学与系统工程中的有关理论与方法
3.2 概念模式及其作用(考试的重点)