Topic 2.7 - Types of Software Systems Flashcards
What is source code?
Source code is the raw code produced by developers and defines what they want their software to do.
What is meant by proprietary software?
This is software where the source code is not included and is also known as closed source. When you download the software, you can’t get access to the source code or make any changes to it.
What is meant by open source software? Give some examples:
This is software where you can download the source code and make changes to it. A community of developers works on the code and if their changes are good, the code will be merged into the main source code.
- Firefox
- Linux
What is meant by a GPL?
GPL stands for General Public License and protects the freedoms of open source code. It ensures that people can’t take open source code and use it in proprietary software and making money of other peoples code and ideas.
What is meant by Bespoke Software?
Bespoke software is software which is tailor made to the clients specific needs. These projects can often take a long time and prove to be very costly.
What is meant by off-the-shelf software?
This is ready made software which you can go and buy. These pieces of software become more reliable and cheaper as more people use it. Businesses may need to change some of their practises to get the most out of the software because it’s not bespoke.
What is a safety critical system?
These systems are not allowed to fail as they can be responsible for people’s lives, company assets or the environment/wildlife. These system have to be complex and constantly monitoring and taking input from the environment. (e.g ABS and aeroplane systems). These systems are written in a low level language so they can respond as quick as possible.
What are the benefits of using safety critical systems?
- They can replace people so cheap in long run
- Can respond to dangerous situations quickly
- Human workers won’t have to be in dangerous situations
- System can operate 24/7 year round and doesn’t get tired
- System can provide useful analytical information
What are some ‘rules’ for creating safety critical systems?
- Restrict all code to very simple control flow constructs. (No GOTO or recursion)
- All loops must have a fixed upper bound
- No more than two assertions (logical checks) per function
- No function should be longer than what can be printed on a sheet of paper
- Data objects must be declared at the smallest possible level of scope
what are the drawbacks of using safety critical systems?
- Businesses may be required to hire expensive and highly qualified maintenance staff
- Systems be able to handle obvious fault conditions but can not adapt to changes when they haven’t been programmed to deal with that particular situation.
What is meant by an expert system?
These are knowledge based systems which are designed to replicate a human expert’s knowledge. They use a series of facts and rules (if statements) to come to a conclusion and usually gives its reasoning.
- NHS Direct
- Careers Advice
- Diagnosing car faults
- Determining an insurance premium
- Deciding whether to provide a bank loan
What type of programming language is usually used in expert systems?
A 4th generation language called Prolog
What are the benefits of expert systems?
- Their speed
- Give consistent advice
- Can give a range of possible outcomes (more than one solution to each problem, these are usually ranked)
- Public access to knowledge
What are the limitations of expert systems?
- May reduce skill levels when people rely on these systems
- They can still make mistakes
- Most expert systems don’t learn from their mistakes
- Difficult to build a complete and exhaustive system.