系统分析与设计课后习题答案

更新时间:2024-05-17 06:03:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第一章

1.什么是系统?信息系统一般具有那些特性?

答:系统是一组为实现某些结果相互联系相互作用的部件的集合。 1.可分解性2.边界性

2.从应用范围来看,信息系统可以分为哪些类型?

答:1.事物处理系统2.管理信息系统3.智能支持决策系统4.办公自动化系统 3.信息系统中典型的关联人员有哪些?他们的角色是什么?

答:系统所有者(通常是中层或者高层经理,对于小型系统来说,可能是中层经理或者主管)、用户、分析设计人员(都代表信息系统的技术专家角色)、外部服务者(业务顾问和系统顾问等)以及项目经理(团队的领导者) 4.请解释系统内部用户和外部用户的区别是什么?

答:内部系统用户主要是指系统实际操作人员,这些人员往往专注于信息系统的处理速度和处理事务的正确性。

外部系统用户主要是指系统的直接或者间接使用人员,所有这些外部系统用户最关注的是使用系统的服务操作是否简单易学,方便操作。 5.什么是模型驱动分析?为什么要使用此方法?举例说明。

答:模型驱动分析法强调绘制图形化系统模型来记录和验证现有的或建议的系统。系统模型最终将成为设计和构造一个改进系统的蓝图。结构化分析、信息工程和面向对象分析都是基于模型驱动的分析方法。

6.什么是系统开发生存周期?在项目启动阶段涉及的主要活动有哪些? 答:开发一个完整的系统项目总会经历“目标、计划、分析、设计、实现、维护”这样的过程或步骤,这就是系统开发的生存周期(系统项目启动、业务需求分析、详细系统设计、系统实现与维护)。启动阶段的主要涉及5个活动:定义问题域、制定项目的进度表、确认项目的可行性、安排项目人员、启动项目。 7.为什么引入系统原型开发方法?它的优缺点是什么?

答:采用最经济的方法,尽快设计出一个可以实际运行的系统原型。 优点:提高了用户参与的主动性;系统开放周期短;能更好的适应需求的变化并减少误解,能有效的提高最终系统的质量,特别是用户接受性,为保证将系统提供给用户使用奠定了基础。

缺点:1.系统分析和功能设计贯穿于整个开发过程中,使得系统的总体结构变得不明确;2.原型选取的不确定性可能降低系统开放速度;3.对原型进行分析设计时,依然沿袭结构化方法,自顶向下模块化的设计思想,数据和功能相互分离的缺陷在原型法中依然存在,不利于软件构件的重用;4.开发过程中不断引入用户需求的变化,造成了系统开发的不确定性。

8.解释敏捷方法的基本原理为何能带来加速的系统开发和部署?

答:专注于增量式描述、设计和系统实现的迭代式开发方法,有用户之间参与到开发过程中,由于开发负担的降低,使得快速系统开发成为可能,敏捷方法允许开发团队将主要精力集中在软件本身,而不是设计和编制文档上。 9.在系统开发过程中,为什么要引入项目管理?项目管理涉及的知识领域有哪些?

答:系统项目管理有利于将系统开发人员的个人开发能力转化成企业的开发能力,并使企业的开发能力不断提高和成熟。

九个:1.项目规划管理;2.项目时间管理;3.项目成本管理;4.项目质量管理;5项目人力资源管理;6.项目通信管理;7.项目风险管理;8.项目获取管理;9项目集成管理。

10.什么是计算机辅助软件工程(CASE)?举例说明有哪些常用的CASE工具? 答:在系统分析与设计活动中,系统分析人员按照工程管理的方法和原则借助于计算机及其软件工具的帮助,开发、维护和管理软件产品的过程。 常用的工具:Rational Rose、Sybase PowerDesigner、Microsoft Visio、Microsoft Project、Enterprise Architect、MetaCase、ModelMaker、Visual Paradigm等。 第二章

