您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 工程监理 > 二级公共基础知识(student)-软件工程、数据库设计
全国计算机等级考试二级公共基础知识中华女子学院计算机系主要参考资料全国计算机等级考试二级教程——公共基础知识(2011年版),教育部考试中心,高等教育出版社。三、软件工程基础考试大纲1.软件工程基本概念,软件生命周期的概念,软件工具与软件开发环境。2.结构化分析方法,数据流图,数据字典,软件需求规格说明书。3.结构化设计方法,总体设计与详细设计。4.软件测试的方法,白盒测试与黑盒测试,测试用例设计,软件测试的实施,单元测试、集成测试和系统测试。5.程序的调试,静态调试与动态调试。知识点归纳计算机软件定义软件是包括程序、数据及相关文档的完整集合。由两部分组成:机器可执行的程序和数据,与软件开发、运行、维护、使用等有关的文档。计算机软件的特点软件是一种逻辑实体,具有抽象性软件生产没有明显的制造过程软件在运行、使用期间不存在磨损、老化问题软件的开发、运行对计算机系统具有依赖性-软件移植问题软件复杂性高,成本昂贵-软件开发涉及多个领域的专门知识软件开发涉及诸多社会因素-用户机构设置、知识产权等知识点归纳计算机软件按功能分类应用软件、系统软件、支撑软件(或工具软件)应用软件系统软件:操作系统、数据库管理系统编译程序、汇编程序、网络软件等支撑软件:介于系统软件和应用软件之间,协助用户开发应用软件的工具性软件需求分析工具软件、设计工具软件、编码工具软件、测试工具软件、维护工具软件、计划进度管理工具软件、项目管理工具软件、质量管理工具软件等知识点归纳软件工程软件工程概念的出现源自于软件危机(在计算机软件开发和维护过程中所遇到的一系列严重问题)。软件开发成本和进度无法控制、软件成本不断提高软件质量难以保证软件开发生产率赶不上硬件的发展和应用需求的增长软件工程是应用于计算机软件定义、开发和维护的一整套方法、工具、文档、实践标准和工序。将工程化原则应用于软件开发的全过程核心思想:把软件产品看作工程产品来处理,引入需求计划、可行性研究、工程审核、质量监督等工程化的概念,以达到工程项目的3个基本要素:进度、经费和质量的目标知识点归纳软件工程三要素方法、工具、过程方法是完成软件工程项目的技术手段;工具支持软件的开发、管理、文档生成;过程支持软件开发的各个环节的控制、管理。软件工程的过程将软件工程的方法和工具综合起来知识点归纳软件工程过程把输入转化为输出的一组彼此相关的资源和活动.有两方面含义:1.是指为获得软件产品,在软件工具支持下由软件工程师完成的一系列工程活动。通常包括四种基本活动:P(Plan):软件规格说明;D(Do):软件开发C(Check):软件确认A(Action):软件演进2.从软件开发的观点看,是指使用适当的资源,为开发软件进行的一组开发活动,在活动结束时将输入(用户需求)转化为输出(软件产品)。知识点归纳软件生命周期软件从提出、实现、使用、维护到停止使用的过程称为软件的生命周期。分为定义、开发、维护三个阶段,包括可行性研究与计划制定、需求分析、软件设计、编码、测试、运行维护6个活动。确定软件的开发目标和总体要求编写软件规格说明书给出软件的结构、模块、功能和处理流程编写程序代码检验软件的各个组成部分将软件投入实际运行,并不断维护知识点归纳软件工程目标与原则目标:在给定成本、进度的前提下,开发出具有有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性且满足用户需求的软件产品。原则:抽象、信息隐蔽、模块化、局部化、确定性、一致性、完备性、可验证性软件工程研究的主要内容软件开发技术:核心是软件开发方法学软件工程管理知识点归纳软件开发工具与软件开发环境软件工具(CASE,计算机辅助软件工程):用来辅助软件开、运行、维护、管理、支持等过程中的活动的软件。软件开发环境:支持软件产品开发的软件系统,它由软件工具集和环境集成机制构成。知识点归纳软件开发方法软件开发过程所遵循的方法和步骤。包括分析方法、设计方法和程序设计方法。需求分析的工作需求获取、需求分析编写需求规格说明书、需求评审需求分析方法结构化分析方法(SA):面向数据流的分析方法、面向数据结构的Jackson方法等。面向对象的分析方法知识点归纳结构化分析方法基于功能分解的分析方法。着眼于数据流,自顶向下,逐层分解,建立系统的处理流程,以数据流图和数据字典为主要工具,建立系统的逻辑模型。分析工具数据流图(DFD):描述数据流从输入到输出的变换过程。数据字典(DD):描述DFD中的每个数据流、数据存储以及组成数据流或数据存储的数据项。判定树:以图形方式描述数据流图的加工逻辑。判定表:知识点归纳数据流图基本元素:外部实体、数据流、处理(加工)、数据存储知识点归纳建立数据流图的步骤由外向里,先输入输出,再内部自顶向下逐层分解知识点归纳数据字典数据元素的描述数据结构的描述数据存储的描述数据流的描述知识点归纳知识点归纳软件需求规格说明书(SRS)需求分析应交付的主要文档。主要内容数据描述(数据流图、数据字典、接口说明等)功能描述(功能、处理说明等)性能描述(性能参数、预期的软件响应等)编写原则精确、无二义性(无歧义性)知识点归纳软件设计基本原则抽象:把事物本质的共同特性提取出来模块化:把软件分解成若干小的简单的部分信息隐蔽:模块a包含的信息对模块b不可访问模块独立性:(模块内部)内聚性、(模块之间)耦合性高内聚、低耦合有利于提高模块的独立性。知识点归纳软件设计从技术观点看,软件设计包括结构设计、数据设计、接口设计、过程设计;从工程管理角度看,软件设计分两步完成:概要设计和详细设计。知识点归纳概要设计(总体设计或结构设计)将软件需求转化为数据结构和软件系统结构。常用的软件结构设计工具是结构图。详细设计(过程设计)为软件结构图中的每个模块确定实现算法和局部数据结构,并用某种表达工具表示算法和数据结构的细节。过程设计常用的工具:图形工具:程序流程图、N-S、PAD、HIPO表格工具:判定表语言工具:过程设计语言PDL(伪码)知识点归纳知识点归纳PDL示例知识点归纳面向数据流的设计方法通过某种映射方法,将数据流图变换成结构图表示的软件结构。数据流类型:变换型、事务型知识点归纳结构化程序设计方法的主要原则自顶向下:从最上层总目标开始设计,逐步使问题具体化;逐步求精:对于复杂问题,设计一些子目标作为过渡,逐步细化;模块化:将要解决的总目标分解为分目标,再进一步分解为小目标,每个小目标作为一个模块;限制使用GOTO语句。知识点归纳软件测试使用人工或自动手段来运行或测定某个系统的过程,目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。软件测试是为了发现错误而执行程序的过程。一个好的测试用例是指可能找到迄今为止尚未发现的错误的用例。一个成功的测试是发现了至今尚未发现的错误的测试。知识点归纳测试技术与方法从是否需要执行被测试软件的角度,分为静态测试和动态测试。静态测试主要包括代码检查、静态结构分析、代码质量度量等。动态测试是基于计算机的测试,是为了发现错误而执行程序的过程,或者说是根据软件开发的各个阶段的规格说明和程序的内部结构而精心设计的一批测试用例,并利用这些测试用例去运行程序,以发现程序错误的过程。测试用例是为测试设计的数据,由测试输入数据和与之对应的预期输出结果两部分组成。测试用例的格式:[(输入值集),(输出值集)]知识点归纳测试技术与方法按照功能,分为黑盒测试和白盒测试。黑盒测试:功能测试。将测试对象看作一个黑盒,不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明,检查程序的功能是否符合它的功能说明。主要方法:等价类划分法、边界值分析法、错误推测法、因果图等。白盒测试:结构测试。把测试对象看作一个透明的盒子,利用程序内部的逻辑结构及有关信息,对程序的所有逻辑路径进行测试。主要方法有:逻辑覆盖、基本路径测试等。知识点归纳软件测试的实施(分四个步骤)单元测试:模块测试,发现模块内部的错误,以白盒动态测试为主,依据是详细设计说明书。集成测试:组装测试,发现与接口有关的错误,依据是概要设计说明书。确认测试:验证软件的功能和性能以及其他特性是否满足需求规格说明中确定的各种需求,软件配置是否完全、正确。运用黑盒测试法。系统测试:将软件与计算机硬件、外设、支持软件、数据以及人员等其他系统元素组合在一起,在实际运行环境中对其进行一系列的集成测试和确认测试。发现软件与系统需求不一致的地方。知识点归纳程序调试(Debug)诊断和修正程序中的错误。(软件测试是尽可能多地发现软件中的错误)调试方法强行排错法回溯法原因排除法静态调试通过人的思维来分析源程序代码和排错动态调试知识点归纳软件维护为纠正使用中出现的错误而进行的改正性维护为适应环境变化而进行的适应性维护为改进原有软件而进行的完善性维护为将来的可维护和可靠而进行的预防性维护软件维护不仅包括代码的维护还包括文档的维护习题习题6.软件外部功能7.黑盒8.开发9.数据字典习题1.下列正确的是:A)程序设计就是编制程序B)程序的测试必须由程序员自己去完成C)程序经调试改错后还应进行再测试D)程序经调试改错后不必进行再测试2.下列描述中正确的是:A)软件工程只是解决软件项目的管理问题B)软件工程主要解决软件产品的生产率问题C)软件工程的主要思想是强调在软件开发过程中需要应用工程化原则D)软件工程只是解决软件开发中的技术问题3.在软件设计中,不属于过程设计工具的是:A)PDL(过程设计语言)B)PAD图C)N-S图D)DFD图4.下列叙述正确的是:A)软件交付使用后还需要进行维护B)软件一旦交付使用就不需要再进行维护C)软件交付使用后其生命周期就结束D)软件维护是指修复程序中被破坏的指令5.下列选项中不属于结构化程序设计方法的是A)自顶向下B)逐步求精C)模块化D)可复用习题6.两个或两个以上模块之间关联的紧密程度称为A)耦合度B)内聚度C)复杂度D)数据传输特性7.下列叙述中正确的是A)软件测试应该由程序开发者来完成B)程序经调试后一般不需要再测试C)软件维护只包括对程序代码的维护D)以上三种说法都不对8.下列选项不符合良好程序设计风格的是A)源程序要文档化B)数据说明的次序要规范化C)避免滥用goto语句D)模块设主地要保证高耦合、高内聚9.从工程管理角度,软件设计一般分为两步完成,它们是A)概要设计与详细设计B)数据设计与接口设计C)软件结构设计与数据设计D)过程设计与数据设计10.下列选项中不属于软件生命周期开发阶段任务的是A)软件测试B)概要设计C)软件维护D)详细设计四、数据库设计基础考试大纲1.数据库的基本概念:数据库,数据库管理系统,数据库系统。2.数据模型,实体联系模型及E-R图,从E-R图导出关系数据模型。3.关系代数运算,包括集合运算及选择、投影、连接运算,数据库规范化理论。4.数据库设计方法和步骤:需求分析、概念设计、逻辑设计和物理设计的相关策略。知识点归纳数据库(DB)长期存放在计算机内,有组织的、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述和存储,具有较小的冗余度、较高的数据独立性和易扩展性。知识点归纳数据库管理系统(DBMS)数据库系统的核心组成部分,在操作系统支持下工作。主要功能数据模式定义数据存取的物理构建数据操纵数据的完整性、安全性定义和检查数据库的并发控制和故障恢复数据的服务DBMS提供的语言数据定义语言(DDL),数据操纵语言(DML),数据控制语言(DCL)数据库系统数据库系统由数据库、数据库管理系统、数据库管理员、硬件平台和软件平台等组成。数据库系统的特点数据的集成性数据的高共享性和低冗余性数据的独立性逻辑独立性:数据库逻辑结构的改变不影响应用程序。物
本文标题:二级公共基础知识(student)-软件工程、数据库设计
链接地址:https://www.777doc.com/doc-6126519 .html