Friday, May 15, 2020

Tourism Management System


ONLINE TOURISM MANAGEMENT MANAGEMENT PROJECT REPORT | ONLINE TOURISM MANAGEMENT SYSTEM


Project Overview

All details of Customer, Tours, Packages, Country, State, registration etc are maintained in registers. All Payments & dues are also maintained in registers. All Bills are manually created and send at a desired place for further use. The daily-to-daily entries are also being manual. 

          Preliminary the investigation took me to the Accounts room of Agency, where I came across the current working process. Although the process of maintaining data is not a recorded one as such there were no documents to be reviewed in order to determine the efficacy of the current working process. So I had to emphasize on the observation I made while in the office. In order to complement my onsite observations, I undertook a simple interview of office bearers. The results of which are broadly cataloged below.


System Analysis

Identification Of Need

           The complete understanding of software requirements is essential to the success of a software development effort. The requirements analysis task is a process of discovery, refinement modeling and specification. The software scope initially established by the system engineer and refined during software project planning is refined in detail. Modular of the required data, information and control flow, and operational behavior are created. Alternative solution are analyzed and allocated to various software elements.

          Both developer and customer take an active role in requirements analysis and specification. The customer attempts to reformulate a sometimes-nebulous concept of software function and performance into concrete detail. The developer acts as interrogator consultant and problem solver.

          Requirements analysis is a software engineering task that bridges the gap between system level software allocation and software design.

          Requirement analysis enabler the system engineer to specify software function and performance indicate software’s interface with other system elements and establish constraints that software must meet.

       Software requirements analysis may be divided into five areas of effort:

(a)      Problem recognition.

(b)      Evaluation and synthesis

(c)      Modeling

(d)      Specification

(e)      Review

          Initially, the analyst studies the system specification and the software project plan. Problem evaluation and solution synthesis is the next major area of effort for analysis. Upon evaluating current problems and desired information (input and output) the analyst begins to synthesize one or more solutions.

       During the evaluation and solution synthesis activity, the analyst creates models of the system in an effort to better understand data and control flow, functional processing and behavioral operation, and information content. The model serves as a foundation for software design and as the basis for the creation of a specification for the software.

 

 

 

 

 

 

 


Preliminary Investigation

              Present system is manual. The working of the organization May be described as:

              All details of Customer, Tours, Packages, Country, State, registration etc are maintained in registers. All Payments & dues are also maintained in registers. All Bills are manually created, and send at desired place for further use. The daily-to-daily entries are also being manually. 

          Preliminary investigation took me to the Accounts room of Agency, where I came across the current working process. Although the process of maintaining data is not a recorded one as such there were no documents to be reviewed in order to determine efficacy of the current working process. So I had to emphasize on the observation I made while in the office. In order to complement my onsite observations I undertook a simple interview of office bearers. The results of which are broadly catalogued below.

              In concurrence with onsite observation I conducted some interviews. To get a closer look at the present working culture and identify the problem domain I talked to some of office bearers. I presented them with the following set of questions.

Questionnaire:

Some general questions-

1.Who is behind the request for this work?

2.Who will use the software?

3.Why do you want this software?

4.Can you show me the environment in which the software will be used?

5.What is your requirement?

6.What will be the economic benefit of a successful solution?

Other question about software-

1.What do you feel is the biggest bottleneck in your work?

Ans. The slow working process of the work due to high number of calculations.

2. What effect does it have on your work?

Ans. Usually it delays our work. As such we have to prepare ourselves 3 to 4 days beforehand to say the least.

3. Are you always satisfied with your results?

Ans. No because it hardly leads to a conclusive result rather generating further queries. Also the bulk of work sometimes forces us to limit our capabilities and skip through some material and information since they may not be available.

                   The preliminary investigation gave me clear information about the ills plaguing the present system.    


Feasibility Study

Before getting started on the new system it was important to determine the feasibility involved in the developed system so that the new system development could be develop. Feasibility is the determination of whether or not a project is not worth doing. The project followed in making this determination is called a feasibility study. This type of study determines if a project can and should Be Taken. Once it has been determined that project is feasible, the analyst can go ahead and the prepare the project specification which finalizes project requirements.

Generally, feasibility studies are undertaken within tight time constraints and Normally culminate in a written and feasibility report.

The developed system is started after considering the main three type of feasibilities which are discussed below: -

1)-Technical feasibility
2)-Operational feasibility

3)-Economic feasibility

Technical Feasibility

          As we know the technical feasibility is concerned with specifying equipment and software that will successfully satisfy the user requirement. The technical needs of the system may very considerably, but might include:

  • The facility to produce outputs in a given time.
  • Response time under certain conditions.
  • Ability to process a certain volume of transaction at a particular speed.
  • Facility to communicate data to distinct location.

In examination technical feasibility, configuration of the system is given more importance than the actual make of hardware. The configuration should give the complete picture about the system’s requirements: How many workstations are required, how these units are interconnected so that they could operate and communicate smoothly.

Economic Feasibility

Economic analysis is the most frequently used technique for evaluating the effectiveness of a proposed system. More commonly known as cost/benefits analysis the procedure is to determine the benefits and savings that are expected from a purposed system and compare with costs.

 If benefits out weigh cost, a decision is taken to design and implement the system otherwise further justification or alternative in the proposed system will have to be made if it is to have a chance of being approved. This is an on going effort that improves in accuracy at each phase of the system life cycle.

The analysis part also clears the doubt of economic problems could be possible in developing the system. As already mentioned that the company has to just pay the developed software cost and not other investment is needed at the time of implementation of the new system as the preliminary requirement are already exist in the company.

                   Since the cost difference between the present system and the new proposed computerized system will be large. Considering the fact that new system will require only one time monetary investment whereas the present system keeps on adding to the cost in a daily basis. We can conclude that the breakeven point will be reached

within a year, making this proposed computerized news management system economically feasible.

Operational Feasibility

  Proposed projects are beneficial only if they can be turned into information system that will meet the operating requirements of the organization. This test of feasibility asks if the system will work when it developed and installed. Are there major barriers to implementation? Some of the important questions that are useful to test the operational feasibility of a project are given below:

·         Is there sufficient support for the project from the implementation? From user? If the present system is well liked and used to the extent that persons will not be able to see reasons for change, there may be resistance.

·         Are current business methods acceptable to the user? If they are not, user may welcome a change that will bring about a more operational and useful system.

·         Have the user been involved in the planning and development of the project? If they are involved at the earliest stage of project development, the chances of resistance can be possibly reduced.

·         Will the proposed system cause harm? Will it produce poorer result in any case or area? Will the performance of staff member fall down after implementation?

              Issue that appears to be quite minor at the early stage can grow into major problem after implementation. Therefore, it is always advisable to consider operational aspects carefully. The system is developed in keeping mind that it should be user friendly and easy to operate hence the system is operational feasible.


Software Engineering Paradigm Applied

To develop the system Proto Type Modal is applied as the company wanted to see the software development process and appearance of the software so that the idea of functionality of the system can be understood. The software developed in three phases in first phase the dry proto type is developed in which after the analysis the screens are designed and no validations are performed and also no database functionality is incorporated. After the demonstration of dry proto type suggestions from the client are noted and the development process is moved to the second phase i.e. wet prototype the actual designed is incorporated, validations are performed and the software is submitted to the user for acceptance and testing and then after final submission of the software is produced with user manual.  To under stand the better functionality of the Prototype modal the applied modal is described here given below:     

Prototype Type Model:-

In general Customer defines a set of objectives for software, but does not identify detailed input, processing, or output requirements. In other cases, the developer may be unsure of the efficiency of an algorithm, the adaptability an operating system or the form the human machine interaction should have.

In such situations, a prototyping paradigm offers the best approach. The prototyping paradigm starts with requirements gathering. Developer and customer define the overall objectives for the software, identify requirements and outline areas where definition is necessary. A “quick design “ than focuses on aspects of the software that are visible to the customer /user. The quick design leads to the construction of a prototype. The prototype is evaluated by the customer/user and is used of refine requirement for the software to be developed.  Iteration occurs, as the prototype is developed to satisfy the needs of the customer and enabling the developer to better understanding what needs to be done.

          The prototype serves as a mechanism for identifying software requirements if a working prototype is built, the developer uses existing program fragments or applies tools to make working program quickly.

Software Requirement Specification:-

                 The software requirements specification is produced at the culmination of the analysis task. The function and performance allocated to software as part of system engineering are refined by establishing a complete information description a detailed functional and behavioral description, a indications of performance requirements and design constraints, appropriate validation criteria and other data pertinent to requirements.

1.      Introduction

          a.       Purpose

          b.       Scope

          c.       Definition, Acronyms, Abbreviations

         d.       References

          e.       Developer’s Responsibilities Overview

2.      General Description

          a.       Vehicle Functions Overview

          b.       User Characteristics

          c.       General Constraints

          d.       General Assumptions and Dependencies

3.      Specific Requirements

          a.       Inputs and Outputs

          b.       Functional Requirements

                                      c.       External Interface Requirements

          d.       Performance Constraints

          e.       Design Constraints

(i)                   Software Constraints

(ii)                  Hardware Constraints

4.      Validation and Criteria

          a.       Performance bounds

          b.       Classes of tests

          c.       Expected Software response

          d.       Special Considerations

5.      Acceptance Criteria

1.     Introduction: -

                This is the requirements document for the project that will be used throughout the work. The system to be developed is for front office and financial work of agency, based on the inputs given. This document follows the IEEE standard for a requirement specification document, with some variations.

          a). Purpose:

The purpose of this document is to describe the requirements of agency. It also describes the interfaces for the system.

          b). Scope:  

This document is the only one that describes the requirements of the system. It is meant for use by the developers and will be the basis for validating the final delivered system. Any changes made to the requirements in the future have to go through a formal change approval process. The developer is responsible for asking for clarifications, where necessary, and will not make any alterations without the permission of the client.

          c). Definitions, Acronyms, Abbreviations:

 Not applicable.

          d). References:

                   Not applicable.

          e). Developer’s Responsibilities Overview:

The developer is responsible for (i) developing the system, (ii) installing the software on the client’s hardware, (iii) conducting any user training that might be needed for using the system, and (iv) maintaining the system for a period of one year after installation.


2.General Description: -

a). Functions Overview:

In agency there is a counter for booking and various queries of the customers can be solved with ease on one table. As the software provide all information customer, registration etc provided by the agency.

          b). User Characteristics:

The main users of this system will be the registration department and accounts department, who are somewhat literate with computers and can use programs efficiently.

          c). General Constraints:

                   The system should run on win 95 /98/2000 or above.

          d). General Assumptions and Dependencies:

                   Not applicable.

3. Specific Requirements:

          a). Inputs and Outputs:

The system has all the details regarding the Customer, Tours, Packages, Country, State, employee, etc are maintained etc. The system has several inputs in form of data entry and several outputs in form of bills, reports etc.

The forms under the heading General Entries are registration, salary, leave etc are maintained.

From one the bill is generated and the other helps in report generation. Here also, the customer gets the desired registration and accordingly the bills and report are generated.

b). Functional Requirements:

It present description of each function required to solve the problem. A processing narrative is provided for each function, design constraints are stated and justified, performance characteristics are stated, and one or more diagrams are included to graphically represent the overall structure of the software and interplay among software functions and other system elements under this topic, the functional working of the various modules where give the complete picture for the data flow from one location to other.

c). External Interface Requirements:

              Only one user command is required. The file name must be prompted by the system in status bar.

d). Performance Constraints:

The reports and bills should be printed in less than 1 minute.

e). Design Constraints:

The system is to run under the WINDOWS operating system.

4.Validation Criteria:

Probably the most important section of a software requirements specification is validation Criteria. The specification of validation criteria acts as an implicit review of all other requirements. The tests must be conducted to validate function, performance and constraints.

In this project I have try the various steps in testing the links and connectivity of the data Directorate of public grievances takes up a grievances where it is satisfied that eh matter has not been dealt with by the concerned SSA in a fair, just or objective manner or has been unduly delayed. It may take up such a care for investigation, call for a report and or file from the concerned SSA and ask them to reconsider the matter and to arrive at a fair decision in a time bound manner.

5. Acceptance Criteria:

Before accepting the system, the developer must demonstrate that the system works on the course data for the last 4 semesters. The developer will have to show through test cases that all conditions are satisfied.

 

 

System Design

1. Input Design:

When designing input, the objective is to ensure that the data that will be processed by the system is collected and entered into the system efficiently, according to the specified requirements, and with the minimum of errors. In description with the client, the designer will choose a method of input, which is cost effective and acceptable to the end users. The process of input design, like output design, which was described earlier, consists of four stages.

·                     Firstly, identifying the inputs into the system, by listing the data flows on the required logical data flow diagram which cross the system boundary on their way in

·                     Then determining the content of these inputs by inspecting the data dictionary

·                     Next choosing an appropriate input device to change the user's data into a form which can be read and processed by the computer system

·                     And finally completing the detailed design work involved in specifying forms, input screens and other data collection documents.

Project development required complete analysis of system right from the scratch   Analysis   of   the system required great attention on big as well as minute transactions This required exhaustive study of Manual management system. Manual system was divided in various sections, which were dealt individually. Getting detail of each section was a tedious and a time consuming task. This involved various meetings with head of each individual section. After getting detail of each section whole process was re-evaluated   and a proper design for the system was brought into existence. Design was discussed with the Workshop’s Manager and was further improved by eliminating some loopholes. Designing process is carried on very carefully as this serves as backbone for development of any software. Thus synopsis of the package was prepared.

After Design phase attention was laid upon source code of the package.

Whole project was divided into small modules. Source code for each module was individually prepared and tested both syntactically and logically (Modular Testing). In cases modules were further divided into units and tested (Unit Testing). These units were merged to get modules and these modules were further available for integration. This sort of testing comes under Integration Testing. Various tests were conducted on the package to demonstrate that the system satisfies all the requirements stated in requirements documentation. This is Acceptance Testing. 

Phase 1 of the package has been prepared and is running successfully (Implementation).

Maintenance of the package would require further enhancement of the package as per requirements of the company.

2. Data Base Model Apply:

       The data in a database is organized according to the data structure 'imposed' upon it by the physical data model. The physical data model is normally produced during the physical data design stage in the development life cycle and tailored specifically to the selected, or imposed, database type.

The rules regarding this implementation and its subsequent optimization will vary widely according to the type of DBMS.

The Database Management Systems available today can be grouped into four types.

These are:

*      File Management Systems (FMS)

*      Hierarchical Databases (HDS)

*      Network Databases (NDS)

*      Relational Databases (RDBMS)- The relational database model resulted from an IBM-sponsored research project by Dr. E.F.Codd. The relation model attempts to overcome some the failings of the hierarchical and network database model, and provides easy-to-use and flexible data structure.

*      The relational model includes data structure (table), operators that can be used to manage the data in data structure, and some integrity rules that ensure that the data obeys the business rules defined for the system.

*      The relational model is based on relational algebra concepts and theory and, in the early days, used some of the same technology to describe the processing that could be performed on the data structures For example, relational theory uses the words "relations" to mean tables, "tuples" to mean rows, and "attributes" to mean columns in table

*      Relational database are the most common type of database management systems in use today. 

Relational database includes Oracle, DB2, Ingress, Informix, Sybase, and    SQL Server.

*      Another important concept in relational databases is that relationships between tables are not hard-coded in the structure of the data that is there are no pointers in the data to relate one table to another. This means that you can specify the relationships between two sets of data at development time rather than   when the tables are first created. This greatly improves the flexibility of the database management system.

*      Relational Database Properties- A relational database management system (RDBMS) has the following properties:

§  Represents data in the form of tables

§  Does not hard-code relationships between tables

§  Doesn't require the user to understand its physical implementation

§  Provides information about its contents and structure in system tables

§  Can be manipulated through SQL commands

§  Supports the concept of NULL values

In this project the database used is SQL.

Overview of SQL:

A relational database is an extremely simple way of thinking about and managing the data used in a business. It is nothing more than a collection of tables of data.

A relational database management system such as SQL server gives you a way of doing things in an understandable and reasonably uncompelled way. SQL server basically does three things:

  1. Lets you put data into it.
  2. Keeps the data.
  3. Lets you get the data out and work with it.

The information stored in SQL server is kept in tables. There are  three major  characteristics  of the tables.

Ø  Columns

Ø  Rows

Ø  Name

3. Tables of   Information:

SQL stores information in tables. These tables have one or more columns. The columns heading describe the kind of information kept in the column. The information is stored row after row. Each unique set of data gets is own row.

Even though the tables are independent, we can easily see that they are related.  A column in one table is related to a column in the other table.  This relationship is the basis for the name relational database. This is the basic idea of a relational (sometimes called a relational model). Data is stored in tables. Tables have columns, rows, and names. Tables can be related to each other if each has a column with a common type of information.

The retrieval of data from a database can be faster with primary key. A primary key is a field that uniquely identifies each record in a table is called a foreign key.

To cascade updating and deletion of related fields, we enforce the referential integrity. Whenever a change is made to primary key.

When two tables have single common field, they are said to be 'related'. The types of relationships, which the tables in SQL can have, are:

Ø  One to One

Ø  One to many

Ø  Many to One

Ø  Many to many

SQL server, objects can be defined as reusable software codes which are location independent and perform a specific task on any application environment with little or no change to the code. SQL Brands, Models are based on a concept known as the “Client/Server Technology”. This concept involves segregating the processing of an application between two systems. A client or front-end database application also interacts with the database by requesting and receiving information from the ‘database server’. It acts as an interface between the user and the database. Further, it also checks for validation against the data entered by the user. The database server or backend is used to manage the database tables optimally among multiple clients who concurrently request the server for the same data. It also enforces data integrity across all client applications and controls database access and controls database access and other security requirements.

     SQL is a RDBMS and consists of a comprehensive set of application building and end-user Brands, Models, aimed at providing complete solutions. SQL applications are potable across a variety of platforms and operating systems. It provides a flexible DBMS called SQL server for storage and management of information used by all applications.

        An object relational database management system (ORDBMS) extends the capabilities of the RDBMS to support object-oriented concepts. We can use Oracle as an RDBMS or take advantage of its object-oriented features. The information stored in SQL is kept in tables. The three major characteristics of most tables are columns, rows and a name.

Tables can be related to each other if each has a column with a common type of information.

SQL avoids specialized, academic terminology in order to make the vehicle more approachable. A column may be called an “attribute”, a row may be called a “tuple”, and a table may be called an entity.

SQL was the first company to release a vehicle that used the English-based Structured Query Language or SQL. This language allows end users to extract information themselves, without using a systems group for every little report. Oracle’s query language has rules of grammar and syntax. SQL is an astonishingly capable tool.

          Some benefits of using SQL are:

Ø  Large Databases

Ø  Many Users (multiple user can work)

Ø  Portable

Ø  Backup & Recovery features

Ø  Security

Ø  Client/Server Support

Ø  Data entities & Key Fields

Ø  Entity & Attributes

Entity-          An entity is an object, place, person, concept, or activity about which an enterprises record data.

Attribute-  An attribute is the characteristic property of an existing entity. The difference between attribute type and attribute instance has to be understood.

 

4.Relationship Diagrams

              A relationship is defined as "an association among entities". A relationship type is an association of entity, while a relationship instance is an association of entity instances.

*                 One-to-One

If in an entity there is a one field, which is not repeated, and another entity it is related and also entered once is called One-to-One relationship.

*                 One-to-Many (or Many-to-One)

In One-to-Many relationship in one table field is not repeated and in another table which is related to the first table the field has to be repeated like in the current project in consumer master file consumer number is not repeated and booking file there is repetitions of consumer number whenever consumer booked the refill.

*                 Many-to-Many

In many to many relation ship both table can have repetitive data.

5. Screen Designs

       The quality of screen design can have a direct impact on the performance of the users of the system, and the designer needs to consider the format as well as the content of the screens on which the dialogue, or interaction, between the user and the system is based. A number of features of screen design are worth discussing here:

·         Text – Must be easily readable. In addition to choosing an appropriate font and size for the characters, readability can be improve by using lower and upper case letters, rather than the approach some times adapted in screen design of using all upper case evenly

Space text, with an unjustified right margin is easier to read than right justified text, which has spaces of varying sizes between the words. The use of concise phrase, familiar vocabulary and appropriate abbreviations make it easier for the reader to understand the text. The most visible section of the screen is the upper left-hand corner

And it is a good idea to locate important messages in this area. Again it is important that

The designers understand the characteristics of the in user in order to deliver quality Brands, Models. Beginners, who are usually looking at their fingers, will noticed error messages

Which appear on the button line on the screen, where as the top right corner of the screen is a more appropriate location for experienced keyboard operators.

·                       Colour- another set of the design option is possible, in addition to those described above, if the display is in colour. Being in a different colour to be rest or being enclosed in a coloured box can highlight text. Background colours can be changed or a design convention can be used in which different types of information are displayed in different colours. The consistent use of colours on screens within the same system is important, and the designer must be wary of using to many colors or creating lurid combination as these will work against the effectiveness of the screen design.

·                       Graphics – can be used to good effect for displaying information, especially trends in numerical data. They can be coloured, solid, three-dimensional or animated, and the designer must decided on what is appropriate to the purpose. Another use of graphics is as an integral part of the structure of the dialogue-known as a graphical user interface (GUI).

·                     Animation- although this is little used in screen design, it can be a powerful technique for attracting the attention of the user, because the eye is always drawn to a moving object; to mark the position of an object, for example, a blinking cursor can be used; or to communicate a message, a clock with a moving hand , or an hourglass with moving  sand, indicate to the user that they have to wait while some processing is carried out by the machine.

7.File Design

The way in which data is organized and accessed can be crucial to the effectiveness of a computer system. Data can be stored in files or in a database.

 

Types of Files

Master file contain records, which are critical to the system and its users. The records in master file store permanent information of long-term value to an organization and are used regularly in the organization’s key system.

Transaction files contain transient data relating to business activities, such as telephone calls logged. They are used mainly to update master files. Transaction files usually contain records relating to a particular period part of time.

8. Dialog Types

 A. Common Dialogs

There are a number of different approaches which can be taken when design conversation or dialog between the user and the computer system. Essentially a dialogue consists of the user responding to a prompt from the computer by providing input. The computer processes this input and a response is output to the screen, which in turn may prompt the user for the next input. The main dialogue types are summarized below. It is up to the designers having considered the alternatives, to decide which of these is most appropriate, based on the requirements and characteristic of the end users.

B. Menus

Menus are widely used in screen design because they require minimal effort, and skill, on the part of the user. This in turn reduces the training requirement when preparing individuals to used the system. A common approach is to structure the menus hierarchically in a' nest'; selecting an option is chosen, and so on. This allows the number of alternatives on any one screen to be kept to a minimum. 

   C. User Support

When designing off-line help, which is usually paper-based but which could also be in the form of audio or videotapes, a key principle is to think the needs of the users who will be referring to them. They will be keen to find a quick solution to their problem.

And will frequently be anxious and in a hurry. Manuals should therefore be kept simple and not overloaded with information, and should be relevant to the common types of problems encountered by users. The most useful way of developing such material is by working closely with end users and modifying the text in the light of the difficulties they experience when using the system.

On-Line help can be basic, usually in a concise form with reference to a manual where more detailed information can be obtained; it can be context-sensitive, providing appropriate information about the particular function being used at the time the help is requested; or it can be intelligent, responsive to the route a user has followed while navigating through an application and their needs when the help screen is called.

User support will also take the form of training for those who will be interacting with the computer system. Again, this can be provided off-line,

in the form of a training event (either a taught course or an open learning programme), or on-line, as a tutorial, which takes the user through the functions of the system and then through a series of structured exercises.

It must not be forgotten, when designing a computer system that users are part of this system, and can be considered almost as an extension of the computer. Their role must be defined and designed like any other component of the system, and thought must be given early on as to how they can best be supported in carrying out this role.

 

 

 

Code Efficiency

 

It has been recognized that good coding style can overcome many of the deficiencies of a primitive programming language, while poor styles can defeat the intent of an excellent language. The goal of a good coding style is to provide easily understood, straight–forward and elegant code. The guidelines for coding include:

*      Use of a few standard control constants.

*      Use of unconditional branching (go to) in a disciplined manner.

*      Introduction of user-defined data types to model entities in the problem domain.

*      Hiding of data structures behind access functions.

*      Providing standard documentation prologues for each subprogram and compilation unit.

*      Use of indentation, parenthesis, and blank spaces, blank lines, borders and comments to enhance readability.

 
Optimization Of Code

          Object oriented programming principles have been implemented during coding for this software. Choice of Visual Basic as a language for my project was based on the fact that this language utilizes the principles of OOPS to a greater degree. By creating code objects, code reusability increases to a greater extent. With less code more efficiency can be achieved. Object-oriented means that we organize software as a collection of discrete object that incorporate both data structure and behavior. In conventional programming, data structure and behavior are loosely connected.

 

 

 

Implementation

Introduction: -

A crucial phase in then systems life cycle is the successful implementation of the new system design. Implementation means converting a new system design into operation. This creating computer-compatible files, training the operating staff before the system is up and running. A major factor in conversion is not disrupting the functioning of the organization.

The implementation phase of software development is also concerned with translating design specification into source code. It is necessary to write source code and internal and documentation so that conformance of the code to its specification can be easily verified, and so that debugging, testing and modification are eased. This can be achieved by making the source code as clear and straight forward as possible. The implementation team should therefore be provided with-defined set of software requirements, an architectural design specification and a detailed design description.

User training is another important area, which is responsible for minimizing resistance to change and giving the new system a chance to provide its worth. Training aids, such as user-friendly manuals, data dictionary, and jobs performance aids that communication information about the new system; help-screens provide the user with a good start on the new system.

Following conversion, it is desirable to review the performance of the system and to evaluate it against established criteria. Software maintenance follows conversion, which includes minor enhancements or corrections to problems that surface late in the system's operating.

Conversion:

The objective of conversion is to put the system into operation while holding costs, risks and personal problems to a minimum. It involves three major steps:

*      Creating computer-compatible files

*      Training the operating staff

*      Installing hardware/software

 

Procedure and documents are unique to the conversion phase. These are shown below:

*      Conversion begins with a review of the project plan, the system test documentation, and the implementation plan. The parties involved are the user, the project team, programmers, and operators.

*      The conversion portion of the implementation plan is finalized and approved.

*      Files are converted.

Parallel processing between the existing and the new systems is initiated.

*      Results of computer runs and operators for the new system are logged on a special form.

*      Assuming no problems, parallel processing is discounted. Implementation results are documented for reference.

Conversion is completed. Plans for the post-implementation review are prepared. Following the review, the new subsystem is officially operational.

File Conversion: -

File conversion involves capturing data and creating a computer file from existing files. There can be problems like staff shortage for loading data. Also, specialized training necessary tom prepares records in accordance with the new system specifications. In most cases, an outside agency performs this function for a flat rate .If a computerized system already exists, then copying existing files for the new system is a concern area. If a computerized system already exists, then copying existing files for the new system is a concern area. Program can be written to copy files intact for the new system and test programs on both systems. A file comparison program can be used for this purpose.

Many systems are prone to errors because of insufficient attention given to data entry control or protective features like audit control trails. These items must be part of the overall plan for conversion. Before a data entry operator starts working, a data entry validation program can be written to keep track of wrong data entered.

At the time installation of the software it is required that SQL server must be installed on the server of the company and it must contain the data files related to the software before implementing the developed system on all machines machine connected to the server. For this the exported data is imported to the client machine and the database is checked that all tables are properly imported to the client machine or not as the software is developed in SQL server data base and also going to be implemented in oracle there is no other conversion is required. A good audit control trail is the key to detecting fraud and errors in data entry.

        User Training: -

Analysis of user training focuses on two factors-user capabilities and the nature of the system being installed. The requirements of the system also range from very simple tasks like using a pocket calculator to complex tasks like learning to program a database system. Tasks that require the user to follow a well-defined, concrete, step-by-step procedure-require limited problem solving .For this, the training level and duration is basic and brief.

        Training Aids: -

The most frequently used user training aids are:

*                  User manual- Contains information about functionality of the software available to the user, what each option can do, how these are executed and how diagnostic should be handled. The manual should be organized and indexed for quick reference. Graphics, pictures and schematic diagrams enhance the readability of the manual. The software is prohibited with both offline and online help. Offline help is document (User manual), which is the prohibited with the software that also contains user form feed, which can be used by the client company to report any bugs in the software. Offline help helps the user to read the functionality and operation manuals about the software. Online help is the

*                  Help, which is available to the user at his figure tips, and user can get he instant help whenever he faces any problem regarding the software operations. Online help helps the user to get the immediate support, as it is not possible to read the manual for a small problem when the user is sitting on the computer and he feels comfortable if he gets the help by pressing <f1> key.

*       Help screens-

This feature is available in every software. The user selects a help option from a menu. The system accesses the necessary description or information for user reference.

*      Data Dictionary-

Can be part of user manual, describing data element names used in the manual.

*      Job Aids-

 Communicate essential information about certain jobs. Forms are used to show the relevant information. For example:

*      Color printing in forms to highlight headings.

*      Color to identify pieces of hardware, cables etc.

*      Wall charts to illustrate schematics of processing information.

*    Flowcharts to guide the user for detecting and handling errors, restarting the system etc.

Hardware/Software Installation: -

Adequate time and resources for installation of software and hardware must be allotted in the development schedule. Users can be trained on the installation procedure. The detailed instructions can be a part of the user manual.

 

 

 

 

Maintenance

*      Software maintenance is used to describe the software engineering activities that occur following delivery of a software vehicle to the customer

*      Activities involved in maintenance of a software vehicle include:

·         Analysis activities

·         Standards and guidelines

·         Design activities

·         Implementation activities

·         Supporting documents

*      Configuration management is concerned with tracking and controlling of the work vehicle that constitute a software vehicle

*      Configuration management tools include

·         Configuration management data bases

·         Version control libraries           

*      Automated tools to support software maintenance include technical support tools and managerial support tools

*      Other automated tools include

·         Text editor

·         Debugging aids

·         Linkage editor

Computer Maintenance covers a wide range of activities.  Many activities performed during development of Airlines Reservation System for Global Airways to enhance the maintainability of it are as follows---

*      Analysis Activities    The analysis phase of software development is concerned with determining customer requirements and constraints, and establishing feasibility of the vehicle.  From maintenance view point, the most important activities that occur during analysis are establishing standards and guidelines for the project and the work Brands, Models to ensure uniformity of the Brands, Models; setting of milestones to ensured that the work Brands, Models are produce on schedule; specifying quality assurance procedures to ensure development of high quality documents; identifying vehicle enhancements that will most likely occur following initial delivery of the system; and estimating the resources( personnel, equipment, floor space) required to perform the maintenance activities.

