《软件工程》教学大纲_第1页
《软件工程》教学大纲_第2页
《软件工程》教学大纲_第3页
《软件工程》教学大纲_第4页
《软件工程》教学大纲_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

软件工程说明课程性质《软件工程》课程是计算机科学与技术专业必修的一门专业课程。为了摆脱软件危机的困扰,一门研究软件开发与维护的普遍原理和技术的工程学科——软件工程学从60年代末期开始迅速发展起来了,现在它已经成为计算机科学技术的一个重要分支,一个异常活跃的研究领域。严格遵循软件工程方法论可以大大提高软件开发的成功率,能够显著减少软件开发和维护中的问题。软件工程学(通常简称软件工程)研究的范围非常广泛,包括技术方法、工具和管理等许多方面,软件工程又是一门迅速发展的新兴学科,新的技术方法和工具不断涌现,真可谓五花八门层出不穷。本课程将着重从实用角度讲述软件工程的基本原理、概念和技术方法,同时也尽量注意课程的全面性和系统性。使学生学完本课程之后既能对实际的软件开发工作有所帮助,又能为今后深入研究这门学科奠定良好的基础。本课程应以高级算法语言、数据结构、算法设计等课程为基础。除此,要求学生有一定的编程能力或经验。教学目的本课程的目的是使学生通过本课程的学习,了解软件项目开发和维护的一般过程,掌握软件开发的传统方法和最新方法,为更深入地学习和今后从事软件工程实践打下良好的基础。本课程的具体任务是:概括介绍软件工程学产生的历史背景以及它的基本原理、概念和方法。2.按软件生存周期的顺序介绍各个阶段的任务、过程、方法和工具。3.讨论软件工程的管理技术。教学内容正文共13章,第一章概括介绍软件工程学产生的历史背景以及它的基本原理、概念和方法。第二章到第八章按软件生存周期的顺序介绍各个阶段的任务、过程、方法和工具。第九章到第十二章对面向对象的方法作了全面、系统、深入的介绍,强调了软件工程与人工智能的相互结合、互相促进的发展趋势。第十三章着重讨论软件工程的管理技术。教学时数课堂教学:36学时实验教学:36学时总学时:36+36/2=54(学时)教学方式以讲授法为主,结合讨论法和案例分析法。本文理论部分软件危机与软件工程教学要点:什么是软件工程学、软件工程的基本原理、软件工程学所面临的问题、软件工程的现状及其发展前景等问题。教学时数:2学时教学内容:软件危机什么是软件危机产生软件危机的原因解决软件危机的途径软件工程软件工程的基本原理软件工程的传统途径生命周期各个阶段的基本任务瀑布模型技术审查和管理复审进行审查和复审的必要性技术审查的标准和方法教学要求:了解软件危机产生的原因及解决软件危机的途径;掌握软件工程的基本原理和生命周期法;了解技术审查和管理复审的相关内容。考核要求:领会软件工程的基本原理及生命周期方法学,要求学生明确本课程研究的范围及其所涉及到的领域,从而对软件工程学有一个初步而全面的认识。领会软件危机的定义;掌握软件工程的基本原理及生命周期各个阶段的基本任务。可行性研究教学要点:可行性研究的必要性,以及它的基本任务和步骤,用于可行性研究的具体方法和工具。教学时数:4学时教学内容:可行性研究的任务可行性研究的步骤复查系统规模和目标研究目前正在使用的系统导出新系统的高层逻辑模型重新定义问题导出和评价供选择的方法推荐行动方针草拟开发计划书写文档提交审查系统流程图符号例子分层数据流图符号例子命名用途数据字典数据字典的内容定义数据的方法数据字典的用途数据字典的实现成本效益分析成本估计成本效益分析的方法教学要求:了解可行性分析的任务;掌握可行性研究的步骤;能够应用系统流程图、数据流图及数据字典;了解成本效益分析。考核要求:领会可行性研究的必要性,以及它的基本任务和基本步骤,在此基础上再进一步学习具体方法和工具。领会可行性研究的必要性;综合应用系统流程图;综合应用数据流图。需求分析教学要点:需求分析的任务与步骤、需求分析方法与工具、需求分析说明与评审。教学时数:4学时教学内容:需求分析的任务确定对系统的综合要求分析系统的数据要求导出系统的逻辑模型修正系统的开发计划开发原型系统分析过程沿数据流图回溯用户复查细化数据流图修正开发计划书写文档审查和复审概念模型和规范化ER模型范式图形工具层次方框图Warnier图IPO图验证软件需求从哪些方面验证软件需求的正确性验证软件需求的方法用于需求分析的软件工具超高级语言和第四代语言教学要求:理解需求分析的任务;掌握分析过程和概念模型;会应用图形工具。考核要求:领会需求分析的方法,理解需求分析的任务和原则,熟练应用需求分析的工具。领会需求分析的任务;综合应用概念模型;综合应用层次方框图。总体设计教学要点:软件设计的目标和任务,软件设计概念及原理,模块的独立性,启发式规则,结构化设计方法。教学时数:4学时教学内容:总体设计的过程设想供选择的方案选取合理的方案推荐最佳方案功能分解设计软件结构数据库设计制定测试计划书写文档审查和复审软件设计的概念和原理模块化抽象信息隐蔽和局部化模块独立启发式规则改进软件结构提高模块独立性模块规模应该适中深度、宽度、扇出、扇入都应适当模块的作用域应该在控制域之内力争降低模块接口的复杂程度设计单入口单出口的模块模块功能应该可以预测图形工具层次图和HIPO图结构图面向数据流的设计方法概念变换分析事务分析设计优化教学要求:理解总体设计的过程;掌握软件设计的概念和原理;理解启发式规则;会应用图形工具和面向数据流的方法解决实际问题。考核要求:领会软件设计的概念与原则、概要设计的步骤、方法,应用概要设计文档与评审。领会软件设计的概念及原理;综合应用启发式规则;应用图形工具进行系统设计;掌握变换分析及事务分析,了解变换分析和事务分析的区别。详细设计教学要点:详细设计的任务、详细设计的原则详细设计的方法、程序流程图PFC、N-S图、PAD图、HIPO图、过程设计语言PDL、详细设计方法的选择。教学时数:2学时教学内容:结构程序设计详细设计的工具程序流程图盒图(N-S图)PAD图判定表判定树过程设计语言(PDL)模块开发文件夹Jackson程序设计方法Jackson图改进的Jackson图Jackson方法Warnier程序设计方法Warnier方法Warnier方法的辅助技术程序复杂程度的定量度量McCabe方法Halstead方法教学要求:熟练掌握结构程序设计;会应用详细设计的工具;理解并能区分Jackson、Warnier等程序设计方法;了解程序复杂程度的定量度量。考核要求:领会详细设计方法,综合应用详细设计的工具。熟练应用程序流程图进行系统设计;综合应用PAD图及N-S图进行系统设计;应用判定表、判定树进行系统设计。编码教学要点:程序设计语言分类、程序设计语言特点、程序设计语言的选择,编程风格,编程效率,编程安全。教学时数:2学时教学内容:程序设计语言程序设计语言分类程序设计语言的特点选择一种语言程序设计途径写程序的分格程序设计方法论程序设计自动化程序设计工具教学要求:能熟练掌握和应用一门程序设计语言。考核要求:领会程序设计的途径。领会程序的风格并能在开发过程中熟练应用;领会程序设计的途径。测试教学要点:测试的概念、测试的原则、测试的方法,软件测试技术,软件测试过程、软件测试步骤、单元测试、综合测试、确认测试、系统测试、纠错技术、软件测试计划与测试分析报告。如何运用黑盒法或白盒法来设计测试用例。教学时数:2学时教学内容:基本概念1、软件测试的目标2、黑盒测试和白盒测试软件测试的步骤测试阶段的信息流单元测试1、单元测试考虑2、单元测试过程集成测试1、自顶向下结合2、自底向上结合3、不同集成测试策略的比较验收测试1、验收测试的范围2、软件配置复查设计测试方案逻辑覆盖等价划分边界值分析错误推测实用测试策略调试调试技术调试策略软件可靠性基本概念估算平均无鼓掌时间的方法程序正确性证明日历预测法测试完成率模型错误发现率模型使用日历预测法的步骤自动测试工具测试程序生成程序动态分析程序静态分析程序文件比较程序教学要求:掌握软件测试的基本概念;会应用软件测试的方法;能综合应用测试方法设计测试方案;掌握调试技术和调试策略;理解软件可靠性的重要性;了解日历预测法和自动测试工具。考核要求:要求学生明确模块测试、组装测试、确认测试分别针对着编码、概要设计、需求分析等不同阶段上的测试,能够运用黑箱法或白箱法设计测试试用例,并能编制出反映测试结果的测试或测试分析报告。领会软件测试的目标;熟练应用单元测试进行软件测试;综合应用集成测试进行软件测试;能综合应用各种测试方案;了解调试技术以及自动测试工具。维护教学要点:软件维护的定义、分类、特点、软件维护步骤及组织、软件的可维护性。教学时数:2学时教学内容:软件维护的定义维护的特点结构化维护与非结构化维护的对比维护的代价维护的问题维护的过程维护组织维护报告维护的事件流保存维护记录评价维护活动可维护性决定软件可维护性的因素文档可维护性复查教学要求:掌握软件维护的定义;能够区分结构化维护和非结构化维护;了解维护过程;理解可维护性的重要性。考核要求:领会软件质量保证的概念、策略和方法,软件评审或测试的方法和步骤,软件维护过程。领会软件维护的定义;领会维护的各个过程。面向对象方法学引论教学要点:传统方法学存在的问题,面向对象方法学的优点,以及对象模型、动态模型、功能模型的基本概念.教学时数:2学时教学内容:传统方法学的缺点存在的问题出现问题的原因软件工程的新途径快速原型法面向对象方法学两种新途径的结合基本概念对象其他概念面向对象建模对象模型表示类—&—对象的图形符号表示结构的图形符号例子动态模型术语表示方法例子功能模型表示方法与其他两种模型的关系教学要求:了解传统方法学和软件工程的新途径;掌握基本概念;掌握对象模型、动态模型、功能模型的表示方法以及三种模型的区别和联系。考核要求:领会面向对象方法学的基本概念领会传统方法的缺点;领会快速原型法和面向对象方法的相关概念;领会对象模型、动态模型、功能模型的概念。面向对象分析教学要点:面向对象分析过程中的三个子模型和五个层次,对象模型、动态模型、功能模型的建立,以及服务的定义。教学时数:4学时教学内容:面向对象分析的基本过程概念三个子模型与五个层次需求分析书写要点例子建立对象模型确定类——对象确定关联划分主题确定属性识别继承关系反复修改建立动态模型编写脚本设想用户界面画事件跟踪图画状态图审查动态模型建立功能模型画出基本系统模型图画出功能级数据流图描述处理框功能定义服务常规行为从事件导出的操作与数据流图中处理框对应的操作利用继承减少冗余操作教学要求:掌握面向对象分析的基本过程;掌握需求分析的方法;会实际应用建立对象模型、建立动态模型、建立功能模型;掌握定义服务。考核要求:综合应用对象模型、动态模型、功能模型进行面向对象的建模。领会三个子模型和五个层次;综合应用对象模型进行系统开发;综合应用动态模型进行系统开发;熟练应用功能模型进行系统开发。第十一章面向对象设计教学要点:模块化、抽象、信息隐藏、弱耦合、强耦合、可重用的概念,系统分解以及各个子系统的设计。教学时数:4学时教学内容:面向对象设计的准则1、模块化2、抽象3、信息隐藏4、弱耦合强耦合6、可重用启发规则设计结果应该清晰易懂一般—特殊结构的深度应适当设计简单的类使用简单的协议使用简单的服务把设计变动减至最小软件重用概念软件重用的效果软件重用技术类构件系统分解子系统之间的两种交互方式组织系统的两种方案设计系统的拓扑结构设计问题域子系统1、调整需求2、重用已有的类把问题域类组合在一起增添一般化类以建立协议调整继承层次ATM系统之例设计人-机交互子系统设计人-机交互界面的准则2、设计人-机交互子系统的策略设计任务管理子系统1、分析并发性2、设计任务管理子系统设计数据管理子系统1、选择数据存储管理模式设计数据管理子系统例子设计类中的服务确定类中应有的服务设计实现服务的方法设计关联1、关联的遍历2、实现单向关联3、实现双向关联链属性的实现设计优化确定优先级提高效率的几项技术调整继承关系教学要求:掌握软件维护的定义考核要求:领会模块化、抽象、信息隐藏、弱耦合、强耦合、可重用的概念。领会面向对象设计的准则;领会启发式规则以及软件重用的定义;熟练掌握各个子系统的设计方法。第十二章面向对象实现教学要点:面向对象的语言以及程序设计的风格。教学时数:2学时教学内容:程序设计语言对象的语言与非面向对象的语言面向对象语言的技术特点选择面向对象语言程序设计分格提高可重用性提高可扩充性提高健壮性面向对象测试教学要求:了解面向对象的程序设计语言;理解程序设计风格;掌握面向对象的测试。考核要求:领会面向对象的语言以及程序设计的风格。领会程序设计语言及其风格;领会对象测试的概念。第十三章管理技术教学要点:了解成本估计、进度计划、人员组织、质量保证以及项目计划。教学时数:2学时教学内容:成本估计参数方程标准值法COCOMO模型进度计划Gantt图(横道图)2、工程网络估算进度关键路径机动时间人员组织程序设计小组的组织主程序组质量保证软件质量质量保证项目计划项目计划的内容项目报告变动控制软件管理工具教学要求:理解成本估计的重要性;了解进度计划;了解人员组织、质量保证、项目计划以及软件管理工具。考核要求:领会管理技术在软件工程中的重要性,并能应用一些软件管理技术进行软件开发。1、领会成本估计、进度计划及人员组织;2、领会质量保证、项目计划的概念;3、综合应用软件管理工具进行软件的管理。实验部分(一)基本要求《软件工程》是计算机应用专业教学计划中一门综合性和实践性很强的核心课程,主要内容包括软件工程概述、可行性分析、需求分析、总体设计、详细设计、面向对象分析与设计、编码、软件质量与质量保证、项目计划与管理。根据培养基层应用型人才的需要,本实验课程的目的与任务是使学生通过对本实验课程的学习,了解软件项目开发和维护的一般过程,掌握软件开发的传统方法和最新方法,为更深入地学习和今后从事软件工程实践打下良好的基础。(二)项目总表本课程安排在第七学期第三周开始,开设九个必做实验项目,计划36个学时。实验项目名称学时数项目类别项目类型实验一问题定义2基础性必做实验实验二可行性研究2基础性必做实验实验三需求分析4基础性必做实验实验四总体设计4基础性必做实验实验五详细设计6基础性必做实验实验六编码和单元设计6综合性、设计性必做实验实验七综合测试2基础性必做实验实验八软件维护2基础性必做实验实验九面向对象设计8综合性、设计性必做实验合计36注:项目类别:基础性、综合性、设计性项目类型:必做实验、选做实验(三)实验内容实验一问题定义内容:对系统的实际用户和使用部门负责人进行访问调查,扼要的写出对问题的理解。目的:通过讨论澄清含糊不清的问题,改正不正确的理解。要求:写出一份合理的书面文档。主要仪器设备及耗材:实际的案例,计算机,纸张等。实验二可行性研究内容:通过用数据流图表示导出系统的高层逻辑模型,并在此基础上建立更准确、更具体的确定工程规模和目标。目的:准确的估计系统的成本和效益。要求:学会绘制系统流图、数据流图、编写数据字典,并写出一份合理的可行性研究报告。主要仪器设备及耗材:实际的案例,计算机,纸张等。实验三需求分析内容:应用数据流图、数据字典和简要的算法表示系统的逻辑模型。目的:生成经过用户确认的系统逻辑模型。要求:学会建立ER模型和规范化,掌握层次方框图、Warnier图、IPO图等图形工具,并写出一份合理的需求分析报告。主要仪器设备及耗材:实际的案例,计算机,纸张等。实验四总体设计内容:寻找实现目标系统的各个不同的方案。目的:生成经过用户确认的系统逻辑模型。要求:学会绘制系统流图,数据流图,编写数据字典,并写出一份合理的需求分析报告。主要仪器设备及耗材:实际的案例,计算机,纸张等。实验五详细设计内容:设计出程序的详细规格说明。目的:确定怎样具体的实现所要求的目标系统,除了应该保证程序的可靠性之外,编写出来的程序可读性好,容易理解,容易测试和和容易修改、维护是详细设计阶段的重要目的。要求:选择合适的详细设计工具(程序流程图、盒图、PAD图、HIPO图、判定表、判定树和PDL语言等),使用面向数据结构的设计方法(例如Jackson方法和Warnier方法)进行详细设计,用模块开发文件夹的形式组织管理与一个模块有关的全部文档。主要仪器设备及耗材:实际的案例,计算机,纸张等。实验六编码和单元设计内容:选用合适的开发工具编写正确的容易理解、容易维护的程序模块。目的:编写具有可靠性强、可理解性好、可修改性强、可测试性好的代码。要求:使用自底向上或自顶向下的程序设计方法学开发,并实现具体的程序代码,注意程序的书写风格。主要仪器设备及

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论