Smart Education System
Smart Education System
Smart Education System
1. INTRODUCTION
The first place goes to the fact that people assume that the SMART EDUCATION is very
expensive. This is not true. The colleges actually charge the same fee and other expenditures
done are the same as done while attending the college regularly.
The other myth that follows the above mentioned is that people think that not enough material is
available to the students who study online. This is sheer myth. The concept of online libraries is
evolving and it provides such students enough means to collect information and they are not
more kept away from the so-called library advantage to campus students. Also good and reputed
schools are providing help by video conferencing. By using this technological advancement,
students can clarify all doubts and queries by asking teachers directly. Also there are people
called mentors, who are assigned to every student. They not only help in guiding them correctly
but are also proving to be of great help while solving their problem akin to a classroom.
Another fallacy people possess in the same concen is that they feel that online courses are not
hard. They think because they are not monitored and done on individual basis, these courses are
easy. That is not true. As a matter of fact, the courses are just the same and the curriculum is
uniformly designed. There is no substantial difference between the two syllabi. These online
students not only have deadlines to meet, just like the regular students, but also they have to
finish their assignments on time and submit them to their mentors.
People who have taken up these courses are often mistaken as to be indisciplined. They feel that
online studies are for people who are not disciplined. As false is this assumption is, the fact that
the online courses require more discipline and dedication holds very strong. As it is seen, not
only you have to be a student, but also you have to tutor yourself.
Lack of networking is another myth that follows the above said. For some people SMART
EDUCATIONsystem doesn't provide enough opportunities to socialize. But it is not true. Online
programmers not only get to share their thoughts with other students through forums, but also
blogs manage the learning management.
So it can be said that if people who wish to join these online programs conduct proper research,
their myths can be washed away and they can have a clear picture about these programs and then
they can proceed with the appropriate course for themselves.
For over the past years, SMART EDUCATION has been quite an option for several learners who
have a hard time in going to school campuses due to several reasons such as financial resources
or having a hectic schedule. There are several individuals who prefer to continue their higher
educational learning through online system. Since, SMART EDUCATION offers flexibility of
time which allows the learners to be flexible with their schedules and can still manage to perform
several obligations in life such as having a full time work. Having an online degree will also add
weight to resume of job seekers.
It has also been noted that online educational system is a great support for individuals who have
some disabilities and unable going to a school or college campus. Since, online system is very
much accessible from anywhere as it requires only internet connection and computer , many
people tend to prefer online means of education.
Although, online learning system is quite beneficial but there are some people who criticize or
question about the quality of educational services that it provides. The most eared comments are
the aspects of interaction system between the professors and learners or learners to learners.
Most online schools have responded that they make sure that online learners will be using
different interaction programs that are being set such as class chat or forums in order to
participate the class discussions. Also live classes are another factor to prove the credibility to
develop the interpersonal skills of online learners.
2. SYSTEM ANALYSIS
2.1FEASIBLITY STUDY:
2. Many African governments are facing the challenge to seize the opportunities of ICTs
and to apply and integrate them into a wide range of activities. Particular challenges include the
improvement of information literacy, an improvement of ICT infrastructures, the enhancement of
access to ICTs, the practical use of ICT, in particular in education at all levels.
1: Economic Feasibility:
Economic feasibility is the most frequently used method for evaluating the effectiveness
of the candidate system that is proposed system, more commonly used as cost/benefit analysis.
The procedure is to determine the benefit and savings that are expected from the candidate
system and compare them with the coast, if the benefit over weight cost then the decision is
made to design and implement the system, otherwise further justification in the proposed system
will have it be made, if it has chance to improve. Cost estimate for a system we consider several
elements. Hardware, Personnel, Facility, Operation, Supply cost etc.
2: Technical Feasibility:
In the technical feasibility the system analyst look between the requirements of the
organization, such as Suggest input device which can enter a large amount of data in the
effective time. Output devices which can produce output in a bulk in an effective time.The
choice of processing unit depends upon the type of processing required in the organization.
Manual system involves paper work in the form of maintaining various files and
manuals. Maintaining critical information in the files and manuals is full of risk and
a tedious process. Including a framework showing how to apply Internet technology
progressively as skills and confidence grow, the project demonstrates the route from adapting
materials to developing a online education.
Nowadays, when people are not having time to visit an institute. Therefore, the software is
designed to provide the education through Internet. The project “SMART EDUCATION helps
the common world in any field they are to get the knowledge what they want even sitting at their
places. This helps them to spare time in their busy schedule and save their time during
transportation.
ADVANTAGES:
• Cost reduction
3. SYSTEM CONFIGURATION
4GB RAM
500GB Free Hard disk space
STD Color Monitor
Network interface card or Modem (For Remote Access)
LAN Network (For Remote Sources)
Technologies: PHP
Database: MySQL
4.1 NORMALIZATION:
T_Admin
T_CourseReg
T_Courses
T_Emp_Personal
Staff_Master
4.3 INPUT DESIGN:
Level 0-Level 4
5. SYSTEM DESCRIPTION
Administration
User Management
Content Management
Evaluation
Descriptions:
1. Administration:
Add an Administrator
Add new course
Modify
o Modify courses
o Modify student course registration
Staff appointment
Staff details
2. User Management:
User Information
Updating User Information
3. Content Management:
These are the pages that are associated with the logic pages, and contain content specific
to that page.
4. Evaluation
SYSTEM TESTING
The purpose of testing is to discover errors. Testing is the process of trying to discover
every conceivable fault or weakness in a work product. It provides a way to check the
functionality of components, sub assemblies, assemblies and/or a finished product It is the
process of exercising software with the intent of ensuring that the
Software system meets its requirements and user expectations and does not fail in an
unacceptable manner. There are various types of test. Each test type addresses a specific testing
requirement.
TYPES OF TESTS
Unit testing
Unit testing involves the design of test cases that validate that the internal program logic is
functioning properly, and that program inputs produce valid outputs. All decision branches and
internal code flow should be validated. It is the testing of individual software units of the
application .it is done after the completion of an individual unit before integration. This is a
structural testing, that relies on knowledge of its construction and is invasive. Unit tests perform
basic tests at component level and test a specific business process, application, and/or system
configuration. Unit tests ensure that each unique path of a business process performs accurately
to the documented specifications and contains clearly defined inputs and expected results.
Integration testing
Integration tests are designed to test integrated software components to determine if they
actually run as one program. Testing is event driven and is more concerned with the basic
outcome of screens or fields. Integration tests demonstrate that although the components were
individually satisfaction, as shown by successfully unit testing, the combination of components is
correct and consistent. Integration testing is specifically aimed at exposing the problems that
arise from the combination of components.
Functional test
Functional tests provide systematic demonstrations that functions tested are available as
specified by the business and technical requirements, system documentation, and user manuals.
Functional testing is centered on the following items:
Valid Input : identified classes of valid input must be accepted.
Invalid Input : identified classes of invalid input must be rejected.
Functions : identified functions must be exercised.
Output : identified classes of application outputs must be exercised.
Systems/Procedures: interfacing systems or procedures must be invoked.
Organization and preparation of functional tests is focused on requirements, key functions, or
special test cases. In addition, systematic coverage pertaining to identify Business process flows;
data fields, predefined processes, and successive processes must be considered for testing.
Before functional testing is complete, additional tests are identified and the effective value of
current tests is determined.
System Test
System testing ensures that the entire integrated software system meets requirements. It tests a
configuration to ensure known and predictable results. An example of system testing is the
configuration oriented system integration test. System testing is based on process descriptions
and flows, emphasizing pre-driven process links and integration points
White Box Testing
White Box Testing is a testing in which in which the software tester has knowledge of the inner
workings, structure and language of the software, or at least its purpose. It is purpose. It is used
to test areas that cannot be reached from a black box level.
Black Box Testing
Black Box Testing is testing the software without any knowledge of the inner workings,
structure or language of the module being tested. Black box tests, as most other kinds of tests,
must be written from a definitive source document, such as specification or requirements
document, such as specification or requirements document. It is a testing in which the software
under test is treated, as a black box .you cannot “see” into it. The test provides inputs and
responds to outputs without considering how the software works.
6.1 Unit Testing:
Unit testing is usually conducted as part of a combined code and unit test phase of the
software lifecycle, although it is not uncommon for coding and unit testing to be conducted as
two distinct phases.
Test strategy and approach
Field testing will be performed manually and functional tests will be written in detail.
Test objectives
All field entries must work properly.
Pages must be activated from the identified link.
The entry screen, messages and responses must not be delayed.
Features to be tested
Verify that the entries are of the correct format
No duplicate entries should be allowed
All links should take the user to the correct page.
Deployment of system: Once the functional and non functional testing is done, the product is
deployed in the customer environment or released into the market.
Maintenance: There are some issues which come up in the client environment. To fix those
issues patches are released. Also to enhance the product some better versions are released.
Maintenance is done to deliver these changes in the customer environment.
All these phases are cascaded to each other in which progress is seen as flowing steadily
downwards (like a waterfall) through the phases. The next phase is started only after the defined
set of goals are achieved for previous phase and it is signed off, so the name "Waterfall Model".
In this model phases do not overlap.
Waterfall Model Application
Every software developed is different and requires a suitable SDLC approach to be followed
based on the internal and external factors. Some situations where the use of Waterfall model is
most appropriate are:
Requirements are very well documented, clear and fixed
Product definition is stable
Technology is understood and is not dynamic
There are no ambiguous requirements
Ample resources with required expertise are available to support the product
The project is short
Iterative Model
In Iterative model, iterative process starts with a simple implementation of a small set of
the software requirements and iteratively enhances the evolving versions until the complete
system is implemented and ready to be deployed.
An iterative life cycle model does not attempt to start with a full specification of requirements.
Instead, development begins by specifying and implementing just part of the software, which is
then reviewed in order to identify further requirements. This process is then repeated, producing
a new version of the software at the end of each iteration of the model.
Iterative Model design
Iterative process starts with a simple implementation of a subset of the software requirements
and iteratively enhances the evolving versions until the full system is implemented. At each
iteration, design modifications are made and new functional capabilities are added. The basic
idea behind this method is to develop a system through repeated cycles (iterative) and in smaller
portions at a time (incremental).
Following is the pictorial representation of Iterative and Incremental model:
Iterative and Incremental development is a combination of both iterative design or iterative
method and incremental build model for development. "During software development, more than
one iteration of the software development cycle may be in progress at the same time." and "This
process may be described as an "evolutionary acquisition" or "incremental build" approach."
In incremental model the whole requirement is divided into various builds. During each iteration,
the development module goes through the requirements, design, implementation and testing
phases. Each subsequent release of the module adds function to the previous release. The process
continues till the complete system is ready as per the requirement.
The key to successful use of an iterative software development lifecycle is rigorous validation of
requirements, and verification & testing of each version of the software against those
requirements within each cycle of the model. As the software evolves through successive cycles,
tests have to be repeated and extended to verify each version of the software.
Iterative Model Application
Like other SDLC models, Iterative and incremental development has some specific applications
in the software industry. This model is most often used in the following scenarios:
Requirements of the complete system are clearly defined and understood.
Major requirements must be defined; however, some functionalities or requested
enhancements may evolve with time.
There is a time to the market constraint.
A new technology is being used and is being learnt by the development team while working
on the project.
Resources with needed skill set are not available and are planned to be used on contract basis
for specific iterations.
There are some high risk features and goals which may change in the future.
Spiral Model
The spiral model combines the idea ofiterative developmentwith thesystematic,
controlled aspects of thewaterfall model.
Spiral model is a combination of iterative development process model and sequential linear
development model i.e. waterfall model with very high emphasis on risk analysis. It allows for
incremental releases of the product, or incremental refinement through each iteration around the
spiral.
Spiral Model design
The spiral model has four phases. A software project repeatedly passes through these phases in
iterations called Spirals.
Identification
This phase starts with gathering the business requirements in the baseline spiral. In the
subsequent spirals as the product matures, identification of system requirements, subsystem
requirements and unit requirements are all done in this phase.
This also includes understanding the system requirements by continuous communication
between the customer and the system analyst. At the end of the spiral the product is deployed in
the identified market.
Design
Design phase starts with the conceptual design in the baseline spiral and involves
architectural design, logical design of modules, physical product design and final design in the
subsequent spirals.
Construct or Build
Construct phase refers to production of the actual software product at every spiral. In the
baseline spiral when the product is just thought of and the design is being developed a POC
(Proof of Concept) is developed in this phase to get customer feedback.
Then in the subsequent spirals with higher clarity on requirements and design details a working
model of the software called build is produced with a version number. These builds are sent to
customer for feedback.
Evaluation and Risk Analysis
Risk Analysis includes identifying, estimating, and monitoring technical feasibility and
management risks, such as schedule slippage and cost overrun. After testing the build, at the end
of first iteration, the customer evaluates the software and provides feedback.
Based on the customer evaluation, software development process enters into the next iteration
and subsequently follows the linear approach to implement the feedback suggested by the
customer. The process of iterations along the spiral continues throughout the life of the software.
Spiral Model Application
Spiral Model is very widely used in the software industry as it is in synch with the natural
development process of any product i.e. learning with maturity and also involves minimum risk
for the customer as well as the development firms. Following are the typical uses of Spiral
model:
When costs there is a budget constraint and risk evaluation is important
For medium to high-risk projects
Long-term project commitment because of potential changes to economic priorities as the
requirements change with time
Customer is not sure of their requirements which is usually the case
Requirements are complex and need evaluation to get clarity
New product line which should be released in phases to get enough customer feedback
Significant changes are expected in the product during the development cycle
V -Model
The V-modelis SDLC model where execution of processes happens in a sequential
manner in V-shape. It is also known as Verification and Validation model.
V -Model is an extension of the waterfall model and is based on association of a testing phase for
each corresponding development stage. This means that for every single phase in the
development cycle there is a directly associated testing phase. This is a highly disciplined model
and next phase starts only after completion of the previous phase.
V-Model design
Under V-Model, the corresponding testing phase of the development phase is planned in parallel.
So there are Verification phases on one side of the ‘V’ and Validation phases on the other side.
Coding phase joins the two sides of the V-Model.
The below figure illustrates the different phases in V-Model of SDLC.
Verification Phases
Following are the Verification phases in V-Model:
Business Requirement Analysis :
This is the first phase in the development cycle where the product requirements are
understood from the customer perspective. This phase involves detailed communication with the
customer to understand his expectations and exact requirement. This is a very important activity
and need to be managed well, as most of the customers are not sure about what exactly they
need. The acceptance test design planning is done at this stage as business requirements can be
used as an input for acceptance testing.
System Design:
Once you have the clear and detailed product requirements, it’s time to design the
complete system. System design would comprise of understanding and detailing the complete
hardware and communication setup for the product under development. System test plan is
developed based on the system design. Doing this at an earlier stage leaves more time for actual
test execution later.
Architectural Design:
Architectural specifications are understood and designed in this phase. Usually more than
one technical approach is proposed and based on the technical and financial feasibility the final
decision is taken. System design is broken down further into modules taking up different
functionality. This is also referred to as High Level Design (HLD).
The data transfer and communication between the internal modules and with the outside world
(other systems) is clearly understood and defined in this stage. With this information, integration
tests can be designed and documented during this stage.
Module Design:
In this phase the detailed internal design for all the system modules is specified, referred
to as Low Level Design (LLD). It is important that the design is compatible with the other
modules in the system architecture and the other external systems. Unit tests are an essential part
of any development process and helps eliminate the maximum faults and errors at a very early
stage. Unit tests can be designed at this stage based on the internal module designs.
Coding Phase
The actual coding of the system modules designed in the design phase is taken up in the
Coding phase. The best suitable programming language is decided based on the system and
architectural requirements. The coding is performed based on the coding guidelines and
standards. The code goes through numerous code reviews and is optimized for best performance
before the final build is checked into the repository.
Validation Phases
Following are the Validation phases in V-Model:
Unit Testing
Unit tests designed in the module design phase are executed on the code during this
validation phase. Unit testing is the testing at code level and helps eliminate bugs at an early
stage, though all defects cannot be uncovered by unit testing.
Integration Testing
Integration testing is associated with the architectural design phase. Integration tests are
performed to test the coexistence and communication of the internal modules within the system.
System Testing
System testing is directly associated with the System design phase. System tests check
the entire system functionality and the communication of the system under development with
external systems. Most of the software and hardware compatibility issues can be uncovered
during system test execution.
Acceptance Testing
Acceptance testing is associated with the business requirement analysis phase and
involves testing the product in user environment. Acceptance tests uncover the compatibility
issues with the other systems available in the user environment. It also discovers the non
functional issues such as load and performance defects in the actual user environment.
V-Model Application
V- Model application is almost same as waterfall model, as both the models are of
sequential type. Requirements have to be very clear before the project starts, because it is usually
expensive to go back and make changes. This model is used in the medical development field, as
it is strictly disciplined domain. Following are the suitable scenarios to use V-Model:
Requirements are well defined, clearly documented and fixed.
Product definition is stable.
Technology is not dynamic and is well understood by the project team.
There are no ambiguous or undefined requirements
The project is short.
QSW- Adding the Functional The admin In this step If the Pass
>CP0003 new have the the admin admin user
course for rights to fill fills the name and
the the course if new password
students. the new course is correct
course was content in mean user
added by the the text login to his
university. area. main page.
Please
QSW- In this step enter the
>CP0004 the course course Fail
detail or details
the course correctly
code
number is
wrong
mean the
alert
message
comes in
the screen.
Online learning has become an important aspect of the way education is delivered. Initially, in
tertiary education this push came about as a way of reducing course delivery costs, but as
Gelonesi (2002) points out, online delivery is not necessarily a cheaper way of doing things.
Some in the education sector also argue that SMART EDUCATIONis ‘second rate’ because
education is fundamentally interpersonal, and technology interferes with and reduces this
interaction. However, it is becoming evident that students are seeking greater flexibility in their
engagement with universities. For tertiary institutions like Beacon University, online delivery is
an important way of providing this flexibility. As a major provider of tertiary education, Beacon
has begun to introduce an online component into many of its courses. Most of Beacon’s course
materials are online, as are some administrative processes. A significant move is now being
undertaken to put student support services online. So, while the concerns about SMART
EDUCATIONcannot be ignored, universities need to embrace this development, not as a
replacement for face to face teaching, but as an alternative delivery mode. In some situations it
may well be a more flexible alternative that better suits the needs of students.
8. FORMS AND REPORT