软件工程开发文档写作教程(08)—需求分析书的编制目标

news2024/12/27 12:12:24

  • 本文原创作者:谷哥的小弟
  • 作者博客地址:http://blog.csdn.net/lfdfhl
  • 本文参考资料:电子工业出版社《软件文档写作教程》 马平,黄冬梅编著

需求分析定义

在这里插入图片描述

需求分析的基本任务是要准确地定义新系统的目标,为了满足用户需求,回答系统必须“做什么”的问题。获得需求规格说明书。

为了更加准确地描述需求分析的任务,Boehm给出软件需求的定义:研究一种无二义性的表达工具,它能为用户和软件人员双方都接受,并能够把“需求”严格地、形式地表达出来。

对于大中型的软件系统,很难直接对它进行分析设计,人们经常借助模型来分析设计系统。模型是现实世界中的某些事物的一种抽象表示,抽象的含义是抽取事物的本质特性,忽略事物的其他次要因素。因此,模型既反映事物的原型,又不等于该原型。模型是理解、分析、开发或改造事物原型的一种常用手段。例如,建造大楼前常先做大楼的模型,以便在大楼动工前就能使人们对未来的大楼有一个十分清晰的感性认识,显然,大楼模型还可以用来改进大楼的设计方案。

需求分析一般步骤

由于需求分析方法不同,描述形式也不同。需求分析一般的实现步骤如下所述。

(1)获得当前系统的物理模型
物理模型是对当前系统的真实写照,可能是一个由人工操作的过程,也可能是一个已有的但需要改进的计算机系统。首先是要对现行系统进行分析和理解,了解它的组织情况,数据流向,输入输出,资源利用情况等,在分析的基础上画出它的物理模型。

(2)抽象出当前系统的逻辑模型
逻辑模型是在物理模型的基础上,去掉一些次要的因素,建立起反映系统本质的逻辑模型。

(3)速立目标系统的逻辑模型
在分析目标系统与当前系统在逻辑上的区别,建立符合用户需求的目标系统的逻辑模型。

(4)补充目标系统的逻辑模型
对目标系统进行补充完善,将一些次要的因素补充进去,例如出错处理。

需求分析具体任务

根据上述分析得知,需求分析的具体任务如下所述。

(1)确定系统的综合要求
确定系统功能要求是最主要的需求,确定系统必须完成的所有功能。确定系统性能要求应就具体系统而定,例如可靠性,联机系统的响应时间,存储容量,安全性能等。确定系统运行要求主要是对系统运行时的环境要求,如系统软件,数据库管理系统,外存和数据通信接口等。将来可能提出的要求对将来可能提出的扩充及修改做预准备。

(2)分析系统的数据要求
软件系统本质上是信息处理系统,因此,必须考虑数据(需要哪些数据,数据间联系,数据性质,结构),数据处理(处理的类型,处理的逻辑功能)。

(3)导出系统的逻辑模型
通常系统的逻辑模型用DFD图来描述。

(4)修正系统的开发计划
通过需求对系统的成本及进度有了更精确的估算,可进一步修改开发计划。

需求分析书的编制目标

软件驱动着计算机硬件帮助人们完成一个又一个功能,软件没有思想不会思考却能很好地执行人类下达的命令。所以,软件能够做到的事,完全在人类的计划之中,是人类希望借助软件完成功能。于是,一个软件系统最终能给用户提供什么功能,是由软件的开发商决定的。由于将要开发的软件能提供的所有功能被记录在需求分析书中,所以需求分析书的编制目标可以总结为以下3点。

1 .限定软件的功能需求
随着软件用途的扩大,现今人们开发出来的无论是通用软件还是特定领域的专业软件,其功能越来越强大,一般不存在只完成一个简单功能的小软件了,这些简单而单一功能往往由模块或者组件来实现,再将这些实现各种功能的模块或组件集成在一个系统中,团结协作共同完成人们希望实现的功能。软件应该具备什么样的功能,会根据各软件开发的目的不同而有所不同,所以首先应该明确的就是客户为什么要开发该系统,紧接着要确定客户为了达到这些目的希望计算机软件做什么。希望软件做的事就成为了客户的需求,客户的所有需求都应该被明确的记录,不能因为有些功能过于简单或者认为某些需求是理所当然的就不被记入需求说明书中。建房屋需要规划用地,做软件也需要明确功能边界。

