软件需求期末复习_第1页
软件需求期末复习_第2页
软件需求期末复习_第3页
软件需求期末复习_第4页
软件需求期末复习_第5页
免费预览已结束,剩余13页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、软件需求考试总复习1、为什么软件需求这么难?客户说不清楚需求需求自身经常变动分析人员或客户理解有误2、软件需求的定义软件需求=业务知识+问题列表+其他因素。业务知识包括业务事件、 业务实体和业务规则;问题列表是用户在工作中遇到的困难与障碍, 这也是软件开发中需要解决的问题;其他因素包括了一些设计约束和非功能方面需求。3、需求的层次业务需求、用户需求、软件需求需求层次的产物:业务需求是需求定义的产物,用户需求是需求捕获的产物,软件需求 是需求分析与建模的产物。4、软件需求的三种类型功能需求:开发人员要实现什么非功能需求:对产品功能描述的补充设计约束:限制了开发人员设计和构建系统时的选择范围5、软

2、件开发的各个阶段,为什么只有需求阶段称为工程?需求工程是随着计算机的发展而发展的,在计算机发展的初期,软件规模不大,软件开发所关注的是代码编写,需求分析很少受到重视。后来软件开发引入了生命周期的概念, 需求分析成为其第一阶段。随着软件系统规模的扩大,需求分析与定义在整个软件开发 与维护过程中越来越重要,直接关系到软件的成功与否。人们逐渐认识到需求分析活动 不再仅限于软件开发的最初阶段,它贯穿于系统开发的整个生命周期。需求分析是介于系统分析和软件设计阶段之间的桥梁。一方面,需求分析以系统规格说明和项目规划作为分析活动的基本出发点,并从软件角度对它们进行检查与调整;另一方面,需求规格说明又是软件设

3、计、实现、测试直至维护的主要基础。良好的分析活动有助于避免或尽早剔除早期错误, 从而提高软件生产率, 降低开发成本,改进软件质量。 所以才只有需求成了工程!6、需求工程划分为哪两个部分需求开发、需求管理7、需求开发包括哪些内容需求获取、需求分析、需求规约(编写需求规格说明书)和需求验证(确认)E需求工程械福加8、需求管理包括哪些内容基线管理、变更管理和需求跟踪。9、如何评价需求的好与坏(优秀需求的特点)完整性、正确性、可行性、有优先次序、无歧义、可验证性、确定性10、客户的含义广义来讲,客户泛指直接或间接得益于产品的个人或组织。软件的客户包括那些提出软件需求,购买、定义、使用软件产品或选择接受

4、软件功能的项目涉众11、签字”的含义签字是项目的一个里碑,是建立需求协议的基线。12、需求定义阶段的任务确定项目的宏观需求。换句话说,就是定义项目的业务需求,也就是明确项目的目标和范围。13、需求定义的理念目标、问题、可选方案、建议方案14、问题分析5 步法在问题定义上达成共识、理解根本原因(也就是分析问题背后的问题)、确定相关人员和用户、定义解决方案的界限、确定加在解决方案上的约束15、需求定义的产物根据项目类型的不同,需求定义的产物大致可以分为POS( Project Overview Specify, 项目综述)和Vision(愿景)两大类。16、需求定义的要素目标、范围、相关人员与用户

5、、相关事实与假设17、一个好的目标应满足的原则(SMART )必须是具体(Specific)的:目标必须能够指导具体的工作必须是可以度量(Measurable)的:这样才能进行成本 /效益分析必须是可以达到(Attainable )的:否则是没有意义的目标必须和其他目标具有相关性(Relevant)必须具有明确的截止期限(Time-based)18、需求开发过需求开发过是一个迭代的过,不要期望可以线性地、顺序地完成获取、分析、 编写规格说明和验证这些需求开发活动。重新电n需栅发过程19、划分主题域(构件图,也即UML中的组件图)业务事件类型:外部事件(来自系统外部的事件,也就是系统参与者发起的

6、) 内部事件(系统内部触发的)20、确定主题域(上下文关系图)上下文关系图:针对每个主题域来绘制上下文关系图,确定出每个主题域的范围。上下文关系图绘制要点:首先用一个矩形表示系统,写上系统的名称,将整个系统看作一个黑盒子。然后找到该系统的所有客户(处于主题域的外部),考虑他们会发起什么事件,这些事件会引发内部工作人员的什么动作,将这些序列逐一表示出来。最后再看看系统的每个内部工作人员还有没有一些主动发起的事件。当上下文关系图绘制出来之后, 整个主题域的范围也就框定出来了,但是它还不足以为后续的需求捕获、分析与建模活动提供良好的基础。 我们需要将主题域的内容以业务事件列表和报表列表表示出来。&q

