Download as pdf or txt
Download as pdf or txt
You are on page 1of 31

Topic 1 - System fundamentals

(1)
Software life cycle

System life cycle

Topic 1 - System fundamentals (1) 1


1.1 Systems Organization
1.1.1 Planning a new system

When planning for a new system, the context in which it will be used is
important to be understood.

Context = background, environment, framework, setting, or situation


surrounding an system.

Two considerations when considering a new system:

Extent

Limitations

Example

What would be the context of introducing a new payment system for school
trips?

Topic 1 - System fundamentals (1) 2


Questions to consider:
• Will there be any organisational issues related to the new
system?
• How will user roles be affected/change?
• Will any underlying technologies be affected/changed?

1.1.2 Need for change management

Changing a system can be difficult for a variety of reasons

Users do not like: e.g. too complex

New systems do not have old features

Old systems can be faster

Might lead to incompatibility

Might be data loss

Might be expensive

Change must be managed using the following steps:

Plan: Have clear valid reason and mission

Communicate: Communicate the change, and its factors, to the key


stakeholders

Integrate: If change allowed → Show plans for consultation with stakeholder


group

Evaluate: Wider organisation’s reactions to the change are evaluated at


every feasible oppurtunity

1.1.3 Outline compatibility issues resulting from situations including legacy systems
or business mergers.

Legacy system:

Old method technology

May/may not be supported for purchase

Topic 1 - System fundamentals (1) 3


Examples:

Hardware: Floppy disks, parallel printer cables, connections like PS2

Software: Windows XP, Movie Maker, Industry-specific software

Computer systems: Amiga, Commodore 64

Merger:

Definition: Combination of two entities or more, especially companies, into


one

Examples:

ABC and Disney

Pfizer and Warner Lambert

Issues

Software compatibility

Language differences

Time zone differences

Workforce cultural differences

1.1.4 Compare the implementation of systems using a client’s hardware with hosting
systems remotely.

Local software

Program that is bought and installed on a particular computer or set of


computers

Remote software

Program that is bought/rented/used and is installed on a computer


somewhere on the internet and then use through a browser or dedicated
local application

SaaS

Stands for: Software-as-Service

Topic 1 - System fundamentals (1) 4


Also known as: on-demand software, hosted software or web-
based software

Software distribution model in which a third-party provider hosts


applications and make them available to customers over the
Internet

With SaaS, service provider needs to ensure security, availability


and performance

Coommon SaaS examples:

Microsoft Office 365

Google Apps

Amazon Web Services

Dropbox

1.1.5 Evaluate alternative installation processes

4 ways of implementing a system

Direct changeover

Old system is stopped and new system is started

Advantages:

minimal time and effort

new system is available immediately

Disadvantage: if the new system fails, there is no fall back

Parallel running

The new system is started, but the old system is kept running alongside
it.

Data has to entered into both systems

Advantages:

If new system fails, old systems runs a backup

Topic 1 - System fundamentals (1) 5


output can be compared to see if new one is running correctly

Disadvantage:

Running two systems - cost time and money

Pilot running

The new system is piloted (tested) with a small subset of the


organisation.

Once it is ran correct + no bugs → implemented accross the whole


organisation

Phased conversion

New system is introduced in phases as parts of the old system are


gradually replaced with the new system

Advantages:

Allow people to get used to the new system

Training of staff can be done in stages

Disadvantage:

If new system fails there is no fall back for that part of the system

1.1.6 Discuss problems that may arise as a part of data migration

Incompatible file formats

Data structure differences

Validation rules

Incomplete data transfers

International conventions on dates, currencies & character sets

1.1.7 Suggest various types of testing

Testing ensures that the system works as expected —> Very important

Static testing

- Reviews, walkthroughs, or inspections. Often implicit, like proofreading

Topic 1 - System fundamentals (1) 6


- Example: when the IDEs check source code or syntax.
- Involves verification

Dynamic testing

- actually executing programmed code with a given set of test cases

- takes place when the program is run.


- may begin before the program is 100% complete in order to test
particular sections/modules of code.

- Involves validation

Alpha testing
- performed by testers who are usually internal employees of
the organization
- performed at developer’s site

Beta testing
- performed by clients or users who are not employees of the organization

- performed at client location or end user of the product

Black-box testing (functional testing)

- treats software under test as a black-box without knowing its internals.


- Tests are using software interfaces and trying to ensure that they work
as expected.

White-box testing (structural testing)

- looks inside the software that is being tested and uses that knowledge
as part of the testing process.

User-acceptance testing
- Testing any new/updated system with its ultimate end users to see if it
meets their expectation is very important

Automated testing

Topic 1 - System fundamentals (1) 7


- use of special software tools to control the execution of tests and then
compares actual test results with predicted or expected results.

- done automatically with little or no intervention from the test engineer.


- used to add additional testing that may be too difficult to perform
manually of when the body of code that needs to tested is vast.

1.1.8 Describe the importance of user documentation

What is User documentation


Document that explains how to use the features and functions of a system to its
end-users

Benefits

Make users aware of particular features or unable to use features that are
not immediately obvious.

Implementation faster because users require less training to learn how to


use the new system.

Does User Documentation provide detailed explanations of how the system


works.
No

1.1.9 Evaluate different methods of providing user documentation

Different methods of providing user documentation

Printed manual

Manuals printed on paper and supplied together with the system.

Advantages:

They can be read through by users before starting to work with the
new system

Always available

Give help installing the system

Disadvantages:

Can be lost / misplaced / limited in number

Topic 1 - System fundamentals (1) 8


Often limited to a little booklet supplying little information apart from
how to install the system

Not be updated every time the system is updated

Help files

Files supplied together with the system. They can usually be called up with
a button in the system

Advantages:

Accessible at any time when using the program

Give general instructions on how to use the system

Give general instructions on how to solve some major errors

Disadvantages:

They can only be used after system has been installed.

They don't give any help when installing the solution

They often only deal with very general errors

They often lack a search capability, you have to look to find help for

your problem

Online support
Special web service hosted by the system's developer to provide user
documentation.

Advantages:

They are often extensive compared to help files

They get continuously revised by the systems developer to deal


with the problems occurring most often (FAQs)

They often provide an option for live support, talking to a real


human operator if a problem arises which the user documentation
has no answer to

They often have search capabilities built-in so that users can easily
search through them

Topic 1 - System fundamentals (1) 9


Disadvantages:

1.1.10 Evaluate different methods of delivering user training.

Training end-users in using a new system is very important as productivity


greatly depend on how familiar they are with a system.

Online/remote training

An instructor training one user or a small group of users by some kind of


remote connection (Skype, Google Hangouts, Face time, etc.)

Most effective way of training as training can be suited to user's needs and
abilities, while being instructed by a professional that caters to specific
needs.

Advantages:

Structured learning environment

Expert on hand to answer questions

Curriculum designed to teach all aspects, including ones that might be


misunderstood or difficult to grasp

Flexible locations

Disadvantages:

Expensive – teachers & internet connection needed

Can feel ‘remote’ with no quick ‘hands on’

Has to be computer-based

Self instruction

- Users can learn how to use a new system on their own, provided they
have the right material to learn from.
- E.g. reading a manual or watching

Advantages:

- Lowest cost – only materials needed, no teachers/buildings

- Flexible timeline

Topic 1 - System fundamentals (1) 10


- Training tailored to exactly what users wants to learn

Disadvantages:

- With no guidance, user might feel lost/overwhelmed

- Unstructured learning means certain features might be


misunderstood/ignored

Formal classes

Users sitting in a classroom listening to an instructor who shows and


explains how to use the system.

Useful to train large amounts of staff as it is effective and relatively cheap,


but if the size of the classes is too big, there is little time to deal with
individual problems and questions.

Advantages:

Structured learning environment

Expert on hand to answer questions

Curriculum designed to teach all aspects, including ones that might be


misunderstood or difficult to grasp

Disadvantages:

Expensive – teachers, buildings and facilities needed

Rigid schedule and curriculum

Not much personalization possible

1.1.11 Identify a range of causes of data loss

Hardware/system malfunctions

Human error

Software corruption

Malicious software (viruses)

Natural disasters

Topic 1 - System fundamentals (1) 11


Threat from within: Malicious activity may be a result of activities by
employees within organisations or intruders.

1.1.12 Outline the consequences of data loss in a specified situation

Example:

Loss of a hotel reservation

Loss of a patient’s medical record

Loss of a financial transaction

Loss of a search engine request

Loss of a student’s test score

Loss of a password

1.1.13 Describe a range of methods that can be used to prevent data loss.

Failover system

Failover is the constant capability to automatically and seamlessly switch


to a highly reliable backup system.

This can be operated in a redundant manner or in a standby operational


mode upon the failure of a primary server, application, system or other
primary system component

Redundancy

Data redundancy is a condition created within a database or data storage


technology in which the same piece of data is held in two separate places.

This can mean two different fields within a single database, or two different
spots in multiple software environments or platforms.

Whenever data is repeated, this basically constitutes data redundancy.

Removable media

Removable media is any type of storage device that can be removed from
a computer while the system is running.

Examples: CDs, DVDs and Blu-Ray disks, as well as tapes and USB drives.

Easy to move data from one computer to another.

Topic 1 - System fundamentals (1) 12


Online storage (Cloud)

Type of service through which cloud computing resources and infrastructure


are used to create, edit, manage and restore data, services or application
backup.

This is done remotely over the internet.

Cloud backup may also be called online backup or remote backup.

1.1.14 Describe strategies for managing releases and updates

Release

Process of launching a new product for a specific market or user base.

Done with a beta version so that core developers/users can assist with
debugging and feedback prior to the release of the actual software.

Update

Software file contains fixes for problems found by other users or the
software developer.

Installing an update fixes the code and prevents the problems from
happening on your computer.

Updates fix problems with a program → free and available through the
program or the companies website.

Ways to get updates

Manually

Pro: Full control

Con: Time consuming

Automatically

Pro: Don’t have to think/worry about updates, always up to date

Con: No control – bad update might crash the system

Patches

Software update comprised code inserted (or patched) into the code of an
executable program.

Topic 1 - System fundamentals (1) 13


Typically, a patch is installed into an existing software program.

Patches are often temporary fixes between full releases of a software


package.

Patches may do any of the following:

Fix a software bug

Install new drivers

Address new security vulnerabilities

Address software stability issues

Upgrade the software

Release management

Continuous delivery

Software engineering approach in which teams produce software in


short cycles, ensuring that the software can be reliably released at
any time.

Aims at building, testing, and releasing software with greater speed


and frequency.

Helps reduce the cost, time, and risk of delivering changes by


allowing for more incremental updates to applications in production.

Agile development

Software development which requirements and solutions evolve


through collaborative effort of self- organizing and cross-functional
teams and their customers/end users.

Advocates adaptive planning, evolutionary development, early


delivery, and continual improvement.

Encourages rapid and flexible response to change.

DevOps (Development Operations)

Software engineering culture and practice that aims at unifying


software development (Dev) and software operation (Ops).

Topic 1 - System fundamentals (1) 14


Advocate automation and monitoring at all steps of software
construction, from integration, testing, releasing to deployment and
infrastructure management.

Shorter development cycles, increased deployment frequency, and


more dependable releases, in close alignment with business
objectives

1.2 System Design Basics


Important notes: Discuss a particular issue → Describe from many sides: Good vs bad,
positive vs negative, old vs new,…
Component of a computer system

1.2.1 Define the terms: hardware, software, peripheral, network, human resources

Hardware

Physical parts of a computer and related devices

Types:

Components — Internal hardware devices: Motherboards, hard drives,


and RAM

Peripherals — External hardware devices: Monitors, keyboards, mice,


printers, and scanners

Network

Consists of multiple devices that communicate with one another using a


transmission medium

Different size

Two types of network:

LANs and WANs

Software

Set of instructions

Topic 1 - System fundamentals (1) 15


Virtual

Consists of lines of code, written by programmers, compiled into computer


program

Stored as binary

Human resources

People who work for a company or organization

and department responsible for managing resources related to employees

Referred as end-users

1.2.2 Roles of a computer in a networked world

1 computer = many roles; depending on what software is installed on a


networked computer, it can do different taks

Two types

Client/Server

Client

If an office has a server that stores the company’s database on it,


the other computers in the office that can access the database are
“clients of the server

Server

Computer that provides data to other computers

May serve data to systems on LAN or WAN over the internet

Types of server: Web, mail, file with each type running software
specific to the purpose of the server

Examples:

Web server run Apache HTTP server to provide access to


websites

Mail server run Exim to provide SMTP service for sending email

File server: Use Samba/built in file sharing service to share files


over a network

Topic 1 - System fundamentals (1) 16


Hardware not important because server is software specific (regular
desktop can be made a server through addtion of software)

