面向对象软件开发技术试题

合集下载

面向对象程序设计练习题库与答案

面向对象程序设计练习题库与答案

面向对象程序设计练习题库与答案一、单选题(共36题,每题1分,共36分)1.下列关于静态内部类的说法,错误的是()A、静态内部类不能直接访问外部类的非静态成员B、静态内部类只能访问外部类的静态成员C、创建静态内部类的对象时,必须要先创建外部类的对象D、静态内部类,就是使用static关键字修饰的成员内部类正确答案:C2.以下选项中,哪个是FileInputStream的父类()A、FileB、FileOutputC、OutputStreamD、InputStream正确答案:D答案解析:FileInputStream是用来读取文件的字节流,属于InputStream类的子类。

3.下面关于FileInputStream和FileOutputStream的说法中,错误的是()A、FileInputStream是InputStream的子类,它是操作文件的字节输入流B、FileOutputStream是OutputStream的子类,它是操作文件的字节输出流C、如果使用FileOutputStream向一个已存在的文件中写入数据,那么写入的数据会被追加到该文件原先的数据后面D、使用FileInputStream读取文件数据时,必须保证要读取的文件存在并且是可读的正确答案:C答案解析:如果使用FileOutputStream向一个已存在的文件中写入数据,如果构造函数FileOutputStream的参数append的值是true,那么写入的数据才会追加到原先数据之后,否则的话,原先的数据会被清空,然后再写入新的数据。

4.下列关于类的说法中,错误的是()A、Java中创建类的关键字是class。

B、类中可以有属性与方法,属性用于描述对象的特征,方法用于描述对象的行为。

C、Java中对象的创建,首先需要定义出一个类。

D、一个类只能创建一个对象。

正确答案:D答案解析:类是对象的模板,对象是类的实例,一个类是可以创建多个对象的。

面向对象考试题目和答案

面向对象考试题目和答案

面向对象考试题目和答案一、单项选择题(每题2分,共20分)1. 面向对象程序设计中,对象的状态由()来表示。

A. 属性B. 方法C. 消息D. 类答案:A2. 在面向对象程序设计中,封装的目的是()。

A. 隐藏对象的属性B. 隐藏对象的方法C. 隐藏对象的实现细节D. 隐藏对象的消息答案:C3. 面向对象程序设计中,继承的主要优点是()。

A. 重用代码B. 减少代码量C. 提高程序的可读性D. 所有以上选项答案:D4. 在面向对象程序设计中,多态性是指()。

A. 一个对象可以有多个类B. 一个类可以有多个对象C. 一个消息可以有多个行为D. 一个类可以有多个属性答案:C5. 在面向对象程序设计中,以下哪个不是类的组成部分()。

A. 属性B. 方法D. 函数答案:D6. 在面向对象程序设计中,以下哪个概念不是面向对象的核心概念()。

A. 封装B. 继承C. 多态D. 过程答案:D7. 在面向对象程序设计中,以下哪个概念是面向对象的核心概念之一()。

A. 函数B. 过程C. 消息D. 抽象8. 在面向对象程序设计中,以下哪个不是类的成员()。

A. 属性B. 方法C. 函数D. 消息答案:C9. 在面向对象程序设计中,以下哪个不是类的属性()。

A. 私有属性B. 保护属性C. 公共属性D. 全局属性答案:D10. 在面向对象程序设计中,以下哪个不是类的访问修饰符()。

B. 保护C. 公共D. 静态答案:D二、多项选择题(每题3分,共15分)1. 面向对象程序设计中,以下哪些是类的属性()。

A. 私有属性B. 保护属性C. 公共属性D. 全局属性答案:ABC2. 面向对象程序设计中,以下哪些是类的成员()。

A. 属性C. 函数D. 消息答案:ABD3. 面向对象程序设计中,以下哪些是类的访问修饰符()。

