i-questionnaire A Software Service Tool for Data



Similar documents
Tool Support for Software Variability Management and Product Derivation in Software Product Lines

Structuring Product-lines: A Layered Architectural Style

PATTERN-ORIENTED ARCHITECTURE FOR WEB APPLICATIONS

ProGUM-Web: Tool Support for Model-Based Development of Web Applications

A Review of an MVC Framework based Software Development

A STUDY OF WORKLOAD CHARACTERIZATION IN WEB BENCHMARKING TOOLS FOR WEB SERVER CLUSTERS

Enterprise Integration: operational models of business processes and workflow systems *

Technical Specifications (Excerpt) TrendInfoWorld Web Site

CHAPTER 4: PATTERNS AND STYLES IN SOFTWARE ARCHITECTURE

Specification of the UFT Web-Based Fitness Tracking Software

XFlash A Web Application Design Framework with Model-Driven Methodology

Software Development Methodologies

Modeling Web Applications Using Java And XML Related Technologies

Design of Data Archive in Virtual Test Architecture

Integrating Databases, Objects and the World-Wide Web for Collaboration in Architectural Design

A Multidatabase System as 4-Tiered Client-Server Distributed Heterogeneous Database System

Excerpts from Chapter 4, Architectural Modeling -- UML for Mere Mortals by Eric J. Naiburg and Robert A. Maksimchuk

Product Comparison List

GenericServ, a Generic Server for Web Application Development

Oracle Warehouse Builder 10g

Component visualization methods for large legacy software in C/C++

Winery A Modeling Tool for TOSCA-based Cloud Applications

An Object-Oriented Analysis Method for Customer Relationship Management Information Systems. Abstract

Administration Guide for the System Center Cloud Services Process Pack

Towards Collaborative Requirements Engineering Tool for ERP product customization

2. An E-commerce Value Chain and Data Requirements

A Process View on Architecture-Based Software Development

Patterns in Software Engineering

Contents. Introduction and System Engineering 1. Introduction 2. Software Process and Methodology 16. System Engineering 53

SOLUTION BRIEF CA ERwin Modeling. How can I understand, manage and govern complex data assets and improve business agility?

Case Studies of Running the Platform. NetBeans UML Servlet JSP GlassFish EJB

Master s Program in Information Systems

BUILDING OLAP TOOLS OVER LARGE DATABASES

Architectural Design with Visualization Patterns

Encapsulating Crosscutting Concerns in System Software

Model-Driven Cloud Data Storage

2667A - Introduction to Programming

Increasing Development Knowledge with EPFC

BUILDER 3.0 Installation Guide with Microsoft SQL Server 2005 Express Edition January 2008

A Monitored Student Testing Application Using Cloud Computing

Semantic Concept Based Retrieval of Software Bug Report with Feedback

The Role of Computers in Synchronous Collaborative Design

The Software Container pattern

Business Modeling with UML

Product Comparison List

Generating Aspect Code from UML Models

Object-Oriented Systems Analysis and Design

Selbo 2 an Environment for Creating Electronic Content in Software Engineering

Engineering Web Applications for Reuse

Web-based Multimedia Content Management System for Effective News Personalization on Interactive Broadcasting

Software Visualization Tools for Component Reuse

Business Process Management

Experiences with ALM tools in Software Engineering course

An Aspect-Oriented Product Line Framework to Support the Development of Software Product Lines of Web Applications

Agile Business Suite: a 4GL environment for.net developers DEVELOPMENT, MAINTENANCE AND DEPLOYMENT OF LARGE, COMPLEX BACK-OFFICE APPLICATIONS

Rotorcraft Health Management System (RHMS)

ER/Studio Enterprise Portal User Guide

Information Technology Career Field Pathways and Course Structure

Designing Real-Time and Embedded Systems with the COMET/UML method

VantagePoint Getting Results Guide

Requirements Engineering for Web Applications

Evaluation of a Use-Case-Driven Requirements Analysis Tool Employing Web UI Prototype Generation

Information systems modelling UML and service description languages

DC2AP Metadata Editor: A Metadata Editor for an Analysis Pattern Reuse Infrastructure

Model Driven Interoperability through Semantic Annotations using SoaML and ODM

Automated Test Approach for Web Based Software

Distributed Objects and Components

Framework as a master tool in modern web development

ECE 750 T11 Component-Based Software System Project Proposal. Web-based Course Registration System using Component-Based Development

IBM Tivoli Directory Integrator

RSA Authentication Manager 7.1 Basic Exercises

CASSANDRA: Version: / 1. November 2001

SQLFlow: PL/SQL Multi-Diagrammatic Source Code Visualization

Run-time Variability Issues in Software Product Lines

Introduction to XML Applications

A Practical Perspective on the Design and Implementation of Enterprise Integration Solution to improve QoS using SAP NetWeaver Platform

Authoring Guide for Perception Version 3

Component-based Development Process and Component Lifecycle Ivica Crnkovic 1, Stig Larsson 2, Michel Chaudron 3

Development of Mobile Enterprise Inventory Management System Application with CBD

Release 2.1 of SAS Add-In for Microsoft Office Bringing Microsoft PowerPoint into the Mix ABSTRACT INTRODUCTION Data Access

Load testing with. WAPT Cloud. Quick Start Guide

2007 to 2010 SharePoint Migration - Take Time to Reorganize

A Model-based Software Architecture for XML Data and Metadata Integration in Data Warehouse Systems

Terms and Definitions for CMS Administrators, Architects, and Developers

Chapter 2 Database System Concepts and Architecture

How a Content Management System Can Help

Transcription:

i-questionnaire A Software Service Tool for Data Analysis in e-business 1 ANDY S.Y. LAI, 2 Y.C. POON 1, Department of Information and Communications Technology, Hong Kong Institute of Vocational Education, Hong Kong, andylai@vtc.edu.hk 2, Department of Research and Development, Sun Cupid (HK) Limited, Hong Kong, yukcheong.poon@suncupid.com Abstract Customization and flexibility of generating managed source codes for questionnaire in data analysis with the approach of Software as a Service (SaaS) becomes an essential and critical mission in e-business. Today, building a on-demand software service for web-based questionnaire generation system is new in cloud computing environment. This paper describes a SaaS approach to dynamically generate a full set of ASP.net source codes and database schema for web-based questionnaire systems for data analysis in e-business. The tool we proposed, i-questionnaire, adopts SaaS for the software delivery model in which software and its associated data are hosted centrally and accessed by users using a thin client. The tool i-questionnaire provides the template selections for designers to choose and construct the questionnaires they prefer. The generated ASP.net source codes can be presented in the form of the questionnaires shown on the mobile or web-based platforms via internet. The results of the answers are stored in repository for data analysis and data mining. It also provides the table schema definition for any relational database server in a cloud computing environment. In addition, the generated source codes present the result data on-line in graphical presentation in a technical and professional way. In this paper, four major components are identified in the SaaS framework, which have been fully implemented with the C++ language in our prototyping. The outcomes of i- Questionnaire, source codes of ASP.net and SQL table schema, can be simply placed in IIS Server under cloud computing environment to perform business analysis. Keywords: Software as a Service Framework, Data Analysis, e-business Framework 1. Introduction Customization and flexibility of generating managed source codes for questionnaires in data analysis with the approach of Software as a Service (SaaS) becomes an essential and critical mission in e-business. Today, building a on-demand questionnaire web-based questionnaire system is a new trial in software. This paper describe a SaaS approach to dynamically generate a full set of ASP.net source codes and database schema for web-based questionnaire systems for data analysis in e-business. The tool we proposed, i-questionnaire, adopts SaaS for the software delivery model in which software and its associated data are hosted centrally and accessed by users using a lightweight client. This paper describes the tool i-questionnaire which provides the template selections for designers to choose and construct the questionnaires they prefer. The generated ASP.net source codes can be presented in the form of the questionnaires shown on the mobile or web-based platforms via internet. The results of the answers are stored in repository for data analysis and data mining. The tool, i-questionnaire, we proposed adopts Software as a Service (SaaS) for the modeling [1, 2]. The SaaS modeling techniques are widely used and able to efficiently increase quality, reusability and maintainability [3]. This paper is not so much to demonstrate the description techniques of UML but to concentrate on applying the major diagram techniques as a whole in the context of a complete and self-contained example in modeling a questionnaire generator on Internet. Our study in this paper is to provide a software product, i-questionnaire, which can generate different kinds of questionnaires in supporting e-marketing for data analysis on internet platform for PC and mobile devices. It allows participants from the worldwide and remote communities. The repository for the answers of the questionnaires resides in a cloud database International Journal of Information Processing and Management(IJIPM) Volume 4, Number 1, January 2013 doi:10.4156/ijipm.vol4.issue1.1 1

