《软件工程导论》专升本考试大纲
一、考试科目名称
《软件工程导论》
二、考试方式
闭卷
三、考试时间
90分钟
四、试卷结构
总分100分,其中选择题30分,填空题20分,简答题30分,综合应用题20分。
五、参考书目
张海藩,牟永敏,《软件工程导论(第六版)》,清华大学出版社. ISBN:9787302330981,2013年8月
六、考试的基本要求
学生通过本课程的学习,了解软件项目开发和维护的一般过程,掌握软件工程中的基本的概念,方法和工具。重点掌握软件开发中结构化方法和面向对象方法的实现全过程。学生能运用软件工程的方法,技术与规范于实际的软件的研制与开发。
七、考试范围
考核知识及要求
第一章 软件工程概述
了解软件危机的产生及其解决办法,掌握软件工程的定义和基本原理。熟悉软件生命周期的定义和划分,重点掌握常用软件开发模型(瀑布模型、快速原型模型、螺旋模型、增量模型、喷泉模型、Rational统一过程、敏捷过程与极限编程、微软过程等)的定义特点和使用范围。了解软件工程或软件开发的最新前言动向。
第二章 可行性研究
了解可行性研究的必要性,掌握可行性研究的任务及步骤和成本/效益分析的基本方法。了解系统流程图、数据流图、数据字典的用途,熟悉系统流程图的符号和画法,重点掌握数据流图的画法(四个基本成分的划分,分层次的DFD的绘制)及数据字典的编写
第三章 需求分析
了解与用户沟通获取需求的方法,掌握需要分析阶段的概念及任务(功能需求、性能需求、可靠性和可用性需求、运行要求、将来可能提出的要求)。重点掌握状态转换图及ER图等的用法和绘制,掌握IPO图、层次方框图、Warnier图的作用和应用,能创建目标系统的逻辑模型。了解软件需求规格说明的作用和特点。
第四章 形式化说明技术
不作考试要求
第五章 总体设计
理解总体设计的过程和基本任务、理解软件设计的基本原理(模块化,抽象,信息隐蔽,模块独立性等概念,耦合性及内聚性)和启发性原则。熟悉描绘软件结构的图形工具(层次图、HIPO图、结构图)的符号和特点。重点掌握结构化设计方法 (要求能划分数据流的类型,将其能换成软件结构图,并能根据优化准则将其优化。)
第六章 详细设计
理解详细设计的根本目标及其任务,了解人机界面设计的基本问题。掌握常用的过程设计的工具的符号和特点。理解程序复杂度的定量度量方法(McCabe方法)。熟练掌握详细设计工具(程序流程图,盒图,PAD图,判定表,判定树和伪码)来设计模块中的算法及程序的逻辑结构;理解Jackson方法的概念,重点掌握面向数据结构的设计方法——Jackson方法,并能使用Jackson方法设计输入输出数据结构和程序结构。
第七章 实现
了解程序设计语言的发展及分类和程序设计风格,掌握软件测试的基本概念。理解各种软件测试方法(单元测试、 集成测试、确认测试、系统测试)的特性及使用场景。重点掌握基本的白盒测试技术(逻辑覆盖,基本路径测试)和黑盒测试技术(等价划分法,边界值分析法,错误推测法)。了解调试的概念,理解调试的不同途径。理解软件可靠性的概念,掌握估算平均无故障时间的方法,估计错误总数的方法。
第八章 维护
了解影响软件维护的因素和软件维护的标准化。掌握软件维护的定义与分类,理解软件维护的特点及过程,掌握软件可维护性的度量及提高可维护性的方法。
第九章 面向对象方法学引论
了解面向对象的方法学的优点,理解面向对象的概念(对象的定义和特点,类,实例,消息,方法,属性,封装和继承,多态的概念)。理解面向对象方法学引论3种模型(对象模型,动态模型,功能模型)的基本含义和三者之间的关系。重点掌握使用统一建模语言的类图(基本符号和类间表示关系的符号)建立对象模型、使用状态图建立动态模型,使用数据流图或用例图建立功能模型的绘制方法。
第十章 面向对象分析
掌握面向对象分析的基本方法和过程,了解需求陈述的内容和方法。掌握对象模型创建方法和过程(确定类与对象、确定关联、划分主题、确定属性、识别继承关系、反复修改)、掌握动态模型(编写脚本、设想用户界面、画事件跟踪图、画状态图、审查动态模型)和功能模型(画基本系统模型图、画功能级数据流图、描述处理框功能)的创建。了解定义服务的内容。重点掌握系统类图,时间跟踪图,状态图,基本系统模型图的绘制。
第十一章 面向对象设计
理解面向对象设计的准则。掌握面向对象设计的基本方法,包括面向对象设计的准则、启发规则、软件重用、系统分解等原理,学会设计问题域子系统、人机交互子系统、任务管理子系统、数据管理子系统、掌握类中的服务、设计关联、设计优化的概念和方法。
第十二章 面向对象实现
了解面向对象语言的优点,掌握程序设计风格(可重用性,可扩充性,健壮性)和测试软件的经典策略。重点掌握设计测试用例的方法。
第十三章 软件项目管理
理解项目管理中估算软件规模(代码行技术、功能点技术)概念。掌握作量估算(静态单变量、动态多变量、COCOMO2模型)的特点和算法、重点掌握进度计划(估算开发时间、Gantt图、工程网络、估计工程进度、关键路径、机动时间)中的概念,计算及相关图形的绘制。了解项目管理中的人员组织。理解软件质量的基本概念和质量保证的具体措施。了解软件配置管理(标识、版本控制、变化控制、配置审计和报告)、掌握能力成熟度模型(初始级、可重复级、已定义级、已管理级、优化级5级模型)的概念和过程。