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

    山东大学软件学院软件需求分析与设计复习题答案.docx

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

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

    山东大学软件学院软件需求分析与设计复习题答案.docx

    以下内容是曲文博同学整理供应!在此深表感谢! 一, 根本概念1. OOA/OOD: 面对对象分析方法Object-Oriented Analysis,OOA,是确定需求或者业务的角度,依据面对对象的思想来分析业务。是在一个系统的开发过程中进展了系统业务调查以后,依据面对对象的思想来分析问题。OOA所强调的是在系统调查资料的根底上,针对OO方法所须要的素材进展的归类分析和整理,而不是对管理业务现状和方法的分析。面对对象设计Object-Oriented Design,OOD方法是OO方法中一个中间过渡环节。其主要作用是对OOA分析的结果作进一步的标准化整理,以便能够被OOP干脆承受。是一种解决软件问题的设计范式paradigm,一种抽象的范式。2. 迭代开发:是统一开发过程的关键实践 开发被组织成一系列固定的短期小工程 每次迭代都产生经过测试, 集成并可执行的局部系统 每次迭代都具有各自的需求分析, 设计, 实现和测试 随着时间和一次次迭代,系统增量式完善 反应和调整使规格说明和设计不断进化。假如问到特征,就写下面的,没问就不用写。迭代式开发特征:1, 在进展大规模的投资之前就解决了关键的风险分析。2, 使得早期的用户反应在初始迭代中就能出现。3, 对各个目标里程碑供应了短期的焦点阶段性的中心。4, 对过程的测量是通过对实现的评定而不仅仅是文档来进展的。可以对局部的实现进展部署。3. UP:UPUnified Process 是软件工程的过程,是一种指导软件开发活动的方法。供应了在开发组织中分派任务和责任的纪律化方法。它的目标是在可预见的日程和预算前提下,确保满意最终用户需求的高质量产品。统一过程模型是一种“用例驱动,以体系构造为核心,迭代及增量的软件过程框架,由UML方法和工具支持。假如问到RUP,就写下面的,没问就不用写。RUPRational Unified Process,是对统一过程的具体细化。4. FURPS+:是指功能function, 易用性usability, 牢靠度reliability, 性能performance, 可支持性supportability以及协助性和次要因素,它是一种识别软件质量属性的模型也可以说是需求的类型。以下是具体的答复。 功能性 Functional:特性, 功能, 平安性 可用性Usability:人性化因素, 扶植, 文档 牢靠性Reliability:故障频率, 可复原性, 可预料性 性能Performance:响应时间, 吞吐量, 精确性, 有效性, 资源利用率 可支持性Supportablity:适应性, 可维护性, 国际化, 可配置性 :协助性和次要因素 实现implementation:资源限制, 语言和工具, 硬件等 接口Interface:强加于外部系统接口之上的约束 操作operation):对其操作设置的系统管理 包装Packaging:物理包装盒 授权Legal:许可证或其他方式5. 用例:就是一组相关的胜利和失败场景集合,用来描述参及者如何运用系统来实现目标。6. 灵敏建模:灵敏建模(Agile Modeling,AM)是一种基于实践的软件过程,它的范围包括描述如何建模以及以一种高效而灵敏的方式编写文档。志向状况下,AM的实践应当用来促进其它更完整的软件过程。7. 领域模型:是对领域内的概念类或现实世界中对象的可视化表示,也称概念模型, 领域对象模型和分析对象模型,是领域概念的可视化,类似于领域实体的静态信息模型。在UP中,是对现实世界概念类的表示,而非软件对象的表示,该术语并不是指用来描述软件类, 软件构架类领域层或有职责软件对象的一组图。UP领域模型是UP业务对象模型的特化, 专注于特定领域,领域模型主要是在特定群体中用于理解和沟通的工具。有效的领域模型捕获了当前需求语境下的本质抽象和理解领域所须要的信息,并且可以扶植人们理解领域的概念, 术语和关系。8. 设计模式:模式是对问题和解决方案的已命名描述,它可以用于新的语境,为在变更环境中如何运用和权衡其解决方案给出建议,好的模式是成对的问题/解决方案,并且具有广为人知的名称。9. GRASP通用职责安排软件模式General Responsibility Assignment Software Patterns.是一种基于职责的设计,GRASP原那么或模式包括:, 创立者Creator, 限制器Cotroller, 纯虚构Pure Fabrication, 信息专家Information Expert, 高内聚High Cohesion, 间接性Indirection, 低耦合Low Coupling, 多态性Polymorphism, 防止变异Protected Variations。10. SAD文档描述有关架构的总体想法,包含架构分析的关键决策,可以扶植开发人员理解系统的根本概念。二, 简答1您如何对待面对对象的分析, 设计和实现。OO Object-Oriented -面对对象方法基于的“世界观,世界是由对象构成的,对象有其自己的属性和内部运动规律,对象之间的相互作用,构成了大千世界的各种各样的不同系统。面对对象方法的解决问题的思路是从现实世界中的客观对象如人和事物入手,尽量运用人类的自然思维方式来构造软件系统。面对对象=对象(object)+分类(classfication)+继承(inheritance)+通过消息(message)的通信。2说明迭代和进化式开发过程。是一种及传统的瀑布式开发相反的软件开发过程,它弥补了传统开发方式中的一些弱点,具有更高的胜利率和生产率。在迭代式开发方法中,整个开发工作被组织为一系列的短小的, 固定长度如3周的小工程,被称为一系列的迭代。每一次迭代都包括了定义, 需求分析, 设计, 实现及测试。采纳这种方法,开发工作可以在需求被完整地确定之前启动,并在一次迭代中完成系统的一局部功能或业务逻辑的开发工作。再通过客户的反应来细化需求,并开场新一轮的迭代。3统一过程UP的阶段有哪些,每一阶段的工作和目标是什么。统一过程UP有四个阶段:初始阶段, 细化阶段, 构造阶段, 移交阶段。初始:大体上的设想,业务案例,范围和模糊评估,主要目的是建立工程的范围和版本,确定工程目标的可行性和稳定性,制品包括需求和用例。细化:已精化的设想,核心架构的迭代实现,高风险的解决,确定大多数需求的范围以及进展更为实际的评估,该阶段的目的是对问题域进展分析,精细化需求和开场架构设计,确定实现的可行性和稳定性,制品包括系统架构,问题领域, 精化后的需求及设计等相关文档。构造: 对遗留下来的风险较低和比拟简洁的元素进展迭代和实现,打算部署。制品包括精化的设计等相关文档。移交:进展Beta测试和部署。4说明统一过程UP中业务建模科目须要完成的工作,涉及的全部制品的名称和作用。业务建模business Modeling,其用途是理解和沟通“将要部署系统的组织构造和动态特征,通过灵敏建模和需求探讨会的实践,完成领域模型。领域模型是对所关注的现实世界领域中事物的可视化,是领域概念的可视化,类似于领域实体的静态信息模型。领域模型的作用主要是在特定群体中用于理解和沟通的工具;捕获当前需求语境下的本质抽象和理解领域所须要的信息,并且可以扶植人们理解领域的概念, 术语和关系;将那些及当前需求无关的概念类解除在问题域之外。5说明统一过程UP中需求科目须要完成的工作,涉及的全部制品的名称和作用。需求科目须要完成需求探讨会, 设想包装练习, 计点投票表决工作,产出用例模型, 设想, 补充性规格说明及词汇表等制品。用例模型,用来描述功能需求。补充性规格说明,捕获用例或词汇表难以描述的其他需求, 信息和约束,如报表,文档, 包装可支持性, 许可授权。设想, 概述了对工程的“设想。即执行摘要。为工程主要思想供应简洁描述。词汇表,捕获术语和定义,也可起到数据字典的作用。6说明统一过程UP中设计科目须要完成的工作,涉及的全部制品的名称和作用。灵敏建模科目须要通过完成灵敏建模, 测试驱动开发来产出设计模型, 软件架构文档, 数据模型。设计模型,描述逻辑设计的一组图,包括软件类图, 对象交互图, 包图等。软件架构文档,学习协助工具,概括关键架构问题及其在设计中的解决方案。该文档是对重要设计思想及其在系统中动机的概要。数据模型,包括数据库方案,以及在对象和非对象表示之间的映射的策略。7系统的用例模型包括哪些内容,如何确定系统的用例?用例之间的关系有哪几种?请说明用例编写的规那么。用例模型包括:用例图(Use Case Diagram), 用例规约(Use Case Specification)两局部内容,主要由参及者(Actor), 用例(Use Case), 通讯关联(Communication Association)等模型元素构成。用例确定:选择系统边界,确定主要参及者,确定每个参及者的目标,定义满意用户目标的用例,依据其目标对用例进展命名。用例之间的关系:包含(include), 扩展(extend)和泛化(generalization)。编写规那么如下:1. 以无用户界面约束的本质风格编写用例,以本质风格编写用例;剔除用户界面并且关注参及者的意图2. 编写简洁的用例3. 编写黑盒用例,不对系统内部工作, 构件或设计进展描述,通过职责来描述系统,描述做什么,不描述如何做。4. 采纳参及者及参及者目标的视点,关注系统的用户或参及者来编写需求,询问其目标和典型状况并关注理解参及者所考虑的有价值结果5. 找寻主要参及者和目标6. 用例名称应运用动词开头8什么是领域模型?为什么要创立领域模型?如何创立领域模型?举例说明其中每一步的做法。“领域模型 含义:1.在UP及本课中, “领域模型是现实世界中对象的概念透视图,而非软件透视图。2.“软件对象的领域层:在表示层或UI层之下的软件对象层是由领域对象domain object组成的领域对象是表示问题空间事物的软件对象及“业务逻辑或“领域逻辑方法相关。 领域模型的作用:主要是在特定群体中用于理解和沟通的工具;捕获当前需求语境下的本质抽象和理解领域所须要的信息,并且可以扶植人们理解领域的概念, 术语和关系;将那些及当前需求无关的概念类解除在问题域之外。如何创立领域模型 找寻概念类 重用和修改现有的模型 运用分类列表 确定名词短语 将其绘制为UML类图中的类 添加关联和属性(9) 什么是系统依次图?说明为什么运用系统依次图。系统依次图和用例之间 的关系是什么?系统依次图SSD展示了干脆及系统交互的外部参及者, 系统作为黑盒以及由参及者发起的系统事务,时间依次是自上而下的,并且事务的依次应当遵循其在场景中的依次。表示了对于用例的一个特定场景,外部参及者产生的事务,其依次和系统之内的事务,它是用例模型的一局部将用例场景中的交互可视化。是为阐述及所探讨系统相关的输入和输出事务而快速, 简洁地创立的制品。确定系统操作消息,它是合作对象交互图中的开场消息。(10) 什么是逻辑架构和层,请说明运用层的好处。给出一个比拟常见的软件分层逻辑构造。逻辑架构是软件类的宏观组织构造,他将软件类组织为包命名空间, 子系统和层,没有确定如何在不同的操作系统或网络层中物理的计算机上对这些元素进展部署。层是对类, 包或子系统的甚为粗粒度的分组,具有对系统主要方面加以内聚的职责, 严格的分层,高层可以调用相邻较底层的效劳。宽松的分层架构,较高层可以调用其下任何层的效劳。OO系统中通常包括的层有:1. 用户界面2. 应用逻辑和领域对象表示领域概念的软件对象, 例如软件类Sale,这些对象实现了应用需求,例如计算销售总额;3. 技术效劳供应支持技术效劳的常用对象和子系统,例如数据库接口或错误日志。这些效劳通常是独立于应用的,也可在多个系统中复用。(11) 架构中的领域层和领域模型之间的关系是什么?领域模型描述了软件架构的领域层软件领域对象的名称和属性。“领域模型:现实世界中对象的概念透视图。“领域层:在表示层或UI层之下的软件对象层。有时间的话画以下图:(12) 系统依次图, 系统操作和三层架构中的层之间的联系是什么?a) 系统依次图SSD中确定系统操作,它描述了系统操作。b) 系统依次图SSD展示了系统事务,系统操作用于处理输入的系统事务。c) 捕获这些系统操作恳求的对象通常是系统UI层的对象d) UI层对象将从UI层向领域层转发或委派恳求以进展处理e) 从UI层发送到领域层的消息将是系统依次图SSD中所描述的消息,例如enterItem.(13) 说明模型视图别离原那么。为什么将模型及视图进展别离?原那么: 不要将非UI对象干脆及UI对象连接或耦合UI对象及某个应用相关,而志向状况下非UI对象可以在新应用中重用或附加到新界面。 不要在UI对象方法中参与应用逻辑UI对象应当只初始化UI元素, 接收UI事务, 将应用逻辑的恳求委派到非UI对象 MVC中模型对象不应干脆及视图对象连接 视察者模式领域对象只能通过propertylistener的接口向视图的UI对象发送消息动机: 支持内聚的模型定义,这些定义只关注领域过程,而不是用户界面 允许对模型和用户界面层分别进绽开发 使界面的需求变更对领域层的影响最小化 允许新视图能够便利地连接到现有的领域层之上,而不会对领域层产生影响 允许对同一模型对象同时运用多个视图 允许模型层的运行不依靠于用户界面 允许模型层能够简洁地移植到另一用户界面(14) 在对象设计中如何理解软件对象的职责,职责驱动设计的根本思想是什么。软件对象的职责:由于软件领域中对象依据不同场景可以扮演不同角色,对象的方法可以看成这些角色不同职责的表现。职责驱动方式: 把软件对象想象成为具有某种职责的人,它要及其他人协作以完成职责 职责定义为“类元的契约和责任 职责主要分为两种类型: 行为职责 自身执行一些行为,如创立对象或计算 初始化其他对象中的动作 限制和协调其他对象中的活动 认知职责 对私有封装数据的相识 对相关对象的认知 对其能够导出或计算的事物的认知 在对象设计中,职责是被安排给对象类的. 例如“一个负责产生一个SalesLineItem类(一个行为型职责);又如,“一个Sale类知道sale对象的total一个认知型职责. 准那么:对于软件领域对象来说,由于描述了领域对象的属性和关联。因此其通常能够从领域模型中产生及认知型相关的职责。-例:假如领域模型中的Sale类具有time属性,由此可知道软件的Sale类应当知道其产生的时间。(15) 谈谈您对架构的理解,SAD文档的构造。 架构的理解架构是一组重要决策,涉及软件系统的组织,对构造元素及其组成系统所用接口的选择,从这些构造和行为元素到规模更大的子系统的组成,以及指导该组织构造的架构风格。共同主题涉及动机, 约束, 模式, 职责和系统连接。 软件架构文档SAD文档的构造:架构表示概括介绍文档中如何描述架构,例如:运用技术备忘录和架构视图,对于技术备忘录或视图不熟识的人有用,留意并非全部视图都是必要的架构因素参考补充性规格说明架构决策概括决策的一组技术备忘录逻辑视图主要元素的UML包图和类图,对主要构件的大尺度构造和功能的讲解部署视图UML部署图显示了节点以及进程和构件的安排。有关网络的注解进程视图说明系统进程和线程的UML类图和交互图,基于交互的线程和进程对此进展组织,有关进程间的通讯如何工作的说明用例视图简要概括了构架上最重要的用例,某些构架上重要的用例实现或场景的UML交互图,以及在图中说明如何描述主要构架元素的注释其他视图(16) 请谈谈架构设计中一般要考虑的架构因素以及架构设计文档主要内容。架构因素:组织因素, 过程因素及参及开发人员因素, 技术因素。来自互联网的答案,没找到ppt中提到的参见节补充规格说明书中重要架构需求的因素表 架构设计文档主要内容:描述有关架构的总体想法, 架构分析的关键决策及系统的根本概念。基于N+1视图模型创立 N+141视图模型 逻辑 进程 部署 数据“1用例视图包括以下构造:架构表示概括介绍文档中如何描述架构,例如:运用技术备忘录和架构视图,对于技术备忘录或视图不熟识的人有用,留意并非全部视图都是必要的架构因素参考补充性规格说明架构决策概括决策的一组技术备忘录逻辑视图主要元素的UML包图和类图,对主要构件的大尺度构造和功能的讲解部署视图UML部署图显示了节点以及进程和构件的安排。有关网络的注解进程视图说明系统进程和线程的UML类图和交互图,基于交互的线程和进程对此进展组织,有关进程间的通讯如何工作的说明用例视图简要概括了构架上最重要的用例,某些构架上重要的用例实现或场景的UML交互图,以及在图中说明如何描述主要构架元素的注释其他视图(17) 看懂给定的类图和依次图,说明其中表达的含义。三, 请给出以下设计模式的含义,包括名称, 问题和解决方案,并举例说明在什么状况下可以运用该模式1信息专家名称信息专家Information Expert问题给对象安排职责根本原那么是什么解决方案把职责安排给具有完成该职责所需信息的那个类举例NextGen POS应用系统中,某个类须要知道一次销售的总额。2适配器名称适配器Adapter问题如何解决不相容的接口问题,或者如何为具有不同接口的类似构件供应稳定的接口解决方案通过中介适配器对象,将构件的原有接口转换为其他接口增加一层间接性对象,通过这些对象将不同的外部接口调整为在应用程序内运用的一样接口举例NextGen POS应用系统中的SOAP over 远程访问SAPSystem时用到适配器模式。3外观 名称外观Facade问题对一组完全不同的实现或接口须要公共, 统一的接口。可能会及子系统内部的大量事物产生耦合,或者子系统的实现可能会变更。怎么办解决方案对子系统定义唯一的接触点运用外观对象封装子系统。该外观对象供应了唯一和统一的接口,并负责及子系统构件进展协作相关模式外观通常通过单实例类模式进展访问举例我们把一个文件,放在了第二抽屉里,而第二个抽屉的钥匙放在了第一个抽屉里,我们要想取出这个文件,第一步确定要拿到第一个抽屉的钥匙,然后翻开它再拿出第二个抽屉的钥匙,最终翻开第二个抽屉取出文件。两个抽屉还好说,但假如是n个呢?所以对于客户来说,这些取钥匙的过程不须要知道,他们只须要按一个按钮,然后文件就自动取出来。4高内聚名称高内聚High Cohesion问题怎样使对象保持内聚,可理解和可管理,同时具有支持低耦合的附加作用解决方案职责安排应保持高内聚,以此来评估备选方案内聚性较低的类要做很多互不相关的工作或须要完成大量的工作,导致的问题 难以理解 难以复用 难以维护 脆弱,常常会受到变更的影响举例一个名为RDBInterface的类,它只负责及关系数据库的交互的局部。它及很多访问数据库的其它类进展交互来检索或存储对象。5创立者名称创立者Creator问题谁创立了A解决方案假如以下条件之一为真时越多越好,将创立类A实例的职责安排给类B: B包含或组成聚集了A B记录A B严密地运用A B具有A的初始化数据,并且在创立A时会将这些数据传递A,对A的创立而言,B是专家假如有一个以上的选项适用,通常首选聚集或者包含A的类B举例在NextGen POS应用中,Sale负责创立SalesLineItem的实例四, 请给出小型超市POS系统的具体的需求分析,要求收银员能完成最根本的销售任务,包括所售商品的输入,总额的计算,以及现金支付等功能。1业务建模:请给出相应的概念类和概念类之间的关系描述。2用例场景描述:请给出销售主场景的描述。主胜利场景1, 顾客携带所购商品或效劳到POS机付款处进展购置交易2, 收银员开场一次新的销售交易3, 收银员输入商品标识4, 系统逐条记录出售的商品,并显示该商品工程的描述, 价格和累计额。价格通过一组价格规那么来计算收银员重复34步,直到完毕5, 系统显示总额和所计算的税金6, 收银员告知顾客总额,并提请付款7, 顾客支付,系统处理支付8, 系统记录完整的销售信息,并将销售和支付信息发送到外部的帐务系统进展帐务处理和提成和库存系统更新库存9, 系统打印票据10, 顾客携带商品和票据假如有离开扩展7a. 现金支付1, 收银员输入收取的现金额2, 系统显示找零金额,并弹出现金抽屉3, 收银员放入收取的现金,并给顾客找零4, 系统记录该次现金支付3系统依次图:请给出实现销售用例的系统依次图。

    注意事项

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

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




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

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

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

    收起
    展开