240 likes | 437 Views
Application Development in Fourth Generation Systems. Semua Catatan kuliah dapat di Download dari : http://staffsite.gunadarma.ac.id/sunny. Fourth Generation Systems. Objectives: to speed up the application building process
E N D
Application Development in Fourth Generation Systems Semua Catatan kuliah dapat di Download dari: http://staffsite.gunadarma.ac.id/sunny
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
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
Fourth Generation Development... Involves: • Client / Server Development • Event Driven Programming • Graphical User Interface (GUI) Development • Object-Oriented Programming (and reuse) • Database Transaction Processing
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 concurrencyand locking strategies
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
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 ...)
Client / Server Concepts Client / Server Systems are decomposed into three elements: servers, clients & the links between them • Server: • provides a clearly defined set of services & a documented interface for activating those services • Client: • requests services; processes, then displays the results • Linkage: • based on telecommunications links or calls within the same processor
Client / Server Concepts ... Client / Server Connections • Open Systems • the interfaces used within the system adhere to international standards • Distributed Systems • 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 LANor WAN
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
Client / Server Concepts ... 4GLs and Client / Server • At the Presentation Layer • most 4GLs concentrate on the interface • At the Business Rules Layer • 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
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
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
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
GUI / Windows Concepts ... • The Use of Colour • Excessive colour can be confusing • About 8% of European males are colour-blind 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
GUI / Windows Concepts ... • The Use of Colour ... • Avoid combining colours with different perceptual depths • e.g. red advances while blue recedes • It is difficult to distinguish • blue lines on black & yellow lines on white • Use common meanings for colours e.g. • red: danger, stop • yellow: caution, slow • green: OK, go
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
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.
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)
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
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
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
Terms and Concepts • Window • basic visual building block of an application • Event • triggered by a user or by code in a script • activates a block of 4GL code or script • Script • 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.
Tutorial - to be completed by next week • Create the Oracle database tables for your assignment • 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