Oneteam0.9技术报告

Oneteam0.9技术报告

 www.voneteam.com

一.总体

 

1.编写说明 

     从技术角度对交付系统进行分析。

2.系统简介

Oneteam项目集成管理系统是一个基于项目过程的协同工作和管理平台,以CMMI理论为基础,结合PSP/TSP、PMBOK、Scrum等理论,进行有机地整合。    

功能包括:

个人工作管理

时间管理、工作日历、工作报告、工作排期、工作负荷分析、博客、便签等

团队协作

通讯录、资料共享、信息共享和交流(门户、评论、关注、消息)、信息发布(通知、新闻、博客)、问题管理、干系人管理、公文流转

项目管理

项目计划、项目范围、风险管理、工作量估算、工作报告、项目监控、项目分级管理(计划、范围)、项目评审

敏捷开发

冲刺、障碍、需求排期、燃尽图、看板、工作认领、每日站立会议

工程

需求开发和管理、测试管理

知识管理

提问、建议、资料共享(支持多用户编辑)、知识库搜索、过程资产库、知识能力、知识达人

过程管理

项目生命周期、文档模板、支持项目QA

组织

组织视图、部门管理、组织级项目管理、支持组织级对人员、项目的可视化分析和监管

系统管理

系统设置、组织结构管理、参数维护、安全管理、系统监控、批处理、二次开发、软件注册升级等

 

3.架构 

 

  

序号

 技术

版本

备注

1

 flex

 3.6A

 

2

 tomcat

 6.0.20

 

3

 grails

 1.3.7

 

4

 mysql

 5.1.54

 

5

 jdk

 1.6.0_21

 

6

 vdk

 0.9

Voneteam的开发库


  

4.系统规模 

序号

 要素

数量

备注

1

 操作

56

 通过菜单调用的操作

2

 表单

229

 swf文件

3

 工作流

9

 

4

 查询

199

 

5

 构件

26

 

6

 数据库表

106

 

7

 代码行数

85063

 

8

 缺陷数

173

 


 

二.代码分析

1.前台 

前台采用flex3进行开发,代码情况如下:

 

文件数

代码行数

平均

注释行数

注释率

备注

1009

65112

65

26369

 

 

  其中:自动生成

307

11791

38

6788

 

 

        手工编写

702

53321

76

19581

26.9%

 

  其中:界面

340

26228

77

3548

12%

 

        界面控制

669

38884

58

22821

37%

 

  其中:构件接口-被调用

27

1918

71

1910

49.9%

用于供其他构件调用

        构件接口-调用

19

723

38

549

43%

用于调用其他构件

 

 

 

分析:由于前台表单普遍采用模式+vdk,使前台开发越来越少碰到障碍,并且能够保持非常好的界面一致性。

  

2.后台 

后台采用grails进行开发,代码情况如下:

 

文件数

代码行数

平均

注释行数

注释率

备注

312

19951

64

10314

31.4%

 

  其中:自动生成

182

8209

45

3769

 

 

        手工编写

130

11742

90

6545

35.8%

 

  其中:构件接口-被调用

18

2154

120

1518

41.4%

用于供其他构件调用

        构件接口-调用

10

153

15

153

50%

用于调用其他构件

 

分析:由于后台采用groovy+vdk,使后台代码量已非常小,常规的增删改查等已无需代码。

3.数据库 

数据库共有106个表,每个表字段分布如下:

 

4.按构件分析

整个系统共分为26个构件,分析如下:

构件

数据库

前台

后台

 

字段

文件

代码

代码/

代码/字段

文件

代码

代码/

代码/字段

appframe

22

23

107

6975

317

14

20

2443

111

5

ask                     

1

47

6

301

301

6

1

53

53

1

bat

1

10

4

180

180

18

2

189

189

19

comment

1

14

11

587

587

42

4

141

141

10

common

2

32

18

1375

688

21

2

 

 

 

custom

2

32

6

362

181

6

2

18

9

0

daylog

3

28

18

1823

608

22

6

756

252

9

dict

1

8

3

186

186

23

2

80

80

10

door

 

 

53

5308

 

 

2

497

 

 

holder

3

19

11

638

213

11

4

92

31

2

info

4

24

20

1309

327

14

4

79

20

1

issue

1

55

10

541

541

10

2

39

39

1

know

7

22

30

2340

334

15

8

554

79

4

message

1

16

4

241

241

15

2

95

95

6

pdp

7

19

35

2068

295

16

8

290

41

2

personWeek

4

33

23

2040

510

15

5

528

132

4

plan

5

50

48

4255

851

17

7

1120

224

4

product

3

31

11

590

197

6

4

74

25

1

projectWeek

4

38

21

2132

533

14

3

648

162

4

query

9

19

37

2499

278

15

10

477

53

3

review

1

84

32

2161

2161

26

2

116

116

1

risk

1

42

4

338

338

8

2

64

64

2

scope

6

37

44

3714

619

17

7

915

153

4

suggest

1

53

8

374

374

7

1

6

6

0

test

6

36

46

3467

578

16

7

916

153

4

work

2

28

18

1454

727

26

3

541

271

10

workflow

8

32

52

4949

619

19

9

876

110

3

 

 

结论:

1.       前台代码行数与数据库设计时,表的字段数量有较强的正相关。

2.       后台由于groovyvdk,代码量已非常小,常规的增删改查等已无需代码。

 


三.质量分析

代码行数为85K

缺陷总数:173

缺陷密度 = 173/85 = 2/千行代码

加权缺陷密度 = 402.5/85 = 4.7 /千行代码

致命:10 严重:5 一般:2轻微:0.5建议:0

 

 

.重用分析

1.构件 

序号

 构件

重用级别

说明

1

 appframe

组织级

规模较大,可考虑拆分

2

 ask                     

产品级

 

3

 bat

平台级

 

4

 comment

平台级

 

5

 common

组织级

 

6

 custom

产品级

 

7

 daylog

产品级

 

8

 dict

平台级

 

9

 door

产品级

 

10

 holder

产品级

 

11

 info

组织级

 

12

 issue

产品级

 

13

 know

组织级

 

14

 message

组织级

 

15

 pdp

产品级

 

16

 personWeek

产品级

 

17

 plan

产品级

 

18

 product

产品级

 

19

 projectWeek

产品级

 

20

 query

平台级

 

21

 review

产品级

 

22

 risk

产品级

 

23

 scope

产品级

 

24

 suggest

产品级

 

25

 test

产品级

 

26

 work

产品级

 

27

 workflow

平台级

 

平台级:一般与业务无关。

组织级:多个产品一般都会具有的业务。

产品级:一般在某个业务领域的业务,具有较强的业务相关性。

 


 

 

2.控件 

序号

 控件

 名称

说明

1

 PageGrid

 分页表格

支持编辑、分页、查询、统计、图表汇总等

2

 VTreeGrid

 树形表格

支持树形数据的编辑、浏览。

3

 VsDataGrid

 轻型表格

在PageGrid基础上简化,去掉查询、统计、图表等,提高性能

4

 Lamp

 信号灯

 

5

 SelectTreeNode

 打开树选择节点

在此基础上,衍生出SelectDepart、SelectCity等

6

 TopMenu

 菜单按钮

 

7

 VsLineChart

 折线图表展示

支持多折线

8

 VsRichTextEditor

 富文本编辑

 

9

 VsTextArea

 文本编辑

 

10

 VTab

 竖型TabNavigator

 

 

 窗口

 

 

1

 ImageWindow

 显示图片窗口

 

2

 SendFileWindow

 上传文件窗口

 

3

 EditRichTextWindow

 富文本编辑窗口

 

4

 ReadRichTextWindow

 富文本阅读窗口

 

5

 LineChartWindow

 折线图表展示窗口

 

6

 PrintWindow

 打印窗口

 

 

 

 

 

 

3.切面 

序号

切面

说明

1

基于许可证的版权控制

                                                                              

2

基于保密级别的记录级数据权限控制

 

3

基于word的富文本编辑、显示

 

4

基于离线的软件升级

 

5

基于在线翻译的国际化

 

4.操作模式 

序号

 模式

 说明

1

 表格集成编辑模式

 例:通知管理

2

 树集成编辑模式

 例:工作地点维护

3

 面板模式

 浏览、操作一个对象的相关信息,例:项目面板

4

 视图模式

 查看一个对象及其相关信息,例:项目视图

5

 查看模式

 查看一个对象,例:查看通知

6

 工作流模式

 

7

 修改模式

 修改单记录,例:系统设置

5.通用交易 

序号

 交易

 说明

1

 AddOne

 增加一个

2

 SaveOne

 保存一个(新增或修改)

3

 UpdateOne

 修改一个

4

 BatchUpdate

 批量修改

5

 BatchSet

 批量设置

6

 DeleteOne

 删除一个

7

 BatchDelete

 批量删除

8

 DeleteOneTree

 删除一个节点及其后代

9

 GetOne

 获取一个对象

10

 ReadOne

 读取一个对象及其相关信息

11

 Browse

 根据条件浏览一个表

12

 Query

 根据条件查询一个表

13

 GetNow

 获取服务器时间

      

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值