信息系统管理工程师学习笔记

1.1.1 信息系统概述

1.1信息系统的概念

1、系统:各组成部分能够互相作用,互相依赖,具有特定的功能,共同组成一个有机整体就是系统。

2、信息系统:用以收集、处理、存储、分发信息的互相关联的组件的集合,其作用在于支持组织的决策与控制。此定义中,前半部分说明了信息系统的技术构成,称作技术观,后半部分说明了信息系统在组织中的作用,称作社会观,合起来称作社会技术观。

 1.2信息系统的结构

1、信息系统的组成:

(1)计算机硬件系统:主机、外存设备、输入设备、输出设备。

(2)计算机软件系统:包括系统软件和应用软件两大部分。

系统软件有:计算机操作系统、各种计算机语言编译或解释软件、数据库管理系统等。

应用软件分为:通用应用软件和管理专用软件两类。

通用应用软件如图形处理、图像处理、微分方程求解、代数方程求解、统计分析、通用软化软件等;

管理专用软件如管理数据分析软件、管理模型库软件、各种问题处理软件和燃机界面软件等。

(3)数据及存储介质:有组织的数据是系统的重要资源。数据及其存储介质是系统的主要组成部分。有的存储介质已包含在计算机硬件系统的外存储设备中。

(4)通信系统:用于通信的信息发送、接受、转换和传输的设施。如电话、传真等设备。

(5)非计算机系统的信息收集、处理设备:如各种电子和机械的信息采集装置,摄影、录音等记录设备。

(6)规章制度。

(7)工作人员

2、信息系统的结构:

信息系统从概念上来看是由信息源、信息处理器、信息用户和信息管理者等四大部分组成,关系如下图:

 

从技术角度看信息系统功能结构:

 

 

信息系统的软件结构:

 

 

信息系统的硬件结构:

一般有三种类型:集中式的、分布式的、分布-集中式的。T为终端,WS为工作站,M为调制解调器。

集中式的优点:信息资源集中,便于管理;      缺点是:主机价格昂贵,维护困难,并且运行效率低,出现故障容易造成整个系统瘫痪。

分布-集中式的优点:数据部分集中,各个工作站相互独立,必要时又是一个整体,可相互传递数据、共享信息;      缺点是:价格相对较高,系统维护较困难。

分布式的优点:可根据应用需要和存取方式来配置信息资源,提高了适应性和应变能力;便于扩展;健壮性好;       缺点是:由于信息资源分散,开发、维护、管理的标准、规范不易统一;管理协调有难度;不利于安全保密措施的同一实施。

 

1.3信息系统开发概述

1.3.1信息系统的开发阶段

 

系统分析阶段(逻辑模型、系统规格说明书)---系统设计阶段(逻辑模型转换为物理模型、系统设计说明书)---系统实施阶段(可实际运行的新系统)---系统运行和维护阶段。

 

1、系统分析阶段

用户需求是指目标系统必须满足的所有性能和限制,通常包括功能要求、性能要求、可靠性要求、安全保密要求以及开发费用、开发周期、可使用的资源等方面的限制。

系统规格说明书是系统分析阶段的最后结果,它通过一组图标和文字说明描述了目标系统的逻辑模型设计逻辑模型是系统分析工作的另一个特点。逻辑模型包括数据流程图、数据字典、基本加工说明等。它们不仅在逻辑上表示目标系统目标所具备的各种功能,而且还表达了输入、输出、数据存储、数据流程和系统环境等。逻辑模型只告诉人们目标系统要干什么暂不考虑系统怎样来实现的问题。

系统分析阶段是将目标系统目标具体化为用户需求,再将用户需求转化为系统的逻辑模型,系统的逻辑模型是用户需求明确、详细的表示。

 

2、系统设计阶段

系统设计工作应该自顶向下的进行。首先设计总体结构,然后再逐层深入,直至进行每个模块的设计。

系统设计又称为物理设计,是将系统设计阶段得到的目标系统的逻辑模型转换为目标系统的物理模型,该阶段得到的工作成果--系统设计说明书是下一阶段系统实施的工作依据。

总体设计和详细设计相互关联,需要交叉进行。

 

总体设计包括:

(1)系统模块结构设计。系统模块结构设计的任务是划分子系统,然后确定子系统的模块结构,并画出模块结构图。

(2)计算机物理系统配置方案设计。解决计算机软硬件系统的配置、通信网络系统的配置、机房设备的配置等问题。

 

详细设计:确定每个模块内的详细执行过程。描述执行过程的方式有:流程图、问题分析图、IPO图和过程设计语言等。

编写系统设计说明书:系统设计阶段的结果是系统设计说明书,它主要由模块结构图、模块说明书和其他详细设计的内容组成。

 

3、系统实施阶段

系统实施阶段的目标是把系统设计的物理模型转换成可实际运行的新系统

系统实施阶段只要有以下几个方面的工作:物理系统的实施;程序设计;系统调试;人员培训;系统切换。

首先是购买、安装软硬件、通讯网络系统(购买太早会带来经济上的损失);同时进行的工作是程序设计;接着是数据的收集和录入;然后是系统调试;最后是人员培训和系统切换。

 

4、系统运行和维护阶段

 1.3.2信息系统开发方法

信息系统的开发是一个庞大的系统工程,它涉及到组织的内部结构、管理模式、生产加工、经营管理过程、数据的收集与处理过程、计算机硬件系统的管理与应用、软件系统的开发等各个方面。

从方法论的角度介绍创建信息系统所需的规划方法,包括结构化开发和设计方法(SSA&D),面向对象的开发方法(OO)及原型方法(Phototyping)。

1、结构化系统分析与设计方法(Structured System Analysis and Design,SSA&D)

它是一种系统化、结构化和自顶向下的系统开发方法。其基本思想是:用系统的思想,系统工程的方法,按用户至上的原则,结构化、模块化、自顶向下对信息系统进行分析与设计。

特点:

(1)建立面向用户的观点。用户的满意程度和参与程度是系统成功的关键。

(2)严格区分工作阶段。强调将整个系统的开发过程分为若干个阶段,每个阶段有明确的任务和目标以及预期要达到的阶段结果。一般不可打乱或颠倒。

(3)结构化、模块化、自顶向下进行开发。首先确保全局的正确,再一层层地深入考虑和处理局部的问题。自顶向下分析设计,自底向上开发(实施):一个模块一个模块的开发,然后几个模块联调,然后整个系统联调。

(4)充分预料可能发生的变化。

(5)工作文件的标准化和文献化。每一阶段都要有详细的文字资料记载:系统分析过程中的调研材料、同用户交流的情况、设计的每一步方案(包括淘汰掉的信息和资料)资料要有人保管,要建立一整套管理、查询制度。

2、原型方法(Prototyping)

对于规模较大或结构较复杂的系统,在系统开发前期,用户往往对未来的新系统仅有一个比较模糊的想法。开发人员也很难将整个系统描述完整。规格说明的难以完善和用户需求的模糊性已经成为传统结构化开发方法的重大障碍。

原型方法:快速的实现新系统的一个“原型“来形象的表示系统的一个早期可运行的版本,它能反映新系统的部分重要功能和特征。

探索型、实验型、演化型

3、面向对象的开发方法(Object Oriented,OO)

软件开发过程中,使用者会不断地提出各种更改要求,在结构化开发的程序中,这种修改往往是很困难的。为提高软件系统的稳定性、可修改性和可重用性,人们在实践中逐渐创造出软件工程的一种新途径--面向对象方法学。

面向对象所带来的好处是程序的稳定性和可修改性。把客观世界分解成一个一个的对象,并且把数据和操作都封装在对象内部。对象指的是一个独立的、异步的、并发的实体,它能“知道一些事情”(即存储数据),“做一些工作”(即封装服务),并“与其他对象协同工作”(通过交换消息),从而完成系统的所有功能。

4、各种开发方法的比较

系统调查、分析阶段的工作量占总开发量的60%以上。而系统设计和实现环节仅占总开发工作量比率不到40%。

 2、信息系统开发的管理知识

 2.1信息系统项目

2.1.1项目的基本概念

 项目:就是在既定的资源和要求的约束下,为实现某种目的而相互联系的一次性工作任务。这个定义包括三层意思:一定的资源约束一定的目标一次性任务。这里的资源包括时间资源。经费资源、人力资源等。

项目的基本特征:

1、明确的目标:项目是一种有着明确目标----一种期望的产品或希望得到的服务的一次性活动。包括:时间目标、成果目标、其他目标。目标允许有变动的幅度,也就是可以修改的,不过一旦目标发生实质性变化则产生一个新的项目。

2、独特的性质:每个项目都是唯一的、独特的。

3、有限的生命周期:大多数项目的生命周期可划分为 启动、规划、实施、结尾4个阶段。

4、特定的委托人:它既是项目结果的需求者,也是项目实施的资金提供者。

5、实施的一次性:项目有确定的起点和终点,项目不能重复。

6、组织的临时性和开放性:项目团队在项目进展过程中,人数、成员、职责在不断变化,并且项目终结时团队要解散。项目组织没有严格的边界,是有弹性的、模糊的、开放的。

7、项目的不确定性和风险性:时间估计、成本估计、各种资源的有效性会带来不确定性。项目是一次性任务,做坏了没有机会重来。

8、结果的不可逆性:不论结果如何,项目结束了,结果也就确定了。

 

1.1.2信息系统项目的概念

信息系统的建设是一类项目的建设:信息系统的建设是一次性的任务,有明确的任务范围和质量要求,有时间和进度的要求,有经费和资源的限制。

信息系统除具项目特征外,还具有自己的特点:

1、信息系统项目的目标不精确、任务边界模糊,质量要求主要由项目团队定义。

2、在信息系统项目开发过程中,客户的需求不断被激发,不断地被进一步明确,或者客户需求随项目进展而变化,从而导致项目进度、费用等计划的不断更改。

3、信息系统项目是智力密集、劳动密集型项目,受人力资源影响最大,项目成员的结构、责任心、能力和稳定性对信息系统项目的质量以及是否成功有决定性的影响。

2.2信息系统中的项目管理

项目管理就是项目的管理者,在有限的资源约束下,运用系统的观点、方法和理论,对项目涉及的全部工作进行有效地管理。

目前国际上存在两大项目管理研究体系:其一是以欧洲为首的体系,即国际项目管理协会(IPMA),其二是以美国为首的体系,即美国项目管理协会(PMI)。IPAM和PMI相比,更注重实践能力。

目前比较流行的项目管理知识体系是美国项目管理协会(PMI)开发的项目管理知识体系(Project Management Bode of Knowledge,PMBOK)。该知识体系把项目管理分为9个知识领域:范围管理、进度管理、成本管理、质量管理、人力资源管理、沟通管理、采购管理、风险管理和综合管理。

1、项目范围管理:

要保证项目成功的完成所要求的全部工作,而且只完成所要求的工作。这个知识领域包括:

(1)项目启动:对项目或项目的阶段授权。

(2)范围计划:指定一个书面的范围陈述,作为未来项目决策的基础。

(3)范围定义:把项目应提交的成果进一步分解成为更小、更易管理的组成部分。

(4)范围确认:正式地认可项目满足了范围要求。

(5)范围变更控制:控制项目范围的变更。

2、项目时间管理:

要保证项目按时完成。这个知识领域包括:

(1)活动定义:识别出为产生项目提交成果而必须执行的特定活动。

(2)活动排序:识别并记录活动之间的相互依赖关系。

(3)活动时间估计:估计完成每一个活动将需要的工作时间。

(4)制定时间表:分析活动顺序、活动时间的估计和资源需求,建立项目时间表。

(5)时间表控制:控制项目时间表的变更。

3、项目成本管理:

要保证项目在批准的预算内完成。这一知识领域包括:

(1)资源计划:决定为执行项目活动所需要的资源的种类(人员、设备、材料)和数量。

(2)成本估算:对于为了完成项目活动所需资源的成本进行估计。

(3)成本预算:把估算的总成本分配到每一个工作活动中。

(4)成本控制:控制项目预算的变更。

4、项目质量管理:

要保证项目的完成能够使需求得到满足。这一领域具体包括:

(1)质量计划:找出与项目相关的质量标准,并决定如何满足标准的要求。

(2)质量保证:对项目绩效做经常性的评价,使得有信心达到质量标准的要求。

(3)质量控制:监视特定的项目结果以判定是否满足相关的质量标准,并找出方法来消除不能满足要求的原因。

5、项目人力资源管理:

尽可能有效地使用项目中涉及的人力资源。这包括:

(1)组织的计划:识别、记录、指派项目的角色、责任和报告关系。

(2)人员获得:使项目所需的人力资源得到任命并在项目中开始工作。

(3)团队建设:开发个人的和团队的技能来提高项目的绩效。

6、项目沟通管理:

保证适当、及时地产生、收集、发布、储存和最终处理项目信息。其中包括:

(1)沟通计划:决定项目相关者的信息和沟通的需求,包括谁需要什么信息,什么时间需要,以及得到信息的方式。

(2)信息发布:及时地把所需的信息提供给相关者使用。

(3)绩效报告:收集、分发绩效信息,包括状态报告、进度衡量和预测。

(4)管理上的结束:产生、收集、分发信息,使项目或项目阶段正式地结束。

7、项目风险管理:

对项目的风险进行识别、分析和响应的系统化的方法,包括使有利的事件机会和结果最大化和使不利的事件的可能和结果最小化。这一知识领域包括:

(1)风险管理计划:决定如何处理并计划项目的风险管理活动。

(2)风险识别:决定哪些风险可能会影响项目,并记录风险的特征。

(3)风险定性分析:对风险和条件进行定性分析,根据对项目目标的作用排定优先级。

(4)风险量化分析:度量风险的可能性和后果,并评估它们对项目目标的影响。

(5)风险响应计划:针对影响项目目标的风险制定过程和方法来增加机会和减少威胁。

(6)风险监视和控制:监视已知的风险,识别新的风险,执行风险减低计划,在整个项目生命周期中评价它们的有效性。

8、项目采购管理:

为达到项目范围的要求,从外部企业获得货物和服务的过程。在这一知识领域中包括:

(1)采购计划:决定采购的内容和时间。

(2)邀请计划:记录产品需求、识别潜在来源。

(3)邀请:根据需要获得价格、报价、投标、建议书等。

(4)来源选择:从潜在的销售商中进行选择。

(5)合同管理:管理与销售商的关系。

(6)合同结束:合同的完成和结算,包括解决任何遗留问题。

9、项目综合管理:

保证项目中不同因素能适当协调。这一领域包括:

(1)制定项目计划:集成、协调全部的项目计划内容,形成一致的、联系紧密的文件。

(2)执行项目计划:通过执行其中的活动来执行项目计划。

(3)集成的变更控制:在整体项目中协调变更。

项目作为一个整体,要使各方面资源协调一致,就要特别熟悉项目三角形概念。项目三角形是指范围、时间、成本三个因素之间的相互影响关系。

2.3信息系统开发的管理工具

Microsoft Project 98/2000、Primavera Project Planner(P3)、P3E(Primavera Project Planner for Enterpriser)、ClearQuest、

3、信息系统分析

系统分析是信息系统开发工作中最重要的一环。系统分析的内容主要包括对组织内部整体管理状况和信息处理过程(侧重于具体业务全过程角度)进行分析。

系统分析员和用户在一起,充分理解用户的要求,并把双方的理解用书面文档(系统规格说明书)表达出来。系统规格说明书既是给用户看的,也是下一阶段的工作依据。既要通俗易懂又要准确。

用户通过系统规格说明书可以了解未来系统的功能,判断它是不是其所要求的系统。系统规格说明书审核通过后,将成为系统设计的依据和将来验收系统的依据

系统分析要回答新系统“做什么”这个关键性的问题。只有明确了问题,才可能回答“怎么做”。

系统分析是信息系统开发最重要的阶段,也是最困难的阶段。系统分析的困难主要来自三个方面:问题空间的理解、人与人之间的沟通和环境的不断变化。

系统分析的步骤:

(1)现行系统的详细调查。

(2)需求分析。需求指用户要求新系统应具有的全部功能和特征。包括:功能需求、性能需求、可靠性需求、安全、保密需求、开发费用和时间,以及资源方面的限制等。

(3)提出新系统的逻辑模型。

(4)编写系统规格说明书。

3.1系统分析方法

结构化分析(Structured Analysis,SA)方法:

结构化分析方法是一种单纯的自顶向下逐步求精的功能分解方法,它按照系统内部数据传递,以变换的关系建立抽象模型,然后自顶向下逐层分解,由粗到细、由复杂到简单。结构化分析的核心特征是“分解”和“抽象“。抽象是将一些具有某些相似性质的事物的相同之处概括出来,抽象出本质特性暂时不考虑细节。自顶向下的过程称为分解,自底向上的过程称为抽象。就是说下层是上层的分解,上层是下层的抽象。

结构化系统分析和设计方法的基本思想是:用系统的思想、系统工程的方法,按用户至上的原则,结构化、模块化、自上而下对信息系统进行分析与设计。

结构化分析方法使用了以下几个工具:数据流图、数据字典、实体关系图、结构化语言、判定表和判定树。

3.1.2结构化分析方法的工具

1、数据流图(Data Flow Diagram,DFD),从数据传递和加工的角度,以图形的方式刻画系统内数据的运动情况。它可以用少数几种符号综合地反映出信息在系统中的流动、处理和存储的情况。

数据流图具有抽象性和概括性:抽象性表现在它完全舍去了具体的物质,只剩下数据的流动、加工处理和存储;概括性表现在它可以把信息中的各种不同业务处理过程联系起来,形成一个整体。

(1)数据流图的基本成分:外部实体、数据流、数据存储和处理逻辑。

①外部实体:外部实体指不受系统控制,在系统以外又与系统有联系的事物或人,它表达了目标系统数据的外部来源或去处。例如,顾客、职工、供货单位,等等。外部实体也可以是另外一个信息系统。

为了区分不同的外部实体,可以在正方形的左上角用一个字符表示。在数据流图中,为了减少线条的交叉,同一个外部实体在一张数据流图中可以出现多次,这时在该外部实体符号的右下角画斜线,表示重复。若重复的外部实体有多个,则相同的外部实体画数目相同的斜线。

②数据流:数据流表示数据的流动方向,用一个水平箭头或垂直箭头表示。数据流可以是订单、发票等。数据流一般不会是单纯的数据,而是由一些数据项组成。例如“发票”数据流有品名、规格、单位、单价、数量等数据项组成。

对数据流的描述写在箭头的上方,一些含义十分明确的数据流,也可以不加以说明。

③数据存储:数据存储表示数据保存的地方(不是物理介质,是逻辑描述)。

数据存储用一个右边开口的长方形条来表示,图形右部填写存储的数据和数据集的名字。左边填写该数据存储的标识,用字母D和数字组成。同一数据存储可在一张数据流图中出现多次,这时在数据存储符号上画竖线,表示重复。指向数据存储的箭头,表示送数据到数据存储(存放、改写等);从数据存储发出的箭头,表示从数据存储读取数据。

④处理逻辑(加工):处理逻辑指对数据的逻辑处理功能,也就是对数据的变换功能。它包括两方面内容:一是改变数据结构;二是在原有数据内容基础上增加新的内容,形成新的数据。

在数据流图中,处理逻辑可以用一个带圆角的长方形来表示,长方形分为三个部分。

标识部分用来标明一个功能,一般用字符串表示,如P1,P1.1等。功能描述部分是必不可少的,它直接表达这个处理逻辑的逻辑功能。一般用一个动词加一个名词表示。

功能执行部分表示这个功能由谁来完成,可以是一个人,也可以是一个部门,甚至可以是某个计算机程序。

(2)数据流图的绘制。

①确定外部项。一张数据流图表示某个子系统或某个系统的逻辑模型。外部项就是那些不受所描述的系统的控制,但又影响系统运行的外部环境,也是系统的数据输入的来源和输出的去处。

②自顶向下逐层扩展。信息系统庞大而复杂,数据的加工可能成百上千,自顶向下的原则为绘制数据流图提供了一条清晰的思路和标准化的步骤。

③合理布局。一般把系统数据主要来源的外部项尽量安排在左方,而要把数据主要去处的外部项尽量安排在右边。数据流的箭头线尽量避免交叉或过长,必要时可用重复的外部项和重复的数据存储符号。

④数据流图只反映数据流向、数据加工和逻辑意义上的数据存储,不反映任何数据处理的技术过程、处理方式和时间顺序,也不反映各部分相互联系的判断与控制条件等技术问题。只从系统逻辑功能上讨论问题。

⑤数据流图绘制过程,就是系统的逻辑模型的形成过程。必须与用户及其他系统建设者共同商讨以求一致意见。

