Upload
dpitcher75
View
643
Download
0
Embed Size (px)
DESCRIPTION
Powerpoint Presentation of 4 phase Library Project.
Citation preview
David S [email protected]
This presentation is a Library project that incorporates four phases to completion.
The following phases for the project were designed to use current Microsoft development technologies and methods .
This presentation shows an original specification for a municipal library application and follows it’s progression from windows application to a web application.
David S Pitcher [email protected] 2
Specifications and RequirementsUsing a 3 tier approach , the framework will incorporate the
following.
Delegates Custom exception classes Custom attribute classes Generic Collections Custom Serializations Abstract Classes and Interfaces Enumerations Types Implementation of Iserializable, IComparer, Incomparable Custom EventArgs
David S Pitcher [email protected] 3
Phase #1 - .NET Framework In this phase we focus on setting up the .NET Framework.This diagrams the interfaces and base classes' that will be
used through out the application.
David S Pitcher [email protected] 4
Phase #1 .NET FrameworkBase Classes
6
Phase #2 – Windows Form Application using Business, Data Access LayersFor this phase the specifications ask us for the
following.
Design the Business and Data Access layers.The data access layer communicates with MS SQL Server using
views and stored procedures.
Provide error handling for both SQL and Windows errors.Custom error handling routine for both of these types of errors.
Use LINQtoSQL to develop object models and abstract away data provider code.
David S Pitcher [email protected]
David S. Pitcher [email protected] 7
Phase #2 Functionality Requirements.
The Librarian will require a way to add a new Adult or Juvenile member.
The ability to both check in/out books for any member. Give the librarian to option to convert a juvenile to an adult
member. Business Requirements.
• Patron must have a current library card id to check out items. • Any member may only have 4 books checked out at any one time.• Librarian can have the option to cancel any operation.• Easily identify overdue books for any member.• Juvenile members must have a valid adult member to sponsor them.• Notify Librarian if a adult membership has expired.• Librarian should be given an option to check in a book, if it is the same isbn and copy number and shows as checked out.• Only a valid librarian may have access to these operations. (Valid ID, password and user group for access)
David S. Pitcher [email protected] 8
Library Patron Information Screen
David S Pitcher [email protected] 9
Check Out Items
David S Pitcher [email protected] 10
Add Adult & Juvenile Member
David S Pitcher [email protected] 11
Custom Exception Library Class – SQL and Windows Errors.
David S Pitcher [email protected] 12
Custom Exceptions called from Library Classes (Used in all visual classes that communicate with the database) , this instance is from the AddAdult.cs
David S Pitcher [email protected] 13
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.
David S Pitcher [email protected] 14
Add Adult Stored ProcedureTransaction based
Validation on input
David S Pitcher [email protected] 15
Called view - ‘VItems’
David S Pitcher [email protected] 16
Phase #3 – New requirements and change of scope.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. • Create a ASP master page to provide a familiar and definite pattern across all web pages.
• Keep a similar look and feel in the web application as in the windows form application.
• Restrict access to the web application through the use of Membership Roles .
• Use the ViewState and SessionState for post backs.
• Reuse of both the Business and Data Access layers.
• Use exception handling the will give the user both client & server side understand able error messaging.
• Use of hyperlinks to navigate to all pages (master page)
• Web application to use Form-based authentication and authorization.
David S Pitcher [email protected] 17
ASP.NET version of Add Adult Uses client side validation
Catch’s both server & client side errors.
Validation Summary used for centralized user error messaging.
Required and validated fields all cued for errors.
Update Panel & Update Progress - Ajax controls used to display and update data.
David S Pitcher [email protected] 18
Additional Screen Shots for the Check in\out and Add Item ASP pages.
David S Pitcher [email protected] 19
Phase #4 – Additional Requirements.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.To achieve that goal, the following changes will need to take place in our web application.
• Create a Windows Communication Service that calls the into the business layer (Code Reuse )
• Modify the current user interface to call the WCF service and not the business layer.
• Implement as a WCF Service website, using WsHttpBinding.
• Authentication using ASP.NET membership
• Authorization using ASP.NET roles (PrincipalPermission)
•Use DataContracts for the entities.
• Support ALL previous project functionality.
20David S Pitcher [email protected]
Coding for the security and custom Error handling.
David S. Pitcher [email protected] 21
Implementing the Library Interface, Service Classes
David S. Pitcher [email protected] 22
Library Fault class
David S. Pitcher [email protected] 23
Web config & App config settings
David S. Pitcher [email protected] 24
SetFocus provides a learning environment very similar to what I have experienced in my role as a consultant\contractor.
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.
Each phase of the project required 40-60 hours of work to complete, no extensions or reduction of requirements was allowed.
All of the technologies specified in the requirements was expected to be incorporated into that particular phase of the project (i.e. ADO.NET, LINQ etc.)
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.
Summary