The times for returning the coursework are available through this link.
The lectures are finished.
Useful instructions for Assignment 3 are given at http://www.cs.uta.fi/~jk58091/courses/ohto02/.
I have added a little clarification to the transformation rules given in Assignment 1.
SQL examples can now be found in the Material section.
Lab supervision available at CS lab 3070. The times
are as follows:
Fourth assignment is now given.
A list of subjects which the course is likely to cover
For those interested in only 2 credits (2 ov)
Three Fujaba CDs are available at the departmental office. Bring back next day. They also include the Kaveri software package.
Jani Kilpilinna will assist in using Fujaba in the CS lab 3070
at the following times:
The basic idea on how the course is run has changed this year, again.
There will be
1) weekly lectures,
2) reading, and
3) a coursework, which contains 5 parts.
The course will basically cover the software lifecycle. We will have an example project as a case, and the coursework assignments are based on the case and the reading.
There will be lectures about things which are not a part of the coursework.
The official book is "Software Engineering - A Practitioner's Approach - European Adaptation" by Roger S. Pressman adapted by Darrel Ince, Fifth edition, ISBN 0 07 709677 0. That is the recommended book (not only because I have it, I think it is good reading and a good book to possess). The local bookshops might have the book, but it may be cheaper to buy it from a web bookshop. At least http://www.amazon.co.uk and http://www.bol.fi/fi/ seem to have the book available.
This course is mainly centered around object-oriented
software development methodology. For the design and analysis
part, the Finnish-speaking students may find "Oliokirja"
by Kai Koskimies to be useful. Also, it is in Finnish, if some
of you want to do a part of the reading in Finnish. It does not
cover all the aspects of the course, though.
After the deadline for the fifth part, the students get a chance to polish the coursework and put together the final version, and there will be an oral examination (a discussion session) about the coursework. Each student will get an individual time for the oral examination.
Please note that the lectures and the coursework assignments are not completely synchronised. We may start a new area in the lectures even if the assignment for the previous area has not been returned yet.
Slides on use cases
Slides on requirement specification
Slides on software lifecycles
A few motivational slides from the first lecture time
Slides on object oriented software development - in Finnish
Slides on UML - in Finnish
More slides on UML - in Finnish
Yet more slides on UML - in Finnish
Slides on object analysis - in Finnish
Slides on architecture design - in Finnish
Slides on MVC architecture
Slides on components
Slides on object design - in Finnish
Slides on software configuration management
Slides on software product quality and metrics
A website for material to go along Pressman's book
You can get a two-week trial version of JStyle from here. We will try to install it also to the CS lab 3070.
Here you can find some examples of SQL statements to create relations. The names for constraints can be made somehow "mechanically" from the relation names. You may use "on delete restrict on update restrict" for the foreign key statements, as in most of these files.
The lecture on 15.1 was about requirement specification and use cases.
The lecture on 23.1. was about UML.
The theme on 30.1. was Object Oriented design process and object analysis.
The lecture on 6.2. was about Object Oriented design.
The lecture on 13.2. was about software architectures and components.
Also, there will be a small essay on software quality.
You can change your mind at any time if you want
to drop out from the 5 credit system to 2 credit system.
In this assignment, you are to consider formal technical reviews and object oriented software development. Produce a document, where you answer the following questions. Consider different items produced in object-oriented software development.
In this assignment, you are to consider the following quality components in connection with the Kaveri software:
First, you are to explain how the software could be tested against those quality components. In particular, explain what kind of metrics could be used, if any.
Secondly, you are to study the software with the JStyle software (see the Material section above). Check some related metrics. Also, take some other Java software (preferably something you know, like some old coursework), and check the same metrics and compare. What do the metrics tell (if anything)?
You are to produce a .rtf document about this assignment.
The deadline for this assignment is Monday 15.4.2002.
In this assignment, you are to implement and test the creation of relational schemas from the ER diagram, as added to the requirement specification and designed.
Record all tests you have executed, as you may need to execute the same tests for a number of times. For each test event, record also when you performed the tests. Your test report should be based on your testing plan.
Instructions on writing the essay for two credits (2 ov) will be given shortly.
To return this assignment, do the following:
For this assignment, you need to study the project documentation of Kaveri. You will also need the sources, which are available with the documentation. The .tdpse files are probably class diagrams made with Mermaid. It is unlikely that Mermaid would still be implemented on the departmental computers.
As your background reading, read about object oriented analysis and design, reverse engineering, and testing. Particularly for testing you should find out how to plan your testing ie how to write a testing plan.
Do the following:
Read the document kaveri-vaatimukset.rtf about requirements for an editor for ER and data flow diagrams. It is recommended that you do some reading about requirement specification from some textbook.
The relation schemas are to be computed from the ER diagram using the following rules.
A little clarification for the third rule - if it is a 1:1 relationship between A and B, then you may either add the key of attributes of A to the relation created for B, or the other way round, or both ways.