[工学]软件工程导论张海藩第5版第23章.ppt
《[工学]软件工程导论张海藩第5版第23章.ppt》由会员分享,可在线阅读,更多相关《[工学]软件工程导论张海藩第5版第23章.ppt(62页珍藏版)》请在三一办公上搜索。
1、2023/2/1,软件工程导论 王培丽,1,2 结构化分析,传统的软件工程方法学采用结构化分析技术,完成系统分析(问题定义、可行性研究和需求分析)的任务。结构化分析技术主要有下述几个要点:采用自顶向下功能分解的方法 强调逻辑功能而不是实现功能的具体方法 使用图形(主要是数据流图)进行系统分析并表达分析的结果,2023/2/1,软件工程导论 王培丽,2,2.1 可行性研究,可行性研究的任务 可行性研究的过程 系统流程图 成本/效益分析,2023/2/1,软件工程导论 王培丽,3,2.1.1 可行性研究的任务,可行性研究的目的 用最小的代价在尽可能短的时间内研究并确定客户提出的问题是否有行得通的解
2、决办法。可行性研究的内容技术可行性:使用现有的技术能实现这个系统吗?经济可行性:这个系统的经济效益能超过他的开发成本吗?操作可行性:操作方式在这个系统内行得通吗?,2023/2/1,软件工程导论 王培丽,4,2.1.2 可行性研究的过程,可行性研究的过程 复查系统规模和目标 研究目前正在使用的系统 导出新系统的高层逻辑模型 进一步定义问题 导出和评价供选择的解法 推荐行动方针 草拟开发计划 书写文档提交复审,2023/2/1,软件工程导论 王培丽,5,2.1.3 系统流程图,进行可行性研究时需了解和分析现有系统,并以概括的形式表达对现有系统的认识。系统流程图是概括的描绘物理系统的传统工具。基本
3、思想是用图形符号以黑盒子的形式描绘组成系统的每个部件,表达数据在系统各部件之间流动的情况。,2023/2/1,软件工程导论 王培丽,6,2.1.3 系统流程图,符号,2023/2/1,软件工程导论 王培丽,7,2.1.3 系统流程图,符号,2023/2/1,软件工程导论 王培丽,8,2.1.3 系统流程图,实例,图2.3库存清单系统的系统流程图,2023/2/1,软件工程导论 王培丽,9,2.1.4 数据流图,数据流图(DFD,Data Flow Diagram)是以图形的形式描绘数据在软件中流动和被处理的逻辑过程。设计数据流图只需考虑系统必须完成的基本逻辑功能,完全不需要考虑如何具体的实现这
4、些功能。数据流图一般在软件生命周期的早期阶段开始进行设计,在软件生命周期后续阶段不断改进、完善和细化,2023/2/1,软件工程导论 王培丽,10,2.1.4 数据流图,符号,图2.4数据流图的4种基本符号,2023/2/1,软件工程导论 王培丽,11,2.1.4 数据流图,符号数据存储和数据流都表示数据,前者表示处于静止状态的数据,后者表示处于运动的数据。数据流图中忽略出错处理,基本要点是描绘“做什么”。基本方法是从基本系统模型出发,自顶向下从抽象到具体分层次地画。,2023/2/1,软件工程导论 王培丽,12,2.1.4 数据流图,数据流图的画法(1)先画顶层数据流图,只包含一个处理的图,
5、画图时先画数据源点与终点;(2)细化数据流图;(3)功能级数据流图中描绘的系统主要功能进一步细化。,2023/2/1,软件工程导论 王培丽,13,2.1.4 数据流图,画数据流图的原则:(1)数据流图中所有图形只限于四种基本图形元素;(2)每个处理至少有一个输入数据和一个输出数据;(3)每个元素都必须有名字;(4)数据流图只反映系统做什么;(5)按照层次给处理过程编号;(6)父图与子图要平衡(输入和输出要一致);(7)存储:一个局部存储只要当它作为某些处理的数据接口或某个处理特定的输入输出时就要把它画出来;(8)提高数据流的易理解性,合理分解,分层清楚。,2023/2/1,软件工程导论 王培丽
6、,14,2.1.4 数据流图,数据流图的命名规则:为数据流(或数据存储)命名(1)代表整个数据流(数据存储)的内容;(2)部使用空洞的、缺乏具体含义的名字;(3)名字只能是名词或名词短语;(4)整体命名较困难时,可尝试分解。为处理命名(1)名字反映整个处理功能;(2)名字为动宾结构;(3)最好包括一个动词;(4)通常先为数据流命名然后再为相关处理命名,2023/2/1,软件工程导论 王培丽,15,2.1.5 数据字典,数据字典是关于数据的信息的集合,是对数据流图中包含元素的定义的集合。它的作用是在软件分析和设计的过程中提供关于数据的信息描述。内容(1)数据流:名称,别名,简述,来源,去向,数据
7、流通量;(2)数据流分量(数据元素):数据元素名,别名,类型(数字,文字),长度,取值范围;(3)数据存储;(4)处理。,2023/2/1,软件工程导论 王培丽,16,2.1.6 成本估计,代码行技术:估计实现软件的代码行数,然后乘以每行代码的平均成本得出软件的成本。任务分解结束首先把软件开发项目分解成若干个相对独立的任务,然后分别估计完成每项任务的成本,最后累加起来得到软件的总成本。,2023/2/1,软件工程导论 王培丽,17,思考与练习,课后题第2,3题要求:第2题要求画出存款系统的数据流图,并写出数据字典;第3题要求画出数据流图。,2023/2/1,软件工程导论 王培丽,18,2.2
8、需求分析,为什么要进行需求分析?在需求阶段修复一个错误的费用是编码阶段的1/5到1/10,是维护阶段修复费用的1/100到1/200。因此,我们可以认为,设计错误的修复费用要远远高于编码错误的修复费用。通过“分析”,理解用户的各种问题,通过“规格说明”把问题表达出来。要求大家:(1)掌握具体的步骤和方法(2)提高分析问题和解决问题的能力(3)熟练运用一些图形工具,2023/2/1,软件工程导论 王培丽,19,2.2.1 需求分析的任务,需求分析的基本任务 该阶段是软件定义时期的最后一个阶段,基本任务是准确地回答“系统必须做什么?”这个问题。用户和软件人员双方一起来充分理解用户的要求,并把双方共
9、同的理解明确地表达成一份书面文档软件需求规格说明书。,2023/2/1,软件工程导论 王培丽,20,2.2.1 需求分析的任务,需求分析的具体任务 确定对系统的综合要求 功能要求:系统必须完成的所有功能 性能要求:系统必须满足的约束 可靠性和可用性需求:系统的可靠性 出错处理需求:系统对错误环境的响应 接口需求:应用系统与环境通信的格式 约束:设计系统应遵守的限制条件 逆向需求:系统不应该做什么 将来可能提出的要求:分析将来可能会提出的要求,2023/2/1,软件工程导论 王培丽,21,2.2.1 需求分析的任务,分析系统的数据要求 分析系统的数据要求通常采用建立数据模型的方法。常用的图形工具
10、有层次方框图和Warnier图。导出系统的逻辑模型 通常用数据流图、实体关系图、状态转换图、数据字典和主要的处理算法描述这个逻辑模型。修正系统开发计划,2023/2/1,软件工程导论 王培丽,22,2.2.2 与用户沟通获取需求的方法,访谈 最早开始使用的获取用户需求的方法,是迄今为止仍广泛使用的需求分析方法。访谈有两种基本形式:正式的和非正式的谈判。正式谈判:系统分析员将提出一些事先准备好地具体问题,得出结论性的意见。如询问客户公司的产品种类等。非正式谈判:分析员将提出一些用户可以自由回答的开放性问题,如询问用户对目前使用的系统有哪些不满意的地方等。,2023/2/1,软件工程导论 王培丽,
11、23,2.2.2 与用户沟通获取需求的方法,访谈 当需要调查大量人员的意见时,请被调查人填写调查表是十分有效的做法。在访问用户的过程中使用情景分析技术往往非常有效。所谓情景分析技术,就是对用户将来使用目标系统解决某个具体问题的方法和结果进行分析。,2023/2/1,软件工程导论 王培丽,24,2.2.2 与用户沟通获取需求的方法,面向数据流自顶向下求精,图3.1面向数据流自顶向下求精过程,2023/2/1,软件工程导论 王培丽,25,2.2.2 与用户沟通获取需求的方法,简易的应用规格说明技术 简易的应用规格说明技术是一种面向团队的需求收集技术。这种方法提倡用户与开发者密切合作,共同标识问题,
12、提出解决方案要素,商讨不同的方案并指定基本需求。目前这种技术已经成为信息系统领域使用的主流技术。,2023/2/1,软件工程导论 王培丽,26,2.2.2 与用户沟通获取需求的方法,快速建立软件原型 快速建立软件原型是最准确、最有效、最强大的需求分析技术。所谓软件原型就是快速建立起来的旨在演示目标系统主要功能的可运行的程序。构建软件原型的要点是,它应该实现用户看得见的功能,省略目标系统的“隐含”功能。软件原型的特点:快速和易修改。,2023/2/1,软件工程导论 王培丽,27,2.2.3 分析建模,模型的定义 为了理解事物而对事物作出的一种抽象,是对事物的一种无歧义的书面描述。通常模型由一组图
13、形符号和组织这些符号的规则组成。建模的准则(1)必须理解并描述问题的信息域,据这条准则应建立数据模型;(2)必须定义软件应完成的功能,这条准则要求建立功能模型;(3)必须描述作为外部事件结果的软件行为,这条准则要求建立行为模型;(4)必须描述目标系统信息、功能和行为的模型进行分解,用层次的方式展示细节。,2.2.4 需求规格说明,需求规格说明(SRS,Software Requirement Specification)精确地阐述一个软件系统必须提供的功能和性能以及它 所要考虑的限制条件。,作用,-成为用户、分析人员和设计人员之间 进行理解和交流的手段,-支持系统测试活动,-用于规划和控制系统
14、的开发过程,27,需求规格说明,应该包括在SRS 中的内容 功能:软件应该提供什么功能?-外部接口:软件如何与人、系统硬件和其他系统等进行相互作用?-性能:软件系统在运行速度、可用性、响应时间、恢复时间 等方面有什么要求?-特性:软件系统在可移植性、可维护性、安全性等方面有什 么考虑?-设计约束:是否存在必要的标准、开发语言、数据库、资源 限制、运行环境等因素的影响和策略?,28,编写需求规格说明的原则,原则 1:只描述“做什么”而无须描述“怎么做”原则 2:必须说明运行环境,原则 3:考虑用户、分析员和实现者的交流,对形式化和自然语言之间作出恰当的选择-明确的理解最重要,不存在十全十美的软件
15、规格说明书 原则 4:力求寻找到恰如其分的需求详细程度,-一个有益的原则就是编写单个的可测试需求文档-建议将可测试的需求作为衡量软件产品规模大小的尺度,30,编写需求规格说明的原则,原则 5:文档段落不宜太长,-简短,-记住:不要在需求说明中使用“和/或”、“等等”之类的词,原则 6:避免使用模糊的、主观的术语,-如用户友好、容易、简单、迅速、有效、许多、最新技术、优越的、可接受的、最大化、最小化、提高等,-不可验证,建议:采用一种标准的SRS 模板,31,1.引言1.1 目的1.2 文档约定1.3 预期的读者和阅读建议1.4 产品范围1.5 参考文献2.综合描述2.1 产品的前景2.2 产品
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 工学 软件工程 导论 张海藩第 23
链接地址:https://www.31ppt.com/p-2216229.html