软件设计试题软件08A.docx

上传人:b****6 文档编号:12953506 上传时间:2023-06-09 格式:DOCX 页数:11 大小:125.76KB
下载 相关 举报
软件设计试题软件08A.docx_第1页
第1页 / 共11页
软件设计试题软件08A.docx_第2页
第2页 / 共11页
软件设计试题软件08A.docx_第3页
第3页 / 共11页
软件设计试题软件08A.docx_第4页
第4页 / 共11页
软件设计试题软件08A.docx_第5页
第5页 / 共11页
软件设计试题软件08A.docx_第6页
第6页 / 共11页
软件设计试题软件08A.docx_第7页
第7页 / 共11页
软件设计试题软件08A.docx_第8页
第8页 / 共11页
软件设计试题软件08A.docx_第9页
第9页 / 共11页
软件设计试题软件08A.docx_第10页
第10页 / 共11页
软件设计试题软件08A.docx_第11页
第11页 / 共11页
亲,该文档总共11页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

软件设计试题软件08A.docx

《软件设计试题软件08A.docx》由会员分享,可在线阅读,更多相关《软件设计试题软件08A.docx(11页珍藏版)》请在冰点文库上搜索。

软件设计试题软件08A.docx

软件设计试题软件08A

----------------------上---------------------装-----------------订------------------------线---------------------------

咸阳师范学院2009—2010学年度第二学期软件设计与体系结构课程试题(A卷)

课程代码任课教师吴粉侠适用专业软件工程层次本科年级08级

班级学号姓名考试日期试场

---------------------下---------------------装-------------------订-------------------------线---------------------------特别提示:

考试作弊者,不授予学士学位,情节严重者开除学籍;严禁携带手机及其他通讯工具进入考场。

题号

总计

得分

评卷人

咸阳师范学院试题(A卷)首页

一.选择题(答案写在答题框内。

每小题1分,共10分)

题号

1

2

3

4

5

6

7

8

9

10

答案

得分

1.Open-Close原则的含义是一个软件实体()

A.应当对扩展开放,对修改关闭.B.应当对修改开放,对扩展关闭

C.应当对继承开放,对修改关闭D.以上都不对

2.当我们想创建一个具体的对象而又不希望指定具体的类时,可以使用()模式。

A.创建型B.结构型C.行为型D.以上都可以

3.依据设计模式思想,程序开发中应优先使用的是()关系实现复用。

A.委派B.继承C.创建D.以上都不对

4.下列模式中,属于行为模式的是()

A.工厂模式B.观察者C.适配器D.以上都是

5.对象组合的有点表述不当的是()

A.容器类仅能通过被包含对象的接口来对其进行访问。

B.“黑盒”复用,封装性好,因为被包含对象的内部细节对外是不可见。

C.通过获取指向其它的具有相同类型的对象引用,

可以在运行期间动态地定义(对象的)组合

D.造成极其严重的依赖关系。

6.设计模式的两大主题是()

A.系统的维护与开发B.对象组合与类的继承

C.系统架构与系统开发D.系统复用与系统扩展

已知某子系统为外界提供功能服务,但该子系统中存在很多粒度十分小的类,不便被外界系统直接使用,采用(7)设计模式可以定义一个高层接口,这个接口使得这一子系统更加容易使用;当不能采用生成子类的方法进行扩充时,可采用(8)设计模式动态地给一个对象添加一些额外的职责。

7.A.Facade(外观)B.Singleton(单件)

C.Participant(参与者)D.Decorator(装饰)

8.A.Facade(外观)B.Singleton(单件)

C.Participant(参与者)D.Decorator(装饰)

9.关于继承表述错误的是:

()

A.继承是一种通过扩展一个已有对象的实现,从而获得新功能的复用方法。

B.泛化类(超类)可以显式地捕获那些公共的属性和方法。

特殊类(子类)则通过附加属性和方法来进行实现的扩展。

C.破坏了封装性,因为这会将父类的实现细节暴露给子类。

D.继承本质上是“白盒复用”,对父类的修改,不会影响到子类。

10.代理模式包括()角色。

A.接收者、命令接口、具体命令、请求者B.环境、抽象状态、具体状态

C.抽象组件、具体组件、装饰、具体装饰D.抽象主题、实际主题、代理

--------------------上---------------------装-----------------订------------------------线---------------------------

咸阳师范学院2009—2010学年度第二学期软件设计与体系结构课程试题(A卷)

课程代码任课教师吴粉侠适用专业软件工程层次本科年级08级

班级学号姓名考试日期试场

---------------------下---------------------装-------------------订-------------------------线------------------------特别提示:

