21
.NET Portfolio Alexander F Vogel [email protected] m (608) 481-3624

Software Portfolio - SetFocus

Embed Size (px)

DESCRIPTION

PowerPoint Presentation of my software projects portfolio.

Citation preview

Page 1: Software Portfolio - SetFocus

.NET Portfolio

Alexander F [email protected](608) 481-3624

Page 2: Software Portfolio - SetFocus

Table of Contents

• Framework Project – p.3• Library Phase 1: Windows Front-End – p.6• Library Phase 2: Business and Data Access

Layers – p.9• Library Phase 3: Web Application – p.12• Library Phase 4: Distributed Programming &

Web Services – p.14• SetFocus Testing Application – p.17

Page 3: Software Portfolio - SetFocus

Framework Project• Objective:

• In this project, the goal is to create and test two assemblies for the business tier of a retail company. The first, Foundation, will contain various interfaces and base classes as specified in the design document. The second, AppTypes, will contain various entity, collection, and exception classes used by various business processes. The business processes have already been implemented.

• Project Goals:• Code in C# using Visual Studio 2008• Implement interfaces, classes, properties, constructors, serialization,

enums, and delegates according to design specifications• Implement IEnumerable and IEnumeration on a class and override

methods (Equal and GetHashCode) and operators (==, !=, <, >, <=, >=)• Produce XML documentation on public members

Page 4: Software Portfolio - SetFocus

Framework ProjectFoundation Class Diagram

Page 5: Software Portfolio - SetFocus

Framework ProjectAppTypes Class Diagrams

Page 6: Software Portfolio - SetFocus

Framework ProjectAppTypes Class Diagrams

Page 7: Software Portfolio - SetFocus

Framework ProjectProduct Class Overview

Page 8: Software Portfolio - SetFocus

Framework ProjectProduct Class Sample Code

Page 9: Software Portfolio - SetFocus

Framework ProjectProduct Class Sample Code

Page 10: Software Portfolio - SetFocus

Library Phase 1: Windows Front-End

• Objective:• A database has been created to support the principal functions of a lending

library’s day-to-day operations: adding new members (adult and juvenile) and checking books in and out. An assembly has been created that contains classes and interfaces that provide access to the database for these functions.

• In this project, the goal is to create a Windows Forms-based front-end application that will provide a librarian with a visual interface through which he or she may perform the desired functions.

• Project Goals:• Design and develop a front end application that satisfies the four basic

functionalities: Add Adult Member, Add Juvenile Member, Check In a book, Check Out a book

• Develop code that is easily maintainable• Provide validation for all required fields (as detailed in specifications)• Provide adequate error handling• Produce a user interface that is intuitive, requiring minimal training for users while

minimizing resource utilization

Page 11: Software Portfolio - SetFocus

Library Phase 1Windows Forms and UI Design

Page 12: Software Portfolio - SetFocus

Library Phase 1Windows Forms and UI Design

Page 13: Software Portfolio - SetFocus

Library Phase 1Presentation Layer Sample Code

Page 14: Software Portfolio - SetFocus

Library Phase 2: Business and Data Access Layers

• Objective:• In this project, the goal is to design and implement new business entity and data access tiers to replace

those used in Library Phase 1 in order to take advantage of Linq and LinqToSql’s rapid code development and abstraction techniques. Use the LinqToSql designer to build and Model the Item and Member classes (Member, Adult, and Juvenile) off of the Member view created earlier. Once this is done, use the datacontext to get data from the Database and return the appropriate class.

• Since the data is coming from a view it is read only, a stored Procedure must be written to send data back. Add these to the LinqToSql model so you can call them from the DataContext and abstract away the details for connection and command objects. The stored procedures must be commented thoroughly and the code should not contain any SQL statements that were not auto generated.

• Project Goals:• Redesign and replace the Business Entity and Data Access layers• Create appropriate T-SQL stored procedures for storing and retrieving data from the database• Create LINQ to SQL class in the Entities layer and use the appropriate LINQ query to retrieve information

from the database on the Data Access layer• Develop code that is easily maintainable• Provide adequate error handling• Use database-programming techniques that provide maximum programming flexibility and • control while minimizing resource utilization• Use LinqToSQL to develop object models and abstract away data provider code • Reference the User Interface from Phase 1

Page 15: Software Portfolio - SetFocus

Library Phase 2Business Layer & Validation

Page 16: Software Portfolio - SetFocus

Library Phase 2Class Diagram of LINQ and Dataset

Page 17: Software Portfolio - SetFocus

Library Phase 2Data Context

Page 18: Software Portfolio - SetFocus

Library Phase 2T-SQL Stored Procedures

Page 19: Software Portfolio - SetFocus

Library Phase 3: Web Application• Objective:

• Create a web application that supports all the functionality required for Library Phase 1 and 2.

• Project Goals:• Design and develop a front end web application that can Add Adult

Member, Add Juvenile Member, Check In a book, Check Out a book, and Renew Membership

• Create Add Item web form for adding new items to the library• Modify the Member Information page to use two AJAX controls, the

Update Panel control and the Update Progress control• Reference the Business, Data Access, and Entities layers from Phase 2• Reference the T-SQL stored procedures from Phase 2• Use Forms-based authentication and authorization• Only members of the Librarian role can use the web application

Page 20: Software Portfolio - SetFocus

Library Phase 4: Distributed Programming & Web Services

• Objective:• Our library system roll-out has been very successful. As the potential to acquire libraries and

creating partnerships with others increases, we see the need to take the library system to the next level – allow interoperability with other systems. With the success on the library system thus far, we need to provide a proof of concept implementation that utilizes Web services.

• Use Windows Communication Foundation (WCF) to implement the service. To provide the proof of concept system, implement a system that uses Web services to offer access to the business layer. Due to the possibility of utilizing the service between our own systems and those of our partners, security must be employed. Use the existing presentation front-end for the client layer.

• Project Goals:• Create a WCF service that calls into the business layer• Update the presentation (UI) layer to call the WCF service• The WCF Service must be implemented with or support the following:

• WCF Service Library project, WCF Service Website, WsHttpBinding, Authentication using ASP.NET membership, Authorization using ASP.NET roles

• Use DataContracts for entities• Use certificates, signing, encryption, and secure session for security• Support all previous functionality from Phase 3

Page 21: Software Portfolio - SetFocus

SetFocus Testing Application• Objective:

• SetFocus is a company that specializes in training business professionals in a variety of programming disciplines. After lecture weeks students will be tested on the material reviewed during class. The testing link is sent via email. Students are able to answer questions, review answers, and submit their exams for grading.

• The objective of this project is to create a windows based application for creating the test that will link to a web based application that will allow participants to respond with the answers to the test.

• The development teams will be provided with a draft version of the database. They will also be given access to stored procedures that are currently used for the testing application.

• Project Goals:• Design and develop a windows application that will satisfy the below listed user functions• Create stored procedures for the required functionality• Use a multi-tiered programming approach when designing the application• Follow the provided naming conventions when creating the stored procedures• Develop code that is easily maintainable and well commented• Produce a user interface that is intuitive and requires minimal training for the user• Employ Framework 2.0, ADO.NET 2.0, ASP.NET 2.0, and SQL Server 2005 technologies