Rapid Application Development - CMU Personal...

30
Rapid Application Development Chapter 5 : Developing RAD with CASE tool Dr. Orawit Thinnukool College of Arts, Media and Technology, Chiang Mai University

Transcript of Rapid Application Development - CMU Personal...

Page 1: Rapid Application Development - CMU Personal Webhostingmyweb.cmu.ac.th/wijit.a/954243/week5/ch5_DevelopingRADwithCASEtool... · develop and responsive web database applications instantly.

Rapid Application Development

Chapter 5 : Developing RAD with CASE tool

Dr. Orawit Thinnukool

College of Arts, Media and Technology, Chiang Mai University

Page 2: Rapid Application Development - CMU Personal Webhostingmyweb.cmu.ac.th/wijit.a/954243/week5/ch5_DevelopingRADwithCASEtool... · develop and responsive web database applications instantly.

Contents

- Introduction to CASE tools

- What is CASE tools

- Components of CASE Tools

- Types of CASE tools

- What CASE tools are used to ?

- How the Organization uses CASE tools

- Advantages and Disadvantages of CASE Tools

- Characteristics of a successful CASE Tool

- RAD tools : App Gini

- RAD tools :App Inventor

Page 3: Rapid Application Development - CMU Personal Webhostingmyweb.cmu.ac.th/wijit.a/954243/week5/ch5_DevelopingRADwithCASEtool... · develop and responsive web database applications instantly.

Introduction to CASE tools

CASE originated in the 1970s when computer companies were beginning to

borrow ideas from the hardware manufacturing process and apply them to

software development.

Some CASE tools supported the concepts of structured programming and

similar organized development methods.

CASE tools have had to encompass or accommodate visual programming

tools and object-oriented programming.

Some of the benefits of CASE and similar approaches are that, by making

the customer part of the process

Page 4: Rapid Application Development - CMU Personal Webhostingmyweb.cmu.ac.th/wijit.a/954243/week5/ch5_DevelopingRADwithCASEtool... · develop and responsive web database applications instantly.

What is CASE tools

• Computer-aided software engineering (CASE) is the

domain of software tools used to design and implement

applications.

• CASE tools are set of software application programs,

which are used to automate SDLC activities.

• CASE tools are used by software project managers,

analysts and engineers to develop software system.

• CASE tools are similar to and were partly inspired

by Computer Aided Design (CAD) tools used to design

hardware products.

• CASE tools are used to develop software that is high-

quality, defect-free, and maintainable.

Page 5: Rapid Application Development - CMU Personal Webhostingmyweb.cmu.ac.th/wijit.a/954243/week5/ch5_DevelopingRADwithCASEtool... · develop and responsive web database applications instantly.

What is CASE tools

CASE software is often associated with methodologies for

the development of information systems together with

automated tools that can be used in the software

development process.

Tools that provide automated assistance to simplify software

development process: e.g.

Design

Development

Testing

Page 6: Rapid Application Development - CMU Personal Webhostingmyweb.cmu.ac.th/wijit.a/954243/week5/ch5_DevelopingRADwithCASEtool... · develop and responsive web database applications instantly.

Type of CASE Tools

Page 7: Rapid Application Development - CMU Personal Webhostingmyweb.cmu.ac.th/wijit.a/954243/week5/ch5_DevelopingRADwithCASEtool... · develop and responsive web database applications instantly.

Type of CASE Tools

Page 8: Rapid Application Development - CMU Personal Webhostingmyweb.cmu.ac.th/wijit.a/954243/week5/ch5_DevelopingRADwithCASEtool... · develop and responsive web database applications instantly.

Components of CASE Tools

Page 9: Rapid Application Development - CMU Personal Webhostingmyweb.cmu.ac.th/wijit.a/954243/week5/ch5_DevelopingRADwithCASEtool... · develop and responsive web database applications instantly.

Types of CASE tools

• Classic CASE tools - established software development support

tools (e.g. interactive debuggers, compilers, etc.)

• Real CASE tools - can be separated into three different categories,

depending on where in the development process they are most

involved in:

• **Upper - support analysis and design phases, are used in planning,

analysis and design stages of SDLC.

• **Lower - support coding phase, are used in implementation, testing

and maintenance.

• **Integrated - also known as I-CASE support analysis, design and

coding phases, are helpful in all the stages of SDLC, from

Requirement gathering to Testing and documentation.

Note that :CASE tools can be grouped together if they have similar functionality,

process activities and capability of getting integrated with other tools.

Page 10: Rapid Application Development - CMU Personal Webhostingmyweb.cmu.ac.th/wijit.a/954243/week5/ch5_DevelopingRADwithCASEtool... · develop and responsive web database applications instantly.

Upper and lower CASE tools

Page 11: Rapid Application Development - CMU Personal Webhostingmyweb.cmu.ac.th/wijit.a/954243/week5/ch5_DevelopingRADwithCASEtool... · develop and responsive web database applications instantly.

What CASE tools are used to ?

Page 12: Rapid Application Development - CMU Personal Webhostingmyweb.cmu.ac.th/wijit.a/954243/week5/ch5_DevelopingRADwithCASEtool... · develop and responsive web database applications instantly.

How to uses CASE tools:

Page 13: Rapid Application Development - CMU Personal Webhostingmyweb.cmu.ac.th/wijit.a/954243/week5/ch5_DevelopingRADwithCASEtool... · develop and responsive web database applications instantly.

How the Organization uses CASE tools:

Page 14: Rapid Application Development - CMU Personal Webhostingmyweb.cmu.ac.th/wijit.a/954243/week5/ch5_DevelopingRADwithCASEtool... · develop and responsive web database applications instantly.

Role of CASE tools for Develop RAD

Page 15: Rapid Application Development - CMU Personal Webhostingmyweb.cmu.ac.th/wijit.a/954243/week5/ch5_DevelopingRADwithCASEtool... · develop and responsive web database applications instantly.

Advantages and Disadvantages

of CASE Tools

Advantages1. Produce system with longer effective operational life.

2. Produce more flexible system in development process.

3. Produce system with excellent documentation.

4. Produce system that more closely meet user need and requirements.

5. Produce system that need less systems support.

Disadvantages1. Produce initial system is more expensive to build and maintain.

2. Require more extensive and accurate definition of user need and requirements.

3. Difficult to customize .

4. Difficult to use with existing system.

5. Require training of maintenance staff or user.

Page 16: Rapid Application Development - CMU Personal Webhostingmyweb.cmu.ac.th/wijit.a/954243/week5/ch5_DevelopingRADwithCASEtool... · develop and responsive web database applications instantly.

Characteristics of a successful CASE Tool

A CASE tool must have the following characteristics in order to be used efficiently

(Nipun Tomar,2011) :

A standard methodology: A CASE tool must support a standard software

development methodology and standard modeling techniques. In the present

scenario most of the CASE tools are moving towards UML.

Flexibility: Flexibility in use of editors and other tools. The CASE tool must offer

flexibility and the choice for the user of editors' development environments.

Strong Integration: The CASE tools should be integrated to support all the

stages. This implies that if a change is made at any stage, for example, in the

model, it should get reflected in the code documentation and all related design

and other documents, thus providing a cohesive environment for software

development.

Page 17: Rapid Application Development - CMU Personal Webhostingmyweb.cmu.ac.th/wijit.a/954243/week5/ch5_DevelopingRADwithCASEtool... · develop and responsive web database applications instantly.

Characteristics of a successful CASE Tool

Integration with testing software: The CASE tools must provide interfaces for

automatic testing tools that take care of regression and other kinds of testing

software under the changing requirements.

Support for reverse engineering: A CASE tools must be able to generate

complex models from already generated code.

