软件系统分析与设计练习.docx
- 文档编号:24915210
- 上传时间:2023-06-02
- 格式:DOCX
- 页数:24
- 大小:81.92KB
软件系统分析与设计练习.docx
《软件系统分析与设计练习.docx》由会员分享,可在线阅读,更多相关《软件系统分析与设计练习.docx(24页珍藏版)》请在冰豆网上搜索。
第一章概论,结构化分析和设计方法
一、单项选择题
1.软件工程的核心内容是(B)P1
A.应用系统的运行效率 B.软件系统的分析和设计
C.增强系统的可靠性 D.需求管理
2.软件危机指的主要是(A)P1
A.软件开发和设计中遇到的问题 B.软件的可维护性问题
C.软件的可移植性问题 D.软件的可拓展性问题
3.软件技术发展一共有几个阶段(D)P3
A.2 B.3 C.4 D.5
4.下面哪一项不是软件工程在国际标准化组织中的定义(B)P3
A.建议并使用完善的工程化原则,以较经济的手段获得能在实际机器上有运行的可靠软件的一系列方法
B.描述怎么编写软件代码的动作
C.将系统化的,规范的,可度量的方法应用于软件的开发,运行和维护的过程,即将工程化应用于软件中
D.开发,运行,维护和修复软件的系统方法
5.经典的软件工程思想将软件开发分成几个基本阶段(D)P3
A.2 B.3 C.4 D.5
6.最早出现并唯一被采用的软件开发过程模型是(A)P5
A.线性模型 B.非线性模型 C.增量模型 D.螺旋模型
7.使用增量模型的第一个增量是(D)P5
A.待测试的产品 B.完整的产品
C.测试完成的产品 D.核心的产品,实现基本的需求
8.增量模型的优点是(D)
A.灵活性高 B.成熟度高 C.开发成本低 D.三者都包括
9.下面哪一项不是螺旋模型的优点(A)
A.增加开发成本 B.提高目标软件的适应能力
C.降低软件开发风险 D.支持用户需求的动态变化
10.下面哪一项不是结构化方法提高软件合理性的准则(A)P8
A.信息安全 B.模块独立性 C.分解和抽象 D.信息隐蔽
11.面向对象的方法包括(D)P9
A.面向对象分析 B.面向对象设计 C.面向对象编程 D.三者都包括12.下面哪一项不是面向对象和方法的实质性突破(A)P9
A.安全性能 B.需求分析 C.可维护性 D.可靠性
13.软件工具通常由哪几个部分组成(D)P10
A.工具 B.工具接口 C.工具用户接口 D.三者都包括
14.数据流图的组成元素有且只有几个(A)P16
A.4 B.5 C.6 D.7
15.结构化的程序设计有哪几种基本结构(D)
A.顺序 B.选择 C.循环 D.三者都包括
二、填空题
16.软件危机是指软件开发和维护过程中遇到的一系列严重的问题P1
17.造成软件危机是由软件的复杂性,产品的特殊性,认识的局限性P3
18.软件工程是开发、运行、维护和修复软件的系统方法P3
19.对软件工程的研究主要分软件的开发模型,开发方法和开发工具三个层面。
P4
20.线性模型的本质是一次通过所有活动工序,最后得到软件产品P5
21.增量模型是一种演化模型,融合了线性模型的基本成本和原型实现模型的迭代特征,采用随着日程时间的进展而交错的线性序列,每一个线性序列产生软件的一个可发布的“增量”。
P5
22.增量模型的优点是灵活性高P6
23.螺旋模型是一种演进式软件开发过程模型P6
24.主流的软件开发方法有结构化方法和面向对象的方法两种。
P8
25.结构是指系统内各组成要素之间相互联系、相互作用的框架P8
三、名词解释
26.软件危机:
泛指软件开发和维护过程中遇到的一系列严重的问题。
有两个方面,首先是如何开发软件,以满足不断增长的、日趋负载的要求;然后是如何维护规模不断庞大的软件产品。
P1-2
27.软件工程:
是开发、运行、维护和修复软件的系统方法。
P3
28.线性模型:
即瀑布模型,又称生存周期模型。
其核心思想是采用结构化的分析与设计方法将软件过程工序化,将功能的设计和实现分开,便于分工协作。
P4
29.增量模型:
是一种演化模型,融合了线性模型的基本成本和原型实现模型的迭代特征,采用随着日程时间的进展而交错的线性序列,每一个线性序列产生软件的一个可发布的“增量”。
P5
30.螺旋模型:
是一种演讲式软件开发过程模型。
整个模型紧密围绕开发中的风险分析,强调持续的判断、确定和修改用户的人物目标,并按成本、效益来分析候选的软件产品对任务目标的贡献。
P6
四、简答题
31.简述软件生命周期的5个阶段
采用软件生命周期来划分软件的工程化开发,使得软件开发能够分阶段依次进行。
一共有:
需求分析、系统设计、系统实现、测试、维护这五个阶段。
P4
32.简述结构化方法的基本思想
结构化方法常称为面向过程的方法或传统软件工程开发方法,其特点是自顶向下地分析与设计,逐步求精,在获取完整的需求之后实施开发、建立系统并测试部署。
P8
33.简述结构化分析需求分析的4个阶段 P14-15
需求分析的过程有:
1)问题识别;
2)分析与综合;
3)需求描述;
4)需求评审。
34.简述结构化设计方法实施的6个步骤
结构化设计方法实施的步骤是:
1)研究、分析和审查数据流图;
2)根据数据流图确定数据处理的类型;
3)由数据流图推导出系统的初始结构图;
4)利用一些启发式原则改进系统初始结构图,知道得到符合要求的结构图为止;
5)修改和补充数据字典;
6)制定测试计划。
35.简述流程图
功能模型使用数据流图来表达系统内数据的运动情况。
数据流图包括:
数据加工数据源、数据流和数据存储。
五、问答题
36.软件技术发展有几个阶段
软件技术发展一共有5个阶段。
第一阶段是早期,上个世纪50年代和60年代早期,主要特点是面向批处理,有限的分布,自定义软件。
第二阶段是60年代到70年代中,主要特点是多用户、实时、数据库、软件产品。
第三阶段是70年代初到80年代末,主要特点是分布式系统、嵌入“智能”、低成本硬件、消费者的影响。
第四阶段是80年代中期到二十一世纪初,主要特点是强大的桌面系统、面向对象技术、专家系统、人工神经网络、并行计算、网络计算机。
第五阶段是二十世纪初开始,主要特点是大数据、云计算、物联网。
37.讲述结构化方法和面向对象方法的异同P8-9
结构化方法也称面向过程的方法或传统软件工程开发方法,其特点是自顶向下地分析与设计,逐步求精,在获取完整的需求之后实施开发,建立系统并测试部署。
面向对象方法是一种自底向上的归纳和自顶向下的分解相结合的方法,通过对象模型的建立,能够真正基于用户的需求进行软件开发,而且系统的可维护性大大改善。
两种方法都能够解决现实中的问题,其适用的场景不同。
对于变化较慢的系统,用结构化分析方法比较适合,对于变化较快的系统更推荐用面向对象的方法。
38.如何评价结构化方法
结构化设计方法是在模块化思想、自顶向下逐步细化原则和结构化程序设计的基础上发展起来的。
结构化设计和结构化分析密不可分,设计中的每一个步骤及产生的模型、文档都必须在需求分析中找到来源。
结构化方法是经典方法,是后续面向对象方法的基础。
结构化方法和面向对象方法并无矛盾之处,结构化方法的基本原则,如模块化、自顶向下逐步细化等,在面向对象方法中同样适用。
掌握结构化开发的步骤,有助于更深入地理解和学习面向对象方法。
第二章面向对象分析和设计方法概述
一、单项选择题
1.面向对象的方法于什么时候提出(A)P24
A.20世纪60年代 B.20世纪70年代 C.20世纪80年代 D.20世纪90年代2.构成系统的基本单位是(C)P25
A.流程 B.信息 C.对象 D.数据
3.与系统交换信息的外部设备,相关子系统,操作员或用户是(A)P26
A.外部实体 B.信息结构 C.角色 D.组织结构
4.问题域中的概念实体,如信号,报表,显示信息是(D)P26
A.角色 B.组织结构 C.操作规则 D.信息结构
5.把具有相同特性(属性)和行为(操作)的对象归在一起的是(A)P26
A.类 B.消息 C.继承 D.数据
6.在已有类的基础上,考虑抽象过程中被舍弃的一部分对象的特征,形成一个新的类,这个类具有前一个类的全部特征,是前一个类的子集,这种层次结构称为(C)P27
A.类 B.消息 C.继承 D.数据
7.面向对象系统中实现对象间交互的手段,要求某个对象执行某个操作的规格说明,是对象之间相互请求或相互协作的途径是(B)P29
A.类 B.消息 C.继承 D.数据
8.隐藏对象的属性和操作,并将其组合成一个独立的对象,对外公开接口,用户只能看到对象封装接口上的信息,不能直接访问对象的属性,这种方式称为(A)P29
A.封装 B.类 C.继承 D.数据
9.UML的4种关系中,一个元素的变化影响到另一个元素或向其提供信息的是(A)P36
A.依赖 B.关联 C.泛化 D.实现
10.UML的4种关系中,两个或多个特定类之间的关系,描述这些类元的实例联系是(B)P37
A.依赖 B.关联 C.泛化 D.实现
11.UML的4种关系中,表示两个元素从一般到特殊的类元关系是(C)P37
A.依赖 B.关联 C.泛化 D.实现
12.UML的4种关系中,定义某个事物是如何被构造,计算的是(D)P37
A.依赖 B.关联 C.泛化 D.实现
13.扩展UML的语义,在原有已定义的模型元素基础上增加新的语义或限制,允许创新的构造的块是(A)P38
A.构造型 B.标志值 C.约束 D.以上都是
14.描述模型元素的特性,存储有关元素任意相关信息的字符串是(B)P39
A.构造型 B.标志值 C.约束 D.以上都是
15.用文字表达是扩展模型元素的语义,允许增加新的规则或修改现有的规则是(C)P40
A.构造型 B.标志值 C.约束 D.以上都是
二、填空题
16.在面向对象的系统分析和设计中所用到的建模工具是UML
17.面向对象=对象+类+继承+通信。
P24
18.面向对象技术具有抽象性,封装性,共享性。
P25
19.“消息”是面向对象系统中实现对象间交互的手段P29
20.UML是一种可视化,定义良好,功能强大且普遍适用的建模语言。
P32
21.UML利用视图,图,模型元素和通用机制等几个部分,从不同的角度来观察和描述一个软件系统的体系结构。
P34
22.依赖是指一个元素的变化影响到另一个元素或向其提供信息的。
P36
23.关联定义了两个或多个特定类之间的关系,描述这些类元的实例联系。
P37
24.标记值描述模型元素的特性,存储有关元素任意相关信息的字符串。
P39
25.约束用文字表达式扩展模型元素的语义,允许增加新的规则或修改现有的规则P40
三、名词解释
26.对象:
是系统中用来描述客观事物的,具有明确语义边界的实体,是构成系统的基本单位,由一组属性和一组对属性的操作组成。
P25
27.类:
是一个抽象数据类型的实现,看作某种概念的模型,提供了完整的解决特定问题的能力,描述了数据结构、算法和外部接口。
P27
28.继承:
是在已有类的基础上,再考虑抽象过程中被舍弃的一部分对象的特性,形成一个新的类,这个类具有前一个类的全部特性,是前一个类的子集,这种层次关系为继承结构。
P27
29.消息:
是面向对象系统中实现对象间交互的手段,是要求某个对象执行某个操作的规格说明,是对象之间相互请求或相互协作的途径。
P29
30.封装:
是指隐藏对象的属性和操作并将其组合成一个独立的对象,仅对外公开接口,用户只能看到对象封装接口上的信息,不能直接访问对象的属性。
对象内部操作才能访问和修改对象的属性。
P29
四、简答题
31.简述UML的目标 P34
1)提供深度的可视化建模语言给客户;
2)提供可扩展性和专有化机制,扩展时无需对核心概念进行修改;
3)可应用于任何程序设计语言平台、工具平台以及软件开发的过程;
4)提供合理基础去理解标准;
5)可升级,具有高适应性和可用性;
6)支持高级概念,如协作框架、构件、模板和组件;
7)结合最优的软件工程实践经验;
8)有益于面向对象工具市场的发展。
32.简述UML的主要特点 P41
1)统一了各种方法对不同类型系统、不同开发阶段以及不同内部概念的观点,从而有效消除了各种建模语言之间许多不必要的差异。
2)UML的建模能力比其他面向对象建模方法更强。
3)UML是一种建模语言,是一种工具,但并不是一个开发过程。
33.项目失败的主要原因
需求分析:
需求管理不规范,沟通信息不精确或不畅通,
系统设计:
软件体系结构脆弱或不稳定,软件过度复杂,
实现测试:
需求设计与实现不一致,测试不够,过于乐观,未解决问题,自动控制变化不足等。
34.RUP的迭代过程 P45-46
1)初始阶段,确定最终产品的构想极其用例,定义项目范围。
2)细化阶段,计划需完成活动和资源,详细说明产品特性并设计软件体系结构。
3)构造阶段,构造整个产品,逐步完善视图、体系结构和计划,直到产品已完全准备好交付给用户。
4)移交阶段,移交产品给用户,包括制造、交付、培训、支持及维护产品。
35.简述过程模型的主要模型元素
1)工作人员,谁做。
2)活动,怎么做。
3)制品,做什么。
4)工作流,何时做。
五、问答题
36.讲述如何开发一个软件系统。
无论用什么方法去开发软件系统,首要的核心任务是确定需求,对于面向对象方法来说,就是建立用例模型。
对软件需求的完全、准确的理解很大程度地影响了软件开发工作的成功。
37.讲述什么是UML
UML全称是UnifiedModelingLanguage,是面对对象方法发展过程中的重要产物,它是一种工具,特别适合于面向对象的建模,但其本身并不是方法论,可以被运用到面向对象的方法中去。
UML由5个试图构成,包括用例视图、逻辑视图、进程视图、构件视图和部署视图。
每个视图都是在某个特定方面对于整个系统美描述的一个投影,结合起来可以完整地描述整个系统。
UML具有扩展机制,因而能适应时代发展,不断向前演化。
38.讲述你对过程模型的理解。
过程模型中的主要元素有4种:
工作人员,活动,制品,工作流。
其中,过程中的中心概念是工作人员。
工作人员不是指某一个人,而是指完成工作的角色,一个人可以扮演一个或多个角色。
工作人员定义人们应履行的行为和职责。
活动定义了工作人员所执行的工作,每一个活动都分配给特定的工作人员。
活动有明确的目的,通常是生产制品或更新制品。
制品是过程生产、修改或使用的一种信息。
制品可分为输入制品和输出制品。
工作流用来描述能够生出有用结果的活动序列,用以描述工作人员之间的交互。
一个工作流可以用顺序图、协作图或活动图来描述。
第三章需求分析与用例建模
一、单项选择题
1.开发软件系统,首要的核心任务是(A)P52
A.确定需求 B.系统设计 C.概要设计 D.详细设计
2.用户解决问题或达到目标所需的条件或能力是IEEE软件工程对哪项的定义(D)P53
A.编码 B.设计 C.测试 D.需求
3.FURPS+中的U指的是(B)P53
A.功能性 B.可用性 C.可靠性 D.性能
4.下面各项中,哪一个不是FURPS+中的+(C)P54
A.实现 B.接口 C.编程 D.操作
5.用例图将系统功能划分成对行为者有用的需求,交互部分被称为(A)P56
A.用例 B.关系 C.行为者 D.边界
6.一个系统的所有系统元素于系统以外的事物的分界线是(C)P57
A.系统使用者 B.交互 C.系统边界 D.系统
7.在系统外部与系统交互的实体,可以是人或者其他系统,硬件设备甚至是时间(A)P57
A.行为者 B.系统 C.系统边界 D.交互
8.用例之间存在的关系包括(D)P62
A.包含关系 B.扩展关系 C.泛化关系 D.以上都是
9.基本用例包含另一个用例的行为功能,如果没有后者将是不完整的,这种关系是(A)P62
A.包含关系 B.扩展关系 C.泛化关系 D.以上都不是
10.一个用例的对话流程中,可能根据条件插入另一个用例以使用其功能,这个被插入的用例可以定义为基础用例的扩展用例,那么后来插入的用例和原有用例都是(B)P63
A.包含关系 B.扩展关系 C.泛化关系 D.以上都不是
11.若一个用例可以被特别列举为一个或多个子用例,他们之间的关系为(C)P65
A.包含关系 B.扩展关系 C.泛化关系 D.以上都不是
12.事件流分为(D)P66
A.基本事件流 B.备选事件流 C.异常事件流 D.以上都是
13.为统一格式,一个项目应该使用(A)的用例模板
A.统一 B.不一样 C.复杂 D.简单
14.关于用例模型描述要求,不正确的是(D)
A.用例模型描述必须既能让业务人员看懂,又能让技术人员看懂
B.用例模型描述必须清晰准确地表达每一个业务需求
C.用例模型描述必须从各个角度全面地反应客户对系统的期望
D.用例模型描述越简单越好
15.用例模型建模的主要步骤不包括(D)
A.分析系统需求 B.确定系统边界 C.确定行为者与用例 D.编码
二、填空题
16.软件工程的第一步是需求分析
17.FURPS+模型中,包括功能性,可用性,可靠性,性能,可支持性。
P53
18.FURPS+模型中的+,包括实现,接口,操作,包装,授权。
P54
19.需求分析是发现,求精,建模和规格说明的过程。
P54
20.用例模型是UML架构中“4+1”视图的核心,属于RUP中可视化建模的一部分。
用例模型中最主要的图形工具是用例图P56
21.用例图描述用户对系统的需求。
22.系统边界是指一个系统的所有系统元素与系统以外的事物的分界线。
P57
23.用例是由一组用例的实例组成的,每一个用例的实例称为场景P60
24.UML把用例之间存在的关系分为包含,扩展以及泛化。
P62
25.事件流分为基本事件流,备选事件流和异常事件流。
P66
三、名词解释
26.需求分析:
是发现、求精、建模和规格说明的过程。
P54
27.用例图:
描述用户对系统的需求。
它将系统功能划分成对行为者有用的需求,交互部分被称为用例。
用例图的组成元素有行为者、用例、行为者与用例间的关系以及用例和用例之间的关系。
P56
28.系统边界:
是指一个系统的所有元素与系统以外的事物的分界线。
用例模型里的所有行为者都在系统边界以外,而用例表示的系统功能都在系统边界以内。
P57
29.场景:
每一个用例的实例称为场景。
场景是用户使用系统的一个实际的、特定的事件流集,一个用例的多个场景就覆盖了所有的正常与异常的事件流。
P60
30.包含关系:
基本用例包含另一个用例的行为功能,如果没有后者它将是不完整的,它依赖于被包含的部分才有意义。
P62
四、简答题
31.简述需求分析的任务。
P54
需求分析是发现、求精、建模和规格说明的过程。
包括:
1)细化在项目开发计划中规定的软件范围;
2)创建所需的数据模型、功能模型和控制模型;
3)分析可选择的解决方案、并将它们分配到各个软件成分中。
32.简述需求分析的过程 P55
需求分析的过程可以分成4个阶段:
1)问题识别,即需求获取;
2)分析与综合,即需求建模;
3)编制需求分析阶段的文档,即需求描述;
4)验证,即需求评审。
33.简述行为者。
P57
行为者是指在系统外部与系统交互的实体,可以是人或者其他系统、硬件设备甚至是时间。
每个行为者可以参与一个或多个用例,一个用例也可以被多个行为者参与。
行为者通过交换信息与用例发生交互,而行为者的内部实现与用例是不相关,可以用一组定义其状态的属性充分描述行为者。
需要注意到,行为者之间可以有泛化关系。
行为者代表一种角色,而不是具体到人。
行为者可以分为主行为者和副行为者。
34.简述用例之间的关系。
P62,63,65
用例之间存在着一定的关系。
主要有包含、扩展以及泛化关系。
包含关系可以看作一种特殊的依赖关系。
包含关系中,基本用例包含另一个用例的行为功能,如果没有后者它将是不完整的,它依赖于被包含部分才有意义。
一个用例的对话流程中,可能会根据条件插入执行另一个用例以使用其功能,这个被插入的用例可以定义为基础用例的增量扩展即扩展用例,这样在描述基本动作序列的基本用例和描述可选动作序列的扩展用例之间就建立了扩展关系。
泛化关系即继承关系,若一个用例可以被特别列举为一个或多个子用例,这就称为用例泛化。
35.简述事件流
事件流分为三种,基本事件流、备选事件流和异常事件流。
基本事件流描述用例的基本流程,指每个流程正常运作时所发生的事件流。
备选事件流表示这个事件流是可选的或备选的,并不是经常发生的事件流。
异常事件流表示不按设想顺利进行的事件流,是应用程序中必须要捕获的异常情况。
五、问答题
36.讲述需求分析的重要性
开发软件系统的核心任务是确定需求。
对软件需求的完全、准确的理解很大程度地影响了软件开发工作的成功。
需求分析中会遇到各种各样的问题,这些问题给整个项目的进展带来影响与损失。
37.说明用例模型的特点
用例模型的特点:
1.用例都是相对独立;
2.用例的执行结果对参与者来说是可观测和有意义的;
3.任何的用例模型都需要有一个参与者来执行
4.用例必然是以动宾短语形式来出现。
38.用现实中的一个实际需求来进行分析和阐述
需求是用户解决问题或达到目标所需的条件或能力;系统或系统部件满足合同、标准、规范或其他正式规定文档所需具有的条件或能力;反映上述所描述条件或能力的文档说明。
需求既是业务的反映,代表了收入,也是整体系统分析、设计和落地的基础。
针对不同的业务场景,需求是不一样的,需要特殊情况特殊分析。
第四章静态建模
一、单项选择题
1.描述系统的组织和结构,将系统中的对象,特别是业务对象,通过属性相互相关联,并且这些关系不随时间而转移的是(A)P76
A.静态建模 B.动态建模 C.系统建模 D.组织建模
2.一组具有相同属性,操作,关系和语义的对象的描述是(D)P77
A.需求 B.数据 C.对象 D.类
3.每个类都必备的构成元素,用于同其他类相区分的是(B)P78
A.类的属性 B.类的名称 C.类的操作 D.类的分类
4.作为类的一个组成部分,也是一个特性,描述了类在操作系统中代表的事物所具备的特性是(A)P78
A.类的属性 B.类的名称
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 系统分析 设计 练习
![提示](https://static.bdocx.com/images/bang_tan.gif)