24
David S Pitcher [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.

Library Presentation

Embed Size (px)

DESCRIPTION

Powerpoint Presentation of 4 phase Library Project.

Citation preview

Page 1: Library Presentation

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.

Page 2: Library Presentation

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

Page 3: Library Presentation

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.

Page 4: Library Presentation

David S Pitcher [email protected] 4

Phase #1 .NET FrameworkBase Classes

Page 5: Library Presentation

5

Code snippets from the interface classes - Phase#1.

David S Pitcher [email protected]

Page 6: Library Presentation

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]

Page 7: Library Presentation

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)

Page 8: Library Presentation

David S. Pitcher [email protected] 8

Library Patron Information Screen

Page 9: Library Presentation

David S Pitcher [email protected] 9

Check Out Items

Page 10: Library Presentation

David S Pitcher [email protected] 10

Add Adult & Juvenile Member

Page 11: Library Presentation

David S Pitcher [email protected] 11

Custom Exception Library Class – SQL and Windows Errors.

Page 12: Library Presentation

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

Page 13: Library Presentation

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.

Page 14: Library Presentation

David S Pitcher [email protected] 14

Add Adult Stored ProcedureTransaction based

Validation on input

Page 15: Library Presentation

David S Pitcher [email protected] 15

Called view - ‘VItems’

Page 16: Library Presentation

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.

Page 17: Library Presentation

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.

Page 18: Library Presentation

David S Pitcher [email protected] 18

Additional Screen Shots for the Check in\out and Add Item ASP pages.

Page 19: Library Presentation

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.

Page 20: Library Presentation

20David S Pitcher [email protected]

Coding for the security and custom Error handling.

Page 21: Library Presentation

David S. Pitcher [email protected] 21

Implementing the Library Interface, Service Classes

Page 22: Library Presentation

David S. Pitcher [email protected] 22

Library Fault class

Page 23: Library Presentation

David S. Pitcher [email protected] 23

Web config & App config settings

Page 24: Library Presentation

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