1 / 45

MVC Reporting Website Framework

This project aims to develop a framework for C# developers to deploy reporting websites quickly, offering optimal customizability. The framework extends ASP.NET MVC, providing default layouts and views and standard reporting functionality. It targets development teams of varying skill levels to create and maintain enterprise-level websites efficiently. The project includes system overviews, data flow diagrams, component design, project evaluation, and future work.

michellea
Download Presentation

MVC Reporting Website Framework

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. MVC Reporting Website Framework Presentation 3 on November 8th, 2018 Thaddeus Tuck thaddeus@ksu.edu CIS 895 – MSE Project

  2. Outline • Introduction • Motivation • Goal • Purpose • Terms • System Overview Diagram • Data Flow Diagrams • Component Design • Project Evaluation • Future Work • Framework Demonstration • Questions / Comments

  3. Project Overview • Motivation • The motivation of the project is to develop a framework that can be used by any C# developer to quickly deploy a reporting website while providing optimal customizability for an enterprise level website. • Goals • To develop a framework that extends the base classes of ASP.NET MVC that contain standard functions and operations to prevent the reimplementation of standardized code. • Create overridable default layouts and views so that the framework can provide entry-level web developers with a fully functioning website while still allowing for extensibility as their skills progress as well as configurability without having to have extensive experience with JavaScript, jQuery, or CSS. • Provide standard functionality for table-based reporting of column selection, ordering, and filtering through a standardized model and pattern.

  4. Project Overview (Cont.) • Purpose • To aid development teams consisting of developers of various skill levels create and maintain enterprise level websites. • Provide standardized extensible patterns to allow for rapid development of features. • Provide configurability and extensibility of web features.

  5. Terms • MVC • Model View Controller • ASP.NET MVC • A pattern-based methodology and framework for web development using .NET from Microsoft as the server side component.

  6. Model • The classes (objects) that contains the data to be used by the application.

  7. View • The component of the architecture which ultimately contains the definition for the HTML to be rendered.

  8. Controller • The component of the architecture that receives the request from the browser and provides an entry point to the server from the browser.

  9. DataTable • A jQuery API that provides dynamic tables for websites.

  10. Service • For the context of this project a service is an additional architecture layer designed to provide validation and communication between a controller and a repository.

  11. Repository • The architecture layer that accesses and uses external services and database components.

  12. Layout • The defining template for components of a rendered web page such as the header, footer, and body.

  13. Extension • Methods that provide additional functionality to existing framework components.

  14. Putting All of These Terms Together

  15. System Overview

  16. Project Data Flow Diagram:

  17. Component Design

  18. Problems Encountered • Decision Making • One of the biggest issues I’ve encountered has been decision making even within the scope of the Vision Plan. I’ve implemented three versions of this framework so far, and learned many lessons along the way, but trying to decide how to best implement the framework for this project has been a series of many difficult choices; many that cost precious time. • Prioritization • The models and underlying structures have always been my highest priority as those are what are valuable to me both now and if I extend the project further. Prioritizing whether to focus on the deployment of the framework versus additional features was a difficult time-consuming process that ultimately was resolved through discussion with Dr. Andresen back in September. • Development Time • When Dr. Hsu asked during my first presentation whether I thought I would be able to complete the scope of the Vision Document I honestly did. However, I was basing my time estimates on the 40-hour work-weeks that I had used to develop similar frameworks in the past, not the limited week night and weekend hours I could steal from work, classwork, and my family. In addition, I decided to invest a large amount of time in unit testing and documentation; far more than I had in any previous iteration of developing reporting frameworks like this project.

  19. Project Evaluation Testing Evaluation

  20. Performance Stress Testing On Developer’s Machine

  21. Performance Stress Testing On Azure Project Website

  22. Project Evaluation Project Duration

  23. Future Work Packaging Extending DataTable Functionality Service Provider Export Functionality

  24. Lessons Learned Technical Inspectors Documentation Time Management

  25. Prototype Demonstration • Project Website is a Demonstration of the Framework • Demos of framework features will be available on the project website: • http://thaddeustuckmastersproject.azurewebsites.net/

  26. Final Steps • Final Examination Ballot • Make necessary changes to the MSE Portfolio • Deliver the Final Portfolio

  27. Questions? Suggestions?

  28. Thank You!

More Related