免费智能真题库 > 历年试卷 > 信息系统管理工程师 > 2012年上半年 信息系统管理工程师 上午试卷 综合知识
  第15题      
  知识点:   程序设计基础知识   编码   编码过程   软件设计   维护
  关键词:   编码   软件设计   维护        章/节:   系统实施基础知识       

 
软件设计编码过程中,采取(15)的做法将使软件更加容易理解和维护
 
 
  A.  良好的程序结构,有无文档均可
 
  B.  使用标准或规定之外的语句
 
  C.  良好的程序结构,编写详细正确的文档
 
  D.  尽量减少程序中的注释
 
 
 

 
  第51题    2016年上半年  
   31%
以下与程序设计风格无关的是(51)。
  第51题    2018年上半年  
   19%
优秀代码的特点不包括 ( )。
  第9题    2014年上半年  
   21%
编写源程序时在其中增加注释,是为了( )。
   知识点讲解    
   · 程序设计基础知识    · 编码    · 编码过程    · 软件设计    · 维护
 
       程序设计基础知识
        程序设计即编码(coding),也就是为各个模块编写程序。这是系统实现阶段的核心工作。在系统开发的各个阶段中,编程是最容易的、也是人们已掌握得较好的一项工作。根据结构化方法设计了详细的方案,又有了高级语言,初级程序员都可以参加这一阶段的工作。当然,程序员的水平决定了程序的水平。
               程序设计概述
               (1)程序设计的概念和要求。
               程序设计阶段是系统生命周期中详细设计之后的阶段。系统设计是程序设计工作的先导和前提条件。程序设计的任务是使用选定的语言设计程序,把系统设计阶段所得到的程序设计说明书中对信息处理过程的描述,转换成能在计算机系统运行的源程序。
               程序设计又被称为编码,由程序设计人员承担,编码工作与系统分析设计阶段的工作相比,是相对比较容易的。
               程序设计人员应当仔细阅读系统全部文档,以保证系统设计与系统实施的一致性;深刻理解、熟练掌握并正确运用程序设计语言和软件开发的环境和工具,保证功能的正确实现。
               对程序设计的质量要求如下。
               .程序的正确性。包括正确运用程序设计语言环境和满足系统设计的功能要求。
               .源程序的可读性。便于其他人员能够读懂和维护。
               .较高的效率。程序应较少占用内存而具有较高的运行速度。
               程序设计质量的几个方面常常是有矛盾的,因此应该结合具体情况,权衡处理。
               (2)程序设计的步骤。
               .了解计算机系统的性能和软硬件环境。
               .充分理解系统分析、系统设计的全部文档。
               .根据设计要求和软硬件环境,选定程序设计语言。
               .编写程序代码。
               .程序的检查、编译和调试。
               程序的标准
               对于什么是“好程序”,早期观点与现在有很大不同。早期计算机内存小、速度慢,人们往往把程序的长度和执行速度放在很重要的位置。费尽心机缩短程序长度、减少存储量、提高速度。现在情况有了很大的不同,一般认为好程序应具备下列特点。
               .正常工作。
               .调试代价低。
               .易于维护。
               .易于修改。
               .设计不复杂。
               .运行效率高。
               正常工作是最基本的,一个根本不能够工作的程序当然谈不上“好”,谈执行速度、程序长度等指标也毫无意义;调试代价低,即花在调试上的时间少,这一条是衡量程序好坏,也是衡量程序员水平的一个重要标志;其他要求程序可读性强,易于理解。
               在相当长的一个时期里,人们认为程序是用于给机器执行的而不是给人阅读的。因而程序员中就存在严重的低估编程方法、不注意程序风格的倾向,认为可以随意编写程序,只要结果正确就行了,读这种程序像读“天书”。可读性(readability)是后来提出的新概念,它主张程序应使人们易于阅读,编程的目标是编出逻辑上正确而又易于阅读的程序。程序可读性好,自然易于理解、易于维护,并将大大降低隐含错误的可能性,从而提高程序的可靠性。
               要使程序的可读性好,程序员应有一定的写作能力。他应能写出结构良好、层次分明、思路清晰的文章。有人说:“对于程序员来说,最重要的不是学习程序设计语言等,而是英语(日语、汉语)”。程序员在写程序时应该记往:程序不仅是给计算机执行的,也是供人阅读的。
               要使程序可读性好,总的要求是使程序简单、清晰。人们总结了使程序简单、清晰的种种技巧和方法,包括的内容如下。
               .用结构化方法进行详细设计。
               .程序中包含说明性材料。
               .良好的程序书写格式。
               .良好的编程风格。
               程序设计语言的特性与选择
               程序设计语言是程序设计人员用以求解问题的工具,程序设计人员必须适应特定的程序设计语言的限制。程序设计语言的特性表现为其心理特性、技术特性及工程特性。
               程序的实现最终要靠人来完成,因此人的因素对程序的实现质量有很大的影响。语言的心理特性,主要表现在编写程序时对人的影响,包括对程序代码的理解等。它在语言中表现为以下几个方面:
               (1)歧义性。
               程序设计语言总是以一种确定的方式对源程序的语句进行解释,但程序员可能对其有不同的理解,形成歧义性。歧义影响程序的可读性,容易产生错误。
               (2)简洁性。
               是指在用某种程序设计语言编写程序时,人脑必须记忆的关于程序的信息量,用来表示简洁性的属性有:该语言是否便于构造逻辑块及结构化程序,有多少种关键字及缩写;有多少数据类型及默认说明;有多少个算术运算符及逻辑运算符:有多少内部函数。简洁性影响程序的理解性、可读性。
               (3)局部性与顺序性。
               人的记忆能力通常分为综合和顺序两类,综合是指把事物作为一个整体记忆及识别的能力,顺序能力是指预知序列中下一个元素的能力。
               局部性是指程序设计语言的综合特性。当语句可以组合成程序块时,当结构化构造可以直接实现时,以及编写出的程序表现出高度的模块化及内聚时,局部性就比较显著。如果语言提供不连续的处理,就要降低局部性。顺序性是指一种心理特性,它会影响到软件的维护工作。当遇到逻辑操作的线性序列时,人们易于理解,而很多的分支或多个循环就违反了处理的顺序性。
               (4)传统性。
               对某种语言的依赖,影响程序员学习新语言的积极性。
               从软件工程的观点来看,程序设计语言特性的表现形式包括如下内容。
               (1)是否易于把设计转换为程序,从理论上说,根据系统设计说明去编写程序,其过程应该是明确的。把设计变成程序的难易程度实际上反映了程序设计语言与设计说明相接近的程度。如果该语言能直接实现结构化程序构造,能直接实现复杂的数据结构,能直接实现特殊的输入输出处理、位操作及字符串操作,就能很方便地把设计转换成源程序。
               (2)编译效率,程序设计语言的编译器的性能决定了目标代码的运行效率,如果对软件性能要求较高,则配有优化编译器的程序设计语言是很有吸引力的。
               (3)可移植性,可移植性是程序设计语言的一种特性,它的含义是,当源程序从一个处理器转换到另一个处理器,或者从一个编译器转换到另一个编译器时,源程序本身不需修改或仅需少量修改。
               (4)是否有开发工具,使用开发工具,可以缩短编写源程序的时间,可以改进源程序的质量。这些工具可能包括排错编译器、源程序格式编排功能、内部编辑功能,用于源程序控制的工具,各种应用领域中的详尽的子程序库等。
               (5)源程序的可维护性,设计文档是理解软件的基础,但还必须读懂源程序,才能根据设计的改动去修改源程序。是否易于从设计转变为源程序和语言本身的某些规定,是可维护性的两个主要因素。
               语言的技术特性对系统开发的各个阶段都有一定的影响。确定系统需求后,要根据项目的特性选择相应特性的语言,有的要求提供复杂的数据结构,有的要求实时处理强,有的要求能方便地进行数据库的操作。特别是系统设计转化为程序代码时,转化的质量往往受语言性能的影响可能还会影响到设计方法。
               为一个特定的设计课题选用程序设计语言时,必须从心理特性、工程特性及技术特性几个方面加以考虑。从所要解决的课题出发确定对语言的要求,并确定这些要求的相对重要性。既然一种语言不可能同时满足多个要求,那么就应该分别对各个要求进行衡量,比较各种可用语言的适用程度。
               选择程序设计语言通常应考虑的因素有,项目的应用领域、系统开发的方法、算法及数据结构的复杂性、系统运行的环境、语言的性能、开发人员的知识及对语言的熟悉程度。
               程序设计风格
               (1)标识符的命名。
               标识符是文件名、变量名、常量名、函数名、程序名、段名和程序标号等用户定义的名字的总称。应注意以下规则。
               .命名规则在程序中前后一致。
               .命名时一定要避开程序设计语言的保留字。
               .尽量避免使用意义容易混淆的标识名。
               (2)程序中的注释。
               ①序言性注释。
               在每个程序或模块的开头的一段说明,起对程序理解的作用,一般包括以下内容:
               .程序的标识、名称和版本号。
               .程序功能描述。
               .接口与截面描述,包括调用及被调用关系、调用形式、参数含义以及相互调用的程序名。
               .输入/输出数据说明,重要变量和参数说明。
               .开发历史,包括原作者、审查者、修改者、编程日期、编译日期、审查日期、修改日期等。
               .与运行环境有关的信息,包括对硬件、软件资源的要求,程序存储与运行方式。
               ②解释性注释。
               一般嵌在程序之中,与要注释的部分匹配。
               进行程序注释应注意以下问题。
               .注释一定要在程序编制中书写。
               .解释性注释不是简单直译程序语句,应能说明“做什么”。
               .一定要保证注释与程序的一致性,程序修改时注释也必须修改。
               (3)程序的布局格式。
               利用空格、空行和缩进等方式改善程序的布局,取得较好的视觉效果。
               (4)数据说明。
               先说明、后引用,应使数据便于理解和维护。
               (5)程序语句的结构。
               一般原则是:语旬简明、直观,直接反映程序设计意图,避免过分追求程序的技巧性,不能为追求效率而忽视程序的简明性、清晰性。应遵守如下规则。
               .每行写一个语句。
               .避免使用复杂的条件判断。
               .尽量减少使用否定的逻辑条件进行测试。
               .尽量减少循环嵌套和逻辑嵌套的层数。
               .应采用空格、括号等符号使复杂表达式的运算次序清晰直观。
               (6)输入和输出。
               输入输出注意以下内容。
               .针对用户的不同对象、特点和要求设计人机交互方式。
               .程序在运行过程中应有表明当前状态的说明信息。
               .交互式输入的请求应有明确的提示。
               .对于输出的方式与格式,允许用户进行选择和应答。
               .应设计完备的错误检测和恢复功能。
               (7)程序的运行效率。
               主要指计算机运行时间和存储空间两个方面,主要注意事项如下。
               .编写程序前应尽量简化算术表达式和逻辑表达式,并尽量用逻辑表达式。
               .尽量选用好的算法。
               .仔细研究循环嵌套,确定语句是否可以移出循环体。
               .尽量避免使用多维数组。
               .尽量避免使用指针和复杂的表。
               .充分利用语言环境提供的函数。
               .使用有良好优化特性的编译程序。
 
       编码
               编码过程
               在给定了软件设计规格说明书后,下一步的工作就是编写代码。一般来说,编码工作可以分为四个步骤:
               (1)确定源程序的标准格式,制订编程规范。
               (2)准备编程环境,包括软硬件平台的选择,包括操作系统、编程语言、集成开发环境等。
               (3)编写代码。
               (4)进行代码审查,以提高编码质量。为提高审查的效率,在代码审查前需要准备一份检查清单,并设定此次审查须找到的bug数量。在审查时,要检查软件规格说明书与编码内容是否一致;代码对硬件和操作系统资源的访问是否正确;中断控制模块是否正确等。
               编码准则
               在嵌入式系统中,由于资源有限,且实时性和可靠性要求较高,因此,在开发嵌入式软件时,要注意对执行时间、存储空间和开发/维护时间这三种资源的使用进行优化。也就是说,代码的执行速度要越快越好,系统占用的存储空间要越小越好,软件开发和维护的时间要越少越好。
               具体来说,在编写代码时,需要做到以下几点:
               .保持函数短小精悍。一个函数应该只实现一个功能,如果函数的代码过于复杂,将多个功能混杂在一起,就很难具备可靠性和可维护性。另外,要限制函数的长度,一般来说,一个函数的长度最好不要超过100行。
               .封装代码。将数据以及对其进行操作的代码封装在一个实体中,其他代码不能直接访问这些数据。例如,全局变量必须在使用该变量的函数或模块内定义。对代码进行封装的结果就是消除了代码之间的依赖性,提高了对象的内聚性,使封装后的代码对其他行为的依赖性较小。
               .消除冗余代码。例如,将一个变量赋给它自己,初始化或设置一个变量后却从不使用它,等等。研究表明,即使是无害的冗余也往往和程序的缺陷高度关联。
               .减少实时代码。实时代码不但容易出错、编写成本较高,而且调试成本可能更高。如果可能,最好将对执行时间要求严格的代码转移到一个单独的任务或者程序段中。
               .编写优雅流畅的代码。
               .遵守代码编写标准并借助检查工具。用自动检验工具寻找缺陷比人工调试便宜,而且能捕捉到通过传统测试检查不到的各种问题。
               编码技术
                      编程规范
                      在嵌入式软件开发过程中,遵守编程规范,养成良好的编程习惯,这是非常重要的,将直接影响到所编写代码的质量。
                      编程规范主要涉及的三方面内容:
                      .命名规则。从编译器的角度,一个合法的变量名由字母、数字和下画线三种字符组成,且第一个字符必须为字母或下画线。但是从程序员的角度,一个好的名字不仅要合法,还要载有足够的信息,做到“见名知意”,并且在语意清晰、不含歧义的前提下,尽可能地简短。
                      .编码格式。在程序布局时,要使用缩进规则,例如变量的定义和可执行语句要缩进一级,当函数的参数过长时,也要缩进。另外,括弧的使用要整齐配对,要善于使用空格和空行来美化代码。例如,在二元运算符与其运算对象之间,要留有空格;在变量定义和代码之间要留有空行;在不同功能的代码段之间也要用空行隔开。
                      .注释的书写。注释的典型内容包括:函数的功能描述;设计过程中的决策,如数据结构和算法的选择;错误的处理方式;复杂代码的设计思想等。在书写注释时要注意,注释的内容应该与相应的代码保持一致,同时要避免不必要的注释,过犹不及。
                      性能优化
                      由于嵌入式系统对实时性的要求较高,因此一般要求对代码的性能进行优化,使代码的执行速度越快越好。以算术运算为例,在编写代码时,需要仔细地选择和使用算术运算符。一般来说,整数的算术运算最快,其次是带有硬件支持的浮点运算,而用软件来实现的浮点运算是非常慢的。因此,在编码时要遵守以下准则:
                      .尽量使用整数(char、short、int和long)的加法和减法。
                      .如果没有硬件支持,尽量避免使用乘法。
                      .尽量避免使用除法。
                      .如果没有硬件支持,尽量避免使用浮点数。
                      下图是一个例子,其中两段代码的功能完全一样,都是对一个结构体数组的各个元素进行初始化,但采用两种不同的方法来实现。下图(a)采用数组下标的方法,在定位第i个数组元素时,需要将i乘以结构体元素的大小,再加上数组的起始地址。下图(b)采用的是指针访问的方法,先把指针fp初始化为数组的起始地址,然后每访问完一个数组元素,就把fp加1,指向下一个元素。在一个奔腾4的PC上,将这两段代码分别重复10 700次,右边这段代码需要1ms,而左边这段代码需要2.13ms。
                      
                      算术运算性能优化的例子
 
       编码过程
        在给定了软件设计规格说明书后,下一步的工作就是编写代码。一般来说,编码工作可以分为四个步骤:
        (1)确定源程序的标准格式,制订编程规范。
        (2)准备编程环境,包括软硬件平台的选择,包括操作系统、编程语言、集成开发环境等。
        (3)编写代码。
        (4)进行代码审查,以提高编码质量。为提高审查的效率,在代码审查前需要准备一份检查清单,并设定此次审查须找到的bug数量。在审查时,要检查软件规格说明书与编码内容是否一致;代码对硬件和操作系统资源的访问是否正确;中断控制模块是否正确等。
 
       软件设计
               软件设计的任务
               在给定系统的需求规格说明书后,需要对软件的结构进行设计,并对设计的过程进行管理。在嵌入式系统的软件设计过程中,需要完成以下一些任务。
                      准备工作计划
                      在软件设计之前,首先要制订详细的工作计划,其内容包括:
                      .过程管理方案:包括软件开发的进度管理、软件规模和所需人年的估算、开发人员的技能培训等;
                      .开发环境的准备方案:包括开发工具的准备、开发设备的准备、测试装备的准备、分布式开发环境下的开发准则等;
                      .软硬件联机调试的方案:联调的起始时间、地点、人员和具体的准备工作;
                      .质量保证方案:包括质量目标计划、质量控制计划等;
                      .配置控制方案:包括配置控制文档的编写、配置控制规则的制订等。
                      确定软件的结构
                      设计软件的各个组成部分,包括:
                      .任务结构的设计:使用操作系统提供的函数,设计出一个最佳的任务结构;
                      .线程的设计;
                      .公共数据结构的设计:在确保系统一致性的基础上,设计出所需的公共数据;
                      .操作系统资源的定义;
                      .类的设计;
                      .模块结构设计:在设计时要充分考虑模块的划分、标准化、可重用和灵活性等;
                      .内存的分配与布局。
                      设计评审
                      对于软件设计的结果,进行一次设计评审,并在必要时对设计进行修正。具体内容包括:
                      .确认每件工作的执行方法是否恰当,其内容是否完善;
                      .确认该设计完成了系统需求规格说明书所要求的功能和服务;
                      .评估任务结构设计、评估类的设计、评估模块结构设计;
                      .对软件设计的结果进行总结,编写出相应的文档。
                      维护工作计划
                      执行软件设计工作控制,在每日、每周和每月的时间粒度上对进度进行控制,确保软件设计能够如期完成。
                      与硬件部门密切合作、相互协调
                      根据工作计划中的安排,定期与硬件部门召开会议,协调各自的进展。如果软件规格说明书发生了变化,立即进行调整,重新进行软件设计。
                      控制工作的结果,把工作记录存档
                      掌握当前的工作进展情况,尽早地发现和分析问题,并采取相应的措施。对各种事件进行跟踪记录,包括:
                      .执行过程控制,跟踪进展情况并定期记录、存档。
                      .执行质量控制,保留质量记录。
                      .记录产品的配置、版本变化、bug的发现和处理等信息。
               软件架构设计
               软件架构也称为软件体系结构,需要考虑如何对系统进行分解,对分解后的组件及其之间的关系进行设计,满足系统的功能和非功能需求。软件架构形成过程如下图所示。
               
               架构的形成过程概要
               软件架构设计需要从用户业务需求、未来应用环境、需求分析、硬件基础、接口输入、数据处理、运算或控制规律、用户使用等方面进行综合、权衡和分析基础上产生。面向某种问题的架构一旦确定就很难改变,随后的架构设计需要通过一系列的迭代开发完善,使得软件架构日趋成熟、稳定。
               软件架构的重要作用也在于控制一个软件系统的使用、成本和风险。好的架构要求是和谐的软件架构,包括与上一级系统架构相互和谐、与系统中同一级的其他组件架构互相和谐,确保系统满足性能、可靠性、安全性、信息安全性和互操作性等方面的关键要求,也具有可扩展、可移植性,从而为一个软件带来长久的生命力。
               在大量开发实践中,有很多广泛使用并被普遍接受的软件架构设计原则,这些原则独立于具体的软件开发方法,主要包括抽象、信息隐藏、强内聚和松耦合、关注点分离等。
               (1)抽象:这是软件架构的核心原则,也是人们认识复杂客观世界的基本方法。抽象的实质是提取主要特征和属性,从具体的事务中通过封装来忽略细节,并且运用这些特征和属性,描述一个具有普遍意义的客观世界。软件架构设计中需要对流程、数据、行为等进行抽象。复杂系统含有多层抽象,从而有多个不同层次架构。
               (2)信息隐藏:包括局部化设计和封装设计。局部化设计就是将一个处理所涉及到的信息和操作尽可能地限制在局部的一个组件中,减少与其他组件的接口。而封装设计是将组件的外部访问形式尽可能简单、统一。
               (3)强内聚和松耦合:强内聚是指软件组件内的特性,即组件内所有处理都高度相关,所有处理组合在一起才能组成一个相对完整的功能。而松耦合是指软件组件之间的特性,软件组件之间应尽量做到没有或极少的直接关系,使其保持相对独立,这样使得未来的修改、复用简单,修改之后带来的影响最小。
               (4)关注点分离:所谓关注点是软件系统中可能会遇到的多变的部分。如为适应不同运行接口条件,需要进行适应性的参数调整和驱动配置。关注点分离设计是将这部分组件设计成为相对独立的部分,使未来的系统容易配置和修改。而核心的部分可以保持一个相对独立的稳定状态。如果功能分配使得单独的关注点组件足够简单,那么就更容易理解和实现。但“展示某些关注点得到满足时,可能会影响到其他方面的关注点,但架构师必须能够说明所有关注点都已得到满足”。
               以上的原则中,删除需求细节或对细节进行抽象是最重要的工作,为用户的需求创建抽象模型,通过抽象将特殊问题映射为更普遍的问题类别,并识别各种模式。
               软件架构设计使用纵向分解和横向分解两种方式。纵向分解就是分层,横向分解就是将每一个层面分成相对独立的部分。经过分解之后,可以将一个完整的问题分解成多个模块来解决。模块是其中可分解、可组装,功能独立、功能高度内聚、之间低耦合的一个组件。
               类似于建筑架构,软件架构也决定了软件产品的好用、易用、可靠、信息安全、可扩展、可重用等特性,好的软件架构也给人完整、明确、清晰等赏心悦目的感觉,具有较长的生命力。
               架构设计是围绕业务需求带来的问题空间到系统解决空间第一个顶层设计方案。按照抽象原则,在这个阶段进行的架构设计关注软件设计环节抽象出来的重要元素,而不是所有的设计元素。在架构设计时将软件这些要素看作是黑盒,架构设计需要满足黑盒的外部功能和非功能需求的目标。一个软件的架构设计首先为软件产品的后续开发过程提供基础,在此基础上可将一个大规模的软件分解为若干子问题和公共子问题。而一般意义的软件设计是软件的底层设计,开发人员需要关注各子问题或要素的进一步分解和实现,是根据架构设计所定义的每个要素的功能、接口,进一步实现要素组件内部的配置、处理和结构。在遵守组件外部属性前提下,考虑实现组件内部的细节及其实现方法。对于其中的公共子问题,形成公共类和工具类,从而可以达到重用的目的。
               一般的软件构架是根据需求自上而下方式来设计,即首先掌握和研究利益相关方的关键需求,基本思路是首先进行系统级的软件架构设计,需要将软件组件与其外部环境属性绑定在一起,关注软件系统与外部环境的交联设计;其次将一个大的系统划分成各组成部分,这些部分可以按照架构设计的不同方法,分为层次或成为模块;之后再开始研究所涉及到的要素,再实现这些要素以及定义这些要素之间的关系。
               在实际工作中,软件构架也可采用自底向上的方法,前提是已经建立了一个成熟稳定的软件架构,也可以称之为“模式”。模式是组织一级设计某一类具体问题的顶层思路,是为了解决共有问题解的方案模板,但并不是一个问题的设计或设计算法。
               模式常常整合在一起使用,提供解决更大、更复杂问题的解决方案,而组成一个解决问题的通用框架。框架往往提供统一平台和开发工具,而且已经高效地利用了已经经过验证的模式、技术和组件。在新软件系统的设计中指定沿用或重用这种架构框架,这时其他重要元素可以在这个架构基础上针对新的需求进行扩展,有时是针对性地进行参数化设计。所以在架构设计中可以借用模式的概念进行设计,采用成熟的先进的设计框架和工具提高开发的效率,保证设计正确性。
               下图所示是针对架构设计中非功能需求的多维度分析,从中可知任何一个因素的变化都会带来对其他因素的影响。实际上软件架构设计属于软件设计过程的一部分,但超越了系统内部的算法和数据结构的详细设计。
               
               架构的多维度分析
               在架构设计阶段,需要定义边界条件、描述系统组织结构、对系统的定量属性进行约束、帮助对模型进行描述并基本构造早期的原型、更准确地描述费用和时间的评估。
               软件设计方法
               在将系统分解为各个组件的过程中,需要采取不同的策略,而每个策略则关注不同的设计概念。根据分解过程中所采用的不同策略,设计方法有基于功能分解的设计方法、基于信息隐藏的设计方法和基于模型驱动开发的设计方法等分类。
               (1)基于功能分解的设计方法。实时结构化分析与设计采用了功能分解,系统被分解为多个函数,并且以数据流或控制流的形式定义函数之间的接口;基于并发任务结构化的设计(Design Approach for Real-Time Systems,DARTS)提供了任务结构化标准,辅助人员确定系统中的并发任务,并指导定义任务接口。
               (2)基于信息隐藏的设计方法。面向对象(Object Oriented,OO)设计方法将数据和数据上操作封装在对象实体中,对象外界不能够直接对对象内部进行访问和操作,只能通过消息间接访问对象,符合人类思维方式,提高软件的扩展性、维护性和重用性。
               (3)基于模型驱动开发的设计方法。通过借助有效的(Model Driven Development,MDD)工具,构建和维护复杂系统的设计模型,直接产生高质量的代码,将开发的重心从编码转移到设计。当前使用较为广泛的MDD工具有IBM公司的Rhapsody。
 
       维护
        维护阶段是软件生存期中时间最长的阶段。软件一旦交付正式投入运行后便进入软件维护阶段。该阶段的关键任务是通过各种必要的维护活动使系统持久地满足用户的需要。每一项维护活动都应该准确地记录下来,作为正式的文档资料加以保存。
   题号导航      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 /
 
第15题    在手机中做本题