Mind map
AS/A2 Computer Science OCR: Unit 1.2
Map content
AS/A2 Computer Science OCR: Unit 1.2
SDLC
- System Design Life Cycle
- Spiral
- Cycle is repeated until perfected
- Each cycle the product is improved
- Best for long tasks and high risk projects
- Each cycle the product is improved
- Risk analysis is a specialised skill and is expensive
- Cycle is repeated until perfected
- Waterfall
- Each step is signed off
- Customer then cannot claim it was not done to specification
- Best for low risk tasks
- Easy to manage
- Customer then cannot claim it was not done to specification
- Carries a high level of risk
- Each step is signed off
- RAD
- Rapid Application Development
- Constant customer contact
- Customer has all say in what the product will be
- Large amount of testing and constructive criticism
- Customer has all say in what the product will be
- Customer may not have time to stay in contact with the company
- Process then must be halted until they can provide
- Waste of time
- Process then must be halted until they can provide
- Constant customer contact
- Rapid Application Development
- XP
- Extreme Programming
- Two programmers working on the same project
- One programs while the other checks the code
- Increases vigilance and reduces mistakes
- Swap around every so often to keep themselves "fresh"
- Make fewer mistakes
- Faster Production
- Good for long, complex, high risk tasks
- One programs while the other checks the code
- Little user involvement
- A customer representative is attached to the project on the customer's behalf
- Two programmers working on the same project
- Extreme Programming
- Agile
- Early and continuous delivery of working programs
- Allowed change of requirements from anywhere in the process
- Face to face communication with customer
- Customer knows what they are getting
- Face to face communication with customer
- Allowed change of requirements from anywhere in the process
- Customer must maintain contact
- Like RAD
- No necessity for immediate accuracy as one can go back on oneself
- Early and continuous delivery of working programs
- Spiral
- Stages of the SDLC
- Problem Definition
- Customer and analyst confer as to what the customer wants
- A list of specifications is usually drawn up
- Can help determine an estimated price before the project is started. Leads into Feasibility Study
- Feasibility Study
- TELOS
- Technological
- Is the technology needed to do the task available?
- Economical
- Is it economically viable? Profits VS Costs
- Legal
- Is the project legal?
- Operational
- What are the environmental effects?
- Are there enough people to run it once it is completed?
- What are the social effects?
- What is the effect on the customer?
- Schedule
- Can it be completed within the time-frame?
- Technological
- TELOS
- Data Collection and Analysis
- What input and output devices may be needed?
- Find out how people would use the product
- Questionnaires
- Simple Questions
- Wide influence
- Interviewing
- Complex Questions
- Questions based on previous responses
- Observation
- Watching people in the workplace and how the operate the system
- Studying Documents e.g.
- User manuals/guidelines
- Codes of conduct
- Paper files
- invoices and receipts
- Notes on the wall
- Questionnaires
- Find out how people would use the product
- Analysis is:
- Understanding of the current system
- Understanding of requirements
- Gathering user requirements
- Proposing the new system
- Producing a new specification
- Data
- What data needs to be stored?
- How is that data collected?
- Manually
- Data capture forms
- Automatically
- Bar Codes; OMR etc.
- Manually
- How is that data collected?
- What data needs to be stored?
- Input
- How is data input?
- Keyed In?
- Automatic methods?
- How is data input?
- Processing
- What processing must be performed on the data?
- What input and output devices may be needed?
- Design
- Inputs
- Development of data validation methods
- Outputs
- Screen designs for displaying outputs
- Design of printed reports
- Type of system
- Batch
- Real-Time
- Software
- What software?
- What type of HCI? (Human Computer Interface)
- GUI
- Command Line
- Menus
- Speech
- Processing
- Design Specification
- Details what the system will do. May include:
- Algorithms
- Pseudocode
- DFDs (Data Flow Diagrams)
- Screen Layouts
- Designs
- How the data will be stored
- ERDs (Entity Relationship Diagrams)
- Algorithms
- Details what the system will do. May include:
- Inputs
- Implementation
- Application of design and information into the final product ready for evauluation
- Evaluation
- Testing the product to ensure it runs as intended
- Product must be rigorously tested
- A hindsight look on the project
- Proof of functionality
- Allows the company to get paid
- Installation
- How will the design be integrated into the environment?
- Purchase of hardware
- Staff training
- Creation of data files for storage
- Identification of an appropriate changeover method
- An idea of the maintenance service that will be provided in the future
- How will the design be integrated into the environment?
- Maintenance
- What type of maintenance?
- Perfective
- Maintaining the system to meet the requirements
- Adaptive
- Maintaining the system to meet the changes
- Corrective
- Regular bug fixing
- Perfective
- What type of maintenance?
- Problem Definition
- Conversion
- Direct Changeover
- Immediately swap systems
- Unseen errors may arise leading to down-time
- Immediately swap systems
- Parallel Conversion
- Run both systems in parallel
- Slowly phase old one out
- Unseen errors are found before whole new system is implemented
- Slowly phase old one out
- Run both systems in parallel
- Phased Conversion
- Splitting new system into parts
- Replacing parts from the old system instead of all at once
- Errors seen and can be rectified by temporarily changing back to the old system
- Replacing parts from the old system instead of all at once
- Splitting new system into parts
- Prototyping
- Using working models to identify errors before implementation
- Direct Changeover
- System Design Life Cycle
MEMORY MANAGEMENT
- Paging
- Method of data storage where parts of a program are stored in equally sized sections within RAM
- Some code may be chopped off within logical strings of code
- More branching is then needed which slows down the process
- Some sections of code do not need the maximum space required leading to large amounts of empty space which the computer cannot fill
- Some code may be chopped off within logical strings of code
- Method of data storage where parts of a program are stored in equally sized sections within RAM
- Segmentation
- Method of data storage where parts of a program are stored in sections which are sized in relation to the size of the code called segments
- Leads to uneven areas of empty space within RAM which leads to clutter and some parts of code being chopped up or having to be stored in VM
- Splits at logical areas within the code so less branching is required
- More heavily reliant of VM
- Method of data storage where parts of a program are stored in sections which are sized in relation to the size of the code called segments
- Virtual Memory
- Volatile method of data storage where data that is normally stored in the RAM is stored in a section of the HDD
- Slower than RAM as it is further away from the CPU
- Place where data is stored when there is no more space left in RAM
- Parts of programs stored here when they are not needed and when they have finished being used
- Not all of a program can be stored in RAM as there is too little space
- Most of a program stored in VM
- Volatile method of data storage where data that is normally stored in the RAM is stored in a section of the HDD
- Paging
Interrupts
- Types of Scheduling
- First Come-First Served
- The first instruction that arrives is done before anything that appears later even if it is not the most important
- Favours long tasks as the computer spends most of its time on them
- Round Robin
- Tasks are given an time slot
- The time slot is a constant length
- Favours short tasks as long tasks take many time slots to complete and may have to be done in many steps
- The time slot is a constant length
- Tasks are given an time slot
- Shortest Job First
- The shortest instruction is done before the longer instructions
- Favours short jobs
- The shortest instruction is done before the longer instructions
- Shortest Remaining Time
- The queue is sorted on the amount of expected time still to do
- Favours short jobs
- Long jobs may never be done
- Favours short jobs
- The queue is sorted on the amount of expected time still to do
- Multi-Level Feedback Queues
- Different queues with ranging priorities
- Jobs can be moved between queues
- Different queues with ranging priorities
- Priority Heirarchy
- Each task is given a specific priority and the most important jobs are done first
- First Come-First Served
- Halts the processor from just working on the OS
- Types of Interrupts
- I/O Interrupt
- Input/Output
- Keypress
- Click
- Microphone
- Display
- Input/Output
- Software Interrupt
- An interrupt generated by the processor as it completes an instruction
- May be a branch/iteration
- An interrupt generated by the processor as it completes an instruction
- Hardware Interrupt
- A hardware interrupt is usually caused when necessary hardware like the Hard Disk Drive is damaged and cannot be accessed
- Usually high priority as it may be necessary to replace the damaged component before the computer can work properly
- A hardware interrupt is usually caused when necessary hardware like the Hard Disk Drive is damaged and cannot be accessed
- I/O Interrupt
- Types of Scheduling
The Operating System
- Types of OS
- Distributed
- Split across multiple machines
- More power to utilise
- Looks like 1 computer to a user
- More power to utilise
- Split across multiple machines
- Real Time
- Carry out 1 function consistently at the same speed
- Used in production lines
- Needs reliable memory (Not HDD)
- Easily predict outcomes
- Needs reliable memory (Not HDD)
- Used in production lines
- Carry out 1 function consistently at the same speed
- Embedded
- Specific purpose
- Limited skill set
- May be used in dedicated systems
- Limited skill set
- Specific purpose
- Multitasking
- Preemptive
- Certain amount of time for each task
- Co-Operative
- Allows one by one processing
- Used in most PCs
- Appearance of running simultaneously
- Preemptive
- Multiuser
- Used by multiple people at the same time
- Has to manage work-space and allocate resources for each user
- Run efficiently, maintain security
- Distributed
- Types of OS
THE BIOS
- The Basic Input/Output System
- Machine code program that can handle the low level input and output systems - e.g. peripherals
- Provides an interface between the hardware and the OS - Usually found in ROM
- Conducts the POST (Power On Self Test) and then uses the boot loader (bootstrap) to load the OS's Kernel into memory
- In order to avoid users modifying the OS for different platforms, the BIOS complies with set standards
- BIOS can be updated
- Some changes in the hardware configuration can be coped with manually by altering settings in the BIOS
- BIOS can be updated
- In order to avoid users modifying the OS for different platforms, the BIOS complies with set standards
- Conducts the POST (Power On Self Test) and then uses the boot loader (bootstrap) to load the OS's Kernel into memory
- Provides an interface between the hardware and the OS - Usually found in ROM
- Machine code program that can handle the low level input and output systems - e.g. peripherals
- The Basic Input/Output System
DEVICE DRIVERS
- A piece of software that tells the OS how to communicate with peripheral devices
VIRTUAL MACHINES
- Software simulating an operating system of another machine to test programs intended for the simulated system
- Used to take on the function of another machine including executing intermediate code
- Software simulating an operating system of another machine to test programs intended for the simulated system
The Operating System
- The purpose of the OS
- Device memory management, drawing data into CACHE, RAM and VM when it is needed
- Processes the UI
- Provides error messages
- Sorts interrupts and prioritises them
- THREE STATES
- Ready: Ready to be opened Running: On and working Blocked: Halted from working
- The purpose of the OS
PROGRAMMING PARADIGMS
- Object Oriented Programming
- Features
- CLASSES
- A template for a set of objects that have a state and behaviour
- OBJECTS
- ATTRIBUTES
- Properties of the object
- METHODS
- Routines, behaviour/actions
- An instance of a class, a real-world entity, holds attributes and methods
- ATTRIBUTES
- INHERITANCE
- The ability of a derived class to use the same properties of the parent class
- ENCAPSULATION
- Methods and properties are made hidden and can only be changed by appropriate methods
- POLYMORPHISM
- Creation of general object structures for use with a wide range of data types
- CLASSES
- Features
- Procedural
- Excellent for general purpose programming
- Many books and references available on well tried and tested coding algorithms
- Good level of control without having to know precise target CPU details
- Portable source code
- Good level of control without having to know precise target CPU details
- Many books and references available on well tried and tested coding algorithms
- Many procedural languages so people tend to specialise in one
- Needs to be very precise knowledgeable about programming instructions
- Not as efficient as hand-crafted source code
- Poor at handling fuzzy conditions e.g. in AI
- Not as efficient as hand-crafted source code
- Needs to be very precise knowledgeable about programming instructions
- Excellent for general purpose programming
- Object Oriented
- Easier to provide working code
- Classes can be treated as black boxes
- Many design patterns available
- Code re-use is easy
- Code portability is simple
- Code re-use is easy
- Many design patterns available
- Classes can be treated as black boxes
- Steep learning curve
- Complex
- Not as compact and efficient as low-level languages
- Complex
- Easier to provide working code
- Assembly Code Instructions
- ADD: add
- SUB: subtract
- STA: stores from ACC into MEM
- LDA: loads from MEM into ACC
- BRA: branch always
- BRZ: branch if zero
- BRP: branch if positive
- INP: input
- OUT: output
- HLT: end the program
- DAT: data location
- Object Oriented Programming
Information
- Description
- Mind Map on AS/A2 Computer Science OCR: Unit 1.2, created by Sam Gue on 19/11/2016.
- Created by
- Sam Gue
- Views
- 7
- Rating