重庆建站_湘潭网站制作公司_阿里巴巴java开发手册_株洲网站优化 首先我要感谢我的指导老师,指导老师在教学任务繁忙的情况下,抽出时间帮助我纠正我在设计当中出现的问题,并耐性地为我的论文作校正,是他的定期检查和指导使得我们的毕业设计高质量完成。他在我整个课题开发和设计的过程中,为程序的设计、框架的设计、代码的撰写方面以及论文框架的设计提供了很多宝贵的意见,并且为我推荐了许多有用的资料和文献,他的指导和建议使我受益匪浅,有了指导老师的辅导和指点,我论文才能够顺利完成。老师的认真负责的工作态度和治学严谨之道使我们这些即将踏入社会的毕业生受益匪浅。

">

台州网站优化

江门网站设计、网站开发需要多少钱、永久使用、不限域名、连云港网站优化

跑腿app开发?

重庆建站_湘潭网站制作公司_阿里巴巴java开发手册_株洲网站优化

  1. 系统实现
    1. 数据库连接模块的实现

该系统是通过jdbc和Mysql达成连接的,新建一个jdbc.properties文件来填写与数据库连接所需要的驱动和参数。

jdbc.driverClass=com.Mysql.jdbc.Driver

jdbc.url=jdbc:Mysql://localhost:3306/tsi

jdbc.username=root

jdbc.password=123

第一个参数代表Mysql数据库的驱动,第二个参数代表要连接的数据库,第三个和第四个参数代表数据库连接名和密码。

后台与数据库访问主要是通过HQL语句来进行查询的,查询语句中的表名是表格的实体类名,在这种查询语句中*是不允许使用的,除非适合聚合函数一起使用才可以。

    1. 登录模块的实现

为确保系统安全性,系统操作员只有在登录界面输入正确的用户名、密码、权限以及验证码,单击“登录”按钮后才能够进入本系统的主界面。

用户登录流程图如下所示。

图5-2用户登录流程图

登录界面如下图所示。

图5-3登录界面

用户登录的逻辑代码如下所示。

public function login()

    {

        if (Request::isPost()) {

            $request = Request::param();

            $result = $this->validate($request, $this->validate);

            if (true !== $result) {

                // 验证失败 输出错误信息

                $data['error'] = 30000;

                $data['message'] = $result;

            } else {

                $request['password'] = md5($request['password']);

                $result = $this->model->login($request, $this->table);

                $data = $result;

            }

        } else {

            $data['error'] = 30000;

            $data['message'] = "field的值不能为空!";

        }

        return json_encode($data);

    }

public function login($request=[],$table_name = ''){

        $username = $request['username'];

        $password = $request['password'];

        $bol = $this->where(['username'=>$username])->find();

        if ($bol){

            $password = md5($password);

            if ($request['password']==$bol['password']) {

                //添加token信息

                $access_token['create_time'] = date('Y-m-d H:i:s');

                $access_token['update_time'] = date('Y-m-d H:i:s');

$access_token['info'] = json_encode($bol);

                // $access_token['info'] = $bol;

                $access_token['token'] = md5(date('Y-m-d H:i:s'));

                $bol_token = Db::name('AccessToken')->insert($access_token);

                if ($bol_token){

                    $data['obj'] = $bol;

                    $data['obj']['token'] = $access_token['token'];

                    return ['result' => $data];

                }else{

                    return ['error' => ['code' => 5000, 'message' => '登录失败,token生成失败']];

                }

            } else {

                return ['error' => ['code' => 5000, 'message' => '登录失败,密码不正确']];

            }

        }else{

            return ['error' => ['code' => 5000, 'message' => '登录失败,账号不存在']];

        }

    }

    1. 用户模块的实现
      1. 注册模块的实现

用户输入用户名、密码、电话、姓名等必填信息后,点击注册按钮完成用户的注册。

用户注册流程图如下所示。

图5-5用户注册流程图

用户注册界面如下图所示。

图5-5用户注册界面

用户注册关键代码如下所示。

public function register()

    {

        if (Request::isPost()) {

            $request = Request::param();

            $request['create_time'] = isset($request['create_time']) ? $request['create_time'] : date('Y-m-d H:i:s');

            $request['update_time'] = isset($request['update_time']) ? $request['update_time'] : date('Y-m-d H:i:s');

            $result = $this->validate($request, $this->validate);

            if (true !== $result) {

                // 验证失败 输出错误信息

                $data['error'] = 30000;

                $data['message'] = $result;

            } else {

                $request['password'] = md5($request['password']);

                $result = $this->model->register($request, $this->table);

                $data = $result;

            }

        } else {

            $data['error'] = 30000;

            $data['message'] = "field的值不能为空!";

        }

        return json_encode($data);

    }

