HI,欢迎来到学术之家,发表咨询:400-888-7501  订阅咨询:400-888-7502  股权代码  102064
0
首页 精品范文 软件开发试用期总结

软件开发试用期总结

时间:2022-11-27 11:55:09

软件开发试用期总结

软件开发试用期总结范文1

关键词:彩超软件 质量控制 计划 实现过程 测试

1 概述

彩超研发是一项涉及生物学、医学、物理学和计算机等多学科交叉的工作,对该领域的研究需要投入巨大的人力、物力和财力,而且一些基础研究的投入需要一定周期。在一些发达国家,许多科研机构和跨国企业做了大量前瞻性的基础研究工作,为彩超技术不断的深化与完善,奠定了一定的理论和实践基础。随着整个超声行业技术的发展和企业自身研发能力的提高,海鹰医电实现了从黑白超声到彩色超声的跨越,成为国内能够完全自主完成彩超研发、生产为数不多的企业之一。彩超软件与以往的黑白超软件相比具有更多的软件功能、提供更复杂的用户操作,如何保证规模庞大的彩超软件的质量成为一大挑战性问题。保证软件的质量的重要途径就是制定和实施贯穿于开发全过程的技术与管理规范,实施工程化管理,运用软件工程的原理、思想和标准,通过技术规范与管理规范的有效实施来提高软件产品的可靠性及开发效率[1][2]。

2 软件生命周期分析

软件生命周期是软件的产生直到报废的生命周期,周期内有问题定义、可行性分析、总体描述、系统设计、编码、调试和测试、验收与运行、维护升级到废弃等阶段,这种按时间分程的思想方法是软件工程中的一种思想原则,即按部就班、逐步推进,每个阶段都要有定义、工作、审查、形成文档以供交流或备查,以提高软件的质量。但随着新的面向对象的设计方法和技术的成熟,软件生命周期设计方法的指导意义正在逐步减少[1][3]。常用瀑布模型来描述软件生存周期的各项内容,如下图1:

图1 软件瀑布模型

结合软件生存周期和企业实际研发、生产水平,彩超软件质量控制可以在软件计划、软件实现、软件测试三个过程着重把关,控制软件质量。

3 在软件计划过程中控制软件质量

软件计划以软件需求分析为母体分解实施。软件产品以满足用户需求为软件开发的主要任务,而需求分析正是用户需求的提炼。在项目初期及开发过程中,经常会碰到不能很好理解用户需求及用户需求频繁变更的情况,正确地对待这些变更并在计划中灵活安排可以保证软件产品在预计的进度内完成,可以保证计划工作的严肃性,可以维护软件计划、产品和活动与需求的一致性,从而从制度上控制软件质量。

4 在软件实现过程中控制软件质量

软件的实现过程对于软件产品的质量有着重要影响。统一软件过程(RUP)框架和面向对象(OO)程序方法在软件开发中的运用能明显提高软件开发效率,降低整个项目风险,从而提高软件质量。

4.1 RUP框架。RUP框架由Ratinnal公司在吸取多种软件过程和模型的长处的提出,利用用例驱动、以系统架构为中心、迭代增量的开发模型,能全面支持面向对象的开发方法,所以一经推出市场,就迅速得到业界广泛的认同[4]。

传统的软件开发模型瀑布式模型是一个单维的模型(如图1所示),在RUP框架中,软件开发生命周期根据时间和RUP的核心工作流,划分为二维空间,可以用二维坐标来描述。横轴通过时间组织,体现开发过程的动态结构,用“周期”、“阶段”、“迭代”、“里程碑”等术语描述;纵轴以内容来组织,体现开发过程的静态结构,即在某一时刻软件开发所要进行的工作,可以用“活动”,“工作流”,“产品”,“工作者”等概念来表示[3][4]。

RUP中的软件生命周期在时间上被分解为四个顺序的阶段,分别是:初始阶段、细化阶段、构造阶段和交付阶段。每个阶段结束于一个主要的里程碑,在每个阶段的结尾执行一次评估以确定这个阶段的目标是否已经满足。如果评估结果令人满意的话,可以允许项目进入下一个阶段。

在彩超软件中,初始阶段的目标是根据医生对彩超的软件需求建立模型并确定模型的边界条件。本阶段具有非常重要的意义,在这个阶段中关注的是整个超声软件中总体需求的风险。细化阶段的目标是分析超声软件各模型领域,建立健全的体系结构基础,编制超声软件计划。在构造阶段,实现所有模块并集成为产品,所有的软件功能被详细测试。交付阶段的重点是确保软件对最终用户是可用、易用、好用。交付阶段可以跨越几次迭代,包括为做准备的产品测试,基于用户反馈的少量的调整。

4.2 OO程序方法。OO程序方法一个重要的优点是支持信息隐蔽、数据抽象与封装,使得软件的开发、修改和维护易于进行;OO程序方法的另一个重要优点是,它可以在整个软件生命周期达到概念、原则、术语及表示法的高度一致,这种一致性使得各个系统成分尽管在不同的开发与演化阶段有不同的形态,但可具有贯穿整个软件生命周期的良好映射[3]。

在彩超软件制作过程中,采用这两种开发过程和开发方法可以使整个超声软件开发、维护、升级更为容易,提高软件生产效率、降低软件生产成本,控制软件质量从而提高软件的整体质量。

5 在软件测试过程中控制软件质量

软件测试是保证软件质量和可靠性的重要手段。在西方软件发达国家,软件测试受到普遍重视。在国际著名软件企业中,软件测试的费用占到了整个开发过程费用的40%以上。特殊情况下,对于性命枚关的软件,如飞行控制、核反应堆监控软件等,其测试费用甚至高达所有其他软件工程阶段费用总和的3-5倍[3][5]。

5.1 彩超软件的测试项目。针对彩超软件,需要制定和不断修订严格的测试项目,其主要包括性能测试和功能测试两大部分。每个测试项目由可定量描述的测试项组成。

超声软件的性能测试包括每个探头的黑白分辨率,选取标准模块两个不同深度对横向分辨率和纵向分辨率进行定量检测;性能测试还包括每个探头的频谱分辨率,选择人体两个不同器官进行血流定性检测。

超声软件的功能测试包括每个探头的功能调节的测试,有声功率、发射频率、扫描密度、动态范围、平滑处理、帧平均、二次谐波、焦点数、扫描范围、图像优化、边缘增强、灰阶曲线、深度、扫描范围、2B切换、4B切换、黑白翻转、图像旋转等测试项目;探头的预设值测试;测量功能测试,有2D常规测量、M常规测量、Doppler测量、产科测量、男科测量、妇科测量、泌尿科测量、外周血管测量、多胞胎测量、小器官测量、矫形外科测量、心脏测量等测试项目;内置工作站测试,有妇科、男科、泌尿科、小器官、血管、心室、二尖瓣、主动脉、左心室、常规报告、检索、诊断模板、等测试项目;其他功能测试,有回放功能(自动\手工,速度调节)、语言调节、日期、时间设置、图像存储格式选择、图像存储模式、体标目录、患者信息输入、iTouch(预设值)保存/回调、穿刺功能、体标选择、Dicom传输、3D/4D、宽景成像、注释功能、字符输入、输入法切换等测试项目。

5.2 彩超软件的测试主体。彩超软件的测试主体包含软件开发人员内部自测、研发团队总体测试、生产检验二次把关三级。不同的测试主体使用同样的测试标准,但合理的测试结果是,不同的测试主体发现的问题应该不尽相同。软件开发人员内部测试的工作重点是软件功能错误的检测,在内部自测将绝大多数功能错误解决的基础上提交研发团队总体测试;研发团队总体测试的工作重点是软件性能指标的检测,在将绝大多数性能误差解决的基础上提交生产检验进行二次测试;而二次测试的工作重点是绝对软件在批量生产过程中的问题。

6 总结

随着彩超的发展,功能越来越复杂,彩超软件的总体规模越来越大。通过在计划、实现过程、测试三个环节的科学管理,可以有效控制彩超软件的质量,提高产品的可靠性。

参考文献:

[1]张海藩.软件工程导论[M].北京:清华大学出版社,2012.

[2]赵爱静.软件质量评价在航天测控软件中的应用[J].无线电工程,2009,39(8).

[3]熊策.软件质量控制技术的研究与应用[D].长沙:中南大学,2004.

[4]丁峰,等.RUP软件工程过程研究及应用[J].计算机工程,2000,

26(10).

[5]李虎,史晓华,杨海燕,高仲仪.软件质量评价技术[J].计算机研究与发展,2002(39).

软件开发试用期总结范文2

关键词:软件工程;教学;软件开发团队

中图分类号:G642

文献标识码:B

文章编号:1672-5913(2008)02-0055-02

1软件开发团队建设

在进行软件工程教学活动初期,我们对学生按小组建立相应的软件开发团队。

1) 团队建设的目的:如何将软件工程原理、方法和过程应用到实践中,体验软件工程各阶段的主要工作,特别注意吸取教训;学会与他人合作,培养团队精神。

2) 软件开发项目:由于针对的是专业基础知识不全面、缺乏工程经验的大三学生,因此要求各小组根据自己的特点选择最适合的项目,同时强调小组的实践重点的是学习过程与活动的实施技巧,而对具体的技术不做特别的要求,从而更能发挥学生的主动性与团队的优势。

3) 团队建设要求:全班分为若干小组,每组6~8人。各组角色分配及其职责如下。

■项目经理(1)

■系统分析员、软件设计师(1+1)

■软件开发工程师(软件开发经理1+3)

■测试工程师(测试经理1+1)

为了更好地实施基于软件团队的软件工程实践,通过对实践结果及评分标准加以限制,从而更好地指导学生的实践活动。实践结果及评分标准如下。

团队提交的实践结果:需求规格说明书、概要设计说明书、详细设计说明书、测试计划、测试分析报告、项目开发总结报告、开发进度周报;个人总结报告;演示Demo。

评分标准:项目文档描述80%;个人总结报告15%;Demo 5%。

上述的评分标准表明团队是评分的基础,这样就克服了传统教学单一实践结果的考评模式,而且评分的重要内容是软件开发过程。通过上述以团队评分为主,个人表现为辅的评分体系,达到培养学生学会与他人合作,培养团队精神的目的;通过以软件过程文档资料评分为主,以实践结果为辅的评分体系,达到学生对软件工程过程及软件工程化方法的掌握。

2教学内容

1) 软件工程概论:主要包括软件的定义、软件的特点、 软件的种类以及软件工程的定义、软件过程。其中重点和难点是软件和软件工程的基本概念、软件生命周期及软件开发的几种模型。

2) 需求工程与管理:主要包括需求分析的任务、需求分析的步骤、需求规格说明与评审以及需求的管理。其中重点和难点是各种需求方法的理解和掌握。

3) 软件设计:主要包括软件设计的概念、技术和方法。其中重点和难点是系统的体系结构设计、分布式样体系结构,以及面向对象设计方法的理解和运用(方法)。

4) 软件测试:主要包括软件检验和有效性验证、软件测试的概念和测试技术。其中重点和难点是软件检验和有效性验证概念、方法。

5) 软件变更:主要包括软件变更的定义、分类、特点、软件维护。其中重点和难点是认识到软件维护的重要性、软件维护的方法和步骤。

6) 软件管理:主要包括软件项目特点、相应的管理技术。

3教学实践

根据上述教学内容及软件开发团队的建设,采用如下的教学策略。

1) 职业道德与行为规范:对于职业道德与行为规范并不单独安排时间讲解,而是将相关的内容融入到需求分析、软件设计、软件测试及软件变更的具体实施过程中。

2) 软件项目管理:安排专门的时间对其进行讲解,目的是让学生对软件项目管理有一个框架性的认识。在讲述需求分析、软件设计、软件测试及软件变更的具体实施过程中,再将软件项目管理的相关知识融入其中。

3) 软件过程:对于软件过程是我们讲述的重点。该部分将安排比较充裕的时间对其进行讲解,使学生对软件的开发过程有一个总体的认识,同时也对现在的几种开发模型加以分析与对比,从而达到在实际项目中软件的过程的真正含义。

4) 需求分析、软件设计、软件测试及软件变更:这是我们讲述的重点,在讲解需求分析、软件设计、软件测试及软件变更的基本理论、方法的同时,也要将这些理论、方法如何运用到学生的团队中,从而真正让同学们在学习理论、方法的同时,也将相关的知识运用到具体的实践中,克服了传统的单纯理论、方法的讲解。

图1是从立体上展示教学内容与时间的先后顺序。

4教学效果

按照上述的教学实践进行了两届学生的尝试,达到了较好的教学效果。正如同学们的反映:“把软件工程这门课列为最喜欢上的课”,“上了软件工程这门课我感觉非常有收获,尤其是那些深入浅出的例子给了我很多启发。课后的课程设计更是给了我很大的锻炼。”“总之做完这个系统,我感觉自己又加深了对团队精神的理解,也让我对自己有了一个更加清楚的认识。”

收稿日期:2007-10

参考文献

[1] 张长森,王辉,雒芬. 软件工程课程教学体系研究[J]. 理工高教研究,2005,24(1):80-82.

软件开发试用期总结范文3

论文关键词:软件过程;软件项目管理;流程管理

1引言

长期以来,软件项目高失败率的状况一直困扰着人们,研究表明,软件项目失败的原因主要有两个:一是应用项目的复杂性;二是缺乏合格的软件项目管理人才。实践证明缺乏有效的项目管理是导致软件项目失控的直接原因。软件开发的风险之所以大,是由于软件过程能力低,其中最关键的问题在于软件开发组织不能很好地管理其软件过程,从而使一些好的开发方法和技术不能起到预期的作用。

流程管理作为现代企业管理的先进思想和有效工具,随着市场环境与组织模式的变化,在以计算机网络为基础的现代社会信息化背景下越发显示出其威力和效用。流程管理不仅是一种管理技术,更体现了现代管理的思想。流程管理的重点是:理清和管理好所有主、支流程间的关系,使他们相互协调发挥应有的作用。流程管理增加了部门的透明度,管理的对象不是“部门”和“部门员工”的概念,而是以工序流程为管理对象,注重流程中每一个过程和效率以及和上下游工序的关系,管理重点在于整体流程的完整性和顺畅性。目前,流程管理技术的研究已越来越受到人重视。

运用流程管理方法和技术进行软件项日管理,可以有效地改变软件过程管理混乱的局面首先埘软件项目开发过程进行有效的、规范化的定义;其次,在软件项目开发过程中,所有的活动过程均按照流程所规定的活动的逻辑关系、活动的实现方式来执行,这样可以使得所有的活动有序和可控;第三,通过明确运作流程,使项目组人员迅速融入项目和开发过程中;第四,关注每个过程的“结果”,使软件项目的所有工作产品均能得到有效的保存,保证了软件产品完整性。Www.133229.coM

2流程的概念及在软件项目管理中的作用

流程是由活动组成的。基本活动是由个人或团体来完成的,它不需要进行其他的基本活动的转化。流程的各个活动之间有着特定的流向,它包含着明确的起始活动与终止活动,因此是一个动态的概念。从结构上来看,流程有四个基本的构成因素:活动、活动的逻辑关系、活动的实现方式和活动的承担者。流程与“一系列的活动或事件”,“结果”等概念密切相关。流程管理不仅是一种管理技术,更体现了现代管理的思想,原有的以控制、塔式组织为基础的职能行政管理已经不能完全满足于现代企业发展和市场竞争的需要,管理的发展沿着分工理论运行了上百年后,现在又重新回归到整合与系统。

软件项目生命周期的一系列的开发过程是各种各样的流程活动:软件项目的计划编制、系统分析、慨要设计、详细设计、程序编码、测试与维护等活动过程都是一种流程活动:制定软件项目管理流程,重点考虑以下几点:

1)制定的流程能引导项目逐步走向成功;

2)制定的流程能适用软件开发过程;

3)制定的流程能指导项目开发活动.有利于对项日开发活动的管理;

4)制定的流程能以苴观的流程图表示.能使项目组成员清楚的知道软件开发与管理的过程和相互之间关系;

5)流程中的起始活动条件、终止活动条件明确、规范便于控制:

6)流程中的工作产品定义明确、可度趟,评价标准和方法具体、可操作

3软件项目管理总体流程设计

在软件项目开发管理过程中,不仪要努力实现项目的范围、时间、成本和质量等目际,还必须协调整个项目过程,以满足项目参与者及其他利益柑关者的需要和期望;随着软件规模和所涉及的领域不断地扩大,软件项目的管理越来越困难,纵观所有失败的软件项目.基本原因是不能管理其软件过程,在无纪律的、混乱的项目状态下,组织不可能从较好的方法和工具中获益。严谨的软件过程控制管理不仅可以在每个阶段回顾和纠正项目的偏差.别软件项目的风险甚至果断中止项目。且可以将人才流动所带来的不利影响减少到最小。要进行有效的过程控制,必须明确软件项目管理流程。

软件项目管理总体流程设计为项目搜寻、立项、售前合同生成和合同执行等5个主要阶段,分别以pl、p2、p3、p4、p5表示;同时设计了立项完成、合同签定、功能定义、软件开发、项目验收等5个里程碑,分别以tm1、tm2、tm3、tm4、tm5表示,如图l所示。在这些流程中,合同执行流程是软件项目管理的核心,其主要过程有:产品定义、软件开发、测试执行、内部验收、项目实施与验收、项目维护.

4软件项目管理总体流程分析

4.1项目搜寻

项目搜寻是项目立项的基础,项目搜寻阶段的主要任务包括市场信息收集,用户需求跟踪,对潜存的项目进行分析和筛选。

4.2项目立项

立项阶段的主要任务是确认立项的理由,提出立项建议,提供合适的资金和资源,使立项建议成为正式项目。

4.3项目售前

售前阶段从项目立项开始到项目合同的签定结束,主要工作有:制定与客户的交流计划,详细了解客户的背景资料,了解客户启动项目的缘由、目的和期望,编制项目方案建议书,准备合同蓝本。

4.4合同生成

合同生成阶段的主要工作有:项目方案的评估与确定技术合同、商务合同的商定、评估与签署。

4.5合同执行

合同执行是软件项目管理流程的重点,可分为软件开发、测试执行;内部验收、项目验收、系统维护等五个基本工作过程。

4.5.1软件开发

软件开发阶段分为:需求调研、系统分析、系统设计、编码、单元测试等过程。主要从三个方面进行管理:

1)制定项目计划。软件项目计划是一个用来协调所有其他计划,以指导项目执行和控制的可操作文件。它体现了对客户需求的理解,是开展项日活动的基础,也是软件项目跟踪与监控的依据。

2)确定开发过程。根据软件项目和项目组的实际情况,建立起一个稳定、可控的软件开发过程模型,并按照该过程来进行软件开发

3)加强过程控制一过程控制主要包括过程管理、变更控制和配置管理,、

4.5.2测试与执行

项目测试的目的是俭查系统是否符合项目合同与任务书规定的要求、项目测试分集成测试和系统测试,主要进行功能测试、健壮性测试、性能一效率测试、用户界面测试、安全性测试、压力测试、可靠性测试、安装/反安装测试等测试过程在模拟运行环境中进行。

4.5.3内部验收

项目完成集成测试和系统测试后进行项目内部验收.主要有三个步骤:①文档准备。项目经删提交内部验收计划、项目开发总结报告、产品清单:财务主管提交项目财务预算报告。②内部验收测试。内部验收测试的测试内容与方法虽然与系统测试基本相同.但应站在用户验收的角度进行,因为它是试运行的基础。通过这一步。为用户验收作充分的准备。③内部评审。对提交的所有文档及测试结果进行内部评审,完成项目开发总结报告:

4,5,4项目试运行与验收

试运行与用户验收阶段的主要任务是,使所有的工作产品得到用户的确认。主要工作有:①验收前的准备。项目经理负责检查产品的完整性。包括文卡当、介质和中间产品等,以确保现场实施的成功;负责应用软件的现场安装调试,完成安装调试总结报告;负责制定用户验收计划,并得到客户的确认。②用户进行验收测试和系统试运行,进行文档和系统的移交。③用户确认。项目经理负责与客户协测,协助用户进行项目验收,形成用户验收报告。

45.5项目维护

软件系统的维护分为两大类:一类是纠错性维护,由于前期的测试不可能暴露软件系统中所有潜在的和隐含的错误,诊断和改正这些错误的过程为纠错性维护。另一类是完善性维护,在软件正常使用过程中,用户还会不断地提出新的需求,为了满足用户新的需求而增加软件功能的活动称为完善性维护。如果需求变更很大,那完善性维护将转变为软件新版本的开发。系统维护的宗旨就是提高客户对软件产品的满意度。确保系统的正常运行是系统维护的根本目的。

4.6软件项目管理的里程碑

项目的考核与评审是软件项目管理流程控制的基础,我们在整个流程中设定五个基线,即确定五个里程碑,它们分别是tm1:立项完成;tm2:合同签订;tm3:产品功能定义完成;tm4:软件开发完成;tm5:验收通过。

如图1所示。各阶段的主要的进入条件和相应的工作结果是里程碑是否达到的重要标志。

5结束语

软件开发试用期总结范文4

关键词:软件测试;生存周期;软件质量

中图分类号:TP311.56文献标识码:A文章编号:16727800(2011)012003203

作者简介:崔赛英(1978-),女,云南宣威人,硕士,临沧师范高等专科学校信息科学与技术系讲师,研究方向为计算机软件与理论以及数据库理论。

0引言

随着计算机技术的普及和推广,各类型软件广泛受到各行业人员的青睐,人们对软件产生了极大的依赖 ,随着这一趋势的不断发展,人们对软件的质量要求越来越高,如何保证软件的质量已成为软件工程领域的一项重要任务。软件质量决定了软件的寿命,软件质量关系到软件的使用与维护。任何软件在投入使用前,都要检测软件设计中的错误与缺陷,以确保软件的质量。目前,保证软件质量直接有效方法就是软件测试,通过测试寻找软件的Bug、避免软件开发过程中的缺陷、关注用户的需求、衡量软件的品质,最终目的就是保证软件质量。

1软件测试概述

软件测试的目的是以最少的测试用例集合测试出更多的程序潜在错误,降低测试效率成本,确保软件的质量,软件测试在软件生命周期占据重要地位。在软件工程学中,通过如图1所示的软件开发V 模型,可以看出软件测试按操作的先后顺序可分为单元测试、集成测试、系统测试和验收测试。软件测试是软件开发过程中最艰巨、最繁重的任务,据大量的统计数据表明,软件测试的工作量占软件开发总工作量的40%左右,有的甚至超过总工作量的一半。软件测试是在软件投入使用前,对软件需求分析、设计说明以及编码进行最终复审,是软件质量保证的关键步骤。任何项目软件测试均可用白盒测试和黑盒测试。

2黑盒测试

2.1黑盒测试概念

黑盒测试也称为功能测试或数据驱动测试,它是在知道程序功能的情况下,检验软件的功能模块是否能正常使用。

2.2黑盒测试的原理、方法和功能

黑盒测试着眼于程序外部结构,把程序看作一个没有打开或黑乎乎的盒子,不关心软件内部设计以及程序实现,只关心外部表现,通过观察输入与输出即可知道测试的结果。测试者只在程序接口进行测试,检查程序功能是否符合需求规格说明书的规定,程序是否能接收输入数据而产生正确的输出信息,并保持外部信息的完整性。

黑盒测试注重于测试软件的功能需求,测试软件功能是否达到预期目的,是否符合软件说明书的要求。黑盒测试通过黑盒测试检测软件的是否存在缺陷、功能是否被遗漏,软件的性能是否满足用户需求,软件能否接受正确的数据输入,根据用户需求得到正确的数据输出,能否保持数据完整性,是否存在初始化及终止性错误等问题,确保软件的正确性、安全性、可用性、兼容性、健壮性。

目前常用的黑盒测试有边界值分、析等价划分、正交试验法、错误推测法、判定表驱动法、因果图法、功能图法、场景法等测试方法。这些方法都比较常用和适用,但在使用过程中,应根据软件项目的特点选择测试方法,以便提高测试效率。

2.3黑盒测试可行性研究

黑盒测试无须了解软件内部设计和实现等问题,只需基于软件供需求和设计说明书,站在用户角度对软件界面和软件的功能进行测试。黑盒测试技术应用于确认测试、系统测试和验收测试。测试的结果取决于测试用例,对测试人员的经验要求比较高,黑盒测试不能提供直观测试覆盖率,不容易发现内部实现的漏洞,无法对程序进行定位测试,难于衡量系统的完整性。黑盒测试偏向业务,注重整体。

目前,黑盒测试工具主要有客户端功能测试:MI公司的winrunner,compuware的qarun,Rational的robot ;服务器端压力性能测试: MI公司winload,compuware的qaload,Rational的SQA load等等; Web测试工具:MI公司的Astra系列,rsw公司的etest suite; 测试管理工具:rational的test manager,compuware的qadirector等;缺陷跟踪工具:trackrecord,Testtrack。其中,Winrunner是一个较为典型自动化测试工具,通过自动捕获、检测和模拟用户交互操作,能识别出绝大多数软件功能缺陷,从而确保那些跨越了多个功能点和数据库的应用程序在时尽量不出现功能性故障。

3白盒测试

3.1白盒测试概念

白盒测试又称为结构测试、逻辑测试和基于程序的测试,其目的是发现程序编码过程中的错误。它知道产品内部工作过程,可通过测试来检测产品内部动作是否按照规格说明书的规定正常进行,按照程序内部的结构测试程序,来检验程序中的每条通路是否都能按预定要求正确工作,而不顾它的功能是怎样的。

3.2白盒测试的原理、方法及功能

白盒测试把程序看成是一个打开透明的盒子,是对软件设计过程的细节进行细致的检查。测试人员必须清楚程序的内部结构,利用程序内部的逻辑结构和其他相关信息,设计或选择相应的测试用例,对程序所有逻辑路径进行测试,然后再不同点检查程序状态,确定实际状态是否与预期目标完全一致。

软件测试人员使用白盒测试主要对程序功能模块进行检测,主要体现在以下几方面:对程序模块的所有独立的执行路径至少测试1次;对所有的逻辑判定“真”与“假”的两种取值至少测试1次;在循环的边界和运行界限内执行循环体;测试内部数据结构的有效性等。

常用白盒测试方法有语句覆盖、条件覆盖、判定覆盖、条件组合覆盖、判定/条件覆盖、路径覆盖等,其中路径覆盖是最强的逻辑覆盖标准,它保证程序中的每一条可能的路径至少执行一次,因而这样设计的测试用例更具有代表性,暴露程序错误的能力也最强。

3.3白盒测试可行性研究

白盒测试在了解系统整体设计与实现和对源代码进行审核的基础上进行,能尽早发现问题,测试效果好等优点,用盒测试技术应用于单元测试, 集成测试也会涉及一些。但是,白盒测试起点高,不能确保系统与软件需求的一致性,测试代价远远高于黑盒测试,侧重于实现,注重局部,对过程进行测试。

常用的白盒测试工具有PR公司的PRQA 软件、Telelogic 公司的Lo2giscope 软件、Macabe 公司的Macabe、 Rational 公司的Purify、 Compuware公司的DevPartner 软件、Numega 中的BounceChecker等系列。其中Logiscope是一种软件质量保证工具,它可以通过自动进行代码检查和对容易出错的模块的鉴定与检测来帮助扩大测试范围,从而达到保证质量和完成软件测试的目的。Purify工具能自动定位内存相关错误,在错误发生并造成破坏之前进行修正,这些错误包括非法指针操作、数组越界检测、内存分配错误以及内存泄漏、未初始化内存访问等。

4实用测试策略

为提高软件的测试策略,要尽可能把无限的测试变成有限的测试,以较小的代价暴露较多的程序错误,降低测试的效率成本。在实际高水平的测试中,往往需要综合使用各种方法,即采用白盒测试与黑盒测试相结合,静态测试与动态测试相结合,机器测试与人工测试相结合,以有效的提高测试效率和测试覆盖度。测试用例的设计方法有如下的实用测试策略:使用边界值分析设计测试用例,测试边界容易出错之处;使用等价划分设计测试用例,测试软件的主要错误;必要时结合人工测试的错误推测方法设计测试用例作弥补;使用逻辑覆盖涉及测试用例作为测试补充;若检查程序输入条件和各种组合情况或输入条件和输出结果存在因果联系,使用因果图法和判定表驱动法;软件存在着多个输入参数且每个输入参数的有多种取值的情况,使用正交试验法;利用功能图法通过不同时期条件的有效性设计不同的测试用例;对于业务流清晰的软件,利用场景法贯穿整个测试案例设计过程,在案例中综合使用各种测试方法。

5测试原则

不论使用什么测试方法设计测试用例,都必须保证软件的有限测试,测试人员在进行软件测试时应遵行如下的测试原则:一是软件要尽早测试和不断测试,如果不在早期阶段进行测试,错误的延时扩散常常会导致最后成品测试的巨大困难,甚至造成严重的后果;二是预先预定软件的测试结果;三是尽量避免测试自己编写的程序,测试工作应该由独立的专业的软件测试机构来完成;四是测试要兼顾合法输入和不合法数据的输入;五是测试要以软件需求规格说明书为标准;六是对测试错误结果一定要有一个确认的过程,要明确找到的新错与找到的旧错成正比;七是测试是相对的,不可能穷尽所有测试,要根据人力物力安排测试,并选择好的测试用例和测试方法;八是测试用例留作测试报告与以后的反复测试用,重新验证纠错的程序是否有错。

总之,黑盒测试和白盒测试是软件测试重要技术,用来发现软件缺陷与错误,是对软件质量进行度量和评估,以提高软件的质量的关键技术。任何软件项目都可以使用白盒测试和黑盒测试,在使用时不存在技术含量的谁高谁低的问题,只是两者的偏重不同,使用的技术也不同。从以往经验总结来看,软件工程师进行软件测试时,主要以黑盒测试为主,白盒测试为辅,必要时根据需要选择合适的测试工具,降低软件测试的工作量和复杂度,保证软件的质量,提高软件测试和软件开发的效率。参考文献:

[1]张海藩.软件工程导论[M].北京:清华大学出版社,2000.

[2]郑人杰.计算机软件测试技术[M].北京:清华大学出版社,1992.

[3]胥家瑞.浅谈白盒测试和黑盒测试在软件测试测试中的作用[J].天津市财贸管理干部学院学报,2010(4).

[4]IAN SOMMERVILLE.Software Engineering[M].北京:机械工业出版社,2004.

[5]王雅文,宫云战,杨朝红.软件测试工具[J].北京化工大学学报,2007(34).

[6]陈明.实用软件工程基础[M].北京:清华大学出版社,2001.

Resarch on Test Methods of Structured Software

软件开发试用期总结范文5

[关键词] 软件测试 人力资源分配 最优算法 软件的可靠性

一、问题的提出

在当今信息网络的社会里,由于信息与经营的一体化使各行各业对计算机的依存性越来越大,这就造成了对计算机软件的需求量逐年增加。软件开发周期正向短工期化的方向发展,如何排除软件在开发过程中所产生的故障因素,这就必然考虑测试人力的最优分配问题。

二、分配原理

测试工程是软件开发的结尾工程,它分三个连续阶段:单元测试(单体、模块)、结合测试、综合测试(系统运用)。单体测试是对软件设计阶段按功能分割的各模块分别独立地进行测试;结合测试是将各模块结合起来后测试其是否能正确地进行数据的I/O操作;结合测试是对所有的系统模块结合起来,测试它们能否按用户的需求规格进行动作。

分配方法:(1)设总测试人力量Q事先确定;(2)测试软件由M个相对独立的模块构成,并且可根据软件的可靠度增长模型推算出各模块残存的差错数;(3)对各模块最优分配既定测试总人力量Q的原则是分配能使软件内残存差错数尽可能最少;

根据人力型软件可靠度增长模型来解决最优分配问题,投入测试人力量与发现差错数关系式:

(其中a>0,1>r>0)(1-1)

至于软件整体及各模块的可靠性评价基准尺度则采用NHPP模型的残存差错数期望值:

所以由(1-1)式可定义测试时刻t的残存差错数的期望值为:

其中测试工程投入测试人力以工时数或CPU小时表示,分配给模块i(i=1,2,…,M)的测试人力量用q*表示,于是可由qi(i=1,2,…,M)代换(1-2)式中的w(t):

式子中各参数的意义为:

ai测试开始前模块i内潜在差错总数期望值;

ri:对模块i的单元测试人力差错发现率;

qi:分配给模块i的测试人力量。

所以软件整体残存差错总数期望值可由(1―3)式推出:

(1-3)

如果将以上测试人力最优分配问题用数学表达式来表示则有:

(1-4)

其中vi是模块i的重要程度、程序设计的复杂程度等因素而确定的对模块i的加权值,但对(1―4)还要附加如下限制条件:

qi≥0(i=1,2,…M) (1-5)

式中Q表示事先测算的既定测试总人力量。

下面我们的目标就是推出满足(1―5)式条件下(1―4)式所表示的分配给各模块的测试人力量qi=qi* (i=1,2,…,M)

其次引入一个Lagrange乘数λ以便解(1―4)和(1―5)的最适解问题,即:

(1-6)

那么,具有最适解的必要条件:

(1-7)

就是说最佳解qi=qi*必须满足上述方程,由此可解得最适解qi*为:

(1-7)

这里Ai=viairi(i=1,2,…,M)据(1―5)、(1―6),lnλ可由下式给出:

(1-9)

在此,设各模块排列次序为:

(1-10)

这个排列次序意味着对各模块分配的测试人力量是按发现差错从难到易的模块顺序来进行的。

三、最优分配算法

根据以上分析,显然,具有(1-8)式所表示的最佳解的充分条件是有(1-5)的曲线凸特性和(1-6)的直线性,因此,可按以下算法算出最佳分配量qi*(i=1,2,…,M):

1.推算关于M个测试模块的参数ai、ri和权值(i=1,2,…,M),以及设定测试开始时根据预测决定的总测试人力Q;

2.设定初始值K=0;

3.进行(1-8)、(1-9)式的有关计算

4.如果对于所有i都有qi≥0则去执行第6步;

5.令qi

6.输出最优分配量qi*(i=1,2,…,M)

参考文献:

[1]赵晓华著:计算机可靠性与质量管理.北京,中国经济出版社,2000.8

[2]张海藩著:软件工程.北京,清华大学出版社,1999.2

[3]H.ohtera and S.Yamaha 《Optinal allocation and control problem for software testing-resources》,IEEE Trans.Reliability,Vol.R-39,NO.2 (June,1990)

软件开发试用期总结范文6

一、问题的由来

总账系统是用友财务软件UFERP―M8.11系列产品的核心产品,它既可单独使用,也可与其它系列产品同时使用。每届会计期末,会计都要做好结账工作。所谓结账,就是对分类账各账户的记录,分别加计本期发生额和期末余额,并将其余额分别结清或结转下期,以使本期各账户的记录告一段落。具体包括两个方面:其一,结清损益类账户,即将本期实现的收入和发生的费用转入“本年利润”账户,并据以计算本期的损益;其二,结转资产、负债及所有者权益类账户,即将这类账户的余额结转下期,以便作连续记载。会计循环共有六个阶段,结账是它的第五个阶段,也是编制会计报表的前提。不论在手工会计处理中,还是在计算机会计处理中,都有结账的过程,以符合会计制度的要求,因此总账系统提供了结账功能,而且规定每月进行一次,已结账的月份不能再填制凭证。但在实际工作中,我们常常会遇到象在编制报表之前属于本月未处理完的会计凭证、或者凭证做错需进行试算平衡而已结账等问题,该如何应对呢?笔者结合多年的教学经验和探索,发现可用财务软件来“反结账”。

二、利用财务软件实现“反结账”的含义及其原理

所谓“反结账”,简单地说就是对结账的反向运用。通过用友财务软件实现“反结账”,是笔者在财务工作与教学实践中探索出来的拓展会计电算化软件功能的实用方法。具体地说,它是运用财务软件的总账系统模块中可激活“恢复记账前状态功能”这一原理,来解决目前因使用财务软件对已结账的月份,在未进行报表处理之前,却不能再填制会计凭证、修改凭证、取消凭证审核、取消签字和试算平衡等问题。利用财务软件实现“反结账”方法的开发,对于会计电算化实际工作和财务软件教学都有实用价值。

三、利用财务软件“反结账”方法的实际操作

(一)启动Windows98/2000系统,单击“开始”菜单,在“程序”项下的“用友财务及企管软件UFERP―M8.11”菜单下,单击“财务系统”项下的“总账”。屏幕出现“注册[总账]”界面(如图1),输入相关信息(假如,账套:[888]岭南公司;会计年度:2006;操作日期:2006-03-02;用户名:[001]李小丑;密码:110),单击[确定]按钮,屏幕出现“总账系统”界面。

(二)在“总账系统”界面,单击[月末处理]模块下的[月末结账]选项,屏幕出现“结账”界面,选取欲反结账的月份(假如2006.02已结账),按下[CTRL+SHIFT+F6]组合键,屏幕出现“确认口令”界面,输入账套主管([001]李小丑)的口令(密码),单击[确认]按钮,系统可自动取消已结账的月份(如2006.02,原来的“√”被去掉了),单击[取消]按钮,退出“结账”界面。

(三)在“总账系统”界面,单击[月末处理]模块下的[试算并对账]选项,屏幕出现“对账”界面,选是否对账的月份(假如为2006.02),按下[CTRL+H]组合键,可激活“恢复记账前状态功能”(如图2),单击[确定] 按钮,退出“对账”界面。

(四)在“总账系统”界面,单击系统“凭证”主菜单下的“恢复记账前状态”命令,屏幕出现“恢复记账前状态”界面(如图3)。选“最近一次记账状态”项,单击[确定]按钮,计算机系统自动对原始凭证进行恢复(这一操作可能需要一定时间,请您耐心等待),屏幕出现“提示信息”界面,单击[确定]按钮(表示恢复记账完毕)。

(五)在“总账系统”界面,单击“填制凭证”模块,进入“填制凭证”界面,可进一步对属于本期未处理完的会计凭证进行填制。

软件开发试用期总结范文7

1 软件测试的分类及方法

1.1 软件测试的分类

从整体上来看软件测试由静态测试与动态测试之分,其中动态测试包括单元测试、集成测试、确认测试以及系统测试等。各种测试均能不同程度的发现软件开发过程中存在的问题,下面对不同测试方法逐一进行介绍。

1)静态测试。所谓静态测试指不实际运行软件,而是对软件代码、测试用例、设计审查以及需求分析等进行分析、检查。其中认证、验证以及确认是利用静态方法测试软件质量利用率较高的方法。通过静态测试可找出30%~70%的软件编码以及逻辑错误,为后期软件测试铺平道路。

2)动态测试。动态测试指通过设计测试用例模拟软件使用者的行为,对比软件实际运行效果与预期效果之间的差异,寻找软件存在的问题,其和静态测试的区别在于软件是否运行。动态测试较静态测试工作量大,包括系统、确认、集成、单元测试等,其中单元测试指检验与检查软件的最小单元模块,目前主要使用白盒测试技术进行测试且可同时对多个模块进行测试;集成测试指按照集成测试计划,检查软件单位之间的接口是否正确;确认测试的目的在于检查软件是否满足用户需求,因此,测试过程中需有用户参与,当前常使用黑盒测试方法;系统测试是软件测试的重要内容,是交付使用的最后一个环节,需要对软件运行的软硬件环境、性能及功能进行测试。软件开发过程中由黑盒测试工程师负责软件系统的测试。

1.2 软件测试的方法

软件测试的方法包括白盒测试、黑盒测试以及综合策略,其中白盒测试通过认真检查软件的过程性细节,以发现软件存在的问题。白盒测试的方法很多,其中逻辑覆盖方法较为常见。利用该种方法测试时测试人员需比较熟悉软件的内部结构,以设计出合理的测试用例,实现分支、条件、执行语句、条件组合、分支-条件代码的覆盖。

黑盒测试的重点在于检测软件的功能,因此,不涉及软件代码的检测。利用该方法能检测出白盒测试无法发现的问题,是白盒测试方法的互补。利用黑盒测试可及时发现软件与数据库连接、初始化或终止、软件界面、性能等是否出现错误等。黑盒测试方法又分为错误推测法、等价类划分法以及边界值分析法,其中错误测试法适用于经验丰富的开发人员,即根据软件开发过程中错误频率较高的位置进行针对性的测试;对于穷尽的黑盒测试来讲,测试程序时需要输入所有无效与有效数据,工作量非常大,并不可取。实际测试时通常输入代表性较强的数据,以减少测试劳动量,最大限度的发现软件存在的问题。即将需要输入的数据分成多个等价类,每个等价类中选择代表性的数据进行测试;软件开发过程中循环、数据结构以及下标等容易出现问题,此时就需运用边界值分析法进行测试,通过采用针对性的测试用例完成测试;综合策略指联合多种测试方法进行测试,能弥补单一方法测试的缺陷,提高软件测试效率。

1.3 软件测试过程

由上文可知软件测试过程由系统测试、、确认测试、集成测试以及单元测试之分。经过测试主要为了发现软件开发过程出现的系统及功能错误,具体包含以下内容:软件开发前期未进行充分的调研或未完全理解相关要求,导致开发的软件出现一些功能性错误;未将外部环境因素考虑在内,引发系统错误。例如,调用子程序出现错误、操作系统及数据库接口出现错误等;静态与动态数据定义混淆,数据结构、算术运算以及程序定义出现偏差;编写代码时全局与局部变量未做明确区分,一些变量名和系统保留关键字名相同,或粗心大意导致编写的语法错误等。

2 软件测试在软件开发中的应用

软件测试贯穿软件开发的整个过程,为保证软件后期的正常运行奠定坚实的基础,因此,加强软件测试应用方面的研究,进而缩短软件开发周期,提高软件开发效率。

1)应用在软件需求分析环节。对软件进行需求分析,软件测试人员需对工作量、软件测试风险认真的评估,仔细考虑软件测试的可行性等,以确保软件的开发周期、花费费用以及软件功能满足用户需求。软件测试人员通过分析需求的不同内容,就出现的问题与用户进行协商,为后期的软件测试工作创造良好条件。

2)应用在软件设计环节。软件设计环节是软件开发工作得以顺利进行的重要保障,如软件系统设计缺乏合理性,容易引起软件开发时边界问题的出现,导致软件扩展性较弱,甚至软件开发工作的失败。

软件系统设计时测试人员不仅要掌握设计模型,对设计模型的风险进行评估,而且还要进行测试计划的编写。另外,为保证测试设计的合理性与稳定性,避免后期出现不必要的变更,测试人员工作时应保证系统结构质量。针对具有特殊要求的业务可通过创建技术边界实现,以提高软件系统的不可替代性及可持续性。

除此之外,测试人员还应熟悉和掌握软件产品的运行环境,积极参与到软件不同模块、数据库结构等讨论中,对软件设计过程中存在的问题进行评估,重点把握测试环节存在的重点、难点环节。同时,还需掌握软件产品设计的性能以及软件不同模块接口问题,为后期的测试工作奠定坚实的基础。

3)应用在软件编写环节。编写软件代码时测试人员需参与到冻结报告、编写测试用例以及单元测试工作之中,尤其应将测试用例的编写当作重要工作来抓。一般情况下,对软件单元功能的测试软件开发人员可以完成,但自动化测试脚本、测试用例等仍需要测试人员提供支持,因此,测试人员应按照软件开发要求,切实做好软件编写环节上的测试工作。

4)应用在软件测试环节。对软件进行测试时,测试人员主要负责软件质量报告的、软件缺陷的发现及检查、测试用例的更新等工作,该环节是软件测试应用在软件开发工作积极重要的环节,涉及系统测试、确认测试以及集成测试等测试内容,因此,测试时应严格依据测试用例实施。通过上述测试后软件能实 现基本的功能,不过针对一些特殊用例,还需根据实际情况进行自由测试,最大限度的发现软件存在的缺陷。另外,为保证软件正常运行,如没有测试用例覆盖新发现的缺陷时需及时更新测试用例。除此之外,还需跟踪软件缺陷,尤其对于开展的新项目而言,应按照新报、确认、重现、修复、验证、关闭缺陷等流程实施。

5)应用在软件运行维护环节。软件运行时测试人员主要负责测试用例的重新组合、解决客户提出的问题、帮助客户进行测试的验收等工作,尤其帮助客户验收测试是重要工作,而解决客户提出的问题为关键,因此测试人员对客户提出的问题应认真对待,即从客户的角度出发,了解其真正关心的问题。同时,认真分析前期测试未能检查出软件问题的原因。另外,软件运行维护阶段,应根据需要及时的更新、组织一些新的测试用例,以弥补未设计测试用例的出现的问题。

综上所述,软件测试是软件开发不可或缺的关键环节,软件测试人员应根据软件开发实际需要,切实做好不同环节的测试工作。例如,利用动态方法测试的同时,配合使用静态测试方法,尽量通过测试找出软件开发过程中存在的各种问题,在满足软件功能要求的基础上,保证软件工作的稳定性。

3 总结

软件测试能及时发现软件自身存在的问题,对保证后期软件稳定的运行具有重要意义。为此,测试人员应根据软件的功能需求,不断总结软件测试经验,进而制定合理的软件测试计划,并采用高效的测试方法,提高软件测试效率,在满足客户需求的前提下,确保软件的最终质量。

参考文献

[1]王长利.软件测试过程模型的研究与应用[D].电子科技大学,2012.

[2]路晓波.软件开发过程中白盒测试方法和工具的研究及应用[D].南京邮电大学,2013.

软件开发试用期总结范文8

目前会计软件的开发方法主要有生命周期法和原型法两种。生命周期法是将会计软件的研制开发过程看作一个生命周期,这个周期包括6个阶段,即可行性研究、系统分析、系统设计、系统实施(程序设计)、系统测试、系统运行维护。原型法的基本思想是:在获得用户基本需求的基础上,投入少量的人力、物力,建立一个原始模型,使用户及时运行并看到模型的概貌和初步使用效果,然后,进一步提出改进意见。开发人员据此进一步修改完善,并把它作为原型。如此循环,直到得到一个满意的模型为止。

两种方法各有特长,目前会计软件开发则普遍采用生命周期法。这种方法使系统开发工作分阶段分步聚地进行,并明确规定保证了系统开发人员能充分了解系统状况和用户需求,对系统开发工作进行有效的组织和控制,避免系统开发陷于无休止的修修补补之中,降低系统的开发成本,保证系统质量。以下我们结合生命周期中阶段的基本内容,简要介绍会计软件的开发过程。 生命周期法的各个阶段及每一阶段对应产生的文档如表1所示:

一、系统调查 系统调查是系统设计者认识系统,同会计人员交流的过程,是设计新系统的必要准备,在整个会计软件的开发过程中占有非常重要的地位。

系统调查分初步调查和详细调查两个阶段。

1.认真周密的可行性分析,盲目进行开发,将来开发完成的软件有可能因外部环境的限制而无法使用,或出现软件的维护费大于收益的现象。

2.初步调查的内容。

(1)系统目标调查。通常软件使用者在软件开发之前就有一个粗略的目标,希望软件能达到某些要求或某种功能,软件开发人员要通过与使用者反复交流,确定一个较为明确可行的系统目标。

(2)内外部环境调查。内容包括: 第一,软件使用单位的规模、组织机构、管理体制和管理水平; 第二,单位领导人和财会人员使用会计软件的迫切程度,开发过程中可能会受到哪些方面的阻力; 第三,单位的地理位置、自然环境、通讯设施等是否能够满足建立系统的需要。

(3)现在资源调查。了解单位的经营状况和经济实力,在会计软件开发过程中能投入的人力、物力和财力的情况。

(4)技术情况调查。了解单位的技术力量,现有人员素质及现有计算机使用状况。

(5)数据处理情况调查。了解数据处理的方式、方法、数据流向、数据流量、输入输出的数据内容及频率等。

3.可行性分析报告。可行性分析报告的内容包括:

(1)初步调查资料。

(2)系统的目标及规模。由于软件使用者水平不一,所提的系统目标可能不完全符合计算机系统的特点和要求,软件开发人员应对使用者提出的需求加以分析、整理和提炼后,提出合理的系统目标和规模。

(3)系统的必要性论证。根据初步调查资料,对软件开发的投入与取得效益进行分析比较,决定是否建立以计算机为基础的会计信息系统,如果需要,应采用何种方式建立。

(一)初步调查和可行性分析

1.初步调查和可行性分析的必要性。会计软件开发是一项人力、物力、财力的耗费较大的工程,在系统开始投入设计之前,必须认真地进行可行性分析,从经济、技术等方面论证其建立的必要性和可能性,对条件不成熟的项目要避免一轰而上,避免求大求全。要根据本单位的具体情况确定系统的目标、规模以及系统建立的方式,以尽量少的耗费最大限度地满足本单位的需要。反之,如果不进行

(4)技术可行性分析。从单位的技术力量、设备能力、人员素质等方面分析是否能胜任会计软件的开发、使用和维护。

(5)经济可行性分析。软件开发协议中的费用包括:硬件购置费用、软件开发费用、人员培训费用和软件运行维护费用等,要根据本单位的数据处理量和经济实力确定软件的开发方式和规模,以及选配相应的硬件平台和系统软件平台。

(6)组织可行性分析。会计软件投入使用后,数据处理工具的改变使会计工作的方式发生了很大变化,许多原有的岗位被新的岗位所替代,会计人员的岗位分工要做相应的调整。考虑到这种调整可能给会计人员带来短期的不适应,应充分估计遇到的困难。

二、系统分析

(一)详细调查

在初步调查的基础上需要对现行的会计业务做详细调查。 详细调查要求开发人员深入到会计部门,通过参加实际工作,访问会计人员等手段,弄清会计数据的来源、流向,以及会计数据之间的关系。详细调查是系统分析设计的必要准备。内容包括:

1.组织机构调查。组织机构调查,一是了解机构设置、人员配置和各部门之间的关系;二是了解各岗位职责和相互关系。目的是为制定会计电算化整体方案,确定电算化岗位及开展人员培训提供基础资料。

2.业务流程调查。将现行会计业务的处理过程规范化的业务处理流程图表示出来。

3.数据流程调查。在一个信息系统中,同时存在着物流和信息流,数据流程调查就是将业务处理流程中的信息流提出来,形成反映信息内容,来龙去脉和加工处理过程的数据流程图,也就是手工条件下帐务处理的业务流程。

4.数据处理量调查。统计系统中各项输入输出的数据量和频率,确定需要储存数据的数量、贮存时间和使用方式,据此选定相应的硬件设备、开发环境和开发工具。 详细调查还包括输入输出调查、文件调查、代码调查等内容。

(二)系统分析

系统调查结束之后,要对系统调查资料进行深入分析,找出应解决的问题,提出改进方法,并根据业务人员的需要增删相应的功能,最后形成面向软件开发人员的包括数据流图、数据字典、输入输出项目和要求等内容的会计软件逻辑模型,编制软件需要说明书,制定系统设计的初步计划。以下简要介绍系统分析中的主要文档。

1.数据流图。这里的数据流图与详细调查中的数据流程图有较大的区别,它打破了原有手工业务流程的框框,按照计算机处理的特点重新组织数据流程。这里以帐务处理为例,给出一个帐务处理软件数据流程图(图1)。

2.数据字典。为详细说明数据流程所述文件的内容和组织方式,还要编制相应的数据字典,数据字典有二类:一类是数据库字典,包括文件名、文件项目、文件类型;取值的最大长度和说明。另一类是处理 过程字典,主要用来说明处理过程的输入,输出及描 述处理算法。

3.软件需求说明书。软件需求说明书是系统分析的最终结果,是软件开发人员和使用人员共同确认的,反映软件实现目标和功能的书面文件,也是指导以后的系统设计工作,评判和测试系统成败优劣的依据。因此,软件需求说明书要经过开发人员和使用人员共同签字,作为重要的文档资料保存。财政部对商品化会计核算软件进行评审时,软件需求说明书是要求报送的重要文件,其内容包括:

(1)软件名称、使用单位和开发单位的名称和负责人员;

(2)软件的目标及规模;

(3)软件的数据流图、数据字典和输入输出内容;

(4)软件的性能要求,包括:合法性、可靠性、灵活性和易使用性要求;

(5)软件运行环境,包括硬件设备、系统软件及运行场所;

(6)软件设计进度描述。

三、系统设计

如果系统分析阶段的任务是解决“干什么”的问题,那么系统设计阶段的任务是确定“怎么干”。系统设计工作由总体设计和详细设计两部分组成。 (一)总体设计