server for business analysis. The tool, i-questionnaire, can dynamically generate the questionnaire under distributed environment, its result data of polling applications are persistent data which can be formatted and edited for on-line graphical presentation. The rest of the paper is organized as follows: Section 2 presents the system architecture of i- Questionnaire with its four major components. Section 3 describes the system components of i- Questionnaire and their functionalities with the use-case-driven analysis approach. Section 4 describes system components design of i-questionnaire to construct a polling questionnaire application along with its relevant polling category. Section 5 shows the internal design of activities in i-questionnaire. Section 6 presents the software product of i-questionnaire and uses of its questionnaire builder wizard to build the ASP.net codes and data schema. Section 7 we conclude with a note on the current status of the project and propose future work. 2. System Architecture The complexity involved in such a software system like i-questionnaire is so complicated that no individual can comprehend every detail of the software system [4]. It must be broken down into manageable parts and requires the cooperative efforts. The activities of analysis and design help transform the requirements of the system into a design that can be realized in software [5, 6]. One of first activities of the analysis is to create the package hierarchy of the analysis model. During use case definition activities, we divided the Use Case Model into packages. Analysis focuses on the functional requirements of the system. Design on the other hand, is primarily a refinement of the analysis model. Figure 1. Components in Structural View of i-questionnaire We propose four major components for the Polling Questionnaire Application Generator. Figure 1 shows there are Polling Cataloger, Questionnaire Builder, Polling Analyzer and Polling Searcher. The Polling Cataloger classifies polling applications and manages the polling applications. The Questionnaire Builder is used to design questionnaires with template selections for on-line presentation on web, generate the polling applications and transfer application source codes to a Web Server in cloud computing environment. Polling Analyzer shows the mathematical statistic results and presents them in graphs or report. Polling Searcher provides the data searching, and allows data import and data export for data analysis in e- Business. The packages in the system do not represent an abstraction of the business, nor does it mimic the structure of the system. The packages are merely a mechanism to divide the model into more manageable pieces [6]. Each package in our system can be comprehended by its semantics, reason for existences, major elements, and responsibilities. Logically speaking, the classes belong together to have cohesive relationships. Each class has more relations with classes in the same package than with classes outside the package [8]. The packages we declared on the top level allow the second levels of the hierarchy creation throughout the analysis process in succeeding sections. 2

3. System Components Analysis The Administrator of the system, who administrates the Polling Questionnaire Application, has to pass the security for the authentication process in order to access the system. The Figure 2 shows the administrator can browse polling questionnaire applications in i-questionnaire through the Polling Catalog. Under the catalog, administrator can add a new category for questionnaires classification and managing the polling answers. Administrator with i- Questionnaire tool maintains the categories to rename or delete a category, and also allows adding sub-category under a category. Figure 2. Use Cases for SaaS i-questionnaire Builder Administrator can generate a new polling application by using the Questionnaire Builder. It is a wizard in i-questionnaire, which will guide the administrator, step by step, to collect required information for the polling application. Administrator can choose a template from template selections where questions can be added. For each question, administrator can design the style of the answer options, traditional ones like text, checkbox and multimedia ones such as sound or image. The generated source codes of the polling applications can be placed in web server under a cloud management environment, whereas immediately allow internet surfers to browse and collect the data for business. All polling details including questions and polling answers will be stored in database for data analysis of the polling application. Figure 3. Use cases in i-questionnaire accessing a Polling System on Internet 3

In Figure 3, administrator can use the Polling Analyzer in the tool i-questionnaire to analyze the polling results. Currently, the tool can perform statistical analysis, plotting graphs and printing reports. The Polling Analyzer is designed open to plug in data mining components. A simplified data mining method has been implemented in the system. The results can be viewed not only by administrator but also participants on Internet. The functions, Data Set Export and Data Set Import, are provided to the administrator to extract a specific data set of a polling application from databases. These two functions provide a pipeline for channeling a large volume of legacy data set into the system for statistical data analysis in e-business. 4. System Components Design This section looks into the details of the system components design with use case. Figure 4 shows one of core use-case scenarios in i-questionnaire, Creating Polling Questionnaire. The analysis of use case leads to the structural characteristics which facilitates the adaptation and evolution in the components of the framework [9, 10, 11]. Subsequently, it identifies a preliminary mapping of required behavior onto structural elements, classes and collaborations, in the system. Scenario Create Polling Questionnaire Application 1. Administrator browses the polling catalog 2. Administrator selects a category and requests to create a polling application 3. System asks for input polling title and alias 4. Administrator enters polling title and alias 5. System checks polling title and alias for existing 6. System asks for input introduction text and footnote text 7. Administrator enters introduction text and footnote text 8. System shows templates for selection 9. Administrator selects a template 10. System asks for designing questions 11. Administrator add question 11.1 Enters question text 11.2 Selects option style 11.3 Enters options for respondent to choose 12. Administrator requests to save polling application 13. System generates ASP and HTML for the polling application 14. System creates saving directory and saves the polling application Alternative: At step 5, if polling title and alias already been used, system goes back to step 3 to let administrator to re-enter them. Alternative: At step 11, this step can be done for many times until step 12 occurs. Figure 4. Use Case for Creating Polling Questionnaire with i-questionnaire 4

