Objektorienteret Netværkskommunikation (ONK)

 TilbageATB Intranet IHA

Opgaver

 

 

Background:

You need practice in order to learn anything. In ONK we have three kinds of practical assignemnts: the short, non-required assignment (often only an advanced HelloWorld), the weekly assignments (often in conjunction with the two required written reports - see next) and the two required written reports.

The non-required assignments may be used for training and inspiration, and will help you better understand the technologies introduced. There is no help from the teacher but you may post an email. You may choose not to solve the non-required assignments, as these are not essential for passing the exam. The assignments will, however, help you in completing the two required  written reports, as well as gain a better and broader understanding of the subject. One more detail worth noting is, that I will only reluctantly provide help for the reports, if you have not solved the non-required assignments.

Division into groups:

You are required to form groups of 3. First assignment for the group will be to notify me, and the rest of the class, of your existence on the Campusnet Conference ("Grupper"). Later on you may create a Campusnet group, and invite me as a guest member. Those who can not themselves find a group may use the Campusnet discussion forum ("Konference/Grupper") for finding a group. All posted here who can not find a group to join, may either be formed into a new group, or placed in existing groups at my discretion. Failure to either be part of a group within the first 14 days OR having joined the Campusnet discussion forum may result in severe punishment.

Subject of assignment 1 and 2:

The subject of the 1st and 2nd required written assignment may be a topic of particular interest to you and your group (e.g. for use in another course) or it may be the "standard" assignment of the class. The former might be more movitivating for you, while the latter might prove easier to comprehend and define.

Thermo Surveillance System ("standard assignment"):
Design of system for monitoring the temperature in a brewery's fermentation tanks (see more later)

Own idea:
If your group can come up with an exiting idea, I am open to suggestions
It needs to use the same technologies and solve roughly the same requirements as the Thermo Surveillance System. Must define your own requirements more detailed.

Deadline for assignment 1 is (to be announced) while it is (to be announced) for assignment 2. 

Requirements:

Capabilities of the system:
Thermo Surveillance System (TTS) must be able to
- read and collect the temperature from a random number of distributed temperature reading stations, storing these in a central server (TTS Server) (we will be using the PICO TH03 temperature probe)
- read and collect the current pressure from a pressure-probe (no real probes available, test only)
- administrator must be able to attach a name, an alarm level and physical adress, to each reading station from a remote PC program (System Administration Program - SAP) 
- administrators must be able to create new users & administrators
- other users (non administrators) of the system must be able to survey all reading stations on a PC (PC Survey Program) using middleware to connect to the server
- A reading station that exceeds its alarm level must be marked clearly (e.g. in a red color) on the users PC Survey - Program (PSP) temperature readings must be performed every 30 seconds
- Last hour of temperature readings must be available for inspection in the PC Survey Program (could be on a different screen)
- Historical data (data beyond 1 hour) must be accessible in some summarized form
- All data must be persistant (preferably using a relational database)
- Must be capable of working without Thermistors attached (simulation mode)
- VERY NICE TO HAVE: a mobile client (J2ME or Pocket PC) for both SAP and PSP
 

Use of UML for design
- Using OOA/OOD techniques, UML and OO Middleware is a requirement for the assignment
- Only Class Diagram & Deployment diagram overview required - no need for a lengthy report!
- All nicely OO please!

Which technologies to use:
- The use of Web services is a requirement for assignment 1
- Heterogeneity is required (more than one programming language) recommended is using Java server side and C# client side. Not only CLS.
- Use AXIS/SOAP for Server side and Visual Studio C# on client side. Other combinations are allowed!
- Persistent storage required - trying to use a database (OR-mapping), MySQL, MS Access  
- The PC platform is required for server TTS and client PSP
- Temperature Reading Stations (TRS) will be a PC using the PICO TH-03 Thermistor Converter with RS-232 serial port access
- Other platforms may be used as well for TRS, SAP and PSP - J2ME, Pocket PC, ?
- For assignment 2, replace the entire middleware system with Java RMI, using the traditional static stub (rmic) version, as well as the new dynamic stub version (reflection).

Report structure and size:
Should include the following chapters:
- Synopsis (max. 1/3 page) + illustrations
- Design considerations (max. 2 pages) + illustrations, incl which technologies to use and how to design
- Class diagram (mostly graphical)
- Deployment diagram (-"-)
- Reflection and discussion (max. 1 page) + illustrations
- List of used literature
(all pages are excluding use of graphics and figures, Use Cases and Classes MAY be documented as Appendix)
- Should include references to used literature
 

Presentation:
After the product is finished each group will present the product (assignment 1) on class:
- Present the idea of the project (Synopsis)
- Present a working project
- Present design considerations, as written in the assignment
- Have a short discussion of the constructed system
- Around 2o min. time pr. group + 1o min. for questions/discussion
 

Reuse:
- You may reuse the use-case and whatever parts of the design considerations from assignment 1 in assignment 2
- You may reuse the entire persistence structure, and (depending on the quality of your oo) even reuse most classes and their designs. This would require you to have chosen Java for the server platform in assignment 1.
- So assignment 2 is actually assignment 1 with a different middleware, namely Java RMI.

Evaluation:
- All group members will be evaluated individually, 20 min. each with no preparation
- Questions to be announced on Campusnet one week before first oral exam
- You may only use 2-3 slides - and this should mainly be either code examples or illustrations
- The result of Assignment one & two is not part of the evaluation.

Important dates to remember:

Assignment Date of completion Description

1

31.1.

Under "Konference" findes punktet "Grupper". Her kan du/I oprette jeres gruppe og anfører: alle navne + studienumre på deltagerne (og et stk. mobilnummer på gruppens kontaktperson), samt en kort beskrivelse af jeres projekt. Denne beskrivelse vil jeg så godkende eller kræve ændret til næste gang. Alternativt regner jeg med at I vil lave "standard-projektet" i faget, altså det projekt jeg kommer med oplæg til. Gruppestørrelse på 3 er optimalt, 4 kan gå an. En anden lækker feature ville være et link til et "gruppe web-site", f.eks. oprettet under Campusnet.

Alle der ikke på forhånd har en gruppe kan også skrive sig på i form af "søger gruppe".

Bemærk alle afleveringer er obligatoriske. Hvis ikke dette blivergennemført til tiden kan du ikke blive indstillet til eksamen.

2

14.2.

Der skal udarbejdes en synopsis (kort problemformulering) for opgaven (særligt vigtigt hvis I selv har fundet på et projekt). Skriv den ud og få den godkendt på klassen af undertegnede.
2.5 21.2 Distribueret lommeregner opgave: Opgaven skal præesenteres for undertegnede i lab på afleveringsdagen og efterfølgende indsendes pr. mail. Der skal være ca. ½ halv side tekst (readme.txt) der redegør for beslutninger og overvejelser (inkl. navne på gruppemedlemmer), og koden skal kunne startes med en "runme.bat" fil. Alting ligges i et katalog: \UDP-X\ hvor X er jeres gruppenr. Alting pakkes i en zip fil med angivelsen: "UDP-X.zip", hvor X stadigvæk er jeres gruppenr. Afleveringsdato vil fremgå af Campusnet. God fornøjelse.

 

 

 

5

 

Lav en version 1 af en teknisk klassemodel af jeres system til obligatorisk opgave 1, hvor I prøver at tage højde for de elementer der blev diskuteret under dagens forelæsninger. Denne skal præsenteres for undertegnede.

 Req. 1

10/04-2007

Aflevering af obligatorisk opgave 1 (Written requrired assignment 1)

 Req. 2

7/6-2007 kl. 12

Aflvering af obligatorisk opgave 2 (Written requrired assignment 2) Bemærk, at der skal præsenteres kørende kode. Hvis nogle grupper HAR koden færdig inden sidste undervisningsdag, så fremvis det venligst i een af de ordinære labtimer, da d. 7. elelrs kan blive en lidt presset dag med ventetid til følge.