22 Apr 2011

Week 7 Group Diary

****This week's meeting was held on Thursday, 21/04/11****
pre-meeting
What we have done is:
1. Profile part functions
2. Question input/output/generation part functions
3. Question structure defined
What's on progress is :
1. Henry is improving the Question part function to make the function compatiable with the question structure.
2. Allen is converting questions to the defined structure.
What we'll discuss in the meeting:
1. to assign tasks
2. SQL/database
3. image processing with C++
4. a brief discussion about QT and GUI design
In additional, codes are shared using a Dropbox account which makes us easier to share codes.
Post-meeting
A brief report of current progress:
1. Questions
- We're now only concerned about plain text multiple choice questions.
- Question structure has been defined and question input/output/generation function has been built by Henry. However the function needs to be revised and further features should be added to it.
- Question structure conversion has been done by Allen.
2. Profiles
- I've written all the codes for Profile part. However, due to the size of the codes and quantity of the source code files, there're still some errors to be fixed before it can run properly.
Tasks for this week:
1. Henry will finalize the Queston function, and thest the function with the existing question samples.
2. I'll start building the Analysis function which is responsible for analyzing user data. As this function requires recording and calculation on user data and questions themselves, modification will probably be required for both Question and Profile part codes.
3. I let Jeff have a check on our current written code as well as implement the question database with SQL.
4. Allen and I will work on the first version of our UML digram, which is to be released to public.
Current issue:
The main problem now is that we just write separate code, and we need to find a way to manage each part of the code effectively in the whole project. Also we'll soon face the problems of building GUI and constructing a MSI package. So we need to do some research on how to get our code work like a real software.
Our next outcome:
We'll get our first version of UML digram released by the end of next week. This digram provides an overview of what features you can expect to see in our project. These features will come gradually in our releases of Demo. The first release will be out by the end of this session.

5 Apr 2011

Week 6 Meeting

******Recording not available this week******
To tell frankly we've done very little on coding. The reasons are basically what I said in the previous post. So this week I found some reference books which I think are very useful. I gave those books to other guys and I think we need to change the way we do coding, that is,
We can code slowly, but we need to code with a clear idea. File management is critical when building a large project, especially the project is to be done by many people. I don't want to take half an hour to look for a source file for modification when our first version is out.
So tasks for this week (and the next week) is simple: just keep on the coding. To put it in more detail, Jeff's gonna construct database for user profiles and multiple-choice questions. Henry, Allen and I will continue coding on multipe-choice questions part and Henry will revise and refine the preliminary documentation as more functions are built.
Other things discussed includes finding a place for share of code (possibly Google Code), and resources (reference books, documents from RTA).
The last thing is that Personal Diary is due this week, so every member should have 3-4 posts on their blogs.

Jobs done in week 5.

******The recording of meeting in week 5 will be uploaded to the project website.******
In previous weeks we've discussed about the concepts, ideas and functions to be covered in our project. So I think it's time to actually start coding jobs now.
The assignments for this week is simple. Jeff takes care of the DATABASE part, Henry takes the DOCUMENTATION part, Allen collects and organize MULTIPLE CHOICE QUESTIONS and I take the real coding part.
And now I'm going to talk about the problems & difficulties I met...
1. Different IDEs & Project building
Different IDEs are used in our group, thus a project file in one IDE isn't compatible with another.
That costs extra time and effort to rebuild projects.
And in terms of project building, it's absolutely not like writing a CPP file in assignments of other subjects. There are many, and going to be hundreds of (or even thousands of) resource files and source files. We need to get things organized, every function into its own source file and decide what files are to be shared by other files, otherwise we just get ourselves messed up. This job is not concerned about the skills of programming, but it's very tricky.
2. The use of IDEs & advanced C++ techniques
We four people don't have experiencing in programming in IDE before, so no matter it's Visual Studio or Netbeans and the later to be used QT, we don't know how to operate it efficiently and it takes time for us to familarize ourselves with these tools. So it might be useful to slow down the progress on coding and to take more time in reading and searching references.
It's the same situation with C++. We need to take time to learn how to use new header files.