免费智能真题库 > 历年试卷 > 信息系统项目管理师 > 2022年上半年 信息系统项目管理师 上午试卷 综合知识
  第9题      
  知识点:   信息系统开发方法   结构化分析   数据字典   需求分析
  章/节:   信息系统及其技术和开发方法       

 
使用结构化分析(SA)方法进行需求分析,围绕数据字典建立的三个层次的模型不包括()。
 
 
  A.  实体关系图
 
  B.  业务流程图
 
  C.  数据流图
 
  D.  状态转换图
 
 
 

 
  第2题    2014年上半年  
   28%
(2)不属于信息系统项目的生命周期模型。
  第1题    2012年上半年  
   44%
信息系统开发方法有很多种,开发人员可以根据项目的需要选择一种适合的开发方法,其中把整个系统的开发过程分为若干阶段,然后一..
  第1题    2014年上半年  
   52%
结构化法是信息系统开发的常用方法之一,它将信息系统软件生命大致分为系统规划、系统分析、系统设计、系统实施和系统维护5个阶段..
   知识点讲解    
   · 信息系统开发方法    · 结构化分析    · 数据字典    · 需求分析
 
       信息系统开发方法
        信息系统常用的开发方法有结构化方法、原型法和面向对象方法。
        1.结构化方法
        结构化方法是应用最为广泛的一种开发方法。按照信息系统生命周期,应用结构化系统开发方法,把整个系统的开发过程分为若干阶段,然后一步一步依次进行。
        结构化方法具有如下特点:
        .遵循用户至上的原则。
        .严格区分工作阶段,每个阶段有明确的任务和取得的成果。
        .强调系统开发过程的整体性和全局性。
        .系统开发过程工程化,文档资料标准化。
        结构化方法的优点有:
        .理论基础严密,它的指导思想是用户需求在系统建立之前就能被充分了解和理解。
        .注重开发过程的整体性和全局性。
        结构化方法的缺点有:
        .开发周期长。
        .文档、设计说明烦琐,工作效率低。
        .要求在开发之初全面认识系统的信息需求。
        .如果用户参与系统开发的积极性没有充分调动,可能造成系统交接过程不平稳,系统运行与维护难度加大。
        结构化分析(Structured Analysis,SA)方法
        结构化分析方法由美国Yourdon公司在20世纪70年代提出,是一种简单实用、使用很广的方法。该方法通常与系统设计阶段的结构化设计(SD)方法衔接起来使用,适用于大型信息系统的开发。
        结构化分析方法是一种单纯的自顶向下、逐步求精的功能分解方法,是一种面向数据流的分析方法。其核心特征是“分解”和“抽象”,下层是上层的分解,上层是下层的抽象。
        结构化系统分析和设计方法的基本思想是用系统的思想、系统工程的方法,按用户至上的原则,结构化、模块化、自上而下对信息系统进行分析与设计。
        2.原型法
        原型法在很难全面准确提出用户需求的情况下,本着对用户需求的初步理解,先快速开发一个原型系统,然后通过反复修改来实现用户的最终系统需求。
        原型应当具备的特点如下:
        .实际可行。
        .具有最终系统的基本特征。
        .构造方便、快速,造价低。
        原型分类如下:
        .抛弃型原型:此类原型在系统真正实现以后就放弃不用了。
        .进化型原型:此类原型的构造从目标系统的一个或几个基本需求出发,通过修改和追加功能的过程逐渐丰富,演化成最终系统。
        原型法的特点如下:
        .对用户的需求是动态响应、逐步纳入的,相互之间并无明显界限,也没有明确分工。
        .系统开发计划是一个反复修改的过程。
        .适用于用户需求开始时定义不清、管理决策方法结构化程度不高的系统开发。
        .如果用户配合不好,盲目修改,就会拖延开发过程。
        3.面向对象方法
        面向对象方法的基本思想如下:
        .客观事物是由对象组成的,对象是在原事物基础上抽象的结果。
        .对象是由属性和操作组成的,其属性反映了对象的数据信息特征,而操作则用来定义改变对象属性状态的各种操作方式。
        .对象之间的联系通过消息传递机制来实现,而消息传递的方式是通过消息传递模式和方法所定义的操作过程来完成的。
        .对象可以按其属性来归类,借助类的层次结构,子类可以通过继承机制获得其父类的特征。
        .对象具有封装的特性,一个对象就构成一个严格模块化的实体,在系统开发中可被共享和重复引用,达到软件复用的目的。
        在系统开发实际工作中,往往根据需要将多种开发方法进行组合应用,具体组合形式可以分为如下几种:
        .结构化方法与原型法的结合使用。
        .结构化方法与面向对象方法的组合使用。
        .原型法与面向对象方法的组合使用。
 
       结构化分析
        SA方法使用抽象模型的概念,按照软件内部数据传递、变换的关系,自顶向下、逐层分解,直至找到满足功能要求的所有可实现的软件为止。SA方法给出一组帮助系统分析人员产生功能规约的原理与技术。它一般利用图形表达用户需求,使用的手段主要有数据流图、数据字典、结构化语言、判定表及判定树等。
        SA方法的步骤如下:
        (1)分析当前的情况,做出反映当前物理模型的数据流图(Data Flow Diagram, DFD)。
        (2)推导出等价的逻辑模型的DFD。
        (3)设计新的逻辑系统,生成数据字典和基元描述。
        (4)建立人机接口,提出可供选择的目标系统物理模型的DFD。
        (5)确定各种方案的成本和风险等级,据此对各种方案进行分析。
        (6)选择一种方案。
        (7)建立完整的需求规约。
 
       数据字典
        数据流图描述了系统的分解,即描述了系统由哪几部分组成,各部分之间的联系等,但没有说明系统中各成分的含义。只有当数据流图中出现的每一成分都给出定义之后,也就是使数据流图上的数据流名字、处理逻辑名字等都具有确切地解释之后,才能真正完整、准确地描述一个系统。为此,还需要其他工具对数据流图加以补充说明。
        数据字典就是这样的工具。数据字典最初用于数据库管理系统。它为数据库用户、数据库管理员、系统分析员和程序员提供某些数据项的综合信息。这种思想启发了信息系统的开发人员,使他们想到将数据字典引入系统分析。
        数据字典是以特定格式记录下来的、对系统的数据流图中各个基本要素(数据流、处理逻辑、数据存储和外部实体)的内容和特征所做的完整的定义和说明。它是结构化系统分析的重要工具之一,是对数据流图的重要补充和说明。
        建立数据字典的工作量很大,而且相当繁琐。但这是一项必不可少的工作。数据字典在信息系统开发中具有十分重要的意义,不仅在系统分析阶段,而且在整个开发过程中以及今后的系统运行中都要使用它。
        数据字典可以用人工方式建立。事先印好表格,填好后按一定顺序排列,就是一本字典。也可以建立在计算机内,数据字典实际上是关于数据的数据库,这样使用、维护都比较方便。编写数据字典是系统开发的一项重要的基础工作。一旦建立,并按编号排序之后,就是一本可供查阅的关于数据的字典,从系统分析一直到系统设计和实施都要使用它。在数据字典的建立、修正和补充过程中,始终要注意保证数据的一致性和完整性。
        (1)数据字典的条目。
        数据字典中有6类条目:数据项、数据结构、数据流、数据存储、处理过程和外部实体。不同类型的条目有不同的属性,现分别说明如下:
        ①数据项又被称为数据元素,是系统中最基本的数据组成单位,也就是不可再分的数据单位,如学号、姓名、成绩等。一般分析数据特性应从静态和动态两个方面去进行。但在数据字典中,仅定义数据的静态特性,具体包括:
        .数据项的名称。名称要尽量反映该元素的含义,便于理解和记忆。
        .编号。一般由字母和数字组成。
        .别名。一个数据元素,可能其名称不止一个;若有多个名称,则须加以说明。
        .简述。有时候名称仍然不能很确切地反映元素的含义,则可以给该数据项加一些描述信息。
        .数据项的取值范围和取值的含义。指数据元素可能取什么值或每一个值代表的意思。
        数据项的取值可分为离散型和连续型两类。如人的年龄是连续型的,取值范围可定义为0~150岁。而“婚姻状况”取值范围是“未婚、已婚、离异、丧偶”,是离散型的。
        一个数据项是离散的,还是连续的,视具体需要而定。例如在一般情况下,我们用岁数表示一个人的年龄,是连续的。但有时,我们只要用“幼年、少年、青年、壮年、老年”表示,或者区分为成年、未成年即可,这时年龄便是离散型的。
        .数据项的长度。指出该数据项由几个数字或字母组成。如学号,按某校的编法由7个数字组成,其长度就是7个字节。
        .数据类型。说明取值是字符型还是数字型等。
        下表就是数据项条目的一个例子。数据字典中对“职工姓名”数据项的描述。
        
        一个数据项的例子
        ②数据结构数据结构描述某些数据项之间的关系。一个数据结构可以由若干个数据项组成;也可以由若干个数据结构组成,还可以由若干个数据项和数据结构组成。在数据字典中对其定义包括:名称;编号;简述;数据结构的组成。例如下表所示订货单就是由三个数据结构组成的数据结构,表中用DS表示数据结构,用I表示数据项。
        
        一个的数据结构的例子
        如果是一个简单的数据结构,只要列出它所包含的数据项。如果是一个嵌套的数据结构(即数据结构中包含数据结构),则需列出它所包含的数据结构的名称,因为这些被包含的数据结构在数据字典的其他部分已有定义,见下表。
        
        用户订货单的数据结构
        ③数据流数据流由一个或一组固定的数据项组成。定义数据流时,不仅要说明数据流的名称、组成等,还应指明它的来源、去向和数据流量等。在数据字典中数据流的属性包括:
        .名称。名称含义应尽量便于理解和记忆。
        .编号。一般由字母和数字组成。
        .简述。对该数据流的补充说明。
        .数据流的来源。数据流可以来自某个外部实体、数据存储或某个处理。
        .数据流的去向。某些数据流的去处可能不止一个,若有多个去处,则都需要进行说明。
        .数据流的组成。指数据流所包含的数据结构。一个数据流可包含一个或多个数据结构。若只含一个数据结构,应注意名称的统一,以免产生二义性。
        .数据流的流通量。指单位时间(每日,每小时等)里的数据传输次数。可以估计平均数或最高、最低流量各是多少。
        .高峰期流通量。
        下表是一个数据流的例子。
        
        一个数据流的例子
        ④处理逻辑的定义处理逻辑的定义仅对数据流程图中最底层的处理逻辑加以说明。在数据字典中对其定义包括:处理逻辑名称;编号;简述;输入;处理过程;输出;处理频率,如下表所示。
        
        一个处理逻辑的例子
        ⑤数据存储数据存储在数据字典中只描述数据的逻辑存储结构,而不涉及它的物理组织。在数据字典中对其定义包括:数据存储的编号;名称;简述;组成;关键字;相关的处理。下表给出了一个数据存储定义的例子。
        
        一个数据存储定义的例子
        ⑥外部实体定义外部实体是数据的来源和去向。因此,在数据字典中关于外部实体的条目,主要说明外部实体产生的数据流和传给该外部实体的数据流,以及该外部实体的数量。外部实体的数量对于估计系统的业务量有参考作用,尤其是关系密切的主要外部实体。在数据字典中对外部实体的定义包括:外部实体编号;外部实体名称;简述;输入的数据流;输出的数据流。下表给出了一个外部实体定义的例子。
        
        一个外部实体定义的例子
        (2)数据字典的作用。
        数据字典实际上是“关于系统数据的数据库”。在整个系统开发过程以及系统运行后的维护阶段,数据字典都是必不可少的工具。数据字典是所有人员工作的依据、统一的标准。它可以确保数据在系统中的完整性和一致性。具体地讲,数据字典有以下作用:
        ①按各种要求列表。可以根据数据字典,把所有数据元素、数据结构、数据流、数据存储、处理逻辑、外部实体,按一定的顺序全部列出,保证系统设计时不会遗漏。
        如果系统分析员要对某个数据存储的结构进行深入分析,需要了解有关的细节,了解数据结构的组成乃至每个数据元素的属性,数据字典也可提供相应的内容。
        ②相互参照,便于系统修改。根据初步的数据流图,建立相应的数据字典。在系统分析过程中,常会发现原来的数据流图及各种数据定义中有错误或遗漏,需要修改或补充。有了数据字典,这种修改就变得容易多了。
        例如,在某个库存管理系统中,“商品库存”这个数据存储的结构是:商品编号、商品名、规格、当前库存量。一般来讲,考虑能否满足用户订货,这些数据项就够了。但如果要求库存数量不能少于“安全库存量”,则这些数据项是不够的。这时,在这个结构中就要增加“安全库存量”这个数据项。以前,只要“顾客订货量小于或等于当前库存量”,就认为可以满足用户订货;现在则只有“顾客订货量小于或等于当前库存量且当前库存量大于或等于安全库存量”时才能满足顾客订货。有了数据字典,这个修改就容易了。因为在该数据存储的条目中,记录了有关的数据流,由此可以找到因数据存储的改动而可能影响到的处理逻辑,不至于遗漏而造成不一致。
        ③由描述内容检索名称。对于一个稍微复杂的系统,数据字典的量是相当大的,有时候系统分析员可能没有把握断定某个数据项在数据字典中是否已经定义,或者记不清楚其确切名字,这时可以通过内容查找其名称,就像根据书的内容查询图书的名字一样。
        ④一致性检验和完整性检验。根据各类条目的规定格式,可以检验一下一些问题。
        .是否存在没有指明来源或去向的数据流。
        .是否存在没有指明数据存储或所属数据流的数据元素。
        .处理逻辑与输入的数据元素是否匹配。
        .是否存在没有输入或输出的数据存储。
        (3)数据字典的编写与管理。
        数据字典的内容是随着数据流图自顶向下,逐层扩展而不断充实的。数据流图的修改与完善,将导致数据字典的修改,这样才能保证数据字典的一致性和完整性。数据字典的编写可以有两种方式:手工编写和计算机辅助编写。
        手工编写的主要工具是笔和卡片,当然可以辅以计算机文字处理手段。这时计算机只是作为手工书写工具来使用,没有处理数据字典的结构、内容和格式的功能。由于数据字典各条目的定义、说明和分解细化主要靠人的知识、经验和判断,手工编写具有较大的灵活性与适应性,也就是说,可以随着系统分析工作的深入和对用户信息需求的了解的细化而不断充实、修正数据字典的内容。但手工编写效率不高、编辑困难、容易出现疏漏与错误,对数据字典的检验、维护与查询、检索、统计、分析都不方便。
        计算机辅助编写数据字典时,计算机以输入的方式接受数据字典各类成分的定义和说明的原始数据,根据规范要求提供编辑、索引、完整性、一致性检查的功能。具有统计、报告、查询功能,可以定义在某些加工中使用、但数据流图上未注明的数据元素。这类计算机辅助工具称为计算机辅助系统工程(Computer-Aided Systems Engineering)工具,或称计算机辅助软件工程(Computer-Aided Software Engineering,CASE)工具。这些CASE工具提供DFD和DD的编制功能,具有图形处理、数据管理和文字编辑的能力,有的还能在系统设计与系统实施阶段提供辅助。
        对于计算机辅助编写数据字典来说,最重要的是建立便于输入、查询与维护的数据库,称之为数据字典库。因此,除了采用商品化的CASE工具软件辅助编写数据字典外,也可采用通用的开发工具和数据库管理系统来创建数据字典库及相应的编辑、查询与检验程序。
        但在开发初期,对于规模不太大的系统,手工编写更方便实惠。
        编写数据字典的基本要求是:
        .对数据流图上各种成分的定义必须明确、唯一、易于理解。命令、编号与数据流图一致,必要时可增加编码,以方便查询、检索、维护和统计报表。
        .符合一致性和完整性的要求,对数据流图上的成分定义与说明没有遗漏。
        .数据字典中无内容重复或内容相互矛盾的条目。
        .数据流图中同类成分的数据字典条目中,无同名异义或异名同义者。
        .格式规范、风格统一、文字精炼,数字与符号正确。
        数据字典的建立,对于系统分析人员、用户或是系统设计人员均有很大好处,他们可以从不同的角度分别从数据字典中得到有关的信息,便于认识整个系统并随时查询系统中的部分信息。随着系统开发工作的不断深入,数据字典所带来的效益也将越来越明显。
        为了保证数据的一致性,数据字典必须由专人(数据管理员)管理。其职责就是维护和管理数据字典,保证数据字典内容的完整一致。任何人(包括系统分析员、系统设计员、程序员)要修改数据字典的内容,都必须通过数据管理员。数据管理员要把数据字典的最新版本及时通知有关人员。
 
       需求分析
        需求分析的方法种类繁多,不过如果按照分解的方式不同,可以很容易地划分出几种大类型:
        (1)结构化分析方法。本节后续内容将详细讨论SA的内容。
        (2)面向对象分析方法。将在10.3节中进行详细介绍。
        (3)面向问题域的分析(Problem Domain Oriented Analysis, PDOA)方法。PDOA更多地强调描述,而少强调建模。它的描述大致分为关注问题域和关注解系统的待求行为这两个方面。问题框架是PDOA的核心元素,是将问题域建模成为一系列相互关联的子域。也可以把问题框架看作是开发上下文图,但不同的是上下文图的建模对象是针对解系统,而问题框架则是针对问题域。也就是说,问题框架的目标就是大量地捕获更多有关问题域的信息。PDOA方法现在还在研究阶段,并未广泛应用。
               业务流程分析
               业务流程分析的目的是了解各个业务流程的过程,明确各个部门之间的业务关系和每个业务处理的意义,为业务流程的合理化改造提供建议,为系统的数据流程变化提供依据。
               业务流程分析的步骤如下:
               (1)通过调查掌握基本情况。
               (2)描述现有业务流程(绘制业务流程图)。
               (3)确认现有业务流程。
               (4)对业务流程进行分析。
               (5)发现问题,提出解决方案。
               (6)提出优化后的业务流程。
               在业务流程图中使用的基本符号如下图所示。
               数据流图
               DFD是结构化分析中的重要方法和工具,是表达系统内数据的流动并通过数据流描述系统功能的一种方法。DFD还可被认为是一个系统模型,在信息系统开发中,一般将它作为需求说明书的组成部分。
               
               业务流程图符号
               DFD从数据传递和加工的角度,利用图形符号通过逐层细分地描述系统内各个部件的功能和数据在它们之间传递的情况,来说明系统所完成的功能。具体来说,DFD的主要作用如下:
               (1)DFD是理解和表达用户需求的工具,是系统分析的手段。由于DFD简明易懂,理解它不需要任何计算机专业知识,因此通过它同客户交流很方便。
               (2)DFD概括地描述了系统的内部逻辑过程,是系统分析结果的表达工具,因而也是系统设计的重要参考资料,是系统设计的起点。
               (3)DFD作为一个存档的文字材料,是进一步修改和充实开发计划的依据。
               在DFD中,通常会出现4种基本符号,分别是数据流、加工、数据存储和外部实体(数据源及数据终点)。数据流是具有名字和流向的数据,在DFD中用标有名字的箭头表示。加工是对数据流的变换,一般用圆圈表示。数据存储是可访问的存储信息,一般用直线段表示。外部实体是位于被建模的系统之外的信息生产者或消费者,是不能由计算机处理的成分,它们分别表明数据处理过程的数据来源及数据去向,用标有名字的方框表示。下图是一个典型的DFD示例。
               
               办理取款手续的DFD
               为了表达数据处理过程中的数据加工情况,用一个DFD是不够的。稍微复杂的实际问题,在DFD中常常出现十几个甚至几十个加工。这样的DFD看起来很不清楚。层次结构的DFD能很好地解决这一问题。按照系统的层次结构进行逐步分解,并以分层的DFD反映这种结构关系,能清楚地表达整个系统。
               下图给出分层DFD的示例。数据处理S包括3个子系统1、2、3。顶层下面的第一层DFD为DFD/L1,第二层的DFD/L2.1、DFD/L2.2及DFD/L2.3分别是子系统1、2和3的细化。对任何一层数据流图来说,它的上层图称为父图,在它下一层的图则称为子图。
               
               分层数据流图
               概括地说,画DFD的基本步骤,就是“自顶向下,逐层分解”。检查和修改的原则如下:
               (1)DFD中的所有图形符号只限于前述4种基本图形元素。
               (2)顶层DFD必须包括前述4种基本元素,缺一不可。
               (3)顶层DFD中的数据流必须封闭在外部实体之间。
               (4)每个加工至少有一个输入数据流和一个输出数据流。
               (5)在DFD中,需按层给加工框编号。编号表明了该加工处在哪一层,以及上下层的父图与子图的对应关系。
               (6)规定任何一个数据流子图必须与它上一层的一个加工对应,两者的输入数据流和输出数据流必须一致。此即父图与子图的平衡。
               (7)可以在DFD中加入物质流,帮助用户理解DFD。
               (8)图上每个元素都必须有名字。
               (9)DFD中不可夹带控制流。
               数据字典
               数据字典是关于数据的信息的集合,也就是对DFD中包含的所有元素的定义的集合。DFD和数据字典共同构成系统的逻辑模型。没有DFD,数据字典难以发挥作用;没有数据字典,DFD就不严格。只有把DFD和对DFD中每个元素的精确定义放在一起,才能共同构成系统的规格说明。
               数据字典的设计包括:数据流设计、数据元素字典设计、数据处理字典设计、数据结构字典设计和数据存储设计。这些设计涵盖了数据的采集和范围的确定等信息。在数据字典的每一个词条中应包含以下信息:名称、别名或编号、分类、描述、何处使用。
               对加工的描述是数据字典的组成内容之一,常用的加工描述方法有结构化语言、判定树及判定表。
               (1)结构化语言:介于自然语言和形式语言之间的一种半形式语言,在自然语言基础之上加了一些限度,使用有限的词汇和有限的语句来描述加工逻辑。结构化语言是受结构化程序设计思想启发而扩展出来的。结构化程序设计只允许3种基本结构。结构化语言也只允许3种基本语句,即简单的祈使语句、判断语句和循环语句。与程序设计语言的差别在于结构化语言没有严格的语法规定,与自然语言的不同在于它只有极其有限的词汇和语句。结构化语言使用3类词汇:祈使句中的动词、数据字典中定义的名词及某些逻辑表达式中的保留字。
               (2)判定树:若一个动作的执行不只依赖一个条件,而与多个条件有关,那么这项策略的表达就比较复杂。如果用结构化语言的判断语句,就有多重嵌套,层次一多,可读性就会下降。用判定树来表示,可以更直观一些。
               (3)判定表:一些条件较多、在每个条件下取值也较多的判定问题,可以用判定表表示。判定表能清晰地表达复杂的条件组合与应做动作之间的对应关系,判定表的优点是能够简洁、无二义性地描述所有的处理规则。但判定表表示的是静态逻辑,是在某种条件取值组合情况下可能的结果,它不能表达加工的顺序,也不能表达循环结构,因此判定表不能成为一种通用的设计工具。
   题号导航      2022年上半年 信息系统项目管理师 上午试卷 综合知识   本试卷我的完整做题情况  
1 /
2 /
3 /
4 /
5 /
6 /
7 /
8 /
9 /
10 /
11 /
12 /
13 /
14 /
15 /
 
16 /
17 /
18 /
19 /
20 /
21 /
22 /
23 /
24 /
25 /
26 /
27 /
28 /
29 /
30 /
 
31 /
32 /
33 /
34 /
35 /
36 /
37 /
38 /
39 /
40 /
41 /
42 /
43 /
44 /
45 /
 
46 /
47 /
48 /
49 /
50 /
51 /
52 /
53 /
54 /
55 /
56 /
57 /
58 /
59 /
60 /
 
61 /
62 /
63 /
64 /
65 /
66 /
67 /
68 /
69 /
70 /
71 /
72 /
73 /
74 /
75 /
 
第9题    在手机中做本题