Sie sind auf Seite 1von 24

A SYNOPSIS ON

Submitted by:

Enrollment No.

Name

Program

BCA

Study Centre Code

0531(D)

Study Centre Name

Markaz-E-Adab-O-Science

A Synopsis On
Student Management System

Submitted in the requirements for the


award of the Degree of

Bachelor of Computer Applications (B.C.A)


as
Sixth Semester Project
by

Rajeev Roshan Kumar


Under the Guidance of
Md. Amir Khusru Akhtar

CIT, Ranchi.

INDIRA GANDHI NATIONAL OPEN UNIVERSITY


Study Centre Code (0531 D)
Markaze-Adab-O-Science, Ranchi, Jharkhand 834001

INTRODUCTION
A STUDENT MANAGEMENT SYSTEM is a software application for
educational

establishments

to

manage

student

data.

STUDENT

MANAGEMENT SYSTEMs provide capabilities for entering student test


and other assessment scores through an electronic grade book, building
student schedules, tracking student attendance, and managing many other
student-related data needs in a college, college or university
These systems vary in size, scope and capability, from packages that are
implemented in relatively small organizations to cover student records alone,
to enterprise-wide solutions that aim to cover most aspects of running large
multi-campus organizations with significant local responsibility. Many
systems can be scaled to different levels of functionality by purchasing addon "modules" and can typically be configured by their home institutions to
meet local needs.
In larger enterprise solutions that have student data at their core, further
functions include Student financial aid management and more may be
customized by the developer. Where national or government systems exist
for student finance or statistical return purposes, student records system
often provide functionality that caters for this, by way of modules or core
elements that handle the production of required files, or deal with the
formatted transfer of information.
In the past, universities and large college districts in particular have created
their own bespoke student record systems.. With growing complexity in the

business of educational establishments, most organizations now choose to


buy customizable software. Most STUDENT MANAGEMENT SYSTEMs
in use today are server-based, with the application residing on a central
computer server, and being accessed by client applications at various places
within and even outside the college.

OBJECTIVES AND ARCHITECTURE


Until recently, the common functions of a student records system are
to support the maintenance of personal and study information relating
to:
* Handling inquiries from prospective students
* Handling the admissions process
* Enrolling new students and storing teaching option choices
* Automatically creating class & teacher schedules
* Handling records of examinations, assessments, marks and grades
and academic progression
* Maintaining records of absences and attendance
* Recording communications with students
* Maintaining discipline records
* Providing statistical reports
* Maintenance boarding house details
* Communicating student details to parents through a parent portal
* Special Education / Individual Education Plan (IEP) services
* Human resources services
* Accounting and budgeting services

* Student health records

DATA FLOW DIAGRAM

EDUCATION DETAIL

Student

College
Management
System

JOB DETAIL
MISCELLENEOUS DETAIL

CENTRE DETAIL

Employer

GENERAL DETAIL

0-LEVEL DFD

Students Info

Centre Info

Valid User
User
Status Reports

College
Management
System

First Level DFD

Staff Info
Activity

User Info

Students Info

1. Verify User

Centre Info

Valid User

Login Name/ password


2. Students
Processing

Students
User

3. Staff
Processing

Status Reports

Staff Info
Activity

2-nd Level DFD

Development Environment
Student Management System has been coded in the C++. We use the Turboc
3.0 compiler under windows for the project development. However once the code
is successfully compiled under windows we tested on the same on linux platform
using the gcc editor. However since it has an interface in visual basic we
recommended running the software on windows.
One question, which is bound to arise why we have chosen C++ for
implementing the various algorithm when we have the option of going for the
Visual Basic a commonly used language for this type of software. Although many
more choices were available before us C++ seemed to be, the best choice for
implementing the algorithm for several decent reasons. Firstly in many respects
C++ is its class concepts and the lingua franca of programmers.
Also the fact that C++ compilers support computer ranging from a primitive 8051
micro controller to super computers capable of managing 100 million instruction
per seconds. Which means in most programmers around the globe would have a
C++ compiler, and most of them are exposed to C++ code.
The second reason for using C++ is simply its efficiency. C++ is often perceived
to be a high level language, since it allows programmers to get closed to the
hardware. Also the fact that C++ codes are easily portable is itself a huge bonus.
Lastly the most important reason behind selecting C++ is that, this is the
language we are most comfortable with.

TOOLS / ENVIRONMENT USED


Some of the software/Tools/Package/Platforms, which are used to
run this project properly can be categorized and listed below.
Language
Our software is made in Turbo CPP Language.
Environment used or operating system used
This software supports : Windows Operating System.
Disk Operating System (DOS).

HARDWARE REQUIREMENT
The following hardware requirements are needed : PENTIUM 4 PROCESSOR.
RAM 128 MB.
COLOR MONITOR.
And its PERIPHERALS.

Documentation
Word Processor : Microsoft Office
2000 Graphics Package : Microsoft Paint

System Development Life Cycle (SDLC)


Computer software is the programs that software engineer design and build. It
encompasses programs that execute with in a computer of any size and architecture,
documents that in compos hard copy and virtual forms, and data that combine numbers
and text.
Before creating the software we have to go through the software analysis and design
phase to achieving the required goal. Software development is
usually characterized by a series of depicting the various tasks involved in the
development process that is known as System Development Life Cycle (SDLC). The
activities of this cycle are as follows : -

1. Requirement Analysis and Specification


2. Design and Specification
3. Coding and Module Testing
4. Integration and System Testing
5. Delivery and Maintenance

Each phase of the Life Cycle has its own goals and outputs. The output of one phase
acts as the input for the another phase.
Nowadays a numbers of the software development is available in the market which are
used to prepare whole of the Life Cycle.

1.Requirement Analysis and Specification


Requirements phase is usually done by the person or a team of persons called system
analyst. The major objective of this phase is to identify exactly what types of features
the software to be developed must provide. It include two major activities : Problem
understanding and Requirement specification.
The problem analysis includes thorough understanding of the problems, areas to be
automated, areas affected after automation etc. This requires creative thinking, better
inter-personal skills and a close interaction between the users and analysts.
The requirements phase ends with a requirement document, which contains the
specification of the important items such as functional and performance requirements,
scope of the product, nature of its interface to users, hardware requirements, existing
product, speed, precision, the capacity and cost of the product, and potential benefits to
the organization etc.

2. Design and Specification Phase


Once the requirements for a system have been documented, we design a software system
to meet them. This phase is the first step in moving from the problem domain to the
solution domain. Starting with what is needed to how to obtain them. The design phase
focuses on four distinct attributes of the software :Data Structure
Software Architecture
Procedural Detail
Interface Design

The design phase is usually divided into 2 stages : System Design ( Preliminary Design ), and
Detailed Design.

The System Design focuses on what components are required. It defines the general
structure of the software, the major modules, the functions provided by each module, the
interface between modules, major data structures and output formats of the system.
The detailed design focuses on how each component can be implemented. It specifies the
internal logic of each module specifying the algorithms and more detailed data structures.
3. Coding and Module Testing
The goal of the coding phase is to translate the design into machine readable form. The
system is divided into number of modules, developed separately, and each module is
tested to ensure that it performs as expected. Module testing is required to uncover the
errors in requirements, design or coding.
4. Integration and System Testing
All tested, workable modules of the system are put together according to the architecture
design and tested as a whole system. System testing is required check whether the
interconnection between the modules is o.k. or not. The system is tested against system
requirements to see if all requirements are specified in Requirement analysis and
Specification is met or not. Finally, acceptance test is performed with client, to
demonstrate the developed software, on real life data of the client, the operation of the
system.
5. Delivery and Maintenance
Once the system passes all the tests and client accepts it, it is delivered to the client,
installed on the system, and thus it becomes operational. Any modifications required by
the user during initial operating period are usually done during this period.
The Maintenance is provided by us to the clients for a limited period of time.

A BRIEF HISTORY OF C++

Computer languages have undergone dramatic evolution since the first electronic
computers were built to assist in telemetry calculations during World War II. Early on,
programmers worked with the most primitive computer instructions: machine language.
These instructions were represented by long strings of ones and zeroes. Soon, assemblers
were invented to map machine instructions to human-readable and -manageable
mnemonics, such as ADD and MOV.
In time, higher-level languages evolved, such as BASIC and COBOL. These languages
let people work with something approximating words and sentences, such as Let I =
100. These instructions were translated back into machine language by interpreters and
compilers. An interpreter translates a program as it reads it, turning the program
instructions, or code, directly into actions. A compiler translates the code into an
intermediary form. This step is called compiling, and produces an object file. The
compiler then invokes a linker, which turns the object file into an executable program.
Because interpreters read the code as it is written and execute the code on the spot,
interpreters are easy for the programmer to work with. Compilers, however, introduce the
extra steps of compiling and linking the code, which is inconvenient. Compilers produce
a program that is very fast each time it is run. However, the time-consuming task of
translating the source code into machine language has already been accomplished.
Another advantage of many compiled languages like C++ is that you can distribute the
executable program to people who don't have the compiler. With an interpretive language,
you must have the language to run the program.
For many years, the principle goal of computer programmers was to write short pieces of
code that would execute quickly. The program needed to be small, because memory was
expensive, and it needed to be fast, because processing power was also expensive. As
computers have become smaller, cheaper, and faster, and as the cost of memory has
fallen, these priorities have changed. Today the cost of a programmer's time far outweighs
the cost of most of the computers in use by businesses. Well-written, easy-to-maintain

