Library Presentation


Published on

Powerpoint Presentation of 4 phase Library Project.

  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Library Presentation

  1. 1. David S<br />This presentation is a Library project that incorporates four phases to completion.<br /><ul><li>The following phases for the project were designed to use current Microsoft development technologies and methods .
  2. 2. This presentation shows an original specification for a municipal library application and follows it’s progression from windows application to a web application.</li></li></ul><li>Specifications and Requirements<br />Using a 3 tier approach , the framework will incorporate the following.<br /><ul><li>Delegates
  3. 3. Custom exception classes
  4. 4. Custom attribute classes
  5. 5. Generic Collections
  6. 6. Custom Serializations
  7. 7. Abstract Classes and Interfaces
  8. 8. Enumerations Types
  9. 9. Implementation of Iserializable, IComparer, Incomparable
  10. 10. Custom EventArgs</li></ul>David S Pitcher<br />2<br />
  11. 11. Phase #1 - .NET Framework<br />In this phase we focus on setting up the .NET Framework.<br />This diagrams the interfaces and base classes&apos; that will be used through out the application.<br />David S Pitcher<br />3<br />
  12. 12. Phase #1 .NET FrameworkBase Classes<br />David S Pitcher<br />4<br />
  13. 13. Code snippets from the interface classes - Phase#1.<br />David S Pitcher<br />5<br />
  14. 14. Phase #2 – Windows Form Application using Business, Data Access Layers<br />For this phase the specifications ask us for the following.<br /><ul><li>Design the Business and Data Access layers.</li></ul>The data access layer communicates with MS SQL Server using views and stored procedures. <br /><ul><li>Provide error handling for both SQL and Windows errors.</li></ul>Custom error handling routine for both of these types of errors.<br /><ul><li>Use LINQtoSQL to develop object models and abstract away data provider code.</li></ul>David S Pitcher<br />6<br />
  15. 15. David S. Pitcher<br />7<br />Phase #2 Functionality Requirements.<br /><ul><li>The Librarian will require a way to add a new Adult or Juvenile member.
  16. 16. The ability to both check in/out books for any member.
  17. 17. Give the librarian to option to convert a juvenile to an adult member.</li></ul>Business Requirements.<br /><ul><li> Patron must have a current library card id to check out items.
  18. 18. Any member may only have 4 books checked out at any one time.
  19. 19. Librarian can have the option to cancel any operation.
  20. 20. Easily identify overdue books for any member.
  21. 21. Juvenile members must have a valid adult member to sponsor them.
  22. 22. Notify Librarian if a adult membership has expired.
  23. 23. Librarian should be given an option to check in a book, if it is the same isbn and copy number </li></ul> and shows as checked out.<br /><ul><li> Only a valid librarian may have access to these operations.</li></ul> (Valid ID, password and user group for access) <br />
  24. 24. David S. Pitcher<br />8<br />Library Patron Information Screen<br />
  25. 25. Check Out Items<br />David S Pitcher<br />9<br />
  26. 26. David S Pitcher<br />10<br />Add Adult & Juvenile Member<br />
  27. 27. David S Pitcher<br />11<br />Custom Exception Library Class – SQL and Windows Errors.<br />
  28. 28. David S Pitcher<br />12<br />Custom Exceptions called from Library Classes (Used in all visual classes that communicate with the database) , this instance is from the AddAdult.cs<br />
  29. 29. David S Pitcher<br />13<br />Data Access Layer communicates with the SQL Server database through the Entities Layer (DP.LibraryEntities). These are identified as views or as stored procedures if additions or modifications are required to the data. Following are some of those stored procedures.<br />
  30. 30. David S Pitcher<br />14<br />Add Adult Stored Procedure<br />Transaction based<br />Validation on input<br />
  31. 31. David S Pitcher<br />15<br />Called view - ‘VItems’<br />
  32. 32. Phase #3 – New requirements and change of scope.<br />David S Pitcher<br />16<br />The new requirements ask us to convert the current Library management system into a web based application. Keeping all the functionality of the previous application while adding functionality to add new items to the system as well as automatically update a membership of an adult. <br /><ul><li> Create a ASP master page to provide a familiar and definite pattern across all web pages.
  33. 33. Keep a similar look and feel in the web application as in the windows form application.
  34. 34. Restrict access to the web application through the use of Membership Roles .
  35. 35. Use the ViewState and SessionState for post backs.
  36. 36. Reuse of both the Business and Data Access layers.
  37. 37. Use exception handling the will give the user both client & server side understand able error </li></ul> messaging.<br /><ul><li> Use of hyperlinks to navigate to all pages (master page)
  38. 38. Web application to use Form-based authentication and authorization.</li></li></ul><li>David S Pitcher<br />17<br />ASP.NET version of Add Adult<br /><ul><li>Uses client side validation
  39. 39. Catch’s both server & client side errors.
  40. 40. Validation Summary used for centralized user error messaging.
  41. 41. Required and validated fields all cued for errors.
  42. 42. Update Panel & Update Progress - Ajax controls used to display and update data.</li></li></ul><li>David S Pitcher<br />18<br />Additional Screen Shots for the Check inout and Add Item ASP pages.<br />
  43. 43. David S Pitcher<br />19<br />Phase #4 – Additional Requirements.<br />As the Library has the potential to acquire additional libraries and create partnerships with others, a need arises the current system allow for interoperability with those systems.<br />To achieve that goal, the following changes will need to take place in our web application.<br /><ul><li> Create a Windows Communication Service that calls the into the business layer </li></ul> (Code Reuse )<br /><ul><li> Modify the current user interface to call the WCF service and not the business layer.
  44. 44. Implement as a WCF Service website, using WsHttpBinding.
  45. 45. Authentication using ASP.NET membership
  46. 46. Authorization using ASP.NET roles (PrincipalPermission)
  47. 47. Use DataContracts for the entities.
  48. 48. Support ALL previous project functionality.</li></li></ul><li>David S Pitcher<br />20<br />Coding for the security and custom Error handling.<br />
  49. 49. David S. Pitcher<br />21<br />Implementing the Library Interface, Service Classes<br />
  50. 50. David S. Pitcher<br />22<br />Library Fault class<br />
  51. 51. David S. Pitcher<br />23<br />Web config & App config settings<br />
  52. 52. David S. Pitcher<br />24<br />Summary<br />SetFocus provides a learning environment very similar to what I have <br />experienced in my role as a consultantcontractor.<br />Business requirements are gathered, documentation is written (requirements and scope of project) and the developer will work in the guidelines of the shop to deliver what was in the requirements.<br />Each phase of the project required 40-60 hours of work to complete, no extensions or reduction of requirements was allowed. <br />All of the technologies specified in the requirements was expected to be incorporated into that particular phase of the project <br />(i.e. ADO.NET, LINQ etc.)<br />Students were expected to find the answers to there questions raised about a phase of the project, within the documentation and training provided. Though instructors and TA’s were available the student was never given a direct answer , but always directed to where they might find the answer.<br />