4.1 i-questionnaire Class Design in SaaS Each polling questionnaire application can choose a template from the template selection hosed centrally in cloud environment. Figure 5 presents the class design of the core component, Creating Polling Questionnaire, the source codes generator in i-questionnaire. In further detail illustration, the questions on the polling questionnaire form can have their own option styles, either in graphical user interfaces or multimedia styles. For example, the polling categories for Primary School Education in Hong Kong could contains different categories like Education Strategies, Health, Family Affairs, and Stress in Studies. Furthermore, in the Education Strategies Category can also be subdivided into sub-categories, such as Privatization for Kindergarten, Psychological Barriers in learning. The hierarchy structure in the category provides one-many relationships. Figure 5. Class Design in i-questionnaire 4.2 i-questionnaire Collaboration Design in SaaS The UML mechanism used to express the dynamics of class collaboration is the interaction diagram, which is the generic and consists of different types of diagrams: collaboration, sequence, and activity. Sequence diagrams, in particular, provide a critical link of traceability between the use case scenarios and the classes structures. Figure 6 shows the sequence diagram for Creating Polling Questionnaire which presents the dynamic flow in terms of objects in Class Diagrams according to the use-case scenario shown previously in Figure 4. Through the sequence diagram, methods and classes of the core function, questionnaire source code generator, can be traced. It supports the identified requirements and maintains the consistency with its results in design stage. The controller object, Polling Application, which resides in sequence diagram in Figure 6 looks for the polling category, selects the template, collects the questions for questionnaires and captures the question style options from the administrator. At the very last step, i-questionnaire dynamically generates the ASP.net source codes and data schema for the polling application. The Polling Cataloger in Figure 6 the sequence diagram shows the procedures of a tool administrator to browse the category folder insert a new category and add a sub-category under it. The dynamic collaboration in figure expresses the dynamic operation at the object level in the component by using the classes defined during analysis. 5

5. System Design Figure 6. Sequence operations of source code generation in SaaS i-questionnaire 5.1 i-questionnaire Activity Design in SaaS Activity diagrams can be used for expressing workflow of a function. By definition, they show the flow of activities, which in turn result in actions. We tend to express the dynamic behavior of the operation of the Creating Polling Questionnaire at a higher level than the sequence diagram does. Figure 7 shows the activity diagram for Creating Polling Questionnaire shows the workflow for collecting the required information to construct a polling application with ASP.net source codes and its DHTML web pages, and databases schema for relational database. After that, they could be placed in a web server in a cloud computing environment to serve the users on internet. 5.2 i-questionnaire Data Design in SaaS In the sequence diagram in Figure 6, it has realized the classes into objects for the Creating Polling Questionnaire component with its functions by methods and data members. For the persistence in object orientation, the persistent data attributes are required to store in persistent data storage in a database server. Furthermore, those attributes have to undergo the normalization process and then they could be defined in an entity of a relational database. The data schema of data definitions and their relationships has been declared in the Table 1 and 2 below for your reference. 6

Figure 7. Activity Diagram for source codes generation in SaaS i-questionnaire Table 1. Application Entity in Database Schema APPLICATION TABLE PK Alias The alias of the application table Category The category of this application belongs to Title The title of the questionnaire application Introduction Some instructions for the Repondents Footnote Some footnote to the respondents Template The selected template CreateDate The creation date and time QuestionTableName The question table name that storing questions AnsTableName The answer table name that storing responses Published The publish status of the questionnaire application Enabled The enable status of the questionnaire application Table 2. Questionnaire Answer Entity in Database Schema Answer Table (ans_alias) PK respondentid The ID of the respondent respondentip The IP Address of the respondent Date pag1 The answering date The data stored the question 1 (various, depends on the option style) pag2_1 The data stored the question 2 option 1 pag2_2 The data stored the question 2 option 2 pag3 The data stored the question 3 6. i-questionnaire Software Product We have implemented the prototyping of i-questionnaire in C++ language. The source codes for the questionnaire based on the definition given by administrator are Active Server Pages (ASP.net) and DHTML. The database entity tables for storing answers of questionnaire respondents, in our prototyping system, are dynamically created in a Microsoft SQL Server in a timely fashion. A pilot testing run of i-questionnaire hosted centrally has been done for conducting questionnaire polling on Internet, which demonstrates the integration of the 7

