CSE 325: .NET Software Development

Course Learning Outcomes

  1. Articulate the components of the .NET developer ecosystem.
  2. Design and develop .NET applications.
  3. Demonstrate the skills of a productive team member (such as solving problems, collaborating with others, communicating clearly, fulfilling assignments, and meeting deadlines).

🗝️.NET Ecosystem

The Microsoft .NET developer ecosystem encompasses a range of tools, frameworks, languages, libraries, and community resources that developers use to build software applications using the .NET platform.

To articulate the .NET developer ecosystem means to provide a clear and comprehensive description of each part, explaining how they contribute to the overall .NET developer ecosystem and how developers can leverage them in their projects.

Key Components


🗝️Design and Develop .NET Apps

Designing and developing .NET applications involves creating software solutions using the .NET framework and related technologies. Key components of this outcome may include:

  1. Requirements Gathering: Researching and understanding the requirements of the application involves identifying the users, features, and functionality of the application and working with stakeholders to understand the goals of the project and documenting them in a clear and comprehensive manner.
  2. Design:
  3. Technology Stack: Select the appropriate technology stack in which to develop the design given the requirements and audience. In this course, the stack selection is all within the .NET ecosystem.
  4. Development Environment: Set up the development environment. Typically, this involves using an integrated development environment (IDE) such as Visual Studio or Visual Studio Code. The development operation includes the methods, tools, and services needed to build, test, and deploy the application. This class uses Azure DevOps and Azure web services.
  5. Development: Write the code for the application. This includes implementing the design, writing, refactoring, optimizing, testing, and debugging the code in the application.
  6. Database Integration: If the application requires data storage, integrate a database using technologies like Entity Framework or other data access libraries compatible with .NET.
  7. User Interface (UI) Design: Design the user interface (UI) of the application. This includes the visual design of the application, evaluating the user experience (UX), and assessing the accessibility of the application.
  8. Deployment: Deploy the application to a production environment. This includes setting up the production environment, configuring the application, and deploying the application to the production environment.
  9. Documentation: Create documentation for the application. This includes user manuals, developer documentation, and any other relevant information that helps users and future developers understand the application.

Other considerations include security, performance, scalability, maintainability, and planning for updates.


🗝️Collaboration

Collaboration is an essential skill for software developers. This outcome involves demonstrating the skills of a productive team member, such as: