欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    软件设计与体系结构课后练习部分复习资料.docx

    • 资源ID:69026470       资源大小:42.52KB        全文页数:13页
    • 资源格式: DOCX        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    软件设计与体系结构课后练习部分复习资料.docx

    第一章作业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)所定义的交互模式不会强迫用户进行不必要的动作,用户能很容易地进入或退出交互模式。(2)提供灵活的交互方式(3)允许打断或撤销用户交互(4)事先根据用户的熟练程度来提高交互效率并且允许交互定制(5)为不熟悉系统的用户隐藏内部技术细节(6)及出现在屏幕上的对象直接交互(1)减少短期记忆要求(2)建立有意义的默认设置(3)定义符合直觉的快捷方式(4)界面的视觉布局应该模拟真实世界(5)以渐进的方式来揭示信息(1)所有的可视信息都要根据设计标准来组织,并且在所有屏幕显示中都遵循这个设计标准(2)输入机制只有有限的几种,从而可在整个应用中一致地使用(3)一致地定义并实现从任务到任务的跨越机制。7、给下列用户与系统建议恰当的操作对象:a)仓库管理员使用的零件目录系统。b)航空飞行员使用的飞行器安全监控系统。c)经理使用的财务数据库。d)警察使用的巡逻车控制系统。答:a) 操作对象有零件、仓库管理员。b) 操作对象有飞行器、航空飞行员、传感器。c) 操作对象有经理、财务数据表。d) 操作对象有巡逻车、车辆、警察、传感器。12、写出下列情况可能的交互场景:a)使用网络版的戏院预订服务来预定戏票并使用信用卡进行支付。b)在手机版本的软件上预定相同的戏票。答:第七章作业1、软件体系结构风格及软件设计模式的区别是什么?答:(1)软件体系结构风格(Architecture Styles)风格是表达特定系统元素与组织方式的通用范例(idiomatic paradigm)。软件体系结构风格,反映众多系统共有结构的习惯用法与语义,表述系统的静态结构方式,强调软件元素的组织形式与通常用法。(2)软件设计模式(Design Pattern) 设计模式是软件问题高效与成熟的设计模板(pattern),模板包含了固有的问题的处理逻辑,强调处理逻辑采用方式的直接复用。第八章作业1、什么叫分布构件框架?答:分布构件框架是应用于分布式系统开发的构件框架。它封装了网络通信的细节,具有两部分功能:其一,向客户提供访问服务器上的分布构件的接口;其二,向服务器上的分布构件提供一个运行的环境(也称容器)。2、试比较本章介绍的三种构件框架答:EJB:它是Java服务器端服务框架的规范,软件厂商根据它来实现EJB服务器。应用程序开发者可以专注于支持应用所需的商业逻辑,而不用担心周围框架的实现问题。EJB规范详细地解释了一些最小但是必须的服务,如事务,安全与名字等。软件厂商根据这些规范要求以保证一个enterprise bean能使用某个必需的服务。规范并没有说明厂商如何实现这些服务。这使得通过阅读规范来学习EJB更加困难,因为它允许厂商在不牺牲核心服务的可移植性的前提下来提供一些增强功能。DCOM:Microsoft的分布式COM(DCOM)扩展了组件对象模型技术(COM),使其能够支持在局域网、广域网甚至Internet上不同计算机的对象之间的通讯。使用DCOM,应用程序可以在位置上达到分布性,从而满足客户与应用的需求。CORBA:CORBA是Common Object Request Broker Architecture的缩写,它是分布计算机技术的发展结果,CORBA技术的成功在于,它除了能够解决由于多个系统层次上的异构带来的“孤岛”问题,还在理论与技术上扩展了客户/服务器的模式,使系统具有良好的可伸缩性,便于系统的开发及升级,保护已有投资。第九章作业1、针对你曾经开发的某个软件系统,总结出哪些质量属性对此系统最重要以及描述这些质量属性的方法。答:软件的质量属性:有效性、高效性、灵活性、完整性、可操作性、可靠性、健壮性、可用性、可维护性、可移植性、可重用性、可测试性。描述这些质量属性的方法:(1) 质量属性专题研讨会 (QAW)(2) 体系结构权衡分析方法 (ATAM)(3) 软件体系结构分析方法 (SAAM) (4) 积极的中间设计审核 (ARID)2、针对某个你感兴趣的软件系统,介绍它的商业动机。答:对校园宿舍管理系统商业动机分析:人所从事的任何活动都是由一定的动机所引起的,其任何行为也受到一定的动机所支配,并按照不同的方式组合、交织在一起,相互作用,相互制约,构成各种各样的动机体系。在此,主要对校园学生宿舍信息管理系统的商业动机做分析说明。信息管理系统,简而言之就是对信息的集中管理,起到对信息方便、快捷、有效、准确的管理。学生宿舍管理是各高校后勤管理的重要组成部分,一所学校的主要成员就是学生,所以说,学生的数量是庞大的,每个学生又有着不同的信息,比如说,姓名、学号、性别、班级、所在宿舍楼等等复杂信息。因此,学生宿舍管理日常工作中需要处理大量的信息,那么怎样才能对这庞大的学生信息与复杂的人事结构进行方便、快捷、有效、准确的管理呢?不知不觉,这成了人们日益关注的问题,也是急需解决的问题,因为它关系到学校机构的正常运营。我们知道,在科技不发达的以前,管理这些信息的主要方式是基于文本与表格等纸质媒介的人工处理方式。在人数不多且信息结构较为简单的机构,这些处理方式是可以满足的,也不会影响机构的正常运营。但是,随着人数量的不断扩大,信息结构的复杂度不断加深,这些基于文本与表格等纸质媒介的人工处理方式已远远不能满足当今的需要,因为人工管理效率低下,劳动强度大,信息安全性差,信息处理速度慢而且容易出错。现如今,随着信息时代的到来,计算机的广泛普及以及编程技术的发展,计算机技术逐渐应用到各行各业,为世界各地各个群体的用户提供了更加方便与快捷的服务。近年来各行各业都开始使用专用管理系统,管理系统以其便捷的操作,快速的处理过程与准确的处理结果大大提高了工作的效率,为全社会节约大量的时间并创造了大量的财富。因此,设计开发好一个专用管理系统对一个公司(或机构)的发展起着至关重要的作用。基于Internet的学生宿舍管理系统的产生为高校的学生宿舍管理工作提供了一种操作简捷、准确性好且高效率的新方式。学生宿舍管理系统采用基于Java语言的Servlet与JSP技术开发而成,数据库服务器使用MySQL,Web服务器使用Tomcat。用户采用IE或Firefox等主流浏览器即可正常使用该系统,用户只要坐在电脑前就能进行人事管理的操作了。现在,主要讲解该系统值得人们青睐的地方,也就是商业动机。学生宿舍管理系统除了上述所讲到的优点外,还具备了许多人们所青睐的优点。此系统具备了许多卖点,可以说,它可为公司或机构节省许多人力、物力与财力。人力、物力与财力总归为利益,而买家与卖家所追求的不正是利益吗,同时,利益也还有高低之分,追求更高的利益这也是买家与卖家的的目标。放眼未来,其实我们的需求不断在更新,说不定我们现有的系统到了未来将会被要求具备有更高的系能来创造价值。而这些正是商业动机,如果人们能够迎合这些商业动机,那么他就是赢家。

    注意事项

    本文(软件设计与体系结构课后练习部分复习资料.docx)为本站会员(叶***)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开