Flashcards
A-Level Computer Science Revision

Cards in this deck (47)
- 1What are the 8 phases of the software development life cycle in order?Feasibility
Requirements Analysis
Design
Implementation
Testing
Installation
Evaluation
Maintenence - 2What does a feasibility study include?Looks at:
Is the new system technically possible to implement in the time available? (Technically feasible)
Will the cost of the product be offset by savings after implementation. Will it save the organisation time, money and productivity? (Economically viable)
Is the problem solvable given current technology, time constraints and costs?
The project will only go ahead once these questions are true. - 3Who is responsible for making a feasibility study?The system analyst
- 4What is gathered in the Analysis phase?User requirements are gathered, and staff are interviewed, surveyed, polled, etc. and are then sorted into functional and non-functional requirements.
- 5What happens in the design phase?The general solution is conceived and designs are drafted to detail how the project should be developed
- 6What are the 5 project development methodologies required for the course?Waterfall
Agile
Rapid Application Development
Spiral
Extreme Programming - 7What is RAD (Rapid Application Development)?A methodology that focuses on repeating the Requirements Analysis, Design, Coding, Testing and Evaluation phases in a loop that creates new prototypes with reduced functionality each time. Focuses on user involvement as requirements are gathered very often. Allows more user control as they can decide when they are happy with the product.

- 8What is the Spiral methodology?The spiral method is a risk-driven methodology that is used for high-risk projects. the development process follows a large spiral, creating more detailed plans and designs as it goes around. There aren't as many prototypes developed compared to RAD, but there are more detailed documentation and rist-assessments.
- 9What is the agile methodology?Agile is a group of methodologies that is a more refined version of RAD. Agile makes use of short "sprint cycles" which consist of smaller time increments for tasks to be complete by developers and be shown to the client. Agile is heavy on client interaction and gets lots of feedback and approvals to accommodate for changing requirments.
- 10What is Extreme Programming?Mainly to produce very high-quality code and promote developers' quality of life by encouraging: Simplicity, Communication, Feedback, Courage and Respect. Encourages small cycles with frequent software releases.
- 11Paired programming is a part of Extreme Programming. What is paired programming?Paired programming is when two developers are sat at one desktop, where one is writing code, and the other is live peer-reviewing to check for mistakes and bugs. This can come in handy as two pairs of eyes will be able to spot more issues than one.
- 12What are the advantages and disadvantages of the waterfall model?Adv:
- Simple and easy to follow and manage
- Responsibilities are clear at each stage
- Clear Deliverables (goods and services to be provided upon completion of the project.
- Easy to see if the project is on schedule and on budget.
Disadv:
- Carries lots of risks (As large issues may cause the cycle to reset)
- No user involvement during the development
- Misunderstandings in requirements can lead to projects which aren't easy to fix
- Requirements must be well understood and detailed - 13When should the waterfall methodology be used?Short projects which can be restarted without huge setbacks, where time constraints are lenient and is low-risk.
Large projects with little risk and very clear and well understood requirements which will not change. - 14What are the advantages and disadvantages of RAD?Adv:
- Requirements can be somewhat vague as requirements are re-analysed throughout the development process.
- Continuous feedback from the client means the product will be exactly as imagined and have excellent usability.
Disadv:
- Scales poorly for large projects with big teams
- Regular contact with the client must be kept
- Code may not be efficient as the focus is on usability - 15When should RAD be used?Used in projects where the requiremnts are not fully understood by the client as the iterations prevents the project from becoming side-tracked.
- 16What are the advantages and disadvantages of the spiral method?Adv:
- Risk management is the main focus of the spiral method
- Excellent for high-risk projects
Disadv:
- Complex and the many risk assessments increase cost as it is a specialised skill.
- The project suffers if the risk analysis is done poorly - 17When should the Spiral Method be used?The spiral method should be used on high-risk projects which are large-scale, and where the requirements aren't fully realised by the client upfront.
- 18What are the advantages and disadvantages of Agile and Extreme Programming?Adv:
- Emphasis on programming, so the end code will be high quality.
- Core principles promote respect and collaboration leading to a productive development team
Disadv:
- Requires a team of programmers working in close collaboration, which is difficult if the team is geographically distributed
- Client must commit and have a full-time representative working with the development team.
- Spme processes in extreme programming, such as paired programming, can be costly. - 19When should Agile and Extreme programming be used?Agile and Extreme programming should be used on projects where the main focus is on the quality of the code. User requirements don't need to be as clear and well-understood as waterfall, but should give a good indication of the final product.
- 20What does this flowchart symbol represent?Start/End point

- 21What does this flowchart symbol represent?Process (something which requires no inputs or validation, like a regular calculation z = x + y)

- 22What does this flowchart symbol represent?Input/output

- 23What does this flowchart symbol represent?Direction of the flowchart, used to show how the program moves between the shapes. Can be labelled (with true or false, for example for if statements)

- 24What does this flowchart symbol represent?A decision which needs to be made (If statement, While loop, etc.)

- 25What does programming paradigm mean?Paradigm is a term to describe how we do something. For example, using variables, loops, conditions and arrays. The syntax is different for each language, but it is fundamentally the same process.
Examples of different programming paradigms are Object oriented programming, and procedural programming - 26What is assembly language?Assembly language is a low-level language, but is more readable than machine code as it uses short text codes to represent instructions.
- 27What are the disadvantages of assembly language and machine code?Adv:
- Assembly language is just as efficient as machine code.
- They can produce very precise, locally optimised and efficient code
- Direct access to system-level features without having to go through a software interface which improves the speed of programming
- You are in complete control of your code
Disadv:
- Machine-depecdant, meaning the code is almost impossible to port
- Rare to find programmers competent at assembly code
- Code is tedious to write and very prone to bugs
- Code is difficult to understand, modify and maintain. - 28What are the features of Procedural programming paradigms?Sequence, Selection and iteration
- 29What are the features of Object-oriented paradigms?Sequence, Selection, Iteration, Inheritence, Objects, classes and encapsulation
- 30Draw the truth table for an AND gate

- 31Draw the truth table for an OR gate

- 32Draw the truth table for an XOR gate

- 33Draw the diagram symbol for an OR gate

- 34Draw the diagram symbol for an AND gate

- 35Draw the diagram symbol for a NOT gate

- 36Draw the diagram symbol for an XOR gate

- 37What is the Boolean notation symbols for each logic gate?

- 38What is the role of an assembler?An assembler converts assembly language into machine code. It is hardware, dependant, so the assembler converts the assembly language into machine code specifically designed for the hardware it's running on. Each CPU has its own version of machine code and assembly language.
- 39What are the assembly language expressions for: Input, Output, Store, Load, Add, Subtract?

- 40What is the assembly language expression for 'branch' and what is it used for?BRA (Branch)
Branch is used to jump back to a position in RAM, and is mainly used in loops. - 41What does the assembly language expression 'HLT' mean?Halt, Stop or End, and signifies the end of the code and stops the processor
- 42What does the assembly language expression 'DAT' mean?"Data definition"
Used to define variables
e.g. x DAT 10
Would assign the value 10 to variable x - 43What do the assembly language expressions "STA" and "LDA" do?Store - Stores the current value in the ACC into the memory address
Load - Loads the contents of a memory address into the accumulator - 44What is the difference between the expresions: BRA, BRZ and BRP?

- 45What is the Little Man Computer?A Little Man Computer (LMC) is a simulator which has many of the basic features of a modern computer that uses the Von Neumann architecture. The LMC is based on the idea of a ‘Little Man’ acting like the control unit of a CPU, fetching instructions from RAM, decoding and executing them as well as managing the input and output mechanisms.
- 46What is the difference between Von Neumann Architecture, and Harvard Architecture?Von Neuman Architecture has one memory module which houses both instructions and programs in the same place.
Harvard architecture has two memory modules which each house data and instructions seperately. - 47What are the advantages and disadvantages of Harvard architecture?Adv:
- Less data collisions and corruption as data and instructions travel across separate buses
- parallel access to data and instructions
Disadv:
- More expensive to develop and implement
- Doesn't always make full use of the CPU
- Less free space in memory as data can't go with instructions and vice versa.
Information
- Description
- A level Computing Flashcards on A-Level Computer Science Revision, created by Kaylum Moir on 17/05/2021.
- Created by
- Kaylum Moir
- Views
- 0
- Rating