软件开发需求分析怎么写(软件开发需求分析阶段主要文档) 软件开发

本篇文章给大家谈谈软件开发需求分析怎么写,以及软件开发需求分析阶段主要文档对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

  • 1、软件工程:3.需求分析
  • 2、如何书写软件需求分析报告?
  • 3、软件开发中的需求分析主要包含什么需求
  • 4、怎样做软件的需求分析
  • 5、怎么写需求分析
  • 6、软件的需求分析怎么写啊?

软件工程:3.需求分析

需求分析的任务就是准确地回答“ 系统必须做什么 ”。是通过系统分析员与用户一起商定,清晰、准确、具体地描述软件产品必须具有的 功能 、 性能 、 运行环境 等要求。

用户:知道做什么,不知道怎么做。

开发人员:知道怎么做,不知道做什么。

因此,系统分析员必须和用户密切配合、充分交流信息,得出经过用户认可的系统需求。

需求分析的目的是澄清用户的需求,并把双方共同的理解明确地表达成一份书面文档—— 需求规格说明书 。

需求分析是一项软件工程活动,它包括: 需求获取 、 需求建模 、 需求规格说明 、 需求评审 。

需求分析模型 是准确地描述需求的图形化工具,主要有 实体关系图 、 数据流图 、 状态转换图 。需求分析建立起来的模型为日后软件设计人员提供了可被翻译成 数据结构 、 体系结构 、 接口 和 处理过程 设计的模型。

如上图所示,目标系统模型的建立过程分 4 步完成:

把分析的结果用正式的文档记录下来,作为最终软件配置的一个组成成分。需求规格说明为开发人员和用户提供软件开发完成时质量评价的依据。

作为需求分析阶段的复审手段,在需求分析的最后一步应该对功能的正确性、完整性和清晰性以及其他需求给予评价。

需求分析研究的对象是 用户的要求 。必须 全面理解 用户的各项要求, 准确表达 用户的要求。只有经过确切描述的软件需求才能成为软件设计的基础。

评审应由专人负责,评审组由软件开发成员、软件专家、领域专家和用户构成。

需求分析是一个不断的迭代过程。只有需求全面,准确无误,才能开发出用户满意的系统。

需求获取是软件开发工作中最重要的环节之一,其工作质量对整个软件系统开发的成败具有决定性影响。需求获取工作量大,所涉及的过程、人员、数据、信息非常多,因此要想获得真实、全面的需求必须要有正确的方法。常规的需求获取的方法有以下几种:

需求分析模型 是准确地描述系统需求的图形化工具。它可以使人们更好地理解将要建造的系统,它有助于系统分析员理解系统的信息、功能和行为,成为确定需求规格说明完整性、一致性和精确性的重要依据,奠定软件设计基础。

需求分析建模的方法有 结构化分析建模 和 面向对象分析建模 。

结构化分析导出的分析模型包括 数据模型 、 功能模型 和 行为模型 。

需求分析模型以“ 数据字典 ”为核心,描述了软件使用的所有数据对象,围绕这个核心的是“ 实体关系图 ”、“ 数据流图 ”和“ 状态转换图 ”。

具体形式如下图所示:

实体关系图(ER,Entity-Relationship Diagram) :是一种数据模型,是以实体、关系、属性三个基本概念概括数据的基本结构,从而描述 静态数据结构 的概念模型。

ER 包括三种基本元素:

关联的重数 定义了在关联的一端可以存在的数据实体实例的数量。 关联重数可以具有下列值之一:

两个数据对象之间按关联的重数有以下三种关联:

以下实体关系图描述的是教师、课程、学生三者之间的关系。

以下实体关系图描述的是出勤、职工、奖金、扣款之间的关系。

数据流图(DFD,Data flow diagram) ,是描述数据流和数据转换的图形工具,它是进行结构化分析的基本工具,也是进行软件体系结构设计的基础。

DFD 有四种元素,其基本符号如图所示:

示例,工资计算系统的顶层(0层)数据流图:

在数据流图中有时也使用 附加符号 : * 、 + 、 ⊕ ,分别表示与、或、互斥关系。

数据流图可分为不同层次,顶层(0层)DFD 称为 基本系统模型 ,可以将整个软件系统表示为一个具有输入和输出的黑匣子,其加工处理是 软件项目的名称 ,用一个圆圈表示。