7、uot;1八:上回叫其谪一1'依业将T,琉中依u/ / 1中科改甲J-K 1>体口普)一八提交团队怙况,3*省财物部门绿门利族牛21、需求分析人员的工作需求分析人员是对项目相关人员的需求进行收集、1-体检并记录结果体检科室,小m;儡检怙况- -卜客服中心分析、记录和验证职责的承担者,是用户群体和软件开发团队间进行需求沟通的主要渠道。定义业务需求、确定项目涉众和用户类别、获取需求、分析需求、为需求建模、编写需求规格说明、主持对需求的验证、引导对需求的优先级划分、管理需求等。22、需求分析人员必备的技巧和知识需求分析员必须掌握的技能:包括倾听、交谈和提问的技巧,分析、 协调、 观察、

8、 写作、组织、 建模、人际交往和创造能力。而这些能力可以概括为业务知识、技术知识和沟通能力三个方面。需求分析人员必备的知识:具备从实践经验中积累的广博知识需要将需求开发与管理活动贯穿于整个产品生命期中掌握应用领域的知识23、如何成为一名需求分析人员优秀的需求分析员是培养出来的,而不是训练出来的。这项工作包括很多面向人而不是技术的“软性技能”。对于需求分析员的工作并没有标准的描述,因而也没有标准的培训课程。24、需求捕获的主要方法用户访谈、用户调查、文档分析、现场访问客户25、获取客户需求的主要步骤确定产品的不同用户类型。确定用户需求的来源。挑选出每一类用户和其他涉众的代表并与他们一起工作。商定

9、谁是项目需求的决策者。26、需求捕获应该是主动的和聚集的V27、需求的来源与潜在用户进行交谈和讨论描述现有产品或竞争产品的文档系统需求规格说明现有系统的问题报告和改进要求市场调查和用户问卷调查观察用户如何工作用户工作的情景分析事件和响应28、用户代表用户代表应当自始至终参与项目的整个开发过程,而不是仅参与最初的需求阶段。29、需求捕获要具有计划性和科学性计划应针对下面这些内容来制定:需求获取的目的需求获取的策略和过程需求获取工作取得的成果进度和资源评估需求获取的风险科学性则体现在捕获方法的选取上30、需求获取中各种心理如何应对言过其实心理差异展现法: 也就是将不同用户代表的访谈结果进行整理,在

10、系统开发之前把这些差异展示给中高层管理人员,就如何解决达成共识。瓶颈分析法: 对流程执行过程中的瓶颈进行分析,例如时间瓶颈、人员瓶颈(比如所有的申请都要由处长审批)等方面, 以避免流程瓶颈导致系统无法顺利运转起来越俎代庖心理要解决这个问题,关键在于需求捕获人员能够识别出正确的被访谈者,也就是回答你要问的问题最佳的人选是谁。这里有两层意思:问题的层次是否正确:高层管理人员解决宏观问题,中层管理人员解决脉络问题,操作者解决细节问题。根据业务背景判断:也就是有效地识别该问题所针对的业务环节是由谁负责处理的?执行者往往是回答的最佳人选。非正事心理客观原因:办公室本身就是一个容易被干扰的环境。应对之道:

11、访谈应该尽可可能的避开办公室。主观原因:非计划的事情通常会被看做是低优先级的事情。应对之道:做好一周的访谈计划,列出访谈人,访谈要点,让对方统一安排。抗拒心理我们需要先“化敌为友”。这是主导的策略,实际的方法有很多推卸责任心理突破推卸责任心理的简单手段是让被访谈者介绍工作场景。31、需求获取中的注意事项如果没有一个有条理的组织方案(例如用例),要将来自众多用户的需求意见合并起来相当困难。只向很少的用户代表收集意见,或者只听取声音最大、最固执已见的客户的意见,也是需求获取过程中存在的问题。这将导致遗漏对某些用户类很重要的需求,或者引入一些大多数用户并不需要的需求。解决这一问题的最佳平衡方式是让用

12、户代言人参与需求获取,这些代言人必须具备为所属的用户类代言的权力,同时每个代言人都有数名来自同一用户类的用户代表作为后援。需求获取过程中,你也许会发现项目范围定义不正确,或者太大,或者太小。32、需求分析主要用来做什么需求分析实际上是业务分析,也就是选择一种业务导向的线索将零散的需求串起来,形成一个体系完整、内容清晰的框架,以指导后续的设计、开发工作。更具体地描述需求分析工作的任务:分解、提炼、消除矛盾。连成一句话就是:需求分析就是先分解、再提炼,在这个过程中消除矛盾。33、建模的要点与原则建模的要点设计要考虑到计划之外的变化设计要文档化用可视化的模型表达架构切忌为了建模而建模”建模的原则选择

13、创建什么模型对如何动手解决问题和如何形成解决方案有着深远的影响每一种模型可以在不同的精度级别上表示最好的模型是与现实相联系的单个模型是不充分的,对每个重要的系统最好用一组几乎独立的模型去处理34、建模工具的选择建模的要点是根据要完成的任务选择合适的建模工具。表2 6IL所定义的各种图.图名功能备注卜类卦描述类类的特性以及类之间的关系.:TOIL10原存对嚎图中描这一个时间点上系统中各个对象衿个快照。UMLLO非正式图二.复合结构图中描述类的运行时刻的分解UML2.0 新噌*.构件图-描述构件的绪构与连接miLLO原苒.部署图卡描述在各小节点上的部署6IL10原有.包里八描述编译时的层次造构TO

14、IL非正式图j用例图中描述用户与系氮口何交互UML1.0 原有.,活动图,描述过程行为与并行行为尸IJML1O 原有.状糊呼描述事件如何改变对象生命周期,IUML1.0 原有.“顺序图,描述对象之间的交互,重点在于强调M序/IJML1.0 原有*通信图描述对就间的交互,重点在于连接炉UML10中的拂作图1 .定鹤描©对互同的交互,蜜月在F甘CTIL20 新甯*:,交互概观图#是一种顺序图与活动图的混合口VML2.0 新春,表3需炭阶段使用的同使用频率图位功能关注要点主惭活动图一说明业务流得以及业务活动的步骤*英图。说明业务蚌之醐关的体躺懒则觊用例小说期角稣使用场景之间的关杀相融构件图

15、口说明主酶划分以及的之间的服务接口接口部署图描述系兼的部署环埔体嬲计约而35、UML的优点首先UML是一种统一的、标准化的建模语言,它能为许许多多参与软件设计和开发的人提供一种公共 语言”,使他们能够基于共同的 模型”来理解业务、需求,理解软件和 架构如何构造其次UML是一种应用面很广泛的建模语言,它不仅可以用于软件系统建模,还可以用 于业务流程、业务知识、数据库、嵌入式等多个领域;而且对于不同的领域,其所采用 的本质元素是相同的。 这样:不同的人就可以基于相同的语言沟通;不同的领域模型就可以通过相同的机制进行互换与迁移。这就是统一的趋势36、流程分析(跨职责流程图、活动图)跨职责流程图适合于