A. 私有B. 保护C. 公共D. 静态答案:ABC4. 面向对象程序设计中,以下哪些是面向对象的核心概念()。

面向对象测试题及答案

面向对象测试题及答案

面向对象测试题及答案一、选择题(每题2分,共20分)1. 面向对象编程(OOP)的核心概念不包括以下哪一项?A. 类B. 继承C. 多态D. 过程2. 在Java中,以下哪个关键字用于定义类?A. classB. typeC. structD. interface3. 下列哪个选项不是Java中访问控制的关键字?A. publicB. privateC. protectedD. global4. 封装是面向对象编程的一个重要特性,它主要指的是:A. 将数据和操作数据的方法组合在一起B. 将所有数据都设为公开访问C. 只允许通过特定的方法访问数据D. 将数据和方法分离5. 在Java中,以下哪个不是构造方法的特点?A. 与类名相同B. 没有返回类型C. 可以重载D. 可以被继承6. 继承在面向对象编程中允许:A. 一个类只能继承一个类B. 一个类可以继承多个类C. 一个类可以继承多个接口D. 一个类可以同时继承多个类和接口7. 接口在Java中的主要作用是:A. 定义类B. 实现多继承C. 定义方法的实现D. 定义方法的签名8. 以下哪个是Java中实现多态的方式?A. 继承B. 接口C. 重载D. 重写9. 抽象类在Java中不能:A. 被实例化B. 包含抽象方法C. 包含具体方法D. 被继承10. 下列哪个不是Java集合框架中接口?A. ListB. SetC. MapD. Array二、简答题(每题5分,共30分)1. 简述面向对象编程的三大特性。

2. 解释什么是多态,并给出一个Java中多态的例子。

3. 什么是封装?封装在Java中是如何实现的?4. 什么是接口?接口和抽象类有什么区别?5. 什么是构造方法?构造方法的作用是什么?6. 什么是继承?继承在Java中是如何实现的?三、编程题(每题25分,共50分)1. 编写一个Java程序,定义一个名为`Car`的类,包含以下属性和方法:- 属性:品牌(String类型),颜色(String类型),速度(int 类型)- 方法:启动汽车(startCar),加速(accelerate),减速(decelerate)2. 在上述`Car`类的基础上,创建一个名为`ElectricCar`的子类,继承`Car`类,并添加一个额外的属性:电池电量(int类型),并重写`startCar`方法以显示电动汽车启动的信息。

java面向对象试卷及答案汇总

java面向对象试卷及答案汇总

java面向对象程序设计系班级姓名成绩A.没有区别,这两个结构任何情况下效果一样B.while循环比do…while循环执行效率高C.do…while循环执行次数可能为0D.while循环执行次数可能为06.关于for循环和while循环的说法哪个正确?()A.while循环先判断后执行,for循环先执行后判断。

B.while循环判断条件一般是程序结果,for循环的判断条件一般是非程序结果C.两种循环任何时候都不可以替换D.两种循环结构中都必须有循环体,循环体不能为空7.下列修饰符中与访问控制无关的是()A.private B.publicC.protected D.final8.方法内的形参:()A.必须定义多个形参B.可以没有C.至少有一个D.只能是简单变量9.throws的作用:()A.表示方法可能会抛出例外B.表示后面是方法的输出量C.方法的标志,每个方法都必须有D.没有意义10.在Java语言中,整型常量123占用的存储字节数是:()A.1B.2C.4 D.811.关于对象成员占用内存的说法哪个正确?()A.同一个类的对象共用同一段内存B、同一个类的对象使用不同的内存段,但静态成员共享相同的内存空间C.对象的方法不占用内存D.以上都不对12.return语句:()A.只能让方法返回数值B.方法都必须含有C.方法中可以有多句return D.不能用来返回对象13.下列说法哪个正确?()A、一个程序可以包含多个源文件B、一个源文件中只能有一个类C、一个源文件中可以有多个公共类D、一个源文件只能供一个程序使用14.关于方法main()的说法哪个正确?()A.方法main()只能放在公共类中B.main()的头定义可以根据情况任意更改C.一个类中可以没有main()方法D.所有对象的创建都必须放在main()方法中15.构造函数何时被调用?()A、创建对象时B、类定义时C、使用对象的方法时D、使用对象的属性时16.抽象方法:()A、可以有方法体B、可以出现在非抽象类中C、是没有方法体的方法D、抽象类中的方法都是抽象方法17.关于继承的说法正确的是:()A、子类将继承父类所有的属性和方法。

java面向对象编程练习题及答案

java面向对象编程练习题及答案

java面向对象编程练习题及答案一、选择题1. 在Java中,以下哪个关键字用于定义类?A. structB. classC. interfaceD. enum2. Java中的继承是:A. 多重继承B. 单一继承C. 无继承D. 可选继承3. 以下哪个是Java中的访问修饰符?A. publicB. privateC. protectedD. 所有选项都是4. 以下哪个不是Java对象的三个基本特征?A. 封装B. 继承C. 多态D. 线程5. 以下哪个方法用于获取对象的内存地址?A. hashCode()B. equals()C. getClass()D. toString()二、简答题1. 解释Java中的封装是什么,并给出一个封装的例子。

2. 描述Java中的继承是如何工作的,并给出一个继承的例子。

3. 解释Java中的多态性,并给出一个多态性的例子。

三、编程题1. 创建一个名为`Car`的类,它具有以下属性:- 品牌(String)- 型号(String)- 年份(int)并为这些属性提供getter和setter方法。

2. 创建一个名为`ElectricCar`的类,它继承自`Car`类,并添加以下属性:- 电池电量(int)实现`ElectricCar`类,并重写`toString()`方法,以显示电动汽车的详细信息。

3. 创建一个名为`VehicleTest`的类,它包含`main`方法。

在`main`方法中,创建`Car`和`ElectricCar`的实例,并打印它们的状态。

四、代码分析题1. 阅读以下Java代码片段,并解释它的作用:```javapublic class Person {private String name;private int age;public Person(String name, int age) { = name;this.age = age;}public String getName() {return name;}public void setName(String name) { = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}}```2. 阅读以下Java代码片段,并指出可能的错误:```javapublic class Animal {public void speak() {System.out.println("The animal makes a sound");}}public class Dog extends Animal {@Overridepublic void speak() {System.out.println("The dog barks");}}public class Cat extends Animal {@Overridepublic void speak() {System.out.println("The cat meows");}}public class TestAnimals {public static void main(String[] args) {Animal myDog = new Dog();Animal myCat = new Cat();myDog.speak();myCat.speak();}}```五、论述题1. 论述Java面向对象编程中接口与抽象类的区别,并给出使用场景。

java面向对象考试题及答案

java面向对象考试题及答案

java面向对象考试题及答案一、选择题(每题2分,共10分)1. 在Java中,以下哪个关键字用于定义一个类?A. classB. structC. interfaceD. enum答案:A2. 以下哪个选项是Java中类的成员变量?A. 方法B. 构造函数C. 属性D. 包答案:C3. 在Java中,哪个关键字用于实现类的继承?A. extendsB. implementsC. importD. package答案:A4. 在Java中,以下哪个关键字用于定义一个接口?A. classB. structC. interfaceD. enum答案:C5. 在Java中,以下哪个关键字用于定义一个枚举类型?A. classB. structC. enumD. interface答案:C二、填空题(每题2分,共10分)1. 在Java中,一个类可以继承另一个类的______方法。

答案:public2. 当一个类实现了一个接口,它必须提供接口中所有方法的______实现。

答案:具体3. Java中的______关键字用于定义一个包。

答案:package4. 在Java中,______关键字用于声明一个方法,该方法没有返回值。

答案:void5. 在Java中,______关键字用于声明一个方法,该方法返回一个布尔值。

