3.1.2 - Software

Mind Map by , created over 5 years ago

A Level Computing (F451) Mind Map on 3.1.2 - Software, created by AndrewZV on 03/15/2014.

Created by AndrewZV over 5 years ago
GCSE Computer Science (AQA)
Wolfie Ruth
Computer science
Jess Lemmon
F453 Data Structures - Stacks and Queues
English Language
Edexcel Additional Science Biology Topic 1- Genes and Enzymes
Computer Systems
Computer science quiz
Ryan Barton
GCSE Computing - 4 - Representation of data in computer systems
computer systems and programming quiz
Molly Batch
CPU and Memory
3.1.2 - Software
1 Systems Development LifeCycle (SDLC)
1.1 1. Feasibility and Problem Definition
1.1.1 Problem Definition is where you "fully define" a problem. A "Systems Analyst" and the "Client" discuss the problem. This ensures all the issues are fully understood by both parties.
1.1.2 Feasibility is an "analysis of the viability" of an idea. This study helps to decide if the proposed idea is actually possible to carry out. Questions that need to be asked in a feasibility study: Technology Do they have the right tech? Is there tech available to complete the project? Economics Workers? Can the company afford it? Work space? Would people buy it?
1.2 2. Requirements
1.2.1 Refines project goals into defined functions and operations of the intended application.
1.2.2 Analyses end-user information needs.
1.2.3 A "Requirements Specification" is written. This document outlines: Functionality External Interfaces Performance Attributes Design Constraints A "Data Flow Diagram" (DFD) is created to show: External entities Data source or destination. Data Stores Location of data. Processes An operation performed on the data. Data Flow Movement between entities, processes or data stores.
1.3 3. Analysis and Design
1.3.1 Describes desired features and operations in detail. Features and operations described: Screen Layouts Business Rules Process Diagrams Pseudocode
1.3.2 Data is collected through: "Questionnaires" Sending out questionnaires and analysing responses. "Observations" Observing current procedures to see how things could be more efficient. "Structured Interviews" Interviewing staff at different levels in the company.
1.3.3 A "Design Specification" is written. This document includes: Input and Output Design Processing Data Structure Design
1.4 4. Implementation
1.4.1 This is where all the code is written.
1.5 5. Testing
1.5.1 Brings all the pieces together into a special testing environment. The following things are looked for: Bugs Errors Interoperability
1.5.2 Testing is used to measure the quality of developed computer software.
1.5.3 "Systems Testing" tests a completely integrated system to verify that it meets its requirements.
1.5.4 There are many forms of testing, these include: White Box Black Box Dry Run Acceptance
1.5.5 Installation Planning Installing the product. Must be done collaborating with the client, not in isolation.
1.6 6. Evaluation
1.6.1 Using criteria, the finished product/system is evaluated against objectives. These objectives were originally agreed between the client and the analyst.
1.7 7. Maintenance
1.7.1 What happens during the rest of the software's life. This includes: Changes Corrections Additions Moves to different computing platforms There are three forms of maintenance: Corrective Actions and tests to restore a defect or remove/correct a fault. Perfective Software maintenance to improve performance and maintainability. Adaptive Software maintenance performed to make a computer program usable in a changed environment.
1.8 Prototyping
1.8.1 Prototyping means building a working model of a new systems in order to evaluate it, test it, or have it approved before building the final product.
1.8.2 Two main types: Throwaway Quickly designed to show screen layouts and output formats. Evolutionary Where prototyping is used almost exclusively, going directly from preliminary investigations, via the prototype, to an implemented system.
2 SDLC Models
2.1 Waterfall Model
2.1.1 Cascading effect between phases.
2.1.2 Each phase has a well defined starting and ending point. Has identifiable deliveries to next phase.
2.1.3 Developers can go back and re-work earlier stages as development progresses.
2.2 Spiral Model
2.2.1 Incremental approach.
2.2.2 A prototype is built and then evaluated. Evaluation leads back into the Requirements phase.
3 Application Products
3.1 Commercial Products
3.1.1 Stock Control Track quantities of stock Track re-orders
3.1.2 Order Processing Placing orders Delivery details Payment details
3.1.3 Payroll Net and Gross Pay Salary Wage calculations and decutions
3.1.4 Process Control Keeping a process within boundaries
3.1.5 Point-Of-Sale Tills and checkouts Supervised and non-supervised
3.1.6 Marketing Advertising Promotions Sales
3.1.7 Computer-Aided Design (CAD) Graphically oriented information Design, drafting and display
3.1.8 Computer-Aided Manufacture (CAM) Physical products and materials Design, drafting and production
3.2 Generic Software Applications
3.2.1 Word processing
3.2.2 Spreadsheets
3.2.3 Desktop Publishing
3.2.4 Presentation
3.2.5 Drawing Packages
3.3 Bespoke Software
3.3.1 Software written to the specification of a particular organisation or customer.
3.3.2 Areas of need: Government Many custom built applications for specific needs. Finance Large Banks Processing Accounts Commercial Stock Control Order and Processing Systems
3.4 Knowledge Base Systems
3.4.1 Computer programs that attempt to replicate the performance of a human expert on some specialised reasoning task.
3.4.2 Features: Specific area of expertise Rule based Reasons with uncertain data Delivers advice Explains reasoning to the user
3.4.3 Made up of four main parts: The Rule Base Contains all rules that can be applied to the data. The Interface Engine Uses the rules in the Rule Base. Searches through the Knowledge Base. The Human Computer Interface (HCI) Allows the user to enter data or queries. Presents the results back. The Data Actual information relating to the Knowledge Base.
4 Operating Systems
4.1 Single User
4.1.1 One user at a time.
4.1.2 Each user has different rights.
4.1.3 Keeps user files separate.
4.2 Multi-Tasking
4.2.1 Many applications open at once.
4.2.2 Apparently running at the same time.
4.2.3 Each application is given a small slice of processing time.
4.2.4 E.g. Listening to music whilst typing an essay.
4.3 Batch Processing
4.3.1 Designed to take away human interaction. Stops people slowing a computer down.
4.3.2 All information given before processing starts.
4.3.3 No interaction during processing.
4.3.4 Large amounts of data.
4.4 Real Time (Rapid Response)
4.4.1 Feedback.
4.4.2 Many sensors.
4.4.3 Immediate response.
4.4.4 Need to update files before next input.
4.5 Multi-User
4.5.1 All computers accessing the same information at the same time.
4.5.2 Terminals given a small time slice of processing on a server.
4.5.3 "Thin client"
4.6 Distributed Systems
4.6.1 File storage spread over a number of machines.
4.6.2 Access to files is sped up because multiple file requests can be processed at the same time. Advantage over single file server.
5 User Interface
5.1 The User Interface is the way in which human users and the computer communicate.
5.2 Forms
5.2.1 Organise questions or options.
5.2.2 Resembles a paper based form.
5.2.3 Filled out by typing or choosing from list.
5.3 Menus
5.3.1 List of choices given.
5.3.2 Often touch based.
5.3.3 Choices often lead to further menus. Home option on each screen.
5.3.4 Simple and restrictive.
5.4 GUIs
5.4.1 Input via peripheral devices.
5.4.2 Provides articulated graphical output on the computer monitor.
5.5 Natural Language
5.5.1 Directed by using everyday human to human interaction.
5.6 Command Line
5.6.1 Input is provided by typing a command string.
5.6.2 System provides output by printing text.
6 Software Utilities
6.1 Compression Software
6.1.1 Reduces file size.
6.1.2 Bundles files together.
6.2 Hardware Drivers
6.2.1 Makes hardware work.
6.3 Anti-virus
6.3.1 Protects a computer from viruses.
6.3.2 Removes viruses.
6.4 File Handlers
6.4.1 Manipulates and controls files on a computer.
6.5 Firewalls
6.5.1 Protects a computer from attacks or intrusions.