Meeting+Notes


 * Please refrain from adding new content at arbitrary positions.**
 * New entries should be made at the top of this page. (below this entry)**
 * Pictures should be added using a format supported by wikispaces (preferably png) i.e. they should be visible in the browser.**


 * __Minutes from SE2 lecture from 30.05.2011__**

We started on time as usual, Mr. Aikharia couldn't come today, but he sent a mail. The user group is still having problems with the jar. So we need another plan. We have to try to connect all the devises. The user group uninstalled all javapos,jre,jdk versions, because the versions were not the same, so today the user group does a new instalation and hope it works. We need to find a default realisation. For the user group, One should be looking for connecting all the devises and the other two participants of the user group will have to try to realise the rest without all the others. In this was way we will have a connection to the server, normal connection to the GUI. So when we have the connection we can see how it works, so that we could see how the network comm works. Then we have to test the whole functionality about getting products and how it works. As a conclusion for a default solution for the user group the minimum requirements is a gui, barcode reader,and what we can't do is open the cd, line display, MSR, printer and tone indicator. These last things we can't do. So if the connection works we can add the things. Irfaane made a gui for the server and presents it. There are some more changes that have to be done on that server GUI to fix the DB requirements and to adopt it according to our agreement from last meetings. We set the date and times for the final presentations.


 * __Minutes of SE2 lecture from 23 May 2011__**

The lecture started on time(9:30 a.m.) as usual, present were Mr. Gisch, Mr.Aikharia, Mr. Aristeidou, Mrs. Janik. Shortly after that arrived Mr. Tiganu, Mr Hammoud and Mr. Soomauroo. Mr. Aristeidou presented and explained the database code for the server connection to the DB. Mr. Hammoud gave a short update about the progress of the DB group during the last week. Mr. Soomauroo said a few words about his progress on the GUI that is needed for the connection to add products to the DB, which GUI should be ready by our next meeting. The End user group is facing a problem. There is a problem with the JDK that is installed on the machine and apparently can’t open jar files which is a big obstacle. For this reason at 10:00 a.m. the whole group together with Prof. Hotop went to the SE2 lab. The rest of the time was spent in the SE2 lab discussing the problem with the jar files and trying to fix it.

__**Minutes of the SE2 Lecture held on 15th may 2011**__

**Today there were the following topics discussed and presented:**

**- Presentation of the Server and Client connection using and test Qt GUI** **A.** The Server contains different message and the client receive them **B.** The client is listening from the communication port in order to catch the messages **Client** **Server**

**- The database product list, with all the possible product of the shop** Follow the link to the excel file for more:

**- The database diagram that have been presented without the correction, the database group has agree to make the corrections and present the solution in the wiki in the following days. The diagram you can see it below.**
 * **There were as well a presentation from the API Devices group with a draft class diagram of the necessary classes of the devices and the GUI. Some corrections have been pointed out where the group would correct them in the following days. The Class diagram is presented below:**



> For the Cashier system: > # return object(String) FunctionA(IP,”Barcode”,barcode) > # return OK/Error(Boolean) FunctionB(IP,”buy”,barcode,howMany,payment) > # return list of categories FunctionC(IP,”category”) > subcategories (IP,”subcategory”) > … … > … … > … … > list of product product > Dynamic or Static number? A question that must be answer from the API Devices > # return void FunctionD(IP,”login”,username,password) > # return OK/Error(Boolean) FunctionE(IP,”login”,username,password) > //Check out in the end of the day// > //# return ?(Difference of money) FunctionF(IP,”cash up”,money)//
 * **In the end we have talked about the necessary functions that we need to implement, in a general form in the beginning and this should be implemented until next week. The functions are as follows:**

//**- Another topic that it was covered by me (Odyssefs Aristeidou) it is the connection with the Database, below you can see the java code and the Sequence Diagram:**//

//import java.sql.*; //

//public class Database{ // // protected Statement sqlStatement; //

// protected Statement initConnection throws SQLException { // // Connection con = DriverManager.getConnection("jdbc:mysql: //localhost/posUser", "root", "cashier");  Statement sqlStatement = conn.createStatement; return sqlStatement; }

protected void connectToDatabase { try { Class.forName("com.mysql.jdbc.Driver").newInstance; } catch(InstantiationException e) { e.printStackTrace; <span style="font-family: Courier New,monospace; margin-bottom: 0in;">} <span style="font-family: Courier New,monospace; margin-bottom: 0in;">catch(IllegalAccessException e) <span style="font-family: Courier New,monospace; margin-bottom: 0in;">{ <span style="font-family: Courier New,monospace; margin-bottom: 0in;">e.printStackTrace; <span style="font-family: Courier New,monospace; margin-bottom: 0in;">} <span style="font-family: Courier New,monospace; margin-bottom: 0in;">catch(ClassNotFoundException e) <span style="font-family: Courier New,monospace; margin-bottom: 0in;">{ <span style="font-family: Courier New,monospace; margin-bottom: 0in;">e.printStackTrace; <span style="font-family: Courier New,monospace; margin-bottom: 0in;">} <span style="font-family: Courier New,monospace; margin-bottom: 0in;">}

<span style="font-family: Courier New,monospace; margin-bottom: 0in;">}



//__**Minutes of the SE2 Lecture held on 9th may 2011**__//

// The lecture started on time as usual, everybody was present. // // At first the DB group ( Ihab and Jaad) presented the structure of the database on a graph. They explained the graph with all its categories and subcategories. //

// After that Austine presented on the blackboard his idea of how to create the DB structure. // // The rest of the lecture was spent in long discussion on deciding how eventually the DB structure will look like so that all the groups know how to continue according to this structure. // // All the discussions brought to a new UML diagram that Oddy created which could be extended further, but for now gives basic points on what the DB should contain. //

__**Minutes of the SE2 Lecture held on 2nd may 2011**__

The lecture started at about 9:30 am, at the beginning we discussed the covered topics till now which are:
 * plan schedule and time table planning
 * requirements
 * hardware installation "complete"
 * software installation and implementation "complete"
 * design "complete"

Next we discussed the main points of the presentation:
 * Introduction "requirements/design"
 * Server
 * Database
 * devices/hardware on clients
 * overall functionality of the system
 * bugs/errors and problems faced

Then we started a discussion using Use Case Diagrams covering the Server point of view and the Server Communication with the Client. Covered topics:
 * Manage Users
 * Manage Security
 * Manage Database
 * the managing should be done using GUI
 * Make Network testing and monitoring
 * "program needed to monitor & control the transactions"
 * "could generate logs for this process"
 * Update stock
 * "filling the database"
 * "removing purchased products"
 * "subtracting price of new products"
 * "initial money value"
 * Start POS terminal
 * "we need user & authentication"
 * "if no match then no access, ask to reenter password"
 * "analyse and match the info and passwords"
 * "GUI is launched and cashier system starts working"
 * "information loaded from server on request"
 * Two connections:
 * Sending info and getting info
 * using bar-code reader
 * 1 request---> # of returns
 * 1 request--->1 return

Next we discussed the estimated dates for the tasks:
 * 16.05.2011 ---> connection should be established
 * 23.05.2011 ---> Database should be fully functional
 * 30.05.2011 ---> Cashier system should work
 * 06.06.2011 ---> Fully functional System
 * 14.06.2011 ---> Presentations should be ready

The last minutes of the meeting we discussed the presentations time and dates: (presentations start at 8:10 and the duration is 30-45 minutes)
 * 14.06.2011 ---> Introductory presentation / Server Presentation
 * 20.06.2011 ---> Database presentation
 * 27.06.2011 ---> Realization presentation

__**Minutes of the SE2 Lecture held on 18th april 2011**__

The lecture convened at the usually time of 9:30am, all were present.

We started off by discussing what had been done over the course of the week leading to this date. Each group explained what they had worked on and the problems they had faced.

User diagrams were presented by Odyssefs and another one was presented by Austine.

The majority of the lecture was spent discussing what the GUI would look like, everyone gave input on what it should include. Here is a replica of what was drawn on the blackboard during our meeting.



__**Minutes of the SE2 Lecture held on 4th april 2011**__

We started the lecture by once more clarifying which project member would be involved in which part of the project since there were some uncertainties in our group. That being settled all groups one by one started to report about the past weeks progress. The result are summarized in the following table:

During the discussion about the current status of different parts of the project it became apparent that a proper **timetable will have to be created**.
 * **GROUP** || **SERVER** || **SAMBA** || **DATABASE** || **CLIENT** ||
 * **STATUS** || SUSE Linux has been set up with two accounts || samba server has been properly set up and allows file transfer in both directions || Two versions of mySQL have shown promise as suitable solutions . differences still have to be found and weighed out || Communications API has been chosen - JavaComm is the better documented and most likely more stable alternative. Configuration of Eclipse IDE and xml file has shown to be a delicate topic. ||
 * **NEXT STEP** || some cooperation with DATABASE group is necessary to continue || maintenance issues and cooperation with SERVER and DATABASE groups || mySQL server will have to be set up asap to enable SERVER group to continue || connections to the hardware will have to be established followed by test classes for every single type of peripheral (to be used as tamplates later) ||

Some further discussions led to two more important agreements:
 * eventually every group will have to be familiar with the API --> the most important classes will be described using UML diagrams
 * **every step in development needs to be thoroughly documented** to enable other groups to get a clear overview of the current state of development at all times.

Regarding the architecture of the POS System there were several suggestions on how to implement the most important components. One suggestion was made by Prof. Hotop and looked like this:

edit: The JAVA POS API in its newest version is documented in apendix B of the Unified POS v.1.13 documentation which can be obtained here.

__**Minutes of the SE2 Lecture held on 28th march 2011**__

The first part of the lecture started as usuall at about 8:10am.In a attendance were the following students:
 * Odyssefs Aristeidou
 * Austine Aikharia
 * Alexander Gisch
 * Yanik Jodanka
 * Cosmie Tyganu
 * Yhab Hammoud
 * Jaad

with Prof. Hotop starting with part 6 of the script dicussing the following topics:


 * Architecture of the software design(software design high level view)
 * Coding(the language and problems encounterd)
 * Test(reason for testing)
 * How to test a software
 * Types of testing
 * Effective test strageties.

In the second part of the lecture, the professor discuss about the organisation of the project and what he expects .Since every students present today all chose to do the CASHIER system, it was appropraite to carry out a proper division of labour for the various task.In general he said the project consist of three parts, CLIENT_1, CLIENT_2(+touch screen) and the SERVER.He also mentioned the possible hardwares that can be implemented under the second client, hardware ranges from printer, cashdrawer to inputdevices .etc

So therefore since eight members were avaible for the project, each member were ask to choose which part of the three task in the project he or she can work on, and finally the project was assigned as shown bellow.

__**SERVER**__
 * 1) Odyssefs Aristeidou(project leader)
 * 2) Irfaane

__**SAMBA**__
 * 1) Austine Aikharia

__**DATABASE**__
 * 1) Yhab Hammoud
 * 2) Jaad

__**CLIENT (Hardware)**__
 * 1) Cosmin Tiganu
 * 2) Alexander Gisch
 * 3) Yordanka Janik

The prof. also said as from next meeting the class will start as from 9.30am and not to forget that attendance is compulsory.