精华内容
下载资源
问答
  • 软件需求分析
    千次阅读
    2020-10-30 09:45:26

    软件生命周期由三部分组成:软件定义、软件开发、软件维护。
    其中软件定义时期又可以分为三个阶段:问题定义、可行性研究、需求分析。

    需求分析

    需求分析处于软件定义时期的最后一个阶段,同时又处于软件正式开发起始阶段,关系到整个软件的开发和维护。
    基本任务是回答“系统必须做什么”这个问题。该阶段要提交详细的数据流图、数据字典和算法描述。

    需求分析的特点

    困难点:
    1.需求易变性
    用户在开始时提出一些功能需求,当对系统有一定的了解后,会提出一些需求。以后随着理解的深入会不断提出新的需求。用户需求的变动是一个极为普遍的问题,即使是部分变动,也往往会影响到需求分析的全部,导致不一致性和不完备性。

    2.问题的复杂性
    一方面是由用户所涉及的因素繁多引起的,如运行环境和系统功能等;另一方面是扩展的应用领域本身的复杂性。

    3.交流障碍
    涉及人员较多,系统分析员要与软件系统用户、问题领域专家、需求工程师、项目管理员等进行交流。但是这些人具备不同的背景知识,处于不同的角度,扮演不同的角色,造成了相互之间交流的困难。

    4.不完备性和不一致性
    由于用户各类人员对于系统的要求所处的角度不一样,所以对问题的陈述往往是不完备的,其各方面的需求还可能存在着矛盾。需求分析要消除其矛盾,形成完美及一致的定义。

    需求分析的原则

    为使需求分析科学化,在软件工程的分析阶段中提出了许多需求分析方法。但要遵循一下原则:
    (1)把复杂问题按功能进行分解并逐层细化。
    (2)必须能够表达和理解问题的数据域和功能域。
    (3)建立模型。

    需求分析的任务

    1.问题明确定义
    在可行性研究的基础上,双方通过交流,对问题都有进一步的认识,所以可确定对问题的综合需求:
    (1)功能需求
    (2)性能需求
    (2)环境需求
    (2)用户界面需求
    (2)系统的可靠性、安全性。可移植性、可维护性等需求

    2.导出软件的逻辑模型
    分析人员根据前面获取的需求资料,要进行一致性的分析检查,在分析、综合中逐步细化软件功能,划分成各个子功能。同时对数据域进行分解,并分配到各个子功能上,以确定系统的构成及主要成分。最后要用图文结合的形式,建立起新系统的逻辑模型。

    3.编写文档
    通过分析确定了系统必须具有的功能和性能,定义了系统中的数据,描述了数据处理的主要算法。应该把分析的结果用正式的文件记录下来,作为最终软件的部分材料。

    需求分析的方法

    1.功能分解法(将一个系统看成是若干功能的集合)
    功能分解=功能+子功能+功能接口

    2.结构化分析方法(研究数据如何流动以及各端点如何处理)
    结构化分析=数据流+数据处理(加工)+数据存储+端点+处理说明+数据字典

    3.信息建模方法
    信息建模=实体(对象)+属性+关系+父类型/子类型+关联对象

    4.面向对象的分析
    面向对象=对象、类+结构与连接+继承+封装+消息通信

    更多相关内容
  • 1.软件需求分析报告模板(完整版)

    千次下载 2018-05-16 14:45:56
    1.软件需求分析报告模板(完整版)
  • 软件需求分析

    千次阅读 2018-06-22 11:57:01
    转 http://www.cnblogs.com/fnng/archive/2011/09/13/2174268.html什么是需求分析? 通俗的讲,对用户的意图不断揭示和验叛的过程,要对经过系统可行性分析所确定的系统目标做更为详细的描述。 假如你是个建筑工程师...

    什么是需求分析?

       通俗的讲,对用户的意图不断揭示和验叛的过程,要对经过系统可行性分析所确定的系统目标做更为详细的描述。

      假如你是个建筑工程师,有个客户找你建一个鸡窝,这个时候要需要与客户沟通,来确定客户到底想要一个什么样子的鸡窝。我们应该注意三点:

      1 .  准确的理解和描述客户需要的功能。

         客户说,我的鸡窝要三层的,带电梯,饮水池,厕所,饮水池要自动判断水位供水,电梯要可以同时乘坐10只鸡....客户滔滔不绝的讲了一大堆,你也都非常忠实的按照自己的理解再一一的向客户描述一遍,以便于确认客户的需求是否正确。

      2 .  帮助客户挖掘需求。

        等客户把自己的需求说完了,你发现客户没有说鸡的卧室,于是,你向客户提议说:“你看,这鸡的卧室要什么样子的?”,客户连连的拍着脑门说,我差点给忘记了,鸡们啊喜欢晚上在一起聊天,所以呢,需要一个长而大的卧室,但一定要舒适。

      3 . 分析客户需求的可行性

       客户临走时又说,最近了,黄鼠狼很多,我这个鸡窝啊,一楼就不用盖了,直接盖二楼和三楼吧!以免晚上遭遇黄鼠狼的攻击。你这么一分析,客户这要求,按照目前的技术可没法建啊,于是,你向客户提议,一楼采用坚固架子来支撑二三楼的建筑。

    --------------------------------------------------------------------------------------------

    需求分析困难在哪儿?

       有几种原因使需求分析变得困难:(1)客户说不清楚需求;(2)需求自身经常变动;(3)分析人员或客户理解有误。

    1 . 客户说不清楚需求

         有些客户对需求只有朦胧的感觉,当然说不清楚具体的需求。例如全国各地的很多政府机构在搞网络建设,这些单位的领导和办公人员大多不清楚计算机网络有什么用,反而要软件系统分析人员替他们设想需求。这类工程的需求是如此的主观,以致产生很多贪污腐败现象。

      有些客户心里非常清楚想要什么,但却说不明白。你可能很不以为然。就举日常生活的事例吧,比如说买鞋子。我们非常了解自已的脚,但没法说清楚脚的大小和形状。只能拿鞋子去试,试穿时感觉到舒服才会买鞋(居然也有神通广大的售货员,看一眼客户的手,就知道应该穿什么样的鞋)。

      如果客户本身就懂软件开发,能把需求说得清清楚楚,这样的需求分析将会非常轻松、愉快。如果客户全不懂软件,但信任软件开发方,这事也好办。分析人员可以引导客户,先阐述常规的需求,再由客户否定不需要的,最终确定客户真正的需求。最怕的就是“不懂装懂”或者“半懂充内行”的客户,他们会提出不切实际的需求。如果这些客户甚至觉得自己是上帝的爸爸,那么沟通和协商都会很困难。

    2 . 需求自身经常变动  

        唐僧曾说:“妖要是有了仁慈之心,就不再是妖,是人妖。”(《大话西游之大圣娶亲》)

      连妖都会变心,别说人了。所以喜新厌旧乃人之常情,世界也因此变得多姿多彩。

      软件的需求会变化吗?

      答:据历史记载,没有一个软件的需求改动少于三次。唯一只改动需求两次的客户是个死人。这个可怜的家伙还是在运送第三次需求的路上被车子撞死的。[Cline 1995]

      让我们先接受“需求会变动”这个事实吧,免得在需求变动时惊慌失措。明白“需求会变动”这个道理后,在进行需求分析时就要留点神:

          (1)尽可能地分析清楚哪些是稳定的需求,哪些是易变的需求。以便在进行系统设计时,将软件的核心建筑在稳定的需求上,否则将会吃尽苦头。

          (2)在合同中一定要说清楚“做什么”和“不做什么”。如果合同含含糊糊,日后扯皮的事情就多。要防止象韩复渠那样,在别人请他喝酒吃饭时他什么都点头(人家就更加献殷勤),吃完了他就宣布刚才答应的事都不算数,便扬长而去。

    3 .  分析人员和顾客理解有误

        有个外星人间谍潜伏到地球刺探情报,它给上司写了一份报告:“主宰地球的是车。它们喝汽油,靠四个轮子滚动前进。嗓门极大,在夜里双眼能射出强光。……有趣的是,车里住着一种叫作‘人’的寄生虫,这些寄生虫完全控制了车。”

      软件系统分析人员不可能都是全才。客户表达的需求,不同的分析人员可能有不同的理解。如果分析人员理解错了,可能会导致开发人员白干活,吃力不讨好。我读中学时候最怕写作文逃题,如果逃题了,不管作文写得多长,总是零分。所以分析人员写好需求说明书后,要请客户方的各个代表验证。如果问题很复杂,双方都不太明白,就有必要请开发人员快速构造软件的原型,双方再次论证需求说明书是否正确。

      由于客户大多不懂软件,他们可能觉得软件是万能的,会提出一些无法实现的需求。有时客户还会把软件系统分析人员的建议或答复给想歪了。

      有一个软件人员滔滔不绝地向客户讲解在“信息高速公路上做广告”的种种好处,客户听得津津有味。最后,心动的客户对软件人员说:“好得很,就让我们马上行动起来吧。请您决定广告牌的尺寸和放在哪条高速公路上,我立即派人去做。”

    ----------------------------------------------------------------------------------------------

    需求分析的分类

       需求分析一般可分为功能需求、非功能需求和领域需求

    1 . 功能需求:

             功能需求主要说明了系统实际应做到什么。这是用户最直观也是最主要的需求,如系统的输入输出、系统能完成的功能以及其它相关处理等;

    2 . 非功能需求:

             非功能需求又称“约束”,它主要从各个角度对系统起约束和限制作用。如响应时间、存储效率、报表的规格和界面的样式等

    3 . 领域需求:

            领域需求的来源不是用户,而是系统应用的领域,其主要反映了该领域的基本问题。例如勤工俭学管理系统,其领域需求就涉及到诸如应聘合同书、酬金发放及劳工考核等相关内容,如果这些需求得不到满足,系统就无法正常运行。值得一提的是,领域需求可能是功能需求,也可能是非功能需求。

    -----------------------------------------------------------------------------------------------

    如何进行需求分析

    进行需求分析不象情人之间的浪漫做法——“让我摸摸你的头发,感觉它是什么颜色。”我们需要了解需求分析的渠道和过程。

    需求分析的过程

    (1)可行性研究

         它指明现有的软件、硬件技术能否实现用户对系统的要求,从业务角度来决定系统开发是否可行以及在预算范围内能否开发出来。可行性研究的结果是清楚的回答:该系统是否值得开发

    (2)需求导出和分析

          这是一个通过对现有系统分析、与潜在客户讨论、进行任务分析等导出系统需求的过程,也可能需要开发一个或多个不同的系统原型,以帮助分析员了解所要描述的系统。

    (3)需求描述

            需求描述就是把在分析活动中收集的信息通过分析整理之后以文档的形式确定下来。该文档中有两类需求:用户需求是从客户和最终用户角度对系统需求的抽象描述;系统需求是对系统要提供的功能的详尽描述。

    (4)需求有效性验证

           主要是通过评审、验证等一系列活动来找出需求文档中的错漏并加以改正。

    (5)需求管理

         需求管理需求管理是一种系统化方法,可用于获取、组织和记录系统需求并使用户和开发方在系统变更需求上始终保持一致

     -------------------------------------------------------------------------------------------------------------------

    需求分析的方法

    1 .  功能分析方法

          那怕是天下最无能的市长或书记,都知道在作报告时要先从宏观上讲一、二、三、四、五,再从细节上讲 A、B、C、D、E;需求分析不象侦探推理那样从蛛丝马迹着手。应该先了解宏观的问题,再了解细节的问题。

          功能分析法功能分解法以系统提供的功能为中心来组织系统。首先定义各种功能, 然后把功能分解为子功能, 同时定义功能之间的接口。数据结构是根据功能/子功能的需要设计的。 其基本策略是以分析员的经验为依据, 确定新系统所期望的处理步骤或子步骤, 然后, 将问题空间映射到功能和子功能上。

    2 . 数据流方法

         周末,小明一觉醒来突然想吃红烧肉,那想得口水直流,于起床,穿好衣服,打开钱包一看空的,好吧,先去银行取钱,然后去菜那买了一肉、各种配料,然后回家,开火,各种材料往锅里一放,开始小火慢炖,半个小时后,小明终于吃上了美味可口的红烧肉。这是一个典型的流程,如果把它看成一个系统功能的话,那么小明吃到红烧肉是这个功能的目的,那么中间要经历许多环节,起床穿衣---取钱---习材料----制作完成。而且各个功能(步骤)之间是相互联系的,小明总不能不穿衣服直接去取钱吧。

         数据流法也叫结构化分析, 其基本策略是研究问题域中数据如何流动以及在各个环节上进行何种处理, 从而发现数据流和加工。 问题域被映射为由数据流、加工以及文件、端点等成份构成的数据流图(DFD) , 并用数据字典对数据流和加工进行详细说明。这种方法的关键是动态跟踪数据流动。

    3 . 信息建模方法

        一个贵妇去报案,我丢了一个辆车,小明是警察,然后问贵妇,你丢的什么样的车子?贵妇噼里啪啦的给小明描述车子样子:我的车子有四个轮子,前面两个小,后面两个大,车身是流线型的,后面带尾翼,里面只一排坐位的那种,车坐上都用的真皮做套子,后面…..你听着听头大了,然后对贵妇说:等等,我给你画下来。于是,贵妇边说,你边画,然后贵妇指出画的不对的地方由你来修改。当然了这只是实体的样子。我们还需要知道汽车各个部件的功能以及各部件之间的关系。

        信息建模法的核心概念是实体和关系, 主要工具是语义数据模型(实体关系图) , 其基本策略是找出现实世界的对象, 然后用属性来描述对象, 增添对象与对象之间的关系, 定义父类与子类, 用父类型/子类型提炼属性的共性, 用关联对象关系作细化的描述, 最后进行规范化处理。 其实质是将问题空间直接映射成模型中的对象。

     ----下面三种方法,我还不能理解-----

    4 .   面向对象方法

         我想你如果学习过面向对象编程的话,会很容易理解。

         面向对象分析 OOA(Object- Oriented Analysis) 的基本策略是通过信息隐藏将比较容易变化的元素隐藏起来, 分析员基于比较稳定的元素建立其思想和规格说明的总体结构。

         面向对象分析的主要特性是加强了对问题域( Problem Domain) 和系统责任( System Responsibili-ties)的理解; 改进与分析有关的各类人员之间的交流; 对需求的变化具有较强的适应性; 支持软件复用

    5 . 面向本体方法

        面向本体的需求分析 OORA (Ontology- Oriented Require-ments Analysis) , 是 OOA方法的有效补充和提升。 面向本体方法强调相关领域的本质概念以及这些概念之间的关联。其实质是在面向对象方法中引入对象关联, 并给出各种关联的语义语用。

         OORA方法由 4 个阶段来完成。第一阶段: 用一种自然语言BIDL( Bisiness Information Description Language) 描述事务; 第二阶段: 确认隐含在 BIDL文本中的本体和对象; 第三阶段: 将这些本体和对象转换成另一种语言 Ononet (Ontology and Object- Ori-ented Network) , 得到用 Ononet 书写的需求预定义; 第四阶段: 在采用 Ononet 作为知识表示形式的领域本体知识库中搜索相关的知识, 并和前面的需求预定义合并, 得到软件完整的需求定义。

    6 . 形式化方法

        形式化方法, 广义上讲, 是应用数学的手段来设计、 模拟和分析, 得到像数学公式那样精确的表示。从狭义上讲, 就是使用一种形式语言进行语言公式的形式推理, 用于检查语法的良构

    性并证明某些属性。在需求分析阶段, 利用形式化方法得到需求规格说明书, 可以规范软件开发过程, 为获得更好的系统性能提供重要保证。

    =============================粗俗的方法=====================

    可能你对上面的方法看不懂,起码后三种我是看不懂的,怪我知识太少的缘故。

    我们来看下面了解需求的方式:

    (1)直接与客户交谈。如果分析人员生有足球评论员的那张“大嘴”,就非常容易侃出需求。

    (2)有些需求客户讲不清楚,分析人员又猜不透,这时就要请教行家。有些高手真的很厉害,你还没有开始问,他就能讲出前因后果。让你感到“听君一席言,胜读十年书。”

    (3)有很多需求可能客户与分析人员想都没有想过,或者想得太幼稚。要经常分析优秀的和蹩脚的同类软件,看到了优点就尽量吸取,看到了缺点就引以为戒。前人既然付了学费,后人就不要拒绝坐享其成。

    展开全文
  • 目录 1. 范围 1 2. 总体要求 1 ...附录A 软件需求分析报告文档模板 9 附录B 软件概要设计报告文档模板 21 附录C 软件详细设计报告文档模板 33 附录D 软件数据库设计报告文档模板 43 附录E 软件测试(验收)大纲 55
  • 软件需求分析期末考试

    千次阅读 多人点赞 2020-12-27 22:50:54
    涉众分析与硬数据采样 1. 如何进行涉众分析?不同类型信息系统,不同的方法 组织级系统(Organization-Wide System) 分析组织内各类人群的互动关系 战略信息系统(Strategic Information System) 分析组织内各类...

    需求基础

    第二章从概念上让大家理解什么是需求,以及需求的研究目标是什么,研究对象是什么。
    1 需求源于哪两方面?
    用户的痛点和用户的期望
    2 问题域与解系统
    对问题域和解系统的理解,放图:
    在这里插入图片描述
    软件系统通过影响问题域,能够帮助人们解决问题,称为解系统
    而需求工程师是问题域和解系统之间连接的桥梁和接口
    3 需求的层次性(不考定义,需理解)
    在这里插入图片描述
    业务需求:对应解决方案等一些宏观性的问题。
    用户需求:问题域的知识,业务流程,ER图等等。
    系统级需求:建立一些细致的模型描述它。
    这三步有一个逐步细化的过程,当时老师通过一个例子帮助我们理解。
    在这里插入图片描述
    业务需求比较宏观,将其分解成用户需求如下:
    在这里插入图片描述

    最后面对我们要开发的软件,我们实际上面对的是系统特性(system feature,SF)
    在这里插入图片描述

    4 需求的分类(不考定义,但要了解)
    功能需求(Functional Requirement):
    和系统主要工作相关的需求,即在不考虑物理约束的情况下,用户希望系统所能够执行的活动,这些活动可以帮助用户完成任务。功能需求主要表现为系统和环境之间的行为交互。
    性能需求(Performance Requirement):
    系统整体或系统组成部分应该拥有的性能特征,例如CPU使用率、内存使用率等。
    质量属性(Quality Attribute):
    系统完成工作的质量,即系统需要在一个“好的程度”上实现功能需求,例如可靠性程度、可维护性程度等。
    对外接口(External Interface):
    系统和环境中其他系统之间需要建立的接口,包括硬件接口、软件接口、数据库接口等等。
    约束
    进行系统构造时需要遵守的约束,例如编程语言、硬件设施等
    软件需求说明书就是对各种需求一个概括和规整

    需求工程过程

    在这里插入图片描述
    需求获取:输入的是用户需求、期望和问题
    ·需求分析:UML那些东西
    ·需求规格说明:最主要的是写好需求规格说明文档
    ·需求验证:要是有问题,就反过头看到底是哪个阶段出问题了。

    需求获取

    1 需求获取中的常见困难
    (1)用户和开发人员的背景不同,立场不同
    (2)普通用户缺乏概括性、综合性的表述能力
    (3)用户存在认知困境
    (4)用户越俎代庖
    (5)缺乏用户参与

    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述

    明确问题

    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述

    解决方案

    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    活动图

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    实例

    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    涉众分析与硬数据采样

    1. 如何进行涉众分析?不同类型信息系统,不同的方法

    组织级系统(Organization-Wide System)

    分析组织内各类人群的互动关系

    战略信息系统(Strategic Information System)

    分析组织内各类人群的互动关系
    各种风险/机遇对既有互动关系的影响

    组织间系统(Inter-Organizational Systems)

    分析组织间的互动关系
    分析关系到组织间互动的各类人群在组织内的互动关系

    补充:大众型产品 例如:搜索引擎、电子商务、移动互联网应用等等

    分析产品定位人群(用户)
    产品功能在用户社会关系网中的关联作用
    分析用户与社会关系的互动

    问题域(Problem domain)”指提问的范围、问题之间的内在的关系和逻辑可能性空间。软件工程:在软件工程中,问题域是指被开发系统的应用领域,即在客观世界中由该系统处理的业务范围

    2 涉众分析过程
    在这里插入图片描述
    ** 基于涉众扩展特征进行涉众优先级的评估**
    在这里插入图片描述

    3. 识别涉众的方法

    简单方法:先膨胀后收缩(Expand  Shrink)
    经验方法:检查列表(Checklist)
    经典方法:涉众网络

    简单方法:先膨胀后收缩(Expand - Shrink)
    ①膨胀。
    在该阶段,需求工程师在收集到背景资料后,凭借自己的经验,尽可能多地列出涉众类别,越多越好。
    ②收缩。
    在该阶段,需求工程师判断是否有两类或多类涉众的立场是一样的,将一样的多个类别进行合并。

    优点 简单易用。
    如果涉众群体比较复杂,可能会出现遗漏.

    检查列表:经典列表
    用户: 最终使用和操作产品的人
    关注软件功能,主要信息来源
    客户: 为软件系统的开发付费的人
    关注经济上的成本、收益
    开发者: 负责实现软件系统的人
    关注技术上的成本和收益,可行的需求
    管理者:参与软件系统开发事务管理的人
    投资方管理者 、执行负责人、项目管理者
    关注系统的开发进程

    优点:容易操作,如果经验丰富会比较有效
    缺点:有些类别太粗,尤其是用户作为一个类别是远远不够的

    检查列表:经典列表
    领域专家:在问题域中具有丰富知识的专家
    关注软件中的知识,问题域分析
    政府力量:法律法规 、长远规划、政策意向等
    起约束和指导作用
    市场力量:组织中的市场部门人员
    关注用户的想法
    维护人员:系统的非功能属性
    例如质量

    涉众网络:

    1. 从一些比较容易发现的涉众出发,通常包括客户、管理者和相关的投资者

    2. 由初始涉众集体讨论,列出一个涉众类别列表

    3. 对上一步产生的涉众类别列表进行分析 ,缩减为一个关键涉众类别列表

    4. 由上一步的各个关键涉众类别选择代表,集中讨论,列出新的涉众类别列表

    5. 如果涉众类别列表趋于稳定,就结束涉众识别过程 ,否则转向第2步

    优点:适用于复杂情况下的涉众识别,保障正确性和完备性 缺点:比较麻烦,反复召集涉众进行讨论

    涉众描述
    额313
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述


    硬数据

    什么是硬数据?

    1. 实际工作中产生的表格、文档资料
    2. 是一种精化过的知识
    3. 可用于获取事实,理解问题域
      在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    用例图

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    为什么需要用例和场景
    在这里插入图片描述


    需求获取方法 —— 面谈

    问题基本上可以分为两种类型:开放式问题和封闭式问题
    开放式问题(Open-Ended)
    封闭式问题(Closed)

    开放式问题:
    被会见者对答复的选择可以是开放和不受限制的,他们可能答复两个词,也可能答复两段话。
    在希望得到丰富(具有一定深度和广度)信息时,开放式问题比较合适
    例如:
    “你觉得把所有的经理都置于一个内联网内怎么样?”
    “请解释你是如何做进度决策的?”
    “对公司中企业对企业电子商务的当前状态有何看法?”

    开放式问题的优缺点:
    优点:
    让被会见者感到自在; 会见者可以收集被会见者使用的词汇,这能反应他的教育、价值标准、态度和信念;
    提供丰富的细节; 对没采用的进一步的提问有启迪作用; 让被会见者更感兴趣; 容许更多的自发性; 会见者可以在没有太多准备的情况下进行面谈
    缺点:
    提此类问题可能会产生太多不相干的细节;
    面谈可能失控;
    开放式的回答会花费大量的时间才能获得有用的信息量;
    可能会使会见者看上去没有准备。

    封闭式问题:
    答案有基本的形式,被会见者的回答是受到限制的
    例如:
    “项目存储库每个星期更新多少次?”
    “电话中心一个月平均收到多少个电话?”
    “下列信息中哪个对你最有用:(1)填好的客户投诉单;(2)访问web站点的客户的电子邮件投诉;(3)与客户面对面的交流;(4)退回的货物。”
    “列出头两项需要优先考虑的改善技术基础设施的事项。”

    优点:
    节省时间;
    切中要点;
    保持对面谈的控制;
    快速探讨大范围问题;
    得到贴切的数据
    缺点:
    使得被会见者厌烦;
    得不到丰富的细节;
    出于上述原因,失去主要思想;
    不能建立和面谈者的友好关系。

    在这里插入图片描述
    面谈的阶段
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述
    面谈的优点
    在这里插入图片描述
    在这里插入图片描述

    群体面谈和单一面谈比较(优缺点)

    和一对一的面谈相比,有如下优点
    通过集中讨论,充分利用了交流时间,因此比一对一面谈更加节约时间,有着更低的时间成本。
    群体面谈往往是在一个集中连续的时间内完成,和一对一面谈的间隔性特点相比,能够加速项目的开发进展。
    群体面谈中,涉众方可以直接交流,和一对一面谈的以开发者为中介进行交流相比,提高了冲突处理能力。
    群体面谈的集中讨论具有明显的以用户为中心的特征,降低了开发者在面谈中的主导作用,这里可以提高涉众的项目参与度,减少开发者主导需求获取时的弊端。
    群体面谈集中了所有参与者的智慧,所以常常会有创造性的信息内容产生


    和一对一的面谈相比,也有如下缺点
    群体面谈要求所有参与方都要在一个集中的时间抽出大量时间和精力投入面谈,这往往难以实现
    群体面谈获得的信息比和一对一面谈要复杂得多,因此对他们的分析是一个不小的技术挑战。
    主持群体面谈比主持一对一面谈要困难得多

    其他方法:

    1)调查问卷
    2)头脑风暴

    问卷调查相对于面谈和群体面谈来说更适用于哪方面?
    涉众不易获取,人多的时候
    在这里插入图片描述


    需求获取方法—原型

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    需求获取方法 —— 观察和文档审查

    文档审查(需求获取最后一部分)
    在这里插入图片描述


    需求分析

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    初始状态、终止状态、状态、转移、守护条件、事件、动作
    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述


    书写SRS

    在这里插入图片描述

    在这里插入图片描述
    2 写SRS的时候有什么要求
    ·保持语句和段落的简短。
    ·采用主动语态的表达方式。
    ·编写具有正确的语法、拼写和标点的完整句子。
    ·使用的术语与词汇表中所定义的应该一致。
    ·需求陈述应该具有一致的样式,例如“系统必须⋯⋯”或者“用户必须⋯⋯”,并紧跟一个行为动作和可观察的结果。
    ·为了减少不确定性,必须避免模糊的、主观的术语,例如,用户友好、容易、简单、迅速、有效、支持、许多、最新技术、优越的、可接受的和健壮的。当用客说“用户友好”或者“快”或者“健壮”时,你应该明确它们的真正含义并且在需求中阐明用户的意图。
    ·避免使用比较性的词汇,例如:提高、最大化、最小化和最佳化。定量地说明所需要提高的程度或者说清一些参数可接受的最大值和最小值。当客户说明系统应该“处理”、“支持”或“管理”某些事情时,你应该能理解客户的意图。含糊的语句表达将引起需求的不可验证。
    在这里插入图片描述

    需求验证

    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    需求验证的方法
    在这里插入图片描述
    软件评审会议

    审查参与者必须代表三个方面的观点:

    1. ·产品的开发者及其可能的同组成员编写需求文档的分析员
    2. ·先前产品的开发者或用户领域代表 可能是一个系统工程师、领域专家等
    3. ·要根据正在审查的文档来开展工作的人们 可能包括一个开发人员、一个测试人员、一个项目经理和一个用户文档编写人员

    ·参与者应限制在7个人左右或者更少


    需求管理

    在这里插入图片描述

    需求基线

    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述


    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    需求变更原因

    1 需求理解分歧
    2 系统开发实施周期过长
    3 客户业务需求改变
    4. 国家政策改变
    5. 需求有缺陷

    需求变更影响

    1 项目成本
    2 影响软件质量及开发进度
    3 影响人员的工作状态
    4 影响文档和代码的一致性
    5 影响开发者和用户的合作关系

    在这里插入图片描述

    需求变更的成本(同上)

    1:项目成本
    如果项目有需求变更,那么就需要安排专门的人员进行开发、测试、部署等工作,这样就增加了项目的成本。
    2:影响软件质量及开发进度
    在一个复杂的软件系统中,需求之间具有一定的联系,而相关的需求则构成需求链,如果评估变更影响时遗漏了需求链中的某些环节,就可能在实施变更过程中引入一些难易察觉的错误,这些错误将会影响系统的质量,严重时可导致系统崩溃。
    3:影响人员的工作状态
    如果需求变更频繁或者需求变更对系统影响比较大,会导致开发、测试人员在心理上产生抵触信息,从而影响其工作状态。严重时可能会导致人员的流失。
    4:影响文档和代码的一致性
    文档是软件系统的一个重要组成部分,也是维护系统的重要依据。在处理需求变更的过程中,如果没有采用规范的流程保证需求变更的评估与实施,会造成文档跟所开发的软件系统不一致,系统维护困难。
    5:影响开发者与用户的合作关系
    需求变更的实施时用户和开发者相互协作的过程。开发者和用户在是否采用变更问题上常常产生分歧,如果没有恰当的处理,相互之间的信任关系变得越来越差,甚至有合作关系转变为一种对抗关系,影响项目开发进度。

    需求变更控制——基本原则

    需求一定要与投入(成本)有显式的联系
    否则如果需求变更的成本由开发方来承担,则项目需求的变更就成为必然了。软件开发方和出资方都要明确这一条:需求变化,软件开发的投入也要变化。

    需求的变更要经过出资者的认可
    这样才会对需求的变更有成本的概念,能够慎重地对待需求的变更

    即使小的需求变更也要经过正规的需求管理流程,否则会积少成多。

    精确的需求与范围定义并不会阻止需求的变更。并非对需求定义的越细,越能避免需求的渐变,这是两个层面的问题。太细的需求定义对需求渐变没有任何效果。因为需求的变化是永恒的,并非由于需求细化了,它就不会变化了。

    如果开发团队缺少明确的需求变更控制过程或采用的变更控制机制无效,抑或不按变更控制流程来管理需求变更,那么很可能造成项目进度拖延、成本不足、人力紧缺,甚至导致整个项目失败。

    当然,即使按照需求变更控制流程进行管理,由于受进度、成本等因素的制约,软件质量还是会受到不同程度的影响。但实施严格的软件需求管理会最大限度地控制需求变更给软件质量造成的负面影响,这也正是我们进行需求变更管理的目的所在。

    变化不可避免,我们应该怎么办?

    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • 如何进行软件需求分析

    万次阅读 多人点赞 2018-09-14 09:43:52
    如何进行软件需求分析 1、需求分析的重要性 软件需求是指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。 通常,软件生存周期包括可行性分析与开发项计划、需求分析、设计(概要设计和详细设计)...

    如何进行软件需求分析

    1、需求分析的重要性

    软件需求是指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。

    通常,软件生存周期包括可行性分析与开发项计划、需求分析、设计(概要设计详细设计)、编码、测试、维护等活动。

    常用的三种软件生命周期(瀑布模型、迭代式模型和快速原型模型)中,需求分析中都占据了举足轻重的作用,是系统分析、软件编程、软件测试和系统维护的输入物。

    1.1 瀑布模型

    瀑布模型由于酷似瀑布闻名,(Waterfall Model)首先由Royce提出。在该模型中,首先确定需求,并接受客户和SQA小组的验证。然后拟定规格说明,同样通过验证后,进入计划阶段…可以看出,瀑布模型中至关重要的一点是只有当一个阶段的文档已经编制好并获得SQA小组的认可才可以进入下一个阶段。这样,瀑布模型通过强制性的要求提供规约文档来确保每个阶段都能很好的完成任务。但是实际上往往难以办到,因为整个的模型几乎都是以文档驱动的,这对于非专业的用户来说是难以阅读和理解的。

    瀑布模型图示如下:

     

     

     

     

     

     

     

     

     

    从上图可看出,需求分析的产出物《需求规格说明书》(有的项目组还会产出软件原型,例如静态HTML原型等)是后续设计、编码、测试和系统维护的基础。

    可将瀑布模型的“需求分析”阶段细分为“软件概念”和“用户需求分析”两个阶段,前者用于收集用户的原始需求,包括用户在功能、行为、性能、设计约束等方面的期望,并经过初步分析后形成《用户需求说明书》,而后经过进一步分析,将用户需求精确化、完全化,最终形成《需求规格说明书》。

    可将瀑布模型中的“系统设计”细分为“架构设计”和“详细设计”两个阶段,前者在总体上把握,更关注架构层面,包括系统的总体架构,以及各个子系统或各个模块之间的关系。后者更注重细节,包括系统设计的方方面面都要在详细设计中有所体现。

    作为系统分析师,或系统架构师,主要在“需求分析”和“系统设计”阶段体现自己的作用,后续的各个阶段主要通过与项目组成员的沟通贯彻自己的设计。

    1.2 迭代式模型

    迭代式模型是是RUP(Rational Unified Process,统一软件开发过程统一软件过程)推荐的周期模型。在RUP中,迭代被定义为:迭代包括产生产品发布(稳定、可执行的产品版本)的全部开发活动和要使用该发布必需的所有其他外围元素。

    在某种程度上,开发迭代是一次完整地经过所有工作流程的过程:(至少包括)需求工作流程、分析设计工作流程、实施工作流程(编码流程)和测试工作流程。实质上,可将它理解为多个小型的瀑布式项目。每一次的迭代都会产生一个可以发布的产品,这个产品是最终产品的一个子集。

    迭代式原型图示如下:

    在每一个迭代中,“需求分析”阶段与瀑布模式一样,是后续系统分析、编码和测试阶段依赖的基础。如果需求分析有较大偏差,势必造成迭代过程中产生的一个产品子集有较大偏差。

    1.3 快速原型模型

    快速原型(Rapid Prototype)模型在功能上等价于产品的一个子集。注意,这里说的是功能上。瀑布模型的缺点就在于不够直观,快速原型法就解决了这个问题。一般来说,根据客户的需要在很短的时间内解决用户最迫切需要,完成一个可以演示的产品。

    在得到用户的需求之后,原型将被抛弃。因为原型开发的速度很快,设计方面是几乎没有考虑的,如果保留原型的话,在随后的开发中会为此付出极大的代价。

    在快速原型模型中,原型最重要的目的是为了确定用户的真正需求。从某种程度上,可以将快速原型理解为需求分析的一种更直观的方式,也是业界比较认可和取得良好效果的一种方式。

    2、需求分析的目标

    通过对应问题及其环境的理解与分析,为问题涉及的信息、功能及系统行为建立模型,将用户需求精确化、完全化,最终形成需求规格说明,这一系列的活动即构成软件开发生命周期的需求分析阶段。

    需求分析是介于系统分析和软件设计阶段之间的桥梁。一方面,需求分析以系统规格说明和项目规划作为分析活动的基本出发点,并从软件角度对它们进行检查与调整;另一方面,需求规格说明又是软件设计、实现、测试直至维护的主要基础。良好的分析活动有助于避免或尽早剔除早期错误,从而提高软件生产率,降低开发成本,改进软件质量。

    3、如何进行需求分析

    3.1 需求分析的困难

    需求分析的目标,说得通俗一点,就是确定“做什么,不做什么”。但需求分析却不像想象的那么简单,主要因为如下原因:

    3.1.1 客户需求自身经常变动

    这世间的一切,只有“变化”是绝对的,从这点来理解,软件系统的需求不断变化也是可以理解的。老听设计人员和开发人员抱怨客户的需求老是变化,其实应该将“需求变化”理解为一种常态。

    引起需求变化的原因诸多,例如:

    (1)因为某些前置条件未满足,之前按照“妥协”方案实现,但若在某个时间点上这些前置条件被满足,于是引起了需求的变化。

    (2)某个后台操作之前不需要走审批流程,但因为客户的某个内部流程改变,需要走审批流程,势必引起需求 -> 设计 -> 编码 -> 测试的一系列变更。

    【对策】:因为需求变动无可避免,系统分析师在进行需求分析时需要明确:

    (1)尽可能地分析清楚哪些是稳定的需求,哪些是易变的需求。以便在进行系统设计时,将软件的核心建筑在稳定的需求上,否则将会吃尽苦头。

    (2)在合同中一定要说清楚“做什么”和“不做什么”。如果合同含含糊糊,日后扯皮的事情就多。小的变动影响不大,也不致影响进度,但是对于一些改动会引起设计重大改变的需求,需要在合同中清楚说明。

    3.1.2 客户说不清楚需求,分析人员理解错误

    客户的计算机水平、对需求的理解、表达程度都参差不齐。有些客户对需求只有朦胧的感觉,当然说不清楚具体的需求。有些客户心里非常清楚想要什么,但却说不明白。有的客户本身就懂软件开发,能把需求说得清清楚楚,这样的需求分析将会非常轻松、愉快。

    不同性格、不同水平、与客户交流前准备情况不同的的系统分析师去跟客户讨论需求时,会得到很不不一样的结果。

    作为系统分析师,可以引导客户,先阐述常规的需求,再由客户否定不需要的,最终确定客户真正的需求。一个好的系统分析师,能从客户的一两句话中提出很多自己的观点或可进行拓展,进而进一步挖掘客户需求,或者若与之前的需求矛盾,可进行正确需求导向。

    【对策】:若客户说不清楚需求,为了不造成理解错误,系统分析师可采用多次沟通的方式,例如第一次通过客户初步了解需求,回去分析哪些是合理需求,那些是自相矛盾或不合理的需求,以及哪些是需要进一步明确的需求。经过细化后,第二次交流可提供PPT或简单的Word文档与客户进行第二次深入交流。第三次交流可通过建立快速模型进一步与客户交流得到精确的需求。需求分析也可参考“迭代式模型”来进行不断迭代,一直到挖掘出客户所有的潜在需求为止。

    3.1.3 客户在没看到原型或完整系统时,有一些潜在需求未被挖掘

    甚至有不少这样的客户,去进行需求沟通时提不出太多的需求,但是在你做完整个系统时,潜在需求突然迸发出来。

    【对策】:为了避免此种情况对项目造成破坏性影响,建议相关人员为一些大的功能模块建立快速原型让客户进行确认,并在合同中一定要说清楚“做什么”和“不做什么”

    3.1.4 多个相关方需求相互冲突,需求有二义性

    若些需求若牵涉客户不同部门,若有不一致意见,若私自按某一方的意见进行修改,很可能在后期涉及到按另一个部门的想法进行改造。

    【对策】:对于这种客户内部有冲突的需求,需求组织客户方相关部门一起讨论,由客户更高领导层决定实现哪一方的需求,或者采用折衷方案。需求说明不可有二义性,更不能前后相矛盾。如果有二义性或前后相矛盾,则要重新分析此需求。

    3.2 需求分析的活动

    3.2.1 需求获取

    通过与用户的交流,对现有系统的观察及对任务进行分析,从而开发、捕获和修订用户的需求

    软件需求常见的获取方法(在《软件需求获取方法》一文中写得很详细)如下:

    Ø 面谈

    个人觉得面谈是获取软件需求的最有用的方法,也是需求分析时常用的方法。通过多方面谈,得到的信息最多,进行我们现在所做的系统,与移动集团客户部、业务支撑部、网管中心、系统运营人员等都进行过面谈。

    面谈需准备的内容:面谈对象和面谈问题。

    面谈对象:需要尽量让面谈对象包括可与系统相关的涉众,并具有代表性,保证涵盖到每个角色。一般包括谁为系统付费,购买系统?谁使用系统?谁会受到系统结果的影响?谁来监管该系统?谁来维护系统?

    Ø 问卷调查

    调查问卷无法取代面谈在需求获取阶段的作用,问卷调查的问题和答案具有一定的引导性,在某种程度上会影响结果。

    问卷调查的结果好坏与问卷的设计有直接的关系,在做这个项目时,运营人员在进行前期推广会议上,也给企业客户发过调查问卷,但因为诸多原因,效果不甚理想,基本没为我们项目需求分析出多少力。

    Ø 小组讨论

    小组讨论是指将与项目某个问题相关的人员聚集在一起开会讨论。优势:容易在内部取得对方案的认同,有利于项目的开展;在讨论会上每个相关人员都可发表自己的意见,保证了获取信息的全面性。缺点:不容易把握。

    对于涉及系统边界的需求,或一些相互冲突的需求,采取该种方式是非常可取的。

    Ø 情景串联

    由于软件产品的抽象性,大部分涉众在脑海子未有一个清晰的产品轮廓,影响涉众对产品的理解。基于此可考虑编写清晰、完整的情景描述文档。

    1、采用PPT加图片的方式描述情景:一个好的PPT能更直观的描述各种情景;

    2、采用原型法(比较推荐这种方法)。

    Ø 参与、观察业务流程

    涉众描述的业务流程可能由于某些原因会遗漏掉重要的信息,需求分析人员可申请参与到他们具体的工作,观察、体验业务操作过程。需求分析员在观察业务操作过程时,可根据实际的情况提问并详细记录,记录业务操作员操作过程,操作过程中碰到的难题,可获取真实的材料和理解整个业务。

    Ø 现有产品和竞争对手的描述文档

    阅读现有产品文档有利于了解当前系统情况,从中也可以了解业务流程,对操作员反映的系统问题有着更深层次的理解。

    3.2.2 需求建模

    要有效地收集需求,您要做的第一步是建模,它包括创建体系结构的表示形式以捕获需求、就解决方案方法进行交流、以及分析所提出的系统设计。其目的是使用模型来表现系统中的关键方面。然后,您可以在形式化的分析、模拟和原型设计中使用这些模型,以研究预期的系统行为,并且可以在编写文档或总结时使用这些模型,以便就系统的性能和外观进行交流。

    Ø 域建模

    域建模指的是,您对问题域创建相应的模型并且把它划分为若干个内聚组的过程。然后,您可以在抽象模型中捕获业务流程、规则和数据。

    域模型是一种用于理解问题域的工具。您需要从信息系统之外的角度来理解这个域,这一点是很重要的。

    Ø 用例建模

    用例模型描述了各种参与者(人和其他系统)和要分析的系统之间的主要交互。用例应该说明系统如何支持域和业务流程模型中的业务流程。

    用例模型应该将系统放到上下文环境中,显示系统和外部参与者之间的边界,并描述系统和参与者之间的关键交互。用例建模可以描述利益相关者(例如,用户和维护人员)所看到的系统行为。

    Ø 组件和服务建模

    组件模型为子系统、模块和组件的层次结构分配需求和职责。每个元素作为一个自包含的单元,以用于开发、部署和执行的目的。组件模型的元素由它们所提供和使用的接口来进行规定。在这里,没有考虑其中的内部细节。

    服务模型将应用程序定义为一组位于外部边界(用例)、架构层之间的抽象服务接口,并且提供了通用的应用程序和基础结构(安全、日志记录、配置等等)。支持应用程序需求的这组服务可以与现有的内部和外部提供的接口规范相匹配。所得到的分析结果可以确定预置策略,并将项目活动划分为特定类型的部分,这取决于给定的服务是否已经存在(内部或者外部的,并且其中每个服务都具有适当的活动)、存在但需要进行修改(定义一个新的接口,并规划其实现)、或者必须构建新的服务。

    Ø 性能建模

    可以通过各种各样的方式来度量性能,最显而易见的方式是,应用程序执行其关键操作任务的速度。然而,作为一名架构师,必须考虑性能建模过程中其他的几个方面:

    l 构建和部署应用程序的速度如何?

    l 构建、维护和运行需要多少花费?

    l 该应用程序能在多大程度上满足其需求?

    l 对于必须使用该应用程序的人来说,需要为其付出多大的开销?

    l 该应用程序会对其他应用程序和基础结构产生怎样的影响?

    【说明】需求建模是一门深奥的学问,在做这个项目时,需求建模基本只是用到了“用例建模”,对一些典型流程进行用例建模。域建模、组件和服务建模和性能建模基本是空白状态,希望在下一个项目中有所改进。

    3.2.3 形成《需求规格说明书》

    生成需求模型构件的精确的形式化的描述,作为用户和开发者之间的一个协约

    3.2.4 需求验证

    以需求规格说明为输入,通过符号执行、模拟或快速原型等途径,分析需求规格的正确性和可行性

    3.2.5 需求管理

    支持系统的需求演进,如需求变化和可跟踪性问题。

    要在需求变更时,同步更新《需求规格说明书》以及相关文档,要知道,一个正确的文档是指导软件系统不同阶段的参考,但一个没有同步更新的文档是对软件系统有破坏性作用的,相关人员会受到错误引导。

    4、参考文档

    1、《需求分析的作用及如何进行需求分析》(张友生):

    http://www.educity.cn/se/requirement/200903310923051492.htm

    2、《软件生命周期_百度百科》:http://baike.baidu.com/view/3110371.htm

    3、《软件项目需求分析困难的原因》:

    http://developer.51cto.com/art/200512/15979.htm

    4、《需求建模》:http://blog.csdn.net/weishaofei/article/details/4371584

    5、《软件需求获取方法》:http://blog.sina.com.cn/s/blog_646b84760100s645.html

    6、《系统域建模技术》:

    http://wenku.baidu.com/view/8423fb97dd88d0d233d46ace.html

     

    展开全文
  • 软件需求分析模板

    千次阅读 2019-05-29 09:13:17
    软件需求分析就是把软件计划期间建立的软件可行性分析求精和细化,分析各种可能的解法,并且分配给各个软件元素。需求分析是软件定义阶段中的最后一步,是确定系统必须完成哪些工作,也就是对目标系统提出完整、准确...
  • 软件需求分析就是把软件计划期间建立的软件可行性分析求精和细化,分析各种可能的解法,并且分配给各个软件元素。需求分析是软件定义阶段中的最后一步,是确定系统必须完成哪些工作,也就是对目标系统提出完整、准确...
  • 软件需求分析是什么?

    千次阅读 2020-03-11 14:48:21
    软件需求分析也称为需求分析、系统需求分析或需求分析工程等,是开发人员经过深入细致的调研和分析,准确理解用户和项目的功能、性能、可靠性等具体要求,将用户非形式的需求表述转化为完整的需求定义,从而确定系统...
  • 软件需求分析——UML用例图

    万次阅读 多人点赞 2019-05-17 14:47:54
    前言:UML是 Unified Modeling language 的缩写,是一种统一建模语言,主要在软件需求分析与设计阶段使用。UML一共包括9个图,分别是用例图、类图、对象图、序列图、协作图、状态图、活动图、构件图、部署图。本篇仅...
  • 软件需求分析报告

    千次阅读 2019-09-24 11:56:42
    一、软件需求分析报告 1.任务概述  1.1.目标  我们小组的目标是设计一款类似于微博的软件,并以网页的形式呈现在用户面前。此款软件是一个基于用户关系信息共享、传播以及获取的平台。应用目标是日常信息的传播...
  • 【软件工程】 软件需求分析

    千次阅读 热门讨论 2019-05-18 17:15:23
    软件需求分析的任务和步骤及要求: 1.任务:它的基本任务是:准确回答“系统必须做什么”的问题。 深入描述软件的功能和性能 确定软件设计的约束和软件同其他系统元素的接口细节 定义软件的其他有效...
  • 软件需求分析文档模版

    万次阅读 多人点赞 2016-06-23 18:05:26
    软件需求分析文档模版(转载自国家计算机标准和文件模板) 软件需求分析就是把软件计划期间建立的软件可行性分析求精和细化,分析各种可能的解法,并且分配给各个软件元素。需求分析是软件定义阶段中的最后一步,是...
  • 软件需求分析文档

    千次阅读 2017-11-30 10:05:18
    软件需求说明书的内容要求如下: 1 引言 1.1编写目的  说明编写这份软件需求说明书的目的,指出预期的读者。 1.2背景   说明:   a.待开发的软件系统的名称;  b.本项目的任务提出者、开发者、...
  • 软件工程之软件需求分析

    千次阅读 2018-09-27 10:41:45
    软件需求分析的任务(借助当前系统的逻辑模型推导出目标系统的逻辑模型) 深入描述软件的功能和性能 确定软件设计的约束和接口,同其它系统元素的接口细节 定义软件的其它有效性需求 需求分析的过程 (1)...
  • 软件工程--软件需求分析(基本概念)

    千次阅读 热门讨论 2018-12-31 11:48:39
    软件需求分析的任务
  • 你是否还在为如何写软件开发过程的各种...附录A 软件需求分析报告文档模板 9 附录B 软件概要设计报告文档模板 21 附录C 软件详细设计报告文档模板 33 附录D 软件详细设计报告文档模板 43 附录E 软件测试(验收)大纲 55
  • 软件需求分析阶段的输出主要是

    千次阅读 2019-09-24 06:45:59
    (单选)软件需求分析阶段的输出主要是 A. 需求说明书 B. 开发计划 C. 可行性报告 D. 设计说明书 解答:A 转载于:https://www.cnblogs.com/borter/p/9592794.html...
  • 软件工程需求分析方法

    千次阅读 2019-11-28 17:12:02
    详细介绍软件工程需求分析方法,转载自别处,
  • 软件需求分析是从用户的业务中提取出软件系统能够帮助用户解决的业务问题,通过对用户业务问题的分析,规划出我们的软件产品。这个步骤是对用户业务需求的一个升华,是一个把用户业务管理流程优化,转化为软件产品...
  • 软件安全需求分析

    千次阅读 2020-12-30 19:10:33
    文章目录一、软件与软件安全的需求分析1、软件需求分析的主要工作2、软件安全需求分析的主要工作二、软件安全需求来源1、来源的分类2、软件安全遵从性需求三、需求的获取1、获取的相关方2、获取方法 一、软件与软件...
  • 软件需求分析的重要性

    千次阅读 2016-06-20 15:51:00
    软件工程中,需求分析指的是在建立一个新的或改变一个现存的电脑系统时描写新系统的目的、范围、定义和功能时所要做的所有的工作。需求分析软件工程中的一个关键过程。在这个过程中,系统分析员和软件工程师确定...
  • 软件需求分析——非功能性需求

    万次阅读 多人点赞 2019-05-07 18:28:24
    1、定义:软件产品为满足用户业务需求而必须具有且除功能需求以外的特性。 2、影响:影响着产品是否能够持续稳定并高效的提供服务。 3、常见类别: 性能需求:响应时间、吞吐量、资源利用率; 安全性:保密性、...
  • 高级软件需求分析

    千次阅读 2013-10-30 09:51:21
    为此,培训中心特举办“高级软件需求分析师”培训,具体通知如下: 一、培训对象:  软件开发企业的需求分析师、系统架构师、需求分析团队成员、资深开发人员、负责软件产品规划与定义的相关人员、需要了解软件...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 587,791
精华内容 235,116
关键字:

软件需求分析