软件质量保证和管理教与学(教学大纲)

软件质量保证和管理教学大纲

课程代码:

课程学分:

课程总学时:48(理论32 学时,实验16 学时)

适用专业:计算机科学与技术、软件工程及相关专业

一、 课程概述

《软件质量保证和管理》是软件工程专业或计算机应用相关专业教学计划中一门综合性和实践性强的专业选修课程,主要内容包括质量和软件质量的概念、软件质量标准、软件质量工程体系、配置管理、质量度量等,还涉及需求分析、软件设计、编程和测试、软件发布和维护等各个阶段的软件质量活动,包括质量人员的组织和培训、质量策划、设计模式的有效应用、编程的最佳实践等。

学生通过本课程的学习,深刻理解软件质量保证和管理的重要性,了解软件质量工程体系及其代表性的模型或理论(如CMMTQM、六西格玛和零缺陷管理等),建立正确的质量文化和理念,掌握软件开发和维护过程中的质量保证措施和管理方法,灵活运用质量管理工具,为将来从事软件开发、测试或管理等工作打下良好的基础。

二、课程内容和要求

学习本课程的先修课程:《程序设计》、《软件工程导论》,最好学过《软件测试》、《需求工程》等课程。课程教学的基本要求是理解下列基本概念和知识,掌握软件质量活动中所需的基本技能,抓住重点,克服难点,使学生在理解概念的基础上,灵活运用所学的质量管理方法。

基本概念和知识:质量、缺陷、流程、软件质量保证(SQA)、软件质量管理、全面质量管理(TQM)、度量、质量成本及劣质成本、软件质量指标、软件质量模型、质量计划、软件评审、配置项、基线及其配置管理、零缺陷管理、六西格玛等。

基本技能:能组织软件评审会议、根据企业特点剪裁质量标准、使用软件质量控制工具(如检查表、直方图等)、通过配置管理工具实施配置管理、运用质量管理方法以及帮助建立质量管理体系或软件质量管理规范。

重点:质量工具、质量模型、质量度量。

难点:软件质量管理和质量工程体系的建立,工程方法的深入理解与应用。

课程的教学要求在每一章教学内容之后给出,大体上分为三个层次:了解、理解和掌握。了解即能正确判别有关概念和方法;理解是能正确表达有关概念和方法的含义;掌握是在理解的基础上加以灵活应用

三、教学具体目标和学时安排

内容

教学目标

学时

1

质量与软件质量

2掌握所介绍的概念,建立正确的质量观

2质量发展历程、质量大师的质量理念和思想

2掌握软件质量内容

2理解软件开发的规律、特征和基本过程,能够分析质量的影响因素

2

2

软件质量管理层次与模式

2什么是质量管理?

2高水平的质量管理

2软件质量管理模式

2

3

软件质量工程体系

2理解软件质量管理体系的构成

2掌握软件质量过程

2理解软件质量工程体系的构成,区分软件过程质量和产品质量的不同因素和指标

2掌握SQC/SQA/SQM 及其相关概念

2掌握质量成本及“劣质成本”概念

2了解软件质量标准。

2

4

软件质量控制

2软件质量控制活动

2软件质量控制的一般方法

2软件质量控制模型

2软件质量控制工具

2

5

软件质量保证

与过程改进

2软件质量保证体系

2软件质量管理组织

2SQA 组织的目标和责任

2改正性和预防性措施

2支持性质量保证工具与手段

2软件质量改进

4

6

软件评审

2理解软件评审的角色和职能

2掌握评审的内容、方法和技术

2评审会议

2评审跟踪、分析与管理

2

7

软件配置管理

2理解配置管理中的相关概念,

2掌握版本控制和变更控制的方法

2了解软件配置管理系统

2

8

软件质量度量

2理解度量活动和质量度量模型

2软件度量分类

2掌握软件过程质量度量

2理解不同层次的软件度量:代码/ 结构/ 系统。

4

9

软件质量计划

2理解朱兰三部曲与质量策划

2能够编制质量计划

2

10

高质量的软件需求与设计

2理解需求的质量要求

2掌握需求的获取和分析方法

2理解如何构建设计质量

2理解如何实现软件设计优化

4

11

高质量的代码与测试

2了解代码规范与编程规则

2掌握代码评审与分析技术、工具

2了解测试的现实和原则

2理解如何保证测试目标实现的完整性和有效性

4

12

软件发布和维护的质量管理

2了解发布程序、部署和维护知识

2了解DevOps

2掌握持续部署技术、工具

2

四、教学手段和方法

该课程教学,以前期《软件工程》等课程中的案例为基础,作为本课程的案例,继续讨论,这里主要围绕SQA和SQM展开讨论。

对关键性概念、设计思想方面的问题可辅以课堂讨论的形式,老师和学生之间的讨论,也可以是学生和学生之间的讨论。通过一些案例、故事等,使学生更好理解其中蕴含的道理。

互动、案例讲解,是本课程教学的要点。以案例教学为主线,通过丰富的实际案例引导学生对具体的质量保证概念等有深刻的认识,,并注重研讨式、启发式教学,鼓励学生尝试自己阅读更多的参考书、寻找资料等思考问题、解决问题。

五、实验与作业

为了进一步弄清和巩固课堂所学的知识及实际的应用,配合讲课,设置下列实验和作业内容/

1.阅读一本质量大师的著作。

2.对不同的软件质量模型进行对比分析,构造适合某一类特定软件的质量模型。

3.零缺陷作业法的实践。

4.通过SVN, 更好地理解软件配置管理。

5.结合EXCEL和MINITAB工具学会使用典型软件质量控制工具。

6.针对一个项目或实际的开源软件,完成一些简单的软件度量工作(估算、代码规模、结构度量等)

7.针对某个特定软件需求文档,组织(模拟)一次软件评审会议。

8.针对某个开源软件,展开设计优化的讨论。

9.通过使用单元测试工具,如Checkstyle、FindBugs等,更好理解编程规则和代码风格,并结合自动化,完成敏捷的持续集成。此部分在软件质量保证的课程设计中完成。

六、推荐教材

扫码优惠购书

七、考核方式及成绩评定方法

本课程考核由期末卷面考试、课堂表现、平时作业、实验 告等部分组成。其中,期末卷面考试采用闭卷方式。

3 期末考试:60%

3 实验、实践:20%

3 课堂表现(含平时考勤、提问)10%

3 平时作业:10%

教 学 进 度表

2019 2020 学年度 第2 学期

学院 17 软件工程 软件质量保证 课程 学时 32(理论)

任课教师 作业次数 6 实验次数8

使用教材 软件质量保证与管理(朱少民 清华大学出版 ) 领导签字_____

周次

周课时

作业内容

1

第1章 质量与软件质量

(质量定义、质量管理发展历程、软件开发过软件质量模型)

2

作业:讨论平时遇到的违背软件质量的问题

2

软件质量管理层次与模式

高水平的质量管理、软件质量管理模式

2

作业

3

软件质量工程体系

(工程体系内容、质量成本、质量控制原理、软件质量管理过程等)

2

作业:就一个质量模型解析

4

软件质量控制

(模型、方法、活动和工具)

2

实验:工具的实践

5

软件质量保证SQA

SQA组织及其角色责任、改正性和预防性措施)

2

作业

6

软件质量工具、软件质量改进

(其它工具、软件质量改进过程及实践案例)

2

实验

7

软件评审

(评审的技术与形式、评审会)

2

8

软件配置管理

(配置项、基线、版本控制/变更控制

SCM系统Git)

2

实验

9

软件质量度量

(基本概念、成本和复杂度度量,产品质量度量)

2

作业

10

软件质量度量

(过程质量度量、缺陷分析模型)

2

实验

11

软件质量计划

朱兰三部曲、质量计划及其实例

2

作业

12

提高软件需求与设计质量

(需求获取与分析,设计模式,系统需求/设计的质量保证)

2

实验

13

高质量编程

代码风格、编程规则、代码审查

2

14

软件测试之质量

(测试与SQA的关系,测试的现实和原则、测试目标实现的完整性和有效性

2

作业

15

软件发布和维护的质量管理

(软件部署、软件维护、DevOps等) 

2

实验

16

总结、复习

2

17

考试

实验教学进度表

附:教材目录

基础篇:软件质量保证与管理体系

1质量与软件质量

1.1 质量

1.2软件质量

1.3 广义的软件质量

1.4软件缺陷

小结

思考题

2软件质量管理层次与模式

2.1 什么是质量管理?

2.2高水平的质量管理

2.3 软件质量管理模式

小结

思考题

3软件质量工程体系

3.1 系统工程学的思想

3.2 软件质量工程体系(SQES)的构成

3.3 软件质量工程环境

3.4 依据质量标准有章可循

3.5 软件质量成本核算

小结

思考题

实践篇:软件质量工程的关键活动与实践

4章软件质量控制

4.1 软件质量控制活动

4.2 软件质量控制的一般方法

4.3 软件质量控制模型

4.4 软件质量控制工具

小结

思考题

5章软件质量保证

5.1 软件质量保证体系

5.2 软件质量管理组织

5.3 SQA组织的目标和责任

5.4改正性和预防性措施

5.5 支持性质量保证工具与手段

5.6 软件质量改进

小结

思考题

6章软件评审

6.1 为什么需要评审?

6.2 软件评审的角色和职能

6.3评审的内容

6.4 评审的方法和技术

6.5 准备评审会议

6.6 召开评审会议

6.7 跟踪和分析评审结果

6.8 如何实施成功的评审

小结

思考题

7章软件配置管理

7.1 概述

7.2 配置项

7.3 基线

7.4 版本控制

7.5. 变更控制

7.6软件配置管理系统

小结

思考题

8章软件质量度量

8.1软件质量度量基础

8.2软件产品规模与复杂度度量

8.3软件产品质量度量

8.4 软件过程质量度量

8.5 软件质量度量模型

8.6 软件质量度量的执行

小结

思考题

9章软件可靠性度量模型和测试

9.1 软件可靠性

9.2 可靠性模型及其评价标准

9.3 软件可靠性测试和评估

小结

思考题

过程篇:全过程提升软件质量

10章软件质量计划

10.1 朱兰三部曲与质量策划

10.2 质量计划

10.3 质量计划实例

小结

思考题

11章高质量的软件需求分析

11.1 需求的获取与去伪存真

11.2基于模型准确分析需求

11.3 系统需求的质量保证

小结

思考题

12章提高软件设计质量

12.1软件设计

12.2如何构建设计质量

12.3 软件设计优化

12.4数据库设计质量

12.5 一些典型的系统设计

小结

思考题

13章高质量编程

13.1代码风格

13.2编程规则

13.3提高程序质量的技术

13.4代码审查

13.5单元测试

14.软件测试之质量

14.1 软件测试

14.2 测试的现实和原则

14.3 测试的方法应用之道

14.4 测试目标实现的完整性和有效性

14.5 测试过程的评审和质量保证

15章软件发布和维护的质量管理

15.1 软件发布程序管理

15.2软件部署

15.3软件维护 

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年3月8日
下一篇 2020年3月8日

相关推荐