Comp Sci Systems 2 Flashcards
Legacy System
An old technology or computer system
Legacy System Compatibility
Operating systems. data formats. hardware
Legacy System (lack of) replacement
Still work well. too costly to develop new system. users are comfortable
In House hosting
+Low ongoing costs. full control. all data is kept within the organization -High initial cost. technical skills required to maintain
Outsourced hosting
+Low initial cost. no technical skill required -High ongoing cost. loss of full control. security risk
Installation Processes
Parallel running. pilot running. phased conversion. direct changeover
Data migration
The process of moving data from one system to another. usually an older system to a newer one.
Data migration issues
Incompatible file formats. data structures. validation rules Incomplete data transfer international conventions on dates. currencies and character sets
Testing
Debugging. alpha testing. beta testing. black-box testing. white box testing. unit testing. system testing. acceptance testing. automated testing
Debugging
Ongoing. happens during development
Alpha testing
the first stage of testing. done by the programmers themselves
Beta Testing
Later testing. done by future users when the system is almost finalised
Black-box testing
testing what the system is supposed to do. from the point of view of the user. with no knowledge of how the program does what it does
White-box testing
testing the system from the point of view of the programmer. with full knowledge of how it does what it does
Unit testing
testing the modules or components of the system separately
System testing
Testing the system as a whole
Acceptance testing
The last testing phase once the system is delivered to the user
Automated testing
Using software to test software
Importance of user documentation
Installation. operation. troubleshooting. sample data and screens. easing transition from legacy systems
Methods of providing user documentation
Paper manuals. online manuals. interactive tutorials. dedicated support teams
Paper manuals
Dont need to be near a computer need multiple copies
Online manuals
Can make use of rich media Can search Always available
Interactive Tutorials
Makes the learning process more interesting
Dedicated support teams
can give accurate focused assistance increases salary bill
Methods of delivering user training
self-study. formal classes. online training. blogs. wikis. forums. FAQ’s. getting feedback from users
Self-study
Slow. boring and inauthentic
Formal classes
Make users feel more secure and involved.
Online training
Reduce travel costs. but can cause time zone issues
Causes of data loss
virus. malware. nautral disasters. hardware failure. user error. physical damage. power failure. back-ups are essential to prevent data loss
Consequences of data loss
Business activities may have to be suspended. damages the organization’s reputation. cost to replace data
How to prevent data loss
Back up. antivirus. failover and redundancy
Back up
removable media (USB). cheap simple to install. large capacity. easy to move offsite. Offsite: take back-ups in case of disasters Online: Always available. requires internet connection. possible security risk
Antivirus
Prevent malware from deleting/editing data
Failover and redundancy
Redundant system is a clone of an existing that is kept up-to-date in case the primary fails. Failover is the process of detecting a failure of the primary system and switching users to the redundant system.
Software life cycle
Continuous monitoring. testing. bug fixing and re-development.
Hardware
The machines. wiring. and other physical components of a computer or other electronic system
software
the instructions and data that can be stored electronically in a computer system
Peripheral
A computer device such as a CD-ROm drive that is not part of the main computer but which is added to provide some extra function
Network
A group of two or more computers linked
Human resources
the personnel of a business or organization. especially when regarded as a significant asset.
Networked world: Client
A computer on a network that makes requests to a server
Server
A computer on a network that listens to and responds to requests from clients
Email server
A computer on a network dedicated to sending and receiving email
DNS server
Domain name service. a computer on a network that translates between user-friendly names of network resources and their numerical IP address.
Router
A computer on a network that is responsible for sending network packets to the right host. subnet or network
Firewall
A computer on a network that limits the flow of data packets for a number of different reasons including: port number. application. content
Stakeholder
is any person or organization that is actively involved in a project. or whose interests may be affected by the execution of a project
Methods of obtaining requirements from stakeholders
surveys. interviews. direct observations
surveys
+get information from a lot of people quickly -may not ask the right questions
interviews
+Stakeholders can make you aware of things you hadn’t thought of. unlike with survey in which their answers are restricted -Time consuming. might be biased
Direct observation
+avoids bias -time consuming
How to arrive at workable solution
Examine current system. competing products. consult experts within the organisation. literature search
Design notation
structure diagrams. systems flowcharts. data flow diagrams
Structure diagram
Just shows how something can be broken down. doesnt imply sequence
Data flow diagram
Very specific and takes a long time to construct them
Systems flowchart
Need to consider inputs. processing and outputs. often x shaped. inputs at the top. processing in the middle. outputs at the bottom
Purpose of prototypes
Allows user to give immediate feedback. gives a client a better sense of what the software will be as it is easier to understand a prototype than a written explanation. allows developer to verify that he understands the requirements. allows the client to change requirements before fully developing. reduces costs. saves time
Importance of iteration during the desing process
Users might find. bugs. unfulfilled requirements. new requirements and improvements
Consequences of failing to involve the user in the design process
Increased chance that the software is designed inappropriately. in this case the client might not end up using the software. wasted development cost and reduced productivity.
Usability
The notion of how easy a system is to learn and use
Learnability
How easy is it for users to accomplish basic tasks the first time they encounter the design?
Efficiency
Once users have learned the design. how quickly can they perform tasks?
Memorability
When users return to the design after a period of not using it. how easily can they reestablish proficiency?
Errors
How many errors do users make. how severe are these errors. and how easily can they recover from the errors?
Satisfaction
How pleasant is it to use the design?
Ergonomics
designing and arranging things people use so that the people and things interact most efficiently and safely
Accessibility
The ability of people to access and benefit from some system. Often people with disabilities or special needs
Range of usability problems
Confusing navigation Lack of help No search facility Small. fiddly buttons Too complex. too many functions
Measures to improve accessibily of systems
Touch screen Voice recognition Text-to-speech Braille keyboard Screen magnifier Font adjustment and zoom
Usability problems: Ticketing
Time zone issues
Usability problems: Online payroll
Internet downtime. currency dependant
Usability problems: Scheduling
time zone issues
Usability problems: Voice recognition
Can’t understand accents/languages or speech-impaired users
Usability problems: Systems that provide feedback
Feedback not provided in a usable format. Compatibility.
SDLC
Asses needs. design specifications. Design/develop/test software. implement systems. support operations. evaluate performance
Linear search
examines each element in order until the desired element is found
Binary search
- examines the middle element and moves left if the desired element is less than the middle or right is the desired element is greater - more effective than linear search - the key is the value you are searching for
Dynamic data structures
memory is allocated dynamically there may be overflow or underflow if allocations are exceeded most efficient use of memory as it uses as much as it needs harder to program as program needs to keep track of data size
Static data structures
memory size is fixed no problems during run time with memory allocations might waste memory space easier to program
Singly linked list
- Contains a link element called first - Each link is linked with its next node using the next link - The last node carries a link to null to mark the end of the list - Traversal is only linear
Doubly linked list
- Contains a link element called first and last - Each link carries data fields to the next or previous link fields - Each link is linked with its next node using the next link - Each link is linked with previous node using the previous link - The last node carries a link to null to mark the end of the list - 2 way traversal
Doubly circular linked list
- The next pointer of the last node points to the first node - The previous pointer of the first node points to the last node making it circular in both directions
Pros of linked lists
- Flexible Size - Simple insertion and deletion of nodes - Easy to implement stacks and queues
Cons of linked lists
- Additional memory usage due to pointers - Sequential access only - Nodes are stored in an unconnected fashion. which slows down access speeds
binary tree traversal
- In order (LDR) - Pre Order (DLR) - Post Order (LRD)