by Long Le 5 years ago
715
More like this
Natural Disasters
Earthquake
Flood
Fire
File corruption
Software crash
Failure of a HDD
Power-surge
DDOS
cause the web server to performance to suffer greatly, or even crash meaning legitimate users cannot access the website or service running on the web server.
The purpose of a DDOS is to have millions of computers infected with a worm or virus (a ‘botnet’) to simultaneously activate a payload which sends data traffic to a web server in order to overload it.
Distributed Denial of Service attack
Phishing
attempts by scammers to trick you into giving out personal information
Malware
Spyware
Adware
Generates ads in pop-up windows or browser tabs
Malware with the purpose of collecting information
Browsing history (for marketing / advertising)
Email addresses (for spam purposes)
Personal details (for identify theft)
Trojans
relies on the user downloading and running what they think is a legitimate program
A virus disguised as a legitimate program.
Worms
purpose is to spread and consume large amounts of bandwidth on a network, making the network unusable.
replicates itself WITHOUT any interaction or assistance from the user (different from a virus).
Viruses
cannot run by itself
replicate itself
Malicious software
may also contain a payload - a part of some malware that damages the computer in a specific way on a certain date or trigger.
Software designed to cause harm to data integrity.
Making data inaccessible to users
Stealing data
Deleting data
Maintainability
Reliability
Level of automation
Operational costs
Processing time
Productivity
Integrity of data Security Ease of retrieval Currency of files
Software (security protocols)
Transport Layer Security (TLS) and Secure Sockets Layer (SSL)
Asymmetric Key system Public / Private Keys
Public / Private Key Cryptography
A banking website provides a user’s browser with the bank’s public encryption key. The user’s username and password (plaintext) is encrypted with the bank’s public key. The encrypted data (ciphertext) is sent to the banking website. The banking website decrypts the encrypted username and password with the bank’s own private key. The bank can send out the public key to all its customers for encryption. The bank MUST keep its private key safe to decrypt the encrypted data.
Creates secure (encrypted) connections over a network (HTTPS).
firewalls and system protection
System Protection
Anti-malware software
Firewalls
stops unwanted traffic from entering a network
The encrypted data is known as ciphertext.
The original data is referred to as plaintext
Encoding information so that is unreadable without the use of the encryption key or ‘cipher’
access restrictions
Stops a user from accessing resources, even if they have managed to login successfully
Blocking users from data and resources on an IS, based on their classification in the system
access logs and audit trails
Audit Trails
Track the user activity once logged in
Access logs
Can detect strange or suspicious login activity
A record of user login attempts into an IS stored on the server.
usernames and passwords
Prevents unauthorised access to the computer system.
equipment
Biometrics
Photograph ID
Iris recognition
Face recognition
Fingerprints
Identifying individuals based on unique physical characteristics.
Barrier techniques
Anything put in place to prevent a person from physically accessing servers or computer equipment holding data.
Guards
Doors, locks, gates, bars, fences, walls
Zoned security strategies
Different keys open different locks, creating ‘zones’ or areas that are only accessible by employees with the required key.
Locks, alarms, fences, gates
Procedures
shredding confidential documents (disposal of paper/hdd)
checking authorisation credentials
backing up
Frequency
Highly dependant on the organisation Full Backup - Weekly / Monthly Differential - Daily Incremental - Hourly / Daily
Medium
Medium considerations
Ease-of-use
Speed (Bandwidth for data transfer)
Cost
Capacity
Cloud
Optical Disc
Tape Drives
HDD / SSD
On site / Off site Off site prevents larger disasters causing data loss
Types
Incremental
can backup more frequently Harder to restore (must be in correct order)
To restore Restore full backup Restore each incremental backup, in order, from earliest to most recent.
backup after the full backup, only contains files changed for that day, or since the last backup.
Full backup is made first
Differential
Uses less space than daily full backups
To restore Restore full backup Restore latest differential backup
Each backup after the full backup, only contains files changed since the full backup
Full backup is made first (total copy of selected files or HDD)
Full
Easiest to restore something goes wrong Access the latest backup, restore files or whole HDD from there.
largest amount of storage
All data copied to backup medium
original files are NOT removed from the main system
storing the duplicates in a secure location.
Creating a copy of files on the main system
Are all the parts of the project plan relevant to the project?
How accurate are the time allocations, milestones and the tasks required?
easy to read?
contain all the required tasks, milestones, dependances?
Making notes on the project plan were changes were made.
The path followed through the project for its longest duration - this will be equal to the SHORTEST time possible to complete the project.
length of the bar.
represented with arrows
a following task cannot be begin until a previous task has been completed.
used to judge whether a project is on schedule or not.
diamond shapes
Major points of progress in a project
Identify the organisational and system goals and objectives in this case study.
Fred’s law firm has 2 computers. He wants his firm to be more successful, so he is updating his information system. He wants his PCs to run 20% faster to help him produce more accurate communications with customers and to increase income by 10% this year. With increased income, he can spend money on extra secretarial support because he wants his firm to get a reputation for professional excellence.
Organisational goal: his firm to be more successful, reputation for professional excellence.
Organisational objective: increase income by 10% this year
System goal: produce more accurate communications with customers
System objective: his PCs to run 20% faster
Measurable statements that describe what needs to be achieved in order to reach a goal.
Help to achieve the mission statement
describe something to achieve.
Guides the actions of the organisation
Usually describes why the organisation exists.
A short statement describing the ultimate goal of the organisation.
Jail
Sued
Customer loss
Reputation loss
Profit loss
Increased time taken to service customer
Incorrect information stored about customer address, letter sent to wrong person
Program crashes
Errors on invoices for new books
Where files are stored is also important
Use an appropriate file structure
Filename convention (How files are named)
Using a logical file naming convention
easier and quicker to find a file
Comparison
hardware device where files are physically saved.
Examples Hard disk drive Solid State Drive USB Flash Drive Optical media (CD / DVD / BD) Magnetic Tapes
Measured in Bytes
Transfer speed of data in a storage medium is measured in MB per second (MBps), networks use Mbps
1 Byte (B) = 8 bits (b) - a single 0 or 1
The amount of space on a storage medium (HDD, DVD) taken up by a file.
customers deal with IS, not a person
24/7 access - work overtime
loss of 'personal touch' or face-to-face contact with the business
deskilling
loss of jobs, people being replaced by IS
users become dependent on IS for work
start-up costs ($)
conversion of data into the new IS
training costs for staff
significant investment in getting the IS running
more effective/efficient for customers
can access own data or history in organisation
can order goods and services online --> reduced time/effort
24/7 access
Upskilling
users of IS must learn new IT skills to use IS
increased efficiency in running the business
less employees needed --> reduced cost
automated systems --> reduced time/effort
For businesses, these include: employees, employers, shareholders, customers
person or group with an interest or concern in something, especially a business
could allow export but prevent import
different software
different setups can cause miscommunication
can be valid and reasonable but incorrect due to human error
missing data
differences in data types
differences in field names
conflicts:
reasonableness/relevance
some information found don't make sense or are irrelevant
is there consent for data sharing?
is there consent for data mining?
done by dedicated data mining software
the analysis of large sets of data in attempts to extract patterns and knowledge
correctness
whether or not data is right or wrong (always yes or no)
authenticity
primary data most trustworthy, if not find reputable sources
how trustworthy and proven the data's source is
reasonableness
should fall within a range that makes sense
how much the data makes sense with the source material (is it related to the context?)
timeliness
1999 data vs 2019 data for current trends
data too old will be irrelevant and not provide an accurate representation of source material
how much the data is within its "use-by-date" and can provide meaningful information
length of time for 'timely' data depends on the data
accuracy
In 2017: there were 24.5 million people living in Australia (less accurate) vs. there were 24,530,282 people living in Australia (more accurate)
greater accuracy leads to more precision
how much the data is a true representation of the source material (how well data is measured)
internal consistency or lack of corruption in electronic data
raw facts and figures that have not been turned into information
e.g. visual(monitor), sound(speaker), paper(fax or printer) and touch(gamepad)
data that has been stored or processed by the IS and turned to information
e.g. keyboard, touch screen, microphone, etc.
data that is entered into the IS
(see pg. 3 to 4 for more info)
Goals
e.g. Reduce user errors by 50% OR Remain stable and reliable 99.5% of time
statements that describe something the organisation is aiming to achieve
Objectives
e.g Record all students' attendance and report progress OR Produce annual reports for sales
measurable statements that describe what needs to be achieved to reach a goal
reduction in time taken to process data
improved services for customers or clients
sharing of hardware between users
sharing of data between users
Data
includes information (attendance, personal details, etc.) and work (assignments, documents, etc.)
documents/files/statistics created and modified using the IS
Processes
includes general actions (saving files, etc.) and restrictions (access permissions, etc.)
rules to ensure the IS is used properly
Software
includes OS and other websites as well
applications and services used on hardware
Hardware
includes machines and computers used
physical components of IS
People
everyone
the human beings that use the IS
Check out slides (have not added all info) - do not delete this list
-----------------------------------------------------
Completed KK
Meaningful names
All controls, variables and arrays in a program should have meaningful names. This makes it easier to identify their purpose just by reading the name. Use naming conventions: => v, before all variables - vName, vAge => CamelCase for controls _Description of purpose _Type of Control _FirstNameLabel, CalcButton
Comments
Purpose Reminds a programmer what a piece of code was for (its purpose) Helps team members understand each other's coding Comments are not executed and have no affect on the performance of an application.
Trace table
remember to list all the variables given Store values as they change Only enter a new value if a change occurs.
Algorithm testing
Example (Question 1 Section B 2018 exam)
testing table
Testing for logic errors (test the program overall)
Example
Useability (Acceptance) Testing (given to client/user)
Completed by a section of its daily users Makes sure that solution included all the required functionality Gives the chance for users to provide feedback before the solution is deployed Test functional and non-functional requirements from analysis stage. Once passed the solution is almost ready to be deployed.
Effectiveness
Networks - reliability and maintainability
Information Management Strategy - integrity of data, security, ease of retrieval and currency of files
Solution - completeness, readability, attractiveness, clarity, accuracy, accessibility, timeliness, communication of message, relevance and useability
Efficiency - cost, time, effort
Network - productivity, processing time, operational costs and level of automation
Solution - speed of processing, its functionality(?) and the cost of file manipulation
Non-functionality - useability, reliability, portability, robustness, maintainability.
Functionality - Does the solution do what is is supposed to?
Does the solution run?
Range (data in an acceptable range?)
Type (correct data type?)
Existence (Does any data exist?)
Binary searching
Algorithm: Binary searches can only be applied to sorted data. A Binary search divides a list of values in half and makes a comparison on whether the value searched for is above or below the divided value. Find the value mid-way through the data and ask: Is this the value we are searching for? If so, search is finished. If not, is the value less than or greater than the mid-way value? Search the half that should contain the data, ignore the other half. Repeat until the value is found, or is proved to be not present. ______________________________________________ Very fast to run More complex algorithm to write.. Great for large data sets, bad for small ones (use linear instead) -------------------------------------------------------------- A binary search algorithm requires the following: The array of values Low - lowest index of list being searched (0) High - highest index of list being searched (array.Length - 1) Mid - middle index of list being searched (0) Found - indicates if the value was found (false) SearchValue - value being searched for A loop to run through the search -If statements
Linear searching
Algorithm: Similar to a human looking through a list of values. Look at the first index in an array and check if it contains the data we are looking for. If not, move to the next index. Repeat this until the item is found, or you have reached the end of the array. A Linear search is the only way to search unsorted data. easy to code slow (on average it will have check half the data set to find if the value is in an array) efficient for small data sizes
Quick sort
Uses Recursion - A function or procedure that calls itself. Divide and Conquer algorithm - data broken down into smaller pieces to be worked on. Sort Time - Faster and more efficient than selection sort. Algorithmic Complexity - More complex to write then a selection sort. Time taken to run the sort changes depending on the “unsortedness” of the data No. of Comparisons (N the number of items in the array) Best Case - N * log(N) Worst Case (rare) - N2
Algorithm: Pick an element from the array to act as the pivot value. There are many ways to pick the pivot value, but it is often best to select it randomly. Re-order all the values that are smaller than the pivot value to come before it, all the ones higher to go after it. The pivot will now be in its proper position Recursively (run the method again) apply the above steps to the sub-array of elements with smaller values and separately to the sub-array of elements with greater values. Keep applying the algorithm until the array is sorted.
Selection sort
Pseudocode
Easier to code than other sorts Good enough for small amounts of data Performs the same, no matter how the data is unsorted. No. of Passes (how many times it looks at the whole array) n-1 (n is the number of indexes in the array.) No. of Swaps (how many times data is moved in the array) n-1 No. of Comparisons (checking if a value is smaller or larger) N² Selection sorts are overall not very good for most situations.
Algorithm: Look at each item in the array, starting at first value (index 0) Find smallest value (if sorting small to highest values) Swap with the value at index (0) Look at each item in array, starting from the next index (index 1) Find smallest value Swap with the value at index (1) etc.
Term: Pass Counted each time an array is cycled through Comparison Two array elements are compared to each other Swap When two array elements are moved within the array.
Sorting data in an array is effected by
The complexity of the sorting algorithm
How many items there are to sort
How unsorted the data is
Control Structures (a block of code that controls which lines of code executed)
Iteration / Repetition (Loops)
Differences between for, do, while
Selection (If)
Sequence (Code running line by line in order)
Subtopic
Functions (A procedure that returns a value that can be used elsewhere)
return a result
perform some instructions
can be passed
Method ( an action that DOES something to a variable, object, class)
Procedures (Multiple lines of code that do something (method in C#)) -a set of instructions
modular programming - breaking codes into procedurea
can be called at anytime
prevent duplication
debugging easier
Instruction (a line of code)
variables (one variable is not a structure)
records
why use records instead of arrays? =>Each array does not make much sense on its own -need to access the ‘name’ and ‘MobNo’ array to see who the number belongs to. =>Sorting arrays like this becomes hard -How do you keep the indexes and values lined up between arrays?
example
contain variables of different data types
group variables together for a particular purpose or to describe a particular object.
associative arrays
includes _Hash tables _Dictionaries
Dictionaries
Hash tables
A hash function generates an index to store data, based on a key Collisions can occur if a hash function produces the same index from different keys. Searching would return the index value of where the data is stored each time - no linear or binary searching required.
data stored as: key : value pairs
purpose: organise data -> retrieval easier, esp for large data
One dimensional arrays
-only store values of the same data type, that are referenced with an index. -usually start at 0 (beware: can start at 1 if the question says so )
Technique for collecting data
Observations
Watching and recording how a system is used, or how it performed. Unobtrusive Time consuming Must choose appropriate time to observe Users may behave differently if they know they are being observed.
Surveys
Structured questions Multiple-choice Scale Short answer, long answer text Easier to process, not as detailed Short time taken for multiple responses Some people don't like filling in surveys People sometimes write down what they THINK they do, not what they ACTUALLY do. Online (Google Forms)
Interview
Qualitative data Prepared questions, but can elaborate or move onto other topics Harder to process Takes more time, especially for multiple interviews. Voice recorder, camera etc.
information to collect
Information about the current system: What is the current system used for? What works? What doesn’t work? What does the new solution need / require? (Solution Requirements)
usability (is software easy to use?)
relevance (is output relevant to required functions?)
communication of message (is it easy to understand info?)
timeliness (is it up-to-date?)
accessibility (does solution cater to people with disabilities?)
accuracy (is output correct and precise enough?)
attractiveness (does solution look good?)
readability/clarity (is it easy to read the output?)
completeness (does required info get produced?)
less cost/time/effort = better
cost of file manipulation
use more efficient algorithm
minimise time taken by solution to change files
functionality
does app address the tasks it was designed for?
output generated at reasonable time?
can data be entered quickly?
Internet
Example: Google Docs
Most processing occurs on the server, rather than the user computer.
require the use of the internet to function.
Peer to Peer
No connection to a central server
processing and data are shared between peers (users).
Rich Client
Example Microsoft Word
requires some connection to a central server.
does most of the processing of data on the client (users) computer.
Mobile
Usually, will not require internet connection to function (apart from the initial download).
Interface needs to be designed to work with touch input. Larger icons, less text on interface
Mobiles devices, such as smartphones and tablets.
marketability (easy to sell?)
improve marketability by improving above factors + effiviency and effectiveness
how easy will software be to sell?
measure of how much can be sold
interoperability (work with other systems? aka portability)
must be compatible with other software packages (e.g. data in XML works with other programs)
security (also affects coding)
authentication
Single-Sign-On (SSO)
Login - Username and Password
data protection
must comply with Privacy Act
needs to protect sensitive data
encryption
affordability (cost/development budget enough? reasonable price for user?)
usability (easy to use? target audience?)
mock-ups
Hand drawn visual representation of the solution. Provides the layout and relative positioning of all controls on a form. Labelled to indicate how the solution is used.
data dictionaries
Data dictionary example
defines all data elements (variables and arrays) in program
size (no. of characters)
data type (characterised by the kind of operations)
Note: Correct data type benefits: -efficient use of storage (e.g integers use less memory) -speed up performance -calculations can be performed?
boolean
True/False only
character (cannot use for calculations)
string
Examples: John Computer ID785342 mark@telstra.com.au 0407897235 - a 0 at the front cannot use a numeric data type!
a collection of individual characters (Any single alphanumeric characters and symbols)
numeric (can use for calculations)
date
Stores date and time values DD/MM/YYYY, HH:MM:SS.MS
double
Any number, including decimals up to 15-16 digits greater precision than a float
floating point
Any number, including decimals of up to 7 digits greater precision in stored values
integer
Whole numbers (+/-)
purpose of data
name of variable
pseudocode (before coding)
Note: EXPECTED outcome is based on the description of the algorithm in the question stem The ACTUAL outcome is based on the pseudocode algorithm.
Structured English Write down the methods for your program to describe it Language independent You should be able to read an algorithm in pseudocode, then write the algorithm in any programming language you are familiar with.
iteration (loops)
loop through an array
For i = 0 to len(arr)
For/EndFor (for loop)
While/EndWhile (while loop)
Repeat/Until (do loop)
selection (if statements)
Must Endif
indent code
If/Then/ElseIf/Else/EndIf
assigning values to variable
name ← user input
age ← 16
to access file contents
Until End of File (do loop)
While Not End of file (while loop)
keywords are bold
Pseudocode summary
object descriptions
describes objects/controls in solution
formatting info (font, size, colour, alignment)
attached procedures/functions
purpose
type
name of control
Reasons for using design tools _Represent solution before development begins _Generate, brainstorm faster _Ensure meeting the requirement of the client
ease of use
usefulness
privacy
copyright
users' level of expertise
security
compatibility
availability of equipment
capacity (storage)
speed of processing
time (how much time do we have?)
cost (how much money do we have?)
use case diagram
UCD symbols
Data flow diagram (shows movement of data)
DFD symbols
Context diagram
interaction between the organisation and external entities
attributes
reliability (same output every time?)
portability (work in/ move to different environment?)
robustness (no crashing?)
maintainability (easy to update/add?)
usability (easy to use?)
functions
Validation
Data manipulation (process)
output
input
xml file formats
Easy to edit and read by humans and software. XML is CASE sensitive. XML is an open-source file format. XML files can be directly edited with a Text Editor (Notepad), or by instructions written in an application. XML tags cannot start with a number, xml, or have spaces.
XML = eXtensible Markup Language XML files are used to store and transport data between software. provides a common structure for sharing data between applications. Uses tags to describe data, similar to HTML. CSV (comma separated value) files are similar, but only contain raw data, whereas XML files have field names and structure. XML files give structure - they show which pieces of data relate to each other through indentation.