Student Mgt Documentation

Embed Size (px)

Citation preview

  • 8/3/2019 Student Mgt Documentation

    1/104

    ACKNOWLEDGEMENT

    TABLE OF CONTENTS

  • 8/3/2019 Student Mgt Documentation

    2/104

    S.NO. CONTENTS

    1. INTRODUCTION

    1.1 ORGANIZATION PROFILE

    1.2 ABSTRACT

    2 . SYSTEM ANALYSIS

    2.1 EXISTING SYSTEM

    2.3 PROPOSED SYSTEM

    2.4 REQUIREMENT ANALYSIS

    2.5 REQUIREMENT SPECIFICATIONS

    2.6 FEASIBILITY STUDY

    3. SYSTEM DESIGN

    3.1 PROJECT MODULES

    3.2 DATA DICTIONARY

    3.3 HARDWARE AND SOFTWARE REQUIRMENTS

    4. SYSTEM TESTING

    6. TECHNICLAL NOTES

    6.1 INTRODUCTION TO REAL TIME PROGRAMMING

    6.2 INTRODUCTION TO OOPS AND WINDOWS6.3 INTRODUCTION TO JAVA

    7. BIBILOGRAPHY

    1. INTRODUCTION

  • 8/3/2019 Student Mgt Documentation

    3/104

    The main objective of the proposed solution is to be automated

    the various functions and activities of the Student Information

    through standard application program. The solution will facilitate

    to the student details with the different modules. This solution is

    very much necessary for the Administrator of the entire system.The Information system will take a new feature having to modify

    and updated the database . Using this solution the student

    information can generate various kinds of reports.

    STUDENT INFORMATION MANAGEMENT

    SYSTEMThe Student Information management System application is a record

    keeping system. This application allows the administrative department of an

    educational institution to collect accurate and comprehensive student

    information. It allows authorized users to access the system by typing a

    valid login name and password. This application enables you to enter the

    details of new students joining the institute. It also enables due to modify

    the records of existing students and delete the records of students that have

    left the institute. This application provides an interface using java swings

    and uses java database connectivity(JDBC) for establishing connection with

    the student database.

    EXISTING SYSTEM:

    Currently, whenever a Student wants to a join in a institute, he go to there

    for enquiry the councilor takes all the details of the student. Here we maintain

    all details in a book. It is a time consuming process to modify and remove the

    records. There may be a chance to do the mistakes but the system never.

    PROPOSED SYSTEM:

    In order to eliminate the drawbacks of the existing system, a system has

    been developed due to which the councilor need not spend much time in

    taking the details of a student, he can easily modify and delete the records

    of a student. The database is built that takes care of every transaction

    thereby reducing the burden on administrator.

  • 8/3/2019 Student Mgt Documentation

    4/104

    PURPOSE:

    The purpose of the system, which has been developed, is to allow an

    administrator to enter the details of a student , modify the details andwhenever the student completes his course it can be deleted. This will also

    save a lot of time and gives the accurate information.

    Hardware and Software requirements

    Software requirements

    Technologies : Java

    Operating System : windows 2000 /SP

    Hardware requirements

    Processor : Intel Pentium based

    system

    Processor Speed : 250 MHz to 833 MHz

    RAM 256 MB

    2.SYSTEM ANALYSIS

    EXISTING SYSTEM:

  • 8/3/2019 Student Mgt Documentation

    5/104

    Currently, whenever a Student wants to a join in a institute, he go to there

    for enquiry the councilor takes all the details of the student. Here we maintain

    all details in a book. It is a time consuming process to modify and remove the

    records. There may be a chance to do the mistakes but the system never.

    PROPOSED SYSTEM:

    In order to eliminate the drawbacks of the existing system, a system has

    been developed due to which the councilor need not spend much time in

    taking the details of a student, he can easily modify and delete the records

    of a student. The database is built that takes care of every transaction

    thereby reducing the burden on administrator.

    PURPOSE:

    The purpose of the system, which has been developed, is to allow an

    administrator to enter the details of a student , modify the details and

    whenever the student completes his course it can be deleted. This will also

    save a lot of time and gives the accurate information.

    Modules:

    AdminModule:This module deals with the registration of students, taking the

    on line registration in feature this is able to deal with the all components of the

    system in this module the privilizers are given to the different users who are

    accessing this system .

    Login Module:The login module will validate the user based on the user

    name and password, if the entered userid and pwd is valid then based on the

    designation the privileges are being accessed by that user.

    Student Report : In this report we can take the student details based on the

    student id .

  • 8/3/2019 Student Mgt Documentation

    6/104

    SYSTEM ANALYSIS

    SYSTEM DEFINITION:

    Requirement Analysis: -

    A requirement is a feature that must be included in the system.

    Before the actual design and implementation start, getting to know the

    system to be implemented is of prime importance.

    Main emphasis should be on:

    The inputs to the system.

    The outputs expected from the system.

    The people involved in the working of the system.

    The volume of DATA (INPUTS) and the amount of

    INFORMATION (outputs) that will be involved.

    With respect to the system itself, the following facts should be

    taking into consideration

    The major processes involved.

    The main points of application.

    The processing rules for the collected data.

    The exceptions that may be present.

    The checks that should be in place in order to avoid wrong

    entries.

  • 8/3/2019 Student Mgt Documentation

    7/104

    PROJECT SCHEDULE STUDY PHASE

    In the study phase we do the preliminary investigation and

    determine the system requirements. We study the system and collect

    the data to draw the dataflow diagrams. We follow the methods like

    questions and observation to find the facts that are involved in the

    process. This is an important because if the specification study is not

    done properly then following design phase etc will go wrongly.

    DESIGN PHASE

    In this design phase we design the system making use of study

    phase and the data flow diagrams. We make use the general access

    methods for designing. We consider the top down approach. In the

    design phase we determine the entities and their attributes and the

    relationships between the entities. We do both logical and the physical

    design of the system.

    DEVELOPMENT PHASE

    In the development phase we mostly do the coding part following

    the design of the system. We follow modular programming for

    development and after development and after developing each and

    every module we do the unit testing followed by the integrationtesting.

    IMPLEMENTATION PHASE

  • 8/3/2019 Student Mgt Documentation

    8/104

    The last phase of the project is the implementation phase.

    Quality assurance is the primary motive in this phase. The quality

    assurance is the review of software products and related

    documentation for completeness, correctness, reliability andmaintainability. The philosophy behind the testing is it finds errors. The

    testing strategies are of two types, the code testing and the

    specifications testing. In the code testing we examining the logic of the

    program. On the surface, code testing seems to be ideal methods for

    testing software, but no tall software errors are uncovered.

    FEASIBILITY STUDY

    Investigation

    For the study of the project, I went for the various software

    Development organizations There I met the Admin There we got the

    Information about various levels of student management system

    assigned for each phase.

    The different functions are LonginDetails, AnalysisDetails, and

    Student Activity analysis. The data all about the above are stored in

    different registers (admin register, subadmin register, student register,

    course register) in different departments.

    In manual process whenever project came they maintain

    registers to store Admin details, student proposed for each phase like

    analysis, design.

    According to the requirements we divided this manual process

    Into 3phases:

    AdminPhase:

  • 8/3/2019 Student Mgt Documentation

    9/104

    StudentPhase:

    Report Phase:

    After problem is clearly understood and Solutions are proposed

    the next step is to conduct the feasibility study, which is the part of the

    system analysis. The main objective of this study is to determine

    whether the proposed system is feasible or not. Solutions strategies

    are usually generated \without regard for feasibility because one

    cannot be both creative & critical at the same time. Hence feasibility

    analysis is a must to arrive at the most appropriate solution strategy.

    This feasibility analysis is done after the thorough study of the system.

    The planning objective is achieved through a process of

    information discovery that leads to reasonable estimation.

    Keeping the following aspect in mind the system analysis for the

    development of the project

    Identify the drawbacks of the existing system.

    Identify the need for conversion.

    Perform feasibility study.

    Identify hardware, software and the database requirements.

    Create a system definition that forms the foundation for the

    subsequent work.

    Software scope:

  • 8/3/2019 Student Mgt Documentation

    10/104

    The first activity in software project planning is the determination

    of software scope. Function and performance allocated to software

    should be assessed to establish a project scope. Software scope

    describes function, performance, constraints and reliability.

    Estimation :

    Software project planning estimate can do many ways, such as

    LOC (line of code)-based estimation, FP (function point) estimation.

    Process-based estimation. We should select best of one depending on

    the requirement.

    Resource availability:

    The resources, which are common to any system consist, of

    human effort, information and development resource. Developing any

    system any system without satisfactory resources is inappropriate and

    impossible.

    The design development team for this project consists of three

    members who are responsible for software development and internal

    testing. Information assembly is to this project as with every other

    project. Various sources of Information are available.

    Human resources:

    The number of people required for a software development can

    be determined only after an estimate of development effort. The

  • 8/3/2019 Student Mgt Documentation

    11/104

    planner begins by evaluating scope and selecting the skills required to

    complete development.

    Reusable software resources:

    Existing software that can be acquired from a third party or that has been

    developed internally for past project.

    Environmental resources:

    The environment that supports the software, often called a

    software engineering environment (SEE). Hardware provides theplatform that supports the tools required.

    Operational feasibility:

    It determines how much effort will go into educating, selling and

    training the user staff on a candidate system. People are inherently

    resistant to change and computers have been known to facilitate

    changes. An estimate should be made of how strong a reaction the

    user staff is likely to have towards the development of a computerized

    system.

    Operational feasibility checks the operational scope of the

    system. The system under consideration should have enough

    operational reach. It is observed that the proposed system would

    provide a very interactive means to share information and have a far

    and wide reach. The proposed system would make the information

    more interactive. Thus operational feasibility of the proposed system is

    found to be high.

  • 8/3/2019 Student Mgt Documentation

    12/104

    Technical feasibility:

    Technical feasibility centers on the existing computer system and

    to what extent it can support the proposed addition. The benefits such

    as high accuracy, minimum response time and user friendliness of the

    proposed system our weights cost for designing and installing the new

    system.

    The level of technology comprises of the software tools, the

    development platform and the machine environment, which already

    exists within the organization. Since all the required tools and platform

    that were mentioned above were already available, the technicalfeasibility of this project ids justified.

    The procedure in the economic feasibility analysis is to determine

    the benefits and savings that we expected from a candidate system

    and compare them with cost. If benefits overweigh cost then design

    decision is made to design and implement the system. The major

    disadvantages of the existing system are slow transmission of

    information between various locations and increased average waiting

    time. By the candidate system we can reduce processing charges and

    time of processing. By comparing the benefits with the cost of the

    proposed system benefits out weights costs.

    System analysis.

    3.1 PROJECT MODULES

    The modules and their roles are:

  • 8/3/2019 Student Mgt Documentation

    13/104

    Login user: the user enter to the system, and enter the login form, the login user name and

    password is valid or not . The user is to maintain the student information about the project.

    Administrator: The Administrator is the main user and the admin will have to privilege to entire

    the system, so Administrator will have to update and delete the student details of the entire

    system.

    DESIGN PHASE

    INTRODUCTION:

    Design is the first step in the development of any engineered product or system. It

    may be defined as the process of applying various techniques and principles for the

    purpose of defining a device, a processor or a system insufficient detail to permit its

    physical reallzation.

    In the design phase the detailed design of the system selected in

    the study takes place. System design is stated by reviewing the study

    phase activities and making decisions as to which functions are to be

    performed by hardware, software or manually. This process through

    which the initial requirements are specified in the study phase are

    translated into a representation of the software. Initially, the

    representation depicts holistic view of the software. Subsequent

    refinement leads to a design representation, which is very close to that

    of the source code. The design phase recommendations are presented

    as reports to the user. The following steps are followed in designing

    software.

    a. The statements of functions desired from software to be

    developed are recognized.

  • 8/3/2019 Student Mgt Documentation

    14/104

    b. The database design steps are applied to identify the various

    entities and relationships between them.

    c. General access methods are then applied to the conceptual

    schema to get the logical model, which is then further transformed into

    relational tables.

    d. The concept of software engineering is then applied to get

    the logical architecture of the system comprising of different

    modules, each containing all related functions.

    3.2 DATA DICTIONARY

    Data dictionary consists of descriptions of all the data used in the system. It consists of

    logical characteristic of current systems data stores including name, description, aliases,

    contents and organization. Data dictionary serves as basis for identifying databases

    requirements during requirements during system design. Data dictionary is a catalog a

    repository of the elements in the system. The Data dictionary is used to manage the detail in

    large systems, to communicate a common meaning for all system elements, to document the

    features of the system elements, to document the feature of the system, to locate errors and

    omissions in the system.

    Data dictionary contains two types of description for the data flowing through the

    system: Data element and Data structure. Data Element are used to group together to make

    up the Data Structure. The most fundamental level is the data element. Data Structure is a set

    of data items data related to one another and collectively describe a component in the system.

    The description of the data elements consists of data names, data description, aliases, and

    length and data values. The description of data structure consists sequence relationship,selection , Iteration relationship and option relationship.

    TABLE NAME: LOGIN

  • 8/3/2019 Student Mgt Documentation

    15/104

    This table describes the user and password for the Admin To

    Login

    To the system

    Ser.NO FIELD NAME DATA TYPE CONSTRAINT

    1. NAME VARCHAR2(20)

    NULL

    2. PASSWORD VARCHAR2(20)

    NULL

    S.NO FIELD NAME DATATYPE CONSTRAIN

    1. STUDENTID NUMBER(6)

    PrimaryKey

    2. LASTNAME VARCHAR2(15)

    NULL

    3. FIRSTNAME VARCHAR2(15)

    NULL

    4. JOINDATE VARCHAR2(15)

    NULL

  • 8/3/2019 Student Mgt Documentation

    16/104

    TABLE NAME: STUDENT

    This table describes the all the details of the student with uniqueids and the name of the

    student this table maintains the master details of the student only

    once.

    UML Diagrams

    3.4 UMLDIAGRAMS

    UML is a notation that resulted from the unification

    Of Object Modeling Technique and Object Oriented Software Technology

    .UML has been designed for broad range of application.

    Hence, it provides constructs for a broad range of systems and activities.

    AN OVERVIEW OF UML IN FIVE NOTATIONS

    1.USE CASE DIAGRAMS

    Use cases are used during requirements elicitation and analysis

  • 8/3/2019 Student Mgt Documentation

    17/104

    To represent the functionality of the system. Use cases focus on the behaviour of the

    system from the external point of view. The actor is

    Outside the boundary of the system, whereas the use cases are inside the boundary of

    the system.

    2.CLASS DIAGRAMS

    Class diagrams to describe the structure of the system. Classes

    Are abstraction that specify the common structure and behaviour of a set

    Of objects.

    Class diagrams describe the system in terms of objects, classes, attributes,

    operations and their associations.

    3.SEQUENCE DIAGRAMS

    Sequence diagrams are used to formalize the behaviour of the system and to

    visualize the communication among objects. They are useful for identifying additional objects

    that participate in the use cases. A Sequence diagram represents the interaction that take place

    among these objects.

    4.STATECHART DIAGRAMS

    State chart diagrams describe the behaviour of an individual object as a number

    of states and transitions between these states. A state represents a particular set of values for

    an object. The sequence diagram focuses on the messages exchanged between objects, the

    state chart diagrams focuses on the transition between states .

    5.ACTIVITY DIAGRAMS

  • 8/3/2019 Student Mgt Documentation

    18/104

    An activity diagram describes a system in terms of activities. Activities are states

    that represent the execution of a set of operations. Activity diagrams are similar to flowchart

    diagram and data flow.

    Class diagram for student management:

    Sequence Diagram:

  • 8/3/2019 Student Mgt Documentation

    19/104

    Use Case Diagram:

  • 8/3/2019 Student Mgt Documentation

    20/104

    Activity Diagram:

    4.Technical Notes

    HISTORY OF JAVA

    Java language was developed by James Gosling and his team at

    sun micro systems and released formally in 1995. Its former

    name is oak. Java Development Kit 1.0 was released in 1996. to

    popularize java and is freely available on Internet.

    Overview of Java

  • 8/3/2019 Student Mgt Documentation

    21/104

    Java is loosely based on C++ syntax, and is menat to be

    Object-Oriented Structure of java is midway between an

    interpreted and a compiled language . java programs are

    compiled by the java compiler into Byte Codes which are secure

    and portable across different platforms . these byte codes are

    essentially instructions encapsulated in single type, to what is

    known as ajava virtual machine (JVM) which resides instandard

    browser.

    JVM verifies these byte codes when downloaded by the browser

    for integrity. Jvms are available for almost all OS. JVM converts

    these byte codes into machine specific instructions at runtime.

    FEATURES OF JAVA

    java is object-oriented language and supports

    encapsulation, inheritance , polymorphism and

    dynamic binding , but does not support multiple

    inheritance.every thing in java is an object except some

    primitive datatypes .

    java is portable architecture neutral that is java

    programs once compiled can be executed on any

    machine that is enabled.

    JAVA is distributed in its approach and used for internet

    programming.

  • 8/3/2019 Student Mgt Documentation

    22/104

    Java is robust, secured, high performing and dynamic in

    nature.

    Java supports multithreading. There for different parts

    of the program can be executed at the same time

    JAVA AND INTERNET

    Java is strongly associated with internet and known as

    internet programming language. Internet users can use java to

    create applet programs and run them locally using java enabled

    browser search as hot java. Applets can be downloaded from

    remote machine via internet and run it on local machine .

    JAVA AND WORLD WIDE WEB

    World wide web is an open ended information retrieval

    system designed to be used in the distributed environment. This

    system contains web pages that provide both information and

    controls. We can navigate to a new web page in any direction.

    This is made possible worth HTML java was meant to be used in

    distributed environment such as internet. So java could be easily

    incorporated into the web system and is capable of supporting

    animation graphics , games and other special effect. The web has

    become more dynamic and interactive with support of java. We

    can run a java program on remote machine over internet with the

    support of web .

    JAVA ENVIRONMENT

  • 8/3/2019 Student Mgt Documentation

    23/104

    Java environment includes a large no.of tools which are part

    of the system known as java development kit (JDK) and hundreds

    of classes, methods, and interfaces grouped into packages forms

    part of java standard library(JSL).

    JAVA ARCHITECTURE

    Java architecture provides a portable , robust , high

    performing environment for development. Java provides

    portability by compiling the byte codes for the java virtual

    machine which are then interpreted on each platform by the

    runtime environment . java also provides stringent compile and

    runtime checking and automatic memory management in order to

    ensure solid code .

    JAVA VIRTUAL MACHINE

    When we compile the code, java compiler creates machine

    code (byte code) for a hypothetical machine called java virtual

    machine (jvm). The jvm will execute the byte code and

    overcomes the issue of portability . the code is written and

    compile for one machine and interpreted all other machines . this

    machine is called java virtual machine .

    PARADIGM OF JAVA

    Dynamic down loading applets(small application

    programs);

  • 8/3/2019 Student Mgt Documentation

    24/104

  • 8/3/2019 Student Mgt Documentation

    25/104

    The GridBagLayout class is a flexible layout manager that aligns components

    vertically and horizontally, without requiring that the components be of the same size. Each

    GridBagLayout object maintains a dynamic, rectangular grid of cells, with each componentoccupying one or more cells, called its display area.

    Each component managed by a GridBagLayout is associated with an instance of

    GridBagConstraints. The constraints object specifies where a component's display area should

    be located on the grid and how the component should be positioned within its display area. In

    addition to its constraints object, the GridBagLayout also considers each component's minimum

    and preferred sizes in order to determine a component's size.

    The overall orientation of the grid depends on the container'sComponentOrientation property.

    For horizontal left-to-right orientations, grid coordinate (0,0) is in the upper left corner of the

    container with x increasing to the right and y increasing downward. For horizontal right-to-leftorientations, grid coordinate (0,0) is in the upper right corner of the container with x increasingto the left and y increasing downward.

    The GridLayout class is a layout manager that lays out a container's components

    in a rectangular grid. The container is divided into equal-sized rectangles, and one component is

    placed in each rectangle.

    If the container's ComponentOrientation property is horizontal and left-to-right, the aboveexample produces the output shown in Figure 1. If the container's ComponentOrientation

    property is horizontal and right-to-left, the example produces the output shown in Figure 2.

    http://java.sun.com/j2se/1.4.2/docs/api/java/awt/GridBagConstraints.htmlhttp://java.sun.com/j2se/1.4.2/docs/api/java/awt/ComponentOrientation.htmlhttp://java.sun.com/j2se/1.4.2/docs/api/java/awt/ComponentOrientation.htmlhttp://java.sun.com/j2se/1.4.2/docs/api/java/awt/ComponentOrientation.htmlhttp://java.sun.com/j2se/1.4.2/docs/api/java/awt/GridBagConstraints.html
  • 8/3/2019 Student Mgt Documentation

    26/104

    Figure 1: Horizontal, Left-to-Right Figure 2: Horizontal, Right-to-Left

    When both the number of rows and the number of columns have been set to non-zero values,

    either by a constructor or by the setRows and setColumns methods, the number of columns

    specified is ignored. Instead, the number of columns is determined from the specified number or

    rows and the total number of components in the layout. So, for example, if three rows and two

    columns have been specified and nine components are added to the layout, they will be displayedas three rows of three columns. Specifying the number of columns affects the layout only when

    the number of rows is set to zero.

    A layout manager that allows multiple components

    to be laid out either vertically or horizontally. The componentswill not wrap so, for example, a vertical arrangement of

    components will stay vertically arranged when the frame is

    resized.

    Nesting multiple panels with different combinations of horizontaland vertical gives an effect similar to GridBagLayout, without the

    complexity. The diagram shows two panels arranged horizontally,

    each of which contains 3 components arranged vertically.

    The BoxLayout manager is constructed with an axis parameter that specifies the type of layoutthat will be done. There are four choices:

    X_AXIS - Components are laid out horizontally from left to right.

    Y_AXIS - Components are laid out vertically from top to bottom.

    LINE_AXIS - Components are laid out the way words are laid out in a line, based on the

    container's ComponentOrientation property. If the container's ComponentOrientation is

    horizontal then components are laid out horizontally, otherwise they are laid out vertically. For

    horizontal orientations, if the container's ComponentOrientation is left to right thencomponents are laid out left to right, otherwise they are laid out right to left. For verticalorientations components are always laid out from top to bottom.

    PAGE_AXIS - Components are laid out the way text lines are laid out on a page, based on the

    container's ComponentOrientation property. If the container's ComponentOrientation is

    horizontal then components are laid out vertically, otherwise they are laid out horizontally. For

    horizontal orientations, if the container's ComponentOrientation is left to right then

  • 8/3/2019 Student Mgt Documentation

    27/104

    components are laid out left to right, otherwise they are laid out right to left. For vertical

    orientations components are always laid out from top to bottom.

    For all directions, components are arranged in the same order as they were added to thecontainer.

    BoxLayout attempts to arrange components at their preferred widths (for horizontal layout) or

    heights (for vertical layout). For a horizontal layout, if not all the components are the same

    height, BoxLayout attempts to make all the components as high as the highest component. Ifthat's not possible for a particular component, then BoxLayout aligns that component vertically,

    according to the component's Y alignment. By default, a component has a Y alignment of 0.5,

    which means that the vertical center of the component should have the same Y coordinate as the

    vertical centers of other components with 0.5 Y alignment.

    Similarly, for a vertical layout, BoxLayout attempts to make all components in the column as

    wide as the widest component. If that fails, it aligns them horizontally according to their X

    alignments. ForPAGE_AXIS layout, horizontal alignment is done based on the leading edge of thecomponent. In other words, an X alignment value of 0.0 means the left edge of a component if

    the container's ComponentOrientation is left to right and it means the right edge of the

    component otherwise.

    Instead of using BoxLayout directly, many programs use the Box class. The Box class is alightweight container that uses a BoxLayout. It also provides handy methods to help you use

    BoxLayout well. Adding components to multiple nested boxes is a powerful way to get the

    arrangement you want.

    A border layout lays out a container, arranging and resizing its components to fit

    in five regions: north, south, east, west, and center. Each region may contain no more than one

    component, and is identified by a corresponding constant: NORTH, SOUTH, EAST, WEST, and

    CENTER. When adding a component to a container with a border layout, use one of these five

    constants

    In addition, BorderLayout supports the relative positioning constants, PAGE_START,

    PAGE_END, LINE_START, and LINE_END. In a container whose ComponentOrientation is set to

    ComponentOrientation.LEFT_TO_RIGHT, these constants map to NORTH, SOUTH, WEST, and

    EAST, respectively.

    For compatibility with previous releases, BorderLayout also includes the relative positioning

    constants BEFORE_FIRST_LINE, AFTER_LAST_LINE, BEFORE_LINE_BEGINS and

    AFTER_LINE_ENDS. These are equivalent to PAGE_START, PAGE_END, LINE_START and LINE_END

    respectively. For consistency with the relative positioning constants used by other components,

    the latter constants are preferred.

  • 8/3/2019 Student Mgt Documentation

    28/104

    Mixing both absolute and relative positioning constants can lead to unpredicable results. If you

    use both types, the relative constants will take precedence. For example, if you add components

    using both the NORTH and PAGE_START constants in a container whose orientation is

    LEFT_TO_RIGHT, only the PAGE_START will be layed out.

    NOTE: Currently (in the Java 2 platform v1.2), BorderLayout does not support verticalorientations. The isVertical setting on the container's ComponentOrientation is not

    respected.

    The components are laid out according to their preferred sizes and the constraints of the

    container's size. The NORTH and SOUTH components may be stretched horizontally; the EAST and

    WEST components may be stretched vertically; the CENTER component may stretch both

    horizontally and vertically to fill any space left over.

    Here is an example of five buttons in an applet laid out using the BorderLayout layout manager:

    The code for this applet is as follows:

    A CardLayout object is a layout manager for a container. It treats each component in the

    container as a card. Only one card is visible at a time, and the container acts as a stack of cards.The first component added to a CardLayout object is the visible component when the container

    is first displayed.

  • 8/3/2019 Student Mgt Documentation

    29/104

    The ordering of cards is determined by the container's own internal ordering of its component

    objects. CardLayout defines a set of methods that allow an application to flip through these

    cards sequentially, or to show a specified card.

    2 Applets

    An applet is a special kind of Java program that a browser enabled

    with Java technology can download from the internet and run. An

    applet is typically embedded inside a web-page and runs in the

    context of the browser. An applet must be a subclass of the

    java.applet.Applet class, which provides the standard

    interface between the applet and the browser environment.

    Swing provides a special subclass of Applet, called

    javax.swing.JApplet, which should be used for all applets that

    use Swing components to construct their GUIs.

    By calling certain methods, a browser manages an applet life cycle, if

    an applet is loaded in a web page.

    Life Cycle of an Applet:

    Basically, there are four methods in the Applet class on which any

    applet is built.

    init: This method is intended for whatever

    initialization is needed for your applet. It is called after

    the param attributes of the applet tag.

    start: This method is automatically called after

    init method. It is also called whenever user returns to

    the page containing the applet after visiting other

    pages.

  • 8/3/2019 Student Mgt Documentation

    30/104

    stop: This method is automatically called

    whenever the user moves away from the page

    containing applets. You can use this method to stop an

    animation.

    destroy: This method is only called when the

    browser shuts down normally.

    Thus, the applet can be initialized once and only once, started and

    stopped one or more times in its life, and destroyed once and onlyonce.

    For more information on Life Cylce of an Applet,

    please refer toThe Life Cycle of an Applet section.

    Applets vs. Applications

    In the early days of Java, one of the critical advantages that Java

    applets had over Java applications was that applets could be easily

    deployed over the web while Java applications required a more

    cumbersome installation process. Additionally, since applets are

    downloaded from the internet, by default they have to run in a

    restricted security environment, called the "sandbox", to ensure they

    don't perform any destructive operations on the user's computer, such

    as reading/writing to the filesystem.

    However, the introduction of Java has made it possible for Java

    applications to also be easily deployed over the web, as well as run in

    a secure environment. This means that the predominant difference

    http://java.sun.com/docs/books/tutorial/deployment/applet/lifeCycle.htmlhttp://java.sun.com/docs/books/tutorial/deployment/applet/lifeCycle.html
  • 8/3/2019 Student Mgt Documentation

    31/104

    between a Java applet and a Java application is that an applet runs in

    the context of a web browser, being typically embedded within an

    html page, while a Java application runs standalone, outside the

    browser. Thus, applets are particularly well suited for providing

    functions in a web page which require more interactivity or animation

    than HTML can provide, such as a graphical game, complex editing,

    or interactive data visualization. The end user is able to access the

    functionality without leaving the browser.

    Loading Applets in a Web Page

    In order to load an applet in a web page, you

    must specify the applet class with appropriate applet

    tags. A simple example is below:

    For development and testing purposes, you can run your applet using

    the lightweight appletviewer application that comes with the JDK.

    For example, if AppletWorld.html is the html file name, then you run

    the command as

    appletviewer AppletWorld.html

    Once you know your applet runs within the appletviewer, it isimportant to test your applet running in a web browser by loading the

    applet's web page into the browser window. The browser can retrieve

    the class files either from the internet or from the local working

    directory used during development. If you make changes to your

  • 8/3/2019 Student Mgt Documentation

    32/104

    applet's code while it is loaded in the browser, then you must

    recompile the applet and press the "Shift + Reload" button in the

    browser to load the new version.

    Swings

    Swing is important to develop Java programs with a graphical user interface

    (GUI). There are many components which are used for the building of GUI in

    Swing. The Swing Toolkit consists of many components for the building of GUI.

    These components are also helpful in providing interactivity to Java

    applications. Following are components which are included in Swing toolkit:

    list controls

    buttons

    labels

    tree controls

    table controls

    The main characteristics of the Swing toolkit

    platform independent

    customizable

    extensible

    configurable

    lightweight

  • 8/3/2019 Student Mgt Documentation

    33/104

    Swing is probably the most advanced toolkit on this planet. It has

    a rich set of widgets. From basic widgets like Buttons, Labels,

    Scrollbars to advanced widgets like Trees and Tables.

    All AWT flexible components can be handled by the Java Swing. Swing toolkit

    contains far more components than the simple component toolkit. It is unique to

    any other toolkit in the way that it supports integrated internationalization,a

    highly customizable text package, rich undo support etc. Not only this you can

    also create your own look and feel using Swing other than the ones that are

    supported by it. The customized look and feel can be created using Synth which is

    specially designed. Not to forget that Swing also contains the basic user interface

    such as customizable painting, event handling, drag and drop etc.

    Swing is a part of JFC, Java Foundation Classes. It is a collection

    of packages for creating full featured desktop applications. JFC

    consists of AWT, Swing, Accessibility, Java 2D, and Drag and

    Drop. Swing was released in 1997 with JDK 1.2. It is a maturetoolkit.

    The Java platform has Java2D library, which enables developers

    to create advanced 2D graphics and imaging.

    There are basically two types of widget toolkits.

    Lightweight

    Heavyweight

  • 8/3/2019 Student Mgt Documentation

    34/104

    A heavyweight toolkit uses OS's API to draw the widgets. For

    example Borland's VCL is a heavyweight toolkit. It depends on

    WIN32 API, the built in Windows application programming

    interface. On Unix systems, we have GTK+ toolkit, which is built

    on top of X11 library. Swing is a lightweight toolkit. It paints it's

    own widgets. It is in fact the only lightweight toolkit I know

    about.

    The Java Foundation Classes (JFC) which supports many more features

    important to a GUI program comprises ofSwing as well. The features which are

    supported by Java Foundation Classes (JFC) are the ability to create a program

    that can work in different languages, the ability to add rich graphics

    functionality etc.

    The features which are provided by Swing and the Java Foundation Classes are

    as follows:

    Swing GUI Components

    There are several components contained in Swing toolkit such as check boxes,

    buttons, tables, text etc. Some very simple components also provide sophisticated

    functionality. For instance, text fields provide formatted text input orpasswordfield behavior. Furthermore, the file browsers and dialogs can be used according

    to one's need and can even be customized.

  • 8/3/2019 Student Mgt Documentation

    35/104

    Programming has become more interactive with Java 2D API. You can add

    images, figures, animation to yourGUI and even pass visual information with the

    help of Java 2D API. You can easily use 2D within Swing components such as

    drop shadows since Swing is built on 2D package.

    Pluggable Look and Feel

    The Java Swing supports the plugging between the look and feel features. The

    look and feel that means the dramatically changing in the component like JFrame,

    JWindow, JDialog etc. for viewing it into the several types of window. You can

    create your own look and feel using Synth package. There are many of existing

    look and feels which are available to Swing programs provided by GTK+ look

    and feel. Moreover, the look and feel of the platform can be specified by the

    program while running and also to use Java look and feel can be specified by it.

    The pluggable look and feel indicates that the whole look of the GUI element

    can be changed i.e. both the visual representation and behavior of a GUI can be

    changed at the time of display of the component. The new object which is created

    by the Swing application i.e. a new button by instantiating the JButton class

    already knows that how to react to mouse movements and mouse clicks. Some

    tasks are only performed by certain specialized classes like mouse handling that is

    why there is no need to change the code to modify the look. However, if the code

    is contained by the button itself that creates its visual representation then this

    code would be required to be changed to modify the look and feel of the GUI. Due

    to this reason only Swing provides custom look and feel.

    Compiling and Running Swing Programs

    https://cis.med.ucalgary.ca/http/java.sun.com/docs/books/tutorial/uiswing/start/compile.htmlhttps://cis.med.ucalgary.ca/http/java.sun.com/docs/books/tutorial/uiswing/start/compile.html
  • 8/3/2019 Student Mgt Documentation

    36/104

    Install the latest release of the Java SE platform, if you haven't already done

    so.

    Create a program that uses Swing components.

    Compile the program.

    Run the program.

    About the JFC and Swing

    JFC is short for Java Foundation Classes, which encompass a

    group of features for building graphical user interfaces (GUIs) and

    adding rich graphics functionality and interactivity to Java

    applications. It is defined as containing the features shown in the

    table below.

    Features of the Java Foundation Classes

    Feature Description

    Swing GUI

    Components

    Includes everything from buttons to split panes to tables. Many

    components are capable of sorting, printing, and drag and drop,

    to name a few of the supported features.

    Pluggable Look-

    and-Feel Support

    The look and feel of Swing applications is pluggable, allowing a

    choice of look and feel. For example, the same program can use

    either the Java or the Windows look and feel. Additionally, the

    Java platform supports the GTK+ look and feel, which makes

    hundreds of existing look and feels available to Swing

    programs. Many more look-and-feel packages are available

    from various sources.

    Accessibility APIEnables assistive technologies, such as screen readers and

    Braille displays, to get information from the user interface.

  • 8/3/2019 Student Mgt Documentation

    37/104

    Java 2D API

    Enables developers to easily incorporate high-quality 2D

    graphics, text, and images in applications and applets. Java 2D

    includes extensive APIs for generating and sending high-quality

    output to printing devices.

    Internationalization

    Allows developers to build applications that can interact with

    users worldwide in their own languages and cultural

    conventions. With the input method framework developers can

    build applications that accept text in languages that use

    thousands of different characters, such as Japanese, Chinese, or

    Korean.

    This trail concentrates on the Swing components. We help you

    choose the appropriate components for your GUI, tell you how to

    use them, and give you the background information you need to

    use them effectively. We also discuss other JFC features as they

    apply to Swing components.

    AWT stands for Abstract Windowing Toolkit. It contains all classes to write the

    program that interface between the user and different windowing toolkits. You can

    use the AWT package to develop user interface objects like buttons, checkboxes,

    radio buttons and menus etc. This package provides following interfaces and

    classes as follows:

    Interfaces and Descriptions of AWT Package:

    ActionEvent This interface is used forhandling events.

    Adjustable This interface takes

    numeric value to adjust

    within the bounded range.

  • 8/3/2019 Student Mgt Documentation

    38/104

    Composite This interface defines

    methods to draw a graphical

    area. It combines a shape,

    text, or image etc.

    CompositeContext This interface allows the

    existence of several context

    simultaneously for a single

    composite object. It handles

    the state of the operations.

    ItemSelectable This interface is used for

    maintaining zero or more

    selection for items from the

    item list.

    KeyEventDispatcher The KeyEventDispatcher

    implements the current

    KeyboardFocusManager

    and it receives KeyEventsbefore despatching their

    targets.

    KeyEventPostProcessor This interface also

    implements the current

    KeyboardFocusManager.

    The

    KeyboardFocusManager

    receives the KeyEvents

    after that dispatching their

    targets.

    LayoutManager It defines the interface class

  • 8/3/2019 Student Mgt Documentation

    39/104

    and it has layout containers.

    LayoutManager2 This is the interface extends

    from the LayoutManager

    and is subinterface of that.MenuContainer This interface has all menu

    containers.

    Paint This interface is used to

    color pattern. It used for the

    Graphics2D operations.

    PaintContext This interface also used the

    color pattern. It provides an

    important color for the

    Graphics2D operation and

    uses the ColorModel.

    PaintGraphics This interface provides

    print a graphics context for

    a page.

    Shape This interface used for

    represent the geometric

    shapes.

    Stroke This interface allows the

    Graphics2D object and

    contains the shapes to

    outline or stylistic

    representation of outline.

    Transparency This interface defines the

    transparency mode for

    implementing classes.

  • 8/3/2019 Student Mgt Documentation

    40/104

    Classes and Descriptions of AWT Package:

    AlphaComposite This class

    implements the

    basic alpha

    compositing rules.

    It combines the

    source and

    destination pixels

    to achieve

    transparency

    effects to graphics

    and images.

    AWTEvent This is a supper

    class of all AWT

    Events.

    AWTEventMulticaster This class

    implements thread-safe multi-cast

    event and it is

    despatching for the

    AWT event. The

    AWT events

    defined in the

    java.awt.event

    package.

    AWTKeyStroke This class used to

    key action on the

  • 8/3/2019 Student Mgt Documentation

    41/104

    keyboard or

    equivalent input

    devices.

    AWTPermission This class uses for

    the AWT

    permissions.

    BasicStroke This class defines

    the basic set of

    rendering attributes

    for using outlines

    of graphics.

    BorderLayout This class uses to

    arranging the

    components. It has

    five components

    such as: east, west,

    north, south and thecenter.

    BufferCapabilities This class has

    properties of

    buffers.

    BufferCapabilities.FlipContents This class has a

    type-safe

    enumeration of

    buffer. It contains

    after page-flipping.

    Button This class used to

    create a label

  • 8/3/2019 Student Mgt Documentation

    42/104

    button

    Convas It represents the

    blank rectanglular

    area on screen. It

    can draw or trap

    input events from

    the user.

    CardLayout It is a layout

    manager for a

    comtainer.

    Chaeckbox It is a graphical

    component. It has

    two states. True

    state that means

    "on" or false sate

    that means "off".

    CheckboxGroup This class to be

    used together

    multiple checkbox

    buttons.

    CheckboxMenuItem This class

    represents the

    checkbox and also

    include the menu.Choice This class

    represents pop-up

    menu to user's

    choice.

  • 8/3/2019 Student Mgt Documentation

    43/104

    Color This class has

    colors. The default

    color is RGB color.

    Color library

    specify the all

    color, it identified

    by ColorSpace.

    Component This is a graphical

    representation to

    interacted by user.

    It displays on the

    screen.

    ComponentOritentation This class

    encapsulates the

    language-sensitive

    orientation. It also

    used the order the

    element of

    component or text..

    Container A generic AWT

    container object

    has other AWT

    components.

    ContainerOrderFocusTraversalPolicyIt determines the

    traversal order

    based on the order

    of child

  • 8/3/2019 Student Mgt Documentation

    44/104

    components in a

    container.

    Cursor This class

    represents the

    bitmap

    representation of

    the mouse cursor.

    DefultFocusTraversalPolicy This class

    determines the

    traversal order on

    the order of child

    components of

    container.

    DefultKeyboardFocusManager This class used for

    handle the AWT

    applecations.

    Dialog This is a top label

    window. It has title

    and border. It can

    be used for taking a

    some input of

    users.

    Dimension This class describe

    the height and

    width of a

    component in a

    single object.

    DisplayMode This class

  • 8/3/2019 Student Mgt Documentation

    45/104

    encapsulates the bit

    depth, height,

    width and refresh

    rate of a

    GraphicsDevice.

    Event This class available

    only for the

    backwards

    compatilibility.

    EventQueue It is a platform

    independent class.

    It has both classes

    underlying peer

    class and trusted

    application class.

    DBMS

    A data base management, or DBMS, gives the user access to their data helps them transform

    the data into information. Such as management system include dbase, paradox, SQL and SQL

    server. These systems allow users to create update and extract from their database.

    a database is a structured collection of data. Data refers to the characterstics of people, things

    and events, SQL server stores each data in its own fields. In sql server the fields relating to

    particular person, thing or event are bundled together to form a single complete unit of data,

    called a record (it can also be referred to as a row or an occurrence). Each record is made up ofa number of fields .no two fields in a record can have the same field.

    During an SQL server database design project the analysis of your business needs identifies all

    the fields or attributes of interest .if your business needs change over time, you define any

    additional fields or change the defination of existing fields. SQL sever tables

  • 8/3/2019 Student Mgt Documentation

    46/104

    SQL server stores records relating to each other in a table. Different tables are created for the

    various groups of information. Related tables are grouped together to form a database.

    PRIMARY KEY

    Every table in SQL server has a field or a combination of fields that uniquely identifies each

    record in table. The unique identifier is called the primary key, or simply the key. The primary

    key provides the means to distinguish one record from all

    Relational database Some times all the information of interest to business operation can be

    stored in one table .sql Server makes it very easy to link the data in multiple tables. Matching an

    employee to the department in which they work is one example. This is what makes sql server a

    relational database management system, or RDBMS. It stores data in two or more tables and

    enables you to define relationships between the tables and enables you to define relationships

    between the tables.

    FOREIGN KEY

    When a field is one table matches the primary key of another field is referred to as a foreign key.

    A foreign key field or a group of fields in one table whose values match those of the primary key

    of another table.

    REFERENTIAL INTEGRITY

    Not only does SQL Server allow you to link multiple tables, it also maintains consistency

    between them. Ensuring that the data among related tables is correctly matched is referred to

    as maintaining referential integrity.

    DATA ABSTRACTION

  • 8/3/2019 Student Mgt Documentation

    47/104

    A major purpose of database system is to provide users with an abstract view of the data. This

    system hides certain details of how data is stored and maintained. Data abstraction is divided

    into three levels.\

    Physical level: this is the lowest level of abstraction at which one describes how the data are

    actually stored.

    Conceptual Level: At this level of database abstraction all attributed and what data are actually

    stored is described and relationship among them

    View Level: this is the highest level of abstraction at which one describes only part of the

    database.

    ADVANTAGES OF RDBMS

    Redundancy can be avoided

    Inconsistency can be eliminated

    Data can be shared

    Standards can be enforced

    Security restrictions can be applied

    Integrity can be maintained

    Conflicting requirements can be balanced

    Data independence can be achieved.

    DISADVANTAGES OF DBMS

    A significant disadvantage of the DBMS System is cost. In addition to the cost of

    purchasing of developing the software, the hardware has to be upgrade to allow for the

    extensive programs and the workspace required for their execution and storage. While

    centralization reduces duplication requires that the database be adequately backed up so

    that in case of failure the data can be recovered.

  • 8/3/2019 Student Mgt Documentation

    48/104

    FEATURES OF SQL SERVER (RDBMS)

    SQL Server is one of the leading database management system (DBMS) because it is the only

    Database that that meets the uncompromising requirements of todays most demanding

    information systems. From complex decision support system (DSS) to the most rigorous online

    transaction processing (OLTP) application, even application that require simultaneous DSS

    and OLTP access to the same critical data, SQL Server

    Leads the industry in both performance and capability

    SQL SERVER is a truly portable, distributed, and open DBMS that delivers unmatched

    performance, continuous and support for every database.

    Sql SERVER RDBMS is high performance fault tolerant DBMS which is specially designed

    for online transaction processing and for handling large database application.

    SQL SERVER with transaction processing option offers two features which contribute to

    very high level of transaction processing throughput, which are

    The row level lock manager

    ENTERPRISE WIDE DATA SHARING

    The unrivaled portability and connectivity of the sql server DBMS enables all the systems

    in the organization to be linked into a single, integrated computing resource.

    PORTABILITY

    SQL SERVER is fully portable to more 80 distinct hardware and operating systems platforms,

    including UNIX, MSDOS, OS/2, Macintosh and dozens of proprietary platforms. This portability

    gives complete freedom to choose the database server platform that meat the system

    requirements.

  • 8/3/2019 Student Mgt Documentation

    49/104

    OPEN SYSTEM

    SQL SERVER offers a leading implementation of industry-standard SQL. SQL Servers open

    architecture integrates SQL SERVER and non-SQL SERVER DBMS with industries most

    comprehensive collection of tools, application, and third party software products SQL Servers

    open architecture provides transparent to data from other relational database and even non-

    relational database.

    DISTRIBUTED DATA SHARING

    SQL Servers networking and distributed database capabilities to access data stored on remote

    server with the same ease as if the information was stored on a single local computer. A single

    SQL statement can access data multiple sites. You can store data where system requirements

    such as performance, security or availability dictate.

    UNMATCHED PERFORMANCE

    The most advanced architecture in the industry allows SQL SEVER DBMS to deliver

    unmatched performance.

    SOPHISTICATED CONCURRENCY CONTROL

    Real world applications demand access to critical data. With most database Systems

    applications becomes connection bound- which performance is limited not by the CPU power

    or by disk I/O, but user waiting on one another contention free queries to minimize and in many

    cases entirely eliminates contention wait times.

  • 8/3/2019 Student Mgt Documentation

    50/104

    NO I/O BOTTLENECKS

    SQL Servers fast commit groups commit and deferred write technologies dramatically reduce

    disk I/O bottlenecks. While some database write whole data block to disk at commit time, SQL

    SERVER commits transactions with at most sequential log file on disk at commit time, On high

    throughput systems, one sequential log file on disk at commit multiple transactions. Data read

    by the transaction remains as shared memory so that other transactions may access that data

    with out reading it again from disk. Since fast commits write all data necessary to the recovery

    to the log file, modified blocks are written back to the database independently of the

    transactions commit, when written from memory to disk.

    6. TESTING

    TESTING

    Testing is a process, which reveals errors in the program. It is the major

    quality measure employed during software development. During software development.

    During testing, the program is executed with a set of test cases and the output of the

    program for the test cases is evaluated to determine if the program is performing as it is

    expected to perform.

    In order to make sure that the system does not have errors,

    the different levels of testing strategies that are applied at differing phases of

    software development are:

    1. UNIT TESTING

    Unit Testing is done on individual modules as they are completed and

    become executable. It is confined only to the designer's requirements.

  • 8/3/2019 Student Mgt Documentation

    51/104

    Each module can be tested using the following two strategies:

    I) BLACK BOX TESTING:

    In this strategy some test cases are generated as input

    conditions that fully execute all functional requirements for the program. This

    testing has been uses to find errors in the following categories:

    a) Incorrect or missing functions

    b) Interface errors

    c) Errors in data structure or external database access

    d) Performance errors

    e) Initialization and termination errors.

    In this testing only the output is checked for correctness. The logical

    flow of the data is not checked.

    ii) WHITE BOX TESTING

    In this the test cases are generated on the logic of each module by

    drawing flow graphs of that module and logical decisions are tested on all the

    cases.

    It has been uses to generate the test cases in the following cases:

    a) Guarantee that all independent paths have been executed.

    b) Execute all logical decisions on their true and false sides.

    c) Execute all loops at their boundaries and within their operational bounds.

    d) Execute internal data structures to ensure their validity.

    2. INTEGRATING TESTING

    Integration testing ensures that software and subsystems work together

    as a whole. It tests the interface of all the modules to make sure that the

    modules behave properly when integrated together.

  • 8/3/2019 Student Mgt Documentation

    52/104

    3. SYSTEM TESTING

    Involves in-house testing of the entire system before delivery to the user.

    Its aim is to satisfy the user the system meets all requirements of the client's

    specifications.

    4. ACCEPTANCE TESTING

    It is a pre-delivery testing in which entire system is tested at client's site

    on real world data to find errors.

    VALIDATION:

    The system has been tested and implemented successfully and

    thus ensured that all the requirements as listed in the software requirements

    specification are completely fulfilled. In case of erroneous input corresponding

    error messages are displayed.

    TEST PLAN:

    The importance of software testing and its implications can be over

    emphasized. Software testing is a critical element of software quality assurance and

    represents the ultimate review of specifications, design and coding. The main

    objective of testing is to uncover a host of errors, systematically and with minimum

    effort and time stating formally we can say.

    Testing is a process of executing a program of intent of finding and error.

    A successful test is one that uncovers an as yet undiscovered error

  • 8/3/2019 Student Mgt Documentation

    53/104

    A good test case is one that has a high probability of finding error, if it exists .

    But there is one thing that testing cant do testing cannot show the absence of defects, it can

    be so that defects are present. As the test results are gathered and evaluated. They

    begin to give a qualitative indication of the reliability of the software if severe errors

    the overall quality of software is a natural suspect. If, one the other hand, all the

    errors, which are encountered is easily modifiable, the one of two conclusions can

    be made

    1. The tests are inadequate to detect possible present errors .

    2. The software more or less confirms to the quality and reliable standards .

    TESTING STRATEGY:

    A testing strategy is a roadway, giving through how to conduct a test out testing strategy is

    flexible enough to promote customization that may be necessary in due course of development

    process for instance during coding we find that a change in design we maintain a change a log

    and refer to it at appropriate time during the testing .

    INTEGRATION TESTING:

    Integration is a systematic technique for constructing the program structure while conducting

    tests at the same time to uncover errors associated with interfacing we have used incremental

    integration testing for this module.

    VALIDATION TESTING:

    At the time of culmination of integration testing the software is complete as a package and the

    interfacing errors have been uncovered and fixed and final test validation testing may begin

    validation test succeed when the software performs exactly in the manner as expected by the

    user.

  • 8/3/2019 Student Mgt Documentation

    54/104

    TEST CASE DESIGN:

    The techniques that are used in deriving the test cases are explained below

    CONDITION TESTING:

    Condition testing is a test case design method that exercises the logical conditions contained in

    the program the possible components in a condition statement are a Boolean operator, Boolean

    variable, relational operator, arithmetic expression and parenthesis simple or compound

    conditions the condition testing method focuses on testing each condition in the program.

    BOUNDARY VALUE ANALYSIS :

    Boundary value analysis leads to a selection of test cases that exercise the boundary conditions

    or boundary values it has been observed that a large number of errors tend to appear at the

    boundaries of the input domain than in the center.

    EQUIVALENCE PORTIONING:

    Equivalence portioning is a black box testing method that divides the input domain of a program

    into classes of data from which test cases can be derived a typical test uncovers a class errors

    might otherwise require many more test cases before the error is observed.

    Equivalence classes for input determine the valid and invalid inputs for the program.

  • 8/3/2019 Student Mgt Documentation

    55/104

    Screens and Reports

    DATA DICTIONARY

    FEATURES OF DATA DICTIONARV

    The Volume of data in most Information system applications is

    substantially more than a single user can easily keep track of data

    dictionaries are an integral component of structural analysis, since

    data flow diagrams by themselves do not fully describe the subject of

    investigation. The data dictionary provides additional information

    about the system.

    What is Data Dictionary?

    A Data Dictionary a repository of the elements in a system. As

    the name suggests, these elements center around data and the way

    they are structured to meet user requirements and organization needs.

    In a data dictionary we will find a list of all elements composing the

    data flowing through a system. The major elements are data flows,

    data stores and process the Data Dictionary stores details and

    descriptions of these elements.

  • 8/3/2019 Student Mgt Documentation

    56/104

    Why is a data dictionary important?

    Analysts use data dictionaries for five important reasons.

    1. To manage the detail in large systems.

    2. To communicate a common meaning for all elements.

    3. To document the features of the system.

    4. To facilitate analysts of details in order to evaluate

    characteristics and determine where system changes would be made.

    5. To locate errors and omissions in the system.

    Manage Detail

    Large systems have huge volumes of data flowing them in the

    form of documents, reports and even. Similarly many different

    activities take place that use existing data or create new details. The

    best organized or most effective analysis use automated data

    dictionaries designed specifically for systems analysis and design.

    Communicate Meaning

    Data dictionaries assist in ensuring common meanings for system

    elements and activities. Data dictionaries record additional details

    about the data flow in a system; so that the persons who are involved

    may look up the description if data flows, data stores and processes.

    Document System Features

    Documenting the features of an information system is the third

    reason for using the data dictionary systems. Features include

    the parts or components and the characteristics that distinguish

  • 8/3/2019 Student Mgt Documentation

    57/104

    each. Having to formally describe, system features will produce a

    more complete understanding.

    Facilitate Analysis

    The Fourth reason for using data dictionaries is to determine

    whether new features are needed in a system or whether change of

    any type is in order. For any situation, system analysts will typically

    focus on the following system characteristics.

    a) Nature if transaction

    b) Inquiries

    c)Output and Report generation

    DataBase Design:

    TABLE NAME: LOGIN

    Ser.NO FIELD NAME DATA TYPE CONSTRAINT

  • 8/3/2019 Student Mgt Documentation

    58/104

    1. NAME VARCHAR2(20)

    2. PASSWORD VARCHAR2(20)

    S.NO FIELD NAME DATATYPE CONSTRAIN

    1. STUDENTID NUMBER(6)

    PrimaryKey

    2. LASTNAME VARCHAR2(15)

    3. FIRSTNAME VARCHAR2(15)

    4. JOINDATE VARCHAR2(15)

  • 8/3/2019 Student Mgt Documentation

    59/104

    S.NO FIELD NAME DATA TYPE CONSTRAINT

    1 STUDENTID NUMBER(6)

    ForeignFromStudent

    2 LASTNAME VARCHAR2(15)

    3 FIRSTNAME VARCHAR2(15)

    4 COURSE VARCHAR2(15)

    ForeignKeyfrom CourseTable

    5 LOGINTIME VARCHAR2(15)

    6 LOGOUTTIME VARCHAR2(15)

    7 DATE1 DATE

    8 DATE2 DATE

    TABLE NAME: COURSES

    S.NO FIELD NAME DATA TYPE CONSTRAINT

  • 8/3/2019 Student Mgt Documentation

    60/104

    1 COURSEID NUMBER(6)

    PrimaryKey

    2 COURSENAME VARCHAR2(15)

    PrimaryKey

    3 ENTERDATE VARCHAR2(15)

    4.Technical Notes

    HISTORY OF JAVA

    Java language was developed by James Gosling and his team at

    sun micro systems and released formally in 1995. Its former

    name is oak. Java Development Kit 1.0 was released in 1996. to

    popularize java and is freely available on Internet.

    Overview of Java

    Java is loosely based on C++ syntax, and is menat to be

    Object-Oriented Structure of java is midway between an

    interpreted and a compiled language . java programs are

    compiled by the java compiler into Byte Codes which are secure

    and portable across different platforms . these byte codes are

    essentially instructions encapsulated in single type, to what is

    known as ajava virtual machine (JVM) which resides instandard

    browser.

  • 8/3/2019 Student Mgt Documentation

    61/104

    JVM verifies these byte codes when downloaded by the browser

    for integrity. Jvms are available for almost all OS. JVM converts

    these byte codes into machine specific instructions at runtime.

    FEATURES OF JAVA

    java is object-oriented language and supports

    encapsulation, inheritance , polymorphism and

    dynamic binding , but does not support multiple

    inheritance.every thing in java is an object except some

    primitive datatypes .

    java is portable architecture neutral that is java

    programs once compiled can be executed on any

    machine that is enabled.

    JAVA is distributed in its approach and used for internet

    programming.

    Java is robust, secured, high performing and dynamic in

    nature.

    Java supports multithreading. There for different parts

    of the program can be executed at the same time

    JAVA AND INTERNET

    Java is strongly associated with internet and known as

    internet programming language. Internet users can use java to

    create applet programs and run them locally using java enabled

  • 8/3/2019 Student Mgt Documentation

    62/104

    browser search as hot java. Applets can be downloaded from

    remote machine via internet and run it on local machine .

    JAVA AND WORLD WIDE WEB

    World wide web is an open ended information retrieval

    system designed to be used in the distributed environment. This

    system contains web pages that provide both information and

    controls. We can navigate to a new web page in any direction.

    This is made possible worth HTML java was meant to be used in

    distributed environment such as internet. So java could be easily

    incorporated into the web system and is capable of supporting

    animation graphics , games and other special effect. The web has

    become more dynamic and interactive with support of java. We

    can run a java program on remote machine over internet with the

    support of web .

    JAVA ENVIRONMENT

    Java environment includes a large no.of tools which are part

    of the system known as java development kit (JDK) and hundreds

    of classes, methods, and interfaces grouped into packages forms

    part of java standard library(JSL).

    JAVA ARCHITECTURE

    Java architecture provides a portable , robust , high

    performing environment for development. Java provides

  • 8/3/2019 Student Mgt Documentation

    63/104

    portability by compiling the byte codes for the java virtual

    machine which are then interpreted on each platform by the

    runtime environment . java also provides stringent compile and

    runtime checking and automatic memory management in order to

    ensure solid code .

    JAVA VIRTUAL MACHINE

    When we compile the code, java compiler creates machine

    code (byte code) for a hypothetical machine called java virtual

    machine (jvm). The jvm will execute the byte code and

    overcomes the issue of portability . the code is written and

    compile for one machine and interpreted all other machines . this

    machine is called java virtual machine .

    PARADIGM OF JAVA

    Dynamic down loading applets(small application

    programs);

    Elimination of flatware phenomenon that is providing

    those features of a product that user needs at a time.

    The remaining features of a product can remain in the

    server.

    Changing economic model of the software

    Up-to-date software availability

    Supports network entire computing

    Supports CORBA & DCOM

  • 8/3/2019 Student Mgt Documentation

    64/104

    AWT

    A user interface object such as a button or a scrollbar is called, in AWT terminology, a

    component. The Component class is the root of all AWT components. See Component for a

    detailed description of properties that all AWT components share.

    Some components fire events when a user interacts with the components. The AWTEvent classand its subclasses are used to represent the events that AWT components can fire. See

    AWTEvent for a description of the AWT event model.

    A container is a component that can contain components and other containers. A con tainer can

    also have a layout manager that controls the visual placement of components in the container.The AWT package contains several layout manager classes and an interface for building your

    own layout manager. See Container and LayoutManager for more information.

    A flow layout arranges components in a left-to-right flow, much like lines of text in a paragraph.

    Flow layouts are typically used to arrange buttons in a panel. It will arrange buttons left to rightuntil no more buttons fit on the same line. Each line is centered.

    For example, the following picture shows an applet using the flow layout manager (its default

    layout manager) to position three buttons:

    The GridBagLayout class is a flexible layout manager that aligns components

    vertically and horizontally, without requiring that the components be of the same size. EachGridBagLayout object maintains a dynamic, rectangular grid of cells, with each component

    occupying one or more cells, called its display area.

  • 8/3/2019 Student Mgt Documentation

    65/104

    Each component managed by a GridBagLayout is associated with an instance of

    GridBagConstraints. The constraints object specifies where a component's display area should

    be located on the grid and how the component should be positioned within its display area. Inaddition to its constraints object, the GridBagLayout also considers each component's minimum

    and preferred sizes in order to determine a component's size.

    The overall orientation of the grid depends on the container'sComponentOrientation property.

    For horizontal left-to-right orientations, grid coordinate (0,0) is in the upper left corner of the

    container with x increasing to the right and y increasing downward. For horizontal right-to-left

    orientations, grid coordinate (0,0) is in the upper right corner of the container with x increasingto the left and y increasing downward.

    The GridLayout class is a layout manager that lays out a container's components

    in a rectangular grid. The container is divided into equal-sized rectangles, and one component is

    placed in each rectangle.

    If the container's ComponentOrientation property is horizontal and left-to-right, the above

    example produces the output shown in Figure 1. If the container's ComponentOrientation

    property is horizontal and right-to-left, the example produces the output shown in Figure 2.

    Figure 1: Horizontal, Left-to-Right Figure 2: Horizontal, Right-to-Left

    When both the number of rows and the number of columns have been set to non-zero values,

    either by a constructor or by the setRows and setColumns methods, the number of columns

    specified is ignored. Instead, the number of columns is determined from the specified number or

    rows and the total number of components in the layout. So, for example, if three rows and two

    columns have been specified and nine components are added to the layout, they will be displayedas three rows of three columns. Specifying the number of columns affects the layout only when

    the number of rows is set to zero.

    A layout manager that allows multiple components to be laid out either vertically

    or horizontally. The components will not wrap so, for example, a vertical arrangement ofcomponents will stay vertically arranged when the frame is resized.

    http://java.sun.com/j2se/1.4.2/docs/api/java/awt/GridBagConstraints.htmlhttp://java.sun.com/j2se/1.4.2/docs/api/java/awt/ComponentOrientation.htmlhttp://java.sun.com/j2se/1.4.2/docs/api/java/awt/ComponentOrientation.htmlhttp://java.sun.com/j2se/1.4.2/docs/api/java/awt/GridBagConstraints.htmlhttp://java.sun.com/j2se/1.4.2/docs/api/java/awt/ComponentOrientation.html
  • 8/3/2019 Student Mgt Documentation

    66/104

  • 8/3/2019 Student Mgt Documentation

    67/104

    BoxLayout well. Adding components to multiple nested boxes is a powerful way to get the

    arrangement you want.

    A border layout lays out a container, arranging and resizing its components to fit

    in five regions: north, south, east, west, and center. Each region may contain no more than one

    component, and is identified by a corresponding constant: NORTH, SOUTH, EAST, WEST, and

    CENTER. When adding a component to a container with a border layout, use one of these five

    constants

    In addition, BorderLayout supports the relative positioning constants, PAGE_START,

    PAGE_END, LINE_START, and LINE_END. In a container whose ComponentOrientation is set to

    ComponentOrientation.LEFT_TO_RIGHT, these constants map to NORTH, SOUTH, WEST, and

    EAST, respectively.

    For compatibility with previous releases, BorderLayout also includes the relative positioning

    constants BEFORE_FIRST_LINE, AFTER_LAST_LINE, BEFORE_LINE_BEGINS and

    AFTER_LINE_ENDS. These are equivalent to PAGE_START, PAGE_END, LINE_START and LINE_END

    respectively. For consistency with the relative positioning constants used by other components,

    the latter constants are preferred.

    Mixing both absolute and relative positioning constants can lead to unpredicable results. If youuse both types, the relative constants will take precedence. For example, if you add components

    using both the NORTH and PAGE_START constants in a container whose orientation is

    LEFT_TO_RIGHT, only the PAGE_START will be layed out.

    NOTE: Currently (in the Java 2 platform v1.2), BorderLayout does not support vertical

    orientations. The isVertical setting on the container's ComponentOrientation is not

    respected.

    The components are laid out according to their preferred sizes and the constraints of thecontainer's size. The NORTH and SOUTH components may be stretched horizontally; the EAST and

    WEST components may be stretched vertically; the CENTER component may stretch both

    horizontally and vertically to fill any space left over.

    Here is an example of five buttons in an applet laid out using the BorderLayout layout manager:

  • 8/3/2019 Student Mgt Documentation

    68/104

    The code for this applet is as follows:

    A CardLayout object is a layout manager for a container. It treats each component in the

    container as a card. Only one card is visible at a time, and the container acts as a stack of cards.

    The first component added to a CardLayout object is the visible component when the container

    is first displayed.

    The ordering of cards is determined by the container's own internal ordering of its component

    objects. CardLayout defines a set of methods that allow an application to flip through these

    cards sequentially, or to show a specified card.

    2 Applets

    An applet is a special kind of Java program that a browser enabled

    with Java technology can download from the internet and run. An

    applet is typically embedded inside a web-page and runs in the

    context of the browser. An applet must be a subclass of the

  • 8/3/2019 Student Mgt Documentation

    69/104

    java.applet.Applet class, which provides the standard

    interface between the applet and the browser environment.

    Swing provides a special subclass of Applet, called

    javax.swing.JApplet, which should be used for all applets that

    use Swing components to construct their GUIs.

    By calling certain methods, a browser manages an applet life cycle, if

    an applet is loaded in a web page.

    Life Cycle of an Applet:

    Basically, there are four methods in the Applet class on which any

    applet is built.

    init: This method is intended for whatever

    initialization is needed for your applet. It is called after

    the param attributes of the applet tag.

    start: This method is automatically called after

    init method. It is also called whenever user returns tothe page containing the applet after visiting other

    pages.

    stop: This method is automatically called

    whenever the user moves away from the page

    containing applets. You can use this method to stop an

    animation.

    destroy: This method is only called when the

    browser shuts down normally.

  • 8/3/2019 Student Mgt Documentation

    70/104

    Thus, the applet can be initialized once and only once, started and

    stopped one or more times in its life, and destroyed once and only

    once.

    For more information on Life Cylce of an Applet,

    please refer toThe Life Cycle of an Applet section.

    Applets vs. Applications

    In the early days of Java, one of the critical advantages that Java

    applets had over Java applications was that applets could be easily

    deployed over the web while Java applications required a more

    cumbersome installation process. Additionally, since applets are

    downloaded from the internet, by default they have to run in a

    restricted security environment, called the "sandbox", to ensure they

    don't perform any destructive operations on the user's computer, such

    as reading/writing to the filesystem.

    However, the introduction of Java has made it possible for Java

    applications to also be easily deployed over the web, as well as run in

    a secure environment. This means that the predominant difference

    between a Java applet and a Java application is that an applet runs in

    the context of a web browser, being typically embedded within an

    html page, while a Java application runs standalone, outside the

    browser. Thus, applets are particularly well suited for providing

    functions in a web page which require more interactivity or animation

    than HTML can provide, such as a graphical game, complex editing,

    or interactive data visualization. The end user is able to access the

    functionality without leaving the browser.

    http://java.sun.com/docs/books/tutorial/deployment/applet/lifeCycle.htmlhttp://java.sun.com/docs/books/tutorial/deployment/applet/lifeCycle.html
  • 8/3/2019 Student Mgt Documentation

    71/104

    Loading Applets in a Web Page

    In order to load an applet in a web page, you

    must specify the applet class with appropriate applet

    tags. A simple example is below:

    For development and testing purposes, you can run your applet using

    the lightweight appletviewer application that comes with the JDK.

    For example, if AppletWorld.html is the html file name, then you run

    the command as

    appletviewer AppletWorld.html

    Once you know your applet runs within the appletviewer, it is

    important to test your applet running in a web browser by loading the

    applet's web page into the browser window. The browser can retrieve

    the class files either from the internet or from the local working

    directory used during development. If you make changes to your

    applet's code while it is loaded in the browser, then you must

    recompile the applet and press the "Shift + Reload" button in the

    browser to load the new version.

    Swings

    Swing is important to develop Java programs with a graphical user interface

    (GUI). There are many components which are used for the building of GUI in

  • 8/3/2019 Student Mgt Documentation

    72/104

    Swing. The Swing Toolkit consists of many components for the building of GUI.

    These components are also helpful in providing interactivity to Java

    applications. Following are components which are included in Swing toolkit:

    list controls

    buttons

    labels

    tree controls

    table controls

    The main characteristics of the Swing toolkit

    platform independent

    customizable

    extensible

    configurable

    lightweight

    Swing is probably the most