基于.net需求分析与解决方案设计

上传人:好** 文档编号:107634077 上传时间:2019-10-20 格式:PPT 页数:64 大小:1.26MB
返回 下载 相关 举报
基于.net需求分析与解决方案设计_第1页
第1页 / 共64页
基于.net需求分析与解决方案设计_第2页
第2页 / 共64页
基于.net需求分析与解决方案设计_第3页
第3页 / 共64页
基于.net需求分析与解决方案设计_第4页
第4页 / 共64页
基于.net需求分析与解决方案设计_第5页
第5页 / 共64页
点击查看更多>>
资源描述

《基于.net需求分析与解决方案设计》由会员分享,可在线阅读,更多相关《基于.net需求分析与解决方案设计(64页珍藏版)》请在金锄头文库上搜索。

1、基于.NET的需求分析与解决方案设计,软件需求是什么? 用户对目标软件系统在功能、行为、性能、设计约束等方面的期望,2,第二章 需求确定,第二章 需求确定,2.1需求分析的任务与原则 2.2需求抽取 2.3需求分析基础 2.4需求建模,3,2.1需求分析的任务与原则,需求分析的任务 需求分析的过程,4,需求分析的任务就是借助于当前系统的逻辑模型导出目标系统的逻辑模型,解决目标系统的 “做什么” 的问题。,2.1需求分析的任务与原则,系统实现模型,目标系统,当前系统,物理模型,逻辑模型,逻辑模型,物理模型,模型化,抽象化,实例化,具体化,理 解 需 求,表 达 需 求,导 出,做什么,怎 么 做

2、,需求分析的 主要工作,系统流程图 或高层DFD图,DFD图、E-R图、用例图、类图、顺序图等,1.需求分析的任务,软件需求分析是软件生存周期中重要的一步,也是最关键的一步。只有通过软件需求分析,才能把软件功能和性能的总体概念描述为具体的软件需求规格说明,进而建立软件开发的基础。,需求分析阶段的具体任务: (1)确定对系统的综合需求 对系统的综合需求主要有:系统功能需求、系统性能要求、运行需求、将来可能提出的需求。系统分析人员与用户协商,澄清模糊需求,删除无法做到的需求,改正错误需求。 (2)分析系统的数据需求 任何一个软件系统本质上都是信息处理系统,系统必须处理的信息和系统应该产生的信息在很

3、大程度上决定了系统的面貌,对软件设计有深远影响。,1.需求分析的任务,(3)导出系统的逻辑模型 在理解当前系统”做什么”的基础上,抽取其”怎么做”的本质。 (4)修正系统开发计划 经过需求分析阶段的工作,分析员对目标系统有了更深入更具体的认识,因此可以对系统的成本和进度作出更准确的估计,在此基础上应该对开发计划进行修正。,1.需求分析的任务,8,(5)开发原型系统 在计算机硬件和许多其他工程产品的设计过程中经常使用样机。建造样机通常有两个主要目的:检验关键设计方案的正确性及系统是否真正满足用户的需求。同样,对于软件系统的开发,使用原型系统的主要目的是,使用户通过实践获得关于未来的系统将怎样为他

4、们工作的更直接更具体的概念,从而可以更准确地提出和确定他们的要求。 (6)编写软件需求规格说明书,1.需求分析的任务,9,2.需求分析的过程,需求分析的过程:问题识别、分析与综合、制定规格说明和需求评审。 问题识别 从系统的角度来理解软件并评审软件范围是否恰当 确定对目标系统的综合要求,即软件的需求 提出这些需求实现条件,以及需求应达到的标准,问题识别的另一项工作是建立分析所需要的通信途径,以保证能顺利地对问题进行分析。,2.需求分析的过程,分析与综合 从信息流和信息结构出发,逐步细化所有的软件功能,找出系统各元素之间的关联、接口特性和设计上的约束,分析它们是否满足功能要求,是否合理。剔除其不

5、合理的部分,增加其需要部分。最终综合成系统的解决方案,给出目标系统的详细逻辑模型。 常用的分析方法 面向数据流的结构化分析方法 (SA) 面向数据结构的Jackson方法 (JSD) 面向对象的分析方法 (OOA) 等,2.需求分析的过程,编制需求分析阶段的文档 软件需求说明书 数据要求说明书 初步的用户手册 修改、完善与确定软件开发实施计划 需求分析评审 系统定义的目标是否与用户的要求一致; 系统需求分析阶段提供的文档资料是否齐全; 文档中的所有描述是否完整、清晰、准确反映用户要求; 与所有其它系统成分的重要接口是否都已经描述;,2.需求分析的过程,需求分析评审 被开发项目的数据流与数据结构

