fourth generation systems

Download Report

Transcript fourth generation systems

Application Development in
Fourth Generation Systems
Semua Catatan kuliah dapat di
Download dari:
http://staffsite.gunadarma.ac.id/sunny
1
Fourth Generation Systems
Objectives:
to speed up the application building process
 to reduce maintenance costs by making the
application quick and easy to modify
 to make languages user friendly so that users
can solve their own problems
Also:
 to incorporate the latest advances in
development techniques & technology to
achieve the above

2
Fourth Generation
Development


Users and developers collaborate
Usually an Iterative Development
the system is described graphically
 a prototype is built based on the
design
 evaluation and refinement of design
 a second and third build may be
required
 final testing and deployment

3
Fourth Generation
Development...
Involves:





Client / Server Development
Event Driven Programming
Graphical User Interface (GUI)
Development
Object-Oriented Programming (and
reuse)
Database Transaction Processing
4
The Application Developer
must know:




how to manage a database
a query language (SQL & embedded SQL)
system development methodologies
rapid prototyping of applications





Rapid Application Development
Client / Server concepts
GUI / Windows concepts
OO programming
performance tuning of the application

transaction management with
concurrency and locking strategies
5
Developing
a 4GL Application

Visual Programming Environment


with an interactive dialogue structure
Software Engineering Support





interactive testing
interactive debugger
code/objects reuse
multiple developers
configuration management
6
Interactive Dialogue Structure:





Screen interaction via form-filling
Leads the developer (with Help and
validation)
Offers menu choices, lists, function keys...
Default Options (developer can change
default)
Two dimensional
(developer can click on an object, move a
cursor or scroll an image ...)
7
Client / Server Concepts
Client / Server Systems are decomposed

into three elements:
servers, clients & the links between them
Server:


Client:


provides a clearly defined set of services & a
documented interface for activating those services
requests services; processes, then displays the results
Linkage:

based on telecommunications links or calls within the
same processor
8
Client / Server Concepts ...
Client / Server Connections
 Open Systems


Distributed Systems


the interfaces used within the system adhere to
international standards
can be categorized by what is distributed:
processing, data or both
OO
objects are like servers or clients with a message
interface
Most common is the PC-style workstation
connected over a LAN or WAN

9
Client / Server Concepts ...
Application Development Tiers
Presentation Layer - GUIs
 Business Rules or Application Logic
 Database Layer
2-Tier
 Fat Server - data and business rules
 Fat Client - GUI and business rules
3-Tier or n-tier
 each layer on its own

10
Client / Server Concepts ...
4GLs and Client / Server

At the Presentation Layer


At the Business Rules Layer


most 4GLs concentrate on the interface
the business logic may be coded in the client application,
be in stored database procedures and triggers or be in a
separate tier
At the Database Layer

use wizards to generate the database
4GL Trends - 3-Tier, Distributed, OO, GUI
11
GUI / Windows Concepts

User Interface Design


Ultimate goal is EASE OF USE
Features







Real world metaphors
Selection rather than remembering
Consistency
User control
Feedback
Forgiveness
Perceived stability
12
GUI/Windows Concepts ...
A well designed screen
can improve productivity by 25%

Principles of Good Screen Design


All screens in the system should look and
act consistent
Cohesion:

Each screen should do one complete task
13
GUI / Windows Concepts ...

Cohesion







Only data relevant to the task is on the screen
Build screen L->R, Top -> Bottom
Screen contents should be balanced, symmetrical
Horizontal division of data better than vertical
Use no more than 25% of screen
Left justify data fields
Use visual highlighting carefully e.g.
 high brightness to identify data fields
 Reverse video can be hard to read, but useful
for errors
14
GUI / Windows Concepts ...

The Use of Colour



Excessive colour can be confusing
About 8% of European males are colourblind and cannot distinguish red from
green
Average users remember the meaning of
5-7 colours so keep the number of colours
to 4 giving the brain space for other
activities
15
GUI / Windows Concepts ...

The Use of Colour ...

Avoid combining colours with different
perceptual depths


It is difficult to distinguish


e.g. red advances while blue recedes
blue lines on black & yellow lines on white
Use common meanings for colours e.g.



red:
danger, stop
yellow: caution, slow
green:
OK, go
16
GUI / Windows Concepts ...

Multiple Windows

Application design must determine the (WWS)

WWS - Working Windows Set
ie the number of windows the user needs in a certain
time period to perform the task efficiently

If the WWS cannot fit the screen the user must:



search or scroll to find the required window
delete windows to make room for the current one
The user is distracted by “non-active” windows

e.g. background tasks with activities like printing &
system monitoring
17
GUI / Windows Concepts ...

Icons



Are being increasingly used in GUI’s to
represent functions
Must be recognisable to the user
Best for concrete objects, most effective as a
miniature


e.g. waste-paper basket = destroy
Note that some symbols have different
meanings in different cultures.
18
Creating an Application
Data Model and Data



Design database (done by lecturer)
Create database (done by IT Services)
Create tables


use SQL scripts or a software tool
(Oracle Schema Manager)
Populate the tables with data for testing

use SQL scripts or a software tool
(Oracle Enterprise Manager)
19
Creating an Application ...
Application Design

Develop the application specification



Partition the application for
client/server: where will the business
rules be coded
Identify the tasks/functions/modules
Design the interaction or flow of screens
ie View Navigation Diagram, Screen Hierarchy Chart
or Application Flow Diagram
20
Creating an Application ...
Application Construction

Create the application


include library routines and global variables
Create each screen





Connect to the database for data access if required
Design the interface layout
Set values for interface objects
Write code to perform required functions: normally
related to user interaction with interface objects
(events)
Compile and test each screen
21
Creating an Application ...
Application Completion

Test the Application




Integrate all screens
Exercise all use-cases
Include creation of extra test cases if
necessary
Deploy the application

create executables and DLLs, Packages etc
22
Terms and Concepts

Window


Event



triggered by a user or by code in a script
activates a block of 4GL code or script
Script


basic visual building block of an application
sequence of statements that perform processing in
response to an event e.g. PL/SQL, PowerScript
Control or Interface Object

created by the developer to allow user to interact
with the application, or to enhance the interface.
23
Tutorial

Create the Oracle database tables for your
assignment



- to be completed by next week
use Oracle Schema Manager (or SQL scripts)
Programs -> Oracle-> OraEMGR -> DBA
Management Pack -> Schema Manager)
follow carefully the table definitions given in the
assignment, noting primary and foreign keys
Enter data into the tables

ensure data conforms to table relationships
24