总体设计是软件开发人员根据软件需求说明书的要求,运用结构化程序设计思想,将软件自上而下逐层分解成多个软件模块,直到分解成每一个模块只具有单一的功能,能用一个或几个程序实现的树形结构为止。总体设计阶段还要定义各模块的数据传递关系,设计软件的编码方案、文件存储策略、输入输出格式,以及硬件和系统软件配置,最后编制概要设计说明书。总体设计的内容主要包括:

(1)结构化模块设计;

(2)代码设计;

(3)文件设计;

(4)输入设计;

(5)输出设计;

(6)系统软硬件配置设计;

(7)编制设计说明书。

(二)详细设计

详细设计是对总体设计中划分的每个模块再进行详细定义和说明。它包括定义每一模块的详细功能、输入数据、使用文件及使用方式,确定输出内容及格式,模块实现的详细算法,每一模块的程序构成等。详细设计是软件功能、结构实现方法的最详细说明,是程序设计的依据。详细设计的最终成果是编制详细设计说明书。

四、系统实施

系统实施阶段,也就是一般人通常所说的“编程序”阶段。它是软件开发人员根据详细设计说明书自上而下地将每一模块用指定的程序设计语言编写成源程序代码,并进行调试,保证运行的正确性,同时编制程序说明书。程序设计由程序编制和程序调试两个阶段组成。

(一)编制程序

编制程序过程中要遵循结构化程序设计原则,软件开发人员除了编写源程序代码之外,还要附以程序框图和程序说明书。一个软件由多个程序员共同开发时,应注意相互之间的配合,而且须要具备一定水平和经验的人负责总的协调工作,保证编程的进度基本一致。

(二)程序调试

任何软件开发人员都不可能保证编制的程序一次运行正确,都要经过反复调试。程序调试的过程就是发现错误并改正错误的过程,直到软件开发人员确信全部程序无任何语法错误或逻辑错误,并满足系统设计的各项要求为止。对于一般应用程序,程序调试的工作量等同甚至超过编制过程的工作量,而且程序调试是一项非常艰苦的工作。

五、系统测试

系统测试是程序设计结束后,将整个系统的全部软硬件装配在一起形成完整的软硬件系统,通过实际数据或模拟数据验证软件的各项功能及所达到的性能指标,判断其是否达到了系统设计的要求。

(一)系统测试的内容

1.软件需求说明书中的软件目标和功能是否实现;

2.软件对各项业务的处理结果是否正确,对特殊类型的业务能否处理;

3.软件与用户的界面是否友好,各项输出的内容和格式是否符合要求;

4.软件运行效率如何;

5.软件内容控制制度是否完善;

6.软件容错纠错能力如何,对各种异常情况有无应变措施;

7.软件的文档资料是否齐全,软件可维护性如何。

(二)系统测试人员

参加系统测试的人员应包括:系统分析与设计人员、程序人员、软件使用人员、会计主管人员,最好邀请有关方面的专家从各个角度对软件的质量进行评价和考核。系统测试是软件投入运行前的最后一个环节,系统测试人员的水平直接影响到测试工作的质量,要认真确定参加测试的人员,使测试工作真正起到对系统审查和控制作用。

(三)系统测试环境准备

系统测试选用的计算机硬件、系统软件和外部设备应尽可能接近软件实际运行的环境,测试数据既要接近实际业务,又要考虑可能出现的各种情况。

(四)系统测试方法

系统测试的方法很多,主要有“黑盒法”和“白盒法”采用较多的是“黑盒法”即把整个软件看成一个不透明的黑盒,不考虑其内部的具体实现方法,只通过检查软件的输入输出结果,检查系统的功能和各项性能指标。如果发现问题,再由软件开发人员用其他方法进一步检测和修改。

(五)系统测试报告

系统测试报告是对系统测试工作的书面总结和对软件的正式评价。报告中要对软件功能、各项性能指标、存在的问题和改进意见进行详细描述,对软件能否投入实际使用提出意见。

(六)用户使用手册

用户手册也称用户操作手册,是系统测试通过后,由软件开发人员编写的,帮助软件使用者掌握如何使用软件的详细说明书。主要内容包括:

1.软件的详细功能介绍;

2.软件运行所需的硬件和系统软件环境;

3.软件的安装指导;

4.软件的输入方法和特性;

5.软件处理过程中的操作方法和各项查询、输出功能的操作方法;

6.软件出错处和异常情况处理。

六、系统运行维护

(一)系统运行

软件通过测试后交付用户使用,软件开始投入运用时,有一个手工核算和计算机核算的并行阶段,这个阶段的时间不宜过长,在达到财政部门或主管部门规定的并行时间和要求后,应尽快脱离手工核算,以免半路夭折,影响会计电算化工作的进度。

(二)系统维护

软件投入使用后,可能会出现很多问题,软件维护人员要对软件进行不断地修改、补充和日常保养,使软件运行稳定并不断完善。系统维护的内容主要包括:

1.对软件开发和测试过程中没有发现的问题进行修改和补充;

2.对由于单位的内外部政策、制度变化引起的变动进行修改;

3.对软件的功能进行扩充或随着计算机技术的发展对软件运行环境进行升级;

4.对软件及运行环境进行日常维护;

5.对软件及软件中的数据由于意外事故造成损坏进行恢复。软件投入使用是软件发挥作用的阶段,软件能否确定运行并充分发挥作用在很大程度上取决于系统维护工作的好坏,因此,软件使用单位领导人必须从思想上重视软件维护工作。近几年,商品化会计软件之所以能够较快地发展,一个很重要的因素就在于商品化会计软件与以前采用其他各种方式开发的软件相比软件维护更有保障。

会计软件的一般结构 会计软件的一般结构是从系统的功能层次结构来反映的,所谓功能结构,是指系统按其功能分层分块的结构形式,即模块化的结构。

一个系统可以划分为若干个子系统,每个子系统可划分为几个功能模块,每个功能模块再划分为若干个层次,每个层次沿横向分为若干个模块,每个模块都有相对独立的功能。一个子系统对应一个独立完整的管理职能,在系统中有较强的独立性,一个功能模块完成某一管理业务,是组成子系统的基本单位;一个程序模块则实现某一具体加工处理,是组成功能模块的基本要素,各层之间、每块之间也有一定的联系。通过这种联系,将各层、各块组成一个有机的整体,去实现系统目标。系统的功能结构原理如图2所示。 图2系统功能结构原理图 如果将会计软件作为整个企业管理信息系统mis的一部分,则其模式称为一体化模式。图3是一个会计软件财务系统的功能结构图。

一、总帐系统

总帐系统是每个会计软件的核心,对所有的会计核算软件来说都是必不可少的,总帐处理的工作量也是最大的,一般包括:凭证的输入、审核、记帐、帐本的查询、输出等。

二、出纳管理

出纳是会计中十分重要的一个岗位,它担负着现金、银行存款的收、付。传统的会计软件一般是以记帐凭证的输入开始,因此作为出纳是不允许进行上机操作的,但这样的电算化是不彻底的。出纳管理包括:收入管理、支出管理、出纳帐处理等。 图3会计软件功能结构图

三、应收、应付帐 应收、应付帐是用来管理企业的往来帐款的,在市场经济条件下,企业的往来帐管理工作量愈来愈大,也愈来愈重要。应收、应付帐包括:往来单位管理、应收应付核销、帐龄分析等。

四、报表处理

企业会计核算的结果最后需要用报表的形式反映出来,因此、报表处理主要用于进行报表的定义、编制、输出。 五、工资核算 工资核算用来进行工资的发放和核算,一般包括:工资的编辑、计算、工资的发放、工资的分摊等。

六、固定资产核算

固定资产核算用来管理、核算企业的固定资产,固定资产核算每月的工作量不是很大,仅仅是每月的增减部分,以及固定资产在部门之间发生的转移,大部分的工作量是在开始的初始化设置,而手工核算中较繁琐的折旧的计提及转帐等,则由计算机来完成,能大大减轻核算工作量。固定资产核算包括:固定资产增减变化、折旧计提、固定资产分摊等。

七、销售核算

销售核算用来进行销售的管理,其主要包括:销售商品的管理、销售中开票、收款、发货的管理、销售毛利的计算等。

八、存货管理

存货管理主要来管理企业的存货,如:原材料、产成品等等,管好存货对企业是十分重要的,手工核算下其工作量也很大,并且不容易管好。存货管理包括:存货代码的管理、存货的收、发、存管理,存货出库计价管理,存货核算等。

九、成本核算

成本核算主要用来核算企业的生产成本。其主要包括:直接成本的处理,间接成本的分摊,成本的计算等。

软件开发试用期总结范文9

摘 要:开发过程中一次性开发成功或者无错误发生的几率为零,因此在软件的开发过程中需要不断的完善,而这个不断完善修改的过程就是软件测试的过程。软件测试也代表了了设计、编码的最终复审。着重论述了目前软件工程中普遍存在的一些测试问题,并对其产生的原因进行了详细的分析。介绍了软件测试的本质,同时对目前流行的测试方法进行了研究,提出了不同类型的软件最佳的测试方案。

关键词:软件可靠性;软件质量;软件测试;测试用例



1 概述

信息技术的飞速发展,使软件产品应用到社会的各个领域,软件产品的质量自然成为人们共同关注的焦点。软件开发商为了占有市场,必须把产品质量作为企业的重要目标之一,以免在激烈的竞争中被淘汰。用户为了保证自己业务的顺利完成,总是希望选用优质的软件。质量不佳的软件产品不仅会使开发商的维护费用和用户的使用成本大幅增加,还可能产生其他的责任风险,在一些关键应用,如民航订票系统、银行结算系统、证券交易系统等中使用质量有问题的软件,还可能造成灾难性的后果。

软件危机曾经是软件界甚至整个计算机界最热门的话题,为了解决这个危机,软件从业人员、专家和学者做出了大量的努力。现在人们已经逐步认识到所谓的软件危机实际上仅是一种状况,那就是软件中有错误,正是这些错误导致了软件开发在成本、进度和质量上的失控。有错是软件的属性,而且是无法改变的。因为软件是由人来完成的,所有由人做的工作都不会是完美无缺的。问题在于应该如何去避免错误的产生和消除已经产生的错误,使程序中的错误密度达到尽可能低的程度。

软件工程学出现后,软件开发被视为一项工程,以工程化的方法来进行规划和管理软件的开发。事实上,不论采用什么技术和什么方法,软件中出现错误总是难免的。采用新的语言、先进的开发方式、完善的开发过程,可以减少错误的引入,但是不可能完全杜绝软件中的错误,这些引入的错误需要测试来找出。测试是软件开发的重要部分。统计表明,在典型的软件开发项目中,软件测试工作量往往占软件开发总工作量的40%以上。而在软件开发的总成本中用在测试上的开销要占30%到50%。如果把维护阶段也考虑在内,讨论整个软件生存时期时,测试的成本比例也许会有所降低,但实际上维护工作相当于二次开发,仍至多次开发,其中必定还包含有许多测试工作。系统的问题越早发现,改正成本越低,破坏性越小,所以,在系统前要尽量多地把系统问题找出来,其手段就是有计划、有组织地进行充分的测试。

软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计一组测试数据,并利用这些测试数据运行程序,以发现程序错误的过程。根据测试数据设计方法,软件测试可分为结构测试和功能测试。在结构测试过程中,测试者对程序的语句、分支和逻辑路径进行各种覆盖测试,可以在不同点检查程序的状态,以确定实际状态与预期状态是否一致。软件测试的目的是发现错误,而不是确认其正确性,而对已进行的测试过程的程度进行评估。

2 测试方法

2.1 软件测试实质

软件测试是一项逻辑性强、且极具条理的工作,也是具有风险性的行为。由于软件的输入量、输出结果、软件实现途径都很多,而且软件产品说明书没有客观的标准,导致从不同的角度看,软件缺陷的标准不同,因而无法对软件实施完全测试,这样,就无法通过软件测试显示隐藏的软件缺陷,只能尽量查找软件缺陷,找到的软件缺陷越多,说明软件本身的缺陷就越多,况且还有一些是未发现、不能断定的缺陷,这就是软件测试的局限性。软件测试与软件开发过程的关系如图1所示。

图1

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

所有的软件测试都有2个关键的问题组成:建立能测试应用程序的环境,并在该环境中测试软件能力。测试员必须理解和重新生成软件所在的复杂软件环境,并运用其能力确保正常的测试。

2.2 软件测试手段

从测试是否针对系统的内部结构和具体实现算法的角度来看,可分为白盒测试和黑盒测试。

转贴于

2.2.1 黑盒测试

黑盒测试也称功能测试或数据驱动测试,它是在已知产品所应具有的功能情况下,通过测试来检测每个功能是否都能正常使用。在测试时,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,测试者在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息并且保持外部信息(如:数据库或文件)的完整性。黑盒法着眼于程序外部结构,不考虑内部逻辑结构,只针对软件界面和软件功能进行测试,它主要用于软件验收测试。黑盒法是穷举输入测试,只有把所有可能的输入都作为测试情况使用,才能以这种方法查出程序中所有的错误。测试情况实际上有无穷多个,人们不仅要测试所有合法的输入,而且还要对那些不合法但是可能的输入进行测试。

2.2.2 白盒测试

