若干软件非功能属性相关的设计和实现技术研究

来源 :南京大学 | 被引量 : 0次 | 上传用户:yidingtongguo
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着计算机系统应用的不断普及和深入,其中软件系统的规模和复杂性不断增大,如何有效地控制软件系统的复杂性已成为学术界和工业界迫切需要解决的重要问题。除了功能性需求之外,现代软件系统还需要满足越来越多的非功能性需求(属性),这也是软件系统复杂性难以控制的重要原因。在软件模块化设计和实现过程中,由于系统的非功能属性与基本功能行为间通常存在正交的耦合关系,从而横切多个基本功能模块,因此难以将其自然地封装在独立的模块之中,进而导致多个模块间存在相互依赖的复杂关系,在系统设计、实现、测试、维护等多个环节中形成了障碍、增加了软件系统的复杂性。本文针对若干软件非功能属性,研究了相应的设计和实现技术,主要工作如下:1.基于UML活动图的面向方面软件建模与验证面向方面软件技术引入了方面机制封装软件非功能属性,已成为处理非功能属性的重要手段。我们提出了一种基于UML活动图的面向方面建模与验证技术,在软件设计阶段将非功能属性封装为方面模型,在与基本模型集成后,基于Petri网和CTL进行验证,从而扩展和增强了面向方面建模技术处理软件非功能属性的能力。2.基于混合执行测试的缓冲区溢出缺陷检测缓冲区溢出是一类常见的软件安全缺陷(非功能缺陷),我们提出了一种基于混合执行测试的缓冲区溢出缺陷检测方法。该方法结合静态分析和动态执行两种互补性较强的技术,先使用静态分析工具分析程序中涉及缓冲区溢出缺陷的可疑语句,然后基于静态分析所报告的可疑缺陷语句指导程序的混合执行测试,从而有效降低了缺陷检测成本。3.针对计算误差处理的面向方面程序设计计算误差处理是科学计算程序中常见的非功能属性。我们发现,同一类误差的处理策略通常都是相似的,并且会横切多个基本功能模块,是典型的横切关注点。因此,我们提出使用面向方面技术将计算误差策略封装为方面,并在一个真实的卫星轨道测算系统上进行了实例研究。该项工作不仅提高了程序的模块化程度和可维护性,而且扩大了面向方面程序设计技术的应用范围。
其他文献
目的:建立酒精性肝损伤的细胞模型,研究茶多酚(T P )对酒精性肝损伤的调节作用。方法通过细胞培养,采用显微镜观察细胞形态,检测细胞培养液丙氨酸氨基转移酶(ALT)、门冬氨酸氨基转移
档案编研是根据馆藏档案和社会需求,对档案信息进行研究和加工,具有很大的公正性。本文通过对中国政法大学郭世佑教授在浙江人文大讲堂上就《辛亥革命的真实性和复杂性》的阐述
随着医院数字化的发展和PACS的普及,医学影像数据急剧膨胀。人们对基于内容的图像检索(Content Based Image Retrieval, CBIR)技术开展了大量研究以解决日益增长的医学影像数
目的探讨精神分裂症护理中优质护理的应用研究。方法选取我科2017年6月~2018年6月360例精神分裂症患者,采用单双号分组法,分为观察组180例,对照组180例。观察组实施优质护理,
在迅速商品化过程中的东北农村的社会空间里,物质的社会生命的嬗变表现为物质价值的变革:传统的自然经济平台出产的物质在保持其使用价值不变的前提下,在变革了的象征价值体
根据“机械制图”课堂的教学特点和实践,以有效教学为目标,分析和探索了影响教学有效性的因素,针对课堂教学存在的问题,提出了“机械制图”课堂的有效教学策略。
上个世纪以来,单方验方不断涌现.前50年,在医家个人收录、验证的基础上,不少小型而独具特色的单验方专著先后问世.20世纪50年代和文革期间,各地曾掀起挖掘民间单方验方的热潮