1 / 44

Autism-Genetic Database autism-genetic-db

Autism-Genetic Database autism-genetic-db.net. IT490/IT492: Capstone Project Department of Electrical Engineering and Computer Science Client: Dr. Zohreh Talebizadeh Advisor: Dr. Hossein Saiedian James Byars April 25, 2014. Agenda. Acknowledgements Project objectives

didina
Download Presentation

Autism-Genetic Database autism-genetic-db

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Autism-Genetic Databaseautism-genetic-db.net IT490/IT492: Capstone Project Department of Electrical Engineering and Computer Science Client: Dr. Zohreh Talebizadeh Advisor: Dr. Hossein Saiedian James Byars April 25, 2014

  2. Agenda • Acknowledgements • Project objectives • Development process • Deliverables • Observations (lessons learned) • Concluding remarks • Product demo

  3. Acknowledgements • Advisor: Dr. Saiedian • Client: Dr. Talebizadeh (CMH) • Wife: Molly Byars • Faculty • Professor Tetmeyer and Professor Johnson • Thank you for being here

  4. Agenda • Acknowledgements • Project objectives • Development process • Deliverables • Observations (lessons learned) • Concluding remarks • Product demo

  5. Project Objectives [1/5] • Project for: • IT490 & 492: IT Capstone 1 & 2 • Develop autism genetic database web application • Provides bioinformatics researchers with a database of autism related genetic information

  6. Project Objectives [2/5] • AGDB comprises a comprehensive list of susceptibility genes and will facilitate the evaluation of autism susceptibility factors in relation to known human noncoding RNAs • It is a valuable tool for the research community to evaluate genetic findings for this complex multifactorial disorder in an integrated format • AGDB provides a genome browser and a web based query client for conveniently selecting features of interest

  7. Project Objectives [3/5] • Features • Query database for know genetic features • Allow researchers to upload data to detect similarities and differences • Updates to data as new discoveries are made • Make announcements to research community about new features/data • Use content management system (CMS) to make updates easier

  8. Project Objectives [4/5] • User-friendly interface • Ease of navigation • Query data based on URL • Cross-device compatibility • Help files • Tools • Upload user data • Data manipulation • Extensible, maintainable code to allow future development

  9. Project Objectives [5/5] • To apply knowledge and skills (from various courses) during analysis, design and implementation • Software engineering • Computer networking • Web technologies • Database systems • System administration • Project management • Web security

  10. Agenda • Acknowledgements • Project objectives • Development process • Deliverables • Observations (lessons learned) • Concluding remarks • Product demo

  11. Development Process • Development environment • Development does not affect end users • Creation of new features • Testing can be executed • Production environment • Updates applied only after testing has been completed

  12. Agile Development [1/2] • Allows requirements to accurately reflect customer needs • User stories and acceptance criteria are constantly refined • Example: • I met with Dr. Talebi-Zadeh in person at Children’s Mercy Hospital in downtown Kansas City to gather requirements for the application

  13. Agile Development [2/2] • Provides customer with working software early • With the ability to make changes • Example: • I hold regular review meetings with Zohreh at the end of each development cycle to gather feedback. Zohreh has the ability to make changes to her requirements. • Encourages continuous improvement • Retrospective of previous development cycle • Example: • Following the completion of the first development cycle I noticed I was underestimating the time required to develop test cases. In following cycles I will now allocate more time to that particular task.

  14. Sample Product Backlog

  15. Agenda • Acknowledgements • Project objectives • Development process • Deliverables • Observations (lessons learned) • Concluding remarks • Product demo

  16. Deliverables [1/2] • Monthly deliverables • 11/22, 12/21, 1/25, 2/22, 3/22, 4/26 • Schedule meetings to • Demo application • Collect feedback • Refine requirements • Review documentation

  17. Deliverables [2/2] • Final product due 5/9/2014 • Project artifacts (available for review) • User’s requirements • Architecture and design • Source code • Test documents • User manual

  18. Agenda • Acknowledgements • Project objectives • Development process • Deliverables • Observations • Concluding remarks • Product demo

  19. Database challenge • Problem • Very large data files • Unable to import database into development environment • Issue encountered • Processing error

  20. Database challenge - Continued • Resolution • Break each table into smaller sets that could be imported within maximum time limit • Modify configuration file to increase time limit • Lessons learned • The importance of understanding server-side DBMS and reading documentation

  21. Development challenge [1/3] • Problem • Difference in web-server hosts un-noticed until attempt made to put first iteration on production server • Issue encountered • Application would not run (error logs provided very little details)

  22. Development challenge [1/3] - Continued • Resolution • Re-wrote major application modules • Modified development environment to match production environment • Lesson learned • Test integration early and often • Document integration testing procedures for repeatability • Ensure the development environment replicates production environment

  23. Development challenge [2/3] • Problem • PHP programming language does not support function overloading • Issue encountered • Application uses RESTful architecture, sometimes requiring methods to call themselves with additional parameters • Not possible in PHP using traditional overloading

  24. Development challenge [2/3] - Continued • Resolution • Define function with 0 parameters and pull arguments from URI • Lessons learned • There are multiple ways to accomplish a task • It is very helpful to understand system documentation to resolve unforeseen errors

  25. Development challenge [3/3] • Problem • Microsoft’s Internet Explorer browser contains security measures to prevent XSS (cross-site scripting), even if the URL the user is being redirected to is an address in the same domain • Issue encountered • Internet Explorer prevented users from being able to register or sign in to accounts

  26. Development challenge [3/3] - Continued • Resolution • Form submission process refactored so the user no longer redirected to a fully qualified URI • Lesson learned • Test applications in as many operating environments as possible to ensure compatibility • Consider as many operating environments as possible when designing a system

  27. Project management challenge [1/2] • Problem • Effort estimation errors in sprint planning • Issue encountered • Story effort estimations incorrect, many times vastly underestimated, resulting in over-commitment

  28. Project management challenge [1/2] - Continued • Resolution • Work to understand tasks and development abilities • Lesson learned • Understand a task before estimating work • Break large tasks down into smaller pieces • Estimation skills improve with time (as long as you can reflect on and understand mistakes)

  29. Project management challenge [2/2] • Problem • Incorrectly understanding client requirements • Issue encountered • Prioritized work to my understanding of the requirements instead of actual client needs

  30. Project management challenge [2/2] - Continued • Resolution • Met with client regularly for feedback • Increased communication with client to resolve requirements questions • Lesson learned • Prototypes are very useful in communicating requirements • Constant communication required, do not assume you understand the project without client verification

  31. Knowledge Areas Required • Software Engineering • Architecture • Project Management • Computer Networking • Information Security • Database Management • User Interface Design • Human Communication

  32. Knowledge Area – Software Engineering • UML modeling • Writing maintainable code • Applying software engineering best practices • Documenting processes • Iterative development process

  33. Knowledge Area – Architecture • RESTful Architecture web architecture • Model-View-Controller (MVC) pattern • System integration and communication

  34. Knowledge Area – Project Management • Requirements gathering • Stakeholder involvement • Agile (SCRUM) process • Effort estimation • Iteration & sprint planning

  35. Knowledge Area – Computer Networking • Network connection between client and server • Network connection between web server and database server • Minimization of network load

  36. Knowledge Area – Information Security • SQL injection protection • Storing passwords as hash values • No plaintext • Authentication logic • Example: Members page • Authorization logic • Example: Administrator page

  37. Knowledge Area – Database Management • Database design • Conceptual modeling (ER diagram) • Normalization • SQL query construction • SQL update scripts

  38. Knowledge Area – User Interface Design • Usability • Intuitive UI adhering to web standards • Navigation tools • Breadcrumbs allowing users to view and navigate to previous steps

  39. Knowledge Area – Human Communication • Interacting with stakeholders to gather and verify requirements • Facilitate client interaction with the prototype and incremental work to clarify needs and minimize ambiguities

  40. Agenda • Acknowledgements • Project objectives • Development process • Deliverables • Observations (lessons learned) • Concluding remarks • Product demo

  41. Concluding remarks [1/3] • Contributions • Educational background • Software, project management, system administration, Information Technology management • Objective of capstone course • Integrate knowledge from course work to create a product • Client needs • Web-based interface enabling genetic researchers to interact with a database

  42. Concluding remarks [2/3] • Future work • Implementation of tool allowing database updates to be made without technical knowledge • Admin panel for viewing of usage statistics • Expand project to be deployable for all researchers to present data stored in a database using a web interface

  43. Concluding remarks [3/3] • Thank you for your time • I welcome questions, comments, feedback • Next: demonstration of some AGDB features

  44. Agenda • Acknowledgements • Project objectives • Development process • Deliverables • Observations (lessons learned) • Concluding remarks • Product demo

More Related