白盒测试也称结构测试或逻辑驱动测试,它是在已知产品内部工作过程情况下,通过测试来检测产品内部动作是否按照规格说明书的规定正常进行,按照程序内部的结构测试程序,检验程序中的每条通路是否都能按预定要求正确工作,而不顾它的功能。白盒测试的主要方法有逻辑驱动、基路测试等,白盒法是穷举路径测试,主要用于软件验证。

(1)软件有产品说明书时,对产品说明书实施测试和审查:由于软件产品说明书属于文档,因此对产品说明书的测试是黑盒测试。在实施测试时要弄清所开发软件的客户,并熟悉现有的标准和规范,基于同类软件测试的经验进行测试。除了这些,如果时间和条件允许,应该对产品说明书进行审查,按照相关的标准,看产品说明书是否符合要求。这都是通常的一些做法,当然还可以采用其他软件检测方法。

(2)由于当前软件开发有时不是很正规,在没有产品说明书时应使用试探性测试:首先要分步骤地弄清软件特性,记录软件运行情况,详细描述软件功能,然后运用静态和动态黑盒测试两种方式来测试软件,发现软件缺陷,在这种情况下,可以将一些非法、错误和垃圾数据作为输入数据,以检验软件的输出结果。测试时可采用反复测试、边界值测试和不合条件等方法。

(3)对有些软件实施状态测试:首先是熟悉软件的逻辑流程,可能的话,建立状态转换图,尽量清晰地描绘软件可能的独立状态,从一种状态到另一种状态所允许的输入和条件,以及进入或退出某种状态时的设置条件和输出结果;如果要测试的软件规模较大、复杂性较高,那么建立状态转换图将是非常艰巨的任务,这时减少要测试的状态及状态的数量,但是必须保证每种状态都必须测试一次,也可以在状态测试时选择那些不常用的分支,因为这是最容易被忽略的。在此基础上,测试所有的错误状态及返回值,测试随机状态转换。

(4)在前述测试的基础上,对有些测试实施失败状态测试:具体在实施时,指的是几个时间对某一资源竞争使用,比如:

①两个不同的程序同时保持或打开同一个文档。

②共享同一台设备。

③当软件处于读取或者修改状态时按键或者单击鼠标。

④同时关闭或者启动同一个软件的多个实例。

⑤使用不同的程序同时访问同一个数据库。

类似这样的竞争条件还有很多,不一一举例。

(5)在实际测试时还常用反复、压迫和重负测试,实施这些测试的目的是考验软件在恶劣条件下是否能正常运行和退出,从而验证软件的性能。反复测试指的是不断地执行同样的操作;压迫测试是使用软件在不够理想的条件下运行,从而观察软件对外部资源的要求和依赖程度,借此来测试软件的性能;重负测试是指尽量提供条件任其发挥,让软件处理尽可能大的数据文件,即最大限度地发掘软件的能力,使之不堪重负,大多数情况下,用时间作为参数实施重负测试,看其在重负情况下能否正常运行。实际测试时,常将三种测试方法结合起来使用。

(6)测试软件的另一种有效方法就是进行正式审查,其中包括以下几个方面:确定问题、制定审查规则、准备工作以及编写报告,进行审查的主要方法就是组织熟悉该类软件的人员逐一检查代码,其中重要的软件还需要按能力成熟度(CMM)中的要求进行同行评审。

(7)在实际测试中经常采用一种称之为动态白盒测试的方法,其意义是指利用查看代码功能和实现方式得到的信息来确定哪些要测试,哪些不需要测试,以及如何开展测试。其中不仅是查看代码,还包括直接测试和控制软件。包括以下几个部分:

①直接测试底层功能、过程、子程序和库。

②根据软件运行的实际情况不断地调整测试用例。

③对软件中的部分变量和状态信息进行访问,确定测试与预期结果是否相符,并强制软件以正常测试难以实现的方式运行。在具体实施时应分阶段地进行测试,即遵循单元测试、集成测试、配置项测试和系统测试的步骤。目前,灰盒测试逐渐为大家认同,灰盒测试综合了白盒测试和黑盒测试的优点,模糊了两者的界限,在做法上仍然把软件当成黑盒来测试,但是通过简单地查看(不像白盒那样进行完整地查看)软件内部工作机制作为补充。现在的网页制作就很适合灰盒测试。

3 结束语

软件测试的目的不是为了仅仅找出错误,而是通过它发现错误、分析错误,找到错误的分布特征和规律,从而帮助项目管理人员发现当前所采用的软件开发过程的缺陷,以便改进;同时也能够通过设计有针对性的检测方法,改善软件测试的有效性。即使测试没有发现任何错误,也是十分有价值的,因为完整的测试不仅可以给软件质量进行一个正确的评价,而且是提高软件质量的重要方法之一。

参考文献

软件开发试用期总结范文10

摘 要:软件维护在现实的软件开发过程中占有十分重要的地位,本文介绍了我院的软件维护实践教学的教学方案以及具体实施情况。

关键词:软件工程;软件开发;实验;实践教学;软件维护

中图分类号:G642

文献标识码:B

1 软件维护在软件工程实践教学中的意义

软件工程是一门理论与实践并重的基础课程,教学内容紧密围绕软件开发过程中的各种工程化方法、技术和思想[1]。在现实的软件开发过程中,软件维护占有很重要的地位,许多报告都指出软件维护成本已经占到总体成本的40%~70%以上。软件维护关注于“变化”,包括纠错性(corrective)、适应性(adaptive)、完善性(perfective)、预防性(preventative)等维护类型[2]。当前的软件工程教学中一般都已经包括了软件维护相关理论和方法相关的内容,例如软件维护及可维护性的概念、软件维护的类型和过程、变更管理以及软件再工程等。但软件工程实践教学仍然以瀑布式的正向开发过程为主,主要体现需求分析、设计、实现和测试等基本开发活动,缺少软件维护的实践训练。

由于软件维护在软件开发中的重要性,许多国内外学者都呼吁在软件工程教学中引入软件维护实践(如文献[3])。在软件工程实践教学中引入软件维护内容主要基于以下这些考虑。

首先,软件维护在软件开发中占有十分重要的地位,典型的软件工程开发中花在软件维护上的时间往往比软件开发还要多[3]。而且,大部分毕业生进入软件开发机构后都是从维护性的开发任务开始的。

其次,软件维护实践还能使学生更直观地体会和理解软件工程方法和原则的重要性。软件工程教学中系统地讲授了许多重要的软件工程方法和原则,包括软件文档规范、设计原则(如层次化、高内聚低耦合等)以及编码习惯(如标识符命名、注释和排版等)等,其中大部分都与软件的可维护性相关。通过对文档不全、设计混乱和编码习惯不好的软件系统进行维护,可以对这些方法和原则获得直观、深入的认识和理解。例如,对标识符命名不规范、缺少注释、排版混乱的代码进行阅读和理解,可以深刻认识到好的编码习惯对于维护工作的重要性。

此外,软件维护实践能使学生更好地认识软件开发的现实困难。缺陷报告、需求变更、软硬件平台的变化等导致软件演化的因素在现实的软件开发中总是存在的。通过在实践教学中设置阶段性的需求变更,可以让学生对于现实的软件开发有更加真实的体验,从而提高对迭代、增量式开发等实用的软件开发方法和技术的认知。

2 软件维护实践教学方案

软件维护主要包括纠错性、适应性、完善性和预防性维护四种类型[2]:纠错性维护是针对所发现的错误或缺陷而对软件进行的修改;适应性维护是为了适应外部环境(如硬件、操作系统、外部规则等)的变化而对软件进行的修改;完善性维护是由于功能扩展而进行的软件修改;预防性维护是面向未来的维护需要,为了提高软件的适应性和可维护性等而进行的系统优化和改进。软件维护实践教学应以循序渐进的方式覆盖这四个方面的软件维护任务,同时穿插并突出相关软件工程方法和原则的体验和熏陶。

根据这一总体目标,相应的软件维护实践教学将在给定的作为维护对象的遗留系统基础上,分三个阶段进行,如图1所示。遗留系统分析评估阶段的主要目的是在理解遗留系统需求的基础上对系统的外部和内部质量进行初步的了解和评价。系统改进维护阶段的目标是以当前系统需求为基础,对遗留系统的缺陷和错误进行修改,对系统内部的设计、实现以及文档质量进行改进。系统需求演化维护阶段通过若干次迭代的需求和系统环境变更,进行系统的完善性和适应性维护。针对新需求和系统环境设置的修改将通过系统测试确认,测试结果反馈给系统改进维护阶段,从而进行相应的纠错性维护活动。此外,系统修改过程中发现的内部质量问题(例如可扩展性上的不足等)同样也会反馈给系统改进维护阶段,从而进行相应的预防性维护活动。这种反馈关系以及需求和系统环境变更的迭代进行使得后两个阶段将反复迭代进行。

(1) 遗留系统分析评估阶段

与传统的基于分析、设计和实现的软件工程实践教学不同,软件维护实践教学以已经开发完成的遗留软件系统作为起点。每个小组分配到的遗留系统都是由其他人开发的,犹如在软件开发中接手其他小组的维护工作。因此,首先要求他们在理解项目当前需求的基础上,对所分配的系统进行分析和评估,从而为后续的维护活动打下基础。这阶段的主要实践任务包括:

图1 软件维护实践教学过程

1) 理解遗留系统需求。与正向软件开发一样,软件维护实践也要从了解系统需求开始。需求是评价当前系统质量,进而规划并实施各种纠错性、适应性、完善性和预防性维护活动的基础。

2) 系统测试及外部质量评价。外部质量因素是那些用户能轻易观察到的软件特性,例如功能正确性、性能、可靠性、可用性等[2]。通过系统测试,可以针对用户需求得到遗留系统的外部质量总体评价,以及待纠正的错误和缺陷列表,从而为纠错性维护打下基础。

3) 系统理解及内部质量评价。内部质量是指与系统内部设计和实现相关的质量特性,例如可理解性、可维护性、可扩展性等,它们对于软件工程师而言是十分重要的[2]。通过阅读遗留系统文档(可能残缺不全或质量不高)以及系统代码,同时借助于相关辅助理解工具的支持,获得对系统设计(如体系结构和模块结构等)和代码的初步理解,在此基础上对系统的设计和实现质量进行评价,从而为预防性维护打下基础。

这一阶段首先强化了对于软件测试的实践。在以往的教学实践中,我们发现学生在正向开发阶段往往不太重视测试(对于自己开发的系统进行测试往往会觉得没有必要或比较敷衍了事),且常与调试混淆。而在软件维护实践中,测试对象是他人开发的系统(实践中常常发现学生对于测试、评价其他人开发的系统比较有兴趣),而且测试结果直接决定了对遗留系统的外部质量评价和纠错性改进方案,因此学生往往会认真对待。系统理解能力也非常重要。在教学实践中,可以鼓励学生充分运用相关辅助理解工具进行系统理解,例如Eclipse相关插件所提供的代码UML视图、类语法树、调用关系图、度量信息等辅助理解功能。

除此之外,系统理解及内部质量评价还强化了对于软件工程设计和实现原则的认识。通过阅读遗留系统文档和代码,学生们可以深切体会到好的系统设计、编码风格以及文档规范对于软件开发的重要性。实践中,他们经常会抱怨遗留系统文档不全或不一致、设计混乱、编码风格不好,而这些其实也正是他们自己在正向开发阶段很容易出现的问题。

(2) 系统改进维护阶段

系统改进维护阶段将在遗留系统分析和评估基础上,进行纠错性和预防性维护。针对用户需求以及一般的软件设计和实现质量准则,从外部质量和内部质量两个方面对遗留系统进行改进。这阶段的主要实践任务包括:

1) 纠错性维护实施。针对系统测试过程中发现的问题,进行纠错性维护,包括消除系统意外出错、纠正与功能需求不一致的地方、改进系统性能、可靠性等非功能质量方面的不足。

2) 回归测试及总结。纠错性维护结束后,通过回归测试验证纠错性维护的效果,并进行总结。

3) 预防性维护方案制定及实施。针对系统内部质量评价中发现的问题以及纠错性维护中遇到的困难(例如难以扩展的系统结构等),制定并实施对系统的预防性维护方案,包括对系统设计和编码质量的改进,以及对开发文档的补充和完善等。

4) 系统评审及总结。预防性维护结束后,对系统的设计、代码及文档进行评审,总结改进情况以及所获得的体会和经验。

这一阶段首先涵盖了纠错性维护和预防性维护实践。其次,预防性维护实践通过系统设计、开发文档、编码风格等方面的改进,强化了相关软件工程方法和原则的训练。

(3) 系统需求演化维护阶段

前两个阶段的软件维护实践都还停留在原有系统基础上,系统需求演化阶段将通过用户需求和系统环境的变化,引导学生进行完善性和适应性维护实践。由于现实中的软件开发一般都包含多次迭代和增量,因此这阶段的维护实践也将迭代进行多次。这阶段的主要实践任务包括:

1) 需求和系统环境变更分析。在原有系统需求基础上,提出若干新的扩展功能要求和系统环境变更(例如改变原有的数据库管理系统),要求学生通过与助教的沟通和交流明确需求和系统环境变更要求。

2) 系统修改方案制定及实施。根据变更要求和对系统设计、实现的理解确定系统修改方案并加以实施。

3) 系统测试。针对需求或系统环境变更进行系统测试,对系统修改进行确认,所发现的错误和缺陷将反馈给纠错性维护活动。

