项目名称: 软件体系结构与敏捷开发过程融合关键技术研究
项目编号: No.61472286
项目类型: 面上项目
立项/批准年度: 2015
项目学科: 自动化技术、计算机技术
项目作者: 梁鹏
作者单位: 武汉大学
项目金额: 80万元
中文摘要: 以软件体系结构(SA)为中心的开发往往意味着大而全的前期设计、详细的设计文档等,这些特征被认为是与敏捷开发过程格格不入的。因此敏捷开发并不强调软件体系结构设计,而认为软件体系结构是通过连续的系统重构而自然涌现出来的,但最近的研究发现并非如此。很多敏捷项目往往在前期进展顺利,而在后期逐渐停滞甚至失败,其原因在很大程度上是由于缺乏一致的和可演化的软件体系结构。本项目研究如何将软件体系结构与敏捷开发过程,这两种看似冲突的软件开发技术有机融合,充分利用两种技术的优势,拟从四个方面探索软件体系结构与敏捷融合的开发过程:1)分析和发现适合应用SA的敏捷项目特征并分析其应用条件;2)改进现有SA架构过程使其适用于敏捷开发方法特性;3)在敏捷过程中引入轻量级SA架构活动和方法,以适应敏捷开发的精简原则;4)提炼敏捷过程中应用SA的功能性需求。为SA与敏捷过程的融合提供过程指导和辅助工具的工程化支持。
中文关键词: 软件体系结构;敏捷软件开发;软件过程
英文摘要: Architecture-centric development implies Big Design Up Front (BDUF) and massive design documentation, which are the characteristics inconsistent to agile software development, consequently software architecture is not a focus in agile development, which believes that best architectures will emerge through continuous architecture refactoring, but recent research indicates that this is not the case. Many agile development projects went smoothly in the early stage, but got stuck in the late stage and even failed finally. The reason of this situation to a large extent is due to the lack of consistent and evolvable software architecture. This research proposal intends to combine software architecture and agile development process, these two seemingly-conflicting software development technologies, and to explore the benefits of their combination in four aspects: (1) analyze and identify the factors that impact the use of architecture in agile development projects, as well as the conditions of using architecture in agile projects; (2) improve the existing architecting process in order to accommodate the characteristics of agile development; (3) introduce lightweight architecting activities and methods to adapt to the simplicity principle of agile development; (4) elicit and refine functional requirements of using architecture in agile development process. The ultimate goal of this research project is to provide an integrated support for using software architecture in agile development with process guidelines and accompanying tools.
英文关键词: Software Architecture;Agile Software Development;Software Process