节点文献
一种软件构件持续交付管理系统的设计与实现
Design and Implementation of A Kind of Continuous Delivery Management System for Software Component
【作者】 李航;
【作者基本信息】 西安电子科技大学 , 工程硕士(专业学位), 2017, 硕士
【摘要】 持续交付是敏捷软件研发领域是当下最热门话题之一,它深刻地影响着软件研发流程的改革。持续交付也就是通常所说的DevOps在一定程度上可以说是对软件配置管理、构建、持续集成、环境部署、测试等流程的自动化管理。如何更快、更高频率的完成产品的迭代交付工作是IT企业共同关注的重点也是本论文的研究重点。在传统IT企业中开展持续交付工作的重点和难点在于改革原有研发、测试、部署分离的工作模式,使用管理工具自动化的实现三个研发流程的自动流转;实现测试环境自动化部署和维护以提高效率并节约人力;在原有自动化测试工具的基础上实现并行测试,缩短测试周期;兼容原有老旧系统减少改革成本。本论文所阐述的软件构件持续交付管理系统是作者在IBM实习期间的主要研究和研发对象。研发持续交付管理系统能够高效打通研发流程各环节并串联团队现有的研发工具从而提高产品研发交付效率,同时还能够促进DevOps理念的普及。由于IBM项目保密性以及项目团队与目前使用的研发工具耦合较深的问题,市面上现存的持续交付工具并不完全适用于IBM-Component团队,故本自主研发本系统具有实用性和迫切性。在本系统研发和论文撰写过程当中,论文工作主要围绕以下几个方面展开:在分析业务需求的基础上使用上下文数据流图对系统进行过程建模,展示出系统的边界、系统的外部参与者、系统内部的结构以及数据交互信息。使用总体用例图用来辅助系统的业务过程分析工作,按照角色识别并定义系统的参与者。系统详细功能描述中结合使用了活动图和用例表。通过构建E-R图对系统进行了数据建模。使用系统的层次模块图进行系统架构设计,本着高内聚、低耦合的原则划分系统层次。在系统架构的基础上进行系统功能分解,使用系统功能分解图辅助工作,将系统功能划分为7个模块,又对模块内部功能进行划分。针对重要的功能使用类图详细描述代码设计结构,使用顺序图描述对象交互流程。在数据建模的基础上进行更为详细的数据库设计,使用逻辑数据模型建模数据库的逻辑模型,给出详细的数据库表的描述。使用部署图展示软硬件测试环境。给出各个重要的功能点测试用例表和过程描述。在测试结果分析部分,论文对错误进行统计归类和文档化管理,保证了代码测试的高覆盖率以及错误的及时修正。通过对本系统的测试,确认本系统达到功能和性能的要求并能够通过验收。
【Abstract】 Continuous delivery is almost the hottest topic in agile software development,which promotes the reform of the software development process.Continuous delivery is an automatic management software with the function of software configuration management,code building,continuous integration,continuous deployment,automatic testing,which is also know as Dev Ops.It has become a highlight for enterprises to improve the delivering efficiency.There ars some important and difficult points in the traditional IT enterprise to introduce continuous delivery reform,such as improving the circulation efficiency of delivery process with automation tools,changing the old work mode of Development with automation tools,parallel test with automation tools,compatibility with the existing tools.The author working on the design and implementation of a kind of continuous delivery management system for software components which are stated in this paper during his internship.The continuous delivery management system can put through all the parts of development process and integrate all the development tools used by my team,so as to improve the efficiency of development and popularize concept of Dev Ops.Existing continuous delivery system is not necessarily perfect for Component Team with the confidentiality requirement of IBM and the high level of coupling to the used tools.So it is practical and urgent to develop this system.During the process of developing system and writing paper the author mainly does the following jobs:We do system modeling with the context data flow diagram which can showing the boundary of the system,external actors of the system,its structure and the dataflow.We finish system business analysis with use case diagram and do role assignment based on external actors.To show the details of functions we use activity diagram and use case table.At the end of this chapter,we finish data modeling with entity relationship diagram.The system architecture design is finished with layered architectural diagram and we do layer compartmentalization according to the principles of high cohesion and low coupling.During system functional decomposition work which based on system architecture,the system is first devided into seven modules and then every module is divided into several function points by using functional decomposition diagram.Detailed database designing work based on data modeling is done by generating logical data model and detailed description of the database table is given at the end of this chapter.The hardware environment,software environment are described with deployment diagram.Test case tables and test steps with system screenshots are given in every function points which are tested.To ensure the high coverage rate of code testing and debugging we do documentary work for each bug.By testing we confirm the system can reach the standards of functionality and performance.
【Key words】 Continuous Delivery; DevOps; Software component; Competitive Analysis;
- 【网络出版投稿人】 西安电子科技大学 【网络出版年期】2018年 06期
- 【分类号】TP311.52
- 【被引频次】4
- 【下载频次】276