* New post Constructor Destructor and Inheritance& Array , Virtual base class in c++ language

Friday, 31 May 2013

0 Project File Student Information System


CERTIFICATE 
This is hereby certify that the work which is being presented in the dissertation entitled “STUDENT INFORMATION SYSTEM “In particular fulfillment   of the requirement for the award of the bachelor of computer application and submitted to the department of computer science of H.N.B.G.U UNIVERSITY, SRINAGAR is an authentic record of parveen kumar verma carried out under the supervision Mr. SHAILENDRA THAKUR CSE department, Institute Of Management Studies Roorkee (I.M.S ROORKEE).

DECLARATION
 I‘ve hereby declare that the project work entitled “STUDENT INFORMATION SYSTEM” is an authentic work carried out by me of , Institute Of Management Studies Roorkee (I.M.S ROORKEE). Pauri under the guidance of Mr. SHAILENDRA THAKUR for the fulfillment of the award of the “bachelor of computer application”,
This work has not been submitted anywhere else for the award of the degree.
Content

1.    About Student information system
2.    Introduction
3.    Technology
4.    Feasibility study
5.    Design of project
6.    E r diagram
7.    Data flow diagram
8.    Data base design
9.    Screen shot and design  
10. Testing 
11. Maintenance 
12. Conclusion 
13. Bibliography

About Student information system

Student information system (SIS) is a software application system for education establishment   to manage student data.
Introduction

The Student Information System Software is an application that permits you to compare, manipulate and present student data in a meaningful manner, generating a clear view of records and provides advanced search facilities with various search options.
Scope

The “Student Information System” application is built on the case study after analyzing the requirements at its premises pertaining to adding student information, updating student information, deleting student information, and viewing student information. It also provides with advanced search facilities and facilities to create authorized users with passwords and also for changing their passwords at some later stage.
Features

The Student Information System empowers you to: Manage Student Information efficiently. Record Student Billing details like name , father name , address  , date of birth , phone no , enroll , fees ,course etc. Add, commit, cancel Update & Delete Students information easily, AND SECURITY.
Module

Module Details Modular Details of the Student Information System are: - Student Profile “Add Student Information” New entry, Search , fees detail , Result Detail , Job detail , Certificate detail , hostel detail.  Add, Update, Delete, and SECURITY for the student information system.
ADD STUDENT INFORMATION SYSTEM
 Add Student Information” This module allows us to add student profile records under the following attributes:- Name , father name , address, date of birth , enroll , course , phone no , fees, id , Date, fees, city.
UPDATE STUDENT INFORMATION
 “Update Student Information” This module allows allow us to update student profile records for the attributes that have been added under the “Add Student Information System” module. The database in Updated each time we click on the “Update Student Information” button. The records that are existing in the database can be updated for the latest information that is available
DELETE STUDENT INFORMATION
 “Delete Student Information” This module facilitates deletion of unwanted and old information which of no use to us .Records that are of no use can be deleted with this module.
Search module
 This module is used to search the all detail of the student information.
New entry
 This module is used to new entry for the student information. 
Fees detail
 This module is used to check the fees detail for the student information.
Result detail
 This module is used to check the result detail for the student information.
Job detail
 This module is used to check the job detail for the student information.
Certificate detail
 This module is used to check the certificate detail for the student information.
SECURITY
 “Change Password” The “Student Information System” has its own security features. It allows login only for registered and privileged users with passwords. Those users who do not have logins and try to log into the System are denied access into system. If a user wishes to change his /her password, he can utilize the “Change password” module. On successful updating of the password changes, it displays a Congratulations message

ADVANTAGE
 It facilitates planning. It minimizes Information Overload. It encourages Decentralization. It brings Co-ordination. It makes control easier. SIS assembles, processes, stores, retrieves, evaluates, and disseminates, the Information.

OBJECTIVE
 To provide a proper registration channel/ system to the new students. To maintain all the accounts of the students in digital form from enrollment up to the end of the study. To update the information available to the departments at their desk whenever required in just a click away. To have a centralized control over the records of the students
Technology
Feasibility Study
 A feasibility study determines whether the proposed solution is feasible based on the priorities of the requirement of the organization. A Feasibility study culminates in a feasibility report that recommends a solution. It helps you to evaluate the cost – effectiveness of a proposed system.The feasibility study is carried out to test if the proposed system is worth being implemented. Given unlimited resource and infinite time, all projects are feasible.
After performing a preliminary investigation, gathering and interpreting data and detail concerning the project, a feasibility check is done which involves a series of steps to check the technical, financial and operational feasibilities.
During the phase, various solutions to the existing problems were examined. For each of these solutions the cost and benefits were the major criteria to be examined before deciding on any of the proposed systems.
         These Solutions would provide coverage of the following:
1.    Specification of information to be made available by the system.
2.    A clear cut description of what tasks will be done manually and what needs to be handled by the automated system.
3.    Specification of new computing equipment needed.
A system that passes the feasibility tests is considered a feasible system. Let us see some feasible tests in my project

Once it has been determine that a project is feasible, the analyst can go ahead and prepare the project specification which finalize projects requirements. Generally feasibility study is taken within tight time constraints and normally culminates in a written and oral feasibility report. The contents and recommendation of such a study will be used as sound basis for deciding whether to proceed, postpone or cancel the project. Thus, since feasibility study may lead to the commitment of large resources, it become necessary that it should be conducted competently and no fundamental error of judgment are made.

In the conduct of feasibility study, the analyst has been usually considered following dissect but interrelated types of feasibility. They are:
1.    Technical feasibility study
2.    Operational feasibility study
3.    Economical feasibility study

Technical Feasibility
 Definition : The process of proving that the concept is technically possible.
Objective: The objective of the technical feasibility step is to confirm that the product will perform and to verify that there are no production barriers.
Product: The product of this activity is a working mode .It is related to the software and equipment specified in the design for implement a new system. It is a study of function, performance, reliability, maintainability and productivity. Technical   feasibility is frequently the most difficult areas to assess. The main technical issue raised during feasibility is the existence of necessary technology and whether the proposed equipment has the capacity to hold required data. The technical guarantee of accuracy, reliability, ease and data were also investigated.
Technical Activities: During the technical feasibility step the following must be completed.
·       Test for technical feasibility;
·       Examine the operational requirement ;
·       Identify potential safety and environmental hazards;
·       Conduct a preliminary production feasibility assessment;
·       Estimate engineering prototype costs,
Technical information: The technical feasibility step generates knowledge about the product or process’s design, performance, production requirements, and preliminary production costs.
 Assessment:
 Do you have a working model of the product?
Have you evaluated the safety factors of the model?
Have you evaluated the environment factors?
Have you evaluated the feasibility of producing the product?
Have you measured how the product will perform?
Do you have a design for the product?
Do you have a design for the production process?
Assessing system performance => It involves ensuring that the system responds to user queries and is efficient, reliable, accurate, and easy to use. After the conducting the technical analysis we found that our product fulfills all the technical pre-requisites, the network environment if necessary are also adaptable according to the project.
 Economic feasibility
 This feasibility has great importance as it can outweigh other feasibility because costs affect organization decision. The concept of economic feasibility deals with the fact that a system that can be developed and will be used on installation must be profitable for the organization. The cost to conduct a full system investigation, the cost of hardware and software, the benefits in the form of reduced expenditure are all discussed during the economic feasibility.
 Cost benefits Analysis
 A cost- benefits analysis is necessary to determine economic feasibility. The primary objective of the cost benefit analysis is to find out whether it is economically worthwhile to invest in the project. If the returns on the investment are good, then the project is considered economically worthwhile. Cost benefit analysis is performed by first listing all the costs associated with the project cost which consists of both direct costs and indirect costs. Direct costs are those incurred by buying software, hiring people, cost of consumable items, rent for accommodation etc. Indirect costs include those involving time spent by user in discussing problems with system analysts , gathering data about problem etc.
Operational Feasibility
The pieces framework can help in identifying problems to be solved, and their urgency:
Performance – Does current mode of operation provide adequate throughout and response time?
Information – Does current mode provide end users and managers with timely, pertinent, accurate, and usually formatted information?
Economy – Does current mode of operation provide cost-effective information services to the business? Could there be a reduction in costs and / or an increase in benefits?
Control -- Does current mode of operation offer effective controls to protect against fraud and to guarantee accuracy and security of data and information?
Efficiency -- Does current mode of operation make maximum use of available resources, including people, time, and flow of forms?
Services -- Does current mode of operation provide reliable service? Is it flexible and expandable?

