毕业论文

当前位置: 毕业论文 > 计算机论文 >

Django在线判题综合服务系统的重构实践

时间:2017-12-06 20:05来源:毕业论文
统使用成熟的开源架构Django进行开发,实现了用户管理、本地题库、代理服务、竞赛服务、与判题结点通信等功能,并使用了celery、South、Memcached等组件进行系统优化。同时也介绍了新的
摘要软件重构是软件生命周期的重要组成部分。本文深入分析了原有开放式在线判题综合服务平台的面向服务的体系结构、微内核核心、主要业务功能,为系统重构工作做了充分的准备。重构的在线判题综合服务系统使用成熟的开源架构Django进行开发,实现了用户管理、本地题库、代理服务、竞赛服务、与判题结点通信等功能,并使用了celery、South、Memcached等组件进行系统优化。同时也介绍了新的在线判题综合服务系统的部署及优化方法。最后从不同的角度对新旧在线判题系统进行了对比分析。16223
关键词  软件重构  在线判题综合服务系统  Django
毕业设计说明书(论文)外文摘要
Title        Refactoring of The Online      Judge Integrated Service System                  
Abstract
Software refactoring is an important part of the Systems Development Life Cycle. This paper analyzes the service-oriented architecture of the original Online Judge integrated service platform, as well as the   micro-kernel core and the main business functions, which does sufficient preparations for system reconfiguration. The new Online Judge integrated service system is developed by using Django, which is mature and open. It has many functions such as user management, local problem, agency services, contests services and the Interface to communicate with Judge site. The system is optimized with celery, South, Memcached and other components. In addition, the paper introduces the deployment and optimization methods of the new Online Judge integrated service system. Finally, the paper analyzes the differences between the old and the new Online Judge system.

源自六;维,论/文.网*加7位QQ324`9114 www.lwfree.cn


Keywords  Software Refactoring  Online Judge  Django
目   次
1  绪论    1
1.1  软件重构    1
1.2  在线判题综合服务系统    2
1.3  重构原有在线判题综合服务系统的需求    2
2  在线判题综合服务系统的重构分析    4
2.1  原有的面向服务的开放式平台架构    4
2.2  微内核体系结构    5
2.3  可重用部分分析    6
3  基于Django的在线判题综合服务系统    6
3.1  Django    6
3.2  MTV结构    7
4  在线判题综合服务系统的实现    8
4.1  主要业务功能    8
4.2  celery    20
4.3  South    22
4.4  Memcached    23
5  在线判题综合服务系统的部署    23
5.1  nginx    24
5.2  uswgi    26
5.3  supervisor    26
6  新旧在线判题综合服务系统对比    27
6.1  系统架构对比    27
6.2  编程语言对比    28
6.3  系统部署与环境对比    28
6.4  负载性对比    29

结论 ..30致谢 ..31
参考文献 ..32
1  绪论
本章主要介绍软件重构的重要意义、在线判题综合服务系统以及为何要重构原有的在线判题综合服务系统等相关内容。
1.1  软件重构
软件重构就是在不改变软件主要功能的情况下,为了改善软件结构,提高软件的可扩展性、功能性、稳定性、可维护性等对软件进行改造的过程。 源自六;维,论/文.网*加7位QQ324`9114 www.lwfree.cn
为什么要进行软件重构呢?软件不同于实际的物理产品一旦开发出来就不会改变,而是有一个持久的生命周期。当一个软件投入使用后漫长的软件维护过程才开始。在这个过程中难免就会发现一些bug,所以很多软件会有补丁。软件的作用是为了满足用户的需求,随着时间的推移,用户的需求经常会发生变更。原有的功能可能就需要更改,新的功能也会被添加,系统逐渐膨胀,软件系统结构也可能会被破坏。即使前期软件架构设计得再好,在这个过程中原有的架构也会变得臃肿,越来越难以理解,越来越难以维护,甚至可能到最后要添加新功能时会发现在原有架构上的开发成本甚至比开发一个新系统的成本还要高。同时,随着时间的推移软件的可维护性的保证也会变得越来越困难。所以在软件系统发展到一定时期对软件进行重构,在保证系统外部功能的情况下对系统的内部实现进行整理改进才能够使软件持续健康发展。 Django在线判题综合服务系统的重构实践:http://www.lwfree.cn/jisuanjilunwen/20171206/17488.html
------分隔线----------------------------
推荐内容