Você está na página 1de 76

INTRODUCTION OF PROJECT

Student Management System is software which is helpful for students as well as the school authorities. In the current system all the activities are done manually. It is very time consuming and costly. Our Student Management System deals with the various activities related to the students. The student management system is an automated version of
manual Student Management System. It can handle all details about a student. The details

include college details, subject details, student personnel details, academic details, exam details etc... In case of manual system they need a lot of time, manpower etc.Here almost all work is computerized. So the accuracy is maintained. Maintaining backup is very easy. It can do with in a few minutes. Our system has two type of accessing modes, administrator and user. Student management system is managed by an administrator. It is the job of the administrator to insert update and monitor the whole process. When a user log in to the system. He would only view details of the student. There are mainly 3 modules in this software User module Student Module Mark management Module.

In the Software we can register as a user and user has of two types, student and administrator. Administrator has the power to add new user and can edit and delete a user. A student can register as user and can add edit and delete his profile. The administrator can add edit and delete marks for the student. All the users can see the marks. Our project explains about the student management. This project mainly explains the various actions related to student details. This project shows some ease in adding, editing and deleting the student details. It also provides a less time consuming process for viewing, adding, editing and deleting the marks of the students.

Our project includes Student Registration Subject Allocation Branch selection Semester wise selection. Examination marks entry Displaying branch and semester wise result.

INTRODUCTION TO C++
C++ is an Object Oriented Language. Initially name C with Classes, C++ was developed by Bjarne Stroustrup at AT & T Bell Laboratories in the earlier 1980s. The Features of C++ were a combination of the Object Oriented Features of a Language called Simula 67 and the power of C. Some of the most important features that C++ adds on to C are Classes, function overriding and Operator Overloading. These features enable developer to create abstract classes, inherit properties from existing classes and support polymorphism. C++ is a language for handling very large programs. It is suitable for virtually any programming task including development editors, Compiler, databases, Communication system and any complex real life application systems.

HISTORY OF C++
C++ is an object-oriented language. It was developed Bjarne Stroustrup at AT&T Bell Laboratories in Murray Hill, New Jersey, USA, in the early 1980s. Stroustrp, an admirer of Simula 67 and a strong supporter of C, wanted to combine the best of both the languages and create a more powerful language that cold support OOP features and still retains the power and elegance of C. The result was C++. Therefore, C++ is an extension of C with major addition of the class construct feature of Simula 67. Since the class was a major addition to the original C language. Stroustrup initially called the new language C With Classes. However, later in 1983, the name was changed to C++. The idea of C++ comes from the increment operator ++, thereby, suggesting that C++ is an augmented (incremented) version of C.

During the early 1990s, the language underwent a number of improvements and changes. In November 1997, the ANSI/ISO standards committee standardized these changes an added several new features to the language specification.

Object Oriented Approach


The fundamental idea behind Object-Oriented language is to combine into a single unit both data and the functions that operate on that data. Such a unit is called an Object. So With the Help of Object we can encapsulate the Data and its functions into a single entity. The major motivating factor in the invention of object-oriented approach is to

remove some of the flaws encountered in the procedural approach. OOP treats data as a critical element in the program development and does not allow it to flow freely around the system. It ties data more closely to the functions that operate on it, and protects it from accidental modification from outside functions. It allows decomposition of problems into a number of entities called Objects and then builds data and functions around these objects

FEATURES OF OOPS
Emphasis on data rather than procedure. Programs are divided into objects. Data Structures are designed such as they characterize the objects. Functions that operate on the data of an object are tied together in the data structure. Data is hidden and cannot be accessed by external functions. Objects may communicate with each other through functions. New data and functions can be easily added wherever necessary. Follows bottom up approach in program design.

Characteristics of Object Oriented Approach:-

1) Classes :In OOP we say Class is the Combination of Data and functions under a single name. A Class declaration in C ++ is largely similar to a Structure declaration in C. The main idea behind using classes is the binding of data along with its functionality. The class declaration starts with the keyword class followed by the class name. Then we declare the variables which form the data and member functions for processing the data are also declared along with return type for each. The class declaration ends with the closing brace ( } ) followed by semi-colon (;).

2) Encapsulation :Encapsulation or data hiding is the mechanism that associates the code and data that it manipulates into a single unit and keeps them safe from external interface and misuse. The Class features of C + + implements the concept of encapsulation by providing access specifiers. Access specifiers control the visibility status of the members of a class. There are three access specifiers in C + + :- private, public and protected.

The members of a class declared private are accessible only within the class, i.e.

only to other of the same class.

The members declared are public as accessible anywhere from within the class, or outside the class.

The members declared are protected as accessible by the sub classes, which is going to

inherit the main class.

Access Specifiers serve the important purpose of defining the boundary between the accessible and inaccessible parts of a class

3) Inheritance :The Idea of classes leads to the idea of Inheritance. Inheritance is the concept by which the properties of one entity are available to another. It allows new classed to be build from the older and less specialized classed instead of being rewritten from scratch. C++ allows a class to inherit properties and functions from another.

The class that inherits properties and functions is called the subclass or the derived class and the class from which they are inherited is called the super class or the base class. The derived class inherits all the properties of the base class and can add properties and refinements of its own. The base class remain unchanged.

4) Reusability :Once a class has been written, created and debugged, it can be distributed to other programmers for use in their own programs. This is called Reusability. However, in OOP, the concept of inheritance provides an important extension to the idea of reusability. A Programmer can take an existing class and , without modifying it, add additional features and capabilities to it.

5) OBJECTS: Are the basic runtime entities in object-oriented system?

They may represent a person, a place, a bank account, a table of data or any item that the program has to handle. They may represent user-defined data such as vectors, time and list. When a program is executed, the objects interact by communicating with each other. Each object contains data and code for manipulation.

6)_DYNAMIC BINDING: It refers to the linking of the procedure call to the code to be executed in response to the call. It mans that the code associated with polymorphism and inheritance.

7) MESSAGE PASSING:An OO program consists of a set of object that communicate with each other. The process of programming in an OO language, herefore, involves: Creating classes that define objects and their behavior. Creating objects from class definitions. Establishing communication among objects.

APPLICATION OF C++

C++ is a versatile language for handling very large programs. It is suitable for virtually any programming task including editors, compliers, data base system, communication system an any complex real life application systems. C++ allows s to create hierarchy related objects. So we can build special object oriented libraries, which can be used later by many programmers.

While C++ is able to map the real world problems the C part of C++ gives the language the ability to get close to the machine language details. C++ programs are easily maintainable and expandable.It is expected that C++ will replace C as a general-purpose language in the near future.

GRAPHICS USED
All modes are fundamentally of two types: 1. 2. Text Graphics Some modes display only takes, some sport more number of colors whereas some are made only four graphics. As seen earlier, the display adapter continuously dumps the contents of video memory on the screen. Most text modes use B Block in the memory map. Whereas most graphics used A block. The amount of memory required to represent character on the screen in text mode and pixel in graphics mode various from mode to mode. Following are the graphics used in the software. Initgraph- Initialises the graphics style. Void for initgraph (int far * graph driver, int far * graphmode, char far * path to driver) ; Settextstyle- Set the current text characteristics. Void far settextstyle (int font, int direction, int char size); Outtextstyle- Displays a string at the specified location. Void far outtextstyle (int x, int y char far * text string); Setcolor- Set the current fore groundcolor using the palette.

Void far setcolor (int, color); Setbkcolor- Sets the current background color using the palette. Void far setbkcolor (int color);

SYSTEM REQUIREMENTS SPECIFICATION

Hardware Requirements
Processor RAM Hard Disk Monitor Key Board : : : : : Pentium III 630MHz 128 MB 20GB 15 Color monitor 104 Keys

Software Requirements
Operating System : Windows NT, Windows 98, Windows XP. Language : Java 2

10

Environment Database

: Runtime : MS Access2007.

Functional Requirements
The functional requirements of the system are to the implement the solution for finding the train details and route information in the large existing rail system.

Input / Output:
The user select the type of training and enter the source and destination codes with which finds the student training details and route information.

Processing:
The information regarding student details are retrieved from the database.

Storage Requirements:
The information will be retrieved from the database. 11

Control Requirements:
Alerts when any errors are there and when any of the field is not selected.

System Study
System study is the first stage of system development life cycle. This gives a clear picture of what actually the physical system is? In practice, the system study is done in two phases. In the first phase, the preliminary survey of the system is done which helps in identifying the scope of the system. The second phase of the system study is more detailed and in-depth study in which the identification of users requirement and the limitations and problems of the present system are studied. After completing the system study, a system proposal is prepared by the System Analyst (who studies the system) and placed before the user. The proposed system contains the findings of the present system and recommendations to overcome the limitations and problems of the present system in the light of the users requirements.

To describe the system study phase more analytically, we would say that system study phase passes through the following steps:

problem identification and project initiation background analysis inference or findings

12

SYSTEM ANALYSIS

EXISTING SYSTEM:
System Analysis is a detailed study of the various operations performed by a system and their relationships within and outside of the system. Here the key question iswhat all problems exist in the present system? What must be done to solve the problem? Analysis begins when a user or manager begins a study of the program using existing system. During analysis, data collected on the various files, decision points and transactions handled by the present system. The commonly used tools in the system are Data Flow Diagram, interviews, etc. Training, experience and common sense are required for collection of relevant information needed to develop the system. The success of the system depends largely on how clearly the problem is defined, thoroughly investigated and properly carried out through the choice of solution. A good analysis model should provide not only the mechanisms of problem understanding but also the frame work of the solution. Thus it should be studied thoroughly by collecting data about the system. Then the proposed system should be analyzed thoroughly in accordance with the needs. System analysis can be categorized into four parts. System planning and initial investigation

13

Information Gathering Applying analysis tools for structured analysis Feasibility study Cost/ Benefit analysis.

In the current system we need to keep a number of records related to the student and want to enter the details of the student and the marks manually. In this system only the teacher or the school authority views the mark of the student and they want to enter the details of the student. This is time consuming and has much cost.

PROPOSED SYSTEM
In our proposed system we have the provision for adding the details of the students by themselves. So the overhead of the school authorities and the teachers is become less. Another advantage of the system is that it is very easy to edit the details of the student and delete a student when it found unnecessary. The marks of the student are added in the database and so students can also view the marks whenever they want. The proposed system would be used to overcome the problems faced in manual system. Updating records would not be the problem and also cross checking of records in the proposed system would not be required. Mathematical and logical errors would get automatically rectified in the proposed system. Reports can be generated on the click of a button. Design of the proposed system must take the following into consideration: All the information would be recorded in different data files

14

Our proposed system has several advantages User friendly interface Fast access to database Less error More Storage Capacity Search facility Look and Feel Environment Quick transaction

All the manual difficulties in managing the student details in a school or college have been rectified by implementing computerization.

Understanding Feasibility
Feasibility study means the analysis of problem to determine if it can be solved effectively. In other words it is the study of the possibilities of the proposed system it studies the work ability, impact on the organization ability to meet users need and efficient use of resources.

FEASIBILITY ANALYSIS
Whatever we think need not be feasible .It is wise to think about the feasibility of any problem we undertake. Feasibility is the study of impact, which happens in the organization by the development of a system. The impact can be either positive or 15

negative. When the positives nominate the negatives, then the system is considered feasible. Here the feasibility study can be performed in two ways such as technical feasibility and Economical Feasibility. An initial investigation culminates in a proposal that determines whether an alternative system is feasible. The feasibility study describes and evaluates Valuation Accounting System and provides for the selection of the best system that meets system performance requirements.

To do a feasibility study, we need to consider the economic, technical, and behavioral factor in system development. First a project team is formed. The team develops system flowcharts that identify the characteristics of Valuation Accounting System, evaluate the performance of each system, weight system performance and cost data, and select the best Valuation Accounting System for the job.

Three key considerations are involved in the feasibility analysis: economic, technical, and behavioral

Technical Feasibility:
We can strongly says that it is technically feasible, since there will not be much difficulty in getting required resources for the development and maintaining the system as well. All the resources needed for the development of the software as well as the maintenance of the same is available in the organization here we are utilizing the resources which are available already.

Economical Feasibility:
Development of this application is highly economically feasible .The organization needed not spend much money for the development of the system already available.

16

The only thing is to be done is making an environment for the development with an effective supervision. If we are doing so, we can attain the maximum usability of the corresponding resources .Even after the development, the organization will not be in condition to invest more in the organization .Therefore, the system is economically feasible.

Behavioral Feasibility
People are inherently resistant to change, and computers have been known to facilitate change. An estimate should be made of how strong a reaction the user staff is likely to have toward the development of a computerized system. The design of the VA System is very easy to understand easily adaptable by the DOT staff. It also includes behavioral feasibility. Behavioral feasibility deals with the runtime performance of the S/W the proposed system must score higher than the present in the behavioral study. The S/W should have end user in mind when the system is designed while designing s/w theprogrammer should be aware of the conditions users. Knowledge input, output, calculations etc. The s/w contains only a minimum no. of bugs. Care should be also taken to avoid non-working means & buttons.

OPERATIONAL FEASIBILITY
Proposed projects are of course beneficial only if they can turned into information systems that will meet the organizations operating environments. Simply stated this feasibility asks that whether the system work when developed and installed.

Sufficient Support:

17

Is there sufficient support for the project form the other members, management? Yes, proposed system is well liked by every one involved in management and officials

Acceptable to users :
We hope that users will welcome this step. And will accept the proposed system as this will be help them in various ways. It will be useful for the students of modern algebra, applied mathematics ,atomic physics ,mathematical problem of economics etc. Chances of resistance by the other people are less.

Result :
Is the results of proposed system will be harmless, or they may create problems. Will there be any loss of result control ? No, it will not cause any such type of problem because it is planned to be developed in proper way, and these type of issues can be tested during testing phase.

Slow Performance :
No, system will not perform poorly. In fact it would be able to perform well because it is developed in C++ which is a high level language.

18

After, discussing the aspect related to operational study it is clear that it is almost operational feasible. Now next it is check whether is feasible economically or not.

SYSTEM DESIGN

Introduction
System design is a process through which requirements are translated into a representation of software. Initially the representation depicts a holistic view of software. Subsequent refinement leads to a design representation that is very close to source code. Design is a place where quality fostered in software development. Design provides us with representation of software that can be assessed for quality; this is the only way that can accurately translate the customer requirements into finished software product or system. System design serves as the foundation for all software engineering and software maintenance steps that follow. We look the design process from three distinct perspectives: Conceptual Design Logical Design Physical Design The higher view is the conceptual view, followed by the logical view and finally the physical view. In designing an application, we generally begin and end each phase in a sequentially order, although they may overlap one another along the way.

19

Conceptual Design:
Conceptual Design is the process of acquiring and evaluating, documenting and then validating what the user envisions to be the business relation. It identifies the user and business requirements of the application and leads to a business solution as seen by the user. All applications are built to solve business problems, and it is important to pay close attention to principle that the business need drives application development. At any point in the design process, the current state of the design should be directly traceable to a business problem and requirements. To achieve this conceptual design is driven by developing usage scenarios. These scenarios are a direct representation of the users view of the solution to a specific business problem. A conceptual view places the emphasize on solving a business problem and deriving a solution that corresponds to the needs and requirements of the users. It is based on deriving the behavior of the solution with a primary emphasizes on the user. Beginning with a emphasis on the activities of the business rather than aspects of software development, underscores the fact that systems exists to serve the business. A strong focus on the user in the beginning of the project will help in maintaining a proper perspective throughput the development lifecycle.The conceptual design results in the first description of what the system does to solve the business problem articulated in the vision/scope document.

Logical Design

20

