REVIEWER IATB (Midterm)
REVIEWER IATB (Midterm)
MODULE 6
“Blockchains”
Blockchain is a system of recording information in a way that makes it difficult or impossible to change, hack, or
cheat the system.
A blockchain is essentially a digital ledger of transactions that is duplicated and distributed across the entire
network of computer systems on the blockchain. Each block in the chain contains several transactions, and every time a
new transaction occurs on the blockchain, a record of that transaction is added to every participant’s ledger.
The decentralized database managed by multiple participants is known as Distributed Ledger Technology (DLT).
Blockchain is a type of DLT in which transactions are recorded with an immutable cryptographic signature called a
hash.
This means if one block in one chain was changed, it would be immediately apparent it had been tampered with. If
hackers wanted to corrupt a blockchain system, they would have to change every block in the chain, across all of the
distributed versions of the chain.
Blockchains such as Bitcoin and Ethereum are constantly and continually growing as blocks are being added to the
chain, which significantly adds to the security of the ledger.
Bitcoin was designed to solve this problem by using a specific type of database called a blockchain. Most normal
databases, such as an SQL database, have someone in charge who can change the entries (e.g. giving themselves a
million X dollars). Blockchain is different because nobody is in charge; it’s run by the people who use it. What’s more,
bitcoins can’t be faked, hacked, or double-spent – so people that own this money can trust that it has some value.
Authentication
The original blockchain was designed to operate without a central authority (i.e. with no bank or regulator
controlling who transacts), but transactions still have to be authenticated.
This is done using cryptographic keys, a string of data (like a password) that identifies a user and gives access to
their “account” or “wallet” of value on the system.
Each user has a private key and a public key that everyone can see. Using them both creates a secure digital identity
to authenticate the user via digital signatures and to ‘unlock’ the transaction they want to perform.
Authorization
Once the transaction is agreed upon between the users, it needs to be approved, or authorized, before it is added
to a block in the chain.
For a public blockchain, the decision to add a transaction to the chain is made by consensus. This means that the
majority of “nodes” (or computers in the network) must agree that the transaction is valid. The people who own the
computers in the network are incentivized to verify transactions through rewards. This process is known as ‘proof of
work’.
Proof of Work
Proof of Work requires the people who own the computers in the network to solve a complex mathematical
problem to be able to add a block to the chain. Solving the problem is known as mining, and ‘miners’ are usually
rewarded for their work in cryptocurrency.
But mining isn’t easy. The mathematical problem can only be solved by trial and error and the odds of solving the
problem are about 1 in 5.9 trillion. It requires substantial computing power which uses considerable amounts of energy.
This means the rewards for undertaking the mining must outweigh the cost of the computers and the electricity cost of
running them, as one computer alone would take years to find a solution to the mathematical problem.
Proof of Stake
Later blockchain networks have adopted “Proof of Stake” validation consensus protocols, where participants must
have a stake in the blockchain - usually by owning some of the cryptocurrency - to be in with a chance of selecting,
verifying & validating transactions. This saves substantial computing power resources because no mining is required.
In addition, blockchain technologies have evolved to include “Smart Contracts” which automatically execute
transactions when certain conditions have been met.
MODULE 7
“Business Processing Modelling Part 1”
Business process modeling is mainly used to map a workflow so you can understand, analyze and make positive
changes to that workflow or process. Usage of a diagram helps you to visualize this process and make better decisions
The biggest advantage of BPMN is that it’s a standard with well-defined syntax. So many business analysts are
familiar with it which makes collaboration much easier. Also, most modeling tools support BPMN which makes it much
easier to share and edit if even using different software. All these together make BPMN the most popular business
process modeling technique at the moment.
2. UML Diagrams
UML is a modeling language mainly used for the specification, visualization, development, and documenting of
software systems. But business professionals have adapted it as a powerful business process modeling technique.
With 14 different UML diagram types, it offers a flexible and powerful way to visualize almost any business
process. They are typically used for modeling the detailed logic of a business process. In many ways, UML diagrams are
the object-oriented equivalent of flow charts.
As mentioned above one of its main advantages is its flexibility. But with 14 different diagram types, some might
find it difficult to understand the diagrams. Add to that the same process can be modeled using different UML diagrams.
So probably not the most popular choice among analysts.
Our UML software supports drawing of all UML diagram types. We have templates, separate libraries for various
UML diagrams and knowledge article to guide you through the process.
Business process modeling goes back a long time and BPMN and UML evolved from some techniques used a while
back. However, some of these earlier techniques are still been used in business process modeling.
3. Flowchart Technique
Flowcharts are probably the most popular diagram type in the world. Because it has few standard symbols it can be
easily understood by many. Simplicity makes it powerful and an effective tool. In fact, BPMN can be considered as an
advanced version of the basic flowchart technique. Also, most drawing software support creation of flowcharts it is
used by a much wider audience as well.
Flowchart uses a sequential flow of actions and does not support a breakdown of the activities. The Flow Chart
model is possibly the first process notation. It has frequently been used over many years although there is no exact date
for its origin.
MODULE 8
“Business Processing Modelling Part 2”
Business process modeling is mainly used to map a workflow so you can understand, analyze and make positive
changes to that workflow or process. Usage of diagram helps you to visualize this process and make better decisions
7. Gantt Charts
Gantt charts relate a list of activities to a time scale. Although it can be used to represent a process graphically it’s
strength lies in the ability to monitor the current situation, project timeline, and resource allocation. Although things like
dependencies can be highlighted in it the modeling part is severely lacking. Probably the reason why it isn’t popular
anymore.
A Gantt chart is a matrix that lists on the vertical axis all the tasks or activities to be performed in a process. Each
row contains a single activity identification, which usually consists of a number and a name. The horizontal axis is
headed by columns indicating estimated activity duration, skill level needed to perform the activity, and the name of the
person assigned to the activity, followed by one column for each period in the project’s duration. Each period may be
expressed in hours, days, weeks, months, and other time units. In some cases, it may be necessary to label the period
columns as period 1, period 2, and so on.
12. Simulation
Simulation model comes in handy when you want to study a complex real-world system. You want to learn more
about the system to make an informed decision but the complexity of the system prevents you from doing that directly.
Therefore you proceed indirectly by creating and studying another entity (the simulation model), which is sufficiently
similar to the real-world system. Simulation can have many forms (for example, discrete-event simulation, continuous
simulation, system dynamics, Monte-Carlo simulation, qualitative simulation, etc.).
MODULE 9
“Knowing the Computer Malware”
Malware (malicious software) is the general name used in describing programs that perform harmful things to a
computer system such as viruses, Trojan horses, worms, and all other similar programs. Many computer users are not
familiar with the term malware – “computer virus” is the most common used term to describe a malware.
A computer virus is a program or a piece of code that loads itself and infects a computer without the user knowing it.
It can replicate itself by copying its own generated code over and over again. A computer virus spreads from computer
to computer using a host program. An uninfected computer will be subjected to virus attack once an infected program is
loaded into its memory. This may happen for instance when a user tries to load an infected removable (such as diskette,
flash drive, et.) into a computer.
The most common misconception about “Trojan horse” and “Worm” is that these are types of computer viruses.
The terms are also very often used interchangeably but these are not the same. PC users must familiarize themselves
with these three common malicious programs to protect computers against their damaging effects.
1. Virus – It is a program or code that attaches itself to a host program to load itself into a computer without the
knowledge of the user to perform malicious actions.
2. Worm – By design, this may be considered a sub-class of a virus. It is capable of spreading from computer to
computer without user intervention. Unlike a virus, a worm does not need to attach itself to a host program. A
worm uses the transport features of files and information to spread itself into different systems. It can replicate
itself at a very fast rate. Instead of sending a single worm, it could send out hundreds or thousands of copies of
itself, creating a very huge devastating effect on the receiving computer system. The Blaster Worm was
designed to allow malicious user to remotely control a computer by tunneling into the computer system.
3. Trojan horse – It is a code or program that is named after the wooden gift horse used by the Greeks to gain
entry to Troy according to legend. Just like the Trojan horse of the legend, this destructive program
masquerades itself as legitimate software. A user that receives a Trojan horse may also create/open a backdoor
to the computer system so that a malicious user can access the system. Unlike worms and viruses, Trojan horses
do not replicate themselves. The Trojan horse is simply a vessel for other malware.
MODULE 10
“Internet”