两种不同的研究范式(探索性研究和解释性研究)通常采用不同的经验研究方法。探索性研究着重研究自然环境中的对象,从观察中发现结果。这意味着需要一种柔性研究设计[1]来应对观察现象的变化。柔性设计(Flexi
1 1 为什么实验可被视为过程改变的原型方法?1 2 如何利用实验进行活动改进?1 3 为什么经验研究在软件工程中很重要?1 4 经验研究方法在什么情况下最适用于软件工程?请分别与科学方法、工程方法和分析方法
软件工程是一个跨学科的学科。它从技术问题(如数据库和操作系统)跨越到语言问题(如语法和语义),再到社会问题和心理学。软件开发是人力密集型的活动,至少时至今日我们尚不能机械化地制造出新的软件。它是一
软件过程模型用于描述软件开发时所采取的步骤和执行的活动。软件过程模型有瀑布模型、增量开发模型、演进式开发模型、螺旋模型以及各种敏捷开发模型等,这些模型在一般软件工程书籍中都有介绍。软件过程的示意图
暂且不论信息技术革命意味着什么,至少它已经让软件成为越来越多产品中的一部分。从烤箱到航天飞机,都可以发现软件的存在。从中可以看出,有大量软件已经被开发出来或者正在开发过程中。软件开发绝不是一件简单
出版者的话中文版序译者序序一序二最初版前言前言致谢第一部分背景第1章引言1?1软件工程背景1?2科学与软件工程1?3练习第2章经验策略2?1经验策略概述2?2调查法2?2?1调查法的特征2?2?2调查法的目的2?2?
本书基于2000年出版的《软件工程中的实验方法:导论》(Experimentation in Software Engineering: An Introduction)一书。本版是原书的修订扩展版。我们修订了原书中的几个部分,同时也增加了一些新的内容
你是否曾经有过对不同的软件工程方法或技术进行比较评估的需求?本书介绍了一种用实验对软件工程中的新方法和新技术进行评估的方法。实验对于那些参与评估不同方法、技术、语言和工具,并从中加以选择的所有软件
我有一种强烈的信念,即软件工程师不仅需要了解软件工程的具体方法和流程,而且应该知道如何去评估它们。因此,我一直把实验与经验研究的原则作为软件工程课程的重要组成部分。直到现在,这仍然意味着我们需要从
非常荣幸能为本书的修订版作序(最初版本于2000年出版)。我之前使用过本书的最初版本,因为这本书正是为教师和研究者出版的!多年来,包括科罗拉多州立大学、华盛顿州立大学、丹佛大学和维尔茨堡综合大学等多所
实验是任何科学与工程研究的基础。了解一门学科需要建立与该学科各种元素相关的模型,比如领域中的对象和用于操作这些对象的流程,以及流程与对象之间的关系。领域知识的不断发展意味着需通过各种形式的实验来检
自软件工程成为一级学科以来,关于软件工程的研究方法得到了更多、更广泛的重视。软件工程领域日益需要一本这样的教材。任何学科的发展都依赖于对这个学科所要解决的基本问题的理解。每个学科解决问题的能力都会
文艺复兴以来,源远流长的科学精神和逐步形成的学术规范,使西方国家在自然科学的各个领域取得了垄断性的优势;也正是这样的优势,使美国在信息技术发展的六十多年间名家辈出、独领风骚。在商业化的进程中,美国
本书的目的是通过受控实验为学生、教师、研究人员及从业者介绍软件工程中的经验研究。介绍实验时采用了过程视角,将描述的焦点放在进行实验时需要执行的步骤上。全书分为三个部分。第一部分介绍了实验中用到的一
1 概述移位运算(Shift),也称移位操作,是指在小数点位置固定不变的情况下,将一个二进制数据左移或者右移n位。移位运算在计算机中是很常用的。对于一个定点数,将其左移n位,相当于该数乘以2 n;将其右移n位
逻辑运算的特点是按位进行,每一位运算后得到一个独立的结果,对其他位没有影响。因此,逻辑运算不存在进位、借位、溢出等问题。常见的逻辑运算有:逻辑非(NOT)、逻辑加(OR)、逻辑乘(AND)和逻辑异或(XOR)
在计算机的数据运算中,参与运算的数据被称为操作数(Operand)。本节主要介绍操作数是定点整数的运算方法,浮点数的运算方法将在下一节介绍。计算机中的运算分为算术运算和逻辑运算,它们的差别在于:算术运算把
1 浮点数的基本表示方法实际工作中,我们遇到的数据往往是带有小数点的。例如,圆周率π是3 1415926,某人的体重是67 5千克,等等。但是,截至目前,我们研究出来的计算机能够直接处理的数只是定点数,要么是定
2 1 数据的表示2 1 1 定点数的表示1 原码表示法在实际生活中,我们遇到的数据一般是十进制的、带正 负号的、带小数点的。但遗憾的是,截至目前,计算机能直接处理还只是由0和1组成的二进制数。因此,在计算机中
计算机归根到底是机器,或者说是机械。机器如何能够实现人脑的智慧呢?本章将向您揭示其中的奥秘。请尽情领略计算思维和数学机械化的魅力吧!