Logical Design derives business objects and their related services directly from these usage scenarios. The logical view of the solution provides a basis for evaluating different physical options. It also formalizes the solution for the project team. The idea of the application is that the system first emerges in logical design.Its boundaries and business objects and it contains the system definition. Logical design specifies the interfaces between the system and external entities,such as users and other systems. Within a system there may be a number of sub-systems, and these boundaries are also specified. Logical System Design consists of the following steps: Input/Output Specifications File Specifications Processing Specifications Logical design should be technologically independent as possible, inorder to separate system behavior issues from system implementation issues. Implementation constraints should only be considered only after the project team verifies that the essential behavior has been incorporated onto a logical design. This approach does not establish a technical direction until the system is well understood and documented.

Physical Design
The purpose of Physical Design is to translate the logical design into a solution that can be implemented effectively, according to performance, administration and development process requirements. This physical view should correctly implement the desired system behavior while meeting the constraints imposed by the technology. In Physical Design, the perspective shifts from an abstraction of system behavior to an implementation of the behavior. Whereas the logical design is largely technology independent, physical design is necessarily tied to chosen set of technologies, these being the hardware and software on which the application will run.

21

The aim of physical design is to specify how to build portioned applications from software components. The interaction of these components through defined interfaces results in the desired behavior of the system as a whole. The rules for communicating between components are defined by interaction standards: what a component does and how it communicates are major considerations in physical design. Physical design consists of the following steps: 1. Design the physical media Specify input/output media. Design the database and specify backup procedures. Design physical information flow through the system.

2. Plan the system implementation Prepare a conversion schedule target date. Determine training procedure, courses and timetable.

Performs the necessary calculations through the existing files Produces (displays) the report on the screen. Maintains and update the database at all times

3. Device a test and implementation plan. 4. Specify any new Hardware/Software usage. 5. Update benefits, costs, conversion date and system constraints.

UML Diagrams

22

Introduction

Design is the first step in the development phase for an engineered product or system. Design is the place where quality is fostered in software development. Design is the only way that we can accurately translate a users requirements into a finished software product or system. Software design serves as the foundation for all software engineers and software maintenance steps that follow. Without design we risk building an unstable design -one that will fail when small changes are made, one that may be difficult to test, and one whose quantity cannot be accessed until late in the software engineering process.

Taking software requirements specification document of analysis phase as input to the design phase we have drawn Unified Modeling Language (UML) diagrams. UML depends on the visual modeling of the system. Visual modeling is the process of taking the information from the model and displaying it graphically using some sort of standards set of graphical elements.

UML Diagrams are drawn using the Pace Star UML Diagrammed Software. We seem to able to understand complexity better when it is displayed to us visually as opposed to written textually. By producing visual models of a system, we can show how system works on several levels. We can model and the interactions between the users and the system.

Types of UML Diagrams

23

Each UML diagram is designed to let developers and customers view a software system from a different perspective and in varying degrees of abstraction. UML diagrams commonly created in visual modeling tools include

Use Case Diagram :displays the relationship among actors and use cases.

24

25

Class Diagram :--models class structure and contents using design elements such as
classes, packages and objects. It also displays relationships such as containment, inheritance, associations and others.

Interaction Diagrams:
26

Sequence Diagram displays the time sequence of the objects participating in the interaction. This consists of the vertical dimension (time) and horizontal dimension (different objects).

27

Collaboration Diagram :displays an interaction organized around the objects and their links to one another. Numbers are used to show the sequence of messages.

28

State Diagram ;displays the sequence of states that an object of an interaction goes through during its life in response to received stimuli, together with its responses and actions.

Activity Diagram :29

displays a special state diagram where most of the states are action states and most of the transitions are triggered by completion of the actions in the source states. This diagram focuses on flows driven by internal processing.

Component Diagram:displays the high level packaged structure of the code itself. Dependencies among components are shown; include source code components, binary code components, and executable components. Some components exist at compile time, at link time, at run times well as at more than one time.

Deployment Diagram:displays the configuration of run-time processing elements and the software components, processes, and objects that live on them. Software component instances represent runtime manifestations of code units.

DATA FLOW DIAGRAM


A data-flow diagram (DFD) is a graphical representation of the "flow" of data through an information system. DFDs can also be used for the visualization of data processing (structured design). On a DFD, data items flow from an external data source or an internal data store to an internal data store or an external data sink, via an internal process. A DFD provides no information about the timing or ordering of processes, or about whether processes will operate in sequence or in parallel. It is therefore quite different

30

from a flowchart, which shows the flow of control through an algorithm, allowing a reader to determine what operations will be performed, in what order, and under what circumstances, but not what kinds of data will be input to and output from the system, nor where the data will come from and go to, nor where the data will be stored (all of which are shown on a DFD).

Context Diagram

User

Sytem

Report

USER STUDENT

31

MARKS

SYSTEM IMPLEMENTATION

32

Introduction
Implementation is the stage in the project where the theoretical design is turned into a working system. The implementation phase constructs, installs and operates the new system. The most crucial stage in achieving a new successful system is that it will work efficiently and effectively.

There are several activities involved while implementing a new project. They are End user training End user Education Training on the application software System Design Parallel Run and To New System Post implementation Review

End user Training:


The successful implementation of the new system will purely upon the involvement of the officers working in that department. The officers will be imparted the necessary training on the new technology

33

End User Education:


The education of the end user start after the implementation and testing is over. When the system is found to be more difficult to understand and complex, more effort is put to educate the end used to make them aware of the system, giving them lectures about the new system and providing them necessary documents and materials about how the system can do this.

Training of application software:


After providing the necessary basic training on the computer awareness, the users will have to be trained upon the new system such as the screen flows and screen design type of help on the screen, type of errors while entering the data, the corresponding validation check at each entry and the way to correct the data entered. It should then cover information needed by the specific user or group to use the system.

Post Implementation View:


The department is planning a method to know the states of t he past implementation process. For that regular meeting will be arranged by the concerned officers about the implementation problem and success.

Project Modules
Our application deals with three modules User module Student Module Mark management Module. 34

User Module:
In the Software we can register as a user and user has of two types, student and administrator. Administrator has the power to add new user and can edit and delete a user. A student can register as user and can add edit and delete his profile. The administrator can add, edit and delete marks for the student. All the users can see the marks.

Student Module:
In this student module Administrator will register the details of the student. Administrator can view the details of the student by giving admission number. Administrator number Administrator can also delete the details of the student by giving admission number can also edit the details of the student by giving admission

35

Marks Management Module

In this module Administrator register all subjects and also provide subject code to each and every subject.

Assign subjects to every branch in semester wise. Using subject code Administrator edit and delete the subjects. Administrator enters marks of the Student in semester wise. Administrator can also edit and delete the marks of the student.

SYSTEM TESTING
Is the menu bar displayed in the appropriate contested some system related features included either in menus or tools? Do pull Down menu operation and Tool-bars work properly? Are all menu function and pull down sub function properly listed ?; Is it possible to invoke each menu function using a logical assumptions that if all parts of the system are correct, the goal will be successfully achieved .? In adequate testing or nontesting will leads to errors that may appear few months later. This create two problem 1. Time delay between the cause and appearance of the problem. 2. The effect of the system errors on files and records within the system

36

The purpose of the system testing is to consider all the likely variations to which it will be suggested and push the systems to limits. The testing process focuses on the logical intervals of the software ensuring that all statements have been tested and on functional interval is conducting tests to uncover errors and ensure that defined input will produce actual results that agree with the required results. Program level testing, modules level testing integrated and carried out.

UNIT TESTING
Unit testing is the testing of a single program module in an isolation environment. The testing of the processing procedure is the main focus. In this regard the entire module was separately tested first as isolated and complete entities. This help a lot in discovering problems related to single module and rectifying them in the context of the module itself, rather than considering module related problems in a global context.

Integration Testing:
Integration testing is the process of the testing the interfaces among system modules. Such testing ensures that data moves between system are intended. In the regard of integration testing, it was seen that all the data was expected to be the output of a particular module was obtained in the correct format, so that the next module could accept it appropriately. This could be done either after the entire system was developed, or in stages after more than one module was developed.

Recovery Testing

37

In this test the system is tested by forcing it to fail in a Varity of ways and verifies that the recovery is properly performed. The re-initialization, data recovery, and restart are each evaluated for correctness.

Stress Testing
In this test the application is tested in a manner that the application is demanding resources in an abnormal manner. The application is tested for maximum memory usage. The boundary conditions are also tested for arrays and other data structures used in the System.

Performance testing
Performance testing for the application is performed for finding the actual runtime performance. Time taken for search and locate the required data is tested. The data conversion accuracy and speed for the converter tool is also tested. Connectivity and data transfer performance for live update facility of the application is tested by using test data sets provided by the system testing specialists of the company

Objectives of Testing :
Testing is vital to the success of a system. Testing is done at different stages within the development phase. System testing makes a logical assumption that if all parts of the system are correct the goals will be successfully achieved. Inadequate testing leads

38

to errors that may not appear until months later when correction will be extremely difficult. Another objective of testing is its utility.

TESTING METHODS
Software testing methods are traditionally divided into black box testing and white box testing. These two approaches are used to describe the point of view that a test engineer takes when designing test cases.

Black box testing


Black box testing treats the software as a "black box," without any knowledge of internal implementation. Black box testing methods include: equivalence partitioning, boundary value analysis, all-pairs testing, fuzz testing, model-based testing, traceability matrix, exploratory testing and specification-based testing.

Specification-based testing
Specification-based testing aims to test the functionality of software according to the applicable requirements.[16] Thus, the tester inputs data into, and only sees the output from, the test object. This level of testing usually requires thorough test cases to be provided to the tester, who then can simply verify that for a given input, the output value (or behavior), either "is" or "is not" the same as the expected value specified in the test case.Specification-based testing is necessary, but it is insufficient to guard against certain risks.

Advantages and Disadvantages

39

The black box tester has no "bonds" with the code, and a tester's perception is very simple: a code must have bugs. Using the principle, "Ask and you shall receive," black box testers find bugs where programmers don't. But, on the other hand, black box testing has been said to be "like a walk in a dark labyrinth without a flashlight," because the tester doesn't know how the software being tested was actually constructed. That's why there are situations when (1) a black box tester writes many test cases to check something that can be tested by only one test case, and/or (2) some parts of the back end are not tested at all. Therefore, black box testing has the advantage of "an unaffiliated opinion," on the one hand, and the disadvantage of "blind exploring," on the other.

White box testing


White box testing, by contrast to black box testing, is when the tester has access to the internal data structures and algorithms (and the code that implement these)

Types of white box testing:The following types of white box testing exist: Api testing - Testing of the application using Public and Private APIs. Code coverage - creating tests to satisfy some criteria of code coverage. For example, the test designer can create tests to cause all statements in the program to be executed at least once. Fault injection methods. Mutation testing methods. Static testing - White box testing includes all static testing.

Code completeness evaluation


White box testing methods can also be used to evaluate the completeness of a test suite that was created with black box testing methods. This allows the software team to 40

examine parts of a system that are rarely tested and ensures that the most important function points have been tested. Two common forms of code coverage are: function coverage, which reports on functions executed And statement coverage, which reports on the number of lines executed to complete the test. They both return a coverage metric, measured as a percentage

SOURCE CODING

//STUDENT MANAGEMENT SYSTEM

//By NEHA MUNJAL //Password : abcde

#include<iostream.h> #include<conio.h> #include<fstream.h> #include<iomanip.h> #include<math.h> #include<ctype.h> #include<string.h> #include<stdio.h> #include<process.h>

41

#include<stdlib.h> #include<time.h> class student { char name[50]; int r_no; int classs; float marks; char grade; public: int modify1(); void modification(); void getdata(); void display(); void search(); int getrno() { return r_no; } }; student ob1[10],ob2,ob3[10],ob4; void student::getdata() {

42

char ch; cin.get(ch); cout<<"\n\n\t\t\tEnter the roll number: "; cin>>r_no; cout<<"\n\t\t\tEnter name:"; cin>>name; cout<<"\n\t\t\tEnter class:"; cin>>classs; cout<<"\n\t\t\tEnter the marks:"; cin>>marks; if(marks>=75) grade='A';

else if(marks>=60) grade='B'; else if(marks>=50) grade='C'; else if(marks>=40) grade='D'; else grade='F'; } void student::display() { cout<<" \nRoll no :"<<r_no; cout<<" \nName:"<<name ; cout<<"\nclass:"<<classs<<"\n"<<name<<"\t..has passed examz with "<<marks<<"\t and grade: "<<grade; }

43

