Microsoft .NET Framework (dibaca Microsoft Dot Net Framework) atau lebih dikenal dengan singkatan dot net (tidak berhubungan dengan domain .net) merupakan sebuah perangkat lunak kerangka kerja yang berjalan utamanya pada sistem operasi Microsoft Windows, saat ini .NET Framework umumnya telah terintegrasi dalam distribusi standar Windows (mulai dari Windows Server 2003 dan versi-versi Windows yang lebih baru). Kerangka kerja ini menyediakan sejumlah besar pustaka pemrograman komputer dan mendukung beberapa bahasa pemrograman serta interoperabilitas yang baik sehingga memungkinkan bahasa-bahasa tersebut berfungsi satu dengan lain dalam pengembangan sistem. Berbeda halnya dengan tipikal aplikasi konvensional umumnya, program yang ditulis dengan memanfaatkan .NET Framework berjalan pada lingkungan perangkat lunak melalui Common Language Runtime, dan bukan perangkat keras secara langsung. Hal ini memungkinkan aplikasi yang dibuat di atas .NET secara teoritis dapat berjalan pada perangkat keras apapun yang didukung oleh .NET Framework. Perangkat lunak ini adalah kunci penawaran utama dari Microsoft, dan dimaksudkan untuk digunakan oleh sebagian besar aplikasi-aplikasi baru yang dibuat untuk platform Windows.
Pada dasarnya, .NET Framework memiliki 2 komponen utama: CLR dan .NET Framework Class Library.
Program - program yang ditulis untuk .NET Framework dijalankan pada suatu lingkungan software yang mengatur persyaratan-persyaratan runtime program. Runtime environment ini, yang juga merupakan suatu bagian dari .NET Framework, dikenal sebagai Common Language Runtime (CLR). CLR menyediakan penampilan dari application virtual machine, sehingga para programmer tidak perlu mengetahui kemampuan CPU tertentu yang akan menjalankan program. CLR juga menyediakan layanan-layanan penting lainnya seperti jaminan keamanan, pengaturan memori, garbage collection dan exception handling / penanganan kesalahan pada saat runtime. Class library dan CLR ini merupakan komponen inti dari .NET Framework. Kerangka kerja itu pun dibuat sedemikian rupa agar para programmer dapat mengembangkan program komputer dengan jauh lebih mudah, dan juga untuk mengurangi kerawanan aplikasi dan juga komputer dari beberapa ancaman keamanan.
CLR adalah turunan dari CLI (Common Language Infrastructure) yang saat ini merupakan standar ECMA. Untuk keterangan lebih lanjut, silakan mengunjungi situs ECMA atau kunjungi sumber pranala di bawah artikel ini.
Solusi-solusi program pembentuk class library dari .NET Framework mengcover area yang luas dari kebutuhan program pada bidang user interface, pengaksesan data, koneksi basis data, kriptografi, pembuatan aplikasi berbasis web, algoritma numerik, dan komunikasi jaringan. Fungsi-fungsi yang ada dalam class library dapat digabungkan oleh programmer dengan kodenya sendiri untuk membuat suatu program aplikasi baru.
Pada berbagai literatur dan referensi di Internet, .NET Framework seringkali disingkat menjadi .NET saja.
.NET Framework sebagai platform
.NET seringkali juga dapat diartikan sebagai platform, yang merupakan suatu lingkungan terpadu untuk pengembangan dan eksekusi untuk berbagai macam bahasa pemrograman dan kumpulan library untuk bekerja sama membuat dan menjalankan aplikasi berbasis Windows yang lebih mudah untuk dibuat, diatur, didistribusikan, dan diintegrasikan dengan sistem jaringan lain.
Dalam perkembangannya, .NET seringkali dikaitkan pula dengan versi Visual Studio yang sesuai dengan dukungan versi yang bersangkutan untuk pengembangan aplikasi. Berikut ini versi .NET dan versi Visual Studio yang terkait:
Microsoft memulai pengembangan .NET Framework di akhir 1990 dengan nama awal Next Generation Windows Services (NGWS). Pada akhir 2000 versi beta .NET 1.0 dirilis
Versi 3.0 dari .NET Framework disertakan di Windows Server 2008 dan Windows Vista. Version 3.5 disertakan di Windows 7, dan bisa juga diinstall di Windows XP maupun Windows Server 2003. Pada 12 April 2010 .NET Framework 4 dirilis bersamaan dengan applikasi Visual Studio 2010.
.NET Framework terdiri dari dua versi yaitu mobile dan embedded. Versi mini dari framework .NET Compact Framework, tersedia untuk platform smartphone khususnya Windows CE dan Windows Mobile. .NET Micro Framework lebih ditargetkan untuk device yang membutuhkan kinerja tinggi.
| Versi | Nomor Versi | Tanggal Rilis | Visual Studio | Default di Windows |
|---|---|---|---|---|
| 1.0 | 1.0.3705.0 | 13 Februari 2002 | Visual Studio .NET | Windows XP Tablet and Media Center Editions |
| 1.1 | 1.1.4322.573 | 24 April 2004 | Visual Studio .NET 2003 | Windows Server 2003 |
| 2.0 | 2.0.50727.42 | 7 November 2005 | Visual Studio 2005 | Windows Server 2003 R2 |
| 3.0 | 3.0.4506.30 | 6 November 2006 | Windows Vista, Windows Server 2008 | |
| 3.5 | 3.5.21022.8 | 19 November 2007 | Visual Studio 2008 | Windows 7, Windows Server 2008 R2 |
| 4.0 | 4.0.30319.1 | 12 April 2010 | Visual Studio 2010 | |
| 4.5 | 4.5.50709 | 15 Agustus 2012 | Visual Studio 2012 | Windows 8, Windows Server 2012 |
.NET 2.0, 3.0 dan 3.5 memiliki CLR yang sama. Dengan demikian, struktur IL juga sama. Adapun fasilitas penambahan kata kunci pemrograman seperti pada LINQ yang sebenarnya lebih mengarah sebagai fitur bahasa pemrograman (programming language feature) sehingga bukan merupakan fitur CLR.
.NET pada sistem operasi selain Windows
Implementasi .NET 2.0 saat ini juga memiliki Mono, perangkat lunak varian yang dapat berjalan di Linux dan UNIX. Mono dikembangkan oleh Ximian, yang selanjutnya diakuisisi oleh Novell. Mono merupakan platform sumber terbuka, berarti semua orang dapat berpartisipasi di dalam pengembangan Mono.
dikutip dari : (http://id.wikipedia.org/wiki/.NET_Framework)

‘Reservation window’ mengirim pesan makeReservation() ke ‘HotelChain’. Kemudian ‘HotelChain’ mengirim pesan yang sama ke ‘HOTEL’. Bila ‘HOTEL’ punya kamar kosong, maka dibuat ‘Reservation’ dan ‘Confirmation’. Lifeline adalah garis dot (putus-putus) vertikal pada gambar, menerangkan waktu terjadinya suatu obyek. Setiap panah yang ada adalah pemanggilan suatu pesan. Panah berasal dari pengirim ke bagian paling atas dari batang kegiatan (activation bar) dari suatu pesan pada lifeline penerima. Activation bar menerangkan lamanya suatu pesan diproses. Pada gambar diagram , terlihat bahwa ‘Hotel’ telah melakukan pemanggilan diri sendiri untuk pemeriksaan jika ada kamar kosong. Bila benar, maka ‘Hotel’membuat ‘Reservation’ dan ‘Confirmation’. Pemanggilan diri sendiri disebut dengan iterasi. Expression yeng dikurung dengan “[ ]”, adalah condition (keadaan kondisi). Pada diagram dapat dibuat note (catatan). Pada gambar, terlihat seperti selembar kertas yang berisikan teks. Note bisa diletakan dimana saja pada diagram UML.
Kotak kegiatan obyek diberi label dengan nama kelas atau obyek (atau keduanya). Nama kelas dibatasi dengan colons / titik dua ( : ). Setiap pesan pada diagram Collaboration mempunyai angka yang terurut. Pesan yang tingkatannya tertinggi adalah angka 1. Pesan yang berada pada tingkat yang sama memiliki prefix yang sama, namun suffix berbeda bergantung pada posisinya; hanya untuk angka 1, 2, dan seterusnya.
Hubungan Antar Class
Contoh Diagram Activity ‘Pengambilan Uang melalui ATM’. Diagram Activity dapat dibagi menjadi beberapa jalur kelompok yang menunjukkan obyek mana yang bertanggung jawab untuk suatu aktifitas. Peralihan tunggal (single transition) timbul dari setiap adanya activity (aktifitas), yang saling menghubungi pada aktifitas berikutnya. Sebuah transition (transisi) dapat membuat cabang ke dua atau lebih percabangan exclusive transition (transisi eksklusif). Label Guard Expression (ada didalam [ ]) yang menerangkan output (keluaran) dari percabangan. Percabangan akan menghasilkan bentuk menyerupai bentuk intan. Transition bisa bercabang menjadi beberapa aktifitas paralel yang disebut Fork. Fork beserta join (gabungan dari hasil output fork) dalam diagram berbentuk solid bar (batang penuh).



