安徽师范大学自动化本科专《软件工程》课程大纲本科教学大纲
理论类课程大纲 课程名称:软件工程 一、课程概况 所属专业: 自动化 开课单位: 物理与电子信息学院 课程类型: 专业方向课程 课程代码: 0845490 开课学期: 7 学分: 2.5 学时: 32 核心课程: 否 拟使用教材: 张海藩 牟永敏.软件工程导论(第 6 版).清华大学出版社.2013.08 国内(外)现有教材: 1. Pankaj Jalote 著 罗飞 邵凌霜等译.软件工程导论.清华大学出版社. 2012.01. 2. 朱少民.软件工程导论. 清华大学出版社.2009.01. 3. 郑人杰, 殷人昆, 陶永雷. 实用软件工程(第二版).清华大学出版 社.2002.07. 4. [ 美 ]Stephen R.Schach. 面 向 对 象 与 传 统 软 件 工 程 . 机 械 工 业 出 版 社.2006.02. 二、课程描述(300 字以内) 《软件工程》是计算机类及其相关专业的一门专业方向课程,通过本课程的 学习,使学生掌握软件工程的基本概念、基本原理、实用的开发方法和技术;了 解软件工程各领域的发展方向;如何使用工程化的方法开发软件项目,以及在开 发过程中应遵循的流程、准则、标准和规范。 三、课程目标 《软件工程》是一门实践性很强的课程,它是各种软件开发经验总结和提炼。 通过本课程的学习,目的是让学生全面系统地理解和掌握基本概念、原理、方法 和技术等,同时注重方法和技术的应用,为计算机类及其相关科学领域培养高级 软件开发人员和系统分析员打下坚实的基础。 四、教学要求 授课教师将按照学校本科教学工作有关要求做好课程教学各项工作,严格按 照课表规定的时间、地点上课,不迟到、不早退,将根据本大纲要求,认真备课 完成教案与讲稿编写等各项课前准备工作;授课过程力求内容充实、概念准确、 思路清晰、详略得当、逻辑性强、重难点突出,力戒平铺直叙、照本宣科,同时 重视对学生的学习方法指导和课堂教学效果信息的反馈,实现教与学的双向互 动;同时将结合课程目标要求,做好考核内容设计,并严格按照本大纲要求做好 实验评价、出勤率统计、作业评价等各项工作。 学习是大学生自己的责任和义务,学生应根据课程大纲要求制定本门课程学 习计划,加强学业管理,严格自我要求,提升自主学习能力,主动适应课程学习 要求。参与课堂教学活动不迟到、不早退,无正当理由不请假,上课认真听讲, 不做任何与课堂教学无关事宜,不使用手机,积极与授课教师进行教学互动,同 时利用课余时间做好预习、复习、课外书籍阅读等工作,主动与同学开展合作学 习,认真完成任课教师布置的课程作业。 五、考核方式及要求 为实现课程教学目标,本门课程考核方式及要求为:出勤率占总成绩的 10%, 全学期随机点到 10 次,其中缺席 3 次此项成绩以 0 分计算;随堂测验 1 次,测 验成绩按 10%折算后计入总成绩;课程作业 6 次,按批改成绩 10%折算后计入 总成绩;实验 8 次,按实验成绩 20%折算后计入总成绩;期末考试,按卷面成绩 50%折算后计入总成绩。 六、课程内容 第一章 软件危机与软件工程 (授课时间:第 7 学期第 1 周) 教学目标:了解软件工程的发展过程,理解软件的概念、软件的特点、软件的分 类、软件危机、软件工程、软件生存周期、软件工程过程与目标等基 本概念。 教学重点:软件危机的产生、软件工程过程。 教学难点:软件工程过程。 学 时:课堂教学 2 学时。 教学方法:多媒体教学手段,讲授法。 主要内容:(1)软件危机; (2)软件工程; (3)技术审查与管理复查; 学习方法:查阅软件工程相关知识。 课后作业:习题 1,1、3、7 题,不用提交。 第二章 可行性研究 (授课时间:第 7 学期第 2 周) 教学目标:理解可行性分析的目的、任务和重要性,掌握可行性分析的基本方法, 掌握成本-效益分析的基本方法。 教学重点:可行性分析的基本方法,成本-效益分析的基本方法。 教学难点:成本-效益分析的基本方法。 学 时:课堂教学 2 学时。 教学方法:讲授法、案例分析与上机实践相结合。 主要内容:(1)可行性研究; (2)可行性研究的任务; (3)可行性研究的步骤; (4)数据流图; (5)数据字典; (6)成本效益分析。 学习方法:小组讨论。 课后作业:习题 2,3、4 题,下次上课前交。 第三章 需求分析 (授课时间:第 7 学期第 3 周) 教学目标:了解需求分析的概念,理解需求分析的目的和任务,掌握可行性研究 的目的与步骤、结构化分析方法及其所使用的工具。 教学重点:结构化分析方法,需求分析、定义系统“做什么”。 教学难点:结构化分析方法。 学 时:课堂教学 2 学时。 教学方法:讲授法、案例分析与上机实践相结合。 主要内容:(1)需求分析的任务; (2)分析过程; (3)概念模型和规范化; (4)图形工具; (5)验证软件需求。 学习方法:分析、讨论。 课后作业:习题 3,3、4 题,下次上课前交。 第四章 总体设计 (授课时间:第 7 学期第 4、5、6 周) 教学目标:理解软件总体设计的基本任务和基本原理,理解模块化、抽象、信息 隐蔽、模块独立性等概念,掌握结构化设计方法(要求能划分数据流 的类型,将其转换成软件结构图,并能根据优化准则将其优化)。 教学重点:将一个复杂型数据流图转换成软件结构图并优化,流程图,盒图,PAD 图,总体设计。 教学难点:面向数据流设计。 学 时:课堂教学 6 学时。 教学方法:多媒体教学手段,讲授法、案例分析与上机实践相结合。 主要内容:(1)总体设计的过程; (2)软件设计的概念和原理; (3)启发式规则; (4)图形工具; (5)面向数据流的设计方法。 学习方法:分析、讨论、上机实践。 课后作业:习题 4,3 题,下次上课前交。 第五章 详细设计 (授课时间:第 7 学期第 7、8、9 周) 教学目标:熟练使用详细设计描述工具来设计模块中的算法及程序的逻辑结构。 教学重点:详细分析的主要工具,结构化程序设计的原理和方法。 教学难点:结构化程序设计的原理和方法。 学 时:课堂教学 6 学时。 教学方法:多媒体教学手段,讲授法、案例分析与上机实践相结合。 主要内容:(1)结构程序设计; (2)详细设计的工具; (3)Jackson 程序设计方法; (4)Warnier 程序设计方法; (5)程序复杂度的定量度量。 学习方法:分析、讨论。 课后作业:习题 5,4 题,下次上课前交。 第六章 编码 (授课时间:第 7 学期第 10 周) 教学目标:理解源程序质量的标准和选择程序设计语言的基本标准,理解编码风 格对源程序质量的影响,掌握编码方法。 教学重点:编码风格,程序设计语言及其选择的标准。 教学难点:编码方法。 学 时:课堂教学 2 学时。 教学方法:多媒体教学手段,讲授法、案例分析与上机实践相结合。 主要内容:(1)程序设计语言; (2)程序设计途径。 学习方法:分析、讨论。 课后作业:习题 6,3、4、5,下次上课前交。 第七章 软件测试 (授课时间:第 7 学期第 11、12、13、14 周) 教学目标:了解软件测试的种类,理解和掌握软件测试的策略、软件测试的目的、 方法和原则。 教学重点:单元测试、综合测试。 教学难点:测试用例的设计。 学 时:课堂教学 8 学时。 教学方法:讲授法、案例分析与上机实践相结合。 主要内容:(1)基本概念; (2)单元测试; (3)集成测试; (4)验收测试; (5)设计测试方案; (6)调试; (7)软件的可靠性; (8)日立预测法; (9)自动测试工具。 学习方法:分析、讨论、上机实践。 课后作业:习题 7,2、4 题,下次上课前交。 第八章 软件维护 (授课时间:第 7 学期第 15、16 周) 教学目标:深入理解软件工程管理的重要性和管理内容,理解软件工程标准化的 重要性和工程化标准,掌握软件配置管理的基本方法。 教学重点:软件项目管理,软件配置管理,软件工程标准化与软件文档。 教学难点:软件配置管理,软件工程标准化。 学 时:课堂教学 4 学时。 教学方法:多媒体教学手段,讲授法、案例分析与上机实践相结合。 主要内容:(1)软件维护的定义和内容; (2)维护的特点; (3)维护过程; (4)可维护性。 学习方法:分析、讨论。 课后作业:无 实验类课程大纲 课程名称:软件工程实验 一、课程概况 所属专业: 自动化 开课单位: 物理与电子信息学院 课程类型: 课程实验课程 课程代码: 0845490 开课学期: 7 学分: 学时: 16 核心课程: 否 拟使用教材:实用软件工程(第二版).电子工业出版社 软件工程.中国科技大学出版社 二、课程描述(300 字以内) 软件工程实验是为计算机类及其相关专业开设的《软件工程》课程配套设置 的,其目的是使学生能够针对具体软件工程项目,全面掌握软件工程管理、软件 需求分析、软件初步设计、软件详细设计、软件测试等阶段的方法和技术。通过 该课程设计使学生进一步理解和掌握软件开发模型、软件生命周期、软件过程等 理论在软件项目开发过程中的意义和作用,培养学生按照软件工程的原理、方法、 技术、标准和规范,进行软件开发的能力,从而使学生提高软件工程的综合能力, 提高软件项目的管理能力。 三、课程目标 通过本课程实验,加深对软件工程基本理论、基本知识的理解,提高分析和 解决问题的能力,培养学生严谨的工作作风和实事求是的科学态度,使学生熟悉 软件工程的规范、项目管理和团队协作开发,为后继的毕业设计和未来的科学研 究及软件开发的实际工作打下良好的基础。 四、教学要求 软件工程实验要求学生采用“项目小组”的形式,结合具体的开发项目进行 设计。具体要求如下:(1)班级按项目小组进行分组,每组不得超过 6 人;(2) 每个项目小组选出项目负责人,由项目负责人召集项目组成员讨论、选定开发项 目;(3)项目中的每项任务要落实到人,且规定该任务的起止日期和时间;(4) 每个项目小组必须按照《软件工程实验教学大纲》规范提供项目文档;(5)软 件开发方法自定。 五、考核方式及要求 本课程将不作为单独一门课程进行考核,按实验成绩 20%折算后计入总成 绩。实验成绩考核采用平时考核与实验操作相结合的方式进行。平时考核用于考 察学生参与课程教学的行为表现(包括课前预习情况和实验过程中的态度)以及 实验报告完成质量,按实验成绩的 50%折算后计入实验成绩;实验操作考核将根 据每次完成实验的数量和质量,按 50%折算计入实验成绩。 六、课程内容 实验一 项目开发的准备工作 (授课时间:第 7 学期第 7 周) 教学目标:确定课题,成员分组,合理分工,熟悉软件开发环境,培养团队精神。 主要内容:根据各组选择的课题,各组推荐一名组长,统一管理整个项目的实施 过程,并合理调整资源和负责项目全局;根据项目的难易合理分配组 员的任务,对问题达成一致的看法;针对项目的实施,熟悉相应的软 件开发工具的使用环境。准备参考资料和阅读相关的国家有关软件开 发的标准文档。 学 时:2 学时 教学方法:讲授/现场指导 实验类型:验证性实验 思考题:1、项目开发首先要做的事是什么?2、你认为该软件应具备的最重要的 特性是什么?你认为怎样分工是最合理的? 实验二:系统分析过程 (授课时间:第 7 学期第 9 周) 教学目标:确定项目的可实施性,在此基础上完成系统的逻辑功能模型的建立。 主要内容:弄清项目的业务流程图,绘制数据流程图,功能分析图,编写数据字 典,数据加工处理描述,软件系统流程设想图,需求规格说明书。。 学 时:4 学时 教学方法:讲授/现场指导 实验类型:验证性实验 思考题:需求分析在软件开发中真的那么重要吗?分析系统流程图和数据流图的 区别和各自的特点。怎样书写合乎规范的数据流图和数据字典?怎样 组织对该工作的评审? 实验三:系统设计过程 (授课时间:第 7 学期第 11 周) 教学目标:在实验二的基础上完成系统的体系结构的建立和系统详细设计,并给 出相应的规格说明书。 主要内容:功能结构图设计,软件处理流程设计,输出设计(打印输出设计), 存储文件格式设计(数据库结构设计),输入设计(数据录入卡设计), 代码设计,程序说明书。 学 时:4 学时 教学方法:讲授/现场指导 实验类型:设计性实验 思考题:系统设计和需求分析的关系是什么?两者必须先后关联吗?怎样描绘系 统的体系结构?怎样绘制复合规范的流程图?怎样组织对设计阶段 工作的评审? 实验四:系统实现 (授课时间:第 7 学期第 13 周) 教学目标:系统运行和软件后期制作,了解程序设计的风格。 主要内容:完善系统所涉及的程序框图,源程序,模拟运行数据,打印报表,软 件使用说明书和用户手册等。。 学 时:4 学时 教学方法:讲授/现场指导 实验类型:设计性实验 思考题:怎样合理选择软件开发的工具?怎样进行用户说明手册和使用手册的编 写。总结项目实施中的得失。 实验五:软件测试 (授课时间:第 7 学期第 14 周) 教学目标:在实验四的基础上,完成对系统的组装和测试。 主要内容:能够正确运用软件测试的过程与方法,结合一个模拟课题,复习、巩 固、软件工程中系统测试知识,提高软件测试的实践能力。熟悉单元 测试、综合测试、确认测试、系统测试的方法,掌握测试用例的设计 方法。树立正确的软件测试思想,培养分析问题、解决问题的能力, 提高查询资料和撰写书面文件的能力。 学 时:2 学时 教学方法:讲授/现场指导 实验类型:综合性实验 思考题:怎样看待测试的重要性?怎样选择测试的技术和方法?比较逻辑测试和 基本路径测试的不同和联系;怎样组织对测试阶段工作的评审?
上一篇文章: 安徽师范大学自动化本科专业《matlab程序设计》课程大纲本科教学大纲 下一篇文章: 安徽师范大学自动化本科专《传感器技术》课程大纲本科教学大纲 |