T9.NET Programming for the Business – Fall 2007 Welcome Welcome to the T9 course:.NET Programming...

55
T9 .NET Programming for the Business – Fall 2007 Welcome Welcome to the T9 course: .NET Programming for the Business Session 1
  • date post

    20-Dec-2015
  • Category

    Documents

  • view

    216
  • download

    2

Transcript of T9.NET Programming for the Business – Fall 2007 Welcome Welcome to the T9 course:.NET Programming...

T9 .NET Programming for the Business – Fall 2007

Welcome

Welcome to the T9 course:

.NET Programming for the Business

• Session 1

T9 .NET Programming for the Business – Fall 2007

The teacher … me

• Morten Høgh

• M.Sc. in engineering (2002 Technical University of Denmark)

• 50% Computer technology, 50 % high voltage.

• Fulltime developer since 2000 (part time from around1995)

• Worked for 4 companies this far (Proventum,Basset,Mondo and GlobeTeam)

• Lives in Skodsborg (just north of Copenhagen)

T9 .NET Programming for the Business – Fall 2007

The teacher … me

• Works fulltime at GlobeTeam A/S • Technical project lead / developer

GlobeTeam A/S:• Located in Copenhagen • App. 70 consulents • Develops applications for misc. industries• ~100% Microsoft products, Gold partner

Other:• Own company developing shop/auction software

T9 .NET Programming for the Business – Fall 2007

The Microsoft religion

T9 .NET Programming for the Business – Fall 2007

Software worship in general

T9 .NET Programming for the Business – Fall 2007

The Student … you

• Here to learn and enjoy the features of the .NET framework• Many nationalities• Many backgrounds• Different reasons to join• Different goals• Different expectations

T9 .NET Programming for the Business – Fall 2007

The warning …

This Course Is

HARD!

T9 .NET Programming for the Business – Fall 2007

Proof .. • Spring 2007 course:• 62 Students stated• 45 enrolled to the exam• 38 submitted a report• 38 passed• 38 % loss total• 100% of those who took the exam passed

T9 .NET Programming for the Business – Fall 2007

The result ..

Avarage: 9.1

T9 .NET Programming for the Business – Fall 2007

Evaluation, Positive

• Very relevant

• Interesting content

• Very important to get the link between customers and developpers

• Good slides

• Good demonstrations

T9 .NET Programming for the Business – Fall 2007

Evaluation, Negative• Too broad and too shallow content

• The mini-project is too large and too complex

• Course is much harder than expected

• Exercises are too hard

• Not enough focus on C#

T9 .NET Programming for the Business – Fall 2007

Evaluation, Strange comments• “I thought I could do it all by self-study”

• “The teacher made a strange comment in the first lecture”

• “The exercises are just made to annoy us”

• “The teacher is stupid”

• “Please install a coffee machine in hallway”

T9 .NET Programming for the Business – Fall 2007

Current state of knowledge

• How many consider their programming skills as “basic”?• Medium…?• Expert…?• Language (C/C++, Java, Basic, Pascal, Delphi) • On what platforms (Unix, Windows)?• Strong Business skills?• How many know UML?• XML?• How many are familiar with OO concepts?

T9 .NET Programming for the Business – Fall 2007

The course

• Name: T9 - .NET Programming for the Business• ECTS: 7,5 Points (app. 125 hours total or 15-16 hours a week)• Language: English in classes / exercises (in pauses you can speak Danish

with me if you can, and want to)• Duration: 12 weeks• Homepage: http://www.ebuss.dk• Participants: 40 enrolled (maximum allowed) (some on waiting list) • Qualifications:

– Basic object oriented programming Basic XML Basic Database knowledge Basic UML Basic HTML

• Exam: Oral - new scale, based on a mini project.

T9 .NET Programming for the Business – Fall 2007

The book

• Author: Jesse Liberty• Title: Programming C# • Subtitle: Building .NET Applications

with C#• Fourth Edition: February 2005 • ISBN: 0-596-00699-3• Pages: 666

T9 .NET Programming for the Business – Fall 2007

Other materials

• Many other books are available. Look for:– Microsoft Visual studio

– .NET framework 2.0

– XML

– Coding tactics

• Websites (http://msdn.microsoft.com, http://www.microsoft.com/net/basics).

• User groups, magazines…

T9 .NET Programming for the Business – Fall 2007

Other materials

• Maybe a good a idea to subscribe (at no cost) to – http://www.codeproject.com– http://www.gotdotnet.com/– http://msdn.microsoft.com

• Ask questions to newsgroups:– Microsoft.public.dotnet.framework* (on server

news.microsoft.com)

• Peer groups

T9 .NET Programming for the Business – Fall 2007

Development platform

• Microsoft based operation system (Windows)• We will use Microsoft Visual Studio in class and exercises• We will use the latest Microsoft Visual Studio 2005• We will use the latest .NET framework 2.0• We will do all programming in C#

T9 .NET Programming for the Business – Fall 2007

This is how we’re gonna do it!

• All conversation during class and exercises will be in English• Questions are more than welcome ! No questions are stupid, The

only thing seeming stupid might be my lack of knowledge about specific areas.

• I might not be able to answer all question offhand.• Dialog! If you don’t ask questions, I will ask you.• Small problems (~10 min. cases) will be given in class at a regular

basis.

T9 .NET Programming for the Business – Fall 2007

Exercises

• Each Thursday from 9-12• Exercises are not supervised by me, anther teacher/student will be

there to help and answer questions• Exercises will reflect the content of the lectures

T9 .NET Programming for the Business – Fall 2007

The Exam

• The Exam will be based on a project.• The project will reflect a “real” business scenario.• Individual examination (new rules)• The grade will be given based on the project report and the

presentation• New grading scale

T9 .NET Programming for the Business – Fall 2007

The Exam

• The technical content of the examination is high.• But technical contents alone is not enough.• You will not be able to do this if you do not:

– Work together.– Do the exercises.

• There are exercises every week (except this first time).

T9 .NET Programming for the Business – Fall 2007

The Project

• Yet to announced.• The content will be a mix of all the techniques and skills acquired

through the duration of the course.• The project will result in one or more application and a report

describing the application and the ideas behind.• Will not be the same as last semester

T9 .NET Programming for the Business – Fall 2007

Last semesters mini-project

T9 .NET Programming for the Business – Fall 2007

Business applications .. an explanation

• Mail, newsgroups, browsers etc.• Custom build system for transferring information.• On Line Analytical Processing (OLAP)

– Statistics – Reports– Overview in general

• Back office systems (e.g. internet shops)– Account handling– Stock count– Data manipulation in general

Take 5 minutes to write down what you think a business application is.

T9 .NET Programming for the Business – Fall 2007

An example: Google heavily simplified

Browser

Transfer protocols, network drivers,Logging application, query parser …

Database drivers

Index/database application

More queries, transfer protocolsDocument database

HTML generator

T9 .NET Programming for the Business – Fall 2007

Business applications .. an explanation

• Why is the interest so great ?– Reliability (computers don’t make errors)

– Efficiency (humans are very slow)

– Cooperation between companies (more potential customers)

– Technological advancement

• Why do we do it when it so expensive ?– Cost efficient systems

– “Because the others do it”

– Changing world

– Human nature – More, faster, bigger, better.

T9 .NET Programming for the Business – Fall 2007

.NET – Seen from the CEO level

• A platform for the “next generation” software• “Easy”(™) to maintain, develop and customize systems that interact

with human clients or other internet based systems• Better performance• Better security in applications • Greater stability• Better damage control

T9 .NET Programming for the Business – Fall 2007

.NET – The idea and demontration

• Enables distributed systems and highly efficient solutions through the concept of “Web services”.

• It provides developers with a single approach to build both desktop and Web-based applications.

T9 .NET Programming for the Business – Fall 2007

Demo: A web service

• This demo will show you how to:• Lookup information about a US city based on a zip code. (

http://www.webservicex.net/uszip.asmx)• Using that same web service in an application using under 10 lines

of code.

T9 .NET Programming for the Business – Fall 2007

.NET developer benefits

• Software built on the .NET Framework is easier to deploy and maintain than conventional software.– Automated installation– Better and precise error handling/error messaging

• The .NET Framework minimizes conflicts between applications by helping incompatible software components coexist. (DLL hell)

• Wide range of supported languages. Microsoft supports and develops the following:– C#– Visual Basic– C++– J#

T9 .NET Programming for the Business – Fall 2007

.NET developer benefits

• Other supported languages not developed or maintained by Microsoft:

Ada Ada, AsmL, CAML, Cobol ,Delphi, Forth, Eiffel, Fortran, Haskell, Lisp, Lua, Mercury, Mixal, ML, Mondrian, Nemerle, Oberon, Pascal, Perl, PHP, Prolog, Python, RPG, Ruby, Ruby, Scheme, Smalltalk

• Development tools from several vendors.• Secure environment. Strong naming.• .NET is based on open standards (XML, SOAP, C# etc).

T9 .NET Programming for the Business – Fall 2007

.NET developer benefits

• Less need for 3rd party components• .NET has over 4000 classes included in the 2.0 Framework

– Sending mails (HTML, pictures, font sizes etc)

– Transfer protocols (FTP, Telnet, serial / parallel ports)

– Externals devices (Printers, scanners, mice, joysticks)

– Text manipulations

– Mathematical operations

– Etc

• For a full list see (http://msdn2.microsoft.com/en-us/library/ms229335.aspx)

T9 .NET Programming for the Business – Fall 2007

High level overview

.NET Framework

Windows UI ASP.NET

ADO.NET: Data & XML

.NET Framework class library

Common Language Runtime

T9 .NET Programming for the Business – Fall 2007

Common Language Runtime

Class Loader

.NET Framework Class Library Support

Thread Support COM Marshaler

Type Checker Exception Manager

Security Engine Debug Engine

MSIL to Native Compilers

Garbage CollectorCode Manager

T9 .NET Programming for the Business – Fall 2007

The .NET Framework Class Library

System

Collections

Configuration

Diagnostics

Globalization

IO

Net

Reflection

Resources

Security

ServiceProcess

Text

Threading

Runtime

InteropServices

Remoting

Serialization

T9 .NET Programming for the Business – Fall 2007

The CLR Execution model.

Source code

Managed code

Assembly IL code

Assembly IL code

Assembly IL code

Assembly IL code

Assembly IL code

Assembly IL code

VBVB C#C# C++C++Unmanaged componentUnmanaged component

Common Language RuntimeCommon Language Runtime JIT compilerJIT compilerJIT compilerJIT compiler

Operating system servicesOperating system services

Native codeNative code

CompilerCompilerCompilerCompiler CompilerCompilerCompilerCompiler CompilerCompilerCompilerCompiler

T9 .NET Programming for the Business – Fall 2007

The Future

• The following is an overview of this course.• Beware! The timing is not yet completely finalized. Please check on

the web site for changes.

T9 .NET Programming for the Business – Fall 2007

XML

• We will cover basic syntax, schemas, XPATH, XSL/T and investigate several useful vocabularies.

T9 .NET Programming for the Business – Fall 2007

OO/UML

• Object oriented features are vital to the .NET framework. We will cover polymorphism, inheritance and other OO features. We will discuss class diagrams, sequence diagrams and use cases as vessels for capturing requirements.

T9 .NET Programming for the Business – Fall 2007

C# - Programming

• We will be using C# for all examples and all code developed by students must be written in C#. In this session we will go through the C# language in enough detail to allow students to start writing code of their own. (app. 2 sessions)

• These are very important sessions, show up !

T9 .NET Programming for the Business – Fall 2007

Data access

• No business application is much good without access to the data that drives the enterprise.

• We will look at what databases are, exemplified by MS SQL server.• We will examine how .NET provides a data model for accessing

data from any data provider, and provides a useful data abstraction.• We will present ADO.NET architecture and explore how it may be

used in both online and offline scenarios. We will show how data may be bound to controls.

T9 .NET Programming for the Business – Fall 2007

WinForms

• We will show how rich user interfaces may easily be developed using WinForms.

• Easily implementing sound, graphics and video into application.• Making client applications communicate with external systems• How to present data en an elegant way.

T9 .NET Programming for the Business – Fall 2007

The web

• We shall review the basics of the web.• The differences between the programming models afforded by the

client based systems and the web based systems will be discussed.• We will focus mainly on the use and implementation of web services

on ASP.NET.

T9 .NET Programming for the Business – Fall 2007

Mobile devices

• We will learn how to program for mobile devices using the .NET Compact Framework.

T9 .NET Programming for the Business – Fall 2007

Testing / Development process.

• Testing is a vital part of software development.• Quality cannot be acheived through testing alone.• The three main approaches to testing are presented.

• Black box testing• White box testing• Gray box testing

• Developing in a large organization is very different to hobby programming and academic programming.

T9 .NET Programming for the Business – Fall 2007

Middle ware

• Middleware is the term used to describe software that facilitates dataflow between applications.

• We will present message queues and how to use them to securely transfer data in online/offline scenarios.

T9 .NET Programming for the Business – Fall 2007

Mystery session

• Yet to be announced!• The session will be used either as a buffer or if time allows, I will dig

deeper into some aspects of the previous sessions.• Suggestions are welcome.• The session will NOT be used as a Q and A for the upcoming exam.

T9 .NET Programming for the Business – Fall 2007

Lecture plan• Lecture 1: introduction• Lecture 2: c#• Lecture 3: c# / Project• Lecture 4: databases• Lecture 5: webservice / xml• Lecture 6: web • Lecture 7: web / demo• Lecture 8: winforms• Lecture 9: winforms / demo• Lecture 10: portable / demo• Lecture 11: security• Lecture 12: buffer

T9 .NET Programming for the Business – Fall 2007

Questions ?

T9 .NET Programming for the Business – Fall 2007

Industry vs. Academia

• Developing software for the industry is a very different task than in the academic world.– Rigid specifications– Large systems– Rigorous testing– Documentation ad nauseam

T9 .NET Programming for the Business – Fall 2007

Developing SW in the large scale

• Scenario: Thousands of developers in sites around the world.• 50.000 source files for large projects.• Discipline is required!• Cannot rely on inspiration.

T9 .NET Programming for the Business – Fall 2007

Typical scenario

• Management collects info from various sources– The market– Error logs– Crash info

• Documents defining what to do are written.• Documents defining how to achieve it are written.• Prototypes are developed• Code/Test, Code/Test…

T9 .NET Programming for the Business – Fall 2007

Typical scenario

• Builds are the heartbeat of the organization.• Tests comparing the original specs with the current implementation.• Build verification tests.• Unit tests (regression).• Bug bashes. • Etc…

T9 .NET Programming for the Business – Fall 2007

Tools required to survive

• Solid source control systems.• Solid framework to build on.• Error free compilers.• Test harnesses (UI test)• Extremely skilled leaders