1.用例和场景之间是什么关系?与协作又是什么关系?

答:用例与场景的关系(脚本与用例的关系)就像类与实例的关系,即用例是场景的抽象,场景是用例的一个实例。

2.请指出用例图的组成元素及其识别方法,并构建自选项目的用例图并给出相关用例的描述。

答:用例的组成元素:参与者、用例、关系。

识别方法:1)参与者:Actor,是与系统交互的实体,包括需要和系统交换信息的一切实体。参与者不是系统的一部分,它们处于系统的外部。参与者可能是人、计算机硬件或设备或外部系统。2)用例:usecase,是对系统行为的动态描述,本质上是用户需求的描述,是一个具体的用户目标。3)用例图中存在三种关系,参与者与用例之间的关系、参与者与参与者之间的关系以及用例与用例之间的关系。

3.聚集与组合有何区别?并请举例说明。

答:聚集是一种特殊形式的关联,表示部分与整体的关系。“部分”可以独立于“整体”而存在,比如,一个学生可以同时是几个社团的成员。聚集使用带空心菱形的实线表示,菱形指向“整体”。举例:计算机与CPU、内存、键盘的关系。 组合强调部分与整体具有相同的生命周期,“部分”对象完全依赖于“整体”对象。组合使用带实心菱形的实线表示,菱形指向“整体”。举例:窗口和菜单、列表框和按钮的关系。

5.简述如何在实际工作中发现类,怎样组织类之间的继承关系。

答:用名词识别法识别类。1.找出候选类:采用名词识别法标识系统描述或用例描述中所有名词,得到候选类,然后考察每个候选类,从中去掉不必要的类。 2.审查与筛选类:1)删除冗余类;2)去掉无关类;3)删除模糊的类;4)去掉应该是类“属性”的候选类;5)所描述的操作不适应作为类,如果所选名次有动作含义,则描述的操作就不是类;6)实现结构不宜作为类。

7.什么是构件?构件与普通类有哪些相同点和不同点?UML中的构件有哪几种?

答:构件是定义了良好接口的物理实现单元,它是系统中可替换的部分,是由类、接口等逻辑元素打包而形成的物理模块。

构件在许多方面与类相似,二者都有名称;都可以实现一组接口;都可以参与依赖、泛化和关联关系;都可以被嵌套;都可以有实例;都可以参与交互。 构件与类的不同点:抽象方式不同;抽象的级别不同;访问方式不同。(详见P57) 构件的分类:在UML中,构件按其作用可以分为部署构件、工作产品构件和可执行构件。

8.构件有哪两种接口,如何表示?叙述它与构件之间的关系。

答:构件有两类接口:1)输出接口:是被构件实现的接口,也称供口,也就是说,构件将该接口作为服务窗口向其他构件开放,它是一个构件能够为其它构件提供服务的操作的集合,一个构件可以有多个供口。2)需求接口:构件使用的接口被称为需求接口或引入接口,即构件向其它构件请求服务是要遵循的接口。一个构件可遵从多个引入接口。 表示看P58图2.36.

10.比较部署图和构件图,说说它们各自的特点。

答:UML使用两种视图来表示实现单元:构件图和部署图。构件图表达的是系统代码本身的结构,它将系统中可重用的块包装成具有可替代性的物理单元,这些单元被称为构件,或组件。构件图描述了软件系统的各种构件和它们之间的相互关系。使用构件图有利于软件的复用以及方便项目组成员制定工作目标和了解工作情况。部署图是UML唯一能描述系统硬件的图。部署图由结点构成,结点代表系统的硬件,构件在结点上驻留并执行。部署图表示了系统硬件的物理拓补结构以及在硬件上运行的可执行构件,它表达的是运行系统的结构。

11.在部署图中,什么是结点?UML中有几种结点,它们的区别是什么?请举例说明。

答:结点是系统运行期间的物理单元,它代表计算机资源,系统的构件可以配置在结点上。

结点的种类:1)处理器《Processor》 :是能够执行软件、具有一定计算能力的硬件。如服务器、工作站等。2)设备《Device》 :设备是没有计算能力的硬件,通常情况下是通过其接口为外部提供服务。如打印机、扫描仪、IC读卡器等。 第三章

1.在面向对象的系统分析与设计中,系统动态模型包括哪些模型?

答:动态模型包括状态模型和交互模型。状态模型包括活动图和状态图,交互模型包括顺序图和通信图。

2.动态建模中,活动图建模主要用来做什么?

答:活动图是用来描述达到一个目标所实施一系列活动的过程,描述了系统的动态特征。

3.活地图建模的步骤有哪些?应当注意什么问题?

答:一.对业务过程建模:1.确定活动图描述的范围;2.确定活动对象;3.确定活动序列;4.确定控制流的转移;5.确定工作流中涉及的重要对象。

二.操作建模:1.确定相关元素;2.确定边界范围;3.确定活动序列;4.如果需要,使用分支和合并来描述条件路径和迭代;5.如果操作属于主动类,在需要时可以用分支和汇合来描述并发的控制流。

4.简述在面向对象的系统分析与设计中,状态模型的主要用途。

答:状态机图描述系统中类和对象随时间变化的动态行为,通过状态与状态转换来描述用例、协作和方法的动态行为。

5.在UML中,状态的图符由几部分组成?每部分的内容是什么?

答:一般来说,可以列出该状态要执行的事件和动作,比如入口动作(什么事件可触发它开始)、出口动作、内部转换(在状态不改变的情况下会做什么事情)、延迟事件、内部活动(对象处于状态时一直执行的动作,直到被一个事件中断为止)、子状态或子状态机等组成部分。

6.状态图中的状态转换一般是由哪些事件触发的?

答:调用事件、改变事件(在UML中变化事件用when关键字表示,当条件有假变为真时,事件发生)、信号事件、时间事件(用关键字after表示)。 7.动态建模中,描述对象交互行为的建模图形有哪几种图? 答:顺序图和通信图。 8.顺序图的作用和特点是什么?

答:顺序图描述的是参与交互的对象及对象之间消息交换的顺序,用来表示用例中的行为顺序。特点:注重消息的传递及时间顺序的安排(生命线)。 9.绘制顺序图的步骤有哪些?应注意的问题是什么?

答:步骤:1.确定交互范围及涉及的对象;2.合理安排对象顺序;3.确认消息及传递。

10.通信图的作用和特点是什么?从动态建模的角度看,顺序图与通信图有什么异同?

答:通信图是一种强调发送和接受消息的对象及其组织结构的交互图,用以描述对象及对象之间的交互关系。特点:按照空间布局的角度来分析。异同:顺序图

和通信图都可表示消息的序列,都是用来展示对象间的链接及组织结构的交互,但二者的侧重点不同,顺序图着重于描述交互的时间顺序,通信图则侧重于描述协作对象间交互和链接。

11.过程建模中的“过程”概念如何理解?

答:过程是信息系统的一个基本构件,一个系统通常会包含多个过程,过程响应业务事件和条件并将数据转换成有用的信息,过程建模技术就是建模过程,并分析过程与系统环境、其它系统以及其它过程的交互技术。 12.过程建模的主要步骤有哪些?

1.构造系统上下文数据流图,确认系统的项目范围

2.绘制功能分解图,将系统划分成逻辑子系统,如果分析的是很小的系统,这一步也可以省略

3.编写事件响应或用例清单表,以确定并证实系统必须提供响应的业务事件 4.为分解图中的每个事件添写处理过程

5.作为备选,为每个事件构造一个事件图,并进行验证

6.通过合并事件图,构造一个或者多个系统图,帮助显示系统的整体视图 7.对需要进一步处理细节的事件过程构造基本图,帮助显示单个事件的所有基本过程、数据存储和数据流。 第五章

1. 软件架构设计主要应用于软件生存周期的哪个阶段?

总体设计阶段

2. 系统架构师和软件架构师的联系和差别有哪些?

系统架构师的职责包括,一是理解系统的业务需求,制定系统的整体框架;二是对系统该框架相关技术和业务进行培训。

软件架构师的角色是主导系统全局的分析、设计和实施,负责软件架构和关键技术的决策。

系统架构师与软件架构师所必需的知识体系不尽相同,系统分析师的主要职责是在需求分析、开发管理、运行维护等方面,二软件架构师的重点工作在架构和设计这两个关键环节上。因此,系统分析师必需具备的知识体系中对系统的构架和设计等方面知识体系的要求就相对低些;而软件架构师在

需求分析、项目管理、运行维护等方面知识的要求就相对低些。 3. 软件架构师应掌握的知识体系包括什么?

信息系统综合知识体系和软件架构知识体系。

4. 软件架构知识体系包括哪些内容?

系统计划;系统架构设计;设计模式;系统设计;软件建模;分布式系统设计;嵌入式系统设计;系统可靠性分析与设计;系统的安全性和保密性设计;复杂架构设计

5. 软件架构设计的目标、策略和基本原则是什么?

目标:可靠性、安全性、可扩展性、可定制化、可延伸性、可维护性、客户体验性、市场时机等

策略:全面认识需求;关键需求决定架构的选择;多视图探寻架构;尽早验证架构

原则:设计总纲;子系统/模块划分原则;接口设计原则;质量属性设计原则

6. 在软件架构设计中,逻辑架构、物理架构和系统架构各自关注点有什么不同?

逻辑架构指软件系统中元件之间的关系; 物理架构指软件元件是怎样放到硬件上的; 系统架构指的是系统的非功能性特征。

7. 框架和模式的区别和联系是什么?

框架:是某种应用的半成品,是完成特定系统的一组供选用构件;框架一般是成熟的,稳健的,可以处理系统很多细节问题的。

模式:每个模式都描述了一个在我们的环境中不断遇到的问题,然后描述了该问题的解决方案的核心;

从规模上讲,模式专注于微观层面的分析与设计,而框架着眼于宏观的构造。 从实现的角度看,模式只是一种解决问题的方法,一个解决方案,而框架却是一个实现这种方案的具体的产品,有着实际的功效与作用。 从关系上讲,模式是框架的理论基础,多个模式的实现构成了一个框架。框架是模式的具体实现,一个局部或全局的框架,一般都要用到模式。 既然是

框架,本身就表示它是一种好的通用的产品,怎么体现它是好的呢,模式恰好证明了它是解决某一类问题的最好的解决方案,所以说,没有用到模式的框架,将不是一个良好的可用的框架。 8. 选择和设计软件架构的常用经验法则是什么?

如果要开发系统类型软件,可选择分层架构、管道和过滤器或黑板架构;如果开发分布式软件,可选择代理架构、客户/服务器架构或点对点架构;如果开发交互式软件,可以选择模型-视图-控制器架构或显示-抽象-控制架构;其他典型的架构还包括:面向对象风格(ADT)、基于消息广播且面型图形用户界面的Chiron2风格、基于事件的隐式调用风格、面向服务的架构等。 9. 分层架构和客户/服务器架构分别适合于什么样的软件架构设计?

分层架构适用于容纳新的技术和变化的软件架构设计

客户/服务器架构适用于资源不对等,解决资源共享问题的架构

10. 常用的数据流图有哪几种类型?分别按照什么样的系统架构设计?

变换型数据流图:首先,设计软件结构的顶层和第一层,设计一个主模块;然后,设计软件结构的下层结构,一共两个下属模块,一个接收数据;另一个把数据变成上级模块所需要的数据格式。

事务型数据流图:首先,设计软件结构的顶层和第一层,顶层是系统的事务控制模块;然后,设计软件结构的下层结构。

变换-事物混合型数据流图:以变换型为主,事务型为辅

11. GRASP模式的核心思想是什么?

职责分配

12. GRASP模式有哪几种类型?分别适合于什么样的场合使用?

信息专家:类的职责分配问题 创建者:类的实例的创建职责问题 高内聚:降低类的复杂程度,简化控制 低耦合:降低类之间的关联程度,适应可变性 控制者:解决时间处理职责问题

多态性:把基于类型的可变行为的定义职责分配给行为发生的类 纯虚构:把非问题领域的职责分配给人工定义的类

间接性:解决类的关联问题

变化预防:应对将来可能发生的变化或者其他不稳定因素

13. GOF设计模式有哪几种分类方法?

创建型模式;结构型模式;行为型模式

14. 比较经典的分布式应用程序构架的实现有哪几种?各有什么特点?

DNA模型:独立于语言;有较完善的事务处理及安全机制;过分依赖windows平台

CORBA模型:独立于语言;实现了跨平台;实现复杂

JAVAEE模型:实现了跨平台;可以配置到任何服务器端环境中;各框架都有一定的缺陷

15.系统物理设计及实现常用的描述工具是什么? 答:构件图和部署图

16.UML中用于构件的标准构造型有哪几种?

答:1.《executable》说明一个构件可以在系统的结点上执行 2.《library》说明构件是一个静态的或者动态的对象库 3.《table》说明一个构件代表的是一个数据库表

4.《file》说明一个构件代表的是一个文档,它包含的是源代码或者数据

5.《document》说明一个构件代表的是一个文档

17.结点与结点、结点与构件之间存在着哪些类型的联系,UML中各自表示(p146)?

答:包括关联(通信联系)和依赖(支持联系、成为联系),可以通过从结点到结点绘制的实线或者构件之间的虚线箭头来表示这些联系。

结点之间:通信联系

结点与构件或者对象之间的依赖联系:支持联系《supports》,支持联系可以用标记值“{location}”说明其性质。

构件与构件、构件与对象、对象与对象之间的依赖联系:成为联系《becomes》,可以用标记值“{time=...}”说明其时间性质。

18.系统物理设计过程中需要考虑的因素。

答:1.计算机物理系统配置

2.计算机物理系统选择的依据:包括功能要求、容量要求、性能要求、通信要求等

3.指出费用情况,给出预算结果

4.具体配置方案的评价:可以从性能和价格等方面进行分析,在结论中,提出设计者倾向性的选择方案。 第六章

1.请举例说明类设计原则对类设计起到什么样的帮助作用?( p151) 2.略 3.略

4.怎样从分析模型的类图演化得到相应的设计模型的类图?

答:对象模型的设计,首先应该识别出系统地设计类。分析阶段得到许多分析类,这些分析类都是设计模型的候选类,但只有这些候选类很难实现系统功能,因此,在设计阶段还需要添加一些辅助类(如:接口类、控制器类)和新发现的实体类。 7.在

UML建模中使用包是为了达到怎样的效果?

答:在进行架构设计和子系统设计时,包图常被用来描述设计方案,体现软件系统的高层结构。良好的包结构会很大的增强模型的可维护性,设计良好包结构的关键是“包内强内聚,包间松耦合”。

8.包设计原则有哪几项?与包的内聚性相关的原则是哪些?与包的耦合性相关的原则是哪些? 答:包的内聚度:

.发布重用等价原则、全部重用原则和公共闭合原则。

包的耦合度,强调稳定性,包括非循环依赖原则、稳定依赖原则和稳定抽象原则 第七章

1.什么是人机界面?

答:人机界面是人与机器进行交互的操作方式及用户与机器相互传递信息的媒介,其中包括信息的输入和输出。

本文来源:https://www.bwwdw.com/article/l6l7.html

Top