软件需求工程.doc

软件需求工程.doc
软件需求工程.doc

第1章 软件需求工程概述

IEEE 关于软件需求的定义

1) 用户解决问题或达到目标所需的条件或能力;(用户的角度 )

2) 系统或系统部件要满足合同、标准、规范或其它正式规定文档所需具有的条

件或能力。(软件系统的角度 )

软件需求的分类

1)

目标需求; 2)

业务需求; 3)

功能需求; 4)

性能需求; 5)

约束与限制。 6)

软件需求间的层次关系

需求规格说明

需求规格说明是软件所应满足的全部需求,并可以文档的方式完整和精确陈述这些需求。

一个好的需求规格说明应该具有的特征

1)

完整性。 2)

正确性。 3)

可行性。 4)

必要性。 5)

划分优先级。 6)

无二义性。 7) 可验证性。

第2章 软件工程与需求工程

软件开发过程模型

1) 瀑布式模型

2) 快速原型模型

3) 渐增式模型

4)螺旋式模型

5)面向对象的开发模型

所谓面向对象就是应用对象、类、继承、封装、消息、对象或类之间的关系等面向对象的概念对问题进行分析和求解的软件开发技术,或者说,是以对象(类)为数据中心、对象之间的动态行为模式作为运行机制的一种问题求解方法。

软件需求工程特点

1)有一部分分析工作必须在设计之前进行,而另外一些分析工作则需与其他部

分的设计与实现工作并行地进行,因而呈现出非线性的工作方式。

2)软件系统的表达形式在整个开发模型中都是相同的,即面向对象方法中把类

及其结构作为系统的表达单元,无论哪一个阶段都以渐增的方式不断地进化或细化这些表达单元。

3)开发模型支持软件的重用。

需求工程对软件开发的影响如下:

1)需求是制定项目计划的基础。

2)需求工程所产生的最终产物——需求规格说明——是软件设计和软件实现的

基础。

3)需求规格说明也是测试工作和用户验收软件系统的依据。

4)需求规格说明也是软件维护工作的依据。

软件需求的开发和管理过程

软件需求的开发和管理过程是由导出、确认和维护软件系统需求规格说明的一系列活动组成的。

根据需求工程开发和管理过程可大致划分需求开发和需求管理两个阶段。其中需求开发主要产生正式的需求规格说明,需求管理主要是根据需求的变化对需求规格说明的内容及版本进行管理。

第3章需求获取

实地收集需求信息面临的困难

1)能提出软件需求的用户没有时间与开发人员进行交流和讨论。

2)有时用户不愿意花费太多的时间进行讨论。

3)用户和开发人员考虑自身利益,对需求信息的手机工作采取消极的态度。

4)用户对所面临的工作没有系统的认识和整理,使得开发人员无法整理和分

析。

5)开发人员缺乏用户的业务常识,双方交流困难,收集工作难以进行。

实地调查的步骤

要想获得充分的用户需求信息,就必须实地进行调查并与用户交流。实地调查通常分为三个步骤:

1)向掌握“全局”的负责人调查。

2)向部门负责人调查。

3)向业务人员调查。

2、3步骤是一个反复的过程,调查前应有提纲,调查要有记录,调查后要核实。

实地收集需求信息的方式

开发人员与用户的交流可采取如下几种方式:

1)座谈会的方式:参加人数不宜过多,避免拖延会议速度或偏离会议主题,应

该有人主持会议,提前发给参加人员有关会议的议题和内容等材料,有助于提高会议效率。

2)书面咨询的方式:由软件开发人员将所关心的和有待澄清的问题以书面形式

提交给用户,软件开发人员通过理解和分析用户的回答来收集他们的真正的需求。

3)利用用例表示方法:用例是了解用户的业务流程和澄清含糊细节的好方法。

所谓用例是用于描述软件系统与一个外部“执行者”的交互顺序,体现执行者完成一次任务的过程。

场景的定义及构成

所谓场景是指用户与软件系统实现某个目标而进行交互活动过程的描述。可视为使用系统经历的解释。

由以下几个方面的内容构成:

1)执行者

2)进入场景前系统状态描述

3)执行者的目的

4)动作和事件系列(包括正常和非正常事件流)

场景的表示

场景的表示出了可用自然语言表示外,也可用图形、动画等其它形式。场景也可与快速原型方法结合使用。场景可利用一些已有的半形式化的图形表示方法和技术。

1)非形式化的表示:自然语言、结构化语言、图形、动漫画等。

2)形式化的表示:状态图、流程图、时序图、代数描述图等。

场景技术还具有如下特点:

1)可把当前系统存在的问题作为实例记录下来。

2)可成为项目相关人员间的共同语言

3)由于描述了软件系统的操作,比较具体,易理解性较好

4)通过场景使得提出和获得需求的双方之间能建立起相应的理解。

使用场景技术还应注意以下问题:

1)场景的数量,场景数量过大,易加大分析和理解的难度。

2)场景的冗余问题,应尽量避免场景描述的内容发生重叠。

3)应防止场景描述的内容冗长。

第4章需求分析

需求分析与需求获取的关系:

需求分析和需求获取是密切相关的两个过程。需求分析的基本任务就是提炼、分析和仔细审查已收到的需求信息,找出真正的和具体的需求,以确保所有项目相关人员都明白其含义。此外,在分析过程中,通过建立软件系统的逻辑模型,发现或找出需求信息中存在的冲突、遗漏、错误或含糊问题等。

需求分析的具体工作包括:

1)建立系统关联图;

2)构建用户接口原型;

3)分析需求可行性;

4)确定需求的优先级别;

5)需求建模;

6)建立数据字典。

上述列举的所有工作要视具体的软件系统规模而施行。

第5章需求建模方法与技术

需求建模的概念

需求建模是需求分析中最重要的工作。需求建模主要是根据待开发软件系统的需求利用某种建模方法建立该系统的逻辑模型,也称需求模型或分析模型,以帮助软件开发人员检测软件需求的一致性、完整性、二义性和错误。

需求建模方法的特点

1)提供描述手段:描述形式对人员间的交流和继续进行下一步的工作非常重

要。

2)提供基本步骤:将问题按先后次序进行分解,每一步集中精力解决某个问题,

直至解决所有问题。

需求建模的方法

在目前的需求建模方法中,主要使用的描述手段和技术是自然语言、图形符号语言和形式语言等。

SA方法采用分解策略,把大型和复杂的软件系统分解成若干个易于理解和易于分析的子系统。在分解过程中,被分解的上层是下层的抽象,下层为上层的具体细节。

SA方法的基本思想是按照由抽象到具体、逐层分解的方法,确定软件系统内部的数据流、变换或加工的关系,并用数据流图表示。

复杂的软件系统的描述方法

?当前系统:已经存在的人工系统

?目标系统:待开发的计算机系统

SA方法的分析步骤如下:

1)理解和分析当前的现实环境,以获得当前系统的具体模型。具体模型必须忠

实地反映人工系统的实际情况,软件开发人员在获得需求信息的基础上,利用DFD将现实环境中的人工系统表达出来。

2)建立当前系统的逻辑模型。从系统的具体模型中抽象出当前系统的逻辑模

型,当前系统的逻辑模型应反映当前系统必须满足的性质。

3)建立目标系统的逻辑模型。主要是分析目标系统与当前系统在逻辑系统的差

