软件工程基础知识点总结

上传人:M****1 文档编号:561950937 上传时间:2023-01-11 格式:DOCX 页数:14 大小:107.44KB
返回 下载 相关 举报
软件工程基础知识点总结_第1页
第1页 / 共14页
软件工程基础知识点总结_第2页
第2页 / 共14页
软件工程基础知识点总结_第3页
第3页 / 共14页
软件工程基础知识点总结_第4页
第4页 / 共14页
软件工程基础知识点总结_第5页
第5页 / 共14页
点击查看更多>>
资源描述

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

1、软件工程基础部份知识点总结1、软件定义:是计算机系统中与硬件相互依存的另一部份,是包括程 序、数据以及相关文档的完整集合。1)程序是软件开辟人员根据用户需求开辟的、用程序设计语言描述 的、适合计算机执行的指令 (语句)序列。2)数据是使程序能够正常操作信息的数据结构.3)文档是与程序开辟、维护和使用有关的图文资料。国标(GB)计算机软件的定义:与计算机系统的操作相关的计算机程 序、规程、规则以及可能有的文件、文档及数据。2、:1 )软件是一种逻辑实体,而不是物理实体,具有抽象性,是计算机 的无形部份;2)软件的生产与硬件不同,它没有明显的制作过程 ;3)软件在运行、使用期间不存在磨损、老化问题

2、;4)软件的开辟、运行对计算机系统具有依赖性,受计算机系统的限 制,这导致了软件移植的问题;5)软件复杂性高,成本昂贵;6)软件开辟涉及诸多的社会因素3、软件的分类按照功能可以分为:应用软件、 系统软件、 支撑软件(或者工具软件)1 )应用软件是为解决特定领域的应用而开辟的软件 .2)系统软件是计算机管理自身资源,提高计算机使用效率并为计算 机用户提供各种服务的软件。3)支撑软件是介于系统软件和应用软件之间,协助用户开辟软件的 工具软件。4、软件危机:是指在软件的开辟和维护过程中所遇到的一系列严重 问题。 软件危机主要体现在以下几个方面: 软件开辟的实际成本和进度估计不许确 开辟出来的软件往往

3、不能使用户满意 软件产品的质量不高,存在漏洞,需要时常打补丁 大量已有的软件难以维护 软件缺少有关的文档资料 开辟和维护成本不断提高,直接威胁计算机应用的扩大 软件生产技术进步缓慢,跟不上硬件的发展和人们需求增长5、软件工程:此概念的浮现源自软件危机软件工程是指应用计算机 科学、数学及管理科学等原理,以工程化的原则和方法来开辟与维护 软件的学科.1)研究软件工程的主要目的就是在规定的时间、规定的开辟费用内 开辟出满足用户需求的高质量的软件系统 (高质量是指错误率低、好 用、易用、可移植、易维护等)。2)软件工程的三个要素 :方法、工具和过程。 方法:完成软件工程项目的技术手段; 工具:支持软件

4、的开辟、管理、文档生成; 过程:支持软件开辟的各个环节的控制、管理。3)软件工程的核心思想:把软件产品看做是一个工程产品来处理1、软件生命周期概念:将软件产品从提出、实现、使用维护到住手 使用退役的过程称为软件生命周期。2、软件生命周期普通划分为定义、开辟和维护 3 个阶段:1)定义阶段可行性研究、需求分析2个阶段; 软件定义阶段:包括制定计划和需求分析。 制定计划:确定总目标;可行性研究;探讨解决方案;制定开辟计 划。 需求分析:对待开辟软件提出的需求进行分析并给出详细的定义。 方法: 1)结构化需求分析方法; 2)面向对象的分析方法.任务:导出目标系统的逻辑模型,解决“做什么”的问题。步骤

5、:需求分析普通分为需求获取、需求分析、编写需求规格说明 书和需求评审四个步骤进行。2):概要设计、详细设计、编码实现和测试4个阶段; 软件设计:分为概要设计和详细设计两个部份。 软件实现:把软件设计转换成计算机可以接受的程序代码。 软件测试:在设计测试用例的基础上检验软件的各个组成部份.3)维护阶段:使用、维护、退役阶段.软件运行维护阶段:软件投入运行,并在使用中不断地维护,进行必 要的扩充和删改.软件生命周期中所花费最多的阶段是软件运维护阶段。4):抽象、信息隐蔽、模块化、局部化、确定性、一致性、完备性和可验证性。5)就是匡助开辟软件的软件。它们对提高软件生产率,促进软件生产的自动化都有重要

6、的作用。6)(或者称软件工程环境)是全面支持软件开辟全过程的 软件工具的集合, 这些软件工具按照一定的方法和模式组合起来,同支持软件生命周期内的各个阶段和各项任务的完成.1、问题定义可行性研究需求分析软件设计软件编码软件测试软件维护2、 1)总体设计目的:要解决的问题是“怎样实现目标系统”任务:确定软件的总体结构,进行模块划分,确定每一个模块的功能 接口及模块之间的调用关系,并对全局数据结构进行设计,同时产生 概要设计说明书2)详细设计目的:要解决的问题是“应该怎样具体实现目标系统” 任务: 在概要设计的基础上,设计每一个模块实现的细节及对局部 数据进行设计(包括模块的数据结构和所需的算法),

7、同时产生详 细设计说明书3、目的:产生能在计算机上执行的程序任务:根据系统的要求和开辟环境,选用合适的程序设计语言 ,把 详细设计的结果翻译成用该程序设计语言编写的程序代码(源程序)4、软件测试是为了发现程序中的错误而执行程序的过程目的和任务: 通过在计算机上执行程序来尽可能多地发现软件产品 中的错误和缺陷,并改正程序中的错误,以保证程序的可靠运行5、软件维护阶段 是长期的过程,因为,经过测试的软件还可能有错,用户的要求还会发生变化,软件运行的环境也可能变化等等。因此, 交付使用的软件仍然需要继续排错、修改和扩充,这就是软件维护。软件维护的目的是满足用户对已开辟产品的性能与运行环境不断提 高的

8、需要,进而达到延长软件的寿命软件维护就是在软件交付使用之后,为了改正躺或者满聞的需 要而修改软件的过程。软件维护的 有如下几种:1)改正性维护:诊断和改进错误的过程2)适应性维护: 为与变化的环境适当配合而进行的修改软件的活动3)完善性维护:为了满足用户提出的增加新功能或者修改已有功能 的 建议而进行维护。4)预防性维护:为了改进未来的可维护性和可靠性。软件开辟时期要完成设计和实现两大任务,其中设计任务用需求分析 和软件设计两个阶段完成,实现任务用编码和测试两个阶段完成。 开辟任务完成的好与坏,关系到软件产品的质量,完成开辟任务的关 键是选择好的软件开辟方法。目前,软件开辟方法主要有结构化开辟

9、方法和面向对象开辟方法=1软件设计的基本原理包括:抽象、模块化、信息隐蔽和模块独立性。1、模块化:指解决问题时自顶向下的方法逐层把软件系统划分成若干 个模块的过程2、认识复杂过程中使用的思维工具,即抽出事务的本质的共 同的特性而暂不考虑它的细节和其他因素。3、信息隐蔽:旨在设计和确定模块式的时候,是的一个模块内包含的信息,对于不需要这些信息的其他模块来说不可访问4、模块独立性:指每一个模块只完成系统要求的独立的功能,并且 与 其他模块联系至少且接口简单模块的耦合性和内聚性是衡量软件的模块独立性的两个定性指标.1)内聚性:是对模块功能强度的度量,即对一个模块内部各个元素(语 句之间、程序段)间彼

10、此结合的密切程度的度量。2)耦合性:是模块间互相连接的密切程度的度量。模块之间联系越 密切,其耦合性就越强,模块的独立性则越差一个设计良好的软件系统应具有的特征。在结构化程序设计中,模块划分的原则是:模块内具有高内聚度,模块 间具有低耦合度紡软件设计有两个步骤:(1)概要设计(又称结构设计)是将软件需求转化为软件体系结构、确定系统级接口、全局数据结构或者数据库模式;(2)详细设计是确定每一个模块的实现算法和局部数据结构,通过对 结构表示进行细化,得到软件的详细数据结构和算法.结构化方法的软件开辟过程软件计划后编码并测试彳结构化分析I结构化设计I彳结构化程序设计I一面向对象方法的软件开辟过程1、

11、结构化分析(简称SA)方法是面向数据流进行需求分析的方法。2、结构化分析方法的:数据流图、数据字典、结构化语言、判定树、判定表3、SA的如下: 自顶向下对系统进行功能分解,画出分层的数据流图 由后向前定义系统的数据和加工,编制数据字典和加工说明 写出需求规格说明书(SRS) 4、斷堆浦阪是以图形的方式描绘数据在软件系统中流动和处理的过 程,由于它只反映系统必须完成的逻辑功能所以它是一种功能模型。数据流图由数据流、加工(又称数据处理)、数据存储(又称文件)、数据源点或者终点四种基本成份组成.数据流图(简称DFD)图形元素: 数据流:是数据在系统内传播的路径。使用箭头代表数据的流 向,数据名称标在

12、箭头的边上 加工:输入数据经过加工变换产生输出。使用圆框代表加工 数据存储:指处理过程中存放各种数据。使用双杠(或者单杠) 表示数据文件或者数据库。文件与加工之间用箭头线连接,单向 表 示只读或者只写,双向表示可读可写 数据源点或者终点 指软件系统外部环境中的实体包括人员、 组织或者其他软件系统,统称为外部实体)。使用方框表示数据 的源点和终点I M 、八、5、建立数据流图的步骤:第一步:由外向里:先画系统的输入输出,然后画系统的内部。 第二步:自顶向下:顺序完成顶层、中间层、底层数据流图。 第三步:逐层分解.6、DFD图的数据流可分为两种类型:变换流和事务流 变换流:信息沿着输入通路进入系统

13、,同时将信息的外部形式转 换成内部形式,通过变换中心处理之后,再沿着输出通路转换成 外部形式输出 事务流:信息沿着输入通路到达一个事务中心,事务中心根据输入 信息的类型在若干个动作序列中选择一个来执行,这种信息流称 为事务流7、就是用来定义数据流图中的各个成份的具体含义和详细J Jr ST的描述.它和数据流图共同构成为了系统的逻辑模型,是需求规格说 明 书的主要组成部份.是结构化分析方法的核心.数据字典是为分析 人 员查找数据流图中有关名字的详细定义而服务的。数据字典有四类条目:数据流、数据项、数据存储和基本加工。8、就是把用DFD图表示的系统分析模型方便地转换w/J T厶 丁 O I丄为软件

14、结构的设计模型。1、软件测试是保证软件质量的重要手段,其主要过程涵盖了整个软 件生命周期的过程,包括需求定义阶段的需求测试、编码阶段的单元 测试、集成测试以及后期的确认测试、系统测试、验证软件是否合格 能否交付给用户使用.软件测试就是使用人工或者自动手段来运行或 者测 定某个系统的过程,其目的在于检验它是否满足规定的需求或 者是弄清预期结果与实际结果之间的差别。2、软件测试的原则:1)所有测试都应追溯到需求2)严格执行测试计划,排除测试的随意性3)避免由软件开辟人员测试自己的程序4)充分注意测试中的群集性现象5)除了很小的程序外, “彻底”的穷举测试是不可能的6)妥善保存测试计划、测试用例、出

15、错统计和最终的分析报告, 为维护提供方便软件测试的每一次测试都需要准备好一些测试数据,与被测程序 一起输入到计算机中执行;1、测试是对软件规格说明、设计和编码的最后的复审,所以软件测试贯通在整个软件开辟期的全过程.对于软件测试方法和技术,可以 从不同的角度加以分类。 从是否需要执行被测软件的角度,软件测试分为静态分析和动态测 试 按照功能划分,动态测试又分为白盒测试和黑盒测试2、静态测试普通是指人工评审软件文档或者程序,借以发现其中的 错 误,由于被评审的文档或者程序不必运行,所以称为静态的. 静态测试包括代码检查、静态结构分析、代码质量度量等。3、动态测试是指通过运行软件来检查软件中的动态行为和运行结果 的正确性,也就是常说的上机测试。动态测试普通包括两个基本要素:被测程序和测试数据4、测试能否发现错误取决于测试用例的设计. 动态测试的设计测试用例的方法普通分为

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

当前位置:首页 > 学术论文 > 其它学术论文

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