蓝田玉PDF文档网 / 电脑教程 / 中小学信息科学知识:信息系统分析与设计
 


中小学信息科学知识:信息系统分析与设计



第一章 信息系统和系统科学
       第一节 信息系统的产生和发展 一、社会信息化的发展和基本特征
  在人类发展的历史长河中,科学技术的发展就是人类对客观世界认识不 断深化的过程。唯物主义认为:客观世界的基础是物质。而物质又有三重属 性,即物质属性、能量属性和信息属性。科学技术的发展反映了人类对这三 重属性由浅入深的认识变化,技术革命的出现标志着这种认识取得突破性进 展。以机械比为特征的
  第一次技术革命(1780—1910)反映了人类对客观世界物质属性认识的 升华,以电气化为特征的
  第二次技术革命(1911—1945)反映出人类对能量属性认识的升华,而 以自动化为特征的
第三次技术革命(1946—1976)和以信息化为特征的 第四次技术革命(1977—)则反映了人类对信息属性认识的升华。 一般认为,社会信息化有如下一些基本特征:
1.信息膨胀
据联合国教科文组织统计,80 年代末期,在自然科学领域内,基础科学
有 538 个主要学科,技术科学则有 412 个专业分支。全世界每天发表 16000 篇论文,出版 1800 种图书,登记 800 多件专利。1983 年 3 月,美国化学学 会记下了
第 600 万种化学物质。进入 90 年代以来,全世界每年约生产 720 亿条
各种媒介的信息,这就是“信息爆炸”。信息膨胀使世界充满了大量各种各 样的信息。这些信息在未经加工整序之前,人们将难以利用,即难以找到适 合自己需要的信息。
2.信息技术高度发展
  信息技术是指为获取、处理、存贮、检索、传递各类信息而采用的技术 和设备的总称。可以认为,人脑的功能在于处理信息,而信息技术则是辅助 人脑处理信息的技术,是能够扩展人的信息器官功能的技术。信息技术包括 计算机、通讯、高密度存贮、声像、复印、印刷等广泛的技术领域及其在信 息工作中的应用,其中计算机技术是其核心。
3.信息、信息技术和信息化的重要性日愈为人类所认识
  信息是生命生存的要素,是影响社会生产力的重要因素,是现代社会经 济发展的必要和重要条件,而信息消费则是信息时代社会生活重要部分。信 息和原材料、能源一起,构成了社会生产的三大支柱,因而是一种重要的资 源。对于社会生产的发展而言,信息技术是催化剂和倍增器,它对经济发展、 社会变革、国家安全乃至整个国家的发展,都具有关键性的作用。因此,对 信息资源的开发和利用,对信息技术的研究和应用,已经成为衡量一个国家 综合国力的重要指标,也成为国际竞争中必须抢占的制高点。
90 年代正在兴起的“全球信息网络革命”将推动全球信息基础设施
(GII,通称全球信息高速公路)建设的热潮,促进
  第五次产业革命和信息时代的到来,它将极大地改变人类的生产、工 作、学习和生活,改变世界的经济、文化和社会,也改变着人类自身。
  
4.信息行业迅速发展
  信息资源的开发、信息技术的推广和应用,必然会促使信息技术的产业 化、市场化,形成一个新的行业,即信息行业,并促进这个行业的大发展。 在发达国家这种趋势尤为明显。有的专家认为,社会信息化的标志是:信息 行业的产值超过国民生产总值的一半;信息行业的劳动力超过全国劳动力的 一半;使用、操作计算机的劳动力占全国劳动力的一半以上。
  解决信息膨胀和信息污染的有效途径,就是加强管理,根本的问题是使 信息资源有序化,便于查找,便于使用。信息系统建设是信息资源有序化的 重要组成部分和基础。
二、信息系统的产生和发展
1.信息系统的产生
  20 世纪 50—60 年代期间计算机在信息处理领域得到广泛的应用,它的 极高的处理速度、极大的存储能力和极广阔的应用领域向人们展示了其强大 的生命力。一时间以电子计算机为基本处理工具的信息处理技术和系统风靡 整个西方世界。各公司纷纷出巨资购买计算机,并抽出大量人力、财力建立 信息处理系统,以取代日常的人工信息系统,并解决手工情况下人所想做而 又没有能力做的数据处理、信息分析,甚至管理决策工作,以期为企业带来 巨大的经济效益。总的来看,信息系统经历了以下几个发展时期:
(1)电子数据处理系统
  电子数据处理系统即 EDPS(ElectronicDataProcessingSystem),它是 最早的信息系统。EDPS 的功能就是利用计算机完成各类数据的存储、加工处 理、输出和数据交换。EDPS 主要利用了计算机高速处理,巨大存储量及快速、 准确的通讯等特点,解决了传统的手工数据处理中工作量大、不精确等问题。 其具体的应用系统有数据统计系统、数据更新系统、数据查询系统和数据分 析系统等等。分散孤立的 EDPS 可通过通讯网络相互连接起来,彼此协调工 作,形成功能更为强大的信息处理系统。
EDPS 的出现标志着信息系统的产生,它将计算机应用推向了一个高潮,
计算机的应用从单纯的数值运算扩大到数据处理的广阔领域。
(2)管理信息系统 所谓管理信息,即用作管理目的,并需要使用一定的方法整理、保存以
方便使用的数据。同一般的信息不同,管理信息具有一定的数据规模、相对
稳定的数据结构和较固定的处理模式法,并需要保存相当长的时期。人事档 案数据、调查统计数据、库房管理数据、企业管理数据及金融财产数据等都 属于管理信息。
  管理信息系统(MISManagementInformationSystem)是在 EDPS 的基础之 上发展起来的,它避免了 EDPS 在管理领域的一些弊病,在处理的方法、手段、 技术方面都有了长足的进步。
与 EDPS 相比,MIS 有以下特点:
①强调定量化的管理模型和系统的优化处理;
②强调系统对处理对象和处理过程的预测和控制作用;
③强调系统对数据的深层次开发;
④强调系统化的开发方法。
(3)决策支持系统
自从 20 世纪 60 年代 Gallanher 提出 MIS 的设想到 70 年代初,MIS 经历

了一个迅速发展的时期,但随着时间的推移 MIS 逐渐暴露出来了很多问题。 其主要问题是:早期的 MIS 缺乏对社会组织机构和不同阶层管理人员决策行 为的深入研究,忽视了人在管理决策过程中的不可替代的作用。因而在实际 工作中特别是在辅助高层的管理决策工作中,MIS 常常软弱无力,达不到预 期的效果。70 年代初哈佛大学的 Bedder 归纳了早期 MIS 失败的经验和教训, 提出了 MIS 的 7 个致命伤,在学术界掀起了一场“MIS 为何会失败的”讨论。 在这场讨论中一批学者提出了决策支持系统的概念,把信息系统的研究又推 到了一个更新的阶段。经过 20 年的不断丰富和发展,形成了今天的 DSS
(DecisionSupportSystem)。较之早期的 MIS,DSS 的概念主要是强调了以 下几个方面:
①DSS 是面向决策者的;
②以解决具有不确定性、没有固定处理模式的管理决策问题为主;
  ③强调决策过程中人的主要作用,信息系统只是对决策者,即人在决策 过程中的工作起支持作用。
2.信息系统的驱动方式
  信息系统运行的驱动方式是指整体概念上推动信息系统运行的关键因 素。也就是说,如果具备了这些关键因素,则一个信息系统的开发和运行原 则上是不会有什么问题的。信息系统运行驱动方式一般有如下几种。
(1)数据驱动
  数据驱动(DataDriven)多是针对确定型的系统而言。即在这样一类信 息系统中解决问题的方式和程序都是确定的,因此收集、加工、整理这些方 法和程序所需的数据就成为激活一个系统并使之能够成功的运行的关键。例 如:在一个市场预测系统中,市场演变的历史和规律都是已知的,用于预测 市场的预测公式也已确定,于是只要能收集到适当的数据,系统就能运行并 对市场作出预测。传统的 EDPS、MIS 等都是数据驱动。
(2)模型驱动
  模型驱动(ModelDriven)多是针对不确定型的系统而言。这里所说的模 型是一个广义的概念,它包括数学的运筹学模型,以及经验公式、程序化方 法等等一系列求解问题的技术、方式和模式,因此在不确定型的系统中求解 问题的方法和过程都是不确定的。为此,系统首要的任务就是要确定系统的 模型,一旦确定了模型,该问题就具备了最终求解的可能性。故我们称这类 系统是模型驱动的,模型是推动该系统运行的关键因素。
