软件工程基础知识点整理

上传人:新** 文档编号:392325442 上传时间:2024-02-01 格式:DOCX 页数:16 大小:21.99KB
返回 下载 相关 举报
软件工程基础知识点整理_第1页
第1页 / 共16页
软件工程基础知识点整理_第2页
第2页 / 共16页
软件工程基础知识点整理_第3页
第3页 / 共16页
软件工程基础知识点整理_第4页
第4页 / 共16页
软件工程基础知识点整理_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《软件工程基础知识点整理》由会员分享,可在线阅读,更多相关《软件工程基础知识点整理(16页珍藏版)》请在金锄头文库上搜索。

1、软件工程基础学问点整理1109070211 朱染晅 土建112一. 软件工程基本概念:1.软件定义:是计算机系统中及硬件相互依存的另一部分,是包括程序, 数据以及相关文档的完整集合。(1)程序是软件开发人员依据用户需求开发的, 用程序设计语言描述的, 适合计算机执行的指令(语句)序列。(2)数据是使程序能够正常操作信息的数据结构。(3)文档是及程序开发, 维护和运用有关的图文资料。注:国标(GB)计算机软件的定义:及计算机系统的操作相关的计算机程序, 规程, 规则以及可能有的文件, 文档及数据。2软件特点:(1)软件是一种逻辑实体,而不是物理实体,具有抽象性,是计算机的无形部分;(2)软件的生

2、产及硬件不同,它没有明显的制作过程;(3)软件在运行, 运用期间不存在磨损, 老化问题;(4)软件的开发, 运行对计算机系统具有依靠性,受计算机系统的限制,这导致了软件移植的问题;(5)软件困难性高,成本昂贵;(6)软件开发涉及诸多的社会因素3.软件分类:依据功能可以分为:应用软件, 系统软件, 支撑软件(或工具软件)(1)应用软件是为解决特定领域的应用而开发的软件。如:教务管理系统, 财务管理系统等。(2)系统软件是计算机管理自身资源,提高计算机运用效率并为计算机用户供应各种服务的软件。如:操作系统, 数据库管理系统等。(3)支撑软件是介于系统软件和应用软件之间,帮助用户开发软件的工具软件。

3、比如:编码工具软件, 测试工具软件。4.软件危机:软件危机是指在软件的开发和维护过程中所遇到的一系列严峻问题。 软件危机主要体现在以下几个方面: 软件开发的实际成本和进度估计不精确 开发出来的软件经常不能运用户满意 软件产品的质量不高,存在漏洞,须要经常打补丁 大量已有的软件难以维护 软件缺少有关的文档资料 开发和维护成本不断提高,干脆威逼计算机应用的扩大 软件生产技术进步缓慢,跟不上硬件的发展和人们需求增长5.软件工程的定义和目的:(1)定义:软件工程是指应用计算机科学, 数学及管理科学等原理,以工程化的原则和方法来开发及维护软件的学科。(2)目的:探讨软件工程的主要目的就是在规定的时间,

4、规定的开发费用内开发出满意用户需求的高质量的软件系统(高质量是指错误率低, 好用, 易用, 可移植, 易维护等)。(3)软件工程的三个要素:方法, 工具和过程。方法:完成软件工程项目的技术手段;工具:支持软件的开发, 管理, 文档生成;过程:支持软件开发的各个环节的限制, 管理。(4)核心思想:把软件产品看作是一个工程产品来处理。二.软件工程概述:1.软件生命周期:(1)定义:将软件产品从提出, 实现, 运用维护到停止运用退役的过程称为软件生命周期。(2)软件生命周期一般划分为定义, 开发和维护3个阶段:定义阶段:可行性探讨, 需求分析2个阶段;开发阶段:概要设计, 详细设计, 编码实现和测试

5、4个阶段;维护阶段:运用, 维护, 退役阶段。 详解:a.软件定义阶段:包括制定支配和需求分析。制定支配:确定总目标;可行性探讨;探讨解决方案;制定开发支配。需求分析:对待开发软件提出的需求进行分析并给出详细的定义。需求分析方法有:1)结构化需求分析方法;2)面对对象的分析方法。需求分析的任务就是导出目标系统的逻辑模型,解决“做什么”的问题。需求分析一般分为需求获得, 需求分析, 编写需求规格说明书和需求评审四个步骤进行。b.软件开发阶段:软件设计:分为概要设计和详细设计两个部分。软件实现:把软件设计转换成计算机可以接受的程序代码。软件测试:在设计测试用例的基础上检验软件的各个组成部分。c.软

6、件运行维护阶段:软件投入运行,并在运用中不断地维护,进行必要的扩充和删改。注:软件生命周期中所花费最多的阶段是软件运行维护阶段。2.软件工程原则:抽象, 信息隐藏, 模块化, 局部化, 确定性, 一样性, 完备性和可验证性。3.软件工具及软件开发环境:(1)软件工具就是扶植开发软件的软件。它们对提高软件生产率,促进软件生产的自动化都有重要的作用。 (2)软件开发环境(或称软件工程环境)是全面支持软件开发全过程的软件工具的集合,这些软件工具依据确定的方法和模式组合起来,共同支持软件生命周期内的各个阶段和各项任务的完成。 三.软件设计基本概念:软件工程过程软件设计 目的:确定软件的总体结构, 数据

7、结构, 用户界面和算法微小环节 任务:将需求阶段产生的软件需求说明转换为用适当手段表示的软件设计文档软件设计分为总体设计和详细设计 四软件设计的基本原理:1总体设计 目的:要解决的问题是“怎样实现目标系统”任务:确定软件的总体结构,进行模块划分,确定每个模块的功能, 接口及模块之间的调用关系,并对全局数据结构进行设计,同时产生概要设计说明书 2详细设计 目的:要解决的问题是“应当怎样详细实现目标系统”任务:在概要设计的基础上,设计每个模块实现的微小环节及对局部数据进行设计(包括模块的数据结构和所需的算法),同时产生详细设计说明书3软件编码 目的:产生能在计算机上执行的程序任务:依据系统的要求和

8、开发环境,选用合适的程序设计语言,把详细设计的结果翻译成用该程序设计语言编写的程序代码(源程序)4软件测试软件测试是为了发觉程序中的错误而执行程序的过程目的和任务:通过在计算机上执行程序来尽可能多地发觉软件产品中的错误和缺陷,并改正程序中的错误,以保证程序的牢靠运行。5软件维护 软件维护阶段是长期的过程,因为,经过测试的软件还可能有错,用户的要求还会发生改变,软件运行的环境也可能改变等等。因此,交付运用的软件照旧须要接着排错, 修改和扩充,这就是软件维护。注:(1)软件维护的目的是满意用户对已开发产品的性能及运行环境不断提高的须要,进而达到延长软件的寿命 。软件维护就是在软件交付运用之后,为了

9、改正错误或满意新的须要而修改软件的过程。(2)软件维护的类型有如下几种:1)改正性维护:诊断和改进错误的过程(。2)适应性维护:为及改变的环境适当地协作而进行的修改软件的活动。3)完善性维护:为了满意用户提出的增加新功能或修改已有功能的建议而进行维护。4)预防性维护:为了改进将来的可维护性和牢靠性。 软件开发时期要完成设计和实现两大任务,其中设计任务用需求分析和软件设计两个阶段完成,实现任务用编码和测试两个阶段完成。开发任务完成的好及坏,关系到软件产品的质量,完成开发任务的关键是选择好的软件开发方法。目前,软件开发方法主要有结构化开发方法和面对对象开发方法。 五结构化分析方法1结构化分析(简称

10、SA)方法是面对数据流进行需求分析的方法。该方法运用简洁易读的符号,运用抽象的概念模型,依据软件内部数据传递, 变换的关系,自顶向下逐层分解,描绘出满意功能要求的软件模型 2结构化分析方法的常用工具:数据流图, 数据字典, 结构化语言, 判定树, 判定表3SA的基本步骤如下: 自顶向下对系统进行功能分解,画出分层的数据流图 由后向前定义系统的数据和加工,编制数据字典和加工说明 写出需求规格说明书(SRS) 4数据流图(1)数据流图是以图形的方式描绘数据在软件系统中流淌和处理的过程,由于它只反映系统必需完成的逻辑功能,所以它是一种功能模型。(2)数据流图由数据流, 加工(又称数据处理), 数据存

