Chapter 1: Understanding the .NET Framework


Overview

When you get right down to the most basic level of development, the primary goal of software design is quite simple. When you think about it, the only thing that really matters is that the software you’re developing does what the user needs it to do. If a hospital needs a program that can store and retrieve patient information, then that’s all you need to worry about. Every other design consideration is secondary to fulfilling the business requirements.

Unfortunately, it is not that simple. There are many other things the software designer needs to worry about. For instance, have the client’s requirements been understood correctly? What about other considerations, such as application performance, security, and availability? What type of computer hardware does the client have or need? What else is the client likely to want to do with the data in the future?

Analyzing the business requirements and designing the proper solution is perhaps the most important task in software development. A good design will make a program easier to support and enhance as requirements change. It will allow the program to grow as the business grows, almost without limit. A bad design will make a program impossible to support and maintain, and will place severe limits on the application’s usefulness as a business gets larger.

As programming has evolved, so, too, have software design practices. Each new programming methodology has created a paradigm shift in how software designers are required to design programs. There are four major programming methodologies:

  • Unstructured A program that is executed sequentially

  • Procedural A program that uses functions to perform certain tasks

  • Modular A program that is split across multiple files to group related functionality together

  • Object-oriented A program that uses classes and objects to group related data and functionality together

Not surprisingly, good software design is much more important for programs that are developed using an object-oriented methodology than for programs developed using an unstructured one. Unstructured programming requires the least forethought and planning, while object-oriented programming requires the most.

The Microsoft MCSD 70-300 exam Analyzing Requirements and Defining .NET Solution Architectures covers several important software design skills that are used when developing programs for the .NET environment:

  • Envisioning the solution

  • Gathering and analyzing business requirements

  • Developing specifications

  • Creating the conceptual design

  • Creating the logical design

  • Creating the physical design

  • Creating standards and processes

These skills represent the basis of good software design in an object-oriented environment. Even software designers who work in programming environments other than .NET will benefit from learning them, although some of the required skills for the exam are specific to the challenges and advantages of working in the .NET environment.

The rest of this chapter is an introduction to Microsoft .NET and the .NET Framework. It is important for software designers to have a good understanding of .NET before they can begin thinking about the proper conceptual and logical design for a program. The knowledge acquired in this chapter will provide a solid foundation on which the rest of the book will be based.




MCSD Analyzing Requirements and Defining. NET Solutions Architectures Study Guide (Exam 70-300)
MCSD Analyzing Requirements and Defining .NET Solutions Architectures Study Guide (Exam 70-300 (Certification Press)
ISBN: 0072125861
EAN: 2147483647
Year: 2003
Pages: 94

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net