The software engineering


SDLC is the process followed when a system is developed. This steps needs to be followed regularly so that the produced software can meet the expected results. SDLC has three main stages which are further broken down to make the life cycle easier for the programmer to perform the work successfully. When it happens that the previous stage is not working correctly, the following stage will not work. A system needs to be tested each time when any of the stages in the SDLC is complete.


The researcher was mainly focused on maintenance and testing of the System. The word system has three categories: the software, hardware and the user. The researcher was now mainly focusing on the software and hardware.

Software are of different type: application and system software. Application software contains software such as word processor and system software comprises software such as operation system. An operation system is a program which is installed in the computer and makes an interaction between the user and the hardware.

The researcher went to realise that maintenance and testing are good to be done in the life cycle of the software. The researcher went on to realise that prevention is better than cure under the concept of maintenance. Prevention is done through testing. Testing the software throughout the development stage is good as the programmer can determine some error before moving further with the software.



Testing is one of the important stages of the SDLC lifecycle. The main task is to detect errors in the software. A quality produced work needs to be tested regularly. Testing is an activity that needs to be done throughout the life cycle. It is also used as a major source of feedback. Testing should not be done at the end of the process as it can be dangerous. Rather it has to be done timely throughout the stage. For example, members of the design team must check the design while they develop it. The team should not complete the whole stage without testing it because its going to be a waist of time if they will find errors weeks or monthly later. A programmer needs to understand what is to be tested, what the estimated results and when to stop the test.

According to Stephen Schach there are two types of testing: execution -based and non-execution -based testing. An executable code is possible to be run to determine if it can perform execution based testing. The non-execution-based test is used to test documents. It is done carefully as it needs to be reviewed carefully as possible. One mistake on part of software may cause the software to fail.


It is done when the programmer review the code without running it. As good software programmer, the author of the software should not test the software for him/her self because he/she may not be able to recognise his/her faults. This is the reason why software needs to be one by many individuals. A non-execution testing needs to be done by a group of professionals with higher skills. Having more than one reviewer may be adequate as compared to having one reviewer. Reviewing as software is not an easy task to be done. There are two categories of reviewing the software:

WALKTHROUGH: a walkthrough team is made up of four or six individuals. This individuals needs to be technical staff as they tend to uncovered faults. Each an individual has his/her duty to review the document. There can be an individual how is responsible to review the analysis workflow. There are some steps that are being followed to perform the work perfectly. This includes the preparation and the analysis of the document.

INSPECTIONS: the inspection review is more advanced as compared to the walkthrough. It is mainly used under the design and code. The inspection takes more time than the walkthrough. It has five steps to be followed when the programmer choices it. This includes: overview, preparation, moderator rework and follow up. In general the inspection is used to determine the level of errors in the document. There are major faults that affect the whole software to work and minor faults are faults that very small and not even affect the performance of the computer.

People how are working in this type of a view needs to be carefully and need experience of the work. All the faults that have been recovered are store and when the team make the same software they will observe if the same fault appears. All the relevant authorities may see what could be the next step to be taken to improve the performance of the team.


This is type of testing which involves running a coded code. Running a code may be effective to test the performance of a code as the programmer can not predict the result of the software rather sees the results.


As it has been show in the document, there are two types of review (walkthrough and inspection): now we can notice the strength and weakness of reviewing. In the review process detection of errors, faults in the software part of the system. Reviewing long software can not be effective to some extent but short software's are reviewed effectively.


Maintenance is the concept that is done during the process of software development. Post delivery maintenance is done after the software is delivering to the user. The purpose of post delivery maintenance is to help the client encase the software give them some problems while they use it. It can also be done to increase the functionality of the software. There are some reasons why post delivery is needed some has been men Corrective maintenance: is a type of maintenance which ids done when a fault has occurred either to the coding part, design or documentation. Software problems may be due to system failure or discovery of software errors.

Perfective maintenance: as the word denotes the meaning, it is a type of maintenance that is done to change the functionality of the software. A change can be done at the coding part of the software. A change can be done to increase the performance of the software or even its functionality. Adaptive maintenance: the word adaptive means to get used to something or the environment in which the product operate. Adaptive maintenance is done when the product is not working perfectly according to the user expectation. Software adaptive can be done when the software is not portable with the type of hardware it is installed in.

Perfective and adaptive maintenance is done on the existing software. It is clear that the enhancement activities cover a lot of space and time in the maintenance stage. As post delivery is a big concept in the SDLC life cycle it requires a programmer who is much above the average debugging skills. This is so because an error/fault may lie in any stage of the software. A qualified maintenance programmer is needed to take the responsibility to solve the error. Some times when the user realise that the software does not satisfy him/her he/she can write down some of the problems he/she encounter in the software. A good programmer will read the document of the client and try to think about the possible problems of the software. A number of possible problems can be many: may be the client did not understand the manual of the software or using the software in a wrong way.

If none of the above reasons is correct the other possible reasons may be the manual of the software or the code of the software. The programmer should not attempt to maintain before realising where the fault exactly occurs. After the programmer identifies the faults he/she needs to know or think about how to solve the fault perfectly. This is why post delivery maintenance needs to have higher skills.

The programmer can make some changes in the document or in the coding part of the software and each an every change in the code needs to be tested. On the other hand, the programmer needs to note down all the faults that he/she has encountered. A regression test should be used to test the changes that have been done in the software. Finally the whole software has to be tested again to confirm that the software produces the expected results. Adaptive and perfective has to be done as new changes are done. These changes can change the performance of the software badly.

Post delivery maintenance can be compared to After Sale Services because they all focus on the opinions from the clients. As compares has been made on the two steps, the weakness that can be realised in this stage is that, the programmer can fix the faults of the client. As post delivery maintenance is a big stage in the software life cycle it needs to be managed and done correctly. If it is not done correctly the programmer needs to fix the faults again. Because post delivery covers a lot of all the stages of the software it needs to be managed well. It can be done through:

A document written by the client can be used to fix the fault in the software rather than checking all the stages of the software life cycle. It this case the programmer may identify the fault easily without reviewing the whole software.

Sometime the client can request to add some new functionality of the software. This is called corrective maintenance. The client has to write down the entire new feature that he/she needs to be done on the software.


Computer hardware's are tangible parts of a computer. This component are further categorised according to the task they perform. There are input devices such as keyboard and mouse. Monitor and printer are output devices.

Some of the hardware components can be maintained by keeping them clean if they are blocked by dirty. Input devices such as keyboard and mouse are venerable to be affected by oil, duty and food. If they are affected by food, oil and dust they can stop working effectively. Mouse as an example of input device, is affected especially rolled type of mouse. A rolled mouse have a mouse pad, this pad is exposed to the environment (is uncovered). Dust, food substances and oil splits into the pad. As the mouse rolls on the pad this dirty get into the mouse and block sensors of the mouse. When the sensors stop working, the movement of the pointer on the screen could not be produced. The other input device that is also affected by food substance, soil and oil is the keyboard. When a keyboard gets spilled with oil the best and immediate maintenance that have to be done is to unplug the keyboard from the switch.

Keyboard are frequently blocked may be due to soil. When soil blocks the keys the best way to unblock it is to use a compression air and blow into the keyboard. All the tangible parts/hardware of a computer has to be cleaned regularly. Encase of blown down chips the best way is to replace them with the new one.


Getting to complete the project was not an easy take to be done. All the possible faults can be faced at any time during the project stage. I am happy as I have managed to submit the project on time.


  • 15/01/10 16:13pm
  • 19/01/10 12:34pm
  • James F and Peter Wiltold Pedrycz (2000), Software Engineering: An Engineering approach, Published by Wiley John
  • Ron Gilster (2001), PC Hardware: A Beginners Guide, Published by Tata McGraw-Hill Publishing Company Limited, 7 West Patel Nagar, New Delhi 110008.
  • Stephen Schach(2007), Software Engineering 7thed, Published by Tata McGrawPublishing Co.Ltd.

Please be aware that the free essay that you were just reading was not written by us. This essay, and all of the others available to view on the website, were provided to us by students in exchange for services that we offer. This relationship helps our students to get an even better deal while also contributing to the biggest free essay resource in the UK!