comp730:MeAndYou Spring 2017 William Jones Log


 * Home
 * MeAndYou
 * Semesters
 * Spring 2017

Week Ending March 21, 2017
Each team member was asked to investigate an algorithm for searching text.
 * Task:

Concept search - Macuei Mathiang Jaro–Winkler distance - Alex Turner Levenshtein distance - James Schumacher Regular expression - Sam Workman Soundex - William Jones

We reviewed the options and discussed the plus and minus of each.
 * Results:

Recommendations:

Regular expression should be used on the UI to validate data, so we have consistency with data entry. We may use Regex expressions to search text with wildcards in a future release.

Soundex - Built into several databases so we can use it to assist in name searches where they sound the same but may be spelled differently. Can use a DIFF to determine how close the text strings are to each other.

Jaro–Winkler and Levenshtein distance are a bit complex and will be investigated once we have a working model. We expect this to happen post week 3, and will need to determine how and when to use. Does not make sense for all attributes (i.e. gender).


 * Plan:

Team has been asked to update the Wiki with current information and complete areas that may be lacking.


 * Concerns:

Currently all of the teams are working apart. We need to get everyone on the same page.

Met with the Architects after the team meetings. We agreed to meet as a group and present and get everyone on the same page.

Week Ending March 28, 2017

 * Task:

Team worked on updating the Wiki with requirements.

The Architects decided at the end of the prior class to have everyone meet as a group. The goal of that meeting was to walk through the data model with the updates suggested by the Software team.


 * Results:

The meeting was led by me with assistance from the other leads, and Patrick taking notes and displaying the data model.

I walked the team through the benefits of the model (primarily extensibility with no coding required).

Questions were asked and discussion about the model determined that it would be the model to work on.

We broke into our separate teams to then discuss our particular components based on the model.


 * Plan:

The software decided on C# as the language to use. This was based on our limited knowledge of the existing source code, and the strength of the team in C# over Java.

The software team broke out the project into smaller components to delegate work for the next class.

- Set-up project (Bill)

- DB Connection (Sam)

- Nearest Neighbor Algorithm (Alex)

- Queries (James)

- Classes (Bill)

- Test Scenarios (Mac)

Each developer was going to work on their component to be ready to compile code for the next meeting.


 * Concerns:

Database team has not made changes to the actual model. Our code is very dependent on what they build and when.

PLAN CHANGE: - The Architects met at the end of class to discuss status of each team. The Web Team would have a lot of work to alter their pages to fit the new model. They do not have a strong team of developers, so their ability to  build dynamic pages is limited. - So after debate, it was determined that changing the model would cause more work for the Web Team than they could handle. This will limit the extensibility of the model, but the Software team will work with what we have.

Week Ending April 4, 2017

 * Task:

Team worked on walking through the code to determine issues. The team spent the class time walking through the processing of a search and determining what needs to be done.

We wrote the pseudo code into the Program.Cs to document what we thought the code should do.

Once we outlined the code, we determined that we missed some logic, updated the pseudo-code and walked through the code again.

Finally, we reviewed the code for the scenario of "what happens when an update it made". The code should be able to handle changes.


 * Results:

Pseudo-code was checked into the repository.


 * Plan:

Team will work on their components and add more structure and add the logic to handle the pseudo code.


 * Concerns:

Database team has not finalized the tables. Need to secure a model so we can start querying and testing. Until then, we will have "mock" data and classes to test.

Week Ending April 11, 2017

 * Task:

The team continued development on the code.

Alex took initiative and built out the code to use interfaces and less dependencies.

James has been working with the database that the DB team has built. We will be making suggestions to the DB Team on needed changes.

Sam has been working on the connection from the code to the DB. We discovered that we cannot connect remotely to the DB. It is configured for local access only.

Mac is working on the test cases and will start working on Unit tests for the team.

Bill spent the beginning of class working with the other teams on how to use SVN and TortoiseSVN to checkout and check in code. The prior Web Team did not use SVN so Josh (et al) wanted to start using it, but were not familiar on the steps needed. The DB Team also listened in to learn how.


 * Results:

We made good progress in class, and we will continue with the hopes of having a working model next week. The DB needs some tweaks still.


 * Plan:

Communicate the DB changes needed with Andry and Patrick.

Continue Development

Stand up code on server.


 * Concerns:

DB Team ability and willingness to make our changes.

Data to test with.

Week Ending April 18, 2017

 * Task:

Team was tasked to pulling the Engine code together. Some had to upgrade IDE to work with Solution.

Email notification has been started, but needs to be built out by the team on 4/19.

Alex has taken the lead and worked closely with James on building it out.

- Interfaced out engine and all of its dependencies ( distance algorithm, MySql searcher and updater, etc.. ) - Started implementation of engine - Implemented all of engine dependencies ( besides DB connection mgr ) - Implemented James' SQL queries in C# - Updated C# models to match what we designed in class - Designed and implemented MySql data -> C# object conversion mechanism - Finished implementation of engine - Debugged the engine with James -- We were able to create a one way match but not two way due to the lack of data ( two way match theoretically should work since we're using the same method to match with )

James wrote the SQL queries for the search engine with the guidance of Bill and Alex


 * Results:

Requested that the DB be populated with data so we can do testing and validating the process.

Code is checked in and "working".


 * Plan:

Continue the development and do a conference room walk-through during class on 4/19.

Get Smtp server name for the email notification process on Matches.


 * Concerns:

Database needs to be copied locally and therefore MySQL needs to be run locally.

Database does not meet needs as of 4/16. Will work with DB team on when changes will be completed.

Week Ending April 25, 2017

 * Task:

Continue development, and building test cases.

Plan to demo to Prof during the second half of the class.


 * Results:

Agent is working and sending notifications on our local development environments.

DB Team was not ready to demo. Agent was failing to connect to the database. UI Team was unsure of the state of the site.

Could not demo. Assisted the DB team with queries.


 * Plan:

Work with the DB team on finalizing the model.


 * Concerns:

DB team was having difficulty with queries and seems to have taken on UI development of pages. They asked for assistance at the end of class, but we were unable to assist.

Week Ending May 2, 2017

 * Task:

Everyone on the team was assigned areas to document.

In addition, we had to make some changes to the code to fix issues related to the database changes and final structure.


 * Results:

It was discovered that the Agent was not running on the server. It was unable to connect to the database.

Final resolution was to use the local ip (127.0.0.1) rather than Localhost, and to use port 3306 rather than 4306.

Alex installed VS2017 to help assist in the debugging. This came in handy when investigating exceptions that were thrown on the server.

The code expected clean data and had limited checks. The Searches it was processing were missing required attributes. I set the searches to ERROR so they would not be processed.


 * Plan:

Continue documenting, and start testing.

Add checks in the code to ensure data integrity.


 * Concerns:

The DB team is moving ahead with changes to the DB and attributes before the site is working. We are not following a proper methodology and the DB and UI teams are not using source control, therefore there is risk to the teams breaking the site.

Week Ending May 9, 2017

 * Task:


 * Results:


 * Plan:


 * Concerns: