软件需求分析 软件需求分析方案设计(优秀5篇)

时间:2023-09-29 05:48:49 作者:紫衣梦 软件需求分析 软件需求分析方案设计(优秀5篇)

范文为教学中作为模范的文章,也常常用来指写作的模板。常常用于文秘写作的参考,也可以作为演讲材料编写前的参考。范文怎么写才能发挥它最大的作用呢?下面是小编为大家收集的优秀范文,供大家参考借鉴,希望可以帮助到有需要的朋友。

软件需求分析篇一

s={d1,d2,d3,…dn}

di={p1,p2,p3,…pm}

pj={f1,f2,f3,…fk}

一个软件包含了所有功能的集合,同时包含了实现所有功能的所有方法和算法描述。需求分析是依据于用户需求,经过需求问题识别,进行分析、消化与综合,制订规格说明,评审,分为四个阶段,形成用户需求与设计同步,设计满足用户需求目标。

需求分析方法始终贯穿着吸收、同化、贯彻方法和手段,用商业化行为解决需求与实现中存在的矛盾,解决用户需求与商业化产品融通,解决规范与个性化追求。

软件需求分析的主要实现目标:

2)了解和描述软件实现所需的全部信息,为软件设计、确认和验证提供一个基准;

3)为软件管理人员进行软件成本计价和编制软件开发计划书提供依据;

需求分析的具体内容可以归纳为六个方面:软件的功能需求,软件与硬件或其他外部系统接口,软件的非功能性需求,软件的反向需求,软件设计和实现上的限制,阅读支持信息。

软件需求分析应尽量提供软件实现功能需求的全部信息,使得软件设计人员和软件测试人员不再需要需求方的接触。这就要求软件需求分析内容应正确、完整、一致和可验证。此外,为保证软件设计质量,便于软件功能的休整和验证,软件需求表达无岔意性,具有可追踪性和可修改性。

2.1、软件功能需求

软件的功能需求是整个需求分析最主要、最关键和最复杂的部分,它描述软件的各种可能的条件下,对所有可能输入的数据信息,应完成那些具体功能,产生什么样的输出。描述软件功能需求是应注意下面几点:

1)功能需求的完整性和一致性

对功能的描述应包含与功能相关的信息,并应具有内在的一致性(即各种描述之间不矛盾、不冲突)。应注意以下几点:

(1)给出触发功能的各种条件(如:控制流、运行状态、运行模式等);

(5)尽可能不使用“待定”这样的词。所有含有待定内容的需求都不是完整的文件,如果出现待定的部分,必须进行待定部分内容说明,落实负责人员、落实实施日期。

2)功能描述的无岔意性和可追踪性

需求功能描述的无岔意性、可追踪性和规范化:

(2)可以用语言、方程式、决策表、矩阵或图等对功能的描述。如果选用语言描述必须使用结构化的语言,描述前必须说明该步骤(或子功能)的执行是顺序,选择,重复,还是并发,然后说明步骤逻辑。整个描述必须单入单出。

(3)描述时,每一个功能名称和参照编号必须唯一,且不要将多个功能混在一起进行描述,这样便于功能的追踪和修改。

(4)功能描述应注意需求说明和程序设计的区别。需求设计仅仅是软件的功能设计,它给出软件运行的的外部功能描述,以及为了实现这一外部功能必须做哪些事情(采用和种数据结构,定义多个模块,接口间的接口等)是设计阶段的事情,功能描述不应涉及到那些细节问题,以避免给软件设计带来不必要的约束。

2.2、软件与硬件或其他外部系统接口

软件与硬件或其它外部系统接口包括下述内容:

(1)人机接口:说明输入、输出的内容、屏幕安排、格式等要求;

(2)硬件接口:说明端口号,指令集,输入输出信号的内容与数据类型,初始化信号源,传输通道号和信号处理方式。

(3)软件接口:说明软件的名称、助记符、规格说明、版本号和来源;

(4)通讯接口:指定通讯接口和通讯协议等描述。

2.3、软件的非功能性需求

软件非功能性需求是指软件性能指标,容限等功能以外的需求。一般指下述内容:

(1)时间需求:输入、输出频率,输入、输出响应时间,各种功能恢复时间等;

(2)处理容限、精度、采样参数的分辨率,误差处理等;

(3)可靠性的mtbf要求,可维护性、安全性要求等。(对可能的不正常的输入给以正常响应是可靠性的重要内容,这属于功能性需求。)

2.4、软件反向需求

软件的反向需求描述软件在那些情况下不能做什么。这一条是随软件实际要求而定。有两类情形需要采用反向需求的形式。第一种情况:某些用户需求适宜采用反向形式说明,如数据安全性要求属于这类形式。第二种情况:对一些可靠性和安全性要求较高的软件,有些必须描述软件不能做些什么。如控制点火时序,我们必须交代清楚在那些情况下不能点火,否则会造成故障。

2.5、软件设计和实现上的限制

软件设计和实现上的限制主要指对软件设计者的限制。如软件运行环境的限制(选择计算机类型,使用配置,操作系统的限制等)、设计工具的限制(使用语言、执行的标准)和保密要求等。

2.6、阅读支持信息

这部分内容是为了更好的帮助我们理解用户需求,也是为了使需求便于修改和追踪。其本身并不是对需求的描述,但它影响到需求分析的可读性,也属于需求分析的一个重要部分。一般目录、需求背景信息、内容索引、交叉引用表、注释等均属于这个部分的内容。

软件需求分析其根本性问题是理解用户功能需求,由此软件需求分析实际上是与客户间交流过程完成的目标。要求我们组织适当的参与人员进行交流活动。

需求分析是一个综合团队的工作,是在需求分析理论的指导下,对用户需要进行渐进方式逐步深化;通过不断变化方式形成具体约束;努力实现需求功能目标形成特色效果的商业化产品。需求分析是一个商业行为,完全是一个商业化操作,要求有商业、技术等结合的团队共同合作,解决需求和设计的同步,设计符合需求。

项目涉及内容,项目大小都需要我们考虑参加软件需求分析工作团退的人数,配置合理的参与人员。一般我们必须有商务活动人员,项目管理人员,设计技术人员等参加,而且要求组织人员必须明确负责范围,以及明确工作目标,保证实施的有效性。

为了保证项目的正常实施,并且能够顺利的完成,我们必须加强项目管理和重视项目分析工作。我们只有从实际出发,切切实实地把握用户需求,把握用户需求目标,把握用户将来功能界定,保证我们开发工作正确性方向。

4.1、重点监控软件需求分析办法

由于软件项目的特殊性和行业覆盖的广阔性,以及需求分析的高风险性,软件需求分析的重要性是不言而喻的,同时需求分析又的的确确难做。其原因基本是由于以下情况造成的。

4.1.1、客户说不清楚需求

有些客户对需求只有朦胧的感觉,当然说不清楚具体的需求。例如全国各地的很多部门、机构、单位在进行应用系统以及网络建设时,客户方的办公人员大多不清楚计算机网络有什么用,更缺乏it系统建设方面的专家和知识。此时,用户就会要求软件系统分析人员替他们设想需求。工程的需求存在一定的主观性,为项目未来建设埋下了潜在的风险。

4.1.2、需求自身经常变动

根据以往的历史经验,随着客户方对信息化建设的认识和自己业务水平的提高,他们会在不同的阶段和时期对项目的需求提出新的要求和需求变更。事实上,历史上没有一个软件的需求改动少于三次的!所以必须接受“需求会变动”这个事实,在进行需求分析时要懂得防患于未然,尽可能地分析清楚哪些是稳定的需求,哪些是易变的需求,以便在进行系统设计时,将软件的核心建筑在稳定的需求上,同时留出变更空间。咨询监理方在需求分析的功能界定上担任一个中间、公平、公正的角色,所以也必须积极参与到需求分析的准备中来,以便协助客户方和承建方来界定“做什么”、“不做什么”的系统功能界限。

4.1.3、分析人员或客户理解有误

软件系统分析人员不可能都是全才,更不可能是行业方面的专家。客户表达的需求,不同的分析人员可能有不同的理解。如果分析人员理解错了,可能会导致以后的开发工作劳而无功。记得一则笑话,有个外星人间谍潜伏到地球刺探情报,它给上司写了一份报告:“主宰地球的是汽车。它们喝汽油,靠四个轮子滚动前进,嗓门极大,双眼在夜里能射出强光……有趣的是,车里住着一种叫作‘人’的寄生虫,这些寄生虫完全控制了车。”所以分析人员知识的专一性也会造成需求分析的误解和失败。这时,咨询监理公司就必须根据实际的项目需求调研计划,提醒承建方加强业务了解程度和注重沟通技巧。

4.2、有效性软件需求分析三步法

根据以往的工程经验,需求分析工作方法,应该定位在“三个阶段”(也称“三步法”)。

4.2.1、“访谈式visitation”阶段

这一阶段是和具体用户方的领导层、业务层人员的访谈式沟通,主要目的是从宏观上把握用户的具体需求方向和趋势,了解现有的组织架构、业务流程、硬件环境、软件环境、现有的运行系统等等具体情况、客观的信息。建立起良好的沟通渠道和方式。针对具体的职能部门以及各委办局,最好能指定本次项目的接口人。

实现手段:访谈、调查表格

输出成果:调查报告、业务流程报告

4.2.2、“诱导式inducement”阶段

这一阶段是在承建方已经了解了具体用户方的组织架构、业务流程、硬件环境、软件环境、现有的运行系统等等具体实际、客观的信息基础上,结合现有的硬件、软件实现方案,做出简单的用户流程页面,同时结合以往的项目经验对用户采用诱导式、启发式的调研方法和手段,和用户一起探讨业务流程设计的合理性、准确性、便易性、习惯性。用户可以操作简单演示的demo,来感受一下整个业务流程的设计合理性、准确性等等问题,及时地提出改进意见和方法。

实现手段:拜访(诱导)、原型演示

输出成果:调研分析报告、原型反馈报告、业务流程报告

4.2.3、“确认式afirm”阶段

这一阶段是在上述两个阶段成果的基础上,进行具体的流程细化、数据项的确认阶段,这个阶段承建方必须提供原型系统和明确的业务流程报告、数据项表,并能清晰地向用户描述系统的业务流设计目标。用户方可以通过审查业务流程报告、数据项表以及操作承建方提供的demo系统,来提出反馈意见,并对已经可接受的.报告、文档签字确认。

实现手段:拜访(回顾、确认),提交业务流程报告、数据项表;原型演示系统

输出成果:需求分析报告、数据项、业务流程报告、原型系统反馈意见(后三者可以统一归入需求分析报告中,提交用户方、监理方进行确认和存档)

整体来讲,需求分析的三个阶段是需求调研中不可忽视一个重要的部分,三个阶段或者说三步法的实施和采用,对用户和承建方都同样提供了项目成功的保证。当然在系统建设的过程中,特别在采用迭代法的开发模式时,需求分析的工作需一直进行下去,而在后期的需求改进中,工作则基本集中在后两个阶段中。

我们根据用户需求,通过反复讨论、分析,最终明确一个唯一性的用户需求,这个结果其实就是我们的软件需求分析报告。一般我们采用word、powerpoint、visio、prontpage、excel等office工具,同时可能采用一些开发工具,如vc或bc等,同样也会使用一些图形工具,如potoshop、调色板等画图工具。

使用各种工具表达软件需求分析,其具体表达手段可以分为:

l效果图描述。主要是用户ui界面的描述反映用户需求功能;

l关系图表描述。主要是对信息关系、数据库表格、接口函数等描述;

l甘地图描述。主要是软件项目工作安排,开发周期预估;

l其它方法描述。保证完整性合理性的有效描述。

软件需求分析评估是为了检查我们进行软件需求分析工作,保证软件需求分析工作正确性、完整性、有效性、合理性、可确认性、可实施性,完全保证用户所需求的功能。

6.1、组织结构与责任管理

我们对组织结构与责任管理的评估主要有:参与人员任务和责任界面的明确;安排计划按时完成状况;相互间的协调能力状况。

6.2、满足用户需求的功能

我们进行需求分析的目的是完整、准确地描述用户的需求,跟踪用户需求的变化,将用户的需求准确地反映到系统的分析和设计中,并使系统的分析、设计和用户的需求保持一致。

需求分析的特点是需求的完整性、一致性和可追溯性。完整性:是准确、全面的描述用户的需求。一致性:是通过分析整理,剔除用户需求矛盾的方面,规范用户需求。可追溯性:有两个方面的含义,整理和规范的需求,其一,需要不断的和用户进一步交流,保持和用户最新的需求一致。其二,和系统分析(设计)保持一致。

因此在需求分析之前我们必须建立需求分析技术层面的基本框架,从技术上保证需求分析的要求,在此基础上我们进行的需求分析才能满足项目对需求分析的要求。

6.3、保证可实施性

我们必须以用户软件需求为依据,以求实的态度详细的、准确的、完整的编写软件需求分析,避免空想世界,空中楼阁的想法;避免无逻辑性、无核心的描述;避免无量化思维,无实际空间概念。

6.4、需求分析评价指标

主要有这么几个指标:功能性、完整性、正确性、逻辑性、表现性、合理性,可实施性等。

6.5、工作周期

评价人员投入,以及费用支出的合理性问题。正确制定工作周期,保证软件项目的顺利完成。

6.6、需求不确定更改与可确认保证

可确认需求功能是实现用户需求的基本保证,如果不可确认的、不确定更改存在,将会阻碍软件实现,或者软件设计存在着不完整性缺陷,或者存在着不可实施性问题,我们必须区分是功能性障碍问题,还是未来性问题。如果不能够明确是未来性问题,则必须调整功能需求,化解不确定更改的问题。因此,判断不确定性更改是一个非常重要的问题。

软件需求分析篇二

1、需求分析的最终结果是需求规格说明书。

2、需求分析中开发人员要从用户那里解决的最重要的问题是让软件做什么。

3、需求规格说明书中的内容不应该包括对算法的详细过程的描述。

4、需求规格说明书的作用不应包括软件可行性研究的依据。

5、关于面向对象方法中消息的叙述,不正确的是操作系统不断向应用程序发送消息,但应

用程序不能向操作系统发送消息。

6、面向对象技术中,对象是类的实例,对象有三种成分标识、属性、方法(或操作)

7、软件需求分析阶段的工作,可以分成以下四个方面对问题的识别、分析与综合、制定规

格说明以及需求分析评审。

8、软件需求规格说明书的内容不应该包括对算法的详细过程的描述。

9、产品特性可以称为质量属性,在众多质量属性,对于开发人员来说重要的属性有哪些?

可维护性、可移植性、可重用性、可测试性

10、求包括11个方面的内容,其中网络和操作系统的要求属于环境需求,如何隔离用户之间的数据属于安全保密需求,执行速度、相应时间及吞吐量属于性能需求,规定系统平均出错时间属于质量保证。

11、需求分析过程应该建立3中模型,他们分别是数据模型、功能模型、行为模型,以下几种图形中,数据流图(dfd)属于功能模型,实体-联系图(erd)属于数据模型,状态转换图(std)属于行为模型。

12、常用的需求分析方法有:面向数据流的结构化分析方法(sa),面向对象的分析的分析方法(ooa),下列(d)不是结构化分析方法的图形工具。

a 决策树b 数据流图c数据字典d快速原型

13、软件开发中,原型是软件的一个早期可运行的版本,它反映最终系统的部分重要特性,其中,探索型和实验型用完可以丢弃,而进化型围绕原型修改、增加。

14、数据流图用于描述数据的处理过程。

15、dfd 的基本符号不包括下列哪种?(a)。

a 数据字典b 加工c 外部实体d 数据流e 数据存储文件

16、dd的主要字典条目包括以下哪种(e)

a 数据流b文件c 数据项d加工e以上都是

17、常用的动态分析方法不包括以下哪种(b)

a 状态迁移图b 层次方框图c 时序图d petri网

18、需求分析阶段的文档包括以下哪些(e)

19、需求验证应该从下述几个方面进行验证:(c)

a 可靠性、可用性、易用性、重用性b 可维护性、可移植性、可重用性、可测试性

c 一致性、现实性、完整性、有效性 d 功能性、非功能性

20、风险管理的要素包括哪些(d)

a 风险评价b 风险避免c 风险控制d 以上都是

21、下列描述中错误的是(d)

a 每一个集成的需求变更必须能跟踪控制到一个经核准的变更请求。

b 变更过程应该做成文档,尽可能简单,当然首要的是有效性。

c 所有需求变更必须遵循过程,按照此过程,如果一个变更需求未被采纳,则其后过程不再予以考虑。

d 可以从数据库中删除或修改变更请求的原始文档。

二、填空题

1、需求分析阶段产生的最重要的文档是(需求分析说明书)。

2、需求分析的主要任务是(要回答“软件必须做什么?”)。

3、需求分析阶段,分析人员要确定对问题的综合需求,其中最主要的是(功能需求)需求。

4、需求分析阶段研究的对象是软件项目的(用户要求)。

5、软件生命周期:问题分析、可行性研究、需求分析、总体设计、详细设计、编码和单元测试、综合测试、软件维护。

6、信息系统必须实现的功能,或者说信息系统必须具备的属性和质量称为(系统需求(需求))

7、(模型)是为了理解事物而对事物做出的一种抽象,是对事物的一种无歧义的书面描述通常,由一组图形符号和组织这些符号的规则组成。

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

9、软件需求分类,分为(功能性)需求和(非功能性)需求。

10、需求分析的步骤包括(需求获取)、(分析建模)、文档编写。。

三、名词解释

第一、二空缺。

3、需求工程:整个软件需求范围内所进行的活动称为需求过程,需求工程包括需求开发和需求管理两部分,需求开发包括问题获取、分析、编写规格说明和验证。

4、业务模型:业务模型是理解是理解一个组织业务过程的技术,可以用业务用例模型和业务对象模型来表达业务模型,业务用例模型分别是分别从与业务过程和客户对应的业务用例和业务参与者的角度来描述企业的业务过程;业务对象模型描述了如何由一组工作人员使用一些业务实体和工作单元来实现每个业务用例。

5、原型开发方法:一个软件原型是所提出的新产品的部分市县,使用原型有三个主要目的:

1)明确并完善需求,2)探索设计选择方案,3)发展成为最终的产品,建立原型的主要原因是为了解决在产品开发的早期阶段不确定的问题,原型可分为抛弃型原型和进化型原型。

6、数据字典:一个定义应用程序中使用的所有数据元素和结构的含义、类型、数据大小、格式、度量单位、精度以及允许取值范围的共享仓库。

四、简答题

1、生命周期模型是什么?常见的生命周期模型有哪几种?

答:对软件开发流程的一种描述:为解决问题所定义的策略;对典型开发活动的抽象。常见的生命周期模型:waterfall,prototyping,phased,spiral(瀑布模型、快速原型模型、增量模型,螺旋模型)

2、为什么要使用生命周期模型?

答:帮助开发组了解他们在开发项目的活动、资源和限制;帮助项目了解在开发过程中的不一致,丢失,冗余等情况,把注意力集中在开发最终产品上;帮助项目组剪裁开发过程——没有基础就无从剪裁。

3、waterfall的优势是什么?

答:具有良好定义的里程碑,利于向不熟悉软件开发的客户讲解流程;帮助开发人员理解需要做的事情;清楚地描述下阶段开始前需要的中间产品;是很多其他lc模型的基础。

4、需求分析阶段的基本人物是什么?

答:需求分析阶段的基本任务是:

需求。

(2)分析与综合,到处软件的逻辑模型。

(3)编写文档。

五、问答题

1、软件过程的概念及分类,基本过程包含些什么及每个过程的具体内容。

