Rapid Application Development - CMU Personal...
Transcript of Rapid Application Development - CMU Personal...
Rapid Application Development
Chapter 5 : Developing RAD with CASE tool
Dr. Orawit Thinnukool
College of Arts, Media and Technology, Chiang Mai University
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
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
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.
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
Type of CASE Tools
Type of CASE Tools
Components of CASE Tools
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.
Upper and lower CASE tools
What CASE tools are used to ?
How to uses CASE tools:
How the Organization uses CASE tools:
Role of CASE tools for Develop RAD
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.
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.
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.
• 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
• 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
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.
RAD tools : What is App Gini
App Gini can crate table of database for generating code PHP
table
App Gini GUI
RAD tools : What is App Gini
Generating Code to .php
• 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
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
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.
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
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.
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
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
Reference