Operational feasibility is a measure of how people feel about the system. Operational feasibility criteria measure the urgency of the problem or the acceptability of a solution. Operational feasibility is dependent upon determining human resources for the project. It refers to projection whether the system will operate and be used once it is installed.
Behaviorally also the proposed system is feasible. A particular application may be technically and may fail to produce the forecasted benefits, it is not necessary that the user must be a computer expert, but any computer operator given a little bit of knowledge and training can easily operate.
 Our project is operationally feasible since there is no need for special training of staff member and whatever little instruction on this system is required can be done so quite easily and quickly as it is essentially .This project is being developed keeping in mind the general people who one have very little knowledge of computer operation, but can easily access their required database and related information.

Design Of Project
 System Design Introduction
             System Design provides the understandings and procedural details necessary for implementation the system recommended in the system study. Emphasis is on the translating the performance requirement into design specification. The design phase is a transition from a user – oriented document (system proposal) to a document oriented to the programmers or database personnel.
         System Design goes through two phases of development:
1.    Logical design
2.    Physical design
A data flow diagram shows the logical flow of the system. For a system it describes the input (source), output (destination), database (data stores) and procedures (data flows) all in the format that meet the user’s requirement. When analysis prepare the logical system design, they specify the user needs at a level of detail and virtually determines the information flow into an out of the system and the required data resources. The logical design also specifies inputs forms and screen layouts.
      
     The activities following logical design are the procedure followed in the physical design e.g., producing programs, software, file and a working system. Design specification instructs the user about what the system should do.

Logical and Output Design 
The logical design of an information system is analogous to an engineering blue print of an automobile. It shows the major features and how they are related to one another. The detail was specification for the new system was drawn on the basis of user’s requirement data. The outputs inputs and databases are designed in this phase.
Output design is one of the most important features of the information features of the information system. When the output is not of good quality the users will be averse to use the newly designed system and may not use the system. There are many types of output, all of which can be either highly useful or can be critical to the users, depending on the manner and degree to which they are used.
 Output from computer system are required primarily to communicate the result of processing to users, They are also used to provide a permanent hard copy of these results for later consultation. Various types of outputs required can be listed as below:
·       External outputs, whose destination is outside the organization
·       Internal outputs, whose destination is with the organization
·       Operational outputs, whose use is purely within the computer department e.g., program-listing etc.
·       Interactive outputs, which involves the user is communicating directly with the computer, it is particularly important to consider human factor when designing computer outputs. End user must find outputs easy to use and useful to their jobs, without quality output, user may find the entire system unnecessary and avoid using it. The term “output” in any information system may apply to either printer or displayed information. During the designing the output for this system, it was taken into consideration, whether the information to be presented in the form of query of report or to create documents etc.
Other important factors that were taken into consideration are:
The end user who will use the output.

 The actual usage of the planned information.
 The information that is necessary for presentation.
 When and how often output and their format are needed.  While designing output for project based Attendance system, the following aspects of outputs designing were taken into consideration.
 The outputs (i.e., well formatted table outputs in the screen itself) designed are simple to read and interpret.
 Formats of each output were another important point taken into consideration. Output media for each output appropriate media is decided whether it will be displayed on screen or will be taken to printer or both.
Other output design related specification, i.e., how frequently the outputs will be generated, how many pages or sheets approximately it will keep up, what is its planned use and output distribution to users are also taken into account.
These were a few major designing issues, which were taken into consideration, while deciding the output specification for the system. As direct beneficiary of reports is the user community, they were consulted constantly at every level; formats and screen design for various reports were identified, taking into account the user requirement.  Before finalizing these were given to users for any improvement and suggestion. End user’s issues taken into consideration and were readability, relevance and acceptability.
Once all the output reports to be generated by ACS system were identified, they were given to users for their acceptance. For prototyping various outputs, final outputs models were created with dummy data, before they were finalized.
Output sources:
Output contents originate from these sources:
*   Retrieval from a data source.

*      Transmission from a process or system activity.

The information produced in an output can be presented as
*      Tabular contents
*      Graphic format
*      Using Icons
Output definition:
The output should be defined in terms of:
Types of outputs

*   Content- headings, numeric, alphanumeric, etc.
*      Format-hardcopy, screen, microfilm, etc.
*       Location-local, remote, transmitted, etc.
*      Frequently-daily, weekly, hourly, etc.
*      Response-immediate within a period etc.
Data items

The name given to each data item should be recorded and its characteristics described clearly in a standard form:
*      Whether numeric or alphanumeric
*      Legitimate and specific range of characteristics
*      Number of characters
*      Position of decimal points, arithematic design etc.
Input design consist of

*   Developing specifications and procedures for data preparation
*   Steps necessary to put data in to a usable form for processing
*   Data entry, the activity of putting data in to the computer processing.
Objectives of input design

Five objectives of design input focus on
·       Controlling the amount of input required.
·       Avoid delay.
·       Avoiding errors in data.
·       Avoiding extra steps.
·       Keeping the process simple.
Input stages several activities have to be carried out as part of the overall input process. They include some or all of the following.
Data recording (i.e., collection of data)
Data encapsulation (i.e., transfer of data)
Data conversion (i.e., controlling the flow of data)
Data transmission (i.e., transporting the data)
Data validation (i.e., checking the input data)
Data correction (i.e., correcting the errors)
Input Performa were designed, after a careful discussion with users. It was attempted to cover all user requirements. Designed performa were given to user for any suggestion and final approval.
Various data items were identified and wherever necessary were recorded.
Input designs are aimed at reducing the chances of mistakes of errors. As the human beings are prone to errors there is always a possibility of occurrence of chance of errors. Adequate validation checks are incorporated to ensure error free data storage.Some of the data validation checks applied are as following:
·       Redundancy of data is checked. It means the records of primary key do not occur twice.
·       Primary key field of and table must not be left blank.
·       Validity with respect to several checks.
·       Utmost care has been taken to incorporate the validation at each stage of the system e.g. When entering records into employee information table for employee, it is checked that whether the corresponding employee information table etc.
         Enough messages and dialogue boxes are provided while design screen, which does guide user at the time of any errors, or at time of entry. This feature provides a user-friendly interface to native users. It can be emphasized that input designs of HRRP is so designed that it ensures easy and error free data entry mechanism. Once one is sure of input data the output formatting becomes an routine work.

                            DATABASE DESIGN

A database is a collection of inter-related data stored with a minimum of redundancy to serve many applications. It minimizes the artificiality embedded in using separate files. The primary objectives are fast response time to enquires, more information at low cost, control of redundancy, clarity and ease of use, accuracy and fast recovery. The organization of data in a database aims of achieve three major objectives, they are data integration, data integrity and data independence.  During the design of the database at most care has been taken to keep up the objectives of the database design.

CODE DESIGN

The process of code is to facilitate the identification and retrieve of items of information. The code should be simple and easy to understandable. The codes were designed in such a way that the features such as optimum human oriented use and machine efficiency are unaffected.
For the code to be designed effectively, the following characteristics were also considered while designing the code.

·       Versatility
·       Stability
·       Simplicity
·       Consciousness

The code should be adequate for present and anticipated data processing for machine and human use. Care was taken to minimize the clerical effort and computer time required to continue operation.
-
The process can be conceptualized in such a way to keep the methodology of main module process along with some auxiliary task, which will run concurrently with the main program.
The top down approach is maintained so as to keep track of the process, which satisfies the maintenance reliability testing requirements. The concurrency of the data is checked during data entry, by means of validation check for data in each field.

               E-R DIAGRAM

Definition:-

An entity-relationship (ER) diagram is a specialized graphic that illustrates the interrelationships between entities in a database. E-R diagram often use symbols to represent three different types of information. Boxes are normally used to represent relationships and ovals are used to represent attributes.

Introduction

