4系统分析-需求分析new

上传人:s9****2 文档编号:568650072 上传时间:2024-07-25 格式:PPT 页数:66 大小:1.73MB
返回 下载 相关 举报
4系统分析-需求分析new_第1页
第1页 / 共66页
4系统分析-需求分析new_第2页
第2页 / 共66页
4系统分析-需求分析new_第3页
第3页 / 共66页
4系统分析-需求分析new_第4页
第4页 / 共66页
4系统分析-需求分析new_第5页
第5页 / 共66页
点击查看更多>>
资源描述

《4系统分析-需求分析new》由会员分享,可在线阅读,更多相关《4系统分析-需求分析new(66页珍藏版)》请在金锄头文库上搜索。

1、系统分析需求分析软件需求的层次2业务需求业务需求(business business requirementrequirement)反映了组织机构或客)反映了组织机构或客户对系统或产品户对系统或产品高层次的目标要求高层次的目标要求,它们在它们在项目视图与范围文档项目视图与范围文档中予以中予以说明。说明。用户需求用户需求(user requirementuser requirement)描)描述了述了用户使用产品必须要完成的任用户使用产品必须要完成的任务务,可以在,可以在用例模型或方案脚本用例模型或方案脚本中中予以说明。予以说明。功能需求功能需求(functional requirementfu

2、nctional requirement)定义了)定义了开发人员必须实现开发人员必须实现的软件功能的软件功能,使得用户能完成他们的任务,从而满足了业务需求。,使得用户能完成他们的任务,从而满足了业务需求。系统需要提供的服务或功能:如图书检索系统需要提供的服务或功能:如图书检索系统对特定输入的处理方式:如对非法输入的提示系统对特定输入的处理方式:如对非法输入的提示系统在特定环境下的行为:如长时间无操作时的屏保系统在特定环境下的行为:如长时间无操作时的屏保软件需求的层次3非功能需求非功能需求(non-functional requirementnon-functional requirement)

3、是从各个角度对)是从各个角度对系系统的约束和限制统的约束和限制,反映了应用对软件系统质量和特性的额外要求。,反映了应用对软件系统质量和特性的额外要求。对系统功能或服务附加的质量约束,例如响应时间、容错性、对系统功能或服务附加的质量约束,例如响应时间、容错性、安全性等安全性等客户所关心的客户所关心的( (外部质量外部质量) )从系统开发和维护角度出发的质量属性,例如可理解性、可从系统开发和维护角度出发的质量属性,例如可理解性、可扩展性、可配置性等扩展性、可配置性等软件开发或维护者所关心的软件开发或维护者所关心的( (内部质内部质量、软件所特有量、软件所特有) )软件需求的层次(续)4例:银行例:

4、银行ATMATM系统系统业务需求业务需求系统为用户提供自助存取款服务系统为用户提供自助存取款服务用户需求用户需求用户可以随时安全、快捷地进行存款和取款用户可以随时安全、快捷地进行存款和取款功能需求功能需求系统允许用户从银行帐户中取款系统允许用户从银行帐户中取款系统允许用户向银行帐户中存款系统允许用户向银行帐户中存款系统允许用户查询从银行帐户中的余额系统允许用户查询从银行帐户中的余额系统使用位数字密码检验用户存取的合法性系统使用位数字密码检验用户存取的合法性软件需求的层次(续)5例:银行例:银行ATMATM系统()系统()非功能需求非功能需求系统在秒内响应所有请求系统在秒内响应所有请求除了每天分

5、钟维护外,系统每周天、每天除了每天分钟维护外,系统每周天、每天小时都可以用小时都可以用需求来源需求来源客户或用户(如银行职员、管理人员、用户)客户或用户(如银行职员、管理人员、用户)行业标准、政策法规行业标准、政策法规当前手工处理系统的文档当前手工处理系统的文档咨询银行领域专家咨询银行领域专家4.4 4.4 需求分析阶段的活动需求分析阶段的活动 活动活动产出物产出物需求开发需求开发会议纪要会议纪要讨论纪要讨论纪要分析模型分析模型需求规格需求规格说明书说明书审核通过的审核通过的规格说明书规格说明书图图 4-4 需求分析阶段的活动需求分析阶段的活动 需求管理需求管理需需求求获取获取需求分析需求分析

6、 与建模与建模规格规格说明说明需求需求验证验证4.1 4.1 需求及需求原因需求及需求原因 4.2 需求分析的相关人员需求分析的相关人员4.3 不同层次的需求不同层次的需求4.4.1 4.4.1 需求获取需求获取 (requirement elicitation) (requirement elicitation)1)需求获取的目标需求获取的目标2)获取需求信息的相关者获取需求信息的相关者3)获取需求信息的来源获取需求信息的来源4)获取需求信息的基本步骤获取需求信息的基本步骤5)获取需求信息的方法获取需求信息的方法1) 1) 需求获取的目标需求获取的目标收集收集准备建立的系统和正在使用的系统的