例如:平时我们在处理一个不确定的决策问题时,首先必须识别问题和
明确要求,然后再根据我们已掌握的知识和对问题的了解来动态地选择和构 造求解该问题的模型,然后再从多个可选择的方案中确定评价选择的准则、 方案等等。只有在这些问题都确定之后,才有可能利用系统来求解实际问题。
DSS 以及其发展分支等都是模型驱动的。
(3)目标驱动 目标驱动(GoalDriven)多是针对信息系统的开发方式而言。即在开发
过程中所有的方法、工具、步骤的选择都是围绕特定的目标而进行的。如果 目标发生了变化,则整个开发系统(包括开发策略、计划、方法工具等等) 将发生根本的变化。也就是说,在这类的系统中目标是决定系统运行方向的 根本要素。
(4)设备驱动

  设备驱动(FacilityDriven)多是针对一些技术系统而言。即在这样一 类系统中,系统的结构、系统的先进性以及用户使用系统的方便程度都是由 技术设备的发展水平所决定的。也就是说,设备是决定系统各方面特征的关 键因素。办公自动化系统是典型的设备驱动的系统。在一个办公自动化系统 中,自动化的办公设备、计算机设备、信息通讯设备是系统的主要支柱的技 术依托。选用设备的智能化程度、先进性、可靠性直接决定着整个系统的质 量。
(5)概念驱动 概念驱动(ConceptDriven)多是针对一些知识型、智能型的模似人脑系
统而言。一般认为,在系统中概念对于问题的求解是相当重要的。因为人在 解决任何实际问题时,当事人的经验知识、文化背景、价值观念以及它们在 人脑中长期积累形成的概念对他解决问题的方式是至关重要的。
(6)用户驱动 用户驱动(UserDriven)多是针对某些不确定的系统而言。系统的构成、
系统的运行可以是因人不同而不同的。这样的系统一般称之为用户驱动的系 统。例如:决策支持系统就是一个由用户驱动的系统。在决策支持系统中, 不同的决策者在使用系统时,输入不同的资料(如:信息、偏好、价值准则 等等)将会产生不同的决策方案。
三、信息系统的开发方法
1.信息系统开发中的问题
  随着计算机软硬件技术的飞速发展,信息系统的规模和复杂性急剧增 加,信息系统的开发过程也日益复杂。规模的扩大导致开发人员增多,开发 人员之间需要更密切的配合。然而,传统的开发过程没有完善的组织方法。 小规模信息系统开发方法已不适应形势的发展和要求,因而导致了系统开发 中一系列难于控制的问题,这些问题主要表现在以下几个方面:
①对信息系统开发的成本和进度估计常常不准确,有时实际成本比预计
成本甚至高出一个数量级,实际进度也比预期推迟几个月甚至几年。
②用户对已完成的系统不满意,系统不能满足用户的实际要求。
③系统质量不高,存在着大量的错误,常常导致系统失败。
  ④现有系统难以维护,甚至无法维护。这就使得要纠正程序中的错误, 或者通过修改程序以使之适应新的运行环境或扩充其功能十分困难。
⑤系统开发生产率低下,远远跟不上计算机应用的发展和社会对信息系
统需求的发展速度。 以上问题的存在,使人们认识到,要根本解决系统开发中存在的问题,
就需要解决众多开发人员之间的合作问题。为此,必须建立新的信息系统开 发方法和管理方法。经过研究和系统开发实践,人们逐渐总结出一些规律性 的方法。
2.信息系统的生存周期
  人们在完成大型复杂工程时,常常将整个任务划分为若干阶段,每个阶 段完成一定的任务,各阶段之间相互衔接,一起完成整个工程。信息系统开 发也分为若干阶段,或者说,信息系统从研制到运行再到报废,有一个生存 周期。这个生存周期可以划分为分析、设计、实现(编程或编码)、测试、 运行等几个基本阶段。其中每个阶段都有明确的任务和完成任务的方法。
一般来说,信息系统的开发可分为以下几个阶段:

(1)系统分析阶段 该阶段的任务是理解和表达用户需求,并分析系统应有的结构和功能。
(2)系统设计阶段 该阶段的任务是根据分析阶段的要求,设计系统的结构和功能的实现方
法。
(3)系统实现阶段 该阶段的任务是将设计阶段的思想转换为具体的系统。
(4)系统测试阶段 该阶段的任务是发现和排除以上各阶段工作中的错误,产生真正可运行
的系统。
(5)系统运行和维护阶段 该阶段的任务是在实际环境中运行系统,发现并改进其中的问题。 目前,以系统生存周期为指导思想的开发方法已成为信息系统开发的主
要方法。
3.信息系统开发中的文档
  在信息系统开发的每一阶段,都需要编制一定的文档。这些文档连同计 算机程序及数据一起,构成为信息系统的软件。文档是计算机软件中不可缺 少的组成部分。它的作用是:
①作为开发人员在一定阶段内的工作成果和结束标志;
  ②向管理人员提供信息系统开发过程中的进展和情况,把开发过程中的 一些“不可见的”事物转换成“可见的”文字资料,以便管理人员在各个阶 段检查开发计划的实施进展,使之能够判断原定目标是否已经达到,还将继 续耗用资源的种类和数量;
③记录开发过程中的技术信息,便于协调以后的开发、使用和修改;
  ④提供对信息系统的有关运行、维护和培训的信息,便于管理人员、开 发人员、操作人员和用户之间相互了解彼此的工作;
⑤向潜在用户报导信息系统的功能和性能,使他们能判定该系统能否满
足于自己的需要。 系统开发中的文档有两类:一类是开发过程中填写的各种图表,可称之
为工作表格;另一类则是应编制的技术资料或技术管理资料,可称之为文档。
文档的编制必须适应系统开发的整个生存周期的需要。
第二节 系统和系统科学 一、系统的基本概念
  系统概念来源于古代人类的社会实践经验。英文的“系统”一词(system) 即源于古希腊语,有“共同”和“给以位置”的含义。美国韦氏(Webster) 大词典中,“system”是“有组织的或被组织化的整体”,并有“结合着的 整体所形成的各种概念和原理的综合”,“由有规则的相互作用、相互依存 的形式组成的诸要素的集合”等说明。目前系统有各种各样的定义,本书采 用钱学森所下的定义,即:“把极其复杂的研究对象称为‘系统’,即由相 互作用和相互依赖的若干组成部分结合成的具有特定功能的有机整体,而且 这个‘系统’本身又是它所从属的一个更大系统的组成部分”。
系统是物质存在的形式,也是人类社会和人类自身存在的形式。宇宙空

间从基本粒子到庞大的星系,从无机界到有机界,从个体的人到整个人类社 会,没有一件事物不自成系统,没有一件事物不从属于一定的系统。
  系统的定义是逐步演化的。现代科学技术的发展导致系统的思想方法定 量化,形成了具有数学理论基础,能定量描述和处理系统内部联系的一套科 学方法,并得到计算机的有力支持,系统思想方法已从一种哲学思维发展成 为一门新兴学科。
  一门科学形成的重要标志之一是它已具有比较完整的体系结构,这个结 构一般应包括四个层次,即哲学、基础科学、技术科学和工程技术。系统科 学也不例外,建立在辩证唯物主义基础上的系统观是它的哲学部分,系统学 则属于它的基础理论部分,运筹学、控制论、信息论等属于它的技术科学部 分,而系统工程则是它的工程技术部分。
二、系统的分类
  从不同的角度出发,可以将系统划分为不同的类型,本书仅介绍两种分 类。
1.自然系统、人工系统和概念系统
  从物质运动发展的角度出发,可把系统分为自然系统、人工系统和概念 系统(或称抽象系统)。自然系统指在自然界存在且基本未受到人力影响的 系统,如天体系统、太阳系、物质结构系统、河流系统、人体系统等。人工 系统指完全由人创造出来的系统或受到人力改造的自然系统,如人类社会、 城市、农村、人造机械、水库等。概念系统则指抽象的符号、思维、理论等 组成的系统,如数系、软件系统等。当然,在某种情况下,有些系统难以简 单区分。
