Co-developing Model for User Participation
in Web Application Development
Tae Yoneda, Kouhei Mitsui, Jun Sasaki, Yutaka Funyu
Iwate Prefectural University, Japan
2
Contents
•
Background and Object of our research
•
Co-developing Model
•
Logic to realize the Co-developing
•
Prototype System of Co-developing
Environment
3 © Funyu Lab. Challenged 53% Failed 18% Succeeded 29%
Failure of the software development projects
Project Challenged Factors Top3 1. Lack of User Input
2. Incomplete Requirements
3. Changing Requirements
The CHAOS Report
(Standish group, 2004)
How to get and reflect the user requirements precisely and flexibly are important issue.
4
Object of our research
To propose a new software development framework to
realize that user requirements can be gotten and
reflected precisely and flexibly.
5
© Funyu Lab.
Scale of System:
• Information systems have increasingly been introduced in a variety of fields.
– From large size system of big company to small size system nearing our life
• Iwate Prefecture needs
• to promote agriculture and fishery
• to promote social services
• to develop small businesses etc.
6
Object of our research
To consider and propose a new software development
methodology to realize that user requirements can be
gotten and reflected precisely and flexibly.
System Type: a web application
is developed by using web application User: who will use a developed system
who has the basic handling skills to use a computer who has not the skills to develop a web application System Size: Small and medium-sized scale system
7
© Funyu Lab.
Developing Style of our target
System Engineer Developing (Traditional Style)
User Oriented
Engineer Oriented
8
End User Computing
User Development Environment
Input
Push
- “Cyber Framework” developed by Cyber Laboratory Inc.
- “HIMEKAMI: an End-user System Development
Environment Based on Lyee Theory,” K. Mitsui et al., Proc. of SoMeT04
It is still difficult to realize the style and apply it widely in practice.
9
© Funyu Lab.
Developing Style of our target
System Engineer Developing End User Computing
(Traditional Style)
(Studying, Difficult to realize)
On-site Customer Style in XP (Practical New Style)
User Oriented
10
On-site Customer Style on XP
User
System Engineers
Input
Push
Development Environment
- The user requirements can be comparatively more satisfied.
- A user doesn't develop the system subjectively.
Difficult to develop a system that flexibly reflects the user requirements
11
© Funyu Lab.
Developing Style of our target
System Engineer Developing End User Computing
(Traditional Style)
(Studying, Difficult to realize)
User and System Engineer
Co-developing Our target
On-site Customer Style in XP (Practical New Style)
User Oriented
12
User and System Engineer Co-developing
User
System Engineer
Input
Push
System Development Environment
- User can participate to system development positively.
- System Engineer support to develop the system.
14
Co-development Model
User
System Engineer Co-development Environment Input
Push For user, requirements can be described easily.
The developing system can be confirmed by executing.
User requirements can be understood easily and in detail. Modifying the developing system can be easily.
15
© Funyu Lab.
Co-development Flow [1]
User
System Engineer
Requirements can be described by natural language.
16
Co-development Flow [2]
User System Engineer Input PushUser requirements can be coded part by part.
17 © Funyu Lab.
Co-development Flow [3]
User System Engineer Input Push ・ システムの修正,追加を提示Modifying the developing system by natural languge.
18
Co-development Flow [4]
User System Engineer Input PushUser requirements for modifying are coded.
Logic to realize the co-developing
20
point of view
SE User Pre-screen name Screen name Post-screen name Condition, Transaction Screen compositionScreen
Screen Transition
(natural language) (program code)
(natural language) (program code)
21
© Funyu Lab.
Actions in a web application
Step 1) decisions in respect of the screen displayed
(screen transition)
22
Operation Model
Selection Evaluation and Transaction Data Extraction Data Synthesis Screen Output (a) (b) (c) (d) (e) <Screen Transition> <Screen Display> User Web Application request output23 © Funyu Lab. Whole Control
Co-development procedures
Whole Control Definitions of screen transitions Definitions of screens Selection Evaluation and Transaction Data Extraction Data Synthesis Screen Output Library User System Engineer Step1) Step2) Step3) Step4) Step2) Step4)Prototype System of
25
26
27
29
© Funyu Lab.
31
© Funyu Lab.
User describe a screen transition by using natural
language.
32
33
35
© Funyu Lab.
Conclusion [1]
•
Described the Co-developing Model and showed the
prototype system of Co-developing environment
–
User oriented development model
–
There is a generator to generate program.
–
The developing system can be confirmed by
executing.
–
Suit for Agile development
User requirements can be gotten and reflected
precisely and flexibly.
36
Conclution [2]
Considerations;
•
There is not enough support to create dynamic
pages in the web application.
•
There is not enough support to set up a database.
Future works;
•
To evaluate this model; thus, it will be necessary
to apply it to real user system developments.
•
A visual interface for the user will be required.
•
The creation of a mechanism to reuse the
defined and programmed components.
37