免费智能真题库 > 历年试卷 > 信息系统管理工程师 > 2012年上半年 信息系统管理工程师 上午试卷 综合知识
  第9题      
  知识点:   结构化系统分析与设计方法(Structured System Analysis and Design, SSA&D)   编码   第一个阶段   结构化开发方法   软件系统   硬件
  关键词:   编码   开发方法   软件系统   硬件   开发        章/节:   信息化、信息系统与信息系统开发基本知识       

 
结构化开发方法是将系统开发和运行的全过程划分阶段,确定任务,以保证实施有效。若采用该开发方法,则第一个阶段应为(9)阶段。软件系统编码与实现,以及系统硬件的购置与安装在(10)阶段完成。
 
 
  A.  系统分析
 
  B.  系统规划
 
  C.  系统设计
 
  D.  系统实施
 
 
 

 
  第25题    2011年上半年  
   34%

(25)不是面向对象分析阶段需要完成的。

  第41题    2018年上半年  
   38%
以下关于信息系统开发方法的叙述中,不正确的是( )。
  第19题    2012年上半年  
   50%
(19)是一种面向数据流的开发方法,其基本思想是软件功能的分解和抽象。
   知识点讲解    
   · 结构化系统分析与设计方法(Structured System Analysis and Design, SSA&D)    · 编码    · 第一个阶段    · 结构化开发方法    · 软件系统    · 硬件
 
       结构化系统分析与设计方法(Structured System Analysis and Design, SSA&D)
        SSA&D是在由Dijkstra等人提出的结构化程序设计思想基础上发展起来的。它是一种系统化、结构化和自顶向下的系统开发方法。
        其基本思想是:用系统的思想,系统工程的方法,按用户至上的原则,结构化、模块化、自顶向下对信息系统进行分析与设计。具体来说,就是先将整个信息系统开发过程划分出若干个相对独立的阶段,如系统规划、系统分析、系统设计、系统实施等。在前三个阶段坚持自顶向下地对系统进行结构化划分。在系统调查或理顺管理业务时,应从最顶层的管理业务入手,逐步深入到最基层。在系统分析,提出新系统方案和系统设计时,先考虑系统整体的优化,然后再考虑局部的优化问题。在系统实施阶段,则应坚持自底向上的逐步实施。
        SSA&D有如下特点。
        (1)建立面向用户的观点。强调用户是整个信息系统开发的起源和最终归宿,即用户的参与程度和满意程度是系统成功的关键。
        (2)严格区分工作阶段。强调将整个系统的开发过程分为若干个阶段,每个阶段都有其明确的任务和目标以及预期要达到的阶段成果。一般不可打乱或颠倒。
        (3)结构化、模块化、自顶向下进行开发。在分析问题时,应首先站在整体的角度,将各项具体的业务和组织放到整体中加以考查。自顶向下分析设计:首先确保全局的正确,再一层层地深入考虑和处理局部的问题。
        自底向上进行开发:在具体系统实现过程中,一个模块一个模块地进行开发,调试,然后再由几个模块联调(子系统联调),最后是整个系统联调。
        (4)充分预料可能发生的变化。在系统的分析、设计和实现过程中,都要充分地考虑可能变化的因素。一般可能发生的变化来自于周围环境变化,来自外部的影响:如上级主管部门要的信息发生变化等。系统内部处理模式的变化,如系统内部的组织结构和鼓励体制发生的变化,工艺流程发生变化,系统内部管理形式发生变化等。用户要求发生变化:用户对系统的认识程度不断深化,又提出更高的要求。
        (5)工作文件的标准化和文献化。在系统研制的每一阶段、每一步骤都要有详细的文字资料记载,需要记载的信息是:
        .系统分析过程中的调研材料。
        .同用户交流的情况。
        .设计的每一步方案(甚至包括经分析后淘汰掉的信息和资料)资料要有专人保管,要建立一整套管理、查询制度。
 
       编码
               编码过程
               在给定了软件设计规格说明书后,下一步的工作就是编写代码。一般来说,编码工作可以分为四个步骤:
               (1)确定源程序的标准格式,制订编程规范。
               (2)准备编程环境,包括软硬件平台的选择,包括操作系统、编程语言、集成开发环境等。
               (3)编写代码。
               (4)进行代码审查,以提高编码质量。为提高审查的效率,在代码审查前需要准备一份检查清单,并设定此次审查须找到的bug数量。在审查时,要检查软件规格说明书与编码内容是否一致;代码对硬件和操作系统资源的访问是否正确;中断控制模块是否正确等。
               编码准则
               在嵌入式系统中,由于资源有限,且实时性和可靠性要求较高,因此,在开发嵌入式软件时,要注意对执行时间、存储空间和开发/维护时间这三种资源的使用进行优化。也就是说,代码的执行速度要越快越好,系统占用的存储空间要越小越好,软件开发和维护的时间要越少越好。
               具体来说,在编写代码时,需要做到以下几点:
               .保持函数短小精悍。一个函数应该只实现一个功能,如果函数的代码过于复杂,将多个功能混杂在一起,就很难具备可靠性和可维护性。另外,要限制函数的长度,一般来说,一个函数的长度最好不要超过100行。
               .封装代码。将数据以及对其进行操作的代码封装在一个实体中,其他代码不能直接访问这些数据。例如,全局变量必须在使用该变量的函数或模块内定义。对代码进行封装的结果就是消除了代码之间的依赖性,提高了对象的内聚性,使封装后的代码对其他行为的依赖性较小。
               .消除冗余代码。例如,将一个变量赋给它自己,初始化或设置一个变量后却从不使用它,等等。研究表明,即使是无害的冗余也往往和程序的缺陷高度关联。
               .减少实时代码。实时代码不但容易出错、编写成本较高,而且调试成本可能更高。如果可能,最好将对执行时间要求严格的代码转移到一个单独的任务或者程序段中。
               .编写优雅流畅的代码。
               .遵守代码编写标准并借助检查工具。用自动检验工具寻找缺陷比人工调试便宜,而且能捕捉到通过传统测试检查不到的各种问题。
               编码技术
                      编程规范
                      在嵌入式软件开发过程中,遵守编程规范,养成良好的编程习惯,这是非常重要的,将直接影响到所编写代码的质量。
                      编程规范主要涉及的三方面内容:
                      .命名规则。从编译器的角度,一个合法的变量名由字母、数字和下画线三种字符组成,且第一个字符必须为字母或下画线。但是从程序员的角度,一个好的名字不仅要合法,还要载有足够的信息,做到“见名知意”,并且在语意清晰、不含歧义的前提下,尽可能地简短。
                      .编码格式。在程序布局时,要使用缩进规则,例如变量的定义和可执行语句要缩进一级,当函数的参数过长时,也要缩进。另外,括弧的使用要整齐配对,要善于使用空格和空行来美化代码。例如,在二元运算符与其运算对象之间,要留有空格;在变量定义和代码之间要留有空行;在不同功能的代码段之间也要用空行隔开。
                      .注释的书写。注释的典型内容包括:函数的功能描述;设计过程中的决策,如数据结构和算法的选择;错误的处理方式;复杂代码的设计思想等。在书写注释时要注意,注释的内容应该与相应的代码保持一致,同时要避免不必要的注释,过犹不及。
                      性能优化
                      由于嵌入式系统对实时性的要求较高,因此一般要求对代码的性能进行优化,使代码的执行速度越快越好。以算术运算为例,在编写代码时,需要仔细地选择和使用算术运算符。一般来说,整数的算术运算最快,其次是带有硬件支持的浮点运算,而用软件来实现的浮点运算是非常慢的。因此,在编码时要遵守以下准则:
                      .尽量使用整数(char、short、int和long)的加法和减法。
                      .如果没有硬件支持,尽量避免使用乘法。
                      .尽量避免使用除法。
                      .如果没有硬件支持,尽量避免使用浮点数。
                      下图是一个例子,其中两段代码的功能完全一样,都是对一个结构体数组的各个元素进行初始化,但采用两种不同的方法来实现。下图(a)采用数组下标的方法,在定位第i个数组元素时,需要将i乘以结构体元素的大小,再加上数组的起始地址。下图(b)采用的是指针访问的方法,先把指针fp初始化为数组的起始地址,然后每访问完一个数组元素,就把fp加1,指向下一个元素。在一个奔腾4的PC上,将这两段代码分别重复10 700次,右边这段代码需要1ms,而左边这段代码需要2.13ms。
                      
                      算术运算性能优化的例子
 
       第一个阶段
        第一个阶段主要以数据处理为核心,围绕职能部门需求的信息系统规划,主要的方法包括BSP方法、关键成功因素法(Critical Success Factors, CSF)、战略集合转化法(Strategy Set Transformation, SST)。本节主要介绍CSF和SST方法,有关BSP方法,请阅读8.3.1节。
               关键成功因素法
               关键成功因素指的是对企业成功起关键作用的因素。CSF方法就是通过分析找出企业成功的关键因素,然后再围绕这些关键因素来确定系统的需求,并进行规划。在现行系统中,总存在着多个变量影响系统目标的实现,其中若干个因素是关键的和主要的(即成功变量)。通过对关键成功因素的识别,找出实现目标所需的关键信息集合,从而确定系统开发的优先次序。应用CSF方法大致可以分为确定企业目标、识别关键成功因素、确定关键信息需求三个步骤。
               CSF方法首先通过与高级管理者的交流,了解企业的发展战略及其相关的企业问题,然后识别企业的关键成功因素、定义关键成功因素的性能指标,最后定义企业的数据字典。根据企业的关键成功因素来确定信息资源分配的优先级别,并能够帮助企业利用信息技术发掘新的机遇。由于CSF方法的切入点是高层管理人员,因此,CSF方法的目的是获取关键管理控制的信息需求。
               CSF方法能够直观地引导高级管理者纵观整个企业与信息技术之间的关系,这一方面是CSF方法的优点。但是,在进行较低一层次的信息需求分析时,效率却不是很高。
               关键成功因素的重要性置于企业其他所有目标、策略和目的之上,寻求管理决策阶层所需的信息层级,并指出管理者应特别注意的范围。若能掌握少数几项重要因素(一般关键成功因素有3~6个),便能确保相当的竞争力,它是一组能力的组合。如果企业想要持续成长,就必须对这些少数的关键领域加以管理,否则将无法达到预期的目标。
               关键成功因素有4个主要的来源,分别是个别产业的结构,竞争策略、产业中的地位及地理位置,环境因素,暂时因素。可以通过以下方法来确认关键成功因素:环境分析法、产业结构分析法、产业/企业专家法、竞争分析法、产业领导厂商分析法、企业本体分析法、突发因素分析法、市场策略对获利影响的分析法。
               CSF方法的优点是能够使所开发的系统具有很强的针对性,能够较快地取得收益。应用CSF方法需要注意的是,当关键成功因素解决后,又会出现新的关键成功因素,就必须再重新开发系统。
               战略集合转化法
               SST方法将整个组织的战略目标看成是一个“信息集合”,由使命、目标、战略与其他战略变量(如管理的习惯、改革的复杂性、重要的环境变量约束等等)组成。战略集合转移法提供了一种将信息系统战略规划与组织战略关联起来的方法,将组织战略转化成为信息系统战略。该方法的步骤是首先识别组织的战略集合,然后转化为信息系统战略,包括信息系统的目标、约束、组织及设计原则等等,最后提交整个信息系统的结构。
               三种方法的比较
               CSF方法能抓住主要矛盾,使目标的识别突出重点。用这种方法所确定的目标和传统的方法衔接得比较好,但是一般最有利的只是在确定管理目标上。
               SST方法从另一个角度识别管理目标,它反映了各种人的要求,而且给出了按这种要求的分层,然后转化为信息系统目标的结构化方法。它能保证目标比较全面,疏漏较少,但它在突出重点方面不如前者。
               BSP方法虽然也首先强调目标,但它没有明显的目标引出过程。它通过管理人员酝酿“过程”引出了系统目标,企业目标到系统目标的转换是通过组织/系统、组织/过程以及系统/过程矩阵的分析得到的。这样可以定义出新的系统以支持企业过程,也就把企业的目标转化为系统的目标,所以,识别企业过程是BSP战略规划的中心,绝不能把BSP方法的中心内容当成U/C矩阵。
               可以把这三种方法结合起来使用,把它叫CSB方法即(CSF,SST和BSP结合)。这种方法先用CSF方法确定企业目标,然后用SST方法补充完善企业目标,并将这些目标转化为信息系统目标,用BSP方法校核两个目标,并确定信息系统结构,这样就补充了单个方法的不足。当然这也使得整个方法过于复杂,而削弱了单个方法的灵活性。
 
       结构化开发方法
        结构化方法由结构化分析、结构化设计、结构化程序设计构成,它是一种面向数据流的开发方法。结构化分析是根据分解与抽象的原则,按照系统中数据处理的流程,用数据流图来建立系统的功能模型,从而完成需求分析工作。结构化设计是根据模块独立性准则、软件结构优化准则将数据流图转换为软件的体系结构,用软件结构图来建立系统的物理模型,实现系统的概要设计。结构化程序设计是根据结构程序设计原理,将每个模块的功能用相应的标准控制结构表示出来,从而实现详细设计。
        结构化方法总的指导思想是自顶向下、逐层分解,它的基本原则是功能的分解与抽象。它是软件工程中最早出现的开发方法,特别适合于数据处理领域的问题,但是不适合解决大规模的、特别复杂的项目,且难以适应需求的变化。
 
       软件系统
        网络系统软件包括网络操作系统和网络协议等。网络操作系统是指能够控制和管理网络资源的软件,是由多个系统软件组成,在基本系统上有多种配置和选项可供选择,使得用户可根据不同的需要和设备构成最佳组合的互联网络操作系统。网络协议是保证网络中两台设备之间正确传送数据的约定。
 
       硬件
        硬件是计算机物理设备的总称,也称为硬件设备,通常是电子的、机械的、磁性的或光的元器件或装置,一般分为中央处理器、存储器和输入、输出设备。
   题号导航      2012年上半年 信息系统管理工程师 上午试卷 综合知识   本试卷我的完整做题情况  
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题    在手机中做本题