35
www.fh-joanneum.at APPLIED COMPUTER SCIENCES Ing. DI(FH) Christian M. Koller The Design and Implementation of a DSL and DSM Environment for Web and Mobile Web Applications Simple Enough to be Useable for Non- Developers 19.10.2016

Presentation Master Thesis

  • Upload
    cqix

  • View
    72

  • Download
    0

Embed Size (px)

Citation preview

www.fh-joanneum.atAPPLIED COMPUTER SCIENCES

Ing. DI(FH) Christian M. Koller

The Design and Implementation of a DSL and DSM Environment for Web

and Mobile Web Applications Simple Enough to be Useable for Non-

Developers

19.10.2016

www.fh-joanneum.atAPPLIED COMPUTER SCIENCES

2

Structure

www.fh-joanneum.atAPPLIED COMPUTER SCIENCES

1. Background2. Literature3. Methodology4. Questionnaire5. Prototype6. Outlook

2

Structure

www.fh-joanneum.atAPPLIED COMPUTER SCIENCES

Background• untermStrich

Software GmbH – Web based – Controlling and office

management – Architects and

engineers

3

www.fh-joanneum.atAPPLIED COMPUTER SCIENCES

• Extend existing software – Increase productivity

• Small to Medium-sized Enterprises – Limited budget

4

Problem

www.fh-joanneum.atAPPLIED COMPUTER SCIENCES

• Extend existing software – Increase productivity

• Small to Medium-sized Enterprises – Limited budget

4

ProblemDSL / DSM

Cross platformNon-developers

www.fh-joanneum.atAPPLIED COMPUTER SCIENCES

• Cross-Platform – Web based or native – Embedding the source code – Security

– Secure communication - HTTPS – Node.js vulnerabilities - Node Security Project

– User interface – jQuery and Bootstrap

5

Literature

www.fh-joanneum.atAPPLIED COMPUTER SCIENCES

• Cross-Platform – Web based or native – Embedding the source code – Security

– Secure communication - HTTPS – Node.js vulnerabilities - Node Security Project

– User interface – jQuery and Bootstrap

5

Literature

www.fh-joanneum.atAPPLIED COMPUTER SCIENCES

• Cross-Platform – Web based or native – Embedding the source code – Security

– Secure communication - HTTPS – Node.js vulnerabilities - Node Security Project

– User interface – jQuery and Bootstrap

5

Literature

www.fh-joanneum.atAPPLIED COMPUTER SCIENCES

• DSL and DSM - Language Design and Creation

6

Literature

Domain idea

Finished appli-cation

www.fh-joanneum.atAPPLIED COMPUTER SCIENCES

• Non-developers and development – Data-intensive web and mobile web application

– Highly responsive – Highly user focused

– Avoid overly complex concepts – Every programming language has to provide certain

concepts

7

Literature

www.fh-joanneum.atAPPLIED COMPUTER SCIENCES

• Questionnaire and Findings – Survey – Qualitative analysis

• Builder Application and Prototype – A task management system

• Conclusion and Outlook – List of concepts

8

Methodology

www.fh-joanneum.atAPPLIED COMPUTER SCIENCES

Questionnaire

9

Group Description Participants

ASkills in

creating office templates

2

BSystem

administrator 1

CNone of the

above 7

www.fh-joanneum.atAPPLIED COMPUTER SCIENCES

Questionnaire• Structure – Basics

– Variables, in-/output, conditions, logical, mathematical

– Structuring - Functions – Repetition - Loops, arrays – Objects - Properties – Events - Event handler – GUI - Modifying the GUI

9

Group Description Participants

ASkills in

creating office templates

2

BSystem

administrator 1

CNone of the

above 7

www.fh-joanneum.atAPPLIED COMPUTER SCIENCES

10

Questionnaire - Findings

www.fh-joanneum.atAPPLIED COMPUTER SCIENCES

10

Questionnaire - FindingsTheAnswer = 42

show TheAnswer

TheAnswer = TheAnswer + 42

if TheAnswer is 42if TheAnswer < 42

TheAnswer = ask ‘Please enter the Answer’

call anzeigenMitarbeiter.alter

on …

change ‘H1’ ‘Hello’

www.fh-joanneum.atAPPLIED COMPUTER SCIENCES

10

Questionnaire - Findingselse? Defining

functions?

Arrays?

Loops?

TheAnswer = 42show TheAnswer

TheAnswer = TheAnswer + 42

if TheAnswer is 42if TheAnswer < 42

TheAnswer = ask ‘Please enter the Answer’

call anzeigenMitarbeiter.alter

on …

change ‘H1’ ‘Hello’

www.fh-joanneum.atAPPLIED COMPUTER SCIENCES

11

OK

LOGIN / FAILLogin

Username

Password

Login Requirement

Validate username and password

If valid got to page "OK" Returns: ID, Permission, Name ...If not valid go to "FAIL"

Welcome

• Tasks

• …

LOGIN APIPrototype

www.fh-joanneum.atAPPLIED COMPUTER SCIENCES

11

CREATE

OK

Task creation

Staff Widget

Project Widget

Date Widget

Title

Description

-- Select One --Status

If user permission, it is fixed

If user permission, it is fixed

If user permission, it is fixed

If user permission, it is fixed

If user permission, it is fixed

Save DB

Save to whatever databaseIf valid got to page „Task table“If not valid go to "FAIL"

FAILOK

Task filter

Staff Widget

If user permission, it is fixed to the logged in user

Task table

Example task text Staff Date Status…Example task text Staff Date Status…Example task text Staff Date Status…Example task text Staff Date Status…

STAFF API

PROJECT API

OK

Prototype

www.fh-joanneum.atAPPLIED COMPUTER SCIENCES

• ANTLR • CoffeeScript • CoffeeScript II: The Wrath of Khan

12

Prototype

• LiveScript

www.fh-joanneum.atAPPLIED COMPUTER SCIENCES

• ANTLR • CoffeeScript • CoffeeScript II: The Wrath of Khan

12

Prototype

• LiveScript

www.fh-joanneum.atAPPLIED COMPUTER SCIENCES

12

Prototype• LiveScript• jQuery • Bootstrap • Node.js & Express • Grunt • Sequelize • Jade / Pug

www.fh-joanneum.atAPPLIED COMPUTER SCIENCES

13

www.fh-joanneum.atAPPLIED COMPUTER SCIENCES

14

www.fh-joanneum.atAPPLIED COMPUTER SCIENCES

15

www.fh-joanneum.atAPPLIED COMPUTER SCIENCES

16

www.fh-joanneum.atAPPLIED COMPUTER SCIENCES

17

www.fh-joanneum.atAPPLIED COMPUTER SCIENCES

18

www.fh-joanneum.atAPPLIED COMPUTER SCIENCES

19

www.fh-joanneum.atAPPLIED COMPUTER SCIENCES

20

www.fh-joanneum.atAPPLIED COMPUTER SCIENCES

21

www.fh-joanneum.atAPPLIED COMPUTER SCIENCES

21

Keyword Parameter Description

on EventName Defines an event handler.

variableName = Value Sets a variable to Value.

+-*/ Mathematical operators.

true false yes no Boolean values.

’text’ "text" Strings using single or double quotes.

objName.propName

Accessing the object property propName from object objName.

if C o n d i t i o n a l statement

A condition.

unless A not fulfilled condition.

www.fh-joanneum.atAPPLIED COMPUTER SCIENCES

21

https://bitbucket.org/cqixk/every1builder

The MIT License (MIT)

www.fh-joanneum.atAPPLIED COMPUTER SCIENCES

21

www.fh-joanneum.atAPPLIED COMPUTER SCIENCES

21