7CCSMASE Advanced Software Engineering

Tutorial 2

MSc Computing and Security

A company’s marketing division is worried about the start-up time of their new operating system. The marketing division representative suggests a software requirement stating that the start-up time shall not be annoying to users. Explain why this requirement is not verifiable and try reformulate in a verifiable way.

This requirement is not verifiable because they have not defined how long is considered annoying to users. A more appropriately worded requirement could be “The start-up time shall not be longer than 30 seconds in order not annoy users”.

Although 100% reliability is indistinguishable from correctness, but they are not quite identical. Under what circumstance might an incorrect program be 100% reliable?

User X is downloading a very large file over a slow modem; does he care more about the availability of his service provider or its mean time between failures?

He cares more about the mean time between failurs of his service provider as it is less likely for him to lose connection whilst downloading for a long time.

Can a system be correct and yet unsafe?

Yes. A system can be correct to a specification but the specification may not have covered all safety measures.