6、是否足够,确定; 所有图表是否清楚,在不补充说明时能否理解; 主要功能是否已包括在规定的软件范围之内,是否都已充分说明; 设计的约束条件或限制条件是否符合实际; 开发的技术风险是什么; 是否考虑过软件需求的其它方案; 是否考虑过将来可能会提出的软件需求; 是否详细制定了检验标准,它们能否对系统定义是否成功进行确认;,2.需求分析的过程,需求分析流程,2.2需求抽取,业务分析员通过咨询发现系统的需求。这个咨询过程涉及客户和问题领域的专家。在一些情况下,业务分析员拥有足够的领域经验,领域专家可能就不需要了。,16,17,2.2需求抽取,从领域专家处抽取的需求由领域知识组成,它们捕获了被广泛承认的与

7、时间无关的业务规则,可适用于大多数的组织和系统。 从客户处抽取的需求以用例实例表示。它们超出了基本的领域知识,捕获了组织的独特性质,即当前组织做业务的或业务应该怎样做的方式。,18,2.2需求抽取,业务分析员的任务就是要组合这两部分需求以形成业务模型。如图所示,业务模型包含业务类模型和业务用例模型。 业务类模型是一个高层类图,标识并关联业务对象。 业务用例模型是一个高层用例图,标识系统中的主要功能构建块。,19,2.2需求抽取,2.2.l传统的需求抽取方法 2.2.2现代需求抽取方法,20,2.2.l传统的需求抽取方法,传统的需求抽取方法包括面谈记问卷法、观察法和业务文档研究法。这些都是简单和

8、合算的方法。 但这些传统方法的效果与项目的风险是成反比的。高风险意味着系统难以实现,甚至高层的需求也非常不清楚。在这种项目中,这些传统的方法就不可能胜任。,21,2.2.l传统的需求抽取方法,2.2.1.1与客户和领域专家面谈 2.2.1.2问卷法 2.2.1.3观察 2.2.l.4文档和软件系统的研究,22,2.2.1.1与客户和领域专家面谈,面谈法是事实发现和信息聚集的基本技术。大多数的面谈过程都是与客户一起进行的。与客户面谈大多用来抽取“用例”需求。如果业务分析员没有足够的领域知识的话,可以把领域专家找来面谈。,23,2.2.1.1与客户和领域专家面谈,与领域专家的面谈经常是一个知识转换

9、的过程,即对业务分析员来说是一个学习过程。与客户的面谈就比较复杂了。 客户可能对他们的需求只有一个模糊的认识,他们也可能不愿意合作或不能够表达他们的需求,他们还可能提出超出项目预算或不可实现的需求。最后,来自不同客户的需求还可能发生冲突。,24,3.2.1.1与客户和领域专家面谈,成功的面谈存在许多因素,但也许最重要的是面谈者的沟通和人际交流技能。与面谈者提出问题和控制面谈过程的同时,认真倾听和保持耐心从而使得面谈对象不感到拘束也是同等重要的。为了维持好的人际关系并得到好的反馈,简单综述面谈的备忘录应该在一两天内发给面谈对象。,25,26,例子:“赛艇比赛成绩计算系统”的第一次面谈的准备计划,

10、2.2.1.2问卷法,问卷法是从多个客户中收集信息的有效方法。它一般用来作为面谈法的补充形式,而不是要替代它。但有一个例外,就是非常了解的低风险项目。对这种项目,具有被动特征和不是很深入的问卷法就已经足够了。,27,2.2.1.2问卷法,一般而言,问卷法没有面谈法有效,因为无法澄清问题和可能得到的响应。问卷法是被动的,就它本身来说既有优点也有缺点。优点在于回答者有时间去考虑如何回答,并且口答可以是匿名的。缺点在于回答者不容易弄清楚这些问题的含义。,28,2.2.1.2问卷法,问卷应该设计成便于问题的回答。特别地,应该避免开放式问题大多数问题都应该是封闭式的。封闭式问题可以采用如下三种形式: 评

11、分问题,回答者在这里需要表达他她对一段陈述的观点,可能的分值可以是强烈同意、同意、中立、不同意、强烈不同意和不知道。 多项选择问题,回答者在这里必须从提供的答案集中选取一个或多个答案。可以允许回答者附加注释。 排序问题,这里所提供的答案应该用序数、百分比或相似的排序方式给出。,29,2.2.1.2问卷法,一个设计良好,易于回答的问卷将鼓励回答者及时返回完成的文档。但是,在评估问卷结果时,业务分析员应该考虑到由于有些人没有回答以至于可能提供不同的答案的这个事实所带来的偏差。,30,2.2.1.3观察,存在这样的情景,其中业务分析员发现通过交谈法和问卷法都很难获得完整的信息。客户可能不能够有效地表