Without understanding the relationship between users with the Deforum we cannot build the online test and forum system. The below E-R diagram illustrates the relationship between an users and an forum, only then we would be able to design the process that needs to be computerized to build the system.
The diagram documents the entities and relationships involved in the user information and on-line test system .It depicts the fundamental relation like recording personnel information, taking test handling queries.
Data flow diagramming is a means of representing a system at any level of detail with a graphic network of symbols showing data flows, data stores, data processes, and data source/destination. The data flow diagram is analogous to a road map. It is a network model of all possibilities with different detail shown on different hierarchical levels. This process of representing different detail level is called “leveling” or “partitioning” by some data flow diagram advocates. Like a road map, there is no starting point or stop point, no time or timing, or steps to get somewhere. We    just know   that the data path must exist because the road is needed. Details thatarenot shown on the different levels of the data flow diagram such as volume, timing, frequency, etc. is shown on supplementary diagram or in the data dictionary. For example, data store contents may be shown in the data dictionary.
Data flow diagram (DFD) uses a number of symbols to represent the system. Data flow diagram also known as ‘Bubble Chart’ is used to clarify system requirements and identifying the major transformation that will become programs in system design. So it is the starting point of the design phase that functionally decomposes the requirement specification down to the levels of details.

E-R Diagram……..

                                                     

  
 Entity => An entity may be defined as a thing which is recognized as being capable of an independent existence and which can be uniquely identified. An entity is an abstraction from the complexities of some domain. When we speak of an entity we normally speak of some aspect of the real world which can be distinguished from other aspects of the real world.
An entity may be a physical object such as a house or a car, an event such as a house sale or a car service, or a concept such as a customer transaction or order. Although the term entity is the one most commonly used, following chain we should really distinguish between an entity and an entity type. An entity-type is a category. An entity, strictly speaking, is an instance of a given entity-type. There are usually many instances of an entity-type. Because the term entity-type is somewhat cumbersome, most people tend to use the term entity as synonym for this term. Entities can be thought of as nouns. Examples: a computer, an employee, a song, a mathematical theorem.
 Attribute:- In general, an attribute is a property or characteristics. Color, for example, is an attribute of your hair. In using or programming computers, an attribute is a changeable property or characteristics of some component of a program that can be set to different values.
In the Hypertext Markup Language (HTML), an attribute is a characteristic of a page element, such as a font. An HTML user can set font attributes, such as size and color, to different values. In some programming languages, such as Power Builder, Power Script, an attribute is a property of an object of may be considered a container for the property of an object. For an example, color might be an attribute of a text object, containing the value of “red.”

Data flow diagram

It is a means of representing a system at any level of detail with a graphic network of symbols showing data flows, data stores, data processes, and data source destination.
The data flow diagram is analogous to a road map. It is a network model of all possibilities with different detail shown on different hierarchical levels. This processes of representing different details level is called “leveling” or “partitioning” by some data flow diagram advocates. Like a road map, there is no starting point or stop point, no time or timing, or steps to get somewhere. We just know that the data must exist because at some point it will be needed. A road map shows all existing or planned roads because the road is needed.
Detail that is not shown on the different levels of the data flow diagram such as volumes, timing, frequency, etc, is shown on supplementary diagram or in the data dictionary. For example, data store contents may be shown in the data dictionary.
Data flow diagram (DFD) uses a number of symbols to represent the systems. It also known as ‘Bubble Chart’ is used to clarify system requirements and identifying the major transformations that will become programs in system design. So it is the starting point of the design phase that functionally decomposes the requirement specification down to the level of details.

Terms used in DFD

·       Process
A process transforms data values. The lowest level processes are pure function without side effects. An entire data flow graphics high level process.







Graphical representation:

·       Data flows
A data flow connects the output of an object or process to input of another object or process. It represents the intermediate data value within a computation. It is represented by an arrow and labeled with a description of data, usually its name or type.

Graphical representation

·       Actors = An actor is active object with in a data flow graph by producing or consuming values.

·       Data store = A data store is a passive object with in a data flow diagram that stores data for later access.
Graphical representation:
                                                 
        

·       External Entity = A rectangle an external entity such as librarian, a library member.
Graphical representation:



Database Design
Database:

A database is a collection of inter-related data stored with a minimum of redundancy to server many applications.

Database design objectives

The primary objective of database design are fast response time to enquire, more information at low cost, control of redundancy, clarity and ease of use, accuracy  and fast recovery. The organization of data in a database aims to achieve three major objectives, they are data integration, data integrity and data independence. During the design of the database at most care has been taken to keep up the objectives of the database design. This part of the design consists the overall database scheme or we can say that tables which consists various types of records. Table of a database consists attribute, entities, and tuples for storing and manipulating records.



Testing

The purpose of testing differs somewhat from inspection. The purpose of testing is to verify the software works the way is was expected to work.
Testing Objective

 Testing is a process of expecting a program with the intent of finding error.
 A good Testing is one that has a high probability of finding as yet undiscovered error.
  A successful test is one that uncovers an as yet undiscovered error.
The objective is to design tests that systematically uncover different classes of errors and do so with a minimum amount of time and effort.
Secondary benefits include:
Demonstrate that software function appear to be working according to specification.
 Those performance requirements appear to have been met.
 Data collected during testing provides a good indication of software reliability and some indication of software quality.

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

Software test documentation

Systematic and comprehensive testing is known to be a major factor contributing to information systems quality. It contains detailed instructions and templates on the following test documentation:

Test plan

The first in system testing is to prepare a plan that will test all aspects of the system in a way that promotes its credibility among potential users.
 Programmers do better job in unit testing because they are expected to document and report on the method and extent of their testing.
 Users are involved which means communication is improved.
 Users and designer group.
 Programmers are involved when they become aware of user problems and expectations.

Activities
1.     Prepare test plan.
 2. Specify conditions for users acceptance testing.
 3.    Prepare test data for program testing.
 4.    Prepare test data for transaction path testing.

Test case designed

1.    Functional testing refers to testing that involves only observation of the certain input values and there is no attempt to analysis the code, which produces output. The internal structure of the program is ignored. For this reason functional testing is referred as Black Box testing in which the content of a black box is not known and function of black box is understand completely in terms of its input and output.
Black box or function testing attempts to find errors in the following categories:
Ø Incorrect or missing functions
Ø Interface errors
Ø Errors in data structures or external database access.
Ø Performance errors
Ø Initialization and termination errors.
          There are some techniques, Boundary values analysis, Equivalence class testing, decision table based testing that are used to trace black box testing errors.
2.  Structural Testing
A complementary approach to functional of black box testing is called structural of white box testing. In this approach, test group must have complete knowledge about the internal structure of the software. Structural testing is usually applied to relatively small program units as subroutines, or the operations associated with an object.
Using structural of white box of glass-box or clear box testing methods, the tester can drive test cases that:
Ø Guarantee that all independent paths within a module have been exercised at least once.
Ø Exercise all logical decision on their true or false side.
Ø Execute all loops at their boundaries and within their operational bounds.
Ø Structural testing is associated with number of methods.
Path testing:

Ø Data flow testing.
Ø Mutation testing.
Ø Control structure testing.

Test strategies

A strategy for software testing integrates software test case design methods into a well-planned series of steps that result in the successful construction so software. A number of software testing strategies have been proposed some are listing below:
Ø Testing begins at the module level and works outward toward the integration of the entire computer.
Ø Different testing techniques are appropriate at different points in time.
Ø Testing is conducted by the developer of the software and an independent test group.
Ø Testing and debugging are different activities.
Ø Implementation of successful software testing strategy, the following issues must be taken care of:
Ø Before the start of the testing process all the requirements must be specified in a quantifiable manner.
Ø Testing objectives must be clarified and stated explicitly
Ø A proper testing plan must be developed.
Ø Develop a continuous improvement approach for testing process.

                           Verification and validation

               Verification refers to the set of activities that ensures that software correctly implements a specific function. Validation refers to a different set of activities that ensures that the software that has been built is traceable to customer requirements. The definition of V and V encompasses many of the activities that we have referred to as software quality assurance.
These definitions tell us that the role of verification involves checking that the software confirms to its specification. You should check that the system meets its specified functional and non-functional requirements.

Software inspections

Software inspections analyze and checks system representations such as the requirements document, design diagrams and the program source code. Inspection techniques include program inspection, automated source code analysis and formal verification. Testing involves exercising the program using data like the real data processed by the program.
1.    Verification and validation planning = It is an expansive process. For some large system, such as real –name systems with complex non-functional constraints, half the system budget may be spent on V&V.
2.      The structure of software test plans:
·       The test process
·       Requirement traceability
·       Tested items
·       Testing schedule
·       Test recording procedures
·       Constraints
·       Hardware and Software requirement
Software testing is often used in association with the terms verification and validation. Verification is the checking or testing of items, including software, for conformance and consistency with an associated specification. Software testing is just one kind of verification, which also uses techniques such as reviews, analysis, inspection, and walkthroughs.  Validation is the process of checking that what has been specified is what the user actually wanted.

Flow chart of Testing
     
         Client needs                                      Acceptance Testing
 



        Requirement code                               System testing


         Design                                                   Integration testing
 




                                                                           Unit Testing
















Levels of testing

Testing is carried out at different levels and at various intervals. The levels of testing may be viewed as a spiral unit testing begins at the vertex of the spiral, i.e., the first level of testing and concentrates on each unit of the software as implemented in source code.

Unit Testing
Unit testing focus verification effort on the smallest unit of software, the module.

There are number of reason in support of unit testing than testing the entire product:
·       The size of a single module is small enough that we can locate an error fairly easily.
·       The module is small enough that we can attempt to test it in some demonstrably exhaustive fashion.
·       Confusing interaction of multiple errors in widely different parts of the software is eliminated.
Each module can be tested using the following two strategies:

White box Testing

      White box testing is sometimes more appropriately named clear box testing. In this tester knows how the software module or component is implemented, in this scenario; the tester’s trying to ensure that the software does not fail. Automation of white box testing is more difficult than black box testing. This type of testing is usually done from the developer prospective during unit testing where one of the tests resources   is the source code. To successfully implement white box testing it is important to know how the software has been written so that tests can be performed to cover all possible failure points.

Black box testing

Black box testing refers to the development of test cases that are on what the software is supposed to do. That is, to check if the functionality is correct without regard to how the software accomplishes a specified task. Black box Testing is called that because the tester cannot “see” inside the component being tested automation in the area of GUI testing has come a long way in recent years and there are various tools available the automate this process.
                                                                                                                                      
                                                                                                                                              
                                   System Testing
    
System testing involves two kinds of activities: Integration testing and acceptance testing. Strategies for integrating software components into a functioning product include bottom –up strategy and top-down strategy. Careful planning and scheduling are required to ensure that modules will be available for integration into the evolving software product when needed. The integration strategy dictates the order in which modules must be available, and thus experts a strong influence on the order in which modules must be available, and thus experts a strong influence on the order in which modules are written, debugged, and unit tested.
           Acceptance testing involves planning and execution of functional tests, performance tests, and stress tests to verify that the implemented system satisfies its requirement. Acceptance tests are typically performed for the quality assurance and/or customer organizations.

  Integration testing

Integration testing ensures that software and subsystems work together as a whole. It tests the interface of all modules to make sure that the modules behave properly when integrated together.
        Bottom –up integration testing.  Bottom –up integration is the traditional strategy used to integrate the components of a software system into a functioning whole. Bottom –up integration consists of unit testing, followed by subsystem testing, followed by testing of the entire system.

Top-down integration starts with the main routine and one or two immediately subordinate routines in the system structure. After this top-level “skeleton” has been thoroughly tested, it becomes the test harness for its immediately subordinate routines. Top-down integration requires the use of program stubs to stimulate the effect of lower-level routines that are called by those been tested.

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. It involves planning and execution of functional tests and stress tests in order to demonstrate implemented system satisfies its requirements.

Validation testing

Validation return to the process of using software in a live environment in order to find errors. The feedback from the validation phase generally produces changes in the software to deal with errors and failures that are uncovered.

Recovery testing

It is the system testing that forces the software to fail in verifies that 
recovery is properly performed. If recovery is automatic, check pointing mechanisms, data recovery and restart are evaluated for correctness. If recovery requires human intervention, the mean time-to-time is evaluated to determine whether it is within acceptable limits.

Security testing

Security testing attempts to verify that protection mechanism built in a system will in fact, protect it improper penetration, to quote Bezier:”the system‘s security must, of course be tested for invulnerability from frontal attack but also be tested for invulnerability from flank or rear attack.”                             
 
                                                      


Stub
                                                                      
Test Case Analysis

All the above test cases are executed and analyzed. To be specific the control kept empty so that the user will enter all the fields whenever necessary. Entering all the required attributes is a must and the system directs the end user to do so. Invalid entries are not allowed.
Typing invalid values while modification is also checked by various constraints are applied to it.

Quality Assurance

Quality assurance consists of the auditing and reporting functions of management. The goal of quality assurance is to provide management with the data necessary to be informed about product quality, thereby gaining insight and confide that product quality is meeting its goals. This is an umbrella activity that is applied throughout the engineering process.

Software quality assurance encompasses

  • ·      Analysis, design, coding, and testing methods and tools.
  • ·      Mulitiered testing strategy.
  • ·       Control of software documentation and the change made to it.
  • ·       A procedure to ensure compliance with software development standards.


  • ·       Measurement and reporting mechanism.
Quality factor

The factors that affect the quality can be categorized into two broad groups:

  • ·       Factors that can be directly measured.
  • ·       Factors that can be indirectly measured.
These factors focus on three important aspects of a software product

  • ·       Its operational characteristics
  • ·       Its ability to undergo change
  • Its adaptability to new environment

                                                                                                                                                   
Maintenance

Maintenance can be classified as:-
  • ·       Corrective
  • ·       Adaptive
  • ·       Perfective


Corrective maintenance means repairing processing or performing failures or making changes because of previously uncorrected problems or false assumption. Adaptive maintenance means changing the program function.


Perfective maintenance means enhancing the performance or modifying the program(s) to respond to the user’s additional or changing needs.
Maintenance is actually the implementation of the post implementation review plan.
As important as it is, many programmers and analysts are reluctant to perform or identify themselves with the maintenance effort. There are psychological, personality and professional reasons for this. In any case, a first class effort must be made to ensure that software changes are made properly and in time to keep the system in tune with user specifications.
Maintenance is costly. One way to reduce maintenance costs is through maintenance management and software modification audits software modification consists of program rewrites system level updates, and re-audits of low ranking program to verify and correct the soft spot.
The outcome should be more reliable software, a reduced maintenance backlog, and higher satisfaction and morale among the maintenance staff.
 Conclusion
Overall conclusion that the efficiency and quality are best served by the project. By going through the proper software development phases step by step. Proper testing of the project, its modularity and simplicity increases its productivity of the project in many ways. And its visual studio platform environment plays the major role in this.
Each module is working properly they worked assigned to it and all the modules are combined together to form a unit to work. This thing cause to the modularity in the project, which if any change required at any level does not going to affect others in the project.
In order to design of this project is gone through the each level of analysis phase, which provides basis that this is the information and that system is to be building. System designing goes through the proper way of designing goes through the proper way of designing goes through the proper way of designing flow of data and information from the desired input to the desired out, that how it is converse from one level to different level towards result. By deriving its DFD, E-R Diagram, table structure, module, diagram, and etc.
 After designing testing phase testing its correctness that still any problem is there or not and implementation phase going to implement this on site and testing its working environment for successful implementation post-implementation goes through is there any need of maintenance in project or on site to accept or to run under the particular O.S, or there any need of training to the end user.
These all things provide the quality, feasibility in cost as well as efficiency to the project work and its successful completion. By doing the computer resource management system. I have gained knowledge about the various functions of the system organization, such as how the marketing department works and what are the main strategies that they follow to market the product. I also gained a considerable knowledge about the development environment and SDLC.
This Student Information system project will serve as a useful approach to data base to update adds. It serves as a helpful approach for the users. It reduces the time taken by the user to add, update, delete, view & search the information. Thus the project is the user friendly approach
Bibliography
Books
·       Black book
Web references
·       Www. google.co.in
·       Www. homeandlearn.com
·       www. w3schools.com











  

0 comments:

Post a Comment

 

PROGRAMMINGqueen Copyright © 2011 - |- Template created by O Pregador - |- Powered by Blogger Templates

Blogger Widgets