Vous êtes sur la page 1sur 2

Question 1 Critically assess the extent to which formal tools for software verification relying on the ability to 'prove'

code can be successfully applied within commercial software development projects.

Answer: Software verification tools ensure the robustness of embedded software that must operate at the highest levels of quality and safety. Such tools are able to match a computer program against a specification, i.e. a formal description of the expected behavior of the program. If the specification is correct and the formal verification can be done, then the program is guaranteed to be bug free. These tools deliver an end to end software verification for early stage development use, bug finding, code rules checking and proof of the absence of runtime errors. As an essential tool vital in software development formal tools for software verification can be applied within commercial software development projects. Below are the benefits and problems associated with formal tools for software verification. Benefits associated with formal tools for software verification: They simplify the testing process. They increase the defect rate of software. Results in a higher release quality of software. They are used within the software quality assurance process. They result in highly reliable software solutions which meet customer requirements. They can be applied to different types of software, different types of programming languages and they conform to different types of software testing methods. Their ability to prove code can readily identify logical errors, functional errors and execution errors. Obviously the result in reduced time and cost required for software testing. Most importantly, their ability to prove code increases test coverage and the software defect rate.

Problems associated with formal tools for software verification: 1. Many of them are dependent upon the hardware platform and the software platform being used. As such, they are not portable being machine and platform specific. 2. Their technical nature requires users to be skilled in programming and the programming language used to write the source code. This suggest that they are more likely to be used by skilled programmers. 3. Many of them are not user friendly as they use a command driven interface and not a graphical user interface. In other words, there is a learning curve to use these tools. 4. Many of these tools are proprietary and incompatible with other development tools being used by the developer.

5. The strength of these tool in proving source code depends on a strong correlation between the tool and the source code of the program.

Question 2 (a) Give FOUR examples of attributes which make business operations/processes amenable to automation. (b) Explain what steps should be taken to determine how the requirements for a software system can be compared to the features of existing systems, and how to ensure that the best options available are discovered.

Answer

Automation is the process The use of computers to control a particular process in order to increase reliability and efficiency, often through the replacement of employees.

Four attributes that make a

Vous aimerez peut-être aussi