找回密码
 注册会员
更新自动建库工具PCB Footprint Expert 2024.04 Pro / Library Expert 破解版

[嵌入式/ARM] 利用反射技术实现一种新型软件系统维护模型

[复制链接]
admin 发表于 2013-3-24 19:08:51 | 显示全部楼层 |阅读模式

本文包含原理图、PCB、源代码、封装库、中英文PDF等资源

您需要 登录 才可以下载或查看,没有账号?注册会员

×
摘  要: 在深入研究.NET反射技术基础上,结合.NET框架结构的特性,从资源整合的角度,探索性地提出了一种新型的软件系统维护模式,保证了复杂的大型系统维护的高效性和经济性,具有很大的实际意义。
关键词: .NET框架;反射技术;资源整合;系统维护
    随着计算机技术不断更新和发展,大型复杂系统的开发层出不穷,但系统的复杂性为后期系统的维护带来了极大不便。软件工程的提出和软件测试的规范化为后期维护提供了大量的文档资料,从宏观上解决了后期系统维护工作任务。但是软件系统开发作为一项复杂的脑力活动,不可避免地会出现一些问题,尤其是复杂的大型系统。于是运行时出错的定位成为了一大难题,往往需要消耗大量的人力、物力和财力,甚至影响到企业的正常运作,造成巨大损失。本文对于大型系统运行时出错的定位问题,针对.NET框架平台(目前系统开发的最大平台之一,也是大型系统的构架平台)提供的特性技术和反射技术,从系统的安全性和经济可行性出发,从资源整合的角度出发,研究并实现了一种新型的软件维护模型,从而弥补了软件工程思想对于系统维护在微观上的定位的不足。
1 相关技术简介
 新型软件系统的维护模型的技术实现主要涉及    .NET Framework提供的特性技术、反射技术以及资源整合思想中邮件服务。
1.1 特性技术
 公共语言运行时允许添加类似关键字的描述声明,叫做特性[1](Attributes), 它对程序中的元素进行标注,如类型、字段、方法和属性等。Attributes 和Microsoft .NET Framework 文件的元数据保存在一起,可以用来向运行时描述代码,或者在程序运行的时候影响应用程序的行为;特性分为定制特性(.NET平台已经封装实现)和自定义特性,新型软件系统维护模型使用自定义特性,用于系统运行时异常定位。
1.2 反射技术
 在.NET平台中,软件是以程序集的方式存在的,它包含模块,而模块包含类,类又包含成员。
.NET中的程序集是自描述的,反射则提供了封装程序集、模块和类的对象。使用反射隐藏一些不想公开的方法,并在软件设计中进行了类设计及部分的核心编码[2],动态地创建类的实例,将类绑定到现有对象,或从现有对象中获取类,然后调用类的方法或访问其字段和属性。反射通常具有以下用途[3]:
 (1)使用Assembly定义和加载程序集,加载在程序集清单中列出的模块,并从此程序集中找类型并创建该类型的实例。
 (2)使用Module了解模块的程序集以及模块中的类等信息。
 (3)使用ConstructorInfo了解构造函数的名称、参数、访问修饰符(如public或private)和实现(如abstrcat或virtual)等信息。
 (4)使用MethodInfo了解方法的名称、返回类型、参数、访问修饰符(如public或private)和实现(如abstrcat或virtual)等信息。
 (5)一个FieldInfo可了解字段的名称、访问修饰符(如public或private)和实现(如static)等信息,并获取或设置字段值。
 (6)使用EventInfo了解事件的名称、事件处理程序数据类型、自定义属性、生命类型和反射类型等信息,并获取或设置属性值。
 (7)使用PropertyInfo了解属性的名称、数据类型、声明类型、反射类型和只读或可写状态等信息,并获取或设置属性值。
 (8)使用ParameterInfo了解参数的名称、数据类型、是输入参数还是输出参数。以及参数在方法签名中的位置等信息。
1.3 资源整合
 与企业优化资源配置不同,随着Internet的推广使用,网络服务资源日益增多,资源共享和合理利用免费资源也成为企业的一个重要的战略目标。大型系统的维护借助于免费资源的使用可以大大降低成本,而邮件服务是一个重要的免费资源。本文在研究新型软件系统维护模型时,将系统软件运行时出错(或者异常)信息以邮件的形式将追踪到的系统运行出错定位信息发送到指定维护人员的邮箱,维护人员借助此信息可以及时、高效地完成维护工作,提高了维护的灵活性和及时性。
2 新型软件系统维护模型的提出
 由于大型系统的复杂性或多或少会导致系统运行时出错或者发生异常,利用.NET Framework框架提供的特性与反射技术相互结合,可以准确地定位异常发生的具体位置,同时反射出出错信息处的代码相关信息,保证了系统的维护的快捷性和方便性,如图1所示。
    20121107050700723413907.gif
   3 新型软件系统维护模型的实现
3.1 特性类的实现
*滑块验证:
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

QQ|手机版|MCU资讯论坛 ( 京ICP备18035221号-2 )|网站地图

GMT+8, 2025-1-13 08:40 , Processed in 0.057728 second(s), 10 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表