SDA SE Wiki

Software Engineering for Smart Data Analytics & Smart Data Analytics for Software Engineering

User Tools

Site Tools


Assignment 0: Hello OOSC World!

Due at Thursday, April 23rd, 23:59
If you face technical difficulties or have problems understanding the assignment, ask us for help!

You can mail to one of the tutors, Matthias bartsch@cs.uni-bonn.de or Boris jentsch@cs.uni-bonn.de

You find information about the recommended working environment and about how to access your group repository on the general assignments page.

Task 0: Welcome

1 point but mandatory!

In order to get everyone accustomed to each other and working with the SVN repository, do the following:

  • Commit your name and email address into your group repository.
  • Also, commit a short textual presentation of one of your group members.
  • The presentation should just be a short description of who the person is, what he/she does, etc.
  • Each group member has to be covered.

Task 1: Phone cards

6 points

Introduction

DeutschTel Inc. sells phone cards for making cheap long distance calls around the world. In this assignment, you will write a (much simplified) Java program to manage their business.

DeutschTel Inc. sells 3 types of phone cards: NATel5 cards, which cost €5 and are good only for calls in Canada and the USA, GlobalTel5 cards, which cost €5 and are good for overseas calls, and GlobalTel15 cards, which cost €15 and are also good for overseas calls.

The per minute rates for each type of card and call zone are as follows:

NATel5 GlobalTel5 GlobalTel15
Africa N/A €0.50 €0.35
Asia N/A €0.50 €0.35
Australia N/A €0.40 €0.25
Canada €0.05 €0.10 €0.08
Europe N/A €0.30 €0.20
Latin America N/A €0.40 €0.25
USA €0.08 €0.15 €0.10

The initial balance on the cards and the weekly maintenance fee are indicated below:

NATel5 GlobalTel5 GlobalTel15
Initial value €5.00 €5.00 €15.00
Weekly fee €0.25 €0.35 €0.50

In order to help the DeutschTel Inc. to manage its work, we have implemented a hierarchy of classes to represent the different types of cards. However the implementation still missing some details, your main task during this tutorial is to fill in the gaps in our provided implementation.

Your Task: Complete the implementation

  • In your group repository, you'll find your copy of the unfinished project.
  • Go through the classes in the given order, you can find 18 small tasks that you have to accomplish:
    • PhoneCard.java
    • NATel5Card.java
    • GlobalTel5Card.java
    • GlobalTel15Card.java
    • TestApplication.java
  • Remember to commit working code back into the repository. (Or even nonworking, if you want your team members or us help you with it)

More fun (optional):

  • Convert the CallZone class into an enumeration. Modify other classes' code accordingly.
  • Hints:
    • Convert the zone type from integer to a CallZone object.
    • Add a function in the CallZone enumeration type to convert from a string to an enumeration object.
teaching/lectures/oosc/2009/assignment_0.txt · Last modified: 2018/05/09 01:59 (external edit)

SEWiki, © 2019