Client-Server Model

Shows how server provides resources + service to clients

Servers: Web servers, mail servers, file servers

Clients: Desktop, computers, laptops

Mechanics

One-to-many relationship: Single server can provide resources


to multiple clients at one time

Client requests connection → Server accept or reject

If connection accepeted, server establishes and maintains a


connection with the client over a specific protocol

Router

Hardware that routes data

From a LAN

To another network connection

Can be:

Separate hardware device

Software loaded onto server

DNS Server

Stands for: Domain Name System server

Memoizable names for websites and other services on the Internet

DNS translates domain names into IP addresses, computers


access Internet by its IP addresses → Allow access internet
location through domain name

Firewall

Topic 1 - System fundamentals (1) 17


Barrier between a trusted system/network AND outside connections
(eg. internet)

Filter → allow trusted data to get through

Created using hardware OR software

P2P (peer to peer) [no info]

1.2.3 Social and Ethical issues in networked world

What is social issue

Problem influences considerable number of individuals in a society

Examples

Crime

Health

Education

Media and Propagadan

Poverty

Terrorism

What is ethical issue

Situation requires person/organizations to evaluate something as right or


wrong

Examples

Computer crime

Responsibility for computer failure

Protection of computer property, records and software

Privacy

System design and analysis


Steps in designing a new system

1.2.4 Determine stakeholders

Topic 1 - System fundamentals (1) 18


Stakeholder

Person, group or org that has interest and concern in an organizations

Not all stakeholders are equal: Considered and ranked in importance


differently

Types of stakeholder:

Utilitarianism
design new system for greatest good for greatest number of people

1.2.5 Obtaining requirements from stakeholder

Observation

Walking around the organisation, watching how things are done with their
eyes

Advantages: Possiblity of gathering first-hand, unbiased info

Disadvantage: People work differently when being watched

Interviews

Interviewing key people within system to find out how it works

Topic 1 - System fundamentals (1) 19


Advantage:

Detailed info to be gathered

Can gather Opinions

Disadvantage: Time-consuming

Questionnaires/Surveys

Handing out questionaires to be filled out

Advantage:

Large amount of data from Large group can be gathered

Takes little time to analyse

Simple

Disadvantage:

Hard to ask the right question

Can be biased as info is limited

Quality of response not ensured

Collection documents

Looking in the documents currently used in the system to try to find how the
present system works

Advantages:

Detailed info about present system can be gathered

Can see problems in the old system

Disadvantages

Time consuming

Looking at just outputs can be confusin

1.2.6 Gathering information

Knowing exactly what’s going on + other info needed

Techniques

Topic 1 - System fundamentals (1) 20


Examining current systems

Who does what

How do they do that

Think about 5 components of a computer system: Hardware software


network peripherals human resources …

Looking at competing products

Look at what competitiors are doing

Get idea what is possible/being done at the mmoment

BONUS:

Intellectual property: Something uniqe that you physically create, an


idea isn’t an intellectual property

You own intellectual property if you:


– created it (and it meets the requirements for copyright, a patent
or a design)
– bought intellectual property rights from the creator or a previous
owner
– have a brand that could be a trade mark, e.g. a well-known
product name

Organizational capabilities

determining what the organization would be capable of.


• Can they afford a new system/new equipment?
• Can the staff use the new system? Training needed?
• Can they have any ‘downtime’ to upgrade?

Literature searches (web/hooks)

Book, magazines, websites

See what’s out there

Building/Designing the new system

1.2.7 Construct suitable representations to illustrate system requirements

Topic 1 - System fundamentals (1) 21


Types of illustrations

System flowchart

Diagram represents a process using symbols containing info about


steps or a sequence of events

Each symbol is linked with arrows to illustrate flow direction

IB only uses two shapes for all comands:

Data flow diagram

Maps out the flow of information for any process or system

Uses symbols like rectangles, circles, and arrows, plus short text labels,
to show data inputs, outputs, storage points, and the routes between
each destination

Structure chart

Represents organization of a system, showing different parts in


hierarchical order (usually)

Topic 1 - System fundamentals (1) 22


Others

UML class diagrams (links to Topic D)

Wireframes (links to IA

1.2.8 Purpose of prototypes to demonstrate the proposed system to the client

Prototypes

Topic 1 - System fundamentals (1) 23


Abstract representations of the system, often focusing on only one/two
key aspects

Important in testing as each of component can be tested before


implementing, and to illustrate the working of the future system to the client

Purposes

Fail early and inexpensively

quickly weed out the approaches that don’t work to focus on the ones
that do.

Gather more accurate requirements

interviews and focus groups can fall short because many people
find it difficult to conceptualize a product before they see it.

prototype demonstrate the functionality to help solidify requirements


for the final design

Technically understand the problem


forced to address both the foreseen and the unforeseen technical
challenges of a device’s design.

Stages in developing a prototype

Topic 1 - System fundamentals (1) 24


1.2.9 Importance of iteration during design process

Iteration: 2 meanings

Action or a process of iterating/repeating

Meaning 1: a procedure in which repetition of a sequence of operations


yields results successively closer to a desired result (linked to prototyping)

Meaning 2: the repetition of a sequence of computer instructions a specified


number of times or until a condition is met (links to loops, an alternative to
recursion)

Design cycle

Topic 1 - System fundamentals (1) 25


Topic 1 - System fundamentals (1) 26
1.2.10 Consequences of failing to involve the end-user in the design process

Users unsatisfied

Unsuited for user’s problem, affecting productivity

1.2.11 Social and ethical issues associated with the introduction of new IT systems
(Look at 1.2.3 to see what Social and Ethical issues is)

Possible topics for discussion:

• Robots replacing humans


• AI algorithms replacing human workers
• New systems being addictive/frustrating/less efficient
• New systems prompting new markets (mPesa/Amazon)
• Accessibility changing work-patterns
• Software changes driving hardware changes and vice versa

Human interaction with the system

1.2.12 Define the term usability

Ergonomics

How well the form fits the function

Understanding interactions among humans and elements of a system →


Optimize human well-being and system performance

Accessibility

Design of products, devices, services, or environments for people with


disabilities or specific needs

Includes specialist peripherals/software like:

Braille keyboards

Eye-typers

Accessible controllers

Screen readers

Voice synthesizers

Usability

Topic 1 - System fundamentals (1) 27


Ease of use + learnability of human-made object

Object can be software, website, machine, process, or anything human


interacts with

Summary

Accessbility + ergonomics = Usability

Usability + Utility = Useful

1.2.13 Range of usability problems with commonly used digital devices

Problems

Difficult to handle hardware

Difficult to understand software

Complex UI

Need lots of prior knowledge

Needs specialist

Each device is different from similar ones

1.2.14 Methods improve accessiblity

Accessibility

Design of products, devices, services, or environments for people with


disabilities or specific needs

Includes specialist peripherals/software like:

Braille keyboards

Eye-typers

Accessible controllers

Screen readers

Voice synthesizers

Types of disabilities

Visual

Topic 1 - System fundamentals (1) 28


Auditory

Mobility and Dexterity

Cognitive

Ways to improve accessiblity

Touch screens

Voice recogntion

Text-to-speech

Braille keyboard

1.2.15 Usability problems in a system

Systems to consider

Ticketing

Online payroll

Scheduling

Voice recognition

Systems that can provide feedback

Possible issues

Can’t access system

Can only access certain parts

Misunderstand what system requires as input

Can’t access the output

1.2.16 Moral, ethical, social economic and evironmental implications of interaction


between humans and machines

What is social issue

Problem influences considerable number of individuals in a society

Examples

Crime

Topic 1 - System fundamentals (1) 29


Health

Education

Media and Propagadan

Poverty

Terrorism

What is moral issue

Problem presented as any issue with potential to help or harm anyone ,


including oneself

Examples

Death

Hurt

Disadvantaging someone

Freedom/restriction

Gambling

Social constructs

What is ethical issue

Situation requires person/organizations to evaluate something as right or


wrong

Examples

Computer crime

Responsibility for computer failure

Protection of computer property, records and software

Privacy

What is economic issue

Problem/situation concerned with organization of money, industrym and


trade of a country, region, or society

Topic 1 - System fundamentals (1) 30


Examples

Generating income

Costs

Wealth

Working

What is environmental issue

Problems concerned with protection of natural world of land, sea, air plants,
and animals

Examples
– Global warming
– Electronic waste
– Plastic waste
– Power generation
– Fuel / Batteries
– Loss of habitat
– Dangerous chemicals

Topic 1 - System fundamentals (1) 31

You might also like