Topic 1 - System fundamentals

1.1 Systems in organizations

Planning and system installation

1.1.1 Identify the context for which a new system is planned

Before a system is designed, it needs to be identified as to what the system should do. This is the job of the systems analyst. A systems analyst looks at the existing system and tries to observe how it works. This can be done by surveying the workforce, interviewing staff, observing how the current systems works, and by looking into the documentation used and produced by the system.

Once the current system and been evaluated and understood, the systems analysts will propose a new system to be created and implemented based on the needs of the company. This new system will be presented to the company in the form of a feasibility report, which they will then consider before moving ahead.

The feasibility report will include: what existing infrastructure from the existing system can be used? What requirements on hardware and software will the new system have? What training would need to be in place in order to ensure the existing staff can adapt to the new system. Are there any ethical issues resulting, for example, will the new system make people unnecessary, leading unemployment?

1.1.2 Describe need for change management

Without a proper plan on how the new system will successfully replace the old system, many factors will need to be considered:

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

Rarely any two businesses in the world use the exact same systems. So, when two businesses merge, it is a major issue to get their systems to work together. Some issues are listed below:

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

Software as a Service (SaaS): The client does not run its own computer system to handle operations, but lends servers from the software manufacturer that are managed and maintained by the software manufacturer. A great example is SAP.

Advantages: Disadvantages:

1.1.5 Evaluate alternative installation processes

Parallel running: run both the new and the old system at the same time.

Advantages: Disadvantages: Advantages: Disadvantages:

Phased implementation: the old system is being replaced part by part by the new system

Advantages: Disadvantages:

Direct changeover: the new system replaces the old one “over night”

Advantages: Disadvantages:

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

1.1.7 Suggest various types of testing

Testing is very important in developing a computerized system, as it tries to ensure that the system works as expected. A system that does not work as expected (it is buggy) greatly reduces productivity and end user satisfaction.

Testing is usually done in two stages: before the system is delivered and after it has been set up. Testing in the first stage is often referred to as Alpha testing, while testing in the second stage is often referred to as Beta testing.

Alpha testing involves the engineers who develop the system testing it with data similar to real data while beta testing involves testing by real users with real data.

Different types of testing can be:

User focus

1.1.8 Describe importance of user documentation

User documentation is a crucial part of a system as it is the document that explains the working of the system to the user. A well-made user documentation guides the user through using the system and thus increases productivity. If the user documentation is simple, system implementation can happen faster because users require less training to learn how to use the new system.

Users are non-technical people, they only need to know how to use the system. Therefore, the user documentation does not involve detailed explanations of how the system works.

A user documentation usually involves:

1.1.9 Evaluate different methods of user documentation

There are different ways to provide user documentation:

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

Advantages: Disadvantages:

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

Advantages: Disadvantages:

Printed manuals: manuals printed on paper and supplied together with the system.

Advantages: Disadvantages:

1.1.10 Evaluate different methods of delivering user training

Training staff in using a new system is very important as productivity greatly depends on how familiar users are with a system. Therefore, good user training is an essential part of introducing a new system.

Self-instruction: users reading a manual or watching a tutorial, or randomly doing something in the system to figure out how it works. This type of training is usually accessed by more experienced users who may have more confidence.

Formal classes: users sitting in a classroom listening to an instructor who demonstrates how to use the system. This type of training is useful to train large amounts of staff as it is effective and relatively cheap, but if the size of the classes is too big, there is little time to deal with individual problems and questions.

Remote/online/personal training: an instructor training a single user either by being in the same room or by some kind of remote connection (Skype, chat). This is the most effective way of training as training can be suited to user's needs and abilities but is very expensive compared to other types of training.

System backup

1.1.11 Identify a range of causes of data loss

1.1.12 Outline the consequence of data loss in a specified situation

Example: Example: A hotel recently implemented a computerized system to manage room reservations. Reservations can be made through the web-page of the hotel or via phone. All the reservations with customer, room and reservation details are stored in a database. After a while one of the hard disks fails.

Had the hotel relied on storing reservation details only on that hard disk, all the reservations would be gone now, and the hotel would have no way of knowing who had a reservation or how much each of their customers owed. They would also be unable to make more reservations until a new hard drive is acquired.

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

Regular back ups: By copying all sensitive information on to a different medium than the one used in the system, like a second hard disk or CDs, the risk of data loss can be reduced significantly. By storing data in a variety of way and at various locations, data loss due hardware failure or malicious activity can be prevented. In the case of very sensitive information of large companies like Google, information is often duplicated on servers separated by large distances and in different climates to reduce the chance of data loss due to environmental causes such as tornados or earthquakes.

Making hard copies: In some cases, information such as books, texts, important contracts and papers can also be printed out and archived. However, creating hard copies can be expensive and take up a large amounts space. Hard copies are also vulnerable to data loss, such as in the case of fire, flooding or natural disasters.

Software deployment

1.1.14 Describe strategies for managing releases and updates

Automatic updates: the system checks automaticall for updates over the internet from time to time. If updates are available, they are downloaded and installed automatically.

Advantages:

Disadvangates:

Manual updates: the software manufacturer contacts every user about the new update and supplies the installation package to him to be installed.

Advantages:

Disadvantages:


1.2 System design basics

Components of a computer system

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

Hardware: anything within a computer you can physically touch.

Software: the collection of programs and instructions that control the computer. Things within the computer you cannot touch.

Peripheral: the input and output devices attached to the computer that allow it to interact with its environment and exchange information.

Input peripherals:

Output peripherals:

Network: two or more computers connected together in some way to share resources, such as documents or files and printers.

Human resources: the humans operating the computers

1.2.2 Describe the roles that a computer can take in a networked world

Client: a computer accessing resources hosted by an other computer, the server. Resources could be documents, printers, scanners etc.

Server: a computer hosting resources to be shared across the network, like documents, printers etc.

A computer can be both client and server in a network at the same time!

DNS Server: a special type of server mapping web addresses to IP addresses allowing us to surf the web without having to look up the IP address of every website they want to visit.

Router: a computer routing network packages between two networks usually using a different medium for information transfer, like phone cables or glass fibre connections.

Firewall: a computer or software package monitoring and protecting the network traffic of a computer or computer network. It decides which computers get access to the network or computer based on a set of rules. It can be looked at as an analogy to the bouncer in a disco.

1.2.3 Discuss the social and ethical issues associated with a networked world

System design and analysis

1.2.4 Identify the relevant stakeholders when planning a new system

Who will be involved in the system?

1.2.5 Describe methods of obtaining requirements from stakeholders

Observation: involves systems analyst walking around the organisation watching how things are done with his/her own eyes. Advantages:

Disadvantage:

Interviews: Involves the systems analyst interviewing key people within the system to find out how it works.

Advantages:

Disadvantages:

Questionnaries: involves the systems analysts handing out questionnnaries for people to fill out.

Advantages:

Disadvantage:

Collecting documents: involves the systems analysts looking in the documents in the archive to try to find out how the present system works

Advantage:

Disadvantage:

1.2.6 Describe appropriate techniques for gathering the information needed to arrive at a workable solution

To be completed

1.2.7 Construct suitable representations to illustrate system requirements

System flow chart: diagram representing how different parts of the system are linked together and how the system should work in general.



Data flow diagram: diagram representing how information moves through the system together with identifying all relevant inputs and outputs to the system.



Structure chart: diagram representing the organization of a system, usually in hierarchical order.



UML is NOT required

1.2.8 Describe the purpose of prototypes to demonstrate the proposed system to the client

Prototypes are abstract representations of the system, often focusing on only one or two key aspects. They are important in testing as each component of the system can be tested before implementing, and to illustrate the working of the future system to the client. An example of prototyping is a shipyard building a prototype of an icebreaker ship to test out different bow designs without having to spend large amounts of money building a ship with an eventual unworkable design. Prototypes in systems development are usually 'ghost' user interfaces illustrating the position of control elements to the user, or small programs developed to explore the working of a key algorithm in the system.

1.2.9 Discuss the importance of iteration during the design process

Designing and creating the system usually happens in 5 stages: Planning, analysis, design, implementation, maintenance. This iterative process happens during the entire product life cycle.



1.2.10 Explain the possible consequences of failing to involve the end-user in the design process

Off-the-shelf software ↔ Tailored software

1.2.11 Discuss the social and ethical issues associated with the introduction of new IT systems

Human interaction with the system

1.2.12 Define the term usability

Usability is the property of a system that determines how easy and self-explanatory the use of the system is for unexperienced end-users. It usually measures ergonomics and accessibility of the system.

Usability depends on:

1.2.13 Identify a range of usability problems with commonly used digital devices

1.2.14 Identify methods that can be used to improve the accessibility of systems

Accessibility defines how the system can be accesses for information exchange and operation. This usually involves a keyboard, mouse and a screen. However, for some people using these methods to access the system is difficult or impossible.

Ways to improve accessibility of a system:

1.2.15 Identify a range of usability problems that can occur in a system

1.2.16 Discuss the moral, ethical, social, economic and environmental implications of the interaction between humans and machines




Content originally created by Matyas Mehn and adapted/updated with permission under the Attribution-Share Alike licence.