《软件工程实用教程》第3 章 结构化需求分析

合集下载

软件工程 第3章 结构化分析与设计 3-1章 需求分析和结构化系统分析 CUMT 11-07-26

软件工程 第3章 结构化分析与设计 3-1章 需求分析和结构化系统分析 CUMT 11-07-26

需求工程
系统服务 运行环境
课件制作人:谢希仁
需求工程的基本活动包括:
获取需求;深入实际,在充分理解用户需求的基础上 ,获取系统需求。

●需求分析与建模;进行需求建模、对模型或原型进行 分析。 ● 确认需求;确保需求说明准确、完整地表达系统的 主要特性。 ● 进化需求。客户的需要总是不断(连续)增长的 , 进化需求是必要的。
IEEE Standard Glossary of Software Engineering Terminology
用户解决一个问题或达到一个目标所需要 的一种状况或能力 主观需求 系统为了满足一种约定、标准、规格说明 或其它正式文件而必须满足或拥有的一种 状况或能力 客观需求 以上两种状态或能力的文档化表示 需求文档 课件制作人:谢希仁
需求工程国际会议(ICRE)。一些关于需求工程
的工作小组相继成立,使需求工程的研究得到了迅 速进展。
课件制作人:谢希仁
软件需求的重要性
软件需求无疑是当前软件工程中的关键问题,
没有需求就没有软件。
美国于1995年开始对全国范围内的8000个软件项目 进行跟踪调查。
分析失败的原因发现,
与需求过程相关的原因占了 45%,而其中缺乏最终用户的
⑴ 基本数据维护功能
⑵ 基本业务功能
⑶ 数据库管理功能
⑷ 信息查询功能
课件制作人:谢希仁
1. 功能需求 ⑴基本数据维护功能: 提供使用者录入,修改并进行维护基本数据的 途径。基本数据包括读者的信息、图书资料的相关 信息,可以对这些信息进行修改,更新。 ⑵基本业务功能:
读者借、还书籍的登记管理功能,随时根据读
第3章 结构化分析与设计
第3-1章 需求分析和 结构化系统分析

软件工程实用教程第三版-郭宁主编-课后习题及答案

软件工程实用教程第三版-郭宁主编-课后习题及答案

软件工程实用教程第三版-郭宁主编-课后习题及答案第一章软件工程引论1.在下列选项中,(D)不是软件的特征。

A.系统性与复制性 B. 可靠性与一致性 C.抽象性与智能型 D.有形性与可控性2.软件是一种(B)产品。

A.有形 B. 逻辑 C. 物质 D. 消耗3.软件工程是一种(A)分阶段实现的软件程序开发方法。

A.自顶向下B. 自底向上C. 逐步求精D. 面向数据流4.与计算机科学的理论研究不同,软件工程是一门(B)学科。

A.理论性 B. 工程性 C. 原理性 D. 心理性5.软件工程与计算机科学性质不同,软件工程着重于(C)。

A.原理探讨 B. 理论研究 C. 建造软件系统D. 原理性的理论6.下列说法正确的是(B)A.软件工程的概念于20世纪50年代提出B.软件工程的概念于20世纪60年代提出C.20世纪70年代出现了客户机/服务器技术D.20世纪80年代软件工程学科达到成熟7.软件工程方法学中的软件工程管理是其中的一个重要内容,它包括软件管理学和软件工程经济学,它要达到的目标是(D)A.管理开发人员,以开发良好的软件B.采用先进的软件开发工具,开发优秀的软件C.消除软件危机,达到软件生产的规模效益D.以基本的社会效益为基础,工程化生产软件第二章软件生命周期及开发模型1.软件生命周期包括可行性分析和项目开发计划、需求分析、总体设计、详细分析、编码、(B)、维护等活动。

A.应用 B. 测试 C. 检测 D. 以上答案都不正确2.软件生命周期模型有多中,下列项目中,(C)不是软件生命周期模型。

A.螺旋模型 B. 增量模型 C. 功能模型 D.瀑布模型3.软件生命周期中时间最长的阶段时(D)A.需求分析阶段 B. 总体设计阶段 C. 测试阶段 D. 维护阶段4.瀑布模型是一种(D)A.软件开发方法B. 软件生存周期C. 程序设计方法学 D. 软件生存周期模型5.软件开发中常采用的结构化生命周期方法,由于其特征而一般称其为(A)A.瀑布模型B. 对象模型C. 螺旋模型D. 层次模型6.在结构化的瀑布模型中,(D)阶段定义的标准将成为软件测试中系统测试阶段的目标A.详细设计阶段B. 总体设计阶段C. 可行性研究阶段 D. 需求分析7.增量模型是一种(B)的模型A.整体开发B. 非整体开发C. 灵活性差D.较晚产生工作软件8.(C)是指模拟某种产品的原始模型A.模型B. 最初模型C. 原型D. 进化模型9.建立原型的目的不同,实现原型的途径也有所不同,下列不正确的类型是(B)A.用于验证软件需求的原型B. 垂直原型C.用于验证设计方案的原型 D.用于演化出目标系统的原型10.原型化方法是一种(A)型的设计过程。

数据字典的定义方法_软件工程实用教程 (第2版)_[共2页]

数据字典的定义方法_软件工程实用教程 (第2版)_[共2页]

据字典中的一个条目)。

数据字典中的条目应按一定次序排列,以方便人们查阅。

2.数据字典的用途数据流程图和数据字典一起构成了系统的逻辑模型。

没有数据字典,数据流程图就不严格;没有数据流程图,数据字典也没有作用。

数据字典的重要用途是作为分析阶段的工具。

在数据字典中建立严密一致的定义有助于改进分析人员和用户之间的通信,避免许多误解的发生。

数据字典也有助于改进不同的开发人员或不同的开发小组之间的通信。

同样,将数据流程图中的每个元素的精确定义放在一起,就构成了系统的、完整的需求规格说明的主体。

数据字典还作为连接软件设计、实现和进化阶段的开发机构的信息存储。

在软件设计阶段,数据字典是存储文件或数据库设计的基础。

在实施阶段,还可参照数据字典描述数据。

随着系统的改进,字典中的信息也会发生变化,新的信息会随时加入进来。

3.数据字典的种类数据字典对下列4类元素进行定义。

●数据项;●数据流;●数据存储(文件);●加工。

3.5.2 数据字典的定义方法数据流程图中表现的是对系统的功能和数据流的分解。

数据字典中对数据的定义也表现为对数据的自顶向下的分解。

当数据被分解到不需要进一步解释说明,而且每个参与该项目的人员都清楚其含义时,对数据的定义就完成了。

由数据元素组成数据的方式有下列3种基本类型。

可以使用这3种类型的任意组合定义数据字典中的任何条目。

●顺序:即以确定的次序连接两个或多个成分。

●选择:即从两个或多个成分中选取一个。

●重复:把特定的成分重复零次或多次。

数据字典的定义可使用如表3.2所示的符号。

表3.2 数据字典的定义可使用的符号符号含义= 由……组成(定义为……)+ 和(顺序关系的连接)例,x=a+b 表示x由a与b组成{} 重复例,x={a+b} 表示x是由零次或多次重复的a与b组成[/] 可选择(选一个)例,x=(a/b)表示x由a或b中选择一个()可选(也可不选)例,x=(a)表示a是任选的,可在x中出现0次或1次** 注释例如,课程表={星期几 + 第几节 + 教室 + 课程名}购物订单=订单编号 + 顾客姓名 + 送货地址 + [家庭电话/移动电话/办公室电话] + {商品名称+ 商品数量 + 单价 +(折扣)} + 订购日期【例3-2】图3.12、图3.13和图3.14所示是对“高校教学管理系统”中数据字典的部分数据43。

软件工程第3章结构化分析

软件工程第3章结构化分析

图3.7给出了状态图中使用的主要符号。
整理ppt
37
图3.7 状态图中使用的主要符
整理ppt
38
为了具体说明怎样用状态图建立系统的行为模型, 下面举一个例子。图3.8是人们非常熟悉的电话系统的
为了达到上述这些目标,在结构化分析过程中导 出的分析模型的形式,如图3.1所示。
整理ppt
15
图3.1
分析模型的结构 整理ppt
16
3.3.2 软件需求规格说明 通过需求分析除了创建分析模型之外,还应该写
出软件需求规格说明,它是分析阶段的最终成果。下 面给出的简略大纲可以作为软件需求规格说明的框架。
数据流图有四种成分:源点或终点、处理、数据 存储和数据流。因此,画出上述定货系统的数据流图 可采用以下步骤。
整理ppt
26
从问题描述中提取数据流图的四种成分。 ·接下来考虑处理 ·最后,考虑数据流和数据存储 表3.1总结了上面分析的结果,其中加星号标记的 是在问题描述中隐含的成分。
整理ppt
27
表3.1
分析员对用户提出的初步要求应该反复求精多次 细化,才能充分理解用户的需求,得出对目标系统的
整理ppt
4
为了更好地理解问题,人们常常采用建立模型的 方法。所谓模型,就是为了理解事物而对事物做出的 一种抽象,是对事物的一种无歧义的书面描述。通常, 模型由一组图形符号和组织这些符号的规则组成。结 构化分析就是一种建立模型的活动,通常建立数据模
从基本系统模型这样非常高的抽象层次开始画数 据流图是一个好办法。在这个高层次的数据流图上是 否列出了所有给定的数据源点/终点是一目了然的,因 此它是很有价值的通信工具
整理ppt
29
下一步应该把基本系统模型细化,描绘系统的主 要功能。

《软件工程实用教程》第3 章 结构化需求分析共54页文档

《软件工程实用教程》第3 章 结构化需求分析共54页文档

60、生活的道路一旦选定,就要勇敢地 走到底 ,决不 回头。
2、要冒一次险!整个生命就是一场冒险。走得最远的人,常是愿意 去做,并愿意去冒险的人。“稳妥”之船,从未能从岸边走远。-戴尔.卡耐基。
梦 境
3、人生就像一杯没有加糖的咖啡,喝起来是苦涩的,回味起来却有 久久不会退去的余香。
《软件工程实用教程》第3 章 结构化需求 4、守业的最好办法就是不断的发展。 5、当爱不能完美,我宁愿选择无悔,不管来生多么美丽,我不愿失 去今生对你的记忆,我不求天长地久的美景,我只要生生世世的轮 回里有你。 分析
56、书不仅是生活,而且是现在、过 去和未 来文化 生活的 源泉。 ——库 法耶夫 57、生命不可能有两次,但许多人连一 次也不 善于度 过。— —吕凯 特 58、问渠哪得清如许,为有源头活水来 。—— 朱熹 59、我的努力求学没有得到别的好处, 只不过 是愈来 愈发觉 自己的 无知。 ——笛 卡儿

第三章软件工程结构化分析

第三章软件工程结构化分析

get f1 A
f4 f6
f3 f2
主模块 (C、D、E)
f7
将f3变换成f7和f8
f7
f8
C
D
E
put f7
put f8
f9 f8 f10
F put f9 G put f10
f10
f11
H put f11
主模块 (C、D、E)
get f3
将f3变换成f7和f8
put f7
put f8
get f2 B
随着设计的逐步深入,对软件结构进一步细化,称为详 细设计(或过程设计)。
因此,软件设计分为:概要设计、详细设计两个阶段。
█ 概要设计 通过仔细分析“软件需求规格说明”,适当地对软件
进行功能分解,从而将系统分解为一系列功能模块,并 设计出完成预定功能的模块结构。(层次结构) █ 详细设计
具体针对每个模块,确定完成每个模块功能所需要的 算法和数据结构等。 (实现过程)
每个模块完成一个特定的子功能,所有模块按某种方法组 装成为一个整体,从而实现整个系统所要求的功能。
说明:模块化是软件开发过程中解决复杂问题的重要手段。
开发大而复杂的系统,进行适当的分解,不但可降低系 统复杂性,还可减少开发工作量,总体上降低开发成本, 提高软件生产率。
是否将系统无限分解,最后开发工作量就趋于零?
第4章 结构化设计
学习内容: 1、结构化设计的定义与目标 2、结构化设计与结构化分析的关系 3、结构化设计的分类与任务 4、结构化设计的概念和原理
了解: 结构化设计与结构化分析的关系
掌握: 结构化设计的概念与原理
一、结构化设计的定义与目标
在需求分析基础上,采用结构化方法进行软件系统的设

软件工程实验三 结构化需求分析

软件工程实验三 结构化需求分析

一【实验目的】1.学会传统需求分析方法2.掌握数据流图绘制3.掌握数据字典4.数据库E-R绘制二【实验内容】1.利用visio工具实现数据流图(1)利用Visio绘制数据流图数据流图(数据流程图)是以图形方式来表达数据处理系统中信息的变换和传递过程。

可以模拟手工、自动或两者混合的数据处理工程,只需要考虑系统必须完成的基本逻辑工程,完全不需要考虑如何具体实现这些功能。

数据流图的基本符号是:数据流------------有名字有流向的数据加工---------------(数据变换、处理逻辑)表示数据所进行的加工或变换。

图中以标有名字和编号的圆圈代表加工(在VISIO中是圆角矩形)文件-------------(数据存储)是数据暂存的地方,可以对文件进行必要的存取。

图中以标有名字的双线段表示。

数据源及数据终点------表明数据处理过程的数据来源或数据去向的标志。

在数据流程中均以命名的方框来表示下图表示的第0层,第1层和第2层数据流图的表示形式示例:绘制以下数据流图第1步:通过新建文件方式创建数据流图:文件-新建-软件和数据库-数据流模型图或者在已经建立的文档中,选择文件-形状-软件和数据库-软件-Gane-Sarson第2步:出现如下界面:第3步:在右边网格处绘制图形数据源点和终点分别是仓库管理员和采购员,流程是处理事务和产生报表,数据存储是是库存信息和订货信息,数据流分别是事物、库存信息、订货信息和订货报表。

其中:修改箭头形状,选中箭头右键如图选择其他部分请同学们自己绘制最后保持visio文件后缀vsd最终结果:(2)利用Visio绘制以下数据流图第3层中的“读者要求处理部分”没有给出,暂时不绘制,但同学们应该知道有第3层应该有“读者要求处理部分”保持为visio的vsd文件最终结果:(1)(2)(3)2.,E-R图(1)创建文件,文件-软件和数据库-数据库模型图或者在已有文档中选择文件-形状-软件和数据库-数据库-实体关系(2)创建实体教师实体,学生实体,课程实体,教师与课程是1:N关系学生和课程是N:M关系选择实体图形绘制教师实体可以设置实体名称,列名等信息同样的方式可以设置学生和课程实体(3)创建联系(关系)对应1:N或N:M关系,建议将单独用1个实体来表示他们之间的关系,这个单独的实体包括了两个实体的主键,即这个单独实体中的对应字段是外键比如:教师和课程是1:N,即1对多的关系需要有一个教师-课程实体来表示这样的关系教师-课程实体包括教师工号和课程号这两个字段是外键关系总的箭头指向主键所在的实体,比如教师-课程实体指向教师实体具体操作如下:移动箭头到教师实体,出现如图所示的红色边框就释放,箭头就指向了教师实体另1端移动到教师-课程实体上出现红色边框释放,则另1端连接到教师-课程实体最终结果如下:(4)改变联系(关系)如上图所示,教师的工号和教师-课程实体中的工号产生联系,教师-课程实体中的工号是外键,其值来自教师实体中的工号选中课程与教师-课程实体关系箭头,发现父实体课程,与子实体教师-课程关系不明确,课程实体中的课程号与教师-课程实体中的课程号应该发生联系,所以需要修改点击关联其中教师工号是多余的需要删除结果教师和课程的联系如下:学生实体及学生和课程的联系没有画出来,同学没可以自己完成学生与课程关系图:(5)完成下面的E-R图保持为viso的vsd文件其中读者实体用户ID 为主键,管理员实体管理员ID 是主键期刊实体刊号是主键读者和期刊是多对多联系,管理员和期刊是1对多联系(1)管理员与期刊关系图(1)读者与期刊关系图总的E-R图:将以上各题的源程序、运行结果写在该题后面,以及实验中遇到的问题和解决问题的方法,以及实验过程中的心得体会,写在下面的空白中。

《软件工程实用教程》第3_章_结构化需求分析

《软件工程实用教程》第3_章_结构化需求分析

第3 章 結構化需求分析
(2)分析與綜合 從資訊流和資訊結構出發,逐步細化軟 體的所有功能,找出系統各個元素之間 的聯繫、介面特性和對設計的限制,判 斷是否存在因片面性或短期行為而導致 的不合理需求,判斷是否有用戶尚未提 出的確實有價值的潛在需求,從而提出 其中不合理的部分,增加真正需要的部 分。
第3 章 結構化需求分析
2.系統需求:系統需求是比用戶需求更具有技 術特性的需求陳述,是提供給開發者或用戶 方技術人員閱讀的,並將作為軟體開發人員 設計系統的起點與基本依據。系統需求需要 對系統的功能、性能、數據等方面進行規格 定義。
第3 章 結構化需求分析
(1)功能需求 功能需求是軟體系統的最基本的需求表述,包 括對系統應該提供的服務,如何對輸入做出 反應,以及系統在特定條件下的行為描述。 在某些情況下,功能需求還必須明確系統不 應該做什麼,這取決於開發的軟體類型、軟 體未來的用戶、以及開發的系統類型。所以, 功能性的系統需求,需要詳細地描述系統功 能特徵、輸入和輸出介面、異常處理方法等。
第3 章 結構化需求分析
需求開發活動: 將系統級的需求分為幾個子系統,並 將需求中的一部份分配給軟體組件。 瞭解相關品質屬性的重要性。 商討實施優先順序的劃分。 將所收集的用戶需求編寫成規格說明 和模型。 評審需求規格說明
第3 章 結構化需求分析
需求管理活動包括: 定義需求基線 評審提出的需求變更、評估每項變更 的可能影響從而決定是否實施它。 以一種可控制的方式將需求變更融入 到專案中。 使當前的專案計畫與需求一致。 估計變更需求所產生影響並在此基礎 上協商新的承諾(約定)。
第3 章 結構化需求分析
本章學習內容: 1.掌握需求分析的基本概念 2.明確需求分析應遵循的原則 3.掌握如何使用需求獲取技術來進行數據 採集 4.掌握結構化分析的思想與過程 5.掌握數據流建模技術

