软件工程专业科目三《软件工程学》.docx
《软件工程专业科目三《软件工程学》.docx》由会员分享,可在线阅读,更多相关《软件工程专业科目三《软件工程学》.docx(18页珍藏版)》请在冰豆网上搜索。
软件工程专业科目三《软件工程学》
福建师范大学申请成人高考教育学士学位考试
软件工程专业
《软件工程学》课程考试大纲
软件工程学是成人高等教育软件工程专业学士学位考试计划中的一门专业课程,该课程重点要求学生学习与软件开发和维护有关的四个方面的主要内容——过程与模型、方法与技术、工具与环境、标准与规范等。
本课程的主要任务是使应考者掌握软件工程的基本概念、基本原理、实用的开发方法和技术;了解软件工程各领域的发展动向;如何用工程化的方法开发软件项目,以及在开发过程中应遵循的流程、准则、标准和规范等。
本考试大纲主要由课程要求、考核要点、参考教材和样卷四部分组成。
一、课程要求
通过软件工程学课程的学习,要求学生切实掌握软件工程的基本思想、基本概念、基本方法,能够应用相应的图形表示工具进行小型项目的开发,特别是实用方法与技术的应用。
具体要求如下:
1.从总体上了解软件工程的产生、软件生产发展史、软件生存周期、各种方法和生存周期模型、软件工程面临的问题。
2.系统掌握软件开发最基本的内容:
可行性研究和软件计划、需求分析、概要设计、详细设计、编码、测试、维护,系统掌握这些阶段的目标、任务、特点、步骤和文档。
3.掌握增量模型的基本内容、基本思想、运行机制、开发过程和步骤。
4.掌握结构化方法的基本思想,开发过程和步骤,应遵循的原则和准则,能够应用相应的图形表示工具开发小型软件项目。
5.初步掌握面向对象方法的基本思想、基本概念、基本模型,面向对象分析、面向对象设计、面向对象实现的任务、内容和步骤,能够应用相应的图形工具。
6.了解Jackson方法的基本思想、开发过程和步骤、能够应用相应的图形表示工具。
7.了解软件工程的质量保证中的各种基本概念和方法,了解软件工程管理中的思想和方法,了解软件开发环境与工具。
二、考核要点
(一)第1章绪论
本章总体要求是:
从总体上了解软件工程的基本概念和内容、软件工程过程和生存期的基本概念和内容、软件开发的各种方法和生存周期模型等。
本章考核要求如下:
(1)软件工程的产生
①软件的特点,要求达到识记层次。
②软件生产的发展,要求达到识记层次。
③软件危机的产生、表现、原因,要求达到领会层次。
④软件工程的定义、性质、目标、内容、面临的问题,要求达到领会层次。
(2)软件工程过程和软件生存周期
①软件工程过程概念,要求达到识记层次。
②软件生存周期概念,要求达到识记层次。
(3)软件生存周期模型、方法和工具
①软件生存周期模型的定义、重要性、作用和准则,要求达到识记层次。
②瀑布模型、增量模型、螺旋模型、喷泉模型、变换模型、基于知识的模型等,要求达到识记层次。
③软件开发目标、软件开发方法的作用和重要性,要求达到识记层次。
④结构化方法、Jackson方法、维也纳方法、面向对象方法,要求达到识记层次。
⑤软件开发工具的重要性、软件开发环境和计算机辅助软件工程,要求达到识记层次。
(二)第2章软件可行性研究与项目开发计划
本章总体要求是:
深刻理解可行性研究的必要性、掌握可行性研究的任务及可行性研究均具体步骤、了解系统流程图的作用及符号表示、理解可行性研究报告与项目开发计划的内容等。
本章考核要求如下:
(1)可行性研究
①可行性研究的任务,要求达到识记层次。
②可行性研究的具体步骤,要求达到领会层次。
(2)系统流程图
①系统流程图中的各步骤要求达到识记层次。
(3)成本——效益分析
①投资回收率、回收期和纯收入要求达到识记层次。
(4)项目开发计划
①项目开发计划包含的内容要求达到识记层次
(三)第3章软件需求分析
本章总体要求是:
深刻理解需求分析阶段的概念及任务、熟练掌握面向数据流的分析方法——结构化分析方法、深刻理解数据流图和数据字典的作用及应用、掌握几种加工逻辑的描述方法。
本章考核要求如下:
(1)需求分析的任务
①需求分析的概念,要求达到识记层次。
②需求分析的基本任务,要求达到领会层次。
(2)结构化分析方法
①结构化分析方法中的分析步骤,要求达到领会层次。
(3)数据流图
①数据流图中的符号、画数据流图注意的事项,要求达到领会层次。
②分层的数据流图,要求达到简单应用层次。
(4)数据字典
①数据字典的作用、数据字典中的条目,要求达到识记层次。
②数据字典的定义,要求达到简单应用层次。
(5)加工逻辑的描述
①结构化语言、判定表(树)的构成,要求达到领会层次。
②结构化语言、判定表(树)描述,要求达到简单应用层次。
(6)IDEF方法
①IDEF0的图形表示,要求达到领会层次。
②建立功能模型的基本方法,要求达到领会层次。
(四)第4章软件概要设计
本章总体要求是:
深刻理解软件设计的基本任务和基本原理;熟练掌握结构化设计方法;深刻理解模块化、抽象、信息隐敝、模块独立性等概念;明确度量模块独立性的标准——耦合性与内聚性。
本章考核要求如下:
(1)软件概要设计的基本任务
①软件设计、概要设计和详细设计,要求达到识记层次。
②软件设计的基本任务,要求达到领会层次。
(2)软件设计的基本原理
①模块化、抽象、信息隐蔽、模块独立性、内聚性和耦合性等概念,要求达到领会层次。
②内聚性、耦合性的划分,要求达到领会层次。
(3)软件结构优化准则
①软件结构、模块的影响范围、模块的控制范围,要求达到领会层次。
②软件结构设计的优化准则,要求达到领会层次。
(4)面向数据流的设计方法
①变换流和事务流,要求达到识记层次。
②将变换流或事务流类型的数据流图,转换成软件结构,要求达到简单应用层次。
(5)基于IDEF0图的设计方法
①IDEF0图的设计方法,要求达到领会层次。
(6)HIPO图表示软件结构
①HIPO图,要求达到领会层次。
(五)第5章软件详细设计
本章总体要求是:
能熟练地使用详细设计描述方法来设计模块中的算法及程序的逻辑结构、理解Jackson方法的概念,学会使用Jackson方法设计输入输出数据结构和程序结构。
本章的考核要求如下:
(1)详细设计的基本任务
①详细设计的基本任务,要求达到领会层次。
(2)结构化程序设计方法
①结构化程序设计的基本要点,要求达到识记层次。
(3)详细设计描述法
①流程图、PAD图及过程设计语言,要求达到简单应用层次。
(4)Jackson方法
①Jackson方法,要求达到简单应用层次。
(六)第6章软件编码
本章总体要求是:
掌握几种常用的程序设计语言的特点、领会程序设计中应注意的问题,、注重培养良好的编程风格。
本章的考核要求如下:
(1)程序设计语言的特点及选择
①几种常用的程序设计语言的特点。
要求达到识记层次。
(2)程序设计风格
①程序设计风格,要求达到领会层次。
(七)第7章软件测试
本章总体要求是:
掌握测试阶段的任务、测试方法及测试步骤;深刻理解白盒、黑盒测试技术;深刻理解测试过程中单元测试、集成测试、确认测试的任务及采用的方法;掌握调试程序的方法。
本章的考核要求如下:
(1)软件测试的目的及原则
①软件测试的目的,要求达到识记层次。
(2)测试方法
①白盒法、黑盒法,要求达到领会层次。
(3)测试用例的设计
①逻辑覆盖、等价类划分、边界值分析、错误推测、因果图,要求达到识记层次。
②逻辑覆盖中各种覆盖之间的区别,要求达到领会层次。
③用白盒法、黑盒法设计测试用例,要求达到简单应用层次。
(4)测试过程
①单元测试、集成测试、确认测试、渐增式、非渐增式,要求达到识记层次。
②单元测试的内容及方法、集成测试的方法、渐增式及非渐增式测试的区别、自顶向下及自底向上结合模块的步骤、三种测试与软件开发各阶段之间的关系,要求达到领会层次。
(5)调试
①调试,要求达到识记层次。
②归纳法和演绎法,要求达到领会层次。
(八)第8章软件维护
本章总体要求是:
要掌握软件维护的内容、特点、方法、技术、文档;了解软件维护的各种困难、软件维护的特点、软件维护的文挡;理解软件维护的内容、维护任务的实施、维护的副作用;深刻理解如何提高软件可维护性。
本章的考核要求如下:
(1)软件维护的内容
①校正性维护、适应性维护、完善性维护和预防性维护,要求达到领会层次。
(2)软件维护的特点
①结构化维护与非结构化维护、维护的困难性和软件维护的费用,要求达到识记层次。
(3)软件维护任务的实施
①软件维护的组织、维护的流程、维护的技术及维护的副作用,要求达到识记层次。
(4)软件可维护性
①可维护性的定义,要求达到领会层次。
②可维护性的度量,要求达到领会层次。
③提高可维护性的方法,要求达到领会层次。
(九)第9章软件开发的增量模型
本章的总体要求是:
了解增量模型的基本思想、特点;了解模型的分类和各种模型的表示;了解快速原型的基本原理;理解快速原型的开发技术、构造原型的建议和开发环境;深刻理解快速原型开发过程和步骤。
本章的考核要求如下:
(1)概述
①瀑布模型的局限性,要求达到识记层次。
②增量模型的基本思想、分类,要求达到识记层次。
(2)渐增模型
①增量构造模型,要求达到领会层次。
②演化提交模型,要求达到领会层次。
(3)快速原型模型
①快速原型模型的基本思想,要求达到识记层次。
②快速原型模型表示,要求达到识记层次。
③原型开发过程,要求达到领会层次。
(4)快速原型开发技术和开发环境
①构造原型的建议和开发环境,要求达到领会层次。
(5)增量模型的评价
①原型的作用、原型使用建议、原型的优点及原型存在的问题,要求达到识记层次。
(十)第10章面向对象的方法
本章总体要求是:
掌握面向对象的基本思想、基本概念、基本原理;掌握三种模型的基本概念和构造方法;掌握面向对象的分析、面向对象的设计、面向对象的实现的过程;了解传统开发方法的各种局限性;了解面向对象语言、面向对象技术、面向对象开发方法的发展过程;理解面向对象分析、面向对象设计、面向对象实现的内容、方法和步骤;深刻理解对象、类、类的层次结构、方法和消息的实质,深刻理解对象模型、动态模型、功能模型的元素、结构和构造方法。
本章的考核要求如下:
(1)面向对象概述
①传统开发方法存在的问题,要求达到识记层次。
②面向对象的概念,要求达到识记层次。
③面向对象的开发方法,要求达到识记层次。
(2)面向对象的模型
①对象模型中对象和类、关联、类的层次结构,要求达到领会层次。
②对象图,要求达到简单应用层次。
③动态模型中的事件、状态、行为等概念,要求达到领会层次。
④状态图,要求达到简单应用层次。
⑤功能模型,要求达到领会层次。
(3)面向对象的分析
①面向对象分析过程,要求达到领会层次。
②建立对象模型,要求达到简单应用层次。
③建立动态模型,要求达到简单应用层次。
④建立功能模型,要求达到简单应用层次。
(4)面向对象的设计
①面向对象设计的准则,要求达到领会层次。
②面向对象设计的启发规则,要求达到领会层次。
③系统设计,要求达到识记层次。
④对象设计,要求达到识记层次。
(5)面向对象实现
①程序设计语言,要求达到识记层次。
②类的实现,要求达到领会层次。
③应用系统的实现,要求达到领会层次。
④面向对象的测试,要求达到识记层次。
(十一)第11章软件质量与质量保证
本章总体要求是了解软件质量的定义;理解软件质量的度量与评价、软件质量保证的基本概念;理解软件质量度量模型、软件复杂性、软件可靠性、设计质量的评审和程序质量评审的具体内容和软件容错技术的概念;理解软件复杂性的几种常用度量方法,以及软件质量度量模型;了解实现容错软件的一般方法和容错软件的实现过程;理解使用软件质量度量模型、软件复杂性度量模型、软件可靠性模型、容错软件设计过程与软件评审的方法对保证软件质量所起的作用。
本章的考核要求如下:
(1)概述
①软件质量的定义,要求达到领会层次。
②软件质量的度量与评价,要求达到识记层次。
③软件质量保证,要求达到识记层次。
(2)质量度量模型
①McCall质量度量模型,要求达到领会层次。
②ISO质量度量模型,要求达到领会层次。
(3)软件复杂性
①软件复杂性的基本概念。
要求达到识记层次。
②软件复杂性的度量方法,要求达到识记层次。
(4)软件可靠性
①软件可靠性定义,要求达到识记层次。
②软件可靠性指标,要求达到识记层次。
③软件可靠性模型,要求达到识记层次。
(5)软件评审
①软件评审要求达到识记层次。
(6)软件容错技术
①容错软件定义,要求达到识记层次。
②容错的一般方法,要求达到领会层次。
③容错软件的设计过程,要求达到识记层次。
(十二)第12章软件工程管理
本章总体要求是:
了解软件产品的各种特点与软件工程管理的内容、软件项目计划内容、软件开发成本估算、软件项目进度安排和软件配置管理等概念;理解软件开发成本估算的COCOCM模型和Putnan估算模型;软件项目进度安排中的软件开发任务的并行性,Gantt图与工程网络图:
文档的作用与分类;深入理解软件项目计划的重要性及各个环节之间的联系,软件工程标准化的意义。
本章的考核要求如下:
(1)软件工程管理概述
①软件产品的特点,要求达到识记层次。
②软件工程管理的重要性,要求达到识记层次。
③软件工程管理的内容,要求达到识记层次。
(2)软件项目计划
①软件项目计划概念,要求达到领会层次。
②软件项目计划内容,要求达到领会层次。
③制定软件工程规范,要求达到领会层次。
④软件开发成本估算,要求达到领会层次。
⑤风险分析,要求达到识记层次。
⑥软件项目进度安排,要求达到领会层次。
⑦软件质量保证,要求达到简单应用层次。
(3)软件配置管理
①基线概念,要求达到识记层次。
②软件配置项,要求达到领会层次。
③版本控制,要求达到领会层次。
④变更控制,要求达到领会层次。
(4)软件工程标准化与软件文档
①软件工程标准化的意义,要求达到识记层次。
②软件工程标准的层次,要求达到识记层次。
③文档的作用与分类,要求达到领会层次。
(十三)第13章软件开发环境
本章总体要求是:
了解软件开发环境概念、软件开发环境的分类、软件工具、软件工具分类、工具间集成、计算机辅助软件工程CASE的基本概念;理解软件环境的特点和分类、软件工具的分类与评价,工具间集成性与灵活性,CASE的分类与生命周期。
理解集成化,CASE生存周期,软件工程环境;软件工程方法的研究在软件开发中的作用。
本章的考核要求如下:
(1)软件开发环境
①软件开发环境概论,要求达到识记层次。
②软件开发环境的分类,要求达到识记层次。
(2)软件工具
①软件工具的基本概念与特点,要求达到识记层次。
②软件工具的分类,要求达到领会层次。
(3)计算机辅助软件工程(CASE)
①CASE的定义、分类、集成等概念,要求达到识记层次。
②CASE的生存期和工作台,要求达到领会层次。
三、参考教材
1.《软件工程导论(第5版)》,张海潘编著,清华大学出版社,2008年2月
2.《软件工程(第二版)》,齐治昌、谭庆平等著,高等教育出版社,2004年04月
3.《软件工程原理与应用》,陈世鸿编著,武汉大学出版社,2000年1月
四、样卷
一、单项选择题(本大题共20小题,每小题1分,共20分)
在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1.在软件生存周期中,时间最长的阶段是()
A.需求分析B.详细设计
C.编码D.维护
2.以下最适合于面向对象的软件开发的软件生存周期模型是()
A.瀑布模型B.增量模型
C.螺旋模型D.喷泉模型
3.以下不适用于需求分析的工具是()
A.数据流图B.判定表
C.PAD图D.数据字典
4.以下几种模块内聚类型中,内聚性最低的是()
A.时间内聚B.逻辑内聚
C.顺序内聚D.功能内聚
5.系统流程图中符号的名称是()
A.联机存储B.处理
C.磁盘D.文档
6.数据流图中的每个加工至少有()
A.一个输入流或一个输出流B.一个输出流
C.一个输入流D.一个输入流和一个输出流
7.HIPO图是软件工程中的一种描述工具,采用HIPO图进行描述的阶段是()
A.可行性分析B.需求分析
C.概要设计D.详细设计
8.Jackson方法是软件开发过程中常用的方法,使用Jackson方法可以实现()
A.从数据结构导出程序结构B.从数据流图导出初始结构图
C.从模块结构导出数据结构D.从模块结构导出程序结构
9.过程设计语言(PDL),又称为()
A.伪码B.高级程序设计语言
C.中级程序语言D.低级程序设计语言
10.单元测试阶段主要涉及的文档为()
A.需求设计B.编码和详细设计
C.详细设计D.概要设计
11.软件维护会产生副作用,下面选项中不属于维护副作用的是()
A.编码副作用B.测试副作用
C.文档副作用D.数据副作用
l2.以下不适合作为科学工程计算的语言是()
A.PascalB.C
C.FortranD.Prolog
l3.PAD图为下列哪个方面提供了有力的工具()
A.系统分析B.软件的自动化生成
C.自动分析数据D.测试软件
14.结构化软件设计是()
A.面向数据结构的B.面向数据库的
C.面向数据流的D.面向对象设计的
15.在McCall软件质量度量模型中,面向软件产品修改的质量因素为()
A.可用性B.完整性
C.适应性D.互操作性
16.汽车是一种交通工具,汽车类和交通工具类之间的关系是()
A.一般具体B.hasa
C.整体部分D.组成
l7.Westinghouse公司于1992年公布了l3类软件工具分类标准和该类的范例工具以及例子,下面说法错误的是()
A.代码生成程序属于编码和单元测试工具
B.桌面出版系统属于文档工具
C.数据库管理系统属于需求追踪工具
D.计划和进度属于项目管理工具
18.对McCabe度量法,叙述错误的是()
A.McCabe度量法是一种基于程序控制流的复杂性度量法
B.McCabe度量法以图论为工具,用图的环路作为程序复杂性的度量值
C.McCabe度量法将简单IF语句和赋值语句的复杂性同等看待
D.McCabe复杂性度量也称为环路度量
19.瀑布模型本质是一种()
A.顺序迭代模型B.线性顺序模型
C.线性迭代模型D.非线性模型
20.对于使用原型的建议,下面说法错误的是()
A.开发周期很长的项目,可通过原型开发来缩短开发周期
B.系统的使用可能变化较大,不能相对稳定,而原型模型具有适应变化的机制
C.缺乏开发工具,或对原型的可用工具不了解的时候宜使用原型
D.用户对系统的需求较为模糊,对某种要求缺乏信心时宜使用原型
二、填空题(本大题共10小题,每小题2分,共20分)
请在每小题的空格中填上正确答案。
错填、不填均无分。
21.为了支持软件人员开发和维护活动而使用的软件一般是指____________。
22.在IDEF0方法中,一个活动可以无输入,但必须至少有一个__________。
23.在软件结构的设计中,各个模块之间要力求降低耦合性,提高____________。
24.在类的层次结构中,通常上层类称为父类或超类,下层类称为__________。
25.数据流图(DFD)一般可分为变换型和__________两类。
26.软件维护的内容包括校正性维护、适应性维护、_________和预防性维护。
27.软件的生产经历了三个阶段,分别是程序设计时代、程序系统时代和__________。
28.渐增模型是瀑布模型的变种,分为两类:
增量构造模型和__________。
29.状态图反映了_____________的关系。
30.软件项目管理过程一个关键的活动是__________,它是软件开发工作的第一步。
三、名词解释题(本大题共5小题,每小题3分,共15分)
31.软件开发方法
32.耦合性
33.多态性
34.软件质量保证
35.确认测试
四、简答题(本大题共4小题,每小题5分,共20分)
36.简述可行性研究的目的和任务。
37.什么是模块化?
软件结构设计的优化准则是什么?
38.简述详细设计的基本任务。
39.简述软件测试的任务、目的与类型。
五、应用题(本大题共2小题,其中40小题l0分,4l小题15分,共25分)
40.某个程序的伪码如下(前面的标号只用于标明语句顺序,不参与程序运行):
1:
START
2:
IFL1THEN
3:
S1
4:
DOWHILEL2
5:
S2
6:
IFL3THEN
7:
S3
ELSE
8:
S4
9:
ENDIF
10:
ENDDO
EISE
11:
S5
12:
ENDIF
13:
STOP
(1)试将其转换成PAD图(5分)
(2)计算程序的环路复杂性(5分)
41.某服装贸易公司的销售子系统功能如下:
(1)公司提供多种类别服装,所有类别的服装通过各个地区的分公司进行销售;
(2)公司接收分公司的订单,检验订单,若有库存就供货,则修改库存,给仓库开备货单,并且将订单留底;若库存不足,则进行缺货登记。
(3)根据缺货记录将缺货通知单发给采购部,以便采购。
(4)根据采购部门的进货通知单处理进货,即修改库存,并从缺货记录中取出缺货订单进行供货处理。
试采用结构化分析方法画出该公司销售管理系统的分层DFD(画出顶层、0层、1层图)。