a-tag

       The a-tag is used to link pages together. Links are the new thing of www, and among other things gave name to one of the first browsers, Lynx. You can also make links internally on a page, e.g. from a table of contents to a chapter.
       Here's an example:

<a href="divex.html">Link 1</a>
<a href="divex.html#links">Link 2</a>
<a href="#links">Link 3</a>
<a name="links" />
       In the first case I have an ordinary link to an XHTML page. In the second case I link to a spot on this page. In the third case I do the same, but linking to a spot on the page where I am. Finally in the fourth case I define a spot, that might be linked to. In the first 3 cases there's a text within the tag (e.g. "Link 1") - this is a text, that will be shown in the browser underlined.
       One of the extra attributes, that can be put on an a tag, is target. Here you can link between the windows or frames already there. If you link to a target, and the browser don't know what you mean, a new window will be opened.
       You can also link directly to a picture. Take note, that big pictures will be "shrunk" in some browsers, while they will keep their size in others, and be augmented with scrollbars. You can make more advanced links by using javascript.

Concept last updated: 06/05 2004.

Relationer

is a kind of

Andre kilder

  • Beginning XHTML; Frank Boumphrey, CG, DR, JR, SS, TW - 4 Links and embedded objects - The <a> element
  • Diverse opgaver - Links
  • Diverse XHTML eksempler - Links
  • The Web Wizard's Guide to Dreamweaver; James G. Lengel - Chapter 1, Introduction to Dreamweaver, Build a page with Dreamweaver, Link the pages

Actionscript

       Actionscript is object oriented, and is like Javascript is other ways too. You can only produce (meaningful) actionscript in the correct environment: flash.

Concept last updated: 06/05 2004.

Relationer

can produce
is a kind of
can become

Andre kilder


And/or

       It is possible to check more than one condition at the same time. You just chain them together, with the words "and" and "or". Example:

if ((the hit ship only had one field left)
and (there was only one ship left))
  appoint a winner

if ((this field belongs to player A)
or (this field belongs to player B))
  there shouldn't be water here

Concept last updated: 24/09 2003.

Relationer

is a

Andre kilder


Array

       Imagine a shelf for CDs, with little holes for the CDs, enummerated. It is very easy to find no. 22. And there's only space for a finite number of CDs. Arrays work the same way.
       An array is a data type based on the other data types. You can have e.g. an array of numbers or strings. If the data type is numbers, there's numbers in all of the array, etc. Enummeration begins at 0. And you can e.g. address the array myShips, element no. 3 this way:

myShips[3]

Concept last updated: 06/05 2004.

Relationer

is a

Andre kilder


ASP, PHP

       These are 2 examples of scripting languages - i.e. simple programming languages not compiled. They are both good at running at webservers, running serverside. I.e., if I ask what time it is, I'll get the answer from the webserver, not the client. And I can gain access to e.g. a database, that's also on the webserver.
       Both languages are XHTML with embedded program pieces. The program produces more XHTML, and the browser only sees XHTML. In special cases the document doesn't contain/produce any XHTML, but e.g. makes a correction in a database, and then makes sure another page is shown.
       Active Server Page was invented by Microsoft - typically this is VBScript (originates in Visual Basic), embedded in XHTML. There files have .asp as suffix.
       PHP: Hypertext Preprocessor is primarily used on Linux servers, and is free. These files have .php as suffix.
       In very large programs in e.g. javascript, you can easily feel the connection in the program. If e.g. a variable is initiated, it will still be available 5 minutes later. When working with client server, it is easy to end up with a lot of small program pieces, and none of them know the past. To avoid this, you can use sessions, which allow variables to live a long time and be known by different program pieces.

Concept last updated: 06/05 2004.

Relationer

can contain
is a kind of

Andre kilder


Bandwidth

       Band width is an expression for how many data can be moved over the network via e.g. a cable within a certain time. E.g. a 56K modem is twice the "width" of a 28K modem. The unit is bps: bits/second. So actually we talk about 28 Kbps or 28,800 bits/second. (Note that when we talk about harddiscs we talk about bytes, and there's 8 bits in a byte. A byte is typically enough for a (small) number or a letter.)
       If the network doesn't have enough band width, TCP/IP packages will be lost, and things will slow down, or not work at all.

Concept last updated: 16/09 2003.

Relationer

limits
can limit the need for
limits the need for

Andre kilder


Branching

       This structure is very like if, but there are more than 2 possible choices. Example:

(fieldColor is defined)
branch on fieldColor
  if "blue"
    write "This is sea"
  if "green"
    write "This is part of a ship"
  if "brown"
    write "Here a ship was hit"
  if "red"
    write "Here some sea was hit"

Concept last updated: 24/09 2003.

Relationer

is a kind of

Andre kilder


Browser

       A browser is the piece of software used to display XHTML pages. Different companies and groups of programmers produce different browsers. Through the times some of the big browsers have been Lynx, Mosaic, Netscape Navigator, Internet Explorer (Microsoft), Opera and Mozilla. Apart from the names, they also have versions - a Navigator 2 can't show the same things as a Navigator 4.5 e.g.
       Different browsers show the same content in different ways, if they can get away with it. This is why it's important to find out what browsers the homepage will be shown in, and test the homepage in all of them.
       Since XHTML was chosen as the new standard, browsers were supposed to only show pages following the new standard - but this hasn't happened yet. Many browsers still have a "we guess this is what he meant" principle, when they display pages.

Concept last updated: 25/08 2003.

Relationer

shows
is
uses

Andre kilder


Class diagram

       When the classes have been uncovered and added to the class event table, the classes must be structured.
       There are 4 kinds of structure - the 2 between classes, and the other 2 between objects.
       Generalization: 2 classes are connected in a way so one is a generalization of the other. E.g.: a sub is a ship.
       Cluster: these are classes are connected with either generalization or aggregation (see below), and are collected in a cluster for overview.
       Aggregation: an object consists of other objects. E.g.: the field is part of the gameboard.
       Association: two objects are just connected. E.g.: the gameboard is connected with one player.
       The classes are put together in pairs, and if natural sentences can be made containing the names of both classes, there might also be a structure between them.

Concept last updated: 11/06 2004.

Relationer

can be a part of

Andre kilder


Class event table

       After the system definition is written, classes and events will be chosen. This includes finding nouns / verbs in the system definition.
       Events are sharply limited events, with a clearly defined before and after: a ship sinks, a die is thrown and so on.
       The tables have classes horizontally and events vertically, and some sort of mark, every time an event and a class have a connection. Examples:
       A player throws a die - therefore the event "throw die" have something to do with the classes "player" and "die".
       A player is created - "create player" has something to do with the class "player".
       Events often develop into methods later.

Concept last updated: 10/06 2004.

Relationer

is a kind of
can be part of

Andre kilder

  • Objektorienteret analyse & design; 3.udgave; Lars Mathiassen, A.M., P.A.N., J.S. (obl. for spil) - kapitel 3
  • OOAD slides - 3 klasser

Client/server

       If 2 programs has the relationship, that one program asks the other for a service, we talk about a client and a server. E.g. a webbrowser is a client, when it asks a webserver for a home page. And First Class is a client, when it gets in touch with fc.imma.dk (mailserver) to read email.
       Computers can be connected in other ways than client/server.

Concept last updated: 10/09 2003.

Relationer

makes possible
makes contact possible for

Andre kilder

  • Informationsteknologi B til HH; 1.udgave; Peter Zangenberg, JPJ, FDM (obl.) - 3.3 Udstyr pÃ¥ nettet, 7.1 Internetformater

Component

       The components of a computer are the physical pieces of hardware the computer is built of. This can be: monitor, keyboard, mouse, CD-ROM-drive, floppy drive, harddisc and sound card. A program can be affected by the strength of the expected components - e.g. a program with sounds can be affected by the lack of a sound card.

Concept last updated: 15/09 2003.

Relationer

has
is
is

Andre kilder


Compression

       When files are shrunk, we talk about compression. If you save e.g. a bitmap-picture as gif, you probably have a new smaller file. You save room this way, on your local computer, and on the network if the file needs to be moved.
       With text files, you can use e.g. zip.

Concept last updated: 16/09 2003.

Relationer

is about e.g.
limits the need for

Andre kilder


Computer

       A computer is a device to receive information (data, in digital form) and manipulate it, to get to a result. The recipe for this manipulation is in a program. Complex computers can also contain data. In this connection a program is also data.

Concept last updated: 10/09 2003.

Relationer

makes contact possible for
protects
is
is connected in
has
has
is
has

Andre kilder


Control structure

       If you look through a program, it can seem like one long story. Lines, that are written in a certain order. But they are not always run in the same order as they are written, and some of them may not run at all. We use control structures as one of the mechanisms to control how the program runs. These structures also help programs be smaller and be easier to understand and correct.
       Control structures are grouped together in sequence, selection and iteration. Sequence is the easiest - one line follows the next. Selection is like a choice - do we go left or right? Should we do something or not? "If" and "branching" are both examples of selection. Iteration is, that a piece of program can run 0, 1 or more times, depending on the circumstances. "For" and "while" are examples of iteration.
       When we talk about iteration, we also often talk about loops - a for loop e.g. When it has to be decided e.g. whether a selection should do one thing or another, we do it by examining the circumstances - very often by comparing two numbers or something similar. In this connection it is necessary to have operators to do the comparison - they could e.g. look like this:

== != < > >= <=
       And in English are called: "equals", "doesn't equal", "less than", "greater than", "greater than or equal" and "less than or equal". It could be part of a program like this:
if numberOfFields > numberOfHits
  write "This ship is stille here"

Concept last updated: 06/05 2004.

Relationer

is a kind of
is a kind of
is a kind of
is a kind of
is a

Andre kilder

  • Start pÃ¥ Javascript 1.5; Jes Nyhus; 1.udgave (obl.) - 6. Betingede sætninger, 7. Løkker

Create, alter, drop

       In this category of SQL, we affect the structure of the database, not the content. The first example shows a create sentence, where you typically make a new table. Here's a simple example:

CREATE TABLE player (
    p_name   VARCHAR(50) NOT NULL PRIMARY KEY,
    password VARCHAR(50) NOT NULL
)
       Create the table "player", with a column called "p_name" (50 characters at most, and there has to be something, and this is the primary key of the table), and a column called "password" (50 characters at most, and there has to be something).
       Sometimes there's the need to change in the already existing tables - e.g. create a new column. Below there's a simple example.
ALTER TABLE player
    ADD gender VARCHAR(10)
       Change the table "player", by adding a new column, called "gender" (10 characters at most).
       Finally there can be the need to delete an entire table. Here's an example.
DROP TABLE player
       Delete the table "player".

Concept last updated: 06/05 2004.

Relationer

is a kind of

Andre kilder


CSS

       Cascading Style Sheets is a way to add layout to XHTML pages. The cascading part comes from potentially having more than one style sheet for a single page - and if the same thing is defined more than once, there's a priority deciding which one the browser should choose. Here's an example of a small style sheet.

body {
  font-family: Arial, Helvetica, sans-serif;
  background-color: #808080
}
       This example concerns itself with two things, CSS often have: fonts and colors. I say, that within the body of my document the font Arial will be used (and if it's not on the computer, then Helvetica, and if...), and the background color should be 808080. Also note the use of parenthesis, colon and semicolon - it is conscious, that the last line don't have a semicolon at the end.
       Typical things to define also include: font-weight, font-size and color (see examples below).
       In the example above I define something for body. If I had defined something for p, it would go for all my paragraphs. But I can be more detailed. I can add an attribute to my p, either class or id. An example:
p.large {
  font-weight: bold;
  font-size: 24pt
}
p#overview {
  font-size: 10pt
}
       I define a class of p's, called large. Because this is a class, I can have more p's with the same class. I also define a p, with the ID overview. Because it's an ID, I can only have one P with this ID.
       CSS can be placed different places. It can e.g. be at the top of the document, in a style tag, after title, within head. It can also be in another document, referenced from a link tag, the same place as the style tag. Finally style can be inside the tag affected:
<p style="color: green">Bla bla</p>

Concept last updated: 06/05 2004.

Relationer

can be part of
is one of

Andre kilder

  • Beginning XHTML; Frank Boumphrey, CG, DR, JR, SS, TW - bl.a. 3 Getting started - Cascading style sheets
  • CSS Colors; W3Schools -
  • CSS How To...; W3Schools (obl.) -
  • CSS2 Reference; W3Schools (obl.) -
  • Diverse opgaver - CSS
  • Informationsteknologi B til HH; 1.udgave; Peter Zangenberg, JPJ, FDM (obl.) - 6.3 Farvemodeller
  • The Web Wizard's Guide to Dreamweaver; James G. Lengel - Chapter 2, Working with text, Arranging and formatting text, Heads and subheads, Style sheets
  • XHTML; Alf - 2.4 Layout pÃ¥ siderne + dele af senere kapitler (2.5.1, 2.5.2B.2)

Database

       We use databases, when it's necessary to update data easily and quickly. E.g. a businessman could be interested in creating a new product in his catalog, meaning the catalog is always updated when it goes to print. Or a webmaster wants the ability to update the news on the front page quickly. Some of the reason a database makes updates like these quick is, that they are well organized.
       When we discuss databases, we normally mean relational databases. This kind of databases was invented in 1970. To make a new relational database, one has to define the tables, rows and columns. With a relational database, it is not necessary to rewrite the whole program, just because a table has a new column - that is some of the reason this type of database gained popularity originally.
       Many companies manufacture databases. IBM manufactures DB2. Oracle manufacture databases, typically knows as Oracle. The same goes for the products of Sybase. Microsoft manufactures e.g. Access (Jet) and SQL Server. Borland manufactures Interbase. MySQL is an open source database, manufactured by MySQL AB.
       A database is just a file - just like a picture, an XHTML document or a Star Office Writer document. An Access file could be named vacation.mdb - an InterBase file could be names horses.gdb - sometimes there's more than one database in the file - sometimes you can't normally see the file in the file system. Just like the other types of files mentioned, there needs to be a program to interpret the contents of the file - for databases this type of program is called DBMS: DataBase Management System. Typically you speak SQL with your DBSM - SQL is a language, developed specially for conversations with databases. DBSM also has another task - to make sure, the database can have multiple simultaneous users. Jet can't do this, so Access databases are not recommended for websites, where we typically hope for many hits. There can be another program on the outside of the DBMS. E.g. Jet has a program called Access, with the purpose of making it possible not to type a lot of SQL, as almost anything can be done graphically. If you write a program in PHP or ASP, connected to a database, you have also made a shell for the DBMS. E.g. somebody wrote a program called phpMyAdmin, which you can install on your webserver, so there's a web interface for the MySQL database, that doesn't normally have a shell.

Concept last updated: 03/07 2003.

Relationer

manipulates
optimizes
describes

Andre kilder


Development environment

       In an development environment, you can usually do, what you could also do "by hand" - but now you do it through a graphical interface instead. E.g. there are development environments for producing XHTML pages, making it possible to create a home page without knowing XHTML. These tools typically have problems, so you still have to understand the document (even if you can't write it), so you can change the document, removing the worst errors.

Concept last updated: 07/10 2003.

Relationer

is a kind of
is a
is a kind of

Andre kilder

No other sources


Director

       Director is a development environment, that can produce Director movies, later distributed by CD-ROM, DVD-ROM, and networks, including websites. These movies can be complicated programs, or simple presentations of text and pictures.

Concept last updated: 07/10 2003.

Relationer

is a kind of
can produce

Andre kilder


DNS

       A Domain Name Server knows the connections between IP addresses and domain names. www.imma.dk is a domain name e.g. dk is level 1, imma is level 2 etc.
       Other computers ask DNS's when they don't know the connection themselves. E.g. a request from a browser to www.imma.dk would result in a request to one (or more) DNS(s), returning the IP address - so the browser can continue.
       Some of the level 1 domains are: dk, no, com and edu. This level corresponds to different types of organizations, like countries.

Concept last updated: 16/09 2003.

Relationer

makes possible

Andre kilder


Documentation

       Documentation is the group of documents manufactured in connection with a certain project/product. A report is documentation e.g. The need for and the volume of documentation varies a lot from project to project. The volume is dependent on how much opportunity there will be to teach the user verbally, among other things.
       Documents can concern themselves with past, present and future. And the same document can concern itself will all 3, depending on the time. The document can design something not made yet, and therefore describe the future. It can also be a todo list for what should be programmed right now. And finally it can be a kind of manual for the finished product, therefore describing the past, what was done.
       Documentation can be aimed at different groups. Some is written for the project group, some for the customer, some for the users, and some for 2 or 3 of these groups.
       Some documentation exists on paper, some electronically. Some forms of documentation are even part of the product.

Concept last updated: 07/08 2003.

Relationer

is a kind of
is a kind of
is a kind of
is a kind of
is a kind of
is a kind of
is a kind of
is a kind of
is part of

Andre kilder

  • Udvikling af multimedier - en helhedsorienteret metode; 1.udg.; Marie Chr., L.H.F. (obl., ikke-spil) -

Dreamweaver

       Dreamweaver is a tool for handling home pages comfortably. You can knit a home page, and within the same program see what it will look like. You can finish the page, and within the same program upload it to the webserver. And when you're an expert in writing XHTML tags etc., you can use the functions in Dreamweaver to produce XHTML, without having to type the tags.
       There are other XHTML tools than Dreamweaver. E.g. Microsoft makes Frontpage. When you want to evaluate how good a tool is, you look for this among other things: what possibilities does this tool offer (do I have to type all the tags myself? - how easy is it to make advanced stuff?), and how nice are the tags (can I read the tags, if the tool produced them? - is it XHTML or HTML?). It's also a paramter whether both beginners and experts can use this tool to their advantage. Using these parameters, Dreamweaver is currently ahead.

Concept last updated: 20/11 2003.

Relationer

can produce
is a kind of

Andre kilder

  • Diverse opgaver - Dreamweaver + EnSimpelSide.html
  • The Web Wizard's Guide to Dreamweaver; James G. Lengel -

E/R-diagram

       The purpose of E/R-diagrams is to give a quick overview of the relevant database. It is important, that all tables are there, but even more important, that all relations are there. In this area tables are called entities, and the system of foreign keys are called relations - entity-relation-diagram. Ideally entities have their own life - postal districts and members have a life of their own, whether they appear in a database or not. Relations are more fluid - they don't always have a real physical existence.
       On the left there's an example of an E/R-diagram. The tables are boxes, and the relations are diamonds, with lines to the tables, there's a relation between. The numbers on the connecting lines show what kind of relation, this is - also called multiplicity. The relation on the right is a one-to-many relation. It is read as: "one player can write many messages". The relation on the left is a many-to-many relation - one player can be in many chatrooms, and a chatroom can contain many players. It's also possible to have a one-to-one relation. You don't reach this relation by normalization, but can choose it for optimization. E.g. a table can have columns often used (name and password is used at every login), and other columns almost never used (a users gender and birthday). In this case the table can be split, so the columns often used are apart.
       A special kind of E/R-diagram is called Bachman-diagram. As many-to-many relations become new tables, it's not allowed to have many-to-many relations in Bachman-diagrams - they must also be shown as tables. So this kind of diagram is a bit closer to showing the real look of the database.
       E/R-diagrams can be more slim than shown here. Names of columns and relations don't have to be here. But names of tables and multiplicity should always appear.

Concept last updated: 07/07 2003.

Relationer

describes
is a kind of

Andre kilder

  • Databaser; Teori og praksis; 2.udgave; Lars Frank; 1.3.2, Bachman diagrammet (s.29-30) -
  • Databaseteori; Alf (obl.) - 1.2 - E/R-diagrammer frem til Referentiel integritet
  • Diverse opgaver - E/R-diagram

EnSimpelSide.html

       This is an example of a simple XHTML page. Here's the simple code.

<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>A simple page</title>
</head>
<body>
<p>Lises nice simple page</p>
</body>
</html>
       These tags and attributes mean:
       This is an XHTML page (shown in the tags <?xml>, <!DOCTYPE> and <html>) (check it against the specification of XHTML, in the .dtd file).
       The title of the page (shown on the upper edge of the browser, and saved when I make a bookmark) is "A simple page" (shown in tag <title>).
       The content of this page should be "Lises nice simple page" (shown in the tag <body>).
       An XHTML document is saved in a file, ending with .html - or maybe just htm.
       <head> and body marks the "secret" (not to be read by humans) and public content.
       <p> marks a paragraph. Paragraphs are surrounded by line breaks and empty lines. If you just want a line break, use <br />.

Concept last updated: 12/09 2003.

Relationer

is a kind of

Andre kilder

  • Beginning XHTML; Frank Boumphrey, CG, DR, JR, SS, TW - 3 Getting started
  • Diverse opgaver - Dreamweaver + EnSimpelSide.html
  • EnSimpelSide.html -
  • EnSimpelSide.xml -
  • The Web Wizard's Guide to Dreamweaver; James G. Lengel - Chapter 1, Introduction to Dreamweaver
  • XHTML; Alf - 2.1 Sidens indhold + 2.2 Forklaring pÃ¥ koden

Event

       A running program can wait for certain events. E.g. a browser can show a page, built up with the javascript event handlers mouseover and mouseout. So the browser has to look for the mouse visiting certain areas - and when the event occurs, a certain piece of program will be run.

Concept last updated: 15/09 2003.

Relationer

is connected with
is a

Andre kilder


Exploring development

       Exploring development has this name because the goal isn't set at the beginning - so you have to explore the "landscape". This is solved as the phase where the product is designed, programmed and tested is run through several times, until you're done and the product is "large enough". It's an asset that a program can be written, even though nobody knows beforehand how to do it - but it's a disadvantage, that the program might not be as efficient. A typical error is to write a piece of program, that in the end isn't used, but is still run.

Concept last updated: 06/05 2004.

Relationer

is a kind of
uses tools from

Andre kilder

  • Udvikling af multimedier - en helhedsorienteret metode; 1.udg.; Marie Chr., L.H.F. (obl., ikke-spil) - s.29-39

File system

       A file is a bunch of data, that can be moved together. E.g. an XHTML document, a gif picture or an Interbase database. Further it has a name, unique in that particular directory. The name can have a suffix (a last syllable - in this case what's after the dot), e.g. gif or html .
       A directory is sort of a drawer, where you can put files and other directories. Directories also have names, that also need to be unique.
       Here's a couple of examples of paths - in this case absolute paths:

C:\lisea\game\ship.gif
D:\backup\20030910.zip
D:\old\backup.txt
/usr/local/apache/bin/httpd
       The first example is the path starting on a Windows computers C drive, through the directories lisea and game, down to the file ship.gif. The last example starts in the root of a Linux machine, and goes through the directories usr, local, apache and bin, to the file httpd.
       There's more than one kind of paths. A relative path starts in a point on the machine, and then goes up and down through directories, to get to the target. If I start at 20030910.zip e.g., I can address backup.txt this way:
..\old\backup.txt
       I go upwards first by writing ".." for every directory, and then down by writing the name of every directory.
       Note that paths in URL's don't necessarily correspond to paths on the machine. Below are two paths, as they look from the inside and from the outside.
/usr/local/home/lisea/public_html/lise.html
/~lisea/lise.html
       Paths are used e.g. when XHTML documents refer to other files - e.g. with the a tag and the img tag.

Concept last updated: 10/02 2005.

Relationer

has

Andre kilder

  • Informationsteknologi B til HH; 1.udgave; Peter Zangenberg, JPJ, FDM (obl.) - 4.4 Styresystemer

Firewall

       A firewall is a kind of valve: it's easy to get out (on the internet), but hard to get in.
       The firewall is one or more programs on a computer, that's also a node between intranet and internet. All packages going through are checked. Some of the packages are discarded. A typical rule for checking is to check which porst are allowed.
       A rule of thumb: a firewall starts as closed, and has to be opened to allow the necessary access.

Concept last updated: 15/09 2003.

Relationer

works together with
works together with
gives

Andre kilder

  • Informationsteknologi B til HH; 1.udgave; Peter Zangenberg, JPJ, FDM (obl.) - 9. Virksomhedens sikkerhedsstrategi og -politik
  • \\2000\diverse\Lise\goodwarriors.mpeg -

Flash

       This is a development environment, that is very good at producing vector graphics animation programs.

Concept last updated: 07/10 2003.

Relationer

is like
is a
can produce

Andre kilder


Flowchart

       The flowchart documents the interaction design - the organization of data, and the most importaint routes through data. It is less detailed than a navigation diagram. The example on the left documents, that I will have 2 blocks and a front page. One block describes the rules of the game. The other gives options of playing and chatting. Each block could end up as more than one screen. The blocks are the blocks that were defined in the information design - i.e., what data does the product contain, and how should they be structured. I have e.g. decided, that choosing an opponent and the game itself, and the chat alongside the game, all should be in one block.

Concept last updated: 10/08 2003.

Relationer

is a kind of

Andre kilder

  • Interaktionsdesign -
  • Udvikling af multimedier - en helhedsorienteret metode; 1.udg.; Marie Chr., L.H.F. (obl., ikke-spil) - 5. Designtrinnet; Opbygningen af flowcharts (s.129-130)

For

       This kind of loop is good for program pieces meant to run (almost) the same way many times. Here's an example:

for the numbers 1-5
  draw myShips[number]

Concept last updated: 23/09 2003.

Relationer

is a kind of

Andre kilder


form-tag

       You can make formulas in XHTML - a collection of fields and menues, so users can type in their information, and send it to the webserver, that might then produce e.g. an email, or put it in a database.
       The most important tag in this connection is form, surrounding all of the formula. form takes a number of attributes. One of them is action - here you write the name and place of the script, that's supposed to get data from the formula. Another one is method, showing how the data should be sent. If you choose get, you will later see data as part of the URL, at the top of the browser. If you choose post, data is sent in another way. Post makes it possible to send more data, and is safer, so normally it is preferred in formulas.
       Inside the formula, the most important tag is input, making type in fields, buttons etc. possible. input takes among other things the attribute type, that might have the values text (ordinary text), password (like text, but on the screen the typed will be shows as stars), hidden (also text, but the value won't be shown on the screen), submit (a button, that sends the data), image (also a button, but here a picture can be used), checkbox and radio (two different ways to make fields, that accept clicks).
       There are also other tags for use in formulas. select is a tag, that can surround one or more option tags. The result is a menu, one line for every option.
       An example.

<form action="http://stream.imma.dk/lisea/bog/dok/visalt.php"
method="POST" name="creation" onSubmit="return afsendelse(this)">
<input type="hidden" name="secret" value="A secret field" />
Name: <input type="text" name="navn" /><br />
Type: <select name="type">
<option>Player</option>
<option>Administrator</option>
</select><br />
<input type="submit" />
</form>
       This formula calls the script visalt.php (show all) - and I know it just shows all the variables and values, the script got. There's a secret field, a text field, a menu and a button. It's important the fields have names, because these names go on to the script. Over there I can tell the difference between e.g. secret and name. When the data are submitted a javascript function is called, that will either approve the content, or reject the submission.

Concept last updated: 15/04 2004.

Relationer

is a kind of

Andre kilder


frame-tag

       With frames the browser window can be split into several smaller windows, all containing XHTML documents. An example:

<frameset cols="30%,55%,15%">
  <frame src="menu.html">
  <frame src="main.php">
  <frame src="fun.html">
</frameset>
       The frameset tag surrounds a number of frames, and say whether these should be split vertically into columns or horizontally into rows or both. It is also said what width/height these frames should have.
       The frame tag surrounds a single XHTML page.
       Note that you can also put framesets within framesats - e.g. one frameset can handle the horizontal, and another the vertical.

Concept last updated: 07/10 2003.

Relationer

is a kind of

Andre kilder

  • Beginning XHTML; Frank Boumphrey, CG, DR, JR, SS, TW - 7 Frames
  • Frame-eksempel -
  • The Web Wizard's Guide to Dreamweaver; James G. Lengel - Chapter 6, Formatting pages, Frames

FTP

       File Transfer Protocol makes it possible for files to be copied between machines. There are special clients, who can only do FTP, but Dreamweaver also has FTP functionality built in. So you can e.g. copy an XHTML document from your own computer to a webserver with FTP.
       We talk about upload/put and download/get. In Dreamweaver put is symbolized by an arrow pointing up, and get by an arrow pointing down. So in this sense the internet is "up". We put stuff up on the internet, or pull it down from the 'net.

Concept last updated: 10/09 2003.

Relationer

makes possible
uses
is

Andre kilder


Function

       This is a small piece of program, nicely packaged, and put slightly away. Furthermore, this piece won't run unless it is called.
       Functions make easy recycling (the function can be called several times from different places), quick fixes (only one place to change the program), and quick change overs (a whole function can be replaced by another).
       Here's an example:

function shootAtShip(x,y)
  if there's a ship at (x,y)
    mark this ship as hit in (x,y)
    return 1
  else
    return 0
       A parameter is input to a function - some functions need input to work. In the example above x and y are parameters.
       A function can run and then have a return value, a number e.g. In some cases, it's returned whether everything went all right - 0 = no and 1 = yes e.g., as in the example above.

Concept last updated: 24/09 2003.

Relationer

is a
is a step in

Andre kilder


Good programming

       This is a disciplin, that makes programs easy to read and correct, and work better. It contains several items.
       Comments in the program can describe what the program should do. You can choose to have a comment for 100 lines ("Below the database and its 7 tables are updated."), or for every line ("Make connection to the relevant database."), or something in between.
       Space (tabulation, space and line breaks) can arrange the program in different ways, to make it easier to read - like we bend other kinds of text to make it more readable.
       Platform independency - that the program works on all computers (including software), that you might imagine - also computers with old and unusual software.
       Error checking - often the file system, databases etc. are used, and these don't always cooperate. In nice programming you know this, so the user can get a nice error message (i.e. one I have written), instead of something more or less understandable from the program.
       Functions.
       No superflous code - if you have worked with a program for a long time, there are often bits and pieces all over the place no longer in use, only there to confuse. It's okay to have a phase to remove extra code. If you use a development environment, there might also be extra code, that has to be removed by hand.
       Good names - both variables and functions can be named by the programmer, and should have good names. A counter might be named i, e.g. if it's only alive for 4 lines, in a for loop. Another variable might be called noErrors, and live for many lines. It's easier to remember what the variable contains, when you bump into it. And it should contain the number of errors, and not the width of the browser!
       Normalization, referential integrity etc. - or in other words, the tools that support and optimize the use of databases.
       Nothing hard coded - sometimes you write something directly in a program, when the correct procedure would be to get it from a table in a database or something similar. It's actually redundancy to have it in two places. This is called hard coding. And it's not nice.
       Works with low bandwidth - this is achieved by having javascript checks on formulas, compression of pictures etc.

Concept last updated: 06/05 2004.

Relationer

is a part of
can be used via
is a step in

Andre kilder


HOME

       HOME (Holistic Open Multimedia development mEthod) is a tool box of phases, documents etc. There are also 3 methods, picking different things from the tool box, but you can also construct your own. It's a bit like knitting. HOME is like having learned how to cast on and how to do knit and purl. But you need more. If you choose a method (e.g. prototyping) you also have a pattern - that says you should cast on 47 meshes and knit 50 rows, to knit a sweater. HOME is not a system development method by itself.

Concept last updated: 11/07 2003.

Relationer

is one of the tools in
is one of the tools in
uses tools from
uses tools from
uses tools from

Andre kilder

  • Udvikling af multimedier - en helhedsorienteret metode; 1.udg.; Marie Chr., L.H.F. (obl., ikke-spil) -

HTTP

       The service World Wide Web (www) uses the protocol HTTP - HyperText Transfer Protocol.
       Typically you see the protocol in use when a new URL (Uniform Ressource Locator) is called in a browser. Below you see an example of a URL.

http://www.ships.com/battleships/start.html
       "http://" corresponds to the protocol - i.e. HTTP. "www.imma.dk" is a domain name, corresponding to the webserver I want to get in touch with. Finally "/battleships/start.html" is the path to the file, I want.

Concept last updated: 10/09 2003.

Relationer

makes possible
uses
uses
is

Andre kilder


If

       If sentences lets me examine one or more circumstances, and then acting in different way, depending on whether the circumstances fullfill some needs or not. An example:

(somebody fired at (x,y))
if there's a ship on (x,y)
  decrease the number of fields in this ship by 1
  write "Smack!"
else
  write "Plop"

Concept last updated: 24/09 2003.

Relationer

is a kind of

Andre kilder


Image format

       Images can be in many formats. Let's start with the easy way to make a picture. 200 pixels horizontally and vertically means 40,000 points in all. And if it's good, there's one byte for each of the colors red, green and blue, to make "every" color (16,777,216 in all). 3 bytes are 24 bits. So we need 40,000 x 24 bits. Bitmaps (.bmp) are made like this, and result in big files.
       gif is another format. There's only one byte for the colors, therefore only 256 colors to choose from. So now there's 40,000 x 8 bits. We also need some room to keep track of which 256 colors are actually used - depending on e.g. whether the picture is very green or very red. The picture can also save some room by saying "this pixel is green, and so are the next 77".
       jpg is yet another format. Where gif is good at drawings with lines, because this results in long lines of pixels, jpg is compressed in another way, good for photos.
       Other possible formats include tif and png.

Concept last updated: 06/05 2004.

Relationer

can limit the need for
is about e.g.

Andre kilder

  • Informationsteknologi B til HH; 1.udgave; Peter Zangenberg, JPJ, FDM (obl.) - 6.2 Grafikformater og farver

img-tag

       This tag is used to add pictures. The most important attribute is src, showing the name and place of the picture. Example:

<img src="ship.gif" />
       Another important attribute is border. This is used e.g. to show whether a picture, that's also a link, should have a "link border".
       Two other attributes often used are width and height, who (not surprisingly) show width and height. If you give the right sizes, you have helped yourself and the browser - you can easier remember the dimensions of the picture, e.g. inside a table, also having a width, and the browser can reserve space for the picture and show the surrounding text, before the picture is loaded. If you give the wrong sizes, the picture might be shown "wrong" - e.g. a big picture can be shown as a thumb nail - but this is not recommended, as the "small" picture uses the same bandwidth.

Concept last updated: 09/10 2003.

Relationer

is a kind of

Andre kilder

  • Beginning XHTML; Frank Boumphrey, CG, DR, JR, SS, TW - 5 Images
  • Diverse opgaver - Billeder
  • Diverse XHTML eksempler - Billeder
  • The Web Wizard's Guide to Dreamweaver; James G. Lengel - Chapter 3, Working with images

Insert, update, delete

       In this category of SQL we change the content of the database. The first example is to insert a new row in a table. Here's a simple example.

INSERT INTO player
(p_name, password, gender)
VALUES
('jean','carrot35','man')
       Insert a row in the table "player", where p_name = "jean", password = "carrot35" and gender = "man".
       The next category is changing one or more rows, already existing. Here's a simple example.
UPDATE  player
SET     password = 'horse56'
WHERE   p_name = 'jean'
       Update the table "player" by setting password = "horse56" where p_name = "jean".
       Finally you can delete one or more rows. Here's a simple example.
DELETE FROM     player
WHERE           p_name = "jean"
       Delete rows in the table "player", where p_name = "jean".

Concept last updated: 06/05 2004.

Relationer

is a kind of

Andre kilder


Javascript

       Javascript was constructed to make small programs in XHTML documents. This also means it's a client side language - it runs on the client (the users PC), not on the webserver. Here's a small example:

<script language=JavaScript>
  <!-- // Hides the script from older browsers

  document.write("Hello world!")
  
  // End of comment hiding the script from older browsers -->
</script>
       The script tag can appear in both head and body, depending on where it's being used. E.g. functions typically are in the head. The example above don't do much - instead of the sentence "Hello world!" just being in the XHTML document, it's being written from javascript. The next example is more exciting.
<script language=JavaScript>
  <!-- // Hides the script from older browsers
  document.write("<table border='1'>")
  for (i=1; i<11; i++) {
    document.write("<tr>")
    for (j=1; j<11; j++) {
      document.write("<td align='right'>" + i*j + "</td>")
    }
    document.write("</tr>")
  }
  document.write("</table>")
  // End of comment hiding the script from older browsers -->
</script>
       Rather than explaining the example above, I'll just say, that this little piece of program can make the small table (all products between 2 numbers between 1 and 10), including the arithmetic, in amazingly few lines.

Concept last updated: 25/08 2003.

Relationer

can be part of
is a kind of
is one of

Andre kilder


Language of formatting

       A language of formatting is a primitive programming language. The task to be solved is not very dynamic, but just is about formatting some content. Formatting can be many things: saying that the picture should be on the right, that the text in this paragraph should be with larger letters etc. It can also be to say, that this piece of text is the title of a book, while this other piece is an overview. Typically you can do the same things as you can in Microsoft Office Word and Star Office Writer.

Concept last updated: 06/05 2004.

Relationer

is a kind of
is a kind of
is a kind of

Andre kilder

No other sources


Layers in XHTML

       Previously you could only control the exact placement of pictures and images with tables - and it didn't work that well. Later we got layers, that in some ways work better. Among other things layers can overlap, so I can place some text over a picture.
       There are two tags for layers. <div> is a block element (so you can't have more divs inside each other), and <span> is an inline-element.
       divs and spans can be used to let things overlap, and to give very precise positions, but they can also be used more peacefully to come one after the other. Here's a small example.

<div style="background-color: green">
<span style="position: relative; left: 7px; top: 15px;
height: 97px; width: 100px; background-color: red; z-index=2">
Hi mum
</span>
<span style="position: relative; left: -37px; top: 5px;
height: 7px; width: 100px; background-color: yellow; z-index=1">
Hi grannie
</span>
</div>
       Here I use a div to surround my two spans. One span has size and position, and it is then placed within the div. The other span is on purpose placed below the first. They are enummerated with z-index, and the one with the highest z-index is on top.

Concept last updated: 28/08 2003.

Relationer

is a kind of

Andre kilder

  • Diverse XHTML eksempler - Lag
  • The Web Wizard's Guide to Dreamweaver; James G. Lengel - Chapter 6, Formatting pages, Layers
  • XHTML; Alf - 2.5.1 XHTML kodernes attributter; 2.5.2B Et mere avanceret eksempel

Library

       This is typically a collection of functions in a separate file, which can then be included from other files.

Concept last updated: 23/09 2003.

Relationer

can contain

Andre kilder


LINGO

       LINGO is the language Director contains, and which you can choose for programming, for more advanced functions.

Concept last updated: 07/10 2003.

Relationer

can produce
is a kind of
can become

Andre kilder


Navigation diagram

       The purpose of a navigation diagram is to illustrate the navigation on a home page e.g. The individual pages are boxes, with the file name. There's an arrow from one box to another if there's a link from one to the other - so, in this example, there's a link on the page index.html to rules.html.
       You can also illustrate contact to a database - in this case newgame.asp contacts a database, before producing the ready page, shown in the browser.
       As with all other kinds of documentation, it should be considered whether a navigation diagram actually makes things clearer. With a very complex diagram, it might be better to have more than one diagram, and then loosely show, what their connection is. In some cases, there are things hard to illustrate - e.g. frames. Some things are easier to write in text - e.g. "and all pages link back to index.html".

Concept last updated: 08/08 2003.

Relationer

is a kind of

Andre kilder

No other sources


Network

       The best known example of a network is probably the internet. But there's also an intranet (a small network, where a firewall closes down for access from the outside) and an extranet (here you can get inside from the outside - First Class is sort of an extranet). The phone net is also a network btw., and some places the phone net is the basis for the internet.
       Physically a network is built of nodes (machines) and communication ways (wires).
       Network makes other services possible. One of them is email. Another one is news - these can be read by Google, in their fan for Groups, but there's also a special client and protocol for this.

Concept last updated: 10/09 2003.

Relationer

makes possible
makes possible
makes possible
makes possible
is connected in
makes possible
makes possible
limits
limits
makes possible

Andre kilder


Normalization

       The purpose of normalization is to avoid redundancy and inconsistency. Redundancy is the phenomenon, that I repeat myself - it's relations that I don't want to repeat. If e.g. I want to save in my database, that the player named Jean is a man, it would be practical to only save it one place. If I have a giant table, keeping track of all players, chat rooms and so on, I probably have to write more than once, that Jean is a man. This is redundancy, and I want to avoid it. Inconsistency is the phenomenon, that I try to repeat myself, but don't succeed. Maybe I made a typo, and somewhere it says, that Jean is a woman.
       Another problem connected to not having a normalized database is, that I might delete data, I wanted to save. If Jean isn't chatting anymore, I might delete his password and gender. And that's not fair, just because the man doesn't want to chat 24/7.
       Before I begin normalizing, I need some concepts in place. A primary key is a column, where all the values are unique, and where every value somehoe corresponds to the whole row. A phone company would probably have a table, where the primary key is the phone number. CPR (Central Person Register) probably has a table with CPR-numbers as a primary key. A primary key can also be more than one column - then it's a composite primary key. E.g. a table to keep track of which players chat in which rooms, would have a primary key composed of the IDs for players and chat rooms. Later when we cut tables up, there will typically also be a foreign key. E.g. the table with the composite key above, will also have a foreign key to the player table. With a foreign key we can also accomplish something else: referentiel integrity. If I have a table with all the registrered players, I can make sure, that there isn't suddenly a non existant player chatting.
       And then there's the normalization itself - see the rules elsewhere.
       Once I'm this far, the next step is to write a data dictionary. Here I register the name of every table, and for every table the name of every column. Apart from the name, I register the data type, whether the field might be empty and whether it's a primary and/or foreign key. The datatype can be integer, string, date and so on. An interesting datatype is autonumber, where the database makes sure, every row created gets the next number.

Concept last updated: 06/05 2004.

Relationer

optimizes
is a part of
also is

Andre kilder


OOAD

       OOAD (Object Oriented Analysis and Design) is a system development method with a few basic principles.
       One of them is, that the socalled objects should be close to reality: in our game we have a player, a board, a ship etc., and in a physical game they would all have a physical existence, identity, state and behavior. (There can be other objects, but they are added later.)
       Obejcts that are related, are structured in classes. Another principle is, that a class in the program should appear close to its attributes (variables) and methods (functions). It should also be easy to make sure, that the attributes can be changed only through the methods - no direct touching. A good class can be recycled in other programs.
       Another principle is, that things survive a long time. You might write down the names of the first classes after the first meeting with the customer, and 2 years later these names are still in the finished program. This also means documentation of other kinds have a long life.
       OOAD focuses on objects and data, where older methods focused on actions and logix. It was a revolutionizing way of looking at the world, as it appeared.

Concept last updated: 07/08 2003.

Relationer

can be part of
can be part of
can be a part of
can be a part of
is a kind of

Andre kilder


Operating system

       3 wide spread operating systems are Windows, Mac OS X and Linux.
       An operating system is the lowest level on a computer. It controls/handles the other programs. It opens the possibility, that more programs can run at once.

Concept last updated: 15/09 2003.

Relationer

is

Andre kilder

  • Informationsteknologi B til HH; 1.udgave; Peter Zangenberg, JPJ, FDM (obl.) - 4.4 Styresystemer

Patch

       A patch really is a patch - something used to correct an error in a program, without me having to install a whole new version of the program.
       The advantage to correcting errors is, that security goes up. Some errors are used to tumble programs, so they can't do their security job.

Concept last updated: 15/09 2003.

Relationer

gives

Andre kilder

No other sources


Pattern of behavior

       When the first class diagram is ready, it's time to describe attributes for the classes and make patterns of behavior.
       You can describe a chain of events for a single object. These can be very different, e.g. because objects of the same class can have very different lifespans - some players play every day for a year, others just come once, and are then removed from the system.
       After the event chains have been explored a pattern of behavior can be made, describing all possible chains of events. The example on the left describes the different things a field might experience - e.g. that it might have a ship or not, and that it might be hit or not.
       As the classes get patterns of behavior, the attributes are also noted. I note e.g., that for a field I need to know, whehter it has a ship, and whether it's been hit.

Concept last updated: 15/06 2004.

Relationer

can be a part of

Andre kilder


Platform

       A computer system, where a program can run. I might write a battleships program, meant to be installed on a Windows PC - so now I'm writing for the platform Windows. Similarly I can write a program, using javascript, tested in Internet Explorer - now I'm writing to the platform IE.
       Some programs exist on most platforms, so programs written in these languages are platform independent. Some home pages are carefully written, so they look the same in all browsers, thereby being platform independent.

Concept last updated: 15/09 2003.

Relationer

is
is
is

Andre kilder

No other sources


Port

       The same computer can have several programs related to the network. Therefore they get one or more ports each. This is used e.g. when another computer wants to talk to a certain program, and then asks for the relevant port.
       The ports are simply numbers, between 0 and 65536. 0-1024 are special. HTTP typically uses port 80, FTP uses port 21, and email (SMTP) port 25.

Concept last updated: 15/09 2003.

Relationer

on
has

Andre kilder

  • \\2000\diverse\Lise\goodwarriors.mpeg -

Process

       A running program is also called a process. In some cases a program can become more processes - e.g. one process for every user.

Concept last updated: 15/09 2003.

Relationer

is connected with
has

Andre kilder

No other sources


Processor

       A processor is a central piece of hardware, very good at logic and handling the simplest language, the computer speaks. On top of this are built other languages, until we reach e.g. ASP and PHP. The processor controls the running of the program, on its level.

Concept last updated: 16/09 2003.

Relationer

is

Andre kilder


Program / application

       Programs have behavior (behave differently in different situations) and can make static (unchangeable) thing dynamic (changeable).
       So what is a computer program? 1. A plan or routine, that can solve a given problem on a computer. 2. A number of instructions (program elements) that a computer needs, to do a given job or solve a given problem.

Concept last updated: 15/09 2003.

Relationer

can produce

Andre kilder


Program element

       If you read a lot of programs closely, you'll see a lot of words and structures repeatedly, and they mean the same every time. In this connection they are called program elements. Program elements may look different in different languages, but typically work the same way everywhere, so you just have to figure out how they look in the language in question.

Concept last updated: 24/09 2003.

Relationer

contains
is a
is a
is a
is a
is a
is a

Andre kilder


Programming language

       A programming language is characterized by: you can write program with it. There are many different programming languages and types of programming languages, there are good at different things. Some are good at running fast, others are fast to program. Some are good for web use, others run best on a PC.
       Originally programming languages were based on the concept, that we let machines do arithmetic, instead of us doing it ourselves. But later we have become very good at making anything into arithmetic, so computers can do it for us.
       A definition of what a programming language is could be: an artificial language, used when you want to write computer programs.

Concept last updated: 22/08 2003.

Relationer

is a kind of
is a kind of
is a kind of
is a kind of
is a kind of
is a kind of
is a kind of
can produce
can contain
contains
can be used via

Andre kilder


Protocol

       A protocol is a set of rules for communication.
       In the real world we have a protocol for how people communicate with mail - a mail protocol. You write a letter, throw it in the mail box, the postal service will sort and transport, a mailman delivers, and at the other end the letter is read. An answer is made the same way.

Concept last updated: 10/09 2003.

Relationer

is
is
is

Andre kilder

  • Informationsteknologi B til HH; 1.udgave; Peter Zangenberg, JPJ, FDM (obl.) - 3.4 Det fysiske net, ledninger og netkort

Prototyping

       Prototyping is characterized by, that part of the phase of analysis is to make and test prototypes, and then throw them away. This does, that analysis ends with a clear goal - a goal that wasn't clear from the beginning. The goal is less clear than with the waterfall method, but more clear than with exploring development.

Concept last updated: 11/07 2003.

Relationer

is a kind of
uses tools from

Andre kilder

  • Udvikling af multimedier - en helhedsorienteret metode; 1.udg.; Marie Chr., L.H.F. (obl., ikke-spil) - s.29-39

Proxy

       A proxy acts on behalf of somebody else - in this case a browser has asked for a document from the internet and the proxy goes and gets it. The illustration shows, that the document comes back through the internet, through the proxy (saving a temporary copy) and out to the client.

Concept last updated: 16/09 2003.

Relationer

works together with
makes possible
works together with

Andre kilder

  • \\2000\diverse\Lise\goodwarriors.mpeg -

Pseudo language

       As there are many kinds of programming languages, but not quite as many ways to write programs, you can also write programs in pseudo language. The program doesn't have to look like any language in particular, and you can just write plain English for what the program is supposed to do. If you write the program in pseudo language first, change this into comments, and then add the real program later, this can make overview easier.

Concept last updated: 24/09 2003.

Relationer

is a kind of

Andre kilder


RAM

       Random Access Memory is the old name for this type of memory - and the name isn't that well chosen anymore. RAM is faster than other kinds of memory, but also relatively small (RAM can be e.g. 256 MB, and a harddisc might be e.g. 40 GB - 160 times more). Therefore RAM quickly fills up, and then there's a strategy for how data are thrown away, to make space for the new, that's needed right now.
       RAM is used for a temporary copy of operating system, programs and data, so the processor can reach them fast. When the computer is turned off, the RAM is emptied. RAM is often the bottleneck on a computer, especially if there's too little RAM, and the computer is moving data to the RAM all the time (swapping).

Concept last updated: 16/09 2003.

Relationer

is

Andre kilder


Router

       The job of a router is to sit in a node between 2 networks, and deciding where the packages should go. It might also throw away packages, after laid down rules. A rule of thumb: a router is open, and has to be closed to give more security.

Concept last updated: 16/09 2003.

Relationer

works together with
makes possible
works together with

Andre kilder

  • Informationsteknologi B til HH; 1.udgave; Peter Zangenberg, JPJ, FDM (obl.) - 3.4 Det fysiske net, ledninger og netkort
  • \\2000\diverse\Lise\goodwarriors.mpeg -

Schedule

       A schedule answers many of the questions, that goes into organizing a larger job: who does what when and for how long - the last one is tough, and can only be learned from practice. The schedule also organizes the deadline.
       Curt, 14 hours, database design, after October 15, finished by November 1.
       Curt, 5 hours, write test plan, after October 25, finished by November 5.
       Peter, 5 hours, write test plan, after October 25, finished by November 5.
       Etc.
       A good supplement for a schedule is the action of registering time, where you note as accurately as possible the time for an activity, and who did it when. This makes it possible to go back and check up on the quality of the time estimates (guesses), as the schedule was made - and that makes the estimates better next time.
       A time register should be as accurate as the schedule. It's fair to count hours.
       Wednesday, Curt, 3 hours, database design.
       Thursday, Curt, 4 hours, database design.
       Thursday, Curt, 2 hours, write test plan.
       Thursday, Peter, 1 hour, write test plan.
       Etc.

Concept last updated: 08/08 2003.

Relationer

is a kind of
is one of the tools in

Andre kilder

  • Udvikling af multimedier - en helhedsorienteret metode; 1.udg.; Marie Chr., L.H.F. (obl., ikke-spil) - s.58-60

Security

       The purpose of security is to protect IT values / data. There are many different strategies to increase security, e.g.:
       To demand username/password from users.
       Taking backup - i.e., make a copy of data. If data is deleted later, the old copy can be read.
       Encryption. Here data is "translated" to languages, that are very hard to understand for outsiders.
       Proxy, router and firewall work closely together to regulate the contact between the local network and the internet.
       A threat to security is virus - small programs, copying themselves between machines, typically to destroy the machine. You can use anti-virus-programs and elementary knowledge of viruses against this - like, don't run random programs in emails.

Concept last updated: 15/09 2003.

Relationer

limits
gives
gives
protects
on

Andre kilder

  • Informationsteknologi B til HH; 1.udgave; Peter Zangenberg, JPJ, FDM (obl.) - 9. Virksomhedens sikkerhedsstrategi og -politik

Select

       This is a category of SQL, where we look at the database, to see what it contains. Here's a simple example of that kind of SQL.

SELECT  p_name
FROM    player
       Choose the column "p_name", in the table "player".
       As the database was normalized, among other things a big table was cut up, and became several small tables. With SELECT sentences we can glue the tables back together - this is called joins. Here's a simple example of that kind of SQL.
SELECT  p_name,
        gender,
        text
FROM    player,
        message
WHERE   player.p_name = message.p_name
       Choose the columns p_name, gender and text from the tables player and message. It should match, so that the messages are actually written by the player from the other table.
       Notice that the "glue" is in the last line, where it is demanded, that the value from a column in one table should fit the value from a column in the other table - typically we say that the pimary key of one table should fit the foreign key in the other table.
       Some of the trick of normalizing, and then joining, is that we can do things, that weren't possible otherwise. An unnormalized table could easily hold people and their children. With normalization and joins I can easily build on this, so I can show people, their children and their grandchildren.

Concept last updated: 18/05 2004.

Relationer

is a kind of

Andre kilder


Shockwave

       A flash program / a shockwave file as a package (compiled) is small enough to work on www. The files have .swf as suffix. These files can be embedded in XHTML pages, or called directly from a browser.
       A compiled file can't be opened, so the program can't be read, and the program runs faster.

Concept last updated: 06/05 2004.

Relationer

can become
can become
is like

Andre kilder

No other sources


Sound and video in XHTML

       It's possible to make sound and video files in other programs: .wav, .mp3, .mid, .mov, .mpg, .swf and so on. These can also be included in XHTML documents, like pictures, although you typically need a bit more work on the tags to make it work - like mentioning which plugin to use. Below is an example of how to include a sound file in wave format.

<embed SRC="snd/Desol18a.wav" WIDTH="300" HEIGHT="100" 
PALETTE="foreground" />
       It is here mentioned where the sound file is, and how the music program (embedded in the page) should be shown

Concept last updated: 28/08 2003.

Relationer

is a kind of

Andre kilder


Specification

       Depending on what method is used, a specification can have many names. It can be called e.g. product definition, concept description and system definition. It is an attempt to describe the goal of the project.
       It can answer many questions - typically there's a lot of attention to functionality, but there might also be focus on: what's the target group, what is the purpose, who's the customer, what technology will be used, how will the product be used, what about maintenance, does the project have a name, what is the idea of the project, what are the contents, what is the shape...

Concept last updated: 26/10 2004.

Relationer

is a kind of
is a kind of
is one of the tools in

Andre kilder

  • Objektorienteret analyse & design; 3.udgave; Lars Mathiassen, A.M., P.A.N., J.S. (obl. for spil) - s.37-39
  • Udvikling af multimedier - en helhedsorienteret metode; 1.udg.; Marie Chr., L.H.F. (obl., ikke-spil) - s.46-48, s.84-85

SQL

       SQL in an abbreviation of Structured Query Language. It is a programming language, specially designed for communication with databases.

Concept last updated: 03/07 2003.

Relationer

can contain
manipulates
is a kind of
is

Andre kilder


SQL-statement

       SQL is spoken in finished sentences (statements) - they could end with a full stop. "Give me all rows with a 7 in the 3rd column in table horse." "Delete the row in pig, having 13 in the first column." There are different kinds of SQL statements. DDL (Data Definition Language) changes the structure of the database - creates a new database, deletes a table, creates a new column in an existing table etc. This kind of sentences usually begin with CREATE, but there are other choices. DML (Data Manipulation Language) affects the content of the database - creates a new row, deletes another row, changes a single value in a row etc. Maybe you're just looking at the database. This kind of sentences usually start with INSERT, UPDATE, DELETE and SELECT.

Concept last updated: 03/07 2003.

Relationer

is
is a kind of
is a kind of
is a kind of

Andre kilder


Storyboard

       A storyboard represents the screens, the user will meet during a run of the program. E.g. on the left there's the screen from a prototype to a battleships game, the page where the 2 players are playing against each other. As a storyboard it illustrates where the 2 boards should be, who you're playing against etc.
       The storyboard documents the presentation design - e.g. where buttons, photos and text should be. Colors and style are also documented. The programmer has to know these things, to be able to realize them.
       There has to be a sketch for every screen, to have a complete storyboard.
       A storyboard for a movie has an extra function, because it also shows the order of the pictures. We won't have that function in our storyboard for a home page or CD-ROM.

Concept last updated: 06/05 2004.

Relationer

is a kind of

Andre kilder

  • Udvikling af multimedier - en helhedsorienteret metode; 1.udg.; Marie Chr., L.H.F. (obl., ikke-spil) - 5. Designtrinnet; Storyboardet (s.145)

Structure in XHTML

       Structure is what we use to "bend" a text into the right "shape" - what means the text isn't just flowing down the page without line breaks or other things, to help us read it. One of these structures is tables, mentioned elsewhere.
       Another of these structures are headlines. There are 6 different kinds of headline, enumerated from 1 to 6. Here's the tag for no. 3.

<h3>A headline</h3>
       A third structure is lists. They can have numbers and not, among other things. Here are the tags for a list without numbers with two elements.
<ul>
<li>The first line</li>
<li>The second line</li>
</ul>

Concept last updated: 10/09 2003.

Relationer

is a kind of
is one of

Andre kilder

  • Diverse opgaver - Struktur
  • Diverse XHTML eksempler - Overskrifter, Lister
  • The Web Wizard's Guide to Dreamweaver; James G. Lengel - Chapter 2, Working with text, Arranging and formatting text, Heads and subheads

Structured analysis

       Structured analysis is a method focusing a lot on data and processes. Data stream diagrams, data dictionaries (and E/R-diagrams) and process descriptions are made. In the phase of analysis you start with the current physical model, then make the current logical model. In the design phase, you make the new logical model. And finally the new physical model is implemented. The method aims at making it possible for non-programmers to understand the documentation. There's also a high degree of structure. In many ways structured analysis was the predecessor for OOAD.

Concept last updated: 08/08 2003.

Relationer

is a kind of

Andre kilder

  • Organisation & strategi; Claus Christensen; IT-strategi/systemudvikling (s.80-96) -
  • Struktureret analyse; Claus Christensen -

System definition

       A system definition should have descriptions for all 6 BATOFF topics. The abbreviation BATOFF comes from 6 initials: betingelser, anvendelsesomrÃ¥de, teknologi, objekter, funktioner, filosofi (conditions, area of usage, technology, objects, functions, philosophy). You can write a system definition as 6 items (good for programmers) or as a more fluent, connected text (good for customers). Partial example:
       B: there are 3 months for the development of the game.
       A: all the players will be teenagers.
       T: the game will be placed on a Linux server and use PHP.
       O: player, board, ship...
       F: you can find an opponont, start a new game, and play it out.
       F. the players should have fun while they play.
       A system definition is done rather early in the project. It's possible to make more than one, and let the customer choose the best - the one best fitted to needs and visions.

Concept last updated: 10/06 2004.

Relationer

is a kind of
is a kind of
can be part of

Andre kilder

  • Objektorienteret analyse & design; 3.udgave; Lars Mathiassen, A.M., P.A.N., J.S. (obl. for spil) - s.37-39
  • OOAD slides - 2 Systemvalg

System development

       What others call project management, programmers call system development. The focus partly is the same: who does what when? But in sys. dev. there's more focus on the programming. One of the results of system development is documentation, resulting in some people using the two words as if they meant the same.
       Some of the challenges for a programmer are to make sure, that the right program is written, and that it's ready on time. Through validation and verification you can solve some of the problem. Verification is to make sure, that the plan was followed - did we remember to make a function, so you can jump into a chatroom? Validation is to make sure, that the program works - would real players ever consider going to a chatroom while they play? The programmer also has to ascertain quality - that the program maintains a certain standard, and is as good as it can be within the timeframe.
       In almost every kind of system development, there are some phases - analysis, design, programming and maintenance. But different methods see these phases differently. Some think they should come nicely one after the other, others think they should be mixed, others again think some of the phases should be very small etc. Some methods can be mixed - e.g. you can take the phases of OOAD and mix them as prototyping dictates.

Concept last updated: 11/07 2003.

Relationer

is a kind of
is part of
can be part of
is a kind of
is a kind of
is a kind of
is a kind of

Andre kilder

  • Udvikling af multimedier - en helhedsorienteret metode; 1.udg.; Marie Chr., L.H.F. (obl., ikke-spil) -

table-tag

       These are the tags needed to build a table.
       <table> surrounds all of the table. It can include the attribute border, showing whether the table should have a visible border, and the width of it.
       <tr> means table row.
       <td> surrounds a single field in a table. With the attributes colspan and rowspan you can control, whether the field should be merged with the fields on the right and below.
       A simple example follows:

	<table border="1"><tr><td>
Field 1
	</td><td rowspan="2">
Field 2
	</td></tr><tr><td>
Field 3
	</td></tr><tr><td colspan="2">
This is a table.
	</td></tr></table>
       In the example above I have made many line breaks to separate my tags from my content. It works fine, if the only content is text, but if the table also has pictures, the line breaks will become visible, and you might not want that.
       It's hard to make the code for tables easily readable. But as always it's important to decide, and then use the same method every time. Here's another version.
<table border="1">
	<tr>
		<td>Field 1</td>
		<td rowspan="2">Field 2</td>
	</tr>
	<tr>
		<td>Field 3</td>
	</tr>
	<tr>
		<td colspan="2">This is a table.</td>
	</tr>
</table>

Concept last updated: 17/11 2003.

Relationer

is a kind of

Andre kilder

  • Beginning XHTML; Frank Boumphrey, CG, DR, JR, SS, TW - 6 Tables
  • Diverse opgaver - Struktur
  • Diverse XHTML eksempler - Tabeller
  • The Web Wizard's Guide to Dreamweaver; James G. Lengel - Chapter 2, Working with text, Text tables

TCP/IP

       IP = Internet Protocol. There's IP adresses e.g.: 194.182.119.2 - 4 numbers, 0-255.
       TCP = Transmission Control Protocol. TCP consists of packages with data, with sender, receiver and a check number (so you can check data are correct), plus a number.
       TCP/IP is the 2 protocols working together. The internet is based on TCP/IP.

Concept last updated: 16/09 2003.

Relationer

uses
uses
makes possible
is

Andre kilder


Test

       We test to verify and validate. From the programmers point of view, there's focus on the functionality. I.e., it's a small thing, that the page is red, when the user wants a blue page, but quite serious, if the update of the database isn't usccessful, so the wrong player wins. (Also because the first thing is quicker to correct than the second.) The typical result of a test is also, that you find some errors, and then correct them. You can test both documents (e.g. a specification) and a program.
       A well organized test has its own document to run by, where you can mark whether item 1, 2, 3 etc. are OK. This test plan should be written right after the specification (and be updated concurrently).
       There are many different kinds of tests.
       The module/system test - here all parts are tested separately, and then the whole is tested. There's also a test for extreme conditions, like a power failure.
       The user test - here a potential user tests the program, and it's revealed whether the user can find his way around.
       The acceptance test - the purpose of this test is to let the customer see for himself, that the program does what was demanded, before responsibility is transferred, the money paid etc.
       The prototype test - here a part of the program is tested, before the program is fully finished.
       The peer review - here the program is tested by a colleague.
       The beta test - here the program is tested by users, unlike the alpha test (this concept is hardly ever used), where the programmers tested it themselves, and removed the worst errors.

Concept last updated: 07/08 2003.

Relationer

can be part of

Andre kilder


The 3 rules of normalization

       The first step in normalization is to make a huge table with all the columns I think I'll need. It might also be wise to fill in some rows, to get a sense of what the table will look like.
       With some routine it's okay to "cheat" a little, and add a step to the normalization: try dividing the big table into smaller tables, to avoid redundancy, and add primary/foreign keys. But as said, this implies routine, and if we cut the tables too much in this step, there's no step to glue them back together.
       And then there's the 3 "normal" rules of normalization.
       1. Every table should have:
       1a. A primary key.
       1b. Rows of equal length.
       1c. Only columns where the content is the same all the way down, and no empty fields along the way. (Not a field for a phone number, that's empty if the guy doesn' have a phone.)
       1d. No two columns with the same kind of data. (Not two fields for phones, in case he has two phone numbers.)
       In reality, this is the kind of table you soon make automatically, so this is a lot of words to describe something banal.
       2. Every table should have: No columns, only depending on some of the primary key. (This only applies, if the primary key is composite, and there's columns not in the primary key.)
       3. Every table should have: No columns not depending on the primary key at all.

Concept last updated: 06/05 2004.

Relationer

also is

Andre kilder


The 5 document dimensions

       These 5 dimensions are used to describe the different parts of a multimedia document. Below XHTML documents are used as an example of that, but you could say something similar about e.g. a CD ROM.
       Content: here are the things, that could have been prepared in other programs: text, graphics, video, sound, applets, ActiveX, Shockwave, Flash etc. (Note that these parts might also have these 5 dimensions, but from the point of view of XHTML, it's "just" content.)
       Structure: here the content is "bent into shape", through headlines, lists, tables etc.
       Meaning: these tags also carry a meaning. E.g. a headline h1 followed by a headline h2 means, that the last headline is subordinate to the first. Or an enumerated list typically means, that the items are ordered after importance - the most important item first.
       Layout: we typically do this with CSS, handling colors, fonts, exact placement etc.
       Behavior: here we use Javascript, that can handle the programming, affecting changes on the page - e.g. make a calculator, where the result will appear in a certain field. Or just letting an image change.

Concept last updated: 06/05 2004.

Relationer

is one of
has
is one of
is one of

Andre kilder


Variable

       From math we know variables (x, y etc.), the mathematical operators (+, - etc.), and assignment (=). We have something like it in programming.
       A variable is a bucket with a name on - the bucket can be called i e.g., and it can e.g. contain a number, a value - so that i is actually 7. As there are different data types, the variable can be a number, a string of characters, an array, a picture etc.
       Here's a couple of examples.

area = length * width
if ( area > 50)
  demand much money

Concept last updated: 06/05 2004.

Relationer

is a

Andre kilder


Waterfall method

       The waterfall method is the oldest system development method. Its starting point is, that things should be done in nice phases, that a phase ends with new, approved documentation, and that the next phase then starts. This is some of the reason there's a lot of documentation. Another effect is, that the design can't be changed after the design phase, so you assume that the goal is very clear from the beginning. The comparison with the waterfall comes from: once the water is over the edge, you can't get it to move up - you can't go backwards. It's an advantage, that things look very good on paper, with easy to calculate deadlines. It's a disadvantage, that reality isn't this nice, so you end up doing something not so waterfall like anyway.

Concept last updated: 06/05 2004.

Relationer

is a kind of
uses tools from

Andre kilder

  • Udvikling af multimedier - en helhedsorienteret metode; 1.udg.; Marie Chr., L.H.F. (obl., ikke-spil) - s.29-39

Webserver

       A webserver is also called a host. This is a machine, where a webserver program is installed. If a company owns the machine and rents out space on it, the company is hosting web pages.
       A webserver is a computer talking HTTP with a client (browser). Examples of webservers are Apache (open source) and IIS (Internet Information Server, Microsoft).

Concept last updated: 06/05 2004.

Relationer

is
has

Andre kilder

  • \\2000\diverse\Lise\goodwarriors.mpeg -

While

       This looks like a for loop, but it is more uncertain how long the loop will run. Example:

as long as there's 1 ship left
  shoot at the ships

Concept last updated: 30/09 2003.

Relationer

is a kind of

Andre kilder


XHTML

       XHTML was born January 26, 2000, as a combination of HTML and XML. HTML was at the time the standard for making documents for www. And XML was a new standard, that made tests for correctness easier, i.e. Despite the extra X, the suffix is the same for these documents - .html - e.g. ship.html.
       The abbreviation means eXtensible HyperText Markup Language. Extensible - you can extend the group of legal XHTML tags by inventing and using your own. HyperText - this is the ability to jump from one document to another - across machine and country borders. This was one of the ground breaking abilities, that originally made www so popular. Markup - XHTML has tags, that mark how the content should be interpreted and shown - this is called markup. Language - well, some call XHTML a programming language, some don't. Personally I call it a formatting language.
       Originally XHTML was supposed to win and become a part of the browsers, so the advantages of the new standard could be had. This hasn't happened yet - the browsers will still happily show "anything", and many (myself included) still don't write valid XHTML.
       The easiest way to get a home page is to construct one or more XHTML documents, and then place them on a webserver.

Concept last updated: 09/09 2003.

Relationer

can be part of
is related to
can produce
can be part of
is part of
shows
is a kind of
has
has

Andre kilder


XHTML attributes

       You can add attributes to some XHTML tags. Some are mandatory, some are optional. Example:

<img src="ship.gif" border="0" />
       The tag is called img. The two attributes here are src and border. If an img tag doesn't have the attribute src, we don't really go anywhere - src is used to point to the picture supposed to be shown here. But border is optional - if you don't write anything, a default value applies. But if you use border, you can say how wide a border you want around the picture.
       Note that all values (ship.gif and 0 in the example) should be in quotation marks.
       Other examples of attributes are the href attribute for the a tag, and that most tags might have the attributes class and id.

Concept last updated: 05/09 2004.

Relationer

has

Andre kilder

  • Beginning XHTML; Frank Boumphrey, CG, DR, JR, SS, TW - 3 Getting started - Attributes

XHTML syntax

       Partial explanation for the syntax diagram below. A correct XHTML document should begin with an xml tag, followed by a DOCTYPE tag, ending with an html block. An html block should be opened by an html tag, followed by a head block, followed by either a body block or a frameset block, and end by closing the html tag. The head block might have after the title tag, before the head tag closes, nothing, a link tag or other stuff. A body block can contain this between the two ends of the body tag: nothing, or a block block, a random number of times. Between the two ends of the title tag, there can be something, typically just text.

-- <?xml ?> -- <!DOCTYPE !> -- [html] --

[html]: -- <html> -- [head] -+- [body] -----+- </html> --
                             +- [frameset] -+

[head]: -- <head> -- <title>bla</title> -+------------+- </head> --
                                         +- <link /> -+
                                         +- - - - - --+

[body]: -- <body> ---+-----------+-+- </body> --
                   ^ +- [block] -+ |
                   +---------------+

[frameset]: -- <frameset> ---+- <frame /> --+-+- </frameset> --
                           ^ +- [frameset] -+ |
                           +------------------+

[block]: --+- <h1>bla</h1> -+--
           +- <h2>bla</h2> -+
           +- - - - - - - --+
           +- <h6>bla</h6> -+
           +- [p] ----------+
           +- [table] ------+
           +- [list] -------+
           +- <hr /> -------+
           +- - - - - - - --+

[inline]: --+- <em>bla</em> ---------+--
            +- <strong>bla</strong> -+
            +- <img /> --------------+
            +- <a>bla</a> -----------+
            +- - - - - - - - - - - --+

[p]: -- <p> ---+- bla ------+-+- </p> --
             ^ +- [inline] -+ |
             +----------------+

[list]: --+- <ul> -+--- <li>bla</li> -+-+- </ul> -+--
          +- <ol> -+ ^                | +- </ol> -+
                     +----------------+

[table]: -- <table> --- <tr> --- <td>bla</td> -+- </tr> -+- </table> --
                     ^        ^                |         |
                     |        +----------------+         |
                     +-----------------------------------+

Concept last updated: 22/08 2003.

Relationer

has
follows

Andre kilder

  • Beginning XHTML; Frank Boumphrey, CG, DR, JR, SS, TW - 3 Getting started - Basic XHTML block/inline elements

XHTML-tags

       We know tags from other languages (Danish, English...). E.g. we have the tags " , ( and - . A piece of text surrounded by quotation marks could be a quote. A piece of text in parenthesis or dashes is a bit supplemental - like in my first sentence above. The speaking language has something like it, e.g. quotes are read with a different tone of voice. Notes are another example - there are tags to say, that a piece of music should be repeated, like the lines of "Frere Jacques". These tags start and stop very visibly, and affect what is between them.
       In XHTML a tag will always begin with < and end with > - e.g. <body>. Apart from that, there's a few extra rules.
       The tags should be correctly layered within each other - this corresponds to me not starting a quote within a paranthesis, and ending it outside of the paranthesis.

<table>
  <tr>
    <td>
    Some content
    </td>
  </tr>
</table>
       Correct ending - all tags that start, should also end. In some cases the tag ends immediately.
<p>Some content.</p>

<br />
       Small letters - in correct XHTML the names of tags and attributes may only contain small letters. (But a value of an attribute may contain large letters - e.g. a link to the picture "myShip.gif".)
<img src="myShip.gif">

Concept last updated: 06/05 2004.

Relationer

is a kind of
is a kind of
is a kind of
is a kind of
is a kind of
is a kind of
is a kind of
is a kind of
is a kind of
is part of
has
follows

Andre kilder


XML

       This formatting language is built to contain data, and in a way so it's possible to see which data is which kind. An example:

<?xml version="1.0"?>

<ship name="Georg Stage" fields="3">
<start x="4" y="3" />
<end x="4" y="5" />
<hit field="2" />
</ship>
       Here a ship is described, with name and length. It is also described where the ships starts and ends, and the one field hit is also there.
       XML isn't born with any tags. If it's important to use the "right" tags, these can be defined in another document (DTD or Schema/XSD). A well formed XML document abide by the rules of correct embedding and ending. A valid document sticks to its definition.
       That XML is good for keeping data can e.g. be seen by the facts that it's easy to 1) move a database to an XML document, 2) read and correct this document as a human being, 3) move the contents of the document to a new database.

Concept last updated: 08/09 2003.

Relationer

is related to
is a kind of

Andre kilder


Andre kilder