《软件工程基础》PPT课件.ppt
《《软件工程基础》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《软件工程基础》PPT课件.ppt(33页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、软件工程基础软件工程基础1.1 1.1 软件的概念软件的概念 软件是计算机系统中与硬件相互依存的另软件是计算机系统中与硬件相互依存的另一部分,它包括程序、相关数据及其说明文档。一部分,它包括程序、相关数据及其说明文档。其中,程序是按照事先设计的功能和性能要求其中,程序是按照事先设计的功能和性能要求执行的指令序列;数据是使程序能正常操纵信执行的指令序列;数据是使程序能正常操纵信息的数据结构;文档是与程序开发维护和使用息的数据结构;文档是与程序开发维护和使用相关的各种图文资料。相关的各种图文资料。1 1 软件的基本概念软件的基本概念软件的特点软件的特点:1 1)软件是一种逻辑实体,具有抽象性;)软
2、件是一种逻辑实体,具有抽象性;2 2)软件没有明显的制造过程;)软件没有明显的制造过程;3 3)软件在使用过程中,没有磨损、老化的问题;)软件在使用过程中,没有磨损、老化的问题;4 4)软件对硬件和环境有着不同程度的依赖性;)软件对硬件和环境有着不同程度的依赖性;5 5)软件是复杂的,而且以后会更复杂;)软件是复杂的,而且以后会更复杂;6 6)软件的成本相当昂贵;)软件的成本相当昂贵;7 7)软件工作牵涉到很多社会因素。)软件工作牵涉到很多社会因素。1.2 1.2 软件危机软件危机 软件危机是指在计算机软件的开发和维护软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。包含两方面
3、过程中所遇到的一系列严重问题。包含两方面的问题:的问题:一是如何开发软件,以满足不断增长,日一是如何开发软件,以满足不断增长,日趋复杂的需求;二是如何维护数量不断膨胀的趋复杂的需求;二是如何维护数量不断膨胀的软件产品。软件产品。软件危机的主要表现:软件危机的主要表现:1 1)对软件开发成本和进度的估计不准确;)对软件开发成本和进度的估计不准确;2 2)用户对)用户对“已完成已完成”系统不满意的现象经常系统不满意的现象经常发生;发生;3 3)软件产品的质量往往不可靠;)软件产品的质量往往不可靠;4 4)软件的可维护程度非常低;)软件的可维护程度非常低;5 5)软件的成本不断提高;)软件的成本不断
4、提高;6 6)软件开发生产率的提高赶不上硬件的发展)软件开发生产率的提高赶不上硬件的发展和人们需求的增长。和人们需求的增长。1.3 1.3 软件工程软件工程 软件工程包括软件工程包括软件开发技术软件开发技术和和软件工程管软件工程管理理。软件开发技术包括软件开发方法学、开发。软件开发技术包括软件开发方法学、开发过程、软件工具和软件工程环境。软件工程管过程、软件工具和软件工程环境。软件工程管理包括软件管理学、软件工程经济学、软件心理包括软件管理学、软件工程经济学、软件心理学等。软件工程的目标是:在给定成本、进理学等。软件工程的目标是:在给定成本、进度的前提下,开发出具有有效性、可靠性、可度的前提下
5、,开发出具有有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性且满足用户需移植性、可追踪性和可互操作性且满足用户需求的产品。求的产品。1.4 1.4 软件生命周期软件生命周期 通常,将软件产品从提出、实现、使用维通常,将软件产品从提出、实现、使用维护到停止使用的过程称为软件生命周期。一般护到停止使用的过程称为软件生命周期。一般包括可行性研究与需求分析、设计、实现、测包括可行性研究与需求分析、设计、实现、测试、交付使用以及维护等几个阶段。试、交付使用以及维护等几个阶段。1.5 1.5 软件开发工具与软件环境软件开发工具与
6、软件环境 软件开发工具对过程和方法提供了自动的软件开发工具对过程和方法提供了自动的或半自动的支持。当这些工具被集成起来使一或半自动的支持。当这些工具被集成起来使一个工具产生的信息可以被另一个工具使用时,个工具产生的信息可以被另一个工具使用时,一个支持软件开发的系统就建立起来了,称为一个支持软件开发的系统就建立起来了,称为计算机辅助软件工程(计算机辅助软件工程(CASECASE)。)。CASECASE集成了软集成了软件、硬件和一个软件工程数据库,从而创建了件、硬件和一个软件工程数据库,从而创建了一个软件工程开发环境。一个软件工程开发环境。2.1 2.1 结构化分析方法结构化分析方法 结构化分析方
7、法(结构化分析方法(SASA)是面向数据流进行)是面向数据流进行需求分析的方法。采用需求分析的方法。采用“抽象抽象”和和“分解分解”两两个基本手段,用抽象模型的概念,按照软件内个基本手段,用抽象模型的概念,按照软件内部数据传递、变换的关系,由顶向下逐层分解,部数据传递、变换的关系,由顶向下逐层分解,直到找到满足功能需要的所有可实现的软件元直到找到满足功能需要的所有可实现的软件元素为止。素为止。2 2 结构化分析方法结构化分析方法2.2 2.2 数据流图数据流图(DFD)(DFD)数据流图是从数据传递和加工的角度,来描数据流图是从数据传递和加工的角度,来描述数据流从输入到输出的移动变换过程的图形
8、化述数据流从输入到输出的移动变换过程的图形化技术,是一种图形化的系统模型,表示信息系统技术,是一种图形化的系统模型,表示信息系统的主要需求,即输入、输出、过程和数据存储。的主要需求,即输入、输出、过程和数据存储。典型的数据流图有两种:典型的数据流图有两种:变换型和事务型变换型和事务型。数据。数据流图中的基本元素有:外部实体(方框)、数据流图中的基本元素有:外部实体(方框)、数据流(单项箭头)、加工(椭圆)和数据存储(双流(单项箭头)、加工(椭圆)和数据存储(双横线)。横线)。百货商店业务管理系统数据流程图百货商店业务管理系统数据流程图顾客顾客商店业务处理商店业务处理供货厂供货厂税务局税务局贷款
9、收据贷款收据贷款贷款订单订单发货票发货票订货单订货单税款税款供货单供货单税单税单2.3 2.3 数据字典数据字典(DD)(DD)数据字典是对数据的信息的集合,是结构数据字典是对数据的信息的集合,是结构化分析的核心。他对数据流图中的各个元素做化分析的核心。他对数据流图中的各个元素做完整的定义和说明,是数据流图的补充工具,完整的定义和说明,是数据流图的补充工具,它通常包括几个方面的信息:名称、别名、何它通常包括几个方面的信息:名称、别名、何处使用处使用/如何使用、内容描述和补充信息数据如何使用、内容描述和补充信息数据流图和数据字典共同构成系统的逻辑模型。流图和数据字典共同构成系统的逻辑模型。2.4
10、 2.4 软件需求规格说明书软件需求规格说明书 软件需求规格说明书是需求分析阶段的最后结软件需求规格说明书是需求分析阶段的最后结果。软件需求包括:功能需求、性能需求、环境需果。软件需求包括:功能需求、性能需求、环境需求、可靠性需求、安全保密需求、用户界面需求、求、可靠性需求、安全保密需求、用户界面需求、资源使用需求、成本消耗需求和开发进度需求。软资源使用需求、成本消耗需求和开发进度需求。软件需求规格说明书包含内容如下:件需求规格说明书包含内容如下:概述(任务概述)概述(任务概述)数据描述数据描述 功能要求功能要求 性能需求性能需求 参考文献目录参考文献目录 附录附录举例举例l计算机中的软件包括
11、计算机中的软件包括_。程序、数据和文档程序、数据和文档l软件工程的方法得以实施的主要保证是软件工程的方法得以实施的主要保证是_。A.A.软件用户的参与软件用户的参与 B.B.开发人员的素质开发人员的素质C.C.硬件环境硬件环境 D.D.软件开发工具和环境软件开发工具和环境l软件工程研究的主要内容是软件开发技术和软件工程研究的主要内容是软件开发技术和_两个方两个方面。面。软件工程管理软件工程管理l结构化分析的基本思想是采用结构化分析的基本思想是采用_的方法,能有效的控制的方法,能有效的控制系统开发的复杂性。系统开发的复杂性。自顶向下逐层分解自顶向下逐层分解l数据字典是软件需求分析阶段的重要工具之
12、一,其基本功数据字典是软件需求分析阶段的重要工具之一,其基本功能是能是_。A.A.数据通信数据通信 B.B.数据库设计数据库设计 C.C.数据维护数据维护 D.D.数据定义数据定义l在下列文档中,属于结构化分析阶段的文档有在下列文档中,属于结构化分析阶段的文档有_。A.A.软件设计说明书软件设计说明书 B.B.可行性分析报告可行性分析报告 C.C.项目计划项目计划 D.D.需求规格说明需求规格说明3.1 3.1 结构化设计方法结构化设计方法 结构化设计方法(结构化设计方法(SDSD)就是采用最佳)就是采用最佳的可能方法设计系统的各个组成部分以及的可能方法设计系统的各个组成部分以及各成分内部联系
13、的技术。软件设计分两步各成分内部联系的技术。软件设计分两步完成:总体设计和详细设计。结构化设计完成:总体设计和详细设计。结构化设计是一种面向数据流的设计方法,可以与是一种面向数据流的设计方法,可以与SASA方法衔接。方法衔接。总体设计总体设计 详细设计详细设计3 3 结构化设计方法结构化设计方法3.2 3.2 总体设计总体设计总体设计的基本任务:总体设计的基本任务:基于功能层次结构建立系统;基于功能层次结构建立系统;采用某种设计方法,将系统按功能划分成模采用某种设计方法,将系统按功能划分成模块的层次结构;块的层次结构;确定每个模块的功能;确定每个模块的功能;建立与已确定的软件需求的对应关系;建
14、立与已确定的软件需求的对应关系;确定模块间的调用关系;确定模块间的调用关系;确定模块间的接口,即模块之间传递的信息;确定模块间的接口,即模块之间传递的信息;评估模块划分的质量。评估模块划分的质量。软件设计的基本原理软件设计的基本原理1 1)模块化)模块化2 2)抽象)抽象3 3)信息隐蔽)信息隐蔽4 4)模块独立性)模块独立性软件的结构软件的结构 软件的结构是一种层次化的表示,它指出了各软件的结构是一种层次化的表示,它指出了各个模块之间的关系。个模块之间的关系。深度深度:表示从根模块到最低层模块的层数。表示从根模块到最低层模块的层数。宽度:宽度:表示控制的总分布。表示控制的总分布。扇出数:扇出
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程基础 软件工程 基础 PPT 课件
限制150内