11、储(又称文件), 数据源点或终点四种基本成分组成。(3)数据流图(简称DFD)图形元素: 数据流:是数据在系统内传播的路径。运用箭头代表数据的流向,数据名称标在箭头的边上 加工:输入数据经过加工变换产生输出。运用圆框代表加工 数据存储:指处理过程中存放各种数据。运用双杠(或单杠)表示数据文件或数据库。文件及加工之间用箭头线连接,单向表示只读或只写,双向表示可读可写 数据源点或终点:指软件系统外部环境中的实体(包括人员, 组织或其他软件系统,统称为外部实体)。运用方框表示数据的源点和终点(4)建立数据流图的步骤第一步:由外向里:先画系统的输入输出,然后画系统的内部。其次步:自顶向下:依次完成顶层

12、, 中间层, 底层数据流图。第三步:逐层分解。5DFD图的数据流可分为两种类型:变换流和事务流(1)变换流:信息沿着输入通路进入系统,同时将信息的外部形式转换成内部形式,通过变换中心处理之后,再沿着输出通路转换成外部形式输出(2)事务流:信息沿着输入通路到达一个事务中心,事务中心依据输入信息的类型在若干个动作序列中选择一个来执行,这种信息流称为事务流 6数据字典数据字典就是用来定义数据流图中的各个成分的详细含义和详细的描述。它和数据流图共同构成了系统的逻辑模型,是需求规格说明书的主要组成部分。是结构化分析方法的核心。 数据字典是为分析人员查找数据流图中有关名字的详细定义而服务的。数据字典有四类

13、条目:数据流, 数据项, 数据存储和基本加工。7判定表举例(1)年交易额在5万或5万以下,则不赐予折扣;(2)对于年交易额在5万以上时: 假如无欠款,则赐予15%的折扣; 假如有欠款,而且及本公司的交易关系在20年以上,则折扣为10%; 假如有欠款,而且及本公司交易关系在20年以下,则折扣为5%。8软件需求规格说明书:是需求分析阶段的最终成果,是软件开发中的重要文档之一。作用:1)作为用和开发人员之间的合同;2)作为开发人员进行设计和编程的依据;3)作为软件开发完成后验收的依据9结构化设计方法(简称SD)是实现软件概要设计的关键技术之一, SD方法是一种面对数据流的设计方法,它及SA方法连接。

14、SD方法的中心任务就是把用DFD图表示的系统分析模型便利地转换为软件结构的设计模型。SD方法接受结构图(简称SC)来描述程序的结构。结构图的基本成分有模块, 调用和数据。10软件设计的基本原理包括:抽象, 模块化, 信息隐藏和模块独立性。1)抽象。抽象是一种思维工具,就是把事物本质的共同特性提取出来而不考虑其他微小环节。2)模块化。解决一个困难问题时自顶向下逐步把软件系统划分成一个个较小的, 相对独立但又不相互关联的模块的过程。注:模块是在程序中数据说明, 可执行语句等程序对象的集合。3)信息隐藏。每个模块的实施微小环节对于其他模块来说是隐藏的。4)模块独立性。软件系统中每个模块只涉及软件要求

15、的详细的子功能,而和软件系统中其他的模块的接口是简洁的模块的耦合性和内聚性是衡量软件的模块独立性的两个定性指标。a.内聚性:是对模块功能强度的度量,即对一个模块内部各个元素(语句之间, 程序段)间彼此结合的紧密程度的度量。b.耦合性:是模块间相互连接的紧密程度的度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。注:一个设计良好的软件系统应具有高内聚, 低耦合的特征。在结构化程序设计中,模块划分的原则是:模块内具有高内聚度,模块间具有低耦合度。 软件设计有两个步骤:概要设计(总体设计)和详细设计(过程设计)。(1)概要设计(又称结构设计)是将软件需求转化为软件体系结构, 确定系统级接口, 全局数据结构或数据库模式;(2)详细设计是确定每个模块的实现算法和局部数据结构,通过对结构表示进行细化,得到软件的详细数据结构和算法。11软

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 活动策划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号