Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
I
inspect
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
912协同工作系统
项目监控管理工具
inspect
Commits
08b6110c
提交
08b6110c
authored
6月 03, 2020
作者:
马晨俊
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
mcj:
补充文档
上级
6ceead68
隐藏空白字符变更
内嵌
并排
正在显示
4 个修改的文件
包含
286 行增加
和
0 行删除
+286
-0
软件系统AK适配预算方法.pdf
doc/评估系统所有文档/软件系统AK适配预算方法.pdf
+0
-0
项目评估微服务设计1.0功能详细设计.md
doc/评估系统所有文档/项目评估微服务设计1.0功能详细设计.md
+150
-0
项目评估微服务设计1.0功能详细设计.pdf
doc/评估系统所有文档/项目评估微服务设计1.0功能详细设计.pdf
+0
-0
项目评估接口文档.md
doc/评估系统所有文档/项目评估接口文档.md
+136
-0
没有找到文件。
doc/评估系统所有文档/软件系统AK适配预算方法.pdf
0 → 100755
浏览文件 @
08b6110c
File added
doc/评估系统所有文档/项目评估微服务设计1.0功能详细设计.md
0 → 100644
浏览文件 @
08b6110c
[
TOC
]
#介绍
项目评估服务是一个springboot架构的微服务。主要功能是对需要替换开发的系统的源代码进行评估产生评估报告.根据用户配置的规则,关键字,帮助用户进行国产化适配。
评估报告提供以下信息
-
开发语言
-
源代码地址
-
项目管理方式
-
项目依赖
-
国产化适配建议
#核心功能
-
提供评估
-
基本信息评估
- 源代码信息展示以下数据
`开发语言,源代码位置,项目管理方式`
- 针对特定语言依赖展示以下数据
`java的jar包依赖`
-
国产化适配评估
- 给出用户国产化适配建议
`源代码位置,关键字,建议`
`国产化环境不能支持的依赖,关键字,建议`
-
提供增删改查规则库
-
Git,https下载源代码并评估
-
上传源代码到微服务并评估
-
下载评估报告html
-
评估历史查看(文件地址,评估记录,评估时间)
-
在线查看评估报告
-
预算统计
# 管理功能
-
配置参数管理
-
报告管理
-
页面参数管理
-
规则管理
-
技术管理
## 核心功能详细设计
### 提供评估
-
基本信息评估
-
源代码信息展示以下数据
`开发语言,源代码位置,项目管理方式`
-
针对特定语言依赖展示以下数据
`java的jar包依赖`
-
国产化适配评估
-
给出用户国产化适配建议
`源代码位置,关键字,建议`
-
流程

### 提供增删改查规则库

-
新增适配技术库与适配技术,修改目标关键字
-
新增规则库
-
查询所有适配技术及其关联规则
### 预算统计参数配置
-
适配重构参数配置
-
重构占比:
-
年复利率
-
原系统开发费用
-
(每个技术点价格,就是建议)可以扫描
-
(需要计算)修正系数
### 默认修正系数表
| 规模 | 内容 | 适用范围 | 功能 | 代码量 | 页面数 | 数据库表数 | 数据量 | 架构 | 安全能力 | 容灾能力 | 前端适配系数 |
| -------- | -------- | -------- | -------- | ------- | ------ | ---------- | ------ | ------ | ----------------- | ----------- | ------------ |
| 小型 | 简单 | 单位内部 | 1-4模块 | <10k | <10 | <10 | <1g | 单机 | 无0,弱0.1,强0.2 | 无0,有+0.05 | |
| 中型 | 某类业务 | 垂直 | 4-10模块 | 10-100k | 10-100 | 10-100 | 1-100g | bs/cs | 弱0,无-0.1,强0.1 | 有0,无-0.05 | |
| 大型 | 综合 | 多部门 | 10以上 | >100k | >100 | >100 | >100g | 分布式 | 强0,无-0.2,弱-0.1 | 有0,无-0.1 | |
| 修正影响 | 0.2 | 0.2 | 0.3 | 0.1 | 0.05 | 0.2 | 0.05 | 0.1 | 0.1 | 0.05 | 0.05 |
## 数据库设计
### rule(规则表)
| 字段名称 | 字段类型 | 长度 | 默认值 | 是否主键 | 注释 |
| ------------- | --------- | ---- | ------ | -------- | ------------ |
| id | int | 100 | | 是 | 主键id |
| target | varchar | 100 | | | 目标字符串 |
| create_time | timestamp | | | | 数据创建时间 |
| update_time | Timestamp | | | | 数据更新时间 |
| file_suffix | varchar | 50 | | | 搜索文件后缀 |
| technology_id | varchar | 100 | | | 匹配技术id |
### 匹配技术表
| 字段名称 | 字段类型 | 长度 | 默认值 | 是否主键 | 注释 |
| --------------- | --------- | ---- | ------ | -------- | ---------------- |
| id | varchar | 100 | | 是 | 主键id |
| technology_name | varchar | 100 | | | 技术名称 |
| advice | varchar | 100 | | | 技术建议 |
| create_time | timestamp | | | | 数据创建时间 |
| update_time | timestamp | | | | 数据更新时间 |
| fund | int | 10 | | | 单技术预算 |
| support | int | 10 | | | 1:支持、2:不支持 |
| backOrFront | int | 10 | | | 1:后端、2:前端 |
### 系数表
| 字段名称 | 字段类型 | 长度 | 默认值 | 是否主键 | 注释 |
| ----------------- | -------- | ---- | ------ | -------- | -------- |
| id | varchar | 100 | | 是 | 主键 |
| name | varchar | 100 | | | 系数名称 |
| topCoefficient | Double | 10 | | | 高 |
| mediumCoefficient | Double | 10 | | | 中 |
| belowCoefficient | Double | 10 | | | 低 |
| min | 最小值 | 10 | | | 最小值 |
| max | int | 10 | | | 最大值 |
| scale | Int | 10 | | | 规模 |
doc/评估系统所有文档/项目评估微服务设计1.0功能详细设计.pdf
0 → 100644
浏览文件 @
08b6110c
File added
doc/评估系统所有文档/项目评估接口文档.md
0 → 100644
浏览文件 @
08b6110c
[
TOC
]
# 评估服务接口文档
## 数据实体
-
预算-Budget
-
预算显示-BudgetVO
-
系数模型-CoefficientModel
-
依赖-DependencyVo
-
参数封装-InspectParameter
-
报告-Report
-
报告显示-ReportVO
-
规则关键字-Rule
-
规则封装-RuleQo
-
规则显示-RuleVo
-
关键技术-Technology
-
匹配点-Warn
## 核心接口
-
```java
InspectService.inspect(ReportVo reportVo,InspectParameter inspectParameter)
```
-
作用:提供代码评估并进行数据返回
-
参数:
-
reportVo:报告对象实体
-
inspectParameter:入口参数封装实体
-
返回:填充完毕的reportVo
## 接口实现
接口主要功能是对用户上传的源代码进行分析
分析的依据是
-
rule:配置关键字与文件后缀,如:native,java
-
Technology:关键技术,关键技术与rule的关系是一对多
### 步骤
-
将规则根据配置的后缀进分类
-
对源代码进行扫描,将文件分类
-
把指定后缀的文件与指定后缀的规则进行匹配,并全文扫描进行关键字的搜索(文字匹配利用kmp算法)
# 预算评估
## 计算预算必要参数
-
年复利率(moneyRate)=1.04
-
占比(proportion)
-
重构比=0.6
-
修改替换比=0.3
-
适配前端页面=0.15
-
原系统开发费用(systemFund)=数字
## 可选变量
-
软件运行时间(years)=数字
-
模块数(modules)=数字
-
代码量(codeSize)=数字
-
数据库表(table)=数字
-
数据量(data)=数字
-
架构(framework)=单机(0)、bs、cs(2)、分布式(4)
-
安全能力(safety)无(0)、弱(2)、强(4)
-
容灾能力(disaster)无(0)、有(4)
-
内容(content):小型(0),中型(2),大型(4),取最大值
为什么是0、4呢,因为设置是小于1或者大于3
# 系统必要参数
-
admin:是否管理员
-
1:管理员
-
2:用户
-
projectName:项目名称
-
databaseType:数据库类型
-
method:评估方式
-
1:系统修改
-
2:系统适配
-
username:用户名
-
valid:是否需要进行预算计算
-
1:是
-
2:否
-
multiple:zip或者rar文件
## 页面显示(改造评估)
改造评估页面
-
原系统开发费用
-
容灾能力
-
模块数
-
代码量
-
数据库表
系统级配置
-
占比
-
重构比
-
修改替换比
-
适配前端页面
-
年复利率
第一个页面
适配占比此时0.15,要去计算是否需要重构,如果需要重构 ,则计算重构的钱,否则计算适配的钱
第二个页面
改造占比0.3,评估是否需要重构,如果需要重构,计算重构的钱,否则计算改造的钱
# 代码文件
-
Controller
-
InspectController
- ```java
public ServerResponse rapidAssessment(@RequestBody Reform reform) throws IOException
```
功能:根据前端页面封装的reform,获取评估所需要的信息后,先进行快速评估(在com.zjty.inspect.inspect.inspector),快速评估完成后进行详细评估(在com.zjty.inspect.controller.inspectController)输出一份详细表格,将表格数据根据入参与出参保存进数据库
-
inspect
-
Inspector
- ```java
public ReportVo inspect()
```
功能:进行快速评估
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论