Software Engineering, Spring 1999

(Ohjelmistojen toteutus, Kevät 1999)

Tenttitulokset 4.11. - Examination results from 4.11.

Tenttitulokset 26.5. - Examination results from 26.5.

Tenttitulokset 11.5. - Examination results from 11.5.

Examination information (also in Finnish)

Exercise information

Lecture 1 (see material below) includes some general information
about the course.



Attendance statistics


Examination information

The exam will be on 11.5., at 12.00-16.00 in lecture hall A4 in the main building.
There is no need to register yourself to this exam.

Another exam will be on 26.5. on the original examination date.
If you wish to attend that exam, then you need to
register yourself for the exam using the department's www-facility.

There will be a chance to retry the examination in the autumn.

Some people have asked for information about the exam. The problems will
be roughly of the type of the weekly exercises. However, you are not allowed
any material with you in the exam. There will be problems from both parts of
the course.

If you are asked to produce a diagram etc., then the formalism is not that
important as long as it is clear that you have understood the idea.

The examination problems will be available both in Finnish and in English.
You may use either language to answer the problems.

Och samma på finska:

Tentti pidetään 11.5., klo 12.00-16.00 päätalon luentosalissa A4.
Tähän tenttiin ei tarvita erillistä ilmoittautumista.

Toinen tentti pidetään alkuperäiseen aikaan 26.5. Jos
haluat osallistua tähän, niin sinun on ilmoittauduttava
laitoksen www-sivujen kautta.

Jotkut ovat kysyneet kokeeseen liittyviä lisätietoja. Tehtävät ovat
suurinpiirtein samantyyppisiä kuin viikkoharjoituksissa. Tentissä
ei kuitenkaan saa olla mukana omaa materiaalia. Tehtäviä tulee
kurssin molemmista osista.

Jos sinun pitää tuottaa esim. jonkinlainen diagrammi, niin formalismi
ei ole niinkään tärkeä kunhan käy ilmi, että olet ymmärtänyt idean.

Exercise information

As the exam is on 11.5., there is no exercise session, but there will be exercises
(follow this space :) which you can return by e-mail by 11.5.  to improve your statistics.

The limits are calculated from the total as of 4.5., however, so you do not need to do
any more to stay where you are.

The total for the calculations is 51, of which 17 are compulsory.
The formula given on the first lecture gives, after some
calculations and roundings, the following limits for bonus exam points:
17-19 0
20-25 1
26-31 2
32-36 3
37-42 4
43-48 5
49-51 6

