三维协同设计平台_产品设计公司名字_北京网站建设价格对比_郑州男科医院哪家好排名

  IIS日志可以帮助我们分析蜘蛛对待网站的情况,但是很多刚刚学习的朋友并不知道该怎么去查看网站的IIS日志,简单说就是不知道该去哪里拿到IIS的日志,这也是合肥seo@不懂这段时间来亲身遇到的一种情况,所以此次开文来简单讲述下如何查看网站的IIS日志?又该如何去分析IIS日志?

">

廊坊网站建设详细方案报价

外贸人才网属于b2c企业吗?、qq开发平台、永久使用、不限域名、南京有多少个做网站的公司

徐州专业网络建站怎么偿?

三维协同设计平台_产品设计公司名字_北京网站建设价格对比_郑州男科医院哪家好排名

3 系统分析

所谓系统分析就是,管理员通过与用户客户端的沟通,所获取的信息,然后把这些信息通过需求说明书的方式展示给用户和开发人员。在软件功能发展的历史长河中,很长时间,特别是最开始的时候,需求分析的重要性并不被人们所认同,例如当时美国IBM公司为英国电信公司开发一套信息管理系统,在需求不明确的情况下开始开发,最初的工期为一年,由于需求获取不清晰导致工期推迟了半年多,造成巨大损失。我们很多软件公司也存在这种情况,边需求,边开发,甚至与客户没有沟通清楚的情况下,直接照搬同类型的项目进行更改,导致到系统验收的时候,重新更改,造成了人力、物力的极大浪费。而导致这一切后果的原因就是需求获取不及时、不清楚、不全面。

3.1 可行性分析

农产品销售信息系统主要目标是实现惠农政策、课程学习、农户商城、订单信息、物流信息、退换商品、订单评价、客服咨询、商品类型的相关信息管理服务。在确定了目标后,我们从以下四方面对能否实现本系统目标进行可行性分析。

3.1.1 技术可行性

小程序农产品销售信息系统主要采用微信小程序技术,java语言,Mysql数据库,对于应用程序的开发要求具备完整功能,使用简单的特点,并建立一个数据完整安全稳定的数据库。农产品销售信息系统的开发技术具有很高可行性,且开发人员掌握了一定的开发技术,所以系统的开发具有可行性。

3.1.2操作可行性

小程序农产品销售信息系统的登录界面简单易于操作,采用常见的界面窗口来登录界面,通过电脑进行访问操作,用户只要平时使用过电脑都能进行访问操作。此系统的开发采用微信小程序开发,后台结合java语言,这些开发环境使系统更加完善。本系统具有易操作、易管理、交互性好的特点,在操作上是非常简单的。因此本系统可以进行开发。

3.1.3 经济可行性

农产品销售信息系统是服务端基于B/S模式、java技术,客户端采用微信小程序、采用Mysql数据库储存数据,所要求的硬件和软件环境,市场上都很容易购买,程序开发主要是管理系统的开发和维护。所以程序在开发人力、财力上要求不高,而且此系统不是很复杂,开发周期短,在经济方面具有较高的可行性。

3.1.4 法律可行性

此农产品销售信息系统是自己设计的管理系统,具有很大的实际意义。因为无论是软件还是数据库,采用的都是开源代码,因此这个系统的开发和设计,并不存在侵权等问题,在法律上完全具有可行性。

综上所述,农产品销售信息系统在技术、经济、操作和法律上都具有很高的可行性,开发此程序是可行的。

3.2系统流程分析

3.2.1系统开发流程

农产品销售信息系统开发时,首先进行需求分析,进而对系统进行总体的设计规划,设计系统功能模块,数据库的选择等,本系统的开发流程如图3-1所示

图3-1系统开发流程图

3.2.2 用户登录流程

为了保证系统的安全性,要使用本系统对系统信息进行管理,必须先登陆到系统中。如图3-3所示。

图3-2 登录流程图

3.2.3 系统操作流程

用户打开客户端并进入系统后,会先显示登录界面,输入正确的用户名和密码,系统自动检测信息,若信息无误,则用户会进入系统功能界面,进行操作,否则会提示错误无法登录,操作流程如图3-3所示。

图3-3 系统操作流程图

3.2.4 添加信息流程

管理员可以对用户信息、等进行信息的添加、删除、修改,用户也可以对自己权限内的信息进行添加删除、修改等等操作,输入信息后,系统会自行验证输入的信息和数据,若信息正确,会将其添加到数据库内,若信息有误,则会提示重新输入信息,添加信息流程如图3-4所示。

图3-4 添加信息流程图

3.2.5 修改信息流程

管理员可以对职位信息、职位推荐等进行信息的修改,用户也可以对自己权限内的信息进行修改,首先进入修改信息界面,输入修改信息数据,系统进行数据的判断验证,修改信息合法则修改成功,信息更新至数据库,信息不合法则修改失败,重新输入。修改信息流程图如图3-5所示。

图3-5 修改信息流程图

3.2.6 删除信息流程

管理员可以对商品信息管理、系统管理等进行信息的删除,对要删除的信息进行选中后,点击删除按钮,系统会询问是否确定,若点击确定,则系统会删除掉选中的信息,并在数据库内对信息进行删除,删除信息流程图如图3-6所示。

图3-6 删除信息流程图

3.3用例分析

1.普通用户主要使用系统的农产品销售信息系统发布商品信息,下图所示为普通用户的用例图。

图3-1 普通用户用例图

3.管理员主要负责首页、网站管理(轮播图、公告信息)人员管理(管理员、会员用户、农户用户)内容管理(精品资讯、资讯分类)模块管理(惠农政策、课程学习、农户商城、订单信息、物流信息、退换商品、订单评价、客服咨询、商品类型)个人管理,下图所示描述管理员的用例图。

图3-3 管理员用例图

  1. 商户主要负责首页、模块管理(农户商城、订单信息、物流信息、退换商品、订单评价)个人管理、商家,下图所示描述管理员的用例图
        

3.4系统流程分析

3.4.1添加信息流程

添加信息,编号系统使用自动编号模式,没有用户填写,用户添加信息输入信息,系统将自动确认的信息和数据,验证的成功是有效的信息添加到数据库,信息无效,重新输入信息。添加信息流程如图3-3所示。

图3-3 添加信息流程图

3.4.2操作流程

用户想进入系统,首先进入系统登录界面,通过正确的用户名、密码,选择登录类型登录,系统会检查登录信息,信息正确,然后输入相应的功能界面,提示信息错误,登录失败。系统操作流程如图3-4所示。

图3-4操作流程图

3.4.3删除信息流程

用户选择要删除的信息并单击Delete按钮。系统提示是否删除信息。如果用户想要删除信息,系统将删除信息。系统数据库删除信息。删除信息流程图如图3-5所示。

3-5 删除信息流程图

4系统概述

进过系统的分析后,就开始记性系统的设计,系统设计包含总体设计和详细设计。总体设计只是一个大体的设计,经过了总体设计,我们能够划分出系统的一些东西,例如文件、文档、数据等。而且我们通过总体设计,大致可以划分出了程序的模块,以及功能。但是只是一个初步的分类,并没有真正的实现。

整体设计,只是一个初步设计,而且,对于一个项目,我们可以进行多个整体设计,通过对比,包括性能的对比、成本的对比、效益的对比,来最终确定一个最优的设计方案,选择优秀的整体设计可以降低开发成本,增加公司效益,从这一点来讲,整体设计还是非常重要的。

农产品销售信息系统工作原理图如图4-1所示:

图4-1 系统工作原理图

4.1 系统结构设计

系统架构图属于系统设计阶段,系统架构图只是这个阶段一个产物,系统的总体架构决定了整个系统的模式,是系统的基础。基于农产品销售信息系统的整体结构设计如图4-2所示。

图4-2 系统结构图

4.2数据库设计

数据库是计算机信息系统的基础。目前,电脑系统的关键与核心部分就是数据库。数据库开发的优劣对整个系统的质量和速度有着直接影响。

4.2.1 数据库设计原则

概念模式它主要是建立在数据需求分析的基础上,它通常是用概念数据模型来表示各个数据之间的联系,并且对系统用户进行信息的处理和管理,同时建立起E-R图来表示具体的实体、属性和联系的关系。

4.2.2 数据库实体

4.3 数据库设计原则

每个数据库的应用它们都是和区分开的,当运行到一定的程序当中,它就会与自己相关的协议与客户端进行通讯。那么这个系统就会对使这些数据进行连接。当我们选择哪个桥段的时候,接下来就会简单的叙述这个数据库是如何来创建的。当点击完成按钮的时候就会自动在对话框内弹出数据源的名称,在进行点击下一步即可,直接在输入相对应的身份验证和登录密码。 

农产品销售网站的数据流程:

图4-4  系统数据流程图

农产品销售信息系统实体E-R图,如图4.5所示。

图4.5实体E-R图

4.3.1 数据库表设计

数据库的表信息属于设计的一部分,下面介绍数据库中的各个表的详细信息。

commodity

字段名称

类型

长度

不是null

主键

字段说明

commodity_id

int

11

主键

商品类型ID

product_type

varchar

64

商品类型

recommend

int

11

智能推荐

create_time

datetime

0

创建时间

update_time

timestamp

0

更新时间

course_learning

字段名称

类型

长度

不是null

主键

字段说明

course_learning_id

int

11

主键

课程学习ID

course_name

varchar

64

课程名称

course_type

varchar

64

课程类型

release_date

date

0

发布日期

course_introduction

text

0

课程简介

course_cover

varchar

255

课程封面

course_video

varchar

255

课程视频

course_details

longtext

0

课程详情

hits

int

11

点击数

praise_len

int

11

点赞数

recommend

int

11

智能推荐

create_time

datetime

0

创建时间

update_time

timestamp

0

更新时间

customer_service_consultation

字段名称

类型

长度

不是null

主键

字段说明

customer_service_consultation_id

int

11

主键

客服咨询ID

member_information

int

11

会员信息

member_name

varchar

64

会员姓名

consultation_date

date

0

咨询日期

consultation_content

text

0

咨询内容

content_reply

text

0

内容回复

send_pictures

varchar

255

发送图片

recommend

int

11

智能推荐

create_time

datetime

0

创建时间

update_time

timestamp

0

更新时间

farmers_mall

字段名称

类型

长度

不是null

主键

字段说明

farmers_mall_id

int

11

主键

农户商城ID

farmer_information

int

11

农户信息

trade_name

varchar

64

商品名称

product_type

varchar

64

商品类型

commodity_price

varchar

64

商品价格

product_features

varchar

64

商品特色

product_details

text

0

商品详情

product_cover

varchar

255

商品封面

hits

int

11

点击数

praise_len

int

11

点赞数

examine_state

varchar

16

审核状态

recommend

int

11

智能推荐

create_time

datetime

0

创建时间

update_time

timestamp

0

更新时间

farmers_users

字段名称

类型

长度

不是null

主键

字段说明

farmers_users_id

int

11

主键

农户用户ID

name_of_farmers

varchar

64

农户名称

gender_of_farmers

varchar

64

农户性别

age_of_farmers

varchar

64

农户年龄

store_name

varchar

64

店铺名称

examine_state

varchar

16

审核状态

recommend

int

11

智能推荐

user_id

int

11

用户ID

create_time

datetime

0

创建时间

update_time

timestamp

0

更新时间

logistics_information

字段名称

类型

长度

不是null

主键

字段说明

logistics_information_id

int

11

主键

物流信息ID

order_no

varchar

64

订单编号

member_information

int

11

会员信息

farmer_information

int

11

农户信息

trade_name

varchar

64

商品名称

express_no

varchar

64

快递编号

express_type

varchar

64

快递类型

express_status

varchar

64

快递状态

logistics_details

text

0

物流详情

recommend

int

11

智能推荐

create_time

datetime

0

创建时间

update_time

timestamp

0

更新时间

order_evaluation

字段名称

类型

长度

不是null

主键

字段说明

order_evaluation_id

int

11

主键

订单评价ID

order_no

varchar

64

订单编号

member_information

int

11

会员信息

farmer_information

int

11

农户信息

trade_name

varchar

64

商品名称

product_type

varchar

64

商品类型

evaluation_grade

varchar

64

评价星级

evaluation_details

text

0

评价详情

evaluation_picture

varchar

255

评价图片

recommend

int

11

智能推荐

create_time

datetime

0

创建时间

update_time

timestamp

0

更新时间

order_information

字段名称

类型

长度

不是null

主键

字段说明

order_information_id

int

11

主键

订单信息ID

order_no

varchar

64

订单编号

member_information

int

11

会员信息

farmer_information

int

11

农户信息

trade_name

varchar

64

商品名称

product_type

varchar

64

商品类型

commodity_price

varchar

64

商品价格

purchase_quantity

varchar

64

购买数量

total_price_of_goods

varchar

64

商品总价

pay_state

varchar

16

支付状态

pay_type

varchar

16

支付类型: 微信、支付宝、网银

recommend

int

11

智能推荐

create_time

datetime

0

创建时间

update_time

timestamp

0

更新时间

ordinary_users

字段名称

类型

长度

不是null

主键

字段说明

ordinary_users_id

int

11

主键

会员用户ID

member_name

varchar

64

会员姓名

member_gender

varchar

64

会员性别

membership_age

varchar

64

会员年龄

examine_state

varchar

16

审核状态

recommend

int

11

智能推荐

user_id

int

11

用户ID

create_time

datetime

0

创建时间

update_time

timestamp

0

更新时间

preferential_agricultural_policy

字段名称

类型

长度

不是null

主键

字段说明

preferential_agricultural_policy_id

int

11

主键

惠农政策ID

policy_name

varchar

64

政策名称

policy_type

varchar

64

政策类型

release_date

date

0

发布日期

policy_introduction

text

0

政策简介

policy_cover

varchar

255

政策封面

policy_video

varchar

255

政策视频

policy_details

longtext

0

政策详情

hits

int

11

点击数

praise_len

int

11

点赞数

recommend

int

11

智能推荐

create_time

datetime

0

创建时间

update_time

timestamp

0

更新时间

returns

字段名称

类型

长度

不是null

主键

字段说明

returns_id

int

11

主键

退换商品ID

order_no

varchar

64

订单编号

member_information

int

11

会员信息

farmer_information

int

11

农户信息

trade_name

varchar

64

商品名称

product_type

varchar

64

商品类型

commodity_price

varchar

64

商品价格

purchase_quantity

varchar

64

购买数量

total_price_of_goods

varchar

64

商品总价

application_type

varchar

64

申请类型

application_details

text

0

申请详情

examine_state

varchar

16

审核状态

examine_reply

varchar

16

审核回复

recommend

int

11

智能推荐

create_time

datetime

0

创建时间

update_time

timestamp

0

更新时间

5系统界面实现

5.1 登录

管理员输入个人的账号、密码登录系统,这时候系统的数据库就会在进行查找相关的信息,如果我们输入的账号、密码不正确,数据库就会提示出错误的信息提示,同时会提示管理员重新输入自己的账号、密码,直到账号密码输入成功后,会提示登录成功的信息。管理员登录效果图如图5.1所示:

     

图5.1登录界面

登录代码如下:

/**

     * 登录

     * @param data

     * @param httpServletRequest

     * @return

     */

    @PostMapping("login")

    public Map<String, Object> login(@RequestBody Map<String, String> data, HttpServletRequest httpServletRequest) {

        log.info("[执行登录接口]");

        String username = data.get("username");

        String email = data.get("email");

        String phone = data.get("phone");

        String password = data.get("password");

        List resultList = null;

        Map<String, String> map = new HashMap<>();

        if(username != null && "".equals(username) == false){

            map.put("username", username);

            resultList = service.select(map, new HashMap<>()).getResultList();

        }

        else if(email != null && "".equals(email) == false){

            map.put("email", email);

            resultList = service.select(map, new HashMap<>()).getResultList();

        }

        else if(phone != null && "".equals(phone) == false){

            map.put("phone", phone);

            resultList = service.select(map, new HashMap<>()).getResultList();

        }else{

            return error(30000, "账号或密码不能为空");

        }

        if (resultList == null || password == null) {

            return error(30000, "账号或密码不能为空");

        }

        //判断是否有这个用户

        if (resultList.size()<=0){

            return error(30000,"用户不存在");

        }

        User byUsername = (User) resultList.get(0);

        Map<String, String> groupMap = new HashMap<>();

        groupMap.put("name",byUsername.getUserGroup());

        List groupList = userGroupService.select(groupMap, new HashMap<>()).getResultList();

        if (groupList.size()<1){

            return error(30000,"用户组不存在");

        }

        UserGroup userGroup = (UserGroup) groupList.get(0);

        //查询用户审核状态

        if (!StringUtils.isEmpty(userGroup.getSourceTable())){

            String sql = "select examine_state from "+ userGroup.getSourceTable() +" WHERE user_id = " + byUsername.getUserId();

            String res = String.valueOf(service.runCountSql(sql).getSingleResult());

            if (res==null){

                return error(30000,"用户不存在");

            }

            if (!res.equals("已通过")){

                return error(30000,"该用户审核未通过");

            }

        }

        //查询用户状态

        if (byUsername.getState()!=1){

            return error(30000,"用户非可用状态,不能登录");

        }

        String md5password = service.encryption(password);

        if (byUsername.getPassword().equals(md5password)) {

            // 存储Token到数据库

            AccessToken accessToken = new AccessToken();

            accessToken.setToken(UUID.randomUUID().toString().replaceAll("-", ""));

            accessToken.setUser_id(byUsername.getUserId());

            tokenService.save(accessToken);

            // 返回用户信息

            JSONObject user = JSONObject.parseObject(JSONObject.toJSONString(byUsername));

            user.put("token", accessToken.getToken());

            JSONObject ret = new JSONObject();

            ret.put("obj",user);

            return success(ret);

        } else {

            return error(30000, "账号或密码不正确");

        }

}

5.2  管理员功能模块

 管理员首页

管理员可以查看后台服务端后台首页、网站管理(轮播图、公告信息)人员管理(管理员、会员用户、农户用户)内容管理(精品资讯、资讯分类)模块管理(惠农政策、课程学习、农户商城、订单信息、物流信息、退换商品、订单评价、客服咨询、商品类型)个人管理等操作。管理员服务端效果图如图5.2所示。

图5.2管理员服务端界面图

管理员功能页代码如下:

   @RequestMapping("/get_obj")

    public Map<String, Object> obj(HttpServletRequest request) {

        Query select = service.select(service.readQuery(request), service.readConfig(request));

        List resultList = select.getResultList();

        if (resultList.size() > 0) {

            JSONObject jsonObject = new JSONObject();

            jsonObject.put("obj",resultList.get(0));

            return success(jsonObject);

        } else {

            return success(null);

        }

}

 public Query select(Map<String,String> query,Map<String,String> config){

        StringBuffer sql = new StringBuffer("select ");

        sql.append(config.get(FindConfig.FIELD) == null || "".equals(config.get(FindConfig.FIELD)) ? "*" : config.get(FindConfig.FIELD)).append(" ");

        sql.append("from ").append("`").append(table).append("`").append(toWhereSql(query, "0".equals(config.get(FindConfig.LIKE))));

        if (config.get(FindConfig.GROUP_BY) != null && !"".equals(config.get(FindConfig.GROUP_BY))){

            sql.append("group by ").append(config.get(FindConfig.GROUP_BY)).append(" ");

        }

        if (config.get(FindConfig.ORDER_BY) != null && !"".equals(config.get(FindConfig.ORDER_BY))){

            sql.append("order by ").append(config.get(FindConfig.ORDER_BY)).append(" ");

        }

        if (config.get(FindConfig.PAGE) != null && !"".equals(config.get(FindConfig.PAGE))){

            int page = config.get(FindConfig.PAGE) != null && !"".equals(config.get(FindConfig.PAGE)) ? Integer.parseInt(config.get(FindConfig.PAGE)) : 1;

            int limit = config.get(FindConfig.SIZE) != null && !"".equals(config.get(FindConfig.SIZE)) ? Integer.parseInt(config.get(FindConfig.SIZE)) : 10;

            sql.append(" limit ").append( (page-1)*limit ).append(" , ").append(limit);

        }

        log.info("[{}] - 查询操作,sql: {}",table,sql);

        return runEntitySql(sql.toString());

    }

用户信息管理

管理员对用户信息管理进行审核等操作,并可进行进行删除、修改、查看等操作。用户信息管理效果图如图5.3所示。

图5.3用户信息管理界面图

用户管理代码如下:

   @RequestMapping("/get_list")

    public Map<String, Object> getList(HttpServletRequest request) {

        Map<String, Object> map = service.selectToPage(service.readQuery(request), service.readConfig(request));

        return success(map);

}

商品信息管理

管理员对商品信息进行管理审核、查看、编辑等操作。商品信息效果图如图5.4所示。

图5.4商品信息界面图

商品信息代码如下:

 @PostMapping("/upload")

    public Map<String, Object> upload(@RequestParam("file") MultipartFile file) {

        log.info("进入方法");

        if (file.isEmpty()) {

            return error(30000, "没有选择文件");

        }

        try {

            //判断有没路径,没有则创建

            String filePath = System.getProperty("user.dir") + "\target\classes\static\upload\";

            File targetDir = new File(filePath);

            if (!targetDir.exists() && !targetDir.isDirectory()) {

                if (targetDir.mkdirs()) {

                    log.info("创建目录成功");

                } else {

                    log.error("创建目录失败");

                }

            }

            String fileName = file.getOriginalFilename();

            File dest = new File(filePath + fileName);

            log.info("文件路径:{}", dest.getPath());

            log.info("文件名:{}", dest.getName());

            file.transferTo(dest);

            JSONObject jsonObject = new JSONObject();

            jsonObject.put("url", "/api/upload/" + fileName);

            return success(jsonObject);

        } catch (IOException e) {

            log.info("上传失败:{}", e.getMessage());

        }

        return error(30000, "上传失败");

}

订单管理

管理员对订单管理编辑提交、确认、发布、审核等操作。订单管理效果图如图5.5所示。

图5.5订单界面图

订单管理代码如下:

 @PostMapping("/add")

    @Transactional

    public Map<String, Object> add(HttpServletRequest request) throws IOException {

        service.insert(service.readBody(request.getReader()));

        return success(1);

    }

    @Transactional

    public Map<String, Object> addMap(Map<String,Object> map){

        service.insert(map);

        return success(1);

}

    public Map<String,Object> readBody(BufferedReader reader){

        BufferedReader br = null;

        StringBuilder sb = new StringBuilder("");

        try{

            br = reader;

            String str;

            while ((str = br.readLine()) != null){

                sb.append(str);

            }

            br.close();

            String json = sb.toString();

            return JSONObject.parseObject(json, Map.class);

        }catch (IOException e){

            e.printStackTrace();

        }finally{

            if (null != br){

                try{

                    br.close();

                }catch (IOException e){

                    e.printStackTrace();

                }

            }

        }

        return null;

}

    public void insert(Map<String,Object> body){

        StringBuffer sql = new StringBuffer("INSERT INTO ");

        sql.append("`").append(table).append("`").append(" (");

        for (Map.Entry<String,Object> entry:body.entrySet()){

            sql.append("`"+humpToLine(entry.getKey())+"`").append(",");

        }

        sql.deleteCharAt(sql.length()-1);

        sql.append(") VALUES (");

        for (Map.Entry<String,Object> entry:body.entrySet()){

            Object value = entry.getValue();

            if (value instanceof String){

                sql.append("'").append(entry.getValue()).append("'").append(",");

            }else {

                sql.append(entry.getValue()).append(",");

            }

        }

        sql.deleteCharAt(sql.length() - 1);

        sql.append(")");

        log.info("[{}] - 插入操作:{}",table,sql);

        Query query = runCountSql(sql.toString());

        query.executeUpdate();

    }

5.3用户客户端功能模块

用户注册

用户注册在登陆页面填写账号、密码、邮箱、手机昵称、姓名等信息,进行注册如图5.7所示

图5.7用户注册界面图

注册代码如下:

/**

     * 注册

     * @param user

     * @return

     */

    @PostMapping("register")

    public Map<String, Object> signUp(@RequestBody User user) {

        // 查询用户

        Map<String, String> query = new HashMap<>();

        query.put("username",user.getUsername());

        List list = service.select(query, new HashMap<>()).getResultList();

        if (list.size()>0){

            return error(30000, "用户已存在");

        }

        user.setUserId(null);

        user.setPassword(service.encryption(user.getPassword()));

        service.save(user);

        return success(1);

}

/**

     * 用户ID:[0,8388607]用户获取其他与用户相关的数据

     */

    @Id

    @GeneratedValue(strategy = GenerationType.IDENTITY)

    @Column(name = "user_id")

    private Integer userId;

    /**

     * 账户状态:[0,10](1可用|2异常|3已冻结|4已注销)

     */

    @Basic

    @Column(name = "state")

    private Integer state;

    /**

     * 所在用户组:[0,32767]决定用户身份和权限

     */

    @Basic

    @Column(name = "user_group")

    private String userGroup;

    /**

     * 上次登录时间:

     */

    @Basic

    @Column(name = "login_time")

    private Timestamp loginTime;

    /**

     * 手机号码:[0,11]用户的手机号码,用于找回密码时或登录时

     */

    @Basic

    @Column(name = "phone")

    private String phone;

    /**

     * 手机认证:[0,1](0未认证|1审核中|2已认证)

     */

    @Basic

    @Column(name = "phone_state")

    private Integer phoneState;

    /**

     * 用户名:[0,16]用户登录时所用的账户名称

     */

    @Basic

    @Column(name = "username")

    private String username;

    /**

     * 昵称:[0,16]

     */

    @Basic

    @Column(name = "nickname")

    private String nickname;

    /**

     * 密码:[0,32]用户登录所需的密码,由6-16位数字或英文组成

     */

    @Basic

    @Column(name = "password")

    private String password;

    /**

     * 邮箱:[0,64]用户的邮箱,用于找回密码时或登录时

     */

    @Basic

    @Column(name = "email")

    private String email;

    /**

     * 邮箱认证:[0,1](0未认证|1审核中|2已认证)

     */

    @Basic

    @Column(name = "email_state")

    private Integer emailState;

    /**

     * 头像地址:[0,255]

     */

    @Basic

    @Column(name = "avatar")

    private String avatar;

    /**

     * 创建时间:

     */

    @Basic

    @Column(name = "create_time")

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")

    private Timestamp createTime;

    @Basic

    @Transient

    private String code;

}

用户信息

在用户信息页面用户信息可以进行添加、查看、编辑基本信息、收货地址、收藏、订单、购物车等操作如图5.8所示。

图5.8用户信息界面图

   前台首页

用户对查看首页详情页面,如图5.9所示。

图5.9前台首页功能界面图

   产品展示列表

产品展示详情页面可查看名称、产品图片、价格、加入购物车等操作,如图5.10所示。

图5.10产品展示界面图

订单详情

订单列表详情页面可订单状态、收货地址、电话、购买商品、价格、订单编号、下单时间等信息,如图5.11所示。

图5.11订单界面图

6系统测试

系统开发的最后一个步骤就是系统测试,系统测试也是整个系统十分重要的一个环节,测试的好坏关系到产品的发展。客户对软件的质量、性能和可靠性等需求就要通过测试来实现。测试过程要必须遵循严谨性、完善性、规范性的原则,测试的主要目的就是看看在系统运行中,是否会出现bug,然后对出现的bug进行调试,直到程序完美运行。但是软件的测试只能尽可能的减少bug,理论上来说是无法达到消除bug。但是bug越少,系统出错的几率就越低,用户使用起来也更方便、更安全。

近年来,软件包含测试从现在的检验当中来看,系统接近预期目标可能出现的问题,并对这些错误做出相应的修正,假如我们不进行早期的测试错误就会延续下去,最后所做出的成品就会有很大的困难。

我们要在这个测试的过程当中找出错误。测试成软件开发的主要一部分,自从有了程序的设计那天开始,它就成为了重要的组成部分。经过统计来看,软件测试可以占据这个系统45%的工作量,而在软件开发的成本当中,对于测试成本来说它包含了很多的测试工作。每个程序测试时都会出现和遇到错误。在整个程序的开发过程当中,人为去查找错误是非常复杂和困难的,所以我们一般都会找一些测试的工具来进行测试

6.1系统测试的意义

随着现代信息的快速发展,在社会各大领域中已经都开始应用网络信息技术,在应用网络技术的同时人们也开始把软件的质量问题作为了一个重要焦点来关注,因为一个软件的好与坏它决定着这个系统在市场上的生存,所以我们必须要把软件质量来做好,这样才有一定的生存能力。对于用户来说它们首先选用的都是保证这个系统软件的质量问题,因为一个系统的软件质量决定着用户在后期上成本经济的问题。图6-1就是纠错测试流程。

图6-1 测试与纠错信息流程

6.2 测试方法

具体测试方法包括:黑盒测试和白盒测试。

黑盒测试又被人们称作为功能测试,通常是在程序的接口来做一些测试的方法,它一般包括对程序的功能和使用的方法来做出一些数据的接受和输出,同时还可以做出正确的输出信息,并保证与外部信息的完整性。

白盒测试通常被人们称作为结构测试,在整个程序的结构和处理当中它是由程序当中的逻辑测试和检验程序来完成一些正确的工作。

具体的功能测试它是包括:系统的适用性、准确性、安全性等功能测试。

6.3测试分析

本农产品销售信息系统满足相关信息的管理需求,在设计时借鉴了国内外优秀网站的优点,从界面到系统设计都保证了管理员以及用户能够方便操作。系统的主要特点和优点归纳如下:

(1)本系统用的移置性和针对性都比较高,因为针对性高可以提供更好的服务而移置性可以在多个系统上运行,更给用户带来了极大的方便。

(2)该农产品销售信息系统内容全面,管理方便可以及时的全面的处理各种错误,异常,这样避免了很多因用户的马虎操作而出现的失误,其操作方便,用户界面友好,能够上网的人都可以很好的进行操作。

经过对上述的测试结果分析,所有基本功能齐全,操作简单,系统运行性能良好,系统安全可靠,能促进农产品销售信息系统的发展,发展前景广阔。

青岛网站策划搭建国精产品wk5777外包公司入职注意产品开发平台app开发一个商城需要多少钱网站设计师的要求抚州网络公司室内软装设计怎么自学南京网络公司 价格上海第一招聘网官网接单做单平台网站建站需要的费用信息网怎么发布信息h5前端开发工资一般是多少上海企业年报网上申报在哪里查公司的注册信息高清宣传片制作拍摄公司网络广告推广在哪里比较好网站设计怎么做到专业化王爷请纳妾免费阅读成品网站w灬源码13网址大全一hao123上网导航合肥网站制作公司哪里有什么是网站内容社区团购四种营销策略商会网站建设需要多少钱做网站建设的公司网站设计电子商务系统开发百度网站制作软件好的网站定制开发

猜你喜欢

  • 友情链接:
  • 如何注册域名? 深圳公司验资 重庆社区 信息流推广代运营 重庆企业建站服务网站开发 php网站建设方案