(3)数据流图的改进。

①检查数据流图的正确性。

a.数据是否守恒,即输入数据与输出数据是否匹配。数据不守恒的情况有两种。一种是某个处理过程产生输出数据,但没有输入数据给该处理过程,这肯定是某些数据流被遗漏了。另一种是有输入数据给处理过程,但没有输出数据,这种不一定是错误,但要认真推敲是否可去掉以简化逻辑。

b.数据存储的使用是否恰当。在一套数据流图中的任何一个数据存储,必定有流入的数据流和流出的数据流,即写文件和读文件,缺少任何一种都意味着遗漏了某些处理逻辑。

c.父图和子图是否平衡。父图中某一处理框的输入、输出数据流必须出现在相应的子图中,否则就会出现父图与子图的不平衡。尤其是在对子图进行修改时,必须仔细检查其父图是否要做相应的修改,以保证数据流的平衡。父图与子图的关系,类似于全国地图与各省地图的关系。

d.任何一个数据流至少要有一端是处理框。换句话说,数据流不能从外部实体直接到数据存储,也不能从数据存储直接到外部实体,也不能在外部实体之间或数据存储之间流动。(数据流是处理功能的输入输出)

②提高数据流图的易理解性

简化处理间的联系、保持分解的均匀性、适当命名。

重新分解的步骤:

a.把需要重新分解的数据流图的所有子图拼接成一张图。

b.把新拼接成的图分成几个部分,使各部分之间的联系最少。

c.重新建立父图,即把b步骤所得的每一部分画成一个处理框。

d.重新建立各张子图,这只需要把b步骤所得的图沿各个部分边界分开即可。

e.为所有处理重新命名和编号。

2、数据字典

数据流图描述了系统由哪几部分组成,各部分之间的联系等,但没有说明系统中各成分的含义。只有当数据流图中出现的每一成分都给出定义之后,也就是使数据流图上的数据流名字、处理逻辑名字等都具有确切地解释之后,才能真正完整、准确地描述一个系统。为此还需要数据字典对数据流图加以补充说明。

数据字典是以特定格式记录下来的、对系统的数据流图中各个基本要素(数据流、处理逻辑、数据存储和外部实体)的内容和特征所做的完整的定义和说明。在数据字典的建立、修正和补充过程中,始终要注意保证数据的一致性和完整性。

(1)数据字典的条目

数据字典中有6类条目:数据项、数据结构、数据流、数据存储、处理过程和外部实体。

(2)数据字典的作用:

数据字典实际上是“关于系统数据的数据库”。数据字典是所有人员工作的依据、统一的标准。它可以确保数据在系统中的完整性一致性

①可根据数据字典把所有数据元素、数据结构、数据流、数据存储、处理逻辑、外部实体,按一定的顺序全部列出,保证系统设计时不会遗漏。

②相互参照,便于系统修改。

③由描述内容检索名称。

④一致性检验和完整性检验。

(3)数据字典的编写与管理

数据流图的修改与完善,将导致数据字典的修改,这样才能保证数据字典的一致性和完整性。数据字典的编写可以有两种方式:手工编写和计算机辅助编写。

编写数据字典的基本要求是:

①对数据流图上各种成分的定义必须明确、唯一、易于理解。命令、编号与数据流图一致,必要时可增加编码,以方便查询。检索、维护和统计报表。

②符合一致性和完整性的要求,对数据流图上的成分定义与说明没有遗漏。

③数据字典中无内容重复或内容相互矛盾的条目。

④数据流图中同类成分的数据字典条目中,无同名异义或异名同义者。

⑤格式规范、风格统一、文字精炼,数字与符号正确。

3、实体联系图(Entity-Relationship Diagram,ER图)

有实体、联系和属性三个基本成分。

实体可以分为独立实体和从属实体(或弱实体)。独立实体是不依赖于其他实体和联系而可以独立存在的实体,常常被直接简称为实体;从属实体的存在依赖于其他实体和联系,在实体联系图中用带圆角的矩形框表示。

4、描述加工处理的结构化语言

数据流图中所有不进一步分解的加工(处理逻辑),称为基本加工。并不都在最底层的数据流图中。基本加工有父项,无子项,非基本加工均有子项。在数据字典中,非基本加工可用基本加工的组合来描述,基本加工是实现系统功能的基本组成部分。

结构化语言使用的语句类型只有一下三种:

祈使语句、条件语句、循环语句。

3.4系统说明书

系统说明书是系统分析阶段工作的全面总结,是这一阶段的主要成果。它又是主管人员对系统进入设计阶段的决策依据。

系统说明书应达到的基本要求是:全面、系统、准确、详实、清晰地表达系统开发的目标、任务和系统功能。

作为系统分析阶段的技术文档,系统说明书通常包括以下三方面的内容:

1、引言

说明项目的名称、目标、功能、背景、引用资料(如核准的计划任务书或合同),文中所用的专业术语等。

2、项目概述

(1)项目的主要工作内容

(2)现行系统的调查情况

(3)新系统的逻辑模型

3、实施计划

(1)工作任务的分解

(2)进度

(3)预算

3.5系统分析工具--统一建模语言(UML)

3.5.1统一建模语言(UML)的概述

统一建模语言UML(Unified Modeling Language)是一种建模语言,而不是一种方法。

