第八章需求获取方法之原型复习题4.在开发方法的分类中,哪些类型的原型可能在需求获取中得到使用?它们被应用的的目的可能是什么?哪种类型的原型在需求获取中的作用最大?答:探索式、实验式和演化式。探索式应用的目的是依据已经了解的内容开发出一些初始原型,然后获取用户对这些原型的信息反馈,并不断调整原型,最终澄清模糊的需求,发现未知的需求。实验式应用的目的是通过首发定义一个对原型的评估方法,确定评估的等级(诸如可行性、适用性、效率和吞吐量等),据此评估各种技术方案下的原型,明确需求的可行性和有效的技术实现方案。演化式应用的目的是通过在持续开发过程中使用原型方法,可以使软件开发过程更好地处理用户需求的不断变动。5.在构造技术的分类中,为每种类型的原型给出一个典型的适用示例。答:水平原型方法,典型示例:用户界面开发。垂直原型方法,典型示例:核心功能开发,核心算法研究。6.在介质的分类中,为每种类型的原型给出一个典型的适用示例。答:纸面介质:简单计算器的界面开发幻灯动画介质科学计算器的界面开发快速语言和工具介质:学生选课系统的开发程序语言介质:浏览器开发。案例题4.Itall多年来一直担任Tun-L-Vision公司的系统分析员。在你加入该系统分析团队以后,建议在目前项目中把原型化方法作为SDLC的一部分,Itall说:“当然可以,但是你不能太在意用户所说的话。他们也不知道自己需要什么。我会做原型化工作,但是我不会‘观察’任何用户。”(1)在不明确否决Itall的前提下,尽可能巧妙地说明原型化过程中观察用户反应、用户建议和用户创新的重要性的原因。(2)用一段话描述,如果系统的某部分已经被原型化,并且在后续系统中没有考虑用户的反馈信息,可能会出现什么情况?答:(1)原型只是手段,目的是为了验证系统功能,所以为了修正原型要重视观察用户反应原型、用户建议和用户创新的重要性。(2)用户不满意,延期改进,功能过于简单,默认知识等。第九章需求获取方法之观察与文档审查复习题1.为什么需要观察方法?观察方法的适用情景是什么?答:很多时候用户无法完成主动的信息告知,或者说用户和需求工程师之间的语言交流无法产生有效的结果,这时就有必要采用观察的方法。采样观察:根据明确的目的选取特定的时间段或者特定的事件进行观察。民族志:观察者深入到用户中,花费较长的时间(一般为几个月)来观察用户的活动。话语分析:它通过观察和分析用户交谈中的交互方式或者特定的话语形式的内部结构来发现和获取相关信息。协议分析:对用户任务的观察。它要求观察对象一边执行任务,一边大声地解释他们在执行任务时产生的各种想法。任务分析:专门针对人机交互行为的观察。它引入了相关的模型方法来观察、记录和分析用户与软件系统的交互行为。案例题1.CeciAwill说:“我想我能记得他所做过的大部分事情。”Ceci准备与OKCorral公司战略规划副总裁BiffWeblldon进行面谈。OKCorral是一家拥有130间牛排连锁店的公司。“我的意思是说,我有好的记性。我认为听他说什么比看他做什么更重要。”作为需求工程团队的一员,CeciAwll向你诉说了他要写下在面谈中对Biff的办公司和Biff的活动进行观察的愿望。(1)用一段话来说服Ceci,在面谈时仅仅倾听是不够的,观察和记录所观察的内容同样是很重要的。(2)Ceci似乎接受了你认为观察时很重要的观点,但是不知道该观察什么。列出需要观察的项目和行为,在每一项行为的旁边用一句话指名Ceci通过观察应该得到的信息。答:(1)面谈并不能确保用户能够将所有的信息都告知需求工程师,诸如一些语言无法确切描述的事务,而观察能够了解用户真正做什么,还能够获取到其他方法不能得到的用户及其工作环境的信息,还可以对从其他方法获取的信息进行确认,所以我们应该重视观察方法的应用。(2)观察客户所处的环境(得出何种需求才能更适合客户)。观察客户行为、习惯特征(得出更适合客户使用的软件需求)。第十章需求的组织--需求获取中的模型驱动方法复习题1.什么是模型驱动方法?它有那些常见方法?答:模型驱动方法是一类以定义明确的模型为理论基础,依据模型指导和组织活动开展的需求工程方法。常见的方法有:①面向目标的方法。②基于场景的方法。③基于用例的方法。2.模型驱动方法在需求工程和需求获取中的作用是什么?答:①指导和组织需求获取行为的开展。②整理和归类需求获取行为得到的信息。③为详信息的分析提供背景基础和上下文知识。④帮助组织需求文档的结构。⑤作为需求验证的知识基础。3.目标模型有哪些基本元素?请逐一对它们进行描述。答:目标模型主要有两种基本元素:目标,系统被开发的目的。目标可以在不同的抽象层次上进行描述,战略层,进行技术上的底层;目标可以针对不同的内容,系统功能的目标,非功能的目标。关系,关系又称链接。目标模型的链接有两类,目标之间的连接,目标与其他模型元素之间的链接。4.面向目标方法的处理过程是怎样的?答:基本可以分为三个阶段:目标获取、目标分析和目标实现。目标获取:对系统的现状的背景进行分析往往能够发现重要的目标。在对现状和系统开发背景的分析当中通常会得到一些明确的问题和缺陷,它们的反面就是系统需要实现的目标。目标分析:在得到一个明确的目标之后,要对它进行描述。具体的描述形式要依赖于所采用的的面向目标方法,在得到多个目标之后,要建立它们之间的关系,建立系统的目标模型。目标实现:这个阶段主要的任务是手收集与目标相关的需求信息,讨论可能的候选解决方案,最终确定系统详细需求和解决方案。案例题1.分析你所在学校使用的选课系统,试着为其建立简单的目标模型和场景模型。答:系统背景:随着在校人数的增加,网上选课能大大降低教务工作量,针对这一情况,开发网上选课系统。学生通过登录账号登录校园网,查看选课信息和成绩后进行报名选课,在规定的时段内,能够查看自己选课的结果,并决定是否参加补、退选,网上选课系统应该能够提供简明、友好的操作界面,能处理课程信息,处理预选、正选、补(退)选和查询选课结果等工作。(1)目标模型如图1所示,在着目标依赖(网上选课)、软目标依赖(易操作性)和任务依赖(登录,查看课程,成绩查询)。在策略原理模型中,可以将网上选课系统角色进一步细化,可以将系统划分为选课控制、选课处理和选课结果三个子角色,这三个子角色之间存在着相互依赖关系,包括选课设定和处理结果两个任务依赖。为了避免需求的随意性和低效性,对所得出的策略原理模型中的子角色、目标、软目标和任务进行细化,如图2所示。图1目标模型图2细化后的目标模型(2)主要关注点学生通过登录账号登录校园网,查看选课信息和成绩后进行报名选课,在规定的时段内,能够查看自己选课的结果,并决定是否参加补、退选,网上选课系统应该能够提供简明、友好的操作界面,能处理课程信息,处理预选、正选、补(退)选和查询选课结果等工作。环境范围该系统用于提高教务处的工作效率,方便用户之间信息的交流,简化学生选课的流程,使选课管理工作更规范化,系统化,程序化,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改选课排课相关信息。在学校内部的现有局域网这个网络环境下,信息由各用户在规定的权限下在各自的工作站上录入,信息上网后各用户可查询,选课,修改,管理,达到信息共享。用例模型用例模型能体现系统需要做什么,即系统的功能要求。用例模型可以直接通过映射规则由早期的需求获取阶段建立的策略原理模型得到,图3就是所得到的系统的用例模型。图3用例模型第十一章需求分析概述复习题1.需求分析的根本任务是什么?答:需求分析的根本任务是:(1)建立分析模型,达成开发者和用户对需求信息的共同理解。(2)依据共同的理解,发挥创造性,创建软件系统的解决方案。4.什么是多视点方法,为什么需求分析需要采用多视点方法?答:利用视点手段进行复杂系统建模的方法被称为多视点方法。视点手段要求人们在建模一个复杂系统时,从不同的观察角度出发,将系统中既交织共存又相对独立的不同内容拆分成不同的部分,然后分别为每一个才节后的子部分建模。所有视点的模型描述集成起来,就是对原有的复杂系统的模型描述,所以需求分析采用多视点方法是比较有效的。6.什么是面向对象分析?它和现代的结构化分析和信息工程有何异同?答:面向对象分析把系统看做是对象的集合,这些对象之间互相协作,共同完成系统的任务。现代的结构化分析方法把现实世界描绘为数据在信息系统中的流动,以及在数据流动过程中数据项信息的转化。是以功能和数据为基础,而面向对象分析方法是以对象为基础。信息工程主要从信息角度来开发系统,而不像结构化方法那样从功能角度考虑问题,客观世界被描绘为数据和数据属性及其相互关系。思考题2.本章对创造性活动的描述过程给了你什么启示?答:创造性活动分为,外因,内因和灵感,外因包括:问题背景,需求,技术等。内因包括技术背景,知识背景、习惯和经验。灵感是人力不可为的因素。因此创造性活动,并不是不可以通过努力来提高它的质量的,我们可以通过提高内因和外因,来锻炼创造性活动。第十二章过程建模案例题1.分析你所在学校使用的选课系统,给出它的DFD描述。答:教师教务处教务处学生开课处理审核查询处理选课处理审核课程表选课表课程课程意见意见有效课程查询结果查询结果查询结果课表课表课程选课有效选课2.根据下列叙述性描述,为描述的内容绘制一个上下文DFD。校园书店“课本库存系统”的目的是向学生提供本地大学课程的课本。大学的教学部门通过一个“课本主清单”向书店提交初始数据,包括课程、教师、课本和预计注册人数。书店生成一个“购买订单”,“购买订单”被送到供应课本的出版公司。图书订单随着一个“包装清单”到达书店,它被接收的部门检查和验证。学生填写包含课程信息的“购书要求”,当他们付了书款之后就得到一个“销售单据”。答:教学部门出版公司课本库存系统书店学生课本主清单购买订单包装清单课本主清单购买订单销售单据购书要求第十五章需求的文档化和验证复习题2.什么是需求规格说明?为什么要建立需求规格说明?答:需求规格说明活动就是将需求及其软件解决方案进行定义和文档化,并传递给开发人员的需求工程活动。建立需求规格说明的必要性是显而易见的:一方面,清晰、。明确、结构化的文档可以将将系统的需求信息和解决方案更好地传递到所有的开发人员。另一方面,文档可以拓展人们的知识记忆能力。除了必要性外,需求规格说明文档可以成为合同协议的重要部分,可以成为项目开发活动的一个重要依据,可以尽早地发现和减少项目的返工,降低项目的工作量,需求规格女说明文档可以成为有效的智力资产。2.需求规格说明有哪些常见类型?它们的主要内容分别是什么?答:需求规格说明文档正常的有项目前景和范围文档、用户需求文档、系统需求规格说明文档、软件需求规格说明文档、接口需求规格说明文档、硬件需求规格说明文档和人机交互文档。项目的前景和范围文档的主要内容是对业务需求的定义,用户需求文档是对用户需求的定义,系统需求规格说明文档是对系统需求、解决方案的定义,软件需求规格说明文档是对整个系统功能分配给软件部分的详细描述,硬件需求规格说明问答是对整个系统功能当中分配给硬件部分的详细描述,接口需求规格说明文档是对整个系统中需要软、硬件协同实现部分的详细描述,人机交互文档时对真个系统功能的、中需要进行人机交互部分的详细描述。思考题2.在需求获取和需求分析当中采用哪些手段可以保证最终需求集的完备性、一致性和正确性?答:完备性:需求规格说明文档是完备的,当且仅当(1)描述了用户所有有意义的需求,包括功能、性能、约束、质量属性和对外接口;(2)定义了软件对所有情况的所有实际输入(无论有效输入还是无效输入)的响应;(3)为文档中的所有插图、图、表和术语、度量单位的定义提供了完整的引用和标记。需求的完备性要求不能遗漏任何需求或者必要的信息,为避免需求遗漏,需求工程师要做好业务需求的分析,建立并控制正确的项目规范,建立业务需求、用户需求和系统需求的跟踪关系也用于发现需求的遗漏现象。文档内所有TBD(待解决问题)被全部解决之前,需求规格说明文档都是不完备的。