软件设计与体系结构课后练习部分答案DOC.docx

上传人:b****0 文档编号:17432866 上传时间:2023-07-25 格式:DOCX 页数:18 大小:101.32KB
下载 相关 举报
软件设计与体系结构课后练习部分答案DOC.docx_第1页
第1页 / 共18页
软件设计与体系结构课后练习部分答案DOC.docx_第2页
第2页 / 共18页
软件设计与体系结构课后练习部分答案DOC.docx_第3页
第3页 / 共18页
软件设计与体系结构课后练习部分答案DOC.docx_第4页
第4页 / 共18页
软件设计与体系结构课后练习部分答案DOC.docx_第5页
第5页 / 共18页
软件设计与体系结构课后练习部分答案DOC.docx_第6页
第6页 / 共18页
软件设计与体系结构课后练习部分答案DOC.docx_第7页
第7页 / 共18页
软件设计与体系结构课后练习部分答案DOC.docx_第8页
第8页 / 共18页
软件设计与体系结构课后练习部分答案DOC.docx_第9页
第9页 / 共18页
软件设计与体系结构课后练习部分答案DOC.docx_第10页
第10页 / 共18页
软件设计与体系结构课后练习部分答案DOC.docx_第11页
第11页 / 共18页
软件设计与体系结构课后练习部分答案DOC.docx_第12页
第12页 / 共18页
软件设计与体系结构课后练习部分答案DOC.docx_第13页
第13页 / 共18页
软件设计与体系结构课后练习部分答案DOC.docx_第14页
第14页 / 共18页
软件设计与体系结构课后练习部分答案DOC.docx_第15页
第15页 / 共18页
软件设计与体系结构课后练习部分答案DOC.docx_第16页
第16页 / 共18页
软件设计与体系结构课后练习部分答案DOC.docx_第17页
第17页 / 共18页
软件设计与体系结构课后练习部分答案DOC.docx_第18页
第18页 / 共18页
亲,该文档总共18页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

软件设计与体系结构课后练习部分答案DOC.docx

《软件设计与体系结构课后练习部分答案DOC.docx》由会员分享,可在线阅读,更多相关《软件设计与体系结构课后练习部分答案DOC.docx(18页珍藏版)》请在冰点文库上搜索。

软件设计与体系结构课后练习部分答案DOC.docx

软件设计与体系结构课后练习部分答案DOC

第一章作业

6、简要叙述软件设计在软件工程中所处的位置和重要性。

答:

所处的位置:

软件需求分析需求规格说明软件设计设计文档软件编码。

重要性:

(1)是对软件需求的直接体现;

(2)为软件实现提供直接依据;

(3)将综合考虑软件系统的各种约束条件并给出相应方案;

(4)软件设计的质量将决定最终软件系统的质量;

(5)及早发现软件设计中存在的错误将极大减少软件修复和维护所需的成本。

7、软件设计应该包含哪些要素?

答:

软件设计应该包含:

目标描述、设计约束、产品描述、设计原理、开发规划、使用描述。

8、软件体系结构与软件设计有何关系?

软件体系结构的出现有何必然性和重要意义?

答:

软件体系结构与软件设计的关系:

软件体系结构设计作为软件设计过程中的活动之一,能在较为抽象的级别上描述整个软件系统的结构,成为大规模、复杂软件系统设计中必不可少的步骤。

软件体系结构的意义:

软件体系结构将构件以及构件之间的连接作为软件体系结构的基本组成部分。

软件体系结构使软件复用从代码复用发展到设计复用和过程复用,为不同的人提供了共同的语言,体现了系统早期的设计决策,并作为系统设计的抽象,为实现框架和构件的共享与复用,基于体系结构的软件开发提供了有力的支持。

第二章作业

1、简述UML的特点和用途。

 

答:

UML的发起者在最初制定UML时,充分考虑了各种需求、方法和语言的特点使UML在表达能力、对新技术的包容能力和扩张性等方面具有显著的优势:

 

(1)为使用者提供了统一的、表达能力强大的可视化建模语言,以描述应用问题的需求