components. The components could be woven together to shape the framework well. We have built a Builder Wizard component in i-questionnaire to construct dynamically in a cloud computing environment. Figure 8 shows the generated questionnaire on Internet for users and the answers received are stored in database for data analysis. It meets the demands and challenges of the customization and flexibility in future in e-business industry. 7. Conclusion Figure 8. Design Interface for i-questionnaire Source Codes Generation in ASP.net and DHTML Web Page Output In this paper, we present a component-based tool for generating a full set of executable source codes and data schema for relational database, which can be placed in cloud computing environment to perform data analysis in e-business. While traditional web-based questionnaire services on internet allow designers to design their questionnaires but require executing them under the same web sites of the service providers, we place particular emphasis on the generation of full and manageable systems, with the aim of allowing system enhancement and evolution to the questionnaire designers, running them on own choices of system environment, and pertaining the cost minimization in a long run in business operation. Our use of component-based framework approach in i-questionnaire provides adaptation by way of two key properties: separation of concerns and extensibility. There is separation of concerns in the sense that the four components identified perform different functions and do not possess any cohesive relationship with others. The architecture of framework is extensible in the sense that new questionnaire types can be installed, constructed and dynamically integrated by i-questionnaire to perform services on-requests. Our approach significantly improves the customization and flexibility of generating the managed source codes for questionnaire in e-business. It not only amortizes the costs to management but also provides the flexibility to designers. We believe the approach of i-questionnaire could be committed to the future in software development of e-business in the cloud computing environment. In this paper, we have in an experimental way to prove that i-questionnaire is a successful prototyping system for questionnaire tool for code generator. Nonetheless, significant work remains to be done to expand its component base. We are currently exploring ways of importing the data sets from distributed heterogeneous databases with entities of different data definitions in cloud computing environment. The issues of interoperability in enterprise distributed 8

environment we think should be addressed in order to tune the tool in the SaaS Framework to be more flexible. We view such studies as an evolutionary extension of i-questionnaire. 8. References [1] Intel IT: Architecting Software as a Service for the Enterprise, Cloud Computing, October 2009. [2] ASIS: Cloud Computing and Software as a Service (Saas) An overview for security professional, 2010. [3] SEISMIC: The Business Cases for Cloud Computing, MSP University, 2010. [4] M.E. Fayad, and D.C. Schmidt, Object-Oriented Application Frameworks, Communications of the ACM, 1997. [5] E. Gamma, R. Helm, R. Johnson, and J. Vissides, Design Patterns: Elements of Reusable Object-Oriented Software, Addison-Welsey, Reading, MA, 1995. [6] F. Buschmann, D. Schmidt, M. Stal, and H. Rohnert, Pattern-Oriented Software Architecture, Volume 3, John Wiley, 2001. [7] H. Gomaa, Designing Concurrent, Distributed, and Real-time Applications with UML, Addison Wesley, 2000. [8] I. Jacobson, and P.W. Ng, Aspect-Oriented Software Development with Use Cases, Addison Wesley, 2004. [9] Gordon Blair, Paul Grace, Francois Taiani, Ackbar Joolia, Kevin Lee, Jo Ueyama, T. Sivaharan: A Generic Component Model for Building Systems Software, ACM Transactions on Computer Systems, Vol. 26, No. 1, Feb 2008. [10] S.Y. Lai, Meta Level Component-Based Framework for Distributed Computing Application, PhD s Dissertation, Computer Science, Engineering and Applied Science, Aston University, Birmingham, UK, 2008. [11] S.Y. Lai, and A.J. Beaumont, Meta-based Distributed Computing Framework for Distributed Computing System, Lecture Notes of Electrical Engineering, Embedded and Multimedia Computing, EMC2011, LNEE, Springer Verlag, August 2011. [12] S.Y. Lai, and A.J. Beaumont, Mobile Bluetooth-Based Multi-Player Game Development in Ubiquitous Computing, Journal of Computational Information Systems, Volume 6, No 14, IEEE, December 2010. 9