How can
I describe a method for developing a web-based information system?
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:
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.
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.
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
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.
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.
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.
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.
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
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,
What
are the deliverables at each stage of the implementation phase?
|