软件工程复习资料-完整版
软件工程复习资料精选全文完整版

可编辑修改精选全文完整版一、单选题(共20题,40分)1、使用数据流图,并不断细化的需求获取方法是()。
(2.0)A、简易的应用规格说明B、面向数据流自顶向下逐步求精C、访谈D、快速原型法正确答案: B2、Z语言是以()为基础的形式化规格说明语言。
(2.0)A、微积分B、概率C、图形D、一阶谓词演算正确答案: D3、HIPO是指(2.0)A、层次输入处理输出图或表B、层次功能结构图C、功能结构图D、输入处理输出图或表正确答案: A4、高铁调用系统最适宜采用()方法。
(2.0)A、有穷状态机B、 Petri网C、 Z语言D、一阶线性时态逻辑正确答案: B5、假设学生年龄的成绩输入范围为18-25,则根据等价类划分技术,下列划分正确的是()。
(2.0)A、可划分为2个有效等价类,2个无效等价类B、可划分为1个有效等价类,2个无效等价类C、可划分为2个有效等价类,1个无效等价类D、可划分为1个有效等价类,1个无效等价类正确答案: B6、用于并发系统,解决定时问题的形式化方法是()。
(2.0)A、 VDMB、 Z语言C、 Petri网D、一阶线性时态逻辑正确答案: C7、软件生命周期中所花费费用最多的阶段是(2.0)A、需求分析B、软件总体设计C、软件维护D、软件实现正确答案: C8、软件质量保证措施SQA不包括:(2.0)A、复审或评审B、软件测试C、程序正确性证明D、软件代码编写正确答案: D9、希望确定软件实现的功能是否与需求规格说明书一致,需进行()。
(2.0)A、单元测试B、有效性测试C、确认测试D、集成测试正确答案: C10、总体设计不包括:(2.0)A、体系结构设计B、数据库设计C、模块内算法设计D、逻辑数据结构设计正确答案: C11、关于类和对象的说法,正确的是(2.0)A、一个类只能有一个角色B、类的命名必须用动词C、类的所有对象都具有相同的属性和操作D、类是对象的实例,对象是类的抽象正确答案: C12、数据字典的基本功能是(2.0)A、数据库设计B、数据通信C、数据定义D、数据维护正确答案: C13、软件需求规格说明的内容不应该包括(2.0)A、主要功能B、算法的描述C、用户界面及其运行环境D、软件性能正确答案: B14、增量模型在添加新的模块时,有一个要求是()(2.0)A、需要更多的测试B、有足够的开发人员C、软件体系结构开放D、各个模块都要进行评审正确答案: C15、在软件详细设计过程中不采用的工具是(2.0)A、判定表B、PDLC、程序流程图D、DFD正确答案: D16、软件测试方法中,黑盒测试方法和白盒测试方法是常用的方法,其中黑盒测试方法主要用于测试(2.0)A、结构合理性B、软件外部功能C、程序正确性D、程序内部逻辑正确答案: B17、耦合是模块之间的相对独立性的度量。
软件工程自考复习资料-全

软件工程自考复习资料-全第一章绪论一、软件的基本概念1.软件是计算机系统中的程序及其文档。
3.文档一般主要面向管理人员、开发人员、用户、使用维护人员。
4.文档在软件工程中的作用:(1)提高软件开发过程的能见度。
(2)提高开发效率。
(3)某程序设计时代:生产方式是个体手工劳动,使用工具是机器、汇编语言,主要通过汇编来实现,不注重程序设计方法。
某程序系统时代:生产方式是作坊式小集团合作生产,生产工具是高级语言,开始提出结构化方法。
某软件工程时代:生产方式是工程化生产,使用数据库、网络、先进的开发技术和方法。
6.软件既是知识性(逻辑性)工业产品,具有一些独特的特性是:某软件是逻辑产品,具无形性,通过计算机的执行才能体现它的功能和作用。
某软件只会退化,不存在磨损和消耗问题。
某成本主要体现在软件的开发和研制上,可进行大量的复制。
某主要靠脑力劳动生产,开发和维护成本高。
7.软件的主要结构和功能是在分析设计阶段决定的。
8.软件的复杂性主要体现在程序的复杂性,即模块内程序的复杂性。
直接关联到软件的简单和可理解性、开发费用多少、开发周期长短和软件潜伏错误的多少。
二、软件危机1.软件危机是指在软件开发和维护时遇到的一系列难以控制的问题导致的供需矛盾。
出现在软件发展的第二阶段末期,随着第三代计算机的诞生之际。
2.软件危机主要体现在:某软件发展速度跟不上硬件的发展和用户需求。
某软件成本和开发进度不能预先预算,用户不满意。
某软件产品质量差,成本高,可靠性没有保证。
某软件可维护性差,产品没有配套文档。
3.软件危机产生原因:(1)软件规模变大,结构更加复杂。
(2)软件开发管理困难。
(3)软件开发技术和工具落后。
(4)软件开发费用增加。
(5)采用落后的个体手工生产方式开发。
4.解决途径:(1)纠正对软件开发的错误观念。
(2)提高软件工程管理水平,重视文档重要性。
(3)使用好的软件开发工具,研究软件开发技术,规范软件开发流程,提高开发效率。
软件工程复习资料-完整版

一、选择题:1、用例图中,用来表示用例的符号为(B)。
A2、协作图中包含的元素包括(A)。
A. 对象B. 链C. 激活D. 消息3、在类图中,哪种关系表达整体与部分的关系(D)。
A.泛化 B. 实现 C. 依赖 D. 聚合4、下列各种图形符号中,用来表示组成关系的符号为(B)。
A. B. C. D.5、(A)工具在软件的详细设计中不能使用。
A.DFD B. N-S图 C. 流程图 D. PDL6、“软件危机”是指(C)。
A. 计算机病毒的出现B. 利用计算机进行经济犯罪活动C. 软件开发和维护中出现的一系列问题D. 人们过分迷恋计算机系统7、快速原型是利用原型辅助软件开发的一种新思想,它是在研究(A)的方法和技术中产生的。
A. 需求阶段B. 设计阶段C. 测试阶段D. 软件开发的各个阶段8、从严格意义上讲,下列4个选项中属于顺序图的元素是(ABCD)。
A. 对象B. 参与者C. 消息D. 激活9、下列UML图形中,(ABCD)属于UML的动态视图。
A. 协作图B. 状态图C. 活动图D. 顺序图10、数据字典是软件需求分析阶段的最重要的工具之一,其最基本的功能是(D)。
A. 数据库设计B. 数据通信C. 数据关系描述D. 数据定义11、详细设计与概要设计衔接的图形工具是(D)。
A. DFD图B. 程序图C. PAD图D. SC图12、UML中,大多数建模者把节点分为(AC)A. 设备 B. 构件 C. 处理器 D. 显示器13、(C)是一种特殊形式的状态机,用于对计算流程和工作流程建模。
A.时间图 B. 流程图 C. 活动图 D. 状态图14、(A)描述从状态到状态的控制流程,常用来对系统的动态特征进行建模。
A. 状态图B. 序列图C. 协作图D. 活动图15、下列特点属于描述用例的特点的是(D)。
A. 相对独立:不需要与其他用例交互,即功能是完备的B. 用例的执行结果是可观测有意义的C. 用例由参与者发起(不能自启动,或者由其他用例启动)D. 一个用例是一个单元(需求单元、分析单元、设计单元、开发单元、测试单元、部署单元)16、在图书管理系统中,读者与书籍之间的“借阅”关系的多重性是(D)A. 1:nB. n:1C. 0:1…nD. 0…n:0…n17、我希望ATM能够支持跨行业务;我插入卡片输入密码后可以让我选择是取钱还是存钱;为了方便,可以设置一些默认的存取金额按钮;我可以修改密码,可以挂失;我希望可以缴纳电话费、水费、电费等;为安全起见,ATM应该有警示小心骗子的提示条,有摄像头;如果输入三次密码错误,卡片应当可以自动吞没;下列那些是有效的用例(BCD)A. 支持跨行业务B. 取钱C. 存钱D. 选择服务18、快速原型法适用于(A)系统的开发。
软件工程复习资料

软件⼯程复习资料软件⼯程第⼀章⼀、什么是软件?软件(Software)是计算机系统中与硬件相互依存的另⼀部分,它是包括程序(Program),数据(Data)及其相关⽂档(Document)的完整集合。
程序是按事先设计的功能和性能要求执⾏的指令序列数据是使程序能正常操纵信息的数据结构⽂档是与程序开发,维护和使⽤有关的图⽂材料⼆、软件危机原因:与软件本⾝的特点有关(难于维护, 逻辑复杂)与软件开发与维护的⽅法不正确有关:软件≠程序急于求成=拔苗助长各⾃为阵⽆⽅法/学现象:1.成本⾼2.计算机软件和硬件费⽤⽐3.软件质量得不到保证4.由于软件质量问题导致失败的软件项⽬⾮常多5.进度难以控制6.维护⾮常困难办法:软件⼯程(学)三、软件⼯程软件⼯程是应⽤计算机科学、数学及管理科学等原理开发软件的⼯程。
它借鉴传统⼯程的原则、⽅法,以提⾼质量,降低成本为⽬的。
开发、运⾏和维护软件的系统⽅法四、软件⼯程三要素软件⼯程⽅法学包含3个要素:⽅法、⼯具和过程。
五、软件⽣命周期六、软件过程模型瀑布模型瀑布模型适合于⽤户需求明确、完整、⽆重⼤变化的软件项⽬开发。
瀑布模型的成功在很⼤程度上是由于它基本上是⼀种⽂档驱动的模型。
“瀑布模型是由⽂档驱动的”这个事实也是它的⼀个主要缺点。
在项⽬开始的时候,⽤户常常难以清楚地给出所有需求;⽤户与开发⼈员对需求理解存在差异。
实际的项⽬很少按照顺序模型进⾏。
⽤户必须有耐⼼,等到系统开发完成。
缺乏灵活性:因为瀑布模型确定了需求分析的绝对重要性,但是在实践中要想获得完善的需求说明是⾮常困难的,导致“阻塞状态”。
反馈信息慢,开发周期长。
虽然存在不少缺陷,瀑布模型经常被嘲笑为“旧式的”,但是在需求被很好地理解的情况下,仍然是⼀种合理的⽅法。
快速原型模型增量模型增量模型是迭代和演进的过程。
增量模型把软件产品分解成⼀系列的增量构件,在增量开发迭代中逐步加⼊。
每个构件由多个相互作⽤的模块构成,并且能够完成特定的功能。
软件工程基础期末复习资料完整版

2.文档有何作用?程序代码属不属于文档?答:文档指的是在软件开发和维护过程中形成的文字记录。
从软件计划、分析、设计、实现(编码和测试)、维护等开发活动中形成的各种文件。
文档属于软件的一部分,是软件维护和升级的重要依据,并且文档内容要与代码同步更新。
没有文档的软件维护不但不能延长反而会缩短软件寿命。
文档包括需求规格说明书、设计说明书、用户使用说明书、在线帮助等,当然程序代码是必不可少的一种软件文档。
3.什么是软件危机?什么原因产生了软件危机?答:软件危机指的是在计算机软件的开发和维护过程中所遇到的一系列严重问题。
产生的原因是主客观不相适应。
见书图1-2。
●客观上:软件规模增大、功能要求越来越复杂,需求不断变化等;●主观上:传统的个体化开发观念和方法,无开发过程指导,无开发过程管理;由于主客观矛盾,必然产生软件质量差、开发超期、超预算、维护困难等现象。
5.软件工程三要素是什么?答:软件工程三要素是从计算机科学观点看软件工程,即从软件开发的技术层面应该有过程、方法和工具。
见图1-4。
(2)“过程”是软件产品加工所经历的一系列有组织的活动,保证能够合理、高质量和及时地开发出软件。
过程定义的活动集合及其序列见第2章。
(3)“方法”为软件开发提供“如何做”的技术,它涵盖了项目计划、需求分析、系统设计、程序实现、测试与维护等一系列活动的做法。
如经常说的面向结构、面向对象、面向组件等开发方法,项目管理中估算、度量、计划等管理方法。
软件工程以介绍方法为主,本书从第3章开始逐步介绍开发过程所用到的方法。
(4)“工具”为过程和方法提供自动的或半自动的支持。
这些工具既包括软件也有硬件。
软件工具包括编程、建模、管理等开发工具。
通过网络环境把这些软件工具集成起来搭建一个支持团队开发的平台,称之为计算机辅助软件工程 (Computer Aided Software Engineering,CASE)。
CASE集成了软件、硬件和一个存放开发过程信息的软件工程数据库,形成了一个软件工程环境。
软件工程复习资料