void student::modification() { char clas[4]; cout<<" rol no:"<<r_no<<"\n"; cout<<"name: "<<name<<"\t class:"<<clas<<"\t marks"<<marks<<"\n"; cout<<"\n enter new details"; char nm[20]=" " , cl[4]=" "; float mks; cout<<"\n new name:(press . to retain old one) "; cin>>nm; cout<<"\n new class :(press . to retain old one) "; cin>>cl; cout<<"\n new marks:(press -1 to retain old one) "; cin>>mks; if(strcmp(nm,".")!=0) strcpy(name,nm); if (strcmp(cl,".")!=0) strcpy(clas,cl); if(mks!=-1) { marks=mks; if(marks>=75) grade='A';

44

else if(marks>=60) grade='B'; else if(marks>=50) grade='C'; else if(marks>=40) grade='D'; else grade='F';

} int passwords() {

char p1,p2,p3,p4,p5; gotoxy(30,10); cout<<"ENTER THE PASSWORD\n"; gotoxy(30,20); p1=getch(); cout<<"*"; p2=getch(); cout<<"*"; p3=getch(); cout<<"*"; p4=getch(); cout<<"*";

45

p5=getch(); cout<<"*"; getch(); gotoxy(30,20); if ((p1=='a'||p1=='A')&&(p2=='b'||p2=='B')&&(p3=='c'||p3=='C')&&(p4=='d'||

p4=='D')&&(p5=='e'||p5=='E'))

return 1;

else return 0; } void draw_line(int n,char ch); void board(); void gamescore(char name1[],char name2[],int p1, int p2); void play_dice(int &score); void draw_line(int n,char ch) { for(int i=0;i<n;i++) cout<<ch; } void board() {

46

clrscr(); cout<<"\n\n"; draw_line(50,'-'); cout<<"\n\t\tSNAKE AT POSITION\n"; draw_line(50,'-'); cout<<"\n\tFrom 98 to 28 \n\tFrom 95 to 24\n\tFrom 92 to 51\n\tFrom 83 to 19\n\tFrom 73 to 1\n\tFrom 69 to 33\n\tFrom 64 to 36\n\tFrom 59 to 17\n\tFrom 55 to 7\n\tFrom 52 to 11\n\tFrom 48 to 9\n\tFrom 46 to 5\n\tFrom 44 to 22\n\n"; draw_line(50,'-'); cout<<"\n\t\t LADDER AT POSITION\n"; draw_line(50,'-'); cout<<"\n\tFrom 8 to 26\n\tFrom 21 to 82\n\tFrom 43 to 77\n\tFrom 50 to 91\n\tFrom 62 to 96\n\tFrom 66 to 87\n\tFrom 80 to 100\n"; draw_line(50,'-'); cout<<endl; } void gamescore(char name1[],char name2[],int p1, int p2) { cout<<"\n"; draw_line(50,'~'); cout<<"\n\t\tGAME STATUS\n"; draw_line(50,'~'); cout<<"\n\t--->"<<name1<<" is at position "<<p1<<endl;

47

cout<<"\t--->"<<name2<<" is at position "<<p2<<endl; draw_line(50,'_'); cout<<endl; } void play_dice(int &score) { int dice; dice=random(6)+1; cout<<"\nYou got "<<dice<<" Point !! "; score=score+dice; cout<<"Now you are at position "<<score; switch(score) { case 98 :score=28;break; case 95 :score=24;break; case 92 :score=51;break; case 83 :score=19;break; case 73 :score=1;break; case 69 :score=33;break; case 64 :score=36;break; case 59 :score=17;break; case 55 :score=7;break; case 52 :score=11;break;

48

case 48 :score=9;break; case 46 :score=5;break; case 44 :score=22;break; case 8 :score=26;break; case 21 :score=82;break; case 43 :score=77;break; case 50 :score=91;break; case 54 :score=93;break; case 62 :score=96;break; case 66 :score=87;break; case 80 :score=100; } } void main() {

cout<<"\t%%

%%

"; %% %%%%%%% %% %%%%%% %%%%%% %%%%

cout<<"\n\t%% %%%% %%%%%%%"; cout<<"\n\t%%

%% %%

%%

%%

%% %% %% %%% %% %% %%

";

cout<<"\n\t%% %% %% %%%%% %% %%%% ";

%% %% %% %%% %% %

49

cout<<"\n\t%% %% %% %% ";

%%

%%

%% %% %%

%% %%

cout<<"\n\t%%%%%%%%%% %%%%%%% %%%%%%% %%%%%%% %%% %%% %% %% %%%%%%% "; ";

cout<<"\n\n\t\t\t cout<<"\n\t\t\t cout<<"\n\t\t\t

$$$$$$$$ $$$$$ $$ $$ $ $ $$$$$ "; ";

cout<<"\n\n\n\t C++ PROJECT (******** Student Management & Gaming *******)"; cout<<"\n\n\t\t\t\t BY :-";

cout<<"\n\n\t\t\t* neha munjal"<<"\t BCA 3rd Year "; cout<<"\n\n\t\t\t* neha"<<"\t BCA 3rd Year "; cout<<"\n\n\t\t\t* NEHA"<<"\t BCA 3rd Year "; cout<<"\nPress any key to continue\n"; getch(); clrscr(); cout<<"\n\n\t\t\t LEADS INTERNATIONAL INSTITUTE OF ENGG. & TECHNOLOGY\n" ; cout<<"\t\t\t ********************************************\n"; cout<<"\n\n\t\t EVALUATION(CCE)\n"; cout<<"\t\t **************************************** \n"; CONTINUOUS & COMPREHENSIVE

50

int passwords(); if(!passwords()) { for(int i=0;i<2;i++) { clrscr(); cout<<"\nWrong password try once more\n"; if(passwords()) { goto last; } else { clrscr(); cout<<"\n\n\t\t\t all attempts failed....."; cout<<"\n\n\n\t\t\t see you.................. "; exit(0); }

} cout<<"\t\t\t sorry all attempts failed............. \n \t\t\tinactive"; } else

51

{ clrscr(); last:; clrscr(); cout<<"loading/////////////////////////////////\n"; int rn,tr,n,p,i=0,record=0; long pos; char ans; do { clrscr(); cout<<"\n\n\n\t\t\tMenu for displaying\entering data\n\n"; cout<<"\t\t\t1.Enter the details\n\n"; cout<<"\t\t\t2.Displaying the details\n\n"; cout<<"\t\t\t3.searching details\n\n"; cout<<"\t\t\t4.modification \n\n"; cout<<"\t\t\t5.Gaming section \n\n"; cout<<"\t\t\t6.Deletion\n\n"; cin>>tr; clrscr(); switch(tr) { case 1:

52

{ cout<<"\n\t\t\t Enter the NOs of students to be added\n"; cin>>n ; p=n;

ofstream cpp("name.txt",ios::app); for( i=0;i<n;i++)

ob1[i].getdata();

cpp.write((char*)&ob1[i],sizeof(ob1[i]));

record++; }

cpp.close();

clrscr();

cout<<"\n\n\n Do you want to continue(y/n)";

53

cin>>ans; break ; } case 2: {

ifstream cpp("name.txt",ios::app);

cpp.seekg(0);

cout<<"\nHow many details u have entered???\n";

cin>>p; {

for(i=0;i<p;i++) {

cpp.read((char*)&ob1[i],sizeof(ob1[i]));

ob1[i].display();

54

cout<<"\n\n\n"; } }

cout<<"\n\n\t\t\t\n Do you want to go back to main menu???(y/n)";

cin>>ans;

cpp.close(); break; } case 3: { char found='n';

ifstream cpp("name.txt",ios::in||ios::app);

cout<<"\t\t\tEnter the roll no. to search \n";

cin>>rn;

cpp.seekg(0);

55

while(! cpp.eof()) {

pos=cpp.tellg();

cpp.read((char*)&ob2,sizeof(ob2));

if(ob2.getrno()==rn) {

found='y';

ob2.display();

break; } else cpp.seekg(pos,ios::cur); }

if(cpp.eof()) cout<<"crasheddddd";

if(found=='n')

56

cout<<"\nRecord not found.....zzzzz\n";

cout<<"\n\t\t\t\n\n Do you want to go back to main menu???(y/n)";

cin>>ans; break; } case 4: { char found='f';

ofstream cpp("name.txt",ios::out||ios::app);

ifstream cp("name.txt",ios::in||ios::app);

cout<<"\t\t\tEnter the roll no. to be modified \n";

cin>>rn; while(! cpp.eof()) {

57

pos=cp.tellg();

cp.read((char*)&ob2,sizeof(ob2));

if(ob2.getrno()==rn)

ob2.modification();

cp.seekg(pos);

cpp.write((char*)&ob2,sizeof(ob2));

found='t';

break;

} }

if(found=='f')

58

cout<<"\nrecord not found\n";

cpp.close();

cp.close();

ifstream cppp("name.txt",ios::in||ios::app);

cppp.seekg(0);

cout<<"\nWhich file you have modified(number)???\n";

cin>>p;

cout<<"\nNow the file contains\n"; {

clrscr();

for(i=0;i<p;i++)

59

cppp.read((char*)&ob3[i],sizeof(ob3[i]));

ob3[i].display();

} }

cout<<"\n\t\t\t\n Do you want to go back to main menu???(y/n)";

cin>>ans;

clrscr();

cpp.close(); break; } case 6: { char found='f',confirm='n';

ifstream cpp("name.txt",ios::in||ios::app);

60

ofstream cp("temp.txt",ios::out||ios::app);

cout<<"\nEnter the roll No. of the student to be deleted....\n";

cin>>rn; while(! cpp.eof()) {

cpp.read((char*)&ob2,sizeof(ob2)) ;

if(ob2.getrno()==rn)

ob2.display();

found='t';

cout<<"\nAre you want to delete this record\n";

cin>>confirm;

61

if(confirm=='n')

cp.write((char*)&ob2,sizeof(ob2)) ;

else

cp.write((char*)&ob2,sizeof(ob2)) ; }

if(found=='f')

cout<<"\nRecord not found!!!\n";

cpp.close();

cp.close();

remove("name.txt");

rename("temp.txt","stu.txt");

62

cpp.open("name.txt",ios::in);

cpp.seekg(0);

cout<<"\nWhich file you have Deleted(number)???\n";

cin>>p;

cout<<"\nNow the file contains\n"; for(int i=0;i<p;i++) {

cpp.read((char*)&ob3[i],sizeof(ob3[i]));

if(cpp.eof()) break;

ob4.display();

cpp.close(); break;

63

} case 5: {

int player1=0,player2=0,lastposition;

char player1name[80],player2name[80];

clrscr();

randomize();

draw_line(50,'=');

cout<<"\n\n\n\n\t\tSNAKE LADDER GAME\n\n\n\n";

draw_line(50,'=');

cout<<"\n\n\nEnter Name of player 1 :";

gets(player1name);

cout<<"\n\n\Enter Name of player 2 :";

64

gets(player2name);

while(player1<=100 && player2<=100)

board();

gamescore(player1name,player2name,player1,player2);

cout<<"\n\n--->" <<player1name<<" Now your Turn >> Press any key to play ";

getch();

lastposition=player1;

play_dice(player1);

if(player1<lastposition)

cout<<"\n\aOops!! Snake found !! You are at postion "<<player1<<"\n";

65

else if(player1>lastposition+6)

cout<<"\nGreat!! you got a ladder !! You are at position "<<player1;

cout<<"\n\n--->"<<player2name<<" Now your Turn >> Press any key to play ";

getch();

lastposition=player2;

play_dice(player2);

if(player2<lastposition)

cout<<"\n\n\aOops!! Snake found !! You are at position "<<player2<<"\n";

else if(player2>lastposition+6)

cout<<"\n\nGreat!! you got a ladder !! You are at position "<<player2<<"\n";

getch();

66

clrscr();

cout<<"\n\n\n";

draw_line(50,'+');

cout<<"\n\n\t\tRESULT\n\n";

draw_line(50,'+');

cout<<endl;

gamescore(player1name,player2name,player1,player2);

cout<<"\n\n\n";

if(player1>=player2)

cout<<player1name<<" !! You are the winner of the game\n\n";

67

else

cout<<player2name<<" !! You are the winner of the game\n\n";

draw_line(50,'+');

getch(); break; } } } while(ans=='Y'||ans=='y'); getch(); }} //PASSWORD IS abcde// \

68

OUTPUT

69

Enter password abcde

Following details will occur

70

enter 1

71

enter 2

enter 3

72

73

FUTURE SCOPE OF THE PROJECT


My project STUDENT MANAGEMENT SYSTEM will be able to implement in future after making some changes and modifications as we make our project at a very low level. So the modifications that can be done in our project is to add one major change which can be done in this project is that to add the snaps of the student of which the record is entered. This will result in total identification of the given student. Similarly various modifications can be done to enhance the usability of the given project as suitable for users requirement.

CONCLUSION
Our project is only a humble venture to satisfy the needs in an Institution. Several user friendly coding have also adopted. This package shall prove to be a powerful package in satisfying all the requirements of the organization. The objective of software planning is to provide a frame work that enables the manger to make reasonable estimates made within a limited time frame at the beginning of the software project and should be updated regularly as the project progresses.

74

ADVANTAGES & DISADVANTAGES Advantages


Less time is consumed. This project offers user to enter data in simple manner. Data storage and retrieval will become faster and easier. Transactions can be made with in a fraction of seconds. Calculation process becomes easier. Modification process becomes easier. Through these features it will increase the efficiency and accuracy.

Disadvantages of the project:


As nothing is perfect in this world, we also not claim that our software is perfect as all other ,our project also has some limitations which are as follows:: Differentiation is made between the upper case and the lower if we type 'y' instead of 'Y' indicating yes, software will not respond. Date of transaction is not shown . It runs on a single system that is there is no networking. It is not suitable for a large no. of entries. case limits that is

75

BIBLIOGRAPHY
While making this project, I have referred the following books for getting an idea to make this project and also for understanding the complete C language. The names of the authors of the books referred by me are as follows: Turbo C++ Object Oriented Programming : Robert Lafore : E. Balagurswami

Computer Science C++

: Sumita Arora

Software Engineering

: Sushil Goel

Complete Reference to C++

: Herbert Shiled

New stylebook for C++

: Rohit Publication

C++ Programming

: Yashwant Kanitkar

76

Você também pode gostar