软件工程数据库编程技术论文

2024-06-12

软件工程数据库编程技术论文(精选8篇)

1.软件工程数据库编程技术论文 篇一

软件工程课程设计要求

a)开发环境要求:

 开发语言:JAVA

 JDK版本:1.6

 开发工具:Eclipse

 数据库:MySQL

 上机时间:第17周(从第16周按要求开始准备)b)报告提纲

 需求分析:以用例和用例图方式描述需求

 系统总体设计:分别画出系统的模块图、类图、顺序图和状态图。

 详细设计:以程序流程图或伪代码,写出关键方法的实现。 实现:对系统关键功能的实现过程,用代码+文字形式进行描述。

 测试:系统的测试情况

 体会:课程学习和项目实现过程的感受、体会或反思。c)考核时间:6月21日

2、考核要求

学生演示系统,老师现场提问,根据回答情况和报告情况,给出最终成绩。

考核点:

 独立解决问题的能力;

 系统设计、实现情况;

 代码的规范性、可读性;

3、作业

1)学生成绩管理系统(数据库版)

 功能要求:

 学生基本信息管理:实现学生的学号(唯一)、姓名、性别、出生年月、班级等内容的增、删、改、查。要求在查询时,可按照学生的学号、姓名、年龄段、班级进行组合模糊查询。增加和修改时,需要考虑验证学号的唯一性。

 课程信息管理:实现课程的信息,包括课程编号(唯一)、课程名称、课程描述、先修课程(每门课只有1门先修课程)、学分等信息进行增、删、改、查。

 班级选课信息管理:实现班级选课功能,每个班级可选一门或多门课程

 学生成绩管理:实现学生成绩的录入、修改和查询。在录入成绩时,先选择班级、课程名称,然后进行录入。在录入过程时,用户可分批多次录入成绩,也可随时点击“保存”按钮保存信息。查询时可按照班级+课程名称查询,对查询结果以学号排序,并以列表方式显示。也可按照学生学号或姓名查询某个学生的所有课程成绩。

 使用Swing图形界面

 关键技术:JDBC、GUI(图形界面)、事件框架、集合框架

2.软件工程数据库编程技术论文 篇二

关键词:数据库,编程技术,计算机技术,存储技术

二十一世纪是信息化的时代, 计算机已经深入到了每一个人的日常生活当中, 其在工业生产中发挥的作用也日益突出。计算机技术的迅速发展离不开数据存储技术的支撑, 无论是个人电脑还是大型的数据处理系统都需要数据存储单元, 数据存储是计算机正常运行的必要条件。特别是在这个高度重视大数据分析的时代, 数据存储技术已经成了计算机技术的支柱, 只有不断的提高数据库的存储能力和存储速度才能促进计算机技术的高速发展。但是由于种种原因, 我国的计算机技术和数据库存储技术都起步较晚, 一些核心技术仍然被发达国家所垄断, 这也是制约我国数据库存储技术发展的主要原因。

1 数据库存储技术简介

1.1 数据库存储技术的概述

数据库存储技术是随着计算机发展而逐渐兴起的一门技术, 数据库存储技术的提升很大程度上来源于计算机性能的改善, 特别是在近十几年以来计算机的硬件性能发生了翻天覆地的变化。随着计算机的运用范围不断扩大, 传统的存储方式已经不能满足计算机发展的需求, 计算机的存储空间也从曾经的以K为单位到了现在的TB级别。计算机存储空间的不断增大意味着必须采用更加合理的数据管理方式对数据进行更有效的管理, 而各种编程语言的迅速发展又为数据库存储技术的发展提供了可靠的保障, 使得数据库编程水平和数据库存储技术都得到了巨大的提升。

1.2 数据库存储技术的发展简介

数据库这个名词最早出现在20世纪50年代, 但是当时的数据库仍然是采用人工管理的方式, 并且还没有形成软件的形式, 因此那个所谓的数据库与如今所受的数据库还是有很大的差距的, 但是那已经为数据库存储技术的发展打下了坚实的基础。20世纪60年代中期, 计算机存储设备的出现, 带动了计算机存储技术的发展, 数据管理软件也是诞生于这个时期, 但是受制于当时的技术条件, 那时的数据存储能力还是相当有限的。到了二十一世纪, 计算机在企业的日常管理运用中发挥着更加重要的作用, 数据库存储技术也得到了迅速的发展, 数据库的存储速度和共享能力等技术指标都得到了很好的改善。随着数据库存储技术和数据库编程水平的提高, 也出现了一批新的数据库存储技术, 例如数据流、WEB数据管理、分散式数据库等, 这都有效的带动了数据库存储技术的发展。

1.3 数据库存储技术的特点简介

与传统的纸质存储相比, 数据库存储技术具有可靠性高、读写速度快的特点。纸质的存储方式容易受到环境的影响, 特别容易出现遗失的情况, 这也是为什么很多重要的历史资料都被损坏了的主要原因, 并且手写存储的方式已经不能满足当今时代发发展的需求了。采用数据库存储技术, 可以将信息转化成电子的方式存储在在计算机硬盘中, 这不仅提高了数据存储的可靠性, 还大大的提高了数据存储的速度, 这对于当今这个信息量巨大的时代来说是至关重要的。

2 数据库编程与数据库存储技术的关系概述

2.1 数据库存储的类型由数据库编程实现的

数据库的类型多种多样, 在不同领域所用到的数据库的种类也是大不相同, 例如在电力、交通控制领域一般采用的都是实时数据库, 而企业的人事管理系统、网上视频网站等, 一般都是采用关系数据库, 此外还有很多在一些专业领域运用的数据库, 都是为了让满足特定的需求而专业定制的。数据库的类型是由数据库编程的方式所决定的, 其实所有类型的数据的工作原理大致是相同的, 只是在软件的开发过程当中编程者会为了满足实际的需求, 在编程的设计阶段做一些结构上的调整。在编程的过程中, 不同的编程人员可能会采用不同的程序编写软件, 但是无论是选用哪种编程软件, 其编程的原理是相同的, 只是存在形式上的差异而已。因此在数据库的开发阶段, 就应该根据实际的需求确定数据库的类型, 然后再在数据库编程的过程中对其进行实现。

2.2 数据库编程的核心是数据库存储技术

数据库编程人员的核心工作就是实现数据库的存储功能, 虽然随着数据库技术的不断提高, 如今数据库的结构也变得更加复杂, 并且其功能也变得更加多元化, 但是数据库的核心功能仍然是数据存储, 其它的录入、修改、调用等功能虽然也是不可或缺, 但它们都是为数据存储服务的。数据库存储技术作为数据库的核心部分, 在数据库编程的过程中编程人员应该对其更加重视, 所有的工作都应该围绕着数据存储这个功能展开, 这不仅可以提高编程工作的工作效率, 还能提高数据库存储技术的可靠性。

3 数据库存储技术的应用简介

数据库存储技术主要分为在硬件和软件两个方面的运用。在硬件的运用方面, 主要是通过添加高速缓存的方式, 来提高数据存储的效率, 同时达到保护硬件的目的。数据库存储技术主要运用在软件方面, 由于硬件条件的限制数据存储和管理的效率都是有限的, 要想进一步的提高存储效率, 只有在软件上下功夫, 通过数据库存储技术不断的对软件进行优化, 这不仅提高了数据库的存储效率, 改善了性能, 还具有相当高的性价比。

4 结语

总而言之数据库编程和数据库存储技术是息息相关的, 只有数据库编程的水平得到了提高, 才能促进数据库存储技术的快速发展, 才能使计算机的性能得到更大的提升。

参考文献

[1]解启超.数据库存储技术的应用与分析[J].数字技术与应用, 2013 (08) :101-102.

[2]吴敏宁, 高楠.Delphi数据库编程开发[J].电脑知识与技术, 2009 (11) :2882-2883.

3.软件工程数据库编程技术论文 篇三

关键词 多语言编程技术 软件开发 应用

中图分类号:TP312 文献标识码:A

1 动态链接库技术

动态链接库的英文翻译是Dynamic Link Library,因此动态链接库又叫DLL,在DLL中通常可以包含很多的代码和数据,而这些代码和数据可以同时被多个程序都是识别并使用,从而实现了各个编程技术的动态链接。DLL作为一个不可执行文件,同时提供了一个对普通程序的代码进行识别和调用的函数,使得多个程序可以在相同的时间段内访问和使用同一个代码。DDL文件一般都会带有.dll这样的扩展名,因此也可将DLL作为一种磁盘文件来看待,在这个文件中包含了所需的全部数据、服务函数以及其他资源,DLL模块也正是通过这些函数和数据资源实现动态链接以及提供服务。在动态链接库进行动态链接之前必须与相应的声明函数或是引入函数作为引导,否则就不可以实现程序的动态链接。比如在DLL代码中必须有像__declspec(dllexport) int MyFunction(int n);这样的导出函数以及像__declspec(dllimport) int MyFuncition(int n);这样的输入声明函数,当然仅仅拥有输入和输出两种声明函数是不能将其他程序连接到DLL文件上的,还需要其他的调用函数的配合。

2 多语言编程技术

在软件开发设计的过程中,如果仅仅使用一种或是很少的编程程序是不能将软件的实际功能完全实现的,因此多语言编程技术满足了软件设计多种编程语言的需要,也为多种编写代码实现链接提供了可能性。但是如果多种编程语言混合在一起,若想保证原来各种编程的运行速度以及整体的运行效率,对于多语言编程技术的首要要求就是具有一定的调用规则,主要包括命名规则、堆栈的使用等等,这些都是多语言编程得以实现的基础,也可以说是关键性的问题。以下将对多语言混合编程的函数调用规则以及数据结构作简要的分析。

2.1 调用规则

不同的语言编程,其程序类型也不尽相同,因此多语言编程技术的调用规则还需要满足不同的程序类型需求,比如C++语言常用的调用函数是FUNCTION函数。函数的调用规则决定了函数下一阶段的运行,它直接影响变量的传递和接受,还会对变量的顺序产生一定的影响。因此在一些类型的语言中,需要设定特定的函数进行转换的声明。另外调用规则还和函数的数据传输以及数据的传输形式具有一定的关联性,比如传递的是一个数值还是地址都和调用规则有联系。

2.2 字符转换

一般情况下,在C语言中字符出现的形式主要以指针为主,另外在C语言中的字符传递方式和地址的传递方式相同,但这并不包括字符长度的传递。而一般在C语言中都以字符‘\0’作为每一行的结束符,但是在一些其他的编程语言中,有的语言是直接不具有结束字符,比如在FORTRAN语言中就没有结束符,因此要想实现C和FORTRAN之间字符的传递,可以直接将字符转化为C字符或者是直接编写相应的程序接收字符,后者也可以实现在进行字符转换和传递的同时进行字符长度变量的传递。

3 多语言编程的实现

3.1 在C中调用FORTRAN的动态链接库

在DLL文件中的函数会根据相对应的符号名或是整数值进行函数表的归纳,当DLL引出一个符号时必须使用相对应的符号进行引出,将这些符号统称在一起就叫做符号的引入。在FORTRAN语言中,DLL用户可以直接通过文件的属性找到与之对应的函数或是代码,从而实现函数的声明。将一些类似的代码或是数据和多个函数进行链接之后就会生成所需要的test.dll和zc.dll文件。

当实现动态链接之后,接下来所要考虑的就是如何进行动态链接库的使用。一般情况下,无论是.LIB文件还是.DLL文件都采用隐式连接或是静态连接的方式,因此当有应用程序访问DLL文件时,动态链接库必须存在该程序的目录。这样就可以直接避免出现链接库路径连接错误。在实际的程序设计和软件开发中,采用动态联编的方式来实现链接库的调用比较多。

3.2 在FORTRAN中调用C的动态链接库

在实际的算法运行过程中,由于一些算法或是正反演算法的迭代使用和计算,这就对数据的传输和处理带来影响,并不是所有的数据结果处理都很精确或是合理,严重时还会导致算法或是整个编程运行停止,因此对于一些重要的参数或是函数进行监控室非常必要的。在VC++进行调用算法动态链接库时,如果将链接运行的信息即时显示在相关屏幕上就可以方便对程序运行工程的判断和分析。在VC++中可以编写几个控制动态链接库的函数,这些函数的声明也可以作为FORTRAN算法的引出函数,这时候在运行FORTRAN算法动态链接库的同时也可以将算法的信息显示给VC++的应用程序的状态窗口,根据窗口显示的函数返回值,用户就可以实现对于动态链接库的实时控制以及在FORTRAN中调用C的动态链接库。

4 结语

尽管当前编程技术日新月异,但是在系统或是软件设计中如何将这些云烟编程技术进行综合运用或是实现各个语言程序的相互连接问题,仍是当前在软件开发中仍需要考虑的问题。而在研究中发现,DLL作为一个可以由多个程序同时使用的代码和数据的库,实现了多语言编程技术的相互连接,实现了资源共享,是实现多语言编程技术在软件开发中的应用的基础和前提。

参考文献

[1] 杨小锋,陈艳燕.智能卡中JNI技术的应用实现[J].浙江师范大学学报(自然科学版).2005(03).

[2] 周涛,郭占元,郭向荣.FORTRAN与C#混合编程在土木工程计算中的应用[J].山东交通学院学报.2009(01).

[3] 汤洪志,周华中,胡文平,周亚东.VB与Visual Fortran混合语言编程及其在物探化探数值计算中的应用[J].物探化探计算技术.2002(01).

4.编程语言的数据库性能比较 篇四

摘要:随着计算机技术不断发展,各种数据库编程工具也随着发展,使当今的大多数程序开发人员可以摆脱枯燥无味的用计算机指令或汇编语言开发软件,而是利用一系列高效的、具有良好可视化的编程工具去开发各种数据库软件,从而达到事半功倍的效果,但是现在市面上的数据库编程工具门类众多,优良不齐,比如VB,VC,DEPHI,PB等,对此我特别针对流行的开发语言介绍相应的较为成熟的数据库编程工具。

几种支持数据库的语言介绍

VB

全称Visual Basic,它是以Basic语言作为其基本语言的一种可视化编程工具。在中国乃至全世界都能看到它的身影,它曾是在中国最为流行的编程工具,到现在还占据着非常重要的地位,对于它的好坏大家都有一定的了解,VB作为一种较早出现的开发程序以其容易学习,开发效率较高,具有完善的帮助系统等优点曾影响了好几代编程人员,但是由于VB不具备跨平台这个特性,从而也决定了VB在未来的软件开发中将会逐渐地退出其历史舞台;它对组件技术的支持是基于COM和ActiveX,对于组件技术不断完善发展的今天,它也显出了它的落后性;同时VB在进行系统底层开发的时候也是相对复杂的,调用API函数需声明,调用不方便,不能进行DDK编程,不可能深入Ring0编程,不能嵌套汇编;而且面向对象的特性差;网络功能和数据库功能也没有非常突出的表现,综上所述,VB作为一种可视化的开发工具由于其本身的局限性,导致了它在未来软件开发中逐

步被其他工具所代替。

PB

全称PowerBuilder,是开发MIS系统和各类数据库跨平台的首选工具,使用简单,容易学习,容易掌握,在代码执行效率上也有相当出色的表现。PB是一种真正的4GL语言(第四代语言),可随意直接嵌套SQL语句返回值被赋值到语句的变量中,支持语句级游标,存储过程和数据库函数,是一种类似SQLJ的规范,数据访问中具有无可比拟的灵活性。但是它在系统底层开发中犯了跟VB一样的错误,调用API函数需声明,调用不方便,不能进行DDK编程,不可能深入Ring0编程,不能嵌套汇编;在网络开发中提供了较多动态生成Web页面的用户对象和服务以及系统对象,非常适合编写服务端动态Web应用,有利于商业逻辑的封装;但是用于网络通讯的支持不足;静态页面定制支持有限,使得PB在网络方面的应用也不能非常广泛。面向对象特向也不是太好。

C++Builder/Delphi

它们都是基于VCL库的可视化开发工具,它们在组件技术的支持、数据库支持、系统底层开发支持、网络开发支持、面向对象特性等各方面都有相当不错的表现,并且学习使用较为容易,充分提现了所见即所得的可视化开发方法,开发效率高。由于两者都是Borland 公司的产品,自然继承了该公司一贯以来的优良传统:代码执行效率高。但是,它们并不是毫无缺点,它们所作的最大不足之处就是他们的帮助系统在众多的编程工具中是属于比较差的。C++Builder 的VCL库是基 1

于Object pascal(面向对象pascal),使得C++Builder在程序的调试执行上都面向落后于其他编程工具。而Delphi则是它的语言不够广泛,开发系统软件功能

不足两个比较大的缺点。

Visual C++

是基于MFC库的可视化的开发工具,从总体上说它是一个功能强大但是不便使用的一种工具。它在网络开发和多媒体开发都具有不俗的表现,帮助系统也做得非常不错(Microsoft 在细节方面的处理往往都让人觉得亲切),但是虽然是使用C++作为基本语言,但是它在面向对象特性上却不够好,主要是为了兼容C的程序,结果顾此失彼;在组件支持上也不太好,虽然说除了支持COM,ActiveX外还支持CORBA,但是没有任何IDE支持,是所有C编译器的功能, 需要CORBA中间

件支持;最大的问题是开发效率也不高。

Java

5.软件工程数据库编程技术论文 篇五

从sql导出到mysql的方法很多,现介绍一种无需编程,直接利用sql和mysql里的图形界面进行导入导出的简单方法,

前提是已经安装了sqlserver客户端和mysql的图形界面管理工具phpmyadmin。

在控制台根目录下打开sqlserver企业管理器,新建sqlserver组,根据自己的情况进行选择;然后新建sqlserver 注册,进行对sqlserver的连接。准备妥当后,下面就开始了:

首先打开数据转换服务,新建包,打开DTS界面,在连接中选择数据源进行配置。再选择将要转换到的目的文件,这里我选的 Textfile(destination),选择好文件的存放位置之后,我们来新建一个任务,

这里我们只选择转换数据任务,将带有“选择源连接”“选择目的连接”的鼠标分别选中数据源和目的之后,我们对新生成的连接进行定义,在其属性中将源,目的,转换依次定义。

执行任务,提示成功。保存任务。然后在新建的任务上导出数据,有向导提示,其中一项选择“从源数据库复制表和视图”。

这一步已经把数据导出到目的文件中。

下一步在mysql中新建表,与将要导入的结构保持一致时,直接选取“从文本文件中提取数据,插入到数据表:”,将选项添好后,“发送”就可以了,浏览一下,数据已导入了。若要导入的表已经存在,且属性名也不同,这时就先建一个与要导入的数据相同结构的表并导入数据(按刚才的进行就可以了),然后在mysql中导出“数据和结构”,得到sql语句,将其在文本文件中编辑,利用文本编辑器的替换功能,将表名修改,列名加入,最后将其粘贴在要导入表的执行sql语句的地方,执行一下,数据便导入了。

6.软件工程数据库编程技术论文 篇六

首先,由于数据挖掘技术是立足于数据库进行发展的,随着技术的不断发展与进步,已经从理论转换为实践应用,并且在实际应用中发挥着重大作用。另外,软件工程是工程化的学科,能够根据项目任务的差异、资金及客户需求进行产品的研发。由于原有的工程软件开发较为复杂,但经过发展迅速壮大,实际的应用性较强,会更多的被应用于项目当中,与此同时,利用数据挖掘技术主要就是对软件工程的数据库信息进行挖局,对于软件工程的可持续发展有着重大的意义。

2.2挖掘信息

其次,软件工程能够对信息的挖掘进行掌控,实际的应用范围较广,软件工程能够将软件开发时的信息进行统一,进而保证在进行软件开发的过程中,能够将数据进行及时更新,进而从根本上保证开发的质量,保证项目任务的顺利实施。就目前实际情况进行分析,在数据挖掘中还包含着软件开发更改的数据信息,能够更加直观的.看出软件内部的差异,还能够利用这一特点及时发现运用过程中产生的问题,并结合实际情况,及时作出有效的解决措施,保证项目目标任务能够顺利完成。

2.3挖掘软件漏洞

再次,数据挖掘技术中,最重要的一点就是对软件漏洞进行检测,在实际的运用过程中,能够及时发现软件开发中产生的错误,并进行修整与优化,及时找到处理的方法,在一定程度上保证软件工程的安全等级与质量。另外,在利用数据挖掘技术对漏洞进行检测的过程中,相关的技术人员要明确检测的内容,还要立足于客户基本需求,进一步找到相对应的测试内容,利用合理的方式对软件进行测试,进而得到各方面都完美的方案。与此同时,由软件工程对数据信息进行处理,在找到漏洞信息后,对多余的信息进行及时处理,进而从根本上保证数据信息的科学性与完整性。在实际的运用过程中,相关的工作人员要根据科学化的方案,合理的将数据挖掘技术运用到软件工程中,利用合理化的方式对于软件工程中的漏洞问题进行分析,及时找出错误根源,使操作者能够更加容易进进行漏洞的挖掘与修复工作。就目前实际情况进行分析,数据库挖掘技术主要就是将数据信息进行转化,并进行整合存到信息库中,再由相关的工作人员结合实际需求,对于软件进行测试,查看是否存在漏洞,利用这种方式保证后续工作的顺利开展,促进软件工程的健康发展。

2.4挖掘软件执行记录

在数据挖掘技术的应用过程中,软件执行记录尤为重要,在进行数据挖掘的过程中,相关的技术工作人员要对数量进行合理分析,对于不同代码之间的关系进行探究。使相关的工作人员能够利用软件系统的行踪进行管理与探究,进而在一定程度上促进软件工程的稳步发展。

2.5挖掘开源软件代码

最后,对于开源软件代码进行挖掘,能够将其规划到软件工程中挖掘技术要运用的对象挖掘类型房中,由于开源软件代码技术通常都被应用到代码克隆的检测过程中,能够更加简单的对于代码漏洞进行处理,通过这种方式在一定程度上提高了工作的高效性。

3结束语

综上所述,在软件工程项目中,合理化的运营数据挖掘技术,能够有效促进软件工程的发展,结合实际应用状况进行分析,可以了解到数据挖局技术的发展空间广阔,相关的技术人员要认识到其重要程度,并进行不断改进,将内在的理论与外在价值进行充分挖掘。通过这种方式从根本上强化专业素质,将数据挖掘技术的作用发挥到最大化,促进软件工程的健康长远发展。

参考文献

[1]龙艳.分析数据挖掘技术在软件工程中的应用[J].科技风,(02):83.

[2]梅拥军.软件工程中数据挖掘技术的应用[J].电子技术与软件工程,2019(01):141.

7.软件工程数据库编程技术论文 篇七

动态精度是火炮武器系统设计定型阶段的一项重要考核指标, 一般由靶场根据武器对典型目标的校飞试验数据解算得出[1], 其结果情况往往是决定后续射击精度等试验能否顺利开展的重要参照。而随着靶场试验通信指挥和综合测控装备信息化程度的不断提高, 武器装备试验呈现出任务急、节奏快、周期短、要求严等发展趋势[2], 因此能否根据不同试验任务需求, 选择合适的编程语言和方法, 快速高效地完成数据处理软件的编制和测试工作显得尤为重要。

Matlab是一款优秀的科技应用数学软件, 具有强大的矩阵运算、数值计算、图形显示和数据分析处理功能, 另外它包含了众多专业领域的分析函数库和工具包, 在很多实际编程应用中具有简单实用、方便高效的优势, 但由于Matlab是一种解释性脚本语言, 在执行大规模重复性循环迭代运算时存在效率低下的不足[3]。而C作为目前应用最广泛的编译性语言, 具有执行效率高的特点, 特别是在进行多层嵌套循环运算时其优势更加明显。但由于C语言缺乏丰富的数学函数库和各工程领域应用工具箱等, 读取数据、显示图形等也不方便, 这使得其在科学计算及工程应用领域的开发比较复杂, 代价较高[4]。采用Matlab和C混合编程方法, 通过Matlab的GUIDE开发设计软件用户界面, 利用Matlab中丰富的数据处理函数和图形显示库完成精度数据的处理分析, 而对计算效率要求较高的弹道积分、解命中迭代等解算模块则通过C语言编制MEX接口函数交由Matlab调用实现。这样可以综合两种编程语言的优点, 大大提高编程和程序运行效率, 方便高效地编制出实用的数据处理软件。

1 Matlab和C混合编程方法概述

Matlab和C混合编程主要解决两种语言程序互相调用的问题。常见的方法主要有以下几种[5]:

(1) Matlab引擎。采用客户机和服务器计算方式, C程序作为前端客户机, 通过调用Matlab引擎, 与后台Matlab服务器连接, 实现动态通信。

(2) MCC编译器, 是Matlab自带的编译器, 作用是将M文件转化成C代码, 再将代码用C编译器编译链接成可供C调用的动态链接库或独立的应用程序。

(3) Matlab数学函数LIB库。Matlab提供了可供C语言调用的数学函数库和库函数的接口函数, 有助于在C程序中快速实现Matlab已有的算法调用。

(4) MEX文件。MEX文件是用C语言按照一定格式编写后, 用C编译器编译成的动态链接库。Matlab直接把MEX文件视为它的内建函数进行调用并执行。

2 基于MEX接口函数实现解弹道积分模块

解弹道微分方程组是火炮动态精度数据处理软件解理论诸元中最重要的一环, 一般通过龙格-库塔数值积分法解算, 由于计算量较大, 直接采用Matlab编写的程序运行速度非常慢, 通过把耗时长的函数用C语言实现并编译成MEX函数, 可以不必在每次运行循环中的语句时都对它们进行解释, 从而加快执行速度[6], 而且每型火炮在设计定型阶段都有经过充分验证的解弹道积分C程序模块, 可以直接调用, 减少重复性工作。本文通过编写MEX接口函数实现在Matlab程序中对已有解弹道积分C程序模块的调用, 实现步骤如下:

2.1 编译器的安装与配置

由于Matlab默认不带C语言编译器, 要编译MEX函数, 用户计算机上应该事先安装适配的ANSI C编译器, 下面是安装与配置Matlab编译器应用程序MEX的设置的步骤[7]:

(1) 在Matlab命令窗口中运行mex-setup, 出现下列提示:

Please choose your compiler for building external interface (MEX) files:Would you like mex to locate installed compilers[y]/n?

(2) 选择y, Matlab将自动搜索计算机上已安装的外部编译器的类型、版本及所在路径, 并列出来让用户选择:

(3) 选择其中一种 (这里选择2) 进行确认:

(4) 选择y, 结束Matlab编译器的配置。

2.2 编写弹道积分模块MEX接口文件

MEX接口文件是由原C代码加上MEX接口函数组成, 它实现了一种接口, 把在Matlab中调用函数时输入的自变量通过特定的接口调入了C函数, 得出的结果再通过该接口调回Matlab[8]。按照Matlab的MEX接口规范[9], 在原解弹道积分C程序模块的基础上编写MEX接口文件Ball Integral.c如下:

以上代码中mex.h为使用MEX文件必须包含的头文件;

void mex Function (int nlhs, mx Array*plhs[], int nrhs, const mx Array*prhs[]) 为Matlab的MEX接口函数, 负责完成C语言函数与Matlab之间的参数传递, 其中nlhs为输出参数数目, plhs为指向输出参数的指针, nrhs为输入参数数目, prhs为指向输入参数的指针。

Ball Integral () 为原解弹道积分程序模块, 包含在ball_integral.h头文件中。

2.3 编译MEX接口文件

将C文件mex Ball Integral.c, ball_integral.h放入Matlab工作空间, 在命令窗口输入命令:mex Ball Integral.c, 即可完成MEX文件的编译, 生成可被Matlab直接调用的文件Ball Integral.mexw32。

3 火炮精度数据处理软件实现与应用

根据某火炮系统精度数据处理任务需求, 应用Matlab图形用户界面开发环境GUIDE提供的界面设计工具集设计火炮动态精度数据处理软件界面如图1所示, 界面中包含真值和录取数据读取、跟踪雷达精度处理、火炮系统精度处理三个板块, 跟踪雷达和火炮系统精度处理板块中又分别包含基线参数和弹道气象参数输入区、精度结果统计显示区和处理、查看、统计、保存操作按钮区三部分。

分别用常用的Matlab库函数编写好各按钮、文本框和选择框的回调函数, 完成数据文件读入、坐标变换、基线修正、插值、精度统计、绘图等函数, 并在求解火炮理论诸元时调用之前编译好的解弹道积分和解相遇MEX函数模块, 最终完成精度数据处理软件, 应用此数据处理软件绘制的某航次的动态精度试验结果曲线如图2所示。

利用完成的精度数据处理软件对历次火炮武器系统靶场动态精度试验数据进行处理, 得到的结果与以前试验数据处理结果相一致, 而且在解理论诸元时软件执行效率明显提高。

4 结语

MEX文件提供了Matlab调用C语言程序的接口, 使得Matlab调用C函数和调用Matlab的内置函数一样方便, 当已经有用C编写的大型程序时, 大可不必在Matlab中重写, 只需写个MEX接口函数做成MEX文件, 另外, 针对Matlab程序中的部份计算瓶颈 (如循环、迭代等) , 通过MEX文件用C语言实现, 可以大大提高运行效率。本文把用MEX文件实现Matlab和C语言混合编程的方法应用到某火炮动态精度试验数据处理软件中, 将已有的解弹道积分程序模块 (C程序) 和要做迭代处理的解相遇模块通过C语言编写MEX文件实现, 不仅提高了编程效率, 而且提高了代码的复用率和执行速度, 取得了非常好的应用效果。

参考文献

[1]黄守训, 杨榜林, 田颖, 等.舰炮武器系统试验与鉴定[M].北京:国防工业出版社, 2005.

[2]杨榜林, 岳全发.军事装备试验学[M].北京:国防工业出版社, 2002.

[3]陈杰.Matlab宝典[M].北京:电子工业出版社, 2007.

[4]谭浩强.C程序设计[M].北京:清华大学出版社, 1999.

[5]穆以东, 赵岭.VC++与Matlab混合编程方法研究[J].测控技术, 2013, 32 (9) :111-116.

[6]李天昀, 葛临东.综述Matlab与VC++的交互编程[J].计算机仿真, 2004, 21 (9) :193-196.

[7]杨高波, 亓波.精通Matlab 7.0混合编程[M].北京:电子工业出版社, 2006.

8.软件工程数据库编程技术论文 篇八

关键词:软件工程技术;数据库;设计;作用

数据库设计需要依据很多的现代化信息条件,在数据库中涉及到多个领域,并且也包含多种知识,是一个较为复杂的系统工程,其中有严谨的物理结构以及逻辑结构,只有有效衔接二者,才能让数据分析更加准确,但其灵活度、效率偏差,需要利用软件工程技术来有效解决这一问题。下面就软件工程技术在数据库设计中的作用进行探讨。

一、软件工程技术的简单介绍

(一)基本内涵。某种程度上来说软件开发其实就是“高层概念”到“低层概念”的映射,从而实现高层处理逻辑向低层处理逻辑转变。而对于大型软件系统而言定义就并非如此简单,因为大型软件开发包括有关人员、技术、途径以及成本和进度的方方面面,从综合的角度来说,软件工程是一类可以满足客户要求并以工程、软件产品为对象的学科,主要应用了工程管理以及计算机理论的主要原则,囊括了设计模式、数据库以及程序语言设计等多方面。

(二)软件工程技术的发展阶段。软件工程技术早期主要为瀑布式开发模型,经过不断的发展演变为螺旋式的迭代开发,到现在软件工程技术敏捷开发的方法,软件工程技术随着社会科学技术的发展而不断进步。另外,在不同时期研究软件工程技术时都要遵循使用科学的方法进行管理并通过合作的形式提高软件生产率的原则,推动软件工程技术的发展。学者根据软件工程技术发展的历程总结出了多种软件开发的方法并产生了软件工程学,但软件工程学的出现并不代表软件危机的结束。由于软件工程自身理论性强、实施方法局限大等特点,使得软件危机依然存在于生活中。经过不断努力和探索,近年来出现了多种新的思想和方法,例如软件再用、软件自动生成器等,为软件工程技术的发展提供了坚实的基础,软件工程技术逐渐向自动化、标准化转变。

二、软件工程技术在数据库设计中的作用

就当前来看,许多系统的开发与使用都与数据库分割不开,数据库主要作为数据的处理技术所存在的一种形式,开发数据库也是绝对存在的一个过程,因此才会产生数据库管理系统的成果。与此同时,在对此系统进行运用的过程中还能定义视图,并且提供了较强大的数值计算功能,从而对数据的安全以及稳定发挥做出了较大的作用。鉴于软件工程技术的重要作用,再利用其进行数据库设计时应遵循以下原则:一是一对一关系原则,在软件开发之后以及其运行的过程中,对数据进行维护是无可厚非的,为了將数据的维护变得简单且便利,在设计数据库时必须避免大且杂的设计观念,在设计时,必须牢记实体与实体的联系,以此将信息分散并将工作效率提高;二是避免规范以及重复命名原则,不重复主要是为了将冗杂的数据减少,而且必须对数据保持一致,每个外部关键词与表之间都必须设置相对应的关系。

三、软件工程技术在数据库设计中的应用

(一)分析其可行性。该阶段通过分析现有的计算机技术和人工控制技术,从经济、技术和操作方便性几个方面对数据库进行考察,以初步估计能否完成数据库设计的任务。该阶段应当将分析结果记录下来,整理撰写可行性报告,之后设计程序框架。

(二)制定开发计划。如果前阶段的分析有很强的可行性,分析员将要开始制定该项目的开发计划。项目开发计划应当包括系统开发团队的人员构成、人员分配、项目开发进度、验收方式和验收标准以及开发过程中的关键环节等。此外,用户界面对数据库的开发非常重要,美观、友好而方便的用户界面才能被客户接受,在项目开发时也应当将界面设计考虑进去。

(三)分析数据库系统的需求。数据库系统的需求分析,包括对数据的需求分析、对系统性能的需求分析、对运行环境的需求分析等。该阶段通过对数据库的需求进行分析,以了解建立数据库软件需要的配置标准和运行环境,为数据库的开发提供标准和参数。

(四)数据库设计阶段。数据库的建立和设计是数据库系统的重点内容。数据库系统的运行效率和效果直接受到数据库设计质量的影响。一项优秀的数据库软件系统不但能简化运算方式,提高运行效率,还能帮助数据库使用者简单直接地获取相关信息,保证数据的完整性,有利于完成数据库的设计。同时,数据库设计的基础是需求分析。首先应当设计数据库的概念和结构,总体上把握用户需求,并据此绘制系统实体联系图。然后应当设计数据库的逻辑结构,把概念中的E-R图转化为计算机语言,与DBMS系统相适应,把实体之间的关系转化为数据库系统之间的表与表的关系。

四、结语

综上所述,本文对数据库设计中软件工程技术的作用进行了分析。软件工程技术经过长期的不断发展已日趋成熟,并对我国信息技术的发展起到了举足轻重的作用。软件工程是伴随着社会技术的不断发展而发展起来的,在不同时期有着不同的进步性,在软件工程技术使用中需要遵循科学的方式方法,不断的提升软件的使用和生产效率以此更好的推动整个软件技术的大跨步发展。希望本文的研究能够促进整个软件开发以及数据库的使用和开发,提升科学技术使用效率。

参考文献:

[1]曹杨帆.数据库设计中软件工程技术的作用[J].电子技术与软件工程,2016,03:202.

[2]吴丽华,邓田.软件工程技术在数据库设计中的作用分析[J].电脑迷,2016,05:69.

上一篇:表达错过的爱情的句子下一篇:教师个人上半年总结长篇