My Report Octb

Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 91

1.

1 About The Company : CMC Limited

HISTORY

• CMC was incorporated on December 26, 1975, as the 'Computer Maintenance


Corporation Private Limited'. The Government of India held 100 per cent of the
equity share capital. On August 19, 1977, it was converted into a public limited
company.

• In 1978, when IBM wound up its operations in India, CMC took over the
maintenance of IBM installations at over 800 locations around India and,
subsequently, maintenance of computers supplied by other foreign manufacturers
as well. Taking over the activities of IBM in India, including many of its
employees, helped the company to imbibe a service-oriented culture. This is
demonstrated by our long-standing customer associations and our ability to
provide high-quality and reliable service.

• In 1980, we perceived the need for total IT system solutions in India, and acquired
a 'solutions' orientation. We aligned our focus with the government's thrust on IT
development activities. A significant milestone in our transition from a hardware
maintenance company to a complete end-to-end IT solutions provider was 'Project
Interact' (International Education and Research for Applications of Computer
Technology), a UN project involving design, development and systems-
engineering of real-time, computer-based systems dedicated to applications in the
areas of power distribution, railway freight operations management, and
meteorology.
• As we evolved along the value chain, CMC forayed into systems integration,
interfacing, installation, commissioning, software development, as well as
education and training, on a national basis. Our R&D facility was set up in 1982,
to undertake competency development in niche areas in the frontiers of
technology, to provide us the cutting edge. Today, our R&D facility is housed in
our Hyderabad campus, and develops advanced solutions in areas such as real-
time systems, embedded systems and pervasive computing.

1
• To reflect our diversified business activities, we renamed ourselves 'CMC
Limited', and obtained a fresh certificate of incorporation dated August 27, 1984.
• Following a spurt in the global demand for IT services in the early 1990s,
particularly in the United States, we decided to expand our operations and market
our product and service offerings in these markets. Towards this end, in 1991, we
acquired Baton Rouge International Inc, USA (it was subsequently renamed CMC
Americas, Inc, in 2003), one of the first cross-border acquisitions by an Indian IT
firm.
• In 1992, the Indian government divested 16.69 per cent of CMC's equity to the
General Insurance Corporation of India and its subsidiaries who, in turn, sold part
of their stake to the public in 1996. In 1993, CMC's shares were listed on the
Hyderabad Stock Exchange and the Bombay Stock Exchange (BSE).
• To service and develop our clientele in the UK and Europe, we opened a branch
office in London, in 2000. The next year, the government divested 51 per cent of
CMC's equity to Tata Sons Ltd, through a strategic sale, and CMC became a part
of the Tata group.
• In line with our strategy of offering our products and services globally, in 2003,
we opened a branch office in Dubai to tap the hitherto unexplored markets of
West Asia and Africa.
• In 2004, the government divested its remaining 26.5 per cent stake in CMC to the
public.

2
INTRODUCTION

CMC Limited is a leading IT solutions company and a subsidiary of Tata Consultancy


Services Limited (TCS Ltd), one of the world's leading information technology
consulting, services and business process outsourcing organisations. CMC Limited is a
part of the Tata group, India's best-known business conglomerate.

With 18 offices, 150 service locations, 520 non-resident locations and over 3,800
employees worldwide, we provide a wide spectrum of unique Information Technology
solutions and services to a clientele of premier organisations in the government and
private sectors. CMC Americas, our subsidiary, services clients in the US, while our
branch offices in the UK and Dubai market our products and services in Europe, Africa
and the Middle East.

Since its incorporation in 1975, CMC has an enviable record of successfully building IT
solutions for massive and complex infrastructure and market projects.

Large and complex project management capabilities


Three of the many major projects undertaken by CMC Limited:
o A passenger ticketing and reservations system for Indian Railways, which runs
6,000 passenger trains carrying over 10 million passengers a day, on a 90,000-km
railway network covering around 8,000 railway stations.
o A cargo handling system is a comprehensive online real time cargo handling
system to integrate all complex and varied activities of container terminals. This
system has been implemented for several Indian and International ports.
o An online transaction processing system for the Bombay Stock Exchange, which
handles millions of securities trading transactions every day.

3
End-to-end solutions capability
CMC manages turnkey projects, and have built, managed and supported customers’ IT
systems across the value chain — infrastructure, applications and business processes. The
entire IT spectrum includes: IT architecture; hardware; software (including systems and
application software, development or implementation, maintenance, and frameworks);
network consulting; and IT-enabled processing services. This is how the company works:
o The Customer Services (CS) unit designs and builds the IT infrastructure and
network.
o The Systems Integration (SI) unit develops applications and integrates them
across diverse hardware and software platforms.
o IT-Enabled Services (ITES) unit manages developed applications and
digitisation activities.

Extensive domain expertise and technological competencies


CMC Enterprise have proven expertise in a wide array of applications, including real-
time systems, online systems, embedded systems, process control, transaction processing,
image processing, data communications, networking, parallel architectures, e-commerce
technologies and e-governance applications.
Its competitive edge comes from combining our technology competencies with our
understanding of verticals, straddling a range of sectors from banking and insurance,
power, mining and defence to education.

Sizable resource pool with diverse skill sets


CMC achieve this with the help of our resource pool of engineers trained in diverse
technologies, with vast domain knowledge and varied skill sets. Out of 3,595 employees,
over 21 per cent have more than ten years of work experience. CMC have a large
competency pool that works on emerging technologies and competency areas. CMC have
an impeccable educational profile; as many as 30 per cent of our employees have
postgraduate degrees.

4
CMC conduct significant research into emerging technologies and competence areas at
our state-of-the-art, ISO 9001-certified R&D centre in Hyderabad, India.

Strong Customer Relationship


CMC's customer orientation and service culture lead to enduring bonds with clients. Its
distinct value proposition and service culture, coupled with our track record of successful
service delivery, are reflected in long-standing customer relationships with dominant
players in key infrastructure, services and government sectors.Its customers include some
of the biggest organisations in India: Reserve Bank of India, Indian Railways, Indian Oil
Corporation Limited, Bharat Petroleum Corporation Limited, Oil and Natural Gas
Corporation Limited, United Western Bank, Bank of India and Bank of Baroda.

CMC ENTERPRISE –MISSION & VISION

MISSION STATEMENT

• CMC Limited will provide comprehensive and cost-effective IT solutions and


services to organisations and institutions in India and the rest of the world to
improve their competitiveness, building on its strengths in maintenance, systems
integration, networking and software development.
• CMC will constantly endeavour to delight its customers through excellence in
service delivery, and achieve worldwide recognition.
• People are CMC's strength; through staff empowerment, customer focus and
quality management systems, CMC will continuously improve its products and
services to meet international standards of quality, cost and time.
• Exports are a critical area for the healthy growth of our organisation, and will
receive priority in resource allocation and competence building.
• Maintenance will continue to be a key business area, and will be strengthened to
improve price performance and market share.
• Appropriate business alliances will be entered into, to complement internal efforts
towards expansion and growth.
• CMC, on an ongoing basis, will review market opportunities and technology

5
trends to focus on niche areas and direct its R&D efforts towards cost-effective,
timely products and packaged solutions, to meet customer requirements.
• CMC will conduct its business effectively, so as to ensure growth and reasonable
returns to the stakeholders.

VISION STATEMENT

• We shall operate globally and bring the benefits of Information Technology to


improve the productivity of our customers, and the quality of their products and
services.
• As a part of the Tata group, we will align ourselves with the TCS vision: To be
among the Global Top 10 by 2010.
• We shall be a vibrant organization where openness, trust, teamwork, simplicity
and innovation are valued and promoted.

6
1.2 Problem Statement :

• In this time of high end realism in graphics of animated motion pictures and
games, you have to create a game that would target the old school retro game
fans. You are required to create a variant of traditional Pong game.

• The Pong game should have two player modes: Single Player and Double Player.
Players should be able to chose from between these two mode.

• The Pong ball should have some variations in movement so that game doesn’t feel
monotonic and be fun.

• The game should show scores in single player mode and should tell which player
wins in the Double Player mode

• The difficulty level of the Game should gradually increase in terms of the ball
moving faster than before.

• The overall look and feel of the game should be good.

• Players should be able to change the game mode, starting game level and other
settings anytime they want

7
1.3 Proposed Solution :

• ONLINE CINEMA TICKET BOOKING as the name suggests is an online


Product that allows the viewers to book their ticket(s) in advance online. This
project also enables the customer to see the movie details, show details,
advertisements of different companies. Moreover user can navigate through these
advertisements.

• The project’s objective is to enable viewers to book their ticket(s) for any of the
cinema hall in NCR through Internet.
• It allows the user to search for a movie or a theatre in the region selected by him.
• It further allows user to filter the records on the basis of time of show, cost of the
ticket or both.
• It provides user with a platform which can be used by the user to search for a
show of his choice and book his tickets.

The software has different features which help it to achieve its objectives, those are:

ONLINE TICKET SELLING: This module allows the Logged in customers to book
their tickets in advance through internet for a particular movie. Customer is given the
right to book the seats of their own choice using the credit card.

MOVIE DETAILS: Logged in as well as anonymous Users can see the movie details ie
movie name, star cast , language ,coming soon movies ,movies ratings and Category
.Administrator is given right to manage movie details.

