minor project report format may 2011

70
A Minor Project Report on “TIME TABLE MANAGEMENT” Bachelor of Engineering Minor Project Submitted in Partial fulfillment of the Requirement for the award of Bachelor of Engineering in Computer Science & Engineering Submitted to: RAJIV GANDHI PROUDYOGIKI VISHWAVIDYALAYA, BH OPAL (M.P.) By: Mukesh Kumar Sanodiya Enroll. No. 0191CS081044 . Under the Supervision of

Upload: anadi-sharma

Post on 27-Nov-2014

104 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Minor Project Report Format May 2011

A Minor Project Report on

“TIME TABLE MANAGEMENT”Bachelor of Engineering

Minor Project

Submitted in Partial fulfillment of the Requirement for the award of Bachelor of Engineering in Computer Science & Engineering

Submitted to:RAJIV GANDHI PROUDYOGIKI VISHWAVIDYALAYA,

BHOPAL (M.P.)

By:Mukesh Kumar Sanodiya

Enroll. No.0191CS081044

. Under the Supervision of

Mss. Pratishtha Singh Prof. Rajesh Boghey (Asst. Proffesor) HOD TIT Excellence Department of C. S. E.

Page 2: Minor Project Report Format May 2011

DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING TECHNOCRATS INSTITUTE OF TECHNOLOGY (EXCELLENCE),

BHOPAL

To Whom It May Concern

This is to certify that the work embodied in this Project entitled “ Time Table Management“has been satisfactorily completed by Mr. Mukesh Kumar Sanodiya. It is a bonafied piece of work, carried out under my supervision and guidance in the Department of Computer Science & Engineering, Technocrates Institute of Technology(Excellence), Bhopal, for partial fulfillment of the degree Bachelor of Engineering in Computer Science & Engineering during the academic year 2010-2011.

We wish them every success in life Guided by:

Miss.Pratishtha Singh Prof. Rajesh Boghey (Asst. Proffesor) Head of Department of C. S. E. Department of C. S. E.

Forwarded by:

Dr. C.K. Teckchandani

Director

TECHNOCRATS INSTITUTE OF TECHNOLOGY (EXCELLENCE), BHOPAL

2

Page 3: Minor Project Report Format May 2011

TECHNOCRATS INSTITUTE OF TECHNOLOGY

(EXCELLENCE) BHOPAL

“DECLARATION”

We, Mukesh Kumar Sanodiya student of Bachelor of Engineering,

Computer science Branch, Technocrats Institute of technology (Excellence),

Bhopal hereby declare that the work presented in this Minor project entitled

“Time Table Management” is outcome of our own work, is bonafide, correct

to the best of my knowledge and this work has been carried out taking care of

Engineering Ethics. The work presented does not infringe any patented work

and has not been submitted to any University for the award of any degree or

professional diploma.

Name Enroll. No. SignatureMukesh Kumar Sanodiya 0191cs081044

Place: Bhopal

Date: June 04, 2011

3

Page 4: Minor Project Report Format May 2011

CERTIFICATE OF APPROVAL

The foregoing project is hereby approved as a creditable study of an engineering

subject carried out and presented in a manner satisfactory to warrant its acceptance

as a prerequisite to the degree for which it has been submitted. It is understood

that by this approval the undersigned do not necessarily endorse or approve any

statement made, opinion expressed or conclusion drawn therein , but approve the

project only for the purpose for which it has been submitted.

(INTERNAL EXAMINER) (EXTERNAL EXAMINER)

Date: Date:

4

Page 5: Minor Project Report Format May 2011

ACKNOWLEDGEMENT

Thanks GOD for giving me knowledge and ability to complete this work in this final form.

The satisfaction that accompanies the success in completion of any task would be incomplete without mentioning the people who made it possible, whose constant guidance and encouragement crowned our effort with success.

I feel pleasure in conveying my profound thanks to my Thesis guide, Miss. Pratishtha Singh (Asst. Proffesor) TIT Excellence, for his constant Support, valuable Guidance and Encouragement. During the entire course of this project he reviewed with greatest care and his innovative ideas led to the successful completion of this work. His continuous strong and encouragement had some very profound effect on me that went beyond scientific supervision.

I have been able to successfully complete this Project because of excellent guidance and infinite help given to me by my HOD Prof. Rajesh Boghey Head Department of CSE. It is difficult to acknowledge adequately the help and encouragement I received from them but I take this opportunity to thanks them profusely.

I wish to thank Dr. C.K. Teckchandani, Director Technocrates Institute of Technology (Excellence),, Bhopal for his constant support and encouragement.

I am thankful to all other faculty members and all computer centre staff in Department of CSE for their cooperation extended during the project work.

5

Page 6: Minor Project Report Format May 2011

I am also thankful to my colleagues and classmates who helped me directly or indirectly throughout my project work.

Mukesh Kumar Sanodiya Enrollment No: 0191cs081044 B. E. (CSE)

Technocrats Institute of Technology (Excellence)

ABSTRACT

Time Table Management system is an automated system which genets time table

according to the data given by the user. The main requirement of the application is

to provide the details about the branch, subjects, no. of labs, total no. of period and

details about the lab assistance. Then the application generates the time table

according to your need.

