您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 交通运输 > 01软件需求基础知识(教案)
1《软件需求(第2版)》教案陶铮2007年3月目录1软件需求基础知识...................................................................................................................21.1软件需求的定义...........................................................................................................21.1.1对需求的不同解释...........................................................................................31.1.2需求的层次.......................................................................................................31.1.3不属于需求的内容...........................................................................................61.2需求的开发与管理.......................................................................................................61.2.1需求开发...........................................................................................................61.2.2需求管理...........................................................................................................71.3所有项目都有需求.......................................................................................................81.4优秀的团队遇到糟糕的需求.......................................................................................81.4.1用户参与不足...................................................................................................91.4.2用户需求扩展...................................................................................................91.4.3有歧义的需求.................................................................................................101.4.4镀金问题.........................................................................................................101.4.5过于抽象的需求.............................................................................................101.4.6忽略了某类用户.............................................................................................101.4.7不准确的计划.................................................................................................101.5优质需求过程的好处.................................................................................................111.6优秀需求的特点.........................................................................................................111.6.1需求陈述的特点.............................................................................................111.6.2需求规格说明的特点.....................................................................................1321软件需求基础知识章首案例的概括总结见课件。本章要点:(1)需求的重要性软件问题主要在于需求:许多软件问题都源于收集、记录、协商和修改产品需求过程中的方式不当。包括信息收集方式不正规,没有明确提出想要的功能,连假设也是未经沟通的错误假设,需求的定义不够充分,以及未经仔细考虑进行需求变更等。需求问题造成很大的麻烦:软件项目中40%~60%的缺陷都是由需求分析阶段的过失所致。需求问题,一是轻视,而是不得方法:许多组织仍然没有采取有效手段来实施这两个必要的项目活动。由此导致的结果是用户和开发者之间产生需求的鸿沟。(2)软件项目知识——项目涉众●客户:为达到其公司的业务目标而投资项目或购买产品。●用户:直接或间接与产品打交道,是客户的一部分。●需求分析员:负责编写需求并传达给开发团队。●开发人员:设计、实现和维护产品。●测试人员:确定产品的行为是否与预计的相一致。●文档编制人员:负责编写用户手册、培训资料和系统帮助。●项目经理:制定项目计划并带领开发人员获得成功。●法律人员:确保产品符合所有相关法规。●生产人员:制造包含该软件的产品。●市场营销、技术支持及其它与产品和客户打交道的人员。理解涉众,关键在于“只有涉众承诺遵循有效的需求过程,才能为软件开发和项目管理活动奠定基础。本章讲授内容:●软件需求工程的一些重要术语。●需求开发与需求管理。●注意潜在的与需求相关的问题。●完善的需求应该具备哪些特征。1.1软件需求的定义术语混乱:用户需求、软件需求、功能需求、系统需求、技术需求、业务需求或产品需求。3一般的误解:开发人员——看到客户对需求说法,认为只是高级别的产品概念;用户——看到的开发人员的需求描述,认为是用户界面设计。需求定义,即用文字进行规范地、正确地、完整地描述。需求必须被记录成文档。1.1.1对需求的不同解释需求的几种定义,都很有参考价值。1.咨询专家BrianLawrcnce提出,需求是“任何促成设计决策的因素”。很多信息都属于这一范围。2.IEEE的软件工程标准术语表(199⑴则将需求定义为:用户为解决某个问题或达到某个目标而需具备的条件或能力。系统或系统组件为符合合同、标准、规范或其它正式文档而必须满足的条件或必须具备的能力。上述第一项或第二项中定义的条件和能力的文档表达。3.作者对需求的理解:需求是产品为向涉众提供价值而必须具备的特性。4.需求类型的多样性(Sommerville和Sawyer1997):需求是……对应该实现什么功能的说明——可以是对系统运行方式或系统特征与属性的描述;还可能是对系统开发过程的约束。1.1.2需求的层次本节的内容十分重要。——需求工程领域一些常用术语的定义。软件需求包括3个不同的层次:1.业务需求2.用户需求3.功能需求。除此之外,每个系统还有各种非功能需求。重要:图1-1中的模型给出了各种需求关系的示意图。图中的椭圆代表各类需求信息,矩形则是存储这些信息的载体(文档、图形或数据库)。4图1-1各种需求的关系图注:第7章中介绍了各种需求的示例。三大需求1.业务需求(Businessrequirement)——表示组织或客户高层次的目标。业务需求通常来自项目的投资人、购买产品的客户、实际用户的管理者、市场营销部门或产品策划部门。业务需求描述了组织为什么要开发一个系统,即组织希望达到的目标。本书规定用前景和范围(visionandscope)文档来记录业务需求。见第5章的主题(作为实验3内容)。任务是:定义项目范围(随后会发生如何控制范围扩大的问题)。2.用户需求(userrequirement)——描述的是用户的目标,或用户要求系统必须能完成的任务。用户需求描述的是软件使用者(用户)使用系统能够完成什么业务任务或信息处理工作。具体内容是用例、场景描述和事件-响应表等。见第8章(作为实验4)。3.功能需求(functionalrequirement)——规定开发人员必须在产品中实现的软件功能,用户利用这些功能来完成那些满足业务需求的具体的任务。功能需求有时也被称作行为需求(behavioralrequirement),描述的是软件的行为性活动。功能需求描述的是开发人员需要实现什么。第10章将举例说明这点。如:“系统应该发送电子邮件来通知用户己接受其预定”。5术语系统需求(systemrequirement)用于描述包含多个子系统的产品(即系统)的顶级需求。系统可以只包含软件子系统,也可以既包含软件又包含硬件子系统。人也可以是系统的一部分,因此某些系统功能可能要由人来承担。业务规则包括企业方针、政府条例、工业标准、会计准则和计算方法等。第9章中指出业务规则本身并非软件需求,因为它们不属于任何特定软件系统的范围。然而,业务规则常常会限制谁能够执行某些特定用例,或者规定系统为符合相关规则必须实现某些特定功能。有时,功能中特定的质量属性(通过功能实现)也源于业务规则。所以,对某些功能需求进行追溯时,会发现其来源正是一条特定的业务规则。功能需求记录在软件需求规格说明(SRS)中。SRS完整地描述了软件系统的预期特性。SRS还可以是包含需求信息的数据库或电子表格;或者是存储在商业需求管理工具中的信息(参见第21章),甚至可能是一叠索引卡片。SRS对于软件设计、开发、测试、质量保证、项目管理和其它相关的项目功能都十分重要。SRS中还包含非功能需求,包括性能指标和对质量属性的描述。质量属性(qualityattribute)对产品的功能描述作了补充,它从不同方面描述了产品的各种特性。包括可用性、可移植性、完整性、效率和健壮性,还包括系统外部界面,以及对设计与实现的约束。约束(constraint)限制了开发人员设计和构建系统时的选择范围。字处理程序的例子。业务需求:“产品允许用户轻松地更正文档中的拼写错误。”因此该产品的包装盒上列出了拼写检查器这一功能特性。用户需求:包括“找出拼写错误”和“把单词添加到词典中”这样一些任务,或者叫作用例。功能需求:如找到并突出显示拼错的单词,用对话框显示修改建议,用正确的单词替换整篇文档中同一单词的所有拼写错误。结合非功能需求,介绍:可用性(usability)的质量属性,它规定了业务需求中“有效”(efficiently)一词的含义。增加的内容:(1)可用性指标(2)网站质量评价要素下面的内容,分
本文标题:01软件需求基础知识(教案)
链接地址:https://www.777doc.com/doc-3117030 .html