基于Hadoop平台的电信客服数据的处理与分析②项目分析与设计---需求分析-项目场景引入

任务描述

需求分析是软件生命周期中一个非常重要的过程,它决定着整个软件项目的质量,也是整个软件开发的成败所在。本环节任务是完成软件需求规格说明书。

知识点 :软件需求规格说明书的编写

重   点 :软件需求规格说明书内容的学习

难   点 :软件需求规格说明书的理解与编写

内   容 :软件需求规格说明书的编写

任务指导

一. 软件需求规格说明书的定义

      参考需求分析定义:需求分析(软件工程学术语)_百度百科

二. 软件需求规格说明书内容分析

    1. 项目概述

         1.1 产品介绍
             提示:
           (1)说明产品是什么,什么用途。
           (2)介绍产品的开发背景。提供关于发起这个软件开发的业务组织的概要,包括业务组织的使命及业务目标
        1.2 产品范围
             提示:描述待开发软件产品的范围。在描述中应该包括:
           (1)描述软件产品的特征
           (2)介绍软件的功能,并进行简要说明
           (3)描述软件产品“适用的领域”和“不适用的领域”,本产品“应当包含的内容”和“不包含的内容”。(做什么,不做什么)
           (4)说明软件应用
           (5)描述软件的相关的收益、目的和目标等
             此处的描述应与之前的项目文档的类似描述保持一致。说清楚产品范围的好处是:

           (1)有助于判断什么是需求,什么不是需求;

           (2)可以将开发精力集中在产品范围之内,少干吃力不讨好的事情;

           (3)有助于控制需求的变更。

        1.3 用户群体及角色
              提示:
           (1)描述本产品面向的用户(客户、最终用户)的特征。
           (2)说明本产品将给他们带来什么好处?他们选择本产品的可能性有多大?
           (3)根据用户的特征,按照功能、位置和设备类型等识别每一类用户。明确每一类型的用户的数量,以及他们使用软件的特点。根据这些特点划分产品中定义的角色及其工作职责,填写在下表中,各种角色的具体行为将在功能性需求中描述。软件产品用户的特征会影响特定的需求。许多人在软件生命周期的运行和维护阶段使用软件。这些人是用户、操作员、系统维护人员。这些人的某些特点,如教育水平,经验和技术专长,可能成为软件的运行环境的重要制约因素。

表1 用户群体及角色示例

角色名称

职责描述

        1.4 运行环境
              提示:描述软硬件运行环境。包括硬件平台、操作系统和版本,以及用户、服务器和数据库的地理位置。列出系统必须和平共存的其他软件组件或应用程序,前景和范围文档中可能包含这样的高层信息。

表2  运行环境要求示例

需求名称

详细要求

        1.5 假设、依赖和约束
              提示:列举软件产品的假设、依赖和约束。但不是每个产品都同时具备这三个条件。
              假设 描述那些影响在软件需求说明书描述的需求的假设。假设是那些在项目的生命周期中被认为是真的因素,如果这种假设改变,会对项目产生负面的影响,包括但不限于最终用户的特点,已知的技术基础设施,资源可用性和资金可用性等。
依赖 描述那些影响在软件需求说明书中描述的需求的依赖。依赖是指在项目的范围和控制之外,并且为了项目取得成功而必须为真的情况。举例来说,一个依赖可能是一个应用程序依赖于一个不同的应用提供具体的数据或者是一个与第三方应用程序的接口需要购买一个应用程序编程接口(API)。
约束 提供各种限制软件的范围和功能的因素的描述,包括但不限于行业标准与规范,业务规则,监管政策,基础设施的限制,资源和许可。约束是通过环境、权利或强制规定施加到解决方案上的限制。约束通过无法改变的边界及限制,制约了解决方案的设计师可供选择的方案。
 

   2. 产品的功能性需求

       2.1 整体业务流程图/用例图
             提示:以结构化或面向对象的方法绘制出产品整体业务的流程图或用例图。
       2.2 功能性需求分类
             提示:将功能性需求先粗分再细分,下表中的 功能 A, 功能 A.1等符号应当被替换成有含义的名称。

表3  功能性需求示例

功能类别

子功能