别,并建立目标系统的逻辑模型。

4)进一步完善目标系统的逻辑模型,完善的工作大致为:

①至今尚未说明的处理细节,如出错处理

②某些需要的输入/输出格式或用户界面的说明

③增加性能需求和其它一些约束限制等

状态转换图

P60-图5-18、P61-图5-19

第6章需求定义

需求规格说明的作用

需求规格说明的作用主要体现在:

1)需求规格说明是软件设计和实现的基础

2)需求规格说明是测试和用户验收软件系统的重要依据

3)需求规格说明能为软件维护提供重要的信息

一个软件系统能否满足用户需求,主要是用户的需求能否全部反映在需求规格说明中。因此,需求规格说明作为需求工程的最终成果必须具有综合性,必须包括所有的需求,开发人员与客户不能做任何假设。

除了设计和实现的限制,需求规格说明不应包括假设、构造或维护阶段的细节;

需求规格说明=技术合同,是软件开发方与用户达成的一致性文档,是基准的规格说明。

需求规格说明的特性

软件的开发是以说明为基础的,如果需求规格说明中出现错误或需求不可能实现等都将导致软件开发工作的返工或失败,因此,需求规格说明必须满足各种各样的特性。

1)正确性:需求规格说明中对每一项需求必须准确地陈述。

2)无含糊性:对所有需求规格说明只能有一种明确和统一的解释。避免自然语

言容易导致的含糊性。

3)完整性:每一项需求都必须将所要实现的功能描述清楚,以便软件开发人员

获得设计和实现这些功能所需的必要信息。

4)一致性:需求规格说明内部要一致,与其它的规格说明不发生矛盾。

5)可验证性:当需求规格说明中所有的需求都可检测时,则该需求规格说明是

可验证的。

6)可行性:每一项需求都必须在已知系统和环境的限制范围内是可以实施的。

7)必要性:每一项需求都会把用户真正所需要的和最终系统所需遵从的标准记

录下来。即每一项需求都是用来授权编写文档的“根据”,要使每项需求都能回溯到某个或某些需求来源。

第8章需求验证

需求验证的目的和任务

需求验证所包括的活动是为了确认以下几个方面的内容:

1)软件需求规格说明是否正确描述了目标系统的行为和特征;

2)从其它来源中(包括硬件的系统需求规格说明书)得到软件需求;

3)需求是完整的和高质量的;

4)需求为进一步的软件开发和测试提供了足够的基础。

上述内容使得需求验证的目的就是要确保需求规格说明具有良好的特性(如完整性与正确性)。

需求验证的任务

1)需求认证的任务就是要求各方人员从不同的技术角度对需求规格说明文档

做出综合性评价。

2)在收集需求并且编写成需求规格说明文档后进行需求验证并不仅是一个独

立的阶段,某些验证活动(如对渐增式软件需求规格说明的初审工作)将在需求获取、需求分析和定义需求规格说明的整个过程中反复进行。

3)大部分需求验证只能通过人工进行检测,以表明需求规格说明将是用户实际

需要的系统。

需求验证的内容一般包括:

1)一致性:所有需求必须是一致的,任何一条需求不能与其它需求相矛盾;

2)完整性:需求必须是完整的,软件需求规格说明应包括用户需要的每一个功

能和性能;

3)现实性:指定的需求应该在现有的硬件基础或软件技术的基础上是可行的;

4)有效性:必须验证需求是正确有效的,确实能解决用户需求间的矛盾。

5)一般可根据软件系统的特点和用户的要求增加一些检验内容,如软件的安全

性、可靠性、正确性等。

需求验证方法:

主要靠人工技术审查和验证软件需求规格说明、形式化验证方法。

第9章需求管理

需求变更的内容主要涉及两个方面

一方面是需求变更只对软件系统内部产生影响,而不影响其它需求;另一方面是在原有软件需求的基础上提出扩充软件系统功能的需求,亦即扩展需求。

扩展需求是指在基准的需求规格说明已确定后,又要增添新的功能或进行较大的功能扩充。

控制变更范围扩展的方法:

1)把扩充系统的视图、范围和限制等文档化,作业务需求或功能需求的一部分,

对新增的每个功能进行评估。

2)利用原型化方法实现扩充部分的预览,以帮助用户与开发人员进行交流和沟

通,准确把握用户需求。

3)应充分考虑需求变更的难度,不能一味应和用户需求。

变更控制策略

变更控制策略与变更的过程和标准相关。这些策略描述了变更以何种形式提出、分析和处理。可供参考的策略有:

1)建立所有需求变更所应遵循的过程和步骤,当一个变更需求在过程中某一步

被拒绝后,则其后步骤不予考虑。

2)对于未获批准的变更,除进行可行性论证外,不应再做其后的工作。

3)对所提出的多个变更请求,应由项目变更小组决定实现哪些变更,以及先后

顺序。

4)项目开发人员和用户应该能了解已变更需求的情况。

5)不准随意删除和修改与需求变更请求和实现相关的原始文档。

每个实施后的变更与一个经核准的变更请求相对应。

变更控制的步骤

第11 章面向多视点的需求工程

面向多视点的需求工程方法的优势

1)复杂系统的本质特性与多视点思想吻合,利用多视点需求工程方法可以有效

地减少某些重要需求被遗漏的可能性,从而保证了需求规约的完备性;2)每个视点只需关心它自己感兴趣的内容,不需或较少地考虑其它因素的影

响,从而有效地降低了需求获取和描述的难度,有利于提高整个需求工程的质量;

3)视点的形式使软件系统以一种更加结构化的形式被描述,从而为自动化的完

备性和一致性检查提供了可能性;

4)多视点为封装软件系统的不同描述模型提供了一个强而有力的手段;

5)通过把需求和表达需求的视点关联起来,可增强需求的可追踪性。

多视点需求工程的需求分析过程

第12章需求工程与软件开发管理

需求与项目进度安排

项目进度安排通常是在软件计划阶段根据软件系统必须完成的日期(由用户规定)来安排开发进度,在进行需求开发工作。

开发进度安排出现问题的主要原因有:

1)不了解项目的需求与规模;

2)低估了要花费的工作量和时间;

3)没有考虑返工(用户需求的变化等因素所需的时间)。

正确按安排软件开发进度的方法

1)对需求清楚理解的基础上根据需求估算软件系统规模;

2)根据以往的开发项目,充分了解开发小组的工作效率;

3)建立项目规划的有效过程和估测方法;

4)积累大量开发经验。

第七章需求的形式化描述

形式化规格说明及其方法

所谓形式化规格说明就是使用受语法和语义限制的、被形式定义的语言描述的规格说明,亦即由严格的数学符号及由符号组成的规则形成的规格说明。

所谓形式化规格说明方法是一种形式化方法,是一种特定的、用于编写形式化规格说明的方法。

第十章面向问题域的需求分析方法

问题框架的类型

1)需求式行为问题框架

需求式行为问题框架的直观思想是:存在客观世界的某个部分,其行为要受到控制,使得它满足特定的条件。

2)命令式行为问题框架

命令式行为问题框架的直观思想是:存在客观世界的某个部分,其行为要依据操作者发出的命令来控制。

3)信息显示问题框架

信息显示问题框架的直观思想是:存在客观世界的某个部分,关于其状态和行为的特定信息被连续的需要。

4)工件问题框架

工件问题框架的直观思想是:需要一个工具,让用户创建并编辑特定类型的计算机可处理的文本或图形对象或简单结构,以便它们随后能被复制、打印、分析或按其他方式使用。

5)变换问题框架

变换问题框架的直观思想是:存在一些计算机可读的输入文件,其数据必须变换,已给出所需要的特定输出文件。

软件需求分析论文

青岛理工大学 软件需求分析论文 题目:宿舍管理系统 班级: ********* 学号: ********* 学生姓名: *** 指导教师: **** 2015年11月17日 一、摘要 需求分析是指理解用户需求,就软件功能与客户达成一致,估计软件风险和评估项目代价,最终形成开发计划的一个复杂过程。需求分析在IT项目中具有十分重要的作用。IT项目的需求分析不仅是项目的开端,也是确保项目成功的基石。本文从IT项目的需求定义、重要性、过程、方法等层面来了解IT项目的需求分析。 关键词:项目需求分析定义过程方法 二、需求的定义和重要性 (一)需求的定义 软件需求是用户为解决某个问题或达到某个目标而需具备的条件或能力。系统或系统组件为为符合合同、标准、规范或其它正式文档而必须满足的条件或必须具备的能力。以上所述为定义条件和能力的文档表达。这一定义既体现了用户对需求的看法(系统的外部行为),也代表了开发人员的观点(一些深层次的

特性)。术语用户隶属于涉众,因为并非所有涉众都是用户。产品为涉众提供价值而必须具备的特性。 显然,需求没有一个统一的定义。为了便于交流,需要协商来决定一组限定词来修饰“需求“这个内涵丰富的术语。并认识到用可通用的形式记录需求的重要性。 (二)需求的重要性 实现有效的需求工程过程可以让组织受益匪浅。减少开发后期以及整个维护过程中不必要的返工并可带来极大的回报。但优质需求的高回报往往不明显,以至人们常常错误的认为讨论需求所花费的时间会导致推延产品的交付。然而,对质量成本的整体评估却显示出重视早期质量工作的意义。 合理的需求过程强调产品开发过程中的协作,要求涉众始终参与合作。收集需求使开发团队对产品的用户和市场有更好的了解。用户和市场是任何项目成功与否的关键因素。在开发产品之前了解市场和用户,与用户收到产品后在进行理解相比,所需的代价要低得多。 邀请用户参与收集需求可以激发他们对产品的热情,并建立他们对产品的忠诚。强调用户的目标而不是华而不实的功能,就能避免那些永远排不上用场的代码。客户的参与能够缩小用户需要的产品与开发人员提交产品之间的期望差。开发者迟早都要面对用户的反馈。应该尽早得到用户的反馈,也可以借助原型来激励用户产生反馈。需求开发的确需要时间,但要比产品测试时或发布后大量的修改所需的时间要少的多。 优质的需求带来的好处远不止这些。把选定的系统需求明确的分配到各个不同的软件、硬件和人员子系统这种方式突出了产品的系统设计方法。有效的变更控制过程可以把需求变更的负面影响降至最低。无歧义的需求文档给测试工作带来了极大的便利,使交付让各方都满意的优质产品的可能性大大提高。 没有人能够保证需求工作所作出的投入一定能够收到回报。但能够通过分析来思考及推测需求能够提供的帮助。首先来看改进过程的投入。其中包括用于评估现状、开发新的过程和文档模板、人员培训、购买参考书籍与工具,以及可能要聘请的顾问和产生的成本等。最大的投入则是开发团队收集、编写、检查和管理需求的时间。接下来则看可以得到的好处和因此而节省的时间和金钱。 三、需求分析的过程 调研

软件工程需求分析

项目名称:ITBook阅读器(APP)组长:计算机1405010332 叶岚清 小组成员人:(班级学号、姓名、负责的主要工作)

ITBook阅读器需求规格说明书1. 需求概述 1.1目标 随着科学技术的发展人民的生活水平得到了不断的提高,智能手也被人们接受且普遍使用。现今更是人手一部智能手机,并且以Android系统作为智能手机运行平台的手机市场占有率已高达一半。随着近些年来网络通信基础设施的日渐完善,流量费用已经有了大幅的下降,并且伴随着4G网络的发展,电脑能做的事情都能在手机上完成。所以面向Android系统平台的应用程序也日臻完善,流入市场的应用程序总量已达到几千万个。 因此手机阅读领域的应用数量也是极其的庞大,但是现在市面上所存有的阅读器的功能主要是面向娱乐类的小说领域。虽然有部分阅读器包含技术类书籍,但其数量少、收费高,无法满足用户的需求。所以我们想做一个it类书籍阅读器,为技术人员提供强有力的资源支持。在这里我们使用爬虫从网上爬取相关的技术类书籍的信息存到数据库中,并用爬虫技术将书籍批量下载到服务器内部。这样就可以为用户提供大量的书籍种类,以满足他们的学习需求。

1.2运行环境 本软件运行于Android4.0及以上的系统平台上,要求手机内存运行内存在1G以上且支持无线上网功能,手机扩展存储空间在4G以上,cpu频率在1Ghz以上。 1.3用户的特点 该APP的目标用户人群主要为一下几类: 1.在校大学生,并且具有一定的英语基础阅读能力,学习的是与计算机相关的专 业 2.在校学生,但是所学的专业不是计算机,但是有兴趣在毕业或者以后从事与计 算机相关的工作。 3.已经毕业的并且在职工作的从事计算机行业的技术人员,有业余时间想进一步 学习计算机技能,提升自我的能力。 4.社会上自学计算机技术的人群。 对于用户的经验要求:能够熟练的操作与使用Android系统,具有较强的自我学习与约束能力,具有一定的计算机学科基础知识。

软件工程需求规格说明书

<酒店管理系统> 需求规格说明书

目录 1.引言 (3) 1.1目的 (3) 1.2定义 (3) 1.3参考资料 (4) 2.总体概述 (4) 2.1产品标识 (4) 2.2产品描述 (4) 2.2.1系统属性 (4) 2.2.2开发背景 (4) 2.2.3产品功能 (4) 2.3用户的特点 (7) 2.4限制与约束 (7) 3.具体需求 (7) 3.1功能需求 (7) 3.2性能需求 (12) 3.3数据库需求 (12) 3.4设计约束 (12) 3.5外部接口需求 (13) 3.5.1用户接口 (13) 3.5.2硬件接口 (13) 3.5.3软件接口 (13) 3.5.4通信接口 (13) 4.附录 ...................................................................................................... 错误!未定义书签。 4.1用户方组织机构图;...................................................................... 错误!未定义书签。

引言 目的 随着旅游业的民展,酒店、餐饮娱乐行业日趋发达,引入全方位的电脑服务和电脑管理日益流行。同时,酒店和餐厅娱乐业引入电脑服务和管理也取得了优良的经济效益和社会效益。酒店管理系统将先进的电脑技术与现代酒店服务管理完美地结合起来,实现了住宿、餐饮、娱乐全新概念的服务和管理方式。 酒店管理的电脑化,不仅是体现酒店现代化形象的一个重要标志,而且对于提高员工工作效率,加速资金周转、降低各项成本及改善服务质量都有十分积极的作用。 定义 1.客房预定系统:可以处理散客预定、团体预定、客房预定、预定未到处理、预售查询 等事务。 2.前台接待系统:可以处理散客入住登记,合约入住,团体自动入住和手动入住,补 填客单,修改客人信息、转房、调房、设置房态、客人留言,预定客房查询、可售 客房查询等事务。 3.前台必银系统:处理记账、埋单、限制客人消费、退房、押金加入、查账、转账、 设置跑单、客用保险箱管理、团体埋单及退房业务。 4.账务系统:除具有收银的功能外,还具有纠错、报表输出等功能,能将损失降至最 低。 5.管家系统;可处理设置净房、脏房、坏房及取消坏房,设置SKIP房、SLEEP房,查 询诌房表、脏房表、坏房表,房间状态,新入住查询等业务。 6.电话系统:具有自动计费、夜间稽核,客人信息查询、动态房态查询、房间明细账 查询、收银员报表、当日入住客人报表等功能。 7.客历系统:能处理客人手工、自动输入,客人资料查询与修改,黑名单,入住客人 自动查询客历、入住客人自动归入客历。 8.合约系统:可将酒店签约的单位或个人的资料输入电脑,并可随时查询和更新。 9.经理系统:可修改客房定价,增加、删除、修改各级密码,个性特别客单,设置系 统参数,内部银行系统,数据整理,自我诊断,数据备份。 10.总经理系统:具有客单查询,查询客房状态,查询可售情况,客房占用统计,账务 查询,万能查询,报表输出功能。 11.密码管理系统:可以管理客户和酒店的各种密码。 12.报表系统:主要是对处理一些非账务表单。主要有客房占用表、转房改租表、预定 未到表、客房取消表、房租分析表、经营统计表、可售情况表、房间状态表、坏房 状况表、日租统计表、合约销售表。 13.账务报表:主要是处理酒店的日常的账务报表,有收入报表(前台收入明细表、现 付收入明细表)、消费报表、顾客账务(住房账务、离店客人账务各跑单账务)、交 班报表、信用卡报表、街账报表、应收报表、催账报表、转账报表、借贷报表、联 网消费、酒店总表。

软件工程论文 (1)

软件工程论文 摘要:随着计算机应用的深入,对计算机软件需求量越来越大,对软件的功能性,易使用性,可靠性等要求越来越高。为了在有限的资金、资源和时间条件下开发满足客户要求的高质量软件,就需要研究与软件开发和管理相关的模型、方法、技术、过程、工具和环境等,这就是软件工程研究的主要内容。软件工程是应用计算机科学、数学及管理科学等原理开发软件的工程。通俗地说,软件工程是实现一个大型程序的一套原则方法,即按工程化的原则和方法组织软件开发工作。 关键字:专业概述软件工程分析感想 一软件工程专业概述 (一)、概述 软件工程(Software Engineering,简称为SE)是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。本专业培养以计算机应用软件开发为基本技能,具有较扎实的专业基础理论和较强的实践动手能力,受到程序员的系统训练,熟悉岗位要求,掌握岗位技能,懂理论、会操作的,适应社会信息化需求,适应市场经济的德、智、体、美全面发展的计算机软件开发与维护方面的高级专业技术人才。 软件在当今的信息社会中占有重要的地位,软件产业是信息社会的支柱产业之一。随着软件应用日益广泛、软件规模日益扩大,人们开发、使用、维护软件不得不采用工程的方法,以求经济有效地解决

软件问题。借助于计算机科学技术、数学、管理科学与工程诸多学科,今天的软件工程己由最初的一个学科方向发展成为以计算机科学技术为基础的一个新兴交叉学科。 (二)、培养目标 本专业面向社会经济发展和国防现代化建设的需求,培养具有基础宽厚,知识、能力、素质协调发展,系统地掌握计算机软件领域的基本理论、知识和技能,具有较强的国际交流能力,德才兼备、身心健康、求真务实、敢于创新、勇于实践,能在科研院所、教育、企事业和行政管理等单位从事计算机软件开发、科研、教学和应用的高素质研究应用型专门人才。 (三)、培养要求 本专业是计算机软件、硬件和网络相结合,注重软件理论和软件开发能力的培养。要求学生掌握计算机系统的软硬件的基础知识以及计算机系统的设计、研究、开发及综合应用的知识和技能,接受从事软件研究和开发的基本训练,了解计算机系统设计技术,掌握计算机网络技术并具备应用能力,具备系统软件和应用软件的分析、设计、测试和维护能力。 本专业毕业生应具备以下方面的知识和技能: 1.掌握计算机科学与技术的基本理论、基本知识; 2.掌握软件系统的需求分析与设计的基本方法; 3.具备软件设计、软件测试和维护能力; 4.具有良好的沟通交流能力,具有良好的团队合作精神;

软件工程需求分析报告完整版

软件工程需求分析报告 HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】

目录 1 引言 编写目的 (1) 项目背景 (1) 术语说明 (1) 参考资料 (1) 2 项目概述 编写目的 (1) 项目背景 (2) 术语说明 (2) 参考资料 (2) 条件和限制 (3) 3 功能需求 功能划分 (3) 功能描述 (3) 4 外部接口需求 功能划分 (3) 功能描述 (4) 5 性能需求 数据精确性 (4) 时间特性 (4) 适应性 (4) 6 软件属性需求 正确性 (4) 可靠性 (4) 效率 (5) 完整性 (5) 易使用性 (5) 可维护 性 (5) 可测试 性 (5) 可复用 性 (5)

安全保密 性 (5) 可理解 性 (5) 可移植 性 (5) 互联 性 (5) 7 其他需求 (5) 8 数据描述 (5) 静态数 据 (6) 动态数 据 (6) 数据库描 述 (6) 数据字 典 (6) 数据采 集 (6) 9 附录 (6) 1引言 编写目的 学生管理系统是面向学生的,目的是提高学校对学生的管理。本系统主要包括六个模块:学生的基本信息、课程的基本信息、登录、成绩录入、成绩查询和汇总功能,这六个模块基本实现设计本系统的目的,从而可以进一步满足学校对管理系统的要求。 现在的学生管理系统功能不够,所以我们要明确用户对学生管理系统的功能和性能的需求,并将这些需求用语言编写出来。并使系统开发者和学生对此成

绩管理系统有共同的理解和认识。这是开发学生管理信息系统的基础,为了更好的开发,对系统的设计要详细。开发的系统要简单实用。 项目背景 项目名称为:学生成绩管理信息系统。开发目标为有效管理学生信息,实现学生信息的数据录入、浏览、修改等,从而实现对学生信息的规范化、系统化、自动化管理。 术语说明 MIS: 管理信息系统 Transaction Processing : 事务处理 Data Acquisition :数据采集 Data Processing Circle : 数据处理流程 Data Processing:数据处理 参考资料 《软件工程案例教程》…毕硕本卢桂香编着北京大学出版社 《Vista Basic语言程序设计》…刘韬编着人民邮电出版社 2 项目概述 待开发软件的一般概述 此软件的目的是提高学校对学生的科学化管理,为学校的学生成绩管理系统进行优化。 待开发软件的功能 (1) 由于学生学籍等信息具有一等保密性,应该为用户设置密码以提高系统的数据安全性。 (2) 使用该系统,可以记录学生学籍,能方便的浏览、添加、编辑和查询学生的信息,通过该系统了解学生的基本情况。 (3) 使用该系统,可以查看学生、课程、成绩3个重要方面,提供报表的输出和打印功能。 (4) 随着学校班级的变动,系统应该能对班级信息进行增加、编辑和删除功能。 (5) 本系统听具有数据库维护功能。 本系统模块结构图

软件项目需求分析通用模板

1. 引言 1.1 目的 说明编写这份报告的目的,指出预期的读者。 1.2 背景 指出待开发的软件系统的名称;行业情况;本项目的任务提出者、开发者、用户;该软件系统同其他系统或其他机构的基本的相互来往关系。 1.3 参考资料 列出编写本报告时参考的文件(如经核准的计划任务书或合同、上级机关的批文等)、资料、技术标准,以及他们的作者、标题、编号、发布日期和出版单位。 列出编写本报告时查阅的Intenet上杂志、专业著作、技术标准以及他们的网址。 1.4 术语 列出本报告中用到的专门术语的定义。

2. 任务概述 2.1 目标 叙述该项软件开发的意图、应用目标、作用范围以及其他应向读者说明的有关该软件开发的背景材料。解释被开发软件与其他有关软件之间的关系。如果本软件产品是一项独立的软件,而且全部内容自含,则说明这一点。如果所定义的产品是一个更大的系统的一个组成部分,则应说明本产品与该系统中的其他各组成部分之间的关系,为此可使用一张方框图来说明该系统的组成和本产品同其他各部分的联系和接口。 2.2 系统(或用户)的特点 如果是产品开发,应列出本软件的特点,与老版本软件(如果有的话)的不同之处,与市场上同类软件(如果有的话)的比较。说明本软件预期使用频度; 如果是针对合同开发,则应列出本软件的最终用户的特点,充分说明操作人员、维护人员的教育水平和技术专长,以及本软件预期使用频度。这些是软件设计工作的重要约束。3. 假定和约束 列出进行本软件开发工作的假定和约束,例如经费限制、开发期限等。 4. 需求规定 4.1 软件功能说明 逐项定量和定性地叙述对系统所提出的功能要求,说明输入什么量、经怎样的处理、得到什么输出,说明产品的容量,包括系统应支持的终端数和应支持的并行操作的用户数等指标。 4.2 对功能的一般性规定

软件需求工程复习题

需求工程练习题 一、单选题(每空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每一个集成的需求变更必须能跟踪到一个经核准的变更请求。 B变更过程应该做成文档,尽可能简单,当然首要的是有效性。 C所有需求变更必须遵循过程,按照此过程,如果一个变更需求未被采纳,则其后过程不再予以考虑。 D可以从数据库中删除或修改变更请求的原始文档

软件工程论文

软件工程思想在本科毕业论文中的体现 042 摘要毕业论文是检验学生掌握知识的程度、分析问题和解决问题基本能力的一份综合答卷。软件工程是用科学知识和技术原理来定义、开发、维护软件的一门科学。用软件工程思想来指导毕业论文的完成使毕业论文的完成更加有质量。本文中主要阐述了完成毕业论文过程和软件生存周期之间的相应关系。 关键字毕业论文生存周期软件工程 1 引言 软件工程是计算机科学中的一个分支,其主要思想是在软件产生中用工程化的方法代替传统手工方法。工程化方法借用开了

传统的工程设计原理的基本思想,采用了若干科学的、现代化的方法的技术来开发软件。这种工程化的思想贯穿到需求分析、设计、实现,直到维护的整个过程。软件生存周期是指一个软件从提出开发要求开始直到该软件报废为止的整个时期。毕业论文主要是对学生首次独立提出问题与解决问题的考查,毕业论文的完成主要包括选题、收集材料、初稿、修订、终稿。 2用软件工程思想指导毕业论文的完成 2.1可行性分析 可行性分析是在做毕业论文中首先要做的事,应运用需求分析来知道论文的选题。 在软件生存周期中,可行性分析是确定

“要解决的问题是什么”。一般至少要确定行得通的解决办法是什么,需要的费用,需要的资源,需要的时间。要确定这些问题就要进行为问题定义、可行性分析。制定项目开发计划。 而在学生选题时需求分析主要体现在学生选题注意自身的知识水平与能力,论文的观点大小,要论述观点是所需要的材料,完成论文所需的时间等。 2.2 需求分析 需求分析在毕业论文中起着关键的作用。在软件生存周期中,需求分析阶段的任务不是具体的解决问题,而是准确地确定“软件系统必须做什么”。确定该软件系统必须具备哪些功能。

软件工程实践实验指导书XXXX

《软件工程实践》实验指导书 学院:数学与计算机学院 专业:计算机专业 年级: 指导教师:汪璟玢 系主任(或教研室主任):

本课程实验教学目的和基本要求: 知识方面:通过本课程设计,让学生进一步了解软件项目管理、需求分析、系统设计和软件测试的基本原理和方法,在软件开发的各个阶段熟悉并掌握一种表达工具,实现一个小规模的系统开发。 能力方面:在本课程设计过程中,注重培养学生分析问题和独立解决问题的能力。 素质方面:通过本课程设计,着重培养学生具备以下两方面的良好素质:一是针对实际系统中存在的问题,能够善于运用所学基本理论知识分析问题;二是规范地表达分析和设计方案。 本课程设计要求学生3-6人一组完成一个系统,并按照软件工程的规范形成相关文档资料。 参考资料: 1.《软件工程实践者的研究方法》(第六版)(美)Roger S.Pressman著, 郑人杰马素霞白晓颖译,机械工业出版社 2.《软件工程实践者的研究方法》(第五版)(美)Roger S.Pressman著, 梅宏译,机械工业出版社 3.《软件工程》(第六版)(英)Ian Sommerville著,程一剑陈霞译,机 械工业出版社 4.《软件工程》郑人杰主编, 清华大学出版社 5.《软件工程—理论、方法与实践》孙家广主编,刘强编著,高等教育出版 社

实验一:项目选择与用例图表达 目的:结合具体的项目,要求学生结合用例图和用例文本的方法将系统功 能表达清楚。 内容:项目选择、参与者确定、用例识别、用例间的关系表达,用例文本的表达 要求:能够发现任务与用例的关系、用例间的关系并准确表达、用规范的 用例文本描述用例。 开发环境和工具要求掌握:Windows200 Advanced Server、Rational Rose2003、MS visio2003 实验二:系统需求分析报告—类图 目的:通过本次实验掌握对具体项目进行类的识别和分析,并完成系统类图。 内容:识别类、确定类的属性和操作、分析类间的关系完成类图 要求:调查工作要深入,对系统的业务流程要充分了解;结合系统的功能 进行类的分析。 开发环境和工具要求掌握:Windows200 Advanced Server、MS visio2003、Rational Rose2003 实验三:系统需求分析报告—数据流图 目的:结合具体项目,训练学生的抽象分析及分层描述问题的能力,联系 数据和功能,分层次表达系统的功能。 内容:任务分解;识别外部实体、加工、数据存储和数据流;分层次表达的方法。 要求:调查工作要深入,对系统的业务流程要充分了解;结合系统的功能 分解进行数据流图的绘制。 开发环境和工具要求掌握:Windows200 Advanced Server、MS visio2003

软件需求文档模板

引言 1.1 编写目的 ·阐明开发本软件的目的; 1.2 项目背景 ·标识待开发软件产品的名称、代码; ·列出本项目的任务提出者、项目负责人、系统分析员、系统设计员、程序设计员、程序员、资料员以及与本项目开展工作直接有关的人员和用户; ·说明该软件产品与其他有关软件产品的相互关系。 1.3 术语说明 列出本文档中所用到的专门术语的定义和英文缩写词的原文。 1.4 参考资料(可有可无) 列举编写软件需求规格说明时所参考的资料,包括项目经核准的计划任务书、合 同、引用的标准和规范、项目开发计划、需求规格说明、使用实例文档,以及相关产品 的软件需求规格说明。 在这里应该给出详细的信息,包括标题、作者、版本号、发表日期、出版单位或资 料来源。 2.项目概述 2.1 待开发软件的一般描述 描述待开发软件的背景,所应达到的目标,以及市场前景等。 2.2 待开发软件的功能 简述待开发软件所具有的主要功能。为了帮助每个读者易于理解,可以使用列表或 图形的方法进行描述。使用图形表示,可以采用: ·顶层数据流图;

·用例UseCase图; ·系统流程图; ·层次方框图。 2.3 用户特征和水平(是哪类人使用) 描述最终用户应具有的受教育水平、工作经验及技术专长。 2.4 运行环境 描述软件的运行环境,包括硬件平台、硬件要求、操作系统和版本,以及其他的软件或与其共存的应用程序等。 2.5 条件与限制 给出影响开发人员在设计软件时的约束条款,例如: ·必须使用或避免使用的特定技术、工具、编程语言和数据库; ·硬件限制; ·所要求的开发规范或标准。 3.功能需求 3.1 功能划分 列举出所开发的软件能实现的全部功能,可采用文字、图表或数学公式等多种方法进行描述。 3.2 功能描述 对各个功能进行详细的描述。 4.外部接口需求 4.1 用户界面 对用户希望该软件所具有的界面特征进行描述。以下是可能要包括的一些特征:

软件工程实验指导书71436

软件工程实验指导书 南昌航空大学信工学院 2010年01月

目录 实验1 用PowerDesigner建模工具绘制数据流图 (4) 1 实验环境 (4) 2 实验目的 (4) 3 实验内容 (4) 4 实验要求 (4) 5 实验步骤 (4) 实验2 用PowerDesigner建模工具设计数据库 (6) 1 实验环境 (6) 3 实验内容 (7) 4 实验要求 (7) 5 实验步骤 (7) 实验3 用Microsoft Visio工具设计用户界面 (12) 1 实验环境 (12) 2 实验目的 (12) 3 实验内容 (12) 4 实验要求 (12) 5 实验步骤 (12) 实验4 用Rational Rose绘制用例图 (16) 1 实验环境 (16) 2 实验目的 (16) 3 实验内容 (16) 4 实验要求 (16) 5 实验步骤 (17) 实验5 用Rational Rose工具绘制类图 (20)

1 实验环境 (20) 2 实验目的 (20) 3 实验内容 (20) 4 实验要求 (20) 5 实验步骤 (20)

实验1 用PowerDesigner建模工具绘制数据流图1 实验环境 Windows 2000、Sybase公司的Power Designer应用软件 2 实验目的 1)了解Power Designer工具软件的组成及功能 2)掌握Power Designer中的Process Analyst(PA)模块的建模方法及 其工具的使用方法 3 实验内容 1)设计数据流图(DFD) 2)利用外部实体、过程处理、数据流及数据存储绘制数据流图。 4 实验要求 建立一个PAM(Process Analyst Model)的应用实例。 为方便旅客,某航空公司拟开发一个机票预定系统。旅行社把预定机票的旅客信息(姓名、性别、工作单位,身份证号码、旅行时间、施行目的地等)输入该系统,系统为旅客安排航班,印出取票通知和帐单,旅客在飞机起飞前一天凭取票通知单和帐单交款取票,系统校对无误即印出机票给旅客。 绘制该机票预定系统的数据流图。注意:功能分解的细化程度视具体情况而定。该实验中分解到第三层止。 5 实验步骤 数据流图是系统处理模型的主要组成部分。其中心问题是把功能逐层分解为多个子功能。 1)建立根处理模型 S1:在Windows桌面上双击Process Analyst程序图标,打开Process Analyst应用程序。

