Due to the work needs to build an aviation school operation management system, the management system mainly includes management functions such as student management, curriculum management, education management, curriculum management, base management, performance management, etc. It also includes a series of processes from admission to graduation. Control of students manage. The number of users is less than 200, but the possibility of external promotion is not excluded. How to develop this system from scratch, the following are my thoughts:
Development environment:
Development language: J2EE
Server: Tomcat8.0
jdk:jdk8.0
Development tool: Intellij IDEA
Database: mysq 5.*
Version Control: git
Use frame:
Maven: sub-module deployment, use the same version
SSM: a common framework for the web, using aop for logging
Shiro: maintenance of roles and permissions
Activiti: Process control, integrated into Spring, docking with shiro
redis: use redis cache, speed up
Design Principles:
1. Data dictionary
It is recommended to use the data dictionary to realize the extensibility of the program. The data dictionary is not associated with any table in the design, for the programmer's reference, and the parameters in the data dictionary are used as standard input.
2.Enum enumeration class
The enumeration class is in the form of key-value pairs of String type. When defining the enumeration class, you need to pass in parameters and provide a method for returning parameters, which can implement the general interface of the enumeration class.
3. Use maven for sub-module deployment
Divide the programs of different functional modules, such as shiro module, Activiti module, web module, etc.
4.mvc separation
The Controller layer and the Service layer need to be separated. Do not write logic in the Controller layer, but use the Controller layer to receive data; do not pass in the request value to the Service layer; the Dao layer only does data query. It is recommended to use the interface interface class and the implement implementation class in the Service layer, which is conducive to decoupling.
The above is the idea, the next step is to start coding slowly!