code is at a premium. Easy- to-maintain means that as business requirements change, the
program can be extended and enhanced without great expense.
C++ and Object-Oriented Programming
C++ fully supports object-oriented programming, including the four pillars of objectoriented development: encapsulation, data hiding, inheritance, and polymorphism.
Encapsulation and Data Hiding When an engineer needs to add a resistor to the device
she is creating, she doesn't typically build a new one from scratch. She walks over to a
bin of resistors, examines the colored bands that indicate the properties, and picks the one
she needs. The resistor is a "black box" as far as the engineer is concerned--she doesn't
much care how it does its work as long as it conforms to her specifications; she doesn't
need to look inside the box to use it in her design.
The property of being a self-contained unit is called encapsulation. With encapsulation,
we can accomplish data hiding. Data hiding is the highly valued characteristic that an
object can be used without the user knowing or caring how it works internally. Just as
you can use a refrigerator without knowing how the compressor works, you can use a
well-designed object without knowing about its internal data members.
Similarly, when the engineer uses the resistor, she need not know anything about the
internal state of the resistor. All the properties of the resistor are encapsulated in the
resistor object; they are not spread out through the circuitry. It is not necessary to
understand how the resistor works in order to use it effectively. Its data is hidden inside
the resistor's casing.
C++ supports the properties of encapsulation and data hiding through the creation of
user-defined types, called classes. You'll see how to create classes on Day 6, "Basic
Classes." Once created, a well-defined class acts as a fully encapsulated entity--it is used
as a whole unit. The actual inner workings of the class should be hidden. Users of a welldefined class do not need to know how the class works; they just need to know how to
use it. Inheritance and Reuse When the engineers at Acme Motors want to build a new
car, they have two choices: They can start from scratch, or they can modify an existing
model. Perhaps their Star model is nearly perfect, but they'd like to add a turbocharger
and a six-speed transmission. The chief engineer would prefer not to start from the

ground up, but rather to say, "Let's build another Star, but let's add these additional
capabilities. We'll call the new model a Quasar." A Quasar is a kind of Star, but one with
new features.
How C++ Evolved
As object-oriented analysis, design, and programming began to catch on, Bjarne
Stroustrup took the most popular language for commercial software development, C, and
extended it to provide the features needed to facilitate object-oriented programming. He
created C++, and in less than a decade it has gone from being used by only a handful of
developers at AT&T to being the programming language of choice for an estimated one
million developers worldwide. It is expected that by the end of the decade, C++ will be
the predominant language for commercial software development.
While it is true that C++ is a superset of C, and that virtually any legal C program is a
legal C++ program, the leap from C to C++ is very significant. C++ benefited from its
relationship to C for many years, as C programmers could ease into their use of C++. To
really get the full benefit of C++, however, many programmers found they had to unlearn
much of what they knew and learn a whole new way of conceptualizing and solving
programming problems.
The ANSI Standard
The Accredited Standards Committee, operating under the procedures of the American
National Standards Institute (ANSI), is working to create an international standard for C+
+.

The ANSI standard is an attempt to ensure that C++ is portable--that code you write for
Microsoft's compiler will compile without errors, using a compiler from any other
vendor.
C++ Keywords
Keywords are reserved to the compiler for use by the language. You cannot
define classes, variables, or functions that have these keywords as their names.

The list is a bit arbitrary, as some of the keywords are specific to a given
compiler. Your mileage may vary slightly:
auto
break
case
catch
char
class
const
continue
default
delete
do
double
else
enum
extern
float
for
friend
goto
if
int
long

mutable
new
operator
private
protected
public
register
return
short
signed
sizeof
static
struct
switch
template
this
throw
typedef
union
unsigned
virtual
void
volatile
while

Operator Precedence
It is important to understand that operators have a precedence, but it is not
essential to memorize the precedence.

New Term: Precedence is the order in which a program performs the operations in a
formula. If one operator has precedence over another operator, it is evaluated first.

Higher precedence operators "bind tighter" than lower precedence operators; thus, higher
precedence operators are evaluated first. The lower the rank in the following chart, the
higher the precedence.
Table A.1. Operator Precedence.
Rank Name

Operator

scope resolution

::

member selection, subscripting,

. ->

function calls, postfix increment

()

and decrement

++ --

sizeof, prefix increment and decrement,

++ --

complement, and, not, unary minus and plus,

^ !

address of and dereference, new, new[], delete,

-+

delete[], casting, sizeof(),

&*

()
4

member selection for pointer

.* ->*

multiply, divide, modulo

*/%

add, subtract

+-

shift

<< >>

inequality relational

< <= > >=

equality, inequality

== !=

10

bitwise AND

&

11

bitwise exclusive OR

12

bitwise OR

13

logical AND

&&

14

logical OR

||

15

conditional

?:

16

assignment operators

= *= /= %=
+= -= <<= >>=
&= |= ^=

17

throw operator

Throw

18

comma

SYSTEM DESIGN
Problem Definition
Our objective in this project is to completely computerize the Hotel so that it performed any
transaction for the Customers. System should produce a flawless description.
We observed the following drawbacks in the present system.
Since the system is manual, the time involved in updating of the records in
considerably more.
Generation of reports is quite difficult compared to automated systems.
The amount of record tends to increase and this leads to difficulty in preservation of
records.
The maintenance of record becomes a difficult task and it tends to be inconsistent.
The modification of records is very difficult, which if not taken care, may lead to
problems such as data duplication and inconsistencies.
Error identification and rectification consumes a lot of time, since it involves
searching individual files for errors.

Hence, we decided to develop s/w for Capitol Hill Hotel MANAGEMENT SYSTEM,
which is easy to work, is efficient and economical.
Feasibility Study
A feasibility study was undertaken to decide whether to decide whether the project itself was
liable and pertinent to the user. The following questions are to be answered before embarking
upon the development of the views of our system.
Is there any efficiency involved in the implementation of this project as an end
user?
Is this project or the application developed during this project is cost efficient?
Will it lead to simplification f the managerial tasks?
Does it offer better performance than other application developed for the same
purpose?

Merits
Up till now the response received from the users, inspire us to improve our product
further. The benefits of our product (as listed by the users) till now are listed below:

Faster information retrieval and processing speed.


Improved management system.
Time and cost reduction.
Storage space reduction.
DESIGN METHODOLOGIES AND TOOLS USED

The development of our application involves a set of design strategies and methodologies,
without which we will not be able to proceed with the development smoothly. In other words,
any project, which is implemented without design strategies, lead to inconsistency in the
development of the product and ultimately to the application failure, which renders the
application useless. Hence, we list the following design strategies.
We categorize the application development into a set of modules.
Each such module is assigned to a set of developers, who are, may be group of
individuals or a single developer
Regular meetings are held, so that there is no communication gap between the
developers and each of them can know individual progress made by other.
The modules developed by the individuals are tested repeatedly, so that the errors
can be eliminated at the development stage itself.
Finally all these modules are combined to form application software, which is ready
to be delivered to the user.

It is to be carefully observed that, the above listed design strategies is not a universal design
strategy, but is only one of the possible strategies that can be implemented in development of
any application in a project, and may be altered according to the development requirements.

A Brief Overview of Testing


Usually, before the software is delivered to the end user, it had to undergo a lot of testing, for
which we have some of the following strategies. System testing generally involves the
process of checking if the developed system is working according to the original objective
and requirements. It is critical element of software quality assurance and represents the
ultimate review of specification and coding. Testing represents an interesting anomaly for the
software. Thus a series of testing are performed .Here we mention the different testing
strategies.

Unit testing.
Integration testing.
Validation testing.
Output testing.
System testing.
Preparation of test data.

Overview of tools used


When developing any application in the field of software development, we come across two
phrases, which are as follows:
Development of Front End of the application, where we implement the graphic
user interface, through which the user can interact with the software.
Development of Back End, performs the actual operation, expected from the S/W.

Limitation Of the Project


There is no doubt that STUDENT MANAGEMENT SYSTEM provide
excellent tools for managing learning throughout an organization, however,
if not carefully used, they can actually lead to a degradation in the quality
and effectiveness of learning.

Scope of Future Applications


The STUDENT MANAGEMENT SYSTEM will have centralized approach.
Each district will access the central server and depending upon the login, the
particular district data will be available while entire data will be available at
the HQ. In the STUDENT MANAGEMENT SYSTEM other details are
treated in a similar manner and it meets all the requirement of existing
system.

The client of the project


This System is capable enough to customize it as per need of the specific
organization.

Das könnte Ihnen auch gefallen