1/50 Project Management. 2/50 StumbleUpon 3/50 Overview Customize? Why, what, how?.NET Framework overview & fundamentals Class libraries, namespaces,

Slides:



Advertisements
Similar presentations
Unit 1: Overview of the Microsoft.NET Platform
Advertisements

.NET Framework Overview
Introduction to C# With a GIS focus
Overview Type conversions Advanced types enum struct array Function parameters by value and by reference Layered Applications Business Logic Layer & Testing.
.NET Framework Overview
.NET Framework Overview Pingping Ma Nov 16 th, 2006.
Introduction to the C# Programming Language for the VB Programmer.
Advanced Object-Oriented Programming Features
GIS Customization I. Binaural recording + reconstructing performances Holophonics - Virtual Barber Shop John Q. Walker: Re-creating great performances.
Introduction to ESRI Add-Ins
1 An Introduction to Visual Basic Objectives Explain the history of programming languages Define the terminology used in object-oriented programming.
Creating and Running Your First C# Program Svetlin Nakov Telerik Corporation
Object Oriented Software Development 1. Introduction to C# and Visual Studio.
DT265-2 Object Oriented Software Development 2 Lecture 3 : Windows Programming Lecturer Pat Browne
September 2008 IT Software Development Guide.
CHAPTER 6 Loop Structures.
Creating and Running Your First C# Program Telerik Software Academy Telerik School Academy.
Overview of Microsoft.Net and Vb.Net ITSE 2349 Spring 2002 Material from Microsoft.Net an Overview for ACC faculty by Stuart Laughton and Introduction.
A First Program Using C#
Neal Stublen Overview of.NET Windows Applications Microsoft Windows OS / Intel Platform Windows Application File SystemNetworkDisplay.
1 Introduction to.NET Framework. 2.NETFramework Internet COM+ Orchestration Orchestration Windows.NET Enterprise ServersBuildingBlockServices Visual Studio.NET.
Introduction to Programming
Eric Vogel Software Developer A.J. Boggs & Company.
NOTE: To change the image on this slide, select the picture and delete it. Then click the Pictures icon in the placeholder to insert your own image. WEB.
Intro to C# Dr. John P. Abraham UTPA. Background required Thorough C++ programming – If you made an A in 1370/1170 you will do fine with some effort.
Module 1: Introduction to C# Module 2: Variables and Data Types
.NET Overview. 2 Objectives Introduce.NET –overview –languages –libraries –development and execution model Examine simple C# program.
Session 1 - Introduction and Data Access Layer
Meir Botner David Ben-David. Project Goal Build a messenger that allows a customer to communicate with a service provider for a fee.
CIS NET Applications1 Chapter 2 –.NET Component- Oriented Programming Essentials.
Microsoft Visual Basic 2005: Reloaded Second Edition
Appendix D: Microsoft.NET Framework Overview. Overview.NET Framework Architecture.NET Namespaces.
Introduction to .NET Framework
Webinar presented by Erick Polsky 10/2/2012. What is.Net? Combines… Language Independence Memory Management Database Access Class Libraries Operating.
Creating and Running Your First C# Program Svetlin Nakov Telerik Corporation
Lesley Bross, August 29, 2010 ArcGIS 10 add-in glossary.
Neal Stublen Class Objectives  Develop an understanding of the.NET Framework  Gain proficiency using Visual Studio  Begin learning.
.NET Framework Overview
Visual Programming Fall 2012 – FUUAST Topic: Development environment.
All 300/400 Level CS Major Courses Tutoring Location: SEC 3433 Sign up or walk-in Introduction2-1.
Introduction .NET Framework
Virtual techdays INDIA │ Nov 2010 Developing Office Biz Application using WPF on Windows 7 Sarang Datye │ Sr. Consultant, Microsoft Sridhar Poduri.
Lecture 1 Programming in C# Introducing C# Writing a C# Program.
Week 1: THE C# LANGUAGE Chapter 1: Variables and Expressions ➤ Included in Visual Studio.NET ➤ What the.NET Framework is and what it contains ➤ How.NET.
NOTE: To change the image on this slide, select the picture and delete it. Then click the Pictures icon in the placeholder to insert your own image. WEB.
Introduction to the Visual Studio.NET IDE (LAB 1 )
Introduction In The Name Of Allah, The Beneficent, The Merciful.
Introduction to VB.Net. What is.NET? A brand of Microsoft technologies A platform for creating distributed Web applications A combination of new and updated.
Languages and IDE (Integrated Development Environment)
Module 1: Getting Started. Introduction to.NET and the.NET Framework Exploring Visual Studio.NET Creating a Windows Application Project Overview Use Visual.
Microsoft .NET A platform that can be used for building and running windows and web applications such that the software is platform and device-independent.
BIL527 – Bilgisayar Programlama I Introduction 1.
Object Oriented Software Development 4. C# data types, objects and references.
Visual Basic Integrated Development Environment (IDE) 56:150 Information System Design.
INTRODUCTION CHAPTER #1 Visual Basic.NET. VB.Net General features It is an object oriented language  In the past VB had objects but focus was not placed.
Module 1 Introducing C# and the.NET Framework. Module Overview Introduction to the.NET Framework 4 Creating Projects Within Visual Studio 2010 Writing.
Text Introduction to.NET Framework. CONFIDENTIAL Agenda .NET Training – Purpose  What is.NET?  Why.NET?  Advantages  Architecture  Components: CLR,
Lecture Set 1 Part B: Understanding Visual Studio and.NET – Structure and Terminology 1/16/ :04 PM.
Visual Basic.Net. Software to Install Visual Studio 2005 Professional Edition (Requires Windows XP Pro) MSDN Library for Visual Studio 2005 Available.
.NET Framework, CLR, MSIL, Assemblies, CTS, etc..
Chapter 2: The Visual Studio.NET Development Environment Visual Basic.NET Programming: From Problem Analysis to Program Design.
C# Diline Giriş.
Introducing the Microsoft® .NET Framework
What is .NET.
Chapter 2: The Visual Studio .NET Development Environment
Module 0: Introduction Chapter 2: Getting Started
Module 1: Getting Started
Introduction to C# AKEEL AHMED.
Social Media And Global Computing Introduction to Visual Studio
Understanding the Visual IDE
Presentation transcript:

1/50 Project Management

2/50 StumbleUpon

3/50 Overview Customize? Why, what, how?.NET Framework overview & fundamentals Class libraries, namespaces, classes Declaring and using variables Defining and using functions VS Projects & Solutions and folder/file organization Layered Applications Business Logic Layer & Testing Presentation Layer (Windows Forms)

4/50 Why customize ArcGIS ? Workflow. Software does not do EXACTLY what you want to do “out-of-the-box” but has the programming infrastructure required that allows you to customize it to do exactly what you want

5/50 Extending ArcGIS, Add-ins, C#, & ArcObjects Adding toolbars, buttons, tools, etc. ArcGIS 10.1 provides tools for making Python Add-ins ArcGIS 10.0 did not (Free webinar)Free webinar ArcObjects SDK for the Microsoft.NET Framework will be covered in GIS Customization II ArcObjects is more comprehensive than Python

6/50 ArcEngine Build your own GIS-enabled app Does not require ArcGIS but does require ArcEngine runtime ($) Not covered in Customization courses

7/50 Open Source GIS components

8/50 Overview Customize? Why, what, how?.NET Framework overview & fundamentals Class libraries, namespaces, classes Declaring and using variables Defining and using functions VS Projects & Solutions and folder/file organization Layered Applications Business Logic Layer & Testing Presentation Layer (Windows Forms)

9/50.NET Framework Overview CLS (Common Language Specification) C#, VB.NET, Managed C++, J# Framework Class Libraries CLR (Common Language Runtime) Windows OS Win32, IIS, MSMQ Compilers CIL (Common Intermediate Language) UI Web Form WinForm WPF Services WCF WorkFlow Data Access ADO.NET Entity Framwork LINQ to SQL Framework Base Classes & CTS (Common Type System) IO, Collections, Security, Threading, etc. CLS specifes rules.NET languages must follow to create.NET code that will reference the.NET Framework Class Libraries (.NET DLL Assemblies) and.NET CTS..NET compilers will compile.NET code into CIL stored in.NET assemblies (EXE or DLL).NET CLR will perform JIT (Just-In-Time compilation) to native machine code and ensure that the.NET assembly runs properly and securely.

10/50 System.Console.WriteLine() example mscorlib is required by CLR so no reference is required in code

11/50 Compiling and running The 4.0.NET Framework must be installed on the computer that will run a 4.0 Assembly (EXE) Use C# compiler to create hw.exe Running assembly invokes JIT by CLR and runs app

12/50 using keyword for Namespaces static keyword means you don’t need an instance of the class Program to call the function Main.

13/50 Class libraries, namespaces, classes Class Libraries are stored in a.NET assembly (DLL) Namespaces are a way of naming a group of related classes and other types. Namespaces can be nested. Namespace icon

14/50 Declaring and using variables Variable declaration syntax: [scope] [static] type name;

15/50 Variable Scope Variable declaration syntax: [scope] [static] type name;

16/50 16 of 29 Scope Review public internal (default) protected private Entire solution Assembly only Derived classes Class only More …

17/50 Types Variable declaration syntax: [scope] [static] type name; int long double bool etc. string array etc..NET Classes Classes you create.

18/50 Defining and calling functions Syntax for defining functions: [ scope] [static] return_type name ([params]) { // C# statements } 0 or more params are declared like variables and comma separated.

19/50 Scope

20/50 Command-line args for Console applications

21/50 C# Compiler & command-line args

22/50 Overview Customize? Why, what, how?.NET Framework overview & fundamentals Class libraries, namespaces, classes Declaring and using variables Defining and using functions VS Projects & Solutions and folder/file organization Layered Applications Business Logic Layer & Testing Presentation Layer (Windows Forms)

23/50 Projects … … because any application worth building usually has more than one.cs file and other files (e.g. images, cursors, etc.)

24/50 Solutions … … because Projects must be part of a Solution Projects (.csproj) * Visual Studio Solution (.sln)

25/50 Folder structure for application development Download …

26/50 Creating an app dev folder - Move files up one level into src - Delete solution folder - Create a New Project … Blank Solution, in src - Save - Exit Visual Studio Solutions can include code from other CLS languages (e.g. VB.NET)

27/50 Adding a Project to a Solution

28/50

29/50

30/50 StartUp Project StartUp Project is the first project to run when the application is run Class Library Projects cannot be set as the StartUp Project

31/50 Overview Customize? Why, what, how?.NET Framework overview & fundamentals Class libraries, namespaces, classes Declaring and using variables Defining and using functions VS Projects & Solutions and folder/file organization Layered Applications Business Logic Layer & Testing Presentation Layer (Windows Forms)

32/50 Presentation Layer Layered Applications Business Logic Layer Data Data Access Layer BLL Business objects & logic DAL Read/Write data from/to a database

33/50 Steps to building a layered application 1. Get requirements for application feature(s) 2. Decide on a presentation layer and sketch it out (no code) 3. Create the … Data access layer and tests, debug Business logic layer and tests, debug Presentation layer and connect to business layer, debug 4. Test the application 5. Create installer 6. Deploy application to users 7. Repeat until all application features are complete

34/50 Creating a Business Layer Add Class Library Project to Solution Suffix name with BLL (e.g. IssueTrackerBLL) Add classes to represent the business objects Add properties and methods to these classes to represent the business data and processes respectively

35/50 Testing a Business Layer Create a Test Project Common to have one Test Project per application Project Suffix Test Project name with “Tests”

36/50 Adding a Test

37/50 Editing the TestMethod

38/50 Running the test – no debugging With cursor in test method … Or right-click and use TestDriven.NET

39/50 Running the test – with debugging With cursor in test method … Or right-click and use TestDriven.NET Need Breakpoint (F9 to toggle)

40/50 Test results

41/50 Overview Customize? Why, what, how?.NET Framework overview & fundamentals Class libraries, namespaces, classes Declaring and using variables Defining and using functions VS Projects & Solutions and folder/file organization Layered Applications Business Logic Layer & Testing Presentation Layer (Windows Forms)

42/50 Building a Presentation Layer (UI) Add UI Application Project that satisfies the requirements Windows Console Application Windows Forms Application WPF Application Web ASP.NET Web Application ASP.NET MVC Application Silverlight Application Suffix Project name with UI This is the StartUp Project

43/50 Windows Forms Application A Form is a container for UI controls Common for starting form to have name MainForm Drag & Drop from Toolbox

44/50 Naming child controls Give child control names prefixes btn = Button txt = TextBox lbl = Label lst = ListBox cbo = ComboBox rdo = RadioButton etc. Adding code to controls … Double-click control or code by hand

45/50 “Connecting” the UI and BLL Add Reference in UI to BLL Project Add using to UI code (MainForm.cs in this example)

46/50 Example: Accessing BLL from UI

47/50 Links for VS 2010 and C# “Quick Tour” of the VS 2010 IDE Beginner Developer Learning Centre Csharp-station.com tutorial

48/50 Keys to remember F1 – Context sensitive Help (If cursor is on keyword, help on keyword provided) F6 – Build code (compile) without running F5 – Build code (compile) and run F11 – Step through code, into called functions F10 – Step through code, not into called functions Shift-F5 – Stop running code F9 – Toggle Breakpoint at current statement

49/50 Overview Customize? Why, what, how?.NET Framework overview & fundamentals Class libraries, namespaces, classes Declaring and using variables Defining and using functions VS Projects & Solutions and folder/file organization Layered Applications Business Logic Layer & Testing Presentation Layer (Windows Forms)

50/50