*      Standards and Guidelines   various types of standards and guidelines we developed to enhance the maintainability of our software.

*      Design Activities   Design is concerned with developing the functional components, conceptual data structures and interconnection in a software system.  The most important activity for enhancing maintainability during the design.

Automated tools to support software maintenance include technical support tools

and managerial support tools.  Tolls to support the technical aspects of software

maintenance span the spectrum from analysis and design tolls to implementation to debugging and testing tools.  Automated tolls include text editors debugging aids, cross-reference generators, linkage editors, comparators, complexity metric calculators, and version control system and configuration management databases.

Text editor permits rapid, efficient modification of source programs, test data and supporting documents.  Text editors can be used to insert and replace segments of source code, internal comments, test data and supporting documents; to systematically change all occurrences of an identifier or other textual strings to locate all references to a given identifier or other string of text; and to save both old and new versions of a routine, test file or document.  A syntax-directed text editor can ensure that all cross-references in text editor can ensure that all cross-references in the supporting documents are correctly updated.

              Debugging aids provide traps, dumps, and traces assertion checking and history file aid in locating the causes of known errors.  System-level-cross-reference generators provide cross-reference listings for procedure calls, statements usage and data references.  Cross-references directories provide the calling structures of who calls whom and from where, and procedures names and statement numbers where formal parameters local variables and global variables are defined, set and used.

As we already know maintenance of the software is an important part of using it. Thus various maintenance procedures have to be followed.


Testing Techniques & Strategies

Software testing is a critical element of software quality assurance and represents the ultimate review of specification, design and coding testing requires that the developer discard preconceived notions of the “correctness” of software just developed and overcome a conflict of interest that occurs when errors are uncovered.

          Testing is a process of executing a program care is one that have a high probability of finding an as yet undiscovered error. A successful test is one that uncovers an as-yet undiscovered error.

          Testing is the necessary part of the project the various methods are used for testing the software. The new look to the project is giving by the perfect testing. I prefer the black box testing method. Black - box testing , focuses on the functional requirements of the software. That is black - box testing enables the software engineer to derive sets of input conditions that will fully exercise all functional requirements for a program. Black - box testing is not an alternative to white - box techniques Rather, it is a complementary approach that is likely to uncover a different class of errors than white - box methods.

        Black - box testing attempts in following categories :-

       (1)      In correct or missing functions.

          (2)      Interface errors.

          (3)      Errors in data structures or external data base access.

          (4)      Performance errors.

          (5)      Initialization and termination errors.

          Firstly, test the incorrect or missing function in the project design, testing all modules and their dependent modules such as for new care, detail of old care, forwarding of case reminder of case and disposal of case.

          Secondly, test the interface of the software. The input and output of the project also depends upon the interface use, so that all links should be display accordingly.

          Thirdly, testing on the data that are use, it should be properly fitted. The connectivity should be proper.

          Fourthly, the performance error, testing is also done on the performance error, checking the display time, loading time, clear picture and message.

          Finally, testing on the idealization and termination error, test the proper loading of the input data easily connection of the data and display of cases.

Unlike white - box testing, which is performed early in the testing process, black- box testing tender to be applied during later stages of testing. Because black - box testing purposely disregards control structure, alteration is focused on the information domain.

By applying black box techniques, we derive a set of test cares that satisfy the following criteria

(1)     Test cares that reduce, by a count that is greater that one, the number of additional test cares that must be designed to achieve reasonable testing.

(2)     Test cares that tell use something about the presence or absence of classes of errors rather then errors associated only with specify test at hand.

 

 

 

 

 

 

 

 

 

 

 

 

Cost Estimation Of The Project

For a given set of requirements it is desirable to know how much it will cost to develop the software to satisfy the given requirements, and how much time development will take. These estimates are needed before development is initiated. The primary reason for cost and schedule estimation is to enable the client or developer to perform a cost benefit analysis and for project monitoring and control. A more practical use of these estimates is in bidding for software projects, where the developers must give cost estimates to a potential client for the development contract.

For a software development project, detailed, and accurate cost and schedule estimates are essential prerequisites for managing the project. Otherwise, even simple question like “is the project late”, “are there cost overruns”, and “when is the project likely to complete” cannot be answered. Cost and schedule estimate are also required to determine the staffing level for a project a deferent phase. It can be safely said that cost and schedule estimates are fundamental to any form of management and are generally always required for  a project .

Cost in a project is due to the requirement for software, hardware, and human resources. Hardware resources are such thing as the computer time, terminal time, and memory required for the project, whereas software resources include the tool and compilers needed during development .The bulk of the cost of software development is due to the human resources needed, and most cost estimation procedure focus on this aspect. Most cost estimates are determined in terms of person-month (PM). By properly including the “overheads” in rupees cost of a person-month, besides including the direct cost of the person month, most costs for a project can be incorporated by using PM as the basic measure. Estimates can be based on subjective opinion of some person or determined through the use of models.

 The costs associated with the system are expenses, outlays or losses arising from developing and using a system. But the benefits are the advantages received from installing and using this system.

Cost and benefits can be classified as follow:

Tangible or intangible

Cost that are known to exist but their financial value cannot be exactly measured are referred to as intangible costs. The estimate is only an approximation. It is difficult to fix exact intangible costs. For example, employee movable problems because of installing new system are an intangible cost. How much moral of an employee has be affected can not be exactly measured in terms of financial value.

Fixed or variable

Some costs and benefits remain constant, regardless of how a system is used. Fixed costs are considered as sunk costs. Once encountered, they will not recur. For example, the purchase of an equipment for a computer center is called as fixed cost as it remains constant whether in equipment is being is called as fixed cost as it remains constant whether in equipment is being used extensively or not. Similarly, the insurance, purchase of software etc. Contrast, variable costs are incurred on a regular basis. They are generally proportional to work volume and continue as long as the system is in operation. For example, the cost of  forms varies in proportion to the amount of processing or the length of the reports desired.

Direct or indirect-

Direct cost are those which are directly associated with a system. They are applied directly to the operator. For example, the purchase of floppy for Rs 500/- is a direct cost because we can associate the floppy box with money spent.

Direct benefits also can be specifically attributable to a given project. For example, a new system that can process 30 percent more transactions per day is a direct benefit.

Indirect cost are not directly associated with a specific activity in the system. They are often referred to as overhead expenses. For example, cost of space to install a system, maintenance of computer center, heat, light and air-conditioning are all tangible costs, but it is difficult to calculate the proportion of each attributable to a specific activity such as a report.

The estimation of cost of the project is a difficult task but we can estimate the cost of the project by various methods. I am using the COCOMO (Constructive Cost Model). The model has following hierarchy: -

Model 1: -    The basic COCOMO model computed software development effort land cost as a function of program size expressed in estimated lines of code.

Model 2: -    The intermediate COCOMO model computer software

 development effort as a function of program size and a set of “cost drivers”

that include subjective assessments of vehicle, hardware personnel and

project attributes.

Model 3: -    The advanced COCOMO model incorporates all characteristics

 of the intermediate version with an assessment of the cost drivers impact on each step (analysis, design etc.) of the software engineering process.

The COCOMO model is defined for three classes of software projects are:

1)     Organic Mode:- Relatively small, simple projects in which small teams with good application experience work to a set of less than rigid requirements.

2)     Semidetached Mode:- An intermediate (in size and complexity) software project in which teams with mixed experience levels must meet a mix of rigid and less than rigid requirements.

3)     Embedded Mode:- A software project that must developed within a set of tight hardware, software and operational constraints.

          The basis COCOMO equation takes the form.

          E       =        ab KLOCbb

          D       =        Cb Edb

          When E is the effort applied in person months, D is the development time in chronological months, and KLOC is the estimated number of delivered lines of code for the project. (Express in thousands). The coefficients ab and cb and the exponents bb and db where taken as.

          This project is an organic project so: -

          ab       =        4

          bb      =        1.05

          cb       =        2.5    

          db      =        0.38

          LOC   =        1555

          KLOC          =        3000/1000 =        3.0

          E       =        2.4 (KLOC)1.05

                   =        2.4(3.0)1.05

                   =        7.6

                   =        7 person-months

          New calculate the D is the development time in chronological months

          D       =        2.5 E 0.35               =        2.5 (8) 0.35    =        5.2 months

                   =        5 months approximately

          The computer project duration we use the effort estimated described above

          N       =        E/D            =        7/5

                   =        1.4 person            =        1 person

          When N is the recommended number of people for the project.

 

 

 

 

 

 

 

 

PERT Chart

          A PERT chart is a graph-based chart. It can be used to determine the activities that from the “critical path”, which if delayed will cause the overall project to delay. The PERT chart for the project is:

 

PERT Chart

 

Phases

Old Project

New Project

No. Of Days

Extra Days

No. Of Days

Extra Days

Fact finding

15

5

10

3

Analysis

20

3

15

5

Designing

25

5

20

5

Coding

20

5

20

5

Testing

10

2

10

2

Maintenance

35

10

32

10

 

 

 

 

 

 


GANTT Chart

          A GANTT chart uses a calendar-oriented chart to represent the project schedule. Each activity is represented as a bar in the calendar, starting from the start date of the activity and ending at the ending date for that activity. The start and end of each activity becomes milestones for the project. The GANTT chart for this project is:

 

35

 

30

 

25

 

20

 

15

 

10

 

5

 

0

 
GANTT Chart

 

 

 

 

 

 

 

 


Fact finding Analysis Designing  Testing  Maintenance  Coding

 


BIBLIOGRAPHY

-          Software Engineering, Roger S. Pressman, McGraw-Hill 

-          An integrated approach to software engineering, Pankaj Jalote, Narosa Publishing House

-          System Analysis And Design, Elias M Awad, Galgotia Publication

-          Mastering in Asp.Net, Evangelos Petroutsos, BPB Publications

-          Introduction to Sql Server, Kevin Loney & George Koch, Tata McGraw Hill


SQL Server Unique Constraint

SQL Server Unique Constraint Whats is Unique Constraint in SQL | How to create Unique Constraint in SQL | Unique Constraint with Example in ...