答:软件过程也称为软件生存周期过程或软件过程组,是指软件生存周期中的一系列相关过程,过程就是过程的集合,活动是任务的集合,人物则起到把输入加工成输出的作用。活动的执行可以是顺序的、迭代的(重复的)、并行的、嵌套的或是有条件引发的。

软件过程可以分为三类:基本过程、支持过程和组织过程。

基本过程包括:

1)获取过程:(项目委托方)确定需求;招标;签订合同;对供应方的监督;验收完成。

2)供应过程:(项目承包方)理解需求;投标;签订合同;计划;实施;控制;评审评

价;交付。

3)开发过程:(软件开发人员)过程实施准备;系统需求分析;系统结构设计;软件需

求分析;软件体系结构设计;软件详细设计;软件编码测试;软件集成;软件合格测试;系统集成;系统合格测试;软件安装;验收支持。

4)运行过程:(用户)运行准备;运行测试;产品转移;运行;运行支持;运行评价。

5)维护过程:(维护人员)过程实施准备;问题分析和修改设计;修改实施;对维护的评审和验收;软件移植;软件退役。

2、简述软件需求工程分为哪几类?其中需求获取和需求规约的目的和任务。

答:软件需求工程细分为:需求获取、需求分析与协商、系统建模、需求规约、需求验证和需求管理六个阶段。

需求获取:系统分析人员通过与用户的交流,对现有系统的观察及任务进行分析,确定系统或产品范围的限制性描述、与系统或产品有关的人员及特征列表、系统的技术环境的描述、系统功能的列表及应用于每个需求的领域限制、一组描述不同运行条件下系统或产品使用状况的应用场景以及为更好地定义需求而开发的任意原型。

需求规约:软件需求规约是分析任务的最终产物,通过建立完整的信息描述、详细的功能和行为描述、性能需求和设计约束的说明、合适的验收标准,给出对目标的各种要求。需求规约作为用户和开发组之间的一个协议,在之后的软件工程各个阶段发挥重要作用。

3、简述软件体系结构的概念及基于b/s体系结构的实现方式。

答:软件体系结构:软件体系结构是具有一定形式的结构化元素,即构件的集合,包括处理构件、数据构件和连接构件,处理构件负责对数据进行加工,数据构件是被加工的信息,连接构件把体系结构的不同部分组合连接起来。

b/s结构:浏览器(客户机)—web服务器—数据库服务器

b/s体系结构的实现方式:b/s模式下的客户机只需安装浏览器软件,无须开发前端应用程序;中间层的web应用服务器,主要的数据计算和应用都在此完成,因此对中间层服务器的要求较高;后台数据库服务器主要完成数据的管理。

4、用户界面设计三个的任务和目的答:用户界面设计在工作流程上分为结构设计、交互设计、视觉设计三个部分。

构设计中,目录体系的逻辑分类和语词定义是用户易于理解和操作的重要前提。

2)交互设计:交互设计的目的是使产品让用户能简单使用,任何产品功能的实现都是

通过人和机器的交互来完成的。因此,人的因素应作为设计的核心被体现出来。

3)视觉设计:在结构设计的基础上,参照目标群体的心理模型和任务达成进行视觉设

计,包括色彩、字体、页面等,视觉设计要达到用户愉悦使用的目的。

5、需求规格说明文档的作者及表现手段

答:作者:

项目管理者:组织安排、提供条件。

需求工程师:负责人、主导人。

文档写作人员:有时会采用,节省需求工程师的时间

涉众(用户):验证人

表现手段:

非形式化:自然语言、限制性文本

半形式化:结构化文本(伪码/结构化英语)、模型语言(图、表)

形式化:形式化语言(数学语言:bnf)

6、数据库设计的内容及常用方法

答:数据库设计包括数据库的结构设计和数据库的行为设计。

1)数据库的结构设计

数据库的结构设计指是根据给定的应用环境,进行数据库的模式或子模式的设计。它包括数据库的概念设计、逻辑设计和物理设计,数据库模式是各应用程序共享的结构,是静态的、稳定的,一经形成后通常情况下是不容易改变的,所以结构设计又称为静态模型设计。

2)数据库的行为设计

数据库的行为设计是指确定数据库用户的行为和动作,而在数据库系统中,用户的行为和动作指用户对数据库的操纵,这些要通过应用程序来实现,所以数据库的行为设计就是应用程序的设计。用户的行为总是使数据库的内容发生变化,所以行为设计是动态的,行为设计又称为动态模型设计。

数据库常用设计方法:直观设计法、规范设计法、计算机辅助设计法、自动化设计法。

7、如何正确看待客户?

答:即使最终用户不是上帝,也算是上帝的亲戚,同样怠慢不得

如果项目规模比较大,那么开发方与最终用户的来往就比较多。如从最终用户那里获取详细的需求,请最终用户试验软件,对最终用户进行培训等等。

8、概括说明如何进行需求分析?

答:(1)需求分析是指需求开发过程中,对所获取的需求信息进行分析,及时排除错误和弥补不足,确保需求文档正确地反映用户的真实意图。

