软件工程模拟题1带答案
软件工程(本)_201906_模拟卷1_答案

华东理工大学网络教育学院(全部答在答题纸上,请写清题号,反面可用。
试卷与答题纸分开交)软件工程(本)_201906_模拟卷1_答案一、判断题(共10题)1.软件维护费用增加的主要原因是软件维护的生产力非常低。
()★标准答案:正确2. 喷泉模型是一种以用户需求为动力,以对象作为驱动的模型。
()( ).★标准答案:正确3. 良好的程序设计风格不仅可以减少编程的错误,而且可以减少阅读程序的时间,从而提高软件的开发效率。
() ( ).★标准答案:正确4.数据字典一般包括数据流、数据项、数据存储和基本加工四类条目。
( )★标准答案:正确5. 使用黑盒法测试程序时,测试人员需要考虑程序的内部结构和处理过程。
()( ).★标准答案:错误6. 模块独立性指每个模块只完成系统要求的独立的子功能,并与其他模块的联系最少且接口简单。
().★标准答案:正确7. 软件维护只需要校正性维护、适应性维护和完善性维护。
().★标准答案:错误8.在数据流图(DFD)中数据流就是控制流。
( ).★标准答案:错误9. 增量模型和瀑布模型之间的本质区别是:瀑布模型属于整体开发模型,而增量模型属于非整体开发模型。
().★标准答案:正确10.等价类划分法并不一定能提供一组完整的测试用例来检查程序的全部功能。
()答案: 正确二、单选题(共10题)1. 软件危机的主要原因是( )A.软件本身特点及开发方法B.对软件的认识不够C.软件生产能力不足D.软件工具落后★标准答案:A2. 面向数据流的设计方法把数据流图(DFD)划分为变换型和___两大类,并提出了对应于这两类结构的分解方法。
A.控制型B.处理型C.事务型D.功能型.★标准答案:C3. ___是指将具有一致数据结构和行为的对象抽象成类。
A.分类性B.继承性C.多态性D.封装性.★标准答案:A4. _______指被测试程序不再机器上运行,而是采用人检测和计算机辅助静态分析的手段对程序进行测试。
软件工程习题及解答1

软件工程第一章习题一、选择题1、软件是计算机系统中与硬件相互依存的另一部分,它是包括( A )、( B )及( C )的完整集合。
其中,( A )是按事先设计的功能和性能要求执行的指令序列。
( B )是使程序能够正确操纵信息的数据结构。
( C )是与程序开发、维护和使用有关的图文材料。
供选择的答案:A~C. ①软件②程序③代码④硬件⑤文档⑥外设⑦数据⑧图表2、开发软件时对提高软件开发人员工作效率至关重要的是( A )。
软件工程中描述生存周期的瀑布模型一般包括计划、( B )、设计、编码、测试、维护等几个阶段,其中设计阶段在管理上又可以依次分成( C )和( D )两步。
供选择的答案:A.①程序开发环境②操作系统的资源管理功能③程序人员数量④计算机的并行处理能力B.①需求分析②需求调查③可行性分析④问题定义C、D.①方案设计②代码设计③概要设计④数据设计⑤运行设计⑥详细设计⑦故障处理设计⑧软件体系结构设计3、从供选择的答案中选出适当字句填入下列关于软件发展过程的叙述中的( )内。
有人将软件的发展过程划分为4个阶段:第一阶段(1950~1950年代末)称为“程序设计的原始时期”,这时既没有( A ),也没有( B ),程序员只能用机器指令编写程序。
第二阶段(1950年代末~1960年代末)称为“基本软件期”。
出现了( A ),并逐渐普及。
随着( B )的发展,编译技术也有较大的发展。
第三阶段(1960年代末~1970年代中期)称为“程序设计方法时代”。
这一时期,与硬件费用下降相反,软件开发费急剧上升。
人们提出了( C )和( D )等程序设计方法,设法降低软件的开发费用。
第四阶段(1970年代中期~现在)称为“软件工程时期”。
软件开发技术不再仅仅是程序设计技术,而是包括了与软件开发的各个阶段,如( E )、( F )、编码、单元测试、综合测试、( G )及其整体有关的各种管理技术。
供选择的答案:A ~ D:①汇编语言②操作系统③虚拟存储器概念④高级语言⑤结构式程序设计⑥数据库概念⑦固件⑧模块化程序设计E ~ G:①使用和维护②兼容性的确认③完整性的确认④设计⑤需求定义⑥图象处理二、简答题1、美国一家公司在1982年计划用FORTRAN语言开发一个在VAX750计算机上运行的应用程序,估计这个程序的长度为10000条FORTRAN指令。
软件工程模拟试题及复习资料

《软件工程模拟试题与参考答案》(一)一、单向选择题(四选一、每小题3分,共18分)1、面向对象()方法是将现实世界的事物以对象的方式(B )到计算机世界的方法。
对应映射反映反射2、盒图也称为(D)或图。
这种表达方式取消了流程线,它强迫程序员以结构化方式思考和解决问题。
0802流程图框图判定表图3、面向数据的设计方法就是根据问题的数据结构定义一组映射,把问题的数据结构转换为问题解的(A)结构。
1001程序数据逻辑物理4、人机界面的风格大致经过了(B)代的演变。
三四五六5、以下不属于白盒测试技术的是(D)1402逻辑覆盖基本路径测试循环覆盖测试等价类划分6、为改正软件系统中潜藏的错误而进行的维护活动称为(A)。
1501纠错性维护适应性维护改善性维护预防性维护二、填空题(每空2分,共18分)1.文档—一种数据媒体和其上所记录的(数据)。
01012.机器语言、汇编语言:依赖于机器,面向(机器)01013.软件有效性,指软件系统的时间和(空间)效率。
01034.软件定义过程可通过软件系统的(可行性研究)和需求分析两个阶段来完成。
01035.软件定义的基本任务是确定软件系统的工程(需求),也就是要搞清“做什么”。
01036.为了使用户需求逐步精细化、完全化、一致化,通常采用(需求建模技术)。
04027.一个软件的深度是指其控制的(层数)。
08018.以详细设计说明书为输入,将该输入用某种程序设计语言翻译成计算机可以理解并最终可运行的代码的过程叫(编码)过程。
13019.软件维护是软件生命周期的(最后)一个阶段。
1501三、判断题(每小题2分,共24分,错误打X、正确打√)1.缺乏有力的方法学的指导和有效的开发工具的支持,这往往是产生软件危机的原因之一。
(√)01022.一个好的开发人员应具备的素质和能力不包括具有良好的书面和口头表达能力。
(X)02063.在用户需求分析时观察用户手工操作过程不是为了模拟手工操作过程,而是为了获取第一手资料,并从中提取出有价值的需求。
国家二级Python(软件工程基础)模拟试卷1(题后含答案及解析)

国家二级Python(软件工程基础)模拟试卷1(题后含答案及解析) 题型有:1. 单项选择题单项选择题1.在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是A.概要设计B.详细设计C.可行性分析D.需求分析正确答案:D 涉及知识点:软件工程基础2.软件工程三要素中不包括A.工具B.过程C.方法D.环境正确答案:D 涉及知识点:软件工程基础3.检查软件产品是否符合需求定义的测试是A.确认测试B.集成测试C.验证测试D.系统测试正确答案:A 涉及知识点:软件工程基础4.软件调试的目的是A.发现错误B.改正错误C.改善软件的性能D.挖掘软件的潜能正确答案:B 涉及知识点:软件工程基础5.以下选项中,不属于软件调试技术的是A.强行排错法B.集成测试法C.回溯法D.原因排除法正确答案:B 涉及知识点:软件工程基础6.软件需求规格说明书的作用不包括A.便于用户、开发人员进行理解和交流B.反映出用户问题的结构,可以作为软件开发工作的基础和依据C.作为确认测试和验收的依据D.只便于开发人员进行需求分析正确答案:D 涉及知识点:软件工程基础7.SQL语言的全称是A.结构化定义语言B.结构化控制语言C.结构化查询语言D.结构化操纵语言正确答案:C 涉及知识点:软件工程基础8.软件测试实施步骤中不包括A.集成测试B.确认测试C.单元测试D.回归测试正确答案:D 涉及知识点:软件工程基础9.软件设计包括软件的结构、数据接口和过程设计,下列选项中属于软件的过程设计的是A.模块间的关系B.系统结构部件转换成软件的过程描述C.软件层次结构D.软件开发过程正确答案:B 涉及知识点:软件工程基础10.为了避免流程图在描述程序逻辑时的灵活性,提出了用方框图来代替传统的程序流程图,这种图的名称是A.PAD图B.N—S图C.结构图D.数据流图正确答案:B 涉及知识点:软件工程基础11.需求分析阶段的任务是确定A.软件开发方法B.软件开发工具C.软件开发费用D.软件系统功能正确答案:D 涉及知识点:软件工程基础12.在软件工程中,白盒测试法可用于测试程序的内部结构。
全国自考(软件工程)模拟试卷1(题后含答案及解析)

全国自考(软件工程)模拟试卷1(题后含答案及解析) 题型有:1. 单项选择题 2. 填空题 3. 简答题 4. 综合应用题单项选择题1.在结构化方法中,软件功能分解应属于软件开发中的哪一阶段( )A.详细设计B.需求分析C.总体设计D.编程调试正确答案:C解析:总体设计阶段的基本任务是把系统的功能需求分配到一个特定的软件体系结构中,这里的分配是指功能的分解。
2.不属于软件项目计划中所包含的内容的是( )A.培训计划B.人员安排C.进度安排D.软件开发标准的选择和制定正确答案:D解析:软件项目计划包含培训计划、进度安排和人员安排等。
3.一个模块的哪项能直接控制该模块的模块数( )A.扇出数B.扇人数C.宽度D.深度正确答案:B解析:一个模块的扇人数是指能直接控制该模块的模块数。
4.软件组装成系统的一种测试技术是( )A.系统测试B.单元测试C.集成测试D.集合测试正确答案:C解析:题目中的选项最具混淆的是集成测试与系统测试。
系统测试是指将已经确认的软件、计算机硬件、外设、网络等其他元素结合在一起,进行信息系统的各种组装测试和确认测试;而集成测试集中于模块组合的功能和软件结构检验。
5.下列关于关联的说法错误的是( )A.一个关联连接n个类目叫做n元关联B.关联是类目中的一种结构关系C.关联用一条连接两个类目的线段表示D.关联不具有方向性正确答案:D解析:关联是有方向的,可以用一个实心三角形来指示关联的方向。
6.当模块中包含复杂的条件组合,下列能够清晰地表达出各种动作之间的对应关系的只有( )A.判定表和判定树B.盒图C.流程图D.关系图正确答案:A解析:如果一个加工的输人数据和输出数据之间的逻辑关系比较复杂,应该用判定表或判定树来描述。
7.在软件总体设计阶段的主要任务不包括( )A.设计软件的模块结构B.定义接口并建立数据结构C.生成概要设计规格说明和组装测试计划D.模块设计正确答案:D解析:选项D属于详细设计的任务。
软件工程模拟试卷和答案