DFD 中的每一个加工可以进一步扩展成一个独立的数据流图,以揭示系统中加工的细节。这种循序渐进的细化过程可以继续进行,直到最底层的 DFD 图仅描述加工的 原子过程 为止。每一层数据流图必须与它上一层数据流图的输入输出保持平衡和一致。

数据流图是在需求陈述的基础上绘制的。

这个数据流图只是一个高层的系统逻辑模型,它反映了目标系统要实现的功能。

第二层数据流图——销售细化:

第二层数据流图——采购细化:

当软件系统涉及 时序关系 时需要进行 行为建模 ,由于数据流图不描述时序关系,系统的控制和事件流需要通过行为模型来描述。

在描述系统或各个数据对象的行为时,采用 状态转换图 。通过描述系统或对象的 状态 ,以及引起系统或对象状态转换的 事件 来表示系统或对象的行为。

状态转换图(STD,Status Transition Diagram) ,是描述系统状态如何响应外部事件进行转移的一种图形表示。

状态 是任何可以被观察到的系统行为模式,一个状态代表系统的一种行为模式。状态规定了系统对事件的响应方式。在状态图中定义的状态主要有: 初始状态 、 中间状态 和 最终状态 。

事件 是在某个特定时刻发生的事情,它是对引起系统从一个状态转换到另一个状态的外界事件的抽象。

在状态转换图中,圆圈“○”表示可得到的 系统状态 ,箭头“→”表示从一种状态向另一种 状态的转移 。箭头旁标上 事件名 。

数据字典(DD,Data Dictionary) 用来描述数据流图中的数据存储、数据加工和数据流。 数据字典与数据流图配合,能够准确、清晰地表达数据处理的要求。

对于在数据流图中每一个被命名的图形元素均加以定义 ,其内容有: 名字、别名或编号、分类、描述、定义、位置、其它。

在数据字典中,数据元素的定义可以是基本元素及其组合,数据进行自顶向下地分解,直到不需要进一步解释且参与人员都清楚其含义为止。

数据流定义实例:航班订票单的数据定义

数据元素定义实例:考试成绩的数据定义

数据文件定义实例:图书库存的数据定义

数据处理定义实例:编辑订票的数据定义

外部实体定义实例:教师的数据定义

存折=户名+所号+帐号+开户日+性质+(印密)+1{存取行}50

户名=2{字母}24

所号=“001”..“999”

帐号=“00000001”..“99999999”

开户日=年+月+日

性质=“1”..“6” 注:“1”表示普通户,“5”表示工资户等

印密=“0” 注:印密在存折上不显示

存取行=日期+(摘要)+支出+存入+余额+操作+复核

需求规格说明书(SRS,Software Requirement Specification) ,是系统分析人员在需求分析阶段完成的文档,是软件需求分析的最终结果。

它的 作用 主要是: 作为软件人员与用户之间事实上的技术合同;作为软件人员下一步进行设计和编码的基础;作为测试和验收的依据 。

SRS 必须用统一格式的文档进行描述。为了使需求分析描述具有统一的风格,可以采用已有的且能满足项目需要的模板,如中国国家标准推荐的SRS模板,也可以根据项目特点和软件开发小组的特点对标准进行适当的改动,形成自己的模板。

如何书写软件需求分析报告?

01

获取软件需求,包括业务需求、用户需求和功能需求,只有先完整获取软件项目开发过程中的各种需要,才能完成软件需求分析报告,这是基础工作。

02

对需求进行建模,根据所获取的需求情况,软件需求分析人员要对各项需求进行分类、鉴别、综合,然后建模,清除不合理需求,然后发掘用户未提出的需求。

03

按照建模情况编写软件需求分析报告,严格按照软件需求分析报告的格式编写,一般包括引言、任务概述、数据描述、功能需求、运行需求等一系列内容,充分描述软件系统所应具有的外部行为。

04

对需求进行评审,由需求分析人员、软件开发人员、用户一起对需求分析报告进行复核,对有不同意见的地方进行修改,查缺补漏,确保需求分析报告符合用户和软件开发人员的期望,双方能达成一致。

软件开发中的需求分析主要包含什么需求

软件开发中的需求分析主要包含什么需求:

1、功能性需求

