内容简介
《信息技术 基于计算机的软件系统的性能测量与评级(GB/T 30975-2014/ISO/IEC 14756:1999)》界定了对基于计算机的软件系统(CBSS)面向用户的性能如何测量和评级。从用户(例如各种不同终端的用户,或者数据处理中心的操作用户和商业用户)角度看,CBSS就是一种数据处理系统。
CBSS包括硬件及其所有软件(系统软件和应用软件),这些是实施用户所需的数据处理功能所要求的,或可影响到CBSS的时变行为。
《信息技术 基于计算机的软件系统的性能测量与评级(GB/T 30975-2014/ISO/IEC 14756:1999)》适用于测试所有受时间约束的系统或系统的一部分。同样,网络可以是某个系统的组成部分,或者可成为测试的主题。《信息技术 基于计算机的软件系统的性能测量与评级(GB/T 30975-2014/ISO/IEC 14756:1999)》所界定的方法不限于像经典的批处理或终端一宿主系统等特例,例如,也包括客户-服务器系统或按广义理解对“任务”界定的实时系统。但是就测试大环境所需花费来说,测试的实用性会受到限制。
内页插图
目录
前言
引言
1 范围
2 符合性
3 规范性引用文件
4 术语和定义
5 缩略语和符号
5.1 缩略语
5.2 符号
6 测量
6.1 配置需求
6.2 用户模拟
6.3 测量规程
6.4 测量有效性的证明
7 SUT性能值的计算
7.1 平均执行时间
7.2 吞吐量
7.3 适时吞吐量
8 用于评级的基础数据
8.1 用户需求
8.2 用于软件效率评级的基准环境
9 性能值评级
9.1 计算性能参考值
9.2 计算性能评级值
9.3 SUT总体性能评级
9.4 性能评估
10 输入需求
10.1 SUT描述
10.2 工作负载参数集
10.3 用于测量确认的输入
11 测量
11.1 测量规程
11.2 单个评级区间
12 测量规程的输出
12.1 测量日志文件
12.2 计算结果文件
13 测量确认
13.1 SUT计算正确性确认
13.2 RTE准确度确认
13.3 测得的平均执行时间的统计显著性确认
14 SUT性能值计算
14.1 平均执行时间
14.2 吞吐量
14.3 适时吞吐量
15 SUT测得性能值的评级
15.1 评级级别规格说明
15.2 计算性能参考值
15.3 计算评级值
15.4 评级
附录A(规范性附录)RTE基本功能规格说明
附录B(规范性附录)附加计算公式
附录C(规范性附录)工作负载描述格式
附录D(规范性附录)日志文件格式
附录E(资料性附录)实用程序
附录F(资料性附录)工作负载示例
前言/序言
《软件工程基础与实践》 图书简介 本书旨在为读者系统、全面地介绍软件工程的核心概念、方法论和关键实践。内容涵盖了从软件生命周期的早期需求获取到最终的部署与维护的全过程,重点关注如何构建高质量、可维护、高效率的软件系统。本书结构严谨,内容翔实,不仅覆盖了理论基础,更强调工程实践中的实际操作与工具应用。 第一部分:软件工程概述与基础理论 本部分首先引入软件工程的定义、目标和发展历程,阐明软件危机及其产生的背景。随后,详细阐述了软件工程的质量属性(如可靠性、效率、可维护性、安全性等)及其度量标准。重点讨论了软件过程模型,包括瀑布模型、增量模型、螺旋模型、喷泉模型以及敏捷方法(如Scrum、XP)的深入比较与适用场景分析。读者将学习如何根据项目特点选择合适的生命周期模型,并理解不同模型在风险管理和客户参与度上的差异。 第二部分:需求工程 需求是软件系统的基石。本章深入探讨了有效需求获取、分析、建模、规约和验证的全过程。内容涵盖了结构化分析方法(如数据流图DFD)、面向对象分析方法(如UML用例图和活动图)的应用。特别强调了非功能性需求的识别和表达,如性能需求、安全需求和可用性需求,并介绍了如何通过原型法、用户故事等技术来确保需求的完整性和一致性。本节还将介绍需求管理工具和技术,用以跟踪需求的变更和演进。 第三部分:软件设计 本部分聚焦于软件的结构化设计和面向对象设计。 结构化设计: 深入讲解模块化设计原则,如高内聚、低耦合,信息隐藏等。详细介绍了结构化设计的主要技术,如结构化分析到设计的转化、模块分解的策略,以及评审机制。 面向对象设计(OOD): 这是现代软件设计的主流。内容涵盖面向对象的基本概念(类、对象、继承、多态、封装)。重点阐述了设计原则,包括SOLID原则(单一职责、开放/封闭、里氏替换、接口隔离、依赖倒置),并详细介绍了设计模式(Design Patterns)的应用,如创建型、结构型和行为型模式(如工厂模式、单例模式、观察者模式、策略模式等)在解决常见设计问题中的实际案例。同时,将介绍如何使用UML图(类图、顺序图、组件图)进行系统设计文档的表达。 第四部分:软件实现与编码实践 本章关注如何将设计转化为高质量的代码。内容不仅涉及主流编程语言的特性,更侧重于编码规范和最佳实践。讨论了代码重构的必要性、技术和时机,以持续提高代码的可读性和可维护性。本节还将引入版本控制系统(如Git)的高级应用,分支管理策略(如Git Flow),以及如何利用代码静态分析工具来发现潜在的错误和不规范的代码结构。 第五部分:软件测试与质量保证 软件测试是确保软件质量的关键环节。本书提供了全面的测试方法论。 测试基础: 定义了软件测试的目标、原则、驱动方法(如测试驱动开发TDD)。 测试级别: 详细区分了单元测试、集成测试、系统测试和验收测试,并为每种级别提供了具体的测试设计技术,包括黑盒测试(等价类划分、边界值分析)和白盒测试(语句覆盖、判定覆盖、条件覆盖)。 高级测试: 涵盖了性能测试(负载测试、压力测试)、安全测试(渗透测试基础)和可用性测试的实施流程。此外,本章还将介绍缺陷管理流程,如何有效地记录、跟踪和验证缺陷修复。 第六部分:软件维护与演进 软件的生命周期中,维护阶段占据了绝大部分时间和成本。本部分探讨了维护的类型(纠错性、适应性、完善性、预防性维护)以及如何有效地管理和执行维护活动。重点在于如何通过文档化、模块化设计和良好的架构来降低维护的复杂度,并介绍了软件再工程(Software Reengineering)的基本概念和技术。 第七部分:项目管理与工具链 成功的软件工程离不开有效的项目管理。本章将软件项目管理分解为范围管理、进度管理、成本管理和风险管理。重点介绍敏捷项目管理的核心实践,如迭代规划、每日站会、回顾会议等。此外,本书还会介绍现代软件开发中的DevOps理念,持续集成/持续部署(CI/CD)流水线的构建流程,以及常用项目管理工具(如Jira、Confluence)的应用方法,旨在帮助读者掌握从概念到交付的完整工程能力。 目标读者: 本书适用于计算机科学、软件工程专业的本科生和研究生,以及希望系统提升软件开发和项目管理技能的初、中级软件工程师、系统分析师和技术管理者。通过阅读本书,读者将能够掌握构建和管理复杂软件系统的工程化方法论。
这本理论的厚度简直可以当镇纸用了,初翻起来,感觉自己像是踏入了一个由标准、规范和各种晦涩的技术术语构筑的迷宫。我原本以为能找到一些立即可用的工具箱或者快速入门的指南,毕竟书名里带着“性能测量与评级”,听起来就很实用。然而,事实是,这本书更像是一部严谨的学术专著,里面充斥着对软件性能评估方法论的深刻剖析,从测试环境的搭建要求到数据采集的统计学基础,每一个环节都写得滴水不漏,仿佛在为构建一个完美的、可重复的性能测试实验室提供蓝图。对于那些希望在项目交付前,用科学、可量化的证据来支撑软件质量宣称的工程师来说,这些详尽的规范无疑是极其宝贵的财富。它强迫你跳出那种凭感觉判断“好像跑得挺快”的模糊地带,转而用精确的度量衡去审视软件的真实表现。我特别留意了其中关于基准测试(Benchmarking)的章节,它详细区分了不同类型的性能指标,以及如何设计出既能反映真实用户场景,又不失客观性的测试用例,这方面的内容非常扎实,远超一般项目文档所能提供的深度。