软件开发术语定义

转自:http://wenku.baidu.com/link?url=h_n8QLhdtRu5KgaVxy1v0gAiS5t7HVv5JH9tPFcOBXYUMvqnf_NZJMYDUBVkWVc43v1MbfJhXq0v9HADhA18arsAXo6W38mFFN-WdGGgkJi数据库

 

软件开发术语定义编程

刘昌其 (华北计算所)安全

软件开发在沟经过程中,经常会出现因对一些名词-术语理解的差别,而发生争论,有时甚至产生僵局使工做没法开展,不得不花时间去讨论这些名词-术语,取得共识后工做才能进行下去。其实,若是在一开始就把一些容易产生混淆的名词先定义好,让大统一认识可能就不会出现上述状况,从而提升效率和提高软件质量。数据结构

如下列举这些术语定义就是本人在软件开发中常常遇到的,有些通过思考后改写的,有些是通过编辑的,有些是汇编过来的,但愿对软件开发人员有所帮助,共你们参考:框架

01. 标准ide

是权威部门为某种产品制定的有关功能、性能和质量等的一组规范,供设计和生产部门遵守执行,以提升质量,下降成本,增长互换性。工具

02. 设计性能

是肯定产品功能、性能、组成、质量和成本的优化过程。(设计是产品质量造成过程当中的关键环节,经过设计把顾客的要求转化为产品的功能-性能及实现采购、检验、服务、技术规范等过程并造成文件,使工做按程序进行,以确保知足规定要求。)单元测试

03. 软件设计开发工具

是将用户需求转化为软件的功能-性能、结构、组成、接口、质量和成本的优化过程。

04. 方法

是解决问题的途径和办法。

05. 工具

是下降劳动强度,提升生产率的器具。

06. 验证定义

通俗讲是肯定一个操做是否正确完成的过程;或者说是经过检验和提供客观证据,证实某项过程的输出已经知足了输入的要求。若输出知足了输入的要求,则该处理过程的正确性就获得了验证,不然就没有获得验证。

软件验证定义:经过测试报告证实软件输出已经知足本阶段输入的要求。验证的要点是过程的输出必定要知足输入时的要求。

07. 认证定义 Certif1cation

认证一词的英文原意是一种由权威机构出具证实文件(如资格证书)的行为。ISO/IEC指南2:1986中对“认证”的定义是:“由能够充分信任的第三方证明某一经鉴定的产品或服务符合特定标准或规范性文件的活动”。举例来讲,对第一方(卖方)生产的产品,第二方(买方)没法断定其品质是否合格,而由第三方来断定。第三方既要对第一方负责,又要对第二方负责,不偏不倚,出具的证实要能得到双方的信任,这样的活动就叫作“认证”。第三方的认证活动必须公开、公正、公平,才能有效。

08· 可靠性定义reliability   

在规定的时间和条件下,软件系统维持正常运行的几率。(或者是在单位时间内,系统维持正确运行的几率。)

09. 稳定性定义 stability
  a.在有干扰或破坏事件影响下仍能保持不变的能力。
  b.在(无心的)干扰事件发生以后,系统恢复原始状态的能力。

10. 安全性定义,保密性定义 security

对系统(硬件、软件)进行保护,以防止其受到有意攻击和破坏(如:存取、使用、修改、毁坏或泄密)的程度。安全性也涉及对数据的传输、存储、及处理的物理保护。

11. 有效性定义 effectiveness

衡量策划活动达到策划结果的程度。

有效性(validity)是衡量实际活动达到规定目标的程度(对质量体系而言,其有效性是指文件上说到-作到的程度)。

12.   需求分析定义

定义1. 需求分析是肯定系统功能-性能、组成、接口、进度、成本和设备配置的优化过程。它是软件开发的关键步骤,主要是理解和表达软件系统的用户需求,包括:软件的功能、性能、可靠性、安全性、成本消耗、开发进度、资源利用、用户接口和所需的数据库等方面。系统分析员在研究用户需求的基础上,通过分析编写成软件需求说明书或软件规格说明书,做为需求分析阶段的主要工做成果。

定义2. 需求分析是开发人员对系统须要作什么和如何作的定义过程。从系统分析的经验来看,这个过程每每是个按部就班的过程,一次性对系统造成完整的认识是困难的。只有不断地和客户领域专家进行交流确认,方能逐步明了用户的需求。从系统开发的过程得知,系统分析时犯下的错误,会在接下来的阶段被成倍的放大,越是在开发的后期,纠正分析时犯下的错误所花费的代价越是昂贵,也愈加影响系统的工期和系统的质量。 

13.  软件设计定义

肯定软件功能、性能、接口及组成框架的过程;可分为概要设计(也称为整体设计或结构设计)和详细设计(模块设计)两个阶段。

14.    概要设计定义

根据需求规格书,进行功能分解,肯定程序结构、数据结构的优化过程。概要设计从宏观角度解决软件“怎么作”的问题,把系统按功能分界成各个模块,明确各模块的功能以及它们之间的接口,即各模块之间的相互关系以及相互间传递的信息。

15.  详细设计定义

详细设计是根据开发工具,把概要设计逐级细化成能在运行环境上进行编程的过程。详细设计将详细描述模块内部的处理过程,即给出每一个模块的详细说明、流程图、一些典型或重要方法的结构化说明或伪代码等。

详细设计主要使用的工具备三种类型①图示工具,经常使用的有结构化流程图、N-S图和PAD图;②伪代码语言;③表格工具,如断定表、断定树等。

16.   软件测试定义

测试是为了发现程序中的错误,而执行程序的过程。它的主要任务是发现并排除需求分析、软件设计和编码等阶段产生的各类错误,获得正确-可靠的软件。

软件测试可分为四级①单元测试;②集成测试;③确认测试;④系统测试。经常使用的测试方法有白盒测试和黑盒测试二种。

测试-审计:测试是过后检验产品的质量,保证产品符合客户的需求;而 SQA 的职责是审计过程的质量,保证 CMM 中各个 KPA 过程被正确执行。

17.   软件维护定义

软件维护是在软件交付使用后,为使系统正常工做而进行的修改过程。目的是及时消除故障,保证软件能正确、持续、有效地为用户服务。维护可分为:

正确性维护,即:改正在系统开发阶段发生的而系统测试阶段还没有发现的错误。

适应性维护,即:是为适应软件的外界环境变化而进行的修改。

完善性维护,即:是为扩充系统的功能和改善系统性能而进行的修改。它是软件工程的重要环节,据统计资料代表,该阶段的花费占整个软件生存期花费的60%以上。

正确性维护是在软件运行中发生异常或故障时进行的,这种故障经常是因为遇到了从未用过的输入数据组合,或与其余硬、软件接口发生了问题。适应性维护是在软件的外部环境发生的变化时进行的,如计算机的更新换代,操做系统的升级,数据格式的变更等等。完善性维护是在扩充软件的功能时进行的,目的是提升原有软件性能而开展的维护活动。

18.  项目定义:

项目是在规定时间、成本、资源(含人力资源)内,按照某种标准和规范去生产某种新产品或提供某项新服务的过程。美国-哈佛大学

·软件项目定义

是软件企业根据合同,在规定时间和预算范围内,按某种规范,达到预计收益和合同规定目标的一次性任务。

有关项目定义还有其余一些说法,列举以下,供参考:

(1) 项目是在规定时间和预算范围内,达到特定目的和预计收益的一组活动。

(2) 项目是一项创造惟一产品或服务的时限性工做。

(3) 由一组有起止时间的、相互协调的受控活动所组成的特定过程,该过程要达到符合规定要求的目标,包括时间、成本和资源的约束条件。

(4) 项目一般可表述为:是一个组织为实现本身既定的目标,在必定的时间、人员和资源约束条件下,所开展的一种具备必定独特性的一次性工做。-南开大学戚安邦教授《现代项目管理讲义》

(5)项目是一种一次性的工做,是在规定的时间内,由专门组织起来的人员来完成;它有一个明确的预期目标;而且有明确的可利用的资源,它须要运用多种学科的知识来解决问题;没有或不多有以往的经验能够借鉴。这些都是一次性的,都要求在必定的期限内完成,不得超过必定的费用,并有必定的性能要求等。因此,有人说项目是新企业、新产品、新工程、新系统和新技术的总称。

 

19.   项目管理定义

是经过项目的启动、计划、实施、控制与结束等阶段,为使成本、进度、质量控制在预约范围内,所进行的分析和管理活动。

有关项目管理定义还有其余一些说法,列举以下,供参考:

(1)软件项目管理是为了使软件项目可以按照预约的成本、进度、质量顺利完成,而对成本、人员、进度、质量、风险等进行分析和管理的活动。

(2)MBOK(Project Management Body of Knowledge)定义

    为了知足甚至超越项目涉及人员对项目的需求和指望,而将理论知识、技能、工具和技巧应用到项目的活动中去。(项目管理就是组织利用资源,按照预约的成本和进度,高质量地完成一个既定的目标。)
(3)所谓项目管理就是对项目的管理,项目管理者的中心工做就是按工期、按预算、按要求完成任务。美国项目管理学会(PMI)认为:项目管理就是把各类知识、技能、手段和技术应用于项目中,以达到人们的须要和指望。

·管理要素定义

是构成管理的必要因素和要解决的关键性问题。

 

20.  软件配置和配置项定义

软件配置(software configuration)是指开发过程当中,构成软件产品的各类文档、程序及其数据的集合。该集合中的每个元素称为配置中的一个配置项(configuration item)。

 

21.  软件配置管理定义

是对软件生存期内各阶段的文档、软件实体和最终产品的演化和变动进行管理;同时要解决变动的标识、控制和发布等问题。目的是使开发制度化、提升效率、减小错误,从而保证产品的质量。

里程碑即一般所说的软件开发过程当中的“阶段”,若是说它们之间有区别的话,那么“阶段”强调的是过程,而“里程碑”则强调过程的终点和终点的标识。这些阶段能够是需求分析阶段,概要设计阶段等等。

基线是软件开发过程当中最重要的里程碑,不过基线更强调的是一个开发阶段到达里程碑时的结果及其内容,如:功能基线是通过评审和批准的需求规格说明书;产品基线是经集成和确认测试后,经正式审批可交付客户的软件产品的所有配置项(包括:软件实体和全部的文档)。

受控库是软件开发过程当中,其修改权限接受控制的文档库和程序库,其中基线库和产品库,特别是产品库的修改权限将受到严格的控制,即便是受权修改的人,在修改前还必须获得批准。

基线库是受控库中一些特别重要的库,如:需求(基线)库和产品(基线)库。

产品库是存放软件最终产品(即:产品基线)的库,基于它的重要性,对它的修改将受到特别的控制。产品基线是最初批准的产品配置标识。

 

22.    信息定义 information

 定义1:信息是物质、事物、现象的属性、状态、关系标记的集合。

定义2信息是物质、事物、现象的属性、状态、关系、效用,借助某种方式描记、排布的信号、符号及语义的序列集合。再如C. Shannon 有名的Information Theory 将信息定义为事件发生机率倒数的对数值,则是将信息的重要属性『机率』予以量化

定义3是对物质运动和生物活动产生的数据、文字、图象、声音及其内在规律的记录。

定义4信息是有必定含义、通过加工处理、对决策有价值的数据。 信息=数据+处理

23. 文件定义 document
定义1:文件是信息及其承载媒体。如:记录、规范、程序、图样、报告、标准。
注1:媒体能够是纸张,磁盘、光盘或其余电子媒体或它们的组合。
注2:一组文件,如若干个规范和记录,常常称为"documentation"。
注3:某些要求(如易读的要求)与全部类型的文件有关,但是对规范(如修订受控的要求)和记录(如可检索的要求)能够有不一样的要求。

定义2:文件是一种在媒体上记录的数据。它具备永久性并能够由人或机器阅读。一般仅用于描述人工可读的内容。例如,技术文件、设计文件、版本说明文件。

 

23.      规范定义 specification

  1. 阐明规定要求文件.
    注:某个规范可能与活动有关(如:程序文件、过程规范和试验规范)或与产品有关(如:产品规范、图样和性能规范)。

24. 质量定义

产品质量是产品知足客户要求的程度。客户的具体要求能够是功能、价格、寿命、易用、可靠性、稳定性、安全性以及维护服务的方便性等等。

25. 质量管理 (quality management)定义
通俗讲是在质量方面指挥和控制企业的协调活动。严格讲是制定质量方针和目标,明确岗位职责,经过质量体系的运做,即经过质量的策划、实施、控制和改进等步骤,完成管理职能的所有活动。

26.   软件质量定义

软件质量(software quality)是软件的一组固有特性(如:功能、性能)知足客户要求的程度。具体讲软件质量就是软件在正确、易用、健壮、快捷、抗毒、安全等方面知足顾客要求的程度。

27. 质量计划定义 quality plan

对特定的项目产品,规定由谁什么时候使用哪些程序和相关资源的文件。或者是利用资源,为达质量目标而对特定产品的质量活动和顺序作出规定的文件。

  注1:这些程序一般涉及那些质量管理过程和产品实现过程。
  注2:一般,质量计划引用质量手册的部份内容或程序文件。
  注3:质量计划一般是质量策划的结果之一。

 

28. 记录定义 record

阐明所取得的结果或提供所完成活动的证据的文件。
注1:记录可用于实现和证实可追溯性提供文件,并提供验证、预防措施纠正措施的证据。
注2:一般记录不须要控制版本。记录和文件的最主要区别是记录不能修改。而文件能够修改。

29. 评审定义 review

为肯定主题事项达到规定目标的适宜性、充分性和有效性所进行的活动。
示例:管理评审、设计与开发评审、顾客要求评审和不合格评审。

30. 设计评审 design review
设计评审定义是专家对设计方案中的功能-性能是否符合用户需求,及其实现的可行性进行评价,找出设计缺陷、提出改进建议的过程。

31. 软件验证定义:

经过测试报告证实软件输出已经知足本阶段输入的要求。验证的要点是过程的输出必定要知足输入时的要求。

32. 确认定义validation

在软件开发过程结束时对软件进行评价,以确认它和软件需求是否相一致的过程。软件开发结束,经过验收报告认定:软件的功能-性能已经知足客户的需求。“确认”要注意2个要点:一是确认必定要在项目结束时进行,二是必定要由用户确认。

33. 测试用例定义 test case

根据软件功能-性能和操做流程组织的测试数据,以及与之相关的测试规程的集合。它是为了特定目的(如考察特定程序路径或验证是否符合特定的需求)而产生出来的。

34. 测试用例设计

测试用例要根据用户对软件的实际操做和业务流程来设计,同时设定测试数据。重要的是这些设定的数据必定要有意义(例如:你不能把员工的性别定为“A或B”,必定要定为“男或女”;也不能把籍贯设定为“ZXCV”或“ASDF”什么的,必定要设定成“北京”或“江苏”等);不然测试获得的结果令人看不懂,而使测试失去原有的意义。可见,对大型软件测试用例的设计和数据准备的工做量是很大的。这是由于要全面测试软件的功能和性能,不只须要设计大量的用例,更要准备更多有实际意义的数据才行。若是有用户真实的数据就更好,没有就只好根据软件功能,设定一些有真实含义的模拟数据进行测试。只有当准备的测试数据比较全面(如:正常值、边界值、异常值),软件测试才能被全面覆盖。

35.测试用例构造

对一个新开发的软件,构造其测试用例的最好办法,就是根据用户的实际使用的案例,通过改造变成该软件的测试用例和数据。用这样的测试用例去测软件效果是最好的,由于它很接近实际使用状况。若是实在找不到用户的实际案例,只好根据软件功能认真地设计一个测试用例,并模仿用户使用状况,尽量定义一组符合实际状况的模拟数据,将其保存在测试数据库中。

36. 测试范围定义 test coverage
  一个范围,在此范围内测试系统可否知足规定需求。

37. 测试数据定义 test data
  用来测试系统或系统部件的数据。

38. 测试日志定义 test log
  按年月日所作的测试活动的所有有关细节的记录。

39. 测试阶段定义 test phase
软件生存周期中的一段时间。在此期间对软件产品的部件进行评价且进行集成。并评价软件产品以肯定需求是否已获得知足。

40. 测试计划定义 test plan
一个文件,它叙述了对于预约的测试活动将要采起的途径。典型的计划应包括:标识要测试的项目、要完成的测试、测试进度表、人事安排要求、报告要求、评价准则,以及任何临界的要求的临时计划。

软件测试计划主要描述测试阶段的划分、测试时机的安排、测试人员的配备、测试环境的要求等。为了使测试计划相对标准些,还须要增长一些章节如:测试目的、背景、定义、参考资料等。

41. 测试规程定义 test procedure
对给定的测试,就其创建、运行和结果估计所做的详细说明。经常把一组有关的过程组合起来造成测试过程文件。

42. 测试可重现性 test repeatability
  测试的一种属性。指明相同环境、不一样时间进行的测试是否产生相同的结果。

43. 测试报告定义 test report
  描述对系统或系统部件进行的测试行为及结果的文件。

44. 测试有效性定义 test validity
  完成测试规定目标的程度。

45. 可测试性定义 testability
a.软件的一种性质。它代表了既便于测试准则的创建又便于就这些准则对软件进行评价的程度。

b.需求的定义便于对需求进行分析以创建测试准则的程度。

46. 测试定义 testing
由人工或自动方法来执行或评价系统或系统部件的过程,以验证它是否知足规定的需求;或识别出指望的结果和实际结果之间有无差异。

47. 审核定义 audit
为得到审核证据并对其进行客观的评价,以肯定知足审核准则的程度所进行的系统的、独立的并造成文件的过程。

48. 审核方案 audit program
针对特定的时间框架和特定的目的所策划的一组(一个或多个)审核。

49. 审核准则定义 audit criteria
用做依据的一组方针、程序或要求。

50. 审核证据定义 audit evidence
与审核准则有关的而且可以证明的记录、事实陈述或其余信息。
注:审核发现能代表是否符合审核准则,也能指出改进的机会。

51. 审核发现定义 audit findings
将收集到的审核证据对照审核准则进行评价的结果。
注:审核发现能代表是否符合审核准则,也能指出改进的机会。

52. 审核结论定义 audit conclusions
审核组在考虑了全部审核发现之后得出的审核结果。

53. 能力定义competence
经证明的应用知识和技能的本领。

54. 知识

定义1:知识是人们通过实践、试验获得的经验和规则,它们被普遍生产和社会活动所验证。因此知识只有通过普遍实践检验,成为人们的信念和活动准则后才能真正发挥做用。

定义2:知识是人们经过对信息进行概括、演绎、比较等手段,使其有价值的部分沉淀下来,并与已有人类知识结合造成知识体系。这部分有价值的信息就转变成知识。

55. 智慧

定义1:智慧是人类运用已有知识去解决问题的一种特有能力。
定义2:智慧是人类按照已有的知识,针对物质世界运动过程当中产生的问题,根据得到的信息进行分析、对比、演绎找出解决方案的能力。

相关文章
相关标签/搜索