第一章_需求概述new.

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第一章软件需求概述1.1软件开发的目标1.2软件需求的定义本章结构1.3软件需求的作用1.4好的软件需求特性1.5软件需求层次1.4好的软件需求特性引子…..道可道,非常道--老子万物演化时所遵循的基本法则可以体察说明,但因为一切事物都是处在变化之中,所以对于事物的绝对认识是不可能的,故而我们体察到和说明了的内容,并非是一成不变的永恒真理。软件的需求也在不断变化中,如何把握它呢?进一步引申,好的需求如何保障呢?它有哪些特性呢?1.4好的软件需求特性好的需求如何保障?深入理解用户的真正的意图和需要。清晰完整的需求表达。借助需求分析工具,E-R图、DFD图、DD、UML工具等等。?使用科学的需求管理方法,完善需求变更控制流程。一个安全的保密性需求的例子保密性要求可以采用加密算法、保存数据历史记录、把功能分配到不同的模块、限制某些软件内部通信、检查关键数据的完整性。例如,为保证子系统所处理的各类数据的保密性,子系统基于Oracle数据库提供C3级数据安全保密等级,并提供用户管理、角色管理、权限管理、用户审计等安全管控手段,保障各类数据的使用安全。需求的表示-用统一的建模工具(一)帮助建立数据库表结构用统一的建模工具(二)又如,厦门大学的费用报销流程用统一的建模工具(三)UML之用例图邮箱1.4好的软件需求特性好需求可以概括为:“内涵一致、外延完整”,具体来说,包含两个特征:一致性和全面性。又引申为8个因素:1.无歧义因素编写需求人员常常下意识假设所有人的某个主题、名词或术语都与自己有一样的认知水准。文档书写过简略也可能引起歧义。1.4好的软件需求特性他背着媳妇做了不少事。放弃美丽的女人让人心碎。我有一个女儿,同许多年轻的妈妈一样,愿意把孩子打扮得漂亮些。每周要来两个半天。(软件学院通知)1.4好的软件需求特性如:系统只允许保留5个有效的相关记录和保障计划,它必须包括最新的。可分解成:(1)系统只允许保留5个有效的相关的记录。(2)最新的相关记录一定包含在上述相关的记录中。(3)每个保障计划都放在其相关的记录中。又如,ERP项目中,要求某咨询公司开发有关报表的需求:“财务相关的报表”,它指的是外延是什么?财务和会计?标准报表?财务部门使用的所有报表?财务和会计部门使用的所有报表?1.4好的软件需求特性再如,系统将对记录进行自动更正。什么原因使记录需要更正?是单字段校验,还是要进行字段组合校验?系统自动进行什么样的更正?什么时候进行更正?消除歧义几个方法:对模糊处刨根问底表述明确清晰关键字进行定义(如下页说明)图形化和标准参照法某需求分析说明书中的名词解释1.4好的软件需求特性2.完整性因素避免遗漏,“待确定”项通常要在开发前明确。如OA中开发“知识库”功能的例子。又如,某ERP的需求文档说明“包括上述功能,但不代表全部”。3.一致性因素业务需求与用户需求一致,功能需求与用户功能一致(下节讲述)。各层次的内容不矛盾。4.可检验性因素便于将来测试时有基准参照。可检验性因素两个不可检验需求的例子:用新系统完成报表自动化处理。报表包括哪些?自动化处理的标准是什么?员工标识号必须在一个有效的范围内。有效范围是什么?5.确定性因素明确在所有可能的条件下(满足和不满足时)系统应该做什么。举例:系统1应该每隔5分钟向系统2发送一次新记录。问题:如果在5分钟内系统1没有收到新记录,要怎么办呢?修正:如果自上次向系统2发送消息以来,5分钟内收到了新记录,则系统1向系统2发送新记录。如果在上述5分钟内没有收到新记录,则系统1什么都不做。6.可跟踪性因素每条需求都应该被唯一标识,以便能够在设计、实现和测试过程中进行跟踪。这也有助于维护系统。7.正确性因素用户需求正确映射到软件需求。8.可行性因素系统实施要行得通,如生产现场使用ERP系统,某酒店在OA中使用派车单。9.必要性因素每项需求都能回溯至某项客户提出的要求,避免“吃力不讨好”、“画蛇添足”。Boehm提出的10大风险清单中,把不必要花费的努力(GoldPlate)也列在其中。第一章软件需求概述1.1软件开发的目标1.2软件需求的定义本章结构1.3软件需求的作用1.4好的软件需求特性1.5软件需求层次1.5软件需求的层次软件需求包括不同的层次:业务需求、用户需求、功能需求和非功能需求,其组成关系如下页图所示。1.5需求的层次项目视图举例:“化学制品跟踪系统”可使科学家查询到化学制品仓库或供应商将提供的化学制品容器。系统可随时了解公司中每一个化学制品容器所处的位置,容器中所剩余的药品剂量,任何时候每个容器所处的位置和用法的历史记录。通过充分利用公司内部的可用化学制品,废弃极少量已使用或过期失效的化学制品,使用标准的化学制品的购买过程等将在化学制品上节省25%开支。“化学制品跟踪系统”还能产生符合政府部门规定所要求的全部报表,包括化学制品的使用、存储和废弃等报表。相关需求的说明业务需求(businessrequirement)反映了组织机构或客户对系统、产品的高层次的目标要求,它们在项目视图与范围文档中予以说明。充分应用信息化手段,开发完善数据监控系统的所得税管理模块内容,为企业所得税管理搭建起科学高效的应用平台。用户需求(userrequirement)文档描述了用户使用产品必须要完成的任务,使用实例文档或场景描述中予以说明。场景就是指用户与软件系统实现某个目标而进行交互活动过程的描述。如用户与ATM机的交互取现金。云南税务信息化水平上台阶纳税服务短信平台启动“纳税人将得到更加深入细致,更加周到体贴的服务,将更加感受到依法纳税的自豪和光荣。”陈建国说。他表示,短信平台启动推广后,地税部门将通过平台的“延伸式服务”使纳税人通过手机随时随地享受纳税服务,通过其“个性化服务”根据不同纳税人的不同需求传递有针对性的涉税信息,通过其“双向式服务”实现征纳双方的无障碍互动,通过其“温馨式服务”及时提醒涉税事务以最大限度避免纳税人的非主观过失。用户需求“您好,XX税务局提醒您,请于本月7日前申报缴纳个人所得税”。“您好,编号****的用户,您的年度审核即将到期,请速办理。XX税务局”……纳税人手机里可能随时收到类似的提醒信息,而对税务信息有疑问的纳税人,也能通过手机方便、快捷地自助获取相关信息。功能需求与非功能需求功能需求(functionalrequirement)定义了开发人员必须实现的软件功能,使得用户能完成他们的任务,从而满足了业务需求和用户需求(如系统发送电子邮件来通知用户已接受其预定某场所、某商品等等)。特点:由系统管理员整理和编写的功能条目,往往带计算机相关名词和术语。非功能需求描述了系统展现给用户的行为和执行的操作等。包括外部界面的具体细节;性能要求等,如可靠性、可用性、有效性(性能和可伸缩性)、可维护性、可移植性等。如,厦门大学的教务系统的访问。质量属性质量属性(qualityattribute)是通过多种角度对产品的特点进行描述,它对产品的功能描述作了补充,它从不同方面描述了软件的各种特性。这些特性包括可用性、可移植性、完整性、效率和健壮性,它们对用户或开发人员都很重要。其他的非功能需求,如系统与外部世界交互的外部界面等。约束所谓约束是指对开发人员在软件产品设计和构造上的限制。如用户指定使用Unix系统,意味着不能用DELL微机服务器,指定用SQLServer数据库,意味着数据库受约束。按RUP的要求进行开发。某集团仅使用国内管理软件包。业务规则业务规则包括企业方针、政府条例、工业标准、会计准则和计算方法等。如某软件产品必须遵从的标准、规范和合约等等。又如,海关MIS要符合国家进出口法规制度,货物统计符合国际通行的标准。财务与会计系统符合国家会计与审计制度等等。字处理程序的各层次需求业务需求:“用户能有效地纠正文档中的拼写错误”,该产品的包装盒封面上可能会标明这是个满足业务需求的拼写检查器。对应的用户需求:找出文档中的拼写错误,并通过一个提供的替换项列表来供选择替换拼错的词。对应的功能需求:找到并高亮度提示错词的操作;显示提供替换词的对话框实现整个文档范围的替换。医院信息系统(HIS)的各层次需求①各类使用人员,包括领导干部、各级管理人员、医护人员等,可以及时地、广泛地获得必需的信息,从而可提高工作效率和服务质量。②提高医院各类信息(费用信息、药品信息、医疗信息等)的准确性、及时性和可见性,从而可提高医院的工作效率和经济效益。③医院信息系统是医疗护理、物品(如药品、器械)管理、财务管理、文字处理、信息传输等多方面工作的有效工具,使工作方便、快捷、质量高。④为病人提供方便,使其获得最佳医疗效果。(以上为业务需求)⑤在病人登记子系统中,提供自动按设定条件查重功能,防止重复建立病案。?⑥病人既可以使用电话预约挂号,也可以实地进行挂号。?⑦医生在自己的工作站上书写病历、下达各种检查和治疗医嘱,通过网络传输。?⑧用户输入姓名、性别、住院号等信息及用户密码,查询个人相关病案,并可对弹出信息进行保存或打印。?⑨用户选择科室、姓名、性别、职称等信息,调用相应医生信息对话框,了解其业务及值班情况。?航空机票预订系统的各层次需求①为游客提供机票预定服务。(业务需求)②方便旅游局的售票工作。(业务需求)③提高旅游局的服务质量和服务效率,降低售票服务中的错误发生率,减少信息交流的烦琐过程及其带来的开销。(业务需求)④顾客在旅游局进行咨询时,终端向服务器发出查询请求,服务器根据航班信息库的实时数据,向终端发送数据,显示在终端的屏幕上。?⑤顾客向售票员定票时,终端向服务器发出详尽的一份定单,服务器核对后,存入定票信息库,并修改机票信息库。?需求未包含的信息需求并未包括设计细节、实现细节、项目计划信息或测试信息。需求与上述信息没有关系,它关注的是充分说明究竟想开发什么。项目也有其它方面的需求,如开发环境需求或发布产品的需求。需求路线图了解从用户要求到软件需求的一般路径,即从问题领域转向解决方案领域。#软件需求系统特性涉众需要面向电脑语言的需求方案。完成涉众需要而提供的服务。必须解决的业务或运作问题的反映。软件或系统项目涉众(stakeholder)包括:客户:为达到其公司(组织)的业务目标而投资项目或购买产品。用户:直接或间接与产品打交道,是客户的一部分。需求分析员:负责编写需求并传达给开发团队。开发人员:设计、实现和维护产品。测试人员:确定产品的行为是否与预计的相一致。文档编制人员:负责编写用户手册、培训资料和系统帮助。项目经理:制定项目计划并带领开发人员获得成功。法律人员:确保产品符合所有相关法规。生产人员:制造包含该软件的产品(前提是软件产品化)。市场营销:技术支持及其他与产品和客户打交道的人员。所谓特性(feature)是指逻辑上相关的功能需求的集合,给用户提供处理能力并满足业务需求。应用领域特性范例1.电梯控制系统在发生火警时,人工控制通道2.存货管理系统及时提供所有的存货最新状况3.工资管理系统到目前为止的金额分类扣除报告4.家电自动照明系统长时间外出的设置

1 / 38
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功