Carlos Amador .Net Portfolio
Upcoming SlideShare
Loading in...5

Like this? Share it with your network

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads


Total Views
On Slideshare
From Embeds
Number of Embeds



Embeds 8 5 3

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

    No notes for slide


  • 1. .NET Project Portfolio Carlos M. Amador 201­600­1265
  • 2. Table of Contents Projects Overview 3 Framework Project 4 Library Phase I – Windows 6 Library Phase II – ADO.NET 8 Library Phase III – ASP.NET 10 Library Phase IV – WCF 12 Test Management Application 14 2
  • 3. Projects Overview Framework Project: The project has us create components for the business tier of a retail company and in the process test our coding skills with regard to C sharp and Framework concepts. Two assemblies, both class libraries, are created and tested. One assembly is comprised of an abstract base class, and implements multiple interfaces. The second assembly contains entity, collection and exception classes. Library Phase I – Windows: The project has us create a Windows Forms user interface that will measure our skills with Windows Forms development. The Windows UI will interact with a database 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. We’ve been provided with assemblies that contain classes and interfaces that provide access to the database for these functions. Library Phase II – ADO.NET: The project has us create the necessary business and data tiers required to access the library database from Phase I, in doing so our abilities to develop ADO.NET, SQL, and Stored Procedures will be evaluated. The assemblies we create will integrate with the Phase I Windows UI and will replace the assemblies provided for us in Phase I. These assemblies must continue to provide the same functionality of the original assemblies. Library Phase III – ASP.NET: The project has us apply our ASP.NET knowledge to create an ASP.NET web user interface to the library database. The Windows Forms user interface is replaced by the ASP.NET interface and the business and data tiers from Phase II are re­used. All functionality provided by the Windows UI is replicated in the web UI. Library Phase IV – WCF: The project assesses our understanding of WCF by having us create a WCF service to access the library database. The business and data tiers from the previous projects are encapsulated in a WCF service hosted in IIS. The Windows UI from Phase I is re­used as the client for the WCF service. All access to the library database is via the WCF service. Test Management Application: The project is a group project and is designed to simulate and measure the real world scenario of bringing an application to fruition as part of a team and its accompanying dynamics. The project has us create a test management system that creates, modifies, and schedules tests. The project, similar to Phase I, has a Windows UI that accesses stored procedures on a database to accomplish its tasks. 3
  • 4. Framework Project Objective: Create parts of the business tier for a retail company. Two assemblies will be created and tested. The first assembly is a class library called Foundation and is comprised of multiple interfaces and an abstract base class. The second assembly is also a class library called AppTypes and consists of various entity, collection, and exception classes. Summary: This project showcases the various concepts and features of C# and .NET, articulated via code in an n­tiered application. A list of C# / .NET skills used in this project: Delegates & Events Abstract classes & interfaces Custom Exception/Attribute classes Enums Custom EventArgs classes Automatic Properties & Indexers Event logger and collection classes Custom Enumerators Implementation Generic Collections of ISerializable, IComparer, Custom Serializations IComparable, & IList<T> interfaces Binary & SOAP Formatters Object Initializers / Finalizers Operator Overriding & Overloading Description ­ Foundation Assembly 4
  • 5. Description – AppTypes assembly 5
  • 6. Library Phase I ­ Windows Objective: Design and develop a front end application that will provide an interface for the library systems four core functions; Add Adult Member, Add Juvenile Member, Check in a book, and Check Out a book. The code must be easily maintainable and all data entered via the interface must be validated. Error handling must be addressed adequately and the interface should be intuitive and self­explanatory. Summary: Development techniques used to implement the solution include: �� Input validation, tool tips, and feedback error providers for user input �� Group Box and Tab controls to display, hide and organize information �� Regular expressions for validation of user input �� Custom exception handling of all operations �� Creation of an intuitive user interface requiring minimal training �� Interface to a provided business library and ADO.NET data access library to incorporate an n­tier architecture for scalability Description ­ Creation of an intuitive user interface requiring minimal training 6
  • 7. Description ­ Error Provider message triggered by validation Description – Highlighted overdue books, hyperlink made visible to allow book to be checked in. Book Information entry and buttons are disabled to prevent check out from continuing 7
  • 8. Library Phase II – ADO.NET Objective: Design and implement business and data access tiers. The data access tier is to be stateless and no SQL code is to reside in the application. Design entity classes to be used by all the tiers of the application. In the database create stored procedures to retrieve or store data as required by the application, per the requirements enforce verification, data validation and raise errors as appropriate. Summary: Development techniques used to implement the solution include: �� Stored procedures �� T­SQL Try­Catch blocks with Commit/Rollback logic �� T­SQL Transaction blocks to enforce ACID principles: Atomicity, Consistency, Isolation, and Durability. �� User Defined Functions and Views to better access and organize data �� ADO.NET SqlConnection, SqlCommand, and SqlDataReader objects and methods to access the database from the application �� Custom exception handling of all operations �� Creation of an intuitive user interface requiring minimal training �� Integrate with Windows UI to maintain n­tier architecture Description ­ ADO.NET SqlConnection, SqlCommand, and SqlDataReader objects and methods to access the database from the application 8
  • 9. Description – Transaction block with tail end of try/catch logic Description – Listing of Stored Procedures, Views, and User­Defined functions 9
  • 10. Library Phase III – ASP.NET Objective: Design and implement a Web Application that will integrate the business and data tiers from Phase II and replace the Windows Forms User Interface from Phase I. The Web UI will need to support all the functionality provided by the Windows UI. Ajax controls are to be used to avoid entire page postbacks as specified by the requirements. Hyperlinks will be used to navigate between pages. Forms based authentication and authorization will be implemented and a Librarian role to access the Web application will be established. Summary: Development techniques used to implement the solution include: �� Master Page �� Response.Redirects and Hyperlinks used to navigate between pages �� Session variables used to maintain state �� Security Configuration tool to configure roles and users �� Custom exception handling of all operations �� Creation of an intuitive user interface requiring minimal training �� Integrate with Business and Data Tier to maintain n­tier architecture Description – Master Page design view, with Ajax script manager and hyperlinks 10
  • 11. . Description ­ Ajax update panel control to check in book and not perform entire page postback Description – Add Adult Member page 11
  • 12. Library Phase IV ­ WCF Objective: Create a WCF service that will interface with the business tier created in Phase II. Modify the Web UI from Phase III to act as a client for the WCF service. Use WCF Service Library and WCF Service Website project types to implement and host the WCF service. The service must be hosted on IIS, use WsHttpBinding, Authentication using ASP.NET membership, Authorization using ASP.NET roles, and DataContracts for entities Summary: Development techniques used to implement the solution include: �� Service Contracts and Operations to define what the service offers �� Data Contracts and Data Members to define the entities used by the service �� Used Service Contract Attributes to denote derived types can also be returned from the service �� Strongly Typed Soap Faults with Fault Contracts to handle exceptions from the service �� Principle Permission attribute to enforce role membership Description – ServiceContract and OperationContract interface 12
  • 13. Description – Strongly Typed Soap Fault, DataContract and DataMember class. Description – Solution Explorer view of Service and Client 13
  • 14. Test Management Application Objective: As a group project design a n­tier Windows Forms application that will allow the following functionality – Add a Test Taker, Edit a Test Taker, Send a Test, Identify Open Tests, Create Questions for Tests, Create/Edit Tests, and Create/Edit Topics. My role was as team leader and also personally responsible for source code control, the development of the business and data layers, and coordinating the team presentation. My responsibilities as team leader were to define the design approach, outline tasks and milestones and address issues as they arose. Summary: Skills used to implement the solution include: �� Identify team member strengths and assign roles accordingly �� Define coding standards, design approach, and test data early on so productivity can be maximized in the timeframe allotted �� Understand logistic issues to properly define timeline of tasks and goals �� Ensure quality and consistency by enforcing source code control guidelines and peer reviews �� Outline a test plan and process that maps back to project requirements to validate project goals are met. �� Maintain strong communication among team members to address issues early and identify solutions quickly Description – Question Management screen for creating test questions 14
  • 15. ��������������������������������������������������������������������������� ��������������������������������������������������������������������������������� �����������������������������������������������������