名词解释—传统方法学部分
软件:能完成预定功能、性能,并对相应数据进行加工的程序和描述数据及其操作的文档。软件工程:是采用工程的概念、原理、技术和方法,并结合正确的管理技术和当前能够得到的最先进的技术方法,经济高效地开发和维护软件的一门工程学科。
软件过程:软件过程是指软件开发人员为了开发出高质量的软件产品所需完成的一系列任务的框架,它规定了完成各项任务的工作步骤。
软件生命周期:一个软件从定义、开发、使用和维护直至最后被废弃要经历的漫长时期。软件危机:是指计算机软件的开发和维护过程中所遇到的一系列严重的问题。
结构化分析:是面向数据流自顶向下逐步求精获取的方法,适合于数据处理系统的需求分析。
实体联系图:描述系统所有数据对象的组成和属性及数据对象关系的图形语言。
数据字典:由数据条目组成,数据字典描述、组织和管理数据流图中的数据流、加工、数据存储等数据元素。
结构化设计:基于数据流的设计方法,将数据流图转换为软件结构。
模块化:是指解决一个复杂问题时自顶向下逐层把软件系统划分成若干模块的过程。
逐步求精:是一种自顶向下的设计策略,是人类解决复杂问题时常用的一种技术。是为了能集中精力解决主要问题而尽量推迟考虑问题的细节。
信息隐蔽:在设计中确定模块时,使得一个模块的所包含的信息,对于不需要这些信息的模块来说,是不能访问的。
耦合:也称模块之间的联系。指软件系统结构中,各模块间相互联系紧密程度的度量。模块之间的联系越紧密,其耦合程度就越强,模块的独立性就越差。内聚:也称块内联系,指模块的功能强度的度量,是一个模块内部个元素之间彼此结合紧密程度的度量。
作用域:是指受该模块内的一个判断影响的所有模块的集合。
控制域:指模块本身以及其所有直接或间接从属于它的模块集合。
扇出:指一个模块直接调用模块的数目。
扇入:指有多少个上级模块直接调用它。
模块独立性:每个模块独立完成一个相对独立的特定子功能,并且和其他模块之间的关系很简单。
结构化程序设计:如果一个程序代码块仅仅通过顺序、选择、循环这三个基本控制结构进行连接,并且每个代码块只有一个入口和出口,则称这个程序是结构化程序设计。
白盒测试:又称结构测试、逻辑驱动测试或基于程序的测试,它依赖于对程序内部结构的严密检验,针对特定条件设计测试用例,对软件的逻辑路径进行测试。
黑盒测试:又称功能测试、数据驱动测试或基于规格说明的测试,它是一种从用户观点出发的测试。用这种方法进行测试时,把被测程序当做一个黑盒,不考虑内部结构和特性,测试者只考虑程序输入输出和程序功能,根据需求规格说明书来设计测试用例,推断测试结果的正确性。通常被用来验证软件功能的正确性和可操作性。
单元测试:将每个模块作为一个独立的实体来测试,用详细设计描述做指南,对重要的执行通路进行测试,以便发现模块内部的错误,发现编码和详细设计的错误。
集成测试:按照概要设计的要求组装独立模块成为子系统或系统,同时经过测试来发现接口错误的一种系统化的技术。
系统测试:是指将经过集成测试的软件作为整个基于计算机系统的一个元素,与计算机硬件、外设、支持软件、数据和人员等元素结合在一起,对计算机系统进行一系列组装测试和确认测试。
α测试/Alpha测试:由用户在开发者场所进行,并且在开发者对用户的“指导”下进行的测试,开发者负责记录发现的软件错误和软件在使用中遇到的问题。
Beta测试/β测试:由软件的最终用户们在一个或多个客户场所进行。开发者通常不在β测试的现场。β测试是软件在开发者不能控制的环境中的“真实”应用。用户记录在β测试过程中遇到的一切问题,并把这些问题报告给开发者。回归测试:是指重新执行已经做过的测试,以保证对软件的新变化没有带来非预期的副作用。
软件维护:软件已经交付使用之后,为了改正软件运行错误或满足新需要而修改软件的过程
改正性维护:对在测试阶段未能发现的、在软件投入使用后才逐渐暴露出来的错误的测试、诊断、定位、纠错,以及验证、修改的回归测试过程,称为改正性维护。
完善性维护:为了满足用户在使用过程中对软件提出的新的功能和性能的要求,需要对原来的软件的功能进行修改或扩充。
适应性维护:是软件适应外部新的软硬件环境,或者数据环境发生的新变化,而进行修改软件的过程。
预防性维护:为了提高软件未来的可维护性、可靠性,或为了给未来的改进奠定更好的基础而修改软件的过程。
软件可维护性:是指维护人员理解、改正、改动或改进这个软件的难易程度上,它是软件质量的主要特征之一。
软件维护的副作用:是指由于修改程序而导致新的错误或者新增加一些不必要的活动。
可重用性:指同一软件或部分软件不经修改或稍加改动就可以多次重复使用的性质。可重用性是软件工程追求的目标之一。
可靠性:是指程序在给定的时间间隔内,按照规格说明书的规定成功运行的概率。
可用性:是指程序在给定的时间点,按照规格说明书的规定成功运行的概率。
名词解释—面向对象方法学部分
对象:是客观事物或概念的抽象表述,对象不仅能表示具体的实体,也能表示抽象的规划、计划或事件。
继承:子类能够直接获得父类已有的性质和特征,不需要重新定义。
类:是指一组具有相同属性和运算操作对象的抽象,即一组具有相同数据结构和相同操作对象的集合。
多态性:是指相同的操作或函数、过程作用于不同的对象上并获得不同的结果。
消息:是指对象之间在交互中所传送的通信信息。
属性:实体或联系所具有的性质,一般一个实体具有多个属性。
原型模型:是一个快速开发的过程,首先和用户沟通进行主要功能的需求分析和快速设计,然后建立一个原型,再请用户进行评价和反馈。开发人员根据用户的反馈进一步细化需求,改进原型系统的设计,如此反复直至用户满意。
方法:是对象所能执行的操作,也就是类中所定义的服务。
实例:有某个特定的类所描述的一个具体对象