MAY 2008 June 2008 July 2008 August 2008

 

 

 

 

 

Project Description

 

 

A system model can be acquired through an automated process, with a corpus of technical free text requirement documents in a form of Natural Language as input and a UML model, expressed graphically, through UML diagrams, representing its static and dynamic aspects, and textually, in an equivalent XML presentation, as output. The static and dynamic models are generated with the help of a set of pre-defined rules. In others words, the READ Project's aim is to automatically generate a graphical representation of a requirements text in the form of a UML model and its XML representation. This is accomplished by applying Natural Language Processing (NLP), techniques within the context of a RE process .

 

 

Oval:  
Overview

 

Figure. NLP-Based Quality Assessment in Requirements Engineering

 

 

 

 

 

Weekly Journals

 

 

 

Week 1

 

I started my job by meeting with the project group as well as Dr. Zeng and his team. They are currently working on ROM which is a vital part of our system. For the moment, we are not concerning the progress of their work. We just get their output representation in form of XMI (Internal to their system), and convert it to XML to be used as an input for Static and Dynamic analysis of our system. Making the connection between the ROM and our system is currently my job. Therefore, the meeting was really important for me to become familiar with their work.

Later on in the week,  one of the MS student of the group, working on the analysis part , gave a presentation on what the project is about in detail, what they have done so far and what should be done next. I tried my best to capture the content as much as I can and be involved in the discussion after the presentation.

To sum up, I spend the whole week meeting with people and understanding the project. After each meeting I spend time on the Internet to read about the concepts that I took note from. Over all, it was an interesting but a pretty hectic week. Although I am worried a bit I am looking forward in to it and I am so excited.

 

 

 

 

Week 2

 

This week I spent a lot of time adapting myself with the project. I read papers written by Dr. Ormandjieva and her students on the READ project. At the first 2 days I found it hard to understand because I did not have enough background knowledge about the project. So I spend sometimes searching on the Internet and looking up the concept and terms that I could not understand while I was reading the papers. It took me so long to finish the first paper but then when I became more familiar I could go faster.

This week was pretty much just staying in the research lab and reading. Besides, since I am taking courses in the summer I spend evening and nights going to my classes and study for those courses.

 

Week 3

 

I started this week by moving on to Dr.Zengs’ papers and journals on ROM. He proves all concepts by mathematics which is very challenging and difficult to understand. As Dr. Ormandjieva suggests, I did not focus on those parts and I tried to put my attention on the analysis concept and the parts related to the READ project. The ROM has many rules for analyzing the sentences pattern in the form of Natural language. In our system we also have some predefined rules which must be related to those of the ROM. My task is to understand them in depth to be able to relate them and later on write a java code that implements the rules.

At the end of the week, I start reading tutorials in XML. Since I was already familiar with HTML, it did not take me so long to go through the main concepts. Now I am ready to receive the ROM output and start.

 

Week 4

This week I was supposed to start working on ROM output and convert it to our XML representation. However, we have not received any thing form Dr. Zeng group and apparently they are still working. Therefore, I started learning java which soon I would need it a lot. I did my programming courses in C and C++ but now this project is written in java using Eclipse plug in environment so far and I am supposed to continue the same way. By the way, since I am new in Software Engineering program, I have not taken my advance java class yet and I will be taking it in July. So learning java from know would be a really good preparation for me.

I spend the whole week learning java. At first it was easy for me since the logic was the same as C++ with some changes in the code. However, when I moved on to the predefined functions or tried to work on Eclipse platform I found it a bit harder. Anyhow, I learned a lot about java this week and I am so happy.

I hope we receive the ROM output soon so I can start working on it next week.

 

Week 5

Finally, I got the output from Dr.Zeng students this week. I started by looking at their results and use case diagrams. At first it was so confusing for me considering that I had not had any advance software engineering courses and it was completely a new topic for me. I spent a day to analyze them and search for the ideas on the Internet. Then the day after, I asked my colleague, who is the master student and taking care of the analysis part of the project, to look at the results with me. After spending 2 days on the diagrams and the XMI code, we realized that there are some inconsistencies and differences between our works which cause the diagrams to be wrong. Therefore, we discussed the problem with our supervisor in our weekly group meeting on Friday. She became aware of the problem and tried to arrange a meeting with the other group. Hopefully we will have the meeting with them to discuss and solve the problems.

 

Week 6

 

This week was a bit disappointing since we did not get any respond form Dr.Zeng’s students. So I just focused on my courses for the midterms and the assignments. However, as usual we had our weekly group meeting and every body seems to be waiting. Dr.Ormandjieva had accepted another master student to work on the implementation which was very good news because the work is too much and it can be done only by me. Besides, since she is a master student, I will be learning a lot form her.

 

 

Week 7

Still after 2 weeks we have not heard form the other group. So Dr.Ormandjieva asked me to become familiar with another section of the project for now until we get the result.

This part is also new but yet interesting. NLP which is the first section of the project is being taking care of by a PhD student. Using NLP, the improved version of the requirement text is fed to the ROM; and then it goes for static and dynamic analysis and finally the output in form of UML diagrams and XML representation comes out.

First, I did some research on NLP then I went through some parts of the master thesis if the person who is working on NLP. My next job was understanding the code written by him for separating sentences by dot in order to do further analysis. Wow, it was a really long code with noooo comment or anything, so it was soooo confusing. I am still working on it and I could not get anything out of it yet. I hope I can do better next week.

 

Week 8

This week I decided to draw a big flowchart of the program to be able to understand the code and make comments inside the code to be understandable for every body. This would make me understand NLP, learn java better and besides the flowchart and the code will be used for further documentations as well.

I spend most of my time finishing with the program. I was also busy studying for my finals. I can’t believe the first summer courses are finished. Time really flies!!!

HAPPY CANADA DAY

 

Week 9

There is not much to say for this week.  Since I was done with the first term and I only had like a week off before my second term starts, I asked Dr.Ormandjieva to give me a few days off to have a short trip. My boyfriend and I went to Toronto for 5 days which was wonderful; we really enjoyed it.

 

Week 10

I came back fresh this week to do more on the research.  First I had a meeting with Dr. Ormandjieva about our future plans and decide what I should do next. Since it seemed that we are not going to receive anything form the ROM group, she decided to postpone that section and instead I spend the next two months on something else. Somehow I am glad that they did not give us the output because this part is much more fun and I like it better.

Using text partitioning algorithm, we are supposed to write a program to calculate the similarity and dissimilarity of the sentences in the recruitment text by allocating zeros and ones.

In particular I am responsible for writing all the documentation of the project form now on which is the typical software engineering job. I am so excited about it. I have already started by reading the papers related to this section.

 

Week 11

I spend the first few days of the week finishing the papers, asking my questions and making sure I have got every thing correct. Then as I am supposed to follow the format of the existing SRD and SAD of the project, I reviewed them all and started to write the first section of the SRD.

 

Week 12

This had been a very busy week. I had my midterms and I was also supposed to finish the first draft of the SRD to give it for review. Meanwhile, my colleague had already started with writing the code for the text partitioning algorithm and I was also involved in that. I spent hours in the lab this week then in the evening I was busy studying for my test until 3 am.

 

Week 13

I am glad that July is finally passed. It was a very busy month but I can’t believe that there is only one month left form the summer. By the way, this year Montreal summer was horrible, it was cloudy and raining every day and it was not a usual summer.

Anyways, we worked much faster this week. Every body put all their times and strengths on the project. We are almost done with writing the code. Although we had some problems is reading the input as XML or in calculating distances correctly, it is working OK now. Of course it has some bugs which need to be fixed but we are so glad that it is working.

I also finished the second draft of the SRD according to Dr. Ormandjievas comments and I am happy that she was satisfied with the work. I am going to upload the documents at the end of August as well.

 

Week 14

We were debugging the program the whole week and I was writing the SAD. Most importantly, my co-op paper is due next week and I was so busy preparing it. I am just glad that I am doing the most of the job for CDMP report as well because many parts of the paper will be the same; however this makes it twice harder.

 

Week 15

This had been a very very very tough week. I had my finals and I could not spend time on the project at all. However, I am so relaxed that my exams are over and I did very well on all of my courses this summer. Next week I am going to finish up with the documents and the program.

 

Week 16

 WOW, the summer is over. Time sure flies. I finished my work and submitted to Dr. Ormandjieva. I was very happy with the job and so glad that I had this opportunity for the summer to work on a real project and I think my supervisor was satisfied as well. I learned a lot about software engineering, writing documentations, reading academic papers, doing research and much more. I am also very happy that I will be continuing part time with Dr. Ormandjieva during the academic year.

My report will be ready soon, in a few days and I will post it on the website along with some of the documents that I have prepared for the project.

At the end, I just wanted to thank Professor Ellen, my supervisor, Professor Ormandjieva, and those in NSERC and CDMP who gave me this excellent opportunity. I hope I can be candidate again in future.

 

Top of the Page

Home