人人范文网 范文大全

软件集成技术总结

发布时间:2020-03-02 20:36:50 来源:范文大全 收藏本文 下载本文 手机版

软件集成技术总结

1 软件集成系统

主要功能是实现各种应用软件在本系统中的集成及调用,由于需要集成软件的开发软件,运行环境各有不同,所以在系统集成时调用的相关技术也不尽相同。本系统软件的集成主要应用了一下三种技术:Java Applet技术,Exe软件的调用方法,Matlab软件的调用方法。

2 相关技术 2.1 Java Applet技术

Applet可以翻译为小应用程序,Java Applet就是用Java语言编写的这样的一些小应用程序,它们可以直接嵌入到网页或者其他特定的容器中,并能够产生特殊的效果。

Applet必须运行于某个特定的“容器”,这个容器可以是浏览器本身,也可以是通过各种插件,或者包括支持Applet的移动设备在内的其他各种程序来运行。与一般的Java应用程序不同,Applet不是通过main方法来运行的。在运行时Applet通常会与用户进行互动,显示动态的画面,并且还会遵循严格的安全检查,阻止潜在的不安全因素(例如根据安全策略,限Applet对客户端文件系统的访问)。

在Java Applet中,可以实现图形绘制,字体和颜色控制,动画和声音的插入,人机交互及网络交流等功能。 Applet还提供了名为抽象窗口工具箱(Abstract Window Toolkit, AWT)的窗口环境开发工具。 AWT利用用户计算机的GUI元素,可以建立标准的图形用户界面,如窗口、按钮、滚动条等等。目前,在网络上有非常多的Applet范例来生动地展现这些功能,读者可以去调阅相应的网页以观看它们的效果。

在Java Applet的生命周期中,共有四种状态(初始态、运行态、停止态和消亡态)和四个方法:init()、start()、stop()和destroy()。 a init() 当创建Java Applet且第一次使用支持Java的浏览器载入时,就会执行init()方法。在Java Applet生命周期中,该方法只执行一次,因此可以利用这一点在init()方法中进行一些只需执行一次的初始化操作,例如对变量的初始化等。 b start() 调用完init()方法后,系统将自动调用start()方法。当用户离开包含Applet的主页后又再返回时,或者当浏览器从图标状态恢复为窗口时,系统都会自动再执行一遍start()方法。

和init()方法不同,start()方法在Applet的生命周期中被多次调用,该方法是Applet的主体。在start()方法中,可以执行一些任务,或者是启动相关的线程来执行任务,如循环播放歌曲等。 c stop() 和star()方法相对应,当用户离开Applet所在页面或者是浏览器变成图标时,系统都会调用stop()方法,因此该方法也是可以被多次调用的。

stop()方法起到这样的作用:当用户在当前时刻并不十分关注Applet时,停止一些耗用资源的工作,这样就可以提高系统的运行速度,而且系统会自动调用该方法,并不需要人为干预。倘若编写的Applet中不涉及动画等多媒体,一般不必重写该方法。51Testing软件测试网 d destroy() 当用户关闭浏览器时,系统就会调用destroy()方法,应该注意stop()方法和destroy()方法的区别。

本系统中的Applet小程序调用流程:运行时,首先从服务器下载应用程序的ZIP压缩文件到本地,然后解压到本地,并在在本地运行,在Applet关闭时,停止exe运行,并删除已下载的ZIP文件和解压后的文件夹 。

2.2 EXE软件的调用方法

使用Runtime.getRuntime().exec()方法可以在java程序里运行外部程序。

该方法有6个可访问版本:

1.exec(String

command)

2.exec(String

command,

String

envp[],

File

dir)

3.exec(String

cmd,

String

envp[])

4.exec(String

cmdarray[])

5.exec(String

cmdarray[],

String

envp[])

6.exec(String

cmdarray[],

String

envp[],

File

dir)

一般的应用程序可以直接使用第一版本,当有环境变量传递的时候使用后面的版本。

其中2和6版本可以传递一个目录,标识当前目录,因为有些程序是使用相对目录的,所以就要使用这个版本.

当要执行批处理的时候,不能直接传递批处理的文件名,而要使用:

cmd.exe

/C

start

批处理文件名

使用dos命令(比如dir)时也要使用掉调用。

如果想与调用的程序进行交互,那么就要使用该方法的返回对象Proce了,通过Proce的getInputStream(),getOutputStream(),getErrorStream()方法可以得到输入输出流,然后通过InputStream可以得到程序对控制台的输出信息,通过OutputStream可以给程序输入指令,这样就达到了程序的交换功能。

使用Runtime类.

try {

Runtime rt = Runtime.getRuntime();

rt.exec(\"C:\\WINDOWS\\NOTEPAD.exe\");

} catch (Throwable t){ System.out.print(t.getMeage());

} 2.3 Matlab软件的调用方法

Matlab软件的调用分为三个步骤:一是在java里面调用matlab,matlab2006b以后的版本中都提供了java 调用matlab的接口matlab build for java;二是将调用matlab程序的java程序转换为exe程序;三是按照2.1所述的方法调用Matlab的exe程序。

关键技术是java调用matlab程序的方法,下面是一个相关的例子: (一) 在MATLAB中编辑operation.m, %定义一个函数operation(a,b),求a与b的加减乘除运算,并返回结果

%函数定义function 输出变量列表[s,m,...] 函数名(输入变量列表)sum,sub,mul,div中

function [sum,sub,mul,div] = operation(a,b); sum = a + b; sub = a - b; mul = a * b; div = a / b; end (二) 生成Java调用文件

Matlab命令中输入deploytool,新建一个matlab builder ja文件,在operationcla中添加operation.m文件,点击bulid the project,生成一个供java调用的文件夹结构如下:

Operation -----|----distrib |

|-----operation.jar |

|-----readme.txt

|

-------src

|

|----operation

|

|----operationcla.java

|

|----operationMCRFactory.java

|----operationclaRemote.java

|

|----claes

|

|----operation

|

|----operation.ctf

|

|---- operationcla$1.cla

|---- operationcla.cla

|---- operationclaRemote.cla

|---- operationMCRFactory.cla |-------build.log |-------operation.ctf | -------operation.jar |-------mccExcludedFiles.log |-------readme.txt (三) Java中建立一个java project工程JavaTestMatlab,导入两个库文件javabuilder.jar(C:\\ProgramFiles\\toolbox\\javabuilder\\jar)和operation.jar(D:\\My Documents\\MATLAB\\operation\\distrib\\ operation.jar),编写java程序JavaTestMatlab.java程序如下: import operation.*; import java.util.Scanner; cla JavaTestMatlab {

public static void main(String[] args)

{

Object result[] = null;

/* object是所有类的父类public Object[] operation(int nargout, Object...rhs) */

operationcla myAdd = null;

/* Stores myadd cla instance */

try

{

int a,b;

myAdd = new operationcla();

System.out.println(\"从键盘输入两个操作数:\");

System.out.print(\"

输入第一个操作数:\");

Scanner scan = new Scanner(System.in);

//从控制台读入输入的整数

a = scan.nextInt();

//从控制台输入第一个操作数

System.out.print(\"

输入第二个操作数: \");

b = scan.nextInt();

//从控制台输入第二个操作数

result = myAdd.operation(4,a,b); //operation(4,a,b)中第一个参数是返回值的个数 ,a是第一个输入参数,b是第二个输入参数

System.out.print(\"The sum of \" + Integer.toString(a) + \" and \" + Integer.toString(b) + \" is: \");

System.out.println(result[0]);

System.out.print(\"The sub of \" + Integer.toString(a) + \" and \" + Integer.toString(b) + \" is: \");

System.out.println(result[1]);

System.out.print(\"The mul of \" + Integer.toString(a) + \" and \" + Integer.toString(b) + \" is: \");

System.out.println(result[2]);

System.out.print(\"The div of \" + Integer.toString(a) + \" and \" + Integer.toString(b) + \" is: \");

System.out.println(result[3]);

}

catch (Exception e)

{

System.out.println(e);

}

} } 测试结果如下:

从键盘输入两个操作数:

输入第一个操作数:55

输入第二个操作数: 22 The sum of 55 and 22 is: 77 The sub of 55 and 22 is: 33 The mul of 55 and 22 is: 1210 The div of 55 and 22 is: 3 (四) 错误调试

1.安装matlab不完整,没有toolbox\\javabuilder下的文件 2.环境变量中clapath中添加两个jar文件的路径

3 已经集成的软件

ORDEM2000 空间碎片评估系统(DAS2.0) 增阻型离轨气动分析及优化软件 索型离轨技术模拟软件TetherSim 卫星寿命计算软件 再入安全评估软件

GEO卫星离轨燃料估算软件

CADCAE软件集成心得

CAD技术集成

软件测试技术总结

变电站多元化信息资源集成应用(技术总结)

软件测试技术面试总结

软件集成项目验收文档目录

横琴新区软件和集成电路设计产业

集成技术服务部安全管理工作总结

建筑设备集成管理系统技术方案

集成电路设计学习总结

软件集成技术总结
《软件集成技术总结.doc》
将本文的Word文档下载到电脑,方便编辑。
推荐度:
点击下载文档
相关专题 软件集成总结 技术
点击下载本文文档