第3章 软件需求分析与建模

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

就是要通过软件开发人员与用户的交流和讨论,准确地
获取用户对系统的具体要求,见图1.11。 需求分析阶段 理解需求 生成、提交 作为 设计阶段的依据 图3.2 结束 7
软件规格说明书
2015-6-1 返回
第1章 软件工程引论
1.3 软件生存期(software life cycle)
(1)软件定义时期 软件定义部分又可划分为问题定义、可行性研究和需 求分析三个阶段。 撰写 任务
2015-6-1 返回 结束 31
第3章 软件需求分析与建模
3.2 数据建摸
3.2.2 方框层次图 层次方框图非常适合描述自顶向下的需求分 析方法中数据的层次关系。 系统分析员可以从对顶层信息的分类开始, 沿着层次图中的每条路径逐步细化,直到确定 了数据结构的全部细节为止。
2015-6-1
返回
结束
需求分析员 软件设计人员
留下隐患 花时搞清需求 建好模型
用户
问题二 图3.3 2015-6-1 返回
系统模型 9
结束
第4章 软件需求分析与建模 功能需求 非功能需求 用户需求 业务需求
(3) 系统的需求分类 是从各个角度对系统的约束和限制,反映了应用对 定义了开发人员必须实现的软件功能,使得用户能完 反映了组织机构或客户对系统或产品高层次的目 描述了用户使用产品必须要完成的任务,可以在 软件系统质量和特性的额外要求。主要包括: 成他们的任务,从而满足了业务需求。 用例模型或方案脚本中予以说明。 标要求,它们在项目视图与范围文档中予以说明。 过程需求(如交付需求、实现方法需求等) 主要说明了待开发系统在功能上实际应做些什么,是 产品需求 (如可靠性需求、可移植性需求、安全保密性 需求 ) 用户最主要的需求。通常包括系统的输入、系统能完成 外部需求(如法规需求、费用需求等)等。 的功能、系统的输出及其他反应。
3.1 软件需求分析
3.1.5 需求分析模型
实体关系图
(ER,Entity Relation): 数据流图 数据建模的基础,
(DFD,Data Flow Diagram): 描述数据对象及其关系; 状态转换图 功能建模的基础, (ST,Status Tranformtion) 描述数据怎样转换以及转换的功能; 行为建模的基础, 表示系统的各种行为状态 以及状态间的转换方式。 ; 图3.6 需求分析模型 返回 结束
输入
图3.1 需求分析的目的
2015-6-1
输出
返回
结束
5
第3章 软件需求分析与建模
3.1 软件需求分析
3.1.1 需求分析的任务 3.1.2 需求分析的步骤 3.1.3 需求分析的原则
2015-6-1
返回
结束
6
第3章 软件需求分析与建模
3.1 软件需求分析
3.1.1 需求分析的任务
(1)需求分析的主要任务
图3.4 需求分析类型 2015-6-1 返回 结束 10
第3章 软件需求分析与建模
3.1 软件需求分析
3.1.2 需求分析的步骤
需求获取
需求分析
需求建模 编写需求文档 需求验证
2015-6-1
返回
结束
11
第3章 软件需求分析与建模
3.1.2 需求分析的步骤
需求分析阶段的工作,大致可分为如下几个步骤进行: (1) 获取用户的需求 软件开发人员只有通过认真细致的调查研究,才能获得 进行系统分析的原始资料。需求信息的获取可来源于: 阅读描述系统需求的用户文档;
软 件 定 义 时 期 问题定义
要解决的 问题是什么
系统分析报告
可行性研究 需求分析
任务是否有可行
的解决办法
撰写
可行性分析报告 初步项目计划
任务
目标系统 必须做什么
撰写
需求规格说明书
图1.11
进入下一时期
第3章 软件需求分析与建模 3.1.1 需求分析的任务 (2)需求分析研究的对象
由于需求分析研究的对象是用户对开发项目的要求,在实现 这一阶段任务时必须要注意两个问题。 交流的难题 问题一
(3) 能够给出系统的逻辑表示和物理表示 系统需求的逻辑表示用于指明系统所要达到的功能要求和 需要处理的数据,不涉及实现的细节。 系统需求的物理表示用于指明处理功能和数据结构的实际 表现形式,通常由系统中的设备决定。
2015-6-1
返回
结束
18
第3章 软件需求分析与建模
3.1 软件需求分析
3.1.4 需求分析的方法
(3) 需求建模 对于确定的系统需求,软件开发人员要通过现有的需 求分析方法及工具对其进行清晰、准确的描述,建立无二 义性的、完整的系统逻辑模型。 2015-6-1 返回 结束 13
第3章 软件需求分析与建模
3.1.2 需求分析的步骤
(4) 书写需求说明书 需求阶段应提交的主要文档包括需求规格说明书、初步 的用户手册和修正后的开发计划。其中,需求规格说明书是 对分析阶段主要成果的综合描述,是该阶段最重要的技术文 档。
返回
结束
29
第3章 软件需求分析与建模
职工号 出勤时数 请假时数 旷工时数
出勤 1 职工号 性别 年龄 奖励 n 奖金 1 1 扣款 n 扣款 考勤 1 职工 职称 基本工资 部门
图3.12 工 资 计 算 系 统
ER 图
序号
2015-6-1
职工号
奖项
返回
金额
Байду номын сангаас
序号
职工号
结束
扣项
金额
30
第3章 软件需求分析与建模
第2章 软件工程过程模型
引言
瀑布模型(waterfall model)
定义
部分 制定计划 需求分析 软件设计 开发部分 程序编写 软件测试
维护部分
运行/维护
图2.7 瀑布模型
2015-6-1
返回
结束
1
第3章 软件需求分析与建模
3.1 需求分析 3.2 数据建模 3.3 3.4 3.5 3.6 功能建模 行为建模 数据字典 结构化需求分析的若干技术
2015-6-1
返回
结束
14
第3章 软件需求分析与建模 3.1.2 需求分析的步骤
(5) 需求复审 为了保证软件开发的质量,对需求分析阶段的工作要 按照严格的规范进行复审,从不同的技术角度对该阶段工 作做出综合性的评价。 复审即要有用户参加,也要有管理部门和软件开发人 员参加。
2015-6-1
返回
3.1 软件需求分析
3.1.5 需求分析模型
结构化分析导出的分析模型包括数据模型、 功能模型和行为模型。 该模型以“数据字典”为核心,描述了软 件使用的所有数据对象,围绕这个核心的是 “实体关系图”、“数据流图”和“状态转
换图”。具体形式如下图所示:
2015-6-1 返回 结束 21
第3章 软件需求分析与建模
3.2 数据建摸
3.2.2 方框层次图 层次方框图也是数据建模的图形工具
层次方框图通过树型结构的一系列多层次的 矩形框描述复杂数据的层次结构。 树型结构顶端的矩形框只有一个,用于代表 完整的数据结构。下面各层的矩形框是对完整数 据结构的逐步分解和细化得到的数据子集;底层 的矩形框代表组成该数据结构的基本元素,是数 据的最小单位,不可再分割。
属性 关系
相互连接, ER用直线连接相关 标记的矩形来表示。 联的数据对象,并在直线上用 属性也称性质,指数据对象某 带标记的菱形框来表示关系。
一方面的特征, ER用带有标记的 它们对理解问题的信息域提供了基础。 椭圆来表示。
2015-6-1 返回 结束 24
第3章 软件需求分析与建模
3.2 数据建摸
结束
15
第3章 软件需求分析与建模
3.1 软件需求分析
3.1.3 需求分析的原则
目前存在着许多需求分析的方法,虽然各种方法都有其独 特的描述方法,但不论采用何种方法,需求分析都必须遵循以 下基本原则: (1) 能够表达和理解问题的数据域和功能域
所有软件开发的最终目的都是为了解决数据处理的问题, 数据处理的本质就是将一种形式的数据转换成另一种形式的数 据。需求分析阶段必须明确系统中应具备的每一个加工、加工 的处理对象和由加工所引起的数据形式的变化。
第3章 软件需求分析与建模
3.1 软件需求分析
3.1.5 需求分析模型
需求分析产生的模型使人们可以更好地 理解将要建造的系统,它有助于系统分析员 理解系统的信息、功能和行为,成为确定需
求规格说明完整性、一致性和精确性的重要
依据,奠定了软件设计的基础。
2015-6-1
返回
结束
20
第3章 软件需求分析与建模
2015-6-1 返回 结束 16
第3章 软件需求分析与建模 3.1.3 需求分析的原则
(2) 分解
为了便于问题的解决和实现,在需求分析过程中需要对于
原本复杂的问题按照某种合适的方式进行分解(对功能域和数据
域均可)。使系统的理解和实现变得较为容易。
2015-6-1
返回
结束
17
第3章 软件需求分析与建模 3.1.3 需求分析的原则
3.7 验证软件需求
2015-6-1 返回 结束 2
第3章 软件需求分析与建模
【难点、重点】
本章的学习重点在于理解软件需求的概
念和重要性,熟悉需求开发和需求管理的
基本思想和主要活动,掌握结构化的分析
方法;
难点是怎样在实际的软件项目中灵活 运用这些思想和方法。
2015-6-1 返回 结束 3
第3章 软件需求分析与建模
【学习目的】
本章介绍需求分析的意义、概念和方法,了 解结构化分析方法和需求管理的关键活动;
要求学会运用实体关系图、数据流图和状态
控制图进行结构化分析建模,能够编写软件需求
规格说明书。
2015-6-1
返回
结束
4
第3章 软件工程过程模型
软件需求分析的目的
需求分析
待开发项目的
可行性分析的基础上
建立目标系统的 逻辑模型
32
第3章 软件需求分析与建模
3.2 数据建摸
3.2.2 方框层次图 例如,某单位职工的实发工资由应发工资 和扣款两部分组成,每部分又可进一步细分。 如应发工资又可分为基本工资和奖金;基本工
母亲
2015-6-1 1
关系
n
对象 B
孩子
结束
1
母子
n
图3.9 一对多关系
返回
27
第3章 软件需求分析与建模
3.2.1 实体关系图
多对多(M:N):对象 A的一个实例可以关联到对
象B的一个或多个实例,同时对象 B的一个实例也
可以关联到对象A的一个或多个实例,如一个叔叔
可以有多个侄子,一个侄子也可以有多个叔叔。 对象 A
2015-6-1
22
第3章 软件需求分析与建模
3.2 数据建摸
3.2.1 实体关系图
3.2.2 方框层次图 3.2.3 Warnier图
2015-6-1
返回
结束
23
第3章 软件需求分析与建模
3.2 数据建摸
3.2.1 实体关系图 (1)数据模型包括三种基本元素: 数据对象表示具有不 关系表示数据对象之间的 同属性的事物, ER用带有 数据对象
对象 A 丈夫
返回
1
关系
1
对象 B 妻子
26
1
夫妻
1
图3.8 一对一关系 2015-6-1
结束
第3章 软件需求分析与建模
3.2.1 实体关系图
一对多(1:N):对象 A的一个实例可以关联到 对象B的一个或多个实例,而对象 B的一个实例 只能关联到对象A的一个实例,如一个母亲可以
有多个孩子,而一个孩子只能有一个母亲。 对象 A
实体关系图 进行
分 析 建 模 方 法
数据建模 功能建模
结构化分析 (SA) 面向对象分析 (OOA)
数据流图 状态转换图
进行 进行
动态建模
面向对象分析 结构化分析 (OOA,Object Oriented Analysis) (SA,Structure Analysis)
结束 19
图3.5 需求分析方法 返回 2015-6-1
叔叔
2015-6-1 返回 m
关系
n
对象 B
图3.10 多对多关系
m
叔侄
n
侄子
结束 28
第3章 软件需求分析与建模
学号 姓名 m n 课号 课名
专业
学生
选课
课程
学时
图3.11
年级 (a) 学号 姓名 1 n n
学分
学 生 选 课 图
ER
课号 1
课名
专业
学生
选课单
课程
学时
年级
学号
课号 (b)
学分
2015-6-1
对相关软件、技术的市场调查;
对管理部门、用户的访问咨询; 对工作现场的实际考察等。 2015-6-1 返回 结束 12
第3章 软件需求分析与建模
3.1.2 需求分析的步骤
(2) 需求分析
对于获取的原始需求,软件开发人员需要根据掌握的 专业知识,运用抽象的逻辑思维,找出需求间的内在联系 和矛盾,去除需求中不合理和非本质的部分,确定软件系 统的真正需求。
3.2.1 实体关系图 (2)ER图中的基本符号
属性
连接 图3.7 ER图的符号
2015-6-1
返回
结束
25
第3章 软件需求分析与建模
3.2.1 实体关系图
两个数据对象之间有以下三种关联,ER在数据对象之间 的连线上用数字或字母表示: 一对一(1:1):对象 A的一个实例只能关联到对象B的一 个实例,对象 B的一个实例也只能关联到对象A的一个实例.
相关文档
最新文档