0% found this document useful (0 votes)
4 views18 pages

MVC_02

The document outlines the design process for ASP.NET MVC 5 web applications, focusing on project planning, model, controller, and view design. It discusses various project development methodologies, requirements gathering, database design, state management, and globalization/localization strategies. Additionally, it includes practical exercises for planning model classes, controllers, and views for a photo sharing application.

Uploaded by

marioamged2004
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views18 pages

MVC_02

The document outlines the design process for ASP.NET MVC 5 web applications, focusing on project planning, model, controller, and view design. It discusses various project development methodologies, requirements gathering, database design, state management, and globalization/localization strategies. Additionally, it includes practical exercises for planning model classes, controllers, and views for a photo sharing application.

Uploaded by

marioamged2004
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 18

Session 2

1/3/2025 1
Module 2

Designing ASP.NET MVC 5 Web Applications

1/3/2025 2
Module Overview

• Planning in the Project Design Phase


• Designing Models, Controllers, and Views
Lesson 1: Planning in the Project Design Phase

• Project Development Methodologies


• Gathering Requirements
• Planning the Database Design
• Planning for Distributed Applications
• Planning State Management
• Planning Globalization and Localization
Project Development Methodologies
Development Model Description
Waterfall Model Activities for building an application are performed sequentially in
distinct phases with clear deliverables.
Iterative Development An application is built iteratively in parts, by using working
Model versions that are thoroughly tested, until it is finalized.
Prototype Model Based on a few business requirements, a prototype is made.
Feedback on the prototype is used as input to develop the final
application.
Agile Development An application is built in rapid cycles, integrating changing
Model circumstances and requirements in the development process.

Extreme Programming Begins with solving a few critical tasks. Developers test the
simplified solution and obtain feedback from stakeholders to
derive the detailed requirements, which evolve over the project life
cycle.
Test-Driven Development A test project is created and you can test changes to the code
singly or as a group, throughout the project.
Unified Modeling UML diagrams are used for planning and documenting purposes,
Language across all project development models.

1/3/2025 5
Gathering Requirements
• Functional requirements describe
how the application responds to
Log On
users
• Technical requirements describe the
technical features of an application, Log Off
Anonymous User
such as availability, security, or
performance
Add Favorite
• You can build functional
requirements by using:
• Usage scenarios Add Photo
Authenticated User
• Use cases
• Requirements modeling in agile
Sample UML Use Case Diagram
• User stories in extreme
programming

1/3/2025 6
Planning the Database Design
• Logical Modeling
• Physical Database Structure
• Working with DBAs
• Database Design in Agile and Extreme
Programming

1/3/2025 7
Planning for Distributed Applications
• Layers
Browser
• Presentation
• Business Logic
• Data Access
Web
• Database Server Presentation

• Communication
• Security
Middle Business Logic
Tier Data Access
Server

Database
Server
1/3/2025 8
Planning State Management
• Client-side locations to store state data:
• Cookies
• Query Strings

• Server-side locations to store state data:


• TempData
• Application State
• Session State
• Profile Properties
• Database Tables

1/3/2025 9
Planning Globalization and Localization
• You can use the internationally-recognized set of language
codes available in browsers to present content customized
to suit a user’s language or region
• You can use resource files to provide a localized response
suitable to a user’s culture
• You can use separate views to suit each language code

1/3/2025 10
Lesson 2: Designing Models, Controllers, and
Views

• Designing Models
• Designing Controllers
• Designing Views
Designing Models
• Model Classes and Properties
• Domain Model and Logical Data Model Diagrams
• Relationships and Aggregates
• Entity Framework
• Design in Agile and Extreme Programming

1/3/2025 12
Designing Controllers

Controller Action
AddPhoto (GET)
Photo AddPhoto (POST)
DisplayGallery (GET)
Logon (GET)
User
Logon (POST)

• Identify Controllers and Actions


• Design in Agile and Extreme Programming

1/3/2025 13
Designing Views
• Views, Templates,
and Partial Views Adventure Works Photo Sharing Log On

• Wire-Framing Home Gallery Slideshow

• Design in Agile and


Extreme-Programming Photo

Add Comment

1/3/2025 14
Lab: Designing ASP.NET MVC 5 Web Applications
• Exercise 1: Planning Model Classes
• Exercise 2: Planning Controllers
• Exercise 3: Planning Views
• Exercise 4: Architecting an MVC Web Application
Lab Scenario
Your team has chosen ASP.NET MVC 5 as the most
appropriate ASP.NET programming model to create the
photo sharing application for the Adventure Works web
application. You need to create a detailed project design
for the application, and have been given a set of functional
and technical requirements with other information. You
have to plan:
• An MVC model that you can use to implement the
desired functionality.
• One or more controllers and controller actions that
respond to users actions.
• A set of views to implement the user interface.
• The locations for hosting and data storage.
Lab Review

• What model classes should be created for the photo sharing application based on
the initial investigation?
• What controllers should be created for the photo sharing application based on
the initial investigation?
• What views should be created for the photo sharing application?
Module Review and Takeaways

• Review Question
• Real-world Issues and Scenarios
• Tools
• Best Practices
• Common Issues and Troubleshooting Tips

You might also like