2 .明确开发目标
一个人在一大片空地上想走出一条直线是相当困难的,但是,如果空地上有棵树,以该树为目标径直走过去的话,也许中途会走歪,但是从整体来看,路是直的。软件开发的整个过程中,如果经常拿需求作为目标进行比较,到项目最后结束的时候就会发现,做出来的软件并没有太多的偏离原始要求。开发的过程中也不会因为目标不明确而任意发挥,而盲目乱做会导致开发过程受阻或者不断返工。

3 .提供系统评价标准
软件工程当中有一句很经典的话:“是否做了客户希望你做的事,是否用正确的方法做了客户希望你撤的事”,需求分析书恰恰是检验“是否做了客户希望你做的事”最好的方法,系统交付给客户的时候,拿出之前落到纸上的需求分析书,对照其中的每点要求逐条验收,这样就可以检查该系统是否是客户最初设想的系统。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

seleniumplaywright获取网站Authorization鉴权实现伪装requests请求

文章目录 selenium&playwright获取网站Authorization鉴权实现伪装requests请求需求背景知识点:selenium获取已登录网站的用户鉴权信息知识点:playwright获取cookie知识点:playwright获取storage_state提取cookie秃发状况windows禁止chrom…

OpenCV实现提取水平线和垂直线,提取验证码

1.提取水平线和垂直线 在之前的博客中,我们介绍了很多形态学操作。其中,膨胀与腐蚀操作可以使用任意的结构元素,例如矩形、圆、直线等各种自定义形状。 提取水平线和垂直线的具体步骤见下: 1.1.步骤一:读入原始图像…

提速YOLOv7:用MobileNetV3更换骨干网络加速目标检测

目录 前言一、MobileNetV3的介绍1、MobileNetV3的原理和特点2、MobileNetV3的结构 二、YOLOv7的介绍1、YOLOv7的结构和流程2、YOLOv7的性能指标 三、MobileNetV3替换YOLOv7的骨干网络1、替换骨干网络2、修改neck部分3、微调模型 四、实验结果与分析1、数据集和实验设置2、实验结…

【Prompting】ChatGPT Prompt Engineering开发指南(3)

ChatGPT Prompt Engineering开发指南3 总结文字使用单词/句子/字符限制进行总结以运输和交付为重点进行总结以价格和价值为重点进行总结 尝试“extract”而不是“summarize”总结多个产品评论内容来源 本文承接上文:ChatGPT Prompt Engineering开发指南2&#xff0c…

RK3588平台开发系列讲解(进程篇)图解linux netlink

平台内核版本安卓版本RK3588Linux 5.10Android 12文章目录 一、netlink协议簇二、netlink初始化沉淀、分享、成长,让自己和他人都能有所收获!😄 📢 netlink 协议是一种进程间通信(Inter Process Communication,IPC)机制,为的用户空间和内核空间以及内核的某些部分之间…

解决FTD2000 麒麟系统下计算机属性中显示的内存比实际内存少

FTD2000 麒麟系统下计算机属性中显示的内存比实际内存少,首先确认问题点,判断是飞腾D2000的bios问题,还是麒麟系统问题 可以用如下方式做出判断 1、D2000 log打印进入shell 后 exit 在弹出来的界面中选 bios set 选项、进入bios 设置界面,如下图 可以看到 bios 下,Tota…

总结851

每周小结 英语背了3篇文章 高数一直刷关于一元积分的题目,一共150道左右,平均一天20道左右,强化课看到第2讲数列。 每日必复习(5分钟) 线性代数 向量组 学习内容: 暴力英语:继续背诵《The kin…

YOLOv5:解读yolo.py

YOLOv5:解读yolo.py 前言前提条件相关介绍yolo.pyparse_model()函数Detect类Model类 参考 前言 记录一下自己阅读yolo.py代码的一些重要点,方便自己查阅。特别感谢,在参考里,列举的博文链接,写得很好,对本人…

康耐视智能相机insight主从触发以及康耐视insight视觉系统之间数据特有交互方式

1、一个相机设置为主系统,指定自己的名称,下方可以指定发给从系统的数据,触发方式不要设置 成网络 2、另外一个相机触发方式设置成网络,然后下方指定主系统的名称 3、主系统每触发一次,就会带动从系统触发,同时指定的数据会发送到从系 统,从系统使用函数getstring获取…

【数据结构】图的创建和深度(DFS)广度(BFS)优先遍历

一、图 1.图的概念 图是由顶点的有穷非空集合和顶点之间边的集合组成,通过表示为G(V,E),其中,G标示一个图,V是图G中 顶点的集合,E是图G中 边的集合。 2.图的种类 图分为无向图和有向图 无向图:若顶点V…

用于OOD预测的稳定学习

当测试数据和训练数据共享相似的分布时,基于深度神经网络的方法取得了惊人的性能,但在其他情况下可能会失败。因此,消除训练和测试数据之间分布变化的影响对于构建有前景的深度模型至关重要。作者考虑了一个更具挑战性的情况。通过训练样本的…

大数据Doris(二十一):Bloom Filter索引以及Doris索引总结

文章目录 Bloom Filter索引以及Doris索引总结 一、Bloom Filter索引 1、BloomFilter索引原理 2、BloomFilter索引语法 3、注意事项 二、Doris索引总结 Bloom Filter索引以及Doris索引总结 一、Bloom Filter索引 1、BloomFilter索引原理 BloomFilter是由Bloom在1970年提…

移动机器人运动规划---基于图搜索的基础知识---广度优先遍历与深度优先遍历

移动机器人运动规划---基于图搜索的基础知识---广度优先遍历与深度优先遍历 广度优先搜索(BFS)深度优先搜索(DFS)BFS vs DFS 图搜索优化的方向就是: 按照什么规则去访问节点,按照什么规则弹出节点&#xff…

快速了解 TypeScript

目录 1、简介 2、安装TypeScript 3、编译代码 4、类型注解 5、接口 6、类 7、运行TypeScript Web应用 1、简介 TypeScript是JavaScript类型的超集,它可以编译成纯JavaScript。 TypeScript可以在任何浏览器、任何计算机和任何操作系统上运行,并且…

【哈士奇赠书活动 - 23期】-〖你好 ChatGPT〗

文章目录 ⭐️ 赠书 - 《你好 ChatGPT》⭐️ 内容简介⭐️ 作者简介⭐️ 精彩书评⭐️ 赠书活动 → 获奖名单 ⭐️ 赠书 - 《你好 ChatGPT》 ⭐️ 内容简介 人工智能(AI)时代已经来临,AIGC(人工智能生成内容)正在进一步…

【精选】各种节日祝福(C语言,可修改),Easyx图形库应用+源代码分享

博主:命运之光✨✨ 专栏:Easyx图形库应用📂 目录 ✨一、程序展示 范例一:❤新年祝福❤ 范例二:❤母亲节祝福❤ ✨二、项目环境 简单介绍一下easyx图形库应用 Easyx图形库 ✨三、运行效果展示(视频&am…

【C++起飞之路】初级——缺省参数、函数重载、引用

C:函数重载、引用 一、缺省参数🛫1.1 🚝什么是缺省参数1.2 🚝缺省参数的分类a. 全缺省参数b. 半缺省参数(部分缺省参数) 1.3 🚝注意事项 二、函数重载🛫2.1 🚝什么是函数…

时间复杂度:根号n一般来说大于log(n)

f ( x ) x − l o g 2 x f(x)\sqrt{x}-log_2 x f(x)x ​−log2​x 对这函数求导后,比较分母大小,可以得到结论 f ( x ) f(x) f(x)先减后增,分界点为 x 4 ( l n 2 ) 2 x \frac{4}{(ln2)^2} x(ln2)24​ f ( x ) f(x) f(x)的图像如下所示&a…

PPT技能之文字格式,转身的文字这样做

只要用PPT,一定需要设置文字格式。好的文字格式,给人惊艳的感觉,是一种愉悦的享受。 你的关注,是我最大的动力!你的转发,我的10W!茫茫人海有你的支持,给我无限动力。 1、字体。 按…

什么是Java中的阻塞队列?它有什么作用?

在Java中,阻塞队列是一种特殊的队列,它可以在队列为空或队列已满时阻塞添加或移除元素的操作。阻塞队列通常用于多线程编程中,可以帮助我们更加方便地进行线程通信和协作。在本文中,我将从面试的角度,详细讲解Java中的…