1.Timetable creation for each semester has always been an error-prone task, nor-

2.mally resulting in multiple iterations of creation and proof-reading. Changes3.desired by teaching sta

, changes of course locations etc. also require an adap-4.tation of the previously created timetables. This project aims to alleviate the5.pain of this process by automatically generating timetables for selected

courses6.from the UIBK course database. A side-e

ect of this is of course that students7.can themselves generate personal timetables. A further problem at the Insti-8.tute of Computer Science was the tracking of exams for all courses o

ered by6

Page 7: Minor Project Report Format May 2011

9.the Institute. In the course of this project, a small script was written to hook10.into the CMS used on the Institute's website to automatically get exam dates11.from the University's course database.

The basic project is to create a Time Table Management System.

To create Databases of different entities involved in this process.

Maintaining database-containing information about the various

semesters, subjects, Labs, teachers etc.

Table of contents :

Chapter 1 Introduction……………………………………8 Chapter 2 SRS……………………………………………...10 Chapter 3 System Documentation………………………….15

3.1 Flowchart……………………………………………………153.2 Data Flow Diagram…………………………………………163.3 Entity Relationship Diagram…….. ……………………….21

Chapter 4 Problem Description………………………23 4.1 Product Perspective……………………………………….23 4.2 Objective…………………………………………………...23 4.3 Terminology used ……………………................................24 4.4 Scope……………………………………………………….33 4.5 Benefits…………………………………………………….34

Chapter 5. Feasibility Report………………………….35

5.1 Technical Feasibility……………………………………..35 5.2 Economical Feasibility………………………………..35

5.3 Legal Feasibility…………………………………………36 5.4 Operational Feasibility………………………………….36 5.5 Schudle Feasibility………………………………………36

Chapter 6 System Design and Development………..376.1 Design Pattern……………………………………………376.2 Requirements…………………………………………..38

7

Page 8: Minor Project Report Format May 2011

6.3 Screenshots …………………………………..……...39 Chapter 7 Testing……………………………44 7.1 Code Testing…………………………………………….45 7.2 Specification Testing……………………………………..45

Chapter 8. System Implemention……………………46 Chapter 9 Discussion……………………………….47 Chapter 10. Lmitation…………………………………48 Chapter 11. Future Work……………………………….48

Chapter 12. Bibliography………………………………..49

1. INTRODUCTION

The Problem is to Manage the Time Table of the all class of the college according to teacher, and the Purpose of Manage Timetable of the College is, for any College Teacher timetable scheduling is a very arduous and time-consuming task. College Timetable management module helps you to generate class time table as well campus and teacher time table. Time table management module organizes the campus week, holidays, breaks in between classes and subject teacher. Timetable Management module automatically creates your Campus Timetable for classes, class teachers and students. This module also allows you to generate temporary timetables.Class-Teacher Timetabling - This problem is normally associated with Engineering College where the students are scheduled as a “class”. All students in the same class take exactly the same/different set of courses. Typically, teachers and classes are busy most of the day, and the problem is to find times when each teacher can meet with his/her required classes with no conflictsWe have decided to investigate the use of a Timetable Management System. This system would be used by members who may be students or 8

Page 9: Minor Project Report Format May 2011

professors/Teacher’s of that College to check and update the Timetable of the Classes of College. The purpose of this document is to analyze and elaborate on the high-level needs and features of the Timetable Management System. It focuses on the capabilities and facilities provided by a Time table of Class. The details of what all are the needs of the Timetable Management System and if it fulfils these needs are detailed in the use-case and supplementary specifications.

Technology makes lifestyle easier by providing better support to

different systems, better accuracy, better security options, easier

maintenance, etc.

Now a day’s technology eventually means “computers” which is the

greatest achievements of last century. Day by day computers are being more

and more popular because of its features like ease of work, ease of learning,

greater accuracy with the least time consumption and the last but not the

least i.e. ease of maintenance with cost effectiveness.

So as a part of these ongoing evolutionary approach traditional

systems are being computerized to make them more fruitful than ever.

9

Page 10: Minor Project Report Format May 2011

2. SOFTWARE REQUIREMENT SPECIFICATION

Purpose

The purpose of Software Requirements Specification (SRS) document is to describe the external behavior of the Timetable Management System. Requirements Specification defines and describes the operations, interfaces, performance, and quality assurance requirements of the Timetable Management System. The document also describes the nonfunctional requirements such as the user interfaces. It also describes the design constraints that are to be considered when the system is to be designed, and other factors necessary to provide a complete and comprehensive description of the requirements for the software. The Software Requirements Specification (SRS) captures the complete software requirements for the system, or a portion of the system. Requirements described in this document are derived from the Vision Document prepared for Timetable Management System.

Scope

10

Page 11: Minor Project Report Format May 2011

Describe the scope of the software application to be produced.Within the description identify the software product, describe its functionality, and applications of the software. Include any description of the benefits, objectives, and goals of the software.

User CharacteristicsIdentify each type of user of the software by function, location, and type of device. Specify the number of users in each group and the nature of their use of the system. Describe the characteristics and interactions of the users that will interact with the software during the phases of the software life cycle.

System State/Assumptions, Dependencies and Constraints