7、准备建立的系统和正在使用的系统的信信 息息,并从这些信息中,并从这些信息中提取提取用户和系统需求。用户和系统需求。为下一步的需求分析提供素材。为下一步的需求分析提供素材。2 2)获取需求信息的相关者)获取需求信息的相关者主主主主 要用户要用户要用户要用户中层管理用户中层管理用户中层管理用户中层管理用户技术人员技术人员技术人员技术人员顾客顾客顾客顾客查询用户查询用户查询用户查询用户商业用户商业用户商业用户商业用户图图 4-5 收集信息相关者收集信息相关者9 9 历史数据、记录、表、报表、卡片、文字描述、历史数据、记录、表、报表、卡片、文字描述、 文档、图文档、图( (手工流程、计算机流程手工流程

8、、计算机流程) )、己有的系、己有的系 统、不同类型的人员等信息统、不同类型的人员等信息。 需求活动需求活动需求的获取需求的获取3) 3) 获取需求信息获取需求信息的来源的来源1010n安排航班飞行的安排航班飞行的时间表。时间表。n交通费用的设置和购成的交通费用的设置和购成的规定描述。规定描述。n航空公司的预定和售票的航空公司的预定和售票的工作流程。工作流程。n航班预定业务中的航班预定业务中的各种人各种人( (旅行社和航空公司雇员旅行社和航空公司雇员) ) 是如何工作的。是如何工作的。n己有的己有的预定系统能完成哪些工作预定系统能完成哪些工作, ,如何完成的。如何完成的。n法律、规章制度法律、

9、规章制度和规则管理着该行业。和规则管理着该行业。n研究研究竞争性竞争性预定系统的功能。预定系统的功能。n了解正在发生的从旅游代理商预定机票到旅客在线预定机票了解正在发生的从旅游代理商预定机票到旅客在线预定机票的的过渡过渡。 用一段话概括进行用一段话概括进行航班预定系统分析航班预定系统分析时需要时需要收集的信息来源。收集的信息来源。 4) 4) 获取需求获取需求信息的基本步骤信息的基本步骤第第1 1步步: :了解相关背景和领域了解相关背景和领域/ /行业的知识,确定产品所行业的知识,确定产品所 期望的用户类;期望的用户类;第第2 2步:步:与客户或组织的高层人员进行与客户或组织的高层人员进行交流

10、交流,了解实际用,了解实际用 户任务和目标以及这些任务所支持的户任务和目标以及这些任务所支持的业务需求业务需求;第第3 3步:步:与客户或组织的底层人员进行与客户或组织的底层人员进行交流交流,获取每个用,获取每个用 户类的详细的户类的详细的用户需求用户需求;第第4 4步步:整理需求纪要,发现新问题,并重复整理需求纪要,发现新问题,并重复1-31-3步;步;第第5 5步:步:需求分类和组织,以区别需求分类和组织,以区别功能需求、非功能需求、功能需求、非功能需求、 约束条件、业务规则、外部接口需求约束条件、业务规则、外部接口需求、建议解决、建议解决 方法和附加信息;方法和附加信息;第第6 6步:步

11、:优先排序和解决冲突;优先排序和解决冲突;第第7 7步:步:得到最终需求清单,并与客户做最终签字确认。得到最终需求清单,并与客户做最终签字确认。1212 (1) (1) 思想思想: : 先了解先了解宏观宏观的问题,再了解的问题,再了解细节细节的问题的问题. .设设 S : S : 一个软件系统一个软件系统; D : ; D : 不同的问题域不同的问题域; ; P : P : 问题问题; F : ; F : 行为行为( (或功能或功能) ) S = D1 S = D1,D2D2,D3D3, Dn Dn Di = P1Di = P1,P2P2,P3P3, Pm Pm Pj = F1 Pj = F1

12、,F2F2,F3F3, Fk Fk 每个行为对应于软构件中的接口。每个行为对应于软构件中的接口。 从从发现初始需求发现初始需求开始开始. . 5) 5) 获取需求获取需求信息的方法信息的方法思考如下问题思考如下问题背景:你对一个同学已经仰慕已久,背景:你对一个同学已经仰慕已久,“十一十一” 快到了,你希望对方能够与你共进晚快到了,你希望对方能够与你共进晚 餐。但是由于你们只有几面之缘,你餐。但是由于你们只有几面之缘,你 对她对她( (他他) )的爱好一无所知的爱好一无所知问题:你会采用哪些方式来调查获得对方的问题:你会采用哪些方式来调查获得对方的 兴趣爱好?兴趣爱好? (2) 获取需求获取需求

13、信息的方法信息的方法 直接直接( (面谈、打电话、发信、跟踪观察面谈、打电话、发信、跟踪观察),),间接调查间接调查; ;猜测。猜测。面对面访谈面对面访谈(face-to-face interviewing)(face-to-face interviewing)专题讨论会专题讨论会(workshop)(workshop)现场观察现场观察(observing on the scene)(observing on the scene)头脑风暴头脑风暴(brainstorming)(brainstorming)多种方法要结合在一起使用,效果更好多种方法要结合在一起使用,效果更好 获取需求获取需求信息

14、的方法信息的方法面对面访谈面对面访谈面对面访谈面对面访谈 需求获取中最直接的方法:需求获取中最直接的方法: 用户面谈用户面谈(interviewing)(interviewing), “看起来很容易看起来很容易”, 但但“做起却很难做起却很难”。面谈中存在以下问题。面谈中存在以下问题: :交流障碍、沟通不全、交流障碍、沟通不全、对问题的理解不深入或对问题的理解不深入或 有偏见。有偏见。缺少经验缺少经验, ,不能主动、深入挖掘问题。不能主动、深入挖掘问题。意见冲突意见冲突,不虚心听取别人的意见不虚心听取别人的意见。认为用户不懂得计算机和程序认为用户不懂得计算机和程序心态心态如何提问?如何提问?封

15、闭式问题:封闭式问题:对错判断或多项选择题,回答只需对错判断或多项选择题,回答只需 要一两个词要一两个词 “每个人都能提问题,每个人都能提问题,但并不等于人人但并不等于人人都会提问题都会提问题”n开放式问题:开放式问题:q这种问题需要解释和说明,同时向这种问题需要解释和说明,同时向 对方表示你对他们说的话很感兴趣,对方表示你对他们说的话很感兴趣, 还想了解更多的内容。还想了解更多的内容。 n通过提问题增强你对谈话进展和方向通过提问题增强你对谈话进展和方向 的控制的控制n问题不能过于宽泛问题不能过于宽泛n最开始的问题不能太难最开始的问题不能太难n谈话之前有意识的准备一些备用问题谈话之前有意识的准

16、备一些备用问题n不能在提问之前就已经表示不赞同不能在提问之前就已经表示不赞同访谈问题的分类访谈问题的分类上下文无关的问题上下文无关的问题(context-free questions)(context-free questions): 充分理解用户的问题,不涉及具体的解决方案充分理解用户的问题,不涉及具体的解决方案客户是谁?客户是谁?最终用户是谁?最终用户是谁?不同用户的需求是否不同?不同用户的需求是否不同?这种需求目前的解决方案是什么?这种需求目前的解决方案是什么?n解决方案相关的问题解决方案相关的问题(solution-context questions)(solution-context

17、 questions): 通过这类问题,探寻特定的解决方案并得到用户通过这类问题,探寻特定的解决方案并得到用户 认可认可q你希望如何解决这个问题?你希望如何解决这个问题?q你觉得该问题这样解决如何?你觉得该问题这样解决如何?面谈之前面谈之前确立面谈确立面谈目的目的确定要包括的确定要包括的相关用户相关用户确定确定参加参加会议的项目小组会议的项目小组成员成员建立要讨论的问题和要点建立要讨论的问题和要点列表列表复查复查有关文档和资料有关文档和资料确立确立时间和地点时间和地点通知通知所有参加者有关会议的目的、时间和地点所有参加者有关会议的目的、时间和地点面谈之中面谈之中Step 1Step 1:事先事

18、先准备准备一系列上下文无关的问题,并一系列上下文无关的问题,并 将其记录下来以便面谈时参考;将其记录下来以便面谈时参考;nStep 2Step 2:面谈前,面谈前,了解了解一下要面谈的客户公司的一下要面谈的客户公司的 背景资料,不要选择自己能回答的问题背景资料,不要选择自己能回答的问题 而浪费时间;而浪费时间;nStep 3Step 3:面谈过程中,参考事先准备的面谈模板,面谈过程中,参考事先准备的面谈模板, 以保证提出的问题是正确的。将答案以保证提出的问题是正确的。将答案记记 录录到纸面上,并指出和记录下到纸面上,并指出和记录下未回答条未回答条 目和未解决问题;目和未解决问题;nStep 4

19、Step 4:面谈之后,面谈之后,分析总结分析总结面谈记录。面谈记录。面谈之后面谈之后复查复查笔记的准确性、完整性和可理解性笔记的准确性、完整性和可理解性把所收集的信息把所收集的信息转化转化为适当的模型和文档为适当的模型和文档确定需要进一步确定需要进一步澄清澄清的问题域的问题域向参加会议的每一个人向参加会议的每一个人发出发出此次面谈的此次面谈的minutes(minutes(会议纪要会议纪要) )。面谈记录的示例面谈记录的示例(1)(1)第第1 1部分:建立客户或用户情况表部分:建立客户或用户情况表第第2 2部分:评估问题部分:评估问题询问用户对哪些类型的问题缺乏好的解决方案询问用户对哪些类型

20、的问题缺乏好的解决方案它们是什么?它们是什么?( (不断的问不断的问“还有吗?还有吗?”) )第第3 3部分:理解用户环境部分:理解用户环境谁是用户?他们的经历和经验如何?用户的预期谁是用户?他们的经历和经验如何?用户的预期 如何?如何?第第4 4部分:扼要说明理解情况部分:扼要说明理解情况你刚才告诉我:你刚才告诉我:( (用自己的话复述客户描述的问题用自己的话复述客户描述的问题) )这是否足以表达你现在的解决方案中存在的问题?这是否足以表达你现在的解决方案中存在的问题?如果有,你还有什么问题?如果有,你还有什么问题?面谈记录的示例面谈记录的示例(2)(2)第第5 5部分:分析人员对客户问题的

21、提问部分:分析人员对客户问题的提问对每个问题进行以下提问:对每个问题进行以下提问:这是一个实际的问题吗?这是一个实际的问题吗?问题产生的原因是什么?问题产生的原因是什么?现在如何解决的?现在如何解决的?希望如何解决?希望如何解决?该问题的重要度如何?该问题的重要度如何?第第6 6部分:评估自己的解决方案部分:评估自己的解决方案总结自己建议的解决方案;总结自己建议的解决方案;对自己方案的优先级排序;对自己方案的优先级排序;第第7 7部分:评估机会部分:评估机会第第8 8部分:评估可靠性、性能及其他需要部分:评估可靠性、性能及其他需要面谈记录的示例面谈记录的示例(3)(3)第第9 9部分:其他需求

