format for minor

Upload: karamvir-singh

Post on 04-Apr-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/29/2019 Format for Minor

    1/53

    A Minor Project Report

    onTIME 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 SanodiyaEnroll. No.

    0191CS081044

    .

    Under t he Supervision of

    Mss .Pr atishtha Singh Prof.

    RajeshBoghey(Asst. Proffesor) HOD

    TIT Excellence Department of C. S. E.

  • 7/29/2019 Format for Minor

    2/53

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

    BHOPAL

    To Whom ItMayConcern

    This is to certify that the work embodied in this Project entitled Time TableManagementhas 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 lifeGuided by:

    Miss .Pratishtha Singh Prof.RajeshBoghey

    (Asst. Proffesor) Head of

    Department of C. S. E. Department of C. S. E.

    Forwarded by:

    Dr. C.K. Teckchandani

    Director

    2

  • 7/29/2019 Format for Minor

    3/53

    TECHNOCRATS INSTITUTE OF TECHNOLOGY (EXCELLENCE),

    BHOPAL

    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 Managementis 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 orprofessional diploma.

    Name Enroll. No. Signature

    Mukesh Kumar Sanodiya 0191cs081044

    3

  • 7/29/2019 Format for Minor

    4/53

    Place: Bhopal

    Date: June 04, 2011

    CERTIFICATEOF 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

  • 7/29/2019 Format for Minor

    5/53

    ACKNOWLEDGEMENT

    Thanks GOD for giving me knowledge and abili ty to complete this work inthis finalform.

    The satisfaction that accompanies the succes s in completion of any task wouldbe incomplete without mentioning the people who made it possible, whose

    constant guidance and encouragement crowned oureffort with success .

    I feel pleasure in conveying my profound thanks to my Thesis guide, Miss.

    Pratishtha Singh (Ass t. Proffesor) TIT Excellence, for his constant Support,valuable Guidance and Encouragement. During the entire course of this projecthe reviewed with greatest care and his inno vative ideas led to the successful

    completion of this work. His continuous strong and encouragement had someveryprofoundeffec t on me that went beyond scientific supervision.

    I have bee n able to success fully complete this Proj ect bec ause of excellent

    guidance and infinite help given to me by my HOD Prof. Rajesh Boghey HeadDepartment of CSE. It is difficult to acknowledge adequately the help and

    encouragement I received from them but I take this oppor tunity to thanks them

    profusely.

    I wish to thank Dr. C.K. Teckchandani, DirectorTechnocrates Institute

    of Technology (Excellence),,Bhopal forhis 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.

    I am also thankful to my coll eagues and classmates who h elped me directly or

    indirectly thro ughout my proj ect work.

    5

  • 7/29/2019 Format for Minor

    6/53

  • 7/29/2019 Format for Minor

    7/53

    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 Introduction8

    Chapter 2 SRS...10

    Chapter 3 System Documentation.15

    3.1 Flowchart15

    3.2 Data Flow Diagram16

    3.3 Entity Relationship Diagram.. .21

    Chapter 4 Problem Description23

    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 Feasibility36

    7

  • 7/29/2019 Format for Minor

    8/53

    5.4 Operational Feasibility.36

    5.5 Schudle Feasibility36

    Chapter 6 System Design and Development..376.1 Design Pattern37

    6.2 Requirements..38

    6.3 Screenshots .....39

    Chapter7 Testing44

    Testing.45

    7.1 Code

    Testing..45

    7.2 Specification

    Chapter 8. System Implemention46

    Chapter 9 Discussion.47

    Chapter 10. Lmitation48

    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 Teache r timetable scheduling is a very

    arduous and time-consum ing task. College Timetable management module

    he lps you to gene rate class time table as well camp us and teacher time

    table. Time table management module organizes the campus wee k,

    holidays, breaks in between classes and subject teache r. Ti metable

    Management module automatically creates your Campus Timetable for

    classes, class teachers and student s. This module alsoallows you to gene rate

    temp orary timetables.

  • 7/29/2019 Format for Minor

    9/53

    8

  • 7/29/2019 Format for Minor

    10/53

    Class -Teache rTimetabling - Thisproblemis normallyassociatedwith

    Engineering College whe re the students are schedu led as a class. All

    students in the same classtake exact ly the same/different set of courses.

    Typically, teache rs and classesare busy most of the day, and the problem is

    to find times when each teacher can meet with his/her requ ired classeswith

    no conflicts

    We have decidedto investigate the use of a Ti metableManagement

    System. This system would be used by membe rs who may be students or

    professors/Teache rs of that College to che ck and u pdate the Ti metableof

    the Classes of College. The purpose of this document is to analyzeand

    elaborate on the high-level nee ds and features of the Ti metable

    Management System . Itfocuses on the capabilitiesand facilitiesprovidedby

    a Time table of Class .The details of what all are the needs of the Ti metable

    Management Sy stem and ifit fulfils the se nee ds are detailedin the use-case

    and supplement aryspecifications.

    Technology makes lifestyle easier by providing better support to

    different systems, better accuracy, better security options, easier

    maintenance, etc.

    Now a days 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

  • 7/29/2019 Format for Minor

    11/53

    2. SOFTWARE REQUIREMENT SPECIFICATION

    Purpose

    The purpose of So ftware Requirements Speci fica tion

    (SRS) document is to describe the external behavior of theTi metable Management System. Requirements Specification

    defines and d escribes the operations, inte rfaces,

    performance, and quality assurance requ irements of the

    Ti metable Management System. The document also describes the

    nonfunc tional requ irements such as the user inte rfaces. It also

    describes the design constraints that are to be

    10

  • 7/29/2019 Format for Minor

    12/53

    considered when the system is to be designed, and other factors

    nece ssary toprovide a complete and comprehensive description of the

    requ irements for the software. The Software Requirements

    Specification (SR S) captu res the complete software requ irements for

    the system, or a por tion of the system. Requirements described in this

    document are derived from the Vision Do cument prepared for

    TimetableManagement System.

    Scope

    Describethe scope of the softw are app licationtobe

    produced.Within the descriptionident ify the software produc t,

    describe its func tionality,and app lications of the softw are. Inc ludeany

    description of the bene fits,objectives,and goals of the software.

    User Characteristics

    Identify each type of user of the softw are by funct ion, location,

    and type of device. Spec ify the number of users in each group

    and the nature of the ir use of the system. Describe the

    characteristicsand inte ractions of the users that will inte ractwith

    the software during the ph ases of the software life cycle.

    System State/Assumptions,Dependencies and Constraints

    Assumptions

    Describe assumpt ions made that can affect the requ irements of

    the SRS. Assumptions are f actors that are believe to be true

    during the life cycle of the project, that ifchanged may affect the

    outc ome of the project.

    Dependencies

    Describe each depen dency that can affect the requirements

    specified in the SRS. Dependenc ies are outside of the scope

    and cont rol of the project and mu st remain true for the

    project to succee d.

    11

  • 7/29/2019 Format for Minor

    13/53

    Con straints

    Describe factors that limit the scope and func tionality of the

    software. Constraints are requ irements 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.

    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, semesters details.

    Scopes and boundaries of the package

    As it is a computer-based package so maintenance and workingis 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).

    12

  • 7/29/2019 Format for Minor

    14/53

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

    database for unsocial activities. Also easier to destroy the existing ones.

    Fun ction al Requirements

    The func tional requ irements sect ions should be customized to

    cont ain the information nece ssary to define the fundamental actions

    that must take place within the softw are to process inputs and

    to p rocess and gene rate outputs. Func tional requ irements

    should inc lude specific requ irements for business rules, wh ich

    describe and document the steps in a businessprocess .

    In the func tional requ irement subsect ions, specify all software

    requ irements to a level of detail sufficient to enablethe developer to

    build the software app lication. Each func tional requirement

    documented in the requ irements sect ions mu st have a unique

    identifier for requ irements traceability and should be ranked for

    importanceand/o rstability.

    Business Requirements

    Describe all requ irements from a businesspe rspect ive. Business

    requ irements are the parts of the fully definedbusinessprocess

    that willbe automated by the software.

    Non Functional Requirements

    The Non func tional requ irements sect ions should be customized

    to contain the information necessary to define the fundamental

    act ions that mu st take place within the software to process and

    gene rate its result. N on Func tional requ irements should inc lude

    specific requ irements for business rules, wh ich describe and

    document the steps in a businessprocess .

    LogicalDa ta Requirements

    Describethe logical data requ irements for the system.

    13

  • 7/29/2019 Format for Minor

    15/53

    User Requirements

    Describe the user requ irement s; these should captu re the

    inte ndedbehaviorof the human inte rface of the app lication.

    OverallDescription

    1. Infew minute s,the program gene rates a complete timetablethat

    fulfills all your requ irement s. The program follows allpsycho

    hygienicand organizational requ irements such as:

    2. Selection forNumber of working days of the week (ex. Saturday

    off)

    3. Ze ro (atten dance) period insertion

    4. Periodsper day selection.This selectionis day wise ex. Canbe

    made 4periodson Saturday etc.)

    5. Subjects could be entered considering

    6. Hard subjects in f irst 4 or 5 periods

    7. Subjectin which classroom

    8. Single or doubleduration consecutively

    9. Periodsper week per subject

    10. Type of subject ( Hard, easy)

    11. Subjects distribute deven ly for ent ire week

    14

  • 7/29/2019 Format for Minor

    16/53

    1

    3. System Document

    15

  • 7/29/2019 Format for Minor

    17/53

    1

    3.1FlowChart

    16

  • 7/29/2019 Format for Minor

    18/53

    1

    3.2 DATA FLOW DIAGRAM

    17

  • 7/29/2019 Format for Minor

    19/53

    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 frominput to output through processing logically and independently of the physical

    components that may be associated with the system.

    Physical Data Flow Diagrams

    The 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

    18

  • 7/29/2019 Format for Minor

    20/53

    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.

    NOT ATI ONS:

    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 Users request processed by the

    server with database interaction and sends the response back to the user.

    Feasibility St udy

    19

  • 7/29/2019 Format for Minor

    21/53

    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.

    20

  • 7/29/2019 Format for Minor

    22/53

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

    problem.

    Functional Fea s ibilit y :

    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.

    P r oject App r ovalThose 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 F LOW DIAGRAM

    Context Level D iagram

    AdministratorTime Table

    Management

    0.0

    Time Table

    21

  • 7/29/2019 Format for Minor

    23/53

    AdminAdmin

    Firs t Level DFD

    Admin Admin

    MasterEntry

    1.0

    Reporting2.0

    Report

    Da taStore

    DataStore

    Second Level DFD

    AdminAdmin

    BranchMaster

    1.1

    SubjectMaster1.2

    Branch

    Master

    Subject

    Master

    Admin

    PeriodMasLtearb

    1M

    .3aster1.4

  • 7/29/2019 Format for Minor

    24/53

    Teacher

    Master

    1.5

    22

    PeriodM

    Laab

    stM

    eraster

    Teacher

  • 7/29/2019 Format for Minor

    25/53

    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

    23

  • 7/29/2019 Format for Minor

    26/53

    24

  • 7/29/2019 Format for Minor

    27/53

    4. PROBLEM DISCRIPTION

    4.1 Product Perspective

    The rest of this document contains the following in thementionedorder:

    1- Ove rall description of theprojectand itsrequirements.

    2- Speci fic requirements for the project including

    the functionality, usability, reliabil ity, performance,

    security, safety, design constraints, and copy right and

    intellectualproperties.

    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, semesters details.

    25

  • 7/29/2019 Format for Minor

    28/53

    4.3 TECHNOLOGY DESCRIPTION:-

    4.3.1 C++:-

    This overview of C++ presents the key design, programming, andlanguage-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 Overview

    The 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 humans 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++:

    26

  • 7/29/2019 Format for Minor

    29/53

    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 Cs 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

    27

  • 7/29/2019 Format for Minor

    30/53

    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].

    28

  • 7/29/2019 Format for Minor

    31/53

    4.3.4 C++ Design Aims

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

    programming together with

    Simulas 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.

    29

  • 7/29/2019 Format for Minor

    32/53

    4.3.5 Design Principles

    In [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.

    Dont 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.

    _ Dont 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 -

    _

    30

  • 7/29/2019 Format for Minor

    33/53

    _ 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.

    31

  • 7/29/2019 Format for Minor

    34/53

    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 style

    32

  • 7/29/2019 Format for Minor

    35/53

    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 dont use, you dont 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

    33

  • 7/29/2019 Format for Minor

    36/53

    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 wasnt 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 Model

    A 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

    34

  • 7/29/2019 Format for Minor

    37/53

    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

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

  • 7/29/2019 Format for Minor

    38/53

    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.

    36

  • 7/29/2019 Format for Minor

    39/53

    5.FEASIBILITY REPORT

    5.1 Technology and system feasibility

    The 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 technicallyand le g ally feasible (assuming moderate cost).

    5.2 Economic feasibility

    Economic analysis is the most frequently used method for evaluating the

    effectiveness of a new system. More commonly known ascost/b e nefit

    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.

    37

    http://en.wikipedia.org/wiki/Legallyhttp://en.wikipedia.org/wiki/Legallyhttp://en.wikipedia.org/wiki/Cost-benefit_analysishttp://en.wikipedia.org/wiki/Cost-benefit_analysishttp://en.wikipedia.org/wiki/Cost-benefit_analysishttp://en.wikipedia.org/wiki/Cost-benefit_analysishttp://en.wikipedia.org/wiki/Cost-benefit_analysishttp://en.wikipedia.org/wiki/Cost-benefit_analysishttp://en.wikipedia.org/wiki/Legally
  • 7/29/2019 Format for Minor

    40/53

    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 feasibility

    Determines whether the proposed system conflicts with legal requirements,

    e.g. a data processing system must comply with the local Data ProtectionActs.

    5.4 Operational feasibility

    Operational 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 feasibility

    A 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.

    De s ign:

    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.

    38

  • 7/29/2019 Format for Minor

    41/53

    6.SYSTEM DESIGN & DEVELOPMENT

    6.1 Design Pattern Used:

    DAO (Data Access Object) Model

    DTO (Data Transaction Object) Model

    Data Access & Data Transfer Object Mode l:

    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.

    DAO FACTORY

    BUSINESS OBJECTDATA ACCESS OBJECT

    DATA

    SOURC

    E

    DATA TRANSFER

    OBJECT

    The DAO design pattern is another abstraction layer over the

    persistence mechanism of the application. The application deals

    39

  • 7/29/2019 Format for Minor

    42/53

    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

    40

  • 7/29/2019 Format for Minor

    43/53

    6.3 SCREENSHOTS:

    M E N U B A R

    41

  • 7/29/2019 Format for Minor

    44/53

    42

  • 7/29/2019 Format for Minor

    45/53

    43

  • 7/29/2019 Format for Minor

    46/53

    44

  • 7/29/2019 Format for Minor

    47/53

    7. TESTING

    45

  • 7/29/2019 Format for Minor

    48/53

    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 asit 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:

    46

  • 7/29/2019 Format for Minor

    49/53

    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 startingwhat 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 followed

    Levels 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 T e s t ing:

    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 I n t egration T e s t ing:

    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 Sy s t em t e s t in g :

    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

    47

  • 7/29/2019 Format for Minor

    50/53

    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.

    48

  • 7/29/2019 Format for Minor

    51/53

    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 its being implemented in theorganization.

    10. LIMITATION

    49

  • 7/29/2019 Format for Minor

    52/53

    . 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. Conclusions

    Since 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

    WIKIPEDIA, URL:

    www.planet - s ou r ce-code.com

    c++.sun.com

    http://www.wikipedia.org

    50

    http://www.planet-source-code.com/http://www.wikipedia.org/http://www.planet-source-code.com/http://www.wikipedia.org/
  • 7/29/2019 Format for Minor

    53/53

    GOOGLE, URL:

    Books: -

    http://www.google.co.i n

    C++ complete Reference by Balaguruswamy

    C++ Theory(Balaguruswamy)

    LET US C

    Grady Booch: Object-Oriented Analysis and Design.

    http://www.google.co.in/http://www.google.co.in/