软件工程管理论文提纲

2022-11-15 版权声明 我要投稿

论文题目:基于Jenkins的软件工程教育云平台考试作业管理子系统的设计与实现

摘要:随着信息技术行业的快速发展,软件开发的语言、工具、软件工程开发过程等技术和理念都在不断更新中。与此同时,高校的软件工程教学也需要紧贴业界发展趋势,不仅需要抛弃过时技术,引入新技术,同时还需要提高学生的动手能力,鼓励学生自主学习,这对教学工具提出了更高的要求。为了满足软件工程教学的需求,设计和实现了软件工程教育云平台,该平台是一个集课程管理、题目管理、考试作业管理、文档互评、持续集成等功能为一体的面向软件学院老师和学生的系统。在该系统中,学生以结成小组的形式完成作业,该系统可以支持学生使用通用的Git指令来获取和提交代码作业,作业被提交后,系统会自动执行构建和测试,学生只要登录网站即可查看构建和测试结果,以及构建和测试的控制台输出。学生可以将构建成功的镜像部署到系统的部署空间中,通过系统返回的URL就可以访问自己的项目,真正让学生体验到持续集成的开发过程。软件工程教育云平台使用GitLab来维护学生的代码仓库,使用Jenkins来实现持续集成功能,学生的项目会被打包成Docker镜像,上传到Docker Nexus上,并被部署在Kubernetes集群中。本系统的主要工作就是调度这些服务,并结合自身的逻辑来实现一系列功能。本系统是一个前后端分离的系统,前端使用Vue.js框架开发,后端使用Spring Boot开发,结合Spring Security实现权限控制,结合Spring Data的CRUD Repository实现数据持久化功能。本文的考试作业管理子系统是软件工程教育云平台下的一个子系统,它负责对作业、考试和小组的管理。根据功能,分为作业创建模块,作业维护模块,在线考试模块,小组管理模块。作业创建模块,负责保存作业信息,并支持在创建作业时为每个小组分配作业相关资源,使得小组只需要关注于代码逻辑,不需要自己来配置系统中和持续集成相关的文件;作业维护模块,支持学生和老师对作业完成情况的查看,老师对作业得分的统计情况查看,以及作业结束时对于无效资源的清理;在线考试模块,支持学生通过网页直接参与编程考试,学生可以通过Web IDE完成编码、运行和测试所有环节;小组管理模块,支持学生创建小组和加入小组。截至目前,系统已经上线超过一年,运行平稳,在多门课程中得到使用,大大改善了软件工程的教学效率,获得了老师和学生的一致好评。

关键词:软件工程教育;GitLab;Jenkins;Docker

学科专业:软件工程(专业学位)

摘要

Abstract

第一章 引言

1.1 项目背景

1.2 国内外系统的研究与分析

1.2.1 在线学习网站

1.2.2 本学院的相关项目与研究

1.2.3 其他学校院系的相关项目与研究

1.3 本文的工作

1.4 本文的结构

第二章 相关技术综述

2.1 Jenkins

2.1.1 持续集成

2.1.2 Jenkins Pipeline

2.2 GitLab

2.3 Docker

2.3.1 Docker的架构

2.3.2 Sonatype Nexus

2.4 Kubernetes

2.5 Vue.js

2.6 本章小结

第三章 系统需求分析与概要设计

3.1 软件工程教育云考试作业管理子系统概述

3.2 考试作业管理子系统需求分析

3.2.1 考试作业管理子系统功能需求

3.2.2 考试作业管理子系统用例描述

3.3 系统总体设计与模块设计

3.3.1 SEEC系统总体设计

3.3.2 考试作业管理子系统后端设计

3.3.3 考试作业管理子系统前端设计

3.4 本章小结

第四章 系统详细设计与实现

4.1 模块综述

4.2 考试作业管理子系统实体类设计

4.3 作业创建模块

4.3.1 模块介绍

4.3.2 模块后端详细设计

4.3.3 模块后端实现

4.3.4 模块前端设计与实现

4.4 作业维护模块

4.4.1 模块介绍

4.4.2 模块后端详细设计

4.4.3 模块后端实现

4.4.4 模块前端设计与实现

4.5 在线考试模块

4.5.1 模块介绍

4.5.2 模块后端详细设计

4.5.3 模块后端实现

4.5.4 模块前端设计与实现

4.6 小组管理模块

4.6.1 模块介绍

4.6.2 模块详细设计与实现

4.7 子系统测试与监控

4.7.1 单元测试

4.7.2 集成测试

4.7.3 功能测试

4.7.4 边界测试

4.7.5 运行情况监控

4.8 本章小结

第五章 总结与展望

5.1 总结

5.2 进一步工作展望

参考文献

致谢

上一篇:我国古代茶文化论文提纲下一篇:变形监测水利水电论文提纲