免费智能真题库 > 历年试卷 > 多媒体应用设计师 > 2021年下半年 多媒体应用设计师 下午试卷 案例
  第1题      
  知识点:   开发过程   程序设计   面向对象的程序   面向对象的程序设计   软件工程   生命周期

 
【说明】
随着多媒体技术的快速发展,多媒体应用软件层出不穷。多媒体软件工程软件工程的思想和方法用于多媒体应用软件的开发过程,可以降低多媒体应用软件开发成本、改进多媒体应用软件质量、提高多媒体应用软件开发效率。采用螺旋式生命周期模型,再配合面向对象的程序设计方式,已经成为开发多媒体应用软件的主流。
 
问题:1.1   (4分)
(1)螺旋式软件生命周期模型有哪些优点?
(2)采用面向对象设计程序应符合哪两个条件?
 
问题:1.2   (6分)
让用户关心并介入应用软件的人机界面设计过程,可以提高用户对人机界面的满意度。
请列举并解释“以用户为中心的设计方法”所包括的要点。
 
问题:1.3   (7分)
界面对话设计应遵循哪7个原则?
 
问题:1.4   (3分)
不少应用软件采用了数据可视化技术,并不断创新数据呈现方式。请回答:为什么要进行数据可视化?
 
 
 

   知识点讲解    
   · 开发过程    · 程序设计    · 面向对象的程序    · 面向对象的程序设计    · 软件工程    · 生命周期
 
       开发过程
        ①多媒体软件:媒体软件的规划、需求分析、故事情节板绘制、脚本编写、软件结构设计、多媒体元素准备、创建动画程序、测试、试运行和运行。
        ②多媒体电子出版物:选题、组织资源、编写多媒体脚本、编辑资源、系统制作与集成、系统的测试与优化、形成产品。
 
       程序设计
               类和继承
               1)类
               一个类是一些属性和方法的封装体,类的定义用关键字class声明,用关键字public、protected、 private指定类的成员的存取控制属性:private(私有)成员只有类内部的方法才能访问,protected(保护)成员派生类和同一文件夹下的类可以访问,public(公有)成员可以从类的外部访问。默认是public。这体现了面向对象的以下指导思想:尽量将类内部的细节隐藏起来,对类的属性的操作应该通过类的方法来进行。
               另外,public还可以用来修饰类,public类能够被其他文件夹下的类访问,非public类只能被同一文件夹下的类访问。一个.java文件中可以包含多个类,会被编译成多个.class文件,但只能有一个public类,而且该类名要和文件名一样。
               2)继承
               Java中用关键字extends表示类间的继承关系。父类的公有属性和方法成为子类的属性和方法,子类如果有和父类的同名、同参数类型的方法,那么子类对象在调用该方法时,调用的是子类的方法,亦即方法的重置。如果想要调用父类的同名方法,需要用super关键字(属性同理)。
               子类的对象可以作为祖先类的对象使用,即所谓类的向上转换,反之则不行。具体表现在:可以用子类对象来对祖先类对象赋值,可以用子类对象作为实参去调用以父类对象为形参的函数。
               对象的引用本质
               Java中的对象实际上是对象的引用,本质上和C语言中的指针是一样的;但也和C语言指针不尽相同,例如,不能自增、自减,不能强制转换成其他类型。
               例如:
               
               构造方法
               构造方法就是类的对象生成时会被调用的方法。每个类至少有一个构造方法(Constructor),也称构造函数。构造方法的名字和类名相同,没有任何返回类型。每个类都有一个默认的构造方法,但当用户自定义了构造方法后,默认的构造函数就不再有效了。
               重载
               同一个类中的两个或两个以上方法,名字相同,而参数个数不同或参数类型不同,称为重载。注意:不能有各方法名字和参数都一样,而仅仅返回值类型不同。
               静态属性和静态方法
               静态属性和静态方法的声明用关键字static实现,一个类的静态属性只有一份,由所有该类的对象共享。不需要创建对象也能访问类的静态属性和方法,访问方式为"类名.静态属性或静态方法",静态方法与对象无关,因此不能在静态方法中访问非静态属性和调用非静态方法。
               this和super关键字
               这两个关键字颇为重要。this代表当前对象,super代表当前对象的父类的东西。
               this主要用途有以下两个。
               (1)一个构造函数调用另一个构造函数,对构造函数的调用必须是第一条语句。
               (2)将对象自身作为参数来调用一个函数。
               super的用途如下:在子类中调用父类的同名方法,或在子类的构造函数中调用父类的构造函数,此时亦必须是第一条语句。
               多态
               所谓多态,是指通过基类对象调用一个基类和派生类都有的方法时,在运行时才能确定到底调用的是基类的方法还是派生类的方法。多态的好处是增加了程序的可扩展性。多态是通过动态联编实现的,即编译时不确定,程序运行时才确定调用哪个函数。
               抽象类与接口
               1)抽象类
               抽象类通过关键字abstract实现,抽象类的目的是定义一个框架,规定某些类必须具有的一些共性。
               包含抽象方法的类一定是抽象类,所谓抽象方法是指没有函数体的方法。
               抽象类的直接派生类必须实现其抽象方法;抽象类只能用于继承,不能创建对象。
               2)接口(Interface)
               接口用关键字interface声明,只能用于继承。注意:此时关键字为implements(实现)。接口用于替代多继承的概念,能实现多继承的部分特点,又避免了多继承的混乱,还能起到规定程序框架的作用。注意:接口也可以用于多态。
               直接继承了接口的类,必须实现接口中的抽象方法;间接的则可以实现,也可以不实现。
               3)抽象类与接口的异同
               接口和抽象类都不能创建对象。
               抽象类不能参与多继承,抽象类可以有非静态的成员变量,可以有非抽象方法;接口可以参与多继承,所有属性都是静态常量,所有方法都是public抽象方法。
               异常处理
               1)异常概念
               异常,即出错,比如0作为除数、找不到类、打开文件错误、数组越界等。异常如果不进行处理,那么程序运行就会结束;如果进行处理,那么会在执行完异常处理代码后继续运行。
               Java中所有异常类均继承自类Exception。
               Java中的异常类层次结构如下:
               
               此外,还有EOFException、 FileNotFoundException、 MalformedURLException等。
               2)捕获异常
               异常处理的典型用法如下,将可能出现异常的代码放在try块中,其后由一个或多个catch捕获相应异常进行处理,注意只执行第一个匹配的catch块,忽略后面的。
               
               如果某个方法中所产生的异常该方法自己没有处理,那么可以在调用该方法的方法中进行处理,如果自己处理了,那么调用它的方法就无法得到该异常。
               3)抛出异常
               异常除了运行中系统产生的之外,也可以主动抛出异常,用关键字throw,如throw new Exception()。注意:throw只能抛出Throwable子类的异常。
               4)带throws关键字的方法
               带throws关键字的方法声明如下:
               
               强制调用该方法的方法必须处理可能发生的异常,或者将异常重新定向。假定方法A带throws关键字,而方法B中调用了方法A,则方法B中必须有处理方法A中可能产生的异常的语句,或者方法B也带throws关键字,指明调用方法B的方法必须处理异常。
               final关键字
               用final关键字定义的常量,在其初始化或第一次赋值后,其值不能被改变。常量必须先有值,然后才能使用。对于常量的第一次赋值只能在构造函数中进行。
               final对象的值不能被改变,指的是该对象不能再指向其他对象,而不是指不能改变当前对象内部的属性值。
               函数参数声明为final后,函数中不能改变其值。
               final方法是不能被重置的方法。
               final类不能被继承,其所有方法都是final的,但属性可以不是final的。
 
       面向对象的程序
        类库是一种预先定义的程序库,可以由开发人员自己扩充。
        类库以程序模块的形式,按照类层次结构把一组类的定义和实现组织在一起。通常,这一组类预先提供的是一些低层功能,这些功能覆盖了传统例程库所提供的功能。
        开发人员可以利用类库中的类,其方式与使用语言中的基本类型完全相同。
 
       面向对象的程序设计
        传统的过程式程序设计随着软件危机和应用系统的不断膨胀越来越显得力不从心,随着20世纪70年代Smalltalk及Modula-2等面向对象的编程语言(Object Oriented Programming Language, OOPL)的出现,以及C++的发展成熟,面向对象程序设计(Object Oriented Programming, OOP)思想得到了广泛的认同和普及。至20世纪90年代,各种程序语言或工具都融入了这一思想,其优越性是有目共睹的,它已成为这一时代软件产业的主体技术。
        在OOP方法中,一个对象即是一个独立存在的实体,对象有各自的属性和行为,彼此以消息进行通信,对象的属性只能通过自己的行为来改变,实现了数据封装,这便是对象的封装性。而相关对象在进行合并分类后,有可能出现共享某些性质,通过抽象后使多种相关对象表现为一定的组织层次,底层次的对象继承其高层次对象的特性,这便是对象的继承性。另外,对象的某一种操作在不同的条件环境下可以实现不同的处理、产生不同的结果:这就是对象的多态性。现有的OOPL中都不同程度地实现了对象的以上三个性质。
               封装性
               一般以类(class)来创建一个对象,类表现为一种数据结构。对外提供的界面包括一组数据以及操作这些数据的方法(函数或过程),而隐藏了内部实现的细节,对象操作者只需要了解该对象的界面即可。这样大大增强了模块化程度,很好地实现了软件重用和信息隐藏。
               为了更好地保持安全性和独立性,类有部分数据可以被定义为私有教据,其他类的对象或过程不能直接访问私有数据,而一般情况下利用消息机制向对象发送消息,对象所有类就需要定义对应的消息响应函数,主动接受消息并做处理,这也是OOPL的一大特点。
               继承性
               类通过继承被定义成不同的层次结构,将相关类的特点抽象出来作为父类,子类继承父类的结构和方法后,再定义各自特定的数据和操作,或者还可以通过重载将父类的某些特殊操作进行重新定义。继承一个单一的父类时叫单继承,如果有两个或两个以上的父类则是多继承。这样做的目的不仅体现了软件重用技术,同时又可最大限度地精简程序、减少冗余代码,极大地提高了程序开发和运行效率。
               多态性
               类的某些操作允许同一名称具有多种语义。OOPL的这些特点使程序员进行面向对象程序设计时与进行过程式的程序设计有很大的不同,体现在以下这些方面。
               .设计程序不采用顺序性的结构,而是采用对象本身的属性与方法来解决问题。
               .在解决问题的过程中,可以直接在对象中设计事件处理程序(接受事件消息),而不用调用子过程严格地按顺序执行,很方便地让用户实现自由无顺序的操作。
               .数据与程序不是分离的,数据是特定对象的数据,也只有对象的函数或过程才能对数据进行处理,一个对象中的函数或过程共享对象的数据,解决了因调用子过程出现大量数据传递的情况(如函数返回值和较多参数)。
               .不用设计公用程序模块,因特定方法下的公用模块很难再被扩展为更复杂的处理方式,只需设计类就可以实现重用,而且类库中提供大量基类,掌握它们后可以加快开发过程,开发小组还可以按自己设想的基类放入类库共享。
               .OOPL非常适合于Windows环境下的程序开发,可以充分利用Windows的各种资源来构造应用程序,这也就需要程序员比较熟悉Windows。
 
       软件工程
        1)软件工程的概念
        为了消除软件危机,通过认真研究解决软件危机的方法,人们认识到软件工程是使计算机软件走向科学的途径,逐渐形成了软件工程的概念,并开辟工程学的新兴领域,即软件工程学。
        2)软件工程的要素
        软件工程具有以下3个要素。
        (1)方法。完成软件工程项目的技术手段。
        (2)工具。支持软件的开发、管理、文档生成。
        (3)过程。将方法和工具综合起来以达到合理、及时地进行计算机软件开发的目的。
        3)软件生命周期
        软件生命周期是指软件产品从考虑其概念开始到该软件产品交付使用,直至最终退役为止的整个过程,包括计划阶段、分析阶段、设计阶段、实现阶段、测试阶段和运行维护阶段。
        4)软件开发模型
        比较经典的软件开发模型有瀑布模型、快速原型模型、演化模型、增量模型、螺旋模型、喷泉模型等。
        5)软件开发方法
        软件开发方法有以下几种。
        (1)结构化软件开发(SASD)方法:采用结构化技术来完成软件开发的各项任务。它把软件生命周期划分成若干个阶段,依次完成每个阶段的任务。它与瀑布模型有很好的结合度,是与其最相适应的软件开发方法。
        (2)面向数据结构的软件开发方法:从目标系统的输入、输出数据结构入手,导出程序框架结构,再补充其他细节,从而可得到完整的程序结构图。有Jackson方法和Warnier方法。
        (3)面向对象的软件开发方法:随着OOP(面向对象编程)向OOD(面向对象设计)和OOA(面向对象分析)的发展,最终形成面向对象的软件开发方法OMT(Object Modelling Technique)。这是一种自底向上和自顶向下相结合的方法,而且它以对象建模为基础,从而不仅考虑了输入、输出数据结构,实际上也包含了所有对象的数据结构。
        (4)基于构件化的开发方法:用预先建立的构件和模板,像"搭积木"一样进行建造。
 
       生命周期
        IT服务生命周期由规划设计(Planning&Design)、部署实施(Implementing)、服务运营(Operation)、持续改进(Improvement)和监督管理(Supervision)5个阶段组成,简称“PIOIS”。
        (1)规划设计:从客户业务战略出发,以需求为中心,参照ITSS对IT服务进行全面系统的战略规划和设计,为IT服务的部署实施做好准备,以确保提供满足客户需求的IT服务。
        (2)部署实施:在规划设计基础上,依据ITSS建立管理体系、部署专用工具及服务解决方案。
        (3)服务运营:根据IT服务部署情况,依据ITSS,采用过程方法,全面管理基础设施、服务流程、人员和业务连续性,实现业务运营与IT服务运营的全面融合。
        (4)持续改进:根据IT服务运营的实际情况,定期评审IT服务满足业务运营的情况,以及IT服务本身存在的缺陷,提出改进策略和方案,并对IT服务进行重新规划设计和部署实施,以提高IT服务质量。
        (5)监督管理:本阶段主要依据ITSS对IT服务质量进行评价,并对IT服务供方的服务过程、交付结果实施监督和绩效评估。
   题号导航      2021年下半年 多媒体应用设计师 下午试卷 案例   本试卷我的完整做题情况  
1 /
2 /
3 /
 
第1题    在手机中做本题