0% found this document useful (0 votes)
18 views

IB computer science Topic 1 - System Fundamentals

The document outlines the systems development life cycle (SDLC), detailing stages from feasibility studies to maintenance in information system projects. It discusses the importance of planning, change management, and the challenges of integrating legacy systems, as well as various implementation methods for new systems. Additionally, it highlights the significance of data migration and testing in ensuring successful system transitions.

Uploaded by

74thsm5q95
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
18 views

IB computer science Topic 1 - System Fundamentals

The document outlines the systems development life cycle (SDLC), detailing stages from feasibility studies to maintenance in information system projects. It discusses the importance of planning, change management, and the challenges of integrating legacy systems, as well as various implementation methods for new systems. Additionally, it highlights the significance of data migration and testing in ensuring successful system transitions.

Uploaded by

74thsm5q95
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 118

Sy󰈻󰉄em

Fun󰇷󰈀󰈛󰇵n󰉃a󰈘s
Topic 1
The systems development life cycle (SDLC) is a conceptual model used
in project management that describes the stages involved in an
information system development project, from an initial feasibility study
through maintenance of the completed application. SDLC can apply to
technical and non-technical systems.

Sy󰈻󰉄em D󰈩󰉏󰇵󰈘op󰈚󰈩󰈞t L󰈏󰇾e 󰉑󰉙c󰈗󰈩


Pla󰈝󰈞󰈎n󰈇 󰇽󰈞d
s󰉘󰈼te󰈚 󰈎󰈞s󰉃󰇽󰈘la󰉃󰈎󰈢󰈞
Pla󰈝󰈞󰈎n󰈇 󰇽󰈞d 󰈻󰉙s󰉃e󰈛 󰈎n󰈻󰉄󰇽l󰈗a󰉄󰈎󰈢n
(The 󰈥󰉉󰈹p󰈢󰈻e 󰈡󰇿 t󰈊󰇵 󰈞ew 󰈻󰉙s󰉃e󰈛)
● 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.
● Planning a new system is the process of thinking about various details and organizing
the activities required to achieve the desired goal.
Pla󰈝󰈞󰈎n󰈇 󰈼h󰈢u󰈗󰇶 ‘󰈀n󰉃󰈏󰇸ip󰈀󰉃󰇵
po󰉃󰈩󰈞t󰈏a󰈗 󰈡󰈹g󰇽󰈝i󰉜󰈀t󰈏o󰈝󰈀󰈘 󰈏s󰈻u󰈩󰈼 s󰉊󰇹󰈋 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.
Fe󰈀s󰈏󰇼i󰈘󰈎t󰉘 󰈼t󰉊󰇷󰉙

● 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.
Cha󰈝󰈈󰈩 m󰇽󰈝a󰈈󰈩m󰇵󰈝󰉄

● Change 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.
Leg󰈀󰇹󰉙 s󰉘󰈼te󰈚

● The term legacy system refers to an old technology, hardware, computer


system, or application program that 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“.
Bus󰈎󰈝󰇵󰈼s 󰈚e󰈹g󰈩󰈸󰈼

● 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.
In󰉃e󰈈r󰈀󰉃󰈏o󰈞 v󰈻 I󰈛p󰈗e󰈛󰈩n󰉃󰇽󰉄i󰈡n

Integration is the
Implementation as the
process of integrating –
process of putting a
to combine (one thing)
decision or plan into
with another so that
effect / execution.
they become a whole.

In󰉃e󰈈r󰈀󰉃󰈏o󰈞 Im󰈥󰈘em󰈩󰈝󰉄󰇽ti󰈡󰈝
In󰉃e󰈈r󰈀󰉃󰈏o󰈞 s󰉃󰈹󰈀t󰇵󰈇i󰈩󰈼

1. 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).
Pot󰈩󰈝󰉄󰈏al 󰈥󰈹󰈡b󰈗󰇵󰈛s 󰇷u󰈹󰈎n󰈇 󰈏󰈞te󰈇󰈹󰈀t󰈏o󰈝

1. 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.
2. 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.
Sy󰈻󰉄em I󰈚󰈦le󰈚󰈩󰈞t󰇽󰉃i󰈡󰈞s
Sa󰈀󰈠
1. A remote hosted system is the most appropriate 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.
2. 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.
3. 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}i
a. SaaS is less expensive because it has a low initial cost and requires few investments in
installation, maintenance and upgrading. Companies have to pay only for the SaaS
subscription, which is cheaper in the short-to- medium term.
b. SaaS provides a scalable solution, since a company has only to adjust its monthly SaaS
subscription as required. In most cases only a web browser and a broadband internet
connection are required to access SaaS applications.
Sy󰈻󰉄em I󰈚󰈦le󰈚󰈩󰈞t󰇽󰉃i󰈡󰈞s
Sa󰈀󰈠 󰇵xa󰈚󰈦l󰈩󰈻
● Google Workspace
● Dropbox
● Salesforce
● Cisco WebEx
● SAP Concur
● GoToMeeting
Al󰉃e󰈹n󰈀󰉃󰈏󰉐e 󰈎n󰈻󰉄󰇽l󰈗a󰉄󰈎󰈢n 󰈥󰈹oc󰈩󰈻󰈼󰇵s
(Cha󰈝󰈈󰈩󰈢ve󰈸 M󰈩󰉄h󰈢󰇷󰈼)
● 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.
● 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.
Cha󰈝󰈈󰈩󰈢ve󰈸
me󰉃󰈋󰈡d󰈻
moving from an old system to a new one
Par󰈀󰈗󰈘󰇵l C󰈊a󰈞g󰈩󰈢󰉏e󰈹
● 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 󰉗󰈀󰈝󰈈 󰈢r Di󰈸󰈩󰇸t (󰈏󰈚󰈛ed󰈎󰇽󰉃e)
● 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 (crucial for day-to-day operation).
With this approach, all users need to be trained appropriately before the switch takes
place, in order to use the new information system efficiently.
Pil󰈡󰉃
● 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 implemented into the rest of the
company using a changeover method (usually direct).
Pha󰈻󰈩󰇶
● 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 at different 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.
Dat󰈀 󰈲󰈏󰈇󰈹at󰈎󰈢󰈝
● 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.
Tes󰉃󰈎󰈞g
● 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.measurement units.
Dat󰈀 󰉃󰇵󰈼ti󰈝󰈈 󰈩x󰇽󰈚󰈦le
● 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
Dat󰈀 󰉃󰇵󰈼ti󰈝󰈈 󰈩x󰇽󰈚󰈦le
● 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.
Tes󰉃󰈎󰈞g
● 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
● 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).
Tes󰉃󰈎󰈞g
● During unit testing, individual parts of the system are tested separately.
● During the integration testing, the entire system is tested at the same time to
verify that that all components can work together.
● 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.
Deb󰉉󰈇󰈈󰈏n󰈇
● 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.
○ Example: to run your code step by step in a debugging tool like Visual
Studio, to find the exact point where you made a programming mistake.
Dat󰈀 I󰈝󰈦󰉊t

Validation is the process of evaluating whether


1 data input follows appropriate
specifications and is within reasonable limits.

Verification is the process of ensuring that the data

2 input is the same as the original


source data. A way of ensuring data verification is
through double entry.
So󰈃w󰈀󰈸󰇵 󰉄es󰉃󰈎󰈞g

1 Verification is the confirmation that a computer


product meets identified specifications.

Validation is the confirmation that a computer