(2)分析方法大体有两类:“回答分析法”和“建模分析法”。

第二:建模分析法:在需求开发过程中,对于某些类型的信息,用图形表示要比文本表示更加有效,所以将图形与文本结合起来描述需求是很自然的方法。需求建模就是指用图形符号来表示、刻画需求,需求建模不可能取代文字描述。在需求文档中,文字描述是第一重要的,建模主要是起分析、解释作用、建议将模型存放在需求文档的附录中,便于正文引用。建模分析方法主要有两大类:“结构化分析法“和”面向对象分析方法“。

软件需求分析篇三

一、职业目标与内容

职业定义

软件工程师是一个认证考试,具体地说是从事软件职业的人员的一种职业能力的认证,通过它说明具备了工程师的资格。主要工作进行软件前期的项目需求的分析,然后对项目进行风险评估并试图解决这些风险,然后开始进行软件的开发,后期对软件的进度做相关的评估。一般可以分为系统软件工程师,应用软件工程师两类。在企业中职位一般分为以下四种人:

1、企业信息化管理:负责信息化建设中的目标与方案决策,信息化建设、升级、更新;

2、工程技术人员:负责软件系统的分析、设计、开发、数据库、使用、维护和升级;

3、运行维护岗位:负责软件开发代码的编写以及基本的开发和测试;

4、操作应用人员:主要应用软件进行日常的管理工作。

工作内容

1、按照客户需求和市场需求进行设计、开发相应软件产品。

2、根据工作的进度和编程工作规范编写系统中的功能模块。

3、对编写的所有程序进行严格的测试。

4、对软件实施测试方案,从而进行软件故障的诊断、定位、分析和调试。

5、编写软件产品实施文档,并管理相关软件文档。

6、对业务部门提供相应的软件技术支持。

7、参加各种相关软件应用培训课程。

二、职业可行性分析

1、社会可行性

目前国内软件测试工程师的来源主要有三方面:一是以前专业做软件开发的人员后来转行做软件测试,二是从大学招聘的本科或者研究生,三就是通过培训机构招聘的专业学员。据了解,在国外测试人才的供应方式多以第三种为主,而国内目前除少数培训机构外尚未形成足够的人才供应规模。以北京中关村为例,现有软件企业5000多家,仅对日本软件外包领域的人才缺口就高达5000人,而对美软件外包人才缺口更大,可供量不足10%。中关村一位负责人介绍,未来5年北京将有至少200亿美元的外包订单,由此可推算出中关村将出现100万的软件人才缺口。巨大的产业前景和匮乏的人才现状,使越来越多的it企业关注软件测试人才的储备工作。

信息服务外包产业人才流动率较高,而且缺口很大。企业成立时间比较短,规模大多

比较小,企业人才平均流动率达18.28%,这和缺乏培训、业务来源不稳定、报酬机

制不够合理等因素有关。同时由于产业发展迅速,人才供不应求,尤其是本地化人才

和中高级管理人才。

市场需求的巨大和专业人才的缺乏令人吃惊,这正是商机和盈利的重要突破口。可

以预见,中国软件和信息服务外包产业将在不久的将来成为引领中国第三产业转型和发

展的龙头产业,相关职业包含高级软件工程师的人才需求将会非常巨大。

2、经济可行性

软件开发、网络维护等职业技能要求较高的职位薪酬也相对较高,目前在软件行业

内部,能够进行软件整体开发设计的软件设计人员比较稀缺。虽然软件从业人员的薪水

一路看涨,但是职位的争夺也异常激烈。

据调查得知,一般的程序员在开始试用时会有2500到4000那样子,转正以

后至少也有5000元以上,做到项目开发经理了年薪至少在10万以上,做到高级

可达7万元左右。

3、技术可行性

想成为一名正式的软件工程师,仅仅依靠在学校所学的c++、c#、java以及数据库

和网络应用的知识,是远远不够的。技术在市场上平分秋色,都有

后的工作中边学习边掌握更多的编程语言,向一个全面的软件工程师进行发展。

三、职业需求分析

实现目标所需的技术和职业素质

1、软件编程技术

软件编程技能实际应该是测试人员的必备技能之一,在微软,很多测试人员都

拥有多年的开发经验。因此,测试人员要想得到较好的职业发展,必须能够编写程序。只有能给编写程序,才可以胜任诸如单元测试、集成测试、性能测试等难度较大的测试工作。

此外,对软件测试人员的编程技能要求也有别于开发人员:测试人员编写的程序应着眼于运行正确,同时兼顾高效率,尤其体现在与性能测试相关的测试代码编写上。因此测试人员要具备一定的算法设计能力。依据资深测试工程师的经验,测试工程师至少应该掌握java、c#、c++之类的一门语言以及相应的开发工具。

2、测试软件技术

测试专业知识很多,本书内容主要以测试人员应该掌握的基础专业技能为主。

测试专业技能涉及的范围很广:既包括黑盒测试、白盒测试、测试用例设计等基

础测试技术,也包括单元测试、功能测试、集成测试、系统测试、性能测试等测试方法,还包括基础的测试流程管理、缺陷管理、自动化测试技术等知识。

3、数据库应用

数据库在当今的信息外包产业是很重要的。很多应用程序都是以数据库的数据为中

心, 而数据库的产品也有不少, 其中关系型数据库仍是主流形式, 所以作为高级软件工程师而言, 至少熟练掌握一两种数据库, 对关系型数据库的关键元素非常清楚, 测试人员至少应该掌握mysql、ms sqlserver、oracle等常见数据库的使用。

4、网络协议tcp/ip

在互联网如此普及的今天, 如果还没有对互联网的支撑协议tcp/ip协议栈有很好的掌握就很难在it业立足.从最早的客户/服务器结构, 到今天的web services, 这一切都离不开以tcp/ip协议栈为基础的网络协议支持, 所以, 深入掌握tcp/ip协议是非常必要的。

5、计算机专业英语

随着中国的信息外包产业逐步展开, it业急需与国外相关高新技术接轨来保持在发展上不落人后。于是it业相关从业人员现有的英语水平成为限制中国信息产业与国外交流的瓶颈。一个普遍的共识是:良好的英语交流和阅读能力成为衡量一个软件工程师水平的隐性标准,所以掌握计算机专业英语是很重要的。

6、强烈的好奇心和学习精神

对于一个立志成为高级软件工程师的人, 最重要的其实是强烈的好奇心和学习精

神。没有比强烈的好奇心和学习精神更好的武器了, 它是成功的工程师乃至在各行各业的成功者们永攀高峰的源泉和动力所在。

软件和硬件上的条件需求

1、程序语言环境

具备c/c++,vb,vc,java,.net,asp,javascript等语言。具体要求要视公司的具体项目或产品来定。但一般以c为基本要求。

2、数据库操作

sqlserver,oracle,mysql,sybase等。一般对测试人员的要求就是要求会使用,然后熟练使用sql语句进行查询,修改,添加,删除数据操作。

3、主流操作系统使用

熟悉windows系列,linux,mac os x系统的使用和操作

4、自动化测试工具应用和理解

好多人觉得自动化测试就是使用自动化测试工具,其实各种工具只是自动化测试实

施的一个有效利器,如何建立一个脱离工具的自动化测试框架远远比研究如何使用测试工具复杂,困难的多。

自动化测试工具的使用:

自动化测试框架(流程)

gui的功能测试自动化

非gui的功能测试自动化

性能测试(广义的和狭义的性能测试)

自动化测试工具(功能测试工具,性能测试工具,缺陷管理工具,测试管理工具)

5、文档编写能力

熟悉编写项目实训的测试计划,测试用例,测试报告等相关文档的编写格式。

6、语言

掌握中文和英文,考取英语四级以及六级证书。熟悉计算机专业的英语术语。

7、硬件需求

熟悉企业服务器、个人台式机、笔记本电脑、平板电脑等使用方法,了解其基本硬

件结构以及运行原理。

自我分析和职业规划

自我分析:

我的性格是比较诚实、正直的,相对谦虚但不乏张狂,在做事情时认真勤奋责任心强,同时有一定的创新意识。在自己的生活与同学及其他人的交往中是比较大方的。

在能力上,我认为我的智力还是中等偏上的,在注意力上比较集中,善于观察,记忆力

较强,思维比较开阔,想象力较强。在特殊能力,也就是我的特长上,我认为自己并没有什么特长,只是自己的兴趣所到对一些东西投入了,或许会做的较好一点,比如:计算机的掌握与控制,计算能力等,在语言表达能力及动作协调能力上我做的还不是很好,空间判断能力也不是很突出。

工作、学习中我能做到耐心解决每个问题,但是不够细心,容易忽略一些细节。和团队

队员有很好的沟通,有着优秀的学习能力,积极完成各种任务。上进心强,永不满足现状,不断追求各种新的技术。

职业规划:

1、大学时间提高自我水平

要成为一个软件工程师,所需要的不只是扎实的开发能力,对软件开发的掌控能

力,还有的是沟通和团队合作能力,就目前的软件工程而已,个人能力已经微乎其微了,一个大型的软件,需要数十人,甚至上百人同时进行开发,所以沟通很重要。大学就是培养自身沟通能力与专业能力的最好平台。

大学四年首先要取得必要的证书来证实自己的实力,例如:取得学士学位证书,英语四级证书,计算机三级证书;取得专业资格证书等。另外还要提高自己的综合能力,例如:提高独立面对、解决问题的能力,提高语言组织沟通能力、专业技能、面试技巧。

大学也是一个小的社会,而人本身就是社会最小的组成单位。所以我需要了解社

会所需要的。让自己去适应社会。才能发展自身的目标。从事自己专业的工作,对软件工程有更为深刻的理解。累积实践经验,甚至是为自己实现愿望提供必要的物质基础。所以我需要一边工作一边学习。

2、进入社会工作

第一阶段:(测试员)初级测试工程师(初出校门)

自身条件:初入具备计算机专业学位,有一些手工测试经验。

具体工作:执行测试用例,记录bug,并回归测试,通过qtp等测试工具录制回归测试脚本,并执行回归测试脚本。

学习方向:开发测试脚本并且开始熟悉测试生存周期和测试技术。

第二阶段:(测试工程师)程序分析员(1-2年)

自身条件:有1~2年工作经验。具有初步的自动化测试能力,完善自动化测试脚本。

具体工作:设计和编写测试用例,编写自动测试脚本程序且担任测试编程初期的领导工作。

学习方向:拓展编程语言、操作系统、网络与数据库方面的技能。

第三阶段:(高级测试工程师)程序分析员(3—4)

自身条件:有3~4年经验。具有一定的行业业务知识,储备系统分析员的能力。具体工作:帮助开发或维护测试或编程标准与过程,分析软件需求,获得测试需求。确定测试需求相应的测试方法,获得测试策略方案。参与同行的评审(软件需求,软件测试计划等),并为其它初级的测试工程师或程序员充当顾问。

学习方向:继续拓展编程语言、操作系统、网络与数据库方面的技能。

第四阶段:测试组负责人(4-6)

自身条件:有4~6年经验。具有丰富的行业业务知识,具有系统分析员的能力,专长性能测试。

具体工作:负责管理1~3名测试工程师或程序员。集中于技能方面,担负一些进度安排和工作规模/成本估算职责。分析性能瓶颈的原因,为开发团队 提供bug解决策略。

学习方向:性能测试,测试技能

第五阶段:(资深安全或性能测试工程师)测试/编程高级负责人(6-10)

自身条件:有6~10年经验的测试工程师或程序员。

具体工作:负责管理8~10名技术人员。性能测试整体方案设计,软件系统性能问题定位和性能优化,内存优化及分析数据溢出等,分析系统的安全漏 洞等。负责进度安排、工作规模/成本估算、按进度表和预算目标交付产品。负责开发项目的技术方法。为一些用户提供支持与演示。

学习方向:开发一些特定领域的技术专长

第六阶段:测试/质量保证/开发(项目)、经理

自身条件:有10多年的工作经验。(10年及之后)

第七阶段:(公司级质量总监)计划经理

自身条件:有10年以上开发与支持(测试/质量保证)活动方面的经验。

具体工作:管理从事若干项目的人员以及整个开发生存周期。负责把握项目方向与盈亏责任

软件需求分析篇四

软件需求分析师求职简历,大学生要怎样写一份优秀的个人简历,对于写简历的要求是什么?为了能让毕业生在写简历时学习到更多的简历写作技能可阅读这份软件工程项目管理求职简历参考。个人简历写作方法要求是要简洁而突出个人能力特长希望阅读以下这份计算机软件开发员个人简历模板能帮助到您写简历技巧。

姓名:文书帮

三年以上工作经验|男|27岁(1989年7月14日)

居住地:北京

电话:130*******(手机)

e-mail:http:///

最近工作[1年9个月]

公司:xx有限公司

行业:计算机软件

职位:软件需求分析师

学历:本科

专业:计算机软件

学校:北京大学

到岗时间:可随时到岗

工作性质:全职

希望行业:计算机软件

目标地点:北京

期望月薪:面议/月

目标职能:软件需求分析师

2013/11 – 2015/8:xx有限公司[1年9个月]

所属行业:计算机软件

技术部

1. 与客户沟通,确定需求边界。能根据客户的表述进行需求文档的编写和需求的拆分。

2. 根据概要需求(客户及内部需求)编写详细需求规格说明书。

3. 系统规划,与产品人员进行前期调研和产品设计工作,编写调研报告和项目解决方案。

2012/6 – 2013/10:xx有限公司[1年4个月]

所属行业:计算机软件

技术部

1. 与用户沟通需求,收集、分析、整理、提炼用户的业务需求,提出解决方案,并与用户确认需求。

2. 分析、跟踪客户提出的系统变更需求,提出合理化建议。

3. 为其他技术部门提供业务需求相关的.咨询,协助uat测试,确保客户需求的满足。

2008/8— 2012/6 北京大学计算机软件 本科

2009/12 大学英语四级

英语(良好)听说(良好),读写(良好)

软件需求分析篇五

职责:

2.负责项目进行前期调研,编写调研报告和项目解决方案;

3.负责编写详细需求规格说明书,用户手册,培训资料等;

4.对外负责与客户沟通需求,对内配合项目组的需求讲解说明;

5.产品测试验证;

6.配合项目经理完成其他事项;

岗位要求:

1.计算机相关专业,本科以上学历。

2.拥有1-3年软件需求分析经验,尤其是零售行业经验;

3.熟悉使用相关的业务需求分析,设计工具,如visio,office等;

4.具有良好的英文读写能力,较强的语言表达交流能力,文档撰写能力;

5.具有较强的用户需要判断,引导,控制能力;

6.需有较强的团队协作精神;

7.有零售行业进销存产品经验者优先考虑,有开发经验者优先考虑,懂粤语者优先考虑;

相关范文推荐

猜您喜欢
热门推荐