软件工程--需求分析说明书

文档名称:需求分析 项目名称:学生成绩管理系统 项目负责人:马永刚 项目组长:马永刚 全体组员:马永刚、段晓腾、韩昊彭、胡立仁、杨超、张丽萍开发单位:西邮07级科技01班软件开发小组

一、引言 1.编写目的: 运用软件对学生的成绩进行管理,科学而有效,不仅可以减少教师的工作量,方便学校对于所有学生的成绩进行系统的管理,而且便于学生适时的查询自己的成绩。一款优秀的学生成绩管理软件,正好可以满足当前的市场需求,取得一定的经济效益。本软件就是针对此种情况和客户需求而开发。本说明书明确了客户的各项需求,为程序开发人员明确了所开发软件应具有的功能和注意事项。2.项目背景: 委托单位:无委托单位,适用于小规模学校 开发单位:西邮07级科技01班第4软件开发小组 主管部门:西邮07级科技01班第4软件开发小组 系统待开发的名称:学生成绩管理系统 本软件运行平台:windows2000, windows XP, windows Vista..... 3.定义: VB是Visual Basic的简写,是可视化的编程语言。是一种简单、高效地开发应用软件的工具。 SQL (Structured Query Language)是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。 数据流图简称DFD,就是采用图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法 的主要表达工具及用于表示软件模型的一种图示方法。 E-R图(Entire and Relation)为实体-联系图,提供了表示实体型、属性和联系的方法,用来描述现实世界的概念模型。 数据字典(Data dictionary)是一种用户可以访问的记录数据库和应用程序元数据的目录。主动数据字典是指在对数据库或应用程序 结构进行修改时,其内容可以由DBMS自动更新的数据字典。 被动数据字典是指修改时必须手工更新其内容的数据字典。 静态数据系统内部有关的数据结构和操作规程。 动态数据程序运行时输入和输出的数据。

软件工程实验报告

1.1 实验一结构化需求分析 一.实验类型 图书馆管理系统 假定校图书馆需要你设计一个图书馆管理系统,要求包括以下功能: ●图书管理员可以管理馆藏图书,包括每本图书的藏书编号、书名、编著者、 ISBN号、出版社、出版时间、入馆时间、馆藏数量(如果馆藏数量为1,则标明为孤本图书)、在馆数量、学科类别等(或其它你认为有用的信息); ●管理员可以查询、统计所有图书、每一类图书或每一本书的借阅记录; ●图书管理员可以管理所有读者的信息,包括读者类型(学生、教师、社会人 士)、姓名、图书证编号、办证时间、证件状态(正常、挂失、冻结)等信息; ●图书管理员可以查询和统计所有读者、每一类读者或每一个读者的借阅记录; ●读者可以通过本系统查询馆藏图书; ●读者可以通过本系统借阅读书。但对于孤本图书或在馆数量为1的图书则不 准外借; ●管理员可以对超期未归还图书的读者发送电子邮件进行提醒,对于超期一年 不归还图书的读者冻结其图书证; ●读者可以通地本系统归还图书。如果图书超期,则自动计算罚款金额。二.实验目的 1.掌握数据流的分析技术 2.掌握软件需求分析的过程和方法。 3.熟悉项目开发计划和需求规格说明书的制定方法。 三.实验内容和要求 1.用结构化数据流分析技术进行软件系统需求分析,得出系统的数据流图和数据字典。 2.正确运用图表工具进行表示。 3.按规范正确编写软件文档。

四.实验步骤 1.理解所承担项目的业务流程和业务内容。 本软件项目是面向中小型学校、单位机构对于图书管理的基于服务的一款便捷式软件。能满足一系列常用图书管理的功能模块,提供简介、准确的操作性,可以很大程度减少人为因素带来的数据错误,统计错误,系统逻辑错误。并且规模小,很容易进行推广。 ●本项目的参与对象有图书管理员及读者。 ●对于读者,能通过该软件浏览馆藏的所有图书。读者在图书馆找到自己喜欢 的书后,能自行通过该软件操作完成借阅操作。若读者是第一次借书,必须通过图书管理员进行添加读者记录,登记读者信息。读者在登陆后方能完成借阅操作,对于孤本图书(即图书馆中馆藏只有一本的图书)则拒绝进行借阅操作。在规定期限内,读者可以通过该软件完成还书操作,对于超期的图书,应将扣除一定罚款金额,对于超期一年不归还图书的读者冻结其图书证。 并且读者能修改个人信息。 ●对于图书管理员,能管理自己和比自己低一级管理权限的管理员。一级管理 员能完成维护管理员的基本信息和二级管理员的一切操作。二级管理员则能维护自己的信息和添加读者、添加图书的功能。管理员可以对超期未归还图书的读者发送电子邮件进行提醒,对于超期一年不归还图书的读者冻结其图书证; 2.按照系统的功能及性能要求,系统的作业范围等,确定软件系统的开发环境(操作系统、开发工具、程序设计语言等)。 根据软件编程经验,本系统将采用面向对象的设计方法,使用Eclipse开发工具,java窗体应用程序,操作系统使用Win8。 3.绘制数据流图、功能分析图等。

《软件工程》自考 重点难点汇集

《软件工程》串讲讲义应考指导 一、课程介绍 1、课程性质 《软件工程》是全国高等教育自学考试计算机及应用(独立本科段)的一门专业课。 软件工程是研究软件开发的一门课程,其主要内容包括:软件开发所需要的过程、活动和任务,以及这些活动和任务的组织、实施和管理。 2、指定教材 本课程指定教材为《软件工程》,全国高等教育自学考试指导委员会组编,王立福主编,机械工业出版社出版,2011年版。 新版教材与2000年版相比,无论是内容还是内容的组织,都有了很大的变化。整个知识体系、章节安排、内容选取都不一样,这是考生一定要注意的。新版教材的内容组织特点主要体现在: 基于对软件开发本质的认识,讲解软件工程的两大技术问题:一是开发逻辑,二是开发途径。 开发逻辑涉及软件生存周期过程、软件生存周期模型(有关过程、活动和任务的组织框架)以及项目软件生存周期的规划与监控。 开发途径涉及结构化方法和面向对象方法,以及支持软件评估所需要的软件测试技术等。 3、章节体系 本课程共有8章: 第1章:回答什么是软件开发的本质 第2章:软件需求与软件需求规约 第3章:结构化方法 第4章:面向对象方法-UML 第5章:面向对象方法-RUP 第6章:软件测试。

第7章:软件生存周期过程及管理 第8章:集成化能力成熟度模型CMMI 二、考情分析 1.历年真题的分布情况 由于教材刚刚经过改版,新教材刚经过2011年10月、2012年01月、2012年10月三次考试。通过对2011年10月、2012年01月这两次真题的分析,各章所占分值的分布情况如下表所示: 25%左右。第1章和第8章的考核知识点相对较少。 2.题型分析 本课程的考试题型分为: (1)单项选择题,共15小题,每小题2分,共30分 (2)填空题,共20个空,每空1分,共20分 (3)简答题,共6小题,每小题5分,共30分 (4)综合应用题,共2题,每题10分,共20分

软件需求分析论文

理工大学 软件需求分析论文 题目:宿舍管理系统 班级:********* 学号:********* 学生: *** 指导教师: **** 2015年11月17日

一、摘要 需求分析是指理解用户需求,就软件功能与客户达成一致,估计软件风险和评估项目代价,最终形成开发计划的一个复杂过程。需求分析在IT项目中具有十分重要的作用。IT项目的需求分析不仅是项目的开端,也是确保项目成功的基石。本文从IT项目的需求定义、重要性、过程、方法等层面来了解IT项目的需求分析。 关键词:项目需求分析定义过程方法 二、需求的定义和重要性 (一)需求的定义 软件需用户为解决某个问题或达到某个目标而需具备的条件或能力。系统或系统组件为为符合合同、标准、规或其它正式文档而必须满足的条件或必须具

备的能力。以上所述为定义条件和能力的文档表达。这一定义既体现了用户对需求的看法(系统的外部行为),也代表了开发人员的观点(一些深层次的特性)。术语用户隶属于涉众,因为并非所有涉众都是用户。产品为涉众提供价值而必须具备的特性。 显然,需求没有一个统一的定义。为了便于交流,需要协商来决定一组限定词来修饰“需求“这个涵丰富的术语。并认识到用可通用的形式记录需求的重要性。 (二)需求的重要性 实现有效的需求工程过程可以让组织受益匪浅。减少开发后期以及整个维护过程中不必要的返工并可带来极大的回报。但优质需求的高回报往往不明显,以至人们常常错误的认为讨论需求所花费的时间会导致推延产品的交付。然而,对质量成本的整体评估却显示出重视早期质量工作的意义。 合理的需求过程强调产品开发过程中的协作,要求涉众始终参与合作。收集需求使开发团队对产品的用户和市场有更好的了解。用户和市场是任何项目成功与否的关键因素。在开发产品之前了解市场和用户,与用户收到产品后在进行理解相比,所需的代价要低得多。 邀请用户参与收集需求可以激发他们对产品的热情,并建立他们对产品的忠诚。强调用户的目标而不是华而不实的功能,就能避免那些永远排不上用场的代码。客户的参与能够缩小用户需要的产品与开发人员提交产品之间的期望差。开发者迟早都要面对用户的反馈。应该尽早得到用户的反馈,也可以借助原型来激励用户产生反馈。需求开发的确需要时间,但要比产品测试时或发布后大量的修

浅析软件工程中的需求和管理

龙源期刊网 https://www.360docs.net/doc/b31242826.html, 浅析软件工程中的需求和管理 作者:张俊强 来源:《中小企业管理与科技·上旬刊》2011年第11期 摘要:软件工程是指导计算机软件开发和维护的工程学科采用工程的概念、原理、技术、方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方面结合起来,经济地开发出高质量的软件并有效地维护它。这就是软件工程。软件工程的目标是在进行成本和控制的前提下,开发出具有可互操作性并且满足用户需求的软件产品。追求这些目标有助于提高软件产品的质量和开发效率,减少维护的困难。 关键词:软件工程目标技术管理设计 软件随着其使用范围的扩大和使用规模的提高,需要从需求和管理两方面对软件的开发过程进行控制,它是一种特殊的产品,生产任何软件的主要成本是设计、实现软件时的成本,以及软件投入使用后,还会产生维护成本,在生产线上制造软件的成本非常低。用户购买某种商品后,就拥有了该商品的所有权和使用权。可是用户买来的软件却只拥有它的有限“使用权”。传统的工业产品在车间里生产,容易衡量生产过程中的消耗和进展,生产过程可见、可触摸。可是软件的开发过程在人的大脑里,很难度量其进度。 软件工程就是把看不见的思维活动变成看得见的“文档”或者其他看得见的东西,要这种过程“可视化”、“定量化”。随着软件行业的发展,陆续出现了结构化程序设计技术、计算机辅助软件工程和面向对象语言和方法等一系列成果,并应用到实践中。目前软件工程中主要使用的方法和技术可以分成技术和管理两类。下面我们就需求和管理上对软件工程进行一个探讨。 1 软件工程需求 软件工程中包含需求、设计、编码和测试四个阶段,其中需求工程是软件工程第一个也是很重要的一个阶段,首先人们必须了解需求工程和其他项目过程的关系,软件需求包括业务需求、用户需求和功能需求,也包括非功能需求。 软件工程需求理论在实践应用中有一个重点,那就是软件复用。参考目前成熟的工业产品的开发模式,以已有的成果为基础,充分利用过去开发应用系统中积累的知识和经验,将开发的重点集中于新应用的特有构成成分上,这样,软件复用可以在软件开发中避免重复劳动,通过使用软件复用技术,开发应用系统时可以充分利用已有的开发成果,消除软件生命周期中的许多重复劳动,提高软件开发的效率。同时,复用高质量的已有成果,可以避免重新开发时引入的错误,从而提高软件质量。下面就软件的需求进行分析。 1.1 确定需求研发过程:确定如何组织需求的收集、分析、细化并核实的步骤,并将它编写成文档。

软件的需求的工程期末复习资料

☆什么是软件需求工程?请说明软件需求工程中各阶段的主要任务。p5 1 定义 一般定义:指应用工程化的方法、技术和规格来开发和管理软件的需求。 需求工程的目标:获取高质量的软件需求。 与软件工程中传统的需求分析概念相比,需求工程突出了工程化的原则,强调以系统化、条理化、可重复化的方法和技术进行与软件需求相关的活动,从而有利于提高所有与软件需求相关的活动及其过程的可管理性,降低需求开发和管理的难度和成本。 其它定义: Alan.Davis:直到(但不包括)把软件分解为实际架构组建之前的所有活动,即软件设计之前的一切活动。该定义虽然没有详细说明需求工程是什么,但其给出了需求工程的范围。Lan K. Bray:对问题域及需求做调查研究和描述,设计满足那些需求的解系统的特性,并用文档给予说明。这个定义明确指出了需求工程的任务就是获取、分析和表达软件的需求。需求工程= 需求的开发活动+ 需求的管理活动 2 各阶段主要任务 需求获取阶段:获取用户的需求信息。 需求分析阶段:分析和综合已经收集到的需求信息。 需求建模阶段:根据待开发软件系统的需求利用某种建模方法建立该系统的逻辑模型。 需求定义阶段:根据用户需求编写出需求规格说明。 需求的形式化描述阶段:用严格的数学知识和符号来构造系统的需求模型。 需求验证阶段:检验软件需求规格说明。 需求管理阶段:开发人员在与提出更改的请求者协商的基础上,评估需求变更带来的潜在影响及可能的成本及费用,然后实施更改,一级有效的管理需求规格说明文档和跟踪更改需求

的状态。 ☆什么是软件需求?软件需求有哪些类型,并分别给出它们的定义。p2 软件需求的定义: A. Davis:软件需求是从软件外部能发现的,软件所具有的,满足于用户的特点、功能及属性等的集合。 I. Sommerville:需求是问题信息和系统行为、特性、设计和实现约束的描述的集合。M. Jackson等:需求是客户希望在问题域内产生的效果。 IEEE软件工程标准: (1)用户解决问题或达到目标所需的条件或能力; (2)系统或系统部件要满足合同、标准、规范或其它正式规定文档所需具有的条件或能力。通俗定义:软件需求是指软件系统必须满足的所有功能、性质和限制。 软件需求的类型: 目标需求:反映组织机构或客户对系统和产品提出的高层次的目标要求,其限定了项目的范围和项目应达到的目标。 业务需求:主要描述软件系统必须完成的任务、实际业务或工作流程等。软件开发人员通常可从业务需求进一步细化出具体的功能需求和非功能需求。 功能需求:指开发人员必须实现的软件功能或软件系统应具有的外部行为。 性能需求:指实现的软件系统功能应达到的技术指标,如:计算效率和精度,可靠性,可维护性和可扩展性等。 约束与限制:指软件开发人员在设计和实现软件系统时的限制,如:开发语言,使用的数据库等。

软件需求工程(最终版)

仲恺农业工程学院 软件需求工程 题目:图书管理系统需求分析 第2小组成员:刘艺(组长)、连智贵、谭天信、 王伟坚、甘旭、彭春惠 小组成员分工情况: 刘艺(负责查询、登录、愿景、各个模块的用例规约、 综合文档) 连智贵(负责办证、补证、注销模块) 谭天信(负责需求分析、入库、出库、采购模块、总 结) 王伟坚(负责系统的概述,包括背景跟意义) 甘旭、(负责借书、续借、预约模块、总体修改) 彭春惠(负责还书、自助借书、自助还书模块、word 排版)

目录

1 概述 1.1 背景 随着人们生活水平的日益提高,人们对文化的需求也越来越大。在人们的业余生活中,越来越多的人乐于享受文字给生活带来的乐趣。而图书也是学生的学习过程中必不可少的。本系统就是为了更好的管理好图书馆信息而设计的。从而实现图书馆的信息化管理。 众所周知, 图书馆作为一种信息资源的集散地,图书和用户借阅资料繁多,包含很多的信息数据的管理,现今,有很多的图书馆都是初步开始使用,甚至尚未使用计算机进行信息管理。根据调查得知,他们以前对信息管理的主要方式是基于文本、表格等纸介质的手工处理,对于图书借阅情况(如借书天数、超过限定借书时间的天数)的统计和核实等往往采用对借书卡的人工检查进行,对借阅者的借阅权限、以及借阅天数等用人工计算、手抄进行。数据信息处理工作量大,容易出错;由于数据繁多,容易丢失,且不易查找。总的来说,缺乏系统,规范的信息管理手段。尽管有的图书馆有计算机,但是尚未用于信息管理,没有发挥它的效力,资源闲置比较突出,这就是管理信息系统的开发的基本环境。数据处理手工操作,工作量大,出错率高,出错后不易更改。图书馆采取手工方式对图书借阅情况进行人工管理,由于信息比较多,图书借阅信息的管理工作混乱而又复杂;一般借阅情况是记录在借书证上,图书的数目和内容记录在文件中,图书馆的工作人员和管理员也只是当时对它比较清楚,时间一长,如再要进行查询,就得在众多的资料中翻阅、查找了,造成查询费时、费力。如要对很长时间以前的图书进行更改就更加困难了。基于这此问题,我认为有必要建立一个图书管理系统,使图书管理工作规范化,系统化,程序化,避免图书管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改图书情况。 目前普遍高校现状: 管理信息系统结构不完善,图书信息管理系统一般包括6个子模块,但我国大多数的高校图书馆这些子模块并不健全,基本上只有图书馆业务子模块,其他的子模块并没有应用到,致使图书馆信息系统强大的功能不能完全发挥出来.图书

相关文档
最新文档