2 product meets its design function or is appropriate
for the intended use.
Use󰈸 󰇶󰈡c󰉊󰈚e󰈞t󰈀󰉃󰈏o󰈞
● Programs 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.
● 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, since there will be a user manual explaining every
component of the product.
● User documentation covers manuals that are mainly prepared for end-users
of the product and system administrators
In󰉃e󰈹n󰈀󰈗 D󰈢󰇸um󰈩󰈝󰉄󰇽ti󰈡󰈝
● 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 and 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.
Ex󰉃e󰈹n󰈀󰈗 D󰈢󰇸um󰈩󰈝󰉄󰇽ti󰈡󰈝
● 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.
Use󰈸 󰇶󰈡c󰉊󰈚e󰈞t󰈀󰉃󰈏o󰈞
p󰈸o󰉐󰈎d󰈏󰈝󰈈 me󰉃󰈋󰈡d󰈻
● User documentation 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 instructions 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.
Tec󰈊󰈞󰈎c󰇽󰈗 󰇶oc󰉉󰈚󰇵󰈞ta󰉃󰈎󰈢󰈞
● Technical documentation refers to any document that explains the use,
functionality, creation, or architecture of a product.
● Technical documentation provides an overview of the system and helps
engineers and stakeholders understand the underlying technology.
● It usually consists of the requirements document, architecture design, source
code, validation docs, verification and testing info, and a maintenance or help
guide.
Man󰉉󰇽󰈗󰈼
● These can be provided online or offline.
● One of the advantages of online manuals is the potential use of multimedia
features.
● Manuals 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 without the use of a PC
or an internet connection.
Ema󰈎󰈗 S󰉊󰈦po󰈸󰉄
● Online support is an asynchronous (not occurring at the same time) type of
support and can be provided via an email address.
● Users contact the support team of the company to resolve any problems
with the help of specialized technician.
Em󰇼e󰇶d󰈩󰇷 A󰈼s󰈏󰈻󰉄an󰇹󰈩 󰈢󰈹 in󰉃󰈩󰈈r󰇽󰉃e󰇶 󰉉s󰇵󰈸
as󰈻󰈎󰈼t󰇽󰈝󰇸e
● Software suites like MS Office have inbuilt help systems (the tips and
dynamic page content within the system itself).
● One example is when the user hovers the mouse over an icon ( small text
box appears with valuable help information.)
● This kind of assistance is considered an 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.
Fre󰈫󰉉󰇵󰈞t󰈗󰉙 As󰈔e󰇶 Q󰉉󰇵s󰉃i󰈡󰈞s
● 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.
Liv󰈩 󰇹󰈋󰇽t 󰈻e󰈼s󰈎󰈢󰈝󰈼
● 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.
On󰈗i󰈞󰈩 p󰈢󰈸󰉄al󰈻 󰈡󰈹 w󰇵󰇼 󰈦or󰉃󰈀󰈘s
● 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.
● Websites are for driving traffic, whereas web portals are for limiting traffic to a
specific group of users. Most web portals require a user to log in, which allows
the site to deliver more specific content and services based on who that user is.
● A web portal is a specially designed website that brings information from
diverse sources, like emails, online forums and search engines, together in a
uniform way.
● Examples of web portals include intranet, school portals, etc.
Rem󰈡󰉃󰇵 󰇶es󰈔󰉄󰈡p 󰇹󰈢󰈞ne󰇹󰉄󰈎󰈢n󰈻
● 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.
Use󰈸 󰉄r󰈀󰈏󰈝i󰈞g
Different methods of delivering user training
Sel󰇾-I󰈞s󰉃󰈹uc󰉃󰈎󰈢󰈞 or 󰈻󰈩󰈘f-󰈻󰉄󰉊d󰉘
● 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.
● A user 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.
For󰈚󰈀󰈘 Cl󰇽󰈻󰈼es
● 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 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.
Rem󰈡󰉃󰇵/di󰈻󰉄󰈀n󰇹󰇵 󰈘e󰈀r󰈝󰈏󰈞g/on󰈗󰈎󰈞󰇵 t󰈸a󰈎󰈞󰈏n󰈇
● The main benefit of asynchronous online learning is that it allows participants to take part in
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. Online education places greater responsibility on the student and gives
students control over their learning experience.
Gro󰉉󰈥 󰉍󰈏󰈼cu󰈻󰈼󰈎󰈢n
1. Describe the use of beta testing.
2. Identify two causes of data loss.
3. Identify two reasons for releasing a software update.
4. Define the term data migration.
5. Describe two problems, concerning data migration, which the company
may have to overcome.
Gro󰉉󰈥 󰉍󰈏󰈼cu󰈻󰈼󰈎󰈢n
An󰈻󰉓er󰈻
1. Describe the use of beta testing.
○ It is when an application/program is tested/ to get feedback (for
errors/improvements); By releasing it to the general
public/users/stakeholders before final release;
2. Identify two causes of data loss.
○ Natural disaster/power failure;
○ Accidental deletion;
○ Malicious activities (hacking/theft/viruses);
○ Hardware/software/system failure;
○ Bad integration/migration of systems/data;
○ Transmission error;
○ Lossy compression when the original no longer available only the modified
version.
Gro󰉉󰈥 󰉍󰈏󰈼cu󰈻󰈼󰈎󰈢n
An󰈻󰉓er󰈻
3. Identify two reasons for releasing a software update.

○ To patch any vulnerabilities/bugs/cyberspace threats;


○ To provide improved functionality/new functions/usability/maximise
efficiencies;
○ To generate income for the software company/to innovate and stay ahead
of other software companies;
○ To ensure compatibility with other (updated) technologies;
Gro󰉉󰈥 󰉍󰈏󰈼cu󰈻󰈼󰈎󰈢n A󰈝󰈼we󰈸󰈼
4. Define the term data migration.
Data migration is the transfer of data from one system/storage device to another
5. Describe two problems, concerning data migration, which the company may have to overcome.
● Data loss;.
○ Due to transmission faults/lack of adequate storage;
● Incompatible file formats;
○ Which could lead to incomplete or incorrect data transfer;
● Different file structures;
○ Which will result in a mismatch of data, for example in customer records;
● Validation rules differ between companies;
○ Which could lead to inconsistent/incorrect results;
● Different character sets might be used;
○ Which could lead to inconsistent/incorrect results;
● Different languages might be used; Leading to translation issues;
○ Data corrupted when transferring (data) files; And not usable at destination
Sy󰈻󰉄em 󰇼󰈀󰇸k󰉊󰈥
Ca󰉉s󰇵󰈻 o󰇿 d󰈀󰉃󰇽 󰈘os󰈻
● 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.
How 󰉃󰈡 󰈦r󰇵󰉏e󰈞t 󰇷󰈀󰉄󰇽 lo󰈻󰈼?

● Regular backup of files using hard disks or magnetic tapes


● Installation of an Antivirus program for antivirus protection
● Firewall installation
● Data storage in two or more locations (offsite storage)
● Removed hard copies (printed version of data)
● Human error reduction techniques and/or failsafe (accidentally deleted
files)
● Online auto save backup (iCIoud, Dropbox)
Red󰉉󰈝󰇶󰇽n󰇹󰉙

