软件需求分类有哪些
- 格式:docx
- 大小:24.57 KB
- 文档页数:3
软件需求重点1.涉众:客户、用户(客户的一部分)、需求分析员、开发人员、测试人员、文档编制人员、项目经理、法律人员、生产人员、市场营销、技术支持及其他与产品和客户打交道的人员2..软件需求的定义:(IEEE的标准术语表中)1)用户为解决某个问题或达到某个目标而需具备的条件或能力。
2)系统或系统组件为符合合同、标准、规范或其他正式文档而必须满足的条件或必须具备的能力。
3)上述第一项或第二项中定义的条件或能力的文档表达。
3.需求的层次1)业务需求:表示组织或客户高层次的目标。
描述了组织希望达到的目标,用前景和范围文档来记录2)用户需求:用户的目标或者用户要求系统必须完成的任务。
描述了用户能使用系统来做些什么,用用例、场景描述和事件-响应表来表达。
3)功能需求(行为需求):规定开发人员必须在产品中实现的软件功能,用户利用这些软件功能来完成任务,满足业务需求。
描述了开发人员应该(需要)实现什么,用SRS(软件需求规格说明书)来记录。
4). 非功能性需求:性能指标和质量属性、系统和外部世界的界面、设计和实现的约束;4.软件需求工程分为需求开发和需求管理。
(1)需求开发:获取、分析、编写规约、确认包括的活动:1)确定产品将要面对的各类用户2)从各类用户的代表处收集需求3)了解用户的任务和目标,以及这些任务要实现的业务目标4)分析从用户处得到的信息,将用户的任务目标与功能需求、功能性需求、业务规则、解决方案建议以及其他无关信息区分开来5)将顶层的需求分配到系统构架内定义好的软件组件中6)了解各质量属性的相对重要性7)协商需求的实现优先级8)将收集的用户需求表述为书面的需求规格说明书和模型9)审阅需求文档,以确保在认识上与用户声明的需求相一致,硬挨开发小组接受需求之前解决所有的分歧(2)需求管理:变更控制、版本控制、需求状态跟踪、需求跟踪1)定义需求基线2)审查需求变更请求,评估其可能产生的影响以决定是否批准3)以可控制的方式将准的需求变更融入项目中4)保持项目计划与需求的同步5)估计需求变更的影响,在此基础上协商新的需求约定6)跟踪每项需求,找到与其对应的设计、源代码和测试用例。
☆什么是软件需求工程?请说明软件需求工程中各阶段的主要任务。
p51 定义一般定义:指应用工程化的方法、技术和规格来开发和管理软件的需求。
需求工程的目标:获取高质量的软件需求。
与软件工程中传统的需求分析概念相比,需求工程突出了工程化的原则,强调以系统化、条理化、可重复化的方法和技术进行与软件需求相关的活动,从而有利于提高所有与软件需求相关的活动及其过程的可管理性,降低需求开发和管理的难度和成本。
其它定义:Alan.Davis:直到(但不包括)把软件分解为实际架构组建之前的所有活动,即软件设计之前的一切活动。
该定义虽然没有详细说明需求工程是什么,但其给出了需求工程的范围。
Lan K. Bray:对问题域及需求做调查研究和描述,设计满足那些需求的解系统的特性,并用文档给予说明。
这个定义明确指出了需求工程的任务就是获取、分析和表达软件的需求。
需求工程= 需求的开发活动+ 需求的管理活动2 各阶段主要任务需求获取阶段:获取用户的需求信息。
需求分析阶段:分析和综合已经收集到的需求信息。
需求建模阶段:根据待开发软件系统的需求利用某种建模方法建立该系统的逻辑模型。
需求定义阶段:根据用户需求编写出需求规格说明。
需求的形式化描述阶段:用严格的数学知识和符号来构造系统的需求模型。
需求验证阶段:检验软件需求规格说明。
需求管理阶段:开发人员在与提出更改的请求者协商的基础上,评估需求变更带来的潜在影响及可能的成本及费用,然后实施更改,一级有效的管理需求规格说明文档和跟踪更改需求的状态。
☆什么是软件需求?软件需求有哪些类型,并分别给出它们的定义。
p2软件需求的定义:A. Davis:软件需求是从软件外部能发现的,软件所具有的,满足于用户的特点、功能及属性等的集合。
I. Sommerville:需求是问题信息和系统行为、特性、设计和实现约束的描述的集合。
M. Jackson等:需求是客户希望在问题域内产生的效果。
IEEE软件工程标准:(1)用户解决问题或达到目标所需的条件或能力;(2)系统或系统部件要满足合同、标准、规范或其它正式规定文档所需具有的条件或能力。
软件需求分析习题大全 Coca-cola standardization office【ZZ5AB-ZZSYT-ZZ2C-ZZ682T-ZZT18】习题集一、单项选择题1、需求分析最终结果是产生()。
A.项目开发计划 B.可行性分析报告 C.需求规格说明书 D.设计说明书答案:C2、需求分析中,开发人员要从用户那里解决的最重要的问题是()。
A.让软件做什么 B.要给软件提供哪些信息C.要求软件工作效率怎样 D.让软件具有何种结构答案:A3、需求规格说明书的内容不应包括对()的描述。
A.主要功能 B.算法的详细过程 C.用户界面和运行环境 D.软件性能答案:B4、需求规格说明书的作用不应包括()。
A.软件设计的依据 B.用户与开发人员对软件要做什么的共同理解C.软件验收的依据 D.软件可行性研究的依据答案:D5、下面关于面向对象方法中消息的叙述,不正确的是()。
A.键盘、鼠标、通信端口、网络等设备一有变化,就会产生消息B.操作系统不断向应用程序发送消息,但应用程序不能向操作系统发送消息C. 应用程序之间可以相互发送消息D.发送与接收消息的通信机制与传统的子程序调用机制不同答案:B6、面向对象技术中,对象是类的实例。
对象有三种成份:()、属性和方法(或操作)。
A. 标识B. 规则C. 封装D. 消息答案:A7、软件需求分析阶段的工作,可以分成以下四个方面:对问题的识别、分析与综合、制定规格说明以及()。
A.总结 B.实践性报告C.需求分析评审 D.以上答案都不正确答案:C8、软件需求规格说明书的内容不应包括对()的描述。
A.主要功能 B.算法的详细过程C.用户界面及运行环境 D.软件的性能答案:B9、产品特性可以称为质量属性,在众多质量属性中,对于开发人员来说重要的属性有哪些(B )A 有效性、效率、灵活性、互操作性B 可维护性、可移植性、可重用性、可测试性C 完整性、可靠性、健壮性、可用性D 容错性、易用性、简洁性、正确性10、需求包括11个方面的内容,其中网络和操作系统的要求属于(B ),如何隔离用户之间的数据属于(C),执行速度、相应时间及吞吐量属于(D ),规定系统平均出错时间属于(A )。
《软件需求分析和测试计划》1. 1. 什么是软件需求?答:需求是⽤户解决问题或达到⽬标所提出的需要和要求。
1. 2. 软件需求的分类有哪⼏个?答:业务需求、⽤户需求、功能需求、系统需求1. 3. 如何进⾏需求评审?答:需求评审是由产品组举⾏的⼀次对需求的宣讲和评审,主要⾓⾊包括:产品设计⼈员(产品经理、前端⼯程师、设计师等)、软件开发⼈员、软件测试⼈员。
对需求的可⾏性进⾏评审。
评审主要从以下⼏个⽅⾯着⼿:完整性、正确性、可⾏性、必要性、划分优先级、⽆⼆义性、可验证性1)对需求的描述是否易于理解?2)是否存在⼆义性的需求?3)是否定义了术语表,对特定含义的术语是否给与了定义?4)最终产品的每个特征是⽤唯⼀的术语描述的吗?5)条件和结果是否合理,是否遗漏异常因果关系?6)需求中是否包含不确定描述,如:⼤约、可能等7)每个规格是不是都有明确的说明?8)环境搭建是否可能有困难?1. 4. 按获取途径,软件分为如下2类:答:分为产品类软件、项⽬类软件。
产品类软件:需求没有特定⽤户以合同形式明确要求,由市场分析⼈员分析潜在的客户的潜在需求获得。
主要通过市场调查、问卷、类似产品⽤户回馈、⼼⾥分析研究等⽅式,要求产品⼈员有深厚的业务背景、敏锐的洞察⼒、前瞻⼒和预测能⼒以及创造性思维。
项⽬类软件:由特定⽤户以合同等契约形式明确下来,可以通过访谈、交流、⼀起⼯作等⽅式获取需求。
要求产品⼈员具有深厚的业务背景、很好的交流沟通能⼒和亲和⼒,还需要很强的分析能⼒。
1. 5. 什么是测试计划?答:在软件测试⼯作正式开始之前所做的⼀个计划⽂档,可以明确测试的对象,并且通过对资源、时间、风险、测试范围和预算等⽅⾯的综合分析和规划,保证有效的实施软件测试。
1. 6. 为什么要制定测试计划?答:1)把知识和经验转化成执⾏任务的具体⽅法2)促进团队间关于测试任务和过程的交流3)为组织、安排和管理测试项⽬提供⼀个整体框架4)对项⽬执⾏过程中的风险进⾏分析,并制定相关的应对策略。
软件工程课后习题参考答案1.简述软件开发的本质。
答:软件开发的本质就是实现问题空间的概念和处理逻辑到解空间的概念和处理逻辑之间的映射。
P192.简述实施软件开发的基本途径。
答:实施软件开发的基本途径是系统建模。
所谓系统建模,是指运用所掌握的知识,通过抽象,给出该系统的一个结构——系统模型。
P193.简述何谓模型以及软件开发中所涉及的模型。
答:模型是一个抽象。
该抽象是在意图所确定的角度和抽象层次对物理系统的一个描述,描述其中的成分和成分之间所具有的特定语义的关系,还包括对该系统边界的描述。
软件开发中所涉及的模型可分为两大类,一类称为概念模型,描述了系统是什么;另一类统称为软件模型,描述了实现概念模型的软件解决方案。
4.简述软件开发所涉及的两大类技术。
答:软件开发所涉及的两大类技术为:一是求解软件的开发逻辑,二是求解软件的开发手段。
5、简述需求与需求规约的基本性质。
答:需求的基本性质:1)必要的,该需求是用户所要求的。
2)无歧义的,该需求只能用一种方式解释。
3)可测的,该需求是可进行测试的。
4)可跟踪的,该需求可从一个开发阶段跟踪到另一个阶段。
5)可测量的,该需求是可测量的。
需求规约的基本性质:1)重要性和稳定性程度:按需求的重要性和稳定性,对需求进行分级。
2)可修改的:在不过多地影响其他需求的前提下,可以容易地修改一个单一需求。
3)完整的:没有被遗漏的需求。
4)一致的:不存在互斥的需求。
6、简述软件需求的分类。
答:软件需求可以分为两大类:一类是功能需求,一类是非公能需求,而非公能需求可分为性能需求,外部接口需求、设计约束和质量属性需求。
P237、举例说明功能需求和非功能需求之间的基本关系。
答:非功能需求可作用于一个或多个功能需求,例如非功能需求可作用于一个或多个功能需求其中,非功能需求1作用于功能需求1和功能需求38、有哪几种常用的初始需求发现技术?答:有5种常用的需求发现技术:自悟、交谈、观察、小组会和提炼。
软件行业需求分析软件行业一直是一个快速发展且具备巨大潜力的领域。
随着数字化转型的加速以及人们对高效便捷生活方式的追求,软件需求也日益增长。
本文将对软件行业的需求进行详细分析,帮助读者了解当前和未来的趋势。
一、行业发展现状软件行业已经成为许多行业的核心,无论是金融、医疗、教育、零售还是娱乐等,都离不开软件的支持。
随着人们对科技的不断追求,软件开发公司如雨后春笋般涌现,市场竞争日益激烈。
二、人工智能人工智能是目前软件行业中最热门的领域之一。
通过对大数据的深入分析和机器学习算法的应用,人工智能软件可以模拟人类的智能行为,帮助企业提高工作效率和决策能力。
在金融业中,人工智能可以快速进行风险评估和投资组合优化,而在医疗领域,人工智能可以辅助医生进行疾病诊断和治疗方案的设计。
三、云计算随着云计算技术的成熟,越来越多的企业将软件和数据存储在云端。
云计算提供了便捷高效的服务,降低了企业成本和风险。
在软件行业中,云计算为开发者提供了共享和协作的平台,使得软件的开发和维护更加灵活和高效。
同时,云计算还开启了软件即服务(SaaS)的时代,使得用户可以通过网络随时随地访问和使用软件,极大方便了生活和工作。
四、移动应用移动应用是当前软件行业中的主流趋势之一。
随着智能手机的普及,人们对移动应用的需求也不断增长。
无论是社交娱乐、在线购物、出行导航还是健康管理等,移动应用都能够方便快捷地满足用户的日常需求。
因此,开发具有良好用户体验的移动应用成为软件行业的重要任务。
五、网络安全随着互联网的普及和信息的数字化,网络安全问题也日益严重。
软件行业需要关注用户数据的保护和网络环境的安全。
因此,网络安全软件的需求不断增长。
通过创新的网络安全算法和技术手段,软件开发公司可以提供全面的网络安全保护,帮助用户保护隐私和企业保护核心信息。
六、大数据分析大数据分析是软件行业中的关键技术之一。
通过对海量数据的采集、存储和分析,软件开发公司可以帮助企业进行市场研究、用户行为分析和个性化推荐等工作。
一、单选题(每空1分,共20分,请在备选答案中选择唯一一个正确的选项)1、产品特性可以称为质量属性,在众多质量属性中,对于开发人员来说重要的属性有哪些(B )A 有效性、效率、灵活性、互操作性B 可维护性、可移植性、可重用性、可测试性C 完整性、可靠性、健壮性、可用性D 容错性、易用性、简洁性、正确性2、需求包括11个方面的内容,其中网络和操作系统的要求属于(B),如何隔离用户之间的数据属于(C),执行速度、相应时间及吞吐量属于(D),规定系统平均出错时间属于(A ).A 质量保证B环境需求C安全保密需求 D 性能需求3、需求分析过程应该建立3种模型,它们分别是数据模型、功能模型、行为模型。
以下几种图形中,(B)属于功能模型,(A)属于数据模型,(C)属于行为模型.A 实体—联系图(ERD)B 数据流图(DFD)C 状态转换图(STD)D鱼骨图4、常用的需求分析方法有:面向数据流的结构化分析方法(SA),面向对象的分析方法(OOA),下列(D)不是结构化分析方法的图形工具。
A决策树B数据流图C数据字典D快速原型5、软件开发中,原型是软件的一个早期可运行的版本,它反映最终系统的部分重要特性。
其中,(B)和(C)用完就可以丢弃,而(A)围绕原型修改、增加。
A 进化型B 探索型C实验型 D 以上都是6、( D)用于描述数据的处理过程。
A 数据字典B决策树C决策表 D 数据流图7、DFD的基本符号不包括下列哪种(A)A 数据字典B 加工C 外部实体D 数据流E 数据存储文件8、DD的主要字典条目包括以下哪种(E)A数据流B文件 C 数据项D加工E以上都是9、常用的动态分析方法不包括以下哪种(B)A 状态迁移图B 层次方框图C时序图 D Petri网10、需求分析阶段的文档包括以下哪些(E)A 软件需求规格说明书B数据要求说明书C初步的用户手册D修改、完善与确定软件开发实施计划E以上都是11、需求验证应该从下述几个方面进行验证:(C)A 可靠性、可用性、易用性、重用性B可维护性、可移植性、可重用性、可测试性C一致性、现实性、完整性、有效性D 功能性、非功能性12、风险管理的要素包括哪项(D)A风险评价B风险避免C风险控制D以上都是13、下列描述中错误的是(D)A每一个集成的需求变更必须能跟踪到一个经核准的变更请求。
软件需求分类有哪些?-北京锐智互动
当需求需要备文档化描述,折旧要求产品经理弄清楚哪些类型,每种类型该如何进行表达,在软件行业,人们讨论“需求”通常指的是软件应用需求,但还是具有其他不同类型的需求,如图
项目需求:老板要求团队需要在3个月内完成项目并上线,其对象针对项目的时间进度、成本、资源等。
过程需求:项目经理要求提交需求规格说明文档、产品原型图等报告,其对象是在开发过程中的开发人员、工具方法等。
系统级需求,包括软件需求(这就是我们常讨论的需求)、硬件需求(怎么样规格的服务器、显示屏等),其他需求(如某些toB软件投入使用要需要对用户进行培训讲解)。
对于上述的所讲的项目需求、过程需求、硬件需求、其他需求也是要写进需求文档里去的,一般是写在开头或末尾,这根据自己的个人习惯。
讲了辣么多,我的主体还是我们所常提起的软件需求。
从严格意义上的软件需求分类具有:功能需求,非功能需求,就好比我在某宝想买一双鞋子,球鞋、高跟鞋、过膝靴、红色、黑色等是明显可知的(功能需求),但鞋跟牢不牢固、鞋底会不会脱胶等是不清楚的(非功能需求)。
其中非功能需求包括性能需求,质量属性,对外接口,约束。
功能需求:
是最常见和最重要的需求,体现在系统与用户之间的交互,帮助用户解决问题,完成任务。
功能也有复杂简单之分,对于复杂的功能需要一层一层分离,如公司做的核销功能,在账单模块,分离各种支付类型,支付类型又分为具有流水号和无流水号的等等。
或者独立成多个部分,如公司的某项目,分成机票模块、酒店模块、用车模块等等,然后再分别交给开发人员进行开发。
功能需求是整个系统产生价值的基础,是使得一个软件应用得以存在的原因。
性能需求:
我们会经常讨论到手机性能怎么样,卡不卡,耗电量怎么样,存储量有多大……而软件也具有性能,是指某指定功能的程度,如速度,精确度,内存使用程度等
常见的性能:
1.速度:系统完成指定任务的时间。
如航班搜索出来的结果必须在3s内展示出来。
2.容量:系统所能存储的数据量。
如财务系统能存储至少10万条的核销数据。
3.并发性:系统可以承载的并发工作量。
如某软件允许多少个用户同时使用。
4.实时性:严格的实时要求。
如降舱软件中当发现合乎条件的舱位,系统需在1s内执
行降舱指令。
对于性能需求,如要不是很大的用户量或大公司,其他则比较少去考虑该方面的需求,但对于系统的后期发展,这也是一个极其重要需求探讨。
质量属性:
质量属性包括性能需求,只是性能需求比较特殊,所以单独出来。
常见的质量属性:
1.可靠性:指在一定时间或条件下,系统执行所要求功能的无故障执行能力。
2.可用性:系统在使用中可操作或访问程度。
3.可维护性:为改进系统或修复bug而修改系统或某功能模块的难易程度。
4.安全性:阻止对其程序和数据进行未授权访问的能力。
5.可移植性:将系统从一个硬件或软件的运行环境换置到另一个环境。
6.易用性:系统易于使用的程度。
对于接口需要进行说明:
1.接口的用途;
2.接口的输入输出;
3.数据格式;
4.命令格式;
5.异常处理要求;
如某数据包为XML格式,HotelProduct表示酒店接口,接口的输入为Destination目的地,Date住店及离店日期,输出的数据类型为数字文本,0代表操作正确,1代表数据错误,2代表网络故障,3代表其他错误,而对于0还输出具有目的地的酒店信息,其中一个字段为HotelID,酒店编号,Number类型,18位数据代码。
常见的约束:
1.系统开发以及运行的环境:包括计算机,操作系统,编程语言、数据库管理系统等
2.问题域内的相关标准:包括法律法规、合作协议等
3.社会性因素:文化、信仰等社会性因素。