Radu Fericean 2009

You'll find an up-to-date overview of your current situation here
For accessing the SVN repository use the following link format:
http://hoare.cs.upt.ro/radu/svn/student_repo_name/trunk replacing student_repo_name with your repository and using your name and password.

Week12. Project delivery

  • Project code (as latest revision in SVN)
  • Unit tests (at least 5 methods tested)
  • Build file (targets = init, clean, compile, run, tests)

P.S. For web projects build targets may vary

Week11. Ant build tool
Tutorials:

Toy project here,

Week10. Milestone 1 and Unit testing
Tutorials:

Example: Example source

Assignment lab10 (due 11th May)
Add test at least five method from the project code.

Week9. Project specs
Asignment (Milestone - Week10; Deadline - Week 11)
Create the code for the parking control application describes in week 5.

Milestone 1
For the first milestone due week 10 (4th of May) consider the first two UC descriptions found here.
You can use any programming language and any technology as long as you can find a testing framework for it (some examples can be found here).
For the user interface you can use web, desktop GUI or CLI (just get the job done).

Milestone 2 (due week 11, 11th of May)
Consider UC description 3,4,5 also found here.
Create the unit test for at least five methods created in milestone 1.

Project Delivery (deadline week 12, 18th of May)
Delivery consists of project code on svn, test files, build file ( + free discussion about the superiority of the IDE used for your code :).

Week8. Eclipse IDE
This lab is all about IDEs concentrating on eclipse. The main contenders for java are:

Plugins for eclipse and subversion:

Lab example project is found here: sources.

Week7. CRC Session
Tutorials:

Stories description for the CRC session can be found here.

Week6. Use Cases
Use case diagram assignment review. We'll take it easy this week (hour change and stuff).

Week5. UML Use Case diagrams

Tutorials:

Assignment lab5 (due 30.Mar)
Draw a use case diagram using the requirements below.

Costumer: We need a software to control the limited parking spaces that we have for our company using a fixed number of remote controls that will bi allocated by rotation to our employees. The remote controls are used to have access in the parking space. The controls are given to the first group of employees designated by the software and the possessors will notified by email when they need to pass the keys to the next group. The receivers will be notified too.

Developer:What happens if an employee doesn't return the remote control on time? What measures are to be taken e.g. will he be fined or he can't obtain the remote control for a certain period?

Customer: The administrator must be informed that a remote control has not been returned and the application must send emails evrey day to the one holding it until the transfer has been confirmed.

Developer: how should the software choose the persons inside each group? Using some sort of priorities? And how should it choose the groups order?

Customer: At first the groups can be chosen at random. No priorities have to be made.

Developer:What is the period one group may keep the remote controls? Are this periods the same on all groups?

Customer: The application must provide a administration section where all these settings can be changed. The same period for all groups is fine.

Developer: Should the software contain a “Sign in” and “Login” module for the employees from where an employee that actually needs a parking space should register to the software system (by registering they are telling they actually need a parking space)?

Customer: Yes.

Developer: After receiving the e-mail notification telling that they can have their remotes and after login should the employees send a notification as a confirmation to the software system telling they really received that e-mail?

Customer: I guess both the one that will release the remote control and the one that will receive it will have to login and confirm the transfer.

Developer: Can an employee see the next date she will receive the remote control?

Customer: Yes. The exchange schedule is always displayed on the front page of the application.


The teaching assistant will play the role of the costumer and this page will be updated with your questions and answers from the customer. So please visit it periodically to observe the changes.

Week4. UML Sequence Diagrams

Tutorials:

Assignment lab4 (due 23.Mar)
1. Using the code from this archive draw a sequence diagram of the below method call:

expression.visit(new PrintVisitor())

located in this code snippet:

class Main {
  public static void main(String[] args) {
    Node leftOperand = new ValueNode(new Integer(7));
    Node rightOperand = new ValueNode(new Integer(5));
    Node expression = new BinaryOperatorNode(new MinusCommand(), leftOperand, rightOperand);

    expression.visit(newPrintVisitor());
  }
}

2. Write a mockup code that performs the activity described in the following sequence diagram:

Week3. UML Class Diagrams

Tutorials:

UML Tools: http://www.oose.de/umltools.htm

Assignment lab3 (due 16.Mar)
1. Based on the contents of this archive, draw the UML class diagram using a UML modeling tool of your choice. (e.g. StarUML)
2. Write the code described by the following UML class diagram:

Week2. Versioning systems(Subversion):

Docs:

If you are behind a proxy server you can find instructions here

Week1. Intro