二级公共基础知识(软件工程)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1二级公共基础知识考试需知:考试内容及安排第一章算法与数据结构第二章程序设计基础第三章软件工程基础第四章数据库设计基础2一、涉及面广,但难度小公共基础知识考题特点及复习建议计算机等级二级理论考试中有关公共知识部分的题目共有15道,涉及算法及数据结构、程序设计基础、软件工程基础和数据库设计基础等四门学科,但是从整体上分析,考试中的考核内容的难度不大,考点也相对集中些。3二、考核重点为基本概念、基本方法和基本运算计算机等级二级理论考试中涉及的题目都是基本概念、基本方法和基本运算,考核以概念和认识性内容为主,理解性、应用性内容极少。4三、考核重点是数据结构和算法以下是对以往二级理论考试的大概统计:算法及数据结构:50%程序设计基础:12.5%软件工程基础:18.75%数据库设计基础:18.75%5考试内容基本数据结构与算法程序设计基础软件工程基础数据库设计基础内容2007/92008/42009/92010/410`10`8`2`12`8`4`6`12`8`4`6`10`2`8`10``6四、六点复习及应试建议复习的关键是考生必须准确判断和掌握常见考点公共基础知识部分的知识点多、杂,考生在学习过程中应理清其中的脉络关系(即框架提纲),才能有效地组织和记住各知识点考生不要太追求灵活掌握该部分的内容,最好经历一个“先死后活、熟能生巧”的过程,这是多数考生常犯的另一种错误最后给大家一个答题技巧:“会就会,不会就不会”,不要拖时间,要考虑成本/效果的关系,为后面的题目提供时间。71、了解软件工程的基本概念;2、了解软件工程过程与软件的生命周期,以及软件工程的目标和原则;学习目标与要求软件工程:3、了解利用结构化分析法进行软件工程中的需求分析的方法,并了解需求分析的方法和需要完成的任务;4、了解数据流图的使用方法;5、了解如何利用结构化设计方法进行软件设计,并了解软件设计的一些常用工具;6、了解软件测试的目的和方法,以及软件测试的准则,了解常用的软件测试方法的区别和各自的功能与特点;7、了解程序调试的方法和原则。14第三章软件工程基础二级公共基础知识返回15软件工程基础内容1、软件工程基本概念,软件生命周期概念,软件工具与软件开发环境。2、结构化分析方法,数据流图,数据字典,软件需求规格说明书。3、结构化设计方法,总体设计与详细设计。4、软件测试的方法,白盒测试与黑盒测试,测试用例设计,软件测试的实施,单元测试、集成测试和系统测试。5、程序的调试,静态调试与动态调试。16软件工程基础(一)基本概念软件工程:软件工程是指应用计算机科学、数学及管理科学等原理,以工程化的原则和方法来解决软件问题的工程。其目的是提高软件生产率、提高软件质量、降低软件成本。软件危机:是指在计算机软件开发和维护过程中所遇到的一系列严重的问题。主要表现在:成本、质量、生产率等问题。17软件计算机系统中与硬件相互依存的另一部分,是包括程序、数据及相关文档的完整集合。程序程序人员开发的可执行的指令(语句)序列。数据使程序能正常操纵信息的数据结构相关文档机器可执行的程序和数据机器不能执行的,与软件开发、运行、维护、使用等有关的文档18软件的特点包括:(1)软件是一种逻辑实体;(2)软件的生产与硬件不同,它没有明显的制作过程;(3)软件在运行、使用期间不存在磨损、老化问题;(4)软件的开发、运行对计算机系统具有依赖性,受计算机系统的限制,这导致了软件移植的问题;(5)软件复杂性高,成本昂贵;(6)软件开发涉及诸多的社会因素。软件按功能分为:应用软件、系统软件、支撑软件(或工具软件)。软件生命周期将软件产品从提出、实现、使用维护到停止使用退役的过程称为软件生命周期。分为软件定义、软件开发及软件运行维护3个时期。维护是持续时间最长,花费代价最大的一个时期,软件工程学的一个目的就是提高软件的可维护性,降低维护代价。6个活动阶段:可行性研究与计划制定:确定系统的总体目标。参加人员有用户、项目负责人和系统分析员,产生文档有可行性分析报告、项目计划书等。需求分析:确定系统的逻辑模型。参加人员有用户、项目负责人和系统分析员。产生文档为需求规格说明书,其作用:(1)便于用户、开发人员进行理解交流;(2)反映用户问题的结构,可以作为软件开发工作的基础和依据;(3)作为确认测试和验收的依据。软件设计:包括软件结构设计、数据设计、接口设计和过程设计。其中结构设计是定义软件系统各部件之间的关系;数据设计是将分析时创建的模型转化为数据结构的定义;接口设计是描述软件内部、软件和操作系统之间及软件与人之间如何通信;过程设计则是把系统结构部件转换成软件的过程性描述。软件设计分概要设计和详细设计。参加人员有系统分析员和高级程序员。产生的文档有设计规格说明书。编码:编程。高级程序员和程序员产生源程序清单。测试:由另一部门的高级程序员或系统分析员产生软件测试计划和软件测试报告。运行维护21可行性研究与计划制定需求分析软件设计实现测试运行和维护确定系统的总体目标需求规格说明书概要设计说明书详细设计说明书测试计划初稿完成程序代码用户手册单元测试计划检验软件测试分析报告可行性研究与计划制定需求分析概要设计实现测试退役详细设计使用维护定义阶段开发阶段维护阶段软件工程三要素方法:完成软件工程项目的技术手段。工具:支持软件的开发、管理、文档生成。过程:支持软件开发的各个环节的控制、管理。软件工程的理论和技术研究的内容软件开发技术和软件工程管理。软件工程的目标在给定的成本、进度的前提下,开发出具有有效性、可靠性、可理解性、可维护性、可适应性、可移植性、可追踪性和可互操作性且满足用户需求的产品。软件工程鼓励研制和采用各种先进的软件开发方法、工具和环境。23软件工具和软件开发环境软件工具(CASE):用来辅助软件开发、运行、维护、管理、支持等过程中的活动的软件。软件开发环境:支持软件产品开发的软件系统,它由软件工具集和环境集成机制构成。软件工程的基本原则:抽象、信息隐蔽、模块化、局部化(模块间松散,模块内内聚性强)、确定性、一致性、完备性和可验证性。软件工程基础24需求分析与结构化分析方法需求分析的方法结构化分析方法面向对象的分析方法面向数据流的结构化方法(SA)面向数据结构Jackson方法(JSD)面向数据结构的结构化数据系统开发方法(DSSD)25结构化分析常用工具:(1)数据流图(2)数据字典(3)判定树(4)判定表结构化分析方法的实质:着眼于数据流,自顶向下,逐层分解,建立系统的处理流程,以数据流图和数据字典为主要工具,建立系统的逻辑模型。26数据流图(DFD):描述数据处理过程的工具,是需求理解的逻辑模型的图形表示,它直接支持系统功能建模。27建立数据流图的步骤:(1)由外向里;(2)自顶向下:顶层、中间层、低层数据流图;(3)逐层分解;2829数据字典(DD):存储文件”存折”的DD定义:对所有与系统相关的数据元素的一个有组织的列表,以及精确的、严格的定义,使得用户和系统分析员对于输入、输出、存储成分和中间计算结果有共同的理解。数据字典是各类数据描述的集合,它通常包括5个部分:即数据项、数据结构、数据流、数据存储、和处理过程。数据字典是结构化分析的核心。30判定树:当数据流图中的加工依赖于多个逻辑时,可以使用判定树来描述。从问题定义的文字描述中分清哪些是判定的条件,哪些是判定的结论,根据描述材料中的连接词找出判定条件之间的从属关系、并列关系、选择关系,根据它们构造判定树。31判定表:与判定树相似,当数据流图中的加工要依赖于多个逻辑条件的取值,即完成该加工的一组动作是由于某一组条件取值的组合而引发的,使用判定表描述比较适宜。32软件需求规格说明书,其作用:(1)便于用户、开发人员进行理解交流;(2)反映用户问题的结构,可以作为软件开发工作的基础和依据;(3)作为确认测试和验收的依据。软件需求规格说明书的特点:(1)正确性;(2)无岐义性;(3)完整性;(4)可验证性;(5)一致性;(6)可理解性;(7)可追踪性。需求分析结束时产生:(1)DFD、DD、判定树、判定表(2)软件需求规格说明书33(二)结构化分析方法软件工程基础基本思想将系统分析看成工程项目,有计划、有步骤地进行工作。开发策略自顶向下,逐层分解分析结果一套分层的数据流图(DFD):用来描述数据流从输入到输出的变换流程一个数据字典(DD):用来描述DFD中的每个数据流、文件以及组成数据流或文件的数据项一组小说明(加工逻辑说明):用来描述每个基本加工的加工逻辑34(三)结构化设计方法、总体设计和详细设计软件工程基础结构化设计方法结构图:基本成分:模块、调用、输入输出数据模块用矩形表示,模块间用线段连接,表示调用关系,输入输出数据可写在调用线段的旁边数据流的类型变换流事务流35结构化设计方法、概要设计和详细设计软件设计○软件设计的基本目标是用比较抽象概括的方式确定目标系统如何完成预定的任务,软件设计是确定系统的物理模型。○软件设计是开发阶段最重要的步骤,是将需求准确地转化为完整的软件产品或系统的唯一途径。从技术观点来看,软件设计包括软件结构设计、数据设计、接口设计、过程设计。结构设计:定义软件系统各主要部件之间的关系。数据设计:将分析时创建的模型转化为数据结构的定义。接口设计:描述软件内部、软件和协作系统之间以及软件与人之间如何通信。过程设计:把系统结构部件转换成软件的过程描述。从工程管理角度来看:概要设计和详细设计。36软件设计的基本原理:(1)抽象(2)模块化(3)信息隐蔽(4)模块独立化内聚性:耦合性:在程序结构中各模块的内聚性越强,则耦合性越弱。优秀软件应高内聚,低耦合。37概要设计设计原则分解—协调原则自顶向下的原则信息屏蔽、抽象的原则一致性原则明确性原则模块间的耦合度尽可能小,模块内部组合尽可能紧凑(内聚性高)模块的扇入和扇出系数合理模块的规模适当38结构图(SC):概要设计(软件结构设计)的工具:模块用一个矩形表示,箭头表示模块间的调用关系。在结构图中还可以用带注释的箭头表示模块调用过程中来回传递的信息。还可用带实心圆的箭头表示传递的是控制信息,空心圆箭心表示传递的是数据。39结构图的基本形式:基本形式、顺序形式、重复形式、选择形式。结构图有四种模块类型:传入模块、传出模块、变换模块和协调模块。40需求分析逻辑模型数据流图概要设计系统结构图物理模型概要设计的方法:典型的数据流类型有两种:变换型和事务型。变换型数据流系统结构图事务型数据流系统结构图41详细设计根本目标:确定应用怎样具体的实现所要求的系统,不是具体的编写程序,而是要设计程序的“蓝图”自顶向下的原则。此阶段的结果基本上决定了最终的程序代码的质量。包括内容:代码设计输入设计输出设计处理过程设计用户界面设计安全控制设计42过程设计工具:图形工具:程序流程图、N-S图、PAD、HIPO表格工具:判定表语言工具:PDL(伪码)程序流程图:4344N-S图:45PAD图:PDL(伪码):46(四)软件测试软件工程基础意义目的为了发现错误;希望能以最少人力和时间发现潜在各种错误和缺陷;保证系统质量和可靠性的关键步骤。测试方法人工测试机器测试提问:测试能否发现程序中的所有错误?答案:不能。白盒测试结构测试将软件看成透明的白盒,根据程序的内部结构和逻辑结构来设计测试例子,对程序的路径和过程进行测试,检查是否满足设计的要求黑盒测试功能测试将软件看成黑盒子,在完全不考虑软件内部结构和特性的情况下,测试软件的外部特性软件测试的实施单元测试(模块测试):白盒测试法组装测试(集成测试)确认测试:检查软件产品是否符合需求定义,黑盒测试法系统测试48适合于黑盒测试的测试方案:主要有:等价类划分、边界值分析法、错误推测法、因果图四种。适合于白盒测试的测试方案:主要有逻辑覆盖测试、基本路径测试法。逻辑覆盖法包括:语句覆盖、判定

1 / 74
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功