● 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.
● Includes having duplicate hardware components like servers, hard drives, or
power supplies and involves running multiple instances of a software
service or application.
● For example, web servers can be configured in clusters to ensure that if one
server fails, others can handle the load.
Red󰉉󰈝󰇶󰇽n󰇹󰉙 v󰈻 󰇻ac󰈔󰉉󰈦
● Redundancy
○ Redundancy is designed to ensure high availability and fault tolerance
in a system.
○ It involves having multiple components or systems that perform the
same function, so if one fails, another can take over without causing
disruption.

● Backup
○ Backup is aimed at data protection and recovery.
○ It involves creating copies of data or system states that can be restored in
case of data loss, corruption, or accidental deletion.
Red󰉉󰈝󰇶󰇽n󰇹󰉙 v󰈻 󰇻ac󰈔󰉉󰈦
● Redundancy focuses on avoiding downtime and maintaining
system functionality by having multiple, redundant
components or systems that can take over if one fails.

● Backup focuses on data preservation and recovery by


creating copies of data or systems that can be restored in
case of data loss or corruption.
Fa󰈎l󰈢󰉏e󰈹 Sy󰈻󰉄em

● A failover system is a computer system which is unable to operate due to


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 standby server is
made primary.
● Critical systems typically allow for failover to take place on system failure so as to
provide reliability and continuous availability.
● An example of failover is a backup computer taking over saving a file if the main
computer suddenly breaks down
Swi󰉃󰇸h󰈡󰉏󰇵󰈹 Sy󰈻󰉄em

● In a switchover system the primary and the secondary server interchange


the primary role.
● Switchover is the manual switching of a terminated system upon occurrence
of an error.
● This is because either the system is too complex to figure out the exact
location of the problem or the problem must be addressed before a
switchover can be performed
● Examples are such as installing patches, and upgrading software or hardware.
So󰈃w󰈀󰈸󰇵
Dep󰈗󰈡󰉙m󰇵󰈝󰉄
St󰈸a󰉄󰈩g󰈏e󰈻 󰇿󰈡r 󰈚󰇽󰈞ag󰈎󰈝󰈈 r󰇵󰈗e󰈀󰈼󰇵s a󰈝󰇶 󰉉p󰇷󰇽󰉄es
● 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).
St󰈸a󰉄󰈩g󰈏e󰈻 󰇿󰈡r 󰈚󰇽󰈞ag󰈎󰈝󰈈 r󰇵󰈗e󰈀󰈼󰇵s a󰈝󰇶 󰉉p󰇷󰇽󰉄es
● 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. A patch is a set of changes to a computer program or its supporting
data designed to update, fix, or improve it
● Upgrades always contain novel functionalities or characteristics, as well
cumulative 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.
1.
2 Ba󰈻󰈎󰇸
Sy󰈻󰉄em D󰈩󰈻󰈏󰈈n
Components of
a computer system
Har󰇷󰉓󰈀r󰇵, 󰈻o󰈃󰉓󰈀r󰇵, 󰈥e󰈹󰈎p󰈊󰇵󰈹al, 󰈝󰈩󰉄w󰈢󰈸󰈕, hu󰈚󰈀󰈞
re󰈻󰈡󰉊󰈹ce󰈻
● 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 guide the CPU to perform specific operations. Software is comprised of
both programs and data.
● Peripheral device: any auxiliary device that can communicate and work with a
computer. For example: input/output devices, printers, etc. A peripheral device
extends the capabilities 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.
The 󰈸󰈡󰈘󰇵s 󰉃󰈋at 󰈀 󰇹󰈢󰈛pu󰉃󰈩󰈹 c󰇽󰈝 󰉄ak󰈩 󰈏󰈝 a 󰈞󰈩t󰉒󰈢󰈹ke󰇷
wo󰈸󰈘d
● 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 is 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 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.
Cli󰈩󰈝󰉄 s󰇵󰈸󰉐er
ex󰈀󰈚󰈦l󰇵
The 󰈸󰈡󰈘󰇵s 󰉃󰈋at 󰈀 󰇹󰈢󰈛pu󰉃󰈩󰈹 c󰇽󰈝 󰉄ak󰈩 󰈏󰈝 a 󰈞󰈩t󰉒󰈢󰈹ke󰇷
wo󰈸󰈘d
● 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 ”mit.edu”
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 websites. 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 a network. The
ideal firewall system configuration consists of hardware and software components.
Soc󰈎󰇽󰈗 a󰈞d 󰈩󰉃󰈋󰈏ca󰈗 󰈎󰈼s󰉊e󰈻 󰈀󰈼s󰈢󰇹i󰈀󰉄󰇵d 󰉒i󰉄h 󰈀 󰈝󰇵󰉄wo󰈸󰈕󰈩d
wo󰈸󰈘d
● Reliability, which refers to how well an IT system functions.
● 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.
● 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.
● Inconsistency. Problems may also arise if information is duplicated in a database and only one
copy is updated, causing inconsistency.
Soc󰈎󰇽󰈗 a󰈞d 󰈩󰉃󰈋󰈏ca󰈗 󰈎󰈼s󰉊e󰈻 󰈀󰈼s󰈢󰇹i󰈀󰉄󰇵d 󰉒i󰉄h 󰈀 󰈝󰇵󰉄wo󰈸󰈕󰈩d
wo󰈸󰈘d
● 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 etc..
● Intellectual property, which refers ideas, discoveries, scientific endeavours, photographs, films,
essays, and art works.
○ Copyright laws are designed to protect intellectual property from
unauthorized and illegal reproduction.
● 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 same country.
● 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.
Soc󰈎󰇽󰈗 a󰈞d 󰈩󰉃󰈋󰈏ca󰈗 󰈎󰈼s󰉊e󰈻 󰈀󰈼s󰈢󰇹i󰈀󰉄󰇵d 󰉒i󰉄h 󰈀 󰈝󰇵󰉄wo󰈸󰈕󰈩d
wo󰈸󰈘d
● 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.
● 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 and machines. Internet addiction is a social impact. The use of AI in military or
law-enforcement situations is also an issue of social concern. This subject analyzes all aspects of
the interaction between IT and humans.
● Digital 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.
Mul󰉃󰈎-󰇿󰇽c󰉃o󰈹 󰈀󰉊t󰈊e󰈞t󰈎󰇹󰇽󰉄i󰈡n (M󰉇A)
Multi-factor authentication (MFA) is an authentication technique used to
control computer access.
A user can enter by exhibiting authentication factors from at least two of
the three categories:
● 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
How 󰇷󰈡󰇵󰈼 mu󰈗󰉄󰈎 f󰇽󰇹󰉄or 󰈀󰉊󰉃󰈋en󰉃󰈎󰇸󰇽ti󰈡󰈝 󰉓󰈢r󰈔?
1. MFA works by requiring additional verification information (factors). One of the
most common MFA factors that users encounter are one-time passwords (OTP).
2. OTPs are those 4-8 digit codes that you often receive via email, SMS or some
sort of mobile app. With OTPs a new code is generated periodically or each time
an authentication request is submitted.
3. The code is generated based upon a seed value that is assigned to the user when
they first register and some other factor which could simply be a counter that is
incremented or a time value.
Two 󰇾󰈀󰇸t󰈢󰈸 a󰉉󰉄h󰇵󰈝󰉄ic󰈀󰉃󰈏o󰈞 (2FA)
● Two-factor authentication (2FA), sometimes referred to as two-step verification or
dual-factor authentication, is a security process in which users provide two
different authentication factors to verify themselves.

● 2FA is implemented to better protect both a user's credentials and the resources the
user can access.
● Two-factor authentication provides a higher level of security than authentication
methods that depend on single-factor authentication (SFA), in which the user provides
only one factor -- typically, a password or passcode.
● Two-factor authentication methods rely on a user providing a password as the first
factor and a second, different factor -- usually either a security token or a biometric
factor, such as a fingerprint or facial scan.
How 󰇷󰈡󰇵󰈼 t󰉒o-󰇿󰈀c󰉃󰈢󰈹 a󰉉t󰈊󰇵󰈞ti󰇹󰈀󰉄󰈏on 󰉒󰈡󰈹k?
1. The user is prompted to log in by the application or the website.
2. The user enters what they know -- usually, username and password. Then, the site's
server finds a match and recognizes the user.
3. For processes that don't require passwords, the website generates a unique security key for
the user. The authentication tool processes the key, and the site's server validates it.
4. The site then prompts the user to initiate the second login step. Although this step can
take a number of forms, the user has to prove that they have something only they would
have, such as biometrics, a security token, an ID card, a smartphone or other mobile
device.
5. Then, the user may have to enter a one-time code that was generated during previous
step.
6. After providing both factors, the user is authenticated and granted access to the
application or website.
IT 󰈠y󰈻󰉄em P󰈸󰈡󰈼 󰇽n󰇷 Co󰈞s
IT 󰈠y󰈻󰉄em P󰈸󰈡󰈼 󰇽n󰇷 Co󰈞s
Sy󰈻󰉄em 󰇷󰈩󰈼󰈏g󰈝
an󰇷 󰈀󰈞󰇽l󰉘󰈼is
Rel󰈩󰉏󰇽󰈞t 󰈻󰉄ak󰈩󰈊󰈢󰈘de󰈸󰈼 w󰈊󰈩󰈞 p󰈗󰇽󰈞ni󰈝󰈈 󰈀 n󰇵󰉒 󰈼y󰈻󰉄em
● Stakeholders 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.
Met󰈊󰈡󰇶s 󰈢󰇾 o󰇻t󰈀󰈏󰈝i󰈞g 󰈸󰈩󰈬󰉊ir󰈩󰈚󰇵󰈞t󰈻 󰇿ro󰈚 󰈼t󰈀󰈔󰇵󰈋ol󰇷󰈩󰈹s.
● 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.
● 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 any form of statistical analysis
on them. 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.
● Closed or restricted questionnaires involve "yes" or “no" answers, short response questions
and box checking. Such a questionnaire facilitates statistical analysis, tabular presentation of data,
and summarizing processes.
Con󰉏󰈩󰈹-s󰉃󰇽󰉄i󰈡n󰈻
Discussions:
● Give three examples of internal stakeholders and three external stakeholders
● Discuss about stakeholder roles that might available in planning a new system
● Discuss the roles of stakeholders during data gathering in planning a new system
How it works:
● Discuss in your own station/ group for 15 minutes
● Once the question has been discussed, each team select two members to move to
another "conver-station."
● Provide time for the team members who stayed to provide the new team members
with a brief overview of the conversation.
● After 10 minutes, ask two members of the new team to rotate to another
"conver-station."
● Add the result of the discussion to your group notes
Con󰉏󰈩󰈹-s󰉃󰇽󰉄i󰈡n󰈻 󰇽󰈞s󰉒e󰈹s
Funders /Investor/Business Owners:
Give the problems, expectations or requirements, and priorities from the system. They
will also ensure that development is done in accordance with the project
requirements.

System Analysts (programmer/developers)


They need to understand the project requirements, and collecting the data from other
stakeholders by using various methods (interview, questionnaires, observation, testing)
They will do researching, designing, developing, and testing software. A software
developer may take part in design, computer programming, or software project
management. They may contribute to the overview of the project on the application
level rather than component-level or individual programming tasks
Con󰉏󰈩󰈹-s󰉃󰇽󰉄i󰈡n󰈻 󰇽󰈞s󰉒e󰈹s
Project managers
They coordinate the work of the participants and organize meetings and negotiations.
In this process they create tasks, prescribes requirements, and sets priorities. They
also monitor and solve other technical and organizational issues. They will do
evaluation based on the feedback received.

Project Tester
They analyze client requirements, understand the software application being tested.
They analyze and prepare test strategy/test scenarios, cases, test data, test
environment and participate in test plan preparation. During the test they will do
defect(bugs) tracking. After the test, they will do evaluation, perform necessary
retesting, provide defect /bugs/error information (for developers), prepare report
summaries, prepare lesson learnt documents and conduct review meetings within the
team.
Con󰉏󰈩󰈹-s󰉃󰇽󰉄i󰈡n󰈻 󰇽󰈞s󰉒e󰈹s
Employee/Frequent user
Trying to do testing of the system. Employees will give feedback based on their
experience. List the benefits and drawbacks from the system which will be used to
improve the system.

End User/Customer
Trying to do testing of the system. Employee will give feedback based on their
experience
In󰉃e󰈹n󰈀󰈗 󰉐s E󰉕󰉄er󰈝󰈀󰈘 St󰇽󰈔e󰈋󰈡l󰇷󰇵󰈹s
Des󰇹󰈹󰈎b󰇵 󰉃󰈋e n󰈩󰇵󰇷 󰇿or 󰉉󰈻󰇵󰈹/c󰈗i󰈩󰈞t 󰇾󰇵e󰇶b󰈀󰇹󰈕
● User/client feedback is important for the developers as it can be use to check
whether the system built has meet the initial requirements and how to improve
the system.
● The client will also help in the identification of problems with the efficiency or the
design. Gives an idea of the final product
Ex󰈥󰈘a󰈎n 󰉃󰈋󰇵 ne󰈩󰇷 󰉄󰈢 eff󰈩c󰉃󰈏󰉐e c󰈡󰈗󰈘󰇽bo󰈸󰈀󰉄󰈏on
● Encourages active participation between users and developers, improve team
communication, ensure that everyone is on the same page, make people more
motivated and helps them perform much better.
Dis󰇹󰉉󰈼s 󰉃󰈋󰇵 im󰈥󰈡󰈹t󰇽󰈝󰇸e 󰈡f 󰇹󰈘󰇵ar󰈗󰉙 d󰈩fi󰈝󰇵󰇶 go󰈀󰈗󰈼
● By having a clear goal, the stakeholders will understand what they want to
achieve, maintain the focus, set the direction, be able to assign the roles
according to its function, meet the customer requirements, help to determine
the timeline, and increase productivity.
● Clear goals and objectives allow employees to monitor their own progress all
year 'round and correct their efforts as necessary.
● If employees know what they need to accomplish, they can look at their
results as they go and identify barriers to achieving those goals. It is also
important to be realistic in setting the deadline and timeline that is suitable
with the project situation and environment.
● Involvement, collaboration and active participation are critical because a project
with poorly-defined stakeholder goals is unlikely to be successful. Users may be
unsatisfied with the system, system may be unsuited for the user's problem and
affecting productivity.
Uti󰈗󰈎󰉄󰇽ri󰈀󰈝󰈏󰈼m
● When designing a new system, we usually try to design it for the
greatest good for the greatest number of people.
● This is approach is called utilitarianism.
● Simple definition of utilitarianism (britannica):
○ Utilitarianism is an effort to provide an answer to the practical
question “What ought a person to do?” The answer is that a
person ought to act so as to maximize happiness or pleasure and
to minimize unhappiness or pain.
Met󰈊󰈡󰇶s 󰇽󰈝󰇶 te󰇹󰈋n󰈎󰈫󰉊e󰈼
● Describe methods and techniques used to examine current systems.
○ Questionnaires, interview, survey, observation
● Describe methods and techniques used to examine competing products.
○ Customer surveys: online, face-to-face, telephone
○ Analysis: identify competitors, data gathering, analyze competitor strength
and weaknesses (review and comparison)
● Describe methods and techniques used to examine organizational
capabilities.
○ Direct observation of current procedures, looking at the current system
documentation (study the company’s report/documents (order, logistic,
finance, procedures)
● Describe methods and techniques used to examine use of literature searches.
○ Research: online databases, search engines, published journal, literature
reviews
Met󰈊󰈡󰇶s 󰈢󰇾 o󰇻t󰈀󰈏󰈝i󰈞g 󰈸󰈩󰈬󰉊ir󰈩󰈚󰇵󰈞t󰈻 󰇿ro󰈚 󰈼t󰈀󰈔󰇵󰈋ol󰇷󰈩󰈹s.
● 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 make statistical analysis impossible.
● Questionnaires guarantee uniformity of questions and therefore yield data that is
easier comparable than information obtained through an 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 time 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.
Exa󰈚󰈎󰈞󰈏n󰈇 󰇸ur󰈸󰈩󰈞t 󰈻󰉙s󰉃e󰈛
● 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 documents such as current order documents,
logistic document and computer system procedures and report used by
operation and senior managers.
● 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.
Sy󰈻󰉄em R󰈩󰈫󰉊i󰈹󰈩m󰇵󰈝󰉄s
● 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.
Pro󰇹󰈩󰈼s󰈏󰈝󰈈 Ty󰈥e󰈼
● Online processing (interactive): Data processing performed by a single
processor through the use of equipment that it controls. For example: airline
reservation.
● Real-time processing: Data processing performed on-the-fly in which the
generated data influences the actual process taking place. For example:
aircraft control.
● Batch processing: Data processing performed on data that have been
composed and processed as a single unit. For example: payroll.
Sy󰈻󰉄em F󰈗󰈡󰉓c󰈊󰇽󰈹t󰈻
● 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 details of such 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.
Sy󰈻󰉄em F󰈗󰈡󰉓c󰈊󰇽󰈹t󰈻
Dat󰈀 󰉇󰈗󰈢󰉓 󰉌i󰈀g󰈸󰇽󰈛
● Data flow diagram usually use to describe the problem to be solved
(analysis).
● A data flow diagram shows how data move through a system and the
data stores that the system uses.
● A data flow diagram does not specify the type of data storage and the type
of data.
Dat󰈀 󰉇󰈗󰈢󰉓 󰉌i󰈀g󰈸󰇽󰈛
St󰈸u󰇸t󰉉󰈸󰇵 󰇸ha󰈸󰉄s
● 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 combining the modules to form a solution to an overall problem.
Mod󰉉󰈗󰇽󰈹 p󰈸o󰈈r󰈀󰈚󰈛󰈏n󰈇
● Modular programming is defined as a software design technique that focuses
on separating the program functionality into independent, interchangeable
methods/modules. Each of them contains everything needed to execute only
one aspect of functionality.
● A module is defined as a part of a software program that contains one or
more routines. When we merge one or more modules, it makes up a program.
● Examples: Java, C++
Mod󰉉󰈗󰇽󰈹 de󰈻󰈎󰈈n 󰉃󰇵󰈹m󰈻
● 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.2
● 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.
Mod󰉉󰈗󰇽󰈹 de󰈻󰈎󰈈n 󰉃󰇵󰈹m󰈻
● Module is a complete and independent part of a program or an algorithm.
● 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 programs.
● Modular language is a language that supports modular programming.
Ad󰉏a󰈞t󰈀󰈇󰇵󰈼 of M󰈡󰇷󰉊󰈘ar 󰈥󰈹󰈡g󰈸󰇽󰈛mi󰈝󰈈
● Code is easier to read
● Code is easier to test
● Reusability, modularity gives us the advantage of reusability so that we can pull our
code from anywhere using interfaces or libraries. The concept of reusability also
reduces the size of our program.
● Faster fixes
● Low-risk update
● Easy collaboration as the code is split between more functions, files, repos, etc. We
can also provide ownership to specific code modules, where a team member can
break them down into smaller tasks.
Dis󰈀󰇷󰉐󰇽n󰉃a󰈈󰈩s 󰈢󰇾 Mo󰇶󰉉l󰇽󰈸 󰈦ro󰈇󰈹󰈀m󰈚󰈏󰈞g
● There is a need for extra time and budget for a product in modular
programming.
● It is a challenging task to combine all the modules.
● Careful documentation is required so that other program modules are not
affected.
● Some modules may partly repeat the task performed by other modules. Hence,
Modular programs need more memory space and extra time for execution.
● Integrating various modules into a single program may not be a task because
different people working on the design of different modules may not have the
same style.
● It reduces the program's efficiency because testing and debugging are
time-consuming, where each function contains a thousand lines of code.
Pro󰉃󰈡󰉄y󰈥󰇵
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.
Ad󰉏a󰈞t󰈀󰈇󰇵󰈼 of 󰈥󰈹󰈡t󰈢󰉃󰉙pe
● Provides he concept 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, and flexible in design.
● Helps in the identification of problems with the efficiency or the design
● Increases system development speed
● It is easy to detect errors.
● We can find missing functionality easily.
● There is scope of refinement, it means new requirements can be easily accommodated.
● It can be reused by the developer for more complicated projects in the future.
● It ensures a greater level of customer satisfaction and comfort.
● It is ideal for online system.
● It helps developers and users both understand the system better.
● Integration requirements are very well understood and deployment channels are decided at a very
early stage.
Dis󰈀󰇷󰉐󰇽n󰉃a󰈈󰈩s 󰈢󰇾 󰈦ro󰉃󰈡󰉄y󰈥󰇵
● This model is costly.
● It has poor documentation because of continuously changing customer requirements.
● There may be too much variation in requirements.
● Customers sometimes demand the actual product to be delivered soon after seeing an early
prototype.
● There may be sub-optimal solutions because of developers in a hurry to build prototypes.
● Customers may not be satisfied or interested in the product after seeing the initial prototype.
● There is certainty in determining the number of iterations.
● There may be incomplete or inadequate problem analysis.
● There may increase the complexity of the system.
Ite󰈸󰈀󰉄󰈏on
● Iteration refers to 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.
● Iterative development of software involves steady improvement 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.
Ben󰈩fi󰉃 󰈢󰇿 Ite󰈸󰈀󰉄󰈏on
● Highlights and helps to resolve misunderstandings, expectation issues, and requirement
inconsistencies as early in the process as possible
● Helps to ensure the product is fit for purpose and meets its functionality, usability, and reliability
objectives
● Speeds up the design process, particularly of complex medical device products
● Keeps the design team focused on critical issues, helping them avoid distractions and diversions
● Improves the safety of the product
● Identifies previously unpredicted user behaviours which can lead to design changes.
● Identifies a range of usability and practical issues that are hard to identify early in the product design
process without using an iterative approach.
● Ensures you are fully aware and up to date with the progress of the design.
● Reduces the amount of reworking required, particularly in relation to clients not being happy with the
design.
● Helps ensure the product design process adheres to regulations, for example, improving design
control documentation
The 󰈎󰈚󰈦󰈢r󰉃a󰈞c󰈩 󰈢󰇾 u󰈼󰈩r/c󰈗i󰈩󰈞t 󰇾󰇵e󰇶b󰈀󰇹󰈕
● User/client feedback is important for the developers as it can be use to
check whether the system built has meet the initial requirements and
how to improve the system.
● The client will also help in the identification of problems with the efficiency
or the design. Gives an idea of the final product
The 󰈎󰈚󰈦󰈢r󰉃a󰈞c󰈩 󰈢󰇾 eff󰈩󰇸t󰈏󰉏e 󰇸󰈡l󰈗󰇽󰇻or󰈀󰉃󰈏o󰈞.
● Encourages active participation between users and developers,
● improve team communication, ensure that everyone is on the same page,
● make people more motivated and
● helps them perform much better.
Ac󰇹e󰈼s󰈎󰇼󰈏󰈘it󰉘
● Accessibility refers to the potential of a service, product, device or
environment to serve and meet the needs of as many individuals as possible.

● A system characterized by high accessibility can meet the needs of many


people, while a system with low accessibility presents barriers to specific
groups of people,
● Frequently, accessibility is studied in parallel with disabled people (people with
special needs) and the use of various assistive technologies
Usa󰇼󰈎󰈘󰈏t󰉘
● Usability refers to the potential of a product, application or website to
accomplish user goals.
● The term is not limited to computer science but extends to other products
and services of all kinds.
● Usability related to effectiveness, efficiency and satisfaction in a specified
context of use.
Er󰈇o󰈞󰈡m󰈏󰇹󰈼
● Ergonomics or human engineering refers to the design of safe and
comfortable products, systems or processes, specifically for people.
● For example, computer hardware, such as keyboards, are shaped by ergonomic
consideration in order to improve users’ comfort.
Usa󰇼󰈎󰈘󰈏t󰉘 󰇸om󰈥󰈡󰈞󰇵n󰉃󰈼
● Complexity
● Effectiveness
● Efficiency
● Error
● Learnability
● Memorability
● Readability
● Comprehension

You might also like