SHOW DETAILS Logged in as well as anonymous Users can see the show details ie
movie name, timings ,date, auditorium number .Administrator is given right to manage
show details

8
MANAGE ADVERTISEMENTS: Only admin has the rights to mange the
advertisements over the site. It can view adds, insert new adds, delete an existing add on
the site.

MANAGE TRANSACTION: Admin has the rights to handle all the transaction function
on the site, and hence automatically record all the transaction data permanently on the
database for further use.

MANAGE USERS: This module enables administrator to manage all the users of the
website.

JUSTIFICATION AND NEED FOR THE SYSTEM

• The site was build so that viewers can book ticket(s) whenever they want for
available movies shows.

• To provide better service to their costumers.

• To provide information about movie, star cast, language, category and release
date of coming soon movies and now showing before viewers make choice.

• The time of the customers is being saved.

• User can book seats of their own choice.

• Allow only authorized access to the system

ADVANTAGES OF THE PROPOSED SYSTEM

• Reduces paper and manual work.

• It provides security through passwords to restrict unauthorized access to data.

• Reduces overall processing time.

9
• Performance is high.

• Reduces the effort and time in gathering the information about the customers.

• Provides a complete record of all the transactions.


.
• The constraints and checks lead to a valid database.

1.4 Deliverables :

• Table of contents
• Use Case Diagram
• Context diagram
• Data flow diagrams
• Input Screen Designs
• Output Design snapshots
• Test Plan

10
2.1 Feasibility Study :

Feasibility study is a preliminary study undertaken before the real work of a


project starts to ascertain the likelihood of the project's success. It is an analysis of
all possible solutions to a problem and a recommendation on the best solution to
use. It involves evaluating how the solution will fit into the corporation.

It is used to determine if the project should get the go-ahead. If the project is to
proceed, the feasibility study will produce a project plan and budget estimates for
the future stages of development.

2.1.1 Technical Feasibility


The key customer benefits kept in mind while envisaging this architecture were:
• Higher maintainability, extensibility and configurability
• Improved performance and scalability
• Lower Cost of Ownership
• Better productivity
• Lower business risk
• System Performance
• System Interfaces
• Development Processes
• Risk Assessment
• Staff Qualifications
• Failure Immunity
• Customer Support
• Security

11
2.1.2 Economical Feasibility
Cost Benefit Analysis was done in this stage. Following activities were performed
during this stage:-
• Each phase of the project was analyzed for the cost involved in it.
• This was calculated based upon resources and infrastructure used.
• Benefits of each phase which were the end products were analyzed and listed.
• Both cost involved and benefits obtained were compared to the details to get
the final result.

2.1.3 Operational Feasibility


How well the solution will work in the organization and how the end-users and
managers feel about the system.
This is important because a workable solution can be thrown away because of end-
user or management doesn’t want the system. Therefore usability is another
important factor.
Usability analysis is often performed with a working prototype of the proposed
system. Test of system’s user interfaces and measured in how easy they are to
learn and to use and how they support the desired productivity levels of users.
Easy to learn, use and user satisfaction are other things which are considered here.

2.1.4 Other Feasibility Dimensions


Scheduling Feasibility was one of the dimensions. Measure of how reasonable the
project timetable is. Schedule can be mandatory or desirable. It’s better to deliver a
properly functioning information system later than to deliver an error-prone.
• Measure of how reasonable the project timetable is.
• Gantt chart was made.

12
• Work allocation was finalized.
• Time Value for money was analyzed

2.2 System Specifications :

2.2.1 Hardware Requirements


 SERVER

 A Server with Pentium 500 MHz or higher processor, 512MB RAM.

 Minimum 5 GB Hard Disk Space recommended.

 1024X768 Pixels Screen Resolution for proper viewing of Screens.

 CLIENT

 A PC with Pentium/Celeron Processor, 256MB RAM.

 1024X768 Pixels Screen Resolution for proper viewing of Screens

2.2.2 Software Requirements


 Operating System : Windows XP service pack 2

 RDBMS : Microsoft SQL Express

 Scripting language : C#

 Web technology used : ASP.Net

 Web server to be used : Microsoft visual web developer

13
 Web Browser : Microsoft Internet explorer 5.0 or
Higher

2.3 Communication Interfaces :

1) Main Page( Login.aspx )

This page is the front page for the website. Its contains the option for existing
user and administrator to login.

2) New User ( NewUser.aspx )

This page allows new user to create an account and then they can login into
the web site.

3) Home Page ( Home.aspx )

This page is the home page for every user. When an anonymous user (one
who does not logs in) views this page he is given menu options like home,
login, now showing, upcoming movies, view ratings, sitemap, and about us. It
also contains several advertisements.

Whenever a logged in user views this page he is given menu options like
home, book now, now showing, upcoming movies, view ratings, change
password and feedback.

Whenever administrator views this page he is given menu options like home,
manage locations, manage movies, manage shows, manage advertisements
and sign out.

4) Now Showing ( NowShowing.aspx )

14
This page enables user to view images of all the movies which are currently
being shown at various places.

5) Upcoming Movies ( UpcomingMovies.aspx)

This page enables user to view images of all the movies which would be
shown in coming weeks at various places.

6) View Ratings ( ViewRatings.aspx )

This page enables user to view ratings of all the movies which are currently
being shown at various places.

7) Book Now ( Booknow.aspx )

This page enables user to select the region, movie and date of show of his
choice and then displays the list of all shows at various places that match his
choice.

8) Filter Records ( FilterRecords.aspx)

This page enables user to filter the shows matching his inputs on the basis of
either cost of the ticket, time of the show or both.

9) Seat Pattern ( SeatPattern.aspx )

This page displays the entire seat pattern of the selected show to the user and
enables him book seats of his choice out of available seats.

10) Order Summary ( OrderSummary.aspx )

15
This page displays the entire order summary of the selected show to the user
including name of movie, language, genre, star cast, place, date, time and seat
numbers.

11) Credit Card ( CreditCard.aspx )

This page enables user to enter his credit card details so that the tickets can be
booked. A transaction is made only when user made all the entries on this page
and submits them.

12) Success Page ( Success.aspx )

This page displays the success message to the user if his tickets are
successfully booked.

13) Manage Locations ( ManageLocations.aspx )

This page is displayed only to the administrator and enables him to add, delete
or update locations.

14) Manage Movies ( ManageMovies.aspx )

This page is displayed only to the administrator and enables him to add, delete
or update movies. It also enables administrator to change the status of a movie
when it is no longer to be shown at any of the theatres.

15) Manage Shows ( ManageShows.aspx )

This page is displayed only to the administrator and enables him to add or
update shows at any theatre.

16
16) Manage Advertisements ( ManageAdvertisements.aspx )

This page is displayed only to the administrator and enables him to add, delete
or update advertisements to be displayed at various places on the web site. It also
enables administrator to upload new advertisements.

17) Site Map ( SiteMap.aspx )

This page enables any user too view the sitemap of the web site.

18) About Us Page ( AboutUs.aspx )

This page enables user to view details about website owner.

19) Feedback ( Feedback.aspx )

This page enables user to provide feedback about the web site. This feedback
would be displayed to the administrator only.

20) Change Password ( ChangePassword.aspx )

This page allows both logged in user or administrator to change his password.

2.4 Methodology & Tools Used


The model that is basically being followed is the WATERFALL MODEL, which
states that the phases are organized in a linear order. First of all the feasibility study is
done. Once the part is over the Requirement Analysis and Project Planning begins.
The design starts after the requirements analysis is complete and the coding begins
after the design is complete. Once the coding is completed, the testing is done. In this
model the sequence of activities performed in software development project are:

• Requirement Analysis

17
• Project Planning
• System Design
• Coding
• Unit Testing
• System Integration and Testing

Here the linear ordering of these activities is critical .Output of one phase is the
input of another phase. The output of each phase is to be consistent with overall
requirement of the system. Some of the qualities of spiral model are also incorporated
like after the people concerned with.

Some of the qualities of spiral model are also incorporated like after Interface
designing the user was asked to validate the design as per the requirements.
Interaction with the user was also done from time to time for identifying further
requirements.

WATERFALL Model was being chosen because all the requirements were known
beforehand and the objective of our software development is the
computerization/automation of an already existing manual working system.

Requirement Analysis &


Specification

Design

Implementation & Unit


testing

Integration & System


Testing

18
N
Operation &
Maintenance.

Fig. 1 - Various Stages of WATERFALL MODEL

2.4.1 Requirement Analysis & Specification Phase

The goal of this phase is to understand the exact requirements of the customer and to
document them properly. The requirements describe the “what” of the system, not the
“how”. This phase produces a large document, written in a natural language, contains
a description of what the system will do without describing how it will be done. The
resultant document is known as Software Requirement Specification(SRS).
The SRS document may act as a contract between the developer & customer.

2.4.2 Design Phase

The goal of this phase is to transform the requirements specification into a structure
that is suitable for implementation in some programming language.
Here, overall software architecture is defined, and the high level and detailed design
work is performed. This work is documented and known as software design
description (SDD) document.

2.4.3 Implementation & Unit testing Phase

During this phase, design is implemented. If SDD is complete, the implementation or


coding phase proceeds smoothly.
During Testing, the major activities are centered around the examination and
modification of the code. Initially small modules are tested in isolation from the rest
of the software product.

19
2.4.4 Integration & System testing Phase