软件工程 第3章 结构化需求分析

软件工程 第3章  结构化需求分析

Kitchen
Bathroom
Room with Furniture
Living Room
Family Room
Bed Room
Dining Room
31
§4.图形工具
层次方框图用树形结构的一系列多层 次的矩形框描绘数据的层次结构。树形结 构的顶层是一个单独的矩形框,它代表完 整的数据结构,下面的各层矩形框代表这 个数据的子集,最底层的各个框代表组成 这个数据的实际数据元素(不能再分割的元 素)。
需求规格说明
加细 DFD
DD
算法 描述 IPO
Final stage of Definition phase
2
§1. 需求分析的任务
1、确定要求 (1) 功能要求(functional requirements):系统必须做什么? (2) 性能要求(performance requirements):做得怎样?
⑶ 用户系统描述 —— 初步用户手册:从用户的观点考虑系统
系统功能、性能 使用与步骤 等
⑷修正的开发计划: 成本估计 资源使用计划 进度计划
21
§3.概念模型和规范化 —— 对数据的分析
1、概念模型:描述从用户角度看到的数据 实体 -联系图(Entity - Relationship Diagram)
•例子:电话系统的状态图。 •没有人打电话时电话处于闲置状态;有人拿起听筒则 进入拨号音状态,到达这个状态后,电话的行为是响起 拨号音并计时;这时如果拿起听筒的人改变主意不想打 了,他把听筒放下(挂断),电话重又回到闲置状态;如 果拿起听筒很长时间不拨号(超时),则进入超时状 态;……。
28
§4.图形工具
19
封面:

《软件工程学》第3章 需求分析-答案

《软件工程学》第3章 需求分析-答案

3.1 需求分析的任务和步骤1.需求分析阶段产生的文档是软件需求规格说明书。

2.需求分析的任务是要建立软件的逻辑模型。

3.分析系统的数据要求是软件需求分析阶段的一个重要的任务。

4.需求分析的任务不包括(B)。

A.问题分析B.系统设计C.需求描述D.需求评审5.需求规格说明书是在计划时期可行性研究阶段产生的文档。

(×)6.需求分析阶段的成果主要是需求规格说明,但该成果与软件设计、编码、测试直至维护关系不大。

(×)7.软件需求是指用户对目标软件系统在功能、性能、行为、设计约束等方面的期望。

(√ )8.需求分析中的性能要求是指系统的技术性能指标,包括:存储量、响应时间、精确度和安全保密等方面。

(√ )3.2 需求分析获取的常用方法3.3 需求分析的方法3.4 结构化分析技术1.要将一个复杂的系统分析清楚,常用方法的结构化分析方法就是( A )A.面向数据流自顶向下逐步求精的方法B.由内向外进行分析的方法C.先局部后整体的分析方法D.使用IPO图形工具分析的方法2.结构化程序设计的一种基本方法是( D )。

A.筛选法B.递归法C.归纳法D.逐步求精法3.结构化程序设计主要强调的是( A )。

A.程序易读性B.程序的效率C.程序的规模D.程序设计语言的先进性4.下列各种叙述中,哪一个不是结构化方法的特征?( C )A.严格定义需求B.划分开发阶段C.提供运行模型D.制定规范文档5.通常所说的结构化设计(SD)是属于基于( B )的设计方法。

A.数据结构B.数据流C.对象D.以上均可6.通常所说的结构化设计方法就是基于数据流的设计方法。

7.结构化程序设计强调模块采用自上而下逐步求精设计方法,单入口、单出口。

(√ )3.5 需求分析图形工具。

加工逻辑的描述方法_软件工程实用教程 (第2版)_[共2页]

加工逻辑的描述方法_软件工程实用教程 (第2版)_[共2页]

3.5.3 加工逻辑的描述方法底层数据流程图中的加工小说明是用来定义底层数据流程图中的加工。

小说明应精确地描述一个加工做什么,包括加工的激发条件、加工逻辑、优先级别、执行频率、出错处理等细节。

加工逻辑是指用户对这个加工的逻辑要求,即加工的输入数据流与输出数据流之间的逻辑关系。

如果逻辑关系复杂,则可采用结构化语言、判定树、判定表的方式来表达。

1.结构化语言用自然语言来描述加工逻辑是最简单的,但自然语言往往不够精确,它可能存在二义性,而且难以用计算机处理。

而形式化语言能够精确地描述事物,且易于用计算机处理,但不易被用户理解。

因此,可以采用一种结构化语言(如结构化英语)来描述加工逻辑。

它是介于自然语言与形式语言之间的半形式化语言,是自然语言的一个受限子集。

结构化语言的语法分为内外两层,外层语法描述操作的控制结构,如顺序、选择和循环等,这些控制结构将加工中的各个操作连接起来,内层的语法一般没有什么限制。

结构化语言主要使用的词汇有祈使句中的动词、在数据字典中定义的名词或数据流程图定义过的名词及动词,没有形容词和副词。

另外,也允许使用某些运算符和关系符。

【例3-3】学校关于奖励制度的规定是:学生每学期已修课程成绩的比率如果优秀比率占70%,并且表现优良的学生可以获得一等奖学金,但表现一般的可以获得二等奖学金;如果优秀比率占50%以上,并且表现优良的学生可以获得二等奖学金,但表现一般的可以获得三等奖学金。

对上述制度规定,用结构化语言描述加工逻辑如下。

计算某学生的学习成绩优秀比率和中以下的比率若成绩优秀比率大于70%若表现优良则获得一等奖学金否则获得二等奖学金若成绩优秀比率小于70%且大于50%若表现优良则获得二等奖学金否则获得三等奖学金“若”后面的均为条件,“则”后面的均为要作的处理。

在使用结构化语言时,由于尽可能避免使用软件的专门术语,因而一般用户也能看懂。

这样的数据加工说明出现在软件需求说明书中是很容易被人接受的。

软件工程ch3结构化需求分析与建模

