IB ComSci: 1.2 System Design Basics
IB ComSci: 1.2 System Design Basics
1.2
Components of a Computer System
1.2.1 Define the terms: hardware, software, peripheral, network, human resources.
Hardware refers to the computer's tangible components or delivery systems that store and run the written instructions
provided by the software. Examples of hardware in a computer are the keyboard, the monitor, the mouse and the
processing unit. Source
Software is a set of instructions, data or programs used to operate computers and execute specific tasks. An example of
software is Excel or Windows or iTunes. Source
Peripherals are devices that are not the computer's core architecture involved in memory and processing. Peripherals
include input hardware, output hardware and storage devices. A typical desktop computer could include: inputs - mouse,
keyboard, webcam, games controller. outputs - screen, printer, speakers, headphones. Source
A computer network, also referred to as a data network, is a series of interconnected nodes that can transmit, receive and
exchange data, voice and video traffic. Examples of nodes in a network include servers or modems. Computer networks
commonly help endpoint users share resources and communicate. Source
Human resources or HR, is a department of a company responsible but are not limited to, employee benefits, hiring,
payroll, promotions, and maintaining employee data. Source
1.2.2 Describe the roles that a computer can take in a networked world. Include client, server,
email server, DNS server, router and firewall.
Client A computer on a network that makes requests of a server. E.g. YouTube Viewer requests YouTube servers.
Server A computer on a network that listens to and responds to requests from clients. E.g. File servers, database server, web servers,
etc
Email Server A computer on a network dedicated to sending, receiving, and storing emails.
DNS (Domain A computer on a network that translates between user-friendly names of network resources and their numerical IP address. E.g.
Name Service) www.google.com --> 123.345.678
Server
Router A device on the network that is responsible for sending network packets to the right host, subnet or network.
Firewall A part of a computer system or network that is designed to block unauthorized access while permitting outward communication.
Source
1.2.3 Discuss the social and ethical issues associated with a networked world.
Security The issue of security becomes very important, computers have to protect their data and make
sure that data is not accessible for anyone that does not have the right to access it.
Privacy The issue of privacy becomes a very sensitive issue when computers are interconnected. This
issue fall backs to the issue of security and the issue of privacy has a lot in common with security,
because to protect your identity you need security. You should be able to choose what information
you share and with who you share that information. Example: GPS on phones.
Censorship Censorship becomes an issue when you interconnect computers because some of the
information may be deemed inappropriate by the network manager and so he could make sure
that none of the other computers could access this information. China is an good example.
Source
System Design and Analysis
1.2.4 Identify the relevant stakeholders when planning a new system.
Stakeholder: anyone whose work will be affected by the new technology. Ideally, each key
constituency (e.g., physicians, nurses, medical assistants, and administrative staff) who will
interact with the system should be involved in identifying requirements and designing the system.
Stakeholders in Program:
● Users
● Investors
● Programmer (creator)
● Target group/audience
1.2.5 Describe methods of obtaining requirements from stakeholders. Including surveys,
interviews, direct observations.
Observation is the process of monitoring a system while it is at work. Example: An awkward man stands behind
a store clerk for one whole day, seeing how she works.
Pros:
- As it is not based on numerical statistics, it can explore topics in great detail and depth.
- Unobstructive observation will create extremely natural data.
Cons:
- A functioning system that is being observed will always act different than it does normally.
- The non-statistical data can be difficult to analyze and can cause generalizations.
Observing the system in can provide invaluable information as to how a system works and how it can be
improved. The most important things to observe the users workflow, the inputs and the outputs
Techniques
● Organizational capability: Ability and capacity of an organization in terms of its.Human resources: their
number, quality, skills, and experience
● Examining current system to get information about how it works and how it can be improved
● Looking at competing products to see what they will included
1.2.7 Explain and show examples of system flow charts, data flow diagrams, and structure charts
to illustrate system requirements
The ways to illustrate system requirements are system flow charts, data flow diagrams, and structure charts.
System flow charts - Diagrams representing how different parts of the system are linked together and how the
system should work in general.
Data flow diagram - Diagram representing how data is moving through the system.
Structure diagram - Diagrams representing the organization of a system, usually with showing the different parts
in hierarchical order.
1.2.8 Describe the purpose of prototypes to demonstrate the proposed system to the client.
Prototype - The process of building a model of a system, used to help system designers build an information
system that intuitive and easy to manipulate for end users. An iterative process that is part of the analysis phase of
the systems development life cycle.
Types of prototyping - Sketches, high tech operational systems (CASE) computer-aided software engineering,
fourth generation languages.
Advantages of prototyping:
System Development Life Cycle (SDLC) - A process by which systems analysts, software engineers, programmers, and end users
build information systems.
Feasibility - The existing system is evaluated. Deficiencies are identified. This can be done by interviewing users of the
system and consulting with support personnel.
Analysis - The new system requirements are defined. In particular, the deficiencies in the existing system must be addressed
with specific proposals for improvement.
Design - The proposed system is designed. Plans are laid out concerning the physical construction, hardware, operating
systems, programming, communications, and security issues.
Implement - The new system is developed. The new components and programs must be obtained and installed. Users of the
system must be trained in its use, and all aspects of performance must be tested. If necessary, adjustments must be made at
this stage.
Test or Deploy - The system is put into use. This can be done in various ways. The new system can phased in, according to
application or location, and the old system gradually replaced. In some cases, it may be more cost-effective to shut down the
old system and implement the new system all at once.
Maintain - Once the new system is up and running for a while, it should be exhaustively evaluated. Maintenance must be kept
up rigorously at all times. Users of the system should be kept up-to-date concerning the latest modifications and procedures.
Steps of SDLC - Feasibility, Analysis, design, Implement, Test or Deploy, Maintain.
1.2.10 Explain the possible consequences of failing to involve the end-user in the design process.
- Not suitable for its intended use, adverse effects on user productivity.
Computer Abuse
- Unethical acts, not illegal
- Ex: spamming
Employment
- Reengineering work resulting in lost jobs
Accessibility - potential of a service to meet the needs of as many people as possible. How well is it accessible for
people with disabilities.
Usability - potential of a service to accomplish user goals. How effective is the product?
Ergonomics - design of safe and comfortable products. Eg. chairs that encourage a healthy position.
1.2.13 Identify a range of usability problems with commonly used digital devices. For example,
consider PCs, digital cameras, cell phones, games consoles
Systems:
● PCs (laptops/desktops/mobile phones/tablets)
● Digital cameras
● Cell phones (mobiles)
● Game consoles
● MP3 players
● Other commonly used digital devices (e.g. Printer)
Usability Issues
● Difficulty to handle/fiddly hardware
● Difficult to understand software
● Complex user interface
● Need to have lots of prior knowledge
● Specialist support needed to use device
● Each device is different from other similar devices (no standards)
1.2.14 Identify methods that can be used to improve the accessibility of systems. Include touch
screens, voice recognition, text-to-speech and Braille keyboards
Accessibility means access. It refers to the ability for everyone, regardless of disability or special needs, to access, use and benefit from everything within their
environment. It is the “degree to which a product, device, service, or environment is available to as many people as possible.
Founded on the principles of Universal Design, the goal of accessibility is to create an inclusive society for people with physical, mobility, visual, auditory or
cognitive disabilities. This means everyone has equal access to perceive, understand, engage, navigate and interact with all elements of the physical and digital
world.
Turn around the way of looking at this to be "Who are touch screens good for?"
In the Apple OS (formerly called Universal Access) now called Accessibility
Methods that can be used to improve the accessibility of systems:
Preferences there are many, many more things which help accessibility.
● Visual Disability Rather than list them here, practically remind yourself of them by going there
○ Tactile feedback
and trying them out. The categories are:
○ Braille ● Seeing
○ Auditory feedback ● Hearing
○ Changing color schemes for color-blind people ● Keyboard
● Auditory Disability ● Mouse & Trackpad
○ Subtitles
○ Volume
○ Sign languages/gestures
● Dexterity Issues (Repetitive Stress Injury)
○ Bigger keys/keyboards
○ Various mice made for various situations of hand injury
1.2.15 Identify a range of usability problems that can occur in a system.
First of all, remember that "usability" means how does the technology or system suit everybody, and "accessibility" is particularly referring only to those with some
sort of disability. You need to consider the full range of usability problems that can occur in the system:
● Customers end up buying something that is not what they think it is.
● The system is not in a language all users understand.
● Lots of language/interpretation issues even for speakers of the system's language.
● Scanning/choice of the wrong code because the products are close together.
● The possibility of fraud issues - for example credit card theft.
● Delivery issues, like late delivery, or wrong address, etc.
● Accidental buying of things more times than intended.
● Selecting to buy more than a customer can afford.
● Network goes down, which results in incomplete orders or no service at all.
● Slow network, which causes delays and/or frustration to users.
Part 1
1.2.15 Identify a range of usability problems that can occur in a system.
Specfic Examples:
● Online payroll
○ With an online payroll system, the inputs are: Employee identification code, hours worked, and rate of pay (e.g. $25 per hour).
○ And the outputs from a payroll system are: A printed payslip, and a pay cheque, or an payment directly into the employee's bank account .
○ Potential usability issues include:
■ Internet Service Provider (ISP) downtime.
■ Depending on the complexity of the system, employees may have trouble learning how to work with it
■ Employees might not have a bank in order to be payed on-line (versus cash)
■ This system might be complex to set up.
■ Clients may not be able to understand all the calculations and deductions, due to poor organization of the communication on the form.
■ The network is hard to log onto in busy times, particularly payday.
● Voice Recognition
○ Two examples if situations in which voice recognition can be used are security login with Siri etc. on iPhones etc.
○ Potential usability issues include:
■ There may be a limited dictionary in the voice recognition software, so it may not include certain words such as slang terms.
■ If the user has a speech impediment then the software may have trouble recognizing what they are saying.
■ People from different regions of the world and backgrounds may have different dialects and accents which the system is not be able to
deal with.
■ The system may not be able to recognize different words if the user speaks very quickly or too slowly.
■ Users may not want to speak about important and sensitive information in a public space. As well as people speaking in a lower volume
when in public, the system may not be able to ‘hear’ the user.
■ Security and privacy issues may arise due to the limited security of the system.
■ If the user is in an area with a lot of ambient noise then the system may not be able to cancel out this noise.
■ If the database of words is not stored locally and there are network errors then the system is not able to work.
Part 2
1.2.16 Discuss the moral, ethical, social, economic and environmental implications of the
interaction between humans and machines.