《软件工程》模拟试卷一注意:1.试卷保密,考生不得将试卷带出考场或撕页,否则成绩作废。
请监考老师负责监督。
2.请各位考生注意考试纪律,考试作弊全部成绩以零分计算。
3.本试卷满分100分,答题时间为90分钟。
4.本试卷分为试题卷和答题卷,所有答案必须答在答题卷上,答在试题卷上不给分。
一、【单项选择题】(本大题共15小题,每小题2分,共30分)在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在答题卷相应题号处。
1、在软件开发领域中,“描述了实现概念模型的软件解决方案”的系统模型被称为()。
[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、UML术语中,限定符常被用在()。
[A]依赖关系[B]泛化关系[C]关联关系[D]细化关系7、UML提供的13种图形化工具中,用于概念模型和软件模型静态结构的是()[A]用况图[B]状态图[C]类图[D]活动图8、RUP的迭代、增量式开发规定的4个阶段不包括()。
[A]评审阶段[B]构造阶段[C]移交阶段[D]精化阶段9、根据RUP实现的活动,输入为设计类,活动为实现类,则输出为()。
[A]用况[B]子系统[C]接口[D]构件10、软件评估可分为静态评估和动态评估,其中属于动态评估技术的是()。
[A]评审[B]走查[C]形式化证明[D]软件测试11、黑盒测试技术,又称为()。
[A]功能测试[B]结构测试[C]系统测试[D]集成测试1/1412、若有语句if(A<1and C>0)then B=1/C else B=1/A,选用类似数据A=2,C=1;A=-2,C=1;A=2,C=-1;A=-2,C=-1;得到不同B的值,这种测试策略为()。
软件工程专升本考试模拟题(附答案)

软件工程考试模拟题(附答案)一、单选题(共80题,每题1分,共80分)1、为了提高软件的可维护性,在编码阶段应注意( )A、养成好的程序设计风格B、文档的副作用C、提高模块的独立性D、保存测试用例和数据正确答案:A2、软件的可理解性支持软件的( )。
A、可追踪性B、可移植性C、有效性D、可靠性正确答案:B3、软件可行性研究一般不考虑( )A、是否有足够的人员和相关的技术来支持系统开发B、是否有足够的工具和相关的技术来支持系统开发C、待开发的软件是否会有质量问题D、待开发软件是否有市场、经济上是否合算正确答案:C4、基于代码行的面向规模的度量方法适合于( )。
A、过程式程序设计语言和事前度量B、过程式程序设计语言和事后度量C、第四代语言和事后度量D、第四代语言和事前度量正确答案:B5、软件是( )。
A、处理对象和处理规则的描述B、程序C、计算机系统D、程序及其文档正确答案:D6、JAckson结构化程序设计方法主要适用于规模适中的( )系统的开发。
A、数据处理B、实时控制C、文字处理D、科学计算正确答案:A7、需求分析的基本原则包括( )。
A、修正系统开发计划B、必须能够表达和理解问题的数据域和功能域C、自顶向下、逐层分解问题D、要给出系统的逻辑视图和物理视图正确答案:B8、在整个软件项目定义与开发各阶段一种典型的工作量分布原则,称为40-20-40分布原则,其中20%的工作量指的是( )。
A、测试工作量B、需求分析工作量C、编码工作量D、详细设计工作量正确答案:C9、在软件质量要素中,改变一个操作的顺序所需的工作量的多少指的是( )。
A、完整性B、可用性C、正确性D、灵活性正确答案:D10、各种软件维护的类型中最重要的是( ) 。
A、预防性维护B、纠错性维护C、完善性维护D、适应性维护正确答案:C11、在软件质量要素的评价准则中,程序监视自身运行并标识错误的程度指的是( )。
A、可操作性B、容错性C、检测性D、安全性正确答案:C12、模块的内聚性最高的是( )。
《软件工程》试题及参考答案(第1套)

《软件工程》试题及参考答案(第1套)《软件工程》试题及参考答案(第1套)一、单项选择题1. 软件工程的最终目标是:A. 提高软件开发效率B. 提高软件质量C. 提高软件维护效率D. 以上都是答案:D2. 下列哪项不属于软件需求分析的主要活动?A. 软件设计B. 需求获取和建模C. 需求验证和确认D. 需求管理答案:A3. 以下哪项不是构建阶段的主要活动?A. 编码B. 软件测试C. 软件集成D. 软件配置管理答案:D4. 下列哪个过程不属于软件项目管理过程?A. 需求管理B. 配置管理C. 软件测试D. 质量管理答案:C5. 下列哪个模型强调在系统开发的初期确定并冻结需求?A. 瀑布模型B. 快速原型模型C. V模型D. 增量模型答案:A二、多项选择题1. 软件过程模型的主要作用是:A. 规范软件开发的过程B. 定义软件开发的阶段C. 明确软件开发的任务分工D. 以上都是答案:D2. 软件生命周期是指:A. 软件的设计阶段B. 软件的测试阶段C. 软件的开发到维护的整个过程D. 软件的发布与用户反馈过程答案:C3. 软件测试的主要目标是:A. 寻找并修复软件中的错误B. 确保软件满足用户需求C. 提高软件的可靠性和质量D. 以上都是答案:D4. 下列哪个工具不属于软件配置管理工具?A. 版本控制工具B. 缺陷跟踪工具C. 自动化构建工具D. 可行性分析工具答案:D5. 下列哪个项目风险类型是与技术因素相关的?A. 市场竞争风险B. 技术风险C. 经济风险D. 法律风险答案:B三、简答题1. 请简要描述瀑布模型的开发流程。
瀑布模型的开发流程包括以下几个阶段:1) 需求分析阶段:收集用户需求,并进行详细的需求分析和建模。
2) 系统设计阶段:根据需求分析得到的系统需求,进行整体设计和详细设计。
3) 编码和单元测试阶段:将设计好的系统转化为可执行代码,并进行单元测试,验证代码的正确性。
4) 集成测试阶段:将各个模块进行集成,测试整个系统的功能和性能。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件工程期末试卷A
试题一、结构化分析与设计(共20分,每小题10分)
需求陈述:
高考录取统分子系统有如下功能:
(1)计算标准分:根据考生原始分计算,得到标准分,存入考生分数文件;
(2)计算录取线分:根据标准分、招生计划文件中的招生人数,计算录取线,存入录取线文件。
要求:用结构化方法学对高考录取统分子系统进行分析与设计,分别完成以下工作: (1)给出高考录取统分子系统的功能模型(用数据流图表示)。
(10分)
(2)给出高考录取统分子系统的软件体系结构(用H图或结构图表示)。
(10分)
答案网上搜的答案
let计创
结构图即软件的模块
软件结构答案
试题二、F面是程序流程图,试分别用表示。
(共20分)
答案:
我做的:
do {
if( ! P) {
g ; } while(q);
我自己做的,可以不太对
始
开 q 为真
执行
do nothing
Else if(g 为假)
return }
Else if(p 为假) {
Return
}while(g 为真)
试题三、(共20分,每题10分)
float calculateTotal( int N) {
float count = 0.0; int i=1; while ( i<=N )
Do
lf(p
为真) lf(g
为真)
阅读下面的程序段,回答后面的问题:
//计算满足条件的N 个数的和
{
if( i % 4 == 0) cou nt += i; i++; }
retur n count; }
(1)画出上述程序的有向流图,并计算该函数的环形复杂度。
(每问5分,共10分)
(2)请用基本路径的 测试技术完成该函数的 测试。
要求给出 基本路径和测试用例。
(每问5 分,共
10分)
答:这道题课本上没有知识点,从网上搜出来的,知识点见“测试基础”
对应的测试用例 N=1 对应的测试用例N=4
试用例N=0
对应的测试用例 N=1 (?? ?不太确定) 对应的测试用例 N=4 对应的测试用例 N=4
PPT 的P30页
白盒测试代码分支图的环形复杂度计算: 环形复杂度以图论为基础,
为我们提供了非常有用的软件度量。
算环形复杂度:
(1)控制流图中环形区域的数量对应于环形复杂度。
可用如下三种方法之一来计
(2)给定控制流图
N 是控制
G 的环形复杂度 一V(G),定义为V(G) = E-N+2其中,E 是控制流图中边的数量, 流图中
的节点数量。
(3)给定控制流图 其中,P 是控制流图G 中判定节点的数量。
以上输出路径的节点。
环形复杂度V(G)=区域数=边-结点+2=
4
G 的环形复杂度 一V(G),也可定义为 V(G) = P+1 何为判定节点:即存在一个输入,两个或两个 判定结点+1
环形复杂度3 基本路径3条
路径 1 : 1-2-3-4-6-3-7 路径 2 : 1-2-3-4-5-6-3-7
路径3 : 1-2-3-7
对
路径 1 : 1-2-3-4-6-7 路径 2 : 1-2-3-4-5-6-7 路径 3 : 1-2-3-4-6-3-7
- 6 -
试题四、面向对象分析与设计(共 40 分,每题 10 分)
需求陈述:
atm 系统包括软件和硬件两部分,其业务大概分为
4个部分:查询帐户余额、取款、存
款和更改用户的密码。
一个完整的 atm 系统包括一下几个模块:
(1) 读卡机模块 允许储户讲银行卡插入读卡机, 读卡机识别卡的种类并在显示器上提 示用户输入密码。
(2) 输入模块 储户可以输入密码和取款金额,并选择要完成的事务。
通常在键盘上只 设数字键和功能键,目的方便储户,该模块需要储户的交互。
(3)ic 认证模块 主要鉴别储户卡的真伪。
基于 ic 卡的安全授权系统,要求从技术上严 格保证卡的唯一性与防伪性,从而保证网络的安全。
( 4)显示模块 显示储户相关的信息, 包括储户交互是的提示信息和确认信息。
5)吐钱机模块 吐钱机按照储户的要求, 选择合适面值的钞票给储户 。
atm 系统“取款”过程的主要事件流的描述。
客户将卡插入 ATM 机,开始用例。
ATM 显示欢迎消息并提示客户输入密码。
客户输入密码。
ATM 确认密码有效。
如果无效则执行子事件流 a 。
如果与主机联接有问题,则执行异 子事件流 a :
a1. 提示用户输入无效密码,请求再次输入;
a2. 如果三次输入无效密码,系统自动关闭,退出客户银行卡。
子事件流 b :
b1. 提示用户余额不够。
b2. 返回( 5),等待客户重新选择。
要求: 请用面向对象方法学对该系统进行分析与设计,按要求用 型和动
态模型。
分别完成以下工作:
(1)给出ATM 系统的用例模型 (10分) (2 )给出ATM 系统的类图(10分)
附:
( 1 ) ( 2 ) ( 3 常事件流 e 。
( 5 ) ( 6 ) ( 7 ) ( 8 ) ( 9 ) 机联接有问题, (10) ATM (11) ATM (12) ATM ATM 提供以下选项:存钱,取钱,查询。
用户选择取钱选项。
ATM 提示输入所取金额。
用户输入所取金额。
ATM 确定该帐户是否有足够的金额。
如果余额不够,则执行子事件流 则执行异常事件流 b ,如果与主
e 。
从客户帐户中减去所取金额。
向客户提供要取的钱。
打印清单。
ATM 退出客户的卡,用例结束。
UML 建立ATM 机的静态模
(3 )给出ATM 取款顺序图(时序图)(10分)
⑷给出ATM 取款协作图 (10分) 答:这道题课本 P 281有,基本一模一样,不过感觉课本上的答案不对
软件工程期末试卷 B
试题一、结构化分析与设计(共 20分,每小题10分)
需求陈述:
现有一图书预定系统,接收由顾客发来的订单,并对订单进行校验,验证过程是根据 图书目录检查订单的正确性, 同时根据顾客档案确定是新顾客还是老顾客,
是否有信誉。
经
过验证的正确订单,暂存在待处理的订单文件中。
对订单进行成批的处理, 根据出版社档案, 将订单按照出版社进行分类汇总,并保存订单存根,然后将汇总的订单发往各出版社。
要求:用结构化方法学对图书预定系统进行分析与设计,分别完成以下工作:
给出图书预定系统的 功能模型(用数据流图表示)。
(10分) 给出图书预定系统的 软件体系结构(用H 图或结构图表示)。
(10分)
试题二、下面是程序流程图,试分别用 N-S 图和伪代码(类 C 语言描述)表示。
(共20分)
N-S 图:
(1)
伪代码:
while (!k) {
X;
do {
Y; } while
(!p);
试题三、(共20 分,每小题10 分)
阅读下面用伪代码编写的程序段,回答后面的问题:start
input (a,b,c,d)
if (a > 0)&& (b > 0)
x = a + b
else x = a — b
endif
if (c > a)|| (d < b)
y = c + d
else y = c - d
endif
print(x , y)
sto p
(1)画出上述程序的有向流图,并计算该函数的环形复杂度。
(每问5分,共10分)(2 )请用基本路径的测试技术完成该函数的测试。
要求给出基本路径和测试用例问5。
(每分,共10分)
试题四、面向对象分析与设计(共40分,每小题10分)
需求陈述:
需求陈述:
在一幢有m层的大厦中安装一套n部电梯的产品,按照下列条件求解电梯在各楼层之间移动的逻辑关系:
①每部电梯有m个按钮,每一个按钮代表一个楼层。
当按下一个按钮时该按钮指示灯亮,同时电梯驶向相应的楼层,当到达相应楼层时指示灯熄灭。
②除了最底层和最高层之外,每一层楼都有两个按钮分别指示电梯上行和下行。
按钮按下时指示灯亮,当电梯到达此楼层时指示灯熄灭,并向所需要的方向移动。
③当电梯无升降运动时,关门并停在当前楼层。
注释:
(1 )对该电梯问题的非形式化描述为:
在一幢m层楼的大厦里,用电梯内的和每个楼层的按钮来控制n部电梯的运行。
当按
下电梯按钮以请求在某一指定楼层停下时,按钮指示灯亮;当请求获得满足时,指示灯熄_______ 灭。
当电梯无升、降操作时,关门,并停在当前楼层。
___
(2)整个电梯系统由电梯控制器进行调度和控制。
要求:用面向对象方法学对该电梯问题进行分析,分别完成以下工作:(1)给出该电梯问题的类-对象模型。
(10分)
(2)给出该电梯问题的正常工作的跟踪图。
(10分)
(3)给出该电梯问题中电梯的状态转换图。
(10分)。