Something We Learned about Computer Supported Cooperative Work in Software Engineering Tangqiu Li,...

22
Something We Learned Something We Learned about Computer about Computer Supported Supported Cooperative Work in Cooperative Work in Software Engineering Software Engineering Tangqiu Li, Zongkai Lin Tangqiu Li, Zongkai Lin Xiamen University, China Xiamen University, China

Transcript of Something We Learned about Computer Supported Cooperative Work in Software Engineering Tangqiu Li,...

Page 1: Something We Learned about Computer Supported Cooperative Work in Software Engineering Tangqiu Li, Zongkai Lin Xiamen University, China.

Something We Learned Something We Learned about Computer about Computer

Supported Supported Cooperative Work in Cooperative Work in Software EngineeringSoftware Engineering

Something We Learned Something We Learned about Computer about Computer

Supported Supported Cooperative Work in Cooperative Work in Software EngineeringSoftware Engineering

Tangqiu Li, Zongkai LinTangqiu Li, Zongkai Lin

Xiamen University, ChinaXiamen University, China

Page 2: Something We Learned about Computer Supported Cooperative Work in Software Engineering Tangqiu Li, Zongkai Lin Xiamen University, China.

Topics 1 、 An Introduction2 、 The requirements 3 、 Supporting Tools4 、 Workflow Management System based

Used for CSCW in SE5 、 The Tools Used for Process Monitoring

and tracing in the Software Development6 、 Summary

Page 3: Something We Learned about Computer Supported Cooperative Work in Software Engineering Tangqiu Li, Zongkai Lin Xiamen University, China.

1. An Introduction• There a lot of researches and good

results obtained in the CSCW in SE.

• We would like to give a brief introduction to our resent work on the research on CSCW in SE.

Page 4: Something We Learned about Computer Supported Cooperative Work in Software Engineering Tangqiu Li, Zongkai Lin Xiamen University, China.

2 、 The requirements• Software development is a typical activity

conducted by group of people. It is estimated that 70% of time and effort of the developers is spent on each other’s cooperation in the development of the large complex software systems,which occupied 85% of total costs.

• How to improve the efficiency of cooperation is becoming the key element of the software engineering.

• CSCW is one of the effective means to solve the problem.

Page 5: Something We Learned about Computer Supported Cooperative Work in Software Engineering Tangqiu Li, Zongkai Lin Xiamen University, China.

3 、 Supporting ToolsTwo types of tools: • General tools: such as some electronic

conference systems; white board; and some other tools, for example application sharing.

• Specialized tools: one developed based on the features of SE.

There are few tools of the later kind developed up to now. Following is the two we propose to develop.

Page 6: Something We Learned about Computer Supported Cooperative Work in Software Engineering Tangqiu Li, Zongkai Lin Xiamen University, China.

4 、 A Workflow management system Used for CSCW in SE(1)

In the process of the development of large complex software systems, there involved a large number of people, who take care of the development task of the same or different part or functionality of the system.

It is impossible for them to work completely independently.

Their tasks are associated greatly and they need intensive cooperation.

The associations of different part is called interface in the terms of software development.

Page 7: Something We Learned about Computer Supported Cooperative Work in Software Engineering Tangqiu Li, Zongkai Lin Xiamen University, China.

4 、 A Workflow management system Used for CSCW in SE(2)

• It is ever-present that there are lot of trouble caused by the modification of interfaces.

• In order to avoid the trouble,it is necessary to work with cooperative activities of each other.

• There needs a synchronized or asynchronized tools based On CSCW technology for supporting the cooperative activities to detect and resolve the trouble.

Page 8: Something We Learned about Computer Supported Cooperative Work in Software Engineering Tangqiu Li, Zongkai Lin Xiamen University, China.

4 、 A Workflow management system Used for CSCW in SE(3)

Specially, the modification of a interface often involves a great deal of discussions and negotiations of the group of people involved.

It can only be made successfully when members of group reach an agreement and make their own part of modification accordingly. Otherwise it is impossible for the software to function properly.

Furthermore, the kind of process is very dynamic.

Page 9: Something We Learned about Computer Supported Cooperative Work in Software Engineering Tangqiu Li, Zongkai Lin Xiamen University, China.

4 、 A Workflow management system Used for CSCW in SE(4)

•The workflow management systems and discussion tools should help to resolve this questions well.

• The automatic management of process of the development,especially the process of the modification of the interfaces should be got by the workflow management system.

• But current workflow management systems are not able to meet the requirement. We propose a function extension of such systems to meet the functional requirement as shown in the following figure:

Page 10: Something We Learned about Computer Supported Cooperative Work in Software Engineering Tangqiu Li, Zongkai Lin Xiamen University, China.

4 、 A Workflow management system Used for CSCW in SE(5)

Software Project Definition

Software Development

Software testing,handout and

maintenance

(1)The lifecycle of software development

(2)The process of software development

ReviewOutline design

description archiveOutline design

Internal discuss

Detailed designDetailed design

description archive pass

ok

Not ok

not pass

Page 11: Something We Learned about Computer Supported Cooperative Work in Software Engineering Tangqiu Li, Zongkai Lin Xiamen University, China.

4 、 A Workflow management system Used for CSCW in SE(6)

Coding

Dynamic discuss node

Interface1 discussion

Interface2 discussion

Coding

ModifyUnit

debug

Unit debug Modify

Modify

Modify

Modify Modify

… …

.

.

.

need of modification

No need of modification

No interface problem

interface problem

No need of modification

need of modification

Lead to other “unit debug” nodes related to the interface

Joint debug

Page 12: Something We Learned about Computer Supported Cooperative Work in Software Engineering Tangqiu Li, Zongkai Lin Xiamen University, China.

4 、 A Workflow management system Used for CSCW in SE(7)

List of node symbol in workflow :(1) individual work activity(2) Synchronous

activity(3) Asynchronous coop. activity

(4) Dynamic activity

(5) Macro node

(6) start node

(10) unconditional link

(7) end node

(11) conditional link

(8) and node

(9) parallel node

Page 13: Something We Learned about Computer Supported Cooperative Work in Software Engineering Tangqiu Li, Zongkai Lin Xiamen University, China.

4 、 A Workflow management system Used for CSCW in SE(8)

Note: • task node: (1) individual work node 、 (2) synchronous discu

ssion node 、 (3) asynchronous discussion node 、 (4) Dynamic activity node and (5) Macro node

• symbol node: (6) start node and (7) end node

• logic node: (8) and node 、 (9) parallel node 、 (10) unconditional link node and(11) conditional link

especially (4) (9) (11) can fulfill the requirement of the dynamic interface for discussion,which facilitate the automation of process management of software development.

Page 14: Something We Learned about Computer Supported Cooperative Work in Software Engineering Tangqiu Li, Zongkai Lin Xiamen University, China.

5 、 The Tools Used for Process Monitoring and tracing in the Software

Development(1)

1) Process monitoring tool

The monitor have following function: Over time monitor,That is the monitor keeps check if some event is overtime. It gives an

alarm if it happens.

The monitor can be incorporated into workflow

management system.

Page 15: Something We Learned about Computer Supported Cooperative Work in Software Engineering Tangqiu Li, Zongkai Lin Xiamen University, China.

5 、 The Tools Used for Process Monitoring and tracing in the Software

Development(2)

2 ) Online monitoring The mechanism allows the authorized people to look into all the programs or documents owned by the monitored people.

Page 16: Something We Learned about Computer Supported Cooperative Work in Software Engineering Tangqiu Li, Zongkai Lin Xiamen University, China.

5 、 The Tools Used for Process Monitoring and tracing in the Software

Development(3)

3) Tracing tool

It is a synchronous or asynchronous tracing tool to support the managers to understand the work situations of their subordinates in development process. They can do this using the “application cooperation” tools.

Page 17: Something We Learned about Computer Supported Cooperative Work in Software Engineering Tangqiu Li, Zongkai Lin Xiamen University, China.

5 、 The Tools Used for Process Monitoring and tracing in the Software Development(4)

The concept of “application cooperation” tools

proposed here are different from “application sharing” tools provided by some products. Although the products are able to support the cooperation functions there exist two pitfalls: 1) inconvenient to operate(they needs

applying, queuing, and waiting for the tools to be released by others in operation.

2) imposable to fulfill all the functions required by the cooperative works.

Page 18: Something We Learned about Computer Supported Cooperative Work in Software Engineering Tangqiu Li, Zongkai Lin Xiamen University, China.

5 、 The Tools Used for Process Monitoring and tracing in the Software

Development(5)

Contrarily, the “application cooperation” tools proposed by us can provide not only all the functions provided by “application sharing”, but also better support group cooperation. For example, the tools are able to support direct mutual operation between members of a group freely and conveniently. Besides, they can also provide some cooperative functions difficult to implement in application sharing, such as:

Page 19: Something We Learned about Computer Supported Cooperative Work in Software Engineering Tangqiu Li, Zongkai Lin Xiamen University, China.

5 、 The Tools Used for Process Monitoring and tracing in the Software

Development(6)

1) Group support: such as the management of the group and its members

2) Dynamic support: such as management of group activity and the dynamic changes of its members.

3) Support both synchronous model and asynchronous model

4) Support history keeping of cooperative activities of group members

5) Support groupware between group members, etc.

Page 20: Something We Learned about Computer Supported Cooperative Work in Software Engineering Tangqiu Li, Zongkai Lin Xiamen University, China.

5 、 The Tools Used for Process Monitoring and tracing in the Software

Development(7)

Based on these functions, it becomes possible for group members from different discipline to work together, and for managers to monitor and give order

to his subordinate.

Page 21: Something We Learned about Computer Supported Cooperative Work in Software Engineering Tangqiu Li, Zongkai Lin Xiamen University, China.

6 、 summary In the process of software development, group cooperation in is necessary. To provide natural tools, CSCW is one of the effective means to solve the problem. In order to support cooperative work in SE,we propose there kinds of tools, that is a workflow management system 、 Monitoring tool and tracing tool. The basic work, that is, the “application cooperation” tool has been implemented.

Page 22: Something We Learned about Computer Supported Cooperative Work in Software Engineering Tangqiu Li, Zongkai Lin Xiamen University, China.

Thank you!Thank you! Thank you!Thank you!