This is a very important phase. Effective testing will contribute to the delivery of
higher quality software products, more satisfied users, lower maintenance costs, a and
more accurate and reliable results. It is a very expensive activity and consumes one
third to one-half of the cost of a typical developments project.

As we know, the purpose of unit testing is to determine that each independent module
is correctly implemented. This gives a little chance to determine that the interface
between modules is also correct, and for this reason integration testing of the entire
system is done whereas software is part of the system. This is essential to build
confidence in the developers before software is delivered to the customer or released
in the market.

2.4.5 Operation & Maintenance phase

Software maintenance is a task that every development group has to face, when the
software is delivered to the customer’s site, installed and is operational. Therefore,
release of software inaugurates the operation and maintenance phase of the life
cycle .The time spent and effort required to keep the software operational after is very
significant. Despite the fact that it is very important and challenging task; it is
routinely the poorly managed headache that nobody wants to face.

Software maintenance is a very broad activity that includes error correction,


enhancement of capabilities and optimization. The purpose of this phase is to
preserve the value of the software overtime. This phase of this phase for 5-50 years
whereas development may be 1-3 years.

2.4.6 Technology Used / Tools Selection


The strength of any project depends upon the technology on which the project is
based. Today we are living in a world where technologies related to computer

20
science are evolving every day new technologies are taking an edge over the older
ones. Every new technology provides new benefits, but only small part of them
remains in the competitive world.

ASP.NET 2005

2.4.6.1 DOT NET Concepts:

.Net initiative has tried to build the gap in interoperability between applications. It
aims at integrating various programming languages and services. It is designed to
make significant improvements in code reuse, code specialization, resource
management, multi language development, security, deployment and
administration.

The .Net infrastructure consists of all the technologies that help in creating &
running robust scalable and distributed applications. The core of the .Net
infrastructure is the .Net framework which is a collection of services and classes.

21
It exists as a layer between .Net applications and underlying operating system.

Fig 2.1

The .Net Framework consists of a Web Forms, Windows Forms, and Console
applications that pertain to the presentation layer of an application. Web Forms are
used in Web-based applications that pertain to the presentation layer of an
application. Web forms are used in Web-based applications, whereas Windows

Forms are used in Windows-based applications for providing an interactive user


interface. In addition, you can create character-based console applications that can
be executed from the command line.

.NET Framework, a set of objects and blueprints from Microsoft for building
applications. The .NET Framework provides the underlying functionality of
ASP.NET. All applications developed under the .NET Framework; including
ASP.NET applications, have certain key features that ensure compatibility,
security, and stability. Let's examine these features individually.

22
According to the Microsoft .NET Framework is:

A platform for building, deploying, and running web services and applications. It
provides a highly productive, standards-based, multi-language environment for
integrating existing investments with next-generation applications and services as
well as the ability to solve the challenges of deployment and operation of Internet-
scale applications.

The Microsoft .NET Framework consist of two main parts:

1) Common Language Runtime:

1. Common Type System (data types at MSIL)


2. Common Language Specifications (rules to be taken care of for using the
language) Version control (multiple dUs can be maintained through metadata)
3. Automatic garbage Collection

2) Base Class Library:

.NET class library, which is sometimes called "Base Framework";

( I ) COMMON LANGUAGE RUNTIME:

The Common Language Runtime (CLR) is an environment that manages the


execution of code. In other words, it runs and maintains any code that you write.

Traditionally, when you create an application, you write some code in a


programming language (such as Visual Basic), compile it into a format that the
computer can understand (1's and O's), and then execute it. Note that different
types of computers speak different languages (for instance, PCs and Macintoshes).

23
This means that every time you want to use an application on a different type of
computer, you have to recompile it to the new computer's language. In the .NET
Framework, things work a little differently.

With the .NET Framework and CLR, you still write code and compile it.
However, instead of compiling it into something the computer understands, you
compile it into a language called the Microsoft Intermediate Language (MSIL).
This language is a shorthand way of representing all the code you've written.
ASP.NET pages are compiled into MSIL as well. When you compile to MSIL,
your application produces something called metadata. This is descriptive
information about your application. It tells what the application can do, where it
belongs, and so on.

Along with MSIL and metadata, a new class of programming language compilers
has been created-for C#, COBOL, and so on. These compilers are similar to
existing ones, but now can output MSIL as well as compiled code.

Then, when you want to run your program, the Common Language Runtime takes
over and compiles the code once more into the computer's native language. This
way MSIL can go on any type of computer. The CLR can speak many different
computer languages and does all the compiling for you. Once you compile your
application, you can bring it to any other computer!

The CLR uses the metadata to find out how to run the application, which makes it
very easy to install programs. The traditional method required information about
the application to be stored in a registry or a central depository for application
information. Unfortunately, the registry would be invalidated whenever an aspect
of your application changed (its directory was moved, a new component was
installed, and so on), and the application wouldn't run properly. With metadata,
there's no need for the registry. All necessary information is stored with the

24
application files, so any changes you make are put into effect automatically.
Imagine installing a new application just by copying some files!

( II ) BASE CLASS LIBRARIES

The .NET Framework contains common class libraries - like ADO. NET,
ASP.NET and Windows Forms - to provide advanced standard services that can
be integrated into a variety of computer systems.

The .NET Framework is language neutral. Currently it supports C++, C#, Visual
Basic, JScript (The Microsoft version of JavaScript) and COBOL. Third-party
languages - like Eiffel, Perl, Python, Smalltalk, and others - will also be available
for building future .NET Framework applications.

The .Net Class Framework consists of a class library that works with any .Net
language, such as Visual Basic.Net and C#. This class library is built on the
object-oriented nature of the runtime. One of the important features of the .Net
Framework class library is that it can be used in a consistent manner across
multiple languages. This means that you can use the same set of classes for
performing a specific task in Visual Basic as well as in Visual C++.

The Common Language Runtime is one of the most essential components of


the .Net Framework. The CLR or the runtime provides functionality such as
exception handling, security, debugging and versioning support to any language
that targets it This means that the runtime can host a variety of language and offer
a common set of tools across these languages, ensuring interoperability between
the codes.

2.4.6.2 INTEGRATED DEVELOPMENT ENVIRONMENT ELEMENTS:

25
Start Page: The Start Page is the default home page for the browser provided
within the Visual Studio.Net IDE. The Start Page allows you to perform several
tasks, such as specifying your preferences, searching for information on the new
features of .NET communicating with developers working on the .NET platform,
and searching for more information in the MSDN Online Library.

Windows Forms Designer: The Windows Forms Designer allows you to design
the user interface for an application. It allows you to add controls to a form,
arrange them as per your requirements, and add code to perform some action.
Thus, the Windows Forms Designer provides you with a rapid development
solution for your application.

The Solution Explorer Window: The Solution Explorer window lists the solution
name, the project name, and all the forms and modules that are used in the project.
You can open a particular file existing in a project by double-clicking the file in
the Solution Explorer window. The following figure depicts the Solution Explorer
window.

The Dynamic Help Window: The Dynamic Help window provides you with
context-sensitive help. This window is constantly updated to display the links to
the help topics on the current control, component, or keyword. For example, when
you are in the Output window of Visual Studio. Net the Dynamic Help window
will display links to help topics on the Output window and other related topics.

Menu Bar: Displays the commands you use to work with Visual Basic. Besides
the standard File, Edit, View, Window, and Help menus, menus are provided to
access functions specific to programming such as Project Format or Debug.

Context Menus: Contain shortcuts to frequently performed actions. To open a


context menu, click the right mouse button on the object you're using. The specific
list of shortcuts available from context menus depends on the part of the

26
environment where you click the right mouse button. For example, the context
menu displayed when you right click on the Toolbox lets you display the
Components dialog box, hide the Toolbox, dock or undock the Toolbox, or add a
custom tab to the Toolbox.

Toolbars: Provide quick access to commonly used commands in the programming


environment. You click a button on the toolbar once to carry out the action
represented by that button. By default the Standard toolbar is displayed when you
start Visual Basic. Additional toolbars for editing, form design, and debugging can
be toggled on or off from the Toolbars command on the View menu. Toolbars can
be docked beneath the menu bar or can "float' if you select the vertical bar on the
left edge and drag it away from the menu bar.

Toolbox: Provides a set of tools that you use at design time to place controls on a
form. In addition to the default toolbox layout you can create your own custom
layouts by selecting Add Tab from the context menu and adding controls to the
resulting tab.

Project Explorer Window: Lists the forms and modules in your current project.
A project is the collection of files you use to build an application.

Properties Window: Lists the property settings for the selected form or control. A
property is a characteristic of an object such as size, caption, or color.

Object Browser: Lists objects available for use in your project and gives you a
quick way to navigate through your code. You can use the Object Browser to
explore objects in Visual Basic and other applications, see what methods and
properties are available for those objects, and paste code procedures into your
application.

27
Form Designer: Serves as a window that you customize to design the interface of
your application. You add controls, graphics, and pictures to a form to create the
look you want Each form in your application has its own form designer window.

Code Editor Window: Serves as an editor for entering application code. A


separate code editor window is created for each form or code module in your
application.

Form Layout Window: The Form Layout window allows you to position the
forms in your application using a small graphical representation of the screen.

Immediate, Locals, and Watch Windows: These additional windows are


provided for use in debugging your application. They are only available when you
are running your application within the IDE.

2.4.6.3 THE ADO.NET DATA ARCHITECTURE

Data Access in ADO.Net relies on two components: Dataset and Data Provider.

( I ) DATASET

The dataset is a disconnected, in-memory representation of data. It can be


considered as a local copy of the relevant portions of the database. The Dataset is
persisted in memory and the data in it can be manipulated and updated
independent of the database. When the use of this Dataset is finished, changes can
be made back to the central database for updating. The data in Dataset can be
loaded from any valid data source like Microsoft SOL server database, an Oracle
database or from a Microsoft Access database.

( II ) DATA PROVIDER

28
The Data Provider is responsible for providing and maintaining the connection to
the database. A Data Provider is a set of related components that work together to
provide data in an efficient and performance driven manner. The .NET Framework
currently comes with two Data Providers: the SOL Data Provider which is
designed only to work with Microsoft's SOL Server 7.0 or later and the OleDb
Data Provider which allows us to connect to other types of databases like Access
and Oracle. Each Data Provider consists of the following component classes:

The Connection object which provides a connection to the database.The


Command object which is used to execute a command. The Data Reader object
which provides a forward only, read only, connected RecordSet. The Data Adapter
object which populates a disconnected Data Set with data and performs update.

Data access with ADO.NET can be summarized as follows:

A connection object establishes the connection for the application with the
database. The command object provides direct execution of the command to the
database. If the command returns more than a single value, the command object
returns a DataReader to provide the data. Alternatively, the Data Adapter can be
used to fill the Dataset object. The database can be updated using the command
object or the DataAdapter.

2.4.6.4 SQL Server 2005

29
Microsoft SQL Server 2005 extends the performance, reliability, availability,
programmability, and ease-of-use of SQL Server 2000. SQL Server 2005 includes
several new features that make it an excellent database platform for large-scale
online transactional processing (OLTP), data warehousing, and e-commerce
applications.

2.4.6.5 New Features

SQL Server 2005 combines the functionality of the following SQL Server 2000
tools: Server Network Utility, Client Network Utility, and Services Manager. SQL
Server Configuration Manager also includes the ability to set service properties for
the following services:

• SQL Server

• SQL Server Agent

• Analysis Services

• Report Server

• Microsoft Search

• Microsoft Distributed Transaction Coordinator (MS DTC)

• Full-Text Search

2.4.6.6 Integration of SQL Server Management Studio

Notification Services is now integrated into SQL Server Management Studio


Object Explorer. Using Object Explorer, you can perform most nscontrol
command prompt utility tasks, as well as start and stop instances of Notification
Services.

30
You can also use SQL Server Management Studio as your XML and Transact-
SQL editor. If you create a SQL Server Management Studio solution for a
Notification Services instance, you can easily edit your instance configuration file
(ICF), application definition files (ADFs), and Transact-SQL scripts for managing
security or administering the instance, and you can then deploy the instance using
Object Explorer.

Support for Subscriber-Defined Conditions

In Notification Services 2.0, an application developer defined the complete


Transact-SQL action for generating notifications, and subscribers could only
provide parameters for the action. In SQL Server 2005, Notification Services
supports a new type of action, called condition actions, which allow subscribers to
define their own query clauses over a predefined data set.

Using condition actions allows subscribers to fully define their own subscriptions
over the data set; however it also reduces the efficiency of generating notifications,
because there are often many more conditions to evaluate.

Database Independence

SQL Server Notification Services supports using existing databases for instance
and application data. When you configure a Notification Services instance or
define a Notification Services application, you can specify the name of an existing
database or the name for a new database. Lastly, you can omit a name to use the
Notification Services default database names.

New Management API

SQL Server Notification Services has a new management API,


Microsoft.SqlServer.Management.Nmo. You can use this API to develop

31
Notification Services instances and applications and to manage those instances and
applications.

Hostable Execution Engine

The Notification Services engine runs hosted event providers, generators, and
distributors. In Notification Services 2.0, the NS$instanceName Windows Service,
which you can install when registering the instance, ran the Notification Services
engine. You can now host the Notification Services engine in your own custom
application or process.

Analysis Services Event Provider

Notification Services has added a new standard event provider to gather event data
from Analysis Services databases using MDX queries. For more information, see
Analysis Services Event Provider.

New Views

Notification Services has added or modified the following views to simplify


application development and troubleshooting:

• Notification Services creates one view for each event class defined in an
application. This view has the same name as the event class. When you write
event-driven (not scheduled) notification generation queries, you typically
select events from this view. Now you also can insert event data into this view.
For more information, see <EventClassName> View.

• Notification Services creates one view for each notification class. You can
use this view to review notifications generated by your application. For more
information, see <NotificationClassName> View.

32
• Notification Services provides three views for viewing and managing
subscriber and subscription data:

• NSSubscriberView lists all of the subscribers for an instance of


Notification Services. You can use this view to manage subscriber data.
For more information, see NSSubscriberView.

• NSSubscriberDeviceView lists all of the subscriber devices for an


instance of Notification Services. You can use this view to manage
subscriber device data. For more information, see
NSSubscriberDeviceView.

• NSSubscriptionClassNameView lists all of the subscriptions for a


subscription class. You can use this view to manage basic event-driven
subscriptions, but not scheduled or condition-based subscriptions. For
more information, see NS<SubscriptionClassName>View.

2.4.6.7 Enhancements to Existing Features

The following improvements have been made to improve performance and


simplify application development.

Generator Performance Improvements

In Notification Services 2.0, notification generation rules had to use the Notify()
function to generate notifications. This function used three extended stored
procedures. These extended stored procedures hindered performance and added
deployment steps.

In SQL Server 2005, Notification Services has removed the Notify () function and
now requires your notification generation rules to insert data into a notification
view. These INSERT INTO statements, which must be run by the generator,

33
improve the performance of Notification Services. For more information, see
Defining Subscription Rules and Migrating Notification Services 2.0 Instances to
SQL Server 2005.

Vacuumed Performance Improvements

Notification Services has also made performance improvements to the data


removal process, called vacuuming. Depending on the application and the
hardware configuration, you can expect a performance improvement of
approximately 150 percent over Notification Services 2.0.

Windows Clustering Improvements

Notification Services has supported Windows Cluster technology since the initial
release. If you configure the Notification Services engine as a Generic Service
cluster resource, the NS$instanceName Windows service that runs the instance
can fail over to other cluster nodes.

In Notification Services 2.0, Notification Services would detect whether the


cluster software was installed, whether the cluster was configured, and finally
whether the cluster was running. If all three checks succeeded, Notification
Services used the default cluster name as the local computer name and then ran the
components configured to run on the default cluster name.

To provide better support for clustering, you can now configure a separate cluster
resource group for Notification Services, which can fail over separately from other
cluster resource groups. When you configure the cluster resource, you must now
select the Use Network Name for computer name configuration option. This
requires you to specify the network name (which is the virtual server name) as the
SystemName value for any Notification Services components that run on the
cluster.

34
2.4.6.8 Service Broker Description

Service Broker is a part of the Database Engine. Service Broker provides:

• Facilities for storing message queues in SQL Server databases.

• New Transact-SQL statements that applications can use to send and receive
messages. Each message is part of a dialog: a reliable, persistent
communication channel between two participants.

Service Broker provides unique capabilities for both applications within a single
SQL Server instance and applications that distribute work across multiple SQL
Server instances.

Within a SQL Server instance, Service Broker provides a powerful asynchronous


programming model. Asynchronous programming allows database applications to
improve response time and increase throughput by performing resource-intensive
tasks as resources become available.

Service Broker also provides reliable messaging between SQL Server instances.
Service Broker supports the vision of applications architected as services. In this
architecture, the logic in a business system is implemented as a series of network-
based services. Applications that require the functionality exposed in these
services use messages to interact with the services. Service Broker uses TCP/IP to
exchange messages between instances. Service Broker includes features to help
prevent unauthorized access from the network and to encrypt messages sent over
the network.

The programming model for Service Broker is identical for messages within a
SQL Server instance and messages between SQL Server instances. By providing a
consistent programming model, applications that use Service Broker can easily

35
scale up or scale out without requiring changes to application code. Applications
use Service Broker to exchange messages reliably, even when the applications do
not run at the same time, or are not connected to the network at the same time.

By implementing messaging in SQL Server, Service Broker offers these


advantages:

• High scalability. Message queues are part of SQL Server databases, and can
take advantage of the performance capabilities of the SQL Server Database
Engine. In addition, multiple instances of services can be run to process
messages from a queue, increasing the scalability of middle tier applications.
Service Broker provides integrated program activation, which allows
applications to use system resources efficiently. A Service Broker application
can scale dynamically as load on the service varies.

• Message coordination, ordering, and locking. Service Broker automatically


handles many of the difficult tasks required to create messaging applications.
An application that uses Service Broker always receives each message in a
conversation exactly once. Messages in a conversation arrive in the order in
which they were sent. Messages on related conversations are automatically
grouped together to allow an application to easily coordinate messages to
different services. Service Broker allows only one reader at a time to read
messages in a conversation group. Applications use this built-in locking to
perform concurrent processing safely and efficiently.

• Integration with database data. Queues of messages stored in a SQL Server


database are part of the database. They become an integral part of any
backups of the database, and are restored along with the data whenever a
database is restored from a backup. Messaging operations are an integral part
of any transaction that includes database data. There is no need to manage

36
distributed transactions, as is the case when a message queue is managed by a
service that is separate from the database server.

• Integration with database security. Service Broker uses the security features
in SQL Server 2005 to help keep applications secure.
• Microsoft SQL Server 2005 introduces improvements in the programming
interfaces used to access the data in SQL Server databases. The APIs for the
SQL Server Database Engine include the SqlClient managed namespace,
SQL Native Client, and SQLXML. The SQL Server 2005 improvements in
these APIs increase programmer productivity and support new functionality
in applications that access SQL Server databases.

2.4.6.9 NET Framework Common Language Runtime Integration

• The .NET Framework's common language runtime (CLR) is now hosted in


the SQL Server Database Engine. This CLR integrated environment
supports procedural database objects, including functions, stored procedures,
and triggers, written in .NET languages, such as Microsoft Visual C# and
Microsoft Visual Basic .NET. .NET languages support logic and features
that are not available in the Transact-SQL language, meaning that more
complex logic can now be incorporated in database objects. User-defined
types and aggregates can also be written in .NET languages to build more
complex data types than were available in earlier versions of SQL Server.

• The CLR programming environment is integrated into the Visual Studio


development environment. Developers use the same tools for developing
and debugging database objects as they use to develop client or middle-
tier .NET components and services.

2.5 Constraints :

37
• Admin will have to implement a security policy to safeguard the customer’s
information. It should not be modified or used by unauthorized users (by
means of gaining access to backend database). These days’ data is very
important to companies and wrong use of data can take away our esteemed
customers from us.

• We should have proper backup of the essential details and all the
information, since any information lost can affect the business very heavily.

• The admin has to update the details of various shows regularly so that user
is provided with various details whenever he views the web site.

2.6 Assumptions & Dependencies

• User must know internet browsing fundamentals


• User must be having internet access.

2.7 User Characteristics

• User must know internet browsing fundamentals


• Registered user must have a valid registration id obtained by
registering with the website and must remember his password
• Administrator must remember his secure password
3.1 Logical Database Design

38
Fig 3.1 – Logical Database Design

39
3.1.1 Entity Relationship Diagram (ERD)
An entity-relationship (ER) diagram is a specialized graphic that illustrates the
interrelationships between entities in a database. ER diagrams often use symbols
to represent three different types of information. Boxes are commonly used to
represent entities. Diamonds are normally used to represent relationships and ovals
are used to represent attributes

1 N Credit 1
User has
card

does
Movie

1 1
N Shows 1 transaction
has
N
1
N
has
consist does

1 N
Booking
Location

Fig 3.2 – ER Diagram

3.1.2 Table Structures

40
Table 3.1
User Information Table

Table 3.2
Locations Table

Table 3.3
Movies Table

Table 3.4
Shows Table

41
Table 3.5
Credit Card Table

Table 3.6
Transaction Record Table

Table 3.7
Booking Table

42
Table 3.8
Advertisements Table

3.1.3 DFD (Data Flow Diagram)

• Data flow diagrams (DFDs) are one of the three essential perspectives of
SSADM. The sponsor of a project and the end users will need to be briefed and
consulted throughout all stages of a systems evolution. With a dataflow
diagram, users are able to visualise in a physical visual form how the system
will operate, what the system will accomplish and how the system will be
implemented. Old system dataflow diagrams can be drawn up and compared
with the new systems dataflow diagrams to draw comparisons to implement a
more efficient system. Dataflow diagrams can be used to provide the end user
with a physical idea of where the data they input, ultimately has an effect upon
the structure of the whole system from order to dispatch to restock how any
system is developed can be determined through a dataflow diagram.
• The components of a data flow diagram (DFD) are:
• Processes
• Flows

43
• Stores
• Terminators (sometimes called sources and sinks)

• Terminators are outside of the system being modeled. Terminators represent


where information comes from and where it goes. In designing a system, we
have no idea about what these terminators do or how they do it.

• Processes modify the inputs in the process of generating the outputs .

• Stores represent a place in the process where data comes to rest. A DFD
doesn't say anything about the relative timing of the processes, so a store might
be a place to accumulate data over a year for the annual accounting process.

• Flows are how data moves between terminators, processes, and stores.
It is recommended that every page in an DFD contain fewer than 10 components.
If a process has more than 10 components, then one or more components
(typically a process) should be combined into one and another DFD be generated
that describes that component in more detail. Each component should be
numbered, as should each subcomponent, and so on

LEVEL 0 DFD

44
ONLINE
MOVIE DETAIL MAINTENANCE CINEMA
ADMINISTRATOR TICKET LOGGED IN
USERS
BOOKIN
SHOW DETAIL MAINTENANCE G BOOK TICKETS

ADDS MAINTENANCE GETS A UNI

LOCATION DETAILS MAINTENANCE

TRANSACTION
GENERATION

Fig 3.4 – Level 0 DFD

LEVEL 1 DFD

45
ENTERS DATA

MAKES ENTERS DATA TRANSACTION TABLE


TRANSACTIO
N
TRANSACTION
ENTERS DATA

BOOK SEATS ENTERS DATA BOOKING TABLE


BOOKIN
USER G

ENTERS DATA
CHECK VALIDITY
USER_INFO TABLE
ENTER USER NAME LOGIN
& PASSWORD
GET RESULT

ADMINISTRATOR
ADD MOVIE DETAILS ENTERS DATA MOVIES TABLE
MOVIE DETAIL
MAINTENANCE
ENTERS DATA

ADD SHOW DETAILS


SHOW DETAIL
ENTERS DATA
MAINTENANCE SHOW TABLE

ADD ADVERTISEMENTS ADDS


DETAILS ADDS TABLE
MAINTENANCE
ENTERS DATA

ADD LOCATION DETAILS


LOCATION LOCATION TABLE
MAINTENANCE
ENTERS DATA

Fig 3.5 – Level 1 DFD

3.2 Input Design


3.2.1 Input Design (1)
3.2.1.1 Layout Name : Login

46
3.2.1.2 Purpose: By this layout the administrator or user of the proposed system
gets logged in to the system.
3.2.1.3 Description of Fields :
Username: Here username is entered by the user or the administrator.
Password: Here password is entered by the user or the administrator.
3.2.1.4 Validation Checks:
• Both username and password are entered by the user.
• Username is unique for every user.

3.2.2 Input Design (2)


3.2.2.1 Layout Name : New User Sign Up
3.2.2.2 Purpose: By this layout a new user is able to create his account.
3.2.2.3 Description of Fields :
Username: Here username is entered by the user or the administrator.
Password: Here password is entered by the user or the administrator.
Confirm Password: Here user enters the password again.
Email: Here user enters his email id.
Security Question: Here user enters any security question.
Security Answer: Here user enters the answer of security question.
3.2.2.4 Validation Checks:
• All the entries are entered by the user.
• Username is unique for every user.
• Both password and confirm password must match.
• The email entered is unique and is in proper format.

3.2.3 Input Design (3)


3.2.3.1 Layout Name : Credit/Debit Card Details
3.2.3.2 Purpose: By this layout a user enters his credit/debit card details.

47
3.2.3.3 Description of Fields :
Card Category: Here user selects his card category.
Card Number: Here user enters his 16 digit card number.
Name on Card: Here user enters the name written on the card.
Expiry Month: Here user selects the expiry month of his card.
Expiry Year: Here user selects the expiry year of his card.
CW Number: Here user enters his 3 digit CW number.
Total Amount: Here total amount to be paid is displayed for the user.
3.2.3.4 Validation Checks:
• All the entries are entered by the user.
• The card number is only numeric.
• He card number is of 16 digits.
• The name on card field is not numeric.
• The CW number is numeric.
• The CW number is of 3 digits only.

3.3 Output Design

3.3.1 Output Design (1)

3.3.1.1 Layout Name : Order Summary


3.3.1.2 Purpose: By this layout a user views his order summary.
3.3.1.3 Description of Fields :
Name of Movie: Here the name of selected movie is displayed.
Language: Here the language of selected movie is displayed.
Genre: Here the genre of selected movie is displayed.
Star cast: Here the entire star cast of selected movie is displayed.
Place: Here the name of selected theatre is displayed.
Date: Here date of selected show is displayed.
Time: Here time of selected show is displayed.

48
Seat Numbers: Here all the seat numbers selected by user are displayed.
3.2.3.4 Validation Checks:
• All the entries are displayed to the user.
• The date is in format mm/dd/yyyy.
• The seat numbers are all numeric.

3.4 Use Case Description :

(I) Use Case: Login


3.4.1 Purpose
• This use case is used for logging in by the user or the
administrator
3.4.2 Actors
• User
• Admin
3.4.3 Preconditions
• User or Admin should have a valid user name and
password
3.4.4 Post Conditions
• User and Admin have successfully logged in
3.4.5 Basic flow
• User or admin enters the user name
• User or admin enters the password
• They are successfully logged in
3.4.6 Alternate flows
• User or admin is the new user of the system

49
(II) Use Case: Book Show
3.4.1 Purpose
• User can book any show of his choice.
3.4.2 Actors
• User
3.4.3 Preconditions
• The user must be logged into the web site.
3.4.4 Post Conditions
• None
3.4.5 Basic flow
1. User can select region, movie name and date
2. User is shown list of matching shows at various
theatres.
3. User is shown seat pattern to select seats of his
choice.
3.4.6 Alternate flows
• None

(III) Use Case: View Ratings


3.4.1 Purpose
• User can view ratings of movies being shown right now.
3.4.2 Actors
• User
• Anonymous User
3.4.3 Preconditions
• None
3.4.4 Post Conditions
• User is able to view ratings.

50
3.4.5 Basic flow
• User clicks on view ratings page.
• Ratings for movies being shown are fetched from the
database.
• The page is displayed to him.
3.4.6 Alternate flows
• Rating for a particular movie is not available in the
database.
• A blank image is displayed for that movie.

(IV) Use Case : View Now Showing


3.4.1 Purpose
• User can view the images of movies being shown right
now.
3.4.2 Actors
• User
• Anonymous User
3.4.3 Preconditions
• None
3.4.4 Post Conditions
• User is able to view those images.
3.4.5 Basic flow
• User clicks on now showing page.
• Images of movies being shown are fetched from the
database.
• The page is displayed to him.

51
3.4.6 Alternate flows
• None

(V) Use Case: View Coming Soon


3.4.1 Purpose
• User can view the images of movies which would be
shown in coming weeks.
3.4.2 Actors
• User
• Anonymous User
3.4.3 Preconditions
• None
3.4.4 Post Conditions
• User is able to view those images.
3.4.5 Basic flow
• User clicks on coming soon page.
• Images of movies which would be shown in coming
weeks are fetched from the database.
• The page is displayed to him.
3.4.6 Alternate flows
• None

(VI) Use Case: Logout


3.4.1 Purpose
• This use case is used for logging out by the user and
administrator
3.4.2 Actors
• User

52
• Admin

3.4.3 Preconditions
• User or Admin have a logged into the web site.
3.4.4 Post Conditions
• User or Admin have successfully logged out.
3.4.5 Basic flow
• User or admin clicks on log out option in the menu.
• They are successfully logged out.
3.4.6 Alternate flows
• None

(VII) Use Case : Manage Locations


3.4.1 Purpose
• Administrator can edit, delete or add a location in the
location table.
3.4.2 Actors
• Administrator
3.4.3 Preconditions
• The administrator has logged into the system.
3.4.4 Post Conditions
• The changes made by administrator will be visible to the
user.
3.4.5 Basic flow
• Administrator logs into the system.
• He clicks on manage locations in the menu.
• He then edit, deletes or add details about a location.
• The changes are permanently made to the database.

53
3.4.6 Alternate flows
• None

(VIII) Use Case: Manage Movies


3.4.1 Purpose
• Administrator can edit, delete or add details of a movie in
the movies table.
3.4.2 Actors
• Administrator
3.4.3 Preconditions
• The administrator has logged into the system.
3.4.4 Post Conditions
• The changes made by administrator will be visible to the
user.
3.4.5 Basic flow
• Administrator logs into the system.
• He clicks on manage movies in the menu.
• He then edit, deletes or add details about a movie.
• The changes are permanently made to the database.
3.4.6 Alternate flows
• None

(IX) Use Case: Manage Shows


3.4.1 Purpose
• Administrator can edit or add details of a show in the
shows table.
3.4.2 Actors

54
• Administrator
3.4.3 Preconditions
• The administrator has logged into the system.
3.4.4 Post Conditions
• The changes made by administrator will be visible to the
user.
3.4.5 Basic flow
• Administrator logs into the system.
• He clicks on manage shows in the menu.
• He then edit or add details about a show.
• The changes are permanently made to the database.
3.4.6 Alternate flows
• None

(X) Use Case: Manage Advertisements


3.4.1 Purpose
• Administrator can edit, delete or add advertisements in the
advertisements table.
3.4.2 Actors
• Administrator
3.4.3 Preconditions
• The administrator has logged into the system.
3.4.4 Post Conditions
• The changes made by administrator will be visible to the
user.
3.4.5 Basic flow
• Administrator logs into the system.
• He clicks on manage advertisements in the menu.

55
• He then edit, delete or add advertisements.
• The changes are permanently made to the database and the
advertisements are displayed at appropriate places.
3.4.6 Alternate flows
• None

56
4.1 Testing Methodology :

Software testing is the process used to help identify the correctness, completeness,
security and quality of developed computer software. Testing is a set of activities
that can be planned in advance and conducted systematically. Testing can never
completely establish the correctness of arbitrary computer software. In other
words, testing is criticism or comparison, that is comparing the actual value with
an expected one.

Testing is the process of exercising the software item to detect the differences
between its behavior and the desired behavior as stipulated by the requirements
specifications- 'what is' and 'what should be'. To achieve a very high standard in
quality of delivery, a comprehensive and planned testing will be carried out during
project execution. The Testing phase follows the coding and unit-testing phase.
Testing a program basically consists of providing the program with set of test
inputs or the test cases and observing whether the program behaves in the normal
and expected manner. The condition under which the programs behaves in an
unexpected manner and deviates from its normal course is noted for debugging
and correction.

The objective is to design tests that systematically uncover different classes of


errors and do so with a minimum amount of time and effort Secondary benefits
include

Demonstration of software functions appearing to be working according to


specification. Performance requirements appear to have been met Data collection
during testing provides a good indication of software reliability and some
indication of software quality.

57
Testing cannot show the absence of defects, it can only show that software defects
are present.

4.2 Unit Testing :

Unit testing is a procedure used to validate that the individual modules or units of
source code or functions are working properly. Ideally, each test case is
independent from the others; mock objects can be used to assist testing a module
or a piece of a module in isolation. Unit testing is typically done by the developers
and not by end-users.

The purpose of unit testing is to identify and correct as many internal logic errors
as possible. Unit tests would be repeatable and may be conducted at any point in
the implementation process in accordance with the approved unit test plan for the
module I project The goal for unit testing by developers is to perform selected path
testing in which every affected branch is navigated in all possible directions at
least once and every affected line of code is executed at least once. The developer
would do unit testing at time of coding.

Definition of a unit
• Screens with its associated services, which help to display, add, modify, delete,
authorize or list data.
• Any function, which encapsulates business logic for a batch job or a service.
• Batch jobs separated as a unit
• Library functions being provided by any module to be considered as a unit.

Aim of Unit Testing


• To test a unit of code after coding of that unit is completed.

58
• To utilize a finite number of test cases to detect the maximum number of errors
using minimum resources.
• To achieve maximum test coverage.
Pre-requisite to Unit Testing
• Unit test Plan and Unit Test specifications reviewed by QA are available.
• Reviewed code with all the identified defects fixed.
• The data setup is in place for the unit testing
• Stubs used by the unit are ready.

Unit Testing Deliverables


The deliverables from the unit testing will be:
• Unit test logs.
• Unit tested code.
• Product delivery note to move the unit to system testing environment.

4.3 Integration Testing

Definition of an Integrated Unit


• A Batch job
• All the screens of a particular module.
• All screens which provide the facility to access screens of another module.

Aim of Integration Testing


• To prove that the various programs making up the system are compatible, fit
together and the interfaces between the programs are correct

59
Integration Testing Constituents
• To check if the integrated unit technically and functionally achieves its
purpose.

Pre-requisite to Integration Testing


• Integration test plan and specifications reviewed by QA are available
• Unit tested and verified code
• Compile scripts for the units under the Integrated Unit

Integration Testing Deliverables


The deliverables from the Integration testing will be:
• Integration test logs
• Tested code

4.4 System Testing

System testing is testing conducted on a complete, integrated system to evaluate


the system's compliance with its specified requirements. System testing falls
within the scope of Black box testing, and as such, should require no knowledge of
the inner design of the code or logic. It requires testing the system as a whole.

Objective of System Testing


• Test the system requirements and the resilience of the software

Integration Testing Constituents

60
• To check if the integrated unit technically and functionally achieves its
purpose.

Pre-requisite to System Testing


• Integration testing is completed and specifications for each node.

System Testing Deliverables


The deliverables from the Integration testing will be:
• System Test Plans
• System Test Specs

FUNCTIONAL TESTING

The objective of this test is to ensure that each element of the application meets the
functional requirements as outlined in system specifications. Functional testing
covers the aspects of the system executing functions it is supposed to execute-
including user commands, data manipulation, searches and business processes,
user screens, and integrations. Functional testing covers the obvious surface type
of functions, as well as the back-end operations (such as security and how
upgrades affect the system). Before executing the system test cases in full, a
limited functional testing will be performed with a subset of system test case
where the system will be run on two (or may be more is to be decided) business
days and covering end-to-end two (or may be more is to be decided) event types.
This is done to verify if all the components of the system is installed properly and
to do a basic functionality testing. This will conclude high-level testing. It will be
followed by detailed-level tests, which will aim to test the individual processes
and data flows.

61
AUTOMATED TESTING

In software testing, automated testing is performed, to a greater or lesser extent by


a computer. Software testing involves devising a test case (or, more likely, a set of
test cases), running the program with the test case, and checking that the
performance of the software with the test case as input is as expected. All three
aspects of testing can be automated to a greater or lesser extent. The most
straightforward aspect of testing to automate is the execution of test cases. For
programs which do not normally interact directly with users (and instead
"respond" to the contents of a disk file or instructions passed over a network, or
take input as text from a keyboard), it is relatively simple to write small programs
(usually called test scripts) to provide the appropriate input. It is somewhat more
complex for programs with a graphical user interface (GUI) to do similarly, but
specialized scripting tools for controlling GUI programs exist and are commonly
used for performing testing on this class of applications.

INTERFACE TESTING
The various programs that facilitate the exchange of data between the interfacing
systems will be tested through the Interface sub testing. The process of Interface
testing will be interlinked to the system testing activity, by incorporating the
messaging requirements within the system test conditions.
Non-Functional Testing: Besides testing to check whether the application meets all
the functional requirements, following Non-Functional Testing would be carried
out in this phase:

INSTALLATION TESTING

Installation testing can simply be defined as any testing that occurs outside of the
development environment. Such testing will frequently occur on the computer
system the software product will eventually be installed on. While the ideal

62
installation might simply appear to be to run a setup program, the generation of
that setup program itself and its efficacy in a variety of machine and operating
system environments can require extensive testing before it can be used with
confidence.

In distributed systems, particularly where software is to be released into an already


live target environment (such as an operational web site) installation (or
deployment as it is sometimes called) can involve database schema changes as
well as the installation of new software. Deployment plans in such circumstances
may include back-out procedures whose use is intended to roll the target
environment back in the event that the deployment is unsuccessful. Ideally, the
deployment plan itself should be tested in an environment that is a replica of the
live environment. A factor that can increase the organizational requirements of
such an exercise is the need to synchronize the data in the test deployment
environment with that in the live environment with minimum disruption to live
operation. Installation Testing is testing of full, partial or upgrades install/uninstall
processes.

• To check ease of installation


• To check whether the Installation can be carried out as per the installation
Manual
• To check whether data migration is done successfully
• To check whether Installation can be done on multiple platforms (for instance
on AIX and Mainframe)

PERFORMANCE TESTING

Performance testing is perhaps the biggest area of testing. The different types of
performance testing that can be done:

63
1) Classic performance testing, which measures response times and transaction
rates
2) Load testing, which measures the system's ability to handle varied workloads
3) Stress testing, which looks for errors produced by low resources or
competition for resources
4) Volume testing, which subjects the software to larger and larger amounts of
data to determine its point of failure.

USER INTERFACE TESTING


• To check whether the User Manual co-relates with the user interface
• To check the ease of use in cases of large volumes of data
• To check the ease of usage of the User Interface under Normal loads.

SYSTEM INTEGRATED TESTING

The System Integration Testing is a testing process that shakes down source code
developed and fixes any variance before proceeding to the next testing phase. To
complete (or exit) SIT; there must be fewer variances than can be tolerated.
Various components will be integrated with each other and with external system
via external interfaces.

Integration testing will be performed to ensure:

1) Various modules making up the application fit together


2) Interfaces with external systems are working as per the expectations

The purpose of this testing is to verify functional, performance and reliability


requirements placed on major design items. These "design items", Le. assemblages
(or groups of units), are exercised through their interfaces using Black box testing,
success and error cases being simulated via appropriate parameter and data inputs.
Simulated usage of shared data areas and inter-process communication is tested;

64
individual subsystems are exercised through their input interface. All test cases are
constructed to test that all components within assemblages interact correctly.

REGRESSION TESTING

Regression testing is any type of software testing which seeks to uncover


regression bugs. Regression bugs occur whenever software functionality that
previously worked as desired stops working or no longer works in the same way
that was previously planned. Typically regression bugs occur as an unintended
consequence of program changes. Common methods of regression testing include
rerunning previously run tests and checking weather previously fixed faults have
reemerged. Therefore, in most software development situations it is considered
good practice that when a bug is located and fixed, a test that exposes the bug is
recorded and regularly retested after subsequent changes to the program. Although
this may be done through manual testing procedures using programming
techniques, it is often done using automated testing tools. Regression testing is an
integral part of the extreme programming software development methodology.

4.5 User Acceptance Testing (UAT):

User Acceptance Testing (UAT) is a process to obtain confirmation by test,


through trial or review, that the modification or addition requirements. In, UAT is
one of the final stages of a project will often occur before a client or customer
accepts a new system. Users of the system will pert developers have derived from
the client's contract or the user requirement. The idea is that if the software works
as intended and without issue during a simulation of normal use ,it will work just
the same production. These tests are not of problems (spelling mistakes, cosmetic
problems) or showstopper software crashing, software will not run etc.).

65
Developers should have during unit testing and integration testing. The results of
these tests will confidence to the customers of how the system will perform in
production. Client will carry out acceptance of deliverables. Defects, if any,
observed by Client, will be notified 0 the immediate previous baseline or
acceptance whichever is later.

4.6 Test Reports & Debugging :

Test Report for Login.aspx

S.no User name Password Expected O/P Actual O/P

1 Empty X Error Message Error Message

2 X Empty Error Message Error Message


Valid /
3 X Error Message Error Message
Invalid
4 X Valid / Invalid Error Message Error Message

5 Invalid Invalid Error Message Error Message

6 Valid Invalid Error Message Home Page

7 Invalid Valid Error Message Error Message

8 Valid Valid Home Page Home Page

Case 1: The code was checked for and was found that the check was only on
username and not on combination of user name and password , so this was fixed
and error was removed.

66
Debugging is a methodical process of finding and reducing the number of bugs,
or defects, in a computer program or a piece of electronic hardware thus making it
behave as expected. Debugging tends to be harder when various subsystems are
tightly coupled, as changes in one may cause bugs to emerge in another.
Although each debugging experience is unique, certain general principles can be
applied in debugging. This section particularly addresses debugging software,
although many of these principles can also be applied to debugging hardware.
The basic steps in debugging are:
• Recognize that a bug exists
• Isolate the source of the bug
• Identify the cause of the bug
• Determine a fix for the bug
• Apply the fix and test it

Recognize a bug exists


Detection of bugs can be done proactively or passively.

An experienced programmer often knows where errors are more likely to occur,
based on the complexity of sections of the program as well as possible data
corruption. For example, any data obtained from a user should be treated
suspiciously. Great care should be taken to verify that the format and content of
the data are correct. Data obtained from transmissions should be checked to make
sure the entire message (data) was received. Complex data that must be parsed
and/or processed may contain unexpected combinations of values that were not
anticipated, and not handled correctly. By inserting checks for likely error

67
symptoms, the program can detect when data has been corrupted or not handled
correctly.

If an error is severe enough to cause the program to terminate abnormally, the


existence of a bug becomes obvious. If the program detects a less serious problem,
the bug can be recognized, provided error and/or log messages are monitored.
However, if the error is minor and only causes the wrong results, it becomes much
more difficult to detect that a bug exists; this is especially true if it is difficult or
impossible to verify the results of the program.

The goal of this step is to identify the symptoms of the bug. Observing the
symptoms of the problem, under what conditions the problem is detected, and
what work-arounds, if any, have been found, will greatly help the remaining steps
to debugging the problem.

Isolate source of bug

This step is often the most difficult (and therefore rewarding) step in debugging.
The idea is to identify what portion of the system is causing the error.
Unfortunately, the source of the problem isn't always the same as the source of the
symptoms. For example, if an input record is corrupted, an error may not occur
until the program is processing a different record, or performing some action
based on the erroneous information, which could happen long after the record was
read.

This step often involves iterative testing. The programmer might first verify that
the input is correct, next if it was read correctly, processed correctly, etc. For
modular systems, this step can be a little easier by checking the validity of data
passed across interfaces between different modules. If the input was correct, but
the output was not, then the source of the error is within the module. By iteratively

68
testing inputs and outputs, the debugger can identify within a few lines of code
where the error is occurring.

Skilled debuggers are often able to hypothesize where the problem might be
(based on analogies to previous similar situations), and test the inputs and outputs
of the suspected areas of the program. This form of debugging is an instance of the
scientific method. Less skilled debuggers often step sequentially through the
program, looking for a place where the behavior of the program is different than
expected. Note that this is still a form of scientific method as the programmer must
decide what variables to examine when looking for unusual behavior. Another
approach is to use a "binary sort" type of isolation process. By testing sections
near the middle of the data / processing flow, the programmer can determine if the
error happens during earlier or later sections of the program. If no data problems
are detected, then the error is probably later in the process.

Identify cause of bug

Having found the location of the bug, the next step is to determine the actual cause
of the bug, which might involve other sections of the program. For example, if it
has been determined that the program faults because a field is wrong, the next step
is to identify why the field is wrong. This is the actual source of the bug, although
some would argue that the inability of a program to handle bad data can be
considered a bug as well.

A good understanding of the system is vital to successfully identifying the source


of the bug. A trained debugger can isolate where a problem originates, but only
someone familiar with the system can accurately identify the actual cause behind
the error. In some cases it might be external to the system: the input data was
incorrect. In other cases it might be due to a logic error, where correct data was
handled incorrectly. Other possibilities include unexpected values, where the

69
initial assumptions were that a given field can have only "n" values, when in fact,
it can have more, as well as unexpected combinations of values in different fields
(field x was only supposed to have that value when field y was something
different). Another possibility is incorrect reference data, such as a lookup table
containing incorrect values relative to the record that was corrupted.

Having determined the cause of the bug, it is a good idea to examine similar
sections of the code to see if the same mistake is repeated elsewhere. If the error
was clearly a typo, this is less likely, but if the original programmer misunderstood
the initial design and/or requirements, the same or similar mistakes could have
been made elsewhere.

Determine fix for bug