考试作弊者,不授予学士学位,情节严重者开除学籍;严禁携带手机及其他通讯工具进入考场。

二.填空题(每空1分,共10分)

1.模式中,父类负责定义创建对象的公共接口,子类则负责生成具体的对象。

2.模式包括四种角色:

抽象表达式,终结表达式,非终结符表达式和上下文。

3.模式用原型实例指定创建对象的种类,并且通过拷贝这些原型实例创建新的对象。

4.模式确保某一个类仅有一个实例,并自行实例化并向整个系统提供这个实例。

5.模式将对象组合成树形结构以表示“部分-整体”的层次结构。

使得用户对单个对象和组合对象的使用具有一致性。

6.模式定义了一个高层接口,这个接口使得这一子系统更加容易使用,为子系统中的一组接口提供一个一致的界面。

7.模式运用共享技术有效地支持大量细粒度的对象。

8.模式使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。

9.模式定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。

10.模式定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。

三、名词解释(每题4分,计20分)

1.接口:

2.正确性:

3.行为型设计模式:

4.组件:

5.设计模式:

四、简答题(每题5分,计20分)

1.简述类继承和接口继承的区别?

我们应该尽量使用哪一种?

 

2.请简述设计模式的观点、角色、层次?

 

3.classWebsite

{

Member[]members;//ormaybe:

vectormembers;

voidregister(MemberaMember){...}

}

怎样才能使该设计更灵活的注册新类型的成员?

给出解决方案及类图。

第2页(共5页)

-------------------上---------------------装-----------------订------------------------线---------------------------

咸阳师范学院2009—2010学年度第二学期软件设计与体系结构课程试题(A卷)

课程代码任课教师吴粉侠适用专业软件工程层次本科年级08级

班级学号姓名考试日期试场

---------------下---------------------装-------------------订-------------------------线---------------特别提示:

考试作弊者,不授予学士学位,情节严重者开除学籍;严禁携带手机及其他通讯工具进入考场。

 

4.如何实现委托?

举例说明。

 

五、分析源程序,指出该程序中使用了哪一个设计模式并给出相应类图(每题5分,共10分)

1.

classClient

{

publicClient(){super();}

publicstaticvoidmain(String[]args){Experimentexperiment=Experiment.getTheExperiment();

experiment.analyze();experiment.reportResults();}}

ClassExperiment{

privatestaticfinalExperimenttheExperiment=newExperiment();

Stringresult="Experimentresultnotyetassigned";//resultoftheexperiment

privatestaticintnumTimesReferenced=0;

privateExperiment(){super();}

publicsynchronizedvoidanalyze(){

theExperimentresult="...Theanalysisshowsthattheexperimentwasaresoundingsuccess.....";}

publicstaticExperimentgetTheExperiment()

{//Reportnumberoftimesthissingletonhasbeenaccessed(forcuriosity)

++numTimesReferenced;

System.out.println

("NotingthattheExperimentsingletonreferenced"+numTimesReferenced+"timessofar");

returntheExperiment;}

publicvoidreportResults(){System.out.println(result);}

}

 

2.

publicclassApplication{

privateHandlerbeijing,shanghai,tianjin;

publicvoidcreateChain(){

beijing=newBeijing();shanghai=newShanghai();tianjin=newTianjin();beijing.setNextHandler(shanghai);shanghai.setNextHandler(tianjin);

}

publicvoidreponseClient(Stringnumber){beijing.handleRequest(number);}

publicstaticvoidmain(Stringargs[]){Applicationapplication=newApplication();

application.createChain();application.reponseClient("3339812340930037");

}}

publicinterfaceHandler{

publicabstractvoidhandleRequest(Stringnumber);

publicabstractvoidsetNextHandler(Handlerhandler);

}

importjava.util.ArrayList;

publicclassShanghaiimplementsHandler{

privateHandlerhandler;privateArrayListnumberList;

Shanghai()

{numberList=newArrayList();

numberList.add("2229812340930034");numberList.add("2229812340930035");numberList.add("2229812340930036");numberList.add("2229812340930037");

}

publicvoidhandleRequest(Stringnumber){

if(numberList.contains(number))

System.out.println("该人在上海居住");

else{

System.out.println("该人不在上海居住");

if(handler!

=null)

handler.handleRequest(number);//经请求传递给下一个处理者

}}

第3页(共5页)

-------------------上---------------------装-----------------订------------------------线---------------------------

咸阳师范学院2009—2010学年度第二学期软件设计与体系结构课程试题(A卷)

课程代码任课教师吴粉侠适用专业软件工程层次本科年级08级

班级学号姓名考试日期试场

---------------下---------------------装-------------------订-------------------------线---------------特别提示:

考试作弊者,不授予学士学位,情节严重者开除学籍;严禁携带手机及其他通讯工具进入考场。

publicvoidsetNextHandler(Handlerhandler){this.handler=handler;}

}