模型、设计模型和实现模型。

 

(2)提供对核心概念的扩展机制,用户可加入核心概念中没有的概念和符号,可为特定

应用领域提出具体的概念、符号表示和约束。

 

(3)独立于实现语言和方法学,但支持所有的方法学,覆盖了面向对象分析和设计的相

关概念和方法学。

 

(4)独立于任何开发过程,但支持软件开发全过程。

(5)提供对建模语言进行理解的形式化基础,用元素型描述基本语义,OCL描述良定义规则,自然语言描述动态语义。

 

(6)增强面向对象工具之间的互操作性,便于不同系统间的集成。

UML的目标是以面向对象方式描述任何类型的系统,具有广泛的应用领域。

UML最常用于建立软件系统的模型,但它同样可以用于描述非软件领域的系统,如机械系统、企业机构或业务过程、处理复杂数据的信息系统、具有实时要求的工业系统或工业过程、甚至数字电路等。

2、在面向对象开发方法中,对象、类、继承、聚集、多态、消息等概念分别指什么?

 

答:

(1)对象。

对象是现实世界中个体或事物的抽象表示,是其属性和相关操作的封装。

性表示对象的性质,属性值规定了对象所有可能的状态。

对象的操作是指该对象可以展现的

外部服务。

   

(2)类。

类是某些对象的共同特征(属性和操作)的表示。

对象是类的实例,类是对象

创建的模板。

   

(3)继承。

类之间的继承关系是实现现实世界中遗传关系的直接模拟,它表示类之间的内在联系以及对属性和操作的共享,即子类可以沿用父类(被继承类)的某些特征。

子类也可以具有自己独有的属性和操作。

(4)聚集。

除遗传关系外,现实世界中还普遍存在着部分整体关系。

这种关系在面向对象方法学中表示为类之间的聚集关系。

在聚集关系下,部分类的对象是整体类对象的一个

组成部分。

(5)多态。

多态指父类及其子类中,对外接口的定义形式相同,却可以对应多种接口的实现形态。

(6)消息。

消息传递是对象与其外部世界相互关联的唯一途径。

4、UML结构建模和行为建模有何区别?

答:

结构建模被称为静态建模,主要用来描述系统中包含的元素以及元素之间的关系;

行为模型被称为动态模型,主要用来刻画系统中的动态行为、过程和步骤。

5、简要叙述类图在UML中的意义和重要性,以及类图和对象图有何联系与区别。

答:

(1)意义:

类图用来刻画软件中类等元素的静态结构和关系。

(2)重要性:

面向对象软件的最终实现体现为多个类的实现和组织,因此类图与面向对象软件实现之间的映射最为直观,对软件结构的设计至关重要,是软件实现要遵循的主要规格说明。

(3)类图和对象图的联系:

对象是类的实例,对象图也可以看做类图的实例,对象之间的连接是类之间的关联关系的实例。

对象图描述在特定时刻和特定环境下,类图中类的具体实例以及这些实例之间的具体连接关系,能帮助人们理解一个比较复杂的类图。

(4)类图和对象图的区别:

对象的名字下面要加下划线,对象名称后可以注明所属的类。

在一个对象图中可以同时出现一个类的多个实例。

第三章作业

2、简述模块化与信息隐藏在软件设计中的意义。

答:

软件系统的模块化是指整个软件被划分成若干单独命名和可编址的部分,称之为模块,这些模块可以被组装起来满足整个问题的需求。

在软件设计中实现了功能划分把复杂的大的功能划分成简单的小的模块结构,尽量降低每个模块的成本,减少接口,确保软件总成本最低。

模块化使开活动更加简单的一个重要因素是模块的信息隐藏,即一个模块的开发者不必看到模块的内部,只需要知道其接口即可,使开发者的复杂性降低,不仅支持模块的并行开发,而且还可以减少测试和后期维护的工作量。

3、内聚度、耦合度分别指什么?

为什么软件设计要追求高内聚、低耦合?

答:

内聚度是一个模块内部各成分之间关联程度的度量;耦合度是对模块间关联程度的度量。

软件设计中通常用耦合度和内聚度作为衡量模块独立程度的标准。

划分摸块的一个准则就是高内聚低耦合。

模块间的耦合度是指模块之间的依赖关系,包括控制关系、调用关系、数据传递关系。

模块间联系越多,其耦合性越强,同时表明其独立性越差。

降低模块间的耦合度能减少模块间的影响,防止对某一模块修改所引起的“牵一发动全身”的水波效应,同时每一个类完成特定的独立的功能,实现高内聚,保证系统设计顺利进行。

内聚和耦合密切相关,同其它模块存在强耦合关系的模块常意味这弱内聚,强内聚常意味着弱耦合。

5、为什么软件设计过程常常是一个不断迭代的过程?

答:

设计者一般不可能一次就能完成一个完整的设计,软件设计可能是一个反复的过程,在设计过程中需要不断添加设计元素和设计细节,并对先前的设计方案进行修正。

所以,软件设计一般都可以被看做是迭代的过程。

8、是总结本章列举的软件体系结构设计方法各有何特点。

结合自己的开发经验,讨论如何选择合适的软件体系结构设计方法。

答:

特点如下:

(1)软件体系结构的多视图建模

通过逻辑视图,开发视图、进程视图、物理视图、进程来描述的软件体系结构。

(2)基于评估与转换的软件体系结构设计

通过迭代的开发方式,直至满足客户的需求。

(3)模式驱动的软件体系结构设计

通过总结、记录、复用来实现的体系结构设计

(4)领域特定的软件体系结构设计

借鉴领域中已经成熟的软件体系结构来实现解决方案在某个领域内的复用。

(5)软件产品线方法

软件复用发展的一个更高阶段,它并不仅仅局限于以前人们在软件复用中考虑的对函数、模块、类、体系结构甚至子系统的复用。

(6)其于目标推理的软件体系结构设计方法

功能需求和非功能需求皆被表达为要达到的目标。

(7)其于属性的软件体系结构设计方法

基于目标图推理的体系结构设计方法、基于属性的体系结构设计方法。

开发心得:

在这些具有系统化过程的软件开发方法中,体系结构设计师一个不可避免的过程,它们也都有自己的一些设计方式。

但这并不排斥前面讲到的软件体系结构设计方法,反之,如果能把这些体系结构设计方法与开发方法学结合起来,将能起到更好的效果。

12、嵌入式软件有何特点?

嵌入式软件设计可分为哪几类?

答:

特点:

(1)一般用于单一任务;

(2)有多种类型的处理器体系结构支持;

(3)资源约束更加严格;

(4)需要更高的可靠性和安全性;

(5)对反应性和实时性要求很高;

(6)通常固化存储。

通常分为以下两类:

(1)无操作系统的嵌入式软件:

前后台系统、中断驱动系统、巡回服务系统、基于定时器的巡回服务系统。

(2)有操作系统的嵌入式软件:

分时系统、实时系统。

13、什么是软件设计规格说明?

它在软件开发中有何重要用途?

答:

软件设计规格说明:

软件设计过程中各个活动的结果最终应该文档化,形成正式的软件设计规格说明书,作为软件设计的输出,例如对系统的目标、范围、约束的定义,对软件结构、接数据等方面的设计等。

重要用途:

形成软件设计规格说明被评审,并作为后续软件实现活动的依据。

14、软件设计评审的目标是什么?

设计评审中需要关注哪几方面?

答:

目标:

确保设计规格说明书能够实现所有的软件需求,及早发现设计中的缺陷和错误,并确保设计模型已经精化到合格的软件实现工程师能够构造出符合软件设计者期望的目标软件系统。

一、注意对需求规格说明的正确性进行评审

1是否有需求与其他需求相互冲突或者重复?

2是否清晰、简洁、无二义地表达了每个需求?

3是否每个需求都通过了演示、测试、评审,分析是否得到了验证?

4是否每个需求都在项目的范围内?

5是否每个需求都没有内容和语法上的错误?

6在现有的资源内,是否能实现所有的需求?

7每一条特定的错误信息,是否都是唯一的和具有含义的?

二、注意对需求规格说明的实践性进行评审

三、注意对需求规格说明的完整性进行评审

1编写的所有需求,其详细程度是否一致和合适?

2需求是否能为设计提供足够的基础?

3所有对其他需求的内部引用是否正确?

4是否包含了每个需求的实现优先级?

5是否定义了功能说明的内在算法?

6是否包含了所有已知的客户需求或系统需求?

7是否遗漏了必要的信息?

如果有遗漏的话,把他们标记为待确定的问题?

8是否对所有预期的错误条件所产生的系统行为都编制了文档?

四、注意对需求方案的可行性和成本预算进行评审

五、注意对需求的质量属性进行评审

六、注意对需求的可实施性进行评审

七、注意对需求包含的用例文档进行评审

1用例的目标或价值度量是否明确?

2用例是否是独立的分散任务?

3是否明确说明可用用例会给哪些参与者带来用处?

4编写用例的详细程度是否恰当?

是否有不必要的设计和实现细节?

5所有预期的分支过程是否都编写了文档说明?

6所有预估的异常过程是否都编写了文档说明?

7是否存在一些普通的动作序列可以分解成独立的用例?

8每个路径的步骤是否都清晰明了,无歧义而且完整?

9用例中的每个参与者和步骤是否都与所执行的任务有关?

10用例中定义的每个可选路径是否都可行和可验证?

11用例的前置条件和后置条件是否合理?

八、注意需求评审会的过程和结束标准

1审查期间评审员们提出的所有问题都已经解决。

2相关文档中的所有更改都已经正确完成。

3修订过的文档进行了拼写检查。

4所有标识为TBD(待确定)的问题已经全部解决,或者已经对每个TBD的问题的解决过程、计划解决的目标日期和责任解决人等编制了文档。

5需求文档正式进入了配置库。

第四章作业

2、用例分析与设计在设计过程中起到什么作用?

答:

理解业务领域和初步需求描述文档,更准确地使用用例图描述系统需求,作为后续分析和设计活动的依据。

3、什么是概念模型设计?

为什么需要建立软件概念模型?

答:

概念模型设计:

主要针对问题领域中的对象进行描述的设计。

原因:

在用户需求和相关的业务领域中,往往有一些全局性的概念对于理解需求至关重要。

因此有必要抽取这些概念,研究这些概念之间的关系。

问题A:

图书馆管理

答:

问题B:

保温系统

答:

第五章作业

1、变换流和事务流有何区别?

答:

变换流:

信息沿输入通路进入系统,同时由外部形式变换成内部形式,进入系统的信息通过变换中心,经加工处理以后再沿输出通路变换成外部形式离开软件系统。

当数据流图具有这些特征时,就是变换流。

事务流:

数据沿输入通路到达一个处理T,这个处理根据输入数据的类型在若干个动作序列中选出一个来执行,这类是事务流。

2、面向数据流的设计过程包含哪些步骤?

答:

面向数据流的结构设计过程和步骤是:

(1)分析、确认数据流图的类型,区分是事务型还是变换型。

(2)说明数据流的边界。

(3)把数据流图映射为程序结构。

对于事务流区分事务中心和数据接收通咱,将它映射成事务结构。

对于变换流区分输出和输入分支,并将其映射成变换结构。

(4)根据设计准则对产生的结构进行细化和求精。

3、启发式设计策略有哪些?

它们对软件设计起到什么作用?

答:

有以下几种:

改造程序结构,减小耦合度,提高内聚度;改造程序结构,减少高扇出,在增加程序深度的前提下追求高扇入;改造程序结构,是任一模块的作用域在其控制域之内;改造程序结构,减少接口的复杂性和冗余程度,提高协调性;模块功能应该可预言,避免对模块施加过多限制;改造程序结构,追求单入口单出口的模块;为满足设计或可移植性的要求,把某些软件用包的形式封装起来。

作用:

对程序结构雏形进行优化,以提高软件设计的整体质量。

第六章作业

6、描述你在工作过程中遇到的最好和最差的用户界面,并使用本章中的概念进行评价。

答:

最好的用户界面:

qq用户界面。

界面设计的很简约,虽然窗口很小,但内容丰富,而且和手机版本有很好的衔接等。

最差的用户界面:

会计管理软件。

界面简陋,层次不清晰,容易让用户误操作等。

设计良好的用户界面应保证:

1.使系统处于用户控制之中

(1)所定义的交互模式不会强迫用户进行不必要的动作,用户能很容易地进入或退出交互模式。

(2)提供灵活的交互方式

(3)允许打断或撤销用户交互

(4)事先根据用户的熟练程度来提高交互效率并且允许交互定制

(5)为不熟悉系统的用户隐藏内部技术细节

(6)与出现在屏幕上的对象直接交互

2.减少用户记忆负担

(1)减少短期记忆要求

(2)建立有意义的默认设置

(3)定义符合直觉的快捷方式

(4)界面的视觉布局应该模拟真实世界

(5)以渐进的方式来揭示信息

3.保持界面一致性

(1)所有的可视信息都要根据设计标准来组织,并且在所有屏幕显示中都遵循这个设计标准

(2)输入机制只有有限的几种,从而可在整个应用中一致地使用

(3)一致地定义并实现从任务到任务的跨越机制。

7、给下列用户和系统建议恰当的操作对象:

a)仓库管理员使用的零件目录系统。

b)航空飞行员使用的飞行器安全监控系统。

c)经理使用的财务数据库。

d)警察使用的巡逻车控制系统。

答:

a)操作对象有零件、仓库管理员。

b)操作对象有飞行器、航空飞行员、传感器。

c)操作对象有经理、财务数据表。

d)操作对象有巡逻车、车辆、警察、传感器。

12、写出下列情况可能的交互场景:

a)使用网络版的戏院预订服务来预定戏票并使用信用卡进行支付。

b)在手机版本的软件上预定相同的戏票。

答:

第七章作业

1、软件体系结构风格与软件设计模式的区别是什么?

答:

(1)软件体系结构风格(ArchitectureStyles)风格是表达特定系统元素和组织方式的通用范例(idiomaticparadigm)。

软件体系结构风格,反映众多系统共有结构的习惯用法和语义,表述系统的静态结构方式,强调软件元素的组织形式和通常用法。

(2)软件设计模式(DesignPattern)设计模式是软件问题高效和成熟的设计模板(pattern),模板包含了固有的问题的处理逻辑,强调处理逻辑采用方式的直接复用。

第八章作业

1、什么叫分布构件框架?

答:

分布构件框架是应用于分布式系统开发的构件框架。

它封装了网络通信的细节,具有两部分功能:

其一,向客户提供访问服务器上的分布构件的接口;其二,向服务器上的分布构件提供一个运行的环境(也称容器)。

2、试比较本章介绍的三种构件框架

答:

EJB:

它是Java服务器端服务框架的规范,软件厂商根据它来实现EJB服务器。

应用程序开发者可以专注于支持应用所需的商业逻辑,而不用担心周围框架的实现问题。

EJB规范详细地解释了一些最小但是必须的服务,如事务,安全和名字等。

软件厂商根据这些规范要求以保证一个enterprisebean能使用某个必需的服务。

规范并没有说明厂商如何实现这些服务。

这使得通过阅读规范来学习EJB更加困难,因为它允许厂商在不牺牲核心服务的可移植性的前提下来提供一些增强功能。

DCOM:

Microsoft的分布式COM(DCOM)扩展了组件对象模型技术(COM),使其能够支持在局域网、广域网甚至Internet上不同计算机的对象之间的通讯。

使用DCOM,应用程序可以在位置上达到分布性,从而满足客户和应用的需求。

CORBA:

CORBA是CommonObjectRequestBrokerArchitecture的缩写,它是分布计算机技术的发展结果,CORBA技术的成功在于,它除了能够解决由于多个系统层次上的异构带来的“孤岛”问题,还在理论和技术上扩展了客户/服务器的模式,使系统具有良好的可伸缩性,便于系统的开发与升级,保护已有投资。

第九章作业

1、针对你曾经开发的某个软件系统,总结出哪些质量属性对此系统最重要以及描述这些质量属性的方法。

答:

软件的质量属性:

有效性、高效性、灵活性、完整性、可操作性、可靠性、健壮性、可用性、可维护性、可移植性、可重用性、可测试性。

描述这些质量属性的方法:

(1)质量属性专题研讨会(QAW)

(2)体系结构权衡分析方法(ATAM)

(3)软件体系结构分析方法(SAAM)

(4)积极的中间设计审核(ARID)

2、针对某个你感兴趣的软件系统,介绍它的商业动机。

答:

对校园宿舍管理系统商业动机分析:

人所从事的任何活动都是由一定的动机所引起的,其任何行为也受到一定的动机所支配,并按照不同的方式组合、交织在一起,相互作用,相互制约,构成各种各样的动机体系。

在此,主要对校园学生宿舍信息管理系统的商业动机做分析说明。

信息管理系统,简而言之就是对信息的集中管理,起到对信息方便、快捷、有效、准确的管理。

学生宿舍管理是各高校后勤管理的重要组成部分,一所学校的主要成员就是学生,所以说,学生的数量是庞大的,每个学生又有着不同的信息,比如说,姓名、学号、性别、班级、所在宿舍楼等等复杂信息。

因此,学生宿舍管理日常工作中需要处理大量的信息,那么怎样才能对这庞大的学生信息和复杂的人事结构进行方便、快捷、有效、准确的管理呢?

不知不觉,这成了人们日益关注的问题,也是急需解决的问题,因为它关系到学校机构的正常运营。

我们知道,在科技不发达的以前,管理这些信息的主要方式是基于文本和表格等纸质媒介的人工处理方式。

在人数不多且信息结构较为简单的机构,这些处理方式是可以满足的,也不会影响机构的正常运营。

但是,随着人数量的不断扩大,信息结构的复杂度不断加深,这些基于文本和表格等纸质媒介的人工处理方式已远远不能满足当今的需要,因为人工管理效率低下,劳动强度大,信息安全性差,信息处理速度慢而且容易出错。

现如今,随着信息时代的到来,计算机的广泛普及以及编程技术的发展,计算机技术逐渐应用到各行各业,为世界各地各个群体的用户提供了更加方便和快捷的服务。

近年来各行各业都开始使用专用管理系统,管理系统以其便捷的操作,快速的处理过程和准确的处理结果大大提高了工作的效率,为全社会节约大量的时间并创造了大量的财富。

因此,设计开发好一个专用管理系统对一个公司(或机构)的发展起着至关重要的作用。

基于Internet的学生宿舍管理系统的产生为高校的学生宿舍管理工作提供了一种操作简捷、准确性好且高效率的新方式。

学生宿舍管理系统采用基于Java语言的Servlet和JSP技术开发而成,数据库服务器使用MySQL,Web服务器使用Tomcat。

用户采用IE或Firefox等主流浏览器即可正常使用该系统,用户只要坐在电脑前就能进行人事管理的操作了。

现在,主要讲解该系统值得人们青睐的地方,也就是商业动机。

学生宿舍管理系统除了上述所讲到的优点外,还具备了许多人们所青睐的优点。

此系统具备了许多卖点,可以说,它可为公司或机构节省许多人力、物力和财力。

人力、物力和财力总归为利益,而买家和卖家所追求的不正是利益吗,同时,利益也还有高低之分,追求更高的利益这也是买家和卖家的的目标。

放眼未来,其实我们的需求不断在更新,说不定我们现有的系统到了未来将会被要求具备有更高的系能来创造价值。

而这些正是商业动机,如果人们能够迎合这些商业动机,那么他就是赢家。

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

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

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

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