软件需求分析的任务和过程
软件工程需求分析(精品PPT)

•将功能和信息结构分配到这些系统元素中 •需求分析的任务
•深入描述软件的功能和性能 •确定软件设计的约束和软件同其它系统元素的接口细节
•定义软件的其它有效性需求
第四页,共七十七页。
需求(xūqiú)分析的具体任务
•需求分析阶段的具体任务:
•确定对系统的综合要求
•系统功能要求
第四章 析根底
软件工程 需求分 (ruǎn jiàn ɡōnɡ chénɡ)
第一页,共七十七页。
第四章 需求分析 根底 (fēnxī)
• 需求(xūqiú)分析的任务与原那么〔重点〕 • 需求分析的任务 • 需求分析的过程 • 软件需求分析的原那么 • 初步需求获取技术 • 需求建模〔重点〕 • 问题抽象、问题分解与多视点分析 • 支持需求分析的快速原型技术 • 需求规格说明书
第二十六页,共七十七页。
教务管理系统调查分析过程 1、认真学习教务管理方面的知识,重点掌握其中
的名词和术语 2、收集目前教务管理方面资料和软件,了解其特
•了解系统的需求 •软件开发是系统开发的一局部,仔细分析研究系统的需求 规格说明,对软件的需求获取是很有必要的
第十六页,共七十七页。
✓需求调查对象
对组织的高层管理者,进行组织管理目标或经营方 针等组织战略问题的调查
对中层的管理者,进行全部业务流的调查 对业务工作人员,进行详细业务信息的调查
✓市场调查 了解市场对待开发软件有什么样的要求;了解市场上 有无与待开发软件类似的系统
第十页,共七十七页。
需求(xūqiú)分析流程
第十一页,共七十七页。
软件需求(xūqiú)分析的原那么
1、需要能够表达和理解问题的信息域和功能域 信息域应包括:
需求—需求分析的任务和步骤

2010-09-05需求—需求分析的任务和步骤(转)文章分类:软件开发管理需求分析的任务和步骤任务:1. 通过对问题及其环境的理解,分析和综合,建立分析模型。
2.在完全弄清用户对软件系统的确切需要的基础上,用“软件需求规格说明书(SRS)”把用户的需求表达出来。
分析模型包含问题及其环境所涉及的信息流,处理功能,用户界面,行为模型及设计约束等。
需求说明应该具备准确性,一致性,清楚性,没有二义性,直观,易读和易于修改。
为此应尽量采用标准的图像,表格和简单的符号来表示,使不熟悉电脑的用户也能一目了然。
步骤:1.需求获取:从分析当前系统包含的数据开始,系统需求包括用户对软件功能的需求和界面的需求。
2.需求提炼:分析建模:图像化的分析模型包括数据流图,实体关系图,控制流图,状态转换图,用例图,类对象关系及其行为图等。
除系统模型外,更有系统关联图,创建用户接口原型,确定需求优先级别等。
3.需求描述:编写SRS:统一格式的文档--模板4.需求验证:改善需求中的二义性,不一致的问题。
常规的需求获取方法:1.建立联合分析小组:由用户业务人员,系统分析员和领域专家组成。
2.客户访谈:进一步确定需求。
这个过程需要系统分析员有充分的准备和良好的交流能力。
3.问题分析和确认:去掉错误的,无关的部分,整理有用的内容,以便给用户确认,并在次访谈,如此循环2-5次。
快速原型法:步骤:1.利用各种分析技术和方法,生成一个简化的需求规格说明。
2.对需求规格说明进行必要的检查和修改后,确定原型的软件结构,用户界面和数据结构等。
3.在现有的工具和环境的帮助下快速生成可运行的软件原型并进行测试,改进。
4.将原型提交给用户评估并征求用户的修改意见。
5.重复上述过程,直到原型得到用户的认可。
3.3 分析建模软件需求是指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。
通过对应问题及其环境的理解与分析,为问题涉及的信息、功能及系统行为建立模型,将用户需求精确化、完全化,最终形成需求规格说明。
工学软件需求第8课软件需求分析概述课件

第8章 软件需求分析概述
1 需求分析的根本任务 建立分析模型
建模的目的 通过软件建模,帮助我们按照实际情况或按照我们
的需要的模式对系统进行可视化,提供一种详细说明系 统的结构或者行为的方法,给出一个指导系统构造的模 板。对所有做出的决定实施文档化。
24
第8章 软件需求分析概述
1 需求分析的根本任务
此种情况出现时,可能会影响需求分析人员建立全面的理 解,因此需要采用自底向上的方法进行提炼。例如将每个业务 事件中的类进行提炼,抽取出共性的部分,建立针对整个系统 的全局领域模型。
19
第8章 软件需求分析概述
1 需求分析的过程中消除需求矛盾
(3)消除矛盾
在分析过程中,显然可能会发现有些需求是相互矛盾 的、冲突的,由于是将收集的信息放在一个预先定义的 结构中发现这些矛盾的,因此对矛盾的影响范围会有直 观的了解,也能够知道它影响那些层面。寻找相应的人 员,通过进一步需求获取来消除矛盾。
20
第8章 软件需求分析概述
1 需求分析的根本任务 建立分析模型
❖ 建立分析模型 – 将复杂的系统分解成为简单的部分以及它们之间的联系, 确定本质特征 – 和用户达成对信息内容的共同理解 – 分析的活动主要包括识别、定义和结构化,它的目的是 获取某个可以转换为知识的事物的信息
❖ 创建解决方案 – 将一个问题分解成独立的、更简单和易于管理的子问题来帮助寻找 解决方案 – 创建解决方案的过程是创造性的 – 帮助开发者建立问题的定义,并确定被定义的事物之间的逻辑关系 这些逻辑关系可以形成信息的推理,进而可以被用来验证解决方案 的正确性。
7
第8章 软件需求分析概述
1 需求分析的根本任务
15
第8章 软件需求分析概述
软件需求分析

软件需求分析基本概念 需求分析也称为软件需求分析、系统需求分析或需求分析⼯程等,是开发⼈员经过深⼊细致的调研和分析,准确理解⽤户和项⽬的功能、性能、可靠性等具体要求,将⽤户⾮形式的需求表述转化为完整的需求定义,从⽽确定系统必须做什么的过程。
⽬标需求分析是软件计划阶段的重要活动,也是软件⽣存周期中的⼀个重要环节,该阶段是分析系统在功能上需要“实现什么”,⽽不是考虑如何去“实现”。
需求分析的⽬标是把⽤户对待开发软件提出的“要求”或“需要”进⾏分析与整理,确认后形成描述完整、清晰与规范的⽂档,确定软件需要实现哪些功能,完成哪些⼯作。
此外,软件的⼀些(如软件性能、可靠性、响应时间、可扩展性等),软件设计的约束条件,运⾏时与其他软件的关系等也是软件需求分析的⽬标。
原则为了促进软件研发⼯作的规范化、科学化,软件领域提出了许多软件开发与说明的⽅法,如结构化⽅法、原型化法、等。
这些⽅法有的很相似。
在实际需求分析⼯作中.每⼀种需求分析⽅法都有独特的思路和表⽰法,基本都适⽤下⾯的需求分析的基本原则。
(1)侧重表达理解问题的数据域和功能域。
对新系统程序处理的数据,其数据域包括数据流、数据内容和数据结构。
⽽功能域则反映它们关系的控制处理信息。
(2)需求问题应分解细化,建⽴问题层次结构。
可将复杂问题按具体功能、性能等分解并逐层细化、逐⼀分析。
(3)建⽴分析模型。
模型包括各种图表,是对研究对象特征的⼀种重要表达形式。
通过逻辑视图可给出⽬标功能和信息处理间关系,⽽⾮实现细节。
由系统运⾏及处理环境确定物理视图,通过它确定处理功能和数据结构的实际表现形式。
内容需求分析的内容是针对待开发软件提供完整、清晰、具体的要求,确定软件必须实现哪些任务。
具体分为功能性需求、与设计约束三个⽅⾯。
1.功能性需求功能性需求即软件必须完成哪些事,必须实现哪些功能,以及为了向其⽤户提供有⽤的功能所需执⾏的动作。
功能性需求是软件需求的主体。
开发⼈员需要亲⾃与⽤户进⾏交流,核实⽤户需求,从软件帮助⽤户完成事务的⾓度上充分描述外部⾏为,形成软件需求规格说明书。
软件开发流程从需求到交付的全过程管理

软件开发流程从需求到交付的全过程管理在软件开发领域,有效的项目管理和流程控制是确保项目顺利完成的关键。
本文将从需求分析、设计、开发、测试、交付等方面,探讨软件开发全过程的管理。
一、需求分析需求分析是软件开发的起点,也是重要的一步。
在需求分析阶段,项目团队需要与客户充分沟通、理解客户的需求和期望,确保开发出符合客户要求的软件产品。
为了有效管理需求分析,建议项目团队采用以下流程:1. 收集需求:与客户进行会议或访谈,了解需要解决的问题和功能要求,记录并整理需求。
2. 需求优先级确定:根据需求的重要性和紧急程度,确定需求的优先级,以便在开发过程中优先考虑。
3. 需求可行性评估:评估需求的可行性,包括技术可行性、资源可行性、时间可行性等方面。
4. 需求明细化:将高层次的需求细化为具体的功能需求,包括输入输出、界面设计等。
5. 需求确认:与客户进行确认,确保需求完整、准确,并获得客户的认可。
二、设计设计阶段是将需求转化为可执行方案的过程。
在设计阶段,项目团队需要根据需求分析的结果,制定合理的架构设计和系统设计,以确保软件开发过程高效有序。
为了有效管理设计阶段,建议项目团队采用以下流程:1. 架构设计:确定系统的总体结构,包括系统层次结构、模块划分和模块之间的关系。
2. 详细设计:基于架构设计,进行更加详细的设计,包括数据库设计、算法设计、界面设计等。
3. 设计评审:进行设计评审,确保设计方案符合需求,并得到开发团队的认可。
4. 设计文档编写:编写详细的设计文档,记录设计过程和设计决策,为开发人员提供参考。
三、开发开发阶段是根据需求和设计进行具体编码的过程。
在开发阶段,项目团队需要按照设计要求,进行代码编写、模块集成和单元测试,以确保软件的功能和质量。
为了有效管理开发阶段,建议项目团队采用以下流程:1. 任务分配:根据设计要求和人员技能,合理分配开发任务,并设定明确的工期和目标。
2. 编码实现:根据详细设计和编码规范,进行代码编写,并进行适当的注释和文档编写。
第03章 软件需求分析

软件需求分析
一、需求分析的任务
二、分析过程
三、概念模型和规范化
四、软件需求分析工具
五、验证软件需求
六、小结
一、需求分析的任务
仍然回答“What”,而不是“How”, 但更细致、精确(合同的拟定)
可行性分析 DFD DD 功能具体化 需求规格说明 加细 DFD DD 算法 描述 IPO
Final stage of Definition phase
2、范式
通常用范式来消除数据冗余的程度。第一范式(1NF)数据冗余程 度最大,第五范式(5NF)数据冗余程度最小。 范式太高,存在的缺点为(1) 存储过程复杂;(2)稳定性较差; (3)性能下降。较为理想是选用第三范式。 ※ 第一范式:每个属性值都必须是原子值(不可再分的数据项)。例 如:下表(表3-1)是满足第一范式的关系数据库(W)。 日期 95.05 95.05 95.05 95.05 95.06 95.06 95.06 95.06 工号 101 102 103 104 101 102 103 104 姓名 丁一 王二 张三 李四 丁一 王二 张三 李四 工种 车工 车工 钳工 电工 车工 车工 钳工 电工 定额 80 80 75 70 80 80 75 70 超额 22% 17% 14% 20% 19% 25% 16% 26% 车间 金工 金工 动力 动力 金工 金工 动力 动力 车间主任 李明 李明 赵杰 赵杰 李明 李明 赵杰 赵杰
101 102 103 104
丁一 王二 张三 李四
车工 车工 钳工 电工
80 80 75 70
金工 金工 动力 动力
李明 李明 赵杰 赵杰
表3-3
W2关系数据库
表3-2 W1关系数据库
软件工程的六个过程
软件工程的六个过程软件工程是通过系统化、规范化的方法和工具,以科学的原理、技术和方法来开发和维护软件产品的学科。
软件工程的过程指的是将软件开发活动划分为若干个连续的阶段,每个阶段都包含着一系列的活动和任务。
在软件工程的实践中,通常有六个主要的过程:需求分析、设计、编码、测试、部署和维护。
本文将逐一介绍这六个过程,并探讨它们在软件开发中的重要性。
一、需求分析需求分析是软件工程过程中的第一个阶段,它的主要任务是从用户和客户的角度,明确软件系统的需求和功能。
在需求分析阶段,软件工程师需要与用户进行有效的沟通和交流,了解用户的需求,并将其转化为可操作的规格说明。
需求分析要求软件工程师具备良好的沟通技巧和深入了解用户的能力,以确保需求的准确性和完整性。
二、设计设计是软件工程过程中的第二个阶段,它的主要任务是根据需求分析的结果,制定系统的整体架构和详细设计方案。
在设计阶段,软件工程师需要考虑系统的结构、组件、接口等方面,并综合考虑系统的性能、可扩展性和可维护性等需求。
设计的质量直接影响着后续开发和测试的效果,因此,良好的设计是确保软件项目成功的重要因素之一。
三、编码编码是软件工程过程中的第三个阶段,它的主要任务是根据设计的结果,实现系统的具体功能。
在编码阶段,软件工程师需要根据设计文档和规范,使用编程语言将系统的各个组件进行编写。
编码需要注意代码的可读性、可维护性和代码的质量,同时还要遵循相应的编码规范和标准,以便于后续的测试、集成和维护。
四、测试测试是软件工程过程中的第四个阶段,它的主要任务是验证和评估系统的功能和质量。
在测试阶段,软件工程师需要编写测试用例、进行功能测试、性能测试、安全性测试等一系列的测试活动,以确保系统的正确性和稳定性。
测试既可以手动进行,也可以借助自动化测试工具进行。
良好的测试可以有效地发现和修复软件中的缺陷,提高系统的可靠性和质量。
五、部署部署是软件工程过程中的第五个阶段,它的主要任务是将测试通过的软件系统部署到实际的运行环境中。
软件需求分析实验报告
软件需求分析实验报告篇一:实验二需求分析报告实验二传统软件工程的需求分析建模一、实验目的目的:确定项目要做什么及其可实施性,在此基础上完成系统的逻辑功能模型的建立。
任务:可采用不同的需求分析技术,完成对项目的需求分析过程,给出系统的逻辑功能模型,数据字典以及规格说明书。
二、实验内容1. 实验内容与要求:熟悉系统项目的业务流程,根据现有资料绘制系统数据流图,功能分析图,编写数据字典,数据加工处理的描述以及软件系统流程设想图(新系统模型),完成系统需求规格说明书。
2. 准备参考资料和阅读相关的国家有关软件开发的标准文档。
三、主要仪器设备Windows 7操作系统。
四、实验步骤患者监护系统需求分析报告2.1 引言人员管理的合理化和经营化是医院经营效益的关键。
拥有了先进的技术还要有更加良好的管理体制,才可以让医院的经营效益发挥到最好的状态。
充分利用现代先进的技术,可以节约大量的人力资源和财力资源。
2.2 功能描述患者监护系统主要有以下几方面的功能:(1)数据接收处理:通过连接在病人身上的传感器,根据传感器的值将生理信号(脉搏、体温、血压、呼吸、心电图)输入系统,并接收医护人员输入的对应病人基本信息并根据病人的实际情况确定病人的生理信号安全范围。
(2)监护管理:进行超标判定,对超过设定安全范围的病人及时通知医护人员以及向病人家属发送短信通知。
(3)对病人档案的查询处理:工作人员可以对病人的基本信息(病人姓名、病人性别、住址、联系电话、患病名称、入院日期、备注)进行删除和修改。
可以对这一段时间的病人病情进行查询,也可以对查询的病人病情打印出病情报告。
2.3 数据流图数据流图是组织中信息运动的抽象,是管理信息系统逻辑模型的主要形式。
它可以综合的反映出信息在系统中的流动、处理和存储情况,具有良好的抽象性和概括性。
2.3.1 需求概述本系统由“数据接收处理”“监护管理”“对档案查询处理”三个功能模块组成。
(1)数据接收子系统包含四个功能模块:“病人生理信号处理中心”、“时钟采样处理”、“病人基本信息处理”、“安全范围设定”。
软件需求分析
1.5 数 据 字 典
数据字典是描述数据信息的集合, 数据字典是描述数据信息的集合,是对系统中使用的所有数 据元素的定义的集合。 据元素的定义的集合。 数据字典的作用是在软件分析和设计过程中提供数据描述, 数据字典的作用是在软件分析和设计过程中提供数据描述, 是数据流图必不可少的辅助资料。 是数据流图必不可少的辅助资料。 数据字典包含以下信息。 数据字典包含以下信息。 数据、 (1)名字 )名字——数据、控制项、数据存储或外部实体的名称。 数据 控制项、数据存储或外部实体的名称。 第一项中对象的其他名字。 (2)别名 )别名——第一项中对象的其他名字。 第一项中对象的其他名字 使用数据或控制项的处理的列表, (3)使用地点与方式 )使用地点与方式——使用数据或控制项的处理的列表,以 使用数据或控制项的处理的列表 及使用这些对象的方式。 及使用这些对象的方式。 描述数据或控制项内容的符号。 (4)内容描述 )内容描述——描述数据或控制项内容的符号。 描述数据或控制项内容的符号 关于数据类型、 (5)补充信息 )补充信息——关于数据类型、预置值、限制等的其他信息。 关于数据类型 预置值、限制等的其他信息。
第1章 软件需求.1 需求分析的任务
需求分析是研究用户要求, 需求分析是研究用户要求,以得到目标系统 的需求定义的过程。 的需求定义的过程。 需求分析的基本任务是软件开发人员和用户 一起完全弄清用户对系统的确切要求。 一起完全弄清用户对系统的确切要求。 需求分析是理解、分析和表达“ 需求分析是理解、分析和表达“系统必须做 什么”的过程。 什么”的过程。
24
3.IPO图
IPO图是输入 处理 输出图,是美国 图是输入/处理 输出图,是美国IBM公司 图是输入 处理/输出图 公司 发展完善起来的图形工具。 发展完善起来的图形工具。
软件开发过程规范
软件开发过程规范第一部分软件需求分析规范1、引言本标准规定了软件需求分析阶段的任务、过程和相关要求,以及需求分析阶段的完成标志。
它是软件开发规范的组成部分。
本标准适用于软件需求分析阶段的所有任务和相关人员,包括项目管理人员、软件需求分析人员、文档编制人员和质量审核人员。
2、参考文献2.12.22.32.42.5GB8566-88计算机软件开发规范ISO/IEC :1995信息技术——软件生存周期过程GXB 02-001软件开发规范:第一部分软件生存周期GXB 01-001软件工程术语GXB 02-007软件测试规范3、术语本标准的术语的定义与GXB 01-001软件工程术语中的定义相同等。
4、需求分析的任务和过程4.1需求分析任务确定被开发软件的运行环境、功能、性能和数据需求,建立确认测试准则,编写用户手册,为概要设计提供需求说明书。
4.2需求分析过程需求分析过程由下列步骤组成:1)确定需求分析方法和工具;2)人员培训;3)确定需求分析输入;4)需求分析;5)制定确定测试计划;6)修改开发计划;7)体例文档;8)需求分析审查;9)需求分析文档存档。
5、总体要求5.1用户参与软件需求分析应该有客户指定的人员参加。
5.2用户确认需求说明必须明确,经过客户同意,并用合同的方式予以确认。
5.3面向用户描述需求应以用户可以了解的形式和术语描述需求,以利于与用户相同。
6、需求分析流程6.1确定需求分析方法和工具选定符合的需求分析方法,在一个软件项目内所用的分析方法应该保持同等性。
候选分析方法:1)结构分析方法,包括面向数据流的分析方法和面向数据结构的分析方法。
2)面向对象的分析方法。
在需求分析方法选定后,应确定支持该方法的工具。
在一个软件项目内,需求建模语言和工具应该保持一致性和规范化。
6.2人员培训针对所选定的设计方法和工具,以及相关的标准对需求人员进行相应的培训。
这是一个可选项,但对于新的方法和工具,或新的分析人员,培训是必需的。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(5)源点及汇(终)点词条描述
名称:外部实体名 简要描述:什么外部实体 有关数据流: 数目:
数据结构的描述
符号
含义
举例
=
被定义为
+
与 x = a+b
[...,...] 或 [...|...] 或 x = [a , b],x = [a | b]
{ ... }或 m{...}n 重复 x = {a}, x = 3{a}8
分层的数据流图
在多层数据流图中,顶层流图仅包 含一个加工,它代表被开发系统。 它的输入流是该系统的输入数据, 输出流是系统所输出数据
底层流图是指其加工不需再做分解 的数据流图,它处在最底层
中间层流图则表示对其上层父图的 细化。它的每一加工可能继续细化, 形成子图。
结构化分析方法步骤示例 商店业务处理系统
第一层数据流图
加细每一个加工框
销售细化
采购细化
检查和修改数据流图的原则
数据流图上所有图形符号只限于前 述四种基本图形元素 数据流图的主图必须包括前述四种 基本元素,缺一不可 数据流图的主图上的数据流必须封 闭在外部实体之间 每个加工至少有一个输入数据流和 一个输出数据流
在数据流图中,需按层给加工框编 号。编号表明该加工所处层次及上 下层的亲子关系
被开发项目的数据流与数据结构是 否足够,确定;
所有图表是否清楚,在不补充说明 时能否理解;
主要功能是否已包括在规定的软件 范围之内,是否都已充分说明;
设计的约束条件或限制条件是否符 合实际;
开发的技术风险是什么;
是否考虑过软件需求的其它方案; 是否考虑过将来可能会提出的软件需
求; 是否详细制定了检验标准,它们能否
“5”表示工资户等 印密=“0” 注:印密在存折上不显示 存取行=日期+(摘要)+支出+存入+
余额+操作+复核
基本加工逻辑说明
对数据流图的每一个基本加工,必 须有一个基本加工逻辑说明
基本加工逻辑说明必须描述基本加 工如何把输入数据流变换为输出数 据流的加工规则 加工逻辑说明必须描述实现加工的 策略而不是实现加工的细节 加工逻辑说明中包含的信息应是充 足的,完备的,有用的,无冗余的
如果被开发软件只是一个大系统中 的一个元素,那么整个大系统也包 括在规格说明的描述之中
规格说明必须包括系统运行环境 规格说明必须是一个认识模型 规格说明必须是可操作的 规格说明必须容许不完备性并允许
扩充 规格说明必须局部化和松散耦合
软件需求方法
需求分析方法由对软件问题的信息 域和功能域的系统分析过程及其表 示方法组成 大多数的需求分析方法是由信息驱 动的 信息域具有三种属性: 信息流、信 息内容和信息结构。
将功能和信息结构分配到这些系统 元素中
需求分析的任务就是借助于当前系 统的逻辑模型导出目标系统的逻辑 模型,解决目标系统的 “做什么” 的问题。
通常软件开发项目是要实现目标系 统的物理模型
目标系统的具体物理模型是由它的 逻辑模型经实例化,即具体到某个 业务领域而得到的
需求分析的过程
(1) 问题识别
(2) 分析与综合
从信息流和信息结构出发,逐步细 化所有的软件功能,找出系统各元 素之间的联系、接口特性和设计上 的约束,分析它们是否满足功能要 求,是否合理。剔除其不合理的部 分,增加其需要部分。最终综合成 系统的解决方案,给出目标系统的 详细逻辑模型。
常用的分析方法
面向数据流的结构化分析方法 (SA) 面向数据结构的Jackson方法 (JSD) 面向数据结构的结构化数据系统开 发方法 (DSSD) 面向对象的分析方法 (OOA) 等
可执行规格说明
可执行规格说明是用于需求规格说 明的一种自动化技术。使用这种方 法,人们可以直接观察他们用语言 规定的任何系统性行为。包括
代数规格说明 有限状态模型 可执行的数据流图
(1)代数规格说明
代数规格说明使用集合、定义于这 些集合上的函数和定义于这些函数 上的方程来描述对象。规格说明的 操作语义用这些方程表示。
这个数据流图只是一个高层的系统逻 辑模型,它反映了目标系统要实现的 功能
数据流图绘制步骤
首先确定系统的输入和输出
根据商店业务,画出顶层数据流 图,以反映最主要业务处理流程
经过分析,商店业务处理的主要 功能应当有销售、采购、会计三 大项。主要数据流输入的源点和 输出终点是顾客和供应商。
然后从输入端开始,根据商店业 务工作流程,画出数据流流经的 各加工框,逐步画到输出端,得 到第一层数据流图
(3) 编制需求分析阶段的文档
软件需求说明书 数据要求说明书 初步的用户手册 修改、完善与确定软件开发实施计
划
(4) 需求分析评审
系统定义的目标是否与用户的要求一 致;
系统需求分析阶段提供的文档资料是 否齐全;
文档中的所有描述是否完整、清晰、 准确反映用户要求;
与所有其它系统成分的重要接口是否 都已经描述;
软件开发者对于所要解决的应用问 题认识更是模糊不清
随着开发工作向前推进,用户可能 会产生新的要求,或因环境变化, 要求系统也能随之变化;开发者又 可能在设计与实现的过程中遇到些 没有预料到的实际困难,需要以改 变需求来解脱困境。
因此规格说明难以完善、需求的变 更、以及通信中的模糊和误解,都 会成为软件开发顺利推进的障碍。
数据流图
数据流图中的主要图形元素 数据加工 (数据变换) 数据源点或终点 (外部实体) 数据流 数据存储文件
描述银行取款过程的数据流图
数据流与数据加工之间的关系
数据流图的层次结构
为了表达数据处理过程的数据加工 情况,需要采用层次结构的数据流 图。按照系统的层次结构进行逐步 分解,并以分层的数据流图反映这 种结构关系,能清楚地表达和容易 理解整个系统
规定任何一个数据流子图必须与它 上一层的一个加工对应,两者的输 入数据流和输出数据流必须一致。 此即父图与子图的平衡
可以在数据流图中加入物质流,帮 助用户理解数据流图
图上每个元素都必须有名字
数据流图中不可夹带控制流
初画时可以忽略琐碎的细节,以集中 精力于主要数据流
数据词典
数据词典与数据流图配合,能清楚地 表达数据处理的要求 词条描述 —— 对于在数据流图中每 一个被命名的图形元素,均加以定义, 其内容有: 名字,别名或编号,分 类,描述,定义,位置,其它,等
(...)
可选
x = (a)
“...”
基本数据元素 x = “a”
..
连结符
x = 1..9
存折格式
存折=户名+所号+帐号+开户日+性质 +(印密)+1{存取行}50
户名=2{字母}24 所号=“001”..“999” 帐号=“00000001”..“99999999” 开户日=年+月+日 性质=“1”..“6” 注:“1”表示普通户,
使用原型化方法,可以容易地确 定系统的性能,确认各项主要系 统服务的可应用性,确认系统设 计的可行性,确认系统作为产品 的结果。
软件原型的最终版本,有的可以 原封不动地成为产品,有的略加 修改就可以成为最终系统的一个 组成部分,这样有利于建成最终 系统。
原型开发技术
可执行规格说明 基于脚本(scenario)的设计 自动程序设计 专用语言 可复用(reusable)的软件 简化假设
(3)数据文件词条描述
数据文件名: 简述:存放的是什么数据 输入数据: 输出数据: 数据文件组成:数据结构 存储方式:顺序,直接,关键码 存取频率:
(4)加工逻辑词条描述
加工名: 加工编号:反映该加工的层次 简要描述:加工逻辑及功能简述 输入数据流: 输出数据流: 加工逻辑:简述加工程序,加工顺 序
举例:定义一个无界的栈及其操作
NEW_STACK:→ Stack PUSH:Stack,Element → Stack POP: Stack → (Element | Undefined) POP (NEW_STACK ( ) ) = Undefined POP (PUSH ( stk,elem ) ) = elem
简单陈述句结构:避免复合语句; 重复结构:while_do 或
repeat_until 结构。 判定结构:if_then_else 或
case_of 结构;
商店业务处理系统中“检查发货单”
if 发货单金额超过$500 then if 欠款超过了60天 then 在偿还欠款前不予批准 else (欠款未超期) 发批准书,发货单
(1)数据流词条描述
数据流名: 说明:简要介绍作用即它产生的原因 和结果 数据流来源:来自何方 数据流去向:去向何处 数据流组成:数据结构 数据量流通量:数据量,流通量
(2)数据元素词条描述
数据元素名: 类型:数字(离散值,连续值), 文字(编码类型) 长度: 取值范围: 相关的数据元素及数据结构:
软件需求分析的任务和过程 结构化分析方法 原型化方法 动态分析方法 数据及数据库需求
软件需求分析的任务
深入描述软件的功能和性能 确定软件设计的约束和软件同 其它系统元素的接口细节 定义软件的其它有效性需求
需求分析研究的对象是软件项目的 用户要求
准确地表达被接受的用户要求
确定被开发软件系统的系统元素
欠款>60天 不发出批准书
检 查 发
金额>$500
欠款60天 发出批准书、 发货单
货 单
金额$500
欠款>60天 发出批准书、 发货单及赊欠报告
欠款60天 发出批准书、
发货单
原型化方法
在开发初期,要想得到一个完整准 确的规格说明不是一件容易的事。 特别是对一些大型的软件项目。
用户往往对系统只有一个模糊的想 法,很难完全准确地表达对系统的 全面要求。
else (发货单金额未超过$500) if 欠款超过60天 then 发批准书,发货单及赊欠报告 else (欠款未超期) 发批准书,发货单