功能类别 A功能 A.1
功能 A.2
功能类别 B功能 B.1
功能 B.2

       2.3 功能类别 A
             提示:功能类别的名称与分类表中类别名称应保持一致,它是几个子功能总括名称,形如“采购管理”、“私信系统”。
             以下提供了每种描述功能需求的子功能的模板。
                 2.3.1 功能 A.1
                           提示:当采用功能分解的方式描述功能性需求的时候,按照模板描述所有的子功能。需要按照具体的功能标识及命名每一个功能。

                           2.3.3.1 描述和优先级 
                                       提示:描述功能,并指出该功能的优先级。

                           2.3.1.2 输入
                                       提示:描述功能输入。

                           2.3.1.3 操作
                                       提示:描述在功能中执行的操作。

                           2.3.1.4 输出
                                       提示:描述功能的输出

                 2.3.2 功能 A.1用例 Y
                            提示:当采用用例的方式描述功能性需求时,按照模板描述每个用例,按照每一个具体的用例标识以及命名每个用例,其中Y是指定用例的名字。

在每个用例子功能中,指定用例信息,包括角色,前置条件,后置条件,操作流程和替代流程等。
                            在每个用例子功能中,指定用例信息,包括角色,前置条件,后置条件,操作流程和替代流程等。

表4  用例示例

用例名称
用例编号
用例简介
优先级
前置条件
后置条件
操作流程

步骤

触发者

描述

扩展流程
例外流程
包含
假设
约束条件
输入及约束

             2.3.3 功能 A.2

                          ……

             2.3.4 功能 A.2用例Y

                          ……      

            2.4 功能类别 B
                  略

  3. 产品的非功能性需求

        3.1 用户界面需求
              提示:描述软件的用户界面需求。用户界面需求用于捕获应用程序的人机界面的预期行为。例如,如果用户通过显示终端操作,说明所需的屏幕内容,任何报告或菜单的内容,输入和输出的相对时间。用户需求可能包括示例的屏幕或报表格式为原型来进行需求的说明。

表5  非功能性需求示例

需求名称

详细要求

        3.2 性能需求
              提示:描述性能条件以及相关的能力。考虑因素包括:
            (1)发生的动态行为或变化(如比率,速率,运动和噪声水平)
            (2)涵盖设备的承受能力的量化标准,用于在规定的环境和其他条件下满足用户的需求,包括最低总寿命。说明了需要的持续运行时间以及计划的可用率。
            (3)运行的阶段和模式的性能需求
            (4)支持的终端数量
            (5)支持的并发用户数量
            (6)在正常以及峰值负载的条件下,特定时间内可以处理的事务和任务以及数据量
            (7)在非正常的工作压力下可接受的性能
        3.3 产品质量需求
              提示:描述软件的质量特性的需求。需求的描述应该是可度量、可验证的。描述在特性之间(比如安全性和可移植性)之间的权衡关系。质量特性的定义包括正确性、有效性、灵活性、完整性/安全、互操作性、可维护性、可移植性、可靠性、可重用性、可测试性、易用性。

 表6  产品质量需求示例

主要质量属性

详细要求

正确性

健壮性

可靠性

性能,效率

易用性

清晰性

安全性

可扩展性

兼容性

可移植性

       

        3.4 其他需求
              提示:描述不适合放在前面需求章节中的任何其他的需求。如有些软件系统比较强调信息管理需求、安全需求,也可以在此扩展。

   4. 接口

    提示:描述应用和其他软件、硬件以及通信协议之间的接口的逻辑特性。每个接口的描述包括:
        ● 该接口的目的
        ● 应用接口对应的系统,包括外部的或内部的
        ● 交换机制


    附录A:需求建模与分析报告
          建议用Rational Rose对产品需求进行建模与分析。
          A.1 需求模型1

          A.n 需求模型N
    附录B:需求跟踪矩阵
          提示:提供指向需求跟踪矩阵的链接,需求跟踪矩阵中说明了在系统需求规格说明中的系统需求、在本软件需求规格说明书中的软件需求以及系统设计中的设计元素之间的对应关系。SRS中的需求跟踪矩阵应该:
          ● 含有用来说明系统需求与系统设计、软件需求、软件设计等元素之间的可追溯性的列
          ● 含有用来说明集成、验收、回归、性能测试等的可追溯性的列
          ● 填入了所有记录在系统需求规格说明中的需求
          ● 填入了所有记录在系统设计中的设计项
          ● 填入了所有记录在需求规格说明书中的需求项
          ● 说明了系统规格说明书中的系统需求与系统设计中的设计项之间的对应关系
          ● 说明了系统设计中的设计项与需求规格说明中的需求的对应关系
          ● 说明了每一个需求的出处及来源


    附录C:需求确认
         提示:主要分两步:(1)需求评审,(2)需求承诺。对需求的评审应当采用“正式技术评审方式”,将产生一份“需求评审报告”。在获取责任人(Stakeholders)对需求的承诺之前,该《产品需求规格说明书》必须先通过需求评审。

表7  需求评审报告摘要示例

需求评审报告摘要

需求文档

输入名称,标识符,版本,作者,完成日期,…

需求评审报告

输入名称,标识符,评审日期,…

评审结论

[  ] 工作成果合格,“无需修改”或者“需要轻微修改但不必再审核”。

[√] 工作成果基本合格,需要作少量的修改,之后通过审核即可。

[  ] 工作成果不合格,需要作比较大的修改,之后必须重新对其评审。

评审意见

评审小组成员

输入评审小组成员

表8 需求承诺示例

需求承诺

需求文档

输入名称,标识符,版本,作者,完成日期

客户承诺

承诺…

签字,日期

项目经理承诺

承诺…

签字,日期

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/766558.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

分享一款Type C接口USB转2路485模块【带完整原理图】

大家好,我是『芯知识学堂』的SingleYork,今天给大家分享一款很实用的工具–基于Type C接口的USB转2路485模块。 这款模块主芯片采用南京沁恒的CH342F这款芯片,芯片特性如下: 该系列芯片有QFN24和ESSOP10 这2种封装,…

深度网络现代实践 - 深度前馈网络之结构设计篇

序言 深度网络结构设计作为人工智能领域的基石,正引领着技术创新的浪潮。通过模拟人脑神经元间的复杂连接,深度神经网络展现了卓越的特征学习与模式识别能力。随着大数据与计算能力的提升,设计高效、精准且泛化能力强的深度网络结构成为研究…

深度探索“目录名称无效“:原因、解决方案与最佳实践

目录名称无效:现象背后的秘密 在日常使用电脑或移动设备时,我们时常会遇到“目录名称无效”的错误提示,这一提示仿佛是一道无形的屏障,阻断了我们与重要数据的联系。从本质上讲,“目录名称无效”意味着系统无法识别或…

基于正点原子FreeRTOS学习笔记——时间片调度实验

目录 一、时间片调度介绍 二、实验演示 1、宏修改 1.1、滴答定时器宏 1.2、调度器宏 2、实验程序 2.1.1、任务1,任务2不加临界区程序 2.1.2 实验现象 2.2.1、任务1,任务2加临界区程序 2.2.2 实验现象 一、时间片调度介绍 时间片:同…

Golang中defer和return顺序

在Golang中,defer 和 return 的执行顺序是一个重要的特性,它们的执行顺序如下: return语句不是一条单独的语句,实际上,它是由赋值和返回两部分组成的。赋值步骤会先执行,这一步会计算return语句中的表达式…

【后端面试题】【中间件】【NoSQL】MongoDB的配置服务器、复制机制、写入语义和面试准备

MongoDB的配置服务器 引入了分片机制之后,MongoDB启用了配置服务器(config server) 来存储元数据,这些元数据包括分片信息、权限控制信息,用来控制分布式锁。其中分片信息还会被负责执行查询mongos使用。 MongoDB的配置服务器有一个很大的优…

【C语言】const 关键字

在C语言中,const关键字用于定义常量,使得变量的值在其声明之后无法被修改。这可以帮助防止意外修改数据,提高代码的安全性和可读性。以下是有关const关键字的一些详细说明: 基本用法 const int max_value 100;在这个例子中&…

Zynq系列FPGA实现SDI视频编解码+图像缩放,基于GTX高速接口,提供4套工程源码和技术支持

目录 1、前言工程概述免责声明 2、相关方案推荐本博已有的 SDI 编解码方案本博已有的FPGA图像缩放方案本方案的无缩放应用本方案在Xilinx--Kintex系列FPGA上的应用 3、详细设计方案设计原理框图SDI 输入设备Gv8601a 均衡器GTX 解串与串化SMPTE SD/HD/3G SDI IP核BT1120转RGB纯V…

FastApi中的常见请求类型

FastApi中的常见请求类型 后端开发语言中,我钟情于node,高效的异步处理真是让我眼前一亮,同时,简单易懂的语法也让我非常倾心 但是但是,因为考虑要写一个深度学习算法的后端接口,所以不得不选用python作为…

容器安全:等保合规性的基石

随着云计算和微服务架构的蓬勃发展,容器技术已经成为现代IT基础设施不可或缺的一部分。在网络安全等级保护制度(等保)的框架下,容器安全的要求日益凸显,成为等保合规性的基石。本文将深入探讨容器安全在等保中的重要性…

nginx的配置文件

nginx.conf 1、全局模块 worker_processes 1; 工作进程数,设置成服务器内核数的2倍(一般不超过8个,超过8个反正会降低性能,4个 1-2个 ) 处理进程的过程必然涉及配置文件和展示页面,也就是涉及打开文件的…

让围绕数据库构建大模型应用更简单方便--DB-GPT

DB-GPT的目的是构建大模型领域的基础设施,通过开发多模型管理(SMMF)、Text2SQL效果优化、RAG框架以及优化、Multi-Agents框架协作、AWEL(智能体工作流编排)等多种技术能力,让围绕数据库构建大模型应用更简单,更方便。 1 处理流程 DB-GPT系…

问题集锦1

01.inner中使用JwtTokenUtil.getUserCode() 前端调用上传(java),上传使用加购 Overridepublic Boolean insertShoppingCart(InsertShoppingCartParamsDto dto) {// 通过userCode,itemCode和supplierCode来判断当前加购人添加到购物车的商品是…

美术馆预约小程序的设计

管理员账户功能包括:系统首页,个人中心,展品信息管理,管理员管理,用户管理,美术馆管理,基础数据管理,论坛管理 微信端账号功能包括:系统首页,美术馆&#xff…

工业路由器与家用路由器的区别

在现代网络环境中,路由器扮演着至关重要的角色。无论是在家庭网络还是在工业网络,选择合适的路由器都至关重要。本文将从多个角度,对工业路由器与家用路由器进行详细比较,帮助您更好地理解二者的区别。 1、安全性 工业路由器&…

API接口测试/Swgger-ui未授权访问

目录 API接口 接口文档 接口测试的方法 单流程 多流程 Swgger-ui未授权访问 在之间的一次面试中面试官问到了API接口测试,我回答的不好,因为自己确实不太会,后面才下去学习了,这里复习和练习一下 API接口 API(…

背景图的动效,非常的炫酷,非一般的感觉。

我们都知道在一些展示型项目中,背景图加上动效后,可以立马让整个设计档次提升了,这次带来了一批背景图的动效图,大家看一下。

震惊!张宇强化36讲1200页,暑期强化高效利用指南!

特别喜欢张宇老师的讲课风格 如果你打算跟张宇老师,那么基础——>强化——>冲刺,你应该这么买书! 张宇老师25版课程大改版,其中,36讲的变动是最大的,张宇老师25版课程把以往的强化课程前移&#xff0…

基于多视点编码光场的全景三维重建方法

欢迎关注GZH《光场视觉》 摘要:在基于光场的一系列应用中,目标的三维重建是基础且关键的任务。普通光场只能重建单一视角而无法重建全景,并且在纹理特征匮乏的区域也无法生成准确的三维信息。针对以上问题,提出一种基于多视点编码…

视频字幕提取在线工具有哪些?总结5个字幕提取工具

平时在沉浸式追剧的时候,我们常常都会被影视剧中的各种金句爆梗而逗得开怀大笑~而真正要用到时候却总是一片头脑空白。其实要记住它们最好的办法便是将其提取留档下来,每次有需要的时候打开就能一下子回顾到~ 今天就来带大家盘一盘视频字幕提取的软件好…