Having identified the source of the problem, the next task is to determine how the
problem can be fixed. An intimate knowledge of the existing system is essential
for all but the simplest of problems. This is because the fix will modify the
existing behavior of the system, which may produce unexpected results.
Furthermore, fixing an existing bug can often either create additional bugs, or
expose other bugs that were already present in the program, but never exposed
because of the original bug. These problems are often caused by the program
executing a previouCAy untested branch of code, or under previouCAy untested
conditions.

In some cases, a fix is simple and obvious. This is especially true for logic errors
where the original design was implemented incorrectly. On the other hand, if the
problem uncovers a major design flaw that permeates a large portion of the
system, then the fix might range from difficult to impossible, requiring a total
rewrite of the application.

70
In some cases, it might be desirable to implement a "quick fix", followed by a
more permanent fix. This decision is often made by considering the severity,
visibility, frequency, and side effects of the problem, as well as the nature of the
fix, and product schedules (e.g., are there more pressing problems?).

Fix and test

After the fix has been applied, it is important to test the system and determine that
the fix handles the former problem correctly. Testing should be done for two
purposes: (1) does the fix now handle the original problem correctly, and (2) make
sure the fix hasn't created any undesirable side effects.

4.7 Implementation :

• Acquisition

The project is developed on the system having following configuration:

o Operating System: Microsoft Vista


o Processor: Intel Core2duo
o CPU: 1.5GHz
o RAM: 3.0 GB
o HDD: 160 GB

• Training Needs
o User must have good knowledge of English Language, as the system
developed contains textual data in English language only.

o User must have basic knowledge of internet access.

71
• User manual

o You must have internet explorer and the basic knowledge of accessing
Internet.

o You must have good knowledge of English language, as the site is totally
developed in English language.

o Enter the path of the site in the browser window.

o Front page of site appears, select the relevant link which you need to
access.

72
5.1 Conclusion :
Online Cinema Ticket Booking is user friendly. Various validations checks are provided
whenever any data entry is made. Error messages are displayed on the screen for
incorrect entries. Password facility is provided for security at various levels. It provides
efficient and quicker service to all users. It provides easy access to the database. It
provides flexibility to accommodate future needs. It eliminates duplication of works and
provides a convenient and an effective information system.

5.2 Limitations of the System:


In this project all the transactions are done via credit/debit card. For this credit/debit card
system is required to be developed, which requires a web service and some transactions
with the banks also. So this feature is not considered here.

5.3 Future Scope For Modification :


This project ‘Online Cinema Ticket Booking’ is very much flexible and simple that it is
easy to understand, easy to handle databases and if any changes required that can be
easily formulated. This project can also be enhanced to generate daily, weekly or monthly
reports of the transactions made for the administrator.
This project allows user to book tickets anywhere in the NCR but
can be enhanced to cover other regions also. This project allows user to book a maximum
of five tickets in one transaction which can also be increased.

73
5.4 References & Bibliography :

Books

1. Microsoft® Visual C#® 2005 – James Foxall


2. Wrox Professional – Professional C# 2004 (3rd Ed.)
3. Wrox Professional – Beginning SQL Server 2005 Administration

Web Sites

1. http://www.codereference.com/book/csharp.aspx
2. http://www.programmersheaven.com/2/CSharpBook
3. http://www.w3schools.com/sql/sql_intro.asp
4. http://www.sql-tutorial.net/

74
A-1 Menu Flow Diagram
LOGIN PAGE

ANONYMOUS LOGGED IN ADMINISTRATOR


USER USER

HOME HOME HOME

COMING MANAGE
LOGI N LOCATIONS
SOON

NOW MANAGE
COMING
SHOWING MOVIES
SOON

VIEW MANAGE
NOW
RATINGS SHOWS
SHOWING

MANAGE
VIEW ADVERTISEMENT
BOOK NOW
RATINGS S

ABOUT
ABOUT LOGOUT
US
US

CHANGE
SITEMAP PASSWORD

SITEMAP

FEEDBACK

75
LOGOUT

Fig 6.1 – Menu Flow Diagram

A-2 Use Case Diagram

Login

Book show

View ratings

View now
User showing Anonymous
User

View coming
soon

Logout

Manage
locations
Administrator

Manage
movies

Manage
shows

Manage
advertisements
76
Fig 6.2 – Use Case Diagram

A-3 Decision Table / Tree :

DECISION TABLE

Decision tables are a precise yet compact way to model complicated logic.
Decision tables, like if-then-else and switch-case statements, associate conditions
with actions to perform. But, unlike the control structures found in traditional
programming languages, decision tables can associate many independent
conditions with several actions in an elegant way.

Decision tables are typically divided into four quadrants, as shown below.

The four quadrants


Conditions Condition alternatives
Actions Action entries

Each condition corresponds to a variable, relation or predicate whose possible


values are listed among the condition alternatives. Each action is a procedure or
operation to perform, and the entries specify whether (or in what order) the action
is to be performed for the set of condition alternatives the entry corresponds to.
Many decision tables include in their condition alternatives the don't care symbol,
a hyphen. Using don't cares can simplify decision tables, especially when a given
condition has little influence on the actions to be performed. In some cases, entire
conditions thought to be important initially are found to be irrelevant when none
of the alternatives influence which actions are performed.

77
Aside from the basic four quadrant structure, decision tables vary widely in the
way the condition alternatives and action entries are represented. Some decision
tables use simple true/false values to represent the alternatives to a condition (akin
to if-then-else), other tables may use numbered alternatives (akin to switch-case),
and some tables even use fuzzy logic or probabilistic representations for condition
alternatives. In a similar way, action entries can simply represent whether an
action is to be performed (check the actions to perform), or in more advanced
decision tables, the sequencing of actions to perform (number the actions to
perform).

The following steps are applied to develop a decision table:

1. List all actions that can be associated with a specific procedure.


2. List all conditions during execution of the procedure.
3. Associate specific sets of conditions with specific actions.
4. Define rules by indicating what action(s) occurs for a set of conditions.

DECISION TREE

A decision tree is a graph of decisions and their possible consequences, (including


resource costs and risks) used to create a plan to reach a goal. Decision trees are
constructed in order to help with making decisions. A decision tree is a special
form of tree structure.
In machine learning, a decision tree is a predictive model; that is, a mapping of
observations about an item to conclusions about the item's target value. Each interior
node corresponds to a variable; an arc to a child represents a possible value of that
variable. A leaf represents the predicted value of target variable given the values of the
variables represented by the path from the root.
Decision tree learning is also a common method used in data mining. Here, a decision
tree describes a tree structure wherein leaves represent classifications and branches

78
represent conjunctions of features that lead to those classifications. A decision tree can
be learned by splitting the source set into subsets based on an attribute value test.
This process is repeated on each derived subset in a recursive manner. The
recursion is completed when splitting is either non-feasible, or a singular
classification can be applied to each element of the derived subset. A random
forest classifier uses a number of decision trees, in order to improve the
classification rate.
Decision trees are also a descriptive means for calculating conditional
probabilities.

Find the data attribute each condition tests and all of the attribute's
1. Identify Conditions & Values
values.
2. Compute Max Number of Multiply the number of values for each condition data attribute by
Rules each other.
Determine each independent action to be taken for the decision or
3. Identify Possible Actions
policy.
Fill in the values of the condition data attributes in each numbered
4. Enter All Possible Rules
rule column.
For each rule, mark the appropriate actions with an X in the decision
5. Define Actions for each Rule
table.
6. Verify the Policy Review completed decision table with end-users.
7. Simplify the Table Eliminate and/or consolidate rules to reduce the number of columns.

Since in this application the only condition is the Access Rights the following
conditions are generated:
1. Anonymous User (C1)
2. Logged In User(C2)
3. Administrator (C3)

The various actions in this regard are:

1. View Now Showing (A1)


2. View Coming Soon (A2)

79
3. View Ratings (A3)
4. Book Now (A4)
5. Manage Locations (A5)
6. Manage Movies (A6)
7. Manage Shows (A7)
8. Manage Advertisements (A8)
9. General Actions ( Home, Provide Feedback ,View Site Map, View About
Us) (A9)

The decision table for this problem can be seen as under:

A1 A2 A3 A4 A5 A6 A7 A8 A9
C1 Y Y Y N N N N N Y
C2 Y Y Y Y N N N N Y
C3 N N N N Y Y Y Y Y
Fig 6.3 – Decision Table

Note:
 Y = Yes
 N = No

80
A-4 Input Design Layouts:

Fig 6.4 – Login Page

81
Fig 6.5 - Home Page for Anonymous user

Fig 6.6 – New User SignUp Page

82
Fig 6.7 – Home Page for Logged In User

Fig 6.8 – Book Now Page

83
Fig 6.9 – Select Show Page

Fig 6.10 – Filter Records Page

84
Fig 6.11 – Seat Pattern Page

Fig 6.12 – Credit Card Details Page

85
Fig 6.13 – Home Page for Administrator

Fig 6.14 – Manage Locations Page

86
Fig 6.15 – Manage Movies Page

Fig 6.16 – Manage Shows Page

87
Fig 6.17 – Manage Advertisements Page

88
A-5 Output Design Layouts:

Fig 6.18 – Now Showing Page

89
Fig 6.19 – Coming Soon Page

Fig 6.20 – View Ratings Page

90
Fig 6.21 – Order Summary Page

Fig 6.22 – Success Message Page

91

You might also like