16、将流程分析的产物在企业管理中复用时,或者参与的人员有更强的业务背景。要素:流程名称、职责带区、流程阶段、流程元素、并行、流程引用q卜辱牡,叩曲,黄1-囱广0(匕.人H 咄立贴加L图跨职责流程图示例活动图活动图是一种表述过程机理、业务过程以及工作流的技术。它主要的应用包括两个方面:一是在业务建模阶段, 对工作流进行建模; 二是在系统分析和设计阶段, 对操作进行建 模它的作用和传统的流程图”是有着很深的渊源,也十分的相似。不过它与流程图最主要 的区别在于,活动图能够支持并行的行为。* ,r*-7尹而畀Ml站人4即YES J订平取消二刊单完成37、领域类图标识类:发现类的方法很多,此处介绍最广泛使用

17、的名词动词法”主要规则:名词与名词短语中提取对象与属性;动词与动词短语中提取操作与关联;所有格短语通常表明名词应该是属性而不是对象书籍列表借阅记录列表借阅记录计算机类书籍非计算机类书籍38、用例模型参与者是在系统之外,透过系统边界与系统进行有意义交互的任何事物。者不仅可以由人承担,还可以是其他系统、硬件设备,甚至是时钟。用例:用例实例是在系统中执行的一系列动作,这些动作将生成特定执行者可见的价值结果。用例的特征:取款人取钱取款人蟆身取款单这件事必须由一个参与者发起。不存在没有参与者的用例,用例不应该自动启动,也不 应该主动启动另一个用例:两个用例之间可能存在的关系:包含、扩展、泛化,而通常不应

18、该有通信关系包含关系:在UML中,用构造型<<include>>表示(箭头方向是从基用例到被包含用例),它是指基用例在它内部说明的某一个位置上显式地合并了另一个用例的行为扩展关系:在UML中,扩展关系用构造型<<extend>>表示(箭头从扩展用例到基用例), 它表示基用例在由扩展用例间接说明的一个位置上,隐式地合并了另一个用例的行为泛化关系:用例间的泛化则表示子用例继承了父用例的行为和含义;子用例还可以增加或覆盖父用例的行为;子用例可出现在父用例出现的任何位置关系名称事件流类型含义囿向用户包含子事件流表示两个以上用例共用的 子事件流开发团队扩展

19、扩展事件流抽取出优先级较低的扩展 事件流客户泛化公共事件流抽取多个用例之中的共性开发团队参与者之间的关系: 只有一种,即泛化。应用举例:系统功能:以Internet的形式向客户提供座位预订的服务,并且如果暂时无法获取座位 信息时,允许客户进入 等侯队列”,当有人退订之后将及时通知客户。另外,该系统还 将为总台服务员提供座位的安排,以及结账的功能,要求能够支持现金和银行卡两种结账方式。馆管理系统处理等任认列安Hm佗£,台服务同处理斌党给求眼apf冷系跣殳&式座位他息i n i- luJr>w40、业务流程为主线的分解结构业务流程为主线的分解结构:这种结构是以业务流程为主线

20、索的,也就是按事”的角度进行分解。它对于联机事务处理系统、管理信息系统而言是非常适用的方法。程序结构为主线索的分解结构:适用于问题域不复杂,或者系统与问题域关联性不强的情况下,例如工具软件、面向设备的嵌入式系统等基于场景的分解结构对于决策支持系统、面向用户的嵌入式系统而言,决策场景、使用场景就是主要的线索。 向上可以总结成一类相似的集合,再总结成一系列的关注点或功能域;而向下可以分成 具体的决策步骤或操作任务。基于数据的分解结构适用于数据仓库之类的数据类项目。对于诸如数据仓库之类的数据类项目,事”这条线索并不明显,或者并不重要,这时就需要采用以数据为主线的分解结构。41、流程的层次组织级层诙;

21、读者:特点:对部门级流程的抽象概括按部门梳理-每个活动通常都是流程彳_ - -*1*1*-图6-10 流程的三大层次"42、部署图部署图:表示该软件系统如何部署到硬件环境中。它的用途是显示该系统不同的组件将 在何处物理地运行,以及它们将如何彼此通信。也就是说部署图描述系统硬件的物理拓 扑结构以及在此结构上执行的软件。它可以显示计算机节点的拓扑结构和通信路径、节 点上运行的软件构件等。关键组成部分:节点、连接、构件、接口节点:代表一类运行时的计算资源(例如:一类服务器、一类工作站、一个 PC终端、一个打印机、一个传感器等)。连接:表示两个节点之间的物理连接,用一根实现表示(关联关系)固博户.rlld*小汨即笈I 止 MilI' ltfdtl 5 J ,HE图势OSUHndowsi;Wth Senrr=ns 5d+fj.Nr! fl ErrirttrYfurkl硒的吗。)jwWpb05客端|.1g百曲|0剪匕WETLI耗记 drtildd -ii* 总 e<vajlildCt»此iM点忌,川二炉":陋尿仆国战依阳& dl睛 ULTlIIK式图X部署图示例243、

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论