运动会成绩系统设计与分析.docx

上传人:b****6 文档编号:3798706 上传时间:2022-11-25 格式:DOCX 页数:33 大小:899.06KB
下载 相关 举报
运动会成绩系统设计与分析.docx_第1页
第1页 / 共33页
运动会成绩系统设计与分析.docx_第2页
第2页 / 共33页
运动会成绩系统设计与分析.docx_第3页
第3页 / 共33页
运动会成绩系统设计与分析.docx_第4页
第4页 / 共33页
运动会成绩系统设计与分析.docx_第5页
第5页 / 共33页
点击查看更多>>
下载资源
资源描述

运动会成绩系统设计与分析.docx

《运动会成绩系统设计与分析.docx》由会员分享,可在线阅读,更多相关《运动会成绩系统设计与分析.docx(33页珍藏版)》请在冰豆网上搜索。

运动会成绩系统设计与分析.docx

运动会成绩系统设计与分析

基于UML的

运动会成绩统计系统设计

1问题描述

1.1运动会成绩统计系统包括个人成绩统计,单项成绩统计和团体成绩统计。

1.2个人成绩统计即指该参赛者的所参与的各项运动后的单项成绩统计。

1.3单项成绩统计即指某一项比赛项目的成绩统计,分为男子组和女子组。

1.4团体成绩统计是按学员分组统计学院的得分,从而得出团体成绩的分数和排名。

2用户需求

2.1用户的身份识别

系统的用户分为一般的用户(指包括参赛者在内的学生)和运动会成绩的统计人员。

一般的用户只能查询运动会的成绩,运动会成绩的统计人员负责将成绩写入和修改。

2.2运动会成绩输入

运动会成绩的统计人员能将运动会的成绩写入系统,包括参与者编号,参与者的学院,学号,姓名,性别,项目,成绩,分数和名次等等。

2.3运动会成绩修改

记分员能通过输入参赛者的编号和项目,对该参赛者所参与的项目的成绩进行修改。

2.4运动会成绩浏览和查询

数据输入完毕后,用户可通过菜单查询到以下内容:

2.4.1输入参赛者的编号能查询该参赛者所参加的所有项目的成绩情况。

2.4.2通过选择学院,查看某学院的团体总分和名次。

2.4.3通过选择某项比赛项目(分为男子组和女子组),能够查看参加了该项目的各个运动员的成绩。

3系统分析

3.1系统的用例模型建模

3.1.1用户类划分

用户类

说明

记分员

这个运动会成绩统计系统的成绩输入工作主要由运动会的记分员输入运动的成绩,在作完输入成绩的工作后可以对成绩进行查看和修改。

学生

学生是包括参赛者在内的学生,可以查看运动会的各个成绩。

3.1.2核心用例的用例图

顶层用例图:

 

顶层的用例图包含如下用例:

(1)登陆系统。

用户凭借账号和密码进行登录系统。

(2)学生登进系统。

学生进入学生登录后的页面。

(3)记分员登进系统。

记分员进入记分员登录后的页面。

【用例图描述】

参与者:

用户(包括学生和记分员)

用户凭自己的账号和密码登录系统,根据身份的选择,进入不同的登进界面。

分解用例图1:

 

此用例图包含如下用例:

(1)登陆系统。

记分员凭借账号和密码进行登录系统。

(2)输入成绩。

记分员输入成绩。

(3)修改成绩。

记分员修改成绩。

【用例图描述】

参与者:

记分员

用户凭自己的账号和密码登录系统,进入记分员的登进界面,进行成绩的输入操作和修改成绩操作。

只有先正确登陆系统,才能进行查询和修改操作。

即记分员的账号必须在数据库中存在,这样的记分员才是合法的用户。

分解用例图2:

 

 

此用例图包含如下用例:

(1)登陆系统。

学生凭借学号和密码进行登录系统。

(2)查看成绩表。

学生可以查看运动会成绩的统计表。

【用例图描述】

参与者:

学生

学生凭自己的学号和密码登录系统,进入学生的登进界面,进行查看运动会成绩表的操作。

只有先正确登陆系统,才能进行查询和修改操作。

即学生的学号必须在数据库中存在,这样的学生才是合法的用户。

分解用例图2.1:

学生登录系统用例

 

【用例图描述】

参与者:

学生

学生凭自己的学号和密码登录系统,进入学生的登进界面。

分解用例图2.2:

学生查看单项成绩统计用例

 

【用例图描述】

参与者:

学生

学生通过选择某项比赛项目(分为男子组和女子组),能够查看参加了该项目的各个运动员的成绩表。

分解用例图2.3:

学生查看个人成绩统计用例

 

【用例图描述】

参与者:

学生

学生通过输入参赛者的编号能查看该参赛者所参加的所有项目的成绩情况表。

分解用例图2.4:

学生查看团体成绩统计用例

 

【用例图描述】

参与者:

学生

学生通过选择学院,查看某学院的团体总分和名次表。

3.2分析类图的描述

经过分析,在运动会成绩统计系统中用到的主要类有6个:

登录类(MyFrame),管理员窗口类(ManagerFrame),学生窗口类(StudentFrame),个人成绩表类(PersonalGame),团体成绩表类(TeamGame),单项成绩表类(SingleGame)。

4系统设计

4.1核心用例的设计类图建模

(类图见下页)

 

 

【类图说明】

(1)MyFrame类是登录类,它的属性有窗口大小(size)、控件的种类(controler)、窗口背景(backgroundcolor),主要操作有生成界面(open)、身份识别(checkInfo)和选择登进窗口(selectFrame)。

(2)ManagerFrame类是管理员窗口类,它的属性有窗口大小(size)、控件的种类(controler)、窗口背景(backgroundcolor),主要操作有输入成绩(addScore)和修改成绩(updateScore)。

(3)StudentFrame类是学生窗口类,它的属性有窗口大小(size)、控件的种类(controler)、窗口背景(backgroundcolor),主要操作是生成不同的表(selectFrame)。

(4)PersonalGame类是个人成绩表类,它的属性有窗口大小(size)、控件的种类(controler)、窗口背景(backgroundcolor),主要操作有查找编号(selectSID)和显示成绩(showScore)。

(5)TeamGame类是团体成绩表类,它的属性有窗口大小(size)、控件的种类(controler)、窗口背景(backgroundcolor),主要操作有选择学院(selectCollege)、计算该学院总分(calculateTotalScore)、计算该学院总名次(calculateTotalRanking)和显示成绩(showScore)。

(6)SingleGame类是单项成绩表类,它的属性有窗口大小(size)、控件的种类(controler)、窗口背景(backgroundcolor),主要操作有选择比赛项目(selectEvent)、选择组别(selectSex)和显示成绩(showScore)。

4.2核心用例的顺序图建模

4.2.1学生登录用例顺序图

 

4.2.2记分员登录用例顺序图

 

4.2.3记分员输入成绩用例顺序图

 

4.2.4记分员修改成绩用例顺序图

 

4.2.5学生查看个人成绩统计表用例顺序图

 

4.2.6学生查看单项成绩统计表用例顺序图

 

4.2.7学生查看团体成绩统计表用例顺序图

 

4.3核心用例的状态图建模

4.2.1学生登录用例状态图

 

4.2.2学生查看单项成绩统计表用例状态图

 

4.2.3学生查看个人成绩统计表用例状态图

 

4.2.4学生查看团体成绩统计表用例状态图

 

4.2.5记分员登录用例状态图

 

4.2.6记分员输入成绩用例状态图

 

4.2.7记分员修改成绩用例状态图

 

4.4组件图建模

通过分析,对系统的业务构建组件图如下:

 

【组件图说明】

