一个MVC的简单案例

本文介绍了一个质量分析系统的设计过程,包括需求分析、用例设计、功能模块划分、数据库设计及程序结构等内容。系统旨在收集生产数据并进行智能分析,提供稳定性判断及建议。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

正在做个一个比较蛋疼的项目,发现有些东西不知道怎么抽象出来,但是有些东西还是抽象的出来的,而且简单粗暴,有固定的套路,结合手头的资料总结一下这些相当有规律的东西。

范例:质量分析系统

0、MVC到底在说什么

clipboard.png

1、需求描述

本系统的目的是收集生产过程中的数据,并对数据进行处理、分析(调用matlab),同时给出系统的稳定性的判断,并给出智能化的建议。

  1. 普通用户需要有数据读取/写入/分析的权限。
  2. 管理员需要有管理普通用户和日志的权限,也要有要有数据读取/写入/分析的权限。

2、用例分析

clipboard.png

3、功能设计

并不完善也不是原来所需要的功能,这里所给出的功能只不过是是为了设计而设计。
在这个阶段可以顺便设计URL样式(restful等)。

clipboard.png

4、数据库设计

一个并不完整的数据库设计:

clipboard.png

5、程序结构设计

com.kms.config
com.kms.model
com.kms.action
com.kms.common
com.kms.dao
com.kms.service

6、数据模型设计

普通用户数据模型:

public class User {
        private String username;
        private String password;
        private String email;
        private String truename;
        private String identify;
        private int uid;
        private String phone;
        private String address;
        private String exist;
        private String status;
        private String group;
//省略getter、setter方法

管理员数据模型:

public class Admin {
        private String username;
        private String password;
        private String email;
        private String truename;
        private String identify;
        private int uid;
        private String phone;
        private String address;
        private String exist;
        private String status;
        private String group;
        private List<KmsLog> LogList;
//1、省略getter、setter方法
//2、发散性地说,这里的List更适合做为“在userbean中存储购物车”这种情况。

7、数据访问接口/业务逻辑接口

这段的目的就是严格按照MVC视图中的“数据访问接口”来进行编码,例如:

public interface BaseDao<T,ID extends Serializable>{
    void insert(T obj);//添加
    void update(T obj);//修改
    void delete(ID id);//跟随主键
    List<T> findAll();//查询
    List<T> findPage(int pageSize,int pageNo);//分页
    int findCount();//计算总数
}
public interface IsAdmin(){
    boolean AdminAuth(String name,String password);//判断是否是管理员的interface
}

<pre><code><br /></code></pre>

public interface LogService{//用于日志获取、增删改查
    void addLog(KmsLog kmslog);
    void deleteLog(KmsLog kmslog);
    List<KmsLog> findLogsByPage(Integer pageSize,Integer pageNo);
    Integer getLogCount();
}

8、实现接口

9、界面设计

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值