KOSTAS DIMITRI
hd & MARKOS HATZITASKOS msc
NY
ondeo uns
SCIENCE
For the IB Diploma &
Program
(International
Baccalaureate)
ass
DO Kaee at LSTKOSTAS DIMITRIOU ena & MARKOS HATZITASKOS msc
COMPUTER
SCIENCE
Express PublishingPublished by Express Publishing
Liberty House, Greenham Business Park, Newbury,
Berkshire RG19 GHW, United Kingdom
Tel.: (0044) 1635 817 363,
Fax: (0044) 1635 817 463
‘email:
[email protected]
www.expresspublishing.co.uk
© Express Publishing, 2015
Design and Illustration © Express Publishing, 2015
First published 2015
Made in EU
‘AI rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or
transmitted in any form, or by any means, electronic, photocopying, or otherwise, without the prior
written permission of the publishers.
This book is not meant to be changed in any way.
ISBN 978-1-4715-4209-1Copyright page
List of licensed IB material used:
1. DP Computer Science Guide (first exams 2014):
TOPIC 1- SYSTEM FUNDAMENTALS,1.1 SYSTEMS IN ORGANIZATIONS, Planning and system
installation,1.1.1 The context for which a new system is planned,1.1.2 The need for
change management,1.1.3 Compatibility issues resulting from situations including
Jegacy systems or business mergers,1.1.4 Different systems implementation, 1.1.5
Alternative installation processes,1.1.6 Problems that may arise as a part of data
mmigration,1.1.7 Various types of testing, User focus,1.1.8 Importance of user
docunentation,1.1.9 Different methods of providing user documentation, 1.1.10
Different methods of delivering user training System backup,1.1-11 Causes of data
Joss. 1.1.12 Consequences of data loss in a specified situation,1.1.13 Range of
methods that can be used to prevent data loss Software deploynent,1.1.14 Strategies
for managing releases and updates,1.2 SYSTEM DESIGN BASICS, Components of a
computer system,1.2.1 Hardware, software, peripheral, network, hunan
Fesources,1.2.1 The roles that a computer can take in a networked world,1.2.3
Social and ethical issues associated with a networked world System design and
‘analysis,1.2.4 Relevant stakeholders when planning a new system,1.2.5 Methods of
obtaining requirements from stakeholders.,1.2.6 Appropriate techniques for
gathering the information needed to arrive at a workable solution,1.2.7 suitable
representations to illustrate system requirenents,1.2.8 Purpose of prototypes to
demonstrate the proposed system to the client,1.2.9 Importance of iteration during
the design process,1.2.10 Possible consequences of failing to involve the end-user
An the design process.,1.2.11 Social and ethical issues associated with the
introduction of new IT systems Hunan interaction with the systen,1.2.12
Usability,1.2.13 Usability problens with commonly used digital devices,1.2.14
Nethods that can be used to improve the accessibility of systems,1.2.15 Range of
usability problems that can occur in a system,1.2.16 Moral, ethical, social,
economic and environmental implications of the interaction between humans and
machines, TOPIC 2 COMPUTER ORGANIZATION, 2.1 COMPUTER ORGANIZATION - COMPUTER
ARCHITECTURE,2.1.1 The central processing unit (CPU) and its elements,2.1.2 RAN and
ROM,2.1.3 The cache memory,2.1.4 The machine instruction cycle, SECONDARY
MEMORY, 2.1.5 Persistent storage and secondary memory OPERATING AND APPLICATION
SYSTEMS,2.1.6 Functions of an operating system,2.1.7 Software application, 2.1.8
Conmon features of applications, BINARY REPRESENTATION, 2.1.9 Bit, byte, binary,
decimal and hexadecimal,2.1.19 Data representation, SIMPLE LOGIC GATES,2.1.11
Boolean operators,2.1.12 Truth tables using Boolean Operators,2.1.14 Logic diagrams
using logic gates, TOPIC 3. NETWORKS,NETWORK FUNDAMENTALS,3.1.1 Different types of
networks,3.1.2 Importance of standards in the construction of networks,3.1.3
Networks, communication and layers,3.1.4 Technologies required to provide a
VPN,3.1.5 Use of a VPN,DATA TRANSMISSION, 3.1.6 Protocol and data packet,3.1.7
Necessity of protocols,3.1.8 Speed of data transmission across a network. ,3.1.9
Compression of data,3.1.10 Characteristics of different transmission media,3.1.11
Packet switching, WIRELESS NETWORKING,3.1.13 Advantages and disadvantages of
wireless networks,3.1.14 Hardware and software components of a wireless
network,3.1.15 Characteristics of wireless networks.,3.1.16 Different methods of
network security,3.1.17 Advantages and disadvantages of each method of network
Security, TOPIC 4. COMPUTATIONAL THINKING, 4.1 GENERAL PRINCIPLES, Thinking
procedurally,4.1.1 Procedure appropriate to solving a problem, 4.1.2 Order of
activities and required outcone,4.1.3 The role of sub-procedures in solving 2
problem Thinking logically,4.1-4 Decision-making in a specified situation,4.1.5
Decisions required for the solution to a specified problem,4.1.6 Iteration
associated with a given decision in a specified problem,4.1.7 Decisions and
conditional statenents,4.1.8 Logical rules for real-world, Thinking ahead,4.1.9
Inputs and outputs required in a solution, 4.1.10 Pre-planning in a suggested
problen and solution,4.1.11 Need for pre-conditions,4.1.12 Pre- and post-
conditions,4.1.13 Exceptions that need to be considered Thinking
concurrentiy,4.1.14 Parts of a solution that could be implemented
concurrently,4.1.15 Concurrent processing and problem solution,4.1.16 Decision to
use concurrent processing in solving a problem Thinking abstractly,4.1.17 Examples
of abstraction,4.1.18 Abstraction and computational solutions for a specifiedsituation,4.1.19 Abstraction fron a specified situation, 4.1.20 Real-world and
abstraction,4.2 CONNECTING COMPUTATIONAL THINKING AND PROGRAM DESIGN, 4.2.1
Searching, Sorting and other algorithms on arrays,4.2.2 Standard operations of
collections,4.2.3 Algorithm to solve a specific problem,4.2.4 Analyse an elgorithn
presented as a flow chart,4.2.5 Analyse an algorithn presented as pseudocode, 4.2.6
Construct pseudocode to represent an algorithm,4.2.7 Suggest suitable algorithms to
solve a specific problen,4.2.8 Deduce the efficiency of an algorithm in the context
of its use,4.2.9 Determine number of iterations for given input data,4.3
INTRODUCTION TO PROGRAMMING, Nature of programming languages,4.3.1 State the
fundamental operations of a computer,4.3.2 Distinguish between fundanental and
conpound operations of a computer,4.3.3 Explain the essential features of a
conputer language,4.3.4 Explain the need for higher level Languages, 4.3.5 Outline
the need for a translation process from a higher level language to machine
executable code Use of progranming languages, 4.3.6 Variable, constant, operator,
object,4.3.7 Define various operators,4.3.8 Analyse the use of variables, constants
and operators in algorithns,4.3.9 Develop algorithns using loops, branching,4.3.10
Describe the characteristics and applications of a collection, 4.3.11 Develop
algorithms using the access methods of a collection,4.3.12 Discuss the inportance
oF sub-progrannes and collections within programmed solutions. ,4.3.13 Construct
algorithms using pre-defined sub-progrannes, one-dimensional arrays and/or
collections, TOPIC 5 OBJECT ORIENTED PROGRAMMING,D.1 OBJECTS AS A PROGRARMING
CONCEPT,D.1.1 The general nature of an object,D.1.2 Distinguishing between object
and instantiation,0.1.3 & D.1.4 UML diagrans,D.1.5 Process of decomposition,0.1.6
Relationships between objects,0.1.7 Need to reduce dependencies between
objects,D.1.8 Constructing related objects,0.1.9 Data types,D.1.10 Data items
passed as paraneters,0.2 FEATURES OF 0OP,0.2.1 Encapsulation,0.2.2,
Inheritance, .2.3 Polynorphisn,D.2.4 Advantages of encapsulation,.2.5 Advantages
of inheritance,0.2.6 Advantages of polynorphisn,D.2.7 Advantages of libraries,D.2.8
Disadvantages of 00P,0.2.9 Use of progranning teams,0.2.18 Advantages of modularity
in program development,D.3 PROGRAM DEVELOPMENT,D.3.1 Class, identifier and
variables,0.3.2 Method, accessor, mutator, constructor, signature and return
value,D.3.3 Private, protected, public, extends and static,0.3.4 Uses of the
primitive data types and the string class,D.3.5 Code exanples for 0.3.1 ~
0.3.4,0.3.6 Code exanple for selection statenents,D.3.7 code examples for
repetition statements,0.3.8 Code examples of arrays,D.3.9 Features of programming
Ianguages that enable internationalization,0.3.10 Ethical and moral obligations of
progranners
2. DP Computer Science guide (first exams 2004) pages 100-102:
static void output(String info),{ System.out.println(info) ;,},static void
output (char info),{ Systen.out-printin(info);,},static void output(byte info), {
System. out.printIn(info);,},static void output(int info) {
System.out.printIn(info); },static void output(long
info),{ System.out.print1n(info);,},static void output(double
info),{ Systen.out.printIn(info);,},static void output (boolean info), {
system,out.printin(info);,},static String input(String prompt),{ String inputLine
system.out.print(pronpt); try, {AnputLine = (new java.io.dufferedReader( new
java.io. InputStreamReader(System.in))).readLine();},catch (Exception e),{ String
err = e.toString();,System.out.println(err);,inputLine = "";,},return
AnputLine;,},static String inputstring(string prompt) ( return’ input (prompt);
jestatic String input(),{ return input("");,},static int inputine(),{ return
Anputint(""); }, static double inputDouble(), { return inputDouble(""); },static
char inputchar(String pronpt),{ char
result=(char)@; ,try{result=input(prompt).charAt(@);},catch (Exception e){result
(char)@;},return result;,},static byte inputayte(String prompt),{ byte
result-0; ,try{result=syte. valueO#(input prompt).trim()) .byteValue();),catch
(Exception e){result = 95},return result;,}, static int inputznt(string pronpt),(
Ant results0;, try{result=Integer. valueot(, input(pronpt) .trim()) -Antvalue();},catch
(Exception e){result = 0;},return result;,},static long inputLong(String pronpt), {
long result=0; ,try{result=Long.valueOf( input (prompt) .trim()).longValue();},catch
(Exception e){result = @;},return result;,},static double inputDouble(String
prompt) { double result=@; try{resul: uble.. valueOF(
input(prompt) .trim()).doubleValue();},catch (Exception e){result = @;},return
result;,},static boolean inputBoolean(String prompt) { boolean result=false;
try{result=Boolean.valueOf( input(prompt).trim()).booleanValue();},catch (Exception
e){result = false;},return result;,}KOSTAS DIMITRIOU pena & MARKOS HATZITASKOS msc
CORE COMPUTER
SCIENCE
For the IB Diploma
Program
(International
Baccalaureate)
Aas
Express PublishingKostas’ Dimitriou Dedication
Dedicated to my father who taught me the value of human dignity and to my mother
who taught me the value of truth.
Markos’ Hatzitaskos Dedication
Dedicated to my grandmother Elissavet, my mother Eleni-Maria and my brother
Kostis, who have always been there for me,Preface
Kostas Dimitriou holds a PhD in Spatial Decision Support Systems and Environmental
Planning, and has taught computer science courses in various undergraduate and
postgraduate University courses. He has participated in many scientific conferences and
workshops, twenty research projects, and presented sixty scientific articles. He teaches the
1B computer science course in the Hellenic American Educational Foundation since 2002. He
is a Microsoft Certified Educator, Microsoft Expert Educator and Microsoft Expert Education
Trainer. {
[email protected]}
Markos Hatzitaskos holds an MSc in Advanced Computing and has taught computer science
courses throughout all school levels (from primary to high school and the |.8.). He currently
teaches in the Hellenic American Educational Foundation since 2011. In his free time,
whenever that might be, he develops mobile applications and attends the Athens School of
Fine Arts as an undergraduate. {
[email protected]}
The authors would like to thank the Board of Directors and the Administration of the
Hellenic American Educational Foundation (HAEF) for providing an ideal working
environment. Thanks are also due to Alkis Dialismas who checked our documents for
improper citation or potential plagiarism using Turnitin, and Kostas Ziogas who gave us some
valuable advice. Both authors would like to express their gratitude to the employees of
Express Publishing and especially to our friend Tzeni Viachou.
The authors would like to acknowledge the support of John Woodcock, former HAEF IB
coordinator, and Sophia Arditzoglou, current HAEF IB coordinator, over the years. A lot of
Computer Science students contributed with valuable ideas, comments and suggestions on
early drafts, The computer science class of 2014 encouraged us to start this book.
The purpose of this document is to facilitate learning and help our colleagues and CS
students around the world. This book is based on the IB computer science syllabus and
follows the IB computer science syllabus. The authors did their very best to cite all resources
used. If you find a source that is not properly cited please report it to authors. This book was
inspired by the book’: Jones, R & A. Meyenn. (2004). Computer science Java Enabled.
International Baccalaureate. Series, IBID press, Victoria.
* Jones, R & Meyenn, A. (2004). Computer science Java enabled, International Baccalaureate. Series,
IBID press, Victoria.The following 1BO documents were used during the development of this book:
1. International Baccalaureate Organization. (2004). IBDP Computer Science Guide.
2. International Baccalaureate Organization. (2012). |BDP Computer Science Guide.
3. International Baccalaureate Organization. (2012). IBDP Approved notations for
developing pseudocode.
4, International Baccalaureate Organization. (2012). IBDP Java Examination Tool
Subset.
5. International Baccalaureate Organization. (2012). IBDP Pseudocode in examinations.Table of contents
‘TOPIC 1- SYSTEM FUNDAMENTALS.
SYSTEM UFE CYCLE sn
1.1 SYSTEMS IN ORGANIZATIONS...
Planning and system instotlatio
11.1.1 The context for which a new system Is planned.
1.1.2 The need for change management, 7
1.1.3 Compatibility issues resulting from situations including legacy systems or business mergers
1:14 Different systems implementation
4.1.5 Alternative installation processes
1.1.6 Problems that may arise as a part of data migration.
1.1.7 Various types of testing.»
User focus .
1.1.8 Importance of user documentation a 7
1.1.9 Different methods of providing user documentation,
1.1.10 Different methods of delivering user training
System backup.
1.1.11 Causes of data loss... 7
1.1.12 Consequences of data loss in a specified situation
1.1.13 Range of methods that can be used to prevent data loss.
Software deployment ..
1.1.14 Strategies for managing releases and updates...
1.2 SYSTEM DESIGN BASICS
Components of a computer system,
11.2.1 Hardware, software, peripheral, network, human resources.
11.2.1 The roles that a computer can take in a networked world
1.2.3 Social and ethical issues associated with a networked world .
system design and analysis,
1.2.4 Relevant stakeholders when planning a new system..
4.2.5 Methods of obtaining requirements from stakeholders...
11.2.6 Appropriate techniques for gathering the information needed to arrive at a workable solution.»
12.7 Suitable representations to illustrate system requirements
1.2.8 Purpose of prototypes to demonstrate the proposed system to the client,
1.2.9 Importance of iteration during the design process..
1.2.10 Possible consequences of failing to involve the end-user in the design process...
1.2.11 Social and ethical issues associated with the Introduction of new IT systems.«
Human interaction with the system
2.2.12 Usability <1
1.2.13 Usabilty problems with commonly used digtal device...
1.2.14 Methods that can be used to improve the accessibility of systems .
1.2.15 Range of usability problems that can occur in a system ..
1.2.16 Moral, ethical, social, economic and environmental implications of the interaction between
humans and machines
(CHAPTER REFERENCES.
‘TOPIC 2 COMPUTER ORGANIZATION ..
COMPUTER ARCHITECTURE sv a
2.141 The central processing unit (CPU) andits elements.
2.1.2 RAM and ROM2.1.3 The cache memory,
2.1.4 The machine instruction cycle.
‘SECONDARY MENWORY..
2.1.5 Persistent storage and secondary memon
OPERATING AND APPLICATION SYSTEMS..
2.1.6 Functions of an operating system:
2.1.7 Software application...
2.18 Common features of applications
CConPUTER ORGANIZATION ~ BINARY REPRESENTATION
2.1.9 Bit, byte, binary, decimal and hexadecimal.
2.1.10 Data representation,
SIMPLE LOGIC GATES.
2.1.11 Boolean operatorssine
2.1.12 Truth tables using Boolean Operators .
2.1.13 Simplification and Boolean expressions ..
2.1.14 Logic and Venn diagrams using logic gates.
(CHAPTER REFERENCES.
TOPIC 3. NETWORKS.
INTRODUCTION ANO SOME DEFINITIONS..
NETWORK FUNOAMENTALS..
3.1.1 Different types of networks...
3.1.2 Importance of standards in the construction of networks.
3.1.3 Networks, communication and layers..
3.1.4 Technologies required to provide a VPN.
3.1.5 Use of @ VPN
DATA TRANSMISSION sn
3.1.6 Protocol and data packet...
3.1.7 Necessity of protocols:
3.1.8 Speed of data transmission across a network
3.1.9 Compression of date .
3.1.10 Characteristics of different transmission media
3.1.11 Packet switching.
3.1.12 Network topologies...
WIRELESS NETWORKING.
3.1.13 Advantages ond alsadvantages of wireless networks
3.1.14 Hardware and software components of a wireless network .
3.1.15 Characteristics of wireless networks
3.1.16 Different methods of network security.
3.1.17 Advantages and disadvantages of each method of network security
‘ChAPreR REFERENCES.
TOPIC 4. COMPUTATIONAL THINKING
Toots useD.
‘THE CONCEPT OF A PROBLEM:
AuconraN,
Frowcunats..
Pseuvocooe
[AN ALGORITHM AND ITS EXPRESSIONS
THE PROGRAMMING CONCEPT...4.1 GENERAL PRINCIPLE... 183
Thinking procedurally ... a i se 183
4.1.1 Procedure appropriate to solving 2 problem... 383
4.1.2 Order of activities and required outcome... Fe toe a RS
4.1.3 The role of sub-procedures in solving a problem 184
Thinking logically. 185
4.1.4 Decision-making in @ specified situation . sed8S
4.15 Decisions requited for the solution to a specfied probiem.. 188
4.16 iteration associated with a given decision in a specified problem. 186
4.17 Decisions and consitional statements
4.1.8 Logical rules for real-world,
Thinking ahead. 7
4:19 Inputs and outputs required in a solution...
4.1.10 Pre-planning in 8 suggested problem and solution
4.1.11 Need for pre-conditions.. 192
4.1.12 Pre- and post-conditions oe 193
4.1.13 Exceptions that need to be considered ...snramunonnntnnsvinennsnnenan 1198
Thinking concurrently... il ele 195
1.1.4 Parts of a solution that coud be implemented coneurent. 195
{4.1.15 Concurrent processing and problem £01Ut]ON mses . nnd
4.1.16 Decision to use concurrent processing in solving a problem 195
Thinking abstractly. 196
4.1.17 Examples of abstraction. - = 198
11.8 Abstraction and computational solutions for a specie stvaton. 197
4.1.19 Abstraction from a specified situation seen eal 199
4.1.20 Real-world and abstraction warnemnnnenemnss sesnnnnnnnnsneB00
4.2 CONNECTING COMPUTATIONAL THINKING AND PROGRAM DESIGN... 201
4.2.1 Searching, sorting and other algorithms on arrays 201
4.2.2 Standard operations of collections 2B
4.2.3 Algorithm to solve a specific problem : 219
4.244 Analyse an algorithm presented as 2 flow chart. 220
4.25 Analyse an algorithm presented as pseudocode son 223
4.26 Construct pseudocode to represent an algorithm. 226
4.2.7 Suggest suitable algorithms to solve a specific problem... 231
4.2.8 Deduce the efficiency of an algorithm in the context of its use 232
4.2.9 Determine number of iterations for given input data. 8
4,3 INTRODUCTION TO PROGRAMMING. 241
Nature of programming languages nmev.0aren seseae 241
143.4State the fundamental operations ofa computer. 261
4.3.2 Distinguish between fundamental and compound operations of a compUEF r-ensunumonenen 24h
4.3.2 Explain the essential features of a computer language 202
4.3.4 Explain the need for higher level languages... mm 283
4.3.5 Outline the need for a translation process from a higher-level language to machine-executable
a
244
245
DAS
code. ss
Use of programming languages...
4.3.6 Variable, constant, operator, objec...
4.3.7 Define various operators. ? soe
4.3.8 nase the use of variables, constants and operators in algorithms
43.9 Develop algorithms using loops, branching. 281
113.10 Describe the charaterties and appliations of 20M nnn 256
4.3.11 Develop algorithms using the access methods of a collection . 256
‘1.12 Dieu che importance ofub-programmes and colections within programmed slutions...258
43.13 Construct algorithms using pre-defined sub-programmes, one-dimensional arrays and/or
collections
263oo
CChapteR REFERENCES.
TOPIC 5 OBJECT ORIENTED PROGRAMMING.
D.1 OBuEcs As a PROGRAMMING CONCEPT
D.1.1 The general nature of an object
D.1.2 Distinguishing between object and i
D.L3 & 0.1.4 UML diagrams..
D.L.5 Process of decomposition.
{6 Relationships between objec
D.1.7 Need to reduce dependencies between objects.
0.1.8 Constructing related objects.
0.1.9 Data types. on
1.1.10 Data items passed as parameters.nu
D.2 FEATURES OF OOP sano
1.2.1 Encapsulation..
1.2.2 Inheritance
0.2.3 Polymorphism
0.24 Advantages of encapsulation,
D.2.5 Advantages of inheritance.
0.2.6 Advantages of polymorphism.
0.2.7 Advantages of libraries
0.2.8 Disadvantages of OOP
0.2.9 Use of programming teams wn
0.2.10 Advantages of modularity in program development
D.3 PROGRAM DEVELOPMENT.
D.3.1 Class, identifier and variables mn .
0.3.2 Method, accessor, mutator, constructor, signature and return value .
1.3.3 Private, protected, public, extends and static
1.3.4 Uses of the primitive data types and the string class.
1.3.5 Code examples for 0.3.1-0.3.4
0.2.6 Code example for selection statements.
0.3.7 Code examples for repetition statements.
0.3.8 Code examples of arrays
0.3.9 Features of programming languages that enable internationalization
0.3.10 Ethical and moral obligation:
(CHAPTER REFERENCES.
f programmers
APPENDIX A ~ INPUT/OUTPUT CLASS
‘APPENDIX A REFERENCES,
APPENDIX B ~ BOOKSTORE PROGRAM.
APPENDIX B REFERENCES.
APPENDIX C ~ TEAM BUILDER SYSTEM.
‘Appendix C REFERENCES,
INDEX OF TERMSChapter 1
TOPIC 1 — SYSTEM FUNDAMENTALS
[E> roe 1- system fundamentals*
System life cycle
System life cycle refers to the stages through which the development of a new system passes
through. Figure 1.1 presents a system life cycle specifically for software, whereas Figure 1.2
presents a more general system life cycle. Although most systems begin with the analysis
stage and continue with the design, implementation, operation and maintenance,
sometimes. it be necessary to backtrack and return to an earlier stage.”
Ne
wy
a
e
® e
eh )
ST ww
Figure 1.1: Software life cycle
e
sw,
s
2
* International Baccalaureate Organization. (2012). IBDP Computer Science Guide.
2 International Baccalaureate Organization. (2004). IBDP Computer Science Guide.Although the software and system life cycles are not directly presented in the new IB
Computer Science curriculum, they are briefly mentioned in the first section of this chapter
so as to inspire some fruitful discussions between teachers and students.
Plannin
Figure 1.3: Some stages of the Software life cycle
The first Topic of the new computer science guide’ and the section of the new computer
science guide' that explain the internal assessment requirements directly refer only to four
phases of the software life cycle as depicted to Figure 1.3.1,1 Systems in organizations
Planning and system installation
1.1.1 The context for which a new system is planned
Sree Ce ee oe
Ne Oe RnR Ur eae ce
Dee RU aes eee cs
Dee Creer cuneate Ck CRU Pa
Identify the importance of a new system for various users.
CMR concn
‘A new system can be created in order to replace a system that is inefficient, no longer
suitable for its original purpose, redundant or out-dated. The purpose of a new system can
also be to increase productivity or quality of the output or even to minimize costs. The new
system should reduce the errors or flaws of the existing one. The development of most large
systems involves a huge amount of time and effort and contains a lot of different stages.
A computer system includes
hardware, software, people
working with it or using it and the
immediate environment. So
updating a computer system may
involve actions like training
employees to use the new
system, changing the physical
location of a server, or even firing
employees.
Planning a new system is the
process of thinking about various
det and organizing the
activities required to achieve the
desired goal.
Planning should anticipate
Image 1.1: Feasibility study and its components potential organizational issues
such as:
+ 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.
At this stage a feasibility report or feasibility study should be conducted. The feasibility study
evaluates and analyzes a project and its potential, based on various technical, economical,
legal, operational and scheduling criteria. It is used to decide whether the proposed project
should be pursued.”
Technical feasibility: !s the exi
proposed system?
Economic feasibility: Is the proposed system cost effective?
ing technology sufficient to implement the
Legal feasibility: Are there any conflicts between the proposed system and any
regulations/laws?
Operational feasibility: Are the existing organizational practices and procedures
sufficient to support the maintenance and operation of the new system?
Schedule feasibility: How long will we wait?
{Example 1.1
| Question: A bookstore uses door-to-door salespersons to collect various orders
| from various customers. The orders are taken to the company's offices and are
| input by a secretary. The bookstore has decided to change this department and will
| ask the salespersons to input the orders at home, using their personal computers.
uss the various effects of these changes.
Answer: The bookstore will no longer need the secretary or any physical space to
accommodate the relevant department. Utility bills will be reduced and probably a
smaller office will be enough for the company. The secretary will have to find anew
job, or another position in the company. Salespersons will have to acquire some
‘computer skills and they will need to have a PC with an internet connection. New
computer software and hardware will also have to be obtained by the company,
which will also need to find a secure way (network) to allow the salespersons to
connect to the server. Staff working from home may ask for extra pay.
1.1.2 The need for change management
Cee eC eae
Tene eR eB
Justify the need for change management.
Nee ee nee teen tee
* Feasibility study. (2014, November 21). In Wikipedia, The Free Encyclopedia. Retrieved 18:03,
November 23, 2014, from
http://en.wikipedia.org/w/index.php?title=Feasibility_ studyBoldid=634775631Change management involves various parameters and is a process of shifting individuals,
teams, departments and organizations from the present state to a desired state. Successful
change management guarantees that all stakeholders accept and embrace changes in their
working environments. The goal is to maximize benefits and minimize the negative impacts
of change on individuals.
For example, in a small business, if the operating system changes, the employees need to
get proper training before they are able to use it in their everyday working schedule. In a
school environment a new printer that is able to automatically print both sides could reduce
costs but someone would have to inform teachers and students about this new
functionality. Some people often feel threatened by a new completely computerized system,
because they are afraid that they might lose their jobs. Unfortunately, sometimes their fears
come true.
4.1.3 Compatibility issues resulting from situations including legacy systems or
business mergers
Exit skills. Students should be able to”
Describe the importance of compatibility.
identify the way legacy systems interact with modern systems.
Pentre en eeu oe
Pec RG CLO ence su LL
The term legacy system refers to an old technology, hardware, computer system, or
application program. Some systems that belong to this category may still play an important
role in an organization. Such a system may still be in use because its data cannot be
converted to newer formats, or its applications cannot be upgraded. Keeping a legacy
system in operation involves various maintenance challenges. Even high technology agencies
such as NASA use legacy systems because the system still provides for the users’ needs, even
though newer or more efficient technologies are available’. It is clear that the exchange of
data between legacy and new systems is a factor that the administration needs to pay
special attention to.
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.
* (nd.). Retrieved November 23, 2014, from https://www-fbo.gov/index?s=
opportunity&mode=
form&id=e2cd8e7c507a2bbd3614edeB86bebS666&tab=core&_cview=0Four Strategies for Integration®
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).
Nowadays information technologies offer enormous potential for the world economy and
society. Most organizations interact with individuals and other organizations that are
located in different countries. Language differences greatly increase communication
problems, even if individuals have some knowledge of the others’ mother language.
Language is not only a form of communication but also a way of thinking and defining the
world.
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.
1.1.4 Different systems implementation
Cree Nee Ea
Define SaaS (Software-as-a-Service).
DTU Ee ee
Ce eT ene ee eu eC ece a eU u)
Dee es
Business software can
operate installed on a
client’s infrastructure and
premises or hosted on
dedicated servers that
belong to a company that
provides such services. A
locally hosted system is the
most appropriate solution
for larger and complex
systems. A remote hosted
Image 1.2: SaaS system is the — most
* Legacy System Integration. (n.d.). Retrieved November 23, 2014, from
http://www.coleyconsulting,co.uk/merge.htmappropriate solution where there is no necessary hardware equipment in place or in cases
where the administration wishes to outsource responsibilities for maintenance, support,
backups, security, etc.
SaaS (Software-as-a-Service) or “on-demand software” 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.*
Saa& is less expensive because it has a low initial
cost and requires few investments in
B as; 1 installation, maintenance and upgrading.
e Companies have to pay only for the SaaS
subscription, which is cheaper in the short-to-
medium term, SaaS provides a scalable
IR solution, since a company has only to adjust its
monthly SaaS subscription as required. In most
cases only a web browser and a broadband
ig internet connection are required to access
SaaS applications. A wide range of desktop,
portable and mobile devices also support SaaS,
3S use versus on premise installation solutions, SaaS requires few IT personnel and
all software updates take place far away from
company’s premises. SaaS is considered a safe solution because applications and data reside
in the cloud service of the provider's datacenter. However, there is a possibility of data loss,
if a SaaS provider goes out of business. The performance of a web browser-based
application that is hosted in a distant datacenter that is accessed via an Internet connection
is low when compared to software running on a local machine or over the company’s local
area network. SaaS integration with other SaaS solutions or software installed locally is
always difficult.
Image 1.3:
1.1.5 Alternative installation processes
eae Cn enor
GBR SUD Cac een ae?
Breet ie uur nee
Explain the pros and cons of each installation process
The installation of a new system is a situation that most enterprises, organizations and
individuals will face one or more times. During this process the old system will be retired and
the new system will take its place.
* Software as a service. (2014, November 17). In Wikipedia, The Free Encyclopedia. Retrieved 18:05,
November 23, 2014, from
http://en.wikipedia.org/w/index.php?title=Software_as_a_service&oldid=634189323Example 1.2:
Question: A medical company is very satisfied from the technical performance of
its current information technology infrastructure. Is there any reason to change it?
Answer: Maybe, the current system may be too expensive to run and maintain. So a
new system may decrease the total expenses of the company.
Example 1.3:
Question: What is meant by the term “operational feasibility” found in a feasibility
report?
‘Answer: A feasibility report should examine the “operational feasibility” of the
proposed system. This part should examine whether the existing organizational
practices and procedures are sufficient to support the maintenance and operation
of the new system.
Example 1.4:
Question: What is meant by the term “merger”?
Answer: The combining of two or more corporations or business enterprises into a
single corporation,
Example 1.5:
‘Question: What is meant by the term “software incompatibility’?
Answer: It isa 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.
Example 1.6:
Question: State five advantages of “Saas”.
Answer: Lower initial cost, easy to upgrade, ease of access from anywhere, easy to
predict the cost of initial implementation (subscription), the application is ready to
use.
Example 1.7:
‘Question: State five possible disadvantages of “SaaS”.
Answer: Dependence on a third party, security and confidentiality, dependence on
Internet connection, ris
of data loss, not as powerful as on premise solutions.
One critical decision when moving from an old system to a new one is the choice of
implementation (conversion, changeover) 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.
It should be mentioned that in most cases there might be resistance by employees or
customers to change and planning should try to minimize the negative effects.‘The types of changeovers are:
+ Parallel. The main characteristic of Parallel Changeover is that both systems work in
parallel for a short period of time. This method is very popular because of the
limited risk. Outputs of both systems can be compared to ensure that the new
system is functioning properly. If the new system fails, the company can revert or
return to the old system. When the company is satisfied with the output of the new
system, the old system can be terminated. Running two different systems
simultaneously means extra costs and workload because it requires that the two
systems run parallel for a certain period of time. The company has to maintain two
different systems and this results in various organizational tasks. This method is not
efficient if the old and the new systems have completely different processing tasks,
functions, inputs, or outputs.
* Big Bang or Direct (immediate). This changeover is very risky since the company
plugs in the new system and unplugs the old one at the same time. Once the
administration has decided to use this method and has prepared all the necessary
procedures, the changeover begins. Obviously there are dangers associated with this
method if the new system does not function as expected. This method is preferred
when the system is not critical. With this approach, all users need to be trained
appropriately before the switch takes place, in order to use the new information
system efficiently.
Example 1.8:
Question: A nuclear station is equipped with a highly automated control system. This
system should be replaced by a new system, Suggest a suitable implementation
method, Justify your answer.
‘Answer: The correct answer is parallel changeover because the main characteristic of
this conversion method is the limited risk. The cost of operation and maintenance of
both systems will be higher but this is of limited importance in this particular situation.
Direct method of implementation is not appropriate because of the high risk of failure
and the absence of a trusted backup system. The scenario described in the question
does not imply the existence of multiple sites so the pilot method is not considered as
an alternative.
* Pilot. The pilot method is mostly used in large organizations that have multiple sites.
‘The new system is 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. After the system proves successful at the pilot site, it is
to the rest of the company using a changeover method (usually
implemented
direct).
* Phased. With the phased conversion method, a company converts one module of
the system at a time, meaning that different parts of the system are converted atdifferent times. The training period is extended and the adoption of the new system
takes longer, since each phase must be implemented separately. The installation of
the new system is done per module, per department etc.
1.1.6 Problems that may arise as a part of data migr:
Exit skills. Students should be able to”
Pen cum
Identify the importance of incompatibility and incompleteness.
Provide a balanced analysis of different data migration scenarios.
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 organization changes, upgrades
‘or merges its information systems (for example, due to a merger or takeover).’ Many
problems may arise when transferring data from one system to another. First of all, there
may be incapability of moving the information due to parameters such as incompatibility
with the new system or non-recognizable data structures, Also, data may be lost or not
transferred due to an incomplete data transfer or errors during the process. In addition, data
can also be misinterpreted due to incompatibilities, caused by the different conventions of
each country concerning date, time and measurement units.
Data Migration
OOGo
Image 1.4: Data migration
Database Glossary -D. (n.d.). Retrieved November 23, 2014, from
http://www.nwdatabase.com/database-glossary-d.htm«While the planning tage depends on the extend and spurpose of the migration, the planning process
Should also include determining the requirements ofthe migration. Parameters such asthe identifcation
Of the future environment, the development andthe documentation ofthe migration pan should be
considered,
"During the migration phase, the Information Technology department will need to communicate its plans,
btn install and configure any necessary software and hardware, and proceed to the data migration.
+= A pre-migration test ta validate data is highly recommended, in adcition to post-migration validation
eating, These tests wil check thatthe data in the same state after the migration ast was before the
migration.
Figure 1.2: Data migration stages*
1.1.7 Various types of testing
Crees Cee EL
ee RU ce tu
Pera a
Suggest the best testing for a proposed scenario.
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 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. This program can be tested with® ":
* Normal Data such as 76 will be used to check if “pass” and “fail” messages are
appropriately provided.
© Data at the Limits should also be used, for this particular problem 0, 59, 60, 100 are all
examples of normal data at the limits.
Useful Information: Some authors describe as “extreme/boundary data the data at the
limits of acceptability/validity” and as “abnormal/erroneous data the data outside the
imits of acceptability/validity.” cf. David Watson and Helen Williams, 2012, page 79.
fi
® adopted by: IBM, 2007, Best practices for data migration. http://www-
935 ibm.com/services/us/ets/pdt/bestpracticesfordatamigration-wp-gtw01275-usen-01-121307.pdf
*1B Computing Home Page. (n.d.). Retrieved November 23, 2014, from http://iwww.ib-computing.com
2° Watson D., H. Williams, 2012, Cambridge IGCSE Computer Studies Revision Guide, Cambridge
University Press.Extreme Data will be outside the normal limits; -10, 104, 1223 are examples. These data
should be rejected during validation testing. The user may not input such data because
they're wrong, and it's easy to press a key twice by mistake.
+ Abnormal Data (illegal data) will be the type of data that we really didn't expect. For
this particular program it could be data that looks like a string, a character and not an
integer. This data would not usually be entered. A naive user may enter "two", which
seems unlikely but he/she could also hit the spacebar and enter "4 5", instead of “45”,
for example.
Alpha testing is done before the software product is made available to the general public.
Normally, Alpha testing will be carried out by the company that develops the software in a
laboratory type environment and not by the end users in their usual workplaces™
Beta testing includes comments and suggestions of the users. Unlike Alpha testing, 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, and also contributes in the preparation of
support teams that will deal with expected issues. Frequent beta testing results in last
minute software changes. In some cases, the Beta version will be made available to the
general public. This can provide vital real-world information and feedback”.
Dry-run testing is conducted using pen-and-paper by the programmer. During dry run testing
the programmer mentally runs the algorithm. He examines the source code and decides on
what the output of a run should be (execution).
During unit testing, individual parts of the system are tested separately.
During the integration testing, the ent
that all components can work together.
system is tested at the same time to verify that
User acceptance testing is used to determine if the system satisfies the customer needs and
in most cases is conducted in user premises before accepting transfer of ownership. This
type of testing is the last stage of the software testing process.
Debugging is a systematic process of finding and correcting the number of bugs (errors) in a
computer program.
It is important to mention that there are computer programs that can automatically test
other programs. This makes the testing process faster and cheaper.
™ alpha vs. Beta Testing. (n.d.). Retrieved November 23, 2014, from
http://www. centercode.com/blog/2011/01/alpha-vs-beta-testing/
® (n.¢,). Retrieved November 23, 2014, from http://ezinearticles.com/?Alpha-Testing-and-Beta-
Testing&id=433,Example 1.
Question: Several verification and validation checks are performed on data being
entered into a database by a bank employee. The database contains an “age” field
and a “name” field. Give two examples of invalid data and one example of valid
data for the field “age”, and explain how this field could be validated.
‘Answer: All “age” entries should be checked to see if they are positive numbers
and for consistency with a minimum/maximum range (e.g. 18-110). This process
includes a type and a range check. Invalid data for the age field could be “Y” and
"234" while valid data would be “25”.
Question: How the “name” field could be verified?
Answer: It could be typed twice and the two entries compared. If both entries are
the same then the “name” is verified. This process is called double entry and
reduces data entry errors.
Validation and verification in relation to data input”
Validation is the process of evaluating whether data input follows appropriate
specifications and is within reasonable limits.
+ 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.
Verification vs. validation software testing
Verification is the confirmation that a computer product meets identified specifications,
while validation is the confirmation that a computer product meets its design function or is
appropriate for the intended use.
+ Validation: Are we developing the correct system?
: Are we developing the system correctly?
+ Validation: Does the product meet the customer-needs?
+ Verification: Does the product comply with a specific regulation or condition?
User focus
1.1.8 Importance of user documentation
Seat Se CeCe
eM RC eae eo CC
Pere tO te Cae oe cco uc LaPrograms and systems may become increasingly complex as their aim gets more and more
and convoluted. Additionally, the user's way of thinking may differ from the developers’;
hence the way the product functions may not be clear to the user. All of the above may lead
to serious problems during the implementation or operational stage of the Software Life
Cycle (SLC). 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,
1ce there will be a user manual explaining every component of the product.
A systematic and organized software development procedure ensures that all supporting
documents are produced in an orderly and methodical fashion. It is very important to
distinguish betveen internal documentation and external documentation.
Internal documentation is the code comprehension features and details provided as part of
the source code itself. Proper internal documentation includes:
+ Appropriate module headers
+ Appropriate comments
+ Useful end meaningful variable names
+ Useful module, classes, methods and function headers
‘* Appropriate code indentation
* Appropriate code structuring
* Appropriate use of enumerated types
‘* Appropriate use of constant identifiers
‘* Appropriate use of data types defined by the user
It is very difficult and likely impossible for the source code to be read by the final user.
External documentation is typically written as a separate document from the program itself.
It is provided through various types of user supporting documents such as a users’ guide,
software requirements specification document, detailed description of the design and
implementation features of the program and test document.
1.1.9 Different methods of providing user documentation
Exit skills. Students should be able to
Cee eeu eae ere Cac
See ue eee Cee
Du Aaa cue ucadin eee ae
User documentetion can either be in a written or in an online form, so that the user can
search the document more easily and quickly. The user documentation should include all the
structions 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 divided into the appropriate categories.Manuals
These can be provided online or
offline. One of the advantages of
online manuals is the potential use
Information Feedback of multimedia features. Manuals
ssstance
can also be provided online as pdf
files which one can download and
print, The advantage of a printed
manual is that it can be read
‘Support Customer without the use of a PC or an
internet connection.
igs j
Service
# Email support
Online support is an asynchronous
pe type of support and can be provided
via an email address. Users contact
Image 1.5: Different methods of user documentation 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 (tool tips and dynamic page content
within the system itself). One example is when the user hovers the mouse over an icon 2
‘small text box appears with valuable help information. This kind of assistance is considered
lan 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
Frequently Asked Questions (FAQ) are 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
Online support is a type of real time support that is extremely useful for emergency
situations. 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 portals 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
Remote Desktop is a function that enables a specialized person to connect to the user’s PC
across the Internet from virtually any computer. Remote Desktop will actually allow a
specialized technician to take control of the user’s PC as though he/she/she was sitting
directly in front of it. This solution is ideal if the user is not very experienced. This solution
has some security disadvantages because the technician is allowed to have full access over
the user’s PC.
1.1.10 Different methods of delivering user trai
ing
Ce Ie OC oe Ce ae
TOR cee ed Ca me Ld
See Ue eaters
De RUG EC Ree ec y
Itis impossible to take full advantage of a new advanced IT system without proper training.
Moreover even the highest investment in technology requires users that are able and wish
to use it, User training is extremely important in almost every case.
All the staff must be familiar with the new system as they will make mistakes if they are not
properly trained. Staff can be trained by self-instruction, formal classes or online training.
Furthermore, the developers of the new software have to create clear educational material
for solving any kind of questions a user might have.
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 or 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.
‘Auser 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 and
without — any technical
‘communication barriers.
‘A classroom situation may
Image 1.6: Different methods of user training disadvantage shy members.
The classroom can also
obstruct one’s ability to learn by allowing other, more self-assured students to dominate the
discussion environment.
Remote/distance learning/online training”?
‘The main benefit of asynchronous online learning is that it allows participants to take part
high quality courses from anywhere in the world provided they have a PC and Internet
connection. 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 virtual
courses, lectures, course materials, and class discussions at any time, day or night. The use
of interactive learning environments contributes to self-direction and promotes critical
thinking, and thus is highly supported by the literature of adult education and training.
‘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, Online asynchronous
education places greater responsibility on the student and gives students control over their
learning experience, and thus is considered inappropriate for more dependent and
immature learners.
* Illinois Online Network: Educational Resources. (n.d.). Retrieved November 23, 2014, from
http:/Amww.ion.uillinois.edu/resources/tutorials/overview/System backup
1.1.11 Causes of data loss.
STU Le ace
Identify the negative impact of data loss.
eu ACU ee kee
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.
er (emia
Accidental del
Qn
Very common cause of data loss
Bui
fires
Use of file recovery software
‘Administrative errors Need for care
Poor data storage orga Data can’t be found
{misplacement) Restructure data organization
Rare
Store data in two locations
Closing the program without saving the file
Very common cause of data loss
Need for care, use of autosave features
Computer viruses
Very common cause of data loss
Need for antivirus software
Regular backups
Continued use after signs of failure
Need for Self-Monitoring, Analysis and
Reporting Technology (SMART)
Need for PC checkup
Regular backups
Data corruption
Errors in computer data
Regular backups
Firmware corruption
Hard disk failure
Regular backups
Natural disasters (floods, earthquakes)
Rare
Store data in two locations
Regular backups
Outsiders wanting to delete, alter or steal
the information.
Regular backups
Need for a firewall
Need for authentication methods
Physical damage of the storage device
(intentionally or not)
Regular backups
Need for care
Power failure
Need for UPS (uninterruptible power
supply)
Regular backups
** Data loss. (2014, August 25). In Wikipedia, The Free Encyclopedia. Retrieved 18:06, November 23,
2014, from http:/fen.
ikipedia.org/w/index.php?title=Data_loss&oldid=6227474081.1.12 Consequences of data loss ina specified situation
EOC CUR en
In all cases data loss is something that we want to prevent, but there are cases where data
loss could have extremely serious consequences. For example, if the medical records of a
patient in a hospital are lost, then the patient's life can be in danger if the data cannot be
retrieved, and some painful examinations might have to be repeated. Data loss is not that
dangerous in all cases, but retrieval is time consuming and might not always be possible,
which is a problem. Imagine a situation where a client books a hotel room over the phone.
But when he/she arrives at the hotel, the receptionist informs him/her that there is no
record of his booking and no rooms are available. The client (after the initial shock) has to
search for another hotel perhaps informing friends and colleagues on social media of his
discomfort and disappointment.
1.1.13 Range of methods that can be used to prevent data loss
Exit skills. Students should be able to":
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 (offsite
storage)
+ Removed hard copies (printed versions of data)
+ Installation of an Antivirus program for antivirus
protection
Image 1.7: Data lossQuestion: A bank uses a database server that provides database services to various
computers. Describe a secure strategy for backing up and restoring the data on the
Example 1.10:
database server after a failure.
‘Answer: A secure back-up strategy would be to use high-capacity magnetic tapes
because the tapes are very cheap per Gigabyte and have great longevity. The first
step is to back up the files of the hard disks to tapes every night. The back-up
process should be completely automated and the tapes should be secured and
stored off-site in a fire-proof room. A suitable strategy for restoring the data after
the failure would be to use these tapes to restore the database on the server. P
Human error reduction techniques and/or failsafe (accidentally deleted files)
Online auto save backup (iCloud, Dropbox)
Image 1.8: Removable media backup tape (high-capacity
‘magnetic tape)
In computers science, 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.
Diskettes, Blu-ray discs, CDs, DVDs,
USB (Universal Serial Bus) are
removable media that are used for
fast data backup and data storage.
These removable media can store
data permanently and are non-
volatile.
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. Typically, a failover is automatic and handles
abnormal situations without human interference. In a failover system when primary server
fails the standoy server is made primary. In a switchover system the primary and the
secondary server interchange the primary role. Critical systems typically allow for failover to
take place on system failure so as to provide reliability and continuous availability.”>
* Failover. (2014, June 25). In Wikipedia, The Free Encyclopedia. Retrieved 18:07, November 23, 2014,
from http://en.wikipedia.org/w/index. php ?title=Fallover&oldid=614395973Software deployment
1.1.14 Strategies for managing releases and updates
Exit skills. Students should be able to
Dn Cea oe Cou s
re eee ue Curae Cee Ro
Pe ere cee ete
There are several ways in which updates can be made available. First of all, most of the
times the purchasing of a product means access to free online updates, released by the
company. There are automatic updates that function through the net. These types of
updates usually aim to improve the product, fix various deficiencies or perform minor
changes. When the company decides that it no longer wishes to support software and
wishes to promote a newer version, it stops releasing updates (the life cycle of the new
system having started some time before).
* 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 always contain novel functionalities or characteristics, as well cumulat
bug fixes. In most cases upgrades need to be bought.”
* Updates improve a product in a minor way by adding new functionalities or fixing
known bugs. In most cases updates are free.””
* 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.**
*® patch (computing). (2014, November 11). In Wikipedia, The Free Encyclopedia. Retrieved 18:08,
November 23, 2014, from
http://en.wikipedia.org/w/index.php?title=Patch_(computing)&oldid=633351269
*” What is the difference between and Upgrade and an Update? (n.d.). Retrieved November 23, 2014,
from http://www.enfocus.com/en/support/knowledge-base/what-is-the-difference-between-an-
upgrade-and-an-update/
** Release, (n.d.). Retrieved November 23, 2014, from
http://searchsoftwarequality.techtarget.com/definition/releaseExample 1.11:
Question: State two stages of the “data migration process”,
‘Answer: Plan and validate
Example 1.
Question:
‘Answer: Alpha testing takes place inside the company which develops the software
while beta testing includes selected users that are not employees of the software
company and test the software in their premises.
tate one difference between “alpha” and “beta testing”.
Example 1.
‘Questior
1oes a programmer needs a computer to conduct “dry run testing”?
‘Answer: No, because dry run testing is conducted manually using a pencil and a
Paper in most cases.
Example 1.
Question:
tate one difference between “internal” and “external” documentation.
Answer: Internal documentation facilitates programmers while external
documentation focuses on the user of the product.
Example 1.15:
Question: state one major advantage of “formal classes”
‘Answer: Direct interaction with the expert allows immediate answer to students’
questions without any technical communication barrier.
Example 1.16:
Question: State three methods that can be used to prevent “data loss”.
Answer: Regular backup of files using hard disks or tapes, online auto save backup,
Data storage in two or more locations (offsite storage).1.2 System design basics
Components of a computer system
1.2.1 Hardware, software, peripheral, network, human resources
Exit skills. Students should be able to":
Nee uu eu eS OC Aa
COU cs os
eo
ae
BO)
Image 1.9: Hardware, software & network
Computer hardware: The physical elements of a
computer, e.g. screen, CPU etc.
Software: A series of instructions that can be
understood by a CPU. These instructions gi
the CPU to perform specific operations.
Software is comprised of both programs and
data.”
le
Peripheral device: any auxiliary device that can
communicate and work a computer. For
example: input/output devices, printers, etc. A
peripheral device extends the capabilities of the
computer system it is connected to. The
peripheral is not a core, essential, part of the
computer."
Computer Network: 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: People who are used or
could be used in an organization, business or
economy.
** software. (2014, November 19). In Wikipedia, The Free Encyclopedia. Retrieved 18:09, November
23, 2014, from http://en.wikipedia.org/w/index php?title=Software&ol
6344915681.2.1 The roles that a computer can take in a networked world
ere ESOC Ua ed
Define client, server, email server, DNS server, router and firewall.
Describe the different roles that a computer can take.
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.
‘A dumb terminal is a device that 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.
A thin client is a relatively low performance terminal, which heavily but not entirely,
depends on the server to which it is connected.
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.
An email server is the 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.
A router is a networking device that 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.
‘A Domain Name System Server attributes names to network addresses and therefore
resolves names by assigning them to the appropriate network entity (a resource that is part
of the network). A DNS server allows you to type names into the address bar of your web
browser like “mitedu” and the web browser automatically finds that address on the
Internet. The Domain Name System is a 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.
A firewall is a 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 2
network. The ideal firewall system configuration consists of hardware and software
components.A client-server refers to a 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. "7°
SS
Figure 2.3: Client Server example”
{Example 1.17: Figure 1.5 depicts a client server example that includes a client
computer running 2 web browser (Internet Explorer, Firefox, Chrome etc.) and a
server computer running a database server. The user on the client computer needs
to access the bank central server. In order to do that, the web browser of the client
sends a specific request to the web server of the bank. The web server receiving the
request needs to access the central database of the bank and sends its own request
through the database client. The requested information is then returned from the
central database to the database client and from the web server to the client
through the web browser.
1.2.3 Social and ethical issues associated with a networked world
ree Cee
CI era ey eee ee uc Ua
Pee eu kt ec cr ieee]
ners
Explain the effects that are associated with continued developments in IT.
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 be
affected an sometimes difficult to identify the person who is to be held responsible. An
° client-server model. (2014, October 7). In Wikipedia, The Free Encyclopedia. Retrieved 18:09,
November 23, 2014, from
http://en.wikipedia.org/w/index.php?title=Client%42%80%93server_model&oldid=628622834
* Experts you should follow. (n.d.). Retrieved November 23, 2014, from
http://www.wikianswers.com/Q/In_a_client_server_environment_what_is_a_serverintroduction of a new system may affect the life of thousands, millions, or even billions of
users (take for example the Internet). The IT subjects of social and ethical significance are”:
Reliability, which 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, which 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 (e.g. telephone field)
Security, which 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, which 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, which is the 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 ete.
+ Intellectual property, which refers
Image 1.10: Anonymity 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 seme 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.
2 1BDP, 2010, ITGS Suide, International Baccalaureate Organization,
2 Multifactor authentication, (2014, November 6). In Wikipedia, The Free Encyclopedia, Retrieved
18:12, November 23, 2014, from http://en.wikipedia.org/w/index.php?title=Multi-
factor_authenticat on&oldid=632725562Useful Information Multi-factor authentication (MFA) is an authentication
technique used to control computer access. A user can enter by ex!
authentication factors from at least two of the three categories:
Surveillance, which 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.
+ Something you know. Knowledge factors ("things only the user knows"),
passwords
* Something you have. Possession factors ("things only the user has"), ATM
cards
+ Something you are. Inherence factors ("things only the user is"), biometrics
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, private groups or
individuals are developers of various IT policies. The fast pace of Information
Technology progression means policies often quickly made obsolete.
Example 1.18:
Question: Is it possible to use two or more authentication methods to control a '
computer access? q
Answer: Yes, multifactor authentication technique is used when there is a need for
advanced security.The following tables
Standards and Protocols, which are predefined technical rules and conventions that
developers of hardware and software should follow. Standards and protocols allow
for compatibility, facilitate communication and interoperability. They are needed to
ensure different systems are compatible with each other (examples: GIF, USB, ASCII
etc.).
People ond machines. Internet addiction is a social impact. The use of Al in military
concern, This subject
or law-enforcement situations is also an issue of so
analyzes all aspects of the interaction between IT and humans.
ital Citizenship, which 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.
Grassy
Sec
Cores
ee
accountability
policies
area
Sad
Berar
Pe ced
Penne tie
eee tcas
eiesc sis
Figure 1.4: A possible diagram to be used when anlysing different CS and IT scenerios
strate some very simple examples. An IT system has pros and cons.
Constant exposure to communication * Citizens better informed about the
technology world
Internet + Email, WWW
Use of smartphones + Use of useful applications (GPS
* Easier communication in emergencies
application for example)
Gaming * Better hand-eye coordin:
Qn
Mobile phones (children, elderly)
+ Easier communication with family
+ _ Easier communication in emergencies
Constant exposure |* Psychological impacts such as stress, poor concentration and
‘to communication short attention span
technology
Obstacle to personal one-to-one relationships+ Neglected real life
+ Social media obsession
+ Anxiety
+ Increasing expense of hardware
+ Lower levels of concentration because of lack of sleep
Gaming addiction | + Social desensitization
+ _ Neglected education and personal development
Overuse of mobile |* Possible health consequences
phones . je car accidents
Internet addiction
Use of smartphones
Example 1.19:
Question: There is a vast amount of scientific information and educational material
available on the WWW. Discuss the advantages and disadvantages of students
having unrestricted and unsupervised access to a PC that is connected to the
Internet.
Answer:
© Pros:
' © Allows students to learn at their own speed
© Allows students to access information to help with their studies
Allows students to access educational videos, podcasts, etc.
Facilitates communication
© Cons:
© Some sites do not give accurate information
© Some sites encourage and facilitate illegal or inappropriate
activities (illegal downloading of videos, photos or music, ordering
drugs, watching pornography)
‘© Some sites facilitate plagiarism or cheating
‘© Usually students that spend too much time on the Internet are
deprived of “real” social contact and social skills
© Typing and using the computer display for prolonged periods of
time may cause health problems such as RSI or eye problems
System design and analysis
1.2.4 Relevant stakeholders when planning a new system
Exit skills. Students should be able to
Cec eS eC eC a
eee ecu Scare acu hue Cu Cau
CR RC LR Macs cM CA cc A eR cb ssc cheStakeholders are individuals, teams, groups or organizations that have an interest in the
realization of a project or might be affected by the outcome of a project™. So, any person
who has interests in an existing or proposed information system can be described as a
stakeholder of the system. The end-user is the person who is going to use the product. A
relevant stakeholder can also be a frequent user of the current system. He/she will be able
to identify flaws and errors of the current system or inconveniences that he/she has spotted.
He/she will be able to propose some improvements that will be crucial to the update of the
system. The manager or supervisor of the procedure that the system performs may also
have some comments. Specialists who have dealt with a similar situation in the past can be
asked for their advice.
Example 1.20: .
Question: Most university students have computers Internet access. The
WWW can be a useful resource when researching educational information for
classwork and homework and can be used to communicate by chatting online.
Discuss possible advantages to university students when chatting online.
Answer: One possible benefit for university students using the Internet for
chatting online is that they can exchange ideas, ask other students or scientists
questions about courses and lectures, and get answers or clarifications. Also, other
students may suggest useful sites to find educational material and scientific
information. Chatting on-line fac tes making acquaintances and connections
from all over the world (social and business networking). In most countries it is
considered a cheaper way of communication than using the telephone, since if the
user’s home equipped with a broadband connection, a fixed amount is paid to
the Internet Service Provider (ISP) regardless of how long the user spends o1
(connected to Internet). ,
1.2.5 Methods of obtaining requirements from stakeholders.
EOC Coen ena
DT ee ee esa
DD Ea Ua CU eu Rc ee
STR Ue Cue Se an ea od ecu tte
* How to Identify stakeholders. (n.d.). Retrieved November 23, 2014, from
http://www. prince2.com/blog/how-identify-stakeholdersfor a planned system, will involve”:
Gathering various details about an existing system and obtaining stakeholder requirements
+ Interviewing stakeholders. An interview is a 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.
Image 1.12: Interview
An interview is a __ time-consuming
conversational process that allows the
interviewer to clarify questions and to observe
verbal and non-verbal behaviors of the
stakeholders. A disadvantage is that
unstructured interviews often yield data too
difficult to summarize, evaluate or perform
any form of statistical analysis on them.
* The use of questionnaires is 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 fai
fates statistical analysis,
tabular presentation of data, and summarizing processes.
Image 1.13: Questionnaire
Open or unrestricted questionnaires involve
free response questions but allows for greater
depth of responses from the stakeholder. Such
a questionnaire is difficult to interpret or
summarize and makes statistical analysis
impossible,
Questionnaires guarantee uniformity of
questions and therefore yield data that is easier
comparable than information obtained through
pata Tools. (n.d.). Retrieved November 23, 2014, from
http://www. okstate.edu/ag/agedcm4h/academic/aged5980a/5980/newpage16.htm
*© survey methodology. (2014, August 18). In Wikipedia, The Free Encyclopedia, Retrieved 18:13,
November 23, 2014, from
nttp://en. wikipedia. org/w/index. php2title=Survey_methodology&oldi
621707547an interview. It is a time-saving, cost-efficient method to obtain data and reach a lot
of stakeholders quickly. However, respondents’ motivation is difficult to assess and
stakeholders may not respond at all, answer only some questions, or misinterpret
the question.
* Direct observation of current procedures 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
familiarizes 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.
However, people sometimes change their behavior when they know they are
observed. The term “Hawthorne effect” is used to describe situations where workers
better perform when they know that they are participating in an observation
process.”
Example 1.21;
Question: Suppose a supermarket wants to develop a new system for online
ordering with free delivery. Who are the stakeholders?
‘Answer: System owners, system users (clerical employees, service workers,
technical staff, professional staff, customers, suppliers), system designers (security
experts, detabase administrators, web architects), system builders (application
programmers, network administrators), system analysts, system testers, etc.
1.2.6 Appropriate techniques for gathering the information needed to arrive at a
workable solution
eC EL noe
Det ee Ue RnR cect ae
Dee aC eu Rn te cL ea cee Ly
products, organizational capabilities and the use of literature searches.
DE EL SaecUuRu keane ue aaa tee eae uae
Examining current systems is a process that involves the detailed examination of the current
system, analysis of its functions and procedures, studying the business and system
7" Hawthorne effect. (2014, November 9). In Wikipedia, The Free Encyclopedia, Retrieved 18:14,
Novernber 23, 2024, from
hetp://en.wikipedia.org/w/index.php?title-Hawthorne_effect&oldid=633077463documents such as current order documents, logistics documents, and computer systems
procedures and reports used by operations and senior managers.
‘According to Auston et al (1992) literature search refers to the identification, retrieval and
management of various sources in order to find information on a topic, areas that might be
interesting for further studies, derive conclusions, as well as develop guidelines for
practices.”*
Nowadays the most efficient way to identify published studies and to search for specific
information is with the use of online databases, search engines etc.
Examining competing products may include the 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.
Example 1.22:
Question: Compare unstructured interviews and restricted questionnaires as
methods of data collection.
Answer:
interviews Questionnaires '
‘More complete data can be collected | A lot of people can be reached in a '
short period of time ;
itisa time consuming method A lot of employees may not respond '
Clarifications may be given’ Easy to perform statistical analysis
Example 1.23:
Question: State three possible ways to conduct surveys.
Answer: Online, face-to-face and telephone surveys.
During the analysis and design phases all critical organizational capabilities that are essential
to support effective planning and developing of the new IT system should be identified. A
successful IT system should result in a competitive advantage. According to Hall (2011)
organizational capabilities such as sense-making, decision-making, asset availability, and
operations management are completely associated with effective implementation of an
information system, which in turn positively affects organizational performance. Information
systems used in modern companies play a critical role and most companies use data and
* Jone Auston, MLS, Marjorie A. Cahn, MA, Catherine R. Selden, 1992, MLS, National Library of
Medicine, Office of Health Services Research Information, prepared for Agency for Health Care Policy
and Research, Office of the Forum for Quality and Effectiveness in Health Care, Forum Methodology
Conference, December 13-16, 1992. Retrieved November 23, 2014, from
http://www.nim.nih.gov/nichsr/litsrch. html,information as assets to gain competitive advantage. We should keep in mind that a modern
information system should be planned to”:
+ increase client trust
‘* preserve brand strength
* preserve organization reputation
* maintain corporate resiliency
* enhance organizational piece
1.2.7 Suitable representations to illustrate system requirements
SOC eae
DO OCU ou cee eat Re eee iy
Rear,
DE en CU ou eee ues a eet
Suggest the optimal way to represent 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. It is included within the system analysis and may be later used to test the system,
after implementation, in order to evaluate it.”
Before proceeding with the various representations that are used to illustrate system
requirements, itis very useful to examine the types of processing.
Types of processing: According the IBDP Computer Science Guide (2004)’ there are three
types of processing. The following table contains the equivalent definitions:
Data processing performed by a single processor
OT) | through the use of equipment that it controls. For
example: airline reservation.
Data processing performed on-the-fly in which the
eae eae generated data influences the actual process taking
place. For example: aircraft control.
Data processing performed on data that have been
ee eee composed and processed as a single unit. For example:
payroll.
Exar
ing Impacts of Organizational Capabilities in Information Security: 2011, A Structural
Equation Modeling Analysis by Hall, Jacqueline Huynh, Ph.D., THE GEORGE WASHINGTON.
UNIVERSITY, 2011, 204 pages; 3449269. Retrieved November 23, 2014, from
http://gradworks.umi.com/34/49/3449269. html{Example 1.24:
Question: State two applications of real time processing. ,
Answer: Aircraft control, heart-rate monitoring.
System flowcharts’
‘A system flowchart refers to the description of a data processing system, including the flow
‘of data through any individual programs involved, but excluding the detal
programs. System flowcharts are frequently constructed during analysis activities and
represent various computer programs, files, databases, associated manual processes, etc.
They are able to show batch, real-time and online processing, and they are the only way to
refer to hardware.
of such
[ACTION OR PROCESS | INPUT OR OUTPUT DEVICE DOCUMENT
"ANNOTATION LINES CROSSING LINES JOINING
DATA FLOW aed DATA FLOW
—— —_ se
—
——— ———
TAPE DISK ‘ONLINE STORAGE
COMMUNICATION LINK (TWO WAY UNLESS INDICATED)
— T_T
‘Table L.A: System flowchart symbolsExample 1.25: The following system flowchart describes the hardware and software
components of a system that is used to extract upcoming client birthdays from an
online database. A computer program, “Calculate”, reads the clients’ file (“Clients”)
from the online database and writes the names to a new online file called “Birthday”.
The date is entered through a keyboard. All errors are sent
monitor.
an error report to a
Birthday/
online
database
Clients/online
database
Example 1.26: (System flowchart) During the preparation of the monthly payroll run,
the hours of each employee are entered through a keyboard. A validation and a
verification process takes place. The name of this process is “Check”. After this
process data is stored in a transaction file on a local hard disk. If the “Check” process
finds errors an error report is sent to a monitor. The “Calculate” program reads the
transaction file and updates the master file, held on an online magnetic disk. All
transfer details are stored on a magnetic tape and all pay slips are printed. A printout
for each employee is created.
Hours/keyboard
Error report/
monitor
Transaction
file/hard disk
Calculate
Pay slips /printer
Master
file/ on line
storage
Printouts for each
employee
Transfer
details/
tapeeee
Data Flow Diagrams (DFD)
'A DFD may usually be used to describe the problem to be solved (analysis). A DFD shows
how data moves through a system and the data stores that the system uses. A DFD does not
specify the type of the data storage and the type of data.
Preis Bi
cess
es jon performed on the data
Data flow
Direction of data flow Name
NOUN
Data store ————_
File held on disk or a batch of documents Details
NOUN a
External entity
Data source or destination panon
NOUN
Example 1.27: (use of a DFD). Drivers can apply to renew their driving license using a
specialized national web site, Drivers input their personal details and various checks
are made to ensure that the driver has all necessary qualifications (age and medical
examinations). If the results are acceptable the online application is approved
otherwise itis rejected.
Drivers with valid age
valid or invalid Driver details
Check age and
examinations
Result of
Driver Driver
Details
application
Drivers with valid
medical examin '
Structure charts
‘A structure chart describes functions and sub-functions of a system, as well as the
relationships between modules of a computer program. The organization of a structure
chart is straightforward, allowing the analyst to split a large problem into smaller ones. Each
module performs a specific function and each layer in a program performs specific activities.
‘A structure chart makes the modular design development much easier.
Modular design is the process of designing system modules individually and then com!
the modules to form a solution to an overall problem.Example 1.28: (use of a DED), Students applying for a scholarship complete an online!
application form. The institution checks the student’s marks with the help of an
external consultant and contacts the student's school to confirm their grades. A |
decision is then made to approve or decline the scholarship application, :
External consultant database
The following terms ar
previous CS 1B gi
Mark details
Student Approve Student
or not
Confirmation of marks J student's details
School's database
closely related to modular design and were present in the
le (2004):
Top-down design or “stepwise refinement” is a software design and problem solving
technique that involves the partition of a problem into smaller sub-problems. Each
sub-problem is further broken down until all sub-problems are detailed enough and
no more partition is required. Programmers are able to attack its sub-problem and
develop the equivalent programming code.”
Pseudocode is an artificial language that is not directly related to any particular
hardware and is used to describe algorithms. Pseudocode does not follow the
grammar of any specific computer language and requires conversion to a computer
language before the resulting program can be used.”+ Module is a complete and independent part of a program or an alg
+ Modular programming or “Modularity” is the method of partitioning a computer
program into separate sub-programs. The main advantage is that each sub-program
can be easily modified and maintained without the necessity to alter other sub-
programs of the program.”
* Modular language is a language that supports modular programming, i
Example 1.29:
‘Question: state two high-level computer languages that support modular
Answer: Java, JavaScript.
1.2.8 Purpose of prototypes to demonstrate the proposed system to the client
eee Cee eo
Explain the need of prototyping during the design stage
Describe the need for user/client feedback.
PR eee R cui ac kee caine
There are many advantages to creating @
prototype. A prototype is either a working
‘or non-working preliminary version of the
final product or a simple version of the final
system that is used as part of the design
phase to demonstrate how the final product
will work.
A prototype:
© Attracts the attention of the client,
since it encourages them to use it and “get a
feel for it”
+ Provides just enough of the concept
Image 1.14: Prototype creation
for the investors to decide if they want to
fund the full production or not
© Encourages active participation between users and developers
‘© Gives an idea of the final product
+ Helps in the identification of problems with the efficiency or the design
© Increases system development speedExample 1.30:
Question: A robot company develops various robotic systems. In most cases a test
prototype is produced.
needed, and a situation where the development of a prototype will not help
r
' 1. Suggest a situation where the development of a prototype is justified and
4 2. Suggest an alternative testing method
Answer: Answers may include:
1.a. A prototype will help: Robotic cleaner, robotic kit (LEGO NXT), robotic
lawnmower, security robots. Justification: All these robots would be developed |
for sale to the general public in large quantities; all these can be produced easily, |
' 1.b. A prototype will not help: A robot that will carry out dangerous task:
| nuclear reactor, a robot that will be used in a specific space mission. Justification:
| Immediate need, time and money taken to produce and test a prototype may be
| considereble, special operational circumstances unable or too dangerous to be
reproduced.
1 2, Computer simulation that will be based on detailed mathematical models. Use
\__ of the computer simulation for testing purposes.
| Explain the importance of iteration during the system and software TTC
Explain the importance of iteration during the design process.
Iteration refers te the repetition of a set of instructions for a specific number of times or
until the operations yield a desired result’. It is impossible to design a system, an interface or
software that has no initial functional or usability problems. During the design process, the
designers of the product may have to step back several times and reconsider choices they
have made. Even the best designers cannot design perfect products in a single attempt, so
an iterative design methodology should be adopted. As they proceed to decide how the
product will finally look and function, they may stumble on several difficulties or
inconsistencies that will force them to return to previous steps or versions and modify them,
or even start the process from the very beginning. Iterative development of software
involves steady imorovement of the design based on various evaluation and testing methods
(e.g. user testing). Hence, to make sure that everything works as it should, the producer may
have to run through the process again and again.Useful Information: It
design” by Jacob Nielsen. Originally published in IEEE Computer Vol. 26, No. 11
(November 1993), pp. 32-41. ;
a good idea to read the article: “Iterative user interface
http://www.nngroup.com/articles/iterative-design/
1.2.10 Possible consequences of failing to involve the end-user in the design
process.
Coe
Pretec cia esc ced ols
For a system to be successful, the analysis and the design must involve all key stakeholders
including the client (the person or organization paying for the project) and the end users
(people who will use the system). Involvement, collaboration and active participation are
critical because a project with poorly-defined stakeholder goals is unlikely to be successful.
The developed system may either solve a different problem, or deal with issues that are
outside of the project’s scope.
Example 1.31:
Question: A school saves its student records and files on paper, which are kept in file
cabinets. The school hires a system analyst to help on the computerization and
‘automation of the file storing process. Explain why the school administration has to
work together with the analyst to define the problem accurately.
‘Answer: The school administrator is the expert on the problem, while the system
analyst is the computer expert and responsible for the analysis phase. Both parties
need to collaborate to come up with a clear and precise definition of the problem.
They have to predefine the outcomes and the criteria of success so that when the
a concrete set of criteria to use for evaluation.
system is realized ther
4.2.11 Social and ethical issues associated with the introduction of new IT
systems
Bree ee Ce Le te
Explain the importance of the introduction of new IT systems.
PON eee RCS oe Aue auc
eee ea eee eet RMS Ea