45
INTRODUCTION OVERVIEW OF THE PROJECT School Management System Application that comprises each activity and component of school. School Management System comprises different modules. The software will house the entire school, students, teachers, lesson plans, calendars information among many others on the website providing critical stake holders with management reporting. The intention of the software deployment is also to monitor the school performance and take appropriate actions in time to improve overall results and also quality of education. The purpose of this document is to outline process and software details for various users of the system. Snapshot of the screens along with required fields input information is outlined in the document. School Management System is very appropriate and compound application for every module of the school including Admin, Inquiry, Fees, Scheduling, Attendance, Exam, Feedback, Library, Expenses, Placement, Security, & Utility.

School Management System Application full documents

Embed Size (px)

DESCRIPTION

in this file contains the complete documentation for School Management System Application. It includes the complete flow diagrams and the Data flow diagrams. including the modules Admin, Inquiry, Fees, Scheduling, Attendance, Exam, Feedback, Library, Expenses, Placement, Security, & Utility.

Citation preview

IntroductionOverView of the ProjectSchool Management System Application that comprises each activity and component of school. School Management System comprises different modules. The software will house the entire school, students, teachers, lesson plans, calendars information among many others on the website providing critical stake holders with management reporting. The intention of the software deployment is also to monitor the school performance and take appropriate actions in time to improve overall results and also quality of education. The purpose of this document is to outline process and software details for various users of the system.

Snapshot of the screens along with required fields input information is outlined in the document. School Management System is very appropriate and compound application for every module of the school including Admin, Inquiry, Fees, Scheduling, Attendance, Exam, Feedback, Library, Expenses, Placement, Security, & Utility.ABOUT THE ORGANISATION:

At present the school management and its all procedures are totally manual based. It creates a lot of problems due to wrong entries or mistakes in totaling etc. This system avoided such mistakes through proper checks and validation control methods in checking of student record, fee deposit particulars, teachers schedule, examination report, issue of transfer certificates etc. I met personally to the principal and manager and discuss about the computerization of manual school management system. This system registers a student and confirms its admission in school. When a student registers in school a S.R. No (unique ID) is allotted to student. Student record is based on his/ her S.R. No.

existing system

System Analysis refers to the process of examining a situation with the intent of improving it through better procedures and methods. System design is the process of planning a new system to either replace or complement an existing system. But before any planning is done, the old system must be thoroughly understood and the requirements determined. System Analysis is therefore, the process of gathering and interpreting facts, diagnosis problems and using the information to re-comment improvements in the system. Or in other words, System Analysis means a detailed explanation or description. Before computerizing a system under consideration, it has to be analyzed.

Limitations of existing systems

Limitations or failure of existing systems, or the awareness of technological advances relating to the particular are involved in particular systems which competitors are developing.

Information systems projects originate from many reasons: to achieve greater speed in processing data, better accuracy and improved consistency, faster information retrieval, integration of business areas, reduced cost and better security. The sources also vary project proposals originate with department managers, senior executives and systems analysis. Sometimes the real origin is an outside source, such as a government agency, which stipulates systems requirements the organization must meet.

Proposed System

The objective of developing such a computerization system is to reduce the paper work and safe of time in school management. There by increasing the efficiency and decreasing the work load.

The project provides us the information about student record, school faculty, school timetable, school fee, and school examination result and library management. The system must provide the flexibility of generating the required documents on screen as well as on printer as and when required.

REQUIREMENT SPECIFICATION

HARDWARE REQUIREMENTS

Processor

: Intel Pentium IV (3.0 GHz)

RAM

: 1 GB

Hard Disk

: 40 GB and above

CD Drive

: 52 * CD Drive

Key Board

: 114 Keys Keyboard

Monitor

: 15 LCD/LED

Mouse

: Optical Mouse

SOFTWARE REQUIREMENTS

Operating System : Windows

Front End : Visual Basic 6.0

Back End : SQL Server 2000

Introduction to Visual Basic

The purpose of this tutorial is to provide you with the basic tools needed to write very simple programs for numerical analysis in Visual Basic (VB). They were developed for version of VB that comes with MS Office 2003. This version is largely updated to Office 2010, but there may still be some things that do not quite work correctly. VB has much in common with virtually all other programming languages. A VB program is a series of commands that creates and manipulates variables. VB programs are also called Macros. Several different programs (called Subs in VB) can be in a single file. These Subs can act separately or they can be interconnected. With few exceptions, all your commands must be contained in a Sub, i.e., after a line that opens a Sub and before the End Sub that ends the sub.

A programmer can create an application using the components provided by the Visual Basic program itself. Programs written in Visual Basic can also use the Windows API, but doing so requires external function declarations. Though the program has received criticism for its perceived faults,[3] version 3 of Visual Basic was a runaway commercial success,[4] and many companies offered third party controls greatly extending its functionality.

Features

The language not only allows programmers to create simple GUI applications, but to also develop complex applications. Programming in VB is a combination of visually arranging components or controls on a form, specifying attributes and actions of those components, and writing additional lines of code for more functionality. Since default attributes and actions are defined for the components, a simple program can be created without the programmer having to write many lines of code. Performance problems were experienced by earlier versions, but with faster computers and native code compilation this has become less of an issue.

To Controls have attributes and event handlers associated with them. Default values are provided when the control is created, but may be changed by the programmer. Many attribute values can be modified during run time based on user actions or changes in the environment, providing a dynamic application. For example, code can be inserted into the form resize event handler to reposition a control so that it remains centered on the form, expands to fill up the form, etc. By inserting code into the event handler for a key press in a text box, the program can automatically translate the case of the text being entered, or even prevent certain characters from being inserted.

CharacteristicsVisual Basic has the following traits which differ from C-derived languages:

Statements tend to be terminated with keywords such as "End If", instead of using "{}"s to group statements.

Multiple variable assignment is not possible. A = B = C does not imply that the values of A, B and C are equal. The boolean result of "Is B = C?" is stored in A. The result stored in A would therefore be either false or true.

Boolean constant True has numeric value 1. This is because the Boolean data type is stored as a 16-bit signed integer. In this construct 1 evaluates to 16 binary 1s (the Boolean value True), and 0 as 16 0s (the Boolean value False). This is apparent when performing a Not operation on a 16 bit signed integer value 0 which will return the integer value 1, in other words True = Not False. This inherent functionality becomes especially useful when performing logical operations on the individual bits of an integer such as And, Or, Xor and Not. This definition of True is also consistent with BASIC since the early 1970s Microsoft BASIC implementation and is also related to the characteristics of CPU instructions at the time.

Logical and bitwise operators are unified. This is unlike some C-derived languages (such as Perl), which have separate logical and bitwise operators. This again is a traditional feature of BASIC.

Variable array base. Arrays are declared by specifying the upper and lower bounds in a way similar to Pascal and FORTRAN. It is also possible to use the Option Base statement to set the default lower bound. Use of the Option Base statement can lead to confusion when reading Visual Basic code and is best avoided by always explicitly specifying the lower bound of the array. This lower bound is not limited to 0 or 1, because it can also be set by declaration. In this way, both the lower and upper bounds are programmable. In more subscript-limited languages, the lower bound of the array is not variable. This uncommon trait does exist in Visual Basic .NET but not in VBScript.OPTION BASE was introduced by ANSI, with the standard for ANSI Minimal BASIC in the late 1970s.

SQL Database

For applications that need a full featured relational database-as-a-service, Windows Azure offers SQL Database, formerly known as SQL Azure Database. SQL Database offers a high-level of interoperability, enabling customers to build applications using many of the major development frameworks. Additionally, SQL Database, based on the proven technologies of SQL Server, provides the ability to use existing skills and knowledge to accelerate time to solution as well as build or extend applications across on-premises and cloud. Learn more about business analytics cloud services based on SQL Server.

Use SQL Database to:

Build enterprise apps

SQL Database is an ideal database for a wide variety of business applications including transaction processing, departmental or line of business solutions. Deliver sophisticated cloud-based services with proven reliability and performance. Get massive scale out for your relational databases through sharding with SQL Federation, provide secure and reliable access to data with familiar control mechanisms, and easily deploy your databases with no physical administration required.