22、部分:其他需求法律法规、环境、行业标准等;法律法规、环境、行业标准等;第第1010部分:总结性提问部分:总结性提问还有其他问题要问面谈人吗?还有其他问题要问面谈人吗?尚未解决的问题有哪些?尚未解决的问题有哪些?下次访谈的方式、地点、时间、参加人等;下次访谈的方式、地点、时间、参加人等;第第1111部分:分析人员的总结部分:分析人员的总结总结出客户总结出客户/ /用户确认的三条优先级最高的需求或用户确认的三条优先级最高的需求或 问题。问题。对于你们已经确定的项目对于你们已经确定的项目, ,进行角色扮演为客户进行角色扮演为客户方方, ,用户方用户方, ,开发方开发方, ,通过面谈来获得需求。通过面

23、谈来获得需求。面对面访谈的优缺点分析面对面访谈的优缺点分析优点:优点: 直接了解用户直接了解用户,得到第一首材料得到第一首材料。缺点:缺点:需求工程师难以理解专业术语和需求工程师难以理解专业术语和“行话行话”,容易,容易 造成很多造成很多误解误解。 用户不自觉地认为某些需求太普通,太基本,用户不自觉地认为某些需求太普通,太基本, 不值得去提。但它们对需求工程师来说却不不值得去提。但它们对需求工程师来说却不 是显而易见的。这使得某些需求是显而易见的。这使得某些需求被忽略被忽略。 专题讨论会准备专题讨论会准备参加会议人员:主持人、用户、技术人员、参加会议人员:主持人、用户、技术人员、 项目组人员项

24、目组人员安排日程安排日程通常在具有相应支持设备的专用房间进行通常在具有相应支持设备的专用房间进行举行会议举行会议主持人掌握讨论气氛并控制会场主持人掌握讨论气氛并控制会场自由讨论阶段,营造一种创造性的和积极的氛自由讨论阶段,营造一种创造性的和积极的氛 围,获得所有相关者的意见围,获得所有相关者的意见分配会议时间,记录所有言论分配会议时间,记录所有言论需求研讨会需求研讨会 (Workshop) 需求研讨会会议需求研讨会会议图图 4-6 4-6 参加会议人员参加会议人员需求研讨会需求研讨会(Workshop)(Workshop) Figure 4-7 High-Tech JAD Facility需求

25、研讨会需求研讨会(Workshop)(Workshop)联合应用设计会议联合应用设计会议(Joint Application Design,(Joint Application Design, JAD) JAD)。让项目的所有成员参加会议。让项目的所有成员参加会议, ,定义需求或定义需求或 设计系统,设计系统,会议一般为会议一般为1 1至至2 2天,与会者畅所欲言天,与会者畅所欲言, , 在在应用需应用需 求上达成共识求上达成共识、对操作过程尽快取得统一意见。、对操作过程尽快取得统一意见。促进用户与开发团队之间促进用户与开发团队之间达成共识达成共识;揭露和解决揭露和解决妨碍项目成功的问题;妨碍

26、项目成功的问题;快速产生快速产生初步的系统定义。初步的系统定义。观察用户的工作流程观察用户的工作流程,了解基本商业需求了解基本商业需求, ,理解商业理解商业 功能功能, ,获得对商业过程和规则的全面理解。获得对商业过程和规则的全面理解。 现场观察现场观察 (Observe)nWorkflows : 工作流是处理商业事务的一系列步骤。工作流是处理商业事务的一系列步骤。 提供了一种用来描述组件和参与者之间复提供了一种用来描述组件和参与者之间复杂杂的交互关系的方法。的交互关系的方法。 n两种方式:两种方式:q被动观察:需求分析人员观看用户的工作被动观察:需求分析人员观看用户的工作q主动观察:需求分析

27、人员直接参与用户的工作主动观察:需求分析人员直接参与用户的工作 3131询问报价询问报价制定需制定需求记录求记录检查需求检查需求将数据将数据录入系统录入系统将数据将数据录入系统录入系统计算报价计算报价复查报价复查报价接受订单接受订单客户客户 销售销售 技术专家技术专家 系统系统需要需要帮助帮助?需求需求变否变否?是是变变否否否否图图图图 4-8 4-8 工工工工作流程作流程(4) (4) 头脑风暴头脑风暴回答回答: :铅笔有什么用途?铅笔有什么用途?头脑风暴头脑风暴(Brainstorming)(Brainstorming)一般以一般以8-128-12人最佳人最佳明确分工:明确分工:1 1名主

28、持人、名主持人、 2 2名记录员名记录员成功要点:成功要点:自由畅谈自由畅谈发表见解发表见解追求数量追求数量会后:修剪、会后:修剪、 分组、分组、 排序排序尽早提供可选择的启发尽早提供可选择的启发技技术:术:应用用例应用用例、角色扮演、角色扮演、开发原型等方法开发原型等方法问题问题解决方案解决方案回答下列问题回答下列问题:将用户当作领域专家来认识将用户当作领域专家来认识和激励,尝试其他交流和启和激励,尝试其他交流和启发技术发技术把分析员放在用户的位置上,把分析员放在用户的位置上,试着角色扮演一小时或一天试着角色扮演一小时或一天直到开发人员将用户描述的直到开发人员将用户描述的东西交给他们,用户才

29、认为东西交给他们,用户才认为他们知道自己要什么他们知道自己要什么用户不知道自己需要什么,用户不知道自己需要什么,或知道但不知如何表达或知道但不知如何表达分析员认为自己比用户更了分析员认为自己比用户更了解用户的需求解用户的需求3535图图 4-9 收集信息和建模关系收集信息和建模关系(5) (5) 获取需求信息和建模关系获取需求信息和建模关系和用户面谈和用户面谈分发调查问卷分发调查问卷复查现有文档复查现有文档观察商业过程观察商业过程开讨论会和开讨论会和头脑风暴头脑风暴理解新系理解新系统的限制统的限制理解新系理解新系统的过程统的过程理解新系理解新系统的功能统的功能开发系统开发系统 需求和模型需求和

30、模型需求分析阶段的活动需求分析阶段的活动 活动活动产出物产出物需求开发需求开发会议纪要会议纪要讨论纪要讨论纪要分析模型分析模型需求规格需求规格说明书说明书审核通过的审核通过的规格说明书规格说明书需求分析阶段的活动需求分析阶段的活动 需求管理需求管理需需求求获取获取需求分析需求分析 与建模与建模规格规格说明说明需求需求验证验证1.1.结构化结构化分析分析的思想的思想2.2.需求分析的步骤需求分析的步骤3.3.加快对需求理解的几种技术加快对需求理解的几种技术 4.4.2 4.4.2 需求分析需求分析 (requirement analysis)requirement analysis)4.4.1

31、需求获取需求获取 结构化分析结构化分析(structure analysis,analysis,SA)方法方法最早产生于最早产生于19701970年代中期,年代中期,19801980年代开始成为年代开始成为 主流。主流。 YourdonYourdon于于19891989年出版年出版 Modern Structured AnalysisModern Structured Analysisn起源于结构化程序设计语言起源于结构化程序设计语言( (事先设计好事先设计好每一个每一个 具体的功能模块,然后将这些设计好的模块具体的功能模块,然后将这些设计好的模块组组 装成装成一个软件系统一个软件系统) )。

32、 4.4.2 4.4.2 需求分析需求分析(requirement analysis)requirement analysis)3939 (1) (1) 抽象抽象: 抓住事物的本质(要素)抓住事物的本质(要素), ,捕获问题空间捕获问题空间 的的“一般一般/ /特殊特殊”关系是认识关系是认识 、构造问题的、构造问题的 一般途径。一般途径。 需求活动需求活动需求活动需求活动-需求的获取需求的获取需求的获取需求的获取(2) (2) 划分:划分: 分离问题。捕获问题空间分离问题。捕获问题空间 的的“整体整体/ /部分部分”关系是关系是 降低问题复杂性降低问题复杂性 的基本途径之一的基本途径之一. .

33、1) 1) 结构化结构化分析分析的思想的思想n自顶向下逐层分解自顶向下逐层分解(top-down)(top-down)4040 (4) (4) 自悟自悟(Introspection)(Introspection): 具有领域和过程方面的知识具有领域和过程方面的知识, ,具有良好的具有良好的 想象能力。想象能力。 (5) (5) 提炼提炼(Extraction)(Extraction): 提炼方法是针对已经有了部分需求文档的提炼方法是针对已经有了部分需求文档的 情况,通过提练,复审有代表性的文档。情况,通过提练,复审有代表性的文档。 (3) (3) 多视图:多视图: 捕获并建立问题空间的多维捕获

34、并建立问题空间的多维“视图视图”是描是描 述问题的基本手段之一述问题的基本手段之一, ,是解决是解决“A A是是B B, B B是是A A” 的基本方法的基本方法. .4141一般问题的解决过程一般问题的解决过程待解决问题的认识待解决问题的认识 领域的术语、知识领域的术语、知识,类似问题的解决类似问题的解决无关的信息与使无关的信息与使人误解的信息人误解的信息问题的阐述问题的阐述问题的分析问题的分析寻找解决途径寻找解决途径 报告及资料设计报告及资料设计(文档文档)实现实现设计规格说明设计规格说明问题细节定义问题细节定义(规格、限制、准则规格、限制、准则)图图 4-10 一般问题的解决过程一般问题

35、的解决过程 3) 3) 需求分析的步骤需求分析的步骤4242l 发现和记录初始的或原始的需求。在此,应发现和记录初始的或原始的需求。在此,应 该开发操作该开发操作概念文档概念文档。还应该标识其它需求。还应该标识其它需求 源,并记录它们的需求。源,并记录它们的需求。 3) 3) 需求分析的步骤需求分析的步骤1) 1) 需求需求需求需求分析分析的基本思想的基本思想的基本思想的基本思想2) Davis指导性原则指导性原则4.4.2 需求分析需求分析(1) (1) 发现初始需求发现初始需求l 分析并分析并验证初始需求验证初始需求是否有效的、正确的。是否有效的、正确的。 发现问题发现问题, ,及时进行修

36、订。及时进行修订。 l 基于对初始需求的分析,开发最终的技术规约,基于对初始需求的分析,开发最终的技术规约, 并建立相应的并建立相应的需求文档需求文档。需求引出需求引出4343 例例 大学课程大学课程注册注册系统系统 需求需求: :l每个大学都有若干必修课、选修课每个大学都有若干必修课、选修课 l每门课都有一个级别每门课都有一个级别, ,且有学分值且有学分值l同一门课程可以是若干学位的一部分同一门课程可以是若干学位的一部分l完成学分值完成学分值( (包括必修课包括必修课) 32) 32学分学分l学生可任选学习程序学生可任选学习程序, ,完成注册学位完成注册学位4444附加的需求附加的需求:(1

37、) (1) 学生选课的约束条件学生选课的约束条件: :时间表冲突时间表冲突 人数限制的约束人数限制的约束(2) (2) 输入学生的学习计划到注册系统中并检查输入学生的学习计划到注册系统中并检查 一致性一致性, ,报告存在的问题报告存在的问题, ,并在学术指导下并在学术指导下 解决解决, ,最终的学习程序经院领导批准最终的学习程序经院领导批准, ,并由并由 注册人备案注册人备案(3) (3) 学生留有注册记录学生留有注册记录(4) (4) 每门课程由一位老师负责每门课程由一位老师负责4545 需求分析的步骤需求分析的步骤(2) (2) 对问题进行讨论对问题进行讨论 理解问题背后的问题理解问题背后

