A human affairs management system is planned to be developed recently. The purpose of this system is to manage the personnel transfer of government agencies, enterprises, and institutions.
I. Requirements Overview
From the project requirement book, we can know that the system must contain six modules, which are as follows:
- System settings-includes four parts: user management, unit region settings, unit nature settings, and option Maintenance
- Organization Management-Maintenance of organization information
- Transfer entry-Step 1: transfer and transfer; Step 2: individual transfer and overall transfer. After the personnel transfer entry is complete, the transfer approval card should be printed
- Transfer approval-the transfer materials signed by the leadership must be input for approval by the System
- Export query-export an Excel table based on query Conditions
- System Backup-back up and restore system data
|
- The following is an example diagram:
|
Ii. overall architecture
Considering the usage of the system, I plan to use the C/S architecture to implement the personnel management system:
Below are some of my original ideas:
- for ORM operations, you can use the ADO. NET Entity Framework. The EF design retains high scalability in many places. On this basis, I plan to use SQL Server compact edition for development and testing during development.
- adopts the warehousing mode and SRP based on the single responsibility principle, and encapsulates Data Access Using Scattered classes.
- in terms of user permissions-considering the user usage of the system, the customer does not need to set complex permissions currently. Therefore, I think the following design can meet the current needs:
- logs key operations and exceptions for query.
- Use xunit/Moq for unit testing.
- use the common service locator to abstract IOC containers.