Location via proxy:
[ UP ]
[Report a bug]
[Manage cookies]
No cookies
No scripts
No ads
No referrer
Show this form
Open navigation menu
Close suggestions
Search
Search
en
Change Language
Upload
Sign in
Sign in
Download free for days
0 ratings
0% found this document useful (0 votes)
71 views
Computer Science Book
Uploaded by
somali
Copyright
© © All Rights Reserved
Available Formats
Download as PDF or read online on Scribd
Download now
Download
Save Computer Science Book For Later
Download
Save
Save Computer Science Book For Later
0%
0% found this document useful, undefined
0%
, undefined
Embed
Share
Print
Report
0 ratings
0% found this document useful (0 votes)
71 views
Computer Science Book
Uploaded by
somali
Copyright
© © All Rights Reserved
Available Formats
Download as PDF or read online on Scribd
Download now
Download
Save Computer Science Book For Later
Carousel Previous
Carousel Next
Save
Save Computer Science Book For Later
0%
0% found this document useful, undefined
0%
, undefined
Embed
Share
Print
Report
Download now
Download
You are on page 1
/ 399
Search
Fullscreen
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: inquiries@expresspublishing.co.uk 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. {kdimitriou@haef.gr} 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. {markosh@haef.gr} 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
You might also like
Computer Science Notes
PDF
0% (1)
Computer Science Notes
36 pages
Answers Teachers Document (First Edition)
PDF
No ratings yet
Answers Teachers Document (First Edition)
148 pages
A Level CS CH 8 9618
PDF
0% (1)
A Level CS CH 8 9618
8 pages
Cambridge IGCSE (9-1) : Computer Science 0984/22
PDF
No ratings yet
Cambridge IGCSE (9-1) : Computer Science 0984/22
2 pages
Use Only: Introduction To Object-Oriented Programming
PDF
100% (1)
Use Only: Introduction To Object-Oriented Programming
16 pages
Homework Answers So Far
PDF
0% (2)
Homework Answers So Far
64 pages
Maths For BCA
PDF
No ratings yet
Maths For BCA
7 pages
Computer Science Book
PDF
100% (1)
Computer Science Book
385 pages
Windows 10 With Office 2016: PM Publishers Pvt. LTD
PDF
100% (1)
Windows 10 With Office 2016: PM Publishers Pvt. LTD
176 pages
Class 9 Chapter 3
PDF
No ratings yet
Class 9 Chapter 3
15 pages
Lab Experiment # 06: Introduction To C++
PDF
No ratings yet
Lab Experiment # 06: Introduction To C++
7 pages
Class 11 Computer Science Study Material
PDF
No ratings yet
Class 11 Computer Science Study Material
56 pages
1.5 System Software
PDF
No ratings yet
1.5 System Software
71 pages
igcse_compsci_2ed_python_sol
PDF
No ratings yet
igcse_compsci_2ed_python_sol
138 pages
Library Function
PDF
No ratings yet
Library Function
6 pages
Computer Class 7th
PDF
No ratings yet
Computer Class 7th
11 pages
STD 12 Computer Chapter 3 Designing Simple Website Using KompoZer
PDF
No ratings yet
STD 12 Computer Chapter 3 Designing Simple Website Using KompoZer
5 pages
Proceedings of The International Conference On RASTEMS-2023
PDF
No ratings yet
Proceedings of The International Conference On RASTEMS-2023
267 pages
Section 1 Theory IGCSE ICT
PDF
No ratings yet
Section 1 Theory IGCSE ICT
7 pages
Python Basics to Advanced by Sardar Azeem (1)
PDF
No ratings yet
Python Basics to Advanced by Sardar Azeem (1)
122 pages
Computer System and Network
PDF
100% (3)
Computer System and Network
245 pages
IG - Computer - Science - Paper - 2 - Exemplar - Responses
PDF
No ratings yet
IG - Computer - Science - Paper - 2 - Exemplar - Responses
36 pages
Computer Answer Key 7
PDF
No ratings yet
Computer Answer Key 7
37 pages
1.1 Algorithms
PDF
No ratings yet
1.1 Algorithms
68 pages
Sumita Arora - : Database, SQL
PDF
No ratings yet
Sumita Arora - : Database, SQL
316 pages
Data Base PDF
PDF
No ratings yet
Data Base PDF
95 pages
Practical File (Adarsh)
PDF
No ratings yet
Practical File (Adarsh)
53 pages
10.4 Abstract Data Types ADTs (M.T-L)
PDF
No ratings yet
10.4 Abstract Data Types ADTs (M.T-L)
22 pages
Computer Architecture Module Hand Book-Ca - June 6th (Sent ToRam Sir On 6th)
PDF
No ratings yet
Computer Architecture Module Hand Book-Ca - June 6th (Sent ToRam Sir On 6th)
23 pages
Class 5 L-3 Objects in Word 2016
PDF
No ratings yet
Class 5 L-3 Objects in Word 2016
23 pages
Mark Scheme h446 02
PDF
No ratings yet
Mark Scheme h446 02
29 pages
Syllabus Basic Computer Instructor
PDF
No ratings yet
Syllabus Basic Computer Instructor
2 pages
ICT-Test For CH 1-2-QP
PDF
No ratings yet
ICT-Test For CH 1-2-QP
11 pages
Error Worksheet
PDF
100% (1)
Error Worksheet
4 pages
Computer Science Solved Past Paper For IGCSE EDEXCEL
PDF
No ratings yet
Computer Science Solved Past Paper For IGCSE EDEXCEL
4 pages
Cambridge International AS & A Level: Computer Science 9618/22
PDF
No ratings yet
Cambridge International AS & A Level: Computer Science 9618/22
94 pages
2021 - 19 The Bigger Picture CS Edexcel IGCSE
PDF
No ratings yet
2021 - 19 The Bigger Picture CS Edexcel IGCSE
10 pages
QUIZ Powerpoint
PDF
No ratings yet
QUIZ Powerpoint
20 pages
4CP0 02 Que 20201117
PDF
No ratings yet
4CP0 02 Que 20201117
24 pages
Cambridge O Level Computer Science: Pseudocode Guide For Teachers
PDF
100% (1)
Cambridge O Level Computer Science: Pseudocode Guide For Teachers
16 pages
Class 6th - Introduction To Python
PDF
No ratings yet
Class 6th - Introduction To Python
9 pages
Access 2003
PDF
No ratings yet
Access 2003
347 pages
Lecture 2-Variables, Data Types and Arithmetic Expressions
PDF
No ratings yet
Lecture 2-Variables, Data Types and Arithmetic Expressions
35 pages
Chapter 8 - Data Handling - Solutions of Computer Science With Python by Sumita Arora For Class 11 CBSE & NCERT - KnowledgeBoat
PDF
50% (2)
Chapter 8 - Data Handling - Solutions of Computer Science With Python by Sumita Arora For Class 11 CBSE & NCERT - KnowledgeBoat
56 pages
CCS 2101 Computer Programming 1 Question paperEEE& BED
PDF
No ratings yet
CCS 2101 Computer Programming 1 Question paperEEE& BED
5 pages
CBSE Class 10 Computer Science Worksheet (6) Practice Worksheet For Computers
PDF
No ratings yet
CBSE Class 10 Computer Science Worksheet (6) Practice Worksheet For Computers
10 pages
Computer Science 2026 2028 Syllabus
PDF
No ratings yet
Computer Science 2026 2028 Syllabus
56 pages
Assignment of Software Lab. On: (HTML, Java, Visual Basic & Site)
PDF
No ratings yet
Assignment of Software Lab. On: (HTML, Java, Visual Basic & Site)
44 pages
Problem Solving Using C
PDF
100% (1)
Problem Solving Using C
199 pages
CD Ict Worksheet La6 Form 5
PDF
No ratings yet
CD Ict Worksheet La6 Form 5
36 pages
Python 2D Lists CN
PDF
No ratings yet
Python 2D Lists CN
7 pages
Edexcel IGCSE ICT Chapter 1 (Digital Devices) - PDF - Graphical User Interfaces - Hard Disk Drive
PDF
No ratings yet
Edexcel IGCSE ICT Chapter 1 (Digital Devices) - PDF - Graphical User Interfaces - Hard Disk Drive
1 page
Computer Science Revision Worksheet
PDF
No ratings yet
Computer Science Revision Worksheet
8 pages
1.3.2 Computer Architecture Workbook by Inqilab Patel
PDF
No ratings yet
1.3.2 Computer Architecture Workbook by Inqilab Patel
35 pages
Computer Science Revision
PDF
No ratings yet
Computer Science Revision
17 pages
Practice Worksheet-Datatypes Answers Rushabh 8B6
PDF
No ratings yet
Practice Worksheet-Datatypes Answers Rushabh 8B6
3 pages
Grade 7 Practical Exercies
PDF
100% (1)
Grade 7 Practical Exercies
7 pages
C. Application Do Activity Sheet 3.1 Pg. 25
PDF
100% (1)
C. Application Do Activity Sheet 3.1 Pg. 25
19 pages
Computer Science IB Express 2015
PDF
No ratings yet
Computer Science IB Express 2015
399 pages
Computer Science - Kostas Dimtriou and Markos Hatzitaskos - Express 2015
PDF
No ratings yet
Computer Science - Kostas Dimtriou and Markos Hatzitaskos - Express 2015
399 pages
Related titles
Click to expand Related Titles
Carousel Previous
Carousel Next
Computer Science Notes
PDF
Computer Science Notes
Answers Teachers Document (First Edition)
PDF
Answers Teachers Document (First Edition)
A Level CS CH 8 9618
PDF
A Level CS CH 8 9618
Cambridge IGCSE (9-1) : Computer Science 0984/22
PDF
Cambridge IGCSE (9-1) : Computer Science 0984/22
Use Only: Introduction To Object-Oriented Programming
PDF
Use Only: Introduction To Object-Oriented Programming
Homework Answers So Far
PDF
Homework Answers So Far
Maths For BCA
PDF
Maths For BCA
Computer Science Book
PDF
Computer Science Book
Windows 10 With Office 2016: PM Publishers Pvt. LTD
PDF
Windows 10 With Office 2016: PM Publishers Pvt. LTD
Class 9 Chapter 3
PDF
Class 9 Chapter 3
Lab Experiment # 06: Introduction To C++
PDF
Lab Experiment # 06: Introduction To C++
Class 11 Computer Science Study Material
PDF
Class 11 Computer Science Study Material
1.5 System Software
PDF
1.5 System Software
igcse_compsci_2ed_python_sol
PDF
igcse_compsci_2ed_python_sol
Library Function
PDF
Library Function
Computer Class 7th
PDF
Computer Class 7th
STD 12 Computer Chapter 3 Designing Simple Website Using KompoZer
PDF
STD 12 Computer Chapter 3 Designing Simple Website Using KompoZer
Proceedings of The International Conference On RASTEMS-2023
PDF
Proceedings of The International Conference On RASTEMS-2023
Section 1 Theory IGCSE ICT
PDF
Section 1 Theory IGCSE ICT
Python Basics to Advanced by Sardar Azeem (1)
PDF
Python Basics to Advanced by Sardar Azeem (1)
Computer System and Network
PDF
Computer System and Network
IG - Computer - Science - Paper - 2 - Exemplar - Responses
PDF
IG - Computer - Science - Paper - 2 - Exemplar - Responses
Computer Answer Key 7
PDF
Computer Answer Key 7
1.1 Algorithms
PDF
1.1 Algorithms
Sumita Arora - : Database, SQL
PDF
Sumita Arora - : Database, SQL
Data Base PDF
PDF
Data Base PDF
Practical File (Adarsh)
PDF
Practical File (Adarsh)
10.4 Abstract Data Types ADTs (M.T-L)
PDF
10.4 Abstract Data Types ADTs (M.T-L)
Computer Architecture Module Hand Book-Ca - June 6th (Sent ToRam Sir On 6th)
PDF
Computer Architecture Module Hand Book-Ca - June 6th (Sent ToRam Sir On 6th)
Class 5 L-3 Objects in Word 2016
PDF
Class 5 L-3 Objects in Word 2016
Mark Scheme h446 02
PDF
Mark Scheme h446 02
Syllabus Basic Computer Instructor
PDF
Syllabus Basic Computer Instructor
ICT-Test For CH 1-2-QP
PDF
ICT-Test For CH 1-2-QP
Error Worksheet
PDF
Error Worksheet
Computer Science Solved Past Paper For IGCSE EDEXCEL
PDF
Computer Science Solved Past Paper For IGCSE EDEXCEL
Cambridge International AS & A Level: Computer Science 9618/22
PDF
Cambridge International AS & A Level: Computer Science 9618/22
2021 - 19 The Bigger Picture CS Edexcel IGCSE
PDF
2021 - 19 The Bigger Picture CS Edexcel IGCSE
QUIZ Powerpoint
PDF
QUIZ Powerpoint
4CP0 02 Que 20201117
PDF
4CP0 02 Que 20201117
Cambridge O Level Computer Science: Pseudocode Guide For Teachers
PDF
Cambridge O Level Computer Science: Pseudocode Guide For Teachers
Class 6th - Introduction To Python
PDF
Class 6th - Introduction To Python
Access 2003
PDF
Access 2003
Lecture 2-Variables, Data Types and Arithmetic Expressions
PDF
Lecture 2-Variables, Data Types and Arithmetic Expressions
Chapter 8 - Data Handling - Solutions of Computer Science With Python by Sumita Arora For Class 11 CBSE & NCERT - KnowledgeBoat
PDF
Chapter 8 - Data Handling - Solutions of Computer Science With Python by Sumita Arora For Class 11 CBSE & NCERT - KnowledgeBoat
CCS 2101 Computer Programming 1 Question paperEEE& BED
PDF
CCS 2101 Computer Programming 1 Question paperEEE& BED
CBSE Class 10 Computer Science Worksheet (6) Practice Worksheet For Computers
PDF
CBSE Class 10 Computer Science Worksheet (6) Practice Worksheet For Computers
Computer Science 2026 2028 Syllabus
PDF
Computer Science 2026 2028 Syllabus
Assignment of Software Lab. On: (HTML, Java, Visual Basic & Site)
PDF
Assignment of Software Lab. On: (HTML, Java, Visual Basic & Site)
Problem Solving Using C
PDF
Problem Solving Using C
CD Ict Worksheet La6 Form 5
PDF
CD Ict Worksheet La6 Form 5
Python 2D Lists CN
PDF
Python 2D Lists CN
Edexcel IGCSE ICT Chapter 1 (Digital Devices) - PDF - Graphical User Interfaces - Hard Disk Drive
PDF
Edexcel IGCSE ICT Chapter 1 (Digital Devices) - PDF - Graphical User Interfaces - Hard Disk Drive
Computer Science Revision Worksheet
PDF
Computer Science Revision Worksheet
1.3.2 Computer Architecture Workbook by Inqilab Patel
PDF
1.3.2 Computer Architecture Workbook by Inqilab Patel
Computer Science Revision
PDF
Computer Science Revision
Practice Worksheet-Datatypes Answers Rushabh 8B6
PDF
Practice Worksheet-Datatypes Answers Rushabh 8B6
Grade 7 Practical Exercies
PDF
Grade 7 Practical Exercies
C. Application Do Activity Sheet 3.1 Pg. 25
PDF
C. Application Do Activity Sheet 3.1 Pg. 25
Computer Science IB Express 2015
PDF
Computer Science IB Express 2015
Computer Science - Kostas Dimtriou and Markos Hatzitaskos - Express 2015
PDF
Computer Science - Kostas Dimtriou and Markos Hatzitaskos - Express 2015