第一篇:【授课教案】梧州学院-《软件工程》教学大纲
《软件工程》课程教学大纲
一、课程基本信息 课程代码: 课程名称:软件工程
课程英文名称:Software Engineering 学时/学分:34学时/2学分 开课系(部):计算机科学系
先修课程:面向对象程序设计、算法与数据结构 面向对象:计算机科学与技术、软件工程专业
二、课程性质与目标 课程性质:专业主干课
课程目标:说明要掌握的基本理论、基本知识和基本技能以及培养学生运用基本理论、基本知识和基本技能解决实际问题的能力。
本课程的主要目的是使学生较全面地软件工程过程、软件设计活动和软件设计的各类模型、掌握软件周期中各阶段的工作目标和各类文档的书写,比较不同软件工程模型的特点和掌握现在流行的软件设计过程。通过学习,使学生能够提高设计软件的能力和掌握软件开发过程的能力。课程教学的基本要求如下:
1.掌握各种软件模型的特点和设计方式。
2.掌握传统方法学软件工程和面向对象软件工程过程。3.掌握各类软件测试的基本方法。
三、理论教学基本内容及学时分配
(一)软件工程学概述(2学时)教学基本内容:软件工程各类软件过程介绍 教学重点:软件过程
教学难点:敏捷过程和极限编程(二)可行性研究(3学时)
教学基本内容:可行性研究阶段任务。教学重点:系统流程图数据流图 教学难点:数据流图(三)需求分析(3学时)
教学基本内容:用户访谈和实体-联系图基本设计思想 教学重点:实体-联系图与数据表的映射方式。教学难点:分析建模
(四)形式化说明(3学时)
教学基本内容:有穷状态机和petri网设计 教学重点:如何将软件形式化
教学难点:petri网(五)总体设计(3学时)
教学基本内容:总体设计的设计过程和原理,总体设计的启发规则、层次图和HIPO图,面向数据流设计方法
教学重点:描绘软件结构的图形工具 教学难点:总体设计启发规则(六)详细设计(4学时)
教学基本内容:详细设计的人机界面设计、过程设计工具讲解,详细数据结构的设计方法,程序复杂程度的定量度量
教学重点:过程设计工具
教学难点:面向数据结构的设计方法(七)实现(4学时)
教学基本内容:编码规则、软件测试、单元测试、集成测试、确认测试、白盒测试技术、黑盒测试技术、软件调试、软件可靠性估计
教学重点:单元测试、集成测试
教学难点:白盒测试技术
(八)面向对象方法学引论(2学时)
教学基本内容:面向对象的概念、面向对象建模、动态模型、功能模型、对象模型,三种模型之间的关系
教学重点:三种模型
教学难点:对象模型,面向对象建模
(九)面向对象分析(4学时)
教学基本内容:面向对象分析的基本过程、需求陈述、建立动态模型、建立功能模型
教学重点:建立三类模型 教学难点:建立三类模型
(十)面向对象设计(4学时)
教学基本内容:面向对象设计的准则、启发规则,系统分解,设计问题域子系统、设计人机交互子系统,设计管理子系统,设计数据管理子系统,设计类中的服务,设计关联,设计优化。
教学重点:面向对象设计的各类系统划分和设计 教学难点:设计数据管理子系统,设计类中的服务
(十一)面向对象实现(2学时)
教学基本内容:程序设计风格,测试策略,设计测试用例 教学重点:如何设计面向对象软件过程中的测试用例 教学难点:测试用例设计
四、教学方式
对各种软件工程过程从理论过程和实际运用过程来讲述,并进行比较。加强通过
实例的方法来介绍和讲解软件活动周期内各阶段任务和活动,利于学生学习掌握。课堂外可布置一些与实际联系密切的问题,让学生理解软件过程以及了解现在流行的软件过程。
六、考核方式
考核方式:本课程考核方式为闭卷考试。
成绩评定:成绩评定采用百分制。本课程成绩采用期末考试与平时成绩相结合的方式进行综合评定,最终成绩由以下两个部分组成:第一部分:期末考试成绩占总成绩的70%;第二部分:作业成绩及平时检测占总成绩的30%。
推荐使用教材
1.张海藩.软件工程导论(第5版)[M].北京:清华大学出版社,2008年.2.朱福喜.软件工程原理及应用 [M].北京:武汉大学出版社,2006年.执笔人:莫智懿
审核人:
时间:2011年3月1日
第二篇:《软件工程》教学大纲
《软件工程》教学大纲
《软件工程》教学大纲 课程编号及名称:040112软件工程 2 教学目的与要求:
软件工程是计算机科学与技术专业开设的一门专业必修课,是指导计算机软件开发与维护、培养学生计算机软件开发与应用综合能力的一门综合性课程。学生通过本课程的学习与课程实践,应能了解软件项目开发和维护的一般过程,掌握软件开发的基本原理和技术,掌握现代化的软件开发方法和步骤,为今后从事软件开发打下坚实基础。3学时学分:
总学时48学时,总学分3。其中授课40学时,实验8学时。4 先修课程的要求:
数据结构、C语言程序设计、面向对象的程序设计、数据库系统原理 教材与教学参考书目:
[1]
选用教材:《软件工程(第二版)》齐治昌,高等教育出版社 [2] 《软件工程导论》(第四版)张海藩编著,清华大学出版社 [3] 《实用软件工程》(第二版)郑人杰编著,清华大学出版社 [4] 《软件工程技术概论》朱三元 等编著,科学出版社 [5] 《现代软件工程》(上、中、下)周之英 编著,科学出版社 [6] 《面向对象的系统分析》 邵维忠 杨芙清 著,清华大学出版社 [7] 《软件测试》(美)Ron Patton 著,周予滨 等译,机械工业出版社 [8] 《System Analysis and Design Methods, fifth Edition》,Jeffrey L.等著,高等教育出版社
[9] 《能力成熟度模型(CMM):软件过程改进指南》,SEI编著,刘孟仁 等译,电子工业出版社
[10] 《软件测试自动化技术与实例详解》,Mark Fewster & Dorothy Graham 著,舒智勇等译,电子工业出版社
[11] 《软件工程》第二版 王立福等编著,北京大学出版社 [12] 《UML参考手册》Ivar Jacobson,James Rumbaugh,Grady Booch著,姚淑兰、唐发根译,机械工业出版社 [13] 刘超编,《可视化面向对象建模技术--标准建模语言UML》,北航出版,1999年7月第一版 6 课程主要内容:
软件危机与软件工程;软件、软件工程过程与典型的软件工程过程模型;与瀑布模型、演化模型等相对应的软件开发方法;面向对象的开发方法等。
(一)绪论(2学时)
软件危机与软件工程概念;软件工程过程及其典型开发模型;软件开发应遵循的基本原则;软件质量评价与软件度量等
(二)可行性分析与需求分析(6学时)
可行性研究的任务、种类与方法;软件需求及需求分析的任务、意义;需求获取技术;结构化分析技术
(三)系统设计(6学时)
系统设计的阶段与任务;模块独立、内聚与耦合概念;结构化设计方法;Jackson方法;详细设计工具
(四)系统编码(2学时)
软件实现;开发工具选择的原则;软件编程的风格与规范
(五)系统测试(4学时)
《软件工程》教学大纲
软件测试的概念、任务与原则;软件测试的阶段及过程管理;软件测试方法及方案设计;软件调试;软件测试自动化;软件可靠性研究
(六)系统运行及维护(2学时)
系统交付使用的方式及相关工作;软件维护的种类与相关概念;软件维护的实施过程与责任分工;提高软件可维护性的技术
(七)原型开发方法(6学时)
传统开发方法的问题;原型概念;原型开发方法及其支撑条件
(八)面向对象的软件工程开发方法(8学时)
面向对象方法概述及其优势;面向对象的分析方法;面向对象的设计方法;统一建模语言UML; 软件复用
(九)软件项目管理与质量保证(4学时)
软件项目管理概述;软件项目规划与估算;软件项目风险管理;软件项目的组织与进度计划;软件配置管理概述、配置管理的内容与工具;软件质量保证与软件过程能力成熟度模型CMM 教学内容重点:软件工程过程与典型的软件工程过程模型;软件开发应遵循的基本原则;结构化分析与设计技术;原型开发方法;面向对象的分析与设计方法
教学内容难点:结构化分析与设计技术;面向对象的分析与设计方法 7 实验教学安排:
在结构化分析方法、结构化设计方法与Jackson方法、原型开发方法、面向对象的软件工程开发方法教学过程中安排3-4次实验活动,要求学生认真完成。8 课程考核方式:
由于本课具有实践性强的特点,建议采用大作业平时成绩与结课考试相结合的方法综合评定学生成绩。本课特点及教学中应注意的问题:
本课特点:
1、实践性强;
2、表面理解显得较易,切实掌握非常困难。针对以上特点,教学过程中应极为重视实践环节的指导与检查,要求学生认真完成实践活动,以求学得扎实、深刻。
第三篇:软件工程教学大纲
《软件工程》教学大纲
课程名称:软件工程
英文名称:Software Engineering 学时数及学分:54学时 3学分 教材名称及作者、出版社:《软件工程导论》齐治昌、谭庆平、宁洪,高等教育出版社。大纲主笔人:郭
一、课程的目的、要求和任务
“软件工程”是计算机科学软件专业的一门重要专业骨干课程,它的主要目地和任务是: 1. 系统地介绍软件工程的基本原理、概念、技术和方法,简介软件工程的最新技术及其研究发展方向;2. 通过本课程的学习,使学生了解、掌握软件生存周期阶段的工程任务、具体过程、技术过程、技术方法和各种工具;3. 通过本课程的学习,使学生了解软件工程管理的重要性及基本的管理技术;4. 能将上述知识用于该课程的课程设计实习中,实现一个具体题目的全部软件开发过程。
二、大纲基本内容及学时分配 1.概论(4学时)
1)软件危机
2)软件工程概论
3)技术审查和管理复审
说明:要求学生掌握本节内容;2)、3)是本节重点。2.可行性研究(4学时)
1)可行性研究的任务及步骤 2)系统流程图与数据流图 3)数据字典
4)成本效益分析
说明:要求学生掌握本节内容;1)、2)、4)是本节重点。3.需求分析(8学时)
1)需求分析的任务及分析过程 2)验证分析的图型工具
3)验证软件需求 4)原型法
说明:要求学生掌握本节内容;1)、2)、3)是本节重点。4.总体设计(8学时)
1)总体设计的任务及过程 * 2)软件设计的重要概念及规则 3)软件设计的图形工具 * 4)面向数据流的设计方法 * 说明:要求学生掌握本节内容;1)、3)、4)是本节重点。5.详细设计(8学时)1)结构化程序设计
2)详细设计的工具 3)Jackson 设计方法 4)Warnier 设计方法
5)程序复杂度的定量度量方法
说明:要求学生掌握本节内容;1)、2)、5)是本节重点。6.编码(4学时)
1)程序设计语言的分类及选择 2)程序设计的风格及方法 3)程序设计自动化及工具
说明:要求学生掌握本节内容;2)是本节重点。7.测试(8学时)
1)软件测试的目标及测试的步骤
2)黑盒测试、白盒测试及测试方案的设计 3)单元测试、集成测试、验收测试 4)调试及软件可靠性的估算
5)自动测试工具
说明:要求学生掌握本节内容;1)、2)、4)是本节重点。8.维护(4学时)
1)软件维护的定义及特点 * 2)维护的进行过程和可维护性
说明:要求学生掌握本节内容;1)是本节重点。9.软件工程的管理技术(6学时)
1)成本估算
2)进度计划及人员组织
3)软件的质量保证
4)项目计划的制定及管理
5)软件工程的管理工具
说明:要求学生掌握本节内容;1)、3)、4)是本节重点。10.面向对象方法学引论(6学时)
1)基本概念及面向对象建模 2)对象模型 3)动态模型 4)功能模型
说明:本节内容选讲;1)是本节重点。11.面向对象分析(4学时)
1)面向对象分析的基本过程及需求陈述 2)建立对象模型、动态模型、功能模型 3)定义服务
说明:本节内容选讲;1)、2)是本节重点。12.面向对象设计(6学时)
1)面向对象设计的准则、启发规则及软件重用 2)系统分解
3)问题域、人-机交互、任务管理、数据管理等子系统的设计 4)设计类中的服务、关联及设计优化 说明:本节内容选讲;1)、3)是本节重点。13. 面向对象的实现(4学时)
1)程序设计语言的选择 2)程序设计风格
3)面向对象测试
说明:本节内容选讲。
三、与其它课程的关系
1.先行课程: 程序设计语言、数据结构、操作系统、编译原理、数据库等。
2.后续课程:高级程序设计语言概论、软件工具与环境、信息管理系统(MIS)、计算机辅助教育等。
四、考核方式
1.期末闭卷考试 占总成绩的50–60% 2.课程设计 占总成绩的30% 3.平时成绩(作业、上机和课堂考勤等)占总成绩的 10-20%
五、参考书目
《软件工程导论》齐治昌、谭庆平、宁洪,高等教育出版社。《软件工程概论》,孙振飞 应振澍 编著,湖南科学技术出版社。
第四篇:软件工程课程设计教学大纲
专业实践教学大纲
《软件工程课程设计》教学大纲
英文名称
课程代码:
学分:1 分
执笔人:金霜 审定人:
一、前言
《软件工程课程设计》是一个综合的设计性实验,是在学习完核心课程《软件工程》后,对《软件工程》所学内容的一次综合运用;旨在使学生进一步掌握软件工程的方法和技术,树立团队合作精神,培养学生的自主学习能力和创造性的工程设计能力,提高综合分析和解决问题的能力。
二、教学大纲
1、目的要求
《软件工程》是一门理论性和实践性非常强的课程,学生仅仅通过课堂获取知识是远远不够的,必须加强实践教学,利用具有实际工程背景的软件设计题目,和软件工程设计工具(rose、viso),培养学生对软件系统的需求分析、系统分析、软件测试能力。初步掌握系统分析、系统设计、系统测试的方法,让学生掌握软件工程设计工具(rose、viso)使用方法。
2、主要内容
(1)项目可行研究
☆ 成立项目小组,六人一组,其中4名开发人员,2名测试人员,并选定项目组长一名。
☆ 项目组长召集小组成员选择设计项目
项目可由老师指定,也可以学生自选后报老师审核。
☆ 项目组长召集成员进行项目可行性研究,确定项目的大小、范围和复杂程度等。☆ 确定任务进度、分工和完成项目设计的工具。
☆ 按照《软件工程课程设计报告》的格式要求,完成报告中的《项目可行性研究》部分。(2)需求分析
☆ 根据项目的大小、范围和复杂程度等情况,由全体组员共同完成项目的需求分析,包括项目功能、项目运行环境、项目开发环境、项目角色等。
☆ 使用软件工程设计工具绘制项目总功能图、总用例图,并进行文字阐述。☆ 按照《软件工程课程设计报告》的格式要求,完成报告中的《需求分析》部分。(3)系统概要设计
☆ 项目组长根据需求分析,进行任务分工,由开发人员进行系统概要设计
☆ 开发人员根据自己所分的模块任务,对模块的功能和参与者进行详细阐述,使用软件工程设计工具,绘制模块用例图
☆ 按照《软件工程课程设计报告》的格式要求,完成报告中的《系统概要设计》部分。
(4)系统详细设计
☆ 开发人员根据自己所分的模块的概要设计,进行详细设计
☆ 开发人员对自己所分模块的实现流程进行阐述,并使用软件工程设计工具,绘制类图、活动图(或者是状态图,二选一)。
☆ 组长绘制项目的ER图。
☆ 按照《软件工程课程设计报告》的格式要求,完成报告中的《系统详细设计》部分。
(5)系统测试计划
☆ 根据系统需求分析,由测试人员共同完成测试计划编写。
☆ 按照《软件工程课程设计报告》的格式要求,完成报告中的《测试计划》部分。(6)系统功能测试用例设计
☆ 组长根据测试需求分析,对测试人员进行任务分工。☆ 测试人员根据任务分工,绘制自己所分模块的实现顺序图。☆ 测试人员根据自己所绘制的顺序图,进行系统功能测试用例设计
☆ 按照《软件工程课程设计报告》的格式要求,完成报告中的《系统功能测试用例设计》部分。
(7)答辩(根据进度可选)
☆ 将各部分文档进行整合,完成《软件工程课程设计报告》
☆ 制作PPT,答辩时间5分钟,提问3~5分钟。(8)课时安排参考 ☆ 项目可行研究、需求分析4学时
☆ 系统概要设计、系统详细设计(系统测试需求分析、系统功能测试用例设计)8学时 ☆ 答辩4学时
三、成绩考核与评定
成绩考核由以下几部分组成:
(1)平时考勤占10%。
(2)设计表现占20%。组员的设计表现成绩由组长提供;组长的设计表现成绩由老师根据小组整体完成情况给于。
(3)答辩表现占20%,若没有答辩环节,以考勤分代替。(4)文档完成情况占50%。
成绩评定实行优、良、中、及格、不及格五个等级。
四、重点说明执行本大纲应注意的问题
1、严格审核学生所选项目,提倡项目的新颖性和实用性。
2、严格审核学生的需求分析和任务分工,确保每个学生有足够的工作量。
3、严格考勤,迟到15分钟之内算迟到,迟到2次算旷课1次;迟到15分钟以上算旷课。旷课2次,成绩即为不及格
4、允许学生上网查资料,但严格控制学生不得上网进行玩游戏、看电影等与课程设计无关的活动。
5、答辩主要围绕项目设计的合理性和可实现性提3-5个问题,根据学生回答情况,确定答辩分数。
6、审核文档,允许学生有所借鉴,但不得完全抄袭,一旦发现,以0分计。
附:教学参考书目(添加教材信息)
1、《软件工程》(第4版)人民邮电出版社
张海藩
2、《软件工程概论》 清华大学出版社
郑人杰、殷人昆
3、《软件工程课程设计大纲》由老师提供
4、《软件工程课程设计报告》由老师提供
5、《UML系统建模与分析设计课程设计》 机械工业出版社 刁成嘉、刁奕
6、《Rose工具使用方法参考》由老师提供
第五篇:《软件工程课程设计》教学大纲
《软件工程课程设计》教学大纲
英文名称: Software Engineering Course Design
学分:3 适用专业:
参考学时:
3周
实验学时: 3周 070472 课程编码:
上机学时:
计算机科学与技术(专升本)
大纲执笔人:
一、课程目标
系(教研室)主任: 李震
《软件工程课程设计》是实践性教学环节之一,是《软件工程》课程的辅助教学课程。通过课程设计,使学生掌握软件工程的基本概念,结合实际的操作和设计,巩固课堂教学内容,使学生掌握软件开发的基本过程,将理论与实际相结合,应用现有的CASE工具和软件开发文档规范,完成一个基于数据库的应用系统(DBAS)的设计与实现,把理论课与实验课所学内容进行综合,并在此基础上强化学生的实践意识、提高学生的综合运用能力和创新能力。
通过本课程学习,使学生掌握软件开发的基本概念、软件开发技术和流程;独立完成所有程序、文档的编写和调试工作;开发一套基于C/S或B/S结构的基于数据库的应用系统。形成数据库设计开发的基本能力;提高综合运用理论知识解决实际问题的能力。
二、基本要求
1、课程设计要求学生按项目分组进行,每个项目组由10人左右组成,可根据分组情况分别担任项目经理、技术经理、软件工程师、测试工程师、配置管理员、数据库管理员等角色。
2、在规定的时间内完成1个小型项目的计划、需求分析、设计、编码、测试和交付的全过程,要求按照软件企业的正规开发流程组织实施,并按照给定的文档规范标准撰写相关文档。
3、每组完成一个项目,题目可为学生信息管理系统、图书管理系统、在线考试系统、网上购物系统、超市管理系统等,也可自拟题目,但要经教师审核。
4、项目实训集中在机房进行,每天考勤,学生每天填写工作日志,每周进行周总结。
三、教学内容与学时分配建议
1、实训内容
(1)选题并制定项目开发计划
1天 由学生自愿或推荐选出项目经理,并成立项目小组,项目经理召集小组成员根据教师提供的题目进行选题,也可自由命题但要经教师审核通过。
针对所选项目讨论开发计划,明确项目的大小、范围、复杂度等,进行任务分解与任务分配,确定任务进度,确定完成项目的环境和工具,由项目经理完成《项目开发计划》。
(2)需求分析
2天
对系统的功能及性能需求进行分析,在项目组内答辩评审后,由任务承担人完成《需求规格说明书》。
(例如采用面型对象的方法进行需求分析,用Rational Rose工具进行UML建模。测试负责人组织书写测试用例。)
(4)概要设计
1天
在项目小组成员的配合下,任务承担人完成项目的初步设计任务,进行答辩评审后完成《概要设计说明书》。
(5)详细设计
3天
项目小组确定系统总体设计方案,建立软件系统的体系结构,并进行总体设计的答辩式评审,然后项目小组成员分工进行详细设计和界面设计,期间应建立数据库、表等,任务承担人完成《详细设计说明书》。
(6)编码及测试
7天
根据前期分析和设计工作进行代码的编写工作,要求给出详细的注释,包括:模块名,模块功能,中间过程的功能,变量说明等。
所有测试过程都要求采用综合测试策略;先作静态分析,再作动态测试。应事先制订《测试计划》,并要求保留所有测试用例,完成《测试分析报告》。
(7)项目交付、总结
1天
在全班范围内教师组织项目评审,项目经理完成项目开发总结报告。
2、提交内容
项目组按照软件工程文档模板要求提交以下文档的打印稿和电子稿:项目开发计划、需求规格说明书、概要设计说明书、详细设计说明书、编码清单(部分或全部)、测试计划、测试分析报告(部分任务)、项目开发中介报告。文档中必须注明完成者(签名)和完成日期。
每位同学要提交工作日志和周总结,需要项目经理签字。
项目经理提供本项目组的任务分工,及本项目组的成员工作评定,小组成员签字。
3、成绩评定 本次实训必须提交正式的针对特定项目的完整的设计文档和报告书。软件综合实训的成绩评定实行优秀、良好、中等、及格和不及格五个等级。优秀者人数一般不得超过总人数的20%。
四、教材及主要参考资料
[1] 史济民,顾春华,郑红.软件工程-原理、方法与应用[M].北京:高等教育出版社,2009.3.[2] 萨师煊,王珊.数据库系统概论[M].北京:高等教育出版社,2000.2.[3] 肖瑞奇.Dreamweaver CS5制作网页[M].北京:人民邮电出版社,2010.7.[3] 吴晨,张亮,张静.ASP.NET+SQL server 数据库开发与实例[M].北京:清华大学出版社,2006.8.请根据项目情况,修改和补充其它参考资料。