INFO100 Notes
INFO100 Notes
Binary System
• PandA is the name used for two fundamental
patterns of digital information:
– Presence
– Absence
• The PandA definition
– mnemonic for “Presence and Absence”
Binary Systems
• The presence or absence can be viewed as “true” or “false”
• Such a formulation is said to be discrete
• Discrete means “distinct” or “separable”
• The PandA encoding has two patterns: present and absent
• The two possible alternatives make PandA observations a binary
system
Punching cards
• A punch card is moved toward the left by a metal roller
• Above the roller is a bundle of metal wires called brush.
• When the hole moves over the roller, the brush pokes through
the hole and touches the roller, making an electrical connection.
• Once the machine senses the presence of the hole it passes
the signal on to another part of the machine for further
processing.
Tabulating machines
• Tabulating machines were electro-mechanical devices.
• They were all hardware built out of wires, rollers, and motors.
• To change the operations that the machine performed required it to
be rewired.
• Main problem: Only very simple operations were possible when the
«program» was expressed using wires.
Turing machine
A Turing machine is a mathematical model of computation that
defines an abstract machine that manipulates symbols on a strip of
tape according to a table of rules. Despite the model's simplicity,
given any computer algorithm, a Turing machine capable of
simulating that algorithm's logic can be constructed.
The machine operates on an infinite memory tape divided into
discrete "cells.
[Wikipedia]
https://www.youtube.com/watch".?v=Hb44bGY2KdU
Integrated Circuits
• The problem of efficiently assembling computers out of
transistors, capacitors, and wires was solved by
integration.
• Integrated circuits (ICs) are chips made of silicon and
closely related to elements in which both active parts
like transistors and connective parts like wires are
fabricated together in a multistep process.
Enabling technology
An enabling technology is an invention or innovation that can be
applied to drive radical change in the capabilities of a user or
culture. [Wikipedia]
Software: putting programs into machines
(computers)
•Software is a collective term for programs
•Software “instructs” the computer (hardware), by providing
the steps needed to perform a task
•The computer follows the program and carries out the
instructions
Algorithms
An algorithm is a precise, systematic method for
producing a specified result. We use and invent
algorithms all the time to solve our problems
Five must have properties
For a process to be an algorithm, it must have the five
properties:
1. Input specified means to say what the computation is given
as data
2. Output specified means to say what the computation will
produce as a result
3. Definite means the whole process is spelled out
unambiguously
4. Effective means it is within the abilities of the agent
following
the instructions.
5. Finite means the agent will eventually finish the
computation,
giving the right answer, or stop and report that none is
possible.
ICT in business
The role of ICT in the development of business architecture is
important due to its vast and limitless applicability.
Many enterprises are highly dependent on ICT applications
and their business benefits generated from ICT applications.
Information sphere
•Since the 1950s, computer science and ICTs have
exercised both an extrovert and introvert influence,
changing not only our interactions with the world but
also our self-understanding.
•In many respects we are not standalone entities, but
rather interconnected informational organisms or inforgs,
sharing with biological agents and engineered artefacts
a global environment ultimately made of information, the
infosphere.
Floridi [8-14]
INFO100: Data, Information, Knowledge
•Analogue, Continues
Analogue data and systems
How do analogue computers perform calculations?
Analogue computers perform calculations through the
interaction of continuously varying physical phenomenoa.
“Karakuri puppets” for serving tee, they move forward when they sensor they
weigh of tee cup; when cup is lifted, they go back.
Digital Computers
Computers are usually seen as digital or discrete information
systems.
Analogue Computers
•Given their physical nature, analogue computers
operate in real time (i.e., time corresponding to time in
the real world) and therefore can be used to monitor and
control events as they happen
•1:1 relation between the time of the event and the time
of computation.
Digitizing data
What information do we need to digitize?
- Numbers
- Text
- Image
- Sound
- Video recordings
Color and the light
Digitizing sound
• An object creates sound by vibrating in a medium
(such
as air)
• Vibrations push the air causing pressure waves to
emanate from the object, which in turn vibrate our
eardrums
• Vibrations are then transmitted by three tiny bones to
the
fine hairs of our cochlea, stimulating nerves that allow us
to sense the waves and “hear” them as sound
How do we represent analogue signals?
Digitizing sound
• To digitize means, convert to bits
• For a sound wave, binary numbers are used to record
the amount that the wave is above or below the 0
line at a given point on the graph
• At what point do you measure?
– There are infinitely many points along the line, too many
to record every position of the wave
– Solution: sampling
Sampling
Binary Arithmetic
• We can store two different values in 1 bit: 0 or 1.
• In general, in n bits, we can store 2n different values.
• So with 4 bits, we can store 16 values - 0 to 15, but
there are no negative values.
ASCII standard
•Unicode
Transformation Format (UTF)
•UTF-8 : from 1 to 6 bytes, consistent with ASCII,
most commonly use
Quantities of bytes
Primary and Secondary Data
PRIMARY
These are the principal data stored in a database, for example:
SECONDARY
Secondary data are the converse of primary data, constituted by their
absence.
For example:
• John tried to stat the engine of his car but the engine did not make any
noise. So he suspected that the battery is flat.
• In Silver Blaze, Sherlock Holmes solves the case by noting the unusual
silence of the dog.
Meta Data: Data about Data
•These are indications about the nature of some other (usually primary)
data.
•Metainformation is information about the nature of information.
•For example: MIME (Multipurpose Internet Mail Extensions) Type
information is a standard that indicates the nature and format of a
document or file.
–'text/plain': This is the default for textual files.
–'text/html' : All HTML content should be served with this type.
–'image/jpeg' : JPEG images.
•Example: The copyright note on a car's operation manual.
Operational Data
Derivate Data
•Data that can be extracted from some data as indirect
sources in search of patterns, clues, or inferential evidence
about other things than those directly addressed by the data
themselves.
•Example:
–The use of Credit card information could be used to derive
information of the whereabouts of the user.
–Bank data
–Social media data (extracted)
Environmental information
On Knowledge [Floridi]
The classic definition:
•Knowledge is well-founded and correct beliefs
("Well-justified true belief")
•The simplest form of knowledge is a direct fact.
•Epistemology is the (philosophical) study of knowledge
Types of knowledge:
•explicit and implicit ("silent")
•internalized (personalized) and externalized
•descriptive ("knowing that ...") and procedural ("knowing how
...")
•individual and collective
Communication model
What is HTML?
•HyperText Markup Language (HTML), is the language used to create Web
pages
•Using HTML, you can create a Web page with text, graphics, sound, and
video
•HTML tags are keywords surrounded with angle brackets like <html>
•A tag is a keyword enclosed by angle brackets ( Example: <i> )
Structure of a webpage
•All Web pages share a common structure
•All Web pages should contain a pair of <HTML>, <HEAD>, <TITLE>, and
<BODY> tags
Implementation
•Where we write code?
–We write HTML code using text editor e.g., Sublime Text, Notepad++,
Wordpad, etc.
–There exists HTML editors such as Jetbrains Webstorm:
–https://www.jetbrains.com/webstorm/
Example:
<font face = "Times New Roman" >Times New Roman</font>
•To change the size of text use the expression <FONT SIZE=n> ....
</FONT> where n is a number between 1 and 7
Example:
<font size = "1">SmallText</font>
Live demo:
https://www.tutorialspoint.com/html/html_fonts.htm
https://www.tutorialspoint.com/online_html_editor.php
Headings
•Web pages are typically organized into sections with headings;
•To create a heading use the expression <Hn>....</Hn> where n is a
number between 1 and 7
•In this case, the 1 corresponds to the largest size heading while the 7
corresponds to the smallest size
Aligning text
•The ALIGN attribute can be inserted in the <P> and <Hn> tags to right
justify, center, or left justify the text
•For example, <H1 ALIGN=CENTER> The New York Times </H1> would
create a centered heading of the largest size
Comment statement
•Comment statements are notes in the HTML code that explain the
important features of the code
•The comments do not appear on the Web page itself but are a useful
reference to the author of the page and other programmers
•To create a comment statement, use the <!-- .... --> tags
Page formatting
To define the background color, use the BGCOLOR attribute in the
<BODY> tag
To define the text color, use the TEXT attribute in the <BODY> tag
<BODY BGCOLOR=“black”
TEXT=“white”>
This is where you would include the text and images on your Web
page.
</BODY>
Inserting images
•Type <IMG SRC = “image.ext”>, where image.ext indicates the location of
the image file
•The WIDTH=n and HEIGHT=n attributes can be used to adjust the
size of an image
•The attribute BORDER=n can be used to add a border n pixels thick
around the image
Alternate text
•Some browsers don’t support images. In this case, the ALT attribute can
be used to create text that appears instead of the image.
•Example:
<IMG SRC=“satellite.jpg” ALT = “Picture of satellite”>
Hyperlinks
A link lets you move from one page to another, play movies and sound,
send email, download files, and more....
The label is the text that appears underlined or highlighted on the page
Ordered list
•Ordered lists are a list of numbered
items.
•To create an ordered list, type:
<OL>
<LI> This is step one.
<LI> This is step two.
<LI> This is step three.
</OL>
Creating table
<TABLE BORDER=10>
<TR>
<TD>One</TD>
<TD>Two</TD>
</TR>
<TR>
<TD>Three</TD>
<TD>Four</TD>
</TR>
</TABLE>
INFO100: Computers
Agenda
•Computers:
•Subsystems
–Control, ALU, Memory, Input, Output
•Units
–Processor, Operating System(s), SW, Instructions
–Fetch/Execute Cycle, Memory, HW
•Computations
•Programming computers
•CSS
•The modifier ‘random access’ means that the computer can refer to
the memory locations in any order.
RAM Structure
•Memory stores both the program while it is running and the data on
which the program operates.
RAM Properties
•Addresses: Every memory location has an address.
•Values: Memory locations record or store values.
•Finite capacity: Memory locations have a finite capacity (limited
size).
•Byte-Size Memory Location: Discrete locations are shown as
boxes holding 1-byte each.
•That 1-byte memory location can store one ASCII character or a
number less than 256.
•Blocks of four bytes are used as a unit so often that they are called
memory words.
Control Processing Unit (CPU) [Snyder, pp.260-
264]
•“Instruction Execution Engine”:
–a machine that cycles through a series of operations
•Series is called: Fetch/Execute Cycle
–Get the next instruction
–Figure out what to do
–Gathering the data needed to do it
–Do it
–Save the result, and
–Repeat (billions of times/second)
CPU Properties
• The control unit of a computer is where the
Fetch/Execute Cycle occurs
• Its circuitry fetches an instruction from memory and
performs the other operations of the Fetch/Execute
Cycle on it
• A typical machine instruction has the form ADD 4000,
2000, 2080
CPU Operations
• The step names suggest the operations described as
Fetch/Execute Cycle
• These operations are repeated in a never-ending sequence
Example: Instruction Fetch (IF)
Example: Instruction Fetch (IF)
A Machine Instruction
Instruction ‘ADD’
ADD 4000, 2000, 2080•Looks like those three numbers
should be added together
Hard Drive
Assembly Language
Programming Languages
•Most modern software is written in a high-level programming
language
•High-level languages are compiled (translated) into assembly
language, which is then assembled into binary
•These languages are preferred because they have special
statement forms that help programmers describe the complicated
tasks they want done
•Most modern software is written in a high-level programming
language
•High-level languages are compiled (translated) into assembly
language, which is then assembled into binary
•These languages are preferred because they have special
statement forms that help programmers describe the complicated
tasks they want done
Super Computers
•Ken Jennings (left), supercomputer Watson (center), Brad Rutter (right).
•IBM Watson wins Jeopardy in 2011.
Quantum Computing
•Binary data are encoded, stored, and processed by allowing each bit to be only in one fully determined,
definite state at a time.
•Quantum states of atomic particles can be used to store data in a definable but still undetermined quantum
superposition of two states at the same time.
•The result of such a superposition of states is known as a qubit (quantum bit).
•A qubit is actually in both the 0-state and the 1-state simultaneously, although possibly to different
extents.
•A quantum computer (QC) handles qubits, and this is why, if it could be built, it would be extraordinarily
powerful.
•Take a 3-qubit register QC for example, with some simplifications we can load the quantum register to represent
2^3 states simulteneously. It allows us to generate a state containing 2^3 possible states.
•A single QC can then perform 8 operations at once, sifting through all the qubit patters simultaneously.
This is known as quantum parallelism.
•A QC can explore all possible solutions of the problem in one step.
•The larger its register, the more exponentially powerful a QC becomes, and a QC with a register of 64 qubits
could outsmart any network of supercomputers.
Algorithms
• What’s an algorithm?
– An algorithm is a precise, systematic method for
producing a specified result
• We use and invent algorithms all the time to
solve our problems
Programs
• Computers need to be told what to do
• For a method to be precise enough for a computer to follow, everything needs to be
spelled out
• Programmers make algorithms perfectly precise for computers by writing them in a
programming language
Five Properties of an Algorithm
1. Input specified: The input is the data to be transformed during the
computation to produce the output.
2. Output specified: The output is the data resulting from the computation,
the intended result.
3. Definiteness: Algorithms must specify every step and the order to
perform them.
4. Effectiveness: It must be possible for the agent to execute the algorithm
mechanically.
5. Finiteness: An algorithm must have finiteness; it must eventually stop,
either with the right output or with a statement that no solution is possible.
Sorting Algorithms
Algorithm Types
•Algorithms are developed to solve a class of problems.
With adjustments they can be used on different data sets.
Examples
•Suppose you are given an unsorted list and asked to
find all duplicates, then the complexity becomes
quadratic.
–Checking for duplicates for one item is of linear
complexity. If we do this for all items, complexity
becomes quadratic.
•Similarly, if all people in a room are asked to shake
hands with every other person, the complexity is
quadratic.
Assembly Language
•Assembly languages are a step towards easierprogramming.
•Assembly languages are comprised of a set of elemental
commands which are tied to a specific processor.
•Assembly language code needs to be translated to machine
language before the computer processes it.
•Example:
ADD 4000, 2000, 2080
High-Level Languages
•High-level languages are easier to understand for human.
•The syntax of high-level languages is similar to English language.
Structure of Compiler
The Compilation Process
Structured Programming
•Structured programming is a disciplined approach to programming.
Top-down Design
•A program is divided into a main module and its related
submodules, so that program become easy to
understand.
Stepwise Refinement
A Structured Program
A Structured Program
A Sub-program
Declarative Programming
•In declarative programming paradigm, we emphasizes the concept
of what to do rather than how to do it.
–Example: Finding data from a database table with SQL.
•SELECT * FROM Users database WHERE city = ’Sacramento’;
Classes and
Objects
•A class is a data type that allows programmers to create objects. A class provides a definition for an
object, describing an object’s attributes (data) and methods (operations).
•An object is an instance of a class. With one class, you can have as many objects as required.
•This is analogous to a variable and a data type, the class is the data type and the object is the variable.
OOP-
Encapsulation
• Wrapping code and data together into a single unit.
• Incorporation into a class of data & operations in one unit (e.g., class/package)
• It is a way to achieve “Information Hiding”
• Encapsulation makes our programming code
• maintainable,
• extensible and
• flexible.
OOP:
Inheritance
• Allows programmers to create new classes based on an existing class
• Methods and attributes from the parent class are inherited by the newly-created
class
• New methods and attributes can be created in the new class, but don’t affect the parent
class’s definition
OOP: Inheritance
•Allows programmers to create new classes based on an
existing class
•Methods and attributes from the parent class are inherited by
the newly-created class
•New methods and attributes can be created in the new
class, but don’t affect the parent class’s definition
OOP: Polymorphism
•Creating methods which describe the way to do some
general function (Example: The “getArea()” method in the
Shape class)
•Polymorphic methods can adapt to specific types of objects.
Object-Oriented Programming
Benefits & Drawbecks
INFO100: Internet
Agenda
•Communication types
–Point to point; broadcast and multicast
•History of Internet: ARPA Network
•TCP/IP Protocols
•Ethernet Network
•WAN and LAN
•Internet and Intranet
•Connecting to Internet
•Domains, Addresses, SSH protocol
What is Communication?
•Communication is simply the act of transferring information
from one place, person or group to another. Every
communication involves (at least) one sender, a message
and a recipient.
•Digital communication is any type of data sent
digitally.
Types of Communication
Synchronous and Asynchronous
Communication
Synchronous
•Sending and receiving occur at the same time;
•Sender and the receiver are active at the same time
Asynchronous
•The sending and receiving occur at different times
Internet ́s Communication Properties
•The Internet supports point-to-point asynchronous
communication.
•The Internet is fast enough to mimic synchronous
communication (like using a phone).
•Multicasting is also possible, allowing groups to communicate in
chat rooms.
•Users can post video that can be accessed by anyone, as a form
of broadcasting (e.g., live sport, YouTube theses presentations).
•The Internet provides a general communication "fabric" linking all
ARPAnet Growth
•By the end of 1970, ARPAnet had grown to 13 nodes,
including MIT, Harvard.
Packet-Switching Technology
ARPANET used a novel technology called packet-
switching:
•It refers to protocols in which messages are divided into packets
before they are sent.
•Each packet is then transmitted individually and can follow different
routes to its destination.
•Once all packets forming a message arrive at the destination, the
packets are composed into the original message.
Disadvantages:
•If there are too much traffic then it increases packet delay.
•The biggest limitation of packet switching is that it is unsuitable
for applications that require minimal latency.
Latency: the computation delay before a transfer of data begins following
an instruction for its transfer.
TCP/IP Characteristics
• Because each packet can take a different route, congestion
and service interruptions do not delay transmissions.
• Each TCP/IP packet is independent.
• The TCP/IP protocol works under adverse conditions
• If traffic is heavy and the packet progress is slow, the
protocol allows the packet to be thrown away.
• If a packet is deleted for whatever reason, the recipient
will request a resend.
• Packets can arrive out of order because they take
different routes.
WAN and LAN
• The Internet is a collection of wide area networks (WAN).
• These are networks that are not geographically close.
• The Internet is a collection of point-to-point channels.
• Meaning packets must visit a sequence of computers (or
hops) before they reach their destination.
LAN
• In a local area network (LAN) computers are located
geographically close to each other.
• Usually, they can be linked by a single cable or pair of wires
• Ethernet is the main technology for local area networks.
• It is used for connecting all the computers in a lab or a
building.
Ethernet Network
• The physical setup for an Ethernet network is a wire, wire pair, or
optical fiber, called the channel
• Engineers “tap” into the channel to connect a computer:
• This allows it to send a signal or an electronic pulse or light flash
onto the channel
• All computers, including the sender, can detect the signal
Wireless Networks
•Variation of a LAN connection
•The router is:
–Physically connected to an ISP’s modem
–Connected to the Internet
–Capable of broadcasting and receiving signals, usually radio
frequency (rf ) signals
Computer Addresses
IP Addresses
Each computer connected to the Internet is given a unique address
called its IP address.
An IP address is a series of four numbers (one byte each)separated
by dots
The range of each of these numbers (0–255) allows for billions of IP
addresses
Computer Domains
• It is hard to remember the numeric IP address of all the
computers we communicate with
• The Internet uses human-readable symbolic names for
computers that are based on a hierarchy of domains
• A domain is a related group of networked computers
Domain Hirerarcy
• The example shows a hierarchy of domains
• Each is a member of the next larger domain.
• edu is a peer of other top-level domains such as com
• These names are symbolic and meaningful, making them
easier to read than numbers (and easier to remember)
• Optical fiber is used to transport data over greater distances and at faster
speeds, but it has several tradeoffs, including higher costs and more fragile
components.
Wireless networking
• Wireless networking uses radio waves to transport data over the
air, enabling devices to be connected to a network without any
cabling.
• Wireless LANs are the most well-known and widely deployed form
of wireless networking.
• Alternatives include microwave, satellite, cellular and Bluetooth,
among others.
Web 2.0
• The phrase "Web 2.0" hints at an
improved form of the World Wide Web (ca
2004)
• Emphasizing tools and platforms that
enable the user to Tag, Blog, Comment,
Modify, Augment, Rank, etc.
• The more explicit synonym of
"Participatory Web"
No Products but Services
“There are no products, only solutions”
• Not what customer wants but why they want
• A problem-solving approach
• Simple Solutions
Customization
• Every individual is unique: Some people want
to be different
• Allow user to choose instead of forcing him to
use what you have made
• Make user feel home
– My yahoo, Google Homepage, myspace
– Firefox extensions
Web Search
The first step, crawling, visits every Web page that it can find
The crawler has a to-do list that is loaded with a set of pages to start
When a URL is found while crawling a page, it adds that URL to the to-do list
The index is a list of tokens (or words) that are associated with the page.
For each token, the crawler creates a list of the URLs associated with that token
Query Processing & Page Ranking
Query processing
->The user presents tokens (search terms) to the query processor
->The search engine then looks up the word in the index and returns a hit list
->By creating the index ahead of time, search engines are able to answer user queries very
quickly
Page Ranking
Measuring the relevance of pages. works by counting the number and quality of links to a page.
ONTOLOGY
• An ontology is an engineering artefact consisting of:
• A vocabulary used to describe (a particular view of) some domain
• An explicit specification of the intended meaning of the vocabulary.
• Classification based information.
• Constraints capturing background knowledge about the domain.
Advantages of Using Ontologies
• Enhances the functioning of semantic web:
• Can improves accuracy of web searches.
• Allows development of programs that can tackle
complicated queries
SPARQL: A Query Language for RDF
INFO100: Information Systems
Agenda
• Definition and role of information system in business
• Types of Information Systems
• Traditional and Agile system development
• Examples of Information Systems
• SQL
• Oppgave
Mobile Applications
Information Systems Types and Various
Levels of Hierarchy
IS Development Framework
IS: Development Phases (I)
• Project planning, feasibility study:
Establishes a high-level view of the intended project
and determines its goals.
• Systems design:
Describes desired features and operations in detail,
including screen layouts, business rules, process
diagrams, pseudo-code and other documentation.
IS Development Framework
• Constructs which are concepts that form the vocabulary of a domain.
They constitute a conceptualization used to describe problems within the
domain and to specify their solutions.
• Systems design:
Describes desired features and operations in detail, including
screen layouts, business rules, process diagrams, pseudo-code and
other documentation.
IS’ Development Phases (II)
• Implementation: The real code is written.
• Integration and testing:
Brings all the pieces together into a special testing environment,
then checks for errors, bugs and interoperability.
• Maintenance:
Changes, correction, additions, moves to a different computing
platform and more.
Layered structure
Database design
• Relational database design
Database design
• Structured Query Language, SQL
– Standard for commercial database managers
– Easy to transfer information to and from the database.
Clusters (former page)
Data Normalization
INFO100: Databases
Agenda
•Databases Types
•Database management systems
•Normalization
•SQL
•Obligatorisk oppgave
Compound Key – has two or more attributes that allow you to uniquely recognize a specific
record. It is possible that each column may not be unique by itself within the database.
Foreign Key – is a column that creates a relationship between two tables. The purpose of
Foreign keys is to maintain data integrity and allow navigation between two different
instances of an entity.
Super Key – A super key is a group of single or multiple keys which identifies rows in a
table.
Primary Key – is a column or group of columns in a table that uniquely identify every row in
that table.
Candidate Key – is a set of attributes that uniquely identify tuples in a table.Candidate Key
is a super key with no repeated attributes.
Alternate Key – is a column or group of columns in a table that uniquely identify every row
in that table.
Super Key
A super key is a set of one or more attributes (columns), which can uniquely identify a row
in a table.
Foreign Key (Relating to another table)
Composite Key
Need for Database Normalization
- Data organized in tables
- Each row is a record
- Each column is an attribute
o Entities: rows of the database table
o Attribute Name: column heading
o Entity instance: value in a row
o Table instance: whole table
Data identifiable and simplified (no
redundancy)
Normalization
•A process of organizing the data in database to avoid data
redundancy.
IBM implemented the language, originally called Sequel, as part of the System R project in
1970s.
The first commercial relational database was released by Relational Software which became
Oracle.
SQL Language Elements
•Clauses, which are constituent components of statements and queries. (In
some cases, these are optional.
•Expressions, which can produce either scalar values, or tables consisting of
columns and rows of data
•Predicates, which specify conditions that can be evaluated to SQL three-
valued logic (3VL) (true/false/unknown) or Boolean truth values and are used
to limit the effects of statements and queries, or to change program flow.
•Queries, which retrieve the data based on specific criteria. This is an
important element of SQL.
•Statements, which may have a persistent effect on schemata and data, or
may control transactions, program flow, connections, sessions, or diagnostics.
•SQL statements also include the semicolon (";") statement terminator.
Though not required on every platform, it is defined as a standard part of the
SQL grammar.
•Insignificant whitespace is generally ignored in SQL statements and queries,
making it easier to format SQL code for readability.
Physical Database
- The physical database is designed by database administrators
- Data must be accessed fast.
- The physical database is set up to avoid redundancy (duplicate information)
o There is a good chance that data stored in various places will not be updated.
Logical Database
The logical database shows users the view of the information they need and want.
It doesn’t exist permanently, but is created every time they need it.
The logical database is retrieved from the one copy stored in the physical database, and
provided to the users as needed.
Graph database
•a graph database (GDB) is a database that uses graph
structures for semantic queries with nodes, edges, and
properties to represent and store data.
Meta Database
•Meta database is a database model for
(1) metadata management,
(2) global query of independent databases, and
(3) distributed data processing.
Original meant data about data.
INFO100: Software Development
Agenda
•Software development (phase and types)
•UML
•Mandatory assignment
Stages of SW Development
The elements influencing software development:
•Product
•Process
•People
Types of Software
Unified Modeling Language (UML) [Wikipedia]
•UML is a general-purpose, developmental, modelling languiage in the field of software engineering
that is intended to provide a standard way to visualize the design of a system. [1]
•The creation of UML was originally motivated by the desire to standardize the disparate notational
systems and approaches to software design. Developed in 1994–1995, and further through 1996.
•In 1997, UML was adopted as a standard and managed by the Object Management Group (OMG).
•In 2005, UML was also published by the International Organization for Standardization (ISO) as an
approved ISO standard. Periodically revised to cover the latest revision of UML
•In software engineering, most practitioners do not use UML, but instead produce informal hand
drawn diagrams; these diagrams, however, often include elements from UML.
Static (or structural) view: emphasizes the static structure of the system using
objects,
attributes, operations and relationships. It includes class diagramand and compostie
structure diagrams.
Dynamic (or behavioral) view: emphasizes the dynamic behavior of the system by
showing collaborations among objects and changes to the internal states of objects. This
view includes sequence diagrams, activity diagrams and state machine diagrams.
Static Diagrams
Class diagram
Component diagram
Composite structure diagram
Deployment diagram
Object diagram
Package diagram
Profile diagram
Structure Diagram
•Structure diagrams represents the static aspects of the system. It
emphasize the things that must be present in the system being modeled.
•the second section consists of the names of all the attributes that the class contains with their data types
•the third section consists of the methods (or functions) that are defined in the class.
Component Diagram Modell
•It shows behavior and organization of components at any instant of (run) time.
•The system cannot be visualized by any individual component, but it can be by the
collection of components.
Composite Structure Diagram
•It is a UML structural diagram that contains classes, interfaces, packages, and
their relationships,.
•In other words, deployment diagrams show the hardware for your system, the software
that is installed on that hardware, andthe middleware used to connect the disparate
machines to one
Object Diagram
•It can be referred to as a screenshot of the instances in a system and the relationship
that exists between them.
•Since object diagrams depict behavior when objects have been instantiated, we are
able to study the behavior of the system at a particular instant.
Package Diagram
•It shows the arrangement and organization of model elements in middle to large scale
project.
•It can show both structure and dependencies between sub-systems or modules
Profile Diagram
•Profile diagram is structure diagram which describes lightweight extension mechanism
to the UML by defining custom stereotypes, tagged values, and constraints.
•Profiles allow adaptation of the UML metamodel for different: platforms, such as Java
Platform, Enterprise Edition (Java EE) or Microsoft .NET Framework, or; domains, such
business process modelling, service.
Dynamic Diagrams
Activity diagram
Communication diagram
Interaction overview diagram
Sequence diagram
State diagram
Timing diagram
Use case diagram
Activity diagram
•The activity diagram describes the business
and operational step-by-step activities of the
components in a system.
Interaction diagrams
•Interaction diagrams are a subset of behavior diagrams.
•They emphasize the flow of control and data among the things in
the system being modeled.
•A use case diagram shows various use cases and different types of users
the system has and will often be accompanied by other types of diagrams
as well.
IS Development Framework
•Constructs which are concepts that form the vocabulary of a domain.
They constitute a conceptualization used to describe problems within the
domain and to specify their solutions.
•Systems design:
Describes desired features and operations in detail, including
screen layouts, business rules, process diagrams, pseudo-code
and other documentation.
•Maintenance:
Changes, correction, additions, moves to a different computing
platform and more.
Waterfall model
Waterfall model: features
•Carried out sequentially
•Each stage quality assured
•Each stage starts at the agreed baseline
•NO stage repeated
•Risk for mismanagement and bureaucracy
•Suited for large, multi agent projects projects with
need for security
•Suited for projects with complex and lot of
requirements
•Interesting for big industries
Spiral Model
Incremental Model
Incremental Model: Features
•Succession of self-contained phases
•Each phase is a mini project
•Earlier phases may be re-worked after later phases
•Risk:
–to define well phases
–Budget and time management
•Works well with stabile and well-defined system
requirements
•Good for large projects
•Risk could come form too much rework
RAD Features
•User involvement
•Prototyping
•Acceptance of imperfection
•The 80/20 rule
–It is important to identify the most important
requirements that will deliver most of the system
benefits: 80% of benefits by just 20% of
functionality.
•Time boxing
•Workshops
Agile Methods
•Overview
•Agile manifesto
•Scrum
•eXtreme Programming
•Kanban
•User Stories
•DSDM
•Crystal family
•Agile Modelling
•Feature Driven Development
KANBAN
•Kanban is a popular framework used by software teams
practicing agile software development.
•In the late 1940s Toyota began optimizing its
engineering processes based on the same model that
supermarkets were using to stock their shelves.
KANBAN
Pair programming
•Two persons working on the same computer.
•A driver and a navigator.
•Not meant to be mentoring but working together.
Development Cycle
Development Features
–PERT charts
Privacy Definition
•Privacy: The right of people to choose freely under what
circumstances and to what extent they will reveal
themselves, their attitude, and their behavior to others.
•Generally, privacy concerns four aspects of our lives: our
bodies, territory, personal information, and communication
Voluntary Disclosure
•In principle, a person can enjoy perfect privacy by simply deciding not to
reveal anything to anyone
•It may be in our interest to reveal private information, freely in exchange
for real benefits
–The government may have information on us regarding our parents’
names and birthplaces for the purpose of enjoying the rights of citizenship;
–Credit card companies get our personal information to check our credit
record in exchange for the convenience of paying with a card;
–Doctors receive our personal information so they can help us stay healthy.
Privacy Threats
Government
•Historically, the governmental threat of spying on its citizens,
worries people the most
Business
There are two types of business threats:
•Surveillance of employees
•The use of business-related information for other purposess
Privacy
•Trusting software depends on various elements, one of
which is the protection of user privacy.
•Protecting privacy is about:
–complying with user's desires when it comes to
handling personal information,
–the user’s right to determine when, how and to what
extend information about them is communicated to
others.
•Solutions given by the modern practices for ensuring
privacy during the design of information systems.
Privacy in e-services, social media
•Most e-services rely on stored data for identifying
customers, their preferences and previous record of
transactions. Combining such data constitutes in many
cases, an invasion of privacy.
•The development of a global information society results
in the rapid development of new information
infrastructures that span among various countries.
–This creates additional threats regarding privacy
protection of the users using these global resources.
Government Threat
[Snyder, pp.354]
•In June 2013, Edward Snowden revealed that the U.S. government was
collecting complete metadata records from telephone carriers
–it is still unknown if these allegations are true
•The government was also collecting online activity from Facebook, Microsoft,
Google, etc.
•Included data to calls to other countries
Modern Devices and Privacy
•In the past, it was hard for people’s privacy to be
violated without their knowledge.
•With modern technological devices, people’s
privacy can be violated without their knowing it.
•We deserve that our information is guarded
against improper circulation.
Cookies
Cookies are exchanged between the client and the server on each
transmission of information, allowing the server to know
which of the many clients is sending information. If the Web site
includes ads on its page, the server may direct it to link to the ad
company to deliver the ad.
Abuse of Cookies
•All browsers allow users to control how cookies are
processed
•Users could turn them off, forcing the browser to ask them
every time whether you will accept a cookie or not
•There are choices: users can set the browser’s cookie policy
to their own comfort level
•Turning off cookies prevents you from being able to bank
online!
Identity Theft
•The Security Principle states that those who hold private
information are obligated to maintain its privacy against
unauthorized access and other hazards.
Figure: Types of identity fraud.
Source: Alexander (2015)Alexander, A. (2015). Protecting yourself from
identity theft.
Retrieved from www.thewatermarkgrp.com
What is Malware?
•Virus: shared program the contains code to reproduce itself
•Worm: program that is often embedded in an attachment,
reproduces itself and sends a copy to everyone on your
contact list
•Exploit: when software takes advantage of bugs in
commercial software
•Trojan: malicious program that performs unauthorized
activities
Cybersecurity
Definition:
•Measures taken to protect a computer or
computer system (as on the Internet) against
unauthorized access or attack
Encryption
[Snyder, pp.367-370]
Encryption
What is GDPR?
The General Data Protection Regulations (GDPR) is new EU legislation
that comes into effect on May 25th, 2018.
It very clearly sets out the ways in which the privacy rights of every EU
citizen must be protected and the ways in which a person’s ‘Personal Data’
can and can’t be used.
Store
• How you must store it
• Where it can be stored
• Obligations of third parties
• What happens if you lose it
Use
• What you can use it for
• What you can’t use it for
Destroy
• How long you can keep it for
• When you must destroy information
CIA triad
Confidentiality: It is the ability to hide information from
unauthorized person. Cryptography and encryption methods are
often used to ensure confidentiality.
Integrity: It is the ability to ensure that data has not been altered
or modified by unauthorized party.
•Soft goals are goals that are hard to express, but tend to be global
qualities of a software system:
–usability, performance, security and flexibility in a given system.
2 Finding interfering softgoals in different trees security goals generally interferes with usability.
4. Pick some particular leaf softgoals, so that all the root softgoals are satisfied.
Information Flow
• Visual Based: The visual-based human-computer interaction is probably the most
widespread human-computer interaction (HCI) research area.
• Audio Based: This area deals with information acquired by different audio signals.
• Task environment: The conditions and goals set upon the user.
• Machine environment: The computer's environment is connected to a particular
computer.
• Areas of the interface: The overlapping areas only concern themselves with the
processes of their interaction.
• Input flow: The flow of information begins in the task environment when the user
has some task requiring using their computer.
• Output: The flow of information that originates in the machine environment.
• Feedback: Loops through the interface that evaluate, moderate, and confirm
processes as they pass from the human through the interface to the computer and
back.
• Fit: This matches the computer design, the user, and the task to optimize the
human resources needed to accomplish the task.
Experimental Design
•Tasks
•Empirical Measurement
•Iterative Design
Heuristic Evaluation
Heuristic principle (website system
example)
this system.
•I found the various functions in this system were well integrated.
•I thought there was too much inconsistency in this system.
•I would imagine that most people would learn to use this system very
quickly.
•I found the system very cumbersome to use.
•I felt very confident using the system.
•I needed to learn a lot of things before I could get going with this system.
Why the System Usability Scale (SUS)?
• A comparison of five questionnaire for assessing
usability of a website, concluded that the SUS
survey gave the most reliable results (Tullis &
Stetson, 2004).
Are 3 users enough?
Approximately 60 % usability problems found
by 3 evaluators.
User-Centered Design (UCD)
•User-Centered Design (UCD) is a design process
where the focus is on the intended user and their needs
throughout the design process.
•Good design is more than just content. Users are
expecting to be presented with a well-functioning and
easy to use systems, so it is important to have a good
User Interface (UI).
Prototyping (types)
Low fidelity
Good for creating a layout and multiple design options but is
bad at discovering usability issues.
–Sketching, Wireframing, Mock-up.
Middle fidelity
A mixture of the correct content and functionalities but is
still missing key elements, such as full functionality
High fidelity
Close to the final product. The prototype is easy to evaluate
and test on when trying to detect usability issues.
Requires a lot of energy and time.
ICT Sector
•The ICT sector is defined as the industries that
produce goods and services for the information
society.
•ICT sector includes:
–ICT industry
–ICT wholesale and retail trade
–ICT consultancy services
–Telecommunication
DESI Index
•International DESI 2020
The International Digital Economy and Society Index (I-
DESI) mirrors and extends the DESI by utilizing 24
datasets to enable trend analysis and comparison of the
digital performance of 45 countries. The analysis
includes the EU27 Member States and 18 non-EU
countries that have a global distribution.
Positive Impacts of ICT
•The Internet has brought substantial and positive changes to
society. Social interactions have been extended well beyond the
experiences that previous generations could enjoy. We will focus on
Crowdsourcing: Kickstarter
•People with creative projects pitch their
ideas:
–They say what they’ll do
–How much money they need
to do it
–Why it’s important, etc.
•Donors can contribute toward the goal.
•If the goal is achieved the project is
funded; otherwise, the donors get their
money back
Negative Impacts of ICT
•Reduced personal interaction
•Reduced physical activity
•Digital divide: causing a digital divide between those who
can access information and those who cannot, reducing
levels of education and understanding due to the vast
amount of incorrect and misleading information that is
available causing moral and ethical problems due to the
nature of some of the material available.
•Job loss
•Manual operations being replaced by automation. e.g.
robots replacing people on an assembly line.
•Job export. e.g. data processing work being sent to other
countries where operating costs are lower.
3. Hva er CPU?
The Control Processing Unit or CPU is an electronic circuitry which retrieves and
executes instructions from the computer. While RAM is the memory, CPU is the
brain of the system.
8. Hva er NORSAR?
The Norwegian Seismic Array or NORSAR was the first non-US node established on
ARPANET. ARPA Network became international in 1973 connecting Norway though
Sweden and Virginia to the US though satellite links.
c. Internet of Things
c. OSI model
b. Agile
b. Normalized
c. The heuristics used to obtain user feedback on the system they are
developing.
19. The results of the system usability testing are showing three
usability scores. They are: