《软件工程》 、课程概述 软件工程是计算机专业的一门重要的专业基础课,它对于培养学生的软件素 质,提高学生的软件开发能力与软件项目管理能力具有重要的意义。 课程的主要内容有:介绍软件的基本概念和软件工程的目标,通过对传统的 面向过程的软件开发方法和面向对象的软件开发方法的介绍,使学生掌握开发高 质量软件的方法;通过对软件开发过程和过程管理技术的学习,使学生了解如何 进行软件度量和管理,怎样进行质量保证活动,从而能够有效地策划和管理软件 开发活动 二、课程目的 1、了解软件的主要成分以及软件的分类,以及按软件工程方法从事软件开 发的意义。 2、掌握软件需求分析的方法,重点是结构化分析方法和面向对象的OMT方 法,学会如何进行软件建模,如何才能做出好的软件需求说明 3、掌握软件设计的方法,重点在结构化设计方法和面向对象的Coad方法, 学会如何才能建立一个好的软件体系结构,应如何度量和评价。 4、掌握软件测试的基本方法,重点在测试用例的设计,了解应做哪些方面 的测试,测试数据如何设计,测试的内容和如何利用测试结果进行可靠性分析与 预测。 5、掌握软件过程与管理的方法,重点在质量管理和成本/进度管理,了解主 要的软件标准和应产生哪些文档,学习在软件过程中建立质量保证体系的方法和 要求。 、课程进行方式 课堂授课、参考文献阅读、完成软件开发大作业、期末开卷考试 四、书面材料 ①《实用软件工程》(第二版),郑人杰,殷人昆,陶永雷编著,清华大学出版 社,1997年4月 ②《软件工程复习与考试指导》,殷人昆,高等教育出版社,2001年2月 五、考核方法 1、分配比例:参考文献综述(书面报告):30% 大作业(书面报告) 40% 期末开卷考试: 30% 2、参考文献综述要求:就如何利用面向对象的软件开发方法来开发软件
1 《软件工程》 一、课程概述 软件工程是计算机专业的一门重要的专业基础课,它对于培养学生的软件素 质,提高学生的软件开发能力与软件项目管理能力具有重要的意义。 课程的主要内容有:介绍软件的基本概念和软件工程的目标,通过对传统的 面向过程的软件开发方法和面向对象的软件开发方法的介绍,使学生掌握开发高 质量软件的方法;通过对软件开发过程和过程管理技术的学习,使学生了解如何 进行软件度量和管理,怎样进行质量保证活动,从而能够有效地策划和管理软件 开发活动。 二、课程目的 1、了解软件的主要成分以及软件的分类,以及按软件工程方法从事软件开 发的意义。 2、掌握软件需求分析的方法,重点是结构化分析方法和面向对象的OMT方 法,学会如何进行软件建模,如何才能做出好的软件需求说明。 3、掌握软件设计的方法,重点在结构化设计方法和面向对象的Coad方法, 学会如何才能建立一个好的软件体系结构,应如何度量和评价。 4、掌握软件测试的基本方法,重点在测试用例的设计,了解应做哪些方面 的测试,测试数据如何设计,测试的内容和如何利用测试结果进行可靠性分析与 预测。 5、掌握软件过程与管理的方法,重点在质量管理和成本/进度管理,了解主 要的软件标准和应产生哪些文档,学习在软件过程中建立质量保证体系的方法和 要求。 三、课程进行方式 课堂授课、参考文献阅读、完成软件开发大作业、期末开卷考试 四、书面材料 ①《实用软件工程》(第二版), 郑人杰, 殷人昆, 陶永雷编著, 清华大学出版 社,1997 年 4 月 ②《软件工程复习与考试指导》, 殷人昆, 高等教育出版社,2001 年 2 月 五、考核方法 1、分配比例: 参考文献综述(书面报告): 30% 大作业(书面报告): 40% 期末开卷考试: 30% 2、参考文献综述要求:就如何利用面向对象的软件开发方法来开发软件
谈自己的心得体会。题目不限,字数不少于4000字 3、大作业要求:选定一个小型软件的题目,模拟软件开发的全过程。题目 自选。如果没有适当的题目,可做一个小型图书馆的编目/借阅/书库管理系统的 题目。软件需求自行调查确定。要求期末交4份文档: 软件需求说明书(软件需求、软件的功能模型和信息模型) 软件设计说明书(软件体系结构设计、数据设计、过程设计); 用户手册 测试计划(单元测试、组装测试、确认测试) 4、期末考试要求:单选填空、判断对错、简单计算、设计测试用例等。 六、课程进度安排 1、软件的概念、特点和分类,软件的发展和软件危机,软件工程过程和软 件生存期,软件工程基本目标 2、计算机系统工程,系统需求识别,可行性硏究,软件估算,系统结构模 型化 3、软件需求分析的目标和任务,结构化分析方法,原型化方法 4、软件设计的目标和任务,软件设计基础,软件体系结构设计与结构化设 计方法 5、数据设计,过程设计,用户界面设计,软件设计规格说明与设计评审 6、对源程序的质量要求,结构化程序设计,程序设计风格,程序复杂性度 量,程序设计评审 7、软件测试目的与原则,测试过程与策略,测试用例设计 8、白盒测试的测试用例设计,黑盒测试的测试用例设计 9、程序静态分析,程序调试,测试中的可靠性分析 10、面向对象概念,面向对象方法的开发过程,面向对象建模,对象模型化 技术OMT 11、面向对象分析,需求陈述,发现和标识类和对象,标识结构,划分主题, 标识属性,标识实例关系,标识服务和消息 12、面向对象设计,设计模型中关系的类型,设计问题论域部分,定义用户 界面部分,设计任务管理部分,设计数据库部分 13、类的设计,类设计的目标,通过复用设计类,类设计方针,类设计的例 子,程序设计风格,基于规格说明的测试,基于程序的测试,组装测试,针对 子类的分层增殖式测试 14、软件维护、软件质量定义与评价,软件可靠性度量,软件维护类型与策 略,软件维护活动,程序修改的步骤及修改的副作用,软件可维护性,提高可维 护性的方法 15、软件过程、软件过程模型的建造技术、软件计划制定、进度安排、软件 配置管理、CMM模型与软件过程的改进
2 谈自己的心得体会。题目不限,字数不少于 4000 字。 3、大作业要求:选定一个小型软件的题目,模拟软件开发的全过程。题目 自选。如果没有适当的题目,可做一个小型图书馆的编目/借阅/书库管理系统的 题目。软件需求自行调查确定。要求期末交 4 份文档: ·软件需求说明书(软件需求、软件的功能模型和信息模型); ·软件设计说明书(软件体系结构设计、数据设计、过程设计); ·用户手册 ·测试计划(单元测试、组装测试、确认测试)。 4、期末考试要求:单选填空、判断对错、简单计算、设计测试用例等。 六、课程进度安排 1、软件的概念、特点和分类,软件的发展和软件危机,软件工程过程和软 件生存期,软件工程基本目标 2、计算机系统工程,系统需求识别,可行性研究,软件估算,系统结构模 型化 3、软件需求分析的目标和任务,结构化分析方法,原型化方法 4、软件设计的目标和任务,软件设计基础,软件体系结构设计与结构化设 计方法 5、数据设计,过程设计,用户界面设计,软件设计规格说明与设计评审 6、对源程序的质量要求,结构化程序设计,程序设计风格,程序复杂性度 量,程序设计评审 7、软件测试目的与原则,测试过程与策略,测试用例设计 8、白盒测试的测试用例设计,黑盒测试的测试用例设计 9、程序静态分析,程序调试,测试中的可靠性分析 10、面向对象概念,面向对象方法的开发过程,面向对象建模,对象模型化 技术OMT 11、面向对象分析,需求陈述,发现和标识类和对象,标识结构,划分主题, 标识属性,标识实例关系,标识服务和消息 12、面向对象设计,设计模型中关系的类型,设计问题论域部分,定义用户 界面部分,设计任务管理部分,设计数据库部分 13、类的设计,类设计的目标,通过复用设计类,类设计方针,类设计的例 子,程序设计风格,基于规格说明的测试,基于程序的测试,组装测试, 针对 子类的分层增殖式测试 14、软件维护、软件质量定义与评价,软件可靠性度量,软件维护类型与策 略,软件维护活动,程序修改的步骤及修改的副作用,软件可维护性,提高可维 护性的方法 15、软件过程、软件过程模型的建造技术、软件计划制定、进度安排、软件 配置管理、CMM 模型与软件过程的改进
16、软件工程标准与软件产品文档编制、ISO-900标准介绍、文档的作用与 分类、文档编制要求 七、参考阅读文献 ①《实用面向对象软件工程教程》,殷人昆,田金兰,马晓勤,电子工业出 版社,1998年6月 ② Ronald J. Norman," Object-Oriented Systems Analysis and Design”,中译名 《面向对象系统分析与设计》,清华大学出版社和 Prentice hal联合影印出版, 八、课后答疑、建议 欢迎同学课后来访,讨论问题及对本课程提出意见。 上班地点:清华大学东主楼10区209室 通信地址:清华大学计算机系软件研究所邮编:100084 电话:(010)62785601 传真:(010)62782373 Email
3 16、软件工程标准与软件产品文档编制、ISO-9000 标准介绍、文档的作用与 分类、文档编制要求 七、参考阅读文献 ① 《实用面向对象软件工程教程》, 殷人昆, 田金兰, 马晓勤, 电子工业出 版社,1998 年 6 月 ② Ronald J. Norman, “Object-Oriented Systems Analysis and Design”, 中译名 《面向对象系统分析与设计》, 清华大学出版社和 Prentice Hall 联合影印出版, 1997 八、课后答疑、建议 欢迎同学课后来访,讨论问题及对本课程提出意见。 上班地点:清华大学东主楼 10 区 209 室 通信地址:清华大学计算机系软件研究所 邮编:100084 电 话:(010)62785601 传 真:(010)62782373 Email: