工程实践成绩分析系统设计方案

一. 项目介绍

该项目的名称为“学生成绩管理系统”。随着学校的规模不断扩大,专业、班级、学生的数量急剧增加,有关学生课的各种信息量也成倍增长,而目前许多高校的学生成绩管理仍停留在人工管理阶段,重复工作较多,工作量大,效率低。因此,迫切需要开发基于网络的学生成绩管理系统来提高管理工作的效率

二、软件设计方案

2.1软件架构

经过与老师的交流,老师建议在软件方面采用C/S模式完成本项目。

CS模式(Client Server)简称:客户端服务器。C/S结构通常采取两层结构。服务器负责数据的管理,客户机负责完成与用户的交互任务。因此客户端想要访问服务器时,必须在本机上安装客户端软件。

客户机通过局域网与服务器相连,接受用户的请求,并通过网络向服务器提出请求,对数据库进行操作。服务器接受客户机的请求,将数据提交给客户机,客户机将数据进行计算并将结果呈现给用户。服务器还要提供完善安全保护及对数据完整性的处理等操作,并允许多个客户机同时访问服务器,这就对服务器的硬件处理数据能力提出了很高的要求。在C/S结构中,应用程序分为两部分:服务器部分和客户机部分。服务器部分是多个用户共享的信息与功能,执行后台服务,如控制共享数据库的操作等;客户机部分为用户所专有,负责执行前台功能,在出错提示、在线帮助等方面都有强大的功能,并且可以在子程序间自由切换。C/S结构在技术上已经很成熟,它的主要特点是交互性强、具有安全的存取模式、响应速度快、利于处理大量数据。但是C/S结构缺少通用性,系统维护、升级需要重新设计和开发,增加了维护和管理的难度,进一步的数据拓展困难较多,所以C/S结构只限于小型的局域网图示如下:

2.2系统架构:

系统采用MVC模式。MVC模式是GUI界面开发的指导模式。它基于表现层分离的思想把程序分为三大部分:Model-View-Controller,呈三角形结构。

Model是指数据以及应用程序逻辑,View是指 Model的视图,也就是用户界面。这两者都很好理解,关键点在于Controller的角色以及三者之间的关系。在MVC模式中,Controller和View同属于表现层,通常成对出现。Controller被设计为处理用户交互的逻辑。

 

三、软件系统视图

3.1分解视图

分解视图通过将软件系统进行层次化解析来绘制出视图,使得整个软件系统可以层次分明的展示出来。

3.2依赖视图

依赖视图详细展示了一个软件系统内各模块之间的依赖关系。依赖视图基于分解视图的基础上进行绘制,用箭头表示两个模块间的数据依赖关系。

3.3泛化视图

泛化关系是类元的一般描述和具体描述之间的关系,具体描述建立在一般描述的基础之上,并对其进行了扩展。具体描述与一般描述完全一致所有特性、成员和关系,并且包含补充的信息。例如,抵押是借贷中具体的一种,抵押保持了借贷的基本特性并且加入了附加的特性,如房子可以作为借贷的一种抵押品。一般描述被称作父,具体描述被称作子如借贷是父而抵押则是子。泛化在类元(类、接口、数据类型、用例、参与者、信号等等)、包、状态机和其他元素中使用。

3.3执行流程视图

系统总体工作流程如下:

(1)系统启动,进入身份验证。

(2)初始化系统,导入数据库。

(3)进入消息循环状态,通过事件驱动激活各模块,执行各任务。

(4)一旦任务执行完毕,重新进入消息循环状态。

(5)通过事件驱动退出系统。

设计流程图如图所示:

3.4 部署视图

部署图对面向对象系统的物理方面建模,描写叙述系统执行时节点、构件实例及其对象的配置。主要用来在部署系统时涉及到的硬件(处理器和设备)进行建模。

部署图主要包含三种标记符:节点、构件和关联关系。

   (1)节点:是计算机资源的通用名称,包含处理器和设备两种类型,两者的差别在于处理器可以运行程序的硬件构件(如server、工作站),而设备是一种不具备计算能力的硬件构件(如打印机)。通过接口对外提供服务。

处理器和设备都用箱子图形表示,差别是处理器的側面有阴影。

   (2)构件:是系统中遵从同一组接口且提供事实上现的物理的、可替换的部分。

构件在部署图中成为节点。

   (3)关联关系:表示不同节点之间的通讯路径和关系。

部署图能够帮助系统的有关人员了解软件中各个构件分别用在哪些硬件上,以及这些硬件之间的交互关系。

3.5工作分配视图

展示了整个项目工作的具体分工和模块分离。

 3.6系统的用例图

(1)教师用例图

 (2)学生用例图

 (3)管理员用例

 (4)教师学生组合用例为:

3.7学生成绩存储实现图

四、数据库设计

本项目初步设计了五张数据库表,如下:

 (1)管理员表:

(2)教师信息表:

(3)学生表:

(4)课程表:

(5)成绩表:

 五、开发环境

本系统在Microsoft Windows10系统上进行开发。设计并实现过程中采用了以下开发环境:

(1)pycharm。PyCharm是一种PythonIDE,带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、版本控制。此外,该IDE提供了一些高级功能,以用于支持Django框架下的专业Web开发; 

(2)Tomcat服务器。omcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器;

(3)MySQL数据库。MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),使用最常用的数据库管理语言--结构化查询语言(SQL)进行数据库管理。MySQL是开放源代码的,因此任何人都可以在General Public License的许可下下载并根据个性化的需要对其进行修改。MySQL因为其速度、可靠性和适应性而备受关注。大多数人都认为在不需要事务化处理的情况下,MySQL是管理内容最好的选择。 

六、概念模型的工作机制

 本项目工作主要分为三点:

(1)学生

学生通过账号密码登录页面,可以进行对自己学科成绩的查询工作,完成操作后退出操作。学生通过本系统可以及时知道自己学科成绩情况。

(2)教师

教师通过自己的账号密码登录系统,随后可以上传、修改学生成绩,同时可以查询学生的成绩,以及学生的信息情况,完成操作后退出登录。教师通过本系统可以快速发布学生成绩,而且可以查询学生成绩情况,根据学生成绩分布来更改自己的教学方法。

(3)管理员

管理员通过账号密码登录系统后,可以对学生教师的信息进行管理工作,同时也可以进行成绩的查询、更改、上传等工作,完成操作后退出系统。

 七、总结

本项目旨在搭建一个学生、教师、管理员之间围绕成绩进行的沟通系统,主要目标在于学生成绩的分析操作,进而帮助教师及时调整教学方法。

 



 

posted @ 2020-12-29 16:49  陈金涛  阅读(159)  评论(0编辑  收藏  举报