SYSTEM FUNDAMENTALS
System life cycle
System life cycle refers to the
stages through which the
development of a new system
passes through.
New systems
Why create a new system?
replace an inefficient system
system is no longer suitable for its original purpose
old system is redundant or out-dated
to increase productivity or quality to minimise costs
Planning
Planning a new system is the process of thinking about various details and
organising the activities required to achieve the desired goal.
What organisational issues should planning anticipate?
lack of guiding organizational and business strategies lack of
stakeholder and end—user participation
lack of end-user 'ownership' of system
lack of attention to required training
lack of attention to various organizational issues, such as
organizational culture
lack of attention to the design of tasks and jobs, allocation of
information system tasks, and the overall usability of the system
Feasibility Test
Evaluates and analyzes a project
and its potential, based on
various technical, economical,
legal, operational and scheduling
criteria.
Change Management
Potential stakeholders:
Change management involves various investors
parameters and is a process of consumers
shifting individuals, teams, producers
suppliers
departments and organizations from government
the present state to a desired state. pressure groups
The goal is to maximize
benefits and minimize the
negative impacts of change on
individuals.
Legacy systems
Definition
The term legacy system refers to
an old technology, hardware,
computer system, or application
program.
Business
Mergers
Business Mergers
Business merger is the combining of two or more business
entities. The main reason companies merge is to reduce costs.
During this process all departments of both companies need to
ensure that all subsystems are compatible.
Strategies for integration
1) Keep both information systems, and develop them to have the same functionality
(high maintenance cost)
2) Replace both information systems with a new one (increased initial cost).
3) Select the best information systems from each company and combine them (it is
very difficult for the employees to work with information systems from another
company).
4) Select one company's information systems and drop the other companies’ (policy
problems).
Software incompatibility
Definition
Software incompatibility is a situation
where different software entities or
systems cannot operate satisfactorily,
cooperatively or independently, on the
same computer, or on different
computers linked by a local or wide
area computer network.
SaaS (Software as a Service)
Definition
SaaS is a contemporary delivery
method that allows software and data
to be hosted and managed centrally on
a remote datacenter. Users pay to
access the services provided on a
subscription basis. SaaS solutions reside
on the cloud and need a web browser
and a broadband Internet connection
to be accessed}
Changeovers
One critical decision when moving from an old system to a new
one is the choice of implementation method. Changeover is the
process of putting the new system online and retiring the old
one. The reason for an organization to choose one
implementation method in favour of another is often a trade-
off between costs and risk.
Parallel Changeovers
both systems work in parallel for a short period of time.
popular because limited risks
in case new system fails,company can revert back to original
extra costs and workload because it requires that the two systems run
parallel for a certain period of time.
not efficient if the old and the new systems have completely different
processing tasks, functions, inputs, or outputs.
Big Bang Changeovers
very risky since the company plugs in the new system and unplugs the old
one at the same time.
preferred when the system is not critical.
all users need to be trained appropriately before the switch takes place,
in order to use the new information system efficiently.
Pilot Changeovers
mostly used in large organizations that have multiple sites.
introduced in one of the sites and extended to other sites over time.
The risk of this method is low and the pilot sites can serve as models for
the rest of the company.
The first group that adopts the new system is called the pilot site or the
pilot group.
Phased Changeovers
a company converts one module of the system at a time, meaning that
different parts of the system are converted at different times
training period is extended and the adoption of the new system takes
longer, since each phase must be implemented separately.
Data Migration
Definition
Data migration refers to the transfer of
data between different formats, storage
types and computer systems. It usually
takes place in an automatic manner so as
to achieve efficient use of Human
Resources. Data migration happens when
an organisation changes, or upgrades. Data
migration happens when an organization
computer systems.
Potential problems
1) incapability of moving the information due to parameters such as incompatibility with the
new system or non—recognisable data structures.
2) data may be lost or not transferred due to an incomplete data transfer or errors during the
process.
3) data can also be misinterpreted due to incompatibilities, caused by the different
conventions of each country concerning date, time and measurement units.
Testing
Testing can happen in different ways and in different phases
Functional Testing
tests individual commands, text input, menu functions, etc. confirms that
they perform and function correctly according to the design
specifications.
For example, if a choice is made to add a client, does the program go to
the "add clients module"?
Data testing
Data testing is when normal, abnormal and extreme data is put into the
system.
Suppose that there is a program that accepts a student’s percentage in a
math exam and gives a “pass” message if the number entered is greater
than or equal to sixty; otherwise it prints a ”fail” message:
Normal data: 74, 30
Data at the limits: 0, 59, 60, 100
Extreme data: -10, 123, 543
Abnormal data: yes, 4 5
Alpha testing
done beforethe software is made available to the general public
is carried out by the company that made the software
Beta testing
includes comments and suggestions of the users
users outside the company are involved in the testing.
Their feedback is valuable and can be used to fix defects and errors that
were missed
Dry-run Testing
conducted using pen—and—paper the programmer.
algorithm is mentally run
code is examined, and the programmers decides what the output should
be
Unit testing
individual parts of the system are tested
Integration testing
the entire system is tested at the same time to verify that all components
can work together.
User-acceptance testing
used to determine if the system satisfies the customer needs and in most
cases is conducted in user premises before accepting transfer of
ownership.
Debugging
Definition
Debugging is a systematic process of
finding and correcting the number of
bugs (errors) in the computer program
Validation
Definition
Validation is the process of evaluating
whether data input follows appropriate
specifications and is within reasonable
limits.
Verification
Definition
Verification is the process of ensuring
that the data input is the same as the
original source data. A way of ensuring
data verification is through double
entry.
Validation vs Verification
For data entry, VALIDATION is performed automatically by the
computer system to ensure that only data is that is reasonable is
accepted. Validation is the automated checking by a program that
data is reasonable before it is accepted into a computer system.
VERIFICATION is used to check that the data does not change as it is
being entered. Verification is checking that data has been accurately
copied onto the computer or transferred from one part of a
computer system to another.
Types of Validation and
Verification checks
Validation Verification
• range checks
• lengthchecks
• type checks • double entry
• character checks • screen/visual check
• format checks
• presence checks
User Documentation
Why is it necessary?
the user's way of thinking may differ from the developers', hence the way
the product functions may not be clear to the user.
The user might not know how to use the product to its full capacity, and
even specialized technicians may not be able to set up the new system
properly for the firm they work for.
With appropriate external documentation, these issues can be easily countered,
since there will be a user manual explaining every component of the product.
Internal vs External Documentation
Internal
External
code comprehension features and details provided as
part of the source code itself, including Typically written as a separate document
• Appropriate module headers from the program itself.
• Appropriate comments It is provided through various types of user
• Useful and meaningful variable names supporting documents such as a users' guide,
• Useful module, classes, methods and function headers software requirements specification
• Appropriate code indentation document, detailed description of the design
• Appropriate code structuring and implementation features of the program
• Appropriate use of enumerated types and test document.
• Appropriate use of constant identifiers
• Appropriate use of data types defined by the user
Methods of User Documentation
The user documentation should include all the instructions that
are mandatory for the system to operate and should contain
frequently asked questions, which are always necessary for
new users. The document should be well structured and and
divided into appropriate categories. There are different
methods of user documentation
Manuals
online or offline
with online manuals: multimedia features can be used
offline manuals can be read without a PC and access to internet.
Email Support
Online support is an asynchronous type of support and can be provided
via an email address. Users contact the support team of the company to
resolve any problems with the help of specialized technicians.
Embedded Assistance or integrated user
assistance
Software suites like MS Office have inbuilt help systems (the! tips and
dynamic page content within the system itself). One example is when the
user hovers the mouse over an icon 3 small text box appears with
valuable help information. This kind of assistance is considered an
excellent way to increase the usability of a software application.
Embedded user assistance is context specific, task-specific, and does not
require novice users to ask the right question to find the suitable answer.
Frequently Asked Questions
listed questions and answers, all supposed to give users answers to a
common set of problems and pertaining to a particular topic.
The format is commonly used on online forums. The list of questions
contains questions that tend to recur.
Live Chat Sessions
A live chat technician will ask for the description of the occurring problem,
and try to present a list of possible solutions.
A telephone call, a live chat session or a video session provides a feeling
of being supported by a real person, which is preferred by many users.
Online or Web Portals
Online support is provided in many ways, depending on the product or
service that is being documented. Online portals can provide updated
manuals, support pages and FAQ pages.
Remote Desktop Connections
enables a specialised person to connect to the user PC's across
theinternet virtually
Allows control access of the PC to the specialised technician
ideal if user isnt experienced
security disadvantages because a stranger has full access to user's PC
User Training
Why is it necessary?
It is impossible to take full advantage of a new advanced IT system without
proper training.
All the staff must be familiar with the new system as they will make
mistakes if they are not properly trained.
User training can be delivered in a number of different ways depending on a
variety of factors, such as the number of the students, the availability of
instructors, the size of the business, and the training budget.
Self instruction/self study
Self-instruction allows the user to learn in his/her own time, until he/she
achieves mastery of the subject. Printed manuals, books, e-books or other
resources such as video tutorials or online exercises can be provided and
used whenever the user needs to improve his skills.
A user can benefit a lot through self-study. First of all, there is no tuition
fee. Furthermore the user can study whenever he/she wants (no formal
class at a fixed time and a fixed place).
The disadvantages include lack of guidance or teacher support and the
final result depends on the motivation of the user and their ability to
learn on their own.
Formal Classes
A formal class offers an interactive setting that promotes open and free
discussion between students and the teacher (instructor). Having several
students learning in the same classroom has the additional advantage of
allowing students to exchange ideas with one another.
Direct interaction with the expert allows for ideas to be exchanged easily
without any technical communication barriers.
A classroom situation may disadvantage shy members.
Self assured people dominate the conversation
Remote/distance learning/online
training
The main benefit of asynchronous online learning is that it allows
participants to take part in high quality courses from anywhere in the
world provided they have a PC and Internetconnection. This type of
Virtual Classroom is accessible 24/7/365. Time efficiency and time
management are valuable strengths of distance learning. Students can
access their virtualcourses, lectures, course materials, and class
discussions at any time, day or night.
An online educational program requires participants who are able to
access the online learning environment. Lack of the required
infrastructure will exclude otherwise eligible students from the online
course. Students and instructors must possess a minimum level of IT skills
in order to function effectively in an online environment.
Data Loss
Definition
Data loss refers to an error condition where
data is lost or destroyed due to system
failure, storage negligence, or even
transmission or processing errors. Various
precautions can be taken, in order to
prevent or restore data loss, through both
hardware and software. The cost of data
loss depends on how costly it may be to go
on without the data, how costly it may be to
recreate the data, as well as how costly it
may be to notify users of data loss.
Consequences of data loss
In all cases data loss is something that we want to prevent, but there
are cases where data loss could have extremely serious
consequences. Like in medical contexts.
Data loss is not that dangerous in all cases, but retrieval is time
consuming and might not always be possible, which is a problem.
Like for reservations
Data loss prevention
In the case of system or hard drive crashes, the data we have stored in them
can be lost forever, or are inaccessible. In order to prevent this, specialists have
created different methods by which one can be prepared for the above
situation:
Regular backup of files using hard disks or magnetic tapes
Firewall Installation
Data storage in two or more locations
removed hard copies
Installation of an Antivirus program for antivirus protection
Human error reduction techniques and/or failsafe
Online auto save backup
Redundancy
Definition
Redundancy is the duplication of
storage devices and stored data of
a computer system with the
intention of securing the stored
data. It is considered as a failsafe
method.
Failover systems
A failover system is a computer system which is on standby
capable of switching to a spare computer system upon hardware
failure, network failure, or any other type of error, such as
software malfunction.
The main difference between a failover and a switchover is the
degree of needed human intervention.
In a failover system when primary server fails the standby server
is made primary. In a switchover system the primary and the
secondary server interchange the primary role.
Software Deployment
Definition
Software deployment is the
process of making software
available to be used on a system
by users and other programs.
There are various ways this can
happen:
Patches
Patches are used by software companies to update applications by fixing
known bugs and vulnerabilities. Be aware that, patches may introduce new
bugs as side effects.
Upgrades
Upgrades always contain novel functionalities or characteristics, as well
cumulative bug fixes. In most cases upgrades need to be bought.
Updates
Updates improve a product in a minor way by adding new functionalities or
fixing known bugs. In most cases updates are free.
Releases
Releases are final, working versions of software applications. These
applications have already gone through alpha and beta software testing.
Releases relate to new or upgraded applications.
Computer Hardware
Definition
The physical elements of a
computer, e.g. screen, CPU etc.
Computer Software
Definition
A series of instructions that can be
understood by a CPU. These
instructions guide the CPU to
perform specific operations.
Software is comprised of both
programs and data.
Peripheral device
Definition
any auxiliary device that can
communicate and work with a
computer. For example:
input/output devices, printers, etc.
A peripheral device extends the
capabilities of the system it is
connected to, but is not a core
part of it
Computer Network
Definition
A set of computer systems that
are interconnected and share
resources, as well as data. For
example: Local Area Network,
Wide Area Network, etc.
Human Resources
Definition
People who are used or could be
used in an organization, business
or economy.
Roles of a computer
The computer can assume several roles in a networked world. It
can function as a client, server, e-mail server, domain name
system server (DNS server), router or firewall.
Dumb Terminal
Usually consists of a keyboard, a monitor, and a network card that is
connected to a server or a powerful computer. Dumb terminals depend
entirely on the computer to which they are connected for computations, data
processing and data management.
Client
A client receives data via the network, whereas the server has saved data on
it and offers it to clients. A server may be a program or a computer that
provides services requested by clients connected over a network while a
client is an average computer or terminal (dumb terminal, thin client) used to
access a computer-based system.
Email Server
equivalent of a post office that manages the flow of email in and
out of the network, checks that an email address is valid, allows users to
access their email, etc.
Router
accepts incoming quanta of information (data packets),
reads their destination address and distributes them across networks,
according to a routing table or routing policy (policy based routing). A router
identifies the destination of messages and sends them via an appropriate
route and is used to forward data packets between networks
Domain Name System Server
Attributes names to network addresses and therefore resolves names by
assigning them to the appropriate network entity
Protocol within the set of the TCP/IP protocol suite and is used for
managing public names of web sites. One can always bypass a DNS
lookup by entering the Internet Protocol (IP) address directly into a
browser.
Firewalls
Hardware or software network infrastructure that controls data flow access
among network entities. The firewall is mainly used to offer protection and
limit access to a network. The ideal firewall system configuration consists of
hardware and software components.
Client Server
software network architecture system where clients request information and
servers perform tasks in order to provide the information. At least one server
machine is required as a prerequisite for the client-server architecture. The
main difference between server and clients is that servers share their
resources, whereas clients do not.
Social and ethical issues
Issues of social and ethical significance can arise whenever
information technology is used. These issues have positive and
negative ethical and social impacts. Many people can beaffected and
it is sometimes difficult to identify the person who is to be held
responsible. An introduction of a new system may affect the life of
thousands, millions, or even billions of users!
Reliability
refers to how well an IT system functions. Computer failures cause
data loss, time loss, money loss, injury or even death. The reliability
of IT systems determines confidence in their value.
Integrity
Refers to protecting the completeness and accuracy of data. Data
lacks integrity if it is incomplete, out of date, or has been purposely
or
unintentionally altered.
Inconsistency
Problems may also arise if information is duplicated in a database
and
only one copy is updated, causing inconsistency
Security
Refers to the protection of hardware, software, peripherals and
computer networks' from unauthorized access. Biometrics,
proprietary tokens, passwords, firewalls, and locks are some of the
most common security systems placed to restrict access to IT
systems.
Authenticity
involves a person proving their identity to gain access to a computer
system beyond reasonable doubt. It is important to mention that
requiring more than one independent factor increases the difficulty
of providing false credentials.
Privacy
Ability to control how and to what extent data is used and
disseminated to others. It includes issues such as: how long data is
stored, who has access to the data and how the data is used.
Anonymity
Privacy becomes anonymity when, for instance, an individual uses an
IT system to conceal his/her true identity in order to cyber- bully
another person, commit illegal actions or crimes, hack computers,
commit terrorism etc.
Intellectual Property
Refers to ideas, discoveries, scientific endeavours, photographs,
films, essays, and art works. Copyright laws are designed to protect
intellectual property from unauthorized and illegal reproduction.
Modern “copy and paste" and file-sharing practices and devices
make it easy to break copyright laws.
The Digital Divide and Equality of Access
The growth and the use of IT systems have not developed at the
same rate for everybody in all parts of the world, or in all areas of
the same country. Even within advanced countries there are people
who lack access to IT infrastructures, and online services. Economic
costs, financial costs, lack of literacy, lack of language skills (English)
and lack of basic resources such as electricity are the main reasons
that sustain the digital divide.
Surveillance
involves using IT to monitor individuals or groups of people either
with or without (also a privacy issue) their knowledge or permission.
Governments, law enforcement, private groups, employers, traffic
control etc. may perform surveillance.
Globalization and Cultural Diversity
IT helps to diminish the importance of geographical, political,
economic and cultural boundaries while speeding up the global
spread of political, financial, sport and cultural news. Traditional
cultures and values may diminish gradually over time.
IT policies
Policies are enforceable procedures and measures that promote the
appropriate use of computers, networks, information systems and
technologies. Governments, public authorities, local authorities,
businesses, privategroups or individuals are developers of various IT
policies. The fast pace of Information Technology progression means
policies often quickly made obsolete.
People and Machines
Internet addiction is a social impact. The use of AI in military
or law-enforcement situations is also an issue of social concern. This
subject analyzes all aspects of the interaction between IT and
humans.
Digital Citizenship
covers appropriate behavior in a digital world. Appropriate
behavior includes using IT ethically, in a way that respects society,
the law and does not expose any person to threats, danger, or a
contravention of their human rights.
Methods of obtaining
requirements from stakeholders
Gathering various details about an existing system and obtaining
stakeholder requirements for a planned system, will involve:
Interviews
direct face-to-face procedure that focuses on obtaining reliable and
valid data in the form of verbal responses from a person or a group
(group of stakeholders).
Structured interviews are strictly standardized and prescribed. A
set of prepared questions is presented in the same manner and
order to each stakeholder.
Unstructured interviews are flexible. Stakeholders are
encouraged to express their thoughts and personal beliefs freely.
Questionnaires
effective when the questions are carefully constructed so as to elicit
unambiguous responses. Survey methodology refers to a domain of applied
statistics that focuses on taking samples from a population, as well as improving
on the various data collection techniques (e.g. questionnaires).
Closed or restricted questionnaires involve "yes" or “no" answers, short response
questions and box checking. Such a questionnaire facilitates statistical analysis,
tabular presentation of data, and summarizing processes.
Open or unrestricted questionnaires involve free response questions but allows
for greater depth of responses from the stakeholder.
Direct Observations
involves spending time in different departments. It is considered as a
time—and-motion study that can show where procedures and
processes could be made more efficient, or where possible
bottlenecks may be present. Direct observation makes possible the
collection of different types of data and information. Being on-site
over a period of time famiiiarizes the analyst with the case study,
thereby facilitating involvement in all activities and processes.
Observation is independent of user bias but is a time—consuming
method.
Appropriate techniques for
gathering the information
needed to arrive at a
workable solution
Examining Current systems
involves the detailed examination of the current
system, analysis of its functions and procedures, studying the
business and system documents such as current order documents,
logistics documents, and computer systems procedures and reports
used by operations and senior managers.
Examining competing products
analysis of competitive factors, their benefits, vulnerabilities,
successful characteristics, the breakthroughs that they introduce,
their design features as well as the users’ and stakeholders'
acceptance.
Direct Observations
involves spending time in different departments. It is considered as a
time—and-motion study that can show where procedures and
processes could be made more efficient, or where possible
bottlenecks may be present. Direct observation makes possible the
collection of different types of data and information. Being on-site
over a period of time famiiiarizes the analyst with the case study,
thereby facilitating involvement in all activities and processes.
Observation is independent of user bias but is a time—consuming
method.
System requirements
System requirements are specified through a document called a requirements
specification document. This document defines the specific customer
requirements of a computer system.
Types of Processing