答案:boolean三、简答题(每题5分,共20分)1. 简述Java中构造函数的作用。

答案:构造函数是类的特殊方法,用于在创建对象时初始化对象的状态。

它具有与类同名的名称,并且没有返回类型。

2. 描述Java中接口和抽象类的区别。

答案:接口是完全抽象的,不能包含任何实现细节,而抽象类可以包含实现细节。

接口中的方法默认是public和abstract的,而抽象类可以有非抽象方法。

一个类可以实现多个接口,但只能继承一个抽象类。

3. 什么是Java中的多态性?请举例说明。

答案:多态性是指允许不同类的对象对同一消息做出响应的能力。

2.Java面向对象知识测试 - 含答案

2.Java面向对象知识测试 - 含答案

单选题:(每道题目2分)1:下列有关类、对象和实例的叙述,正确的是哪一项?()A.类就是对象,对象就是类,实例是对象的另一个名称,三者没有差别B.对象是类的抽象,类是对象的具体化,实例是对象的另一个名称C.类是对象的抽象,对象是类的具体化,实例是类的另一个名称D.类是对象的抽象,对象是类的具体化,实例是对象的另一个名称2:类Student中成员变量声明正确的是哪一项? ()A.class Student{name;age;}B.class Student{String name = 1.0;int age = “26”;}C.class Student{String name;int age;}D.class Student{String name,int age;}3:类Student中成员方法声明正确是哪一项?()A:class Student{public show(){}}B:class Student{public void show();}C:class Student{public void show(){}}D:class Student{show(){}}4:类Student中构造方法声明正确的是哪一项? () A:class Student{public Student()}B:class Student{public Student(){}}C:class Student{public void Student(){}}D:class Student{new Student(){}}5:下列哪一项不是面向对象的三大特征之一? ()A:封装B:抽象C:继承D:多态6:下列关于封装说法不正确的是?()A:封装可以提高代码的安全性。

B:封装是指隐藏实现细节,提高公共的访问方式。

C:类或者方法也是封装的一种体现。

D:仅仅private修饰的内容才是封装的体现。

7:下列哪个方法和int sum(int a,int b)是重写方法?() A:public void sum(int a,int b)B:public int sum(int a,int b)C:int sum(int a,int b,int c)D:void sum(int c,int b)8:下列程序的运行结果是:()class Test{private static int x = 10;public void show(int x){x++;System.out.println(x);}public static void main(String[] args){int x = 20; //局部变量覆盖成员变量Test t = new Test();t.show(x);}}A:10B:21C:11D:209:在子类中调用父类中被重写的方法时需要使用哪个关键字?() A.thisB.newC.superD.以上都不是10:如果想一个类不能被子类继承的话,用下列哪个修饰符? () A:staticB:abstractC:privateD:final11:有如下两个类,在main方法中下面哪个做法是错误的?() class Animal{}class Dog extends Animal{}A:Animal a = new Animal();B:Dog d = new Dog();C: Animal a = new Dog();D:Dog d = new Animal();12:下列有关抽象类的叙述正确的是哪项?() A:抽象类中一定含有抽象方法B:抽象类既能被实例化也能被继承C:抽象类的声明必须包含abstract关键字D:抽象类中不能有构造方法13:下列有关接口的叙述错误的是哪项?() A:接口中只能包含抽象方法和常量B:一个类可以实现多个接口C:具体类实现接口时必须实现其中的方法D:接口不能被继承14:下列程序的运行结果是:()class Fu{public int num = 10;}class Zi extends Fu{public int num = 20;}class Testpublic static void main(String[] args) {Fu f = new Zi();System.out.println(f.num);Zi z = (Zi)f;System.out.println(z.num);}}A:10,10B:20,20C:10,20D:20,1015:下列程序的运行结果是:()class Fu{public void show(){System.out.println("fu show");}}class Zi extends Fu{public void show(){System.out.println("zi show");}public void method(){System.out.println("zi method");}}class Test{public static void main(String[] args){Fu f = new Zi();f.method();}}A:fu showB:zi showC:编译报错D:zi method16:关于代码块说法错误的是?()A:静态代码块在类加载的时候执行一次,在创建对象的时候不在执行了。

java面向对象试题及答案

java面向对象试题及答案

java面向对象试题及答案1. 试题一题目:什么是面向对象编程?请简要描述面向对象编程的优势和特点。

答案:面向对象编程(Object-Oriented Programming,简称OOP)是一种编程范式,将程序中的数据和操作数据的方法进行了封装,使得程序更加模块化和易于理解。

面向对象编程的主要特点包括封装、继承和多态。

封装使得数据和对数据的操作集中在一个对象中,可以隐藏内部实现细节,提供公共的接口进行访问,增加了程序的安全性和灵活性。

继承允许新建的类继承已有类的属性和方法,通过扩展和重写已有类的功能,减少了代码的重复性,提高了代码的复用和可维护性。

多态允许不同的对象对相同的消息作出不同的响应,通过接口和抽象类的使用,实现了更加灵活和可扩展的程序设计。

面向对象编程的优势包括了代码的重用性、可维护性、可扩展性和灵活性。

通过封装和继承的应用,可以减少代码重复,提高开发效率,并且通过多态的应用,可以实现程序的灵活性,方便后续的扩展和修改。

2. 试题二题目:什么是类?请简要描述类的特点和组成部分。

答案:类是面向对象编程中的核心概念,是对一类具有相同属性和行为的对象进行抽象和封装的模板。

类是用来创建对象的蓝图,可以通过实例化类来创建对象。

类的特点包括了封装、继承和多态。

类通过封装将属性和方法进行了封装,提供了公共的接口与外部进行交互,隐藏了内部实现细节。

继承允许新建的类继承已有类的属性和方法,在原有基础上进行修改和扩展。

多态允许不同的对象对相同的消息作出不同的响应,实现了程序的灵活性和可扩展性。

类的组成部分包括了属性(Field)和方法(Method)。

属性(也称为成员变量)用于描述对象的状态,可以是基本类型或其他类的对象。

方法用于描述对象的行为,可以是处理属性的操作,也可以是其他业务逻辑的实现。

3. 试题三题目:请简要解释传值和传引用的区别,并用代码示例说明。

答案:传值和传引用是在方法调用时,参数传递的两种方式。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

面向对象软件编程技术试题
(工程硕士)
年级:姓名:成绩:
一、选择填空题(答案写在每题后面的括号内)(每题5分,共50分)
1.在面向对象方法中,对象可看成是属性(数据)以及这些属性上专用操作的封装体。

封装是一种 A 技术,封装的目的是使对象的 B 分离。

类是一组具有相同属性和相同操作的对象的集合,类中的每个对象都是这个类的一个 C 。

类之间共享属性和操作的机制成为 D 。

一个对象通过发送 E 来请求另一对象为其服务。

A:①组装②产品化③固化④信息隐蔽()
B:①定义和实现②设计和测试③设计和实现④分析和定义() C:①例证②用例③实例④例外()
D:①多态性②动态绑定③静态绑定④继承()
E:①调用语句②消息③命令④口令()
2.软件设计的常用方法有SADT方法、Jackson方法、快速原形方法和 OO设计方法等。

其中,Jackson方法是一种面向数据结构的设计方法,其数据结构一般有 A 、 B 、 C 三类,并根据 D 来导出程序结构。

OO方法的核心是 E ,这是提高可维护性的重要措施。

A: ①记录结构②顺序结构③指针④树() B: ①表结构②选择结构③数组④线性表()
C: ①链表结构②列表③重复结构④队列结构()
D:①数据结构②数据间的控制结构③数据流图④图()
E:①结构化②继承性③信息隐藏④对象()
3.面向对象建模通常定义了三种模型,它们分别是对象模型、动态模型和功能模型。

其中, A 模型描述系统中与时间和操作顺序有关的系统特征,表示瞬时的行为上的系统的“控制”特征; B 模型描述了系统中对象的静态结构,以及对象之间的联系; C 模型描述了系统的功能“性质”,它指出了系统应该做什么。

在建立动态模型中,通常先画出 D ,然后再画出 E 。

A:①对象②功能③动态④静态()
B:①对象②时序③动态④实时()
C:①对象②功能③变换④计算()
D:①类图②状态图③事件跟踪图④数据流图()
E:①类图②状态图③事件跟踪图④数据流图()
4.在编制程序时,应采纳的原则之一是 A 。

开发软件时对提高开发人员工作效率至关重要的是 B 。

软件工程中描述生命周期的瀑布模型一般包括计划、 C 、设计、编码、测试、维护等几个阶段,其中设计阶段通常又可依次分成 D 和 E 两步。

A:①不限制goto 语句的使用②减少或取消注解行 ( )
③程序越短越好④程序结构应有助于读者理解
B:①操作系统的资源管理功能②程序开发环境 ( )
③程序人员数量④计算机的并行处理能力
C:①需求分析②需求调查③可行性分④问题定义 ( )
D: ①数据结构设计②总体设计③数据库设计④代码设计 ( )
E: ①方案设计②详细设计③代码设计④菜单设计 ( )
5.软件测试的目的是 A 。

为了提高测试的效率,应该 B 。

用面向对象方法开发的系统测试与其他方法开发的系统测试没有什么不同,在所有开发系统中都是根据规范说明来验证系统设计的正确性。

程序验证应尽可能早地开始。

程序测试步骤是从最底层开始,从 C 、 D 、 E 。

A:①评价软件的质量②发现软件的错误()
③发现数据的错误④证明软件是正确的
B:①随机地选取测试数据②将一切可能的输入数据作为测试数据()
③在完成编码以后制定软件的测试计划④选择发现错误的可能性大的数据作为测试数据
C:①模块测试②综合测试③系统测试④单元测试()
D:①模块测试②综合测试③系统测试④单元测试()
E:①模块测试②综合测试③系统测试④单元测试()
6. 我们认为,瀑布模型的缺欠并不来源于模型本身,而是来源于人们的认识论。

因为人类对复杂的问题的认识是一种循环渐进的过程,而瀑布模型过分强调软件开发的 A 、完整性和 B ,在许多情况下难以作到,特别是在大型软件系统的 C ,用户很难说清楚所要做的全部工作,更谈不上 D 和 E 。

A:①正确性②阶段性③可靠性④合理性()
B:①正确性②可靠性③顺序性④一致性()
C:①设计阶段②实现阶段③分析阶段④功能设计阶段() D:①软件的可使用性②软件的正确性③软件的可靠性④软件易维护性()
E:①软件的可维护性②软件的合理性③软件的完善性④软件健壮性()
7.面向对象的软件工程是采用面向对象的方法、设计技术和实现工具,更接近于工业化生产方式来实施软件生产的全过程,这是因为面向对象的软件工程有利于解决多年来软件工程中所提出的软件的可靠性、安全性、健壮性等问题。

其中: A 是指对软件系统的合理输入,系统能给出正确的结果,并能拒绝对用户的不合理输入; B 是指软件系统对环境的适应性; C 是指软件系统能否在即定的环境下运行并达到所预期的结果。

而面向对象程序设计所追求的主要目标是 D 和 E 。

A:①可靠性②安全性③健壮性④可扩充性⑤易维护性() B:①可靠性②安全性③健壮性④可扩充性⑤易维护性()
C: ①可靠性②安全性③健壮性④可扩充性⑤易维护性()
D: ①提高可扩充性②可再用性③安全性④①和②⑤①和③()
E: ①提高可扩充性②可再用性③易维护性④①和②⑤①和③()
8.设计高质量的软件是软件设计追求的一个重要目标。

其中,可移植性、可维护性、可靠性、效率、可理解性和可使用性等都是评价软件质量的重要方面。

为了提高软件的可移植性,应注意提高软件的 A 。

可维护性通常包括 B 。

通常认为软件维护工作主要包括完善性维护、 C 维护和 D 维护。

其中 E 维护是指当系统万一遇到未预料的情况时,能够按照预定的方式作合适的处理。

A:①使用的方便性②简洁性③可靠性④设备不依赖性 ( )
B:①可用性和可理解性②可修改性、数据独立性和数据一致性 ( )
③可测试性和稳定性④可理解性、可修改性和可测试性
C:①功能性②合理性③正确性④可靠性 ( )
D:①功能性②合法性③适应性④实用性 ( )
E:①可用性②正确性③稳定性④健壮性 ( )
9.软件的易维护性是指理解、更正、改进软件的难易程度。

通常影响软件易维护性的因素有易理解性、易修改性和 A 。

在软件开发过程中往往采取各种措施来提高软件的易维护性。

如采用 B 有助于提高软件的易理解性; C 有助于提高软件的易修改性;利用 D 和 E 有
助于提高软件的开发效率。

A:①易使用性②易恢复性③易替换性④易测试性()
B:①增强健壮性②信息隐藏原则③良好的编程风格④高效的算法()
C:①高效的算法②信息隐藏原则③增强健壮性④身份验证()
D:①好的开发方法②好的开发工具③继承性④模块独立性()
E:①可重用性②用户对象③好的开发环境④模块独立性()
10.目前的软件开发技术和方法远远落后于硬件的发展水平,其主要原因是受两大问题的困扰,一是我们采用的软件开发的 A 和人类 B 一个系统的过程不一致,其二是软件的 C 和 D 不能直接影响问题空间。

解决的途径只有完善软件本身,使软件 E 与问题空间保持一致,以次来改善软件的开发过程。

A:①过程②技术③方法④思路()
B:①分析②设计③实现④认识()
C:①成分②开发技术③实现方法④实现技术()
D:①成分②结构③实现方法④实现技术()
E:①分析模型②设计模型③软件结构④软件空间()
二、简答题(每题4分,共20分)
1.请你从认识论和方法论的角度论述一下,为什么说长久以来,人们在软件开发中发现认识一个系统的过程和方法同我们用于分析、设计和实现一个系统的过程和方法很不一致?在软件设计中,面向对象方法学的出发点和所追求的基本原则是什么?
2.软件工程是按工程化的方法组织和管理软件的生产,自70年代以来,虽已提出过多种软件开发方法和软件开发模型,但使用最广泛的是“瀑布式生命期”模型。

瀑布式生命期把软件开发分为计划、需求分析、设计、编码、测试和维护六个阶段,请你说明每个阶段的主要任务是什么?
3.用面向对象方法开发软件通常需要建立对象模型、动态模型和功能模型,这三种模型从三个不同的,但又密切相关的角度来模拟目标系统。

请你说明每种模型的主要任务是什么?
4.无论采用何种分析方法,它的主要任务就是通过对问题空间的分析、研究,以获得对应用问题的理解。

请你给出几个(三个以上)理由,为什么说“面向对象分析方法”优越于传统的“功能/数据分析方法”?
5.面向对象分析的主要任务是什么?分析工作主要包括哪三项内容?
三、阐述题(每题15分,共30分)
1. 通过对本课程的学习,结合你在软件开发中的经验,阐述在软件开发过程中使用面向对象软件开发的基本思想和方法。

2. 试说明面向对象技术的软件开发方法与传统的软件开发方法的思维方式、分析问题、解决问题有何主要差别?采用面向对象技术的软件开发方法有
何易处?。

相关文档
最新文档