这是最主要也是最常见的需求。这类需求是要求实现某一项实际功能的,这个功能一般都会通过某种形式展现出来。一个软件最基本的就是功能性需求。在APP开发初期,应尽可能保证功能性需求的优先度,它们是一款APP的灵魂所在。

2、稳定性需求

稳定性需求是次一级的要求,包括可靠性、可维护性、安全性等等,也是APP中很重要的一部分。可靠性是指一定时间或条件下,系统执行所要求功能的无故障执行能力;可维护性是为改进系统或修复bug而修改系统或某功能模块的难易程度;安全性是指阻止对其程序和数据进行未授权访问的能力,等等。

这些需求有些也很重要,是能够关系到APP生死的关键功能,在开发时也必须加以重视。

3、开发性能需求

性能需求是指软件的优化程度,例如提升软件启动速度和加载速度,能够保证高并发而不产生数据阻塞等等。这些是属于用户体验方面的优化,一般在软件开发的进程中属于比较靠后的需求。软件的运行效率并不会是软件的决定性方便,一般只有到了软件稳定发展的阶段才会考虑。

怎样做软件的需求分析

做软件需求分析的方法:

1、确定产品所期望的用户类别。

2、获取每个用户类的需求。

3、了解实际用户任务和目标以及这些任务所支持的业务需求。

4、分析源于用户的信息以区别用户任务需求、功能需求、业务规则、质量属性、建议解决方法和附加信息。

5、将系统级的需求分为几个子系统,并将需求中的一部份分配给软件组件。

6、了解相关质量属性的重要性。

7、商讨实施优先级的划分。

8、将所收集的用户需求编写成文档和模型。

9、评审需求规格说明,确保对用户需求达到共同的理解与认识,并在整个开发小组接受说明之前将问题都弄清楚。

怎么写需求分析

一、需求分析的目的

需求分析是一项软件工程的活动,其目的包括以下几点:

完整地获取用户要求,清楚地理解索要解决的问题;

描述清楚软件的功能和性能;

指明软件与其他系统元素的接口;

建立软件必须满足的约束(如运行环境等)。

二、需求分析的任务

需求分析是研究用户要求,以得到目标系统的需求定义的过程。需求分析的基本任务是软件开发人员和用户一起完全弄清用户对系统的确切要求。具体步骤包括下面几点。

1. 需求获取

调查研究的方法有访谈、分发调查表或开会等。

(1)访谈 :正式访谈和非正式访谈 。

(2)分发调查表:调查表中列出需要的内容,让用户书面回答问题。

(3)开会 :可采用开会-讨论-确认的方法进行调查。

2. 需求建模

需求分析建立起来的模型为日后的软件设计提供了可被翻译成数据、体系结构、接口和处理过程设计的模型。

2.1软件需求的层次

1).业务需求(business requirement)反映了组织机构或客户对系统、产品高层次的目标要求,它们在项目视图与范围文档中予以说明。

2).用户需求(user requirement) 文档描述了用户使用产品必须要完成的任务,这在使用实例(usecase)文档或方案脚本说明中予以说明。

3).功能需求(functional requirement) 定义了开发人员必须实现的软件功能,使得用户能完成他们的任务,从而满足了业务需求

软件的需求分析怎么写啊?

软件需求分析免费下载  

链接:

提取码:qoyw  

需求分析也称为软件需求分析、系统需求分析或需求分析工程等,是开发人员经过深入细致的调研和分析,准确理解用户和项目的功能、性能、可靠性等具体要求,将用户非形式的需求表述转化为完整的需求定义,从而确定系统必须做什么的过程。

关于软件开发需求分析怎么写和软件开发需求分析阶段主要文档的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

在线客服
途傲科技
免费获取方案及报价
2024-05-07 06:06:57
您好!欢迎来到途傲科技,我们致力于软件定制开发,核心团队拥有10年以上开发经验,项目案例1000+。 目前已合作客户有【中电金信】【中建土木】【齐鲁壹点】【中软国际】等。为了节省您的时间,您可以留下姓名,手机号(或微信号),产品经理稍后联系您,免费帮您出方案和预算! 全国咨询专线:18678836968(同微信号)。
🔥线🔥
您的留言我们已经收到,现在添加运营微信,我们将会尽快跟您联系!
[运营电话]
18678836968
取消

选择聊天工具: