软件工程教学 第四章 需求分析

2024-05-23

软件工程教学 第四章 需求分析(共6篇)

篇1:软件工程教学 第四章 需求分析

软件需求 需求工程 分析建模 需求管理 本章小结 学习目标

本章介绍需求分析的意义概念和方法了解结构化分析方法和需求管理的关键活动要求学会运用实体关系图数据流图和状态控制图进行结构化分析建模能够编写软件需求规格说明 学习方法

正确理解需求工程涉及的基本概念结合具体实例运用结构化分析技术从而达到理论学习及在实际项目中应用的目的 难重点

本章的学习重点在于理解软件需求的概念和重要性熟悉需求开发和需求管理的基本思想和主要活动掌握结构化的分析方法难点是怎样在实际的软件项目中灵活运用这些思想和方法 课前思考 软件需求存在什么问题 什么是软件需求 什么是需求工程 常见的需求分析方法是什么 需求分析的结果可以验证吗 需求规格说明有什么质量要求

本节知识点 软件需求的定义 需求的层次 导致需求缺陷的原因

随着计算机技术的飞速发展软件已经成为人们生活中不可缺少的一部分人们在使用软件的过程中常常会抱怨它无法执行某些基本操作但对于软件开发人员而言用户不断提出新的要求是一件多么烦人的事

其实在软件开发过程中遇到的许多问题都是由于收集编写协商修改软件需求过程中的失误带来的诸如信息收集不全功能不明确交流不充分文档不完善需求发生变化等可以这样说软件项目中百分之四十至百分之六十的问题都是在需求分析阶段埋下的“祸根”

开发软件系统最为困难的部分就是准确说明开发什么最为困难的概念性工作便是编写详细的技术需求包括所有面向用户面向机器和其它软件系统的接口

IEEE软件工程标准词汇表将需求定义为

1用户解决问题或达到目标所需的条件或能力

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

3一种反映上面1或2所描述的条件或能力的文档说明

下面列出其他几种关于需求的定义 需求是用户所需要的并能触发一个程序或系统开发工作的说明 需求是从系统外部能发现系统所具有的满足于用户的特点功能及属性等 需求是指明必须实现什么的规格说明它描述了系统的行为特性或属性是在开发过程中对系统的约束

软件需求包括四个不同的层次即业务需求用户需求和功能需求另外还有非功能需求

软件需求各组成部分之间的关系如下图所示

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

用户需求

描述了用户使用产品必须要完成的任务可以在用例模型或方案脚本中予以说明

功能需求

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

是从各个角度对系统的约束和限制反映了应用对软件系统质量和特性的额外要求

非功能需求包括过程需求产品需求和外部需求三类其中过程需求有交付实现方法和标准等需求产品需求包含性能可用性实用性可靠性可移植性安全保密性容错性等方面的需求外部需求有法规成本操作性等需求

需求工程中的缺陷将给项目的成功带来极大风险导致缺陷的原因主要包括以下方面 缺乏足够的用户参与

客户经常不明白为什么收集需求和确保需求质量需花费那么多功夫开发人员可能也不重视用户的参与究其原因一是因为与用户合作不如编写代码有意思二是因为开发人员觉得已经明白用户的需求了在某些情况下与实际使用产品的用户直接接触很困难而客户也不太明白自己的真正需求然而在项目的早期让具有代表性的用户直接参与到开发队伍中并一同经历整个开发过程很重要

用户需求不断增加

在开发过程中用户需求经常发生变化但是不断的变更会使其整体结构越来越乱整个程序也难以理解和维护如果要减少需求变更的影响范围就必须在项目的开始对项目视图范围目标约束限制和成功标准给予明确说明并将此说明作为评价需求变更和新特性的参照框架

需求模棱两可

模棱两可是需求规格说明中最严重的问题它意味着不同的人对需求说明产生了不同的理解或者是同一个人能用不止一个方式来解释某项需求说明模棱两可的需求带来的后果便是返工--重做一些你认为已做好的事情返工会耗费开发总费用的40而70~85的重做是由于需求方面的错误引起的添加不必要的特性

有时候开发人员力图增加一些“用户欣赏”但需求规格说明中并未涉及的新功能然而常常是用户并不认为这些功能性很有用开发人员应当为客户构思方案并为他们提供一些具有创新意识的思路具体提供哪些功能要在客户的需要和允许时限内的技术可行性之间求得平衡

规格说明过于简单

客户往往不明白需求分析的重要性只是提供一份十分简略的规格说明仅涉及产品概念上的内容然后让开发人员在项目进展中去完善从而导致开发人员先建立产品结构再完成需求说明

忽略了用户分类

大多数产品是由不同的人使用其不同的特性使用频繁程度也有所差异使用者受教育程度和经验水平也不尽相同如果你不能在项目早期就针对所有这些主要用户进行分类的话必然导致有的用户对产品感到失望

总体来说导致需求缺陷的原因主要体现在三个方面 需求的沟通与理解 需求的变化与控制 需求说明的明确与完整 需求工程中的缺陷将给项目成功带来极大风险如产品的成本过高产品的功能和质量无法完全满足用户的期望等等即使一个项目团队的人员和配备都很不错但不重视需求过程也会付出惨痛的代价

本节知识点 需求工程的内容 需求获取 需求分析 编写需求文档 需求验证

需求工程是指应用已证实有效的原理和方法系统地描述出待开发系统及其行为特征和相关约束

通常需求工程由一些过程组成可分为需求开发和需求管理两部分

需求开发的主要活动 确定产品所期望的用户类 获取每个用户类的需求 了解实际用户任务和目标以及这些任务所支持的业务需求 分析源于用户的信息以区别用户任务需求功能需求业务规则质量属性建议解决方法和附加信息

将系统级的需求分为几个子系统并将需求中的一部份分配给软件组件 了解相关质量属性的重要性 商讨实施优先级的划分 将所收集的用户需求编写成规格说明和模型 评审需求规格说明确保对用户需求达到共同的理解与认识并在整个开发小组接受说明之前将问题都弄清楚

需求管理的主要活动 定义需求基线 评审提出的需求变更评估每项变更的可能影响从而决定是否实施它 以一种可控制的方式将需求变更融入到项目中 使当前的项目计划与需求一致 估计变更需求所产生影响并在此基础上协商新的承诺 让每项需求都能与其对应的设计源代码和测试用例联系起来以实现跟踪 在整个项目过程中跟踪需求状态及其变更情况

今天我们引入“需求工程”的概念强调用工程化的方法进行需求开发和需求管理其中需求开发是采用有效方法获得高质量需求的过程而需求管理则是在需求说明形成之后有效地控制其变更的过程二者缺一不可

一工作内容 聆听用户的需求 分析和整理所获取的信息 形成文档化的描述 二基于用例的方法

随着面向对象技术的发展基于用例的方法在需求获取和建模方面应用得越来越普遍这种方法是以任务为中心和以用户为中心的比起使用以功能为中心的方法它可以使用户更清楚地认识到新系统允许他们做什么

用例模型以用户和任务为中心将整个工作的焦点集中在从用户的角度说明系统能够干什么完全不考虑具体的实现细节从而达到准确地理解客户需求的目的在用例模型中角色和用例是两个基本概念分别代表着系统外部的执行者和系统应包含的功能因此建立用例模型的主要工作是确定角色确定用例和描述用例 A确定角色

角色代表着与系统交互的人或事通过确认系统功能使用者和维护者以及与系统接口的其他系统或硬件设备等可以有效地识别出系统角色 B确定用例

一个完整的系统包含若干个用例每个用例具体说明应完成的功能识别用例首先要确定系统所能反映的外部事件并把这些事件与参与的执行者和特定的使用实例联系起来最终绘制出用例图 C描述用例

单纯地使用用例图不能提供用例所具有的全部信息因此需要使用文字描述那些不能反映在图形上的信息用例描述实际上是关于角色与系统如何交互的规格说明要求清晰明确没有二义性

建立用例模型是一种需求获取的有效方法其简洁清晰的描述方式容易被软件人员和用户共同理解和接受这种方法已经在许多大型系统的开发中取得成效实践证明它能有效地解决用户参与的问题

需求分析主要是对收集到的需求进行提炼分析和仔细审查以确保所有的风险承担者都明白其含义并找出其中的错误遗漏或其它不足的地方形成完整的分析模型分析的目的在于开发出高质量的和具体的需求从而支持项目的估算和软件的设计开发和测试

需求分析的主要活动包括 绘制系统关联图 创建用户接口原型 分析需求可行性 确定需求的优先级别 创建数据字典 为需求建立模型

绘制系统关联图

这种关联图用于定义系统与系统外部实体间的界限和接口的简单模型

创建用户接口原型

当开发人员或用户不能确定需求时开发一个用户接口原型可以使许多概念和可能发生的事更为直观明了用户通过评价原型将使项目参与者能更好地相互理解所要解决的问题同时找出需求文档与原型之间所有的冲突之处 分析需求可行性

在允许的成本和性能要求下分析每项需求实施的可行性明确与每项需求实现相联系的风险包括与其它需求的冲突对外界因素的依赖和技术障碍

确定需求的优先级别

应用分析方法来确定用例产品特性或单项需求实现的优先级别以优先级为基础确定产品版本将包括哪些特性或哪类需求当允许需求变更时在特定的版本中加入每一项变更并在那个版本计划中作出需要的变更 为需求建立模型

需求的图形分析模型是软件需求规格说明极好的补充说明它们能提供不同的信息与关系以帮助找到不正确的不一致的遗漏的和冗余的需求这些模型包括数据流图实体关系图状态变换图对话框图对象类及交互作用图等 创建数据字典

数据字典是对系统用到的所有数据项和结构的定义以确保开发人员使用统一的数据定义在需求阶段数据字典至少应定义客户数据项以确保客户与开发小组是使用一致的定义和术语

分析建模的方法有很多其中最重要的两种方法是结构化分析和面向对象分析 结构化分析方法提供实体关系图数据流图和状态转换图三种图形模型分别进行数据建模功能建模和动态建模

人们习惯于用自然语言来描述软件需求但这会产生许多意想不到的问题如不精确二义性等因此需要采用适当的方法形成一致的完备的和无二义性的软件需求规格说明

通常编写软件需求规格说明有三种方法 将结构化语言与自然语言结合编写文本型文档 建立可视化的模型 采用形式化的方法进行需求规格说明

软件需求规格说明是需求开发的最终结果它精确地阐述一个软件系统必须提供的功能和性能以及它所要考虑的限制条件软件需求规格说明不仅是系统测试和用户文档的基础也是所有子系列项目规划设计和编码的基础

软件需求规格说明是用户分析人员和设计人员之间进行理解和交流的手段 测试人员可以根据软件需求规格说明中对产品行为的描述制定测试计划测试用例和测试过程 文档人员根据软件需求规格说明和用户界面设计编写用户手册等 软件需求规格说明指导着整个系统的开发过程评审过的需求规格说明需要进行变更控制

a 引言

概要叙述软件需求规格说明便于读者理解文档如何编写以及如何阅读和解释

在软件项目中开发组织应该采用一种标准的软件需求规格说明的模板现在有许多软件需求规格说明模板可以使用这里介绍其中的一种 a1 目的

对产品进行定义在该文档中详尽说明了这个产品的软件需求包括修正或发行版本号如果这个软件需求规格说明只与整个系统的一部分有关系那么就只定义文档中说明的部分或子系统 a2 文档约定

描述编写文档时所采用的标准或排版约定包括正文风格提示区或重要符号

a3 预期的读者和阅读建议

列举了软件需求规格说明所针对的不同读者例如开发人员项目经理营销人员用户测试人员或文档的编写人员描述了文档中剩余部分的内容及其组织结构提出了最适合于每一类型读者阅读文档的建议 a4 产品范围

提供了对指定的软件及其目的的简短描述包括利益和目标 a5 参考文献

列举了编写软件需求规格说明时所参考的资料或其它资源可能包括用户界面风格指导合同标准系统需求规格说明使用实例文档或相关产品的软件需求规格说明在这里应该给出详细的信息包括标题名称作者版本号日期出版单位或资料来源以方便读者查阅这些文献 b 综合描述

这一部分概述了正在定义的产品以及它所运行的环境使用产品的用户和已知的限制假设和依赖 b1 产品的前景

描述了软件需求规格说明中所定义的产品的背景和起源说明了该产品是否是产品系列中的下一成员是否是成熟产品所改进的下一代产品是否是现有应用程序的替代品或者是否是一个新型的自含型产品如果软件需求规格说明定义了大系统的一个组成部分那么就要说明这部分软件是怎样与整个系统相关联的并且要定义出两者之间的接口 b2 产品的功能

概述了产品所具有的主要功能其详细内容将在d中描述所以在此只需要概略地总结例如用列表的方法给出很好地组织产品的功能使每个读者都易于理解用图形表示主要的需求分组以及它们之间的联系例如数据流程图的顶层图或类图都是有用的 b3 用户类和特征

确定你觉得可能使用该产品的不同用户类并描述它们相关的特征有一些需求可能只与特定的用户类相关将该产品的重要用户类与那些不太重要的用户类区分开 b4 运行环境

描述了软件的运行环境包括硬件平台操作系统和版本还有其它的软件组件或与其共存的应用程序 b5 设计和实现上的限制

确定影响开发人员自由选择的问题并说明这些问题为什么成为一种限制可能的限制包括如下内容

必须使用或者避免的特定技术工具编程语言和数据库 所要求的开发规范或标准 企业策略政府法规或工业标准 硬件限制例如定时需求或存储器限制 数据转换格式标准 b6 假设和依赖

列举出在对软件需求规格说明中影响需求陈述的假设因素以及项目对外部因素存在的依赖 c 外部接口需求

利用本节来确定可以保证新产品与外部组件正确连接的需求 c1 用户界面

陈述所需要的用户界面的软件组件描述每个用户界面的逻辑特征以下是可能要包括的一些特征

将要采用的图形用户界面 G U I标准或产品系列的风格 屏幕布局或解决方案的限制 将出现在每个屏幕的标准按钮功能或导航链接例如一个帮助按钮 快捷键 错误信息显示标准

c2 硬件接口

描述系统中软件和硬件每一接口的特征这种描述可能包括支持的硬件类型软硬件之间交流的数据和控制信息的性质以及所使用的通信协议 c3 软件接口

描述该产品与其它外部组件由名字和版本识别的连接包括数据库操作系统工具库和集成的商业组件明确并描述在软件组件之间交换数据或消息的目的描述所需要的服务及内部组件通信的性质确定将在组件之间共享的数据 c4 通信接口

描述与产品所使用的通信功能相关的需求包括电子邮件Web浏览器网络通信标准或协议及电子表格等等定义了相关的消息格式规定通信安全或加密问题数据传输速率和同步通信机制 d 系统特性 d1 说明和优先级

简短说明该系统的特性并指出该特性的优先级是高中还是低另外还可以包括对特定优先级部分的评价例如利益损失费用和风险 d2 激励响应序列

列出输入激励用户动作来自外部设备的信号或其它触发器和定义这一特性行为的系统响应序列 d3 功能需求

详列出与该特性相关的详细功能需求这些是必须提交给用户的软件功能使用户可以使用所提供的特性执行服务或者使用所指定的使用实例执行任务 e 其他非功能需求 e1 性能需求

阐述了不同的应用领域对产品性能的需求并解释它们的原理以帮助开发人员作出合理的设计选择确定相互合作的用户数或者所支持的操作响应时间以及与实时系统的时间关系 e2 安全设施需求

详尽陈述与产品使用过程中可能发生的损失破坏或危害相关的需求定义必须采取的安全保护或动作还有那些预防的潜在的危险动作明确产品必须遵从的安全标准策略或规则 e3 安全性需求

详尽陈述与系统安全性完整性或私人问题相关的需求这些问题将会影响到产品的使用和产品所创建或使用的数据的保护定义用户身份确认或授权需求明确产品必须满足的安全性或保密性策略 e4 软件质量属性

详尽陈述与客户或开发人员至关重要的其它产品质量特性这些特性必须是确定定量的并在可能时是可验证的 e5 业务规则

列举出有关产品的所有操作规则例如什么人在特定环境下可以进行何种操作这些本身不是功能需求但它们可以暗示某些功能需求执行这些规则 e6 用户文档

列举出将与软件一同发行的用户文档部分例如用户手册在线帮助和教程明确所有已知的用户文档的交付格式或标准 f 其他需求

定义在软件需求规格说明的其它部分未出现的需求例如国际化需求或法律上的需求你还可以增加有关操作管理和维护部分来完善产品安装配置启动和关闭修复和容错以及登录和监控操作等方面的需求这一部分可以省略

需求验证是为了确保需求说明准确完整地表达必要的质量特点当你阅读软件需求规格说明时可能觉得需求是对的但实现时却很可能会出现问题当以需求说明为依据编写测试用例时你可能会发现说明中的二义性而所有这些都必须改善因为需求说明要作为设计和最终系统验证的依据

正确性 完整性 可验证性 无二义性 可修改性 可跟踪性 一致性

审查需求文档

对需求文档进行正式审查是保证软件质量的有效方法组织一个由不同代表如分析人员客户设计人员测试人员组成的小组对SRS及相关模型进行仔细的检查

以需求为依据编写测试用例

根据用户需求所要求的产品特性写出黑盒功能测试用例客户通过使用测试用例以确认是否达到了期望的要求从测试用例追溯回功能需求以确保没有需求被疏忽并且确保所有测试结果与测试用例相一致同时要使用测试用例来验证需求模型的正确性如对话框图和原型等

编写用户手册

在需求开发早期即可起草一份用户手册用它作为需求规格说明的参考并辅助需求分析 确定合格的标准

让用户描述什么样的产品才算满足他们的要求和适合他们使用的将合格的测试建立在使用情景描述或用例的基础之上

需求验证包括需求评审和需求测试两个部分需求评审又包括正式的和非正式的两种形式

需求评审是一种有效的需求验证手段通常以用例模型为基础编写测试用例进行检验虽然没有在运行系统上执行测试用例但是设计测试用例的过程可以解释需求的许多问题

本节知识点 分析模型--实体关系图数据流图状态转换图 数据字典 结构化分析过程

多年来人们提出了许多分析建模的方法其中占主导地位的两种方法是传统的“结构化分析”方法和当今流行的“面向对象的分析”方法本节重点介绍结构化分析方法面向对象的分析方法在后面章节介绍

需求分析产生的模型使人们可以更好地理解将要建造的系统它有助于系统分析员理解系统的信息功能和行为成为确定需求规格说明完整性一致性和精确性的重要依据奠定了软件设计的基础

结构化分析导出的分析模型包括数据模型功能模型和行为模型该模型以数据字典为核心描述了软件使用的所有数据对象围绕这个核心的是实体关系图数据流图和状态转换图具体形式如下图所示 实体关系图ER数据建模的基础描述数据对象及其关系 数据流图DF功能建模的基础描述数据怎样转换以及转换的功能 状态转换图ST行为建模的基础表示系统的各种行为状态以及状态间的转换方式 数据模型包括三种基本元素 数据对象 属性 关系 它们对理解问题的信息域提供了基础

两个数据对象之间有以下三种关联ER在数据对象之间的连线上用数字或字母表示

一对一11对象 A的一个实例只能关联到对象B的一个实例对象 B的一个实例也只能关联到对象A的一个实例如一个丈夫只能有一个妻子一个妻子也只能有一个丈夫

一对多1N对象 A的一个实例可以关联到对象B的一个或多哥实例而对象 B的一个实例只能关联到对象A的一个实例如一个母亲可以有多个孩子而一个孩子只能有一个母亲

多对多MN对象 A的一个实例可以关联到对象B的一个或多个实例同时对象 B的一个实例也可以关联到对象A的一个或多个实例如一个叔叔可以有多个侄子一个侄子也可以有多个叔叔

数据建模的其他图形工具层次方框图

层次方框图通过树型结构的一系列多层次的矩形框描述复杂数据的层次结构树型结构顶端的矩形框只有一个用于代表完整的数据结构下面各层的矩形框是对完整数据结构的逐步分解和细化得到的数据子集底层的矩形框代表组成该数据结构的基本元素是数据的最小单位不可再分割

数据建模的其他图形工具层次方框图 层次方框图非常适合描述自顶向下的需求分析方法中数据的层次关系系统分析员可以从对顶层信息的分类开始沿着层次图中的每条路径逐步细化直到确定了数据结构的全部细节为止

例如某单位职工的实发工资由应发工资和扣款两部分组成每部分又可进一步细分如应发工资又可分为基本工资和奖金基本工资又可分为国家工资津贴补贴奖金也可分为出勤奖和业绩奖津贴和补贴还可以再进一步地细分 实发工资的层次方框图如下图所示

数据流图是结构化分析的基本工具它描述了信息流和数据转换通过对加工进行分解可以得到数据流图

DF有四种元素其基本符号如下图所示

外部实体与系统进行交互但系统不对其进行加工和处理的实体用带标记的矩形表示 加工对数据进行的变换和处理用带标记的圆圈表示 数据流在数据加工之间或数据存储和数据加工之间进行流动的数据用带标记的箭头表示 数据存储在系统中需要存储的实体用带标记的双实线表示

第0层DF称为基本系统模型可以将整个软件系统表示为一个具有输入和输出的黑匣子用一个圆圈表示上一层DF中的每一个圆圈可以进一步扩展成一个独立的数据流图以揭示系统中程序的细节部分

这种循序渐进的细化过程可以继续进行直到最低层的图仅描述原子过程操作为止每一层数据流图必须与它上一层数据流图保持平衡和一致因此子图的所有输入输出流要与其父图相匹配

状态转换图通过描述状态以及导致系统改变状态的事件来表示系统的行为它没有表示出系统所执行的处理只表示了处理结果可能的状态转换

ST用带标记的圆圈或矩形表示状态用箭头表示从一种状态到另一种状态的变换箭头上的文本标记表示引起变换的条件 例如在操作系统中当存在多个申请占用CPU运行的进程 进程是分配CPU的最小处理单位 时系统将按照某种调度策略为各个进程分配CPU此时进程的状态可能有三种就绪运行和等待 就绪等待分配CPU 运行占用CPU进行相应的处理 挂起

name=baidusnap1>放弃CPU的使用

数据流图是结构化分析的基本工具体现了自顶向下逐步求精的分析过程确定了系统的任务流和数据流 实体关系图描述了系统的数据关系从而帮助开发人员分析和理解系统数据的组成并为系统设计阶段定义系统数据库的物理结构打下基础 状态转换图描述了系统状态之间的变化过程它对于实时系统和控制系统尤为重要

数据字典描述数据流图的数据存储数据加工 最底层加工和数据流它记录的主要内容有 基本信息名字别名描述 定义数据长度数据类型数据结构 使用特点取值范围使用频率使用方式等 控制信息来源用户引用程序读写权限等 其他说明

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

数据组合有三种方式

顺序以确定的次序连接多个数据项

选择从多个数据项中选取一个

重复将某个数据项重复多次 为了能够对数据流中的各组成成分进行准确的定义在数据字典中使用了多种具有特定意义的符号如下

结构化分析过程实质上就是创建数据模型功能模型和行为模型其中数据建模的工具是实体关系图功能建模的工具是数据流图行为建模的工具是状态转换图另外使用数据字典定义系统的所有数据项

为了理解和学会使用这些建模工具我们结合一个学生成绩管理系统的实例讲解整个分析过程并给出部分实体关系图数据流图状态转换图和数据字典

下面列出用户对学生成绩管理系统的要求 教务人员录入学生信息课程信息和成绩信息 学生可以随时查询自己所选课程的成绩 由于学生成绩属于敏感信息系统必须提供必要的安全措施以防非法存取

在需求收集的过程中要求客户列出应用软件或业务过程涉及到的“事物”将其演化成数据对象 一次考虑一个对象分析员和客户定义这个对象和其他对象之间是否存在连接 如果存在连接应创建一个或多个关系

对每一个关系确定其关联类型

重复步骤2到步骤4直到定义了所有关系

定义每个实体的属性

形式化并复审实体关系图 重复步骤1到7直到数据建模完成

实例分析 学生成绩管理系统 实体学生课程成绩 实体属性定义

学生学号姓名性别出生日期入学年月

课程课程编号课程名称课程学分课程描述

成绩学号课程编号分数考核日期

显然学生课程和成绩都是系统的实体并且可以初步定义它们的属性

教务人员虽然是系统的用户但其信息与系统处理无关因此不用作为实体 由于成绩信息包含了选课信息因此选课信息不用单独记录

因此系统的实体是学生课程和成绩

我们分析这些实体之间的关联关系从实际情况得知一个学生可以选多门课程一门课程也可以有多个学生选修但每个学生选一门课程必须有一个成绩根据上述分析我们得到如图所示的实体关系图

实体关系图

通常数据流图是分层绘制的整个过程反映了自顶向下进行功能分解和细化的分析过程 顶层也称第0层DF用于表示系统的开发范围以及该系统与周围环境的数据交换关系 最底层DF代表了那些不可进一步分解的原子加工 中间层DF是对上一层父图的细化其中的每一个加工可以继续细化中间层次的多少由系统的复杂程度决定

第0层DF将整个系统表示成一个加工 2 确定并标记主要的输入和输出 分离出下一层中的加工数据对象和存储 并对其进行细化一次细化一个加工 4 标记所有加工和箭头 重复步骤3和4直到所有的加工 只执行一个简单的操作可以很容易地用 程序实现

绘制第0层DF的时候将整个系统看成一个加工然后找出作用于该加工的外部实体以及相应的数据输入和输出

绘制下一层数据流图时细化第0层的加工从而描述系统的主要功能 继续进行分解直到所有的加工只执行一个简单的操作为止

实例分析 学生成绩管理系统 第0层DF图

1教务人员维护学生信息和课程信息并登录学生的选课成绩 2学生查询自己的成绩单

对于学生成绩管理系统而言整个系统就是一个加工学生成绩管理

教务人员是数据的源点学生是数据的终点 教务人员需要录入学生信息课程信息和成绩说明学生信息课程信息和成绩是数据流同样查询请求和查询结果也是数据流 根据上述分析得到如图所示的第0层DF图

第1层DF图

对第0层DF图中的加工学生成绩管理 展开得知学生信息是教务人员需要录入的一个信息因此加入一个加工录入学生信息同样得到录入课程信息登记成绩两个加工另外数据流查询请求和查询结果应该由加工查询成绩来完成

这样我们用录入学生信息录入课程信息登记学生成绩和查询学生成绩四个加工代替第0层的学生成绩管理同时增加这些数据流对应的数据存储即学生课程和成绩最后得到如图所示的第1层DF图

第2层DF图

为了继续进行分解我们分析第1层DF中的加工查询学生成绩

学生查询成绩时需要提供合法性检查因此查询学生成绩可以分解为合法性检查和查询成绩两个处理步骤从而形成第2层DF如下图所示

根据以上实例和经验绘制数据流图应当遵循以下原则 1 分层时子图的输入输出数据流必须和父图中相应加工的输入输出数据流一致 加工的编号应该唯一且具有层次性 加工不应该只有输入或只有输出通常既有输入又有输出 4 数据流图不应反映处理的顺序 加工之间应通过数据存储进行通信避免从一个加工直接流到另一个加工 数据应通过加工进行流动避免从一个数据存储直接流到另一个数据存储 数据流图中所有元素的命名应当对客户有意义且与业务相关 8 不要在一个图中绘制7个以上的加工否则难于绘制和理解

数据字典

以下列出“学生成绩管理系统”的部分数据字典条目

4331 创建实体关系图 第四章 软件需求分析与建模 4331 创建实体关系图 第四章 软件需求分析与建模 4331 创建实体关系图 第四章 软件需求分析与建模 4332 创建数据流模型 第四章 软件需求分析与建模 4332 创建数据流模型 第四章 软件需求分析与建模 4332 创建数据流模型 第四章 软件需求分析与建模 4332 创建数据流模型 第四章 软件需求分析与建模 4332 创建数据流模型 第四章 软件需求分析与建模 4332 创建数据流模型 第四章 软件需求分析与建模 4332 创建数据流模型 第四章 软件需求分析与建模 4332 创建数据流模型 第四章 软件需求分析与建模 4332 创建数据流模型 第四章 软件需求分析与建模 4332 创建数据流模型 第四章 软件需求分析与建模 4332 创建数据流模型 第四章 软件需求分析与建模 4332 创建数据流模型 第四章 软件需求分析与建模 4332 创建数据流模型 第四章 软件需求分析与建模 4332 创建数据流模型 第四章 软件需求分析与建模 4332 创建数据流模型 第四章 软件需求分析与建模 在系统功能扩充时可能增加定义项 其他说明 随时但经常在新生入学时期 峰值 10000左右 数据量 学号 姓名 性别 出生日期 入学年月 定义 无 别名 包括学生的主要信息 描述 学生 数据项名 4332 创建数据流模型 第四章 软件需求分析与建模 学号不能重复 其他说明 6位字符 长度 字符串 类型 无 别名 唯一标识学生的编号 描述 学号 数据流名 4332 创建数据流模型 第四章 软件需求分析与建模 在系统功能扩充时可能增加种类 其他说明 随时但经常在学期开学 峰值 10000次左右 频率 无 别名 系统处理的一个命令 描述 学生成绩查询 数据流名 4333 创建行为模型 第四章 软件需求分析与建模

通常来说行为建模用于实时系统 实时系统中可能存在许多脚本很多实体需要进行状态划分和描述状态转换图 在事务系统中系统行为相对简单只有某些行为较复杂的实体才需要建立其状态转换图 4333 创建行为模型 第四章 软件需求分析与建模 1 分析外部事件所谓外部事件是指外部实体与系统的一次交互 分析事件的响应者该响应者为了响应该事件要进行怎样的活动这种活动又会激发哪些事件等 根据事件和活动划分实体的状态考虑发生怎样的事件使该实体进入这个状态怎样的事件使该实体从这个状态转换到另一状态等 4333 创建行为模型 第四章 软件需求分析与建模 实例分析学生成绩管理系统

在学生成绩管理系统中学生成绩信息必须采取安全措施我们采取登录方法避免非法使用系统这样该系统存在登录正常和出错等状态的转换如下图所示 4333 创建行为模型 第四章 软件需求分析与建模 431 分析模型 第四章 软件需求分析与建模 431 分析模型 第四章 软件需求分析与建模 4311 实体关系图 第四章 软件需求分析与建模

