欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    《软件工程》教学大纲.docx

    • 资源ID:8915708       资源大小:23.85KB        全文页数:27页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    《软件工程》教学大纲.docx

    1、软件工程教学大纲软件工程一、 说明(一) 课程性质软件工程课程是计算机科学与技术专业必修的一门专业课程。为了摆脱软件危机的困扰,一门研究软件开发与维护的普遍原理和技术的工程学科软件工程学从60年代末期开始迅速发展起来了,现在它已经成为计算机科学技术的一个重要分支,一个异常活跃的研究领域。严格遵循软件工程方法论可以大大提高软件开发的成功率,能够显著减少软件开发和维护中的问题。软件工程学(通常简称软件工程)研究的范围非常广泛,包括技术方法、工具和管理等许多方面,软件工程又是一门迅速发展的新兴学科,新的技术方法和工具不断涌现,真可谓五花八门层出不穷。本课程将着重从实用角度讲述软件工程的基本原理、概念

    2、和技术方法,同时也尽量注意课程的全面性和系统性。使学生学完本课程之后既能对实际的软件开发工作有所帮助,又能为今后深入研究这门学科奠定良好的基础。本课程应以高级算法语言、数据结构、算法设计等课程为基础。除此,要求学生有一定的编程能力或经验。(二) 教学目的本课程的目的是使学生通过本课程的学习,了解软件项目开发和维护的一般过程,掌握软件开发的传统方法和最新方法,为更深入地学习和今后从事软件工程实践打下良好的基础。本课程的具体任务是:1. 概括介绍软件工程学产生的历史背景以及它的基本原理、概念和方法。2. 按软件生存周期的顺序介绍各个阶段的任务、过程、方法和工具。3. 讨论软件工程的管理技术。(三)

    3、 教学内容正文共13章,第一章概括介绍软件工程学产生的历史背景以及它的基本原理、概念和方法。第二章到第八章按软件生存周期的顺序介绍各个阶段的任务、过程、方法和工具。第九章到第十二章对面向对象的方法作了全面、系统、深入的介绍,强调了软件工程与人工智能的相互结合、互相促进的发展趋势。第十三章着重讨论软件工程的管理技术。(四) 教学时数课堂教学:36学时 实验教学:36学时 总学时:36+36/2=54(学时)(五) 教学方式以讲授法为主,结合讨论法和案例分析法。二、 本文理论部分第一章 软件危机与软件工程教学要点:什么是软件工程学、软件工程的基本原理、软件工程学所面临的问题、软件工程的现状及其发展

    4、前景等问题。教学时数:2学时教学内容:第一节 软件危机1、 什么是软件危机2、 产生软件危机的原因3、 解决软件危机的途径第二节 软件工程1、 软件工程的基本原理2、 软件工程的传统途径3、 生命周期各个阶段的基本任务4、 瀑布模型第三节 技术审查和管理复审1、 进行审查和复审的必要性2、 技术审查的标准和方法教学要求: 了解软件危机产生的原因及解决软件危机的途径;掌握软件工程的基本原理和生命周期法;了解技术审查和管理复审的相关内容。考核要求:领会软件工程的基本原理及生命周期方法学,要求学生明确本课程研究的范围及其所涉及到的领域,从而对软件工程学有一个初步而全面的认识。1、 领会软件危机的定义

    5、;2、 掌握软件工程的基本原理及生命周期各个阶段的基本任务。第二章 可行性研究教学要点:可行性研究的必要性,以及它的基本任务和步骤,用于可行性研究的具体方法和工具。教学时数:4学时教学内容:第一节 可行性研究的任务第二节 可行性研究的步骤1、 复查系统规模和目标2、 研究目前正在使用的系统3、 导出新系统的高层逻辑模型 4、 重新定义问题5、 导出和评价供选择的方法6、 推荐行动方针7、 草拟开发计划8、 书写文档提交审查第三节 系统流程图1、 符号2、 例子3、 分层第四节 数据流图1、 符号2、 例子3、 命名4、 用途第五节 数据字典1、 数据字典的内容2、 定义数据的方法3、 数据字典

    6、的用途4、 数据字典的实现第六节 成本效益分析1、 成本估计2、 成本效益分析的方法教学要求: 了解可行性分析的任务;掌握可行性研究的步骤;能够应用系统流程图、数据流图及数据字典;了解成本效益分析。考核要求:领会可行性研究的必要性,以及它的基本任务和基本步骤,在此基础上再进一步学习具体方法和工具。1、 领会可行性研究的必要性;2、 综合应用系统流程图;3、 综合应用数据流图。第三章 需求分析教学要点:需求分析的任务与步骤、需求分析方法与工具、需求分析说明与评审。教学时数:4学时教学内容:第一节 需求分析的任务1、 确定对系统的综合要求2、 分析系统的数据要求3、 导出系统的逻辑模型4、 修正系

    7、统的开发计划5、 开发原型系统第二节 分析过程1、 沿数据流图回溯2、 用户复查3、 细化数据流图4、 修正开发计划5、 书写文档6、 审查和复审第三节 概念模型和规范化1、 ER模型2、 范式第四节 图形工具 1、 层次方框图2、 Warnier图3、 IPO图第五节 验证软件需求 1、 从哪些方面验证软件需求的正确性2、 验证软件需求的方法3、 用于需求分析的软件工具4、 超高级语言和第四代语言教学要求: 理解需求分析的任务;掌握分析过程和概念模型;会应用图形工具。考核要求:领会需求分析的方法,理解需求分析的任务和原则,熟练应用需求分析的工具。1、 领会需求分析的任务;2、 综合应用概念模

    8、型;3、 综合应用层次方框图。第四章 总体设计教学要点:软件设计的目标和任务,软件设计概念及原理,模块的独立性,启发式规则,结构化设计方法。教学时数:4学时教学内容: 第一节 总体设计的过程 1、 设想供选择的方案2、 选取合理的方案3、 推荐最佳方案4、 功能分解5、 设计软件结构6、 数据库设计7、 制定测试计划8、 书写文档9、 审查和复审第二节 软件设计的概念和原理 1、 模块化2、 抽象3、 信息隐蔽和局部化4、 模块独立第三节 启发式规则 1、 改进软件结构提高模块独立性2、 模块规模应该适中3、 深度、宽度、扇出、扇入都应适当4、 模块的作用域应该在控制域之内5、 力争降低模块接

    9、口的复杂程度6、 设计单入口单出口的模块7、 模块功能应该可以预测第四节 图形工具 1、 层次图和HIPO图2、 结构图第五节 面向数据流的设计方法1、 概念2、 变换分析3、 事务分析4、 设计优化教学要求: 理解总体设计的过程;掌握软件设计的概念和原理;理解启发式规则;会应用图形工具和面向数据流的方法解决实际问题。考核要求:领会软件设计的概念与原则、概要设计的步骤、方法,应用概要设计文档与评审。1、 领会软件设计的概念及原理;2、 综合应用启发式规则;3、 应用图形工具进行系统设计;4、 掌握变换分析及事务分析,了解变换分析和事务分析的区别。第五章 详细设计教学要点:详细设计的任务、详细设

    10、计的原则详细设计的方法、程序流程图PFC、N-S图、PAD图、HIPO图、过程设计语言PDL、详细设计方法的选择。教学时数:2学时教学内容:第二节 结构程序设计 第三节 详细设计的工具 1、 程序流程图2、 盒图(N-S图)3、 PAD图4、 判定表5、 判定树6、 过程设计语言(PDL)7、 模块开发文件夹第四节 Jackson程序设计方法 1、 Jackson图2、 改进的Jackson图3、 Jackson方法第五节 Warnier程序设计方法 1、 Warnier方法2、 Warnier方法的辅助技术第六节 程序复杂程度的定量度量 1、 McCabe方法2、 Halstead方法教学要

    11、求: 熟练掌握结构程序设计;会应用详细设计的工具;理解并能区分Jackson、Warnier等程序设计方法;了解程序复杂程度的定量度量。考核要求:领会详细设计方法,综合应用详细设计的工具。 1、 熟练应用程序流程图进行系统设计;2、 综合应用PAD图及N-S图进行系统设计;3、 应用判定表、判定树进行系统设计。第六章 编 码教学要点:程序设计语言分类、程序设计语言特点、程序设计语言的选择,编程风格,编程效率,编程安全。教学时数:2学时教学内容:第一节 程序设计语言1、 程序设计语言分类2、 程序设计语言的特点3、 选择一种语言第二节 程序设计途径 1、 写程序的分格2、 程序设计方法论3、 程

    12、序设计自动化4、 程序设计工具教学要求: 能熟练掌握和应用一门程序设计语言。考核要求:领会程序设计的途径。1、 领会程序的风格并能在开发过程中熟练应用;2、 领会程序设计的途径。第七章 测 试教学要点:测试的概念、测试的原则、测试的方法,软件测试技术,软件测试过程、软件测试步骤、单元测试、综合测试、确认测试、系统测试 、纠错技术、软件测试计划与测试分析报告。如何运用黑盒法或白盒法来设计测试用例。教学时数:2学时教学内容:第一节 基本概念 1、软件测试的目标2、黑盒测试和白盒测试3、 软件测试的步骤4、 测试阶段的信息流第二节 单元测试 1、单元测试考虑2、单元测试过程第三节 集成测试 1、自顶

    13、向下结合2、自底向上结合3、不同集成测试策略的比较第四节 验收测试 1、验收测试的范围2、软件配置复查第五节 设计测试方案 1、 逻辑覆盖2、 等价划分3、 边界值分析4、 错误推测5、 实用测试策略 第六节 调试 1、 调试技术2、 调试策略第七节 软件可靠性 1、 基本概念2、 估算平均无鼓掌时间的方法3、 程序正确性证明第八节 日历预测法 1、 测试完成率模型2、 错误发现率模型3、 使用日历预测法的步骤第九节 自动测试工具 1、 测试程序生成程序2、 动态分析程序3、 静态分析程序4、 文件比较程序教学要求: 掌握软件测试的基本概念;会应用软件测试的方法;能综合应用测试方法设计测试方案

    14、;掌握调试技术和调试策略;理解软件可靠性的重要性;了解日历预测法和自动测试工具。考核要求:要求学生明确模块测试、组装测试、确认测试分别针对着编码、概要设计、需求分析等不同阶段上的测试,能够运用黑箱法或白箱法设计测试试用例,并能编制出反映测试结果的测试或测试分析报告。 1、 领会软件测试的目标;2、 熟练应用单元测试进行软件测试;3、 综合应用集成测试进行软件测试;4、 能综合应用各种测试方案;5、 了解调试技术以及自动测试工具。第八章 维 护教学要点:软件维护的定义、分类、特点、 软件维护步骤及组织、软件的可维护性。教学时数:2学时教学内容:第一节 软件维护的定义 第二节 维护的特点 1、 结

    15、构化维护与非结构化维护的对比2、 维护的代价3、 维护的问题第三节 维护的过程 1、 维护组织2、 维护报告3、 维护的事件流4、 保存维护记录5、 评价维护活动第四节 可维护性 1、 决定软件可维护性的因素2、 文档3、 可维护性复查教学要求: 掌握软件维护的定义;能够区分结构化维护和非结构化维护;了解维护过程;理解可维护性的重要性。考核要求:领会软件质量保证的概念、策略和方法,软件评审或测试的方法和步骤,软件维护过程。 1、 领会软件维护的定义;2、 领会维护的各个过程。第九章 面向对象方法学引论教学要点:传统方法学存在的问题,面向对象方法学的优点,以及对象模型、动态模型、功能模型的基本概

    16、念.教学时数:2学时教学内容:第一节 传统方法学的缺点 1、 存在的问题2、 出现问题的原因第二节 软件工程的新途径 1、 快速原型法2、 面向对象方法学3、 两种新途径的结合第三节 基本概念 1、 对象2、 其他概念第四节 面向对象建模第五节 对象模型 1、 表示类&对象的图形符号2、 表示结构的图形符号3、 例子第六节 动态模型 1、 术语2、 表示方法3、 例子第七节 功能模型 1、 表示方法2、 与其他两种模型的关系教学要求: 了解传统方法学和软件工程的新途径;掌握基本概念;掌握对象模型、动态模型、功能模型的表示方法以及三种模型的区别和联系。考核要求:领会面向对象方法学的基本概念1、

    17、领会传统方法的缺点;2、 领会快速原型法和面向对象方法的相关概念;3、 领会对象模型、动态模型、功能模型的概念。第一十章 面向对象分析教学要点:面向对象分析过程中的三个子模型和五个层次,对象模型、动态模型、功能模型的建立,以及服务的定义。教学时数:4学时教学内容:第一节 面向对象分析的基本过程1、 概念2、 三个子模型与五个层次第二节 需求分析1、 书写要点2、 例子第三节 建立对象模型1、 确定类对象2、 确定关联3、 划分主题4、 确定属性5、 识别继承关系6、 反复修改第四节 建立动态模型1、 编写脚本2、 设想用户界面3、 画事件跟踪图4、 画状态图5、 审查动态模型第五节 建立功能模

    18、型1、 画出基本系统模型图2、 画出功能级数据流图3、 描述处理框功能第六节 定义服务1、 常规行为2、 从事件导出的操作3、 与数据流图中处理框对应的操作4、 利用继承减少冗余操作教学要求: 掌握面向对象分析的基本过程;掌握需求分析的方法;会实际应用建立对象模型、建立动态模型、建立功能模型;掌握定义服务。考核要求:综合应用对象模型、动态模型、功能模型进行面向对象的建模。1、 领会三个子模型和五个层次;2、 综合应用对象模型进行系统开发;3、 综合应用动态模型进行系统开发;4、 熟练应用功能模型进行系统开发。第十一章 面向对象设计教学要点:模块化、抽象、信息隐藏、弱耦合、强耦合、可重用的概念,

    19、系统分解以及各个子系统的设计。教学时数:4学时教学内容:第一节 面向对象设计的准则1、模块化2、抽象3、信息隐藏4、弱耦合5、 强耦合6、可重用第二节 启发规则1、 设计结果应该清晰易懂2、 一般特殊结构的深度应适当3、 设计简单的类4、 使用简单的协议5、 使用简单的服务6、 把设计变动减至最小第三节 软件重用1、 概念2、 软件重用的效果3、 软件重用技术4、 类构件第四节 系统分解1、 子系统之间的两种交互方式2、 组织系统的两种方案3、 设计系统的拓扑结构第五节 设计问题域子系统1、调整需求2、重用已有的类3、 把问题域类组合在一起4、 增添一般化类以建立协议5、 调整继承层次6、 A

    20、TM系统之例第六节 设计人-机交互子系统1、 设计人-机交互界面的准则2、设计人-机交互子系统的策略第七节 设计任务管理子系统1、分析并发性2、设计任务管理子系统第八节 设计数据管理子系统1、选择数据存储管理模式2、 设计数据管理子系统3、 例子第九节 设计类中的服务1、 确定类中应有的服务2、 设计实现服务的方法第一十节 设计关联1、关联的遍历2、实现单向关联3、实现双向关联4、 链属性的实现第一十一节 设计优化1、 确定优先级2、 提高效率的几项技术3、 调整继承关系教学要求: 掌握软件维护的定义考核要求:领会模块化、抽象、信息隐藏、弱耦合、强耦合、可重用的概念。1、 领会面向对象设计的准

    21、则;2、 领会启发式规则以及软件重用的定义;3、 熟练掌握各个子系统的设计方法。第十二章 面向对象实现教学要点:面向对象的语言以及程序设计的风格。教学时数:2学时教学内容:第一节 程序设计语言 1、 对象的语言与非面向对象的语言2、 面向对象语言的技术特点3、 选择面向对象语言第二节 程序设计分格1、 提高可重用性2、 提高可扩充性3、 提高健壮性第三节 面向对象测试教学要求: 了解面向对象的程序设计语言;理解程序设计风格;掌握面向对象的测试。考核要求:领会面向对象的语言以及程序设计的风格。1、 领会程序设计语言及其风格;2、 领会对象测试的概念。第十三章 管理技术教学要点:了解成本估计、进度

    22、计划、人员组织、质量保证以及项目计划。教学时数:2学时教学内容:第一节 成本估计1、 参数方程2、 标准值法3、 COCOMO模型第二节 进度计划1、 Gantt图(横道图)2、工程网络3、 估算进度4、 关键路径5、 机动时间第三节 人员组织1、 程序设计小组的组织2、 主程序组第四节 质量保证1、 软件质量2、 质量保证第五节 项目计划1、 项目计划的内容2、 项目报告3、 变动控制第六节 软件管理工具教学要求: 理解成本估计的重要性;了解进度计划;了解人员组织、质量保证、项目计划以及软件管理工具。考核要求:领会管理技术在软件工程中的重要性,并能应用一些软件管理技术进行软件开发。1、领会成

    23、本估计、进度计划及人员组织;2、领会质量保证、项目计划的概念;3、综合应用软件管理工具进行软件的管理。实验部分(一)基本要求 软件工程是计算机应用专业教学计划中一门综合性和实践性很强的核心课程,主要内容包括软件工程概述、可行性分析、需求分析、总体设计、详细设计、面向对象分析与设计、编码、软件质量与质量保证、项目计划与管理。根据培养基层应用型人才的需要,本实验课程的目的与任务是使学生通过对本实验课程的学习,了解软件项目开发和维护的一般过程,掌握软件开发的传统方法和最新方法,为更深入地学习和今后从事软件工程实践打下良好的基础。(二)项目总表 本课程安排在第七学期第三周开始,开设九个必做实验项目,计

    24、划36个学时。实验项目名称学时数项目类别项目类型实验一 问题定义2基础性必做实验实验二 可行性研究2基础性必做实验实验三 需求分析4基础性必做实验实验四 总体设计4基础性必做实验实验五 详细设计6基础性必做实验实验六 编码和单元设计6综合性、设计性必做实验实验七 综合测试2基础性必做实验实验八 软件维护2基础性 必做实验实验九 面向对象设计8综合性、设计性必做实验合 计36注:项目类别:基础性、综合性、设计性项目类型:必做实验、选做实验(三)实验内容实验一 问题定义内容: 对系统的实际用户和使用部门负责人进行访问调查,扼要的写出对问题的理解。 目的: 通过讨论澄清含糊不清的问题,改正不正确的理

    25、解。 要求: 写出一份合理的书面文档。 主要仪器设备及耗材:实际的案例,计算机,纸张等。实验二 可行性研究 内容: 通过用数据流图表示导出系统的高层逻辑模型,并在此基础上建立更准确、更具体的确定工程规模和目标。 目的: 准确的估计系统的成本和效益。 要求: 学会绘制系统流图、数据流图、编写数据字典,并写出一份合理的可行性研究报告。主要仪器设备及耗材:实际的案例,计算机,纸张等。实验三 需求分析 内容: 应用数据流图、数据字典和简要的算法表示系统的逻辑模型。 目的: 生成经过用户确认的系统逻辑模型。 要求: 学会建立ER模型和规范化,掌握层次方框图、Warnier图、IPO图等图形工具,并写出一

    26、份合理的需求分析报告。主要仪器设备及耗材:实际的案例,计算机,纸张等。实验四 总体设计 内容: 寻找实现目标系统的各个不同的方案。 目的: 生成经过用户确认的系统逻辑模型。 要求: 学会绘制系统流图,数据流图,编写数据字典,并写出一份合理的需求分析报告。主要仪器设备及耗材:实际的案例,计算机,纸张等。 实验五 详细设计 内容: 设计出程序的详细规格说明。 目的: 确定怎样具体的实现所要求的目标系统,除了应该保证程序的可靠性之外,编写出来的程序可读性好,容易理解,容易测试和和容易修改、维护是详细设计阶段的重要目的。 要求: 选择合适的详细设计工具(程序流程图、盒图、PAD图、HIPO图、判定表、

    27、判定树和PDL语言等),使用面向数据结构的设计方法(例如Jackson方法和Warnier方法)进行详细设计,用模块开发文件夹的形式组织管理与一个模块有关的全部文档。 主要仪器设备及耗材:实际的案例,计算机,纸张等。实验六 编码和单元设计 内容: 选用合适的开发工具编写正确的容易理解、容易维护的程序模块。 目的: 编写具有可靠性强、可理解性好、可修改性强、可测试性好的代码。 要求: 使用自底向上或自顶向下的程序设计方法学开发,并实现具体的程序代码,注意程序的书写风格。主要仪器设备及耗材:实际的案例,计算机,纸张等。实验七 综合测试 内容: 进行软件的测试和调试,判断其可靠性。 目的: 通过各类

    28、型的测试及相应的调试使软件达到预定的要求(发现错误并改正)。 要求: 应该用正式的文档资料把测试计划、详细设计方案以及实际测试结果保存下来,写出详细的测试报告。主要仪器设备及耗材:实际的案例,计算机,纸张等。实验八 软件维护 内容: 通过四类维护活动(改正性维护、适应性维护、完善性维护、预防性维护)对软件进行维护。 目的: 通过各种必要的维护活动使系统持久的满足用户的需求。 要求: 记录每一次维护情况,作为正式的文档资料加以保存。主要仪器设备及耗材:实际的案例,计算机,纸张等。实验九 面向对象设计 内容: 应用面向对象设计方法学进行系统设计。 目的: 掌握面向对象建模、面向对象分析、面向对象设

    29、计、面向对象实现。 要求: 绘制出对象模型,写出实验报告。主要仪器设备及耗材:实际的案例,计算机,纸张等。(四)考核要求 能够用软件工程的思想综合应用所学的知识内容完成每个实验 ,按实验要求完成相应的文档资料。三、参考书目、张海藩,软件工程导轮,清华大学出版社,年月第三版;、郑人杰,实用软件工程(第二版),清华大学出版社;、周之英,现代软件工程,科学出版社;、刘超编,可视化面向对象建模技术-标准建模语言UML,北航出版,1999年7月第一版。本课程使用教具和现代教育技术指导性意见本课程概念较多,因此教学形式以讲授方式为主。为加强和落实动手能力的培养,每章课后应安排作业,作业应让学生尽可能在CASE环境下进行。对课程中关键性概念


    注意事项

    本文(《软件工程》教学大纲.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开