1.1-软件质量

软件质量概述

1.质量和软件的概念

1.1 什么叫质量(quality)

ISO9001:2008把质量定义为:一组固有特性满足要求的程度。

质量具有经济性、广义性、时效性、相对性

2.软件生命周期

2.1 软件开发项目组

2.2 软件生命周期质量管理

2.2.1概述

image-20200703233346793

2.3 软件开发模型

软件开发模型是指软件开发全部过程、活动和任务的结构框架。

2.3.1 瀑布模式、大棒模式、边写边改模式

2.3.1 瀑布模式

image-20200703233346793

瀑布模型强调文档的作用,并要求每个阶段都要仔细验证。但是,这种模型的线性过程太理想化,已不再适合现代的软件开发模式,几乎被业界抛弃,其主要问题在于:

(1) 各个阶段的划分完全固定,阶段之间产生大量的文档,极大地增加了工作量。

(2) 由于开发模型是线性的,用户只有等到整个过程的末期才能见到开发成果,从而增加了开发的风险。

(3) 早期的错误可能要等到开发后期的测试阶段才能发现,进而带来严重的后果。

2.3.2 原型模式、快速应用(RAD)模式、螺旋模式、增量模式 和跌代模式、混合模型

2.3.3敏捷开发

敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行使用的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。

  • 敏捷方法论采用迭代/增量开发的过程模型
  • 敏捷开发由几种轻量级的软件开发方法组成。
    • 它们包括:极限编程(XP),Scrum,精益开发(Lean Development),特征驱动软件开发FDD等等
  • 主要目的是降低需求变化的成本
  • 提倡互动交流、反馈、简单、勇气、团队

2.3.4 MSF模型

2.3.5 RUP简介

RUP(Rational Unified Process,统一过程)是一个 面向对象且基于网络的程序开发方法论。

根据Rational的说法,好像一个在线的指导者,它可以 为所有方面和层次的程序开发提供指导方针,模版以及 事例支持。

RUP是理解性的软件工程工具–把开发中面向过程的方 面(例如定义的阶段,技术和实践)和其他开发的组件 (例如文档,模型,手册以及代码等等)整合在一个统 一的框架内。

动态结构:迭代式开发
静态结构:方法描述

RUP采用以下四个基本模型元素,组织和构造系统开发过程:

  1. Workers:角色,它描述某个人或一个小组的行为与职责。

  2. Activities:是一个有明确目的的独立工作单元。

  3. Artifact:以多种形式存在,包括模型(Model)、原代码、可执行文件和文档等。 是Activity生成、创建或修改的一段信息。

  4. Workflows:描述了一个有意义的连续Activititys序列,每个Workflow产生一些有价值的Artifacts,并显示出Workers之间的关系。 RUP主要提供两种组织Workflow的方式:核心工作流(Coreworkflows)和迭代工作流(Iterationworkflows)。

2.3.6 软件建模

面向对象建模

UML代表着软件建模的发展趋势

2.4 软件开发与软件测试的关系

1、测试与开发各阶段的关系

image-20200703235900607

测试在开发阶段的作用:

  • 项目规划阶段:负责从单元测试到系统测试的整个测试阶段的 监控。
  • 需求分析阶段:确定测试需求分析、系统测试计划的制定,评 审后成为管理项目。
  • 详细设计和概要设计阶段:确保集成测试计划和单元测试计划 完成。
  • 编码阶段:由开发人员进行自己负责部分的测试代码。在项目 较大时,由专人进行编码阶段的测试任务。
  • 测试阶段(单元、集成、系统测试):依据测试代码进行测试, 并提交相应的测试状态报告和测试结束报告。

2、测试与开发的并行性

image-20200703235952103

3、完整的软件开发流程

image-20200704000011470

2.5 软件神话


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!