数据对象表示具有不同属性的事物ER用带有标记的矩形来表示 关系表示数据对象之间的相互连接ER用直线连接相关联的数据对象并在直线上用带标记的菱形框来表示关系 属性也称性质指数据对象某一方面的特征 ER用带有标记的椭圆来表示 4311 实体关系图 第四章 软件需求分析与建模 属性 ER图中的基本符号 连接 4311 实体关系图 第四章 软件需求分析与建模 4311 实体关系图 第四章 软件需求分析与建模 4311 实体关系图 第四章 软件需求分析与建模 4311 实体关系图 第四章 软件需求分析与建模 学生选课ER图 4311 实体关系图 第四章 软件需求分析与建模 工资计算系统ER图 4311 实体关系图 第四章 软件需求分析与建模 4311 实体关系图 第四章 软件需求分析与建模 4311 实体关系图 第四章 软件需求分析与建模 4311 实体关系图 第四章 软件需求分析与建模 4312 数据流图 第四章 软件需求分析与建模 4312 数据流图 第四章 软件需求分析与建模 4312 数据流图 第四章 软件需求分析与建模 工资计算系统的顶层 0层 数据流图 4312 数据流图 第四章 软件需求分析与建模 4312 数据流图 第四章 软件需求分析与建模 4313 状态转换图 第四章 软件需求分析与建模 4313 状态转换图 第四章 软件需求分析与建模 4313 状态转换图 第四章 软件需求分析与建模 431 分析模型 第四章 软件需求分析与建模 432 数据字典 第四章 软件需求分析与建模 432 数据字典 第四章 软件需求分析与建模 432 数据字典 第四章 软件需求分析与建模 432 数据字典 第四章 软件需求分析与建模 符 号 含 义 说 明 表示定义为 用于对 左边的条目进行确切的定义 表示与关系 X ab表示X由a和b共同构成 [ ] [ ] 表示或关系 X [ab]与X [ab]等价表示X由a或b组成 表示可选项 X a 表示a可以在X中出现也可以不出现 表示重复 大括号中的内容重复0到多次 m n 表示规定次数的重复 重复的次数最少m次最多n次 表示基本数据元素 中的内容是基本数据元素不可再分 连接符 month 112表示month可取1~12中的任意值 表示注释 两个星号之间的内容为注释信息 433 结构化分析过程 第四章 软件需求分析与建模 433 结构化分析过程 第四章 软件需求分析与建模 433 结构化分析过程 第四章 软件需求分析与建模 4331 创建实体关系图 第四章 软件需求分析与建模 4331 创建实体关系图 第四章 软件需求分析与建模 4331 创建实体关系图 第四章 软件需求分析与建模 4242 模板 第四章 软件需求分析与建模 4242 模板 第四章 软件需求分析与建模 4242 模板 第四章 软件需求分析与建模 4242 模板 第四章 软件需求分析与建模 4242 模板 第四章 软件需求分析与建模 4242 模板 第四章 软件需求分析与建模 4242 模板 第四章 软件需求分析与建模 4242 模板 第四章 软件需求分析与建模 4242 模板 第四章 软件需求分析与建模 4242 模板 第四章 软件需求分析与建模 4242 模板 第四章 软件需求分析与建模 4242 模板 第四章 软件需求分析与建模 4242 模板 第四章 软件需求分析与建模 4242 模板 第四章 软件需求分析与建模 4242 模板 第四章 软件需求分析与建模 4242 模板 第四章 软件需求分析与建模 4242 模板 第四章 软件需求分析与建模 4242 模板 第四章 软件需求分析与建模 4242 模板 第四章 软件需求分析与建模 4242 模板 第四章 软件需求分析与建模 4242 模板 第四章 软件需求分析与建模 4242 模板 第四章 软件需求分析与建模 425 需求验证 第四章 软件需求分析与建模 4251 需求说明的质量特性 第四章 软件需求分析与建模 需求规格说明对系统功能行为性能等的描述必须与用户的期望相吻合代表了用户的真正需求 需求规格说明应该包括软件要完成的全部任务不能遗漏任何必要的需求信息注重用户的任务而不是系统的功能将有助于你避免不完整性 需求规格说明对各种需求的描述不能存在矛盾如术语使用冲突功能和行为特性方面的矛盾以及时序上的不一致等 需求规格说明中的描述对所有人都只能有一种明确统一的解释由于自然语言极易导致二义性所以尽量把每项需求用简洁明了的用户性的语言表达出来 需求规格说明的格式和组织方式应保证后续的修改能够比较容易和协调一致我们可以使用软件工具或者使用目录表索引和相互参照列表等方法使软件需求规格说明更容易修改 可跟踪性意味着每项需求都能与其对应的来源设计源代码和测试用例联系起来 需求规格说明中描述的需求都可以运用一些可行的手段对其进行验证和确认 4252 需求验证的方法 第四章 软件需求分析与建模 4252 需求验证的方法 第四章 软件需求分析与建模 4252 需求验证的方法 第四章 软件需求分析与建模 4252 需求验证的方法 第四章 软件需求分析与建模 43 分析建模 第四章 软件需求分析与建模 43 分析建模 第四章 软件需求分析与建模 431 分析模型 第四章 软件需求分析与建模 431 分析模型 第四章 软件需求分析与建模 42 需求工程 第四章 软件需求分析与建模 需求开发又可分为问题获取分析编写规格说明和验证四个阶段如图所示 421 需求工程的内容 第四章 软件需求分析与建模 421 需求工程的内容 第四章 软件需求分析与建模 421 需求工程的内容 第四章 软件需求分析与建模 421 需求工程的内容 第四章 软件需求分析与建模 421 需求工程的内容 第四章 软件需求分析与建模 422 需求获取 第四章 软件需求分析与建模 分析人员应该与各种层次的客户进行充分的交流和沟通包括决策领导使用部门的领导具体使用人员系统维护人员等尽量清楚地理解用户的问题和要求 对于用户提供的各种问题和要求分析人员需要对其进行归纳和整理借助一些工具和方法从用户一般性的陈述里面提取用户的真正需求并由此确定软件的功能性能接口关系约束条件等 不论是用户的提出问题还是最终获取的需求都应该形成文档化的描述这种描述需要各种人员的一致理解和认同 422 需求获取 第四章 软件需求分析与建模 422 需求获取 第四章 软件需求分析与建模 422 需求获取 第四章 软件需求分析与建模 422 需求获取 第四章 软件需求分析与建模 422 需求获取 第四章 软件需求分析与建模 422 需求获取 第四章 软件需求分析与建模 423 需求分析 第四章 软件需求分析与建模 423 需求分析 第四章 软件需求分析与建模 423 需求分析 第四章 软件需求分析与建模 423 需求分析 第四章 软件需求分析与建模 423 需求分析 第四章 软件需求分析与建模 423 需求分析 第四章 软件需求分析与建模 423 需求分析 第四章 软件需求分析与建模 423 需求分析 第四章 软件需求分析与建模 423 需求分析 第四章 软件需求分析与建模 424 编写需求文档 第四章 软件需求分析与建模 424 编写需求文档 第四章 软件需求分析与建模 4241 软件需求规格说明 第四章 软件需求分析与建模 4241 软件需求规格说明 第四章 软件需求分析与建模 4242 模板 第四章 软件需求分析与建模 4242 模板 第四章 软件需求分析与建模 4242 模板 第四章 软件需求分析与建模 4242 模板 第四章 软件需求分析与建模 4242 模板 第四章 软件需求分析与建模 4242 模板 第四章 软件需求分析与建模 第四章 软件需求分析与建模 第四章 软件需求分析与建模 第四章 软件需求分析与建模 第四章 软件需求分析与建模 第四章 软件需求分析与建模 41 软件需求 第四章 软件需求分析与建模 41 软件需求 第四章 软件需求分析与建模 41 软件需求 第四章 软件需求分析与建模 41 软件需求 第四章 软件需求分析与建模 411 软件需求的定义 第四章 软件需求分析与建模 411 软件需求的定义 第四章 软件需求分析与建模 412 需求的层次 第四章 软件需求分析与建模 412 需求的层次 第四章 软件需求分析与建模 412 需求的层次 第四章 软件需求分析与建模 412 需求的层次 第四章 软件需求分析与建模 412 需求的层次 第四章 软件需求分析与建模 412 需求的层次 第四章 软件需求分析与建模 412 需求的层次 第四章 软件需求分析与建模 413 需求错误的原因 第四章 软件需求分析与建模 413 需求错误的原因 第四章 软件需求分析与建模 413 需求错误的原因 第四章 软件需求分析与建模 413 需求错误的原因 第四章 软件需求分析与建模 413 需求错误的原因 第四章 软件需求分析与建模 413 需求错误的原因 第四章 软件需求分析与建模 413 需求错误的原因 第四章 软件需求分析与建模 413 需求错误的原因 第四章 软件需求分析与建模 413 需求错误的原因 第四章 软件需求分析与建模 42 需求工程 第四章 软件需求分析与建模 42 需求工程 第四章 软件需求分析与建模

篇2:软件工程教学 第四章 需求分析

一位音乐家必须作曲,一位画家必须绘画,一位诗人必须写诗。否则他就无法安宁。人们都需要尽其所能。这一需要就被称为自我是实现的需要。-----[美] 马斯洛《自我实现的人》 三联书店1987.2 我们对马斯洛需求层次理论的理解 只要当较低层次的需要得到满足,较高层次的需要才会出现并要求得到满足 并不是说较低层次需要完全满足后,才会出现高一层次的需要,只是说人的各种需要存在高低顺序。我行我素不是自我实现;自我实现并非完美无缺。自我实现的本质特征是人的潜力和创造力的发挥。它意味着充分地,忘我地,集中全力地,全神贯注地体验生活。小思考 小张夫妇周四携刚上小学的儿子逛百货大楼,过鞋城时,儿子突然要购买在电视广告中出现的130一双的彪马运动鞋,后经夫妇商量,并说服小孩,买了一双35元的四驱兄弟运动鞋,这种购买决定属于哪一购买类型? 消费者购买过程 购买决策过程 购买角色: 发起者:是指首先提出或者有意购买某一产品或服务的人 影响者:是指其看法或建议对最终决策具有一定影响的人 决策者:是指在是否买为何买如何买在哪买等方面作出完全的或部分的最后决定的人 购买者:指实际采购人 使用者:指实际消费或使用产品或服务的人 消费者行为的改变 ①某些顾客的消费行为从注重品牌转向最低价格。随着商品质量和服务质量的不断提高,消费者的主要注意力转向挑选最便宜的商品上。

②消费者用于购物的时间呈下降趋势。消费者不愿意花费大量的时间去购物,而是将时间用于其他的休闲。

篇3:关于软件工程需求分析探究

一、软件工程中的需求分析概述

一个软件项目的开发主要分为五个阶段:需求分析阶段、设计阶段、编码阶段、测试阶段和维护阶段。而需求分析阶段所得到的结果。是软件项目开发中其他四个阶段的必备条件。从以往的经验来看, 需求分析中的一个稍稍的偏差, 就可能导致整个项目无法达到预期的效果。

需求分析是指理解用户需求, 就软件功能与客户达成一致, 估计软件风险和评估项目代价, 最终形成开发计划的一个复杂过程。在这个过程中, 用户的确是处在主导地位, 需求分析工程师和项目经理要负责整理用户需求, 为之后的软件设计打下基础。需求分析阶段结束后, 要求得到:1.SRS文档 (System Requirement Specification) ;2.DRM文档;3.Acceptance Plan。从广义上理解需求分析则包括需求的获取、分析、规格说明、变更、验证、管理的一系列需求工程。

二、软件工程中的需求工作流程

软件需求是指用户对目标软件在功能、行为、性能、设计约束等方面的期望。通过对问题及其环境的理解与分析, 为问题涉及的信息、功能及行为建立模型, 将用户需求精确化、完全化, 最终形成需求规格说明, 如图1所示, 整个活动构成软件开发生命周期的需求分析阶段。在需要的开发中, 问题的获取包括业务需求、用户需求、功能需求。业务需求的参与者主要是业务流程分析员, 对企业目前的业务流程进行评估, 确定进行何种程度的业务建模;用户需求重心是如何收集用户需求, 确定角色和用例, 获取需求的方法倾向组织访谈会;功能需求依赖于用户需求, 是用户需求在系统上的一个映射, 为用户做一个软件原型是一个很好的方法。

三、软件工程中的需求分析

需求分析包括提炼、分析和仔细审查已收集到的需求, 以确保所有承担风险者都明白其含义, 能找出其的错误、遗漏等地方。分析员通过评价来确定是否所有的需求和软件需求规格说明都达到了优秀需求说明的要求。分析的目的在于开发出高质量的需求, 这样你能做出实用的项目估算并可以进行设计、构造和测试。通常, 把需求中的一部分用多种形式来描述, 如同时用文本和图形来描述。分析这些不同的视图将揭示出一些更深的问题, 这是单一视图无法提供的。分析还包括与客户的交流以澄清某些混淆, 并明确哪些需求是更为重要的。其目的是确保所有风险承担者尽早地对项目达成共识并对将来的产品有个相同而清晰的认识。

1. 创建数据字典。

数据字典是对系统用到的所有数据项和结构的定义, 以确保开发人员使用统一的数据定义。在需求阶段, 数据字典至少应定义客户数据项以确保客户与开发小组使用一致的定义和术语。分析和设计工具通常包括数据字典组件。

2. 确定需求的优先级别。

应用分析方法来确定使用实例、产品特性或单项需求实现的优先级别。以优先级为基础确定产品版本将包括哪些特性或哪类需求。当允许需求变更时, 在特定的版本中加入每一项变更, 并在那个版本计划中做出需要的变更。

3. 分析需求可行性。

在允许的成本、性能要求下, 分析每项需求实施的可行性, 明确与每项需求实现相联系的风险, 包括与其它需求的冲突, 对外界因素的依赖和技术障碍。

4. 使用质量功能调配。

质量功能调配是一种高级系统技术, 它将产品特性、属性与对用户价值联系起来。该技术提供了一种分析方法以明确哪些是客户最为关注的特性。质量功能调配将需求分为三类:期望需求, 即客户或许并未提及, 但如若缺少会让他们感到不满意;普通需求和兴奋需求, 即实现了会给客户带去惊喜, 但若未实现也不会受到责备。

5. 衡量需求稳定性。

记录基本需求的数量和每周或每月的变更数量 (添加、修改、删除) 。过多的需求变更“是一个报警信号”意味着问题并未真正弄清楚, 项目范围并未很好的确定下来或是政策变化较大。

6. 绘制系统上下文示意图。

这种示意图是用于定义系统与系统外部实体问的界限和接口的简单模型。同时它也明确了通过接口的信息流和物质流。

7. 作为功能需求的补充, 软件需求规格说明还应包括非功能需求, 它描述了系统展现给用户的行为和执行的操作等。

它包括产品必须遵从的标准、规范和合约;外部界面的具体细节;性能要求;设计或实现的约束条件及质量属性。

软件需求分析中的关键就是展开分析、发现问题、征服问题。所有的一切都是为了能够将软件中的错误和漏洞在需求分析和需求工程阶段发现并解决, 这样才能使软件开发的成本收益比达到最大, 使得软件在其生命周期中的维护费用降到最低, 这也是我进行软件需求分析方法研究的目的, 希望可以通过上述的软件需求分析的方法研究为以后软件的开发打下一个良好的基础。

摘要:我国的信息化已经走过了20多年的历程, 但许多软件开发公司仍不得不在收集、编写和管理产品需求中疲于奔命。而缺乏用户参与、不完整的需求及不断变更需求, 是导致信息技术项目不能按进度安排和资金预算完成全部功能的主要原因。

关键词:用户,软件开发,软件工程

参考文献

[1]郑人杰等:实用软件工程 (第2版) , 北京:清华大学出版社, 1997

[2]史济民等:软件工程一原理、方法和应用, 北京:高等教育出版社, 2002

[3]Pres smaI1:软件工程一实践者研究方法 (第4版) .北京:机械工业出版社.1999

[4]张龙祥:UML与系统分析设计.北京:人民邮电出版社, 2007

篇4:需求分析在教学软件中的新体现

关键词:软件需求分析;软件工程;教学软件

中图分类号:TP311.52 文献标识码:A 文章编号:1674-7712 (2014) 20-0000-01

需求分析是一个软件开发的关键阶段,软件开发首先要对需求调研和分析,一个清晰、完善的需求是软件项目成败的重要因素,需求分析的成败决定了软件项目的成败,实践表明软件在适应过程的遇到的问题都是在需求分析阶段出了问题,由于没有考虑到需求的完整性或者错误性的决策造成的。一个完整的需求分析就会为后面软件的管理和软件开发节省大量的人力和资源成本。

一、需求分析

关于需求的定义,目前存在很多种不同的说法,还没有一个清晰、毫无二义的“需求”术语存在。在开发软件项目时,我们碰到的情况往往是这样的:一般客户自己无法清晰地描述需求,系统分析人员只能凭借自己对将要实现的系统的了解,根据用户的语言描述整理出相关的需求,再进一步和客户核对。项目的开发方和使用者必须在对描述需求的这些名词和概念上达成共识,才能成为有效的需求。

二、教学软件开发的现状

“教学软件的数量多但不实用”这是产品开发与实际需要相脱节的明显表现,在一定程度上说明教学软件的开发缺乏成功而有效的需求分析,开发机构和制作人员对于教师到底需要什么样的教学软件、喜欢哪些类型的教学软件不能准确地把握。通过对相关政府部门和多家教学软件开发公司的实地调研发现,当前教学软件的需求分析工作未能得到足够的重视是导致上述问题的重要原因之一。开发机构或是请一些专家简单参谋,或是进行简单的调查敷衍了事,致使教学软件开发需求分析实践中出现许多问题。

为了减少教学软件的盲目开发,有效解决上述教学软件需求实践中的诸多问题,迫切需要切实可行的相关理论实现对需求分析实践的有效指导。

三、教学软件需求分析的特点

需求分析的开始阶段并不需要教员有一个特别精确的想法,但是必须明确以下几点:(1)软件应该实现什么:(2)教學目标是什么;(3)学生需求、资质、原有技能;(4)硬件和网络获得的局限性;(5)做好慢慢开始的准备,可以先开发一个小包或原型,用于与学生的交流。在上述工作基础上,应该完成(6)使学习目标与恰当的媒体和行动相匹配:(7)设计导航方式以及使用者的交互:(8)确定媒体需求;(9)为形成性评估和总结性评估确定最佳方案:(10)教学设计者要帮助完成以上任务,并且要确保项目的范围有合理的教学性。软件工程领域的需求工程理论是对软件开发的需求分析的系统化论述,是教学软件的需求分析研究的重要理论基础。

四、教育软件的需求管理

需求管理是教学软件需求分析质量控制的重要方面。它贯穿于整个软件项目开发的始终,其目的是在客户与开发方之间建立对需求的共同理解,维护需求与其他工作成果的一致性,并控制用户需求的变更。教学软件的需求管理可以采用确定需求基线、需求变更控制、教学软件的版本控制、需求控制等策略。

五、当前教师教育存在的问题

(一)职业认同现状

根据调查,几乎全部的教师在面对有机会从事要与教师职业的其他工作时一,会犹豫或愿意选择其他职业,并缺乏令业发展规划。可见他们工作中的消极因素与迷茫状态。近一半的教师认为自己的工作待遇低,工作压力大,表示很累;同时也认为在工作上心有余而力不足,随遇而安就好了。

(二)教师教学现状

在教学中,以知识为主的教学倾向己逐渐向“以人为本”的方向发展,开始重视人在教育教学中的作用。在教学方式上,也改变了从前手把手的教育方式,转为侧重十培养学生浓厚的学习兴趣和积极的学习态度,让学生学会学习的教育方式。将近一半的教师对“自己本学科的己有知识、最新研究成果、发展趋势”不清楚,只有四分之一的教师比较清楚或十分清楚,我们的教师对本学科发展的趋势、热点问题和前沿理论关注程度还不够。

(三)教学困惑

教师们的教学困惑主要集中十自身的教学能力、相关人员的影响和教学环境与教育制度三大方面。

综上所述,我们不难发现,大多数问题集中于培训时间的压缩而导致的“时间安排紧张”和“课程安排不合理”的问题,以及在课程内容上有关“理论多而实践少”和“课程创新”等问题。

六、教学软件需求分析的指导策略

教学软件的需求分析应从开发中的需求分析拓展为包含前期需求分析以及推广应用中的用户需求分析在内的整体过程。所谓前期需求分析,是指侧重于有无进行软件开发必要性与可行性的论证的一种前端分析,目的在于使教学软件的

开发具有明确的开发方向。

教学软件作为一种“认知工具”和“学习环境”,表面上体现为功能模块的设计与开发,实质上蕴涵着以符合使用者思维习惯和学习需要的教学目标分析与设计、学习过程的设计、教学软件内容的组织等。此外,教学软件组含的教学理念很可能体现在更加微小的细节,比如软件界面的布局、各个页面间的位置关系都可能对其教学性产生影响,开发的可控制性难度大.教学软件的用户很难用语言完全准确地表达对软件系统的全面要求,一般只是较为模糊的描述。

目前教学开发领域和教育技术领域关于需求分析的研究还只停留在需求开发阶段,忽视了需求管理的理论研究和实践。一般情况下我们所说的需求分析多是特指需求的开发,而事实上,需求管理在需求工程的理论和实践领域也具有举

足轻重的地位。需求管理是一种获取、组织并记录系统需求的系统化方案,也是使客户与项目团队对不断变更的系统需求达成并保持一致的过程。因此在教学软件开发的需求分析的规范化过程中,需求管理是教学软件需求分析质量控制的重要方面。

参考文献:

[1]张海藩.软件工程[M].北京:清华大学出版社,2002.

[2]陆丽娜.软件需求[M].北京:机械工业出版社,2000.

[3]蒋慧.软件需求管理:统一化方患影印版XMl[M].北京:高等教育出版社,2002.

[4]林锐,蓝军.CMMI3级软件过程改进方法与规范[M].北京:电子工业出版社,2003.

篇5:软件工程需求分析报告

本文中,主要针对工程机械出租的各项步骤、以及设计系统的广义意义进行了分析,从而根据各部分不同的需求阐明了本系统使各个功能模块相连接并实现工作、统计的作用。

1.1 编写目的

在计算机科技的飞速发展的21世纪,软件系统以及英特网也在不断融入我们的生活。然而在工程机械出租领域,设备的种类、数量越来越多,设备管理所涉及的是巨大的系统工程,由于企业出租规模大、管理涉及面广,又是造成统计、管理不到位都将给企业的正常经营带来一定的影响,所以如何利用先进的网络技术和优异的计算机软件系统更有效的收集、处理这些设备的租借,同时建立以现代信息化为核心的管理体制,减轻相关人员人工对租借管理及数据处理的负担,完成一个工程机械设备管理系统就变得尤为重要。

1、 信息交互要求

软件系统要求利用一一切租赁操作作为输入,通过数据收集计算达到处理的目的。

2、 附加影响要求

在系统正常工作过程中,需要达到最好的人际结合效果,对其他设备的正常工作不可以有太大的影响,设计人员需要根据用户的需要做出相应的调整;

3、功能的实现要求;

在满足客户的要求下,设计人员、开发人员需要根据本文参考相关需求程度,做出相应的软件系统设计。

1.2 项目来源

本设计的初步设想来源于宏达软件体验中心。宏达软件主要从事各行业的管理软件开发和应用推广,宏达体验中心拥有多支精干、稳定的软件技术开发队伍,这些队伍不仅具有一流的专业素质和研发能力,同时还拥有丰富的系统开发经验,且具有良好的职业道德修养和综合分析能力。 随着时代的发展,宏达公司也在不断开发、完善宏达系列软件,严把质量关,用一流的软件回报用户,受到了用户的好评,宏达系列管理软件以其功能强大、