public function register($request=[],$table_name = ''){

        $username = $request['username'];

        $bol = $this->where(['username'=>$username])->find();

        if (!$bol){

            $result = self::allowField(true)->save($request);

            if ($result) {

                return ['result' => 1];

            } else {

                return ['error' => ['code' => 3000, 'message' => '注册失败']];

            }

        }else{

            return ['error' => ['code' => 3000, 'message' => '注册失败,账号已存在']];

        }

    }

      1. 竞赛信息模块的实现

用户点击某个竞赛信息进入竞赛详细页,点击评论按钮进入竞赛页,搜索竞赛信息。

竞赛信息流程图如下所示。

图5-9竞赛信息流程图

竞赛信息界面如图所示。

图5-10竞赛信息界面

竞赛信息关键代码如下所示。

public function avg_group()

    {

        $request = Request::param();

        if (isset($request['groupby']) && isset($request['field'])) {

            if (!empty($request['groupby']) && !empty($request['field'])) {

                $result = $this->model->avg_group($request, $this->table, $this->table_id);

                $data = $result;

            } else {

                $data['error']['code'] = 30000;

                $data['error']['message'] = "groupby或者field的值不能为空!";

            }

        } else {

            $data['error']['code'] = 30000;

            $data['error']['message'] = "groupby或者field的值不能为空!";

        }

        return json_encode($data);

    }

      1. 竞赛报请模块的实现

用户点击某个竞赛活动进入竞赛详细页,点击报名申请按钮进入报名申请页,提交报名申请信息,管理员管理用户的报名申请信息,审核报名申请信息。

竞赛报名流程图如下所示。

图5-12竞赛报名流程图

竞赛报名界面如图所示。

图5-13竞赛报名界面

竞赛报名关键代码如下所示。

public function avg()

    {

        $request = Request::param();

        if (isset($request['field'])) {

            if (!empty($request['field'])) {

                $result = $this->model->avg_field($request, $this->table, $this->table_id);

                $data = $result;

            } else {

                $data['error']['code'] = 30000;

                $data['error']['message'] = "field的值不能为空!";

            }

        } else {

            $data['error']['code'] = 30000;

            $data['error']['message'] = "field的值不能为空!";

        }

        return json_encode($data);

    }

    1. 管理员模块的实现
      1. 用户管理模块的实现

系统用户管理主要是对新用户的添加和旧用户的删除。新用户的添加主要是指添加用户名称并确定其密码;旧用户的删除也是从下拉菜单中找到对应的用户名称将其删除。不论是新用户添加还是旧用户的删除,这个权限只有管理员具有。

用户管理流程图如下所示。

图5-15用户管理流程图

用户管理界面如下图所示。

图5-16用户管理界面

系统用户管理关键代码如下所示。

public function get_obj()

    {

        $request = Request::param();

        $result = $this->model->get_obj($request, $this->table, $this->table_id, $this->table_id);

        $data['result'] = $result;

        return json_encode($data);

    }

      1. 竞赛管理模块的实现

竞赛管理功能主要指对其竞赛类型、竞赛名称、竞赛图标、报名申请等一些基本信息的添加、删除和修改。

竞赛管理流程图如下所示。

图5-19竞赛管理流程图

竞赛管理如下图所示。

图5-20竞赛管理界面

竞赛管理关键代码如下所示。

public function get_list()

    {

        $request = Request::param();

        $result['list'] = $this->model->get_list($request, $this->table, $this->table_id);

        $result['count'] = $this->model->list_count($request, $this->table, $this->table_id);

        $data['result'] = $result;

        return json_encode($data);

    }

      1. 成绩管理模块的实现

用户查看竞赛成绩信息,管理员审核竞赛成绩,发布成绩。

成绩管理流程图如下所示。

图5-25成绩管理流程图

成绩管理界面如下所示。

图5-27成绩管理界面

成绩管理关键代码如下所示。

public function get_list($request=[],$table_name = '',$table_id = ''){

        $page = 1;

        $size = $table_name == "auth" ? 100 : 10;

        $where = [];

        $order = $table_id.'_id desc';

        $field = '*';

//        echo $order;exit;

        $columns = Db::query( "show COLUMNS FROM `".$table_name."`");

        foreach($columns as $key=>$val){

            $field_name = $val['Field'];

            if(isset($request['like'])){

                if ($request['like']==true){

                    //字段模糊查询

                    if(isset($request[$field_name])){

                        $where[] = [$field_name, '=', $request[$field_name]];

                    }

                }else{

                    //字段模糊查询

                    if(isset($request[$field_name])){

                        $where[] = [$field_name, 'like', '%' . $request[$field_name] . '%'];

                    }

                }

            }else{

                //字段模糊查询

                if(isset($request[$field_name])){

                    $where[] = [$field_name, 'like', '%' . $request[$field_name] . '%'];

                }

            }

            //范围查询

            if(isset($request[$field_name.'_min'])){

                $where[] = [$field_name, '>=', $request[$field_name.'_min']];

            }

            if(isset($request[$field_name.'_max'])){

                $where[] = [$field_name, '<=', $request[$field_name.'_max']];

            }

        }

        //分页

        if (isset($request['page'])){

            $page = $request['page'];

        }

        if (isset($request['size'])){

            $size = $request['size'];

        }

        //排序

        if (isset($request['order'])){

            $order = $request['order'];

        }

        //查询字段

        if (isset($request['field'])){

            $field = $request['field'];

        }

        //模糊查询

        $list= $this->where($where)->order($order)->field($field)->page($page, $size)->select()->toArray();

        foreach($list as &$l){

         foreach($l as &$o){

         if(strpos($o,$_SERVER['HTTP_HOST']) === false){

         $o = str_replace('upload','http://'.$_SERVER['HTTP_HOST'].'/upload',$o);

         }

         }

        }

        return $list;

    }

  1. 系统测试
    1. 测试目标

系统测试是用于检查软件的质量、性能、可靠性等是否符合用户需求。一套严谨的、规范的、完善的测试过程将大大提高软件的质量、可信度、可靠性,降低软件的出错率,降低用户风险系数。通过在计算机上对系统进行测试试验并从中发现此系统中存在的问题和错误然后加以修改,使之更加符合用户需求。

1.测试的目的是通过测试来发现程序在执行过程中的错误的过程。

2.好的测试方案是可以检验出还未被发现的错误的方案。

3.好的测试是发现了到目前为止还未被发现的错误的测试。

4.该系统能够完成校园竞赛报名、校园竞赛维护、组建战队、用户维护、校园展示等功能,做到所开发的系统操作简单,尽量使系统操作不受用户对电脑知识水平的限制。

    1. 功能测试

下表是校园竞赛信息网站的测试用例,检测了校园竞赛管理中对校园竞赛信息的增加,删除,修改,查询操作是否成功运行。观察系统的响应情况,得出该功能也达到了设计目标,系统运行正确。

前置条件;用户登录系统。

表6-1 校园竞赛管理的测试用例

功能描述

用于校园竞赛管理

测试目的

检测校园竞赛管理时的各种操作的运行情况

测试数据以及操作

预期结果

实际结果

点击添加校园竞赛,必填项合法输入,点击保存

提示添加成功

与预期结果一致

点击添加校园竞赛,必填项输入不合法,点击保存

提示必填项不能为空

与预期结果一致

点击修改校园竞赛,必填项修改为空,点击保存

提示必填项不能为空

与预期结果一致

点击修改校园竞赛,必填项输入不合法,点击保存

提示必填项不能为空

与预期结果一致

点击删除校园竞赛,选择校园竞赛删除

提示删除成功

与预期结果一致

点击搜索校园竞赛,输入存在的校园竞赛名

查找出校园竞赛

与预期结果一致

点击搜索校园竞赛,输入不存在的校园竞赛名

不显示校园竞赛

与预期结果一致

下表是竞赛报名管理功能的测试用例,检测了竞赛报名管理中竞赛报名单的操作是否成功运行。观察系统的响应情况,得出该功能也达到了设计目标,系统运行正确。

前置条件;用户登录系统。

表6-2 竞赛报名管理的测试用例

功能描述

用于竞赛报名管理

测试目的

检测竞赛报名管理时各种操作的情况

测试数据以及操作

预期结果

实际结果

未选择校园竞赛,点击提交

提示请选择校园竞赛

与预期结果一致

未上传成绩,点击提交

提示请选择成绩

与预期结果一致

    1. 测试结果

根据以上测试情况,测试结果如下表所示。

表6-1测试结果表

测试项目

测试结果

登录测试

成功

修改密码测试

成功

直击现场测试

成功

校园风采测试

成功

校园竞赛报名测试

成功

组建战队测试

成功

用户管理测试

成功

竞赛管理测试

成功

战利品箱测试

成功

竞赛成绩测试

成功

长春网站建设公司瑞安网站建设公司深圳做网站公司有哪些福州seoandroid游戏开发教程免费建站网站宜昌seo怎么创建网站西安网站公司建设郴州seo温州seohybrid开发微信小程序开发价格东莞建设网站荆州seo苍南网站建设郑州app开发公司哪家好个人小程序开发哈尔滨网页设计网站团队成都app开发多少钱汕头seo桂林网站优化房产网站制作web应用开发上海建站网南山做网站公司邢台网站推广网站建设素材咸阳seo衡阳网站优化

猜你喜欢