UML是一种可视化语言、一种构造语言、一种文档化语言。

UML的目标是:

①易于使用、表达能力强、进行可视化建模。

②与具体的实现无关,可应用于任何语言平台和工具平台。

③与具体的过程无关,可应用于任何软件开发的过程。

④简单并且可扩展,具有扩展和专有化机制,便于扩展,无需对核心概念进行修改。

⑤为面向对象的设计与开发中涌现出的高级概念提供支持,强调在软件开发中对架构框架模式和组件的重用。

⑥与最好的软件工程实践经验集成。

⑦可升级,具有广阔的适用性和可用性。

⑧有利于面向对象工具的市场成长。

3.5.2统一建模语言(UML)的内容

UML的目的是建模,在UML中,建立的模型有三个要素:

①事物,事物是对模型中最具有代表性的成分的抽象。

②关系,关系把事物结合在一起。

③图,图聚集了相关的事物。

1、UML中有四种事物:结构事物、行为事物、分组事物、注释事物。

结构事物共有七种:类、接口、协作、用例、活动类、组件、结点。

行为事物:交互行为、状态机行为

分组事物:主要的分组事物是包。

注释事物:注释事物是UML模型的解释部分。主要的注释事物称为注解。

 

2、UML中的关系

依赖、关联、泛化、实现

3、UML的图

用例图、静态图(类图、对象图、包图)、行为图(状态图、活动图)、交互图(顺序图、合作图)、实现图(组件图、配置图)

静态建模机制:用例图、类图、对象图、构件图和配置图。

动态建模机制:状态图、活动图、顺序图和协作图。

 

3.5.3统一建模语言(UML)的建模过程

一般采用的建模过程有:瀑布开发模型和迭代递增开发模型。

4、信息系统设计

4.1系统设计概述

系统分析阶段要回答的中心问题是系统“做什么”,即要明确系统的功能和用途,为系统的具体设计和实现提供一个逻辑模型。

系统设计阶段要回答的中心问题是系统“怎么做”,即如何实现系统规格说明书所规定的系统功能。建立物理模型。

4.1.1系统设计的目标

1、系统的可靠性

系统的可靠性主要分系统硬件和软件的可靠性。衡量系统的可靠性的重要指标是系统的平均故障间隔时间(Mean Time Between Failure,MTBF)和平均维护时间(Mean Time To Repair,MTTR)。前者指平均的系统前后两次发生故障的间隔时间,后者指发生故障后平均修复所需要的时间。MTBF越长,系统可靠性越高,MTTR越短,系统的可维护性就越高。

2、较高的系统运行效率

体现在以下三方面:

①处理能力指在单位时间能够处理的事物数。

②处理速度指处理单个事物所耗费的平均时间。

③响应时间指从客户端发出处理要求到系统返回处理结果所用的时间。

影响系统运行效率主要是以下两方面的因素:

系统硬件结构的影响。计算机处理过程的设计质量的影响。

3、系统的可变更性

4、系统的经济性

 

4.1.2系统设计的原则

系统性原则、简单性原则、开放性原则、管理可接受原则、其他原则(经济性、安全性、可靠性、简单易用等原则)。

4.1.3系统设计的内容

总体设计和详细设计。在实际系统设计工作中,这两个设计阶段的内容往往是相互交叉和关联的。

1、总体设计的主要任务是完成对系统总体结构和基本框架的设计。包括:系统总体布局设计和系统模块化结构设计。

模块化设计的工作任务包括如下内容:

①按需求和设计原则将系统划分为若干功能模块。

②决定每个模块的具体功能和职责。

③分析和确定模块间的调用关系。

④确定模块间的信息传递。

系统总体布局方案包括系统网络拓扑结构设计和系统资源配置设计方案。

2、详细设计

包括:代码设计、数据库设计、输入/输出设计、用户界面设计、处理过程设计。

3、其他设计任务

详细设计完成以后,也需要编制系统设计文档,主要工作包括系统标准化设计、描述系统设计结果、拟定系统实施方案。

描述系统设计的结果是编制系统设计说明书程序设计说明书系统测试说明书以及各种设计图表等,并将它们汇集成册,交给有关人员和部门审核批准。

4.2结构化设计方法和工具

4.2.1结构化系统设计的基本原则

结构化设计的基础是模块化,即将整个系统分解成相对独立的若干模块,通过对模块的设计和模块之间关系的协调来实现整个软件系统的功能。

4.2.2系统流程图

1、系统流程图的特点在于它着重表达的是数据在系统中传输时所通过的存储介质和工作特点,与物理技术有密切的联系。系统流程图的缺点在于它不能反映系统结构和每个模块的功能,无法评审系统是否符合用户的逻辑要求,也不可能知道系统的大小,是否易于维护和修改。

2、绘制系统流程图的主要依据

①信息处理的步骤和内容。

②每一步骤所涉及的物理过程。

③各步骤之间的物理和逻辑关系。

3、系统流程图常用符号

4.2.3模块

模块(module)是通过一个名字就可以调用的一段程序语言。包括输入输出、逻辑功能、内部数据及其运行程序4个部分。

模块的特点:抽象性、信息隐蔽性。

4.2.3HIPO技术

1、IPO图

