We are living in a fast evolving world where things are changing at a very fast pace. We find changes in almost every streams of life. The knowledge acquired today will become outdated tomorrow. Our education system should pick up the pace of fast changing society. Otherwise the knowledge acquired through education will lead us to no where. Reforms in education system such as frequent curriculum changes are a requisite in today’s world. Government should take initiative to improve the quality of education and fill the gap between what is gained with current education system and what is actual requirement.
Assessment forms a major part of the education system. There are generally two types of assessment – summative and formative assessment. Summative assessment is done at the end of a course which is a final test and has significance in the sense that it will be used as a basis for admission to other courses or employment. Formative test is a periodic test conducted in the middle of the course in order to review the progression of the students and help in improving the performance of the students in summative test. It is the assessment that control what is being taught in the class rooms and what knowledge is acquired by the students. It is often seen that materials that are easy to test are taught in class rooms than that is necessary to meet the requirements of outside world. There should be an assessment system that mends our education system and take us to a knowledge society.
In this paper we analyse the need for a good assessment system, advantages of using e-assessment in education and other areas, challenges of e-assessment system, different tools of e-assessment system etc.
Need for a good assessment system
Evaluation makes a learning system complete. In this high competitive world an effective learning and evaluation technique is a necessary. It is the evaluation technique that helps to find out the potentials of a student. A wrong assessment system can make a wrong decision thus leading to an impotent education system. Quality of education can be maintained only if we have a good assessment system. Assessment system should change dynamically in accordance with the changing goals of education. Assessment is needed to test the progression of students as well as to analyse the ability of teachers. A poor evaluation technique can harm the confidence of both the students as well as teachers on the other hand an assessment well formulated and conducted ignite interest and confidence in students and teachers.
Technology has been a solution to many problems of this agile world. In education also technology plays an important role. Technology has proved to be an efficient tool for building efficient assessment system. Now-a-days distance education involving large group of students has become a usual one. In order to assess such a large group of students flawlessly, within stipulated time period, a good assessment system is required that make use of technologies. There is a need for life long learning in order keeps oneself updated with changing trends. This also calls for an assessment system that is dynamic in nature and serve its purpose.
Advantages of using e-assessment in education and other areas
When there are large numbers of applicants for a particular job or if there are large number of students applying for a course in a university it becomes a tedious job for authorities to make suitable decision and find out the right candidates for the position. In such cases it is a usual practice to conduct aptitude test as part of employee recruitment in many technology based organizations. Aptitude tests are also conducted as an entrance test for selecting eligible candidates for a course. Questions for these examinations are most often formulated in ways like objective, multiple choices, true or false, and fill in the blanks types. It is very costly and extremely tedious and is a huge responsibility and extra load to the recruiter to conduct an examination and also for users to register and attend the exams. Here comes the role of e-assessment system.
E-Assessment is a technique to conduct examination through internet where large group of applicants can be tested, evaluated and the result published in a short interval of time. This new system eliminates the drawbacks of testing large group of candidates manually such as increased employee time, inaccurate results, inability to complete the work in a prescribed time etc. Another feature of e-assessment is its ease and flexibility. Candidates can attend the examination from any where with an internet connection and an ID given by the recruiter. Reductions in costs, easiness in evaluation are yet other features of e-assessment system. This system can considerably reduce the time and effort spent by teachers on student evaluation. The general procedure for conducting examination through e-assessment system is as follows:
The candidates should have a username and password which is used to login into the system. The next step is the submission of registration form by the candidate. The administrator views the details of all registered candidates. If a candidate meets all the eligibility criteria then he/she is assigned a roll number and a schedule for the examination. The roll number thus assigned is used to identify the candidate during the exam. The result is published just after the examination is over. There are provisions to create, edit and delete questions. One of the features that can be incorporated in the system is a news section which can throw light into various aspects such as vacancies in a company.
Challenges of e-assessment system
Current education system has many flaws which make it unfit for the current scenario. An overall change in education system is required to make it appropriate for future knowledge needs. Thus an e-assessment system should not only do the computerization of the existing assessment system but also incorporate new ideas and renovate assessment techniques to meet the education goals of today’s world. The new technique should make use of positive part of the existing system, as well as add new concept to it.
Teachers of today have acquired education in the past using technologies of the past. But the technologies of today are far more advanced. People who are familiar with the old paper based evaluation technique may have difficulty to adapt with the new methods. Teachers and parents should be willing to change their mind set and be ready to accept new technology and technology based assessment techniques. Students also have uneasiness with the old form of teaching, learning and assessment techniques.
Security again is a major issue in this regard. Adequate technique should be used to meet the security constraints of the system. Formative testing is a means for improving the knowledge of students so that they can do better in the summative exams. So, formative e-assessment can include scope for open book exam thus increasing the learning skills of students. The new assessment system should be capable of providing test to the candidates when and where required. It is a common practice for the professionals to update their knowledge by taking short term courses and attending the certificate courses. Many universities providing distance education also supports on-demand testing. That is the students can choose when they would attend an exam depending on their readiness.
The E-assessment system should be able to run in conjunction with other systems such as administration. A system should be designed such that it supports the entire process including course design, learning aid, exercises, generation of questions, result generation, feedback etc. The system should incorporate not only knowledge testing mechanism but it should be a complete answer to new education goals which includes mechanism such as methods to improve soft skills of the students and make students think in different perspective.
Tools of e-assessment system
Adaptive testing is a major tool of assessment system that can be used in computer based testing system. This method makes use of different levels of testing instead of just one complex testing process. Students are first given a test that can be easily attempted. After they are successful in this they are given with next level of tests and so on. The correct measure of once ability can be easily tested using this type of assessments. There is a flexi level testing in which candidates attend only half of the questions and depending upon the response of those questions higher or lower level paper is given. There are different methods of analyzing objective type questions such facility factor. In this a facility factor is given to each question to indicate the measure of difficulty of that question. This type of analysis helps to make an analysis of the type of question and helps the teachers to make improvements in formulating questions in the future.
Objective
In conventional system the candidates have to go to the examination centre for registering their names. After registration they need to go to the specified examination centre. This type of existing examination system are much more time consuming, very expensive and also not much secure.
Our aim is to develop a system that overcomes all the limitations of existing environment. Thus our first objective is to clearly define the pros and cons of the existing system. The limitations of existing environment clearly defined would call for a new system which introduces some new features. This is the proposed system which is the e-assessment system. The new system to be implemented is entirely computer based one, which is capable of solving many problems occurring in the manual system. The new system involves an online process for conducting exam. The system that is to be designed should have the following features:
- Eliminate paper works.
- One can answer the question with just a mouse click.
- Online result publication.
- Maximum security to avoid corruption.
- The proposed system should reduce the running expense of the current system.
- Students can register their names online so that the overhead of travelling, postal delays and missing of application forms can be avoided.
- The work needed should be less, thereby reducing the manpower and wages.
- The system avoids the factors such as question leaking, printing mistakes etc.
- Machine independent, i.e., the proposed system should be capable of running under different platforms.
- Faster performance.
- Mechanisms to add edit and delete questions if necessary at every time.
- The main characteristic of the software should be that it is user-friendly.
Methodology
The various procedures carried out for the project include:
- Detailed study of the overall system.
- Identify the problems within the existing system and opportunities to improve performance.
- Study of various data flows in the system by using fact finding techniques such as interviews, questionnaires etc.
- Defining new system requirements
- Study of the various features of project tools, for example reviewing the features of visual studio.NET technology, 6. Define program logic
- Program development
- Testing
- Modification
- Implementation and maintenance
- Documentation
All these steps should be done in a systematic manner in order to achieve optimal results. Software Engineering provides us with different ways in which the project activities can be carried out. One of the classic method in this aspect is the waterfall model in which the project activities are conducted in a linear sequential manner. Different steps involved include system analysis, system design, code generation, testing and maintenance and support. All the steps are done one after the other. This technique can be implemented successfully if the system requirement is well known at the beginning itself. Another methodology that can be adopted to carry out the project activities is spiral model. Different from linear sequential model this model works in an iterative manner. If system requirements are not known in advance this could be a better option. This method can be adopted under projects whose development schedule is too long. Because in a long project even if the system analyst tries his best to collect all the requirements at the beginning the user may change his requirements in long run.
System Analysis
Identification of the Need
The existing system is not fast as it has to be. Report generation is not efficient. The various other requirements such as ease of operation, secure data etc has to be still met and that paved way for new solution. The accuracy and efficiency of the current system is not satisfactory. Hence a new system is proposed which is fast and efficient.
Preliminary Investigation
Preliminary study is carried out to examine current procedures and information flows to pip point problem and difficulties in the existing system, to identify what resources are required and discuss with the authorities what improvements are needed. The major activities that are performed during the preliminary investigation are:
Background Analysis
The background analysis is carried out to become familiar with the physical process related to the system and how the whole process is carried out.
Fact finding
After acquiring the background knowledge the information environment which the proposed system has to operate has been investigated. For that data has to be collected from different sources. For example old question papers can be collected to obtain the type of questions that are required for the examination. Information can also be obtained by discussing with the academicians, interviewing the recruiters, giving questionnaires to employees and students etc. Collecting information in this way gives us a thorough knowledge about the system.
Fact Analysis
During fact analysis all the information collected during fact finding is analyzed and studied thoroughly to identify the various activities that have to be done.
At present, the process of conducting an examination is done manually. People submit applications for examination by providing necessary details about themselves. Applications submitted on or before the last date are collected and scrutinized. Invalid applications are rejected. As work is done using manual labour it is time consuming and tiring. The selected candidates are informed to attend the test. The hall tickets are sent to them. The test is conducted on respective dates. A committee evaluates answer sheets. The publication of result will take a long time. Then the final rank list is published. Following facts were established during preliminary investigation:
- As the examination is conducted manually there involves a lot of paper work.
- A centre for conducting examination has to be fixed and hall tickets have to be issued.
- There is great chance for corruption.
- Errors can occur in question papers.
- Question leaking is also a big problem.
- Evaluation takes more time as it is done manually.
- Result will be published only later.
- There is a chance of copying answers between the candidates and also possibility of malpractices like recommendations and interference of outside parties.
- Eligible students may lose their chance.
- There is a great chance to manual errors in valuation or tabulation works.
Feasibility Study
Based on the facts obtained from preliminary investigation feasibility study is conducted to find out whether the project meets all requirements of the proposed system. Feasibility studies include steps that would test the feasibility of the project in different means such as Technical feasibility, Economic feasibility, Operational Feasibility.
Technical Feasibility
Technical Feasibility is concerned with the hardware, software and other technical aspects of the projects. While considering technical feasibility we have to take care of certain aspects such as response time, how many data that can be processed simultaneously, and ability to pass information between places that are situated far away from each other. Since e-assessment is a system that is supposed to be operating from various places the number of workstations required should also be considered during technical feasibility. Hardware configuration of the system that is necessary to run application has also to be considered. Apart from hardware, the software needs are also to be considered, i.e. whether the software that are supposed to be used are readily available etc. Proposed system is planned to be built by using visual studio, asp.net, vb and sql 2005.
Economic Feasibility
Economic Feasibility is conducted to find out if the application developed will be economically feasible, i.e. whether it will bring cost benefit when comparing the cost of developing the application. Economic Feasibility includes study to estimate the cost of developing the system. The cost of system development includes charge of system analysis, design, development, implementation and testing. We also need to consider the cost of hardware, software and maintenance during this phase.
Operational Feasibility
Operational Feasibility is concerned with whether the project will be rejected due to resistance on the side of people who are going to use it or from people who are directly involved with the system. It is natural phenomena that people tend to keep a resistance towards change. These feasibility studies involve steps to check such resistance within the organization. The e-assessment system is designed in such a way that it is easily understandable. The users are presented with a friendly user interface that helps them to understand the flow of the system more easily. Maximum transparency has been provided. The new system’s operational cost is bearable. The working of the new system needs less human effort. The proposed project is beneficial to the organization. The system can be used by the employees or students with no special training and needs no other operators to co-ordinate the system. So the system can be judged operationally feasible.
Political Feasibility
Political Feasibility is concerned with the support of the authority’s interest in development of the system. This is not necessarily included in the requirement documentation but forms an important part of feasibility study. This is because the interest of top managers takes an important role in decision making.
Time Feasibility
A project plan that cannot be completed in a given schedule is not a feasible project. There is every chance from managers side to say ‘no’ to such projects.
Social Feasibility
Social Feasibility is concerned with people who are directly involved in the system. This feasibility study examines whether the people will accept this system if implemented.
Legal Feasibility
Legal feasibility have a check whether the application developed violate any known acts or laws.
System Requirement Specification
“The system requirements document or software requirement specification contains the requirements for the new system, describes the alternative that were considered and makes a specific recommendation to management. This important document is the starting point for measuring the performance, accuracy and completeness of the finished system before entering the design phase.” (Shelly, Cashman & Rosenblatt 2007, p.257). System requirement should include items and particulars such as hardware and software needs, time required to complete the project, economic needs etc which are required to build the system. It should contain all the details about what the system should do, how it should be done, what are the problems that can occur, what are the solution to the problems etc. Requirement document should be clearly written by using proper formatting indexing etc so that authorities get a proper view of the system and the consequences of developing or not developing the system. It is by checking the details of this document the decision makers decide whether to continue with the project development or not.
Hardware Requirements
- Processor : Pentium IV
- RAM : 128 MB
- Hard drive: 40 GB
- Monitor : 15” Color Monitor
- Keyboard : 108 Keys
- Mouse : Scroll
Software Requirements
- Operating System : Windows XP
- Front End : Visual Studio.NET,
- Visual Basic Back End: MySQL
Why.net?
Earlier projects were nearly restricted to windows based applications and programs were written in languages like visual basic, java, c++ etc. But the growth of the internet technologies resulted in a need for languages that could communicate with other platforms other than in which they work. The features of language like visual basic are not available just because it could not work in a different platform. Earlier, internet technology was based on static programming. But later the importance of dynamic programming was realized. This resulted in a need for technologies that can communicate with applications that are written using some other technologies..Net technologies support cross-platform communication through a standard protocol such as HTTP. Similarly Xml is a technology which can be used to transfer data from one platform to another with little change in the original data format..Net has facility to support XML and is based on windows distributed application architecture which has capacity to transfer data between different types of applications. As the programmer is relived on the overhead of transporting data between distributed applications he can now concentrated on the functional part of the project. Thus.Net provides a better platform for designers of distributed application as well as it provides a simpler and secure application for the end user. As.NET supports internet standards such as XML(Extensible Mark Up Language) and HTTP(Hypertext transfer protocol).NET can provide a reliable web application.
Why Visual Basic?
Visual Basic is an excellent tool for designing interface for the project. In visual basic the visual part stands for the graphical user interface part and the BASIC (beginners all purpose symbolic instruction code) refers to the simple programming language part which can be handled very easily. Visual Basic provides an exceptional IDE (Integrated Development Environment) which help us to design user interface without writing hundreds of lines of code. You have many pre-built form elements in its IDE using which we can design an attractive GUI just by a few mouse clicks. Each form elements has certain properties associated with it which increases its visual functionality. Visual Basic is windows based programming language and is both a procedural language as well as event driven language. An attractive and easy to use interface for e-assessment system van be developed by using Visual Basic.
Why SQL server?
SQL (Structured Query Language) allow you to create tables in a relational database system thus making it a Data definition language (DDL). It also allows you to insert data into a database, update a data that are already in the database and delete an existing data thus making it a data manipulation language (DML). SQL server is the first choice for developers who are looking for a simple database management system but is capable of handling large size data simultaneously. SQL server helps developers to create a system that can work across the platforms through the internet and support XML standards. SQL server is also known for its ease of access and inbuilt security systems. Another feature of SQL server which makes it a better choice is fast access to data. Thus the advantages of SQL server include support multiple hardware platforms, support multiple software platforms, fault tolerant, Centralized control all which makes it an apt choice for e-assessment system.
System Design
The system design phase begins by examining the conclusions drawn from feasibility study and system requirement documentation. If the result of feasibility study is not in favour of the project then the project is dropped. But if the project seems to be feasible then we continue with the design phase. System design phase should also work with some objectives so that the designer will strictly follow the requirements of the system. It is also the duty of system designer to stick to the economic and technical aspects that are viable to the project. He/she has to work with the hardware and software that are well inside the budget of his/her client. Apart from this he/she has to make sure that the design produced should meet all the general requirements of the system. The design should be in such a way that the final output should be user friendly and maintained according to the needs of the user as said in operational feasibility. System designer should also take care of cost benefit as specified in the economic feasibility. Flexibility of the system and security of data should also be incorporated in his design. System design activities are mainly divided into two parts. One is the structured design in which the data and requirements collected in the system analysis phase is represented in modular form. The input, processing of the input and output of each module is identified and represented in pictorial form. The relationship between modules can also be identified in this phase. Second phase is the physical phase which involves coding and produces the actual working system.
System design process is mainly divided into five processes
Output Design
The output design gives the actual output of the system. The result of the application should be provided in concise and clear manner. Output design provides us hardcopy output that are available for permanent storage as well as output displayed on the screen which are just for the sake of communicating with the person concerned. Output design should be handled carefully as success of software can depend on the presentation of the output. There are many graphic methods and tools to make output design attractive. The output design depends upon the type of user, volume of output required, output devices that can be used, timing and quality of output required etc. The e-assessment system can have onscreen output to show the immediate results whether the candidate has passed or not. It can also produce hardcopy output showing the percentage of marks scored, maximum marks, area in which the student is weak and should improve. Before attending exam student must know about rules and regulation they must follow while attending exam. An output form can be used to display this instruction to the candidate.
Input Design
Input design is the most important part of system design. This phase has to be done with utmost care because a faulty input design can lead to incorrect or delayed reports. It is through the input forms that the users interact with the system. A badly designed input form can cause the user to make mistakes while data is being entered. The form in which data is entered has also to be decided with great care. Easy methods of data entry should be used. Communication to the user should be clear. There are many measures that can be taken to avoid bad design of the input forms. An efficient input design is the one that keeps the data to be entered to minimum. More data to be entered means more mistakes, more labour and more time. Another feature of a good input design is by avoiding errors in the data entered. For example if a number has to be entered this can be checked whether this number falls in the correct range. If not, the user can be prompted to enter the correct number. This can be utilized in e-assessment system such that if a student has to enter his/her enrolment number before attending the examination then this can be checked for a correct format and range. Similarly date can be evaluated for a correct range. There can be provision such that only authorized people be able to access the system. The descriptions of some of the input forms used in e-assessment system are given below.
Login form
This form is used for the login process. There are two forms under this:
- Login form for Administrator: Here administrator enters his user name and password for generating exams and reports.
- Login form for User: Here any user can enter their username and password which they will get while signup.
- Registration form: This form is used to enter the registration details of a user and also to edit or delete the registration details.
- Registration change form: This form is used to change registration details.
- Registration drop form: This form is used to delete the registration of a student entirely.
- Question creation form: This form is used to create questions, its optional answers, and its correct answer.
- Result viewer form: This form is used to get result of a user who already done the exam while enter the user name and submit the form.
- Edit or Delete questions: This form is used to edit or delete the existing question.
- News creation form: This form is used to add news in to its database so that user can view them
- Update or Delete news: This form is used to update or delete the existing news.
- Generate Test: This form is used to generate the exam for users who is registered into the site.
- Import Questions: This form is used to add new question paper in to its database.
- Password changing form: This form is used to change user’s password.
Database design
Application often requires storing data permanently for future use. A good database design avoids redundancy of data and gives efficient usage of the data. The foremost concern about the database design is security of data, avoiding unauthorized access to data and keeping integrity of the data stored. Database is not just a repository of data but the database management system provides easy methods for storing and retrieving data. DBMS also provides passwords to sensitive data so that they are not accessible to unauthorized users. Some of the data tables that can be used for e-assessment system is given below
Table Name: login
Description: It is used to store users login details.
Table Name: registration
Description: It is used to store user’s registration details.
Table Name: questioncreation
Description: It is used to store questions.
Table Name: question
Description: It is used to store details about users question attempt.
Table Name: newscreation
Description: It is used to store news.
Table Name: score
Description: It is used to store score.
Data Flow Diagram (DFD)
One of the most common methods of representing data flow graphically is done by a tool called Data flow diagram. We use arrows, circles, open-ended boxes and squares to pictorially represent the transfer of data within the system in a Data flow diagram. Arrow in a data flow diagram represent the direction in which data flows, circles represent processing of data, open-ended boxes represent data repository and squares represent source or destination. The first level data flow diagram is called context diagram and it identifies the source, destination and major processing in the system. In the second level DFD the major processors can be decomposed to form lower level processing. At the third level the processes in second level can be decomposed into next level and so on until a simple module is obtained. The context level DFD for e-assessment system is given below.
Project planning techniques
Planning is an important activity in any business oriented or other activities. In software engineering also planning plays an important role in order to ensure that project works are progressing in accordance with the system requirements, and eventually the result will be achieved. Planning is required to periodically check whether the project development is well inside the cost and time schedule. There are several techniques that can be used to implement project planning. Most of these are based on breaking the entire project task into sub tasks. On doing like this we can make an assumption of which task has to be taken up first and in what order the task has to be completed. We can also fix a deadline for each task thus ensuring its timely completion. Two common techniques used in project planning is PERT and Gantt chart.
PERT
Program Evaluation Review Technique (PERT) is technique which helps in project task scheduling as well as making an estimate of the cost for accomplishing project target. PERT is efficient technique for handling large projects. It can be used to find out the order in which the job has to be completed before another one. This type of information is needed when output of one task is needed as input to the other task. Pert shows different path from beginning of the project to the end of the project. Each path consists of different activities of the project and its estimated cost and time. The path that takes the longest time to reach the completion point of the project is called the critical path because this path gives the minimum time required to complete the project. PERT has many advantages such as it gives the interdependencies between different tasks, identifies activities that can be conducted simultaneously etc. It is a human practice to always deviate from the pre planned schedule. But techniques like PERT can be used to bring the project back to the proposed schedule. The PERT chart gives a balance between cost and time management. It helps the manager to decide whether it is better to complete the project in stipulated time or whether it should be completed within preplanned budget.
Gantt
Gantt is also a project planning aid which is used for time, resource and cost management. In order to build a Gantt chart first all the activities in the project is listed and the time required for each job is estimated. Gantt chart does not give the interdependencies between project activities. But is an excellent tool for scheduling and allocating staff, ensure adequate number of staff are available for each activity at the required time. For example If three programmers are needed for coding and three programmers are needed for maintenance then instead of hiring six programmers the same three programmers can be made to work on both the coding and maintenance if they are not to be done simultaneously. Gantt chart is made of bars and it also contains checkpoints to determine whether the project tasks are being completed on time.
Testing
Testing is done in order to make sure that all the modules of the system are working properly in accordance with the requirement specification.. There are different schemes of testing.
Unit testing
In unit testing each unit is tested individually by giving test data. This is usually done by the programmer. Logic and syntactic errors are checked over here. The errors in interaction between the modules are neglected in this phase. The modules at the lower level can be tested first and then the higher level modules. The data needed for each module exclusively is given.
Integration testing
Integration testing tests whether the unit that has worked properly individually will at some level work improperly together. This is done by carefully combining each module one by one and then finding whether it works properly together.
Stress testing
Stress testing is done to find out how the system would fail if overloaded. This test will help us to know whether the system will fail all of a sudden or would fail gradually.
System Testing
Tests whether the system meets all its functional and non-functional aspects.
Alpha testing
Alpha testing is done by the user in the presence of the programmer at the programmer’s site. Any changes or suggestions are recorded and integrated into the system.
Beta testing
Beta testing is carried out by the user but not in the presence of the programmer. This is a long term testing process.
Implementation
A crucial phase of system development is the successful implementation of the new system. However carefully analyzed, designed and developed if implementation is not done properly it would result in an unreliable system. The developer responsible for implementation has to attend to every details of implementation to make the whole project a success. Implementation phase may consist of training of personals involved in the system, converting from old system to new system and post implementation review. Old system can be completely changed at once and new system can be installed. Or the new system can be included step by step thus gradually putting of the old system. Another form of implementation is in such a way that both the system are made to work simultaneously but when the new system seems to work without flaws for sometime then the old system can be slowly stopped. Another aspect of implementation is training of the personal to use the system. There is no need of training in the user side since all forms are arranged in a user friendly manner. Training for the operator is necessary. He should know the administrator password and should know how to generate the report. After the new system has been successfully implemented completely the post implementation review should be conducted. It gives an assessment whether the system is working according to the user requirements. Post implementation review helps us to know if any major modification has to be done with system. It also helps us to know whether the system development has been completed within estimated cost and time. This knowledge helps us to make any corrections in our estimation techniques in the further projects. It also helps us to do the documentation properly.
Maintenance and support
The last part of the project development is maintenance. This forms the major part of the period of a system life cycle. Many programmers and analysts spend a major part of their working time in giving support and maintenance to system that they already developed. The cost maintenance forms the major part of the entire budget for the system. This cost can be considerably reduced if certain aspects are taken care of. The first foremost one is to make good analysis of the system requirements. If the user’s requirements are properly understood there will be minimum changes that will have to be made after implementation. Next one is create a perfect documentation of the software developed. Efficient documentation of the system can be useful in finding the root cause of the problems that may arise and its possible solution can also be identified from it. Following the software engineering paradigm thoroughly also help us to reduce the maintenance cost. Maintenance not only includes correcting coding errors but it also includes correcting errors in design, documentation, data used for testing etc. This type of maintenance is called corrective maintenance. Another type of maintenance is called adaptive maintenance which includes changing the functionality of the program to adapt with the changes in the physical working of the system. Yet another type of maintenance is perfective maintenance in which extra functionalities are added as a result of extension program to the existing system.
Reference List
Shelly, G.B., Cashman, T.J. & Rosenblatt, H.J., 2007. Systems analysis and design. [Online] Cengage Learning, p.257. Web.