4) 系统内部质量反馈。针对需求或系统环境变更的修改活动可以对系统的内部设计和实现质量进行检验,暴露设计、实现及文档等方面的问题,这些问题将反馈给预防性维护活动。

系统需求演化维护阶段除了涵盖完善性和适应性维护实践外,还具有以下几个方面的作用:使学生体验到真实软件开发中多次迭代的增量式开发过程;通过需求变更直观体会到可维护性、可扩展性等内部设计和实现质量的重要性;验证改进维护阶段对于改进系统内部质量的效果,加深对于良好的软件设计、编码和文档习惯的认识。

3 教学方案实施

软件工程课程实验可以按照由浅入深的顺序分为认知性导入实验、方法性实验和综合实践三个部分,其中前两部分穿插在一个学期的软件工程课程中进行,而综合实践则可以在后续的软件实践类课程中安排[1]。在教学实践中,软件维护实践应该作为综合实践安排,此时学生已经有了软件工程课程教学和一些正向开发实践(主要包括需求分析、设计和实现)基础。软件维护实践以3~5人的小组为单位,每个人可以分别担任需求分析、设计、实现和测试等不同实践任务。

在实践项目选择上,我们从此前的软件工程课程实践、数据库课程实践(数据库应用系统)等实践项目中选取一些具有典型性的系统实现(包括文档和代码等)作为软件维护实践候选对象。这些项目一般已经基本实现了原有的用户需求,但在外部质量和内部设计和实现上还存在许多不足。选取这类项目的好处是由类似背景的学生完成,能够反映许多典型的软件实践问题,同时相关项目学生已经有所接触,也较为熟悉。

在软件实践教学中,我们选取书店管理系统等多个在以往软件工程和数据库等相关课程的课程实践项目作为软件维护实践的对象。这些项目都是以数据库为核心的信息管理系统,这类系统较为典型且本身的需求较容易发生变化。

(1) 遗留系统分析评估阶段

此阶段学生将首先借助于原始需求说明以及与客户(由助教扮演)的交互明确系统需求。在此基础上通过测试和文档、代码分析进行外部质量和内部质量评价。遗留系统外部质量上存在的主要问题包括某些功能与需求不符、运行不稳定、用户使用不方便等。而内部质量方面的普遍问题包括类结构设计混乱、文档缺乏或不规范、编码质量差(命名不规范、缺少注释)等。

本阶段安排约4周时间,其中第1周用于了解遗留系统原始需求,第2周用于系统测试,后2周用于系统理解和分析。本阶段要求提交系统测试报告、系统总体评价报告(包括外部质量和内部质量)。

(2) 系统改进维护阶段

此阶段的系统改进针对系统测试报告中所发现的错误和缺陷进行纠错性维护,针对系统总体评价报告中指出的设计、编码和文档上的不足进行改进。初次的系统改进后,本阶段的维护活动还可能在系统需求演化维护阶段的反馈作用下反复多次进行(见图1)。

本阶段在每次迭代中安排约2周时间,要求提交回归测试报告、纠错性维护总结以及预防性维护总结。

(3) 系统需求演化维护阶段

此阶段的维护活动由需求或系统环境变更发起。以书店管理系统为例,遗留系统实现的基本功能包括图书查询、选购、订单生成、付款(现金方式)及简单的库存管理等。需求变更可以包括增加信用卡支付功能(通过虚拟的银行支付接口)、增加邮购和网上订购功能、增加会员制折扣功能等。系统环境变更可以包括改变所用数据库管理系统(如由Access改为MySQL)、改变国内地区标准编码(用于标识供应商及顾客的地区)等。相应的维护活动除了满足这些新需求及系统环境外,还可以引导学生进一步改进系统的设计和实现等。例如,为了更好的容纳信用卡支付这一新的付款方式,可以从现金支付和信用卡支付中抽取出公共的支付方式类,从而改进系统的设计结构。

本阶段在每次迭代中安排约2周时间,要求提交系统修改方案、测试报告和系统内部质量改进反馈报告。

这样,在一学期的软件实践课程中,系统改进维护阶段和系统需求演化维护阶段一起可以安排3次左右的迭代,每次完成1~2项需求或系统环境变更。

我们在复旦大学计算机科学与技术学院的软件工程本科教学实践中利用软件实践课程开展软件维护实践教学。软件实践课程安排在软件工程课程(第六学期)之后的第七学期,此时学生已经系统的学习过软件工程、数据库、操作系统等课程,初步具备了开展综合性软件开发实践的基础。

4 总结

软件开发实践是软件工程教学的重要组成部分。传统的软件开发实践教学主要以瀑布式的正向开发实践为主,忽略了软件维护实践的训练。软件维护实践的意义不仅在于软件维护在现实软件开发中的重要地位,而且可以使学生更加直观、深刻地体会和理解相关的软件工程方法和原则。通过遗留系统分析评估以及多次迭代的系统改进维护和需求演化维护,不仅培养了系统理解、修改等软件维护实践能力,还强化了软件设计准则、编码和文档习惯以及软件测试能力的培养。

参考文献

[1] 彭鑫,赵文耘,钱乐秋.软件工程实验教学研究与实践[J].计算机教育,2007,(20).

软件开发试用期总结范文11

关键词:航空装备,测试程序集TPS,板卡测试

 

0引言随着科学技术的快速发展,特别是数字技术及各种大规模集成电路的广泛应用,我海军航空电子装备发生了巨大变化,组成结构越来越复杂,功能越来越强大,技术含量越来越高,可靠性也有明显提高,但是,装备的三级修理难度却越来越大,“木桶—短板效应”越来越明显,已经成为一个十分普遍的问题,甚至可以说,已经成为提高装备完好率和飞机出勤率的主要瓶颈之一。

为提高部队的维修、保障水平,适应现代战争对后勤的综合保障能力的要求,借鉴国外军用机载设备的综合维护经验,我们研制开发了基于TPS的航空装备板卡测试系统。

1系统组成系统主要由硬件平台、软件平台、测试程序集TPS和附件等组成,如图1所示。

图1系统组成示意图

硬件平台主要包括:测控计算机(TCC)、总线控制器、测试资源、PXI机箱、VXI机箱、矩阵开关、阵列接口、通用信号转接装置、专用适配器/板、高精度电源、连接电缆、相应的附件和机柜等。

软件平台是整个系统指控中心,是系统能有条不紊协同工作的重要保证。系统软件平台由多个功能相对独立的模块或系统组成,负责控制协调系统中测试仪器、激励模拟仪器的工作、测试过程的激励模拟和数据采集,以及运用诊断知识对故障进行推理等,完成对被测外场可更换单元(LRU-Line Replace Unit)、电路板(SRU-Shop Replace Unit或PCB,包括数字、模拟、数/模混合三种类型)的测试和故障定位隔离。

测试程序集TPS是测试程序(TP)、接口装置(ID)和测试程序文档(TPD)的集合。

附件主要有电缆、打印机、设备小车、工作台等。

2系统硬件设计根据被测武器装备LRU和PCB的特点和种类,我们确立了以功能测试为主,辅以其它方法的测试方案。系统采用统一的系统测试软件,PXI、VXI总线和GPIB总线混合式结构形式,标准定义的适配器结构、阵列接口、矩阵开关和机架结构,将计算机资源和系统测试资源等各组成单元有机连接在一起,系统主控计算机软件系统通过标准接口软件实现对PXI总线仪器、VXI总线仪器和GPIB总线仪器的统一调度和控制,产生仿真测试所需的激励,通过通用信号转接箱和专用适配器加载至被测板边缘连接器的相应端子,同时获取相应的响应数据,通过诊断软件的分析、判断,完成故障定位,同时对故障进行模型分析、故障树分析,提取新的故障模式进行故障仿真,并对故障树进行修正。从而自动地或手动地完成对被检单元的测试和诊断。免费论文参考网。航空装备板卡测试系统的硬件结构如图2所示。

图2航空装备板卡测试系统的硬件结构图

2.1测控计算机(TCC)测控计算机(TCC)由计算机主机、显示器、鼠标、打印机等设备组成。计算机主机内含有MXI-2(或1394)总线接口卡、GPIB总线接口卡、显卡等。测试控制计算机是NAAE-GPTDS的测试、控制中心。

2.2测试资源根据初步确定的信号特征,系统的测试资源包括:零槽控制模块、ARINC429总线模块、1553B总线模块、八通道串口、VXI四通道示波器、函数信号发生器、数据采集模块、数字多用表、任意波信号发生器、D/A模块、A/D模块、开关量I/O模块、矩阵开关、继电器模块、射频开关、大功率继电器模块、程控电阻模块、总线模拟控制器、各种导航信号模拟器、雷达信号模拟器、导弹模拟器、程控交流电源、程控直流电源、固定直流电源等多种测试资源(PXI、VXI模块)。

2.3阵列接口阵列接口是信号输入输出的通道,是测试系统与适配器的连接界面。阵列接口应采用VPC 90系列阵列接口,参考ARINC608A的标准。设计过程中,通道的数量应考虑系统以后的扩展能力,要预留一定的通道数量。

2.4矩阵开关矩阵开关实现测试资源信号的切换。

2.5通用信号转接装置通用信号转接装置主要用于PCB与系统阵列接口之间的测试信号转接与调理,包括:插件板转接器、信号转接调理器,结构如图6所示。免费论文参考网。整个转接与信号调理装置规划为五个区:总电源区、插件板区、信号调理区、程控电源区和资源连接区。

2.6接口适配器(TUA)该接口适配器主要完成LRU和ATE系统阵列接口之间的电气、机械连接装置,其功能是实现信号的调理、匹配和转接。必须根据各个被测试对象的实际情况自行研制。不同的被测设备必须通过相应的适配器才能接入系统进行检测。

2.7连接电缆外部连接电缆主要功能是为被测试单元连接到ATE的接口适配器提供电气、机械的连接,连接电缆的制作应当符合国军标的有关要求。为了防止在连接机载设备出现差错,在设计时对于连接电缆插头相同的应采取防差错设计。

3系统软件设计航空装备板卡测试系统的系统软件是系统的灵魂,是系统正常、可靠运行的基础。在充分分析航空装备板卡测试系统的功能需求的基础上,采用层次化、模块化设计方法和成熟的技术进行系统软件的设计和开发。系统软件具有良好的可视化人机界面,使用方便。

为了保证系统软件的顺利开发,按照软件工程的思想,进行系统软件的需求分析、概要设计、详细设计及各阶段软件的文档编制及管理,在开发过程中采用项目管理软件对系统软件开发分阶段实施及管理。

3.1操作系统与软件开发环境操作系统选用Windows2000。

开发环境:测试软件的开发主要采用Lab Windows/CVI,同时采用VB、VC等通用开发软件进行开发。测试程序集TPS开发采用专用的开发工具(如Top Test、PAWS等)进行开发。免费论文参考网。数据库的开发采用Microsoft Access。

3.2系统软件的结构与组成系统的软件主要由测试系统集成软件、系统自检、系统校准、执行软件、测试诊断开发平台软件、在线帮助、系统数据库管理软件和系统数据库组成。

航空装备板卡测试系统的系统软件采用层次化、模块化设计方法,是面向信号的测试系统软件。软件的结构如图3所示。

图3航空装备板卡测试系统系统软件层次结构及组成

3.3TPS测试程序的设计测试应用层是系统软件的顶层,实现被测试单元测试,并提供人机对话及操作界面。该层含有全部被测试单元的测试程序集(TPS)。

(1) 测试程序集(TPS)的定义及其功能

TPS是测试程序(TP)、接口装置(ID)和测试程序文档(TPD)的集合。

测试程序是航空装备板卡测试系统针对被检测单元的测试过程而编写的执行具体检测任务的软件,在测控内核模块提供的测试函数的基础上完成对设备的检测、测试和故障诊断并输出结果。

接口装置是指阵列接口和接口适配器所描述的信号路径、电气连接去向等,这些内容将在测试程序编程时通过定义常量、变量或编写程序实现。

测试程序文档是测试程序的说明和一些辅助资料,对测试过程中的某些信息、接口装置的相关信息加以说明,如测试通道、测试连接关系和需操作人员干预的信息等。测试程序文档是系统测试程序开发的重要的组成部分,在系统的开发过程中应当重视文档的建设和管理。

(2) TPS的基本设计要求

测试程序应当操作简单、实用,测试资源控制方便,测试过程稳定、准确和测试数据精确、可信。

在设计测试程序时,按专业进行模块化设计,采用标准C语言编程,源代码不涉及具体的测试资源信息,这样使测试程序的结构明了、通用性好,具有良好的稳定性和可移植性。

(3) TPS界面

TPS界面是人机对话和测试结果输出的界面,是航空装备板卡测试系统的重要组成部分。TPS界面采用图形窗口的形式,以鼠标化操作为主,配合少量的键盘操作(输入文字、数字、必要的热键)。

(4) TPS模块组成

航空装备板卡测试系统的TPS按被测设备的成品组件LRU和电路板PCB进行模块分配。基本分配原则是一个LRU就有一个TPS,一个PCB就有一个TPS。单项TPS模块中的各项测试及完成的其它功能按树状结构进行逐级分解。

LRU单元TPS总体模块的大致划分如图4所示。同样可按照PCB板进行划分共若干个TPS。

图4单项TPS的基本模块结构

4系统工作模式为了能够适应各种类型的被测PCB,同时更进一步提高系统测量精度、自诊断精度、故障覆盖率和故障定位精度,系统设计了4种工作模式。

l全自动工作模式:对于部分可测试性较好的PCB,系统从PCB边缘连接器可以获得故障定位所需的全部信息,此时系统根据已开发的测试诊断程序,自动完成全过程操作,完成故障定位任务,同时诊断结果存入相应数据库,并形成诊断报告;

l半自动工作模式:对于部分不能通过被测PCB边缘连接器获得全部诊断信息的,系统按照诊断流程的提示,提示操作人员使用元器件夹具、探针笔进行测试或提供人机对话方式获取其余信息,提供给诊断分析程序完成故障定位任务;

l自检工作模式:为了提高系统的可靠性和使用效率,系统设计了上电自检、人工启动自检和定期自检三种自诊断方式。系统在加电时,能够自动进行自检测试程序;能够定期自检测试,也可以由人工启动进行自检测试。自检测试结果输出或自动存档;

l人工测试模式:对于微波电路的故障诊断系统采用人工测试诊断方式,另外操作人员需要临时完成一个小TPS设计与实施,或需要对某种故障模式进行仿真等临时任务,系统提供手动测试方式,操作人员根据系统向导提示按步骤完成仪器配置、测试流程配置等工作,或使用仪器软面板完成临时测试任务。

5结束语航空装备板卡测试系统从硬件结构到测试软件都符合ATE的统一标准,通用性好,易于实现;而且具有一定的灵活性,便于使用。能满足二级和三级维修保障需求。对降低维修费用、提高装备的完好率具有十分重要的意义,军事和经济效益是明显的。

参考文献:

[1]邱智,王玉峰等. 机载设备自动测试系统平台设计[J].测控技术.2005,vol(24),NO1.

[2]王凯让,吕洁光等. 通用电路板自动测试与故障诊断系统[J].宇航计测技术.2005,vol(25),NO1.

[3]周鑫,何昭. 信号发生器通用自动测试系统软件的研制[J].计量技术.2005,NO4.

软件开发试用期总结范文12

关键词:PXI总线,LabView Real-Time(LRT)实时模块,实时系统,仿真

中图分类号:TP391.9 文献标识码:A

1 引言

在航天器等大型电子设备的开发和研制过程中,各类仿真系统(如数学仿真系统、半物理/物理仿真系统等)是必不可少的重要辅助工具。它们主要用来对软件代码、电气接口、通信协议等进行仿真和测试,以便及时发现存在的问题并加以改进,提高整个系统的可靠性。

目前各种数学仿真系统和半物理/物理仿真系统通常是相对独立地进行开发[1]。根据研制任务的需要,通常首先是基于各种简单的平台快速完成数学仿真系统的构建和开发,实现对软件算法的仿真和测试[2],然后再进行半物理/物理仿真系统的研制,以完成电气接口、各部件间通信协议等内容的仿真和测试[3,4,5]。这种相对独立的开发方式导致了整个仿真系统开发成本较高、研制周期较长、仿真系统间技术继承性较差,越来越难以满足航空航天等领域的快速研制需求。

为此,本文将对基于PXI总线技术的仿真系统构建方法进行系统研究,解决从数学仿真到半物理/物理仿真系统开发的继承性问题,以提高仿真系统的开发效率,减少研制费用,特别是缩短研制周期,为各类电子设备的快速研制提供重要保障。

2 基于PXI总线技术的实时仿真系统构建

2.1 数学仿真系统构建

基于PXI总线技术的基本测试平台通常由一台PXI总线机箱、一块PXI总线控制器及多块接口模块和仪器模块构成。其中机箱用于安装总线控制器及各种接口模块和仪器模块;总线控制器即为一台计算机系统,用于对该机箱内的各接口模块和仪器模块进行控制,完成各种测试功能;接口模块主要用来和外界对应的接口系统进行通信;仪器模块主要用来完成相应的仪器处理功能。对于大型复杂测试系统则可由多套基本测试平台共同构建。

对于数学仿真系统而言,其硬件平台基本需求为数据处理系统(计算机系统)及相应的通信接口,用于软件代码的运行和数据传送。PXI总线控制器即为一台计算机系统,可以运行相关操作系统,如Windows、LRT实时模块等,同时它还可以通过其主机箱上的各种接口模块和其他系统进行接口通信,以实现各系统间的数据和指令通信。因此,基于PXI总线测试系统便可构建各类数学仿真系统,其基本结构如图1所示。基于PXI总线技术的数学仿真系统具有硬件平台构建方便、通信接口模块众多、程序开发效率高、系统继承性好等特点。

2.2 半物理/物理仿真系统构建

基于PXI总线技术,还可以构建各种半物理/物理仿真系统,其基本结构如图2所示。对于各类半物理/物理仿真系统而言,需要接入各部件的原型样机、电性件、电模拟器等,以完成对电气接口、通信协议等的仿真和测试。基于PXI总线技术的硬件平台可以通过各种通信接口方便的接入各部件的原型样机、电性件及电模拟器,完成半物理/物理仿真系统的构建。基于PXI总线技术的半物理/物理仿真系统具有硬件平台构建方便、程序开发效率高、修改升级方便、测试功能强大等特点。

2.3 基于PXI的仿真系统构建关键技术分析

对于仿真系统而言,其控制器的操作系统实时性是一项关键内容。因为操作系统的实时性决定了整个仿真系统的实时性,最终决定了该系统能否有效的进行仿真应用。通常,反映仿真系统实时性优劣的主要技术指标是控制器操作系统的定时精度,即操作系统能够控制的最小时间单位,如Windows操作系统的定时精度为1ms-5ms左右,定时精度较差。它只能满足一般的仿真应用,对于实时性要求较高的场合则难以适用。因此,为了保证基于PXI总线技术的仿真系统具有较广泛的实用性,必须解决PXI总线控制器的操作系统的实时性问题,以保证其定时精度满足通常应用之需。

PXI总线控制器本质上即为一台计算机系统,它能够运行Windows操作系统,也可以运行LRT实时软件模块。其中Windows操作系统的定时精度为1ms-5ms,而LRT实时软件模块的定时精度为1us,能够满足通常的仿真应用。

下面将对基于PXI总线控制器的LRT实时系统构建方法进行系统分析,以便为基于PXI总线技术的实时仿真系统开发奠定基础。

3 基于PXI的LRT实时系统平台构建

PXI总线控制器常规配置的操作系统为Windows,可满足大多数测试系统开发需要。但它也支持LRT实时模块的安装,以提高控制器的实时性和定时精度。为了便于LRT实时软件模块的安装,其BIOS内置有相应的LRT安装引导程序。

通常,将通过网线和PXI总线控制器相连接的基于Windows的PC机称为其上位机,同时将该PXI总线控制器称为目标机。在对PXI总线控制器进行LRT实时模块安装之前,需要在其上位机上安装相关应用软件,主要包括Max、LabView、PXI硬件模块驱动程序、ETS软件模块等,以便于LRT实时模块的安装。安装过程说明如下。

3.1 安装准备―C盘格式化

通常可以通过两种方式对C盘进行格式化处理,一种是通过软驱对C盘进行格式化,将PXI总线控制器的BIOS设置成Use HardWare Switch/设置启动顺序(软驱启动优先)即可;另一种是通过上位机中的Max对C盘进行格式化,将PXI总线控制器的BIOS设置成LRT Safe Mode模式,然后在上位机的Max中右键点击0.0.0.0,选择Format Disk项即可对C盘进行格式化。

3.2 LRT实时模块安装

在其LRT Safe Mode模式下,可在上位机的Max软件中对目标机的名称、IP地址等进行设置。IP地址等信息填写好后,点击Apply按钮,以便使设置的目标机IP地址等信息在重新启动PXI总线控制器后生效。重新启动PXI总线控制器后,LRT实时软件模块便安装成功。接下来还需要安装相关应用软件和驱动程序,以便于运行用户所开发的应用程序。

3.3 应用软件安装

在上位机Max软件中,右键点击Software项,选择Add/Remove Software,然后选中相应的软件,按指示即可完成安装。各应用软件安装完成后,在Software目录下即可出现各软件目录。

至此,便完成了基于PXI总线控制器的LRT实时软件模块及相关软件的安装工作。

4 LRT实时系统应用程序开发

基于PXI总线控制器的 LRT实时系统应用程序的开发方式与基于通用PC机的LRT实时系统的应用程序开发方式本质相同,采用交叉开发方式,即通过其上位机对其应用程序进行开发,并将编译后的应用程序下载到目标机上运行[3],其结构如图3所示。

上位机运行WindowsXP操作系统,并安装LabView应用程序开发环境。基于LabView所开发的应用程序经编译后可通过TCP/IP网络下载到目标机上运行,并能对目标机中应用程序的运行状态进行实时监测,其硬件结构如图4所示。

5 基于PXI的LRT实时系统通信接口分析

在利用基于PXI总线技术的LRT实时系统构建各类仿真系统时,同样需要实现PXI总线控制器与其他系统(如通用PC机、电模拟器、部件原型样机等)之间的数据、控制信号等的通信。由于PXI总线系统可以方便的配置各种接口模块,因此可以按照其他系统的接口需要(如:RS422/485、CAN等)选择合适的接口模块实现接口通信。

6 应用实例―卫星姿轨控仿真系统开发

下面利用基于PXI总线控制器的LRT实时系统来开发一套卫星姿轨控仿真系统,对姿轨控系统的姿态控制算法等进行仿真测试,以验证基于PXI总线控制器的LRT实时系统的构建方法、应用程序开发方法等的可行性和有效性。

6.1 仿真系统需求分析

卫星姿轨控仿真系统主要由动力学仿真系统、敏感器仿真系统、星载机仿真系统、执行部件仿真系统四大部分构成,这四个系统之间互相关联,每个仿真系统的正常运行都需要其他仿真系统的运算结果作为其输入参数,四个仿真系统共同构成大系统闭环,其中姿轨控控制程序运行于星载机仿真系统上。该仿真系统数据流图如图5所示。

6.2 仿真系统开发研制

6.2.1 硬件系统构建

卫星姿轨控仿真系统硬件结构主要由基于PXI总线技术的动力学仿真系统、基于通用PC机的敏感器仿真系统、基于通用PC机的星载机仿真系统、基于通用PC机的执行部件仿真系统四部分构成,具体结构如图6所示。

6.2.2 通信接口设计

上述四个分系统之间的数据通信是通过CAN总线接口进行的。在上述硬件结构设计的基础上,基于PXI总线技术的卫星姿轨控仿真系统的通信结构如图7所示。

基于PXI的动力学仿真系统用一个CAN总线接口进行数据发送,用另一个CAN总线接口用于数据接收,基于通用PC机的敏感器、星载机及执行部件仿真系统各自用一个CAN总线接口进行数据的发送和接收。这四部分之间CAN总线通信结构采用总线形式,这样设计是为了后续系统结构改变和功能升级的方便,即此总线型CAN总线结构能够方便的增加或减少节点,而不会对总线上其他节点产生影响。基于上述硬件结构和通信结构所构建的卫星姿轨控仿真系统硬件实物图如图8所示。

6.2.3 应用程序开发

基于上述硬件结构和通信方式,下面将分别对四个分系统进行应用程序开发。

基于交叉开发方式,利用LabView软件开发环境所开发的动力学仿真系统应用程序测试面板如图9(a)所示,利用基于Windows操作系统的LabView软件开发环境所开发的其他三个仿真分系统的应用程序测试面板如图9所示。

6.3 仿真系统实验验证

卫星姿轨控系统的姿态控制软件算法的理论控制曲线如图10,该控制算法在基于LRT实时系统所构建的卫星姿轨控仿真系统上运行的曲线如图11。由于篇幅的关系,这里仅对星敏感器曲线和星体姿态角速度曲线进行比较。

通过对上述理论仿真曲线和实际运行曲线的比较,不难看出基于LRT实时系统所构建的卫星姿轨控仿真系统能够有效的对姿态控制软件算法进行实时仿真和测试,从而验证了该套系统的有效性,进而验证了基于PXI总线控制器的LRT实时系统构建仿真系统的可行性和有效性。

7 结论

本文对基于PXI总线技术的仿真系统构建方法进行了系统研究,在此基础上,对基于PXI总线控制器的实时系统构建及应用程序开发进行了分析,并通过工程实例―卫星姿轨控仿真系统的开发对上述方法的可行性和有效性进行了实验验证。

研究结果表明PXI总线技术可以用来有效的构建各种仿真平台,并具有定时精度高、开发周期短、系统升级方便等特点,同时还能实现从数学仿真到半物理/物理仿真的无缝升级,在航空航天等领域具有广泛的应用前景。

参考文献:

[1] 黄雄飞,苑秉成等. 声学多普勒速度仪陆上仿真方法研究及其实现[J]. 系统仿真学报,2007,Vol.19,No.14:P3354-3357.

[2] Yafei SUN,et al. “Research on a New Development Platform for Developing Electric Simulators of Satellite based on PXI-Bus Testing System”[C]. The 2nd IEEE Conference on Industrial Electronics and Applications, 23 - 25 May 2007, Harbin, China.

[3] 孙亚飞,梁斌等. 基于卫星通用电模拟器开发平台的目标测量系统电模拟器研制[J]. 宇航学报,2008,Vol.29,No.2:P705-709.