2.开环系统和闭环系统
从本质上看,任何系统总是处在不断的发展变化之中,这种客观物质的 运动以三种形态表现出来,我们又将其称为三种流,即物质流、能量流和信 息流。一个人工系统,总是要输入这三种流,在系统中经过处理,再输出所 需要的三种或某些流。在构造系统的输入和输出关系上,可以有开环(开放) 和闭环(封闭)两种基本的模式,从而形成两类人工系统,即开环系统和闭 环系统。如图 1—2—1 所示。












  在开环系统中,系统的输入经过处理后,形成系统的输出。由于系统处 在一定的外部环境中,必然要受到外部环境的影响,这种影响体现在系统内 处理过程的改变,这种改变也必然会影响到输出。
  在闭环系统中,输出的一部分作为输入返回系统。由于改变了系统的输 入,因而也就改变了系统的输出。部分输出以输入方式返回系统,被称为反 馈。在输入不变的情况下,反馈可以改变输出,即对系统输出有控制作用。 因此,我们常采用闭环系统,利用反馈来调整输出,从而产生期望的最佳输
  
出。
三、系统的特征
一般认为,系统有如下特征:
1.整体性
  任何系统都是由各种元素组合形成的。随着社会与生产技术的发展,系 统越来越复杂,系统中的元素会越来越多。
  客观世界的各种事物、现象和过程,都是有机的整体,也都是自成系统 而又互成系统的。机械论认为整体就是部分的简单相加,因而整体的简单分 解就得到部分。系统论用整体的系统观点来取代简单分解和简单相加的机械 论观点,系统论认为,系统不是其各组成部分的简单相加,而是由各部分按 一定规则有机结合形成的整体,是各部分由量变发展到质变而形成的、远比 简单相加更复杂的整体,整体的功能大于其各部分功能之和。系统论的创建 者贝塔朗菲关于组成系统的著名定律就是:整体大于各孤立部分的总和。
  物质结构、动物和人体的构造、社会组成等等,无一不证实了整体性观 点的正确。
2.相关性
  系统中的各个元素都有其特定的任务,因而这些元素应按一定的规律有 序地组合起来,各组成部分具有相互联系和相互制约的关系。例如,一个生 产车间,不同的车床要完成不同的任务,需要把各种类型的车床有规则地安 放、组织起来,才能完成生产任务,杂乱无序地摆放着的一堆车床,是很难 甚至无法进行生产的。
不论是自然界还是人类社会,不论是宏观世界还是微观世界,不论是无
机物还是有机物,事物总是存在于某种联系之中,这就是普遍联系的观点。 系统论中的相关性正是反映了这种普遍联系的观点。这种观点认为:系统和 其所存在的环境之间是相互作用和相互联系的,系统内部的各组成元素之间 也是相互作用和相互联系的。因此,一个元素的变化可能引起连锁反应,引 起整个系统的变化,甚至破坏系统本身。
事物的联系是多种多样的。传统科学主要研究的是因果联系,因果联系
一般又分为肯定因果联系和统计因果联系两种。事实上,除了因果联系之外, 事物之间还存在着系统联系、结构联系、功能联系、起源联系等等。联系的 多样性,决定了系统的多样性和联系之间界线的相对性。联系的广泛性导致 系统的广泛性。这些又导致未知联系向已知联系的转化,形成未知系统向已 知系统的过渡。
  人们在宏观世界和微观世界取得的巨大进展,使得各种事物、现象和过 程的本质联系逐渐显现出来,对整体中各部分的相互联系的研究已经从次要 地位提到首要地位。从哲学高度建立相关性原理,为研究系统结构奠定了基 础。
3.目的性
  这里的目的性指的是广义的目的性,也即事物发展的规律性。任何系统, 不论是自然系统、人工系统还是概念系统,都有其发生发展的规律,都是适 应于一个或几个问题的解决而出现和建立的。
4.有序性
  有序性又称为结构性。有序性是指,系统的任何联系都是按等级和层次 进行的,秩序井然、有条不紊。系统的有序性是系统有机联系的反映。
  
  系统的发展是定向变化的,即从层次较低的有序状态向层次较高的有序 状态发展,或反过来,由较高有序状态向较低有序状态发展。
5.动态性
  任何系统总是存在并活动于一个特定的环境中,与环境不断地发生物 质、能量和信息的交换,从而不断地变化和发展。也可以说,具有时间性的 程序是系统的特征之一。
  动态性系统在不断的发展变化中,联系随时间而变化。动态就是指状态 和时间的相关性。
  现代科学研究的对象大都是结构复杂和高度活动的系统,动态性就是适 应这种客观需要而产生的。人类不仅要研究各种系统发展变化的方向和趋 势、活动的速度和方式,还要探索其发展变化的动力、原因和规律,从而主 动驾驭系统,使之造福于人类。
四、系统工程
1.系统工程的基本概念
  系统工程就是运用系统方法对各类系统进行设计、抉择、控制和管理, 以达到最佳效益的一门管理科学。一般认为,系统工程属于系统科学的工程 技术部分,是系统科学最具体的应用。从实际应用看,系统工程关心的往往 是一种特殊类型的系统的结构。这种系统具有以下 7 个特征:
①为人造系统;
②具有整体性;
③规模大;
④结构复杂;
⑤半自动化;
⑥输入随机;
⑦有竞争性。 系统观点是系统工程最基本的特征。与一般工程不同,系统工程不是以
某一专门的技术领域为研究对象,而是跨越各个专业领域,研究各类系统所
具有的共性,因而是适用于各个领域的方法性科学。 系统工程不仅涉及传统的工业系统,而且涉及社会经济、环境生态、文
化、教育等非工业系统。它不仅要利用现代自然科学和工程技术的新成就,
也要利用社会科学如经济学、管理学、心理学等。
2.系统观点和系统工程的方法
  分解综合、创造思维、可验证性和反馈,是系统科学的基本观点,也是 系统工程的基本方法。
(1)分解综合 所谓分解是指对一个系统由大到小分成相对独立、层次不同的多个子系
统,以便于进行研究;而综合是指设计新系统时,选择具有较好性能而又适 用的子系统,以形成所需要的新系统。分解和综合常常是相互联系、不断重 复的过程。
(2)创造思维 系统工程强调创造性地工作。创造思维的原理有两方面:一是把陌生的
事物看作熟悉的东西,用已知的知识去辨别和解决它。这是人们比较熟悉和 经常使用的方法。用已知方法去解决未知事物,既可能是旧理论、方法的重 复,也可能有新的创造。另一种是把熟悉的事物看作陌生的东西,用新的方

法和新的原理加以研究,从而创造出新的理论或新的方法。这实际是对原有 事物的重新认识。科学技术的发展过程中常常有这种情况,当某一领域或课 题所使用的理论或技术显得陈旧,已经没有可能促进这一领域或课题进一步 发展时,新的理论和技术却使它重又焕发青春。
(3)可验证性 实践观点是唯物辩证法的基本观点。在解决有关系统问题时,如果不能
通过现有方法得出结论,总是先提出假设,通过试验进行验证,或对可能出 现的故障进行分析判断,或为执行者提供数据进行核实,或为用户提供验收 条件,甚至修正已有的理论等等。
(4)反馈 反馈的概念在系统分类中已经说明,即系统输出被送回输入,用以调整
系统功能和输出。从哲学的观点看,反馈是在原因和结果之间架起的桥梁, 使因果相互作用。同时,反馈也使系统更能适应环境的变化和影响,使系统 和环境处于协调的动态统一之中,构成良性的新陈代谢。
  现代信息系统是高度复杂的系统,系统管理者的主要任务就是控制系 统,使其正常运转,因而必须重视反馈的作用,经常收集各种反馈,以改进 系统工作。
3.系统工程的流程
  系统工程在进行系统建设时,都要根据系统科学的观点,将设计、施工、 验收及系统运行,恰当地划分为若干个工程阶段,明确每个阶段的任务和各 阶段之间的联系与衔接。
图 1—2—2 给出一个一般性的系统工程基本流程图。
  系统工程的基本方法是整个流程的基础,即把所研究的对象看作是系 统,运用分析、综合和评价三个环节的多次重复得出最佳方案。如图 1—2—
3 所示。

图 1-2-2 一般性系统工程的流程




第二章 系统分析
第一节 系统分析的任务 一、可行性研究与计划
1.可行性研究与计划的任务
可行性研究与计划工作是软件系统开发中
  第一个阶段的工作。可行性研究与计划工作(FeasibilityStudy&Plan) 的任务有以下三个方面的内容:
  ①了解用户的要求及现实环境,从技术、经济和社会因素等方面研究并 论证本软件项目的可行性;
②编写可行性研究报告;
③制订初步项目开发计划。 可行性研究的目的就是用最小的代价在最短的时间内确定问题是否能够
得到解决。需要注意的是:可行性研究的目的不是解决问题,而是研究问题 是否能够解决,确定问题是否值得去解决。因为并非所有问题都有简单明显 的解决办法。如果某个问题在预定的系统规模内得不到解决,找不出可行的 解决方法,则再去花费时间、人力和财力所做的任何工作都是浪费。
若所开发的系统较为复杂,客户本身及系统分析人员对目标系统所要解
决的问题尚不清楚,应在可行性研究之前,即系统开发之前,先进行问题定 义工作(ProblemDefinition)。一般认为,问题定义工作不属于系统开发工 作的内容,而是客户事先邀请有经验的系统人员所做的先期性工作。一般规 模系统的问题定义工作可在一二天内完成。在问题定义的基础上,再开始可 行性研究工作。如有必要,在系统分析阶段应重新定义问题。否则,如果在 对问题本身错误的理解上做可行性研究,自然得不到正确的结果。
问题定义工作是由客户同系统分析人员一起,对所要解决的问题进行分
析,搞清要解决的到底是什么问题。为此,就必须对问题的性质、问题的目 标、解决问题的必要性及解决问题的规模作明确的了解。该项工作结束后, 应生成一份内容明确,客户和系统分析人员都满意的书面报告,即项目任务 书。
可行性研究工作的长短取决于目标系统的规模。一般来说,可行性研究
工作的成本是预期项目总成本的 5%~10%。
2.可行性研究的过程
可行性研究可按以下 5 个步骤进行。
  (1)软件开发单位的系统分析人员对客户要求及现实环境进行调查。 系统分析人员同客户一起调查研究当前环境和有关具体问题,如手工工 作情况、工作流程、所完成的任务及目前存在的问题,新系统要解决的主要
问题,为可行性研究做准备。
(2)在调查研究的基础上编写有关客户提出的问题的书面材料。
  (3)依据书面材料及其有关资料对待开发的系统从经济、技术和社会因 素等方面进行可行性研究,写出可行性报告。
可行性包括以下三个方面:

①技术可行性 技术可行性通过考察所要解决的问题及其对功能、性能的要求,并对照
现行的技术发展,以确定现有技术能否实现本系统。
②经济可行性 经济可行性是整个可行性分析的重点。它主要是考察系统的开发成本,
主要是人力投入,此外还有设备投入等等方面。并对照系统运行所产生的效 益,看看系统的经济效益能否超过开发成本。当然,对于有些类型的系统, 应结合考虑系统开发所带来的社会效益。
③社会可行性 包括法律可行性和操作使用可行性等方面的内容。法律方面主要涉及专
利、版权和合同责任等方面的问题。操作使用方面则主要指系统使用单位在 行政管理、工作制度和人员素质等因素上能否满足系统操作方式的要求。
(4)评审和审批,决定项目是取消还是继续。 在对现实环境和有关的因素做出可行性研究之后,可根据调查分析的结
果进一步导出新系统的高层逻辑模型。所谓高层逻辑模型,就是概括地描述 新系统所完成的功能和物理工作过程。这样,就可以此为依据进行评审,以 决定项目是否继续。
(5)若项目可行,则制订初步的项目开发计划,并根据需要签署合同。
  若经过审批,决定项目继续,则应制定初步的开发方案,推荐行动方针, 并草拟开发计划。完成整个可行性研究。
3.可行性研究的文档
  信息系统开发的一个显著特点就是文档化。在信息系统开发过程中,文 档记录总结了一个阶段工作的具体内容,并作为下一个阶段的工作基础,是 不同阶段相互衔接的工具。文档既是系统开发者的工作需要,今后能以此为 依据进行检查、修改;同时也是系统使用者的要求,文档向使用者提供了判 断开发任务是否完成以及完成质量的依据。
可行性研究与计划工作完成后,应交付以下可以验证的文档:
a.可行性研究报告; 报告中的成本/效益分析应提供几种可供选择的解答。 b.初步的项目开发计划。 项目开发计划中对各阶段的工作的完成应有明确的、可检查的标志。 以下介绍这两个文档应有的内容。
(1)可行性研究报告
编写可行性研究报告主要有以下三个目的:
①说明开发此软件的可行性,即经济、技术和社会条件。
②评述为了合理地达到开发目标而可能选择的各种方案。
③说明并论证所选定的方案。 一个完整详尽的可行性研究报告包括以下内容:
①引言;
②可行性研究的前提;
③对现有系统的分析;
④所建议的系统;
⑤可选择的其它方案;
⑥投资及效益分析;

⑦社会因素方面的可行性;
⑧结论。
(2)项目开发计划 项目开发计划的内容有:
①引言;
②项目概述;
③验收标准;
④完成的最迟期限;
⑤批准者和批准日期;
⑥实施计划;
⑦支持条件;
⑧专题计划要点。
二、需求分析
1.需求分析的任务
  需求分析(RequirementsAnalysis)所要完成的任务是:确定所开发的 信息系统的运行环境、功能和性能要求,编写用户手册概要和确认测试准则, 为概要设计提供需求说明书。通俗地说,通过需求分析应能正确和准确地回 答“系统必须做什么”。具体包括以下几个方面:
(1)确定系统的综合要求
  需求分析首先从宏观角度出发,采用功能分解的方法,对系统作整体的 分析。这样做有助于正确理解系统需求。这是当前流行的结构化分析方法的 主要特征,也是人们认识事物的规律。对系统作综合分析,要求从总的方面 确定以下内容:
①系统的功能要求;
②系统的性能要求(包括响应时间、存贮容量、后援存贮、安全性等);
  ③系统的运行要求(包括环境、如操作系统、数据库管理系统、通信接 口等);
④系统将来可能提出的要求(即当前不可能列入软件开发范围,但将来
可能会提出的要求)。
(2)分析系统的数据要求 通过系统中的数据分析系统的需求是一种较有效的分析方法。一般系统
有两方面的特征,即属性特征和行为特征。系统的属性可通过其数据结构、
数据类型和数据流动体现。由于属性特征相对稳定,变化较小,所以系统的 数据分析有助于系统分析的稳定性和有效性。数据分析主要包括确定系统的 输入数据、输出数据、数据结构、数据类型、数据流动和数据加工及输入、 输出时所要求的设备等。
(3)导出系统的逻辑模型 系统的逻辑模型是以某种形式说明系统属性和系统行为,它是现实系统
的抽象,是对具体系统本质的描述。只有充分认识了系统本质,才可能真正 了解系统需求,开发出符合需求的软件。
(4)修正系统开发计划 可行性分析已经根据其分析结构推荐了初步的项目开发计划。由于在需
求分析中,对目标系统的认识进一步加深,系统中的功能要求、数据要求和 性能要求也逐步明确,因而,要根据系统开发工作的主要内容、其中的难点、

要解决的关键问题及时间进度安排等对原来的初步项目开发计划作调整和修 正。
(5)开发模型系统 若所开发的系统在早期作需求分析工作困难较大,则可先作简要的需求
分析。通过开发模型系统,利用原型方法(本章稍后将介绍)来帮助完成需 求分析及此后的一些工作。
2.需求分析的步骤
(1)调查被开发软件的环境 在这项工作中,分析人员应投入到相应的问题领域中,对其中的事物作
体察入微的全面考虑,并研究和熟悉其中的所有细节。排除各种模糊的认识, 准确掌握有关的基本概念。只有通过理解问题空间并建立它的模型,才能简 单明了地用文字详细说明具体的问题需求。
(2)进一步明确用户需求 在可行性分析阶段,虽然已经做过问题定义工作,但它只是初步的和概
括性的。在需求分析阶段,可通过结构化的或其它类型的分析方法,运用归 纳、推理和比较的过程,对所调查的结果进行分析,经过抽象和概括,进一 步明确定义出用户的需求。
(3)确定人机界面
  所谓人机界面,即手工处理和计算机处理相衔接的部分。在系统开发初 期,分清计算机不能承担的工作和人在系统中的作用,两者有效的协调方式 是至关重要的。
例如,在图书馆自动化系统的图书流通管理中,需要由工作人员以某种
方式,手工输入有关的借书信息。当计算机办理完借书手续后,很多图书馆 要对图书的防盗磁条进行消磁,这也需要由人来完成。又如,当图书归还, 计算机办理完还书手续后,需要由工作人员将书放到书架的正确位置上。这 些由人来工作完成的工作都是系统的必要处理,是实现系统功能不可缺少的 环节。
(4)修改初步的项目开发计划
  对可行性分析中所制定的初步的项目开发计划,根据新的分析结果作必 要的修改、补充和完善。
(5)制订确认测试计划
  确认测试即项目委托方(甲方)最后的验收测试。验收的依据是确认测 试计划,而该测试计划的依据是系统目标,即包括系统功能和性能等详细内 容的用户需求。由于系统目标是在需求分析阶段制定的,所以,以此为依据 的确认测试计划应在同一阶段,由相同的人员制定。这样,能最有效地保证 两者的一致性。
(6)编写用户手册概要 在需求分析阶段就开始编写用户手册至少有以下两个好处:
  ①提早开始编写用户手册,使系统分析和设计人员在系统开发的早期就 从用户的角度观察和分析系统,有利于提高系统对用户的友好程度,并有利 于提高系统运行的方便性和实用性。
  ②在需求分析阶段开始编写用户手册,并使其随系统各阶段的开发不断 完善,而不是在编码测试完成后组织人员另行编写,有利于保证用户手册的 正确性、完备性和同真实系统的一致性,并可保证其按时完成。
  
(7)评审 在以上各步实施的过程之中,形成有关的文档。最后,由专家、分析人
员、其它开发人员、用户组成的评审组对需求分析所得结果的正确性、合理 性和有效性进行检查。若通过评审,则可以开始下一阶段工作;否则,需重 新进行需求分析工作。
3.需求分析的文档
需求分析结束时,应交付以下文件:
■软件需求说明书
■修改后的项目开发计划
■用户手册概要
■确认测试计划
■数据要求说明书 其中,软件需求说明书是最重要的文件,其它每个文件都对应该阶段的
一项工作。当然,在实际的信息系统开发中,可根据具体情况,灵活规定应 交付的文件。
以下简要介绍其中两个主要文件的内容。
(1)软件需求说明书 需求说明书应包括引言、任务概述、需求规定、运行环境规定四部分。
①引言
②任务概述
③需求规定
■对功能的规定
■对性能的规定
■输入输出要求
■数据管理能力要求
■故障处理要求
■其它专门要求
④运行环境规定
■设备
■支持软件
■接口
■控制
(2)数据要求说明书 数据要求说明书包括引言、数据的逻辑描述和数据采集三个部分。
①引言
②数据的逻辑描述 包括对以下数据的描述:
■静态数据 所谓静态数据,指在运行过程中主要作为参考的数据,它们在很长一段
时间内不会变化,一般不随系统运行而改变。
■动态输入数据 所谓动态数据,包括所有在运行中要发生改变的数据以及在运行中要输
入输出的数据。
■动态输出数据

■内部生成数据
■数据约定 针对进一步扩充或使用方面的考虑,提出对各种数据的容量、文件、记
录、数据元等个数的最大值,特别是属于临界性的限制。
③数据的采集 要说明以下内容
■输入数据的来源
■数据输入所用的媒体和硬设备
■接受者
■输出数据的形式和设备
■数据值的范围
■量纲
■更新和处理的频度
■输入的承担者
■预处理
■影响
       第二节 系统分析的原则和方法 一、结构化分析方法
  结构化分析(SAStructuredAnalysis)方法是信息系统开发中需求分析 的重要方法,结构化分析方法起源于美国,该方法常同概要设计阶段中的结 构化设计方法(SDStructured-Design)和编码实现阶段中的结构化程序设 计方法(SPStruc-turedProgramming)衔接使用,成为被最为广泛使用的分 析方法。结构化分析方法的基本思想,可以归纳为分析的层次化、功能的模 块化和相互关联三个方面。
实际上,结构化分析起源于结构化程序设计。产生于 60 年代的结构化程
序设计,在其最早的程序设计工作中,包括了结构化分析和结构化设计工作 的大部分内容。但随着强调阶段性开发和开发规范化的软件工程的出现,其 中的分析和设计工作被分离出来,形成了结构化的分析和设计工作。
1.结构化分析的特点
结构化分析方法有以下两个基本特点:
(1)自顶向下逐层分解 所谓自顶向下逐层细分,也就是对于一个复杂的事物,先抓住问题的大
的方面,形成较高层次的抽象。然后再由粗到细,由表及里地逐步涉及问题 的具体细节。即把大问题分解成几个小问题,对于每个小问题,再单独分析。 这样逐层分解,从而对整个问题有清楚的了解。比如,对于一个图书馆系统, 不可能一下子把它的全部具体工作以及它们相互之间的联系都弄清楚。可先 忽略各种细节,从分析整个图书馆大的功能开始。如首先认识到图书馆有教 育职能和情报职能,这是
  第一层划分,即高层抽象,然后再沿这两个方向逐层分解。或先分为采 购、编目、流通、期刊管理、参考咨询等几个部分,明确每一个部分的总体 功能及它们之间的相互关系。然后对其中的每一个,如编目等再进行细分, 得到
  
第二层功能划分。以此类推,直到确定所有细节。
(2)抽象 自顶向下逐层细分,实际上就是一个由模糊到清晰,由概括到具体的过
程。同时也是一个不断运用抽象的过程。所谓抽象,就是在分析过程中,要 透过具体的事物看到问题中的本质属性,能将所分析的问题实例变为一般的 概念。抽象是一种手段。只有通过抽象,才能正确认识问题,把握住事物的 内部规律,从而达到分析的目的。因为在分析中人们所接触的都是具体的事 物,而人们要得到的,却是对该类事物一般问题的通用求解方法。抽象是信 息系统分析中的重要原则。它不仅是结构化方法的特征,也是其它软件分析 设计方法,如面向对象方法的重要基础。
2.结构化分析方法的类型
结构化分析有以下几种类型的方法:
■功能分解法
■数据流方法
■信息造型方法 其中,数据流方法是最为常用的结构化分析方法,所以它经常也被直接
称为结构化分析方法。
3.结构化分析方法的步骤
结构化分析方法有以下 4 个基本步骤:
(1)理解当前系统,得出其具体模型。
(2)通过对当前系统具体模型的分析,抽象出当前系统的逻辑模型。
(3)分析目标系统和当前系统的逻辑差别,建立目标系统的逻辑模型。
(4)修改、充实和完善目标系统的逻辑模型。
二、系统分析人员
1.系统分析人员的任务
  系统分析人员就是在信息系统开发初期从事系统分析工作的开发人员。 按照 Nichlas 的定义:系统分析人员的任务就是明确需求和资源限制因素并 且将它们变成具体的实施方案。系统分析工作终始是由客户和系统分析人员 协作完成的。从软件工程的角度来看,系统分析人员的任务,就是负责完成 可行性研究和需求分析两个阶段的工作,在用户和设计人员之间进行沟通。 从事系统分析工作的是一组人员。由于系统分析工作是系统开发中的
第一项工作,指导着以后各个环节的开发工作,所以系统分析的质量十
分重要。分析阶段的重要性决定了系统分析人员的重要性。
2.对系统分析人员的要求
  系统分析人员必须具有多种才能,以便有效地工作。这些技能可以分成 两类:处理人际关系方面的能力和解决有关技术问题的能力。具体地说,系 统分析人员应具备以下基本素质:
  ①有一定的理论水平,全面、系统掌握计算机系统开发的基本理论和有 关标准。
  ②具有较全面的计算机专业知识和信息系统开发的经验。系统分析人员 应该是曾参加过信息系统开发各个阶段工作的高级开发人员。
  ③有较强的在新的问题领域提取知识的能力。能理解问题,并能准确地 把握问题的细节。
④善于掌握非技术因素。具有较强的合作精神,能与各种类型的人友好

相处。有基本的调查艺术并善于掌握被调查者的心理。能够使用用户语言, 具有较强的表达能力。
  因此,系统分析工作对系统分析人员在理论水平、工作经验、个人素质 和个人修养方面都有较高的要求。
          第三节 数据流方法 一、数据流图
1.基本思想
  数据流图(DFDDataFlowDiagram)是结构化分析中的重要方法和工具, 是表达系统内数据的流动并通过数据流描述系统功能的一种方法。数据流图 还可被认为是一个系统模型,在信息系统开发中,一般将它作为需求说明书 的组成部分。
数据流图的作用:
  (1)数据流图是理解和表达用户需求的工具,是系统分析的手段。由于 数据流图简明易懂,理解它不需要任何计算机专业知识,便于通过它同客户 交流。
(2)数据流图概括地描述了系统的内部逻辑过程,是系统分析结果的表
达工具。因而是系统设计的重要参考资料,是系统设计的起点。
  (3)数据流图作为一个存档的文字材料,是进一步修改和充实开发计划 的依据。
数据流图从数据传递和加工的角度,利用图形符号通过逐层细分描述系
统内各个部件的功能和数据在它们之间传递的情况,来说明系统所完成的功 能。
2.基本成分及符号规定
(1)数据流 说明系统内部数据的流动,用箭头表示。箭头指向为数据流动方向。箭
头旁写数据名。
(2)加工 又称数据处理、数据变换,表示对数据进行的操作。描述符号如图 2—3
—la 所示。符号内写加工名。

(3)数据存贮 又称文件,表示系统内需存贮保留的数据。数据存贮是系统内处于静止
状态的数据,而数据流是系统内处于运动状态的数据。数据存贮的描述符号 如图 2—3—lb 所示。符号内写文件名。
(4)外部对象 外部对象是向系统输入数据和接收系统输出的外部事物。也就是数据流
的源点和终点,分别称为数据源和数据池。描述符号如图 2—3—lc 所示。
二、数据字典

1.数据字典和数据流图的关系
  数据流图说明了系统内数据的处理,但它未对其中数据的明确含义、结 构和组成作具体的说明。因此,仅有数据流图还不能完整地表达系统的全部 逻辑属性。这些问题数据流图都无法回答。而它们又都是下一步系统设计要 使用的重要内容。数据字典就是用于具体描述数据流图内数据的这些逻辑性 质的。
  数据字典是关于数据流图内所包含数据元素(数据存贮、数据流、数据 项)的定义及说明的集合。其作用就是为系统人员在系统分析、系统设计和 系统维护中提供有关数据的描述信息。
  数据流图、数据字典和加工说明结合在一起,共同构成了系统的逻辑模 型。它们是结构化分析中数据流方法的三个不可缺少的部分。
2.数据字典的条目类型
数据字典由以下三类条目组成:
①数据流;
②文件(数据存贮);
③数据项(数据元素)。
3.条目组成和使用符号
(1)条目组成 条目给出有关数据的重要内容,各种条目的信息组成如下。
①数据流条目
数据流名字 简述 数据流组成 数据流量 峰值
用途
数据流来源 数据流去向
②文件条目
文件名字 简述 文件组成 存取频率 存取峰值 组织方式 用途
③数据项条目 数据项名字 简述 数据项组成 值类型 取值范围
以上为一般的内容组成。根据不同的系统要求,可增删一些具体内容。
(2)数据的定义方法

  为了更加清晰地定义数据,尤其是复杂数据,说明其构成成分,在编制 数据字典时引入了一些数据定义符号。这些符号既能明确描述复杂数据的结 构和数据项间的关系,又直观、易懂,能使客户和设计人员准确理解其含义。 任何复杂数据基本是由数据元素反复使用顺序、选择和重复三种方式而
形成的。为此,描述数据结构的具体符号可有以下几种。
①= 表示等价,即定义为。
②+ 表示顺序连接,即两个分量相连。
③[数据 1│数据 2.....] 表示选择,即从所列出的多个数据中选择一个使用。
④{} 表示重复,即花括号内的数据可重复多次。重复次数的上下限可写在花
括号的上下角标处,若重复次数固定,则其上下限相同。
⑤() 表示可选,即圆括号内的数据可有可无。 三、加工说明
1.加工说明的作用
  加工说明是对数据流图中最基本的加工(即取底层的数据流图中不需再 分解的加工,称为基层加工)所做说明。非基层的加工的含义,可以通过对 照综合有关的基层加工说明得到解释,故无须再作说明。
严格地说,加工说明是数据字典的一部分,是数据字典中的一种条目类
型。因此,它通常又被称为加工小说明。但由于同数据字典内其它条目相比, 加工说明有自己鲜明的特点,是结构化设计的关键部分,故将其单独列出。
2.加工说明的格式
加工说明包括以下内容:
①加工名;
②编号;
③激发条件;
④加工逻辑;
⑤执行频率;
⑥优先级;
⑦输入;
⑧输出。 其中,加工逻辑是以文字性的描述对加工所作的解释。需要注意的是,
它是对加工“做什么”的描述,它通过对加工过程和步骤的概括说明,来明 确规定加工要完成的任务及其程度。因为有时若不涉及具体过程就会对要完 成的任务及完成的程度作出不同的理解。加工说明不是用来解释加工应该“怎 么做”的。
  对加工逻辑的描述没有固定的方法要求,可以使用多种工具,如结构化 语言、判定表、判定树、层次方框图、IPO 图、WARNIER 图等。
3.结构化语言
  结构化语言,是一种介于计算机程序设计语言和人们日常所用的自然语 言之间的语言形式,它虽不如程序设计语言精确,但简单明了,易于掌握使
  
用,便于用户理解,又避免了自然语言的不严格、存在二义性等缺点。故适 合作为需求分析的工具。之所以称其为结构化语言,是因为它限定只使用三 种基本的控制结构,即顺序、选择和循环。结构化语言由外层语法和内层语 法两部分组成。
(1)外层语法 外层语法用来规定加工处理的基本结构,说明了所控制各部分的逻辑关
系。它也只有顺序、分支、循环三种成分,三种基本结构可互相嵌套,形成 任何复杂的处理结构。
①顺序结构 可由一个或多个符合内层语法的简单祈使句、符合外层语法的基本结构
顺序排列组成。
②选择结构 其基本形式是:
IF 条件 THEN 顺序结构 1
ELSE 顺序结构 2
或:
  IF 条件 THEN 顺序结构 其中的顺序结构表示相应的处理动作。
③循环结构
其基本形式是:
  REPEAT 顺序结构 UNTIL 条件 或:
FOREACH 条件
DO 顺序结构
(2)内层语法 内层语法用来规定内部的语句使用。同外层语法相比,内层语法比较灵
活,它由系统人员根据加工的具体特点和用户能接受的程度来决定。一般来
说,它有以下特点:
①语态 只祈使句一种语态,即用动词+名词的结构。用以明确表示此加工“做
什么”。
②词汇
a.名词应是数据词典中所定义过的,以力求准确,避免含糊性。 b.动词表示加工中的动作,要避免空洞的语词,如处理、控制、掌握等。 c.不用形容词、副词等修饰语,但可用状语短句。 d.可以用些常用的运算符、关系符等帮助说明条件。
例 2—3—1.“审查读者借书权”加工说明 名称.审查读者借书权
编号:2.2.2 激发条件:收到读者借书证和拟借书 加工逻辑:扫瞄接收借书证码,
用借书证码调出读者文档相应记录, IF 无此记录
THEN 向加工 2.2.4 发“无借书权信息”

(2.2.4 为显示无借书权信息处理), ELSE 审查记录,
IF 有未交罚款或有过期书或借书
已满
THEN 向加工 2.2.4 发“无借书权信息” ELSE 向加工 2.2.3 发“有借书权信息”
(2.2.3 为登记处理)。 执行频率:500~1000 人次/天 优先级:一般 输入:有效借书证号 输出:借书权信息
4.判定表和判定树
  在加工说明中,除常使用的结构化语言外,对于一些较复杂的多条件的 多组合判断处理,还经常用到判定表和判定树。对于描述这种依据多条件组 合的判断结果来决定在多目标动作中所采取的策略的处理,采用结构化语言 的叙述的方法是不合适的,容易造成处理结构复杂,使没有计算机专业知识 的客户难于理解。而采用表格说明的形式,却往往可将复杂的过程描述得逻 辑清晰,不需专门知识即使人一目了然。判定表和判定树(又称决策表和决 策树)是描述具有复杂逻辑关系的多条件判断、多目标动作的广为使用的形 式化工具。
(1)判定表
在判定表中,条件和操作(即目标动作或行动)之间的逻辑关系被明确 易懂地表达出来。一个判定表由“条件定义”、“行动定义”“条件取值” “行动决策”四个部分组成。其结构如图 2—3—3 所示。






  其中“条件定义”部分自上而下列出了判断中所用的各种条件,条件的 上下位置可以交换,无严格的次序要求。“行动定义”部分也由上而下列出 了可采取的所有动作,排列的顺序也没有严格要求。“条件取值”和“行动 决策”部分依次列出具体的条件取值数据和所选定的操作动作,其排列位置 应按处理情况的“条件—行动”严格对应。