A、语句覆盖:选择测试用例使程序中每条语句至少被执行一次 B、判定覆盖:选择测试用例使程序中每个判定至少都获得一次“真”值和一次“假”值 C、条件覆盖:选择测试用例使每个条件都满足 D、条件组合覆盖:将所有的判定条件都组合起来执行 答案: A B
9. 以下()不属于结构化流程图
A、运行程序并分析运行结果 B、桌前检查与代码会审 C、数据流分析图 D、调用图
答案: B C D
15. 下面()属于可复用的软件级别。
A、代码的复用 B、设计结果的复用 C、分析结果的复用 D、测试信息的复用
答案: A B C D
16. 黑盒测试着重测试软件功能,下列测试法中属于黑盒测试技术的有()。
3. 面向对象方法学的出发点和基本原则是什么?
答案: 面向对象方法学的出发点和基本原则是尽可能模拟人类习惯的思维方式,使开发软件的方法与过程尽可能接近人类认识世 界解决问题的方法与过程,也就是使描述问题的问题空间(也称为问题域)与实现解法的解空间(也称为求解域)在结构上尽可能一 致。
3. 软件原型
答案: 软件原型是在软件系统开发过程中,可快速建立的,旨在演示目标系统主要功能的可运行的程序。
4. 继承
答案: 广义地说,继承是指能够直接获得已有的性质和特征,而不必重复定义它们。在面向对象的软件技术中,继承是子类自动 地共享基类中定义的数据和方法的机制。
5. 有穷状态机
答案: 在软件工程领域,有穷状态机可以准确地描述一个系统,它是表达规格说明的一种形式化说明方法。一个有穷状态机包含5 个部分:状态集、输入集、由当前状态和当前输入确定下一个状态的转换函数、初始态和终态集。
A、等价划分法 B、平行运行法 C、边界值分析法 D、错误推测法
软件工程复习资料

1、 软件产品的概念、特征P1-3软件就是一个信息转换器,它的功能不外是产生、管理、获取、修改、显示或转换信息。
它是开发和运行产品的载体,是计算机控制(操作系统)、信息通信(网络)的基础,也是创建和控制其他软件(软件工具和开发环境)的基础。
软件产品的特征:(1) 软件是一种逻辑实体,具有抽象性。
(2) 软件的生产与硬件不同。
(3) 软件产品不会“磨损” 2、 软件危机的原因、解决的途经P5-7软件危机的原因:1)它的生产过程和产品都具有明显的“不可视”特征,这就导致在完成编码并且上机运行之前,对于软件开发过程的进展情况较难衡量;2)归于在计算机系统发展的早期,软件开发的“个体化”特点解决的途经:从管理层面上考虑,应当注意推广和使用在实践中总结出来的开发软件的成功的技术和方法,并且探索更好的、更有效的技术和方法,注意积累软件开发过程中的经验数据财富,逐步消除在计算机系统早期发展阶段形成的一些错误概念和做法。
3、 软件工程的定义、要素、基本原则P8-9 软件工程是指导软件开发和维护的工程学科。
将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护过程。
即将工程化方法应用于软件开发与维护过程中。
软件工程应当包括三个要素:方法、工具和过程。
基本原则:(1) 用分阶段的生命周期计划严格管理软件工程过程。
(2) 坚持在软件工程过程中进行阶段评审。
(3) 实行严格的产品控制。
(4) 采用现代的开发技术进行软件的设计与开发。
(5) 工作结果应当是能够清楚地审查的。
(6) 开发小组的人员应该“少而精”。
(7) 承认不断改进软件工程实践的必要性4、 软件工程过程的层次划分、软件工程的四种基本活动P10-11软件工程过程的层次划分: 软件工程的四种基本活动:(1) 软件规格说明(2) 软件开发(3) 软件确认(4) 软件演进5、 软件工程过程模型的概念及几种常见的软件过程模型P12-18软件工程过程模型的概念:用以覆盖软件开发过程中的基本活动,确定所涉及的过程、方法、工具的策略称为软件工程过程模型。
软件工程 复习资料