38、的问题在定义上达成共识在定义上达成共识1太多太多废品废品不正确销售订单不正确销售订单运输损耗运输损耗用户退货用户退货成品折旧成品折旧制造缺陷制造缺陷其它其它42536图图 4-11 太多废品原因的鱼骨图太多废品原因的鱼骨图发现初始需求发现初始需求练习练习: 用鱼骨图描述学习好、差的原因用鱼骨图描述学习好、差的原因4646图图 4-12 4-12 根本原因的帕雷托图根本原因的帕雷托图6060根本原因的另一种图示法根本原因的另一种图示法不正确销售订单不正确销售订单运输损耗运输损耗用户退货用户退货成品折旧成品折旧制造缺陷制造缺陷其它其它50504030201002345614747 用用 户户 其他

39、风险承担人其他风险承担人 销售订单输入人员销售订单输入人员(生产率、工作效率、满意(生产率、工作效率、满意 度)度) MIS MIS主管及开发团队主管及开发团队(对系统开发和维护有直接(对系统开发和维护有直接 责任)责任) 销售订单监督员销售订单监督员(有用户界面、报告访问系(有用户界面、报告访问系 统)统) 首席财务官首席财务官(对公司生产力质量、收益(对公司生产力质量、收益 负责)负责) 生产控制人员生产控制人员 ( (进度等控制进度等控制) )生产管理人员生产管理人员(质量的好(质量的好 坏)坏) 单据人员单据人员( (核实数据核实数据) )表表 4-2 4-2 订单系统的用户及风险承担

40、人表订单系统的用户及风险承担人表需求活动需求活动 需求分析需求分析(3) (3) 确定风险承担人和用户确定风险承担人和用户用例的概念在用例的概念在1986年年由由Ivar Jacobson正式正式提出之后被广泛接受,提出之后被广泛接受,迅速发展,已成为迅速发展,已成为OO、UML、RUP的标准规的标准规范和方法。范和方法。(4) (4) 定义系统的边界定义系统的边界( (面向对象课中详细讲述面向对象课中详细讲述) )使用使用“用例(use case)use case)”技术进一步启发需技术进一步启发需求求需求分析需求分析 用例方法的思想:用例方法的思想: 从用户的角度来看,他从用户的角度来看,

41、他 们并不想了解系统的内部结们并不想了解系统的内部结 构和设计,他们所关心的是构和设计,他们所关心的是 系统所能提供的服务系统所能提供的服务,也就,也就 是被开发出来的系统将是如是被开发出来的系统将是如 何何被使用被使用的。的。参与者参与者用例用例通讯关通讯关 联联图图 4-13 use case图图系统外部系统外部并与该系并与该系统发生交统发生交互的人或互的人或其他系统其他系统系统基本系统基本事件流事件流例例1 1:ATMATM系统的用例系统的用例参与者:银行客户参与者:银行客户用例:银行客户使用自动提款机来进行银行帐户用例:银行客户使用自动提款机来进行银行帐户 的查询、提款和转帐交易的查询

42、、提款和转帐交易银行客户银行客户 查询查询取款取款转帐转帐存款存款图图 4-14 ATMATM系统的用例系统的用例银行客户银行客户维护人员维护人员后台服务器后台服务器例:例:ATM系统,有哪些参与者和用例?系统,有哪些参与者和用例?银行客户银行客户查询查询存款、取款存款、取款转账转账用用 例例qATMATM维护人员维护人员n维护系统维护系统q后台服务器后台服务器n周期性操作周期性操作图图 4-15 ATMATM系统的参与者和用例系统的参与者和用例ATM系统的参与者与角色之间的通讯关联系统的参与者与角色之间的通讯关联系统内部定时的执行系统内部定时的执行 一些操作,但这些操一些操作,但这些操 作并

43、不是由外部的人作并不是由外部的人 或系统触发的。或系统触发的。银行客户银行客户查询查询存、取款存、取款转帐转帐后台服务器后台服务器系统时钟系统时钟周期性任务周期性任务操作员操作员维护系统维护系统图图 4-16 ATM4-16 ATM系统的参与者与角色之间的通讯关联系统的参与者与角色之间的通讯关联参与者确定用例参与者确定用例参与者与用例对应参与者与用例对应5252 描述如下:描述如下: 在在图图书书管管理理系系统统中中,要要为为每每个个借借阅阅者者建建立立一一个个账账号号,并并给给借借阅阅者者发发放放借借阅阅卡卡(借借阅阅卡卡可可以以提提供供借借阅阅卡号、借阅者名)卡号、借阅者名). . 账账户

44、户中中存存储储借借阅阅者者的的个个人人信信息息,借借阅阅信信息息以以及及预预定信息。定信息。 例例2 2 图书馆图书管理系统的分析图书馆图书管理系统的分析 持持有有借借阅阅卡卡的的借借阅阅者者可可以以借借阅阅书书刊刊、返返还还书书刊刊、查查阅阅书书刊刊信信息息、预预定定书书刊刊并并取取消消预预定定,但但这这些些操操作作都都是是通通过过图图书书管管理理员员进进行行的的,也也即即借借阅阅者者不不直直接接与与系系统统交交互互,而而是是图图书书管管理理员员充充当借阅者的代理与系统交互。当借阅者的代理与系统交互。5353&在借阅书刊时,需要在借阅书刊时,需要输入输入: : 所借阅的书刊名、书刊的所借阅的

45、书刊名、书刊的ISBN/ISSNISBN/ISSN号,号, 然后输入借阅者的图书卡号和借阅者名,然后输入借阅者的图书卡号和借阅者名, 完成后提交所填表格,完成后提交所填表格, 系统验证借阅者是否有效(在系统中存在账号)。系统验证借阅者是否有效(在系统中存在账号)。 若若有有效效,借借阅阅请请求求被被接接受受,系系统统查查询询数数据据库库系系统统,看看借借阅阅者者所所借借阅阅的的书书刊刊是是否否存存在在,若若存存在在,则则借借阅阅者者可可以以借借出出书书刊刊,建建立立并并在在系系统统中中存存储储借阅纪录。借阅纪录。5454& 借阅者借阅者还书后还书后, 删除删除关于所还书刊的借阅纪录。关于所还书

46、刊的借阅纪录。& 如果借阅者所借的书刊已被借出,借阅者还如果借阅者所借的书刊已被借出,借阅者还 可可预订预订该书刊,一旦借阅者预定的书刊可以获该书刊,一旦借阅者预定的书刊可以获 得,就将书刊直接寄给借阅人(为了简化系得,就将书刊直接寄给借阅人(为了简化系 统,预定书刊可获得时就不通知借阅者了)。统,预定书刊可获得时就不通知借阅者了)。 另外,为了简化系统,也不考虑书刊的最长另外,为了简化系统,也不考虑书刊的最长 借阅期限,假设借阅者可以无限期地保存所借阅期限,假设借阅者可以无限期地保存所 借阅的书刊。借阅的书刊。5555 对上述图书馆图书管理系统的描述进行对上述图书馆图书管理系统的描述进行分析

47、分析 获得如下获得如下功能性需求功能性需求: (1 1)图书管理员可以)图书管理员可以创建新的借阅者账号创建新的借阅者账号。 (2 2)借阅者持有)借阅者持有借阅卡借阅卡(借阅者名和借阅卡号)。(借阅者名和借阅卡号)。 (3 3)图书管理员作为借阅者的代理)图书管理员作为借阅者的代理借书借书。 (4 4)图书管理员作为借阅者的代理)图书管理员作为借阅者的代理预订预订书刊。书刊。 (5 5)图书管理员作为借阅者的代理)图书管理员作为借阅者的代理取消取消预订。预订。 (6 6)图书管理员作为借阅者的代理)图书管理员作为借阅者的代理还书还书。 5656 (7 7) 图书管理员可以图书管理员可以修改借

48、阅者修改借阅者的账户信息。的账户信息。 (8 8) 图书管理员可以图书管理员可以删除删除已经存在的借阅者账户。已经存在的借阅者账户。 (9 9) 图书管理员可以图书管理员可以添加新的书刊种类添加新的书刊种类。 (1010) 图书管理员可以图书管理员可以修改书刊修改书刊种类信息。种类信息。 (1111) 图书管理员可以图书管理员可以删除删除系统中的系统中的书刊种。书刊种。 (1212) 图书管理员可以在系统中图书管理员可以在系统中添加书刊的添加书刊的 信息信息(注意区分(注意区分“书刊种类书刊种类”和和“书刊书刊”)。)。 (1313) 图书管理员可以图书管理员可以编辑编辑书刊信息。书刊信息。

49、(1414) 图书管理员可以图书管理员可以删除书刊信息删除书刊信息。 讨论讨论 识别并描述参与者识别并描述参与者图书管理员图书管理员登录登录管理读者信息管理读者信息管理图书信息管理图书信息登记借书登记借书登记还书登记还书q借阅借阅者:者:n登录登录n预订图书预订图书n取消预订取消预订n查询浏览图书信息查询浏览图书信息例:一个图书馆管理系统,有哪些参与者和用例?例:一个图书馆管理系统,有哪些参与者和用例?借阅者借阅者图书管理员图书管理员用例用例图书馆管理系统图书馆管理系统参与者与用例之间的通讯关联普通读者普通读者登录登录查询浏览查询浏览预订图书预订图书图书管理员图书管理员管理读者管理读者取消预订

50、取消预订管理图书信息管理图书信息登记借书登记借书登记还书登记还书图图 4-18 图书馆管理系统用例图图书馆管理系统用例图用例的文字描述用例的文字描述NameoftheUseCase(用例的名字用例的名字)Description(描述描述)Actor(s)(参与者参与者)Flowofevents(事件流事件流)Basicflow(常规流常规流)Event1(事件事件)Event2Alternateflow(备选流备选流)Pre-conditions(前置条件前置条件)Post-conditions(后置条件后置条件)n用例用例= = 椭圆椭圆 + + 名字?名字?NO!用例模型用例模型参与者参与

