云南民族大学本科课程教学大纲
《软件工程》课程理论教学大纲
课程基本信息
【课程名称】:软件工程【英文译名】:SoftEngineering
【适用专业】:计算机科学与技术专业本科【学分数】:3
【学时安排】:理论46学时
【先修课程】:《大学计算机基础》,《C语言程序设计》,《数据结构》和《数据库原理及其应用》
【开课学院及教研室】:数学与计算机科学学院计算机科学与技术教研室
一、本课程教学目的和课程性质
《软件工程》是我国计算机类专业本科生必修的8门核心课程之一,同时也是软件工程师资格考试和计算机等级考试的必考重要科目。本课程以《软件工程导论》(张海潘编著)和《UML基础和ROSE建模教程》这两本教材所讲内容为基础,在讲述软件工程基本原理、概念、技术和方法基础上,对当前主流软件开发技术,比如敏捷开发过程、面向对象开发方法和UML面向对象建模技术等进行了重点讲解和剖析,并采用课堂讲授和上机实验相结合的方式。通过本课程的学习,使得学生不仅了解软件需求分析、设计、实现和测试等软件开发全过程的相关原理和概念,掌握当前UML建模等主流软件开发方法和技术,而且具备使用ROSE等主流建模工具进行实际软件项目开发的能力。
二、本课程的基本要求
(一)掌握基本原理
1、掌握软件工程的基本概念、基本原理和主要开发方法;2、了解软件工程各领域的发展方向;
1信息工程学院
3、了解如何用工程化的方法开发软件项目,以及开发过程中应遵循的流程、准则、标准和规范;
4、掌握UML面向对象建模的基本方法和技术。(二)具备下列基本技能
1、初步具有实际的软件开发技能;2、初步具备软件项目管理的能力;
3、熟悉项目开发的整个流程,包括软件生命周期、软件概要设计、详细设计、编码实现、软件调试和软件测试,能写出符合规范的文档;
4、能熟练使用RationalROSE等主流UML建模工具通过对软件系统的面向对象分析和设计来进行面向对象的建模。
三、课程内容及学时安排
《软件工程》的教学分为理论教学和实验教学两个环节,本部分为理论教学大纲。
第1章、软件工程学概述
1、内容体系:1)软件危机2)软件工程3)软件生命周期4)软件过程。
2、知识点:产生软件危机的原因及解决途径,软件工程的基本原理,软件工程方法学,软件生命周期中各阶段的基本任务,软件过程模型。3、重点:软件工程的基本原理,软件生命周期中各阶段的基本任务。4、难点:各类软件过程模型的特点及适用范围。
5、教学建议:通过一些具体的软件危机事例来充分说明软件工程的重要性,使学生对本课程产生浓厚的兴趣。
第2章、可行性研究
1、内容体系:1)可行性研究的任务2)可行性研究过程
2云南民族大学本科课程教学大纲
3)系统流程图4)数据流图5)数据字典
6)成本/效益分析。
2、知识点:可行性研究的任务,系统流程图、数据流图和数据字典的画法,成本/效益分析的方法。
3、重点:系统流程图、数据流图和数据字典的画法。4、难点:数据流图和数据字典的画法。
5、教学建议:可用学生比较熟悉的系统来讲解数据流图和数据字典的建立,以合适的项目为分析对象,要求学生建立起数据流图,作为课后作业,并对学生作业进行分析和讨论。
第3章、需求分析
1、内容体系:1)需求分析的任务
2)与用户沟通获取需求的方法3)分析建模与规格说明4)实体—联系图5)数据规范化6)状态转换图7)其他图形工具8)验证软件需求。
2、知识点:分析建模、规格说明和数据的规范化,实体-联系图、状态转换图和常用图形工具的使用方法,验证软件需求的方法。
3、重点:实体-联系图、状态转换图和常用图形工具的使用方法。4、难点:状态转换图等常用图形工具的使用方法。
5、教学建议:可提供一份具体需求分析报告供学生分析和学习。
第4章、形式化说明技术
1、内容体系:
1)形式化说明技术概述2)有穷状态机
3信息工程学院
3)Petri网4)Z语言。
2、知识点:形式化方法的优缺点,有穷状态机、Petri网和Z语言三种典型的形式化方法,应用形式化方法的准则。
3、重点:形式化方法的优缺点,应用形式化方法的准则。4、难点:有穷状态机、Petri网和Z语言三种典型的形式化方法。
5、教学建议:本章只要求学生简单了解形式化说明技术的重要性,对几种技术的详细内容不做要求,老师了根据个人兴趣让学生自行安排。
第5章、总体设计
1、内容体系:1)设计过程2)设计原理3)启发规则
4)描绘软件结构的图形工具5)面向数据流的设计方法。
2、知识点:总体设计的过程,软件设计的概念和原理、启发式规则,常用图形工具的使用方法,面向数据流的设计方法。
3、重点:软件设计的概念和原理、启发式规则,面向数据流的设计方法。4、难点:面向数据流的设计方法。
5、教学建议:本章内容非常重要,可让学生用第三章的需求分析实例进行总体设计。
第6章、详细设计
1、内容体系:1)结构程序设计2)人机界面设计3)过程设计的工具
4)面向数据结构的设计方法5)程序复杂程度的定量度量。
2、知识点:结构程序设计的概念,人机界面设计,常用的详细设计工具使用方法,Jackson程序设计方法,程序复杂程序的定量度量。
4云南民族大学本科课程教学大纲
3、重点:常用的详细设计工具,包括流程图、盒图、PAD图、判定树和判定表的使用方法,Jackson程序设计方法以及程序复杂性定量度量方法McCabe基本思路。
4、难点:Jackson程序设计方法以及程序复杂性定量度量McCabe的方法。5、教学建议:讲解人机界面设计中,可向学生展示不同系统的多种界面;Jackson方法也结合实例进行讲解。
第7章、实现
1、内容体系:1)编码
2)软件测试基础,3)单元测试4)集成测试5)确认测试6)白盒测试技术7)黑盒测试技术8)调试9)软件可靠性。
2、知识点:软件测试的有关的基本概念和步骤,单元测试、集成测试和确认测试的方法,白盒测试和黑盒测试技术,软件调试技术和软件可靠性估算方法。3、重点:单元测试、集成测试和确认测试的方法,白盒测试和黑盒测试技术。4、难点:白盒测试和黑盒测试技术的测试用例设计。
5、教学建议:介绍一些与软件测试技术相关的背景知识,特别是涉及到的一些数学知识。
第8章、维护
1、内容体系:软件维护的定义,软件维护的特点,软件维护过程,软件的可维护性,预防性维护,软件再工程过程。
2、知识点:软件维护的定义、特点及软件再工程过程,软件维护的过程,软件可维护性的概念以及决定软件可维护性的因素。3、重点:软件维护的过程,软件的可维护性。4、难点:软件维护的过程。
5信息工程学院
5、教学建议:应用实例来说明软件维护的重要性,并与学生讨论。
第9章、面向对象方法学引论
1、内容体系:
1)面向对象方法学概述2)面向对象的概念3)面向对象建模4)对象模型5)动态模型6)功能模型
7)3种模型之间的关系。
2、知识点:面向对象方法学要点、优点、喷泉模型,面向对象的基本概念,对象模型,动态模型,功能模型。3、重点:对象模型,功能模型。4、难点:三种模型的功能和关系。
5、教学建议:将结构化分析的案例和习题改用面向对象方法进行分析,让学生对这两种方法进行对比。
第10章、面向对象分析
1、内容体系:
1)面向对象分析的基本过程2)需求陈述3)建立对象模型4)建立动态模型5)建立功能模型6)定义服务。
2、知识点:面向对象分析的基本过程,需求陈述,建立对象模型、功能模型和动态模型。
3、重点:建立对象模型、功能模型和动态模型的方法。4、难点:动态模型的建立。
5、教学建议:要求学生结合具体案例,完成一个综合作业,以熟悉面向对象分析的思想。
6云南民族大学本科课程教学大纲
第11章、面向对象设计
1、内容体系:
1)面向对象设计的准则2)启发规则3)软件重用4)系统分解5)设计问题子系统6)设计人机交互子系统7)设计任务管理子系统8)设计数据管理子系统9)设计类中的服务10)设计关联11)设计优化
2、知识点:面向对象设计准则,软件重用的基本思想,问题域、人机交互、任务管理和数据管理的设计策略。
3、重点:面向对象设计准则,软件重用的基本思想。4、难点:设计优化。
5、教学建议:注意将面向对象设计准则和启发规则与结构化方法进行比较。
第12章、面向对象实现
1、内容体系:1)程序设计语言2)程序设计风格3)测试策略4)设计测试用例
2、知识点:面向对象语言的优点和技术特点,面向对象程序设计遵循的新准则。3、重点:面向对象程序设计语言的特点。4、难点:测试策略。
5、教学建议:与结构化方法进行比较。
第13章、软件项目管理
1、内容体系:
7信息工程学院
1)估算软件规模2)工作量估算3)进度计划4)人员组织5)质量保证6)软件配置管理。
2、知识点:人员组织和能力成熟度模型,软件规模和工作量的估算方法,进度计划和质量保证技术。
3、重点:软件规模和工作量的估算方法,软件配置管理过程。4、难点:软件规模和工作量的估算方法及其对CMM的深刻理解。5、教学建议:结合具体案例进行讲述,并在课堂上进行讨论。
第14章、UML面向对象建模语言入门
1、内容体系:1)UML语言构成2)UML的5种视图3)UML的9种图例
4)UML1.4与UML2.0的比较5)UML模型元素6)UML通用机制7)UML扩展组件8)UML建模的简单流程。
2、知识点:UML的用例视图、逻辑视图、组件视图、并发视图和配置视图5种视图,UML的用例图、类图、对象图、状态图、时序图、协作图、活动图、组件图和配置图9种图,模型元素分类及其关系。3、重点:UML9种图例的建模方法及其相互关系。
4、难点:9种图中包含的各种模型元素的含义及其相互间关系。5、教学建议:结合UML建模实例进行讲述,并在课堂上进行讨论。
第15章、图书馆管理系统UML建模实例
1、内容体系:1)软件需求分析
8云南民族大学本科课程教学大纲
2)图书馆管理系统的需求分析3)系统的UML基本模型4)系统中的类5)UML模型元素6)系统的配置与实现
2、知识点:实际软件系统的功能需求分析,UML基本模型的建模技术及其模型间的关系。
3、重点:系统的UML用例图、类图、状态图、时序图、协作图、活动图等基本
模型的建模技术。
4、难点:保持系统各个基本模型间的一致性。
5、教学建议:在ROSE建模工具中建模来讲述UML建模技术并分析基本模型间的关系。
四、教学方法建议
1、本课程概念较多,因此教学形式以讲授方式(面授)为主。
2、对课程中关键性概念、设计思想方面的问题可辅以课堂讨论的形式。3、如条件许可,应利用网络技术进行授课、答疑和讨论。
4、适当布置课后作业以增强学生运用所学知识解决实际软件开发问题的能力。
五、考核方式
本课程拟采取结构评分方式,总成绩=平时成绩+期末考试成绩。平时成绩=作业成绩+实验成绩;平时成绩占总成绩的30%,其中作业成绩占总成绩的10%,实验成绩占总成绩的20%,期末考试根据教学大纲统一命题,占总成绩的70%。
六、选用教材及主要参考书
1、建议教材
张海藩,软件工程导论(第五版),清华出版社,2008.2
9信息工程学院
2、主要参考书
[1]蔡敏等,UML基础和Rose建模教程,人民邮电出版社,2006年[1]李芷,软件工程方法与实践,电子工业出版社,2004年[2]郑人杰,实用软件工程(第二版),清华大学出版社,1997年[3]张海藩,软件工程导论(第五版)学习辅导,清华大学出版社,2008年[4]周苏,软件工程学试验.科学出版社,2005年
[5]英文版:RogerS.Pressman,SoftwareEngineering—APractitioner‘sApproach,4thEdition,McGraw-Hill,1996年
七、学时分配
课程内容
1、软件工程学概述2、可行性研究3、需求分析4、形式化说明技术5、总体设计6、详细设计7、实现8、维护
9、面向对象方法学引论10、面向对象分析11、面向对象设计12、面向对象实现13、软件项目管理
14、UML面向对象建模语言入门15、图书馆管理系统UML建模实例
合计
讲课44424482111126246
10云南民族大学本科课程教学大纲
八、其它说明
1、为加强和落实学生分析解决问题能力和实际动手能力的培养,每章课后应安排作业。
2、应充分重视上机实验环节,采用分组成立项目小组方式开展软件工程实验活动,以培养学生实际动手进行软件开发的能力。
11信息工程学院
《软件工程》课程实验教学大纲
课程基本信息
【课程名称】:软件工程【英文译名】:SoftEngineering
【适用专业】:计算机科学与技术专业本科【学分数】:3
【学时安排】:实验8学时
【先修课程】:《大学计算机基础》,《C语言程序设计》,《数据结构》和《数据库原理及其应用》
【开课学院及教研室】:数学与计算机科学学院计算机科学与技术教研室
一、本课程实验教学的目的和要求
通过本实验课旨在使学生学会实际的软件开发技能和管理能力,为实现此目的,将以实际课题作为实验课的教学内容边学边干,在学的过程中掌握开发软件的基本规律。
要求学生熟悉项目开发的整个流程,包括软件生命周期、软件需求分析、软件概要设计、详细设计、编码实现、软件调试和软件测试,写出符合规范的文档。
要求学生掌握UML面向对象建模技术,并能用于实际系统的面向对象分析、设计和建模。
二、本课程实验内容体系和实验类型
实验内容
1、软件开发绘图工具Visio2、数据分析与建模工具PowerDesigner3、软件自动化测试4、面向对象UML建模工具ROSE实验类型设计设计设计综合设计学时222212云南民族大学本科课程教学大纲
三、实验项目内容安排
实验1、软件开发绘图工具Visio
1
、
实
验
目
的
和
要
求
:
1)了解Visio工具软件的功能特色、安装、工作环境和基本操作等各方面的基本知识。
2)掌握应用Visio工具绘制软件开发图形的基本操作。3)了解开发Visio解决方案的基本概念。
4)学习应用Visio工具绘制数据流图、实体-联系图、状态转换图、软件结构图和程序流程图等图形。2、实验内容:
1)熟悉Visio的工作环境,掌握Visio的基本操作。2)绘制数据流图。3)绘制实体-联系图。4)状态转换图。5)软件结构图。
13信息工程学院
6)程序流程图。
实验2、软件分析与建模工具PowerDesigner
1、实验目的和要求:
1)初步了解系统分析和建模工具PowerDesigner的基本概念和操作界面。2)了解PowerDesigner的4个模型:业务处理模型(BPM)、概念数据模型(CDM)、物理数据模型(PDM)和面向对象模型(OOM)及其相互关系与作用。3)用PowerDesigner工具进行简单系统数据分析建模操作。2、实验内容:
1)初步了解系统分析和建模工具PowerDesigner的基本概念和操作界面,熟悉PowerDesigner的基本操作。
2)掌握运用PowerDesigner工具建立BPM、CDM、PDM和OOM的方法。
实验3、软件自动化测试
1、实验目的和要求:
1)学习自动化测试的原理和方法,了解在何种情况下适合进行自动化测试。
2)学习自动化功能测试的原理和方法。
3)掌握MIWinRunner功能测试工具的基本操作。2、实验内容:
1)熟悉MIWinRunner基本环境,掌握MIWinRunner基本操作。2)利用MIWinRunner自带的样本软件FlightReservation(机票预定系统),学习MIWinRunner的操作。
实验4、面向对象UML建模工具ROSE
1、实验目的和要求:
1)熟悉面向对象技术和面向对象软件工程模型与建模技术。2)熟悉UML的各种模型视图及其表示。
3)学习面向对象建模工具RationalRose的基本使用。2、实验内容:
1)了解面向对象建模工具RationalRose的安装和环境使用。2)掌握UML各种基本模型的建模方法及其关系。
14云南民族大学本科课程教学大纲
3)针对实际软件系统采用RationalRose进行UML面向对象分析和建模。
四、实验报告及成绩评定
实验成绩占总成绩的20%,共四次实验,每次实验5分,共20分。
软件工程,1,2,10,11,12,14八划15