EPICS Semester-End Report November 28, 2006 Project Partner A: Tippecanoe County Probation Department Project Partner B: Home with Hope Community Center EPICS Program Project Partner A Contact Project Partner B Coordinator Contact Kipp Scott, Chief Probation Pam Brown Officer - Tippecanoe Mr. Darren Dunham 49-40639 (phone) 301 Main Street Ms. Stephanie Chambers 49-40052 (fax) Lafayette, IN 47901 Home With Hope firstname.lastname@example.org Kscott@county.tippecanoe.in.us 1001 Ferry Street (765) 423-9290 Lafayette, IN 47901 email@example.com (765) 742-2321 Advisors Teaching Assistant James Early Luis Avila Professor:Computer firstname.lastname@example.org Science email@example.com Christina Nita-Rotaru Professor:Computer Science firstname.lastname@example.org Fall 2006 Team Members David Broadlick email@example.com Andrew Conforti firstname.lastname@example.org Shweta Gupte email@example.com Tom Karaflos firstname.lastname@example.org Kyle Kral email@example.com Robert Meikle firstname.lastname@example.org John Pavlecich email@example.com Matt Sandlin firstname.lastname@example.org Tom Sluis email@example.com Justin Woo firstname.lastname@example.org Executive Summary Project Partner Description The Tippecanoe County Probation Department serves their county courts through the preparation of pre-sentence investigations and the supervision of felony and misdemeanor offenders. In the completion of these assignments, the Department provides protection of the community by identifying continued criminal behavior, reinforcing law abiding behavior, and providing appropriate services and programs for offenders to support their rehabilitation. In addition to the Probation department, the JDS team of fall 2006 also served the Home with Hope Agency. This agency is a transition facility for people recovering from substance abuse. Just last year, Home with Hope was still using paper documents to keep track of their clients. JDS created a MS Access Database for them originally to replace their paper system with an electronic database. The creation of this Access database and its front-end became very cumbersome, and Home with Hope in conjunction with the JDS team decided to scrap this project, and start work on a new C# front-end using a SQL database. This project’s scheme is very similar to that of JavaJDS. The mission of both the Probation Department and Home with Hope Agency is to ensure protection of the community by effectively supervising offenders and providing an opportunity for their rehabilitation. Both departments use a database to track and store information. In order to help these organizations in their efforts to supervise and rehabilitate their clients, the Judicial Database Systems team’s goals are to design, build and install a database that aims to reduce the time spent on working with the computer to retrieve data, or correct errors, and to increase Probation Officer – Client interaction. Over the years, the JDS team has developed various versions of interface depending on the suitable technology available during that period. The team started with a basic MS Access front end system and moved into developing a much more advanced user interface. Starting in the fall of 2003, JDS began developing and testing a VB.Net database system called JDS2GO, which would eventually replace the old Access database that is currently in use by Tippecanoe County Probation Office. It was believed that the JDS2GO database would give Tippecanoe and Jasper Counties more stability and options in the future. It was envisioned that the team would continue building and improving the JDS2GO system. During the previous semester, the JDS team decided that it was no longer feasible to continue bug-fixing the JDS2GO system. Hence, the team chose to re- write the entire front-end setup using JAVA technology. The main benefits of using the JAVA technology were that it could make the front end scalable and modular. Integration of web services would be easier using the Java system setup. A functional web services system would allow the probation county officers to access the database from home through a secure connection, a feature requested by the project partner. This semester the JDS team has added significant improvements to the existing JavaJDS architecture including: multiple tabs, parsing through multiple records, inserting new records, editing existing records, improved web service design, and read/write capability. Last but not least, JDS has planned on starting a sub project (once JavaJDS is complete) to integrate two more judicial agencies—Community Correction and Court Services—into the existing system. Development will continue on these in the semesters to come. GUI Project Summary The main objectives of the GUI Project were to finish the remaining tabs which were not implemented last semester (Picture, Receipts/Fees, Reports), add the ability to insert/edit/delete records from the JavaJDS interface, modify the way parameters are passed to the new web service, and add a login box to allow secure access to the JavaJDS system. The main objectives were divided amongst the GUI project members. John was given the Reports tab, Shweta was given the Receipts/Fees tab, Tom was given the Pictures tab, Kyle was given insert/edit/delete and new parameter passing functionality, and Robert and David worked on the Login box. By dividing the tasks so that each one is focused on by a specific team member, JDS was able to effectively accomplish a lot of work this semester. The Reports tab has been implemented in the main JavaJDS interface and has basic functionality. The layout of the fields resembles the old JDS Access system for the Reports tab. The basic creation of a report has been completed, by using HTML to create a document from the information that is returned from a query. One report has been completely finished, populating itself from the main profile tab. Future plans for the Reports tab include the completion of all the different report templates and the expansion to mail merge. The Receipts/Fees tab has been implemented in the main JavaJDS interface as well and also has basic functionality. The fields were created and laid out in comparison to the old JDS Access system. The ability to navigate through multiple receipts has been completed, and all of the fees have been integrated on this tab for easy access. Future plans for this tab include adding the ability to print receipts, locking out all fees from being edited, and giving addition/subtraction functionality to the tab. The Picture tab has been implemented in the main JavaJDS interface. We were able to display a picture that is read from a shared network drive. Research is still being done on the technique to transfer an image from a SQL database to the Java interface. Future plans for this tab include finishing the capability to read the image from the SQL database and giving the user the ability to not transfer the image if they do not want to. Each tab that consists of multiple records (Drug Screens, Court Case Info, Reassessments, etc) has been given the ability to insert new records and edit existing records. Also, the ability to insert new overall clients or edit an existing client’s personal information has been fully implemented. Deletion has also been added, to delete clients from the database by setting a deletion flag in the database. The new web service was completed by the web services team, and JavaJDS now functions properly with this using the new parameter passing technique for searching, inserting, editing, and deleting. The login box has been completed that appears at the start of the JavaJDS system. It allows a user to enter a user name and password, and then authenticate this information with the web service in order to allow proper access to JavaJDS. Future plans of the GUI project include: complete the tabs that were started this semester, add some sort of administrator control panel to JavaJDS, implement a “roll back” (undo) function, notify users of missed appointments/changes in information, data validation, and an auto-saving/updating function. In order to ease transition into next semester, the GUI project plans on making sure all of their code has been well commented and will update the wiki with useful information. Web Services Project Summary The basic function of the web service end of the project is to take the parameter list passed to it by the JavaJDS GUI, break it up, build a query, and pass it on to the SQL Server. The web service then takes the results from the SQL Server and passes them back to the JavaJDS GUI in the form of a concatenated string. This semester the web service went an overhaul in how it handled requests from the JavaJDS GUI. The overhaul’s main objective was to have the web service take in a list of parameters and build the requested query as opposed to taking an already built query and passing it to the database. The reason for the change was both do to security issues and design issues. Having the web service operate this way increases the level of the systems abstraction. This way the application can be applied to many different scenarios and increases the level of data independence. Security also played a factor in the change. This new method allows us to better mask how our data is stored as well as decreases the chances someone can attack the system with a malicious query. Along with the change in query building functionality was added for user authentication. The JavaJDS GUI sends the web service a username and password. The web service then checks against Active Directory on the domain. A test domain was established with one domain controller. Test users were added into AD with test groups and different privileges. First the web service checks to see if the user is a valid user in the domain. If the user is valid it then checks to see if the user is in the correct group. Not all computer users on the county network should have access to this system. Only those in the correct Probation Department group should have access to the system. If the user successfully logs into the JavaJDS GUI the web service stores that username and uses it in the connection string, along with a generic password hard coded into the web service, to connect to the database on the same network. This done for two reasons; the first is that the state department requires allow database connections to be by authenticated users. The reason is to keep track of who changes what in the database. This is all done behind the scenes and the user is unaware of this login process. Home with Hope Project Summary The Home with Hope Project this semester gathered a new list of user requirements for the Home with Hope Software. These are the user requirements gathered as a result of meetings with Stephanie and Darren: 1. Tabs that HWH has requested a. Discharge Summary (In which we should be able to provide the client to enter in on his own) b. Initial Screening c. Client Consent to Release of Confidential Information 2. Tabs that need to be edited a. Receipts tab b. Legal tab 3. Addition of functions a. Search feature b. Fax from Windows The transition to the next semester for the Home with Hope Project will be facilitated through addition of an abundant amount of information on the wiki. Next semester the Home with Hope Team plans on adding more members in order to get sufficient work done on the project. Overall Team Summary The JDS team accomplished a lot of work this semester. The GUI Team has nearly completed the entire basic functionality of the interface. Some minor tweaks to the Reports, Receipts/Fees, and Picture tabs will complete the basic GUI interface. Additional features still need to be added to improve its ease of use and extensive testing needs to be done to ensure clean operation, but the basic GUI setup has almost been completed. The Web Services team finished their new web service, experimented with domains and user logins, and started to work on SSL encryption. The Web Services team still has some work to do concerning SSL and they also plan on restructuring the Probation Department Database to a more normalized database. The GUI Team also worked well with the Web Services Team at integrating the new web service and parameter passing technique. The web service was completed, and then the GUI added functionality with the new web service one function at a time starting with searching and ending with deleting. The new web service has been fully integrated with the JavaJDS GUI client. Future plans of the JDS team consist of implementing a better security system for information being passed from the web service to the client software. SSL needs to be added for sending information back and forth with the web service and client. Once the interface has been completed, the JDS team also plans on doing an extensive amount of testing to ensure proper operation of the system, in hopes that a major version delivery will occur during the Fall 2007 semester. Reflections David Broadlick (Lab Key Keeper/Web Services Project - I believe that EPICS has been a very valuable experience for me because it has given me a wide range of work related skills. It has shown me how to better work on a team, how to work under more of a real schedule and I have learned more about things like web services. I believe that working of this specific team has also given me a lot of good knowledge and habits. Employers like the fact that I have real work experience and I can tell them it encompasses things such as security and networking. I think that our CS advisors are great and this team has been great to work on. Andrew Conforti (Manger of Intellectual Property/Web Services Project) – The technical content, and skills gained from the task coordination and team development were the reasons I joined my EPICS team. I received that experience and more, but I also did a lot of work for the part of EPICS I was least interested in, the one credit hour. My team members were all motivated by learning and experience, but most of the scheduled time in EPICS was spent proving ourselves accountable for the work we volunteered to do. The design notebook, its purpose to prove team contribution and leave notes for future stages of our project, is a terrible example of documents mean for use as a description, map, or review of the project. It is handwritten, organized by date of work not by type, and very broad in descriptions and added fluff. It would only be useful to a future member if they have the exact same task, on the exact project, on the exact schedule. Our team has replaced the notebooks only functionality to the team in the form of a Wiki, an online accessible, typed, searchable, editable, organized and non- redundant version of the notebook. Requiring accountability per member of an EPICS team is fine if the format is allowed to change to suit the group, rather than TA's handing out grades from a rubric that does not match the team's content, only the broad definition of an EPICS team and some analysis of team cohesiveness. Another issue, who is going to read this? I have yet to see any form of 360 feedback where the communication goes beyond our teaching assistant. Shweta Gupte (GUI Project) - EPICS was an excellent experience. It helped me meet new people in computer science and interact with them. I also learned how to give effective presentations and how to start/handle a project in the industry. I learned how to be apart of the team. The advisors are very knowledgeable and I learned many things and different CS concepts after taking the course. Tom Karaflos (Web Services Project Leader) – This semester I feel that as a team we made significant progress and accomplished every major goal we set except for the implementation of SSL. This success is largely due to the fact that we are good at working as part of a team but can work as individuals equally well. In order to tackle every major issue we had to deal with this semester, it was necessary to split the work among team members and assign each one of us a few specific tasks to work on. I feel that this approach was successful and allowed us to work in an effective and efficient manner. All team members proved to be responsible, dependable, and willing to work hard to help the team move forward. Personally, I learned quite a few things this semester. The research and the work that I had to perform helped me strengthen my skills in programming and systems integration. More importantly however, I gained a better understanding of teamwork, team dynamics, and group communication, all of which are skills that will certainly prove useful in future jobs. Kyle Kral (Team Leader/GUI Project Leader) - This was my second semester in EPICS, and second semester on the JDS team. I learned a lot about the JavaJDS system last semester and this semester decided to step up into a leadership position for the team. It has been exciting to take on top of my normal EPICS duties of working on code and developing ideas the duties of also promoting teamwork and organizing team meetings. I have not only learned a lot of technical knowledge of Java/C#/Windows Server 2003, but I have also learned what it takes to be an effective leader that not only works hard on his objectives but also assists the general team needs. It has been a great learning experience this semester, and I will continue my EPICS learning path next semester. The good leadership techniques I learned this semester I hope to expand on next semester, and the things that didn’t work so well I will remove from my repertoire. EPICS is a great opportunity to grow in leadership and technical expertise, and I am excited to be able to belong to such a great team. Robert Meikle (Financial Officer/Web Services Project) - There have been parts of EPICS that I have loved and others that I consider a waste of my time and of others. The concept of EPICS itself is one that I feel is one of the best programs Purdue has implemented. I have been proud to tell others that I am part of the program and on the JDS team. I feel that the implementation, however, is a bit flawed. Some of the administrative tasks seem to exist for no reason other than to give the TA a reason to be around. While I understand the necessity of the notebook, the importance placed on it and the harshness with which it's graded is extreme. Some of the other, smaller, tasks required by the TA seem useless as well. Overall, EPICS has been a great experience for me this semester, but I think it could be refined still. John Pavlecich (Webmaster/GUI Project) - I had fun with EPICS this semester. I think that the JDS team provided enough of a challenge yet never made me feel like I wasn't going to accomplish what I had set out to do. The other team members were friendly and willing to help at all times. I think that we got a significant portion of our work done and should be proud of what we accomplished. EPICS in general was a good experience because it was like a job but without as much pressure to perform. I would suggest to anyone doing at least one semester of EPICS before graduating. I'm glad that I participated on the JDS team this semester. Matt Sandlin (Team Leader/Web Services Project) - This semester has really helped me develop more of my leadership and project management skills. I have a long way to go by far. However, I think that is what I have learned most during my time in EPICS this semester. Aside from some technical skills here and there what I really will take from this semester is the ability to adapt to project changes on the fly with new people. My skills were really tested and I think for the most part I was able to succeed. There is still a lot I could have done better, but overall I think this semester was a success. Tom Sluis (ESAC Representative/Project Partner Liaison/GUI Project) – It has been an interesting semester working with the JDS team. I worked on getting the pictures tab implemented. The main part of my job was researching how this could be accomplished. Overall, I think that working with the team members has been an easy task. Also, the team as a whole functions rather well. I have enjoyed working on the JDS project and look forward to working with the team again. Justin Woo (Home with Hope Project Leader) - This semester I have talked a lot to Stephanie and Darren at HWH. One incident came to mind when I had a good conversation with Stephanie about HWH and her thoughts. She had graduated with a law degree and had gone into social service. She talked about why she got into law and also her thoughts on social service and what improvements can be made. I realized that the most important part of our work in epics is fulfilling the needs of our requirements and this means understanding them and where they are coming from. After our talks I have discovered ways of building a better client tracking database for them.
Pages to are hidden for
"EPICS Semester-End Report - EPICS - Engineering Projects in "Please download to view full document