软件工程复习大纲考试主要章节:第一章软件与软件工程第二章软件项目管理第三章计算机系统工程第3.2节第五章面向数据流的分析方法第八章软件设计基础第十四章软件测试其他:上课讲义题型一、选择题(单选或多选)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、需求分析的主要目的是(BC)。
A) 系统开发的具体方案B) 进一步确定用户的需求C) 解决系统是“做什么的问题”D) 解决系统是“如何做的问题”7、SA法的主要描述手段有(B)。
A) 系统流程图和模块图B) DFD图、数据词典、加工说明C) 软件结构图、加工说明D) 功能结构图、加工说明8、画分层DFD图的基本原则有(ACD)。
A) 数据守恒原则B) 分解的可靠性原则C) 子、父图平衡的原则D) 数据流封闭的原则9、在E-R模型中,包含以下基本成分(C)。
A) 数据、对象、实体B) 控制、联系、对象C) 实体、联系、属性D) 实体、属性、联系10、画DFD图的主要目的是(A D)。
A) 作为需求分析阶段用户与开发者之间交流信息的工具B) 对系统的数据结构进行描述C) 对目标系统的层次结构进行描述D) 作为分析和设计的工具11、数据字典是数据流图中所有元素的定义的集合,一般由以下四类条目组成(C)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、选择题:1、用例图中,用来表示用例的符号为(B)。
A B. C. D.2、协作图中包含的元素包括(A)。
A. 对象B. 链C. 激活D. 消息3、在类图中,哪种关系表达整体与部分的关系(D)。
A.泛化 B. 实现 C. 依赖 D. 聚合4、下列各种图形符号中,用来表示组成关系的符号为(B)。
A. B. C. D.5、(A)工具在软件的详细设计中不能使用。
A.DFD B. N-S图 C. 流程图 D. PDL6、“软件危机”是指(C)。
A. 计算机病毒的出现B. 利用计算机进行经济犯罪活动C. 软件开发和维护中出现的一系列问题D. 人们过分迷恋计算机系统7、快速原型是利用原型辅助软件开发的一种新思想,它是在研究(A)的方法和技术中产生的。
A. 需求阶段B. 设计阶段C. 测试阶段D. 软件开发的各个阶段8、从严格意义上讲,下列4个选项中属于顺序图的元素是(ABCD)。
A. 对象B. 参与者C. 消息D. 激活9、下列UML图形中,(ABCD)属于UML的动态视图。
A. 协作图B. 状态图C. 活动图D. 顺序图10、数据字典是软件需求分析阶段的最重要的工具之一,其最基本的功能是(D)。
A. 数据库设计B. 数据通信C. 数据关系描述D. 数据定义11、详细设计与概要设计衔接的图形工具是(D)。
A. DFD图B. 程序图C. PAD图D. SC图12、UML中,大多数建模者把节点分为(AC)A. 设备 B. 构件 C. 处理器 D. 显示器13、(C)是一种特殊形式的状态机,用于对计算流程和工作流程建模。
A.时间图 B. 流程图 C. 活动图 D. 状态图14、(A)描述从状态到状态的控制流程,常用来对系统的动态特征进行建模。
A. 状态图B. 序列图C. 协作图D. 活动图15、下列特点属于描述用例的特点的是(D)。
A. 相对独立:不需要与其他用例交互,即功能是完备的B. 用例的执行结果是可观测有意义的C. 用例由参与者发起(不能自启动,或者由其他用例启动)D. 一个用例是一个单元(需求单元、分析单元、设计单元、开发单元、测试单元、部署单元)16、在图书管理系统中,读者与书籍之间的“借阅”关系的多重性是(D)A. 1:nB. n:1C. 0:1…nD. 0…n:0…n17、我希望ATM能够支持跨行业务;我插入卡片输入密码后可以让我选择是取钱还是存钱;为了方便,可以设置一些默认的存取金额按钮;我可以修改密码,可以挂失;我希望可以缴纳电话费、水费、电费等;为安全起见,ATM应该有警示小心骗子的提示条,有摄像头;如果输入三次密码错误,卡片应当可以自动吞没;下列那些是有效的用例(BCD)A. 支持跨行业务B. 取钱C. 存钱D. 选择服务18、快速原型法适用于(A)系统的开发。
A.需求不确定的B.需求确定的C.管理信息D.实时19、面向对象的三个要素不包括以下哪个(D)。
A. 封装B. 继承C. 多态D. 接口20、软件生命周期中所花费用最多的阶段是(C)。
A.详细设计B.软件编码C.软件测试D.软件维护21、需求分析阶段的任务是确定(D)。
A.软件开发方法B.软件开发工具C.软件开发费D.软件系统的功能22、汽车有一个发动机。
汽车和发动机之间的关系是(B)关系。
A.一般具体B.整体部分C.分类关系D.主从关系23、(A)模型的缺点是缺少灵活性,特别是无法解决软件需求不明确或不准确的问题。
A.瀑布模型 B. 原型模型 C. 增量模型 D. 螺旋模型24、在UML的需求分析建模中,(B)模型图必须与用户反复交流并加以确认。
A. 配置B. 用例C. 包D. 动态25、下列关于状态图的说法中,正确的是(C)。
A. 状态图是UML中对系统的静态方面进行建模的五种图之一B. 状态图是活动图的一个特例,状态图中的多数状态是活动状态C. 状态图是对一个对象的生命周期进行建模,描述对象随时间变化的行为D. 状态图强调对有几个对象参与的活动过程建模,而活动图更强调对单个反应型对象建模26、在面向对象分析过程中,用概念模型来详细叙述系统的问题域,用类图来表示概念模型,用(A)来描述对象行为。
A.顺序图和协作图B.用例图和活动图C.状态图和活动图D.用例图和构件图二.填空题1. 软件工程由(过程)、方法、工具三部分组成,称为软件工程的三要素。
2. 顺序图由类角色,生命线,激活期和(消息)组成。
3.(组件图)和(部署图)用于对面向对象系统的物理方面建模进行描述的两种图形。
4. 软件需求包括三个不同的层次:(功能需求)、(业务需求)和(用户需求)。
5.面向对象分析模型包括(用例)模型和(概念)模型。
6. 软件的定义可以概括的描述为:软件=(程序)+(数据)+文档7. RUP软件开发过程的特点是:(用例驱动)以体系结构为中心,迭代和增量开发。
8.对象图的模型元素有对象和链。
对象是(类型)的实例, 对象之间的链是类之间的(关联)的实例。
9. 需求工程包括(需求管理)和(需求开发)。
三.简答题1、简述什么是状态图,状态图的组成元素有哪些?答:状态图描述的是对象发生状态转移的序列、使对象达到这些状态的事件和条件,以及达到这些状态时所发生的活动。
状态图由状态、事件和转换三个主要元素构成。
2、RUP的四个主要阶段是什么?答:1)初始阶段:完成商业需求并确定项目的边界;2)细化阶段:完成领域问题分析和软件的设计;3)构造阶段:产品的制造过程,以系统实现和测试为主,重点放在管理资源及控制运作以优化成本、进度和质量;4)交付阶段:确保软件对最终用户是可用的。
3、类之间的关系有几种?哪种关系最一般?答:类的外部关系可以归纳为:关联、泛化和依赖三种,其中关联包括一般关联关系和组合关系,组合又包括强组合和弱组合关系。
一般关联关系最一般。
4、UML的静态模型和动态模型分别包括哪几种图?答:静态模型包括:用例图、类图、包图、对象图、构件图、配置图;动态模型包括:顺序图、协作图、活动图、状态图。
5、简述顺序图与协作图的异同。
答:顺序图与协作图都是表现对象之间的交互和协作的,但侧重点不同:顺序图着重在交互的时间顺序上;协作图则没有时间维度,着重在交互对象的空间链接上;顺序图中有对象生命线和控制焦点,协作图中没有;协作图中有路径,并且协作图中的消息必须要有消息顺序号,但顺序图中没有路径,也可以没有消息顺序号。
6、软件测试要经过哪些步骤?答:单元测试:针对软件设计的最小单位程序模块进行正确性检验的测试工作;集成测试:在单元测试的基础上,再将单元按照概要设计规格说明的要求组装成更大的模块、子系统或系统;功能测试:在集成测试之后,给予需求规格说明书,从用户角度进行的测试;系统测试:是软件配置在现场真实运行环境下进行的运行测试。
7、软件生存周期各阶段的主要任务是什么?答:计划时期:初始阶段,主要任务是获取软件开发项目;开发时期:第二阶段,主要任务是构建高质量的软件;运行时期:最后阶段,主要任务是延长软件的寿命。
8、需求分析的目的和工作目标是什么?答:需求分析的目的是:弄清用户对系统的细节要求,完整、准确、清晰、具体地回答目标系统“做什么”。
需求分析的工作目标是:对用户提出的软件功能、性能等应用问题及其环境进行分析与理解,采用一系列的分析方法和技术,把系统可行性分析阶段产生的系统规格说明和项目规划逐步精确化、完全花、一致化,借助于当前系统的逻辑模型导出目标系统逻辑模型,最终形成需求规格说明文档的过程。
10、一个复杂系统的DFD采用什么方法进行细化?答:数据流图采用分层绘制,贯彻自顶向下、逐层分解、层层细化的分析理念。
顶层数据流图(系统级抽象层);零层数据流图(功能模块级抽象成);各子层数据流图(子功能模块抽象层);11、什么是黑盒测试和白盒测试?答:白盒测试:按照程序内部的结构测试程序,通过测试来检验产品内部动作是否按照设计规格说明书的规定正常进行,检验程序中的每条通路是否都能按照预定要求正常进行。
黑盒测试:把程序看成一个黑盒子,无须了解模块里面的结构,仅通过其外在功能描述来进行测试,只检查程序是否达到需求规格说明书规定的功能。
12、UML与面向对象系统分析与设计之间的关系?在面向对象分析和设计过程中应如何使用UML?答:UML是一种面向对象技术的标准建模语言,可以被用来进行面向对象系统分析与设计。
基于UML统一方法进行面向对象分析步骤:○1问题域分析;○2发现和定义对象与类;○3识别对象的外部联系;○4建立系统的静态结构模型;○5建立系统的动态结构模型。
13、什么是类型“封装”?答:对属性和操作进行包装。
14、可行性研究包括?答:技术可行性研究、经济可行性研究、法律可行性研究。
15、详细设计与概要设计是什么关系,有什么不同?详细设计的作用是什么,内容有哪些?答:1)区别:概要设计是解决软件的总体结构问题;详细设计是解决模型内部的逻辑结构和数据结构问题。
2)关系:要先进行总体结构划分,然后才能进行模块内部的详细设计。
3)详细设计的作用:程序员用于实现的说明书。
4)详细设计的内容:详细设计可分为三个具体部分:○1逻辑设计:对模块内部的过程和数据结构进行设计。
○2接口设计:人机交互界面的具体设计,与其他外部系统接口设计。
○3数据设计:用选定的DBMS 设计数据库的表,建立表的主键/外键及关联关系,建立索引,完整性约束等方面。
四.综合题:1、根据下列需求的叙述建立用例模型。
假设要建立一个图书管理系统,系统的用户包括读者、图书管理员和系统管理员;读者登录后,可以在网上预定书籍,也可以对预定的书籍进行取消,读者还可以查看自己的基本信息;在图书管理员的帮助下,读者可以进行借书和还书;系统管理员可以对信息进行维护,其中包括书籍管理、书目管理和用户管理;书籍管理包括查询书籍、添加书籍、删除书籍(在删除书籍时,相关的书目会一并删除掉)和修改书籍;书目管理包括查询书目、添加书目、删除书目和修改书目;用户管理包括查询用户、添加用户、删除用户和修改用户。
2、根据下列叙述建立类模型。
假设要建立一个车辆维修及管理系统。
已知各种机动车辆均由车身,发动机,传动系统,制动系统,照明系统组成。
客车可能配有空调系统和音响系统,而货车可以加挂拖车。
车辆的基本信息包括品牌,厂商,购买日期,载重量,乘客数等。
维修人员可以维修车辆的各个组成部分,维修人员对车辆的维修情况需要记录维修的时间、修理或零件更换情况等信息。
答:3、根据以上描述绘制判定树。
某厂人事部门职工调配的政策如下所示:(1)若年龄不满18岁,文化程度是小学,脱产学习;文化程度是中学的充当电工;(2)若年龄满18岁,但不满45岁,若文化程度是小学或中学,若是男性,则当钳工;若是女性则当车工;(3)若年满45岁及以上者,文化程度是小学或中学的,则当材料员(4)凡大学毕业生,都当技术员。