AssumptionsDescribe assumptions made that can affect the requirements of the SRS. Assumptions are factors that are believe to be true during the life cycle of the project, that if changed may affect the outcome of the project.

DependenciesDescribe each dependency that can affect the requirements specified in the SRS. Dependencies are outside of the scope and control of the project and must remain true for the project to succeed.

ConstraintsDescribe factors that limit the scope and functionality of the software. Constraints are requirements that are imposed on the software solution.

12.NEED

As we discussed earlier that manual maintenance of a Time Table

Management System is a tedious job. So to enhance the ease of

working we go for this package.11

Page 12: Minor Project Report Format May 2011

Manual maintenance of databases of items, time table processing is a

time taking process and somehow erroneous.

To give more accuracy to the system i.e. rather going manual

modification we involve computer for accuracy.

The least but most important it saves time.

Objectives of the package

Create a Time Table Management System to be used by any College.

To perform the basic requirements of the firm.

Maintaining databases of subject, Class, semester’s details.

Scopes and boundaries of the package

As it is a computer-based package so maintenance and working is

somewhat difficult from manual mode of approach.

As it is not possible to associate each and every requirement of the

system so in some way or other it will going to create problem at some

stage of execution (like report generation).

As a computer based System it is easier to fetch data from the database

for unsocial activities. Also easier to destroy the existing ones.Functional Requirements

The functional requirements sections should be customized to contain the information necessary to define the fundamental actions that must take place within the software to process inputs and to process and generate outputs. Functional requirements should include specific requirements for business rules, which describe and document the steps in a business process.

12

Page 13: Minor Project Report Format May 2011

In the functional requirement subsections, specify all software requirements to a level of detail sufficient to enable the developer to build the software application. Each functional requirement documented in the requirements sections must have a unique identifier for requirements traceability and should be ranked for importance and/or stability.

Business RequirementsDescribe all requirements from a business perspective. Business requirements are the parts of the fully defined business process that will be automated by the software.

Non Functional RequirementsThe Non functional requirements sections should be customized to contain the information necessary to define the fundamental actions that must take place within the software to process and generate its result. Non Functional requirements should include specific requirements for business rules, which describe and document the steps in a business process.

Logical Data RequirementsDescribe the logical data requirements for the system.

User RequirementsDescribe the user requirements; these should capture the intended behavior of the human interface of the application.

Overall Description 1. In few minutes, the program generates a complete timetable

that fulfills all your requirements. The program follows all psycho hygienic and organizational requirements such as:

2. Selection for Number of working days of the week (ex. Saturday off)

13

Page 14: Minor Project Report Format May 2011

3. Zero (attendance) period insertion

4. Periods per day selection .This selection is day wise ex. Can be made 4 periods on Saturday etc.)

5. Subjects could be entered considering

6. Hard subjects in first 4 or 5 periods

7. Subject in which classroom

8. Single or double duration consecutively

9. Periods per week per subject

10. Type of subject ( Hard, easy…)

11. Subjects distributed evenly for entire week

14

Page 15: Minor Project Report Format May 2011

3. System Document

15

Page 16: Minor Project Report Format May 2011

3.1FlowChart

3.2 DATA FLOW DIAGRAM 16

Page 17: Minor Project Report Format May 2011

Data Flow Diagram is a diagrammatic representation of data movement through a

system –manual or automated - from inputs to outputs through processing. The

data flow diagrams help in the analysis of the flow of data through a system and

thus help in identifying the system requirements. These are of two types – Logical

Data Flow Diagrams and Physical Data Flow Diagrams. The Data Flow Diagram

(DFD) clarifies system requirements and identifies major transformations that will

become programs in system design. It is the starting point of system design that

decomposes the requirements specifications down to the lowest level of detail.

Logical Data Flow Diagrams

The Logical Data Flow Diagrams represent the transformation of the data from

input to output through processing logically and independently of the physical

components that may be associated with the system.

Physical Data Flow DiagramsThe Physical Dataflow Diagrams show the actual implementation and movement of data between people, departments, and workstations. Each component of a DFD is labeled with a descriptive name. Process names are further numbered that will be used for identification purposes. The number assigned to a specific process does not correspond to the sequence of processes. It is strictly for identification purposes. A data flow diagram allows parallel activities i.e. a number of data-flows coming out from the source and going into the destination. A DFD concentrates on the data moving through the system and not on the devices or equipments. A DFD may consist of a number of levels. The top-level diagram is called the Context Diagram, which 17

Page 18: Minor Project Report Format May 2011

consists of a single process and plays a very important role in studying the system. It gives the most general and broadest view of the system. Move over it gives the pictorial representation of the scope boundaries of the system under study.NOTATIONS:

Data-Flows show the movement of data in a specific direction from the source to the destination. It represents a packet of data.

Processes show the operations performed on the data, which transform it from input to output.

Sources and Destinations of data are the external sources and destinations of data, which may be people, programs, organizations or other entities interacting with the system, but are outside its boundary.

Data Stores are places where data are stored such as files and tables.

Below is the top level DFD showing how the User’s request processed by the server with database interaction and sends the response back to the user.

Feasibility Study

18

Page 19: Minor Project Report Format May 2011

All projects are feasible when given unlimited resources and infinite time! But the

development of computer-based system is likely to be played by scarcity of

resources and difficulty in completion dates.

The feasibility of a computer-based system can be studied in three major areas:

Economic Feasibility

Technical Feasibility

Functional Feasibility

Economic Feasibility

An evaluation of development cost weighed against the ultimate income of benefit

derived from the developed system. Very important information contained in the

feasibility study is that it takes care of the cost benefit analysis, which is the

assessment of the economic justification for a computer based system project.

The system is very user friendly and only common terms are used in the

application and so it will not be difficult for the end-user in handling the system.

The system provides a very guidance for every step to follow while using.

Technical Feasibility

A study of function, performance and constraints that may affect the ability to

achieve an acceptable system. The analyst evaluates the technical merits of the

system, while at the same time collects additional information about performance,

reliability and maintainability end products.

Technology is not a constraint to system development. The latest technologies are

incorporated so as to achieve the best of these new developments on the system.

19

Page 20: Minor Project Report Format May 2011

The systems developed fully generalize, so that any future expansion will not be a

problem.

Functional Feasibility:

The system will be acceptable to the users who will be helped greatly by the

system, further the involvement of the user in each part of the development will be

helpful in increasing its success factor. The current existing system is less

interactive and not up to the mark in terms of customer support.

From all these, we can conclude that this system is economically, technically and

functionally feasible.

Project ApprovalThose projects that are both feasible and desirable should be put into a schedule.

After a project request is approved, its cost, priority, completion time and personal

requirement are estimated and used to determine where to add it to an existing list.

DATA FLOW DIAGRAM

Context Level Diagram

20

Time Table Management

0.0AdministratorTime Table

Page 21: Minor Project Report Format May 2011

First Level DFD

Second Level DFD

21

DataStore

Master Entry1.0

Reporting2.0

Admin Admin

Report

DataStore

Branch Master

Branch Master

1.1

Admin

Subject Master

Subject Master

1.2

Admin

Teacher

Teacher Master

1.5

Admin

Period Master

Period Master

1.3

Admin

Lab Master

Lab Master

1.4

Admin

Page 22: Minor Project Report Format May 2011

3.3 E-R Diagrams

The relation upon the system is structure through a conceptual

ER-Diagram, which not only specifics the existential entities but also the

standard relations through which the system exists and the cardinalities that are

necessary for the system state to continue.

The entity Relationship Diagram (ERD) depicts the relationship between the

data objects. The ERD is the notation that is used to conduct the date modeling

activity the attributes of each data object noted is the ERD can be described

resign a data object descriptions.

The set of primary components that are identified by the ERD are

Data object

Relationships

Attributes

Various types of indicators

22

Page 23: Minor Project Report Format May 2011

23

Page 24: Minor Project Report Format May 2011

4. PROBLEM DISCRIPTION

4.1 Product Perspective

The rest of this document contains the following in the mentioned order:1- Overall description of the project and its requirements.2- Specific requirements for the project including the

functionality, usability, reliability, performance, security, safety, design constraints, and copy right and intellectual properties.

4.2 OBJECTIVE

To utilize my knowledge and technical skills along with a dedicated

desire of learning more and more, to

benefit my organization and attain consistent professional growth. I want

to equip myself with in-depth

practical knowledge and technical skills in the field of computer science,

and to design something different,

something new.

Create a Time Table Management System to be used by any College.

To perform the basic requirements of the firm.

Maintaining databases of subject, Class, semester’s details.

24

Page 25: Minor Project Report Format May 2011

4.3 TECHNOLOGY DESCRIPTION:-

4.3.1 C++:-

This overview of C++ presents the key design, programming, and

language-technical concepts using examples to give the reader a feel for

the language. C++ is a general-purpose

programming language with a bias towards systems programming that

supports efficient

low-level computation, data abstraction, object-oriented programming,

and generic programming.

4.3.2 Introduction and OverviewThe C++ programming language provides a model of memory and computation

that closely matches that of

most computers. In addition, it provides powerful and flexible mechanisms for

abstraction; that is, language constructs that allow the programmer to introduce and

use new types of objects that match the concepts of an application. Thus, C++

supports styles of programming that rely on fairly direct manipulation

of hardware resources to deliver a high degree of efficiency plus higher-level styles

of programming that

rely on user-defined types to provide a model of data and computation that is

closer to a human’s view of

the task being performed by a computer. These higher-level styles of programming

are often called data

abstraction, object-oriented programming, and generic programming.

This paper is organized around the main programming styles directly supported by

C++:

25

Page 26: Minor Project Report Format May 2011

§2 The Design and Evolution of C++ describes the aims of C++ and the principles

that guided its evolution.

§3 The C Programming Model presents the C subset of C++ and other C++

facilities supporting traditional systems-programming styles.

§4 The C++ Abstraction Mechanisms introduces C++’s class concept and its use

for defining new types

that can be used exactly as built-in types, shows how abstract classes can be used

to provide interfaces to objects of a variety of types, describes the use of class

hierarchies in object-oriented programming, and presents templates in support of

generic programming.

§5 Large-Scale Programming describes namespaces and exception handling

provided to ease the composition of programs out of separate parts.

§6 The C++ Standard Library presents standard facilities such as I/O streams,

strings, containers (e.g.

v ve ec ct to or r, l li is st t, and m ma ap p), generic algorithms (e.g. s so or rt t(), f

fi in nd d(), f fo or r_ _e ea ac ch h()) and support for

numeric computation.

To round off, a brief overview of some of the tasks that C++ has been used for and

some suggestions for

further reading are given.

4.3.3 The Design and Evolution of C++C++ was designed and implemented by Bjarne Stroustrup (the author of this

article) at AT&T Bell Laboratories to combine the organizational and design

strengths of Simula with C’s facilities for systems programming. The initial

version of C++, called ‘‘C with Classes’’ [Stroustrup,1980], was first used in 1980;

it supported traditional system programming techniques (§3) and data abstraction

(§4.1). The basic facilities for object-oriented programming (§4.2-4.3) were added

26

Page 27: Minor Project Report Format May 2011

in 1983 and object-oriented design and programming techniques were gradually

introduced into the C++ community. The language was first made

commercially available in 1985 [Stroustrup,1986] [Stroustrup,1986b]. Facilities for

generic programming

(§4.4) were added to the language in the 1987-1989 time frame [Ellis,1990]

[Stroustrup,1991].

As the result of widespread use and the appearance of several independently-

developed C++- 2 -

implementations, formal standardization of C++ started in 1990 under the auspices

of the American

National Standards Institute, ANSI, and later the International Standards

Organization, ISO, leading to an

international standard in 1998 [C++,1998]. During the period of standardization

the standards committee

acted as an important focus for the C++ community and its draft standards acted as

interim definitions of

the language. As an active member of the standards committee, I was a key

participant in the further evolution of C++. Standard C++ is a better approximation

to my ideals for C++ than were earlier versions. The

design and evolution of C++ is documented in [Stroustrup,1994] [Stroustrup,1996]

and [Stroustrup,1997b].

The language as it is defined at the end of the standardization process and the key

design and programming

techniques it directly supports are presented in [Stroustrup,1997].

27

Page 28: Minor Project Report Format May 2011

4.3.4 C++ Design AimsC++ was designed to deliver the flexibility and efficiency of C for systems

programming together with

Simula’s facilities for program organization (usually referred to as object-oriented

programming). Great

care was taken that the higher-level programming techniques from Simula could be

applied to the systems

programming domain. That is, the abstraction mechanisms provided by C++ were

specifically designed to

be applicable to programming tasks that demanded the highest degree of efficiency

and flexibility.

These aims can be summarized:

__________________________________________________________ _

_ Aims: __________________________________________________________

__________________________________________________________

C++ makes programming more enjoyable for serious programmers.

C++ is a general-purpose programming language that

– is a better C

– supports data abstraction

– supports object-oriented programming

_ – supports generic programming

__________________________________________________________

Support for generic programming emerged late as an explicit goal. During most of

the evolution of C++, I

presented generic programming styles and the language features that support them

(§4.4) under the heading

of ‘‘data abstraction.’’

28

Page 29: Minor Project Report Format May 2011

4.3.5 Design PrinciplesIn [Stroustrup,1994], the design rules for C++ are listed under the headings

General rules, Design-support

rules, Language-technical rules, and Low-level programming support rules:

_______________________________________________________ _

_ General rules:

_______________________________________________________

_______________________________________________________

C++’s evolution must be driven by real problems.

C++ is a language, not a complete system.

Don’t get involved in a sterile quest for perfection.

C++ must be useful now.

Every feature must have a reasonably obvious implementation.

Always provide a transition path.

Provide comprehensive support for each supported style.

_ Don’t try to force people.

_______________________________________________________

Note the emphasis on immediate utility in real-world applications and the respect

for the skills and preferences of programmers implied by the last three points.

From the start, C++ was aimed at programmers

engaged in demanding real-world projects. Perfection was considered unattainable

because needs, backgrounds, and problems vary too much among C++ users. Also,

notions of perfection change significantly

over the lifespan of a general-purpose programming language. Thus, feedback

from user and implementer

experience is essential in the evolution of a language.- 3 -

________________________________________________________________ _

29

Page 30: Minor Project Report Format May 2011

_ Design-support rules:

________________________________________________________________

________________________________________________________________

Support sound design notions.

Provide facilities for program organization.

Say what you mean.

All features must be affordable.

It is more important to allow a useful feature than to prevent every misuse.

_ Support composition of software from separately developed parts.

________________________________________________________________

The aim of C++ was to improve the quality of programs produced by making

better design and programming techniques simpler to use and affordable. Most of

these techniques have their root in Simula

[Dahl,1970] [Dahl,1972] [Birtwistle,1979] and are usually discussed under the

labels of object-oriented

programming and object-oriented design. However, the aim was always to support

a range of design and

programming styles. This contrasts to a view of language design that tries to

channel all system building

into a single heavily supported and enforced style (paradigm).

___________________________________________________________

Language-technical rules:

___________________________________________________________

___________________________________________________________

No implicit violations of the static type system.

Provide as good support for user-defined types as for built-in types.

Locality is good.

Avoid order dependencies.30

Page 31: Minor Project Report Format May 2011

If in doubt, pick the variant of a feature that is easiest to teach.

Syntax matters (often in perverse ways).

Preprocessor usage should be eliminated.

___________________________________________________________

These rules must be considered in the context created of the more general aims. In

particular, the desire for

a high degree of C compatibility, uncompromising efficiency, and immediate real-

world utility counteracts

desires for complete type safety, complete generality, and abstract beauty.

From Simula, C++ borrowed the notion of user-defined types (classes, §4.1) and

hierarchies of classes

(§4.3). However, in Simula and many similar languages there are fundamental

differences in the support

provided for user-defined types and for built-in types. For example, Simula does

not allow objects of userdefined types to be allocated on the stack and addressed

directly. Instead, all class objects must be allocated in dynamic memory and

accessed through pointers (called references in Simula). Conversely, builtin types

can be genuinely local (stack-frame allocated), cannot be allocated in dynamic

memory, and cannot

be referred to by pointers. This difference in treatment of built-in types and user-

defined types had serious

efficiency implications. For example, when represented as a reference to an object

allocated in dynamic

memory, a user-defined type – such as c co om mp pl le ex x (§4.1) – incurs

overheads in run-time and space that were

deemed unacceptable for the kind of applications for which C++ was intended.

Also, the difference in style31

Page 32: Minor Project Report Format May 2011

of usage would preclude uniform treatment of semantically similar types in generic

programming (§4.4).

When maintaining a large program, a programmer must invariably make changes

based of incomplete

knowledge and looking at only a small part of the code. Consequently, C++

provides classes (§4), namespaces (§5.2), and access control (§4.1) to help localize

design decisions.

Some order dependencies are unavoidable in a language designed for one-pass

compilation. For example, in C++ a variable or a function cannot be used before it

has been declared. However, the rules for class

member names and the rules for overload resolution were made independent of

declaration order to minimize confusion and error.

_______________________________________________________________ _

_ Low-level programming support rules:

_______________________________________________________________

_______________________________________________________________

Use traditional (dumb) linkers.

No gratuitous incompatibilities with C.

Leave no room for a lower-level language below C++ (except assembler).

What you don’t use, you don’t pay for (zero-overhead rule).

_

If in doubt, provide means for manual control.

_______________________________________________________________ - 4

-

C++ was designed to be source-and-link compatible with C wherever this did not

seriously interfere with

32

Page 33: Minor Project Report Format May 2011

C++’s support for strong type checking. Except for minor details, C++ has C

[Kernighan,1978] [Kernighan,1988] as a subset. Being C-compatible ensured that

C++ programmers immediately had a complete

language and toolset available. It was also important that high-quality educational

materials were available

for C, and that C compatibility gave the C++ programmer direct and efficient

access to a multitude of

libraries. At the time when the decision to base C++ on C was made, C wasn’t as

prominent as it later

became and language popularity was a minor concern compared to the flexibility

and basic efficiency

offered by C.

However, C compatibility also leaves C++ with some syntactic and semantic

quirks. For example, the

C declarator syntax is far from elegant and the rules for implicit conversions

among built-in types are

chaotic. It is also a problem that many programmers migrate from C to C++

without appreciating that radical improvements in code quality are only achieved

by similarly radical changes to programming styles.

4.3.6 The C Programming ModelA fundamental property of computers in widespread use has remained remarkably

constant: Memory is a

sequence of words or bytes, indexed by integers called addresses. Modern

machines – say, designed during

the last 20 years – have in addition tended to support directly the notion of a

function call stack. Furthermore, all popular machines have some important

facilities – such as input-output – that do not fit well into

33

Page 34: Minor Project Report Format May 2011

the conventional byte- or word-oriented model of memory or computation. These

facilities may require

special machine instructions or access to ‘‘memory’’ locations with peculiar

semantics. Either way, from a

higher-level language point of view, the use of these facilities is messy and

machine-architecture-specific.

C is by far the most successful language providing the programmer with a

programming model that

closely matches the machine model. C provides language-level and machine-

architecture-independent

notions that directly map to the key hardware notions: characters for using bytes,

integers for using words,

pointers for using the addressing mechanisms, functions for program abstraction,

and an absence of constraining language features so that the programmer can

manipulate the inevitable messy hardware-specific

details. The net effect has been that C is relatively easy to learn and use in areas

where some knowledge of

the real machine is a benefit. Moreover, C is easy enough to implement that it has

become almost universally available.

4.4 SCOPE:-Scope is the largest region of program text in which a name can potentially be used

without qualification to refer to an entity; that is, the largest region in which the

name potentially is valid. Broadly speaking, scope is the general context used to

differentiate the meanings of entity names. The rules for scope combined with

those for name resolution enable the compiler to determine whether a reference to

an identifier is legal at a given point in a file.

The scope of a declaration and the visibility of an identifier can mean the same

34

Page 35: Minor Project Report Format May 2011

thing, but they are not necessarily the same. Scope is the mechanism by which it is

possible to limit the visibility of declarations in a program. The visibility of an

identifier is that region of program text from which the object associated with the

identifier can be legally accessed. Scope can exceed visibility, but visibility cannot

exceed scope. Scope exceeds visibility when a duplicate identifier is used in an

inner declarative region, thereby hiding the object declared in the outer declarative

region. The original identifier cannot be used to access the first object until the

scope of the duplicate identifier (the lifetime of the second object) has end