软件工程ch3结构化需求分析与建模
用户对系统的需求 功能性需求 非功能性需求
2021/3/11
4
需求分析的步骤
通过调查研究,获取用户的需求 去除非本质因素,确定系统的真正需求 描述需求,建立系统的逻辑模型 书写需求说明书,进行需求复审
Hale Waihona Puke 2021/3/115
需求分析的原则
能够表达和理解问题的数据域和功能域 能够将复杂问题分解化简 能够给出系统的逻辑表示和物理表示
2021/3/11
7
需求(详细)调查对象
对组织的高层管理者,进行组织管理目标 或经营方针等组织战略问题的调查(业务 需求)
对中层的管理者,进行全部业务流的调查 (用户需求)
对业务工作人员,进行详细业务信息的调 查(用户需求)
2021/3/11
8
常用调查方法(信息收集技术)
访谈:正式和非正式 问卷调查 情景分析 实地考查 构造原型 建立分析小组
2021/3/11
11
准备调研的资料(可能的问题)
对产品的运行环境有要求吗 对界面风格和操作方式有要求吗 在系统运行过程中允许停机吗 需要的操作权限有哪些 需要记录系统操作运行日志吗 需要分布式处理吗 需要什么方式的用户操作培训 需要制作联机帮助吗 用户有能力进行系统维护吗?⊙
2021/3/11
领域专家: 主角 系统分析员:导演
2021/3/11
9
准备调研的资料(可能的问题)
部门的名称、人员数量和结构 部门发展或变化简单介绍 部门的主要任务 部门各岗位的职责 部门接受哪些部门或外界的信息及信息的内容和格
式 部门产生哪些信息 部门产生的信息送到哪些其他部门、格式要求是什
么 现有的哪些设备要继续使用?
画系统流程图时,要搞清业务处理过程即处理中的 各个元素,同时要理解系统的流程图各个符号的含 义。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第3 章 结构化需求分析
2.系统需求:系统需求是比用户需求更具有技 术特性的需求陈述,是提供给开发者或用户 方技术人员阅读的,并将作为软件开发人员 设计系统的起点与基本依据。系统需求需要 对系统的功能、性能、数据等方面进行规格 定义。
第3 章 结构化需求分析
(1)功能需求 功能需求是软件系统的最基本的需求表述,包 括对系统应该提供的服务,如何对输入做出 反应,以及系统在特定条件下的行为描述。 在某些情况下,功能需求还必须明确系统不 应该做什么,这取决于开发的软件类型、软 件未来的用户、以及开发的系统类型。所以, 功能性的系统需求,需要详细地描述系统功 能特征、输入和输出接口、异常处理方法等。
第3 章 结构化需求分析
3.2.2 需求获取的方法 1.研究资料法
范围:
企业外部的资料,例如,各项法规、市场信息等; 企业内部的各种资料,例如,企业的有关计划、指标、 经营分析报告、合同、帐单和统计报表等。 收集资料时一定要明确目的,必须收集和选择符合目的的 资料来阅读。
第3 章 结构化需求分析
第3 章 结构化需求分析
3.1.5 需求验证 有效性检查 一致性检查 完备性检查 可修改性检查 可跟踪性检查
第3 章 结构化需求分析
3.1.6 需求变更控制 1) 确定需求变更控制过程确定一个选择、 分析和决策需求变更的过程 2) 建立变更控制委员会 3) 进行需求变更影响分析 4) 跟踪所有受需求变更影响的工作产品 5) 建立需求基准版本和需求控制文档
第3 章 结构化需求分析
(2)非功能性需求 非功能性需求包括对系统提出的性能需求、可靠 性和可用性需求、系统安全以及系统对开发过 程、时间、资源等方面的约束和标准等。性能 需求指定系统必须满足的定时约束或容量约束, 一般包括速度(响应时间)、信息量速率(吞 吐量、处理时间)和存储容量等方面的需求。
第3 章 结构化需求分析
3.1.6 需求变更控制
7) 跟踪每项需求的状态,建立一个数据库 8) 衡量需求稳定性,记录基准需求的数量 和每周或每月的变更(添加、修改、 删除)数量 9) 使用需求管理工具
第3 章 结构化需求分析
3.2 需求获取 3.2.1 需求获取的内容 1.物理环境 2.界面 3.用户或人的因素 4.功能 5.文档 6.数据 7.安全性 8.资源 9.质量保证
3.2.2 需求获取的方法 1.研究资料法
作用: 解生产经营情况和正常的操作程序; 理解信息的处理方式; 有助于弄清需求。 局限性:资料只反映静态的和历史的情况,无法反映企业 的动态活动和过程,因此,还必须借助于其他方法获 取更复杂、更全面的需求。
第3 章 结构化需求分析
2.问卷调查法 步骤: (1)确定必须收集哪些事实和从哪些人收集数据。 (2)基于所需的事实数据,确定采用自由格式或 还是固定格式的调查问卷。 (3)设计调查问题,确保问题明确、没有歧义或 遗漏。 (3)复制和分发调查问卷,组织调查,注意回收。
第3 章 结构化需求分析
采用“自顶向下,逐步求精”的方式,X系统被分解成3 个子系统 :
第3 章 结构化需求分析
3.3.2 结构化分析方法 指导性原则: 在开始建立分析模型之前先理解问题,而不应 急于求成,甚至在问题未被很好地理解之前, 就产生了一个解决错误问题的软件; 开发模型,使用户能够了解将如何进行人机交 互; 记录每个需求的起源和原因,这样能有效地保 证需求的可追踪性和可回溯性; 使用多个需求分析视图,建立数据、功能和行 为模型。
第3 章 结构化需求分析
需求开发活动: 将系统级的需求分为几个子系统,并 将需求中的一部份分配给软件组件。 了解相关质量属性的重要性。 商讨实施优先级的划分。 将所收集的用户需求编写成规格说明 和模型。 评审需求规格说明
第3 章 结构化需求分析
需求管理活动包括: 定义需求基线 评审提出的需求变更、评估每项变更 的可能影响从而决定是否实施它。 以一种可控制的方式将需求变更融入 到项目中。 使当前的项目计划与需求一致。 估计变更需求所产生影响并在此基础 上协商新的承诺(约定)。
第3 章 结构化需求分析
特点 :
(1)用户需求直接来源于用户。需求可以由用户主动 提出,也可以通过与用户沟通、交流或者进行问卷 调查等方式获得。由于用户对计算机系统认识上的 不足,分析人员有义务帮助用户挖掘需求。 (2)用户需求需要以文档的形式提供给用户审查。因 此,需要使用流畅的自然语言和简洁清晰的直观图 表来表述,以方便用户的理解与确认。 (3)可以把用户需求理解为用户对软件的合理请求。 这意味着,必须全面理解用户的各项要求,但又不 能全盘接受所有的要求。 (4)用户需求主要是为用户方管理层撰写的,但是用 户方的技术代表、软件系统今后的操作者以及开发 方的高层技术人员,也有必要认真阅读用户需求文 档。
第3 章 结构化需求分析
(2)分层原则 父图与子图的关系 平衡规则 分层程度
第3 章 结构化需求分析
(2)分析与综合 从信息流和信息结构出发,逐步细化软 件的所有功能,找出系统各个元素之间 的联系、接口特性和对设计的限制,判 断是否存在因片面性或短期行为而导致 的不合理需求,判断是否有用户尚未提 出的确实有价值的潜在需求,从而提出 其中不合理的部分,增加真正需要的部 分。
第3 章 结构化需求分析
3.3 结构化分析方法概述 3.3.1 结构化分析思想 结构化是把软件系统功能当作一个大 模块,根据分析与设计的不同要求,进行 模块分解或者组合。 基本思路就是把整个系统开发过程分成 若干阶段,每个阶段进行若干活动,每项 活动应用一系列标准、规范、方法和技术, 完成一个或多个任务,形成符合需求的软 件产品(成果)。
第3 章 结构化需求分析
本章学习内容: 1.掌握需求分析的基本概念 2.明确需求分析应遵循的原则 3.掌握如何使用需求获取技术来进行数据 采集 4.掌握结构化分析的思想与过程 5.掌握数据流建模技术
第3 章 结构化需求分析
3.1需求分析概述
3.1.1 需求分析的任务 将用户对软件的一系列要求、想法转变为软 件开发人员所需要的有关软件的技术规格说 明 1.用户需求:用户需求是关于软件的一系列想 法的集中体现,涉及软件的功能、操作方式、 界面风格、报表格式、用户机构的业务范围、 工作流程,以及用户对软件应用的展望等。
第3 章 结构化需求分析
需求管理活动包括: 让每项需求都能与其对应的设计、源 代码和测试用例联系起来以实现跟踪。 在整个项目过程中跟踪需求状态及其 变更情况。
第3 章 结构化需求分析
3.1.3 需求分析的过程
第3 章 结构化需求分析
第3 章 结构化需求分析
需求分析的过程 (1)调查研究 对目标系统的运行环境、功能要求、非 功能性要求与用户达成共识。 问题研究集中在以下3个方面: 经济可行性: 技术可行性: 操作可行性:
第3 章 结构化需求分析
4.实地观察法 原则: 明确需要观察的内容、地点以及观察的 周期,并明确如何进行观察? 从用户那里得到去现场观察的许可? 事先通知将要被观察的用户,告诉他们 观察的目的; 禁止打断别人的工作,边观察,边记录; 不要事先进行假设。
第3 章 结构化需求分析
ห้องสมุดไป่ตู้
第3 章 结构化需求分析
调查问卷的优点和缺点: 多数调查问卷可以被快速地回答。人们可以 在方便的时候完成和返回调查问卷。 如果希望从许多人处获取信息,调查问卷是 一种低成本的数据采集技术。 调查问卷形式允许保护个人的隐私,并便于 整理和归纳。 由于是背对背地进行调查,对回答问题的质 量难于把握。 对于模糊的问题、隐含的问题不便于采用问 卷的方法。
实地观察方法的优点和缺点: 通过观察得到的数据准确、真实; 通过观察有利于弄清复杂的工作流程和业务 处理过程,而这些有时是很难用文字描述清 楚的; 但在特定的时间进行观察,并不能保证得到 平时的工作状态,有些任务不可能总是按照 观察人员观察时看到的样式执行; 这种方法比较花费时间,数据整理比较麻烦。
第3 章 结构化需求分析
给需求赋予优先级,优先开发重要的功能, 提高开发生产效率; 努力删除含糊性。 结构化方法的局限性: 不提供对非功能需求的有效理解和建模; 不提供对用户选择合适方法的指导,也没有 对方法适用的特殊环境的忠告; 往往产生大量文档,系统需求的要素被隐藏 在一大堆具体细节的描述中; 产生的模型不注意细节,用户总觉得难以理 解,因而很难验证模型的真实性。
第3 章 结构化需求分析
3.用户访谈 步骤: (1)选择访谈对象。 (2)准备访谈资料:包括访谈内容和进度 安排等。 (3)进行访谈,并注意做好访谈记录,访 谈内容要经过被访者的认可和确认。 (4)整理访谈记录。
第3 章 结构化需求分析
访谈方法的优点和缺点: 访谈为分析人员提供了与访谈对象自由沟通 的机会。通过建立良好的人际关系,有利于 让访谈对象愿意为该项目的开发做出努力。 通过访谈可以挖掘更深层次的用户需求。 访谈允许开发人员使用一些个性化的问题。 成功的访谈在很大程度上取决于分析人员的 经验与技巧。 访谈占用的时间较多,访谈后的资料整理, 也需要花费较多的时间。
第3 章 结构化需求分析
3.1.4 需求规格说明
1.需求规格说明的特点 (1)完整性 (2)一致性 (3)可修改性 (4)可跟踪性
第3 章 结构化需求分析
3.1.4 需求规格说明
1. 引言 1.1 目的 1.2 文档约定 1.3 预期的读者和阅读建议 1.4 产品的范围 1.5 参考文献 2. 综合描述 2.1 产品的前景 2.2 产品的功能 2.3 用户类和特征 2.4 运行环境 2.5 设计和实现上的限制 2.6 假设和依赖附录 3. 外部接口需求附录 3.1 用户界面附录 3.2 硬件接口 3.3 软件接口 3.4 通信接口 4. 系统特性 4.1 说明和优先级 4.2 激励/响应序列 4.3 功能需求 5. 其它非功能需求 5.1 性能需求 5.2 安全设施需求 5.3 安全性需求 5.4 软件质量属性 5.5 业务规则 5.6 用户文档 6. 其它需求 A:词汇表 B:分析模型 C:待确定问题的列表
相关文档
最新文档