Check your statistics, especially people who returned their solutions by e-mail,
since my computer crashed this week.    :(

For Helmut there are individual caluclations since some exercises were based
on lectures in Finnish.

Exercises for 11.5.

Exercises for 4.5.

A reading assignment and exercises for 27.4.

Exercises for 20.4.

Exercises for 13.4.

Exercises for 16.3.

Exercises for 9.3.

Exercise statistics



19.1.-17.2.        JN talks about software development lifecycle and different phases of software development.

23.2.-24.2.      Markku Laitkorpi from Nokia Research Center talks about Component-based software design. In Finnish.

2.3.                   Juha-Matti Niemelä from Nokia Mobile Phones talks about embedded system development.
                         In English.

3.3.                   Heikki Halme from Sensor Software Consulting talks about distributed system development. In Finnish.

9.3.-10.3.         Tarja Systa from CS department talks about reverse engineering. In English.

16.3.                Juha Kanniainen from Tieto - title to be announced. In Finnish.
17.3.                Roope Raisamo from CS department talks about Internet software development. In Finnish (material in English).

23.3.                Teppo Kuusisto from CS department talks about system management and software installation. In Finnish.
24.3.                No lectures on 24.3.

30.3.            JN talks about electronic commerce. In English.
31.3.            Juha-Matti Heimonen talks about testing. In Finnish.

There is no teaching on 6.4. and 7.4. - Easter break.

13.4.                JN talks about quality and probably something on ISO9000. In English.
14.4.                Kai Koskimies talks about frameworks. In English.

There are no lectures on 20.4. or 21.4. (but there will be exercises on 20.4.).
However, there is a reading assignment and exercises will be given for 27.4.

27.4.                JN talks.
28.4. (last lecture time) Ari Viljakainen from Nokia Telecommunications talks about web applications and security.

Exercises for 11.5.

I am not giving any pointers here as I do not want all answers
to be exactly similar. The theme of these exercises is configuration
management and version control. (These themes are not included
in the exam.) You can find answers from the net, books, etc.

1. Define configuration management. List out some particular

2. Find information and write a description of 2 tools which are aimed
to help in configuration management.

3.  Define version control. List out some particular problems.

4. Find information and write a description of 2 tools which are aimed
to help in version control.

5. What kinds of problems do configuration management and version
control create, when you try to deal with both at the same time. How
do the tools in problem 2 and 4 (ok, so you have to do these in order to
do this) take care of these problems.

Exercises for 4.5.

Some answers can be found from VeriSign's web pages

1. How can you get a level 1 certificate from VeriSign?
What does it prove if you have it?

2. What are digital time stamps and how can you get them?

3.  What value could digital time stamps have for electronic commerce?

4. The lecture concentrated in Netscape security technology.
Check the web information about the Microsoft authenticode
solution. Find some differences compared with Netscape technology.

Exercises and reading assignment for 27.4.

This weak's theme is rapid application development.
You are supposed to find information from the web. You can also
use books or your own background knowledge.
If you start with Alta Vista or some other search engine, then
you may try search expressions such as
"rapid application development" or "rad tools" or "case tools".

Do this before 27.4. I won't take "I had problems with the web
connection this morning when I tried to get something together" for an answer.

1. Find examples of different rapid application development (rad)
tools - at least 6. Classify the tools (a) by application area (e.g. GUI, web, ...)
and (b) by operating system platform.

2. List out the functionalities offered by the tools. If the tools' web sites
have a faq (frequently asked questions) list, then list out some problems
from there as well.

3. Write a somewhat extended definition for  rapid application development.
Which of the tools from Exercise 1 are rad tools according to your

4. List out advantages and disadvantages of application development using rad tools.
You may use your own brains to reason out these.

Exercises for 20.4.

1. Search the web for examples of failed software projects. List out two
of the best ones.

2. How could frameworks help to obtain better quality?

3. How could frameworks lead to worse quality?

4. Suppose you are to create a framework for solitaire
(self-played) card games. Name a few (possibly abstract)
classes for the framework and some operations for them.

Exercises for 13.4.

To answer 1 and 2, find information from the web about sysdiff for NT.

1. How can sysdiff be used for installations?

2. List out some potential problems when using sysdiff for installations.

To answer 3 and 4, check the web pages listed in the slides,
although they may not provide answers directly.
Copies of the slides are now available.

3. How do testing and quality relate to each other?

4. Usually it is reasonably easy to figure out when to
    do module testing, integration testing, and system testing.
    When should you plan different phases of testing?
    What should you take into account in planning?

There are no exercises for 30.3.


Exercises for 16.3

1. If good enough reverse engineering tools would be available,
    it would be possible to just code the application and produce
    the documents afterwards. Why would this be a good or a bad idea?

2. Check out the web pages for Rigi (
    and Imagix4D (
    Compare the two shortly.

3. Check out
    List out reverse engineering activities which you would find
    particularly beneficial for forward engineering (ie "normal" software engineering).

4. Find out about the Year 2000 problem (Y2K) from the Internet.
    What are the particular difficulties?
    How is reverse engineering used to solve the problems?

Exercises for 9.3

1. What are the different types of communication available for
    communicator applications which need to communicate with
    the outside world? Find suitable applications for different
    types of communication.

2. Section 7.6. of the Nokia Communicators Software Development
    Guide deals with Internet applications. There you can also
    see an example of socket usage. Consider implementing the RMI example
    from the lectures by Halme using sockets. Sketch the client code.

3. Sketch the server code for exercise 2.

4. RMI and Corba has been compared in the material by Halme.
    Find an example of an application which would be more suitable
    to be implemented
    a) with Corba than with RMI, and
    b) with RMI than with Corba.


18.1.1999 JN