4.5 BENEFIT:-C++ is used by hundreds of thousands of programmers in essentially every

application domain. This use is

supported by about a dozen independent implementations, hundreds of libraries,

hundreds of textbooks,

several technical journals, many conferences, and innumerable consultants.

Training and education at a

variety of levels are widely available.

than that On implementing this package the farm will get error free

data to analyze.

This package would limit the time and money factor involve in “Time

Table Management System”.

Maintenance is much easier and accurate than the existing manual

system.

Security features are somewhat higher of manual approach.

35

Page 36: Minor Project Report Format May 2011

5.FEASIBILITY REPORT

5.1 Technology and system feasibilityThe assessment is based on an outline design of system requirements in terms of Input, Processes, Output, Fields, Programs, and Procedures. This can be quantified in terms of volumes of data, trends, frequency of updating, etc. in order to estimate whether the new system will perform adequately or not. Technological feasibility is carried out to determine whether the company has the capability, in terms of software, hardware, personnel and expertise, to handle the completion of the project. When writing a feasibility report the following should be taken to consideration:

A brief description of the business

The part of the business being examined

The human and economic factor

The possible solutions to the problems

At this level, the concern is whether the proposal is both technically and legally feasible (assuming moderate cost).

5.2 Economic feasibilityEconomic analysis is the most frequently used method for evaluating the effectiveness of a new system. More commonly known ascost/benefit analysis, the procedure is to determine the benefits and savings that are expected from a candidate system and compare them with costs. If benefits outweigh costs, then the decision is made to design and implement the system. An entrepreneur must accurately weigh the cost versus benefits before taking an action.

Cost-based study: It is important to identify cost and benefit factors, which can be categorized as follows: 1. Development costs; and 2. Operating costs. This is an analysis of the costs to be incurred in the system and the benefits derivable out of the system.

36

Page 37: Minor Project Report Format May 2011

Time-based study: This is an analysis of the time required to achieve a return on investments. The future value of a project is also a factor.

5.3 Legal feasibilityDetermines whether the proposed system conflicts with legal requirements, e.g. a data processing system must comply with the local Data Protection Acts.

5.4 Operational feasibilityOperational feasibility is a measure of how well a proposed system solves the problems, and takes advantage of the opportunities identified during scope definition and how it satisfies the requirements identified in the requirements analysis phase of system development.

5.5 Schedule feasibilityA project will fail if it takes too long to be completed before it is useful. Typically this means estimating how long the system will take to develop, and if it can be completed in a given time period using some methods like payback period. Schedule feasibility is a measure of how reasonable the project timetable is. Given our technical expertise, are the project deadlines reasonable? Some projects are initiated with specific deadlines. You need to determine whether the deadlines are mandatory or desirable.

Design:

The goal of the design phase is to transform the requirements specified in the

SRS document into a structure that is suitable for implementing in some

programming language.

In this phase we followed Object-oriented design (OOD) approach. In this

technique, various objects that occur in the problem domain and solution domain

are first identified and then the different relationships exists among those objects

are identified.

37

Page 38: Minor Project Report Format May 2011

6.SYSTEM DESIGN & DEVELOPMENT

6.1 Design Pattern Used:

DAO (Data Access Object) Model

DTO (Data Transaction Object) Model

Data Access & Data Transfer Object Model:The Data Access Object (or DAO) pattern:

resource's client Separates a data interface from its data access mechanisms

Adapts a specific data resource's access API to a generic client interface

The DAO pattern allows data access mechanisms to change independently of the

code that uses the data.

The DAO design pattern is another abstraction layer over the persistence mechanism of the application. The application deals

38

DAO FACTORY

DATA ACCESS OBJECT

DATA TRANSFER OBJECT

BUSINESS OBJECT

DATA SOURCE

Page 39: Minor Project Report Format May 2011

with Data Access Objects and Data Transfer Objects (DTO) rather than directly calling the driver. Changing the persistence method at a later date doesn't require the application code to change, only adding a new set of DAOs. Using DAO in the web application allows more concentration on the data access rather than on the mechanics of how the data is stored and retrieved. The standardization provided by this new layer also makes it easier to

automatically generate the Java code necessary to access the database. Most Jcalls

are very repetitive and time consuming. Using a DAO Generator is a good way to

eliminate that work and make the application development faster

6.2 REQUIRMENTS:-Hardware configuration

Main processor : Pentium IV

Random access memory : 256 MB

Hard disk capacity : 40 GB

Software configuration

Operating system : Windows (2000, ME, NT, XP)

Programming specification : C++

Integrated Development

C & C++ graphics

39

Page 40: Minor Project Report Format May 2011

6.3 SCREENSHOTS:

MENU BAR

40

Page 41: Minor Project Report Format May 2011

41

Page 42: Minor Project Report Format May 2011

42

Page 43: Minor Project Report Format May 2011

43

Page 44: Minor Project Report Format May 2011

7. TESTING

44

Page 45: Minor Project Report Format May 2011

Testing is the one step in the software engineering process that could be viewed as destructive rather than constructive. Testing requires that the developer discard preconceived notions of the “correctness” of the software just developed and overcome a conflict of interest that occurs when errors are uncovered.

If testing is conducted successfully, it uncovers errors in the software. As a secondary benefit, testing demonstrates that software functions appear to be working according to the specification. Testing provides a good indication of software reliability and some indication of software quality as a whole.

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

As the developed software does not fulfill all the requirements of an organization, so it is not possible to test with real time data.

Still then we tried our best to test each individual module and also as an integrated modules (as a whole) with sufficient data that may an organization have, fulfilling the objective of our “Time Table Management System”.

Testing performs a very critical role for quality assurance and ensuring the reliability of the software. During testing, the program to be tested is executed with a set of test cases and output of the program for the test cases and output of the program for the test case is evaluated to determine if the program is performing as it is expected to. Hence

Testing is the process of executing a program with the intention of finding

errors.

A good test case is the one that has a high probability of finding as yet

undiscovered error.

A successful test is one yet uncovers as yet undiscovered errors.

Testing is performed according to two different strategies:

.7.1 Code Testing:

45

Page 46: Minor Project Report Format May 2011

The code testing strategy examines the logic of program i.e. the analyst develops test cases that results in executing every instruction in the program. Basically during code testing every path through the program is tested.

7.2 Specification Testing: To perform specification testing the analyst examines the specification starting what the program should do and how it should perform under various conditions. Then test cases are developed for each .In order to find which strategies to follow, levels of testing should be followedLevels of Testing

The basic levels are unit testing, integration testing, system testing and acceptance testing. These different levels of testing attempt to detect different types of faults. The different levels of testing are as follows:

7.2.1 Unit Testing:

In this testing different modules are tested against specification produced during design of the modules. Unit testing is essential for verification of code produced during the coding phase and hence its main goal is to test internal logic modules.7.2.2 Integration Testing:

In this testing tested modules are combined into subsystems which are then tested. The goal here is to see if the modules can be indicated properly and emphasis is being on testing interfaces between modules.7.2.3 System testing:

In this testing the entire software system is tested. The reference document for this process is the requirements document and the goal is to see if the system meets its requirements.

This is normally performing on realistic data of the client to demonstrate for the software is working satisfactorily. Testing here focus on external behavior of the system.

8. System Implementation 46

Page 47: Minor Project Report Format May 2011

Implementation is the stage of the project when the theoretical design turned into a

working system. At this stage the main workload, the up heal and the major impact

on the existing practices shift to user department. If the implementation stage is not

carefully planned and controlled, it can cause chaos. Thus it can be considered to

be the most crucial stage in achieving a new successful system and in giving the

users confidence that the users confidence that the new system will work and be

effective.

The implementation view of software requirements presents the real worlds

manifestation of processing functions and information structures. In some cases a

physical representation is developed as the first step in software design. However

most computer-based systems are specified in a manner that dictates

accommodation of certain implementation details.

Implementation involves careful planning, investigation of current system and

constraints on implementation, design of methods to achieve the changeover,

training of staff in the changeover procedures and evaluation of changeover

methods. The first task is the implementation planning i.e. deciding the methods

and time scale to be adopted.

Once the planning has been completed, the major effort in the computer

department is to ensure that the programs in the system are working properly. At

the same time the user department must concentrate on training user staff. What

the staffs have been trained, a full system test can be carried out, involving both the

computer and clerical procedures.

The main steps of implementation includes

1. Installing client machine.47

Page 48: Minor Project Report Format May 2011

2. Installing the software on the server.

3. Training the operational staff.

Requirements keep changing with time so the implementation of this

project may change with time hence implementation is an ongoing process, which

may change in future.

9. DISCUSSION

As we discussed earlier during project “time does not permit to complete the entire

project, so as a part of the whole is being carried out and being submitted as the

project in our curriculum. Total software along with extensive features will be

submitted as Major project”, here is the entire Time Table Management System

with extensive features fulfilling the requirements of any modern distribution

farms.

Although we have attempted to make the entire package full proof of errors, it may

have some inherent bugs (beyond out knowledge) as it is yet to being tested with

real time data.

Lastly, we will carry our effort in developing the software fulfilling the basic

requirements of any distributing farm, if time permits.

We do believe that the system will satisfy the basics and will prove to be user

friendly and effective software whenever it’s being implemented in the

organization.

10. LIMITATION

48

Page 49: Minor Project Report Format May 2011

. IT is not show the complete time table on a single table

.IT is only faculty name check

11 .FUTURE WORK:It is use to future in save the more time of college /school

This software use to future easy to allocate faculty and maintain is simple

It simple to use

12. ConclusionsSince conferences usually confront attendees with a large

amount of information, we tried to make this more manageable by creating a

generic tool-set. Our Conference TimeTable Management (CTTM) system

provides all the features

that we believe will make conference time-tables more easy to

manage for attendees as well as for organizers. The platform

requirements are rather moderate, but also create some limits

to the number of users that can be managed reasonably

13. BIBLIOGRAPHY:

.FOR C++ PROGRAMMING

www.planet-source-code.com

c++.sun.com

WIKIPEDIA, URL:

http://www.wikipedia.org

49

Page 50: Minor Project Report Format May 2011

GOOGLE, URL:

http://www.google.co.in

Books:-

C++ complete Reference by Balaguruswamy

C++ Theory(Balaguruswamy)

LET US ‘C’

Grady Booch: Object-Oriented Analysis and Design.

50