首页 > 编程知识 正文

软件的关键需求,软件功能优化需求分析书

时间:2023-05-06 04:44:33 阅读:18864 作者:2199

我们的软件产品或项目有三个层次和三个方面。

一、我们首先看需求的三个层次

软件要求有三个不同的级别:业务要求、用户要求和功能要求。

33558 www.Sina.com/(业务要求)代表组织或客户的高层次目标。 业务需求通常来自项目投资者、购买产品的客户、实际用户的管理员、市场营销部门或产品规划部门。 业务需求说明了为什么要开发组织希望实现的目标这一系统。 使用前景和范围文档记录业务要求。 本文档有时也称为有关项目配置文件或市场要求的文档。

33558 www.Sina.com/(用户请求)表示用户的目标或用户对系统要求的任务。 用例、场景描述和事件——响应表都是表达用户需求的有效方法。 也就是说,用户的需求表明了用户可以使用系统做什么。

33558 www.Sina.com/(功能请求)规定了开发人员必须在产品中实现的软件功能,用户可以利用这些功能执行业务并满足业务需求。 功能要求有时也称为“行为要求”。 这是因为系统总是用“当然”来表示:“系统应该发送电子邮件,通知用户您已经接受了预定。” 功能要求的说明是开发人员需要实现什么。 注意:用户的需求不一定会转化为成功的需求。 产品特性、特性(feature )是一系列逻辑上相关的功能需求,可为用户提供满足业务目标的功能。 对于商业软件,特性是一系列有助于客户意识到并决定是否购买的需求,是产品说明书中由重要符号标识的部分。 客户想要获得的产品特性和用户对任务的需求并不完全一样。 一个特性可以包含多个用例,并且每个用例必须满足多个功能要求,以便用户可以执行任务。

3358 www.Sina.com/(系统要求)用于描述包含多个子系统的产品,也就是系统的顶层要求。 该系统可以仅包括软件系统,也可以包括软件和硬件子系统两者。 因为人也是系统的一部分,所以一部分系统功能可能由人来承担。

包括业务需求企业方针、政府条例、工业标准、会计准则和核算方法等。 业务计划本身不是软件要求,因为它不在特定软件系统的范围内。 但是,业务规则往往限制可以运行特定用例的用户,或者规定系统必须实施特定功能以满足相关规则。 在某些情况下,功能中的特定质量属性(由功能实现)也基于业务规则。 因此,当您追溯特定功能要求时,您会发现其来源是特定的业务规则。

功能要求在软件要求规格书(SRS )中有记载。 SRS完整地描述了软件系统的预期特性。 SRS我们通常将其视为文档,但实际上,SRS也是包含需求信息的数据库和电子表格; 存储在业务需求管理工具中的信息。对于小项目,这可能是一叠索引卡。 开发、测试、质量保证、项目管理、其他相关项目功能均使用SRS。

除此之外,关于需求水平还有其他方法。

组织级要求-业务要求-用户要求-功能要求(有时称为行为要求)。

用户需求一般表达了组织的愿景和目标。 对于大型公司,一般通过资深顾问和咨询公司获得,并提供咨询报告。 例如在ITSM和企业信息化方面。 典型的组织级别需求包括降低成本、降低库存成本、提高企业IT服务部门的价值、通过ISO20000、提高IT服务效率和提高员工满意度。

功能需求是每个业务流程和业务单元完成组织使命和实现组织愿景的需要。 业务需求服从组织的需求。

系统需求用户级需求是在业务级需求下,各岗位合作完成业务所具有的需求。 软件要求规格书中的要求主要是这一部分。

业务规则同样,代表着满足产品或软件需求的能力。 通常,管理员或产品市场部门的负责人负责定义软件业务需求,以提高企业运营效率(对信息系统而言)或产品市场竞争力(对业务软件而言)。 所有用户需求都必须满足业务需求。 需求分析师从用户的需求出发,推导出产品对用户来说应该具有什么样的功能。 开发人员根据功能和非功能要求设计解决方案,在限制范围内实现所需功能,并达到规定的质量和性能指标。 如果提出新的特性、用例或功能要求,要求分析师会问:“它在范围内吗? ”的问题。 如果答案为“是”,则要求属于要求规格说明,反之则不属于要求规格说明。 但是,答案可能是“没有,但应该在”。 在这种情况下,业务需求代表或投资经理必须决定是否扩大项目范围以满足新的需求。 这是可能影响项目进度和预算的业务决策。

组织级需求:

除了功能要求外,SRS还包括非功能要求,如性能指标和质量特性说明。

p>    
  质量属性(quality attribute)对产品的功能描述作了补充,它从不同方面描述了产品的各种特性。这些特性包括可用性、可移植性、完整性、效率和健壮性,它们对用户或开发人员都很重要。其他的非功能需求包括系统与外部世界的外部界面,以及对设计与实现的约束。还有一项称为可用性(usability)的质量属性,它规定了业务需求中“有效”(efficiently)一词的含义。
  约束(constraint)限制了开发人员设计和构建系统时的选择范围。约束,在产品的架构设计中,是需要被首先考虑的问题。

     如果说产品的功能代表了产品的能力,那么产品的质量属性代表了产品的品质,产品的约束代表了产品必须去满足的或者适应的条件!用人说“用户体验”是产品的灵魂,对于个人级的软件这么说或许很恰当,当对于企业级甚至是行业级的产品,其灵魂有两个:一个是产品带个用户的价值,另一个是产品的品质,简单的说,就是价值和品质。但其成为一个产品的前提应该是满足约束,否则就不应该设计、开发、进入市场而成为一个垃圾。
  

 

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。