Before a system is designed, it needs to be identified what the system should do. To do this is the job of the systems analyst. He looks at the existing system and tries to observe how it works. This can be done using surveys, interviewing users, observing them or by tracing how information is handled by looking at the documents produced by it.
Then the systems analyst must make an evaluation of the current system. What works fine, what doesn't? Based on this, he proposes a new system to be created that should work better than the old one, increasing productivity.
For this, the systems analyst has to factor in a number of things: what existing infrastructure from the existing system can be used? What requirements on hardware and software will the new system have? Are there any ethical issues resulting, for example will the new system make people innecessare, leading to loss of jobs?
Without a proper plan on how the new system will be implemented once it is designed the change from the old system to the new one will not be successful. Many factors will need to be regarded:
Rarely any two businesses on 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:
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.
Parallel running: run both the new and the old system at the same time.
Pilot running: run the system in only one part of business only (like in one supermarket of an entire chain)
Phased implementation: the old system is being replaced part by part by the new system
Direct changeover: the new system replaces the old one “over night”
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 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:
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.
Online support: Special web service hosted by the system's developer to provide user documentation.
Printed manuals: manuals printed on paper and supplied together with the system.
Training staff in using a new system is very important as productivity greatly depend 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 watchig a tutorial, or randomly doing something in the system to figure out how it works. This type of training is only suitable for experienced computer users as they are more confident to start using an unfamiliar system alone to figure out how it works.
Formal classes: users sitting in a classroom listening to an instructor who shows and explains 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.
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 in the system fail.
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.
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, chance or information loss can be reduced significantly. By storing these media physically separated from the system, data loss due to malicious activities can be prevented as well. 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 tornado or earthquake.
Making hard copies: In some cases, information can also be printed out to be archived, like books, texts, important contracts or scientific papers. However creating hard copies can be expensive and take up a large amount space. Hard copies are also liable to data loss, as in the case of print outs getting burned in a fire.
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.
Manual updates: the software manufacturer contacts every user about the new update and supplies the installation package to him to be installed.
Hardware: anything within a computer you can physically touch.
Software: the collection of programs and instructions that control the computer.
Peripheral: the devices attached to the computer that allow it to interact with its environment and exchange information.
Network: a group of computers connected together in some way to share resources such as documents or files and printers.
Human resources: the humans operating the computers
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.
Who will be involved in the system?
Observation: involves systems analyst walking around the organisation watching how things are done with his/her own eyes. Advantages:
Interviews: Involves the systems analyst interviewing key people within the system to find out how it works.
Questionnaries: involves the systems analysts handing out questionnnaries for people to fill out.
Collecting documents: involves the systems analysts looking in the documents in the archive to try to find out how the present system works
System flow charts: diagrams representing how different parts of the system are linked together and how the system should work in general.
Data flow diagrams: diagrams representing how information is moving through the system together with identifying all relevant inputs and outputs to the system.
Structure charts: are diagrams representing the organization of a system, usually with showing the different parts in hierarchical order.
UML is NOT required
Prototypes are abstract representations of the system, often focusing on only one or two key aspects of the system. 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 money building a ship with an eventually unworkable design. Prototypes in systems development are usually 'ghost' user interfaces illustrating the position of control elements to the user or little programs developed to explore the working of a key algorithm in the system.
Designing and creating the system usually happens in 5 stages: Planning, analysis, design, implementation, maintenance. However, the maintenance step is often let out because in maintenance you plan, analyse, design and implement changes, so the circle effectively begins from start again. This iterative process happens during the entire product life cycle.
Off-the-shelf software ↔ Tailored software
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:
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:
Created by Matyas Mehn — Matyas Mehn 2014/03/28 13:19