该系统的项目包是sports,分有三个组件,一个是逻辑组件(logicConponent),一个是视图组件(viewComponent),另一个是数据库(database)。

逻辑组件负责总体协调,并且与数据库组件相连,在数据库中提取相关信息并进行有关的计算。

数据库组件是存储数据信息,系统的后台。

视图组件是负责显示系统的界面显示,是用户看见的界面,也是用户和系统的接口。

 

5系统实施

5.1信息代码设计

本次的系统设计的开发环境是NetBeansIDE6.0,JDK1.5。

在代码设计阶段,一共设计8个类,每个类实现不同的功能,具体如下:

Sports.java:

是项目的入口,主类。

该类的功能是生成系统的登录界面,通过newMyFrame(),显示用户登录界面,用户输入账号密码,并选择权限,系统能判断其合法性,进入不同的登进界面。

ErrorDialog.java:

该类是关于当用户输入的信息不存在或者系统运行时出错时,用来生成“提示错误”的对话框的。

ManagerFrame.java:

该类是关于记分员成功登录进系统后用来生成添加成绩和修改成绩界面的,记分员要修改成绩,需输入参赛者的编号和项目名称,此时系统将数据库中的信息输出到窗口中,记分员再进行修改。

StudentFrame.java:

该类是关于学生成功登录进系统后用来生成界面的,以选择希望查看的成绩表。

PersonalGame.java:

该类是关于学生选择查看个人成绩表后用来生成界面的,学生输入参赛者编号,此时系统将数据库中的信息输出到窗口中,便可以查看成绩。

SingleGame.java:

该类是关于学生选择查看单项成绩表后用来生成界面的,学生选择项目和组别,此时系统将数据库中的信息输出到窗口中,便可以查看成绩。

TeamGame.java:

该类是关于学生选择查看团体成绩表后用来生成界面的,学生选择学院,此时系统将查找数据库中的信息,再计算总成绩和名次并输出到窗口中,便可以查看成绩。

 

5.2数据库设计

此次系统采用的数据库是MySQL。

本次系统设计两张表,一张表记录

的是用户的信息,即用户名和密码;

另一张表记录的是运动会的全部成绩。

 

5.2.1用户信息表

user(SID,SNAME,SKEY)

该表存储的是用户的账号,姓名和密码,其中对于学生而言就是学号和密码。

 

5.2.2运动会成绩表

totalgame(SID,SNAME,SSEX,SDEPT,SAGE,EVENT,RESULT,SCORE,RANKING)

该表存储的是运动会的成绩,即参赛者编号,姓名,性别,学院,年龄,项目,成绩,分数和名次。

 

5.3输入设计、输出设计的描述

本次设计的系统,在输入的设计上,是应该使用者与系统有较强的交互性,界面简洁明了,并且在使用者进行相关的操作时有一定的提示。

而且考虑到不同权限的使用者,所以通过系统登录的界面应该是不一样的。

另外,当使用者使用该系统的登录界面登录系统的时候,系统要对用户身份的合法性进行判断,这是系统安全性的体现。

在输出的设计上,也是考虑到了人性化。

将系统查找后的结果输出到文本区,并显示列名。

在登录系统的时候,如果身份不合法,通过弹出对话框给出提示。

在用户输入密码的时候,密码不能直接显示在屏幕上,而是以“*”的形式显示,这都是体现了系统的安全性能。

当用户使用该系统时,如果操作失败,系统也会弹出对话框给予提示。

这将用户操作的结果明朗化了。

 

6用户界面设计和处理过程的设计的描述

6.1用户登录界面

 

当用户输入了账号和密码后要选择自己的权限,是学生还是记分员。

这样系统判断用户合法后会跳到不同的界面。

6.2当用户的权限不一样会跳转到不同的界面

6.2.1当用户是学生权限时,进入系统后所看见的界面

 

此时学生可以选择自己想看的成绩统计表,进入不同的界面。

6.2.2当用户是记分员的权限时,进入系统后所看见的界面

 

6.4学生选择“查看团体成绩统计表”后系统跳转的界面

 

6.3学生选择“查看单项成绩统计表”后系统跳转的界面

 

6.5学生选择“查看个人成绩统计表”后系统跳转的界面

 

7系统测试

测试是采用测试用例执行软件的活动。

测试有两个显著目标:

找出失效,或演示正确的执行。

在对每个模块的编码后,对程序本身,采用结构性测试的方法,主要是采用路径测试的方法。

在将各个模块集成后,采用功能性测试的方法,主要是采用划分等价类的方法,从输入的正确和错误两个方面分别设计不同的测试用例,测试过程和结果如下所示:

7.1登录的测试

7.1.1当输入正确用户名和密码后,可以成功登录。

即输入的账号是1111,密码是1111,并选择记分员的权限。

 

7.1.2当输入的用户名和密码不匹配时,不能成功登录

即输入的账号是1111,密码是0101,并选择记分员的权限时,登录失败,并且系统给出提示。

 

 

7.1.3当输入的用户名并不存在时,不能成功登录

即输入的账号是1000,密码是1111,并选择记分员的权限时,登录失败,并且系统给出提示。

 

7.2记分员输入成绩的测试

 

此时查看数据库:

 

7.3记分员修改成绩的测试

首先输入参赛者的编号和和项目名称。

 

 

点击修改成绩的按钮后,

系统查找数据库,能将要

修改的信息显示到窗口中。

(如右图所示)

 

修改相应的成绩后点击确定后

 

此时查看数据库,“张力”的成绩如下:

 

7.4学生查看单项成绩的测试

7.4.1学生查看的单项成绩存在

选择下拉列表中的项目,并选择组别(男子组或女子组),再按确定。

 

7.4.2学生查看的单项成绩不存在(或者暂时没有输入)

 

7.5学生查看团体成绩的测试

学生选择学院,再点击确定按钮。

 

注:

学院的总成绩是动态的,系统是根据当前数据库中的数据计算的,如果个人的分数变化,总分也会跟着变化。

7.6学生查看个人成绩的测试

7.6.1学生查看的个人成绩存在

 

7.6.2学生查看的个人成绩不存在

 

8设计的特点、不足、收获与体会

8.1设计的特点、不足

本次设计通过需求的调研,再利用RationalRose建模工具,建立UML图,进一步明确了系统需要实现的功能和步骤。

最后通过面向对象的编程思想,每个类各尽其责,集成后再完成所需的功能。

只是不足的是界面的设计还不够大气,而且应该多站在使用者的角度思考问题。

在具体输入成绩的这个功能上,缺少批量输入的功能,还需改进。

8.2收获和体会

通过三个星期的课程设计,从前期的准备到编码到最后测试完成撰写课程设计报告,收获和体会颇多。

要想编写出一个优秀的满足客户需求的软件,前期的需求分析是相当重要的工作,而且在系统设计的过程中,对UML建模又进行了一次系统的学习。

在设计信息代码的时候,将功能分到不同的类中实现,在编码的时候,多次在小问题上卡住,但最后还是在自己的思考和向其他同学请教、相互讨论之后,将问题解决掉。

可以说这三个星期的综合设计,让我学习到了很多很多。

9参考文献

[1]张友生,软件体系结构,北京:

清华大学出版社,2004年1月

[2]王少锋,面向对象技术UML教程,清华大学出版社,2004年2月

[3]赵文耘等译,需求工程,机械工业出版社,2003年8月

[4]王珊,数据库系统简明教程,高等教育出版社,2004年9月

[5]余雪丽,软件体系结构与实例分析,科学出版社,2004年10月

[6]王智学,ROSE对象建模方法与技术,机械工业出版社,2003年7月

[7]PaulC.Jorgensen(著)韩柯,杜旭涛(译),机械工业出版社,2003年7月

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1