IPO图是一种反映模块的输入、处理和输出的图形化表格。其中I、P、O分别代指输入(input)、处理(process)和输出(output)。它描述了模块的输入输出关系、处理内容、模块的内部数据和模块的调用关系,是系统设计的重要成果,也是系统实施阶段编制程序设计任务书和进行程序设计的出发点和依据。

2、HIPO分层示意图

分层次自顶向下分解系统,将每个模块的输入、处理和输出关系表示出来就得到了HIPO图。

4.2.5控制结构图

控制结构图描述了模块之间的调用关系,体现了模块之间的控制关系。基本调用方式主要有三种:直接调用、条件调用和重复调用。

 

4.2.6模块结构图

结构化设计采用结构图(Structured Chart)描述系统的模块结构及模块间的联系。从数据流图出发,绘制HIPO图,再加上控制结构图中的模块控制与通信标志,实际上就构成了模块结构图。结构图可以由数据流程图转换而来。

结构图与数据流程图有着本质的差别:数据流程图着眼于数据流,反映系统的逻辑功能,即系统能够“做什么”;结构图着眼于控制层次,反映系统的物理模型,即怎样逐步实现系统的总功能。从时间上说,数据流程图在前,控制结构图在后。数据流程图是绘制结构图的依据。

总体设计阶段的任务就是要针对数据流程图规定的功能,设计一套实现办法,因此,绘制结构模块图的过程就是完成这个任务的过程。

结构图也不同于程序框图(Flow Chart),后者用于说明程序的步骤,先做什么,再做什么。结构图描述各模块的“责任”,例如一个组织机构图用于描述各个部门的隶属关系与职能。

结构图中的组成部分包括:

①模块,用长方形表示。

②调用,从一个模块指向另一个模块的箭头表示前一个模块调用后一个模块。箭尾的菱形表示有条件地调用,弧形箭头表示循环调用。

③数据,带空心圆圈的小箭头表示一个模块传递给另一个模块的数据。

④控制信息,带实心圆圈的小箭头表示一个模块传递给另一个模块的控制信息。

模块结构图的层数称为深度。一个层次上的模块总数称为宽度。深度和宽度反映了系统的大小和复杂程度。

4.3系统总体设计

在进行系统总体布局方案设计时,有若干个问题应当进行考虑,主要包括:

①系统类型,集中式还是分布式。

②处理方式,根据实际情况采取其中一种,或者混合使用。

③数据存储,根据数据量的大小决定何种存储方式,即分布存储还是集中存储。

④网络结构,逻辑结构设计,网络协议选择。(B/W/D模式:浏览器/Web服务器/数据库服务器)

⑤硬件配置,考虑机器类型、性能价格指标等。

⑥软件配置,自行开发、外包或者整体购买。

4.3.2软件系统结构设计的原则

总体结构设计的主要原则有:

分解-协调原则、信息隐蔽和抽象的原则、自顶向下原则、一致性原则、面向用户原则。

4.3.3模块结构设计

1、模块独立性

模块的独立程度可以有两个定性标准度量:聚合(cohesion)和耦合(coupling)。聚合衡量模块内部各元素结合的紧密程度。耦合度量不同模块间互相依赖的程度。

聚合:偶然聚合、逻辑聚合、时间聚合、过程聚合、通信聚合、顺序聚合、功能聚合。

在进行模块设计中,应当尽可能提高模块的聚合程度,使每个模块执行单一的功能,以降低模块间的联系,争取获得较高的模块独立性。尤其应该追求模块的功能聚合,如果可能,要将非功能性聚合的模块转化为功能聚合的模块。

耦合:数据耦合、控制耦合、公共耦合、内容耦合。

模块内的高聚合往往意味着模块之间的松耦合。要想提高模块内部的聚合性,必须减少模块之间的联系。

2、功能模块设计原则

(1)系统分解有层次

(2)适宜地系统深度和宽度比例:深度过大说明系统划分过细,宽度过大可能会导致系统管理难度的加大。

(3)模块大小适中

(4)适度控制模块的扇入扇出

模块的扇入指模块直接上级模块的个数,模块的直属下级模块个数即为模块的扇出。模块的扇入数一般来说越大越好,说明该模块的通用性较强。对扇出而言,过大可能导致系统控制和协调比较困难,过小则可能说明该模块本身规模过大。经验证明。扇出的个数最好是3或4,一般不要超过7。如图,模块A的扇出系数为3,模块F的扇入系数为2。

(5)较小的数据冗余

3、数据流图到模块结构图的变换

数据流程图有两种典型的结构:变换型结构和事务型结构。对这两种结构,可以分别通过变换分析方法和事务分析方法导出标准形式的结构图。都是先设计结构图的顶端主模块,然后自顶向下逐层细化,最后得到满足数据流程图要求的系统结构。

4.4系统详细设计

4.4.1代码设计

1、代码的功能:唯一标识功能、分类功能、排序功能。

2、代码的种类:顺序码、区间码、助忆码、缩写码。

3、代码设计的原则:唯一性、标准化、规范化、合理性、可扩展性、简单性、实用性。

4、代码设计的步骤:确定编码对象和范围、调查是否已有标准代码、确定编排方式和符号类型、考虑检错功能、编写代码表。

4.4.2数据库设计

1、数据库设计步骤

数据库的设计过程可以分为4个阶段,即用户需求分析、概念结构设计、逻辑结构设计和物理结构设计。

用户需求分析是对现实世界的调查和分析;概念结构设计是从现实世界向信息世界的转换;逻辑结构设计是从信息世界向数据世界的转化;物理结构设计是为数据模型选择合适的存储结构和存储方法。

2、用户需求分析

系统应用环境分析、用户数据需求及加工分析、系统约束条件分析。

3、数据库概念结构设计

E-R模型即实体-联系模型是描述数据库概念结构的有力工具。

4、数据库逻辑结构设计

可由E-R模型转换为关系数据模型的转化规则。

5、数据库物理结构设计

确定存储结构、选择和调整存储路径、确定数据存储位置、确定存储分配、确定数据的完整性与安全性约束、考虑数据恢复方案。

4.4.3输入设计

输入设计是信息系统与用户交互的纽带。将直接影响处理结果的正确性和最终获得信息的可靠性。输入设计要保证将不合法、不完整和不正确的数据拒之于系统之外。

1、输入设计的原则

输入量最小原则、输入延迟最低原则、输入数据早校验原则、输入步骤少转换原则、输入过程简单化原则。

2、输入设计的内容

确定输入数据内容、确定数据的输入方式、确定输入数据的记录格式、确定输入数据的正确性校验机制。

3、输入设备

4、数据校验

输入错误的种类、数据校验方法、差错的纠正、设计出错表。

5、输入设计的评价

主要从用户使用的方便性和系统运行的高效、安全性两方面进行评价。

4.4.4输出设计

1、输出设计的内容

确定输出内容、选择输出设备、确定输出信息格式、

2、输出设计评价

4.4.5用户接口界面设计

1、接口界面设计的原则

统一原则、简明易学原则、灵活原则、美观原则、宽容原则、严谨原则。

2、接口界面设计的内容

定义界面形式、定义基本的交互控制形式、定义图形和符号、定义各种操作方式、定义信息反馈的策略、定义Help策略。

3、确定接口界面类型

菜单式、填表式、对话式、图形式、窗口式、

4.4.6处理过程设计

1、程序流程图

程序框图包括三种基本成分:加工步骤,用方框表示;逻辑条件,用菱形表示;控制流,用箭头表示。

2、N-S图

N-S图是一种符合结构化设计原则的图形描述工具,又称盒图。在N-S图中,每个处理步骤用一个盒子表示。盒子可以嵌套。盒子只能从上面进入,从下面走出,除此之外再无其他入口。

3、程序设计语言

4.5系统设计说明书

系统设计的最终成果是设计人员提交的系统设计说明书。应该包括的内容有两部分,引言和系统总体技术方案。

 

实施方案说明书:系统总体结构设计完成以后就要确定系统实施方案,书写实施方案说明书。实施方案说明书是系统实施阶段的依据和出发点。

实施方案说明、实施的总计划、实施方案的审批。

5、信息系统实施

实施阶段把物理模型转换为可实际运行的物理系统。

硬件配置、软件编制、人员培训、数据准备

5.1.4系统实施的关键因素

进度的安排、人员的组织、任务的分解、开发环境的构建。

5.2程序设计方法

5.3系统测试

软件测试:测试是为了发现错误而执行程序的过程。测试的目标就是希望能以最少的人力和时间去发现潜在的各种错误和缺陷。

测试的类型:

①模块测试:是对一个模块进行的测试,根据模块的功能说明,检查模块是否有错误。

②联合测试:即通常所说的联调,这种测试是各个版本实现后完成有关接口的测试。

③验收测试:验收测试检验系统说明书的各项功能与性能是否实现和满足要求。

验收测试的方法一般是列出一张清单,左边是需求的功能,右边是发现的错误或缺陷。常见的验收测试有所谓的α测试和贝特测试,这两种测试都是由用户进行的,但前者由使用者在应用系统开发所在地与开发者一同进行观察记录,后者由用户在使用环境中独立进行。

④系统测试:系统测试是对整个系统的测试,将硬件、软件、操作人员看做一个整体,检验它是否有不符合系统说明书的地方。

 

安全的标准是什么:如果入侵一个系统的代价超过了从系统中获得的利益时,那么这就是一个安全的系统。

 

5.3.4 测试用例设计

(1)白盒测试:

逻辑覆盖可分为:语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、多重覆盖、路径覆盖。

语句覆盖:就是设计若干个检测用例,使得程序中的每条语句至少被执行一次。(and改成or)

判定覆盖(分支覆盖):设计若干个检测用例,使得程序中的每个判断的取真分支和取假分支至少被执行一次。(第二个判断语句)

条件覆盖:就是设计若干个测试用例,使得被测试程序中每个判断的每个条件的所有可能情况都至少被执行一次。

判断/条件覆盖:既要满足判断覆盖的要求,又要满足条件覆盖的要求。也就是设计若干个测试用例,使得程序中的每个判断的取真分支和取假分支至少执行一次,而且每个条件的所有可能情况都至少被执行一次。

多重覆盖:就是设计多个测试用例,使得各判断表达式中条件的各种组合至少被执行一次。

路径覆盖:路径覆盖就是设计足够多的测试示例,使被测程序中的所有可能路径至少被执行一次。

循环覆盖:

 

 (2)黑盒测试:

①等价类划分②边界值分析

 

posted @ 2018-03-27 16:16  谈笑风生~  阅读(1903)  评论(0编辑  收藏  举报