My Report Octb
My Report Octb
My Report Octb
HISTORY
• 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
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.
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.
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.
MISSION STATEMENT
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
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.
• Players should be able to change the game mode, starting game level and other
settings anytime they want
7
1.3 Proposed Solution :
• 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.
• The site was build so that viewers can book ticket(s) whenever they want for
available movies shows.
• To provide information about movie, star cast, language, category and release
date of coming soon movies and now showing before viewers make choice.
9
• Performance is high.
• Reduces the effort and time in gathering the information about the customers.
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 :
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.
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.
12
• Work allocation was finalized.
• Time Value for money was analyzed
CLIENT
Scripting language : C#
13
Web Browser : Microsoft Internet explorer 5.0 or
Higher
This page is the front page for the website. Its contains the option for existing
user and administrator to login.
This page allows new user to create an account and then they can login into
the web site.
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.
14
This page enables user to view images of all the movies which are currently
being shown at various places.
This page enables user to view images of all the movies which would be
shown in coming weeks at various places.
This page enables user to view ratings of all the movies which are currently
being shown at various places.
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.
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.
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.
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.
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.
This page displays the success message to the user if his tickets are
successfully booked.
This page is displayed only to the administrator and enables him to add, delete
or update locations.
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.
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.
This page enables any user too view the sitemap of the web site.
This page enables user to provide feedback about the web site. This feedback
would be displayed to the administrator only.
This page allows both logged in user or administrator to change his password.
• 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.
Design
18
N
Operation &
Maintenance.
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.
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.
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.
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.
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
.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
.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.
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!
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++.
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.
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.
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.
Form Layout Window: The Form Layout window allows you to position the
forms in your application using a small graphical representation of the screen.
Data Access in ADO.Net relies on two components: Dataset and Data Provider.
( I ) DATASET
( 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:
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.
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.
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
• Analysis Services
• Report Server
• Microsoft Search
• Full-Text Search
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.
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.
31
Notification Services instances and applications and to manage those instances and
applications.
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.
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 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:
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.
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.
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
• 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.
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.
• 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.
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.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.
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
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
• 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)
• 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
TRANSACTION
GENERATION
LEVEL 1 DFD
45
ENTERS DATA
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
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.
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.
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.
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
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.
51
3.4.6 Alternate flows
• None
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
53
3.4.6 Alternate flows
• None
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
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.
57
Testing cannot show the absence of defects, it can only show that software defects
are present.
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.
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.
59
Integration Testing Constituents
• To check if the integrated unit technically and functionally achieves its
purpose.
60
• To check if the integrated unit technically and functionally achieves its
purpose.
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
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.
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.
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.
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
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.
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
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.
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.
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.
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.
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.
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?).
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
• Training Needs
o User must have good knowledge of English Language, as the system
developed contains textual data in English language only.
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 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.
73
5.4 References & Bibliography :
Books
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
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
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
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.
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).
DECISION TREE
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)
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)
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:
81
Fig 6.5 - Home Page for Anonymous user
82
Fig 6.7 – Home Page for Logged In User
83
Fig 6.9 – Select Show Page
84
Fig 6.11 – Seat Pattern Page
85
Fig 6.13 – Home Page for Administrator
86
Fig 6.15 – Manage Movies Page
87
Fig 6.17 – Manage Advertisements Page
88
A-5 Output Design Layouts:
89
Fig 6.19 – Coming Soon Page
90
Fig 6.21 – Order Summary Page
91