江苏广播电视大学开放教育本科《软件工程》课程教学大纲由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“软件工程课程教学大纲”。
江苏广播电视大学开放教育本科《软件工程》课程教学大纲
第一部分
大纲说明
一、课程性质、目的与任务
《软件工程》是江苏电大计算机应用专业教学计划中一门综合性和实践性很强的选修课程,主要内容包括软件工程概述、系统分析、软件需求分析、软件设计、Jackson系统开发方法、用户界面设计、面向对象分析与设计、编码、软件质量与质量保证、项目计划与管理等。
根据培养基本应用型人才的需要,本课程的目的与任务是使学生通过本课程的学习,了解软件项目开发和维护的一般过程,掌握软件开发的传统方法和最新方法,为更深入地学习和今后从事软件工程实践打下良好的基础。
二、先修课程知识要求
计算机的基础知识、程序设计的知识、面向对象程序设计知识
三、课程的教学要求
基本概念和基本知识:软件与软件工程,硬件系统分析和软件系统分析,生存周期与软件开发模式,结构化分析、需求分析,面向对象分析、设计与编码,软件的评审、测试与维护,项目计划与项目管理。
基本技能:能应用软件工程的基本方法参与软件项目的分析、设计、实现和维护且在实践中灵活运用
重点:系统分析、系统设计、系统实现、系统维护
难点:系统分析、需求分析、软件设计、软件测试
六、考核
本课程采取大作业与集中笔试考核相结合的方式,大作业占总成绩的20%,由各教学点和市校自行组织考核,江苏电大进行抽查,不做大作业者不能参加笔试;笔试由江苏电大根据教学大纲统一命题,占总成绩的80%。
第二部分 教学内容和教学要求软件工程概述
教学内容
1.1 软件的概念、特点和分类(软件的概念和特点、软件的分类)
1.2 软件的发展和软件危机(人们对软件的新的认识、软件的需求是软件发展的动力、软件工作范围的扩展)1.3 软件工程过程和软件生存期(软件工程过程、软件生存期)
1.4 软件生存期模型(瀑布模型、演化模型、螺旋模型、喷泉模型、智能模型)1.5软件工程的基本目标(软件工程的定义、软件工程项目的基本目标)
教学要求
掌握:软件和软件工程的基本概念
了解:软件生命周期及软件开发的各个模型 2 系统分析
教学内容
2.1 基于计算机的系统
2.2 计算机系统工程(硬件和硬件工程、软件和软件工程、人与人类工程、数据库和数据库工程)2.3 系统需求识别(系统分析的目标、系统分析过程)2.4 可行性研究
2.5成本—效益分析(几种度量效益的方法、成本—效益的分析)2.6技术分析 2.7分配与权衡
2.8系统结构的模型化(结构图、系统结构的规格说明定义)2.9系统定义与评审(系统规格说明、系统定义的评审)教学要求
理解:系统分析的含义
了解:系统分析过程中的分析方法 3 软件需求分析
教学内容
3.1 软件需求分析的任务
3.2 需求分析的过程 3.3 软件需求分析的原则 3.4分析员和用户的责任 3.5软件需求分析方法
3.6原型化方法(软件原型化方法概述、快速原型开发模型(原型生存期)、软件开发过程、软件复用)
3.7结构化分析方法(数据流图、数据词典、加工逻辑说明)3.8系统动态分析(状态迁移图、时序、Petri网)
3.9数据及数据库需求(有关数据库的基本概念、E—R方法、数据结构的规范化、数据库分析的过程)3.10软件需求分析工具(SADT、PSL/PSA)教学要求:
掌握:需求分析的方法
理解:需求分析的任务和原则 了解:需求分析工具 4 软件设计
教学内容
4.1 软件设计的目标和任务(软件设计在开发阶段中的重要性、软件设计任务)
4.2 软件设计基础(自顶向下,逐步细化、软件结构、程序结构、数据结构、软件过程、模块化、抽象化及信息屏蔽)
4.3 模块的独立性(模块、模块独立性、耦合性、内聚性)
4.4 结构化设计方法(典型的系统结构图、变换分析设计方法、事务分析、软件模块结构的改进、设计的后处理)
4.5数据设计及文件设计(数据设计的原则、在设计程序结构时的数据结构的选择方法、文件设计)4.6过程设计(程序流程图、N—S图、PAD、判定表、PDL)
教学要求
掌握:软件设计的过程、步骤、方法及过程设计
理解:软件设计过程中模块的特性、结构化程序设计方法 5 Jackson系统开发(JSD)方法------面向数据结构的分析与设计方法
教学内容
5.1 进程模型
5.2 JSD方法的步骤
5.3 实体动作分析 5.4 实体结构分析 5.5定义初始模型 5.6功能描述
5.7 决定系统时间特性 5.8 实现
掌握:JSD方法用户界面设计
教学要求
6.1 用户界面应具备的特性(可使用性、灵活性、复杂性和可靠性)
6.2用户界面设计的任务分析(用户特性分析、用户工作分析、用户模型和观点)
6.3 用户界面任务和工作设计(任务分配、工作方式和工作设计)
6.4 界面设计的基本类型(界面设计类型、菜单、图象、对话、问题描述语言、窗口)6.5 数据输入界面设计(数据输入的规则、输入表格设计、其它数据输入的方法)6.6数据显示界面设计(数据显示的规则、字符数据的显示、图形显示、报告)
6.7控制界面的设计(用控制对话选择操作命令、用菜单界面进行控制、用功能键定义操作命令、用图标表示对象或命令、直接操纵、用窗口划分屏幕、命令语言、自然语言)
教学要求
掌握:用户界面设计过程、步骤及方法 了解:用户界面设计的基本类型 7 程序编码
教学内容
7.1 对源程序的质量要求
7.2 结构化程序设计(关于GOTO语句的争论、结构化程序设计的原则、程序设计自顶向下,逐步求精、数据结构的合理化)
7.3 程序设计风格(源程序文档化、数据说明、语句结构、输入和输出)
7.4 程序效率(讨论效率的准则、算法对效率的影响、影响存储器效率的因素、影响输入/输出的因素)
7.5 程序设计语言(程序设计语言特性的比较、程序设计语言的分类、程序设计语言的选择)7.6程序复杂性度量(代码行度量法、McCabe度量法、Halstead的软件科学、软件复杂性的综合度量)
教学要求
掌握:编码原则及方法
了解:程序复杂性度量方法 8 软件测试
教学内容
8.1 软件测试的基础(什么是软件测试、软件测试的目的和原则、软件测试的对象、测试信息流、测试与软件开发各阶段的关系)
8.2 测试用例设计(黑盒测试、白盒测试)
8.3 白盒测试的测试用例设计(逻辑覆盖、基本路径测试)
8.4 黑盒测试的测试用例设计(等价类划分、边界值分析、错误推测法、因果图、功能图)
8.5 软件测试的策略(单元测试、组装测试、确认测试、系统测试、测试的步骤及相应的测试种类)
8.6 程序的静态分析方法(对程序的静态分析、人工测试)
8.7 调试(调试的步骤、几种主要的调试方法、调试原则)
8.8 软件测试工具(静态分析工具、动态分析工具、测试数据自动生成工具、模块测试台、测试合成环境)
教学要求
掌握:软件测试方法、策略
了解:软件测试工具 9 面向对象技术
教学内容
9.1 面向对象的概念(对象、类、继承、多态性和动态联编)
9.2 开发过程(应用生存期、类生存期、综合方法、系统体系结构)
9.3 面向对象分析与高层设计(面向对象分析、论域分析、应用分析、对象模型技术、高层设计、示例)
9.4 类的设计(类设计的目标、通过复用设计类、类设计方法、类设计的例子)
9.5 实现与测试(类的实现、应用程序的实现、测试一个面向对象的应用、面向对象的测试工具)
9.6 Coad与Yourdon面向对象分析与设计技术(面向对象的分析、面向对象的设计)
9.7 CRC卡片
9.8 Booch的方法(Booch方法的设计过程、Booch方法的基本的模型)
教学要求
掌握:面向对象技术在软件开发时的运用过程及各种方法 10 软件质量保证
10.1软件质量的概念(软件质量的定义、软件质量的特性、软件质量特性之间的竞争)10.2软件质量的度量和评价(软件质量的度量、软件质量的评价)
10.3软件质量保证(质量保证的概念、软件质量保证的主要任务、质量保证与检验)10.4软件质量保证体系
10.5质量保证的体系(质量目标与度量、质量度量方法、软件质量管理小组)10.6软件的质量设计(质量特性转化为软件的内部结构、软件的质量展开)10.7技术评审(设计质量的评审内容、程序质量的评审内容)10.8软件可靠性(软件生存期与软件寿命的关系、软件可靠性的定义、软件可靠性的主要指标)10.9测试中的可靠性分析(推测错误的产生频度、估算软件中错误总数Er方法、测试精确度和测试覆盖度的评价、测试开始时的预测模型)
10.10软件容错技术(什么是容错软件、容错的一般方法、容错软件的设计过程、软件的容错系统结构)
教学要求
掌握:软件质量保证体系 理解:软件质量保证的概念 11 软件维护
11.1软件维护的概念(软件维护的定义、影响维护工作量因素、软件维护的策略、维护成本)11.2软件维护活动(维护机构、软件维护申请报告、软件维护工作流程、维护档案记录、维护评价)11.3程序修改的步骤及修改的副作用(分析和理解程序、修改程序、重新验证程序)11.4软件可维护性(软件可维护性的定义、可维护性的度量)
11.5提高可维护性的方法(建立明确的软件质量目标和优先级、使用提高软件质量的技术和工具、进行明确的质量保证审查、选择可维护的程序设计语言、改进程序的文档)
11.6维护“老化代码”
11.7逆向工程和再工程(预防性维护、逆向工程的元素、再工程中的重构技术)
11.8软件配置管理(软件配置管理、配置标识、版本控制、变更控制、配置状态报告、配置审核、软件配置管理工具PVCS)
教学要求
掌握:软件维护活动的方法 理解:软件维护的逆向工程和再工程 12 软件工程标准化与软件文档
12.1什么是软件工程标准 12.2软件工程标准化的意义 12.3软件工程标准的制定与推行 12.4软件工程标准的层次 12.5中国的软件工程标准化工作
12.6 ISO 9000-3标准及软件质量认证(ISO 9000标准产生的背景、ISO 9000系列标准的内容)12.7在开发机构中推行软件工程标准化
12.8文档的作用与分类(软件文档的作用和分类、对文档编制的质量要求、文档的管理与维护)教学要求
掌握:软件工程标准的制定过程 理解:软件工程标准化的意义 了解:中国软件工程标准化的过程 13 软件项目管理与计划
13.1项目管理过程
13.2软件生产率和质量的度量(软件度量、面向规模的度量、面向功能的度量、软件质量的度量、协调不同的度量方法)
13.3在软件工程过程中使用度量(建立基线、度量数据的收集、计算和评价)
13.4软件项目估算(针对估算的考虑、软件项目计划的目标、软件的范围、软件开发中的资源、软件项目估算、分解技术)
13.5软件开发成本估算(软件开发成本估算方法、专家判定技术、软件开发成本估算的经验模型、自动估算工具)
13.6风险分析(风险识别、风险估计、风险评价、风险驾驭和监控)
13.7进度安排(软件开发小组人数与软件生产率、任务的确定与并行性、制定开发进度计划、进度安排的图形方法、项目的追踪和控制)
13.8软件项目的组织与计划(软件项目管理的特点、制定计划、软件项目的组织的建立、人员配备、指导与检验)
13.9软件过程成熟模型(软件机构的的成熟性、软件过程成熟度模型、关键过程领域、成熟度提问单、利用CMM对软件机构进行成熟度评估)
教学要求 掌握:软件质量度量的方法和软件成本估算方法 理解:软件生产率、风险分析 了解:软件项目组织与计划
第三部分 课程大作业
为了进一步弄清和巩固课堂所学的知识及实际的应用,配合讲课,设置以下课程大作业(该课程无平时作业):
1.结构化分析
2.概要设计
3.详细设计
4.测试
5.面向对象分析与设计
6.面向对象编程
7.面向对象测试
实施要求:
1.课程大作业的1-4使用传统的软件工程方法;5-6使用面向对象的软件工程方法;可以设计一个大例子,用两种方法来做,也可以分别做两个例子。
2.建议大作业之前有作业辅导,2学时。
3.建议作业完成后进行讨论,对这两种方法进行总结,2学时。
4.建议使用CASE平台及其他工具平台。5.评分标准:
优良(15-20)-----能独立或协作编出程序,且能运用工具对程序按照软件工程的标准得出详实的结论,且有详实的文档资料。
中等(10-15)-----在指导老师的协助下能够基本完成上述任务的,且有较详实的文档资料。不及(10以下)---不能完成或完成很差的。