IB computer science Topic 1 - System Fundamentals
IB computer science Topic 1 - System Fundamentals
Funnas
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.
● 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 mam
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.
Inero Imemti
Inero sti
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).
Potal bs un teto
● 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 xle
● 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 xle
● 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.
Tesg
● 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).
Tesg
● 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.
Debn
● 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 It
● It is very difficult and likely impossible for the source code to be read by the final user.
Exen Dumti
● 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 ceto
pod med
● 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.
Tecc octa
● 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 Spo
● 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.
Emed Asan inre s
aste
● 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.
Fret Ase Qsis
● 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 es
● 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.
Oni pal w ors
● 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 esp nen
● 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 rig
Different methods of delivering user training
Sel-Isuc 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 Cles
● 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/din erg/on tan
● 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 cun
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 cun
Aner
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 cun
Aner
3. Identify two reasons for releasing a software update.
● 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.
Redn 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.
● 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 to-c attion 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 yem P n Cos
IT yem P n Cos
Syem g
an lis
Relt akde w pni n yem
● 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.
Mets otig irt ro tols.
● 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-sin
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-sin ses
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.
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-sin ses
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
Inen s Eer Stels
Desb e n or /cit eb
● 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
Exan ne effce cboon
● 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.
Diss imte f ar dfi 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.
Utirim
● 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.
Mets tene
● 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
Mets otig irt ro tols.
● 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.
Exan urt se
● 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.
Syem Rims
● 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.
Pros Tye
● 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.
Syem Fct
● 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.
Syem Fct
Dat ig
● 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 ig
Stut has
● 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 porn
● 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 den 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 den 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.
Adat of Mar gmi
● 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.
Disnas Mol romg
● 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.
Proy
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.
Adat of tpe
● 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.
Disnas roy
● 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.
Iteon
● 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.
Benfi Iteon
● 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 rac ur/cit eb
● 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 rac effte loro.
● 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.
Acesit
● Accessibility refers to the potential of a service, product, device or
environment to serve and meet the needs of as many individuals as possible.