最新需求工程考前整理.docx
《最新需求工程考前整理.docx》由会员分享,可在线阅读,更多相关《最新需求工程考前整理.docx(23页珍藏版)》请在冰豆网上搜索。
最新需求工程考前整理
需求工程(考前整理)
第一部分(绪论)
1.什么是需求
(1)用户为了解决问题或达到某些目标所需要的条件或能力;
(2)系统或系统部件为了满足合同、标准、规范或其它正式文档所规定的要求而需要具备的条件或能力;
(3)对1或2中的一个条件或一种能力的一种文档化描述
2.需求的分类
[IEEE1998]将需求分为5种类别:
(1)功能需求:
和系统主要工作相关的需求,即在不考虑物理约束的情况下,用户希望系统所能够执行的活动,这些活动可以帮助用户完成任务。
功能需求主要表现为系统和环境之间的行为交互。
(2)性能需求:
系统整体或系统组成部分应该拥有的性能特征,例如CPU使用率、内存使用率等。
(3)质量属性:
系统完成工作的质量,即系统需要在一个“好的程度”上实现功能需求,例如可靠性程度、可维护性程度等。
(4)对外接口:
系统和环境中其他系统之间需要建立的接口,包括硬件接口、软件接口、数据库接口等等。
(5)约束:
进行系统构造时需要遵守的约束,例如编程语言、硬件设施等
3.软件质量属性常见的有哪些
功能性、可靠性、可用性、效率、可维护性、可移植性
4.需求工程过程
需求工程过程是系统开发当中需求开发活动的集成,它以用户面临的业务问题为出发点,进行分析和各种转换,最终产生一个能够在用户环境下解决用户业务问题的系统方案。
并将其文档化为明确的规格说明。
5.需求的困难
一.用户和开发人员的背景不同,立场不同
(1)知识理解的困难
(2)默认知识现象
二.普通用户缺乏概括性、综合性的表述能力
三.用户存在认知困难
四.用户越俎代庖
(1)用户提出的不是需求,而是解决方案
(2)用户执着地坚持某些特征和功能
五.缺乏用户参与
(1)用户数量太多,选择困难
(2)用户认知不足,不愿参与
(3)用户情绪抵制,消极参与
(4)没有明确的用户
6.需求的内涵与外延
内涵:
(1)问题域与解系统
(2)共享现象
(3)需求与规格说明
(4)问题域特性
(5)从问题域、需求和规格说明的关系看需求工程
外延:
(1)需求的分类
(2)功能需求:
①业务需求②用户需求③系统需求
(3)性能需求:
速度、容量、吞吐量、负载、实时性
(4)质量属性
(5)对外接口
(6)约束
7.什么是软件过程
用软件工程的方法解决软件的开发与实施
8.软件生命周期
是软件的产生直到报废停止使用的生命周期,它包括开发期和运维期。
9.软件危机(什么是软件危机,表现)
定义:
软件危机是指落后的软件生产方式无法满足迅速增长的计算机软件需求,从而导致软件开发与维护过程中出现一系列严重问题的现象。
表现:
①对软件开发成本和进度的估计常常不准确。
②用户对“已完成”系统不满意的情况经常发生。
③软件产品的质量不可靠
④软件的可维护程度非常低
⑤软件通常没有适当的文档资料
⑥软件的成本不断提高
⑦软件开发生产效率无法满足人们对软件的生产要求,软件开发生产效率的提高落后于硬件的发展
10.几种常见的软件过程模型
1.惯例过程模型。
2.瀑布模型(又叫作生命周期模型)。
3.增量过程模型:
包括增量模型、RAD模型。
4.演化过程模型:
包括原型开发模型、螺旋模型、协同开发模型。
5.专用过程模型:
包括基于构件的开发模型、形式化方法模型、面向方面的软件开发模型。
第二部分(需求获取)
1.涉众,涉众的类型
概念:
所有对软件系统的开发和应用具有发言权和决定权的人统称为涉众。
涉众的类型:
用户、客户、开发者、管理者、领域专家、政府力量、市场力量。
2.获取需求信息的方法
①传统方法
②集体获取方法
③原型
④模型驱动方法
⑤认知方法
⑥基于上下文的方法
3.需求信息的来源
4.面谈的结构(三种结构:
金字塔,漏斗,菱形)
5.面谈的问题的类型及其优缺点
问题基本上可以分为两种类型:
开放式问题和封闭式问题
(1)开放式问题:
被会见者对答复的选择可以是开放和不受限制的,他们可能答复两个词,也可能答复两段话。
在希望得到丰富(具有一定深度和广度)信息时,开放式问题比较合适。
优点:
让被会见者感到自在、提供丰富的细节、收集被会见者使用的词汇等等;
缺点:
面谈可能失控、可能会使会见者看上去没有准备等
(2)封闭式问题:
答案有基本的形式,被会见者的回答是受到限制的
优点:
节省时间、切中要点、保持对面谈的控制等
缺点:
得不到丰富的细节、不能建立和面谈者的友好关系等
6.如何组织一次面谈(论述题)
一.准备阶段
1阅读背景资料
2确定面谈主题和目标
3选择被会见者
4准备被会见者
5确定问题和类型
二.主持阶段
(1)面谈开始阶段
1开场仪式:
握手
2简要重申面谈的目标
3准备好笔记本、录音机或者其他记录设备
4用一些非常一般的、轻松的、开放式的问题作为开始
(2)面谈主题阶段
1保持有礼貌的倾听
2控制面谈过程
3保持面谈主题
4使用探究式问题
5观察被会见者
6使用道具支持
(3)面谈结束阶段
1面谈应该在45分钟到1小时内结束,并非要在提出所有关心的问题后才能结束面谈,相反,结束面谈应该被开始面谈更自然;
2总结谈话的要点,如果有记录笔记的话可以请被会见者进行快速的检查,确保记录下了面谈的所有重要信息;
3感谢被会见者,并且给时间让他们询问一些他们自己关心的问题;
4握手话别。
(4)记录面谈
三.面谈的后续工作
(1)复查面谈记录
(2)总结面谈信息
(3)完成面谈报告
7.什么是原型,原型分类
定义:
原型是在软件开发中被广泛使用的一种工具,在软件开发过程中的各个阶段,包括需求开发,都会使用不同类型的原型来达到不同的目的。
原型的类别:
一.按照使用方式分类:
演示原型、严格意义上的原型、试验原型、引示系统原型
二.按照媒介载体分类:
样板原型、纸上向导原型
三.按照功能特征分类:
拼凑原型、非操作原型、系列首发原型、选定特征原型
四.按照开发方法分类:
探索式、实验式、演化式
五.按照构建技术分类:
水平原型方法、垂直原型方法
8.模型驱动
模型驱动方法是一类以定义明确的模型为理论基础,依据模型指导和组织活动开展的需求工程方法。
常见的模型驱动方法:
①面向目标的方法
②基于场景的方法
③基于用例的方法
模型驱动方法的作用:
①指导和组织需求获取行为的开展
②整理和归类需求获取行为得到的信息
③为详细信息的分析提供背景基础和上下文知识
④帮助组织需求文档的结构
⑤作为需求验证的知识基础
第三部分(需求分析)
1.需求分析的任务
(1)建立分析模型:
将复杂的系统分解成为简单的部分以及它们之间的联系,确定本质特征,和用户达成对信息内容的共同理解。
(2)创建解决方案:
将一个问题分解成独立的、更简单和易于管理的子问题来帮助寻找解决方案。
创建解决方案的过程是创造性的。
帮助开发者建立问题的定义,并确定被定义的事物之间的逻辑关系,这些逻辑关系可以形成信息的推理,进而可以被用来验证解决方案的正确性。
2.需求建模有哪些手段
1.问题域建模
2.创建解决方案
3.解决方案建模
3.需求分析的方法
(1)传统分析:
没有方法(1950’s),依赖个体才智,依据个人习惯,缺乏结构、不可重复、不可测量,冗长、混乱、偏颇、无结构等等
(2)结构化分析:
以数据流动为中心,以DFD为核心技术,辅助ERD,STD…
(3)信息工程(late1980’s):
以数据知识结构为基础,ERD为核心技术,辅助DFD,STD,FDD,PD…
(4)面向对象分析(1990‘s):
以对象为中心,以UML(类图)为核心技术,以全面思想革新为理想,以承继结构化技术为现实
4.需求分析分析工具
5.面向对象模型有哪几种
功能模型、对象模型、动态模型
6.什么是用例?
用例建模的一般步骤,用例间的基本关系
①.UseCase(用例)是一个UML中非常重要的概念,在使用UML的整个软件开发过程中,UseCase处于一个中心地位。
用例是对一组动作序列的抽象描述,系统执行这些动作序列,产生相应的结果。
这些结果要么反馈给参与者,要么作为其他用例的参数。
②.确定系统边界、确定参与者、找出所有的用例、确定每个用例的级别、撰写用例的文字描述、画出以整个系统为对象的顺序图
③.用例的关系有泛化、扩展和包含
7.类之间的关系:
①泛化、②聚合、③关联、④引用
8.掌握用例建模(大题。
给描述,然后进行用例建模)
用例模型就是以用例为基本单位建立的一个系统功能展示模型,它是系统所有用例的集合,以统一、图形化方式展示系统的功能和行为特性
用例建模的基本元素:
用例、参与者、关系、系统边界
9.掌握领域建模(找出类,画类图。
)
10.数据建模
a)描述数据的定义、结构和关系等特性的模型
b)说明了问题域和解系统共享的事物、对共享事物的描述和共享事物之间的关系
c)能够反映企业业务的核心知识
d)模型建立:
ERD
e)数据规范化
第四部分(需求规格说明)
1.需求规格说明(共性)、结合题目描述(个性)(设计题)
2.简述基线与里程碑的区别与联系?
3.需求管理主要包括哪些内容?
4.需求评审的方法
自由方法,检查清单是最广泛使用的两种方法
还有缺陷,功能点,视角,场景,逐渐提升等方法。
5.参与需求评审的角色
(1)组织者
(2)仲裁者
(3)作者
(4)阅读人员
(5)记录人员
(6)收集人员
(7)审查人员:
①领域专家、②用户代表、③技术人员、④观察者
6.版本控制
7.需求跟踪
避免在开发过程或者演化过程中与需求基线不一致或者偏离的风险。
前向跟踪是指被定义到软件需求规格说明文档之前的需求演化过程。
后向跟踪是指被定义到软件需求规格说明文档之后的需求演化过程。
软件需求分析样卷1
一、选择题(每小题2分,共20分)
1.下列不属于需求分析工具的是()。
A.程序流程图B.用例图C.状态图D.数据流图
2.需求分析阶段的任务是确定()。
A.软件开发方法B.软件开发工具
C.软件开发费用D.软件开发功能
3.下列不是软件分析与建模常采用手段的是()。
A.投影B.抽象C.分解D.模仿
4.面向对象方法中,使得多个类中能够定义同一个操作或属性名,并在每一个类中有不同的实现的一种方法是()
A.泛化B.约束C.多态性D.接口
5.UML的软件以()为中心,以系统体系结构为主线,采用循环、迭代、渐增的方式进行开发。
A.类B.对象C.用例D.程序
6.UML的()模型图由类图、对象图、包图、构件图和配置图构成。
A.用例B.静态C.动态D.系统
7.UML状态图描述一个对象在不同()的驱动下发生的状态迁移。
A.事件B.对象C.执行者/角色D.数据
8.UML客户需求分析模型包括()模型、类图、对象图和活动图组成。
A.用例B.静态C.动态D.系统
9.涉众不包括()
A.用户B.客户C.开发者D.制度
10.UML的需求分析建模中,对用例模型中的用例进行细化说明应使用()。
A.状态图B.活动图C.配置图D.构件图
二、简答题(每小题5分,共30分)
1.业务需求、用户需求、系统需求的区别及联系。
2.用例间常见的关系有那几种?
分别举例说明。
3.需求获取有哪些常用的方法?
4.可行性分析报告的内容包括哪些?
5.简述UP过程及其适用场合。
6.原型按其开发方式的不同有哪几种类型?
三、数据建模题(本题共15分)
设有如下实体:
学生:
学号、单位、姓名、性别、年龄、选修课程名
课程:
编号、课程名、开课单位、任课教师号
教师:
教师号、姓名、性别、职称、讲授课程编号
单位:
单位名称、电话、教师号、教师名
上述实体中存在如下联系:
一个学生可选修多门课程,一门课程可为多个学生选修;
一个教师可讲授多门课程,一门课程可为多个教师讲授;
一个单位可有多个教师,一个教师只能属于一个单位。
要求:
根据上述语义画出E-R图,要求在图中画出实体的属性并注明联系的类型。
四、用例建模题(题本题共15分)
分析图书管理系统要求,画出该系统的用例图。
管理员:
管理员能按系统授权维护和使用系统不同功能,可以创建、修改、删除读者信息和图书信息即读者管理和图书管理,借阅、归还图书以及罚款即借阅管理。
读者:
读者能通过互联网或图书馆查询终端,查询图书信息和个人借阅信息,还可以在符合续借的条件下自己办理续借图书。
五、综合题(本题共20分)
某系统“登录”用例描述如下:
1.界面对象接受输入的用户名和密码
2.用例控制对象根据用户名和密码进行权限验证
3.用户对象确认用户是合法用户
4.通过用户的用户组对象获得有关权限
5.界面对象显示登录成功
(1)分析上述用例描述,识别分析出该用例的类图。
(2)分析上述用例描述,画出分析阶段的顺序图。
软件需求分析2样题及答案
《软件需求分析》课程考试样题
一、选择题
1.软件需求分析阶段的任务是确定()。
A.软件开发方法B.软件开发工具
C.软件开发费用D.软件开发功能
2.下列不属于需求分析工具的是()。
A.数据流图B.用例图C.数据字典D.N-S图
3.可行性分析包括经济可行性分析、技术可行性分析和()。
A.风险可行性分析B.社会可行性分析
C.资源可行性分析D.效益可行性分析
4.UML客户需求分析模型不包括()。
A.用例模型B.类图C.构件图D.活动图
5.软件需求分析阶段,不属于问题识别内容的是()
A.输入/输出需求B.性能需求C.环境需求D.功能需求
6.软件需求规格说明书的作用不包括()
A.软件验收的依据B.软件设计的依据
C.软件可行性研究的依据D.用户与开发人员对软件要做什么的共同理解
7.下列不属于涉众的是()
A.制度B.客户C.用户D.市场销售人员
8.下列不是软件分析与建模常采用手段的是()。
A.抽象B.模仿C.分解D.投影
9.面向对象方法中,使得多个类中能够定义同一个操作或属性名,并在每一个类中有不同的实现的一种方法是()
A.泛化B.约束C.多态性D.接口
10.UML的()模型图由类图、对象图、包图、构件图和配置图构成。
A.用例B.静态C.动态D.系统
二、简答题(每小题5分,共30分)
1.简述软件需求工程有哪些活动?
包括需求开发和需求管理;其中需求管理分需求获取、需求分析、需求规格说明和需求验证
2.业务需求、用户需求、系统需求的区别及联系。
⏹Businessrequirements
❑High-levelobjectivesoftheorganizationorcustomerwhorequeststhesystem
⏹Userrequirements(requirementsdefinition)
❑Statementsinnaturallanguageplusdiagramsoftheservicesthesystemprovidesanditsoperationalconstraints.Writtenforcustomers
⏹Softwarerequirements(softwarespecification)
Adetailedsoftwaredescriptionwhichcanserveasabasisforadesignorimplementation.Writtenfordevelopers?
(
3.需求获取有那些常用方法?
传统方法(问卷调查、面谈、文档分析等)
集体获取方法(专题讨论会、头脑风暴等)
原型法
模型驱动方法
认知方法(任务分析、协议分析)
基于上下文的方法(观察、名族志、话语分析)
4.软件质量属性包括哪些方面?
正确性、稳定性、可靠性、可用性、适应性、可重用性、可扩展性、可伸缩性、可移植性、安全性、容错性、响应速度等。
5.原型按其使用方式的不同分为哪几种类型?
各种原型分别使用于什么场合?
演示原型:
用于项目启动阶段,如展示用户界面或某一细节功能,用以让用户感觉到系统的开发时可行的;
严格意义的原型:
用于需求分析阶段,阐明用户界面或系统功能的特定方面,用以澄清问题或理解需求;
试验原型:
用于系统构建阶段,用以帮开发者澄清相关技术问题
引示系统原型:
该系统用于构建系统核心。
6.简述统一过程模型及其特点。
统一过程是以用例驱动的、以架构为中心、迭代和增量的软件开发过程。
是一个二维软件过程模型,时间维分为初始阶段、细化阶段、构建阶段、移交阶段4个阶段,事务维分为需求、分析、设计、实现、测试等几个工作流。
特点:
迭代、增量开发;可追踪的需求管理;基于组件的体系结构;可视化建模;验证软件质量;适合团队开发。
阅卷人
得分
三、数据建模题(本题共15分)
假设工程规则规定:
供应商(SUPPLIER)可以为多个工程项目(PROJECT)提供多种零件(PART);每种零件可以由多个供应商提供,被多个工程项目所使用;工程项目可以使用多个供应商提供的多种零件。
其中:
工程项目有编号(J#)、项目名(Jname)、项目日期(Date);零件有编号(P#)、零件名(Pname)、颜色(Color)、重量(Weight);供应商有编号(S#),名称(Sname)、供应地(Address);此外还要反映某一工程项目使用某种零件的数量(Total)和某一供应商提供某种零件的数量(Amount)。
根据上述语义画出ERD,要求在图中画出实体的属性并注明联系的类型。
阅卷人
得分
四、用例建模题(本题共15分)
分析图书管理系统要求,画出该系统的用例图。
§8-2购物环境与消费行为2004年3月20日管理员:
管理员能按系统授权维护和使用系统不同功能,可以创建、修改、删除读者信息和图书信息即读者管理和图书管理,借阅、归还图书以及罚款即借阅管理。
读者:
读者能通过互联网或图书馆查询终端,查询图书信息和个人借阅信息,还可以在符合续借的条件下自己办理续借图书。
附件
(二):
图1-1大学生月生活费分布
如果顾客在消费中受到营业员的热情,主动而周到的服务,那就会有一种受到尊重的感觉,甚至会形成一种惠顾心理,经常会再次光顾,并为你介绍新的顾客群。
而且顾客的购买动机并非全是由需求而引起的,它会随环境心情而转变。
(3)年龄优势
朋友推荐□宣传广告□逛街时发现的□上网□
3.www。
oh/ov。
com/teach/student/shougong/
三、主要竞争者分析阅卷人
价格便宜些□服务热情周到□店面装饰有个性□商品新颖多样□得分
手工艺制品是我国一种传统文化的象征,它品种多样,方式新颖,制作简单,深受广大学生朋友的喜欢。
当今大学生的消费行为表现在追求新颖,追求时尚。
追求个性,表现自我的消费趋向:
购买行为有较强的感情色彩,比起男生热衷于的网络游戏,极限运动,手工艺制品更得女生的喜欢。
五、综合题(本题共20分)
一个CD销售商店需要开展网上销售业务,下面是它的一个典型销售场景:
请以上述场景的描述为基础,执行名词抽取、建立关联和识别属性三个过程,并最终为上述描述建立领域模型(类图),要求详细记录你在执行三个过程时的具体步骤。
(1)名词抽取
Customer,searchrequest,system,,categoryinformation,CD,alistofrecommendedCDs,additionalinformation,identifier,basicinformation,CDReviews,order,item
名词过滤:
Customer,searchrequest,CD,alistofrecommendedCDs,order
(2)建立关联
(3)识别属性