How can I describe a method for developing a web-based information system?

 

Tutorial Exercise

 

A project starts with the requirement phase, moves on to analysis phase the design phase and finally implementation. The primary objective of the design phase is to create a design that satisfies the system functional requirements. The preliminary application prototype that was developed during the analysis phase is gradually refined and extended with all details required to satisfy the full spectrum of application business functions.

 

The activities in the design phase are:

  • GUI Standards
  • Database Design
  • Database Security
  • Design components
  • Design System Interfaces
  • Create Preliminary System Documentation
  • Design testing strategy
  • Design data conversion strategy

 

One needs to describe the above activities using documentation standards.

You should properly document any deviation from the original application requirements. After the completion of each phase a formal walkthrough should be scheduled to review the deliverables.

 

GUI Standards

This section discusses basic convention and guidelines that relate to the design of graphical components. One of the key things in the GUI design is that the design should be consistent. One needs to define the standards for Windowing Conventions and Menu Conventions.

            Windows Conventions

One needs to describe the following items to define the windows conventions

1.      Placement and format of command Buttons

2.      Placement and format of status elements such as date, time

3.      Placement and format of messages

4.      Placement and format of menu items

5.      Placement and format of tool bars, control palettes

6.      Placement, format and data representation of input fields

7.      Placement and format of multimedia elements

8.      Placement and format of error messages

9.      Placement and format of pop-up windows

 

         

            Menu Conventions

Following is a list of items to define the menu conventions

1.      Number of Menus elements

2.      Depth of Menu Elements

3.      Menu elements availability

4.      Menu elements wording

5.      Menu elements placement

6.      Help menu element

 

Menu standardization in an application can be achieved through the use of inheritance.

 

Database Design

This step discusses the steps required to transform the application model into a sound database design. The business data model is transformed into a logical database design that can satisfy the data access requirements of the application.

Once this transformation process is done, the logical database design structures are then gradually refined to satisfy the specific operational requirements of the application that relate to performance, security and data distribution considerations.

Finally, the initial logical database structures are transformed into a set of physical database structures. Then each physical structure is progressively refined and optimised to satisfy the complete data access and services-level performance requirements that were identified for the application.

In the logical design phase you identify the entities, normalise the business data model and define the data integrity rules.

In the physical design phase each physical structure is refined and optimised to satisfy the complete data access and service level performance. The physical database and its tablespaces are created using a Data Definition Language (DDL). Tablespaces are database vendors specific. You create the tables, primary key & foreign for these tables and indexes for the tables.

 

Database Security

In a web-based system one might be accessing data from different databases, and it might be manipulated by multiple systems. The system access should be studied and the end result should be a broad assessment of the general security measures that should be enforced to control the accesses to each distinct category of data stored in the database and who should have access to what functions. In this phase one should define the privileges, roles, views, stored procedures and triggers. Stored procedures are small chunks of vendor specific SQL implemented at the database end. So they help reduce the traffic between the client and the server and are written once and used by multiple applications.

An alternative method to limit access to data is to include the access rules within the application code itself. While this technique enforces a certain level of security when the users operate within the internal boundaries of the application, it might present serious shortcomings when the users attempt to bypass the application and access the data directly.

Database Encryption is a technique used convert readable data into an unreadable format. You follow an algorithm to encrypt your data and decrypt that encrypted data using either the same algorithm or a different algorithm. 

 

Design components

A web-based system is built up of components, components are small chunks of code, which perform a task. The components can either be reusable software components or specialised components. Several type of software components can be reused I large software application or across multiple applications. Some of the common software components that can be shared across enterprise-wide application architecture are stored procedures and database triggers. The shared software objects should be the first once to be designed, coded and tested so that they can be shared among other applications.

Once you have designed the common reusable components, you can start with building the custom application software components. These components could be designing and refining the GUI of an application. The complete set of system reports are also designed, along with any additional specialized graphical interfaces that might need to be grafted to the new system. During this phase the report guidelines have to be defined and generic report formats have to be developed.

 

Design System Interfaces

This section discusses the steps involved in creating the system interfaces.

In large and complex web-based systems you frequently encounter a web database applications that must interface with different types of systems which reside either on the mainframe or on a different client-server computing platform. While designing the interface to these systems you need to think about the following points

          Is there a need for a middleware software that allows the client-server or web system to access files and database that resides on a mainframe?

          Will there be a change in the frequency at which the process is done (hourly, daily, weekly, monthly)?

          Does a need exist for some recovery/ restart mechanism if the batch interface program 'abends' in the middle of the job?

 

Create Preliminary System Documentation

In this phase we provide a list of the most common types of guides that can be produced for the new system.

·         User Guide

·         Online Help Guide

·         System Operations Guide

·         Technical Reference Guide

The first two in the list are the targeted towards the users of the system, and the last two target the data centre and System Maintenance groups.

User Guide describes the various tasks that the users must do to interface with the system.

Online Help Guide contains system-related documentation that the users can interactively reference while using the actual system.

System Operations Guide describes the tasks that are required to operate the system in its production environment.

Technical reference guide describes the internal architecture of the system. Usually targeted towards the technical professionals and the people who maintain the system.

 

Design testing strategy

During this activity the scope of the system testing effort is finalised. This step is done based on the information captured so far in the system. The detailed application testing requirements are finalised at this stage, along with the testing scenarios that will be used to verify the system. Besides these broad scenarios one should also decide the test cases that will be used to test the system and the integration test which will be used to test the integration of the various components.

 

Design data conversion strategy

During this phase you decide a data conversion strategy, the need for which arises due to the fact that the data is being pulled on from various heterogeneous databases. 

One must define the following conversion subjects

  • Scope and objectives of the conversion effort
  • Roles and responsibilities of each group involved in conversion
  • Estimated duration time of the entire conversion process
  • Detailed description of the scenarios to phase out the old system components.
  • Detailed fall-back procedures, in case of unanticipated problems

                  

After the completion of each of the above phases one should compare the result with the formal walkthrough’s which are documented in the format below

 

Activity Number:      

 

Activity Name:

 

Purpose

 

Inputs:

 

 

Outputs

 

 

Activity Description

 

 

 

Design, Chapter 4, A methodology for Client/Server and Web application Development, Roger Fournier, Yourdon Press Computing Series

 

What are the deliverables at each stage of the implementation phase?