importjava.util.ArrayList;

publicclassTianjinimplementsHandler{

privateHandlerhandler;privateArrayListnumberList;

Tianjin(){numberList=newArrayList();

numberList.add("3339812340930034");numberList.add("3339812340930035");

numberList.add("3339812340930036");numberList.add("3339812340930037");

}

 

六、设计题(每题10分,共30分)

1.根据下图及教材内容给出设计类图。

 

 

2.已有如下设计,现在想在不修改原有的设计的前提下,让其中的一只麻雀能连续飞行150米,请结合所学知识给出一个较好的设计方案,给处设计类图:

第4页(共5页)

-------------------上---------------------装-----------------订------------------------线---------------------------

咸阳师范学院2009—2010学年度第二学期软件设计与体系结构课程试题(A卷)

课程代码任课教师吴粉侠适用专业软件工程层次本科年级08级

班级学号姓名考试日期试场

---------------------下---------------------装-------------------订-------------------------------特别提示:

考试作弊者,不授予学士学位,情节严重者开除学籍;严禁携带手机及其他通讯工具进入考场。

3.使用模板方法求解ax2+bx+c=0.的根。

给出设计类图。

 

第5页(共5页)

咸阳师范学院2009—2010学年度第二学期软件工程专业(本科)08级软件设计与体系结构课程试题A

参考答案及评分标准

一.选择题(将答案填在下面表格中的空白处,每题1分,共10分,阴影处学生不得填写答案。

1-5:

AAABD6-10:

DADDD

二、填空题(将正确答案填在题中的空格上,每空1分,共10分)

1.工厂模式2.解释器模式3.原型模式4.单态模式5.组合模式

6.外观模式7.享元模式8.指责链9.观察者模式10.模版模式

三、名词解释(每题4分,计20分)

1.接口:

接口是函数原型的集合(每个接口都有名字、参数类型、返回类型、异常类型),让设计更利于理解。

2.正确性:

每个项目都要满足指定的需求,然后一起满足所有应用程序的需求

3.行为型设计模式:

每个行为模式捕获对象集合的一种行为

4.组件:

无需更改的、有用的软件的集合。

5.设计模式:

设计模式是一种类的联合体以及与之相伴的算法,这些算法能够实现共同的设计目标。

四、简答题(每题5分,计20分)

1.答:

类继承根据一个对象的实现定义了另一个对象的实现。

简而言之,它是代码和表示的共享机制。

然而,接口继承描述了一个对象什么时候能被用来替代另一个对象。

(2分)

类继承是派生中的类将继承父类的所有属性和方法,并且可以在派生类里添加自己的属性和方法,而接口继承则是在接口里只定义接口的方法,没有属性,并且方法不能实现,只有在派生他的类才实现该方法。

(2分)类继承是编译的时候新建对象,而接口实例是在运行时刻创建对象。

我们应该尽量使用接口继承,类继承会产生类爆炸现象(1分)

2.答:

观点—描述模式的方法,1.静态:

类模型(构建块)2.动态:

序列或者状态图(操作);(2分)

层次—模式分解,1.抽象层描述模式核心2.具体(非抽象)层;(2分)

描述用例的特殊性角色——模式使用的“表演者”1.设计模式本身的应用2.设计模式应用客户3.建立初始化和控制代码(1分)

3.答:

解决方案:

引入一个基类,将基类抽象化,根据需要产生继承类(2分)

(类图完成3分)

4.答:

实现委托的通用方法:

通过一个类把功能委托给一个抽抽象类的方法。

通过使用虚函数来实现委托(3分)

clientFunction(…)

{…intermediaryFunction(…)…}

intermediaryFunction(…)

{…requiredFunction()…}---------------------------(2分)

五、分析源程序,指出该程序中使用了哪一个设计模式并给出相应类图(每题5分,共10分)

1.使用了创建模式中的单例设计模式。

(2分)类图如下:

(3分)

 

第1页(共2页)

2.使用了行为设计模式中的职责链设计模式。

(2)

类图如下:

(3)

六、设计题(每题10分,共30分)

1.

评分标准:

1正确画出了所需类(4分)

2选择了适合的设计模式(4分)

3类间关系正确(2分)

2.

评分标准:

1正确画出了所需类(4分)

2选择了适合的设计模式(4分)

3类间关系正确(2分)

3.

评分标准:

1正确画出了所需类(4分)

2选择了适合的设计模式(4分)

3类间关系正确(2分)

第2页(共2页)

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2