Vous êtes sur la page 1sur 81

1 Manual Industrial Internship Project (CSE/IT)

ANNEXURE IIIA

INTERNSHIP PROJECT REPORT


(End Term)
(Project Semester July-December 2011)

e –TRANSPORT MANAGEMENT SYSTEM

Submitted by
Santu Bhuyan

Registration No. 10801097

B. Tech-MBA(CSE)

Section No. K18T3

Roll No. K18T3B49

Under the Guidance of


Mr. Sawal Tandon Mr. P. C. Lahkar
Asst. Professor Addl. Manager

Department of CSE/IT
Lovely school of Engineering
Lovely Professional University, Phagwara

XXXXXXXXX REG: 00000000000


2 Manual Industrial Internship Project (CSE/IT)
ANNEXURE IIIA

DECLARATION

I hereby declare that the project work entitled (“Title of the project”) is an
authentic record of my
own work carried out at (Place of work) as requirements of Industry Internship
project for the
award of degree of ____________(Relevant Degree), Lovely Professional
University, Phagwara
under the guidance of (Name of Industry coordinator) and (Name of Faculty
coordinator), during
July to December 2011).

(Signature of student)
Santu Bhuyan
Registration no:10801097

Date: ___________________

Certified that the above statement made by the student is correct to the best of our
knowledge
and belief.

(Name and Designation) (Name and Designation)


Faculty Coordinator Industry Coordinator

XXXXXXXXX REG: 00000000000


3 Manual Industrial Internship Project (CSE/IT)
ANNEXURE IIIA

ACKNOWLEDGEMENT

It is a matter of great pleasure and pride for us to introduce the new web
application “E-Transport Management System” to entire transport system of any
organization as the existing transport system concern.

We are highly thankful and like to express our heartiest gratitude to


our.......................................

………………………………………………………………………………………
……………..

………………………………………………………………………………………
…..

We express our deep regards for Mr. Paresh Ch. Lahkar, Additional General
Manager (Assam Electronics Development Corporation LTD.](AMTRON)
who whole heartedly accommodate us in this project and patiently helped in
organizing the team work throughout the training period.

Finally, I pay affection for my friends cum colleagues “Mr. Rahul Lahkar” and
“Mr. Rupam Bhagawati” who keeps me inspiring and helped me in performing
the team work perfectly.

XXXXXXXXX REG: 00000000000


4 Manual Industrial Internship Project (CSE/IT)
ANNEXURE IIIA

TABLE OF CONTENTS

1) Introduction 42
2) Objective 42
3) Drawback in Existing System 44
4) Proposed System 45
5) Preliminary Investigation 47
6) Process Logic 50
7) Feasibility Study 50
8) Software Engineering Paradigm 53
9) Software Requirements Specification 59
10) Functional Description 60
11) Error Messages 61
12) Data Flow Diagrams 62
13) E-R Diagram 62
14) Project Category 63
15) Designing of System 64
16) Development of Software 69
17) Input Screens 71
18) Output Screens 86
19) Reports 95
20) Coding 102
21) Development of Back-End 255
22) Developing Law’s of Software 256
23) Code Efficiency 257
24) Code Optimization 258
25) Validation Checks 258
26) Testing Technique and Strategies 259

XXXXXXXXX REG: 00000000000


5 Manual Industrial Internship Project (CSE/IT)
ANNEXURE IIIA

27) System implementation 263


28) User Training 264
29) System Evaluation 265
30) Organizational Impact 265
31) Scope of Future Enhancement 266
32) Conclusion 266
33) Maintenance 266
34) Security Measures 267
35) Cost Estimation 268
36) Gantt Chart 270
37) Bibliography 271
38) Appendices A 272
39) Appendices B 273
40) Appendices C 273
41) Appendices D 273
42) Glossary 275

XXXXXXXXX REG: 00000000000


6 Manual Industrial Internship Project (CSE/IT)
ANNEXURE IIIA

Projects - Overview

AMTRON has been designated as the State Level Agency of Government of Assam for the
implementation of various state-level and national-level projects. These are namely, ARBAS,
ASWAN, CSC, SDC, etc.

Amtron is also the largest promoter of Open Source in the region. Amtron has developed key
strength in implementing solutions based on Open Source Technologies. The Electronic
Document Approval System developed in Amtron is highly appreciated as the major step
towards e-governance for which Amtron received the 'World is Open Award 2008' jointly
sponsored by SKOCH and REDHAT.

Implementation of turnkey projects for various clients is one of the revenue earning activities of
AMTRON. The projects are supported by strong hardware and software support teams.

Amtron has key expertise in GIS. Through its state of art GIS centre, services are being offered
to the government on various projects*.

Anundoram Borooah Award Scheme

Employment Generation Schemes for IT & IT Enabled Services (ITeS)

IT Park MoU

State Wide Area Network (SWAN)

CSC Overview

Assam State Data Center (ASDC)

XXXXXXXXX REG: 00000000000


7 Manual Industrial Internship Project (CSE/IT)
ANNEXURE IIIA

e-District Project - Assam

Broadband over Powerline (BPL): An Innovative ICT Solution

(* details of these projects are available at the company’s website: www.amtron.in)

PROFILE OF THE PROBLEM

The whole transportation system is not well maintained previously where there was a huge work
load and imbalance in maintaining the safety and assurance. It was a system lacking in security
and time management. As a whole it was unreliable.

To overcome these all problems we come up with the new idea of developing a new, efficient and
reliable transport management system- The e-Transport Management System.

XXXXXXXXX REG: 00000000000


8 Manual Industrial Internship Project (CSE/IT)
ANNEXURE IIIA

A Transportation Management System is a software system designed to manage transportation


operations and ensure better service, decrease routing time with optimized cost and fuel
efficiency.

The purpose of this system is to manage and control company transport provided by employer to
employees especially in a IT/BPO, Manufacturing Industry, School etc.

The whole system is known as e-Transport Management System. This System will use the latest
technologies in order to manage the transportation system of an organization.

The various developing needs has resulted in the evolvement of this completely Computerised
Management System which will surely mange the System in an effective way and the reducing
the involvement of any manual and Hard copy work. New generation needs with effective
technologies will be seen in this New System.

Thus we will be Building a prototype of the New System which will be further developed and
modified according to the Needs of the Organization.

XXXXXXXXX REG: 00000000000


9 Manual Industrial Internship Project (CSE/IT)
ANNEXURE IIIA

INTRODUCTION

E –Transport Management System is a network based application software project which can
efficiently capable of managing a business organization or educational institution as passenger
transport system. At present day most of the organization have their own transport system to
move their employers to their own work places which incense improve the performance of the
organization. It can be seen that in India most of the organization transport system is manually
managed. This system has much activity to manage properly which need an efficient work force.
In the system we have different activities such as managing the transport schedule, maintain
tender to the vendor, arranging vehicle with the driver , selecting route, maintaining the customer
records, collecting monthly fees, developing pass etc.

In most of the things at present manually managed in register which is very inefficient and time
consuming and costing affair, which need more man power to maintain the system to arrange
emergency plan the system shows their inefficiency.

E – Transport Management System is an online net based user-friendly system to overcome the
above drawbacks of the existing system.

In E-TMS we have developed:-

 Customer module
 Employer module

 Supervisor module

 Vendor module

A short description/role of the above mentions modules:

 Consumer module: A user friendly interface to access transport schedule, time table in
different roots and vehicle availability. Alongwith the above mention accessibility of

XXXXXXXXX REG: 00000000000


10 Manual Industrial Internship Project (CSE/IT)
ANNEXURE IIIA

information; this interface will have an information centre regarding the vehicle booking,
change of root and cancellation.
 Employer module: To track whole management of the service this module will give a
facility to the owner of the system with user of the facility.

 Supervisor module: Managing and maintaining the application of the transport is a job
that has to be performed by the supervisor.

 Vendor module: This module will track an address, complain from customer or employer.

Modules in the Project:-

 Employee or Customer Module :-


An user friendly interface to excess transport schedule viz. Time table in different roots
and vehicle availability.
Along with the above mention accessibility of information; this interface will have an
Information Centre regarding the vehicle booking, change of root and cancellation.
Facility to register new employee or customer and a complain box is also include in this
module. This interface will give a printout of monthly pass to employee with the vehicle
time table.

 Application Manager and Transport Supervisor :-


Two functions are integrated to cut the manpower to operate the system.
Managing and maintaining the application of the transport is a job that has to perform by
the supervisor. Module will have an interface contain vehicle request and confirmation
function. Function will regulate the vehicle root and load; facility to send message or
broadcast to all or one vehicle driver is also include in this function.

 Employers :-
To track whole management of the service this module will give a facility to the owner of
the system with user of the facility. Along with maintaining the service quality this
module will also control the transport cost to regulate the scheme with exist scheme.
Interface facility include:-
Online payment to vendors’ facility
Provide request for addition or termination of vehicle for new scheme.
Maintaining drivers standard and emergency planning for different scheme.

XXXXXXXXX REG: 00000000000


11 Manual Industrial Internship Project (CSE/IT)
ANNEXURE IIIA

 Service provider /vendors :-


This module will track an address, complain from customer or employer. The interface
servicing this module ensures timely and servicing this module ensures timely and
accurate invoice generation. It ensures employees and user safety. It also maintains
vehicle maintenance, schedule and time repair.

 Report generation:-
This module has very much importance in the project to generate different report; but this
is not a functional module.
Different report that is generating by this module:-
- Details of consumer list.
- Vehicle uses list.
- Driver manifest.
- Maps and direction.
- Details of new registration, renewal, cancellation etc.
- Root addition and termination report.
- Maintenance activity report.
- New and retiring vehicle report.
- Different invoice and expenditure report.
- Actual vs. projected users and roots report.

Existing Software

At Present the whole System is manual.

Existing system was totally manual thus a great amount of manual work has to
be done, with increase in the business of the company, automation was
necessary.

With the expansion in the business, increased number of customer and


transaction has resulted in the heavy manual posting of the detail in the
concerned files.

XXXXXXXXX REG: 00000000000


12 Manual Industrial Internship Project (CSE/IT)
ANNEXURE IIIA

Major problem was the lack of security check that was must to be applied.

Finding out the detail regarding any information was very difficult.

Since the system was not-on-line, absence of any concerned person create
problem in case of any inquiry since the other person has to go through the
heavy books which is next to impossible.

In case of error, no one can help the user except that person who is handling that
portion of job.

Considering the availability of the concerned person and according to person’s


own schedule, processing was sometimes delayed for more than a month .it leads
to great financial loss.

Existing system has no systematic way since all the deal of a particular date
been posted into the concerned file as and when the deal occurs.

To convey any information regarding any changes made, through phone or post
the user to go through that thick file in order to get the address or the phone
number of the party.

DFD for present system

As stated above DFD (Data Flow Diagram) cannot be produced in such Situation.

What’s new in the system to be developed::

A Transportation Management System is a software system designed to manage transportation


operations and ensure better service, decrease routing time with optimized cost and fuel
efficiency.

XXXXXXXXX REG: 00000000000


13 Manual Industrial Internship Project (CSE/IT)
ANNEXURE IIIA

Features of the System:

 Vehicle booking including change of route and cancellations.

 Interface to register and track complaints.

 Print-out for Monthly Pass and Vehicle timetables.

 Facility to send messages/broadcast to all or one vehicle Drivers.

 Complaint management.

 Transport costs and scheme simulation.

 Planning and optimizing of transport rounds including automatic vehicle selection.

 Ensure Employees and User Safety.

 Vehicle Maintenance schedule and timely repairs.

 Reliable Monthly Vehicle Pass printing and stamp of authenticity

 Contingency Planning.

 24 X 7 availability

Users of the system:

 Employee / Customer or any User of the transport facility

 Employer or the Sponsor

 Transport Supervisors / Application Managers.

 Vendors / Service providers

 Vehicle / Cab Drivers

XXXXXXXXX REG: 00000000000


14 Manual Industrial Internship Project (CSE/IT)
ANNEXURE IIIA

PRELIMINARY INVESTIGATION:

A request to receive from information system can be made for many


reasons, but in each case someone a manager, an employee, or a system
speciation initiates the request.

When that request is made, the first system active, the preliminary
investigation begins. It was not a single person, who requested the writing &
implementation of the existing system, but it was a cumulative performance
feedback from the end user of the old user as well as forms the information
division employees.

The purpose of the preliminary investigation to evaluate the project


request.

FEASIBILITY STUDY

Feasibility is the determination of whether or not a project


is worth doing the process followed making this determination is called
feasibility study. This of determines if a project can and should be taken. Once
it has been determined that a project is feasible, the analyst can go ahead and
prepare the project specification which finalizes project requirements.
Generally, feasibility studies are undertaken within right time constraints and
normally culminate in a written and oral feasibility report. The contents and

XXXXXXXXX REG: 00000000000


15 Manual Industrial Internship Project (CSE/IT)
ANNEXURE IIIA

recommendations of such a study will be used as a sound basis for deciding


whether to proceed, postpone or cancel the project. Thus, since the feasibility
study may lead to the commitment of large resources, it becomes necessary that
it should be conducted competently and that no fundamental and that no
fundamental errors of judgment are made.

There are following types of inter-related feasibility. They are:

i) Technical feasibility
ii) Operational feasibility
iii) Economic feasibility
iv) Social feasibility
v) Management feasibility
vi) Legal feasibility
vii) Time feasibility

Technical feasibility:

This is concerned with specifying equipment and software


and hardware that will successfully satisfy the user requirement. The technical
needs off the system may vary considerably, but might include:

 The facility to produce output in a given time.


 Response time under certain conditions.
 Ability to process a certain volume of transaction at a particular speed.
 Facility to communicate data to distant location.

In examining technical feasibility, configuration of the system is given


more importance than the actual make of hardware. The configuration should

XXXXXXXXX REG: 00000000000


16 Manual Industrial Internship Project (CSE/IT)
ANNEXURE IIIA

give the complete picture about the system requirements. What speeds of input
and output should be achieved at particular quality of printing.

According to the definition of technical feasibility the compatibility


between front-end and back-end is very important. In our project the
compatibility of both is very good. The degree of compatibility of Visual C# and
SQL server 2005 is very good. The speed of out put is very good when we enter
the data and click button then the response time is very fast and give result very
quickset. I never find difficulty when we use complex query or heavy
transaction. The speed of transaction is always smooth and constant. This
software provides facility to communicate data to distant location.

We use Visual C# The designing of front-end of any project is very important so


we select Visual C# as front-end due to following reason:

 Easy implementation of code.


 Well define interface with database.
 Well define hand shaking of SQL server 2005.
 Easy debugging.
At present scenario the no. of backends are available but I have selected
SQL server 2005 because of the following number of reasons.

 Able to handle large data.


 Security.
 Robust RDBMS.
 Backup & recovery.

With the help of above support we remove defect of existing software. In future we can
easily switch over any plate form. To ensure that system does not halt in case of

XXXXXXXXX REG: 00000000000


17 Manual Industrial Internship Project (CSE/IT)
ANNEXURE IIIA

undesired situation or events. Problem effected of any module does not effect any module
of the system. A change of hardware does not produce problem.

Operational Feasibility:

It is mainly related to human organizational and political aspects. The points


to be considered are:

 What changes will be brought with the system?


 What organization structures are disturbed?
 What new skills will be required? Do the existing staff members have
these skills? If not, can they be trained in due course of time?

At present stage all the work is done by manual. So, throughput and response
time is too much. Major problem is lack of security check that was must to be
applied. Finding out the detail regarding any information was very difficult. In
case of any problem, no one can solve the problem until the master of this field
is not present.

I will not change the structure of organization. I will deliver a system that
will look like a current structure of organization. But the system, which is,
delivered by me removes all the overheads. All the computational work will be
done automatically in our system. Response time is very quick.

Now, we will explain the last point of operational feasibility. If employees


of company know about Basic computer operation then the training of this
software is not a difficult task.

Economic feasibility:

XXXXXXXXX REG: 00000000000


18 Manual Industrial Internship Project (CSE/IT)
ANNEXURE IIIA

Economic analysis is the most frequently used technique for


evaluating the effectiveness of a proposed system. More commonly known as
cost/benefit analysis: the procedure is to determine the benefits and saving that
are expected from a proposed system and compare them with cost. If a benefit
outweighs cost, a decision is taken to design and implement the system.
Otherwise, further justification or alternative in the proposed system will have
to be made if it is to have a chance of being approved. This is an ongoing effort
that improves in accuracy at each phase of the system life cycle.

hence the engineer will not find any difficulty at the installation time and after
installation user also newer find difficulty i.e. hang, slow speed or slow
response time. One project is compulsory for each student this project is either
dummy or live. If I am developing a live project then it gives a lot of
confidence. It is better for me and for company because, I am developing a
system with out any money. So every thing is in favor now, I can say the cost of
this software is I think negligible.

Hence the economical feasibility is very good.

PROCESS MODELING:

After defining the data in data modeling phase. I have transformed the
data to achieve the necessary information for implementing a business function.
Processing descriptions are created for adding, modifying, deleting, or
retrieving a data object.

Application generation:

XXXXXXXXX REG: 00000000000


19 Manual Industrial Internship Project (CSE/IT)
ANNEXURE IIIA

RAD assumes the use of fourth generations. Rather than


creating software using conventional third generation programming language the
RAD process works to reuse existing program components or create reusable
component. In all cases automated tools are used to facilitate construction of the
software.

Testing and turnover:

In the project process emphasizes reuse, many of the program components must
be tested and all interfaces must be fully exercised.

Project Plan:

The estimated tie for the development of this project is 150 Days.

It is described by Gantt chart and Pert Chart. The Software development life cycle will be
followed while developing the software.

GANTT CHART::

XXXXXXXXX REG: 00000000000


20 Manual Industrial Internship Project (CSE/IT)
ANNEXURE IIIA

Gantt Chart:
Days

Activity / Tasks 15 30 45 60 75 90 105 120 135 150

System Analysis

5
System study

Investigation 7

5
Data collection

Design
7
Consumer
7
Vendor
7
Employer

Supervisor 7

Coding
60
Coding The Task

Testing

Testin g Th e Sy stem 30

Documentation
15
Overall Finalisation

PERT CHART::

XXXXXXXXX REG: 00000000000


21 Manual Industrial Internship Project (CSE/IT)
ANNEXURE IIIA

Pert Chart: 3
6 7
7 Consumer Unit Testing
15
System Investigation
Design
7 8
3 9
15
2 5 17 4 Supervisor Unit Testing
Coding
7 3
10 11 15
5 7 7 Employer Unit Testing
14 117
15
3 13
12 18
1 0 3 12
Unit Testing
Vendor
System Analysis 135
Data Collection
15
10
Testing
145
150
5 5
Documentation 16
Implementation

SRS(SOFTWARE REQUIREMENT SPECIFICATION)

XXXXXXXXX REG: 00000000000


22 Manual Industrial Internship Project (CSE/IT)
ANNEXURE IIIA

OBJECTIVE::

The e-Transport Management System is a web-based application which is very useful and a
faster process of managing the transport system in an Institute or any other business organization.

This web-based application is developed as per developing technology to meet the needs and
requirements of the people in the Organisation.

This whole system is known as e-Transport Management System. This System will use the latest
technologies in order to manage the transportation system of an organization.

It will have different modules and these modules will be synchronized with each other to make a
quick, efficient and user- friendly system.

It will have all the informations including vehicle booking, change of route, cancellation of pass.
It will also have facility to register new employees and give provisions to create monthly,
quarter-monthly and yearly pass along with vehicle time table. It will also have facility to send
message about change of route and timings of transport to the drivers and passengers.

The owner of the system will be the administrator and he can have a complete access to the
system. Also the vendors who will supply vehicles on different routes can also have access to the
system.

XXXXXXXXX REG: 00000000000


23 Manual Industrial Internship Project (CSE/IT)
ANNEXURE IIIA

=>Environmental characteristics :-

Minimum system requirements :- windows NT/2000 or higher

Physical memory :- 512 MB

Processor :- Pentium 4 or AMD

Sempron or higher.

Secondary memeory :- minimum 80 GB

Software Environment:- DBMS :- SQL server 2005

Windows visual developer IIS 2008

Front End Developer Version:- Microsoft ASP .NET

=>Hardware Peripherals :- 3 –personal computers with above

configurationfor the following three entities :

#Supervision

#Employer

#vendor

1 scanner and printer .

Three computer skilled person.

Functional Requirements:-

Consumer module :- with following task

=>Employee on consumer registration.

XXXXXXXXX REG: 00000000000


24 Manual Industrial Internship Project (CSE/IT)
ANNEXURE IIIA

=>Consumer bill payment

=>Pass genenration

=>Vehicle booking in particular route

=>Viewing transport scheduling with vehicle availability

=>Placing complain.

Supervision module:- with following tasks

=>Vehicle allocation and route optimization (maintain scheduling)

=>Facility to send message to vehicles driven and consumers

=>Maintaining transport round by automatically selecting vehicle

Owner or Employer Module:- with following tasks

=>Tracking the usage of service and the user

=>Measuring Service Quality and complain management

=>Transportation cost and Scheme planning

=>Online payment to Vendor

=>Emergency Planning

Vendor or Service Provider Module:- with following tasks

=>Ensure Timely and accurate invoice generation for the service

=>Ensure user and employer safety

=>Vehicle maintainence scheduling and timely repair

Non-Functional Requirements::

XXXXXXXXX REG: 00000000000


25 Manual Industrial Internship Project (CSE/IT)
ANNEXURE IIIA

=>24 X 7 availability of the system as well as the management of the system.

=>Secure Access control over the system for better protection

=>Error Correction- Ensure users can correct errors with minimal problems . If source and
destination are somehow slightly mis-stated, then correction would be easy.

=>Double confirmation from users before booking/altering or cancelling vehicle Pass.

=>Reliable Pass printing and providing Stamp of Authentication.

Goals of implementation:-

->Reliable and low cost system

->Secured and timely available system.

->User friendly and easy interface to the consumer

->Message passing for current vehicle position during emergency.

->Up gradation of the current system as per developing technology.

->Work load reduced and process becomes fast and sophisticated.

XXXXXXXXX REG: 00000000000


26 Manual Industrial Internship Project (CSE/IT)
ANNEXURE IIIA

DESIGN::

The Design of the System along with DFD, ER-Diagram and Data Dictionary are described as
follows:-

Context Diagram:
A context diagram is data flow diagram by which the whole system is modeled
by one process. It shows all the external entities that interact with the system
and the data flows between these external entities and the system.

Actually the system shown by the context diagram does not describe the
system in details. For more details it is necessary to identify the major system
process and draw a data flow diagram made up of these processes and the data
flow between them. Such a diagram is called a Top-Level DFD. We can go on
expanding each process of the top-level DFD into a more detailed DFD.

CONSUMER SUPERVISOR

E-TMS

ACCOUNT EMPLOYER

VENDOR

CONTEXT DIAGRAM

XXXXXXXXX REG: 00000000000


27 Manual Industrial Internship Project (CSE/IT)
ANNEXURE IIIA

DATA FLOW DIAGRAM:-

The data flow diagram is a graphical representation tool, which has the
purpose of clarifying system requirements and identifying major transformation
that will become programs in the system design. A DFD consists of a series of
bubble joined by the lines. The bubbles represent data transformations and lines
represents data flows in the system. It depicts the information flow and
transformation that occurs as data moves from input to output. The DFD
provides a mechanism for functional modeling as well as information flow
modeling.

XXXXXXXXX REG: 00000000000


28 Manual Industrial Internship Project (CSE/IT)
ANNEXURE IIIA

Consumer:
1st level DFD Consumer Module :

Complaint
New Entry
Access
Record
Consumer

Register
Consumer
Complaint
Enquiry
New Entry

Enquiry
Places Complaints
Registration

New
CONSUMER Registr-
-ation
Selects T Schedule
Access Data

Pays

Access
Route
Selection
Route
Gets Bill

Process

Update
Bill Accounts
Printed t o Customer

Update Bill

Process
Access update
pass

Pass New pass Enroll

XXXXXXXXX REG: 00000000000


29 Manual Industrial Internship Project (CSE/IT)
ANNEXURE IIIA

1st level DFD Employer Module :

Consumer Veh_Invoice

Solution
Access
Data

Access/
Manage Vendor
Access Vendor
Data Place
Invoice
Access
Record
Receive
Complaint Payment Update

Access
Complaint
Process
Bill

Provides
Solution

Update
Pay
Pay
Invoice

Accounts
Employer

Simulate
Cost

Cost Update
Measurement Route Tariff

XXXXXXXXX REG: 00000000000


30 Manual Industrial Internship Project (CSE/IT)
ANNEXURE IIIA

1st level DFD for Supervisor Module :

T Schedule
Update

Supervisor

Process
Allot
Processes
Transport Vehicle
Schedule
Select Route

Broadcast
Message

Route
New Creation

Message To
Passing

Driver

To
Consumer

XXXXXXXXX REG: 00000000000


31 Manual Industrial Internship Project (CSE/IT)
ANNEXURE IIIA

1st level DFD for Vendor Module :

Vendor

Generate
Invoice
Invoice
Put/delete

Maintains

Invoice
Process

Access Previous
Data

Vehicle Veh_Maintenance
Maintenance

Maintains & update

XXXXXXXXX REG: 00000000000


32 Manual Industrial Internship Project (CSE/IT)
ANNEXURE IIIA

2nd level DFD Supervisor Module :

T Schedule
Access
data
Supervisor
Enquiry
Update

Transport
Schedule
Enquiry

Route
Enquiry

Route
Optimization
Update

Access
Route

XXXXXXXXX REG: 00000000000


33 Manual Industrial Internship Project (CSE/IT)
ANNEXURE IIIA

2nd level DFD Enployer Module :

Enquire
Bill

Access Data

Bill
Processing Veh_Invoice
Update/delete

2nd level DFD Vendor Module :

Invoice
Enquiry

Access

Invoice
Modification Veh_Invoice
Update

XXXXXXXXX REG: 00000000000


34 Manual Industrial Internship Project (CSE/IT)
ANNEXURE IIIA

ENTITY RELATIONSHIP MODEL:-

Entity relationship model is a high level conceptual data model. It


consists of a concise description of the data requirements of the user and
includes a detailed description of the entity types, relationships and constraints.
These concepts don’t include implementation details. They are easier to
understand and can be easier to understand and to communicate with non-
technical users. This approach enables designers to concentrate on specifying
the contents of the data without being concerned with storage details.

We now review the full E R diagrams notation. The entity types are
shown in the rectangular boxes. The relationship types are shown in the diamond
shaped boxes attached to the participating entity types with straight lines.
Attributes are shown in ovals and a straight line attaches each attributes to its
entity type or relationship type. Component attributes of a composite attributes
are shown in double ovals. Key attributes have their names underlined. Derived
attributes are shown in dotted ovals. Weak attributes are distinguished by being
placed in double diamonds. The partial key of the weak entity types are
underlined with dotted lines.

The cardinality ratio of each binary relationship types is specified by


attaching a 1,M or N on each participating edge. The participating constraint is
specified by a single line for partial participating and by double lines for total
participations.

XXXXXXXXX REG: 00000000000


35 Manual Industrial Internship Project (CSE/IT)
ANNEXURE IIIA

ER- Model :

Credit_card C_reg_no DOI Valid_upto


C_reg_no Address Deptt Duratio n
Bill_no Category
Nam e Desi gnat ion
Reg_fee
Pass_no C_reg_no
1 1 1 1
BILL Pays CONSUMER Prints PASS

M 1 1
M

Amount Rout e_tariff


Adopt On Route_no
Re gister s
1 Distance
Nam e 1

To Contact ROUTE
Address
1 M
1
Description
E-TM S

1
C_bal O_bal
Ma na ge

1 y
rv is ed b
Su p e Address

ACCOUNTS
M Cont _No
1 Nam e
Manage 1
Dat e

SUPERVISOR
Regulates 1 1
Nam e

1
Address Runs on
1
maintains
Pay EMPLOYER

Cont _No ul ate


Re g
M
T SCHEDULE

Rout e_no

1 Veh_no
St opage
VEH INVOICE
AT DT M 1
1
VEHICLE
In
v oi c M
e to V_id
Invoice_No
ed by
Prov id
Dat e 1
Tot al 1
VENDOR Veh_No.
Veh_id
V_id Dri ver

Name Proprietor
Nam e Cont _No.

Address Cont _No


Address

XXXXXXXXX REG: 00000000000


36 Manual Industrial Internship Project (CSE/IT)
ANNEXURE IIIA

DATA DICTIONARY::

The term Data Dictionary and Data Repository are used to indicate a more general software
utility than a catalogue. A Catalogue is closely coupled with the DBMS Software; it provides the
information stored in it to user and the DBA, but it is mainly accessed by the various software
modules of the DBMS itself, such as DDL and DML compilers, the query optimiser, the
transaction processor, report generators, and the constraint enforcer. On the other hand, a Data
Dictionary is a data structure that stores meta-data, i.e., data about data. The Software package
for a stand-alone Data Dictionary or Data Repository may interact with the software modules of
the DBMS, but it is mainly used by the Designers, Users and Administrators of a computer
system for information resource management. These systems are used to maintain information on
system hardware and software configuration, documentation, application and users as well as
other information relevant to system administration.

The data Dictionary consists of record types (tables) created in the database by systems
generated command files, tailored for each supported back-end DBMS. Command files contain
SQL Statements for CREATE TABLE, CREATE UNIQUE INDEX, ALTER TABLE (for
referential integrity), etc., using the specific statement required by that type of database.

XXXXXXXXX REG: 00000000000


37 Manual Industrial Internship Project (CSE/IT)
ANNEXURE IIIA

DATA STRUCTURE (TABLES) OF MODULES:

CONSUMER MODULE::

Consumer::

Field Name Data Type Length Constraints

Reg_No Number 5 Primary Key

Name Varchar 50

Address Varchar 100

Deptt Varchar 20

Designation Varchar 20

Contact_No Number 15

Email Number 30

Photo File 1000

Bill::

Field Name Data Type Length Constraints

Bill_No Number 10

Reg_No Varchar 5 Primary Key

Route_Tariff Varchar 100

Credit Card_No Varchar 20

Amount Varchar 50

Pass::

XXXXXXXXX REG: 00000000000


38 Manual Industrial Internship Project (CSE/IT)
ANNEXURE IIIA

Field Name Data Type Length Constraints

Reg_No Number 5 Primary Key

Category Varchar 10

Date of Issue Varchar 100

Route_No Varchar 50

Valid_Upto Varchar 50

Accounts::

Field Name Data Type Length Constraints

Date Number 5 Primary Key

Opening_Balance Varchar 100

Closing_Balance Varchar 100

Complain::

Field Name Data Type Length Constraints

E_No Number 5 Primary Key

Source Varchar 100

XXXXXXXXX REG: 00000000000


39 Manual Industrial Internship Project (CSE/IT)
ANNEXURE IIIA

Subject Varchar 100

Description Varchar 100

Date Number 10

Consumer Password::

Field Name Data Type Length Constraints

User_ID Number 5 Primary Key

Password Varchar 100

SUPERVISOR MODULE

Schedule::

Field Name Data Type Length Constraints

Route_No Number 10 Primary Key

Stops Varchar 10

Tariff Varchar 100

XXXXXXXXX REG: 00000000000


40 Manual Industrial Internship Project (CSE/IT)
ANNEXURE IIIA

Veh_No Varchar 10

Arrival_Time Varchar 10

Dept_Time Varchar 10

Route::

Field Name Data Type Length Constraints

Route_No Number 10 Primary Key

Distance Number 10

Station::

Field Name Data Type Length Constraints

Route_N0 Number 10 Primary Key

Start_Name Varchar 10

Arrival_Time Varchar 10

Dept_Time Varchar 10

Supervisor::

XXXXXXXXX REG: 00000000000


41 Manual Industrial Internship Project (CSE/IT)
ANNEXURE IIIA

Field Name Data Type Length Constraints

Name Varchar 10 Primary Key

Address Varchar 10

Contact_No Number 15

Supervisor Password::

Field Name Data Type Length Constraints

User_ID Number 5 Primary Key

Password Varchar 100

EMPLOYER MODULE::

Invoice::

Field Name Data Type Length Constraints

Invoice_No Number 10 Primary Key

Emp_Name Varchar 50

Vendor_Id Number 100

Date Number 10

Total Number 50

Emp_A/C Number 20

Vendor_A/C Number 20

XXXXXXXXX REG: 00000000000


42 Manual Industrial Internship Project (CSE/IT)
ANNEXURE IIIA

Employer Password::

Field Name Data Type Length Constraints

User_ID Number 5 Primary Key

Password Varchar 100

VENDOR MODULE::

Vehicle::

Field Name Data Type Length Constraints

Vehicle_ID Number 10 Primary Key

Veh_No Number 50

Route_No Number 10

Driver_ID Number 10

Category Varchar 20

Capacity Number 10

Driver::

Field Name Data Type Length Constraints

Driver_ID Number 10 Primary Key

XXXXXXXXX REG: 00000000000


43 Manual Industrial Internship Project (CSE/IT)
ANNEXURE IIIA

Name Varchar 10

Address Varchar 100

License_No Number 10

Category Varchar 20

Vendor::

Field Name Data Type Length Constraints

Vendor_ID Number 10 Primary Key

Name Varchar 20

Address Varchar 100

Contact_No Number 10

Vehicle_Service::

Field Name Data Type Length Constraints

Vehicle_ID Number 10 Primary Key

Prv. Service_Date Number 10

Expected_Srvc Date Number 10

Condition Varchar 10

Vendor Password::

Field Name Data Type Length Constraints

User_ID Number 5 Primary Key

XXXXXXXXX REG: 00000000000


44 Manual Industrial Internship Project (CSE/IT)
ANNEXURE IIIA

Password Varchar 100

DEVELOPING LAW’S OF SOFTWARE:

There are following point must be considering at the development phase:

 performance requirement
 exceptional handling
 acceptance criteria
 design hints and guidelines

PERFORMANCE REQUIREMENTS
The following performance characteristics were taken care of in developing the
systems:

User Friendliness:

The system is easy to learn and understand. A native user can also
use the system effectively, without any difficulty.

User satisfaction: The system is such that it stands unto the user ’s expectation.

Response time:

The response time of all the operations is very low. This has
been made possible by careful programming.

Error handling:

Response to user errors and undesired situations has been


taken care of to ensure that the system operations without halting in case of such
situation and proper are given to user.

XXXXXXXXX REG: 00000000000


45 Manual Industrial Internship Project (CSE/IT)
ANNEXURE IIIA

Safety:

The program is able to avoid catastrophic behavior.

Robustness:

The system recovers from undesired events without human


intervention.

Security:

This system provides protection of information through the mechanism


of password which is incorporated in it. Therefore only authorized people can
access the databases.

To validations:

This results in a thorough testing of the details, and the system is


such that likely to changes and modifications can be easily incorporated in it.

Portability:

The system can move to a new hardware/ operating system


after making minor modifications to it.

Exception handling:

To ensured that the system does not halt in case of undesired


situation or events exception conditions are taken care of providing the
corresponding exception responses while developing the system

CODE EFFICIENCY:

Due to modular concept of visual basic this software also


inherits this concept in the coding. Most of codes are efficient enough to

XXXXXXXXX REG: 00000000000


46 Manual Industrial Internship Project (CSE/IT)
ANNEXURE IIIA

perform quick, accurate retrieval of data, validation and showing outputs. In this
software, most of codes are used which were designed and tested by famous
vendors, such as, Microsoft, Crystal Corporation etc. We have used active x
technology which help user and vendor to design a software which provides
better, accurate design and reusability code, such as, ADO Data Mining
technology.

CODE OPTIMIZATION:

Most of codes are reused to reduce repeated coding and the result set are reused
where needed due to its modular concept, it is possible to reduce coding. The are
following points represent the code optimization.

 use of modules
 fixed type variable
 short and meaning full name
 disconcerted record
 connection established once
 in built function
 different scope of variable for different purpose
 maximum use of independent procedure
 use of function
 function

Use of Module

With the help of module we avoid the repetition of code.

Fixed Type Variable

I am using fixed type variable not a variant for example: when we


want input date I have used date picker in numeric value, use integer or float,
for character use string.

XXXXXXXXX REG: 00000000000


47 Manual Industrial Internship Project (CSE/IT)
ANNEXURE IIIA

Short and Meaning Full Name

I have use short and meaning full name for example name for name
add for address etc.

Disconnect Record

The disconnection of record set close with in its scope because it


may produce some error.

In Built Function

I have used in built function of Visual Studio. I.e. input box,


textbox etc.

Procedure

I have used procedure i.e. fetch the record, clear the text or caption
etc.

VALIDATION CHECKS:

I have use following type of checks:

i) data type
ii) length
iii) constraints
iv) blank field
v) format

Data type:

I have use character type for character, number for numeric, and
date for date type. No numeric field insert in date. Character never inputted in
numeric field as phone no never accept character if any person input wrongly
give message. When this problem is removed then user perform further operation

XXXXXXXXX REG: 00000000000


48 Manual Industrial Internship Project (CSE/IT)
ANNEXURE IIIA

Length:

When we define a max length. Then it never accepts more data .for
example if I define numeric length is 5 then it store either equal to length or less
than length. If user gives more character than required then display message and
stop processing.

Constraints:

In this I am defining range of data if data is less than then display error
with message. For example code of product is four character purchase. At sale
item Mentor code is 21 characters. The field of date must be 8 character.

Blank field:

When users add data and some field is blank then it display message
without halt, But stop processing.

Format:

The pre define format is used not change daily to daily for example
format of date DDMMYYYY: 01012002 is used in all date type field. If user
inserts an other format then display message.

XXXXXXXXX REG: 00000000000


49 Manual Industrial Internship Project (CSE/IT)
ANNEXURE IIIA

TESTING TECHNIQUE AND TESTING STRATEGIES:

There are following rules that can serve well as testing objectives:

i) Testing is a process of executing a program with the intent of


finding an error.
ii) A good test case is one that has a high probability of finding an as-
yet-undiscovered error.
iii) A successful test is one that uncovers as-yet-undiscovered error.
There are two types of testing techniques:

i) White box testing.


ii) Black box testing.
White box testing:

White box test focus on the program control structure. Test


cases are derived to ensure that all statement in the program has been executed
at least once during testing and that all logical condition has been exercised.
Basic path testing, a white box testing, makes use of program graph to derive the
set of linearly independent test that will ensure coverage.

Cyclomatic Complexity:

This is software metric that provides a quantitative


measure of the logical complexity of a program.

Cyclomatic Complexity can be defined as.

V (G) =P+1

XXXXXXXXX REG: 00000000000


50 Manual Industrial Internship Project (CSE/IT)
ANNEXURE IIIA

Condition Testing:

Condition testing is tests case design method that exercise the


logical conditions contain in a program module. a simple condition is a Boolean
variable or a relational expression.

Branch Testing:

I have used Branch testing is probably the for compound


condition, the true and false (in project i.e. null values) for each branch.

Data Flow Testing:

I have used data flow testing due to check the path of


program according to the locations of definitions and uses of variables in the
program.

Loop Testing:

In our project I have use only simple loop. And I have use m pass
through the loop where m<n.

BLACK BOX TESTING:

Black box testing focuses on the functional


requirements of the software. That is, black-box testing enable the software
engineer to derive set of input conditions that will fully exercise all functional
requirements for a program.

Black-Box testing attempts to find errors in following categories:-

XXXXXXXXX REG: 00000000000


51 Manual Industrial Internship Project (CSE/IT)
ANNEXURE IIIA

 In correct or Missing function


 Interface Error
 Errors in data structures or external data base access.
 Performance Error
 Initialization and termination errors

Graph-Based Testing Method:

I have used graph-based testing method for


removing errors associated with relationships. The first step in this testing is to
understand the objects that are modeled in software and the relationship that
connect these objects.

Equivalence Partitioning:

This testing is used for the following reason:

i) specific numeric values


ii) range of values
iii) set of related values
iv) Boolean condition
For example

Check in phone number, code generation, account type, bill type, password etc.

Boundary Value Analysis:

Boundary value analysis is a test case design technique


that complements equivalence partitioning. Rather than selecting any element of
equivalence class the selection of test cases at the edges of the class. Rather
than focusing solely on the input condition,

The point of equivalence partitioning as;

XXXXXXXXX REG: 00000000000


52 Manual Industrial Internship Project (CSE/IT)
ANNEXURE IIIA

1) An input condition specifies a range boundary by values a and b, test


cases should be design with values a and b and just above and just below a
and b.
2) An input condition specific a number of values, test cases should be
developed that exercise the minimum and maximum number.

TESTING STRATEGIES

System testing

During system testing the system is used experimentally to ensure


that the software does not fail i.e. it will run according to its specifications and
in the way users expect. Special test data are input for the processing and the
results examine. A limited number of users try to use it in unforeseen ways. It is
preferable to discover any surprise before the organization implements the
system and depend upon it.

In many organizations persons other than those who wrote the original
programs to ensure more complete and unbiased testing and more reliable testing
perform testing.

The norms that were followed during the phase were that after the developer of
the software has satisfied regarding every aspect of the software under
consideration he is required to release the program source code. A setup name
release is used to copy the name file from the developers’ user area to a project
area in the directory named with developer user name. Here all the final testing
used to be done by persons other than the developer himself .if some changes
were desired in the program the developer were required to use another setup.
Retrieve, which copied back the latest version of the program to developer
areas.

XXXXXXXXX REG: 00000000000


53 Manual Industrial Internship Project (CSE/IT)
ANNEXURE IIIA

As in this system data is entered at different levels I considered providing


various types of checks like range check, validity check, completeness check
etc. in different data entry screens according to the requirements.

Since the user are not familiar to the new system the data screens were designed
in such a way that were-.

 consistent
 easy to use
 has a fast response time
The following convention were used while designing the various screen:

Unit testing:

In unit testing I have testing a single program module in an isolated


environment. Testing of the processing procedures is the main focus.

Integration testing:

Because of interfaces among the system modules, we use integration


testing. In other word’s it ensures that the data moving between the modules is
handled as intended.

System testing:

System testing is the testing of the system against its initial


objective. It is done either in a simulated environment or in live environment.

Test review:

Test review is the process that ensures that testing is carried out as
planned. Test review decides whether or not the program is ready to be shipped
out for implementation

Security Testing:

Security testing attempt to verify that protection mechanism


built into a system will, in fact, protect it from penetration mechanisms.

XXXXXXXXX REG: 00000000000


54 Manual Industrial Internship Project (CSE/IT)
ANNEXURE IIIA

System implementation
Implementation is the process of having system personnel
check out and put new equipment into use train users install the new application
and construct any files of data needed to use it.

Depending on the size of the organization that will be involved in using the
application and the risk associated with its use developers may choose

To pilot the operation in only one area of the firm say in one department or with
only one or two persons. Sometimes they will run the old and new systems
together to compare the results. In still other situations developers will stop
using the old system one-day and begin to use the new one the next day. Anyway
each implementation strategy has its merits

Depending on the business situation in which it is considered. Regardless of the


implementation strategy used developers strive to ensure that the systems
initially used are trouble free.

Once installed applications are often used for many years. However both the
organization and the user will change and the environment will be different over
weeks and months. Therefore the application will be different over weeks and
months. Therefore the application will undoubtedly have to be maintained.
Modifications and changes will be made to software, files or procedures to meet
emerging user requirements. Since organization systems and the business
environment undergo continual change, the information systems should keep
pace. In this sense implementations an ongoing process.

USER TRAINING

Users of the proposed system had already the feel of the


system during the development stages. They were given user documentation,

XXXXXXXXX REG: 00000000000


55 Manual Industrial Internship Project (CSE/IT)
ANNEXURE IIIA

which gave them the exact steps to be performed for getting their job done
starting from getting the terminals on. Most of the users were quick to get their
job done in a right way after the very first training class. They were given the
explicit advantages of the new system and also the areas it was having
shortcomings.

After this was the stabilizing the system as the users started to give
in new suggestions and requirements. For us the maintenance phase had begun.

SYSTEM EVALUATION

Evaluation of the system is performed to identify its strengths and


weakness.

Operational evaluation

In this assessment of the manager in which the system functions


including ease of use, response times, suitability of information formats, overall
reliability and level of utilization is undertaken.

All the above aspects were very well taken into considerations from the
very beginning. They don’t have to keep checking the status of the job they are
doing, since every job is on-line and all information and messages flash at
screen.

The reliability of the billing, voucher entry is very high and till writing
of this document, the system hadn’t ever failed. All the recovery methods are
well written, even if something exceptional occurs it that user has a way to come
out of the undesirable situation and carry on the work. The committing takes
place when everything goes normal.

Organizational impact:

XXXXXXXXX REG: 00000000000


56 Manual Industrial Internship Project (CSE/IT)
ANNEXURE IIIA

It includes identification and measurement of benefits to the organization


in such areas as financial concerns (cost, revenue, profit), operational
efficiency, and competitive impact. Also includes impact on internal and
external informational flows. The rewriting of the applications on new platform
of course had cost a fortune to the company, however in the long term planning
it will certainly prove beneficial.

Since the response time and throughput has increased by manifolds, the
processing would increase, hence resulting in more profit for the company
specially with the increase in the ease in processing the M&SS can schedule
their manpower accordingly rather than trying up personnel for specific
applications. This will rejuvenate and boost the morale of the users.

User management assessment

This includes evaluation of the attitudes of


senior and user managers within the organization as well as end users.

Everybody has heaped accolades to the system for giving a reliable, fast
improvised with lot of ease in using system. Overall the system has changed the
users working style and their throughput.

Development performance
It includes evaluation of the development of process in
accordance with such yardsticks as overall development time and effort,
conformance to budgets and standards, and project management criteria.
Includes assessment of development methods and tools.

By all means our development performance was fairly good as the


project was completed within budgets and there was no schedule slippage, target
date was met, all along the standards that were followed were consistent.

IMPLEMENTATION:

XXXXXXXXX REG: 00000000000


57 Manual Industrial Internship Project (CSE/IT)
ANNEXURE IIIA

INPUT SCREENS:

OUTPUT SCREENS:

CODING:

XXXXXXXXX REG: 00000000000


58 Manual Industrial Internship Project (CSE/IT)
ANNEXURE IIIA

Post-Implementation and Software Maintenance:

Scope of future Enhancement:

The Software is aimed to withstand the growing culture of Internet. With an


enhance Transport management system and great support for maintaining client
client/service provider information, this software is all set to be used by the
BPO/Institutions or large Organizations with lot of Staffs and Clients. Each
module is so flexible that it can be easily modified to be used by other kinds of
organizations.

It is unreasonable to consider a computer based information


system complete or finished; the system continues to evolve throughout its life
cycle, even if it’s successful. It is the case with” Transport System” too. Due to
the creative nature of the design, there remain some lapses inaccurate
communications between the users and the developers. So, certain aspects of the
system must be modified as operational experience is gained with it. As users
work with the system, they develop ideas for change and enhancements.

CONCLUSION:

The E-Transport Management System is looking forward to a more


efficient and streamlined processing system and better coordination between
customers and the Firm to desired results in terms of quality, service, profits,
market, share and competitive ness.

XXXXXXXXX REG: 00000000000


59 Manual Industrial Internship Project (CSE/IT)
ANNEXURE IIIA

MAINTENANCE:

Maintenance of the project is very easy due to its modular design


and concept any modification can be done very easily. All the data are stored in
the software as per user need & if user wants to change he has to change that
particular data, as it will be reflected in the software everywhere. Some of the
maintenance applied is: -

1. BREAKDOWN MAINTENANCE:-
The maintenance is applied when an error occurs & system
halts and further processing cannot be done .At this time user can view
documentation or consult us for rectification & we will analyze and change the
code if needed. Example: - If user gets an error “report width is larger than
paper size” while printing report & reports cannot be generated then by viewing
the help documentation & changing the paper size to ‘A4’ size of default printer
will rectify the problem.”

2. PREVENTATIVE MAINTENANCE: -

User does this maintenance at regular intervals for smooth


functioning (operation) of software as per procedure and steps mentioned in the
manual.

Some reasons for maintenance are: -

(a) Error Correction: - Errors, which were not caught during testing, after
the system has, been implemented. Rectification of such errors is called
corrective maintenance.
(b) New or changed requirements:- When business requirements changes
due to changing opportunities.
(c) Improved performance or maintenance requirements: - Changes that is
made to improve system performance or to make it easier to maintain in

XXXXXXXXX REG: 00000000000


60 Manual Industrial Internship Project (CSE/IT)
ANNEXURE IIIA

the future are called preventive maintenance. Advances in technology


(Adaptive maintenance): - Adaptive maintenance includes all the changes
made to a system in order to introduce a new technology.

SECURITY MEASURES:-

The security measures imposed in the software are:

(1) A login password is provided in the software. User must login to activate the
application.

(2) User cannot change the password. To change password he must contact the
administrator.

(3) Data security, correctness integrity is checked up before saving, update or


delete if errors found the procedure is aborted.

(4) A primary key & foreign key concept is implemented for avoiding incorrect
data entry or intentional or accidental delete or modification of data.

(5) When user tries to delete the data then this first check for its reference used
by other data, if found the deletion aborted.

(6) I am also providing various securities at user level or at forms.

XXXXXXXXX REG: 00000000000


61 Manual Industrial Internship Project (CSE/IT)
ANNEXURE IIIA

COST ESTIMATION OF THE PROJECT

For a given set of requirements it is desirable to know how much it will cost to
develop the software to satisfy the given requirements, and how much time
development will take. These estimate are needed before development is
initiated .The primary reason for cost and schedule estimation is to enable client
or developer to perform a cost benefit analysis and for project monitoring and
control .A more practical use of these estimates is in bidding for software
projects, where the developers must give cost estimates to a potential client for
the development contract. For a software development project, detailed and
accurate cost and schedule estimate are essential prerequisites for managing the
project. Otherwise, even simple question like “Is the project late”, “Are there
cost overruns”, and “when is the project likely to complete” cannot be answered.
Cost and schedule estimate are also required to determine the staffing level for a
project a deferent phase. it can be safely said that cost and schedule estimates
are fundamentals to any form of management and are generally always required
for a project.

Cost in a project is due to requirement for software, hardware, and


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

XXXXXXXXX REG: 00000000000


62 Manual Industrial Internship Project (CSE/IT)
ANNEXURE IIIA

The estimation of cost of the project is a difficult task but we can


estimate the cost of the project by various methods. I am using the COCOMO
(Constructive Cost Model). The model has following hierarchy:-

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

Model 2:- The intermediate COCOMO model computer software development


effort as a function of program size and a set of “cost drivers” that include
subjective assessments of product, hardware personal and project attributes.

Model 3:- The advance COCOMO model incorporate all characteristics of the
intermediate version with an assessment of the cost drivers impact on each step
(analysis, design etc.) of software engineering process.

The COCOMO models are defined for three classes of software


projects are:-

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

2)Semidetached Mode:- An intermediate(in size and complexity)software


project in which teams with mixed experience levels must meet a mix of rigid
and less than rigid requirements.

3) Embedded Mode:- A software project that must developed within a set of


tight hardware ,software and operational constraints.

The basic COCOMO equation takes the form.

E = a b KLOC b b

XXXXXXXXX REG: 00000000000


63 Manual Industrial Internship Project (CSE/IT)
ANNEXURE IIIA

D = CbEdb

When E is the effort applied in person months, D is the development time in


chronological month KLOC is the estimated number of delivered lines of code
for the project.(Express in thousands).The coefficients a b and c b and the
exponent b b and d b where taken as.

The project is an organic project so :-

ab = 2.4

bb = 1.05

cb = 2.5

db = 0.38

LOC = 1555

KLOC = 1555/1000 =1.555

E = 2.4(KLOC) 1 . 0 5

= 2.4(1.555) 1 . 0 5

= 3.84

= 4 person-month

Now calculate the D is the development time in chronological months

D = 2.5 E 0 . 3 5

= 2.5(4) 0 . 3 5

XXXXXXXXX REG: 00000000000


64 Manual Industrial Internship Project (CSE/IT)
ANNEXURE IIIA

= 4.06 months

= 4 months approximately

the computer project duration we use the effort estimated described above

N = E/D

= 4/4

= 1 person

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

XXXXXXXXX REG: 00000000000


65 Manual Industrial Internship Project (CSE/IT)
ANNEXURE IIIA

The Designing of the Sytem will involve the following platform and technologies::

APPENDIX A:

ASP.NET

ASP.NET is a Web application framework developed and marketed by Microsoft to


allow programmers to build dynamic Web sites, Web applications and Web services. It was first
released in January 2002 with version 1.0 of the.NET Framework, and is the successor to
Microsoft's Active Server Pages (ASP) technology. ASP.NET is built on the Common Language
Runtime (CLR), allowing programmers to write ASP.NET code using any supported .NET
language. The ASP.NET SOAP extension framework allows ASP.NET components to process
SOAP messages.

ASP.NET Web pages, known officially as Web Forms are the main building block for application
development. Web forms are contained in files with an ".aspx" extension; these files typically
contain static (X)HTML markup, as well as markup defining server-side Web Controls and User
Controls where the developers place all the required static and dynamic content for the Web
page. Additionally, dynamic code which runs on the server can be placed in a page within a
block <% -- dynamic code -- %>, which is similar to other Web development technologies such
as PHP, JSP, and ASP. With ASP.NET Framework 2.0, Microsoft introduced a new code-behind
model which allows static text to remain on the .aspx page, while dynamic code remains in an
.aspx.vb or .aspx.cs or .aspx.fs file (depending on the programming language used).

A directive is special instructions on how ASP.NET should process the page. The most common
directive is <%@ Page %> which can specify many things, such as which programming
language is used for the server-side code.

Examples

Inline code

<%@ Page Language="C#" %>


<!DOCTYPE html PUBLIC "---//W3C//DTD XHTML 1.0 //EN"
"http://www.rana mobail.co.in">

XXXXXXXXX REG: 00000000000


66 Manual Industrial Internship Project (CSE/IT)
ANNEXURE IIIA

<script runat="server">
protected void Page_Load(object sender, EventArgs e)
{
// Assign the datetime to label control
lbl1.Text = DateTime.Now.ToLongTimeString();

}
</script>

<html xmlns="http://www.rana mobile.co.in">


<head runat="server">
<title>mobile service</title>
</head>
<body bg color="red">
<form id="form1" runat="server">

<div>
The current time is: <asp:Label runat="server" id="lbl1" />
</div>
</form>
</body>
</html>

The above page renders with the Text "The current time is: " and the <asp:Label> Text is set with
the current time, upon render.

Code-behind solutions

<%@PageLanguage="C#"CodeFile="SampleCodeBehind.aspx.cs"
Inherits="Website.SampleCodeBehind"
AutoEventWireup="true" %>

The above tag is placed at the beginning of the ASPX file. The CodeFile property of the @
Page directive specifies the file (.cs or .vb or .fs) acting as the code-behind while

XXXXXXXXX REG: 00000000000


67 Manual Industrial Internship Project (CSE/IT)
ANNEXURE IIIA

the Inherits property specifies the Class from which the Page is derived. In this example, the @
Page directive is included in SampleCodeBehind.aspx, then Sample Code Behind .aspx.cs acts as
the code-behind for this page:

using System;
namespace Website
{
public partial class SampleCodeBehind :System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Response.Write("Hello, world");
}
}
}
Imports System
Namespace Website
Public Partial Class SampleCodeBehind
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
Response.Write("Hello, world")
End Sub
End Class
End Namespace

In this case, the Page_Load() method is called every time the ASPX page is requested. The
programmer can implement event handlers at several stages of the page execution process to
perform processing.

ASP.NET uses a visited composites rendering technique. During compilation, the template
(.aspx) file is compiled into initialization code which builds a control tree (the composite)
representing the original template. Literal text goes into instances of the Literal control class, and
server controls are represented by instances of a specific control class. The initialization code is

XXXXXXXXX REG: 00000000000


68 Manual Industrial Internship Project (CSE/IT)
ANNEXURE IIIA

combined with user-written code (usually by the assembly of multiple partial classes) and results
in a class specific for the page. The page doubles as the root of the control tree.

Actual requests for the page are processed through a number of steps. First, during the
initialization steps, an instance of the page class is created and the initialization code is executed.
This produces the initial control tree which is now typically manipulated by the methods of the
page in the following steps. As each node in the tree is a control represented as an instance of a
class, the code may change the tree structure as well as manipulate the properties/methods of the
individual nodes. Finally, during the rendering step a visitor is used to visit every node in the
tree, asking each node to render itself using the methods of the visitor. The resulting HTML
output is sent to the client.

After the request has been processed, the instance of the page class is discarded and with it the
entire control tree. This is a source of confusion among novice ASP.NET programmers who rely
on class instance members that are lost with every page request/response cycle.

ASP.NET applications are hosted by a Web server and are accessed using
the stateless HTTP protocol. As such, if an application uses stateful interaction, it has to
implement state management on its own. ASP.NET provides various functions for state
management. Conceptually, Microsoft treats "state" as GUI state. Problems may arise if an
application needs to keep track of "data state"; for example, a finite-state machine which may be
in a transient state between requests (lazy evaluation) or which takes a long time to initialize.
State management in ASP.NET pages with authentication can make Web scraping difficult or
impossible.

Application state is held by a collection of shared user-defined variables. These are set and
initialized when the Application_OnStart event fires on the loading of the first instance of the
application and are available until the last instance exits. Application state variables are accessed
using the Applications collection, which provides a wrapper for the application state. Application
state variables are identified by name.

Server-side session state is held by a collection of user-defined session variables that are
persistent during a user session. These variables, accessed using the Session collection, are
unique to each session instance. The variables can be set to be automatically destroyed after a

XXXXXXXXX REG: 00000000000


69 Manual Industrial Internship Project (CSE/IT)
ANNEXURE IIIA

defined time of inactivity even if the session does not end. Client-side user session is maintained
by either a cookie or by encoding the session ID in the URL itself.

ASP.NET supports three modes of persistence for server-side session variables:

In-Process Mode
The session variables are maintained within the ASP.NET process. This is the fastest way;
however, in this mode the variables are destroyed when the ASP.NET process is recycled or shut
down.
ASPState Mode
ASP.NET runs a separate Windows service that maintains the state variables. Because state
management happens outside the ASP.NET process, and because the ASP.NET engine accesses
data using .NET Remoting, ASPState is slower than In-Process. This mode allows an ASP.NET
application to be load-balanced and scaled across multiple servers. Because the state
management service runs independently of ASP.NET, the session variables can persist across
ASP.NET process shutdowns. However, since session state server runs as one instance, it is still
one point of failure for session state. The session-state service cannot be load-balanced, and there
are restrictions on types that can be stored in a session variable.
SqlServer Mode
State variables are stored in a database, allowing session variables to be persisted across
ASP.NET process shutdowns. The main advantage of this mode is that it allows the application
to balance load on a server cluster, sharing sessions between servers. This is the slowest method
of session state management in ASP.NET.
View state

View state refers to the page-level state management mechanism, utilized by the HTML pages
emitted by ASP.NET applications to maintain the state of the Web form controls and widgets.
The state of the controls is encoded and sent to the server at every form submission in a hidden
field known as __VIEWSTATE. The server sends back the variable so that when the page is re-
rendered, the controls render at their last state. At the server side, the application may change the
view state, if the processing requires a change of state of any control. The states of individual
controls are decoded at the server, and are available for use in ASP.NET pages using the View
State collection.[13] [14]

XXXXXXXXX REG: 00000000000


70 Manual Industrial Internship Project (CSE/IT)
ANNEXURE IIIA

The main use for this is to preserve form information across post backs. View state is turned on
by default and normally serializes the data in every control on the page regardless of whether it is
actually used during a post back. This behavior can (and should) be modified, however, as View
state can be disabled on a per-control, per-page, or server-wide basis.

Developers need to be wary of storing sensitive or private information in the View state of a page
or control, as the base64 string containing the view state data can easily be de-serialized. By
default, View state does not encrypt the __VIEWSTATE value. Encryption can be enabled on a
server-wide (and server-specific) basis, allowing for a certain level of security to be maintained.

Server-side caching

ASP.NET offers a "Cache" object that is shared across the application and can also be used to
store various objects. The "Cache" object holds the data only for a specified amount of time and
is automatically cleaned after the session time-limit elapses.

Other

Other means of state management that are supported by ASP.NET are cookies, caching, and
using the query string.

APPENDIX B:

Visual Studio:

Microsoft Visual Studio is an integrated development environment (IDE) from Microsoft. It is


used to develop console and graphical user interface applications along with Windows
Forms applications, web sites, web applications, and web services in both native code together
with managed code for all platforms supported by Microsoft Windows, Windows
Mobile, Windows CE, .NET Framework, .NET Compact Framework and Microsoft Silverlight.

Visual Studio includes a code editor supporting IntelliSense as well as code refactoring. The
integrated debugger works both as a source-level debugger and a machine-level debugger. Other
built-in tools include a forms designer for building GUI applications, web
designer, class designer, and database schema designer. It accepts plug-ins that enhance the

XXXXXXXXX REG: 00000000000


71 Manual Industrial Internship Project (CSE/IT)
ANNEXURE IIIA

functionality at almost every level including adding support for source-control systems
(like Subversion and Visual SourceSafe) and adding new toolsets like editors and visual
designers for domain-specific languages or toolsets for other aspects of the software
development lifecycle. (like the Team Foundation Server client: Team Explorer).

Visual Studio supports different programming languages by means of language services, which
allow the code editor and debugger to support (to varying degrees) nearly any programming
language, provided a language-specific service exists. Built-in languages include C/C+
+ (via Visual C++), VB.NET (via Visual Basic .NET), C# (via Visual C#), and F# (as of Visual
Studio 2010). Support for other languages such as Python, and Ruby among others is available
via language services installed separately. It also supports
XML/XSLT, HTML/XHTML, JavaScript and CSS. Individual language-specific versions of
Visual Studio also exist which provide more limited language services to the user: Microsoft
Visual Basic, , Visual C#, and Visual C++.

Visual Studio, like any other IDE, includes a code editor that supports syntax
highlighting and code completion using IntelliSense for not only variables, functions
and methods but also language constructs like loops and queries. IntelliSense is supported for the
included languages, as well as for XML and for Cascading Style Sheets and JavaScript when
developing web sites and web applications. Auto complete suggestions are popped up in a
modeless list box, overlaid on top of the code editor. In Visual Studio 2008 onwards, it can be
made temporarily semi-transparent to see the code obstructed by it. The code editor is used for
all supported languages.

The Visual Studio code editor also supports setting bookmarks in code for quick navigation.
Other navigational aids include collapsing code blocks and incremental search, in addition to
normal text search and regex search. The code editor also includes a multi-item clipboard and a
task list. The code editor supports code snippets, which are saved templates for repetitive code
and can be inserted into code and customized for the project being worked on. A management
tool for code snippets is built in as well. These tools are surfaced as floating windows which can
be set to automatically hide when unused or docked to the side of the screen. The Visual Studio
code editor also supports code refactoring including parameter reordering, variable and method

XXXXXXXXX REG: 00000000000


72 Manual Industrial Internship Project (CSE/IT)
ANNEXURE IIIA

renaming, interface extraction and encapsulation of class members inside properties, among
others.

Visual Studio features background compilation (also called incremental compilation). As code is
being written, Visual Studio compiles it in the background in order to provide feedback about
syntax and compilation errors, which are flagged with a red wavy underline. Warnings are
marked with a green underline. Background compilation does not generate executable code,
since it requires a different compiler than the one used to generate executable code. Background
compilation was initially introduced with Microsoft Visual Basic but has now been expanded for
all included languages.

Visual Studio includes a debugger that works both as a source-level debugger and as a machine-
level debugger. It works with both managed code as well as native code and can be used for
debugging applications written in any language supported by Visual Studio. In addition, it can
also attach to running processes and monitor and debug those processes. If source code for the
running process is available, it displays the code as it is being run. If source code is not available,
it can show the disassembly. The Visual Studio debugger can also create memory dumps as well
as load them later for debugging. Multi-threaded programs are also supported. The debugger can
be configured to be launched when an application running outside the Visual Studio environment
crashes.

The debugger allows setting breakpoints (which allow execution to be stopped temporarily at a
certain position) and watches (which monitor the values of variables as the execution
progresses). Breakpoints can be conditional, meaning they get triggered when the condition is
met. Code can be stepped over, i.e., run one line (of source code) at a time. It can either step
into functions to debug inside it, or step over it, i.e., the execution of the function body isn't
available for manual inspection. The debugger supports Edit and Continue, i.e., it allows code to
be edited as it is being debugged (32 bit only; not supported in 64 bit). When debugging, if the
mouse pointer hovers over any variable, its current value is displayed in a tooltip ("data
tooltips"), where it can also be modified if desired. During coding, the Visual Studio debugger
lets certain functions be invoked manually from the Immediate tool window. The parameters to
the method are supplied at the Immediate window.

XXXXXXXXX REG: 00000000000


73 Manual Industrial Internship Project (CSE/IT)
ANNEXURE IIIA

Visual Studio includes a host of visual designers to aid in the development of applications. These
tools include:

Windows Forms Designer


The Windows Forms designer is used to build GUI applications using Windows Forms. Layout
can be controlled by housing the controls inside other containers or locking them to the side of
the form. Controls that display data (like textbox, list box, grid view, etc.) can be bound to data
sources like databases or queries. Data-bound controls can be created by dragging items from the
Data Sources window onto a design surface. The UI is linked with code using an event-driven
programming model. The designer generates either C# or VB.NET code for the application.
WPF Designer
The WPF designer, codenamed Cider, was introduced with Visual Studio 2008. Like the
Windows Forms designer it supports the drag and drop metaphor. It is used to author user
interfaces targeting Windows Presentation Foundation. It supports all WPF functionality
including data binding and automatic layout management. It generates XAML code for the UI.
The generated XAML file is compatible with Microsoft Expression Design, the designer-
oriented product. The XAML code is linked with code using a code-behind model.

Visual Studio 2005 in Class Designer view Visual Studio Web Designer in code editor view.

Web designer/development
Visual Studio also includes a web-site editor and designer that allow web pages to be authored by
dragging and dropping widgets. It is used for developing ASP.NET applications and
supports HTML, CSS and JavaScript. It uses a code-behind model to link with ASP.NET code.
From Visual Studio 2008 onwards, the layout engine used by the web designer is shared

XXXXXXXXX REG: 00000000000


74 Manual Industrial Internship Project (CSE/IT)
ANNEXURE IIIA

with Microsoft Expression Web. There is also ASP.NET MVC support for MVC technology as a
separate download and ASP.NET Dynamic Data project available from Microsoft.
Class designer
The Class Designer is used to author and edit the classes (including its members and their access)
using UML modeling. The Class Designer can generate C# and VB.NET code outlines for the
classes and methods. It can also generate class diagrams from hand-written classes.
Data designer
The data designer can be used to graphically edit database schemas, including typed tables,
primary and foreign keys and constraints. It can also be used to design queries from the graphical
view.

APPENDIX C:

Microsoft SQL SERVER 05::

Microsoft SQL Server is a relational database server, developed by Microsoft: It is a software


product whose primary function is to store and retrieve data as requested by other software
applications, be it those on the same computer or those running on another computer across a
network (including the Internet). There are at least a dozen different editions of Microsoft SQL
Server aimed at different audiences and for different workloads (ranging from small applications
that store and retrieve data on the same computer, to millions of users and computers that access
huge amounts of data from the Internet at the same time).

SQL Server 2005

SQL Server 2005, released in October 2005, is the successor to SQL Server 2000. It included
native support for managing XML data, in addition to relational data. For this purpose, it defined
an xml data type that could be used either as a data type in database columns or as literals in
queries. XML columns can be associated with XSD schemas; XML data being stored is verified
against the schema. XML is converted to an internal binary data type before being stored in the
database. Specialized indexing methods were made available for XML data. XML data is queried
using XQuery; Common Language Runtime (CLR) integration was a main feature with this

XXXXXXXXX REG: 00000000000


75 Manual Industrial Internship Project (CSE/IT)
ANNEXURE IIIA

edition, enabling one to write SQL code as Managed Code by the CLR. SQL Server 2005 added
some extensions to the T-SQL language to allow embedding XQuery queries in T-SQL. In
addition, it also defines a new extension to XQuery, called XML DML, that allows query-based
modifications to XML data. SQL Server 2005 also allows a database server to be exposed
over web services using Tabular Data Stream (TDS) packets encapsulated within SOAP
(protocol) requests. When the data is accessed over web services, results are returned as XML.

For relational data, T-SQL has been augmented with error handling features (try/catch) and
support for recursive queries with CTEs (Common Table Expressions). SQL Server 2005 has
also been enhanced with new indexing algorithms, syntax and better error recovery systems.
Data pages are check summed for better error resiliency, and optimistic concurrency support has
been added for better performance. Permissions and access control have been made more
granular and the query processor handles concurrent execution of queries in a more efficient way.
Partitions on tables and indexes are supported natively, so scaling out a database onto a cluster is
easier. SQL CLR was introduced with SQL Server 2005 to let it integrate with the .NET
Framework.

SQL Server 2005 introduced "MARS" (Multiple Active Results Sets), a method of allowing
usage of database connections for multiple purposes.

SQL Server 2005 introduced DMVs (Dynamic Management Views), which are specialized views
and functions that return server state information that can be used to monitor the health of a
server instance, diagnose problems, and tune performance.

SQL Server 2005 introduced Database Mirroring, but it was not fully supported until the first
Service Pack release (SP1). In the initial release (RTM) of SQL Server 2005, database mirroring
was available, but unsupported. In order to implement database mirroring in the RTM version,
you had to apply trace flag 1400 at startup. Database mirroring is a high availability option that
provides redundancy and failover capabilities at the database level. Failover can be performed
manually or can be configured for automatic failover. Automatic failover requires a witness
partner and an operating mode of synchronous (also known as high-safety or full safety).

XXXXXXXXX REG: 00000000000


76 Manual Industrial Internship Project (CSE/IT)
ANNEXURE IIIA

SQL Server Management Studio

SQL Server Management Studio is a GUI tool included with SQL Server 2005 and later for
configuring, managing, and administering all components within Microsoft SQL Server. The tool
includes both script editors and graphical tools that work with objects and features of the
server.SQL Server Management Studio replaces Enterprise Manager as the primary management
interface for Microsoft SQL Server since SQL Server 2005. A version of SQL Server
Management Studio is also available for SQL Server Express Edition, for which it is known
as SQL Server Management Studio Express (SSMSE).

A central feature of SQL Server Management Studio is the Object Explorer, which allows the
user to browse, select, and act upon any of the objects within the server. It can be used to visually
observe and analyze query plans and optimize the database performance, among others.SQL
Server Management Studio can also be used to create a new database, alter any existing database
schema by adding or modifying tables and indexes, or analyze performance. It includes the query
windows which provide a GUI based interface to write and execute queries same.

APPENDIX D:

C#(SEE SHARP)

The name "C sharp" was inspired by musical notation where a sharp indicates that the written
note should be made a semitone higher in pitch. This is similar to the language name of C++,
where "++" indicates that a variable should be incremented by 1.

Due to technical limitations of display (standard fonts, browsers, etc.) and the fact that the sharp
symbol (U+266F ♯ MUSIC SHARP SIGN (HTML: &#9839; )) is not present on the standard
keyboard, the number sign (U+0023 # NUMBER SIGN (HTML: &#35; )) was chosen to represent
the sharp symbol in the written name of the programming language. This convention is reflected
in the ECMA-334 C# Language Specification. However, when it is practical to do so (for
example, in advertising or in box art), Microsoft uses the intended musical symbol.

XXXXXXXXX REG: 00000000000


77 Manual Industrial Internship Project (CSE/IT)
ANNEXURE IIIA

The "sharp" suffix has been used by a number of other .NET languages that are variants of
existing languages, including J# (a .NET language also designed by Microsoft that is derived
from Java 1.1), A# (from Ada), and the functional programming language F#. The original
implementation of Eiffel for .NET was called Eiffel#, a name since retired since the full Eiffel
language is now supported. The suffix has also been used for libraries, such as Gtk# (a .NET
wrapper for GTK+ and other GNOME libraries), Cocoa# (a wrapper for Cocoa) and Qt# (a .NET
language binding for the Qt toolkit).

By design, C# is the programming language that most directly reflects the underlying Common
Language Infrastructure (CLI). Most of its intrinsic types correspond to value-types implemented
by the CLI framework. However, the language specification does not state the code generation
requirements of the compiler: that is, it does not state that a C# compiler must target a Common
Language Runtime, or generate Common Intermediate Language (CIL), or generate any other
specific format. Theoretically, a C# compiler could generate machine code like traditional
compilers of C++ or Fortran.

Some notable features of C# that distinguish it from C and C++ (and Java, where noted) are:

 It has no global variables or functions. All methods and members must be declared within
classes. Static members of public classes can substitute for global variables and functions.
 Local variables cannot shadow variables of the enclosing block, unlike C and C++.
Variable shadowing is often considered confusing by C++ texts.

 C# supports a strict Boolean data type, bool. Statements that take conditions, such as
while and if, require an expression of a type that implements the true operator, such as the
boolean type. While C++ also has a boolean type, it can be freely converted to and from
integers, and expressions such as if(a) require only that a is convertible to bool, allowing
a to be an int, or a pointer. C# disallows this "integer meaning true or false" approach, on
the grounds that forcing programmers to use expressions that return exactly bool can
prevent certain types of common programming mistakes in C or C++ such as if (a = b)
(use of assignment = instead of equality ==).

XXXXXXXXX REG: 00000000000


78 Manual Industrial Internship Project (CSE/IT)
ANNEXURE IIIA

 In C#, memory address pointers can only be used within blocks specifically marked as
unsafe, and programs with unsafe code need appropriate permissions to run. Most object
access is done through safe object references, which always either point to a "live" object
or have the well-defined null value; it is impossible to obtain a reference to a "dead"
object (one that has been garbage collected), or to a random block of memory. An unsafe
pointer can point to an instance of a value-type, array, string, or a block of memory
allocated on a stack. Code that is not marked as unsafe can still store and manipulate
pointers through the System.IntPtr type, but it cannot dereference them.

 Managed memory cannot be explicitly freed; instead, it is automatically garbage


collected. Garbage collection addresses the problem of memory leaks by freeing the
programmer of responsibility for releasing memory that is no longer needed.

 In addition to the try...catch construct to handle exceptions, C# has a try...finally construct


to guarantee execution of the code in the finally block.

 Multiple inheritance is not supported, although a class can implement any number of
interfaces. This was a design decision by the language's lead architect to avoid
complication and simplify architectural requirements throughout CLI.

 C#, like C++, but unlike Java, supports operator overloading.

 C# is more type safe than C++. The only implicit conversions by default are those that
are considered safe, such as widening of integers. This is enforced at compile-time,
during JIT, and, in some cases, at runtime. No implicit conversions occur between
booleans and integers, nor between enumeration members and integers (except for literal
0, which can be implicitly converted to any enumerated type). Any user-defined
conversion must be explicitly marked as explicit or implicit, unlike C++ copy
constructors and conversion operators, which are both implicit by default. Starting with
version 4.0, C# supports a "dynamic" data type that enforces type checking at runtime
only.

 Enumeration members are placed in their own scope.

XXXXXXXXX REG: 00000000000


79 Manual Industrial Internship Project (CSE/IT)
ANNEXURE IIIA

 C# provides properties as syntactic sugar for a common pattern in which a pair of


methods, accessor (getter) and mutator (setter) encapsulate operations on a single
attribute of a class.

 Full type reflection and discovery is available.

 Checked exceptions are not present in C# (in contrast to Java). This has been a conscious
decision based on the issues of scalability and versionability.

The reference C# compiler is Microsoft Visual C#.

Other C# compilers exist, often including an implementation of the Common Language


Infrastructure and the .NET class libraries up to .NET 2.0:


The Mono project provides an open source C# compiler, a complete open source
implementation of the Common Language Infrastructure including the required
framework libraries as they appear in the ECMA specification, and a nearly complete
implementation of the Microsoft proprietary .NET class libraries up to .NET 3.5. As of
Mono 2.6, no plans exist to implement WPF; WF is planned for a later release; and there
are only partial implementations of LINQ to SQL and WCF.[42]

The Dot GNU project also provides an open source C# compiler, a nearly complete
implementation of the Common Language Infrastructure including the required
framework libraries as they appear in the ECMA specification, and subset of some of the
remaining Microsoft proprietary .NET class libraries up to .NET 2.0 (those not
documented or included in the ECMA specification, but included in Microsoft's
standard .NET Framework distribution).


Microsoft's Rotor project (currently called Shared Source Common Language
Infrastructure) (licensed for educational and research use only) provides a shared source
implementation of the CLR runtime and a C# compiler, and a subset of the required
Common Language Infrastructure framework libraries in the ECMA specification (up to
C# 2.0, and supported on Windows XP only).

XXXXXXXXX REG: 00000000000


80 Manual Industrial Internship Project (CSE/IT)
ANNEXURE IIIA

The Dot Net Anywhere Micro Framework-like Common Language Runtime is targeted at
embedded systems, and supports almost all C# 2.0 specifications. It is licensed under the
MIT License conditions, is implemented in C and directed towards embedded devices.

XXXXXXXXX REG: 00000000000

Vous aimerez peut-être aussi