12、达信息,或者只有一个完整的业务过程中的片段知识。在这种情况下,观察可能是有效的事实发现技术。学习如何系领带的最好方法就是观察这个过程。,31,2.2.1.3观察,观察可以有两种形式: 被动观察,业务分析员在这里不受干扰或直接干预的情况下观察业务活动。在有些情况下,摄像机可以用来进行更少干扰的观察。 主动观察,业务分析员在这里参与到活动中,并且有效地成为其中的部分。,32,2.2.1.3观察,要使观察具有代表性,观察应该持续进行一个较长的时间段,在不同的时间段上进行,并且在不同的工作负荷下(挑选时间)进行。观察法的主要困难在于,人们在被观察的情况下总想表现出不同的行为。特别地,他们总想按照形式化

13、的规则和过程去做。这会由于隐藏了正面或负面的工作方法而歪曲了现实情况。我们应该记住“按规则进行工作”在工业行为中是有效的形式。,33,2.2.l.4文档和软件系统的研究,文档和软件系统的研究是发现用例需求和领域知识需求的不可限量的技术,虽然它可能只针对系统中所选择的方面。 用例需求通过研究存在的组织文档和系统表格报表(如果存在当前系统的计算机化方案,因为一般是在大型组织中)。对用例需求最有价值的了解之一是缺陷(如果存在的话)的记录和对存在系统的变化要求。,34,2.2.l.4文档和软件系统的研究,要研究的组织文档包括:业务表格(填好的,如果可能)、工作过程、职位描述、政策手册、业务计划、组织图

14、、办公室之间的通信、会议纪要、财务报表、外部通信、客户投诉等。 要研究的系统表格和报表包括:计算机屏幕和报表,并带有所关联的文档:系统操作手册、用户文档、技术文档、系统分析和设计模型等。,35,2.2.l.4文档和软件系统的研究,领域知识需求通过研究领域刊物和参考手册获得。对专用软件包(如ERP)的研究也提供领域知识源。因此,访问图书馆和软件供应商是需求抽取过程的一部分(当然,因特网使得这种访问不离开办公室就能完成)。,36,2.2.2现代需求抽取方法,现代需求抽取方法包括软件原型的使用、JAD(联合应用开发)以及RAD(快速应用开发)。它们提供了对需求更深的理解,但需要较高的开销和较大的努力

15、。当然,长期的付出可能是非常值得的。 当项目风险高的时候总采用现代方法。项目风险高的因素有很多,包括不明确的目标、未成文的过程、不稳定的需求、不完善的用户知识、没有经验的开发人员、没有足够的用户承诺等等。,37,2.2.2现代需求抽取方法,2.2.2.1原型法 2.2.2.2联合应用开发 2.2.2.3快速应用开发,38,2.2.2.1原型法,原型法在现代需求获取方法中是最常用的方法。构造软件原型为了使系统或者是系统的一部分对客户可视化以获得他们的反馈。 原型是一个演示系统,它是解决方案的一件“快速而粗糙的”工作模型,它呈现出 GUI(图形用户界面),并且对各种用户事件模拟系统的行为。GUI屏

16、幕上的信息内容在原型程序中是硬编码的,而不是从数据库中动态取得的。,39,2.2.2.1原型法,现代GUI的复杂性(和增长的客户期望)使原型法成为软件开发中必不可少的因素,系统的柔性和可用性可以通过原型在开始真正的实现之前就估计出来。 通常,系统原型是抽取从客户那里用其他方式难以抽取的需求的一种非常有效的方式。对增加新的业务功能的系统常常是这种情况,对冲突的需求或者在客户和开发人员之间有沟通问题时也是如此。,40,2.2.2.1原型法,原型有两种: “丢弃”式原型。它是当需求抽取完成时要被丢弃的。“丢弃”式原型针对生命周期的需求确定阶段,它集中在理解得最少的需求上。 进化式原型。它是在需求抽取之后仍保留并被用来产生最终产品。进化式原型目标在于产品发布的速度,它集中在理解得最好的需求上,使得产品的第1版能够很快发布(虽然只具备不完整的功能)。,41,2.2.2.2联合应用开发,JAD是1977年由加拿大的IBM公司发展出来的,它是一种以用户为主导的系统发展方法,此方法特别适用于需求复杂而且需跨多个部门作业的系统。 JAD的核心是环绕着一个密集式的系统开

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

最新文档


当前位置:首页 > 办公文档 > 往来文书

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