51、者用例名用例名用例规约用例规约.术语表术语表图图 4-19 由用例图到文字描述由用例图到文字描述 用例:登记借书用例:登记借书描述描述1. 目标:目标: 本用例允许图书管理员登记普通读者的借书记录本用例允许图书管理员登记普通读者的借书记录2 事件流:事件流: 2.1 常规流程常规流程当读者希望借书、图书管理员准备登记有关的借书记录当读者希望借书、图书管理员准备登记有关的借书记录时,时,本本用例开始用例开始执行执行。 (1) 系统要求管理员系统要求管理员输入输入读者的注册号和所借图书号。读者的注册号和所借图书号。 (2) 图书管理员输入信息后,系统图书管理员输入信息后,系统产生产生一个唯一的借一

52、个唯一的借 书记录号。书记录号。 (3) 系统系统显示显示新生成的借书记录。新生成的借书记录。 (4) 图书管理员确认后,系统图书管理员确认后,系统增加增加一个新的借书记录。一个新的借书记录。 用例:登记借书用例:登记借书描述描述 2.2 备选流程备选流程 (1) 读者没有注册读者没有注册 在主流程中,如果系统没有读者的注册信息,在主流程中,如果系统没有读者的注册信息, 系统将系统将显示显示错误信息,用例结束。错误信息,用例结束。 (2) 所借图书不存在所借图书不存在 在主流程中,如果所借图书已被借出或者系在主流程中,如果所借图书已被借出或者系 统中无该图书,系统将统中无该图书,系统将显示显示

53、错误信息,用例结束。错误信息,用例结束。3 前提条件:用例开始前,图书管理员必须在系统前提条件:用例开始前,图书管理员必须在系统登录登录 成功。成功。4 后置条件:如果用例执行成功,该读者的借书记录被后置条件:如果用例执行成功,该读者的借书记录被 更新,否则,系统状态不变。更新,否则,系统状态不变。说明说明在一般的用例图中,只需表述参与者和用例之间在一般的用例图中,只需表述参与者和用例之间 的通讯关联。的通讯关联。除此之外,还可以描述:除此之外,还可以描述:参与者与参与者之间的参与者与参与者之间的泛化泛化(generalization)(generalization)用例和用例之间的用例和用例

54、之间的包含包含(include)(include)用例和用例之间的用例和用例之间的扩展扩展(extend)(extend)用例和用例之间的用例和用例之间的泛化泛化(generalization)(generalization)关系关系利用这些关系来调整已有的用例模型,把一些公利用这些关系来调整已有的用例模型,把一些公 共的信息抽取出来复用,使得用例模型更易于维共的信息抽取出来复用,使得用例模型更易于维 护。护。6363(5) (5) 确定解决方案的约束确定解决方案的约束表表 4-3 销售订单输入系统的约束销售订单输入系统的约束约束源约束源约束约束理由理由操作性操作性销售订单数据应完全备份,并销

55、售订单数据应完全备份,并保存在数据库保存在数据库1年以上年以上数据丢失风险数据丢失风险太大太大 系系 统及统及操作系统操作系统这个应用在服务器上不应占用这个应用在服务器上不应占用超过超过20M字节的空间字节的空间服务器上可用的服务器上可用的存储空间有限存储空间有限设备预算设备预算系统在已有设备(服务器主机)系统在已有设备(服务器主机)上开发客户端上开发客户端 成本控制在已有的成本控制在已有的系统中维护系统中维护人员预算人员预算人员固定人员固定成本固定成本固定技术要求技术要求应用面向对象方法应用面向对象方法该技术能增加生产该技术能增加生产率和软件可靠性率和软件可靠性需求活动需求活动需求分析需求分

56、析6464(1) (1) 发现初始需求发现初始需求(2)(2) 对问题进行分析,理解问题背后的问题对问题进行分析,理解问题背后的问题, , 在定义上达成共识在定义上达成共识(3) (3) 确定风险承担人和用户确定风险承担人和用户(4) (4) 定义解决问题方案、系统的边界定义解决问题方案、系统的边界 使用使用“USE CASEUSE CASE”技术进一步启发需求技术进一步启发需求(5) (5) 确定解方案的约束确定解方案的约束需求分析的步骤:需求分析的步骤:小结小结 需求问题陈述需求问题陈述 1.由毕业生个人输入姓名、密码(密码是由二级学院提供原始密码,学生可以修改,如果学生遗忘密码,二级学院

57、可以通过管理员方式找回)2.登录后,填写个人就业单位基本情况(字段在EXCEL表),可选择,每一项都必须填写才能提交。3.提交后,二级学院老师要确认。4.学生可以随时修改,修改后仍然要提交,二级学院老师可以再次确认。5.学生进去后,要先选择毕业年份,如2011,20126.最后能整体导出EXCEL表功能,还能导出未就业学生名单7.系统可以统计出各班就业率(会提交班级人数)和全院就业率作业作业 开发新的学生就业信息统计分析平台开发新的学生就业信息统计分析平台总结出三个不同层次的需求,然后用用例来表示。总结出三个不同层次的需求,然后用用例来表示。学生就业信息统计分析平台学生就业信息统计分析平台业务需求系统能统计学生就业信息用户需求学生能及时输入就业信息,教师能及时获取学生就业信息的统计结果。功能需求1.系统允许学生输入就业信息。2.系统允许教师查询学生就业信息的统计结果。3.系统允许教师输入学生信息。4.系统使用位数字密码检验用户登陆的合法性。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号