下面通过例子来说明判定表的绘制过程。
  例 2-3-2.一般图书馆在读者借书时,就告知读者还书日期。图书馆自动 化系统应有根据借书日期和借书期限计算还书日期的功能。设某馆借书期限
为 1 个月,则一般的还书月份可为借书月份加 1 个月,还书日仍为借书日。 但以上计算方法显然存在许多问题。首先,若借书月为 12 月份,则还书 月份应为 1 月份而不是 13 月份;还书日期还应该是一个存在的日期,如不能
是 2 月 30 号或 9 月 31 号。同时,还书日期还应是图书馆的工作时间,若图 书馆 10 月 1 日放假闭馆,则不应让 9 月 1 日借书的读者于 10 月 1 日来还书。 考虑各种可能的还书日期情况,并假设图书馆每周工作 7 天,星期六和
星期日不休息,则可列出如表 2-3-1 所示的分析。 表 2-3-1 还书日期分析

借书日期 还书日期
1.28 ~ 2.1 3.1
3.31 ~ 4.2 5.3
5.31 7.1
8.31 ~ 9.2 10.3
10.31 12.1
12.1 ~ 12.2 1.3
其它 (月+ 1 ) MOD ( 12 )


注:假设图书馆每周工作 7 天
根据以上分析,可直接得出还书日期判定表。详见表 2—3-2。
表 2-3-2 确定还书日期的判定表
借 书 日期 1.29 ~
2.1 3.31 ~
4.2 5.31 8.31 ~ 9.2 10.31 12.1 ~
12.2
其它 还 书 日期 3.1 5.3 7.1 10.3 12.1 1.3 (月+ 1 ) MOD12

(2)判定树
  判定树的作用和判定表相同,它们之间的区别仅在于判定树以树形结构 表示条件和动作,可以认为是判定表的一种变型。两者本质上是一样的。由 于判定树采用的是图形表示形式,因而更具示意性、直观性和引导性,更易 于问题的表达和理解。具体应用时,可根据自己的习惯选择使用。
判定树的基本结构是一棵从左向右生长的树。其树根在左边,表示加工
或所要解决的问题。从左到右的每一列(最后一列除外),对应一类判断条 件,自上而下,按对应关系写出其所有取值,位置在右边的判断列,其所有 条件取值要根据在其左边的判断列的取值个数重复多次。最后一列是对应的 目标动作。如图 2—3—4 所示。
















  结构化语言、判定表、判定树这三种加工说明方法,各自有其优点和缺 点:
  ①判定表、结构化语言形式化程度高,便于机器理解,容易由计算机自 动生成程序。
②判定树以图形方式表达,形象直观,易于人们理解。
③判定表的可验证性强。并能简化判定和决策,提高了决策效率。


第四节 原型法

一、原型法的基本概念
  信息系统中的软件开发强调文档化和规范化。规范化要求开发人员按照 统一的过程开发软件。对软件 开发过程的规定和描述就是软件开发模型。
目前使用最为广泛的软件开发模型是瀑布模型。瀑布模型是 Bohem 于
1976 年提出的,它也是最早的软件开发模型。瀑布模型将软件开发分为三个 时期,它们是:软件计划时期、软件开发时期和软件运行时期。每个时期又 分为若干个阶段,每个阶段在上一阶段结束后开始。其开发过程可用图 2—4
—1 表示。 瀑布模型是最常规的软件开发模型。它就像瀑布的流水一样,一个阶段
一旦结束,就不能对其工作结果进行修正,各个阶段间不存在反馈关系。这 种连续、无反馈的特点,保证了软件开发进度,但同时也对每一个阶段提出 了严格的,在某些条件下甚至是苛刻的工作质量要求。





















  常规的软件生命周期强调开发的阶段性,软件开发过程必须严格遵循分 析、设计、实现、测试、维护的次序进行,而且各阶段间没有反馈关系。开 发的规范化无疑提高了开发效率,保证了软件的可靠性和可维护性。然而, 对于有些类型的实际问题,常规方法也存在着以下一些问题:
①在软件开发的早期,有时很难明确定义出确切的软件需求,提供详细
的需求规格说明书。无论是系统人员,还是客户,有的只是对目标系统十分 笼统初步的认识。软件系统的很多具体细节往往是随着软件系统的建立而逐 步明确的。这样,在需求分析阶段,分析人员常常得花大量时间去捕捉一些 非常模糊的想法,并花大量时间以这种模糊的认识为基础去编写包括很多细 节内容的需求规格说明书,因而需求规格说明书的一致性、准确性、正确性、 有效性很难保证。
  ②常规的软件开发各阶段相互传递信息的唯一工具是文档。虽然文档内 有很多形象的描述方法,如各种图表等,但它们毕竟是实际系统的抽象。即 使在软件开发早期作出了明确的需求分析,其后每一个阶段的开发人员都不 得不再花大量时间,在一定程度上,通过阅读文档重温前一阶段系统人员的 工作。同时,由于这些阶段的系统人员一般不和客户作直接交流,因而,可
  
能出现的情况是,需求分析中已经得到正确说明的问题,经过这些阶段中不 同的系统人员的各种理解和加工后,在继续传递的过程中发生畸变。
  以上问题存在的一个很重要的原因,就是在系统人员和客户面前,不存 在一个实实在在的事物,这个实体可以充分表达系统人员对问题空间有关概 念的理解程度和对目标系统的初步考虑,客户也可通过这个实体,阐明其对 目标系统的要求和系统人员当前的一些理解错误。基于这些问题,信息系统 开发需要更为实用的方法指导开发过程。原型法即是适应这种需要产生的一 种信息系统开发方法。
  原型(Prototype)是所开发信息系统的一个可执行模型或引导性版本, 它可为客户和软件开发各阶段的系统人员提供系统的原始蓝本,以帮助得到 目标系统明确而严格的需求,促进客户和系统人员、各阶段系统人员之间的 相互有效的信息交流,并以此为基础进行需求分析和系统设计。从本质上看, 原型是未来目标系统的一个模型。
  原型不是系统开发的最终产品,而是在某个开发阶段中为达到一定的目 的所生成的系统简化模拟版本,它可能只是目标系统的一个式样,或只包含 目标系统的某些功能,或仅仅是具有目标系统的一个结构。
二、原型的作用
原型的建立目的可分为以下几种情况:
1.用于验证软件需求的原型
  此类原型的目的,就是供系统分析人员在需求分析阶段确定软件需求。 这类原型具有两种表现形式:
①垂直原型。原型只包括系统的一部分功能,涉及到一些具体细节。
②水平原型。原型只是整个目标系统的某种简化。
2.用于验证设计方案的原型
  此类原型的目的,是供系统设计人员在概要设计和详细设计后,用来验 证设计中的某些关键部分的技术性能和可行性。
3.用于产生目标系统的原型
  这种原型的建立是一个从简单到全面不断迭代的过程。它体现出系统人 员对目标系统认识的逐步完善过程。每当系统人员对系统有了新的认识和想 法后,就通过原型实现。这样,随着系统人员工作的深入,原型不断扩充和 完善。直到客户满意为止。
三、建立原型的过程
  建立不同目的的原型,可使用不同的实现方法和实现过程。下边介绍两 种典型原型实现过程。原型实现的过程也可看作是原型系统的生命周期。
1.抛弃式原型建立过程
  抛弃式原型(Throw—it—Away)建立方法主要是用来建立验证软件需求 和设计方案的原型。由于所需建立的原型是为了满足一时的目的,验证后即 弃之不用,因而建立原型时只将注意力集中于要验证的主要方面,而忽视其 它一些次要方面。
抛弃式原型的建立步骤是:
  (1)确定需求:根据所要完成的任务,确定要建立何种原型,用原型来 解决何种问题,以此来决定在构造原型时忽略哪些细节,及重点要验证及解 决的问题。
(2)快速设计:在基本的需求分析的基础上,做必要的设计工作。

  (3)构造原型:用某种语言或原型开发工具实现原型,得到可执行的原 型。
  (4)评价原型:通过运行原型,对所要解决的问题进行验证,并可以提 出新的要求。通过调整当前原型实现。
  (5)实现系统:将运行原型和评价原型所得结果,运用到系统开发中, 从而实现系统。得到所要开发的软件产品。
图 2—4—2 所示的流程图说明了以上过程。
2.增量渐进式原型系统的建立过程
增量渐进式原型方法又称软件开发的螺旋模型(SpiralModel),因在其 指导下的开发呈现为一个螺旋式上升的过程而得名。增量式原型是由 Boehm 首先提出。其建立目的主要是为了演进出目标系统,因而该类原型的建立过 程,正如其名称所表明的那样,是一个循序渐进的过程。原型刚开始很简单, 只体现人们最初的想法。以后不断以较小的而又容易
















  实现的增量扩展,在已有的原型上加入新的功能。因而,该方法实际上 是多次反复原型,并附加相应于不同层次上多次的风险分析。增量渐进式原 型的建立过程有以下几个步骤:
(1)通过调查分析,确定客户对目标系统的基本需求。
  (2)在对客户基本需求进行分析的基础上,通过简单的设计,用某种方 式,快速构造一个系统原型。
(3)将原型交给客户运行,通过运行原型并和客户充分交流,得到对原
型进一步的改进意见。
  (4)在已有原型的基础上,根据对原型的改进意见,作稍为详细的系统 分析和设计,并构造下一代原型系统。
  (5)重复以上“运行原型系统—与客户交流—进一步的分析设计—再构 造原型”的过程,直到目标系统开发结束。
图 2-4-3 说 明 了 增 量 渐 进 式 的 原 型 建 立 过 程 。


图 2-4-3 增量渐进式的原型建立过程



第三章 系统设计


  信息系统开发过程中,系统分析工作完成之后,就应开始系统设计工作。 这个时期的主要工作是概要设计和详细设计。这也是信息系统开发过程中的 一个非常重要的时期。
第一节 系统设计的内容 一、概要设计
1.概要设计的任务
  概要设计又称总体设计或结构设计。概要设计的任务,就是根据需求分 析阶段所产生的软件需求规格说明书,建立目标系统的总体结构,即模块划 分。具体地说,包括以下几个方面:
①确定各个模块的功能;
②定义各功能模块的接口和调用关系,规定设计限制;
③设计全局数据库和数据结构;
④制定组装测试计划。 概要设计的首要工作,就是将目标系统划分为模块。所谓模块,就是实
现某种功能独立、逻辑完整的程序段落。一般来说,子程序、函数、过程、
中断、宏、类、程序包等都可称为模块。模块可大可小,可复杂可简单。早 期的程序设计不划分模块,在程序规模小、功能简单、使用寿命短的情况下, 这样做尚还可以。但随着程序规模增大,程序结构日趋复杂,不划分模块就 无法将结构设计同程序设计分开,程序就必然表现为杂乱无章,难以设计、 理解和维护。因而,划分模块是软件方法的进步,是软件设计开发中的一项 重要工作。
  概要设计的依据是需求规格说明书。通过定义模块功能,概要设计完成 需求分析工作中数据流图和加工说明所反映出的系统功能。各模块通过调 用,一起协调完成系统的整体功能。
2.概要设计的实施步骤
概要设计的实施可分为以下几个步骤:

(1)建立目标系统的总体结构 概要设计首先要确定系统的具体实施方案,然后对目标系统进行功能分
解,设计系统的软件总体结构。对不同规模的系统,可有不同的处理层次。 对于大型系统,可按主要的软件需求划分成子系统,然后为每个子系统定义 功能模块及各功能模块间的关系,并描述各子系统的接口界面。例如图书馆 自动化系统,就可先划分为采购、流通、查询等若干子系统,然后在每个子 系统内再划分模块;对于一般系统,可按软件需求直接定义目标系统的功能 模块及各功能模块间的关系。
  (2)给出每个功能模块的功能描述,数据接口描述,外部文件及全局数 据定义。
(3)设计数据库及数据结构 数据处理系统或信息系统都处理大量数据,因而对其中的数据库和数据
结构要专门进行认真设计。系统分析人员应在需求分析对数据分析的基础 上,进一步设计系统数据库和数据结构。数据库的设计分以下四个方面:
■模式设计
■子模式设计
■完整性和安全性设计
■优化
(4)制定组装测试计划 组装测试又叫集成测试,它包括子系统测试和系统测试。一般来说,测
试分为三个阶段,即单元测试、组装测试、确认测试。组装测试就是各个模
块之间的联调,用以检验模块间的接口性能和模块间协调工作情况,组装测 试的实施在单元测试之后,但由于它涉及模块间的关系,故其测试计划的制 定同模块划分工作一同完成。同时,在软件开发的早期制定测试计划,有利 于软件人员注意提高软件的可测试性。
(5)评审
  在以上各步骤结束时,需按软件工程的要求产生相应文档。最后由技术 专家和使用部门的管理人员对概要设计的结果从不同角度进行严格的审查, 以确认概要设计的结果。广义地说,评审也是一种测试。
3.概要设计的文档
概要设计结束后,应完成所指定的文档。应交付的文件有:
■概要设计说明书;
■数据库/数据结构设计说明书;
■组装测试计划。 以下说明各文档应有的内容。
(1)概要设计说明书 概要设计说明书又叫系统设计说明书。其编制目的在于说明对程序系统
的设计考虑:包括基本处理流程、组织结构、模块划分、功能分配、接口设 计、运行设计、数据结构设计和出错处理等,为详细设计提供基础。
概要设计说明书包括以下 6 个部分内容:
①引言
②总体设计 总体设计部分,要根据需求规定说明书,进一步明确需求定义和系统的
运行环境;尽可能用图表的形式说明系统的基本设计概念、处理流程、系统

结构组成及相互控制关系;通过功能需求与程序的关系表示,说明需求说明 书所规定的各项功能的实现同各个程序模块的分配关系。最后阐明系统中人 工处理过程和尚未解决的问题。人工处理过程即涉及人机界面的人工处理以 及它们和计算机处理过程的关系;尚未解决的问题指在概要设计中还没解决 但在系统完成前必须解决的问题。
③接口设计 共有以下三种接口:
用户接口:说明向用户提供的命令和其语法结构,以及软件系统的回答。 外部接口:本系统软件和硬件的接口和各支持软件的接口。 内部接口:系统内各个模块之间的接口和各种控制接口,即总体设计中
所定义的模块关系。
④运行设计 运行设计包括以下三方面的问题:
  运行模块组合:指当系统处于外界的不同运行控制条件下,系统应采取 的不同模块的组合。除了说明各种组合外,还要说明每种运行需要调用的各 个模块和支持软件。
运行控制:指出每种外界运行控制的方式、方法和操作步骤。 运行时间:指每种运行模块组合将占用各种资源的时间。
⑤系统数据结构设计
  系统数据结构设计包括逻辑结构设计、物理结构设计和数据结构和程序 的关系三部分。
逻辑结构设计主要包括:每个数据结构的名称、标识符以及每个结构所
包含的数据项(数据元素)、记录、文件等的标识、定义、长度及它们之间 的层次或表格间的相互关系。
物理结构设计主要包括:每个数据结构和数据项的存贮要求、访问方法、
存取单位、存取的物理关系(索引、设备、存贮区域)、设计考虑和保密条 件。
数据结构和访问它们程序的对应关系可用二维表来说明。
⑥系统出错处理设计 系统出错处理设计应包括:出错信息、补救措施、系统维护设计。 出错信息可以用一览表的形式说明每种可能的出错或故障出现时,系统
输出信息的形式、含义及处理方法。
  补救措施指出错后可能采取的应变措施。一般说,这种措施可以有后备 技术、降效技术,恢复或再启动技术。
  系统维护设计指在软件系统中安排专为维护用的模块和在运行程序中设 置检测点。
(2)数据库/数据结构设计说明书 数据库/数据结构设计说明书的作用在于:对设计中的数据库的所有标
识、逻辑结构和物理结构做出具体的设计规定。该说明书共包括引言、外部 设计、结构设计、运用设计四部分。
①引言
②外部设计 外部设计包括以下内容:
标识符和状态:定义并说明可唯一标识数据库的标识符和其使用状态,
中小学信息科学知识:信息系统分析与设计的下一页
成为本站VIP会员VIP会员登录, 若未注册,请点击免费注册VIP 成为本站会员.
版权声明:本站所有电子书均来自互联网。如果您发现有任何侵犯您权益的情况,请立即和我们联系,我们会及时作相关处理。


其它广告
联系我们     广告合作     网站声明     关于我们     推荐PDF     全部分类     最近更新     宝宝博客
蓝田玉PDF文档网致力于建设中国最大的PDF格式电子书的收集和下载服务!