On-line help: The CASE tools provide an online tutorial for access.

Page 18: Rapid Application Development - CMU Personal Webhostingmyweb.cmu.ac.th/wijit.a/954243/week5/ch5_DevelopingRADwithCASEtool... · develop and responsive web database applications instantly.

• AppGini was released

on 2002 helps user

develop and responsive web database

applications instantly.

• User do not need to have any programming background

to use it.

• Just define the database, set some options, click the

Generate button, and developer're done!

• Worked on developing it by adding features,

enhancements and fixes.

• AppGini has become an outstanding data management

product essential web developera and network

administrators.

RAD tools : What is App Gini

Page 19: Rapid Application Development - CMU Personal Webhostingmyweb.cmu.ac.th/wijit.a/954243/week5/ch5_DevelopingRADwithCASEtool... · develop and responsive web database applications instantly.

• AppGini greatly saves time by taking

care of the routine data management

code.

• AppGini allows you to concentrate on

your business logic, and to reduce

project finish time.

• AppGini generates code that has

been used by thousands of users for

development RAD.

• App Gini has been refined the code,

fixed reported bugs, and enhanced

reliability.

• User don't need to spend days and

weeks testing and debugging code.

RAD tools : What is App Gini

GUI of AppGin

Page 20: Rapid Application Development - CMU Personal Webhostingmyweb.cmu.ac.th/wijit.a/954243/week5/ch5_DevelopingRADwithCASEtool... · develop and responsive web database applications instantly.

RAD tools : What is App Gini

AppGini PHP Generator For MySQL enables you to create PHP

database applications that allow users to view, search and edit data in

your MySQL database.

The data can be displayed as text, link, HTML, check boxes or image,

and you can customize the output style by editing the CSS and HTML

templates.

AppGini supports multiple user groups with different access permissions

and you can also define fields to be read-only, regardless of access

permissions.

Other features include cross-table lookup fields, export to CSV, data

filtering, detailed logging of all user actions, file uploads, image functions,

and more. No PHP coding required.

Page 21: Rapid Application Development - CMU Personal Webhostingmyweb.cmu.ac.th/wijit.a/954243/week5/ch5_DevelopingRADwithCASEtool... · develop and responsive web database applications instantly.

RAD tools : What is App Gini

App Gini can crate table of database for generating code PHP

table

App Gini GUI

Page 22: Rapid Application Development - CMU Personal Webhostingmyweb.cmu.ac.th/wijit.a/954243/week5/ch5_DevelopingRADwithCASEtool... · develop and responsive web database applications instantly.

RAD tools : What is App Gini

Generating Code to .php

Page 23: Rapid Application Development - CMU Personal Webhostingmyweb.cmu.ac.th/wijit.a/954243/week5/ch5_DevelopingRADwithCASEtool... · develop and responsive web database applications instantly.

• AppGini generates 1000s of lines of code, and also

providing a rich set of data management features.

• If the projects hired a programmer to write the same

code, it would cost you many man-days of development

fees. AppGini saves you that cost, and you can use it

over and over in your future projects

• AppGini generates secure code. You don't need to worry

whether your code is vulnerable to SQL injection, XSS,

brute force attacks, ... etc.

RAD tools : Performance of AppGini

Page 24: Rapid Application Development - CMU Personal Webhostingmyweb.cmu.ac.th/wijit.a/954243/week5/ch5_DevelopingRADwithCASEtool... · develop and responsive web database applications instantly.

RAD tools : Code and Application Structure

This forms are pretty basic, but do

the job, and there is even a print

preview option.

The quick search will try to match

any field that contains the value you

enter, and helpfully highlight the

matches. Filters allow you to select

one or more field, operators and

values with AND and OR to link

each strand.

There are HTML templates for the grid rows and for the data entry form for tweaking

layout. The code is fairly clean and well commented, though generally procedural and

may also be a little cryptic for a beginner to hand code.

PHP Data Types

Variables can store data of different types, and different data types can do different

things. PHP supports the following data types:

String / Integer/ Float / Boolean / Array / Object / NULL

Page 25: Rapid Application Development - CMU Personal Webhostingmyweb.cmu.ac.th/wijit.a/954243/week5/ch5_DevelopingRADwithCASEtool... · develop and responsive web database applications instantly.

MIT App Inventor is the fastest way to build apps for Android

phones and tablets. Even with no prior experience, you can learn to build

apps within hours. Professor David Wolber, who has been teaching

beginners programming with App Inventor since its inception in 2009. With

step-by-step video screencasts, Wolber starts with the basics then leads

you through the development of successively more complex apps,

teaching you programming concepts as you go.

Introduction to App Inventor

App Inventor is a free, open source

application that permits people with any

level of programming background to create

software applications for the Android

operating system.

Page 26: Rapid Application Development - CMU Personal Webhostingmyweb.cmu.ac.th/wijit.a/954243/week5/ch5_DevelopingRADwithCASEtool... · develop and responsive web database applications instantly.

App Inventor for Android is an open-source

web application originally provided

by Google which popular in mobile device.

It allows newcomers to computer

programming to create software

applications for the Android operating system

(OS). It uses a graphical interface, which

allows users to drag-and-drop visual objects

to create an application that can run on

Android devices.

Introduction to App Inventor

Page 27: Rapid Application Development - CMU Personal Webhostingmyweb.cmu.ac.th/wijit.a/954243/week5/ch5_DevelopingRADwithCASEtool... · develop and responsive web database applications instantly.

Five Benefits of Using App Inventorby Joseph, & JosephV

No coding needed

No knowledge of programming

languages is required.

You create the design by

dragging stuff onto the screen

and arranging them however

you want. The logic of the app

is determined by connecting

puzzle pieces together.

The service doesn’t always

allow you to connect the pieces

which helps prevent a lot of

errors.

Works very fast

Because it runs in your

browser and it only requires a

lightweight install on your PC it

works fast without having to

wait for a bulky program to

startup. There is an app you

can download to your phone

that allows you to connect to

the site via Wi-Fi or USB. This

app allows you to see the

changes made to your app on

the fly while you create it.

Page 28: Rapid Application Development - CMU Personal Webhostingmyweb.cmu.ac.th/wijit.a/954243/week5/ch5_DevelopingRADwithCASEtool... · develop and responsive web database applications instantly.

Five Benefits of Using App Inventorby Joseph, & JosephV

Automated app creation

After the app is working correctly,

and you applied the spit and

polish the site handles the

building, signing, and packaging

of your app to give to friends, or

distribute in the Google Play

marketplace.

More Code to develop

App inventor is an easy and

fun way to learn how apps

work, and with the active

community you will never

be alone in your journey.

App inventor uses a lot of

common practices that you

will encounter on a daily

basis while coding so it is a

good tool to educate

everyone.

A common drawback to codeless

development is that it is limited in what

it’s capable of, but since this was

originally created by Google, they

made it on par with what you would be

able to leverage if you wrote actual

Java. This includes GPS, SMS, and

databases.

Easy and fun way to learn

Page 29: Rapid Application Development - CMU Personal Webhostingmyweb.cmu.ac.th/wijit.a/954243/week5/ch5_DevelopingRADwithCASEtool... · develop and responsive web database applications instantly.

Introduction to App Inventor

In creating App

Inventor, Google drew

upon significant prior

research in

educational

computing, as well as

work done within

Google on online

development

environments.

The blocks editor in the original

version ran in a separate Java

process, using the Open Blocks Java

library for creating visual blocks

programming languages.

GUI of development environments in App Inventor

Page 30: Rapid Application Development - CMU Personal Webhostingmyweb.cmu.ac.th/wijit.a/954243/week5/ch5_DevelopingRADwithCASEtool... · develop and responsive web database applications instantly.

Reference