Modelling for computers

Please log in to view tutor details
A-level Computer Science By: Please log in to see tutor details
Subject: Computer Science » A-level Computer Science
Last updated: 28/01/2016
Tags: a-level computing, computer, computer-science, gcse computing

Modelling, what does it mean in the context of the design and production of application software? It normally starts when there is a requirement to solve some need or problem, and the first thoughts may turn to using computing power to provide a solution. But as we are all aware, the gap between what is expected and what is actually delivered can sometimes be huge.

This is where, at the initial planning stage, analysts will consider using tools that can describe the real world in a way that is transferrable to the dumb logic of computers. There are mathematical techniques, such as the 'Z notation' that is based on set theory, lambda calculus and predicate logic, that attempts to make this transition foolproof such that the behaviour of the computer system will exactly match that described in the expected behaviour (and will also be mathematically provable). But methods like this require specialist expertise and are difficult for the layman to understand the resulting description.

Other schemes such as UML (Unified Modeling Language), are more intuitive being in general graphical so that almost anyone can see the way it relates to the real world. There are even some tools that can dynamically change the model to reflect changes in the execution code, so called 'round trip engineering'. This means that any changes made at the coding level, such as fixes or enhancements, are also shown in relation to the whole solution.

However, even when these ideas are put into practice, there is usually a mismatch between what is expected and what actually happens. The solution? More needs to be done to manage both the expectation from the requirements side, along with discipline among the community of software providers to ensure the delivered product fully meets the original needs of the community it serves.

It is possible to have 100% correctly functioning software and this has been done by NASA on some of their programs, but it requires enormous human effort to achieve this. Perhaps the best and most efficient way to make application software meet the requirements is to adhere to the rules and techniques that eliminate uncertainties (as far as is practical) that are defined in the study of computer science.

 


Ian Game GCSE Computer Science Tutor (Bournemouth)

About The Author

I am a Masters qualified IT professional with over 30 years experience in industry applying computing to commercial, industrial and public sector applications. I am also a STEM Ambassador (East region).




Tutors Wanted

  • Physics, Chemistry Tutor GCSE Redditch Face to Face, not Online
  • English Tutor for 9 yo Girl West London Gen. comprehension and essay technique
  • 11 Plus tutor Leeds Passionate Teacher needed
  • GCSE History tutor wanted Blackeath SE3 Lessons take place at student's home
  • PhD thesis writing tutor UK or Europe Holds a PhD in Health
  • French Teacher Wed 3.10- 4.10 Kingston, London Start 6th June DBS police check needed
  • Economics and Politics tutor Online or Central London Cambridge Pre-U
View tutor jobs
Tutors: Download your free e-book!