免费智能真题库 > 历年试卷 > 系统分析师 > 2009年上半年 系统分析师 上午试卷 综合知识
  第23题      
  知识点:   原型法   操作系统   兼容性   开发人员   人机交互
  关键词:   操作系统   开发   算法   图像        章/节:   软件工程基础知识       

 
某软件公司欲开发一个图像处理系统,在项目初期,开发人员对算法的效率、操作系统兼容性人机交互的形式等情况并不确定。在这种情况下,采用(23)方法比较合适。
 
 
  A.  瀑布式
 
  B.  形式化
 
  C.  协同开发
 
  D.  快速原型
 
 
 

 
  第38题    2020年下半年  
   65%
在软件逆向工程的相关概念中,(38)是指在同一抽象级别上转换系统描述形式。(39)是指在逆向工程所获得信息的基础上,修改或重构已..
  第5题    2010年上半年  
   76%
面向对象设计是模型驱动和用例驱动的,整个设计过程将(4)作为输入,并生成(5)作为输出。
  第25题    2010年上半年  
   74%
净室软件工程是软件开发的一种(24)方法,可以开发较高质量的软件。它使用盒结构规约进行分析和建模,并将(25)作为发现和排除错..
   知识点讲解    
   · 原型法    · 操作系统    · 兼容性    · 开发人员    · 人机交互
 
       原型法
        结构化方法和面向对象方法有一个共同点:在系统开发初期必须明确系统的功能要求,确定系统边界。从工程学角度来看,这是十分自然的,解决问题之前必须明确要解决的问题是什么,然而对于信息系统建设而言,明确问题本身不是一件轻松的事情。
        通常,原型是指模拟某种产品的原始模型。在软件开发中,原型是软件的一个早期可运行的版本,它反映最终系统的部分重要特性。如果在获得一组基本需求说明后,通过快速分析构造出一个小型的软件系统,满足用户的基本要求,使得用户可在试用原型系统的过程中得到亲身感受和受到启发,做出反应和评价,然后开发者根据用户的意见对原型加以改进。随着不断试验、纠错、使用、评价和修改,获得新的原型版本,如此周而复始,逐步减少分析和通信中的误解,弥补不足之处,进一步确定各种需求细节,适应需求的变更,从而提高了最终产品的质量。
               原型的分类
               软件原型是所提出的新产品的部分实现,建立原型的主要目的是为了解决在产品开发的早期阶段的需求不确定的问题,其目的是:明确并完善需求、探索设计选择方案、发展为最终的产品。
               原型有很多种分类方法。从原型是否实现功能来分,软件原型可分为水平原型和垂直原型两种。水平原型也称为行为原型,用来探索预期系统的一些特定行为,并达到细化需求的目的。水平原型通常只是功能的导航,但并未真实实现功能。水平原型主要用在界面上。垂直原型也称为结构化原型,实现了一部分功能。垂直原型主要用在复杂的算法实现上。
               从原型的最终结果来分,软件原型可分为抛弃型原型和演化型原型。抛弃型原型也称为探索型原型,是指达到预期目的后,原型本身被抛弃。抛弃型原型主要用在解决需求不确定性、二义性、不完整性、含糊性等。演化型原型为开发增量式产品提供基础,是螺旋模型的一部分,也是面向对象软件开发过程的一部分。演化型原型主要用在必须易于升级和优化的系统,以适用于Web的项目。
               有些文献把原型分为实验型、探索型和演化型。探索型原型的目的是要弄清对目标系统的要求,确定所希望的特性,并探讨多种方案的可行性。实验型原型用于大规模开发和实现之前,考核方案是否合适,规格说明是否可靠。演化型原型的目的不在于改进规格说明,而是将系统建造得易于变化,在改进原型的过程中,逐步将原型演化成最终系统。
               还有些文献也把原型分为抛弃式原型、演化式原型和递增式原型。
               原型类型的选择
               如果是在需求分析阶段要使用原型化方法,必须从系统结构、逻辑结构、用户特征、应用约束、项目管理和项目环境等多方面来考虑,以决定是否采用原型化方法。
               (1)系统结构:联机事务处理系统,相互关联的应用系统适合于用原型化方法,而批处理、批修改等结构不适宜用原型化方法。
               (2)逻辑结构:有结构的系统,如操作支持系统、管理信息系统、记录管理系统等适于用原型化方法,而基于大量算法的系统不适宜用原型化方法。
               (3)用户特征:不满足于预先做系统定义说明,愿意为定义和修改原型投资,不易肯定详细需求,愿意承担决策的责任,准备积极参与的用户是适合使用原型的用户。
               (4)应用约束:对已经运行系统的补充,不能用原型化方法。
               (5)项目管理:只有项目负责人愿意使用原型化方法,才适于用原型化的方法。
               (6)项目环境:需求说明技术应当根据每个项目的实际环境来选择。
               当系统规模很大、要求复杂、系统服务不清晰时,在需求分析阶段先开发一个系统原型是很值得的。特别是当性能要求比较高时,在系统原型上先做一些试验也是很有必要的。
               原型生存期
               原型的开发和使用过程叫做原型生存期。下图(a)是原型生存期的模型,下图(b)是模型的细化。
               
               原型生存期
               (1)快速分析:在分析者和用户的紧密配合下,快速确定软件系统的基本要求。
               (2)构造原型:在快速分析基础上,根据基本需求,尽快实现一个可运行的系统。构造原型时要注意2个基本原则,即集成原则(尽可能用现有软件和模型来构成,这需要相应的原型工具)和最小系统原则(耗资一般不超过总投资的10%)。
               (3)运行和评价原型:用户在开发者指导下试用原型,在试用的过程中考核、评价原型的特性,分析其运行结果是否满足规格说明的要求,以及规格说明描述是否满足用户的愿望。
               (4)修正和改进:根据修改意见进行修改。如果用修改原型的过程代替快速分析,就形成了原型开发的迭代过程。开发者和用户在一次次的迭代过程中不断将原型完善,以接近系统的最终要求。
               (5)判定原型完成:如果经过修改或改进的原型,达到参与者一致认可,则原型开发的迭代过程可以结束。为此,应判断有关应用的实质是否已经掌握,迭代周期是否可以结束等。判定的结果有两个不同的转向,一是继续迭代验证,另外则是进行详细说明。
               (6)判断原型细部是否说明:判断组成原型的细部是否需要严格地加以说明。原型化方法允许对系统必要成分或不能通过模型进行说明的成分进行严格的和详细的说明。
               (7)原型细部的说明:对于那些不能通过原型说明的所有项目,仍需通过文件加以说明。严格说明的成分要作为原型化方法的模型编入词典。
               (8)判定原型效果:考查用户新加入的需求信息和细部说明信息,看其对模型效果有什么影响?是否会影响模块的有效性?如果模型效果受到影响,甚至导致模型失效,则要进行修正和改进。
               (9)整理原型和提供文档。
               总之,利用原型化技术,可为软件的开发提供一种完整的、灵活的、近似动态的规格说明方法。
               原型开发技术
               通常用于构造原型的一些技术包括可执行规格说明、基于场景的设计、自动程序设计、专用语言、可复用的软件构件、简化假设和面向对象技术等。其中前三种还适用于用户界面的设计。
               (1)可执行规格说明:可执行规格说明是用于需求规格说明的一种自动化技术。可执行规格说明语言可描述系统要“做什么”,但它并不描述系统要“怎样做”。使用这种方法,人们可以直接观察他们用语言规定的任何系统性行为。可执行规格说明包括形式化规格说明、有限状态模型和可执行的数据流图。
               (2)基于场景的设计:一个场景可模拟在系统运行期间用户经历的事件。由于它提供了输入—处理—输出的屏幕格式和有关对话的模型。因此,场景能够给用户显示系统的逼真的视图,使用户得以判断是否符合他的意图。
               (3)自动程序设计:自动程序设计是可执行规格说明的替身,主要是指在程序自动生成环境的支持下,利用计算机实现软件的开发。它可以自动地或半自动地把用户的非过程性问题的规格说明转换为某种高级语言程序。
               (4)专用语言:专用语言是应用领域的模型化语言。在原型开发中使用专用语言,可方便用户和软件开发者在计划中的系统特性方面的交流。
               (5)软件复用技术:软件复用技术可分为两大类:合成技术和生成技术。
               ①合成技术:可复用的软件构件可以是对某一函数、过程、子程序、数据类型、算法等可复用软件成分的抽象,利用这些构件来构造软件系统。用构件合成较大的构件有三种方式:一是连接;二是消息传递和继承;三是管道机制。
               ②生成技术:利用可复用的模式,通过生成程序产生一个新的程序或程序段,产生的程序可以看做是模式的实例。可复用的模式有两种不同的形式:代码模式和规则模式。前者的例子是应用生成器,可复用的代码模式就存在于生成器自身。通过特定的参数替换,生成抽象软件模块的具体实体。后者的例子是变换系统,它通常采用超高级的规格说明语言,形式化地给出软件的需求规格说明,利用程序变换系统(有时要经过一系列的变换),把用超高级规格说明语言编写的程序转化成某种可执行语言的程序。
               (6)简化假设:简化假设是在开发过程中使设计者迅速得到一个简化的系统所做的假设。尽管这些假设可能实际上并不能成立,但它们在原型开发过程中可以使开发者的注意力集中在一些主要的方面。
               (7)面向对象技术:通常是指OO程序设计语言和面向对象的数据库等有关分析与设计技术的综合。使用OO技术,可以把现实世界中已存在的问题与实体,都采用对象去构成,能更好地体现出自然性、模块化、共享特性、并发特性、继承性、封装隐蔽性与可重用性等一系列功能化要求。如果能把OO数据库和OO程序设计语言等技术用于可重用的构件与原型语言,并且在其中体现出一致的“对象模型”本质,那么就有可能去统一“重用构件库”语言与原型化语言等。
               原型法适合于用户需求不明确的场合。它是先根据已知的和分析的需求,建立一个原始模型,这是一个可以修改的模型。在软件开发的各个阶段都把有关信息相互反馈,直至模型的修改,使模型渐趋完善。在这个过程中,用户的参与和决策加强了,缩短了开发周期,降低了开发风险,最终的结果是更适合用户的要求。原型法成败的关键及效率的高低,在于模型的建立及建模的速度。
 
       操作系统
        编写嵌入式软件有两种选择:一是自己编写内核;二是使用现成的操作系统。如果嵌入式软件只需要完成一项非常小的工作,例如在电动玩具、空调中,就不需要一个功能完整的操作系统。但如果系统的规模较大、功能较复杂,那么最好还是使用一个现成的操作系统。可用于嵌入式系统软件开发的操作系统有很多,但关键是如何选择一个适合开发项目的操作系统,可以从以下几点进行考虑:
        (1)操作系统提供的开发工具。有些实时操作系统只支持该系统供应商的开发工具,因此,还必须从操作系统供应商处获得编译器、调试器等;而有的操作系统应用广泛,且有第三方工具可用,因此选择的余地比较大。
        (2)操作系统向硬件接口移植的难度。操作系统到硬件的移植是一个重要的问题,是关系到整个系统能否按期完工的一个关键因素。因此,要选择那些可移植性程度高的操作系统,以避免因移植带来的种种困难。
        (3)操作系统的内存要求,有些操作系统对内存有较大要求。
        (4)操作系统的可剪裁性、实时性能等。
 
       兼容性
        兼容性是指一个系统的硬件或软件与另一个系统或多种操作系统的硬件或软件的兼容能力,是指系统间某些方面具有的并存性,即两个系统之间存在一定程度的通用性。兼容是一个广泛的概念,包括数据和文件的兼容、程序和语言级的兼容、系统程序的兼容、设备的兼容,以及向上兼容和向后兼容等。
        除了上述性能指标之外,还有其他性能指标,如综合性能指标如吞吐率、利用率;定性指标,如保密性、可扩充性;功能特性指标,如文字处理能力、联机事务处理能力、I/O总线特性、网络特性等。
 
       开发人员
        ①多媒体软件:项目负责人、学科教学专家、教学设计专家、软件工程师、多媒体素材制作专家和多媒体课件制作专家。
        ②多媒体电子出版物:策划编导、文字编辑、美术编辑、音乐编辑和多媒体编辑。
 
       人机交互
        人机交互主要研究人和计算机之间的信息交换,主要包括人到计算机和计算机到人的两部分信息交换,是人工智能领域的重要的外围技术。人机交互是与认知心理学、人机工程学、多媒体技术、虚拟现实技术等密切相关的综合学科。传统的人与计算机之间的信息交换主要依靠交互设备进行,主要包括键盘、鼠标、操纵杆、数据服装、眼动跟踪器、位置跟踪器、数据手套、压力笔等输入设备,以及打印机、绘图仪、显示器、头盔式显示器、音箱等输出设备。人机交互技术除了传统的基本交互和图形交互外,还包括语音交互、情感交互、体感交互及脑机交互等技术,以下对后四种与人工智能关联密切的典型交互手段进行介绍。
        (1)语音交互。语音交互是一种高效的交互方式,是人以自然语音或机器合成语音同计算机进行交互的综合性技术,结合了语言学、心理学、工程和计算机技术等领域的知识。语音交互不仅要对语音识别和语音合成进行研究,还要对人在语音通道下的交互机理、行为方式等进行研究。语音交互过程包括四部分:语音采集、语音识别、语义理解和语音合成。语音采集完成音频的录入、采样及编码;语音识别完成语音信息到机器可识别的文本信息的转化;语义理解根据语音识别转换后的文本字符或命令完成相应的操作;语音合成完成文本信息到声音信息的转换。作为人类沟通和获取信息最自然便捷的手段,语音交互比其他交互方式具备更多优势,能为人机交互带来根本性变革,是大数据和认知计算时代未来发展的制高点,具有广阔的发展前景和应用前景。
        (2)情感交互。情感是一种高层次的信息传递,而情感交互是一种交互状态,它在表达功能和信息时传递情感,勾起人们的记忆或内心的情愫。传统的人机交互无法理解和适应人的情绪或心境,缺乏情感理解和表达能力,计算机难以具有类似人一样的智能,也难以通过人机交互做到真正的和谐与自然。情感交互就是要赋予计算机类似于人一样的观察、理解和生成各种情感的能力,最终使计算机像人一样能进行自然、亲切和生动的交互。情感交互已经成为人工智能领域中的热点方向,旨在让人机交互变得更加自然。目前,在情感交互信息的处理方式、情感描述方式、情感数据获取和处理过程、情感表达方式等方面还有诸多技术挑战。
        (3)体感交互。体感交互是个体不需要借助任何复杂的控制系统,以体感技术为基础,直接通过肢体动作与周边数字设备装置和环境进行自然的交互。依照体感方式与原理的不同,体感技术主要分为三类:惯性感测、光学感测以及光学联合感测。体感交互通常由运动追踪、手势识别、运动捕捉、面部表情识别等一系列技术支撑。与其他交互手段相比,体感交互技术无论是硬件还是软件方面都有了较大的提升,交互设备向小型化、便携化、使用方便化等方面发展,大大降低了对用户的约束,使得交互过程更加自然。目前,体感交互在游戏娱乐、医疗辅助与康复、全自动三维建模、辅助购物、眼动仪等领域有了较为广泛的应用。
        (4)脑机交互。脑机交互又称为脑机接口,指不依赖于外围神经和肌肉等神经通道,直接实现大脑与外界信息传递的通路。脑机接口系统检测中枢神经系统活动,并将其转化为人工输出指令,能够替代、修复、增强、补充或者改善中枢神经系统的正常输出,从而改变中枢神经系统与内外环境之间的交互作用。脑机交互通过对神经信号解码,实现脑信号到机器指令的转化,一般包括信号采集、特征提取和命令输出三个模块。从脑电信号采集的角度,一般将脑机接口分为侵入式和非侵入式两大类。除此之外,脑机接口还有其他常见的分类方式:按照信号传输方向可以分为脑到机、机到脑和脑机双向接口;按照信号生成的类型,可分为自发式脑机接口和诱发式脑机接口;按照信号源的不同还可分为基于脑电的脑机接口、基于功能性核磁共振的脑机接口以及基于近红外光谱分析的脑机接口。
   题号导航      2009年上半年 系统分析师 上午试卷 综合知识   本试卷我的完整做题情况  
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 /
 
第23题    在手机中做本题