Power hybrid applications

SQL Database can be accessed from applications hosted in Windows Azure as well as from applications hosted on-premises. Data can easily be shared across SQL Database and SQL Server databases, as well as across multiple SQL Databases with SQL Data Sync.

Tables

Tables offer NoSQL capabilities for applications that require storage of large amounts of unstructured data. Tables are an ISO 27001 certified managed service which can auto scale to meet massive volume of up to 100 terabytes and throughput and accessible from virtually anywhere via REST and managed APIs. Learn how to get the most out of Tables here.

Blob (Binary Large Object) storage

Blobs are the simplest way to store large amounts of unstructured text or binary data such as video, audio and images. Blobs are an ISO 27001 certified managed service can auto-scale to meet massive volume of up to 100 terabytes and throughput and accessible from virtually anywhere via REST and managed APIs.

Save time by automatically generating documentation

Eliminate tedious and time-consuming manual documentation tasks

Satisfy audit requirements by keeping complete documentation

Document a database in a couple of clicks, from within SSMS

Keep teams up to date by distributing documentation

QL Doc is a fast, simple tool which automatically generates database documentation.

You can create documents in HTML, Microsoft Word or Compiled HTML Help files. Information about object definitions and dependencies is automatically included, and you can add further descriptions to your database objects if necessary.

SQL Doc is ideal for developers and DBAs who need to quickly produce high quality database documentation. SQL Doc integrates with SSMS, so you can document a database by right-clicking in the Object Explorer.

Connect to SQL DatabaseConnecting to SQL Database requires that you know the server name on Windows Azure. You might need to sign in to the portal to get this information.

1. Sign in to the Windows Azure Management Portal.

2. In the left pane, click on SQL Databases.

3. On the SQL Databases home page, click SERVERS at the top of the page to list all of the servers associated with your subscription. Find the name of the server to which you want to connect and copy it to the clipboard.

Next, configure your SQL Database firewall to allow connections from your local machine. You do this by adding your local machines IP address to the firewall exception list.

1. On SQL Databases home page, click SERVERS and then click the server to which you want to connect.

2. Click Configure at the top of the page.

3. Copy the IP address in CURRENT CLIENT IP ADDRESS.

4. In the Configure page, Allowed IP Addresses includes three boxes where you can specify a rule name and a range of IP addresses as starting and ending values. For a rule name, you might enter the name of your computer. For the start and end range, paste in the IP address of your computer into both boxes, and then click the checkbox that appears.

The rule name must be unique. If this is your development computer, you can enter the IP address in both the IP range start box and the IP range end box. Otherwise, you might need to enter a broader range of IP addresses to accommodate connections from additional computers in your organization.

5. Click SAVE at the bottom of the page.

Note: There can be up as much as a five-minute delay for changes to the firewall settings to take effect.

You are now ready to connect to SQL Database using Management Studio.

1. On the taskbar, click Start, point to All Programs, point to Microsoft SQL Server 2012, and then click SQL Server Management Studio.

2. In Connect to Server, specify the fully-qualified server name as serverName.database.windows.net. On Windows Azure, the server name is an auto generated string composed of alphanumeric characters.

3. Select SQL Server Authentication.

4. In the Login box, enter the SQL Server administrator login that you specified in the portal when creating your server in the format login@yourServerName.

5. In the Password box, enter the password that you specified in the portal when creating your server.

6. Click Connect to establish the connection.

On Windows Azure, each SQL Database logical server is an abstraction that defines a grouping of databases. The physical location of each database might be on any computer in the data center.

In previous versions, you had to connect directly to master when setting up the connection in Management Studio. This step is no longer necessary. Connections will now succeed based on the server name, authentication type, and administrator credentials.

Many of the SSMS wizards you can use for tasks like creating and modifying logins and databases on a SQL Server database are not available for SQL databases on Windows Azure, so you'll need to utilize Transact-SQL statements to accomplish these tasks. The steps below provide examples of these statements. For more information about using Transact-SQL with SQL Database, including details about which commands are supported, see Transact-SQL Reference (SQL Database).

SYSTEM DESIGN

It describes desired features and operations in detail, including screen layouts, business rules, process diagrams, pseudocode and other documentation. The most creative and challenges phase of the software development life cycle is software design. The term design describes final software and the process by which it is developed. The purpose of the design phase is to plan a solution of the problem specified by the requirements document. It also includes the construction of programs and program testing. Design takes us toward how to satisfy the needs. The design of a system is perhaps the most critical factor affecting the quality of the software; it has a major impact on the later phase, particularly testing and maintenance. The output of this phase is the design document.

The first step is to determine how the output is to be produced and in what format. Samples of the output and input are to present Second, input data and master files (database) have to be designed to meet the requirement of the purposed output. The operational (processing) phases are handled through program construction and testing, including a list of the programs needed to meet the software objectives and complete documentation.

The design activity is often dived into two phases-system design and detailed design. System design, which is sometimes also called top-level design, all the major data structures, file formats, output formats, and the major modules in the system and their specification are decided.

During detailed design, the internal logic of each of the modules specified in system design is decided. During this phase further details of the data structure and algorithmic design of each of the modules is specified.

In system design focus is on identifying the modules, whereas during detailed design focus is on designing the logic for each of the modules. In other words, in system design the attention is on what components are needed, while in detailed design how the component can be implemented in software is the issue.

The design of an information system produces the details that state how a system will meet the requirements identified during systems analysis. Often systems specialists refer to this stage as logical design, in contrast to developing program software, which is referred to as physical design.

As soon as the user accepts the system proposal, work can start on preparing the system specification. This phase takes the requirements as agreed and the work, which has led up to producing the proposal and develops the system to the level of details necessary to prepare the way for programming. At this point the analysts is concerned with the detail of input and output, the processing required, and the way in which the system will operate on a day-to-day basis. Depending on the level of complexity of the system and the amount and quality of work done at the earlier stages, this phase can take many months of hard work. It is concerned with the computer-oriented design of the system--the detail of the input transactions, the details of the printed reports, screens and other outputs, the file or database structure, the contents of records, the processing required and the efficiency of the system from a computer processing point of view.

Systems analysts start by identifying reports and other outputs the system will produce. Then the specific data on each is pinpointed, including its exact location on the paper, display screen, or other medium. Usually designers sketch the form or display as they expect it to appear when the system is completed.

The system design also describes the data to be input, calculated or stored. Individual data items and calculation procedures are written in detail. Designers select file structures and storage devices, such as magnetic disk, magnetic tape, or even paper files. The procedures they write tell how to process the data and produce the output.

The documents containing the design specifications use different ways to portray the design-- charts, tables, and special symbols--some of which you may have used and others that may be totally new to you. The detailed design information is passed onto the programming staff so that software development can begin.

Designers are responsible for providing programmer with complete and clearly outlines specifications that state what the software should do. As programming starts, designers are available to answer questions, clarify fuzzy areas, and handle problems that can front the programmers when using the design specifications.

A typical system specification will contain:

1. An introduction converting the relevance of the document and how it has evolved from the previous phases.

2. A description of the system. This is usually an outline in a narrative from with accompanying flow charts, procedure charts, and data flow diagrams or data models.

3. Detailed description of inputs, outputs and files, for example document layouts (input), screen layouts, report layouts, file/record layouts, and database schemes.

4. A description of the control, which operate within the system. This includes control over input and processing, restriction on access (e.g., passwords and control over input and processing, restrictions on access (e.g., passwords and control on output (e.g. numbering of checks)

5. Processing required. This may in fact be handled by specifying generally what watch program in the system is expected to do and by backing this up with individual program specifications issued separately. Arrangements for testing may also be described in this section.

6. Implementation consideration -- arrangements for converting existing files checking parallel runs, production of user procedures and production of computer -related procedures.

7. A detailed development and implementation time-table. This section should list all of the tasks to be done, including individual programs, showing the interrelationship between each task and the planned start and completion date for each task.

8. A back -up plan. This should describe be procedures to be developed for taking security dumps of files, for ensuring system resilience (e.g., duplexing) and for running the system at an alternative site in the event of the computer not being available.

It is at this stage that the first reliable estimate of the amount of computer programming effort required can be produced. Up to this point the estimates are to a large extent informed guesses and what comes out at the end of this exercise may be quite frightening compared with the previously available estimates. This is a valid reason for ensuring that senior management continues to have an approval role at the conclusion of this stage.

SYSTEM TESTING

It brings all the pieces together into a special testing environment, then checks for errors, bugs and interoperability. Software testing is the process of testing the software product. Effective software testing will contribute to the delivery of higher quality software products, more satisfied users, lower maintenance costs, more accurate, and reliable results. However, ineffective testing will lead to the opposite results; low quality products, unhappy users, increased maintenance costs, unreliable and inaccurate results.

Testing is the major quality control measure used during software development. Its basic function is to detect errors in the software. It is a very expensive process and consumes one-third to one-half of the cost of a typical development project. It is the process of executing program (or a part of a program) with the intention of finding the errors, however, testing cannot show the absence of errors it can show that errors are present.

Errors are present within the software under test. This cannot be the aim of software designers they must have designed the software with the aim of producing it with zero errors. Software testing is becoming increasingly important in the earlier part of the software development life cycle, aiming to discover errors before they are deeply embedded within systems. In the software development life cycle the earlier the errors are discovered and removed, the lower is the cost of their removal. The most damaging errors are those, which are not discovered during the testing process and therefore remain when the system goes live.

The testing requires the developers to find errors from their software. It is very difficult for software developer to point out errors from own creations. A good test is one that has a high probability of finding an as yet undiscovered error. A successful test case unearths an undiscovered error. This implies that testing not only has to uncover errors introduced during coding, but also errors introduced during the previous phases. The goal of testing is to uncover requirement, design, and coding errors in the programs. Different levels of testing are used:

Unit testing: A module is tested separately and is often performed by the coder himself simultaneously along with the coding of the module. The purpose is to exercise the different parts of the modules code to detect coding errors.

Integration Testing: The modules are gradually integrated into subsystems, which are then integrated to eventually from the entire system. Integration testing is performed to detect design errors by focusing on testing the interconnection between modules.

System Testing: After the system is put together, it is performed. The system is tested against the system requirement to see if the entire requirement are met and if the system performs as specified by the requirement.

Acceptance Testing: The final stage of initial development, where the software is put into production and runs actual business. It is performed to demonstrate to the client, on the real life data of the client, the operation of the system.

Testing is an extremely critical and time-consuming activity. It requires proper planning of the overall testing process. The test plan specifies conditions that should be tested, different units to be tested, and the manner in which the modules will be integrated together. The final output of the testing phase is the test report and the error report, or a set of such reports (one for each unit tested).

The importance of software testing and its implications with respect to S/W Quality cannot be overemphasized. Because of this importance & the large amount of project effort associated with the system development, it becomes quite necessary to become well planned and through testing. Inadequate testing & no-adequate testing lead's to errors that may be costly when they appear months later. Effective testing translates into cost savings from reduced errors & saves a lot of project efforts. It follows major factors that decide the occurrences of errors in a new design from the very early stage of the development.

1. Communication between the user & the designerThis factor is handled by frequently communicating with the finance department and the gate entry.

2. The Time factor for the design This factor is handled by giving comparatively more time to the designing of the system.

Objectives of System Testing Once a system has been designed, it is necessary to undergo an exhaustive testing before installing the system. This is important because in some cases a small error, not detected and corrected early before installation, may explode into a much large problem later on. Testing is being performed when users are asked to assist in identifying all possible situations. That might arise as regards the factor that efforts were put to tackle the problem under consideration. A plan was decided to be followed for testing the system. The complete testing procedure was divided into several steps, to be performed at different stages. Tests were to be done as follows: -

Testing Criteria

A. White Box Testing(i) Transaction path Testing

In this phase each and every condition within a unit program were tested. As and when a loop or condition statement was incorporated into a unit the loops were tested for correctness, for foundry conditions and for not getting into infinite execution cycle. The data used was whatever necessary at that instance. The path of each transaction from origin to destination was tested for reliable results.

(ii) Module Testing

This was carried out during the programming stage itself. Individual programs were tested at the time of coding and necessary changes are made there on to make sure that the modules in the form program, is working satisfactory as regards the expected output from the module. All aspects of the program viz. All choices available were properly tested.

(iii) String Testing

After loading all individual program string was performed for each one of programs where the output generated by one program is used as input by another program. This step was completed after making necessary changes wherever required.B. Black Box Testing

(i) System Testing

After module and string testing, the systems were tested as a whole system Tests were undertaken to check bundled modules for errors. The errors found in the couple system as a whole was corrected. A testing on the Actual data of the company followed this. During this phase the existing System and this package was running in parallel to enable us to verify and compare the result sets. The following criteria were used while testing the system.

(ii) Output Testing

No systems could be useful if it does not produced the required operation for that matter operation in the required format the outputs generated or displayed by the system under consider was tested by asking the format required by them.

(iii) User Acceptance Testing

User acceptance of a system is a key factor for the success of any system. The system under consideration was tested for user acceptance by constantly keeping in touch with the prospected system users at the time of developing and making changes.Wherever required this was done in regard to the user satisfaction.

Testing Procedure

Different type of checks like duplicate checks, completeness check, validity, checks etc. are incorporated in this system, as the data has to be entered in different forms.

The user is not familiar with new system the data entry screens are designed in such a way that they are

Consistent

Compatible

Easy to use

Had quick response

The following conventions are used while designing of the various screens to make the system user friendly

All the items that are logically related are together.

Error and validation messages are provided wherever required.

System testing is against its initial objectives, it is done in a simulated environment.

Test ReviewTest review is the process, which ensures that testing is carried out, as planned test review decides whether or not the program is ready to ship out for the implementation.

For each data entry screen, we prepared test data with extreme values and under all relevant data- entry screen against real this process helped in rectifying the modules time.Conclusion

In this project, we developed an automated school management system that facilitates the various activities taking place at schools. The system developed in the project consists of windows and web applications. These are two different applications on the same database. The windows application takes most of the activities such as offline student registering, transcript and report card generation and producing the timetable. The web application facilitates attendance recording by the homeroom teachers and to view reports, to view status of students by students, teachers and parents. Our solution of the timetabling problem is very simple. Data structures are used to implement the timetable designed. The scheduler selects a subject-teacher from the database, retrieves all the classes assigned to the teacher, calculates the load of the teacher which cannot be greater than the maximum load and selects one of the days randomly based on the number of lessons of the subject, searches a free appropriate time slot and assigns the slot to the lesson. The scheduler repeats the process until the load of the teacher becomes zero and all the teachers in the database are visited. Finally the result generated is stored in a database.

FUTURE SCOPE, FURTHER ENHANCEMENT

This project will be useful for any schools and colleges with slightly modification. It may be used for English Medium School as well as Hindi Medium Schools. Project is flexible i.e. any change / modification in data base may be perform easily. Also this project could be made web enabled.

This project may be upgraded with some more modules such as sports module, prize module, student attendance module, employee salary module, annually receipt and expenditure reports generation etc. This project can also be made for multi-user environment.

DFDDFD Level 0

CFD (Context Flow Diagram) or CAD (Context Analysis Diagram)

DFD level 0 (Context Level)

DFD Level 1

Data Flow Diagram Level 1DFD LEVEL 2

School Management Process

Data Flow Diagram Level 2 for School Management Process

E-R Diagram:

Entity Relationship Diagram for School Management SystemBIBLIOGRAPHY

1. An Introduction to Databse Management System by Bipin C Desai.

2. Software Engineering by Roger S. Pressman..

3. Software Engineering by Jalote.

4. PL/SQL by Evan Barros.

5. An Introduction to Databse Management System by C. J. Date.

6. Databse Concepts by Korth, Silbertz

7. Guide to Visual Basic 6.0 by Nortan & GrohStudent or Applicant

Fee Deposit Fee Deposit

Admission Form Valid/ Invalid

Book Request Issue/ Return Report

School Management System

Reports

ADMINISTRATOR

_1426605018.unknown

_1426605020.unknown

_1426605017.unknown