《软件需求》PPT课件

《软件需求》PPT课件

ID:39157984

大小:1.03 MB

页数:113页

时间:2019-06-26

《软件需求》PPT课件_第1页
《软件需求》PPT课件_第2页
《软件需求》PPT课件_第3页
《软件需求》PPT课件_第4页
《软件需求》PPT课件_第5页
资源描述:

《《软件需求》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第二章软件需求SoftwareRequirementsEngineering软件需求作为软件生命周期的第一个阶段,其重要性越来越突出,到20世纪80年代中期,逐步形成了软件工程的子领域——需求工程。90年代后,需求工程成为软件界研究的重点之一。一些关于需求工程的工作小组相继成立,使需求工程的研究得到了迅速进展。2.1软件需求工程的基本概念对系统应该提供的服务和所受到的约束进行理解、分析、建立文档、检验的过程——需求工程1.什么是软件需求工程?2.软件需求工程的任务是什么?3.需求工程过程4.软件需求分析方法软件需求的重要性软件需求无疑是当前软件工程中的关键问题,没有需求就没有软

2、件。美国于1995年开始对全国范围内的8000个软件项目进行跟踪调查。分析失败的原因发现,与需求过程相关的原因占了45%,而其中缺乏最终用户的参与以及不完整的需求又是两大首要原因,各占13%和12%。未完成完成未实施完成输入:《合同》/《立项建议书》/现场调研。输出:《用户需求报告》/需求规格说明书》。需求分析为什么重要?1)许多大型应用系统的失败,最后均归结到需求分析:要么获取需求的方法不当,使得需求分析不到位或不彻底,导致开发者反复多次地进行需求分析,致使设计、编码、测试无法顺利进行;要么客户配合不好,导致客户对需求不确认,或客户需求不断变化,同样致使设计、编码、测试无法顺

3、利进行。软件需求的重要性需求分析为什么重要?2)需求分析的输出文档是《用户需求报告》,它是客户、软件开发人员和项目管理人员三者必须遵守的一根基线,三者共同工作的基础,是测试的准则。3)需求分析要占用整个软件开发时间或工作量的30%左右。4)需求获取中的错误,属于软件开发中的早期错误,它会在后续的设计和实现中进行发散式的传播。根据以上四项原因,IT企业的高层经理,对需求分析特别重视,常常派经验最丰富的人员去作项目需求。正因为如此,“系统分析员”才是软件行业中的最高技术职称。软件需求的重要性软件需求的困难软件需求是软件工程中最复杂的过程之一:应用领域的广泛性,它的实施无疑与各个应用

4、行业的特征密切相关。非功能性需求建模技术的缺乏及其与功能性需求的复杂联系,增加了需求工程的复杂性。沟通上的困难,由于系统分析员、需求分析员等各方面人员有不同的着眼点和不同的知识背景,给需求工程的实施增加了人为的难度。什么是软件需求?软件需求就是为了解决现实世界中的特定问题必须展现的属性。这里的问题可能是用户的任务自动化,或由软件来完成一个组织的业务处理,或控制一个设备等等。需求属性主要有:1)可验证性:软件需求必须是可验证的,否则软件的评审和测试就没有相应的依据。但在某些情况下,很难对某些软件需求进行验证或需要的代价很高。软件需求人员和测试人员应以合理的代价实现需求的验证。什么

5、是软件需求2)优先级:软件需求应具有优先级,可以在有限的资源情况下进行取舍。3)唯一性:软件需求应唯一地标识出来,以便在软件配置管理和整个软件生命周期中进行管理。什么是软件需求软件需求需要量化软件需求应尽可能地表述清楚,没有二义性,尽可能量化,使得需求是可测试、可验证的。应避免含糊地、无法测试、无法验证的需求出现。软件质量的可靠性和用户界面的友好性,这些非功能性需求的量化尤为重要。例如,系统应支持1000并发用户,系统影响时间应低于10毫秒,这就是需求的量化。软件需求的可靠性将直接影响系统的架构。需求分析是一个过程需求过程不仅表现在一个软件生命周期的早期活动之中,而且应体现在整

6、个生命周期过程中。需求过程要适应客户和项目的环境,并作为配置项纳入配置管理。需求过程描述了在不同项目和限制条件下,如何提取、分析、文档化以及验证软件需要。需求分析是一个过程需求过程中的角色名称描述用户直接操作软件的人员。他们通常具有不同的业务角色,有不同的业务需求。例如一个图书管理系统的用户包括:读者、图书管理员、仓库管理员、系统管理员、馆长客户指软件开发的委托方或软件市场的目标客户。例如,某一设备制造商委托软件开发商进行设备控制软件开发,那么该设备制造商是系统的客户市场分析人员对于没有具体客户的通用软件,市场分析人员将提供市场需要,并对实际客户进行模拟软件分析师对于类似的项目

7、,软件分析师将对以前系统进行评估,判断是否存在重用的可能需求分析典型的需求分析包含以下5种:1)系统目的指软件的整体目的,或高层的目标。这是进行软件开发的动机,但它们通常表达比较模糊。软件分析师需要仔细地评估这些目标的价值以及成本。应对系统的整体目标进行可行性研究。2)行业知识软件分析师需要获取业务领域内的相关知识。当需要发生矛盾时,软件分析师可以利用行业知识对各种需求进行权衡。需求分析3)软件涉众应充分考虑不同软件涉众的需求,如果只强调某一角色的需求,忽略其它角色的需求,往往将导致软件系统

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。