您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 交通运输 > 软件工程期末考试复习资料1
东华理工大学以考带学,始于证书,止于无限东华考试联盟()1版权声明:本文版权归05112114、05112125所有,未经许可,任何任何媒体均不得改变其形式,进行转载或摘录,违者必究!软件工程期末考试复习资料一(仅参考)拟订人:超越吉他手、朱古力、哖_少オ輕狂第一章:软件工程的产生和发展有关复习资料一、软件工程的定义:1、软件危机的产生:软件危机的出现是由于软件的规模越来越大,复杂度不断增加,软件需求量增大。2、软件危机主要表现:两个方面:①软件产品质量低劣,甚至开发过程就夭折②软件生产率低,不能满足需要3、软件工程的三要素:①方法:完成软件开发各项任务的技术方法②工具:研究支撑软件开发方法的工具③过程:为开发高质量软件所规定的各项任务的工作步骤4、软件工程研究的标准及目标:标准:分为4个层次,国际标准、行业标准、企业规划、项目规划目标:以较少的投资获取高质量的软件。有易于维护、低的开发成本、高性能、缩短开发期5、软件工程研究的主要内容:以下两个方面:①软软件件开开发发方方法法、、技技术术;;软软件件开开发发工工具具及及环环境境②软软件件管管理理技技术术、、软软件件规规范范((国国际际规规范范))77、、软件工程学的目的:①以较少的投资获取高质量的软件②运用科学的方法和工程化的规范管理来指导软件开发③克服软件危机8、软件工程的基本原则:如下4条基本原则①必须认识软件需求的变动性,采取适当措施来保证结果产品能忠实地满足用户需求②稳妥的设计方法大大地方便了软件开发,以达到软件工程的目标③软件工程项目的质量与经济开销直接取决于对它所提供的支撑的质量与效用④有效的软件工程只有在对软件过程进行有效管理的情况下才能实现9、软件工程过程及特性:是指在软件工具的支持下,所进行的一系列软件工程活动包括4类基本过程:1)软件规格说明书2)软件开发3)软件确认4)软件演进特性:可理解性、可见性、可靠性、可支持性、可维护性、可接受性、开发效率和健壮性等。二、软件与软件生存周期1、软件的概念和特点1)概念:软件是是程程序序以以及及开开发发使使用用维维护护程程序序所所需需的的所所有有文文档档22))软软件件的的构构成成::由由应应用用程程序序、、系系统统程程序序、、面面向向用用户户的的文文档档及及面面向向开开发发者者的的文文档档44部部分分构构成成即即::软软件件==程程序序++文文档档东华理工大学以考带学,始于证书,止于无限东华考试联盟()233))特特点点::①软软件件是是一一种种逻逻辑辑实实体体,,不不是是具具体体的的物物理理实实体体②软件产品的生产主要是研制③软件具有复杂性,开发和运行常受到计算机系统的限制、④软件成本昂贵,开发方式还没完全摆脱手工生产方式⑤软件不存在老化和磨损,存在在退化问题2、软件的分类11))按按照照软软件件功功能能划划分分①系统软件②支撑软件③应用软件2)按按照照软软件件规规模模划划分分微微型型、、小小型型、、中中型型、、大大型型、、甚甚大大型型、、极极大大型型33))按按照照软软件件工工作作方方式式划划分分实时处理软件、交互式软件、批处理软件4)按按照照软软件件服服务务对对象象的的范范围围划划分分项目软件、产品软件3、软件结构及结构图衡量软件结构的有关指标:1)深度2)宽度3)扇出数扇入数软件结构的形态准则:顶部宽度小,中部宽度大,底部宽度次之;在顶部有较高的扇出数底部有较高的扇入数软件结构:1)模块(构成软件系统结构的基本元素)2)模块化3)软件的层次结构4)树状结构:特点是是程序的主模块、整个结构只有一个顶层模块、也只有一个上级模块、同一层模块之间没有横向联系5)网状结构:特点是任何两个模块之间有双向的关系、都是平等的结构图的构成:主要有模块、调用、数据4、软软件件生生存存期期有有关关资资料料1)定义:是指从软件开始开发到报废的全过程,亦称软软件件生生存存期期((lliiffeeccyyccllee))。一般用经典的瀑布模型来描述。2)软件生存周期的阶段:分为7个阶段①可行性研究和项目开发计划②需求分析③概要设计④详细设计⑤编码⑥测试⑦维护3)生生存存周周期期模模型型瀑瀑布布模模型型((计计划划时时期期、、开开发发时时期期、、运运行行时时期期))、、循循环环模模型型、、增增量量模模型型、、螺螺旋旋模模型型((44个个工工作作步步骤骤::制制定定计计划划、、风风险险计计划划、、实实施施工工程程、、客客户户评评估估))、、喷喷泉泉模模型型、、智智能能模模型型第二章:软件需求分析有关复习资料一一、、软软件件需需求求分分析析有有关关资资料料1、需求分析的任务:1)基本任务:是准确地定义新系统的目标,获得需求规格说明书2)具体任务:①确定系统的综合要求②分析系统的数据要求③导出系统的逻辑模型④修正系统的开发计划2、需求分析的过程:1)问题识别2)分析与综合3)编写文档4)分析评审3、需求分析的原则:1)能够表达和理解问题的信息域和功能域2)能够对问题进行分解和不断细化,建立问题的层次结构3)需要给出系统的逻辑视图和物理视图4、需求分析的方法:1)功能分析方法2)结构化分析方法3)信息建模法4)面向对象分析方法(OOA法)5、需求分析的目的:1)进一步确定用户的需求2)解决系统是做什么的问题东华理工大学以考带学,始于证书,止于无限东华考试联盟()36、需求分析中存在的问题:1)明确问题域和系统责任2)充分交流的问题3)需求的不断变化4)考虑复用要求二、软软件件的的开开发发方方法法有有关关资资料料1、软软件件的的开开发发方方法法有有关关资资料料1)软软件件开开发发方方法法可可分分为为两两大大类类::面向过程的开发方法、面向对象的开发方法2)面向过程的开发方法分为:①JACKSON方法:由JSP(主要体现程序结构的设计)和JSD(解决I/O结构冲突的问题)方法构成;JACKSON有三种典型动作(顺序、选择、循环);JACKSON设计过程包括建立数据库、建立相应的程序结构图;JACKSON方法的优点是结构清晰、易理解、易修改;缺点是当系统规模及复杂度大时,确定数据库有点困难。②结构化开发方法:1)是一种面向数据流的开发方法2)基本原则是功能的分解与抽象3)主要特点是快速、自然、方便4)指导思想是自顶向下、逐步求精5)由结构化程序设计方法SP法、结构化设计方法SD法(设计准则是模块内聚性强、模块之间耦耦合合性性低低))、结构化分析方法SA法构成(其步骤为:建立当前系统的具体模型、抽象出当前系统的逻辑模型、建立目标系统的逻辑模型、设计人机界面问题),其描述的工具有数据流图、数据词典、结构化语言、判定表和判定树③原型化方法:1)又称速成原型法2)又可以分为快速建立需求规格原型和快速建立渐进原型3)基本思想是花费少量代价建立一个可运行的系统4)主要优点在于是一种支持用户的方法,使得用户在系统生存周期的设计阶段起到积极的作用,能减少系统的开发风险5)速成原型法适合于开发大型科学计算、探索型系统、实验型系统信息管理系统、进化型系统、CAI系统、软件系统等6)软件原型可分为:废气型、追加型7)工作模型的步骤有:①快速分析②构造分析③运行和评价模型④修正与改进还分为HIPO、IDEF法3)面向对象的开发方法分为:OOSD法:由OOA法(要建立三种模型:对象模型、状态模型、处理模型)、OOD法、OOP法三部分组成2、数据流图有关资料1)四种基本图形符号:①数据流②加工③数据存储④数据源点或终点2)画DFD图的四步骤:1)确定外部实体2)确定分解顶层的加工3)确定使用的文件4)用数据流将各部分连接起来,形成数据封闭3)画分层DFD图的基本原则:①数据守恒和数据封闭②加工分解的原则③子图与父图的平衡4)数据词典的条目:数据流条目、文件条目、数据项条目、加工条目5)加工逻辑说明的三种描述方式:①结构化语言:特点:简单,易学,少二义性②判定表:特点:可处理较复杂的组合条件,但不易理解.不易输入计算机③判定树:特点:描述一般组合条件较清晰,易理解。不易输入计算机6)DFD图分类:中心变换型、事物处理型东华理工大学以考带学,始于证书,止于无限东华考试联盟()4第三章:软件设计及编码有关复习资料一、软件设计有关资料1、软件设计的任务和目标1)任务:将分析阶段获得的需求说明转换为计算机中可实现的系统,完成系统的结构设计,包括数据结构和程序结构,最后得到软件设计说明书。2)任务分为三部分:①划划分分模模块块,,确确定定软软件件结结构构②确确定定系系统统的的数数据据结结构构③设设计计用用户户界界面面33))设设计计的的目目标标::①软件实体有明显的层次结构,利于软件元素间控制②软件实体应该是模块化的,模块具有独立功能③软件实体与环境的界面清晰④设计规格说明清晰、简洁、完整和无二义性2、软件设计:分两步,总体设计和详细设计3、详细设计有关资料1)任任务务::详细设计阶段的任务是开发一个可以直接转换为程序的软件表示,即对系统中每个模块的内部过程进行设计和描述2)常常用用的的描描述述方方法法工工具具::流程图、结构化流程图(N-S图)、PAD图—问题分析图、PDL语言二、模块有关资料1、模块的基本属性:有三个基本属性:功能、逻辑、状态2、模块的独立性:1)定义:是指软件系统中每个模块只涉及软件要求的具体的子功能,而和软件系统中其他模块的接口是简单的2)模块的基本特征:①内部特征(局部数据、代码)②外部特征(输入/输出、功能)3)度量标准:①耦耦合合性性::用于描述模块之间联系的紧密程度②内内聚聚性性::用于描述模块内部联系的紧密程度44))耦耦合合性性的的类类型型::内内容容耦耦合合、、公公共共耦耦合合、、控控制制耦耦合合、复复合合耦耦合合、、数数据据耦耦合合55))内内聚聚性性的的类类型型::偶偶然然型型、、逻逻辑辑型型、、瞬瞬时时型型、、通通信信型型、、顺顺序序型型、、功功能能型型66))模模块块结结构构图图的的改改进进::①尽尽可可能能建建立立功功能能模模块块②消消除除重重复复功功能能③模模块块的的作作用用范范围围与与控控制制范范围围④模模块块的的大大小小适适当当⑤模模块块的的扇扇入入扇扇出出数数不不宜宜太太多多三三、、用用户户界界面面设设计计和和程程序序编编码码有有关关资资料料11、、用用户户界界面面的的特特性性::11))可可使使用用性性22))灵灵活活性性33))界界面面的的复复杂杂性性与与可可靠靠性性2、用户界面设计的任务:1)用户特性分析(建立用户模型)2)用户界面任务分析(建立任务模型)3)确定用户界面模型3、用户界面的基本类型:问题描述语言、数据表格、图形与图表、菜单’对话框、窗口等4、数据输出界面设计:1)显示内容选择的原则2)安排显示结构的规则5、提高输入效率的方法:1)尽量减少输入工作量2)输入屏幕与输入格式匹配3)遵循数据输入的一般原则(确定输入、交互动作、确定删除、提供反馈数据6、编码阶段的任务:是为每个模块编写程序。即是将详细设计的结果转换为用某种计算机语言写的程序东华理工大学以考带学,始于证书,止于无限东华考试联盟()57、选择程序设计语言的一般准则:1)项目的应用领域:应尽量选取适合某个应用领域的语言2)算法和计算复杂性:要根据不同语言的特点,选取能够适应软件项目算法和计算复杂性的语言3)软件的执行环境:要选取机器上能运行且具有相应支持软件的语言4)性能因素:应结合工程具体性能来考虑,例如实时系统要求速度,就应选择汇编语言5)数据结构的复杂性:要根据不同语言构造数据结构类型的能力选取合适的语言6)软件开发人员的知识水平以及心理因素知识水平包括:专业知识,程序设计能力。心理因素如对某种语言或工具的熟悉程度,受外界的影响8、设计语言的特性:具有很强的过程功能和数据结构功能,
本文标题:软件工程期末考试复习资料1
链接地址:https://www.777doc.com/doc-2011418 .html