操作简便、价格低廉的特性赢得了全国广大用户的青睐。目前用户已遍及全国所有省份、自治区、直辖市;用户遍及电子、电器、医药、服装、建筑、物资、化工、商贸、超市、旅游、机械、建材、科技、通讯等各类企业公司,同时拥有大量机关、事业单位、学校、研究所等机关事业型单位用户。

随着管理自动化的程度越来越高,大部分任务都直接由各种设备来完成,因此利用先进的计算机技术来管理,提高人机工作的效率成为了一项重要手段。

1.3项目风险

本项目中,不同身份的工作人员需要对各自负责的工作及出发点等承担一定的风险。

任务提出者需要对项目的完成进度以及设计需求的整体方向负责,产品是否为大众所接将成为任务提出者所要负担的风险。

软件开发者需要对统计、收集、计算的相关程序编码是否正确承担责任,对运行软件后的一切技术上的风险承担一定的风险。

产品使用者在完成交易过后的使用过程中,需要对自己的一切操作负责,相应的需要承担软件系统在使用过程中因操作不当崩溃的风险等。

1.4 文档约定

本文的正文部分以宋体、小四为主要格式,行间距为1.5倍行距,各个主要题头的格式为黑体、四号。

本文档所涉及的一些专业术语及英文缩写如下:

Acess: Microsoft Office Access(前名 Microsoft Access)是由微软发布的关联式数据库管理系统。它结合了 Microsoft Jet Database Engine 和 图形用户界面两项特点,是 Microsoft Office的成员之一。其实Access 也是微软公司另一个通讯程序的名字,想与 ProComm 以及其他类似程序来竞争。可是事后微软证实这是个失败计划,并且将它中止。数年后他们把名字重新命名于数据库软件。Access在的时候成为了计算机等级考试中的计算机二级的一种数据库语言并且因为它的易学易用的特点正逐步取代传统的VFP成为二级中最受欢迎的数据库语言。

Visual Foxpro:Visual FoxPro简称VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。Visual FoxPro源于美国Fox Software公司推出的数据库产品FoxBase,在DOS上运行,与xBase系列相容。FoxPro原来是FoxBase的加强版,最高版本曾出过2.6。之后,Fox Software被微软收购,加以发展, 使其可以在 Windows 上

运行, 并且更名为 Visual FoxPro。目前最新版为 Visual FoxPro 9.0,而在学校教学和教育部门考证中还依然延用经典版的 Visual FoxPro 6.0。在桌面型数据库应用中,处理速度极快,是日常工作中的得力助手。

数据:泛指表示一个指定的值或条件的数字、符号(或字母)等。数据是表示信息的,但这种表示要适合传输、分析和处理。此处,常把数据当作信息的同义词。

Container:Container类是IContainer 接口的默认实现。容器是封装和跟踪零个或更多个组件的对象。在此上下文中,包容是指逻辑包容,而不是直观包容。

数据源:提供某种所需数据的原始媒体。

C/S 结构:即大家熟知的客户机和服务器结构。它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。

1.5 预期读者和阅读建议

本软件产品需求分析报告所针对的预期读者包括:

开发人员

用户

项目经理

租赁方

开发人员需要根据本文详细计划产品的开发,并且以达到最好的人机结合和为企业创造一定的经济效益为主要目的;用户需要熟知本文所描述的产品计划,以对产品有一定的了解,在之后的操作过程中才能有一定的熟练度,不以至于出现错误操作;项目经理则可以按照此文档安排项目进度以及工作经费等相关、租赁方需要对本文有一定的.了解,至少熟悉工作流程以及系统需要达到的目的,从而更好地配合出租厂商做好统计、记账、处理数据的相关方面的工作。

1.6产品范围

本产品适用于为工程项目出租机械设备的相关公司,由于大型施工设备租赁市场处于发展过程中存在着租赁企业数量多且规模小、效益差、恶性竞争严重等问题,本产品意在于协助每个工程机械设备出租公司合理地优化相关工作。

1.7 参考文献

2 产品分析

2.1产品的状况

工程机械设备管理系统提供了对基础信息录入、机械设备出车单录入、挖掘机回车单录入、员工登记录入、加油登记录入等的模式录入和表格界面录入。录入信息时可能会出现相同的信息,为了避免重复录入部分字段设置了辅助录入功能,只需输入几项即可完成录入功能,操作方便快捷,可以很大的提高工作效率。

本系统将不是产品系列中的下一成员,也同时还不是成熟产品所改进的下一代产品,但是现有应用软件却不能成为它的替代品(升级产品),所以这是一个新型的、自主型的产品。

2.2 产品的功能

根据上述分析,可以将本系统的各项子系统功能陈列如下:

1.基础信息管理系统:

本系统主要负责储存、录入及读取相关资源,这些资源主要包括:机械设备档案、供商信息、客户信息等;

2.机械设备调度管理系统:

本系统主要负责统计工程机械出车单、以及对挖掘机的租赁做相关管理管理(挖掘机回车单、某机械设备期间统计、期间统计查询);

3.压路机管理系统:

本系统主要负责运行压路机回车单、某机械设备期间统计、期间统计查询及相关方面的工作。

4.装载机管理系统:

本系统主要对装载机回车单、某机械设备期间统计、期间统计查询做相关的程序的管理。

5.重型半挂管理系统:

本系统主要对装载机回车单、某机械设备期间统计、期间统计查询做相关的程序的管理。

6.客户管理系统:

本系统主要负责记录并统计、处理客户的还款、组织客户统计表、检查并记录机械设备状态等工作。

7.员工管理系统:

本系统提供一个员工信息服务系统,可以实现员工登记、事故登记、员工考勤、员工生日提醒。

8.加油管理系统:

本系统的作用在于加油登记、加油统计、余油统计;

9.配件管理系统:

本系统主要处理配件信息、配件入库、维护领料、配件库存、旧件回收、采购申请单、采购申请明细。

10.保养审验管理系统:

本系统的作用是对设备做保养登记、对设备审验进行登记、设备审验提醒、对保养期间查询等。

11.企业与产品检索系统:

本系统可以实现在线查询企业和产品信息,可以按多种方式进行查询;

12.在线调查系统:

本系统可以实现在线调查功能,对用户进行各种情况的调查。

2.3 用户类型和特性

本系统的用户主要由以下人员组成:

1、工程机械出租管理部人员:此类人员负责的是对公司内部机械设备出租,并对其出租明细做一个详细的录入,需要时可以读取相关信息。

2、机械设备保管部门人员:负责对公司内出租的工程机械设备做定期的管理与保养,并且负责设备的出纳。

编写本文档所参考的资料如下:

[1]《施工机械信息化管理的研究[J]科技情报开发与经济》王健.11

[2]《工程机械产品图库管理信息系统的研究[J]工程机械》贺尚红.5

[3]《开发新一代设备信息管理系统》龚元明1995.6

[4] 《数据库基础与应用[M]》 成先海..

篇6:软件工程中软件需求分析的论文

关键词:面向对象;软件工程;软件需求分析

1软件工程

随着电子信息化的迅猛发展,软件工程涉及程序程序、语言、数据库、开发工具、设计模式等各方面的内容,主要是用来进行软件研究及软件分析的一门学科,软件工程师是专门进行软件开发的执行者,也可以根据所负责工作的不同划分为系统分析员、软件设计师、系统架构师及程序员等等。随着信息技术的不断升级,软件工程需要不断研究出新的产品、质量高的产,更能满足人们日常生活所需的软件产品。在这里明确指出的是,软件产品是指运用逻辑思维,将逻辑思维的结构与人们所期望的产品进行结合而研制出来的,是逻辑上存在的产品,并不是某一可以实实在在看到的物件。软件产品在使用过程中会面临许多逻辑上的错误,而且其更新换代非常快,存在很大的过时问题,其必然是需要根据时代的需求,人们的需求进行软件产品的不断更新,增加新的功能。同时,软件功能的实现是依靠用户的使用和软件的运行状态,具有一定的复杂性。

2软件需求分析具体过程

上一篇:继电保护培训总结下一篇:教师困难申请书格式