P. 1
911 Distributed Diary

911 Distributed Diary

|Views: 0|Likes:
Published by rishadahmedh

More info:

Published by: rishadahmedh on Jan 31, 2012
Copyright:Attribution Non-commercial


Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less





Modular B.Sc.

Honours Computer Science 3COM0063 Computer Science Project Suggestion


Identifying Code 911-MFW


Project Title A Distributed Diary System


Aim of the Project The aim of the project is to produce a Java client-server application that keeps a working diary for each registered employee of an organization, and that allows such individuals who work on the same site to schedule meetings with each other by inspecting their individual diaries. Organizing meetings between employees can be a tedious and time-consuming process, so this application is intended to automate this process as far as possible. As well as providing a simple individual diary function, this application is able to co-ordinate entries in several individual diaries.

3. 3.1

Background Information and User Requirements Diary Entries All diary entries have a date, a start time and an end time (on the same day). The earliest that an entry can start is 08:00. The latest that an entry can end is 22:00. Although there will be days on which little work is expected (weekends, public holidays, etc.), an employee should be able to create a diary entry between these times on any day. An employee must be able to record absence from the site for whole days because of holidays, sickness or off-site working. Employees are assumed to be available at any time between 09:00 and 17:00 on any weekday (Monday to Friday) unless otherwise indicated by their diary. In addition, an employee can record that they are working on-site at other times (e.g. after 17:00 on a particular day, or on a particular Saturday). In the rest of this specification, the following distinction is used: • an "activity" is an entry in a diary that only involves the owner of that diary. An activity has a description in the diary, and is flagged as either moveable or non-moveable. See section 3.3 on the use of this. • a "meeting" is an entry in a diary that involves other employees than the diary's owner. A meeting has a description and a record of who the other involved employees are.


Individual Diary It is assumed that an employee will log onto the diary system when they start work. This will involve entry of a user name and password. The required functions that only affect one diary are: • record absence from site for a whole day • record on-site availability outside the normal schedule • display the diary entries for a day • record an activity in a diary

14 - 1

An employee is free over a particular time interval if their diary shows that they are working on-site. A meeting can be cancelled by the employee who initiated it. The diary administrator will need to be able to: • add details of an employee to the system (name. Both employees and the diary administrator should be able to access the system through a suitable graphical user interface. 3. of a particular duration. Notification takes the form of a message to the employee.3). user name. on a particular day or within a particular time period. It must not be possible for a diary entry to be updated by two different clients simultaneously. an employee must have access to a list of registered employees.2).4 System Design Issues This application can be implemented as a client-server system using Java. this is reported to the initiator of the request (indicating which employees are not free).• • cancel an activity print the diary entries for a day Diary entries for days before the current date should be read-only. with RMI (Remote Method Invocation) used to program the distributed aspects. apart from authentication of a user when they log on.2 and 3. The system should find a time when all concerned are free.7 Diary Administrator Requirements There will be a password-protected administrator account with special privileges. The client would enable an employee to update their diary (as described in section 3. with named colleagues. the notification message is queued and forwarded to them when they do log on.synchronizing diaries An employee should be able to request a meeting. which may require them to reschedule a moveable activity. with information about registered employees and their diaries stored in a database. 3. accessed by a "thin client" running on each registered employee's machine.3. the server must know which clients are logged on. so there are no security concerns. 3.2 . and be able to post a message to a logged-on client. and no changes are made to the diaries. In addition. and no non-moveable activity overlaps that time interval. 3. A suitable approach would involve a central diary server. If there is no time at which everyone involved is free. and will be removed from the diary after six months. 3. make an entry in each individual diary and then notify each employee concerned. initial password) 14 . in which case it is removed from the diaries of all involved employees. drawing attention to the fact that their diary has been changed.6 Employee Requirements Diary users' requirements have been largely described in sections 3. with a notification sent to each. In order to request a meeting.5 General Requirements This system is to run on the company's Intranet. An employee should be able to change their password. If the employee is not currently logged on. and to request meetings (as described in section 3.3 Organising meetings .

RMI and GUI programming using the Swing classes.3 . but not providing for booking meetings. including when and where it is to be held.com/developer/onlineTraining/GUI/Swing1/shortcourse. respectively: http://developer. Pascal.oreilly.com/developer/onlineTraining/rmi/index.sun. 14 . On-line tutorials can be found on the Sun web site. Provide a simple graphical representation of an individual diary as a component of the graphical user interface of this implementation. C etc. 4.com/developer/onlineTraining/Database/JDBC20Intro/ http://java. any outstanding meetings initiated by that employee are cancelled.• • • remove an employee from the system view a list of registered employees cancel a meeting in an emergency (for example. Other diary entries are kept for six months. Secondly. will be posted on the StudyNet site for 3COM0056.sun. to give a very brief introduction to basic object-oriented programming in Java. graphical user interfaces and distributed systems programming in Java. The following cover JDBC. allowing an individual to add an activity. Firstly. Basic Project Tasks In order to be considered for a pass at Third Class Honours standard on this project. there are excellent books published by O'Reilly.html http://java.com/. Implement an individual diary as a standalone application on a single machine.java. For example.sun.html Students working on this project will be able to obtain some help with using Java at a technical help forum which will be run by members of the teaching team. Details of the forum. if the initiator is unable to attend due to sickness) If an employee is removed from the system.8 Resources There are numerous books and on-line tutorials on database access. 3. to help students already familiar with procedural programming in languages such as Visual Basic. see the Java Resource Center at http://java. a student must give evidence of having adequately attempted to: • • • Define an appropriate data model for storing an individual diary. to move to Java. The objectives of the forum are twofold.

You're Reading a Free Preview

/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->