面向方面软件建模研究及在软件开发中的应用

面向方面软件建模研究及在软件开发中的应用

论文摘要

随着软件产业的迅速发展,软件复杂性越来越高,用户需求的不断改变给软件开发带来很大的工作量。良好的软件开发方法可以提高软件的开发效率和开发质量,使生产出的软件产品具有更高的重用性和可维护性,从而降低软件的整体成本。面向对象开发方法(OOSD)提高了软件的可扩展性和可维护性,它利用设计模式、开发框架和预留接口等对已有系统进行代码重用、功能扩展和性能改善,但是OOSD在软件完善性维护中要么对原有程序结构或者代码进行修改,要么新增代码和原有代码耦合性很强,从而降低软件的模块化程度和可理解性,增加软件后期的维护工作量。面向方面编程(AOP)的出现,解决了OOSD在系统性能改善和非功能性需求处理时出现的代码交织和散乱,它将这些涉众关注点分离并用方面封装,提高了软件的灵活性和扩展性,减小了软件扩展的工作量。AOP还促使了面向方面软件开发方法(AOSD)的形成,能够在软件生命周期的各个阶段进行涉众关注点的分离和合成,但是目前面向方面建模都是对非功能性涉众关注点进行建模,没有对系统功能扩展的非核心业务功能建模。针对以上问题,本文结合AOP思想和AOSD技术,对系统扩展的非核心业务功能关注点与系统核心功能关注点运用用例建模技术进行分离,提出了表示系统功能扩展部分的用例加强概念,并给出了其模型表示方法;利用用例切片技术对分离出的非核心业务功能关注点进行分析设计,提出了切面的模型表示,并用AOP进行实现,这样可以按照软件工程的方法对系统进行无损扩展,不用修改系统源码,保证了系统的完整性,并有效降低非核心业务功能关注点与原各模块间的耦合度。结合开源建模工具ArgoUML对其实现简单的功能扩展,减少系统的重复代码,这充分验证了面向方面建模方法的可行性和实用性。应用上述研究成果,对建模工具ArgoUML的功能进行分析和扩展,提取出建模工具中信息的管理功能作为系统的非核心业务功能扩展,包括需求管理、设计管理和模型元素管理,使得开发人员在建模的同时可以对软件过程中所涉及的一些相关信息如版本、作者等进行管理;用纯XML数据库对扩展信息保存,用DOM4J读写XML数据库文档,有利于与建模工具的模型元素信息的转换和统一处理。结果表明采用基于AOSD的方法对已有系统进行非核心业务功能的扩展,效率高,工作量小,可理解性强,对原系统的影响微乎其微,是一种软件维护行之有效的新方法。

论文目录

  • 摘要
  • ABSTRACT
  • 1 绪论
  • 1.1 本课题的研究背景
  • 1.2 本课题的研究现状
  • 1.3 研究目的及意义
  • 1.4 本课题研究的主要内容
  • 1.5 论文组织结构
  • 2 相关技术及研究
  • 2.1 AOP相关介绍
  • 2.1.1 AOP的产生
  • 2.1.2 AOP基础知识
  • 2.1.3 AOP的应用开发
  • 2.1.4 AspectJ介绍
  • 2.2 面向方面软件开发过程
  • 2.3 XML相关介绍
  • 2.3.1 XML的特点
  • 2.3.2 XML与DTD
  • 2.4 本章小结
  • 3 基于面向方面技术的建模方法研究
  • 3.1 系统关注点的确定
  • 3.2 需求分析阶段
  • 3.2.1 用例的分类
  • 3.2.2 用例之间的分离
  • 3.3 分析阶段
  • 3.3.1 确定分析类
  • 3.3.2 为分析类分配用例行为
  • 3.3.3 用例切片表示
  • 3.3.4 对于不同类型的用例的分离和合成
  • 3.4 设计阶段
  • 3.4.1 识别设计元素
  • 3.4.2 对用例切片的设计
  • 3.4.3 使平台特性保持分离
  • 3.5 实现阶段
  • 3.6 测试阶段
  • 3.6.1 从用例确定测试用例
  • 3.6.2 测试的设计与实现
  • 3.7 基于面向方面的软件开发过程
  • 3.8 本章小结
  • 4 基于面向方面设计的ArgoUML功能扩展
  • 4.1 ArgoUML的结构分析
  • 4.1.1 ArgoUML简介
  • 4.1.2 ArgoUML的结构分析
  • 4.2 基于面向方面软件开发的ArgoUML功能扩展的实现
  • 4.2.1 需求分析
  • 4.2.2 分析设计
  • 4.2.3 实现和测试
  • 4.3 本章小结
  • 5 基于面向方面的UML建模工具管理功能扩展设计与实现
  • 5.1 需求阶段
  • 5.1.1 通用软件建模工具的基本功能
  • 5.1.2 需求的确定
  • 5.1.3 需求建模
  • 5.2 分析设计阶段
  • 5.2.1 需求管理功能用例切片的确定
  • 5.2.2 需求管理功能用例切片的合并
  • 5.2.3 数据类图设计
  • 5.3 实现阶段
  • 5.3.1 系统开发平台和工具
  • 5.3.2 采用技术和核心代码解释
  • 5.3.3 系统运行部分截图
  • 5.4 本章小结
  • 6 结束语
  • 6.1 课题总结
  • 6.2 课题的后继工作
  • 参考文献
  • 攻读学位期间发表文章
  • 致谢
  • 相关论文文献

    • [1].浅析工程类软件开发中的主要问题与应对措施[J]. 电脑知识与技术 2019(35)
    • [2].软件开发中数据库设计理论实践研究[J]. 电子测试 2020(08)
    • [3].福州翔升软件开发有限公司[J]. 中国房地产 2020(16)
    • [4].新时期计算机软件开发技术的应用及发展趋势[J]. 南方农机 2019(10)
    • [5].汽车软件开发中的质量保障体系研究[J]. 电脑知识与技术 2019(27)
    • [6].金融软件开发中存在的问题、原因及对策探析[J]. 数字通信世界 2019(11)
    • [7].浅析如何管理软件开发以提高经济效益[J]. 经济研究导刊 2018(02)
    • [8].关于软件开发效益风险优化评估仿真[J]. 计算机仿真 2018(02)
    • [9].浅析软件开发过程中的伦理问题[J]. 计算机产品与流通 2017(09)
    • [10].面向软件开发信息库的数据挖掘综述[J]. 民营科技 2017(03)
    • [11].面向工程化的软件开发人才培养体系研究与实践[J]. 微型电脑应用 2017(05)
    • [12].面向工程化的软件开发人才培养体系研究与实践[J]. 微型电脑应用 2017(04)
    • [13].金融软件开发问题、解决方案与软件测试分析[J]. 电子技术与软件工程 2017(20)
    • [14].努力前行,不断超越自我——走进中信银行软件开发中心[J]. 金融电子化 2017(06)
    • [15].在实践中快速成长——专访中信银行软件开发中心副总经理刘良俊[J]. 金融电子化 2017(06)
    • [16].打造面向未来的国际一流金融软件开发中心——专访中国工商银行软件开发中心总经理杨龙如[J]. 杭州金融研修学院学报 2017(11)
    • [17].软件开发规律浅析[J]. 无线互联科技 2014(12)
    • [18].浅谈模板工程的软件开发自动化框架[J]. 计算机光盘软件与应用 2015(02)
    • [19].高质量软件开发策略研究[J]. 通讯世界 2015(19)
    • [20].互联网+背景下软件开发课程微课的研究[J]. 南国博览 2019(02)
    • [21].中职软件开发专业“项目一贯制”人才培养模式研究[J]. 数码世界 2020(03)
    • [22].计算机软件开发设计难题和策略[J]. 数码世界 2018(02)
    • [23].浅谈计算机软件的开发维护可靠性[J]. 数码世界 2016(12)
    • [24].敏捷开发模式在中职软件开发课程项目教学中的应用[J]. 广西教育 2017(10)
    • [25].软件开发项目质量管理分析[J]. 今日财富(中国知识产权) 2017(02)
    • [26].基于移动平台下的软件开发教学研究[J]. 时代教育 2017(11)
    • [27].产学研模式打造自主软件开发生态[J]. 中国经济信息 2017(14)
    • [28].基于项目为导向下软件开发课程教学模式的研究与实践[J]. 时代教育 2017(13)
    • [29].深入探究式学习方法的研究——以软件开发教学为例[J]. 科学中国人 2017(24)
    • [30].船舶热力系统能量消耗分布研究及软件开发[J]. 船舶物资与市场 2020(01)

    标签:;  

    面向方面软件建模研究及在软件开发中的应用
    下载Doc文档

    猜你喜欢