TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN TPHCMKHOA: KHOA HỌC MÁY TÍNH BÀI THU HOẠCH MÔN: PHƯƠNG PHÁP NGHIÊN CỨU KHOA HỌC VÀ TƯ DUY SÁNG TẠO Đề tài: VẬN DỤNG PHƯƠNG PHÁP SÁNG TẠO SCAMPER TRON
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN TPHCM
KHOA: KHOA HỌC MÁY TÍNH
BÀI THU HOẠCH
MÔN: PHƯƠNG PHÁP NGHIÊN CỨU KHOA HỌC
VÀ TƯ DUY SÁNG TẠO
Đề tài:
VẬN DỤNG PHƯƠNG PHÁP SÁNG TẠO SCAMPER TRONG CÁC PHIÊN BẢN CỦA NET FRAMEWORK
GVHD : GS.TSKH HOÀNG KIẾM
Trang 2TP HCM, Tháng 04 năm 2014
LỜI NÓI ĐẦU
Tư duy sáng tạo là chủ đề của một lĩnh vực nghiên cứu còn mới Nó nhằm tìm ra các phương án, biện pháp thích hợp để kích hoạt khả năng sáng tạo và để tăng cường khả năng tư duy của một cá nhân hay một tập thể cộng đồng làm việc chung về một vấn
đề hay lĩnh vực Ứng dụng chính của bộ môn này là giúp cá nhân hay tập thể thực hành
nó tìm ra các phương án, các lời giải từ một phần đến toàn bộ cho các vấn đề nan giải Các vấn đề này không chỉ giới hạn trong các ngành nghiên cứu về khoa học kỹ thuật mà
nó có thể thuộc lĩnh vực khác như chính trị, kinh tế, xã hội, nghệ thuật hoặc trong các phát minh, sáng chế…
Một số phương pháp tư duy sáng tạo đã và đang được triển khai thành các lớp học, các hội nghị chuyên đề ở các cơ quan, tổ chức xã hội, chính trị, chính trị - xã hội nhằm nâng cao hiệu quả làm việc của cá nhân hay tập thể Ở các trường trung học của các nước phát triển, một số phương pháp quan trọng như tập kích não, giản đồ ý cũng đã được áp dụng cho học sinh biết cách áp dụng dưới dạng thô sơ; đồng thời cũng đã có nhiều cơ sở giáo dục tư thục giảng dạy các chuyên đề về phương pháp tư duy sáng tạo cho học viên mọi lứa tuổi.
SCAMPER là phương pháp tư duy sáng tạo nhằm cải thiện sản phẩm, quy trình, dịch vụ… đã có hay dự tính phát triển, dựa vào kỹ thuật tập kích não (Brainstorming) để tìm ra nhiều phương án giải đáp hàng loạt câu hỏi Phạm vi của bài thu hoạch này trình bày những phương pháp sáng tạo này và áp dụng những nguyên lý sáng tạo này vào sự phát triển của các phiên bản Net Framework của Microsoft
Tp Hồ Chí Minh, những ngày cuối tháng 04 năm 2014
Trang 3Học viên: Phan Trọng Nghĩa
Trang 4LỜI CẢM ƠN
Đầu tiên, người thực hiện xin chân thành cảm ơn GS.TSKH Hoàng Kiếm, Thầy đã tận tình giảng dạy và truyền đạt những kiến thức vô cùng bổ ích giúp bài thu hoạch này được hoàn thành đúng thời hạn Qua môn học này, một số phương pháp tư duy sáng tạo
đã được thầy truyền đạt giúp các học viên có thể vận dụng những nguyên lý sáng tạo đó vào các mô hình phát triển của những sản phẩm trong lĩnh vực tin học nói riêng và tất cả các sản phẩm trong đời sống thực tiễn nói chung Đồng thời, học viên có thể áp dụng những nguyên lý sáng tạo đó vào công việc góp phần cải thiện đáng kể chất lượng trong việc hiện tại.
Xin chân thành cảm ơn quý thầy cô ở phòng đào tạo Sau đại học đã tạo những điều kiện thuận lợi nhất trong học tập cũng như công tác đào tạo giúp hoàn thành bài thu hoạch này.
Cảm ơn các anh chị học viên cùng khóa và các anh chị học viên những khóa trước
đã cung cấp những nguồn tài liệu phong phú góp phần quan trọng trong việc hoàn thành bài thu hoạch này.
Về bài thu hoạch, người thực hiện đã cố gắng vận dụng những kiến thức đã học được ở lớp, cái tài liệu liên quan do thầy và các bạn cung cấp cũng như những tài liệu
đã tìm kiếm được áp dụng để phân tích phương pháp tư duy sáng tạo SCAMPER trong các phiên bản Net Framework Kính mong thầy cô cùng các bạn góp ý thẳng thắn giúp người thực hiện có thể nhận ra, sửa chữa và hoàn thiện hơn.
Trang 5PHỤ LỤC
LỜI NÓI ĐẦU 1
LỜI CẢM ƠN 2
PHỤ LỤC 3
BẢNG VIẾT TẮT 5
NỘI DUNG 6
A Lời giới thiệu 6
B Phương pháp tư duy sáng tạo SCAMPER 7
I Tổng quan 7
II Phân tích SCAMPER 9
a Phép thay thế - Substitute 9
b Phép kết hợp – Combine 10
c Phép thích ứng – Adapt 11
d Phép điều chỉnh – Modify 12
e Phép thêm vào – Put 12
f Phép loại bỏ - Eliminate 13
g Phép đảo ngược – Reverse 14
C Vận dụng SCAMPER vào sự phát triển của các phiên bản Net Framework 15
I .Net Framework là gì? 15
II Lịch sử ra đời của Net Framework 16
III Chức năng của Net Framework 18
IV Cấu trúc của Net Framework 18
a Common Language Runtime (CLR) 18
b .Net Framework Class Library (FCL) 21
c Sơ lược về Namespace 21
V Các phiên bản cảu Net Framework 23
a Ver 1.0 – phát hành năm 2002 23
b Ver 1.1 – phát hành năm 2003 23
Trang 6c Ver 2.0 phát hành năm 2005 25
d Ver 3.0 & Ver 3.5 (phát hành năm 2008) 27
e Ver 4.0 – phát hành năm 2010 33
f Version 4.5 – Phát hành năm 2012 35
VI Vận dụng SCAMPER vào sự phát triển của các phiên bản Net Framework 39
VII Lời kết 43
KẾT LUẬN 44
TÀI LIỆU THAM KHẢO 45
Trang 7BẢNG VIẾT TẮT
CLR: Common Language Runtime
CLI: Common Language Infrastructure
FCL: Net Framework Class Library
WPF: Windows Presentation Foundation
WCF: Windows Communication Foundation
WF: Windows Workflow Foundation
WCS: Windows CardSpace
LINQ: Language Integrated Query
Trang 8NỘI DUNG
A Lời giới thiệu
Ngày nay, với sự xuất hiện của ngày càng nhiều công ty có uy tín, chấtlượng làm cho thị trường cạnh tranh vô cùng khốc liệt để giành lấy niềm tin củangười tiêu dùng Ta thấy rằng có những bước đi rất thành công của một số công tytên tuổi như: Microsoft, Apple, SamSung, CocaCola… nhờ liên tục cải tiến vànâng cấp chất lượng sản phẩm cũng như giá thành ngày càng giảm Bên cạnh đómột số công ty đã thất bại vì định hướng sai lầm, tư duy cũ kỹ, dẫn đến bờ vực phásản và mất đi thương hiệu của mình, như hãng điện thoại một thời là “vua” Nokia
đã chính thức rơi vào tay Microsoft và rất có thể thương hiệu Nokia sẽ bị xóa sổtrên thị trường di động toàn cầu
Chúng ta đều biết rằng Microsoft đã rất thành công và là một trong nhữngcông ty luôn đứng đầu về doanh thu trên toàn thế giới trong nhiều năm nay nhờvào những cải tiến đột phá, sáng tạo Microsoft đã có rất nhiều sản phẩm mang lạithương hiệu cho mình như: hệ điều hành Window, bộ office, các công cụ lập trìnhnhư Visual Studio, Net Framwork… Với mục tiêu tìm hiểu về sự thành công củamột sản phẩm của Microsoft, bài thu hoạch chọn sản phẩm Net Framework
Bài thu hoạch tìm hiểu về lịch sử phát triển và các chức năng nổi bật quatừng phiên bản Net Framework và từ đó vận dụng những phương pháp tư duysáng tạo SCAMPER để phân tích sự sáng tạo của sản phẩm này
Mục tiêu:
- Tìm hiểu về phương pháp sáng tạo SCAMPER
- Khái quát những tính năng nổi bật trong trừng phiên bản của .NetFramework
- Áp dụng phương pháp SCAMPER đẻ phân tích quá tình sáng tạo củaMicrosoft trên từng phiên bản Net Framework
- Quan điểm, nhận định của người viết về sản phẩm này
Trang 9B Phương pháp tư duy sáng tạo SCAMPER
Phương pháp SCAMPER là một trong những kỹ thuật để giúp chúng ta tư duy sáng
tạo hiệu quả
Trong một kỳ thi tuyển đặc biệt vào trường đại học Oxford ( Mỹ) Giáo sư chỉ cầmmột tờ báo sau khi đã yêu cầu cậu thí sinh hãy làm điều gì đó với tờ báo, nhằm đo chỉ số
IQ của anh ta Sau vài giây suy nghĩ, anh bèn châm lửa đốt tờ báo và rồi ung dung bướcvào trường đại học danh tiếng nhất nước Mỹ
Đó chính là sáng tạo Thường thì sáng tạo là một điều gì đó mới mẻ táo bạo vàkhác thường Sáng tạo là một phần không thể thiếu trong cuộc sống của chúng ta, khôngphải chỉ có những người làm nghệ thuật mới phải thường xuyên sáng tạo mà những người
ở những ngành nghề khác nhau cũng va chạm với nó trong cuộc sống hàng ngày Nghĩsáng tạo là nhìn một vấn đề, một câu hỏi…theo những cách khác với thông thường Tức
là nhìn mọi thứ từ các góc độ, tầm nhìn khác nhau, “ nhìn” theo những cách khác không
bị hạn chế bởi thói quen, bởi phong tục, bởi tiêu chuẩn Sáng tạo đến từ đổi mới hàngngày từ những nhu cầu cuộc sống của con người ngày càng tốt hơn và cao hơn
Trang 10Nhưng một câu hỏi được đặt ra là liệu sự sáng tạo có một khuôn mẫu hay không?Câu trả lời là có, có những nguyên tắc và quy luật cho sáng tạo Để sử dụng và duy trìkhả năng nhận thức rõ sự vật này của trí não, bạn nên hiểu một vài nguyên tắc suy nghĩsáng tạo cơ bản Những nguyên tắc này tạo nên một nền tảng về thái độ hoặc tâm lý củatất cả các phương pháp khái quát lên được những ý tưởng có tính sáng tạo cao hơn khibạn áp dụng những nguyên tắc về cách suy nghĩ sáng tạo này Tuy nhiên, để có thể nghĩ
ra một ý tưởng được coi là thực sự sáng tạo là một điều không đơn giản và cũng không dễdàng Do đó, bạn càng hiểu biết về cách thức tư duy sáng tạo bao nhiêu thì bạn sẽ suynghĩ sáng tạo hơn bấy nhiêu
Não của chúng ta là một kho chứa những ý tưởng Những gì ta biết chính là những
gì ta đã được học và đã trải nghiệm Ý tưởng đều nằm trong đó cả Tất cả những gì taphải làm chỉ là lấy chúng ta ra mà thôi Tuy nhiên, chúng ta sẽ không thể bàn đến tất cảnhững ý tưởng trong đầu ta mà không đề cập đến những quan điểm và phương pháp trítuệ thích hợp Không có cách nào giúp ta có thể gợi nhớ được mọi thứ Hơn nữa, chúng ta
sẽ không bao giờ nghĩ về một ý tưởng nhất định nếu ta không phụ thuộc vào nhữngnguồn kích thích sự sáng tạo khác nhau Bộ óc của chúng ta là những công cụ liên kếtkhông giới hạn, chúng có thể chứa được rất nhiều ý tưởng giống như chúng ta là những
cơ sở dữ liệu chứa những ý tưởng
Ai trong chúng ta cũng có sự sáng tạo Công việc càng khó thì não bạn hoạt độngcàng tích cực tuy nhiên trước một vấn đề khó nếu bạn không tỉnh táo thì bạn dễ dàng đilạc đường Theo nghiên cứu thì đến thiên tài cũng mới sử dụng có 15% hiệu suất não củamình Cho nên, học nghĩ sáng tạo để não bạn đi xa hơn là hoàn toàn có thể Thật là maymắn vì chúng ta không phải gợi nhớ mọi thứ trong đầu để có thể tư duy một cách sángtạo Tất cả những gì chúng ta phải làm là kết hợp khả năng sáng tạo bẩm sinh trong chúng
ta với những nguồn kích thích sáng tạo và những nguyên tắc suy nghĩ sáng tạo Kiến thức
và những kinh nghiệm của chúng ta sẽ giúp khái quát lên những nguồn kết hợp mà từ đó
sẽ tạo ra ý tưởng
Trang 11Michael Michalko
Hiện nay, có khá nhiều phương pháp sáng tạo khác nhau nhưng không có phươngpháp nào vượt trội trong mọi tình huống, trong mọi lĩnh vực Tuy nhiên, phương phápsáng tạo SCAMPER tỏ ra có nhiều ưu điểm trong việc phát triển hoạt động kinh doanhcủa các doanh nghiệp Hai trọng tâm sáng tạo trong doanh nghiệp là sáng tạo trong pháttriển đổi mới sản phẩm và sáng tạo trong tiếp thị kinh doanh sản phẩm
Phương pháp sáng tạo SCAMPER được giáo sư Michael Mikalko phát triển,SCAMPER là ghép các chữ cái đầu của nhóm từ sau: Substitute ( thay thế), Combine (kếthợp), Adapt (thích nghi), Modify (hiệu chỉnh), Put (thêm vào), Eliminate (loại bỏ) vàReverse (đảo ngược) Phương pháp sáng tạo SCAMPER dễ lĩnh hội, dễ vận dụng nhưngkhá hữu hiệu nên ngày càng được sử dụng phổ biến rộng rãi, nhất là trong các doanhnghiệp
Hình 1: Phương pháp SCAMPER và người phát triển
a Phép thay thế - Substitute
- Nội dung: Thay thế thành tố hiện có của hệ thống bằng thành tố khác.
Trang 12- Các câu hỏi có thể đặt ra:
Có thể thay thế, hoán đổi bộ phận nào trong hệ thống?
Có thể thay thế nhân sự nào?
Qui tắc nào có thể được thay đổi?
Có thể dùng nguyên liệu, vật liệu nào khác?
- Các câu hỏi có thể đặt ra:
Ý tưởng/thành phần nào có thể kết hợp được?
Có thể kết hợp/tái kết hợp mục đích của các đối tượng?
Có thể kết hợp/hòa trộn yếu tố này với các yếu tố khác?
Cái gì có thể kết hợp để gia tăng tính hữu dụng?
Những vật liệu nào có thể kết hợp với nhau?
Tôi có thể kết hợp những năng lực khác nhau để cải thiện vấn đề?
Trang 13- Nội dung: Thích ứng hệ thống trong một bối cảnh khác.
- Các câu hỏi có thể đặt ra:
Đối tượng ta đang xem xét giống với cái gì khác?
Có cái gì tương tự với đối đối tượng ta đang xem xét nhưng trong một tìnhhuống khác?
Ý tưởng nào khác có thể đề xuất?
Có thể tương tác với ai?
Ý tưởng nào có thể hợp nhất?
Quá trình nào có thể được thích ứng?
Ý tưởng nào ngoài lĩnh vực của có thể hợp nhất?
- Ví dụ:
Trang 14
Hình 4: Ví dụ về phép thích ứng
d Phép điều chỉnh – Modify
- Nội dung: Điều chỉnh qui mô thành tố của hệ thống.
- Các câu hỏi có thể đặt ra:
Yếu tố nào có thể điều chỉnh lớn hơn?
Yếu tố nào có thể cường điệu hoặc cực đoan?
Yếu tố nào có thể cao hơn, to hơn hay mạnh hơn?
Tôi có thể gia tăng tần số của hệ thống?
Yếu tố nào có thể lặp lại? Có thể tạo ra nhiều bản sao?
Có thể bổ sung thêm những đặc trưng mới hoặc giá trị mới?
Trang 15- Nội dung: Thêm thành tố mới vào hệ thống.
- Các câu hỏi có thể đặt ra:
Đối tượng đang xem xét có thể dùng vào mục đích khác?
Đối tượng đang xem xét có thể dùng bởi người khác với mục đích khác?
Trẻ em hay người già sử dụng đối tượng đang xem xét như thế nào?
Có cách nào khác sử dụng đối tượng đang xem xét không?
Có thể sử dụng ý tưởng này trong lĩnh vực khác, thị trường khác?
- Nội dung: Loại bỏ thành tố khỏi hệ thống.
- Các câu hỏi có thể đặt ra:
Có thể đơn giản hóa đối tượng như thế nào?
Bộ phận nào có thể loại bỏ mà không làm thay đổi tính năng hệ thống?
Bộ phận nào không mang tính cốt lõi hay không cần thiết?
Qui tắc nào có thể hạn chế hoặc loại bỏ?
Tôi thực hiện với qui mô nhỏ hơn sẽ ra sao?
Tính chất nào của hệ thống có thể giảm thiểu hoặc loại bỏ?
Có thể chia tách hệ thống thành các bộ phận khác nhau?
Có thể làm cho đối tượng tinh gọn hơn?
Trang 16- Ví dụ:
Hình 7: Ví dụ về phép loại bỏ
g Phép đảo ngược – Reverse
- Nội dung: Đảo ngược trật tự các thành tố của hệ thống.
- Các câu hỏi có thể đặt ra:
Có phương án cấu trúc khác tốt hơn phương án hiện hành?
Có thể hoán đổi bộ phận này với bộ phận khác trong hệ thống?
Có thể hoán đổi giữa tác nhân và hệ quả?
Có thể thay đổi nhịp điệu hay lịch trình của kế hoạch?
Có thể tác động ngoại vi thay vì chính diện? Tác động bên trên thay vì bêndưới? Tác động bên dưới thay vì bên trên?
Xem xét vấn đề/bài toán theo chiều hướng ngược lại?
Thực hiện ngược lại với dự định ban đầu?
- Ví dụ:
Hình 8: Ví dụ về phép đảo ngược
Trang 17C Vận dụng SCAMPER vào sự phát triển của các phiên bản Net Framework
I .Net Framework là gì?
Hình 9: Cấu trúc Net Framework
NET Framework của Microsoft là một nền tảng lập trình tập hợp các thư viện lậptrình có thể được cài thêm hoặc đã có sẵn trong các hệ điều hành Windows Nó cungcấp những giải pháp thiết yếu cho những yêu cầu thông thường của các chương trìnhđiện toán như lập trình giao diện người dùng, truy cập dữ liệu, kết nối cơ sở dữ liệu,ứng dụng web, các giải thuật số học và giao tiếp mạng Ngoài ra .NETFramework quản lý việc thực thi các chương trình được viết dựa trên .NETFramework do đó người dùng cần phải cài NET Framework để có thể chạy cácchương trình được viết trên nền NET
Trang 18II Lịch sử ra đời của Net Framework
Nhớ lại những năm cuối thế kỉ trước, Java làm mưa làm gió trên thị trường phầnmềm với khẩu hiệu nổi tiếng “Write once, Run anywhere” (viết một lúc, chạy mọinơi) Không chỉ là một ngôn ngữ, Java còn là cả một nền tảng, thích hợp cho việc pháttriển phần mềm ở mọi mức độ: từ lớn và phức tạp như các giải pháp doanh nghiệp chođến nhỏ và ít tốn tài nguyên như các phần mềm chạy trên thiết bị di động Lúc đó,Microsoft cũng phải hợp tác với Sun Microsystem để đưa ra Visual J++, công cụ pháttriển Java trên nền Windows cho bộ Visual Studio của mình Microsoft thậm chí cònxây dựng hẳn thư viện WFC (Windows Foundation Classes), bên cạnh bộ thư việnMFC, để hỗ trợ cho Visual J++ Nhưng “ngày vui ngắn chẳng tày gang”, sau đó, Sun
tố giác Microsoft tự ý sửa code của máy ảo Java cho Windows (Java Virtual Machine– JVM) Vụ việc nhanh chóng làm đổ vỡ mối quan hệ giữa 2 ông lớn Năm 1998,Microsoft đã mất quyền phát triển Java, và khi cả thế giới chuyển sang Java 1.2(thường được biết đến với tên thương mại J2EE), Microsoft “ở lại” với Java 1.1 Và
hệ quả tất yếu là Visual J++ “chết yểu” Từ thế đối tác, Microsoft trở thành đối thủcủa Sun về ngôn ngữ, cũng như về nền tảng lập trình
Khi đó, Microsoft chưa có sản phẩm nào tương xứng để cạnh tranh với Sun, mặc
dù đã có đầy đủ nền tảng và công cụ cho người lập trình: Visual C++ với MFC/ATL
và Visual Basic cho lập trình Windows, ASP với Javascript/VBScript cho lập trìnhweb nhưng chúng đều không phải là đối thủ đúng nghĩa của ngôn ngữ/nền tảngJava Mỗi sản phẩm của Microsoft tương ứng với một môi trường nhất định, việcchuyển sang môi trường khác buộc lập trình viên phải học ngôn ngữ mới Ngoài ra,các nền tảng của Microsoft đều ít nhiều có nhược điểm: Visual Basic thì tiện lợi và dễdùng nhưng hiệu năng thấp, không thích hợp cho các ứng dụng tính toán phức tạp.MFC khai thác được sức mạnh của Windows API nhưng chưa đủ thân thiện ASP vớiJscript/VBScript thì quá rắc rối để có thể bẫy lỗi và phát triển các website lớn…Ngoài
ra, hỗ trợ Unicode cũng là một điểm yếu của các công cụ Microsoft khi đó Có thểnói, vào những năm cuối của thế kỉ trước, Microsoft thiếu một nền tảng thống nhất
Trang 19Ngay từ năm 1998, Microsoft đã đổ tiền vào nghiên cứu trong dự án NGWS Next Generation Windows Services, đồng thời chiêu mộ những nhân tài trong lĩnhvực phát triển phần mềm, có thể kể đến Anders Heijberg – tác giả nổi tiếng của TurboPascal và Delphi Một kỉ nguyên mới bắt đầu
-Tháng 7 năm 2000, tại hội thảo dành cho các nhà phát triển chuyên nghiệp,Microsoft đã bắt đầu hé lộ về nền tảng NET Framework, đồng thời cũng giới thiệu vềngôn ngữ mới của họ Ban đầu, ngôn ngữ này được đặt tên là COOL – C-like ObjectOriented Language, cùng với một vài cái tên tạm thời khác như COM3, Lightnighttrước khi được đặt tên C#
Ngày 12/2/2002 đánh dấu bước quan trọng đầu tiên trong “cuộc đời” của NETFramework, khi phiên bản 1.0 cùng với Visual Studio.NET 2002 được chính thức ramắt Chính NET Framework 1.0 là điểm nhấn đáng chú ý nhất và làm cho VisualStudio NET 2002 khác biệt hẳn với Visual Studio 6.0 đã phát hành năm 1998 Lầnđầu tiên, Microsoft giới thiệu về “lập trình hợp nhất”, với việc lấy NET Frameworklàm nền tảng Giờ đây, dù có dùng đến ngôn ngữ nào, kết quả sau khi dịch vẫn là CIL(Common Intermediate Language), được thực thi bởi CLR (Common LanguageRuntime) và sử dụng chung BCL (Base Class Library) Hơn thế nữa, dù là một ứngdụng Winform đơn giản, một giải pháp doanh nghiệp phức tạp hay một trang web đầy
đủ chức năng, tất cả đều có thể xây dựng trên nền NET Được trợ giúp bởi 2 ngônngữ hoàn toàn hướng đối tượng mới, C# và Visual Basic.NET, NET Framework thực
sự là một cuộc cách mạng của Microsoft
Phải nói một cách khách quan rằng rất nhiều ý tưởng quan trọng trong NETFramework được vay mượn từ đối thủ Java Tuy nhiên, điều may mắn là Microsoft đãbắt chước một cách “không tệ” Ví dụ, kiểu dịch JIT (Just-in-time) trong .NETFramework hiệu quả hơn kiểu byte-code trong JVM Điều này là bình thường trongthế giới hiện nay, vì ý tưởng thì chỉ có một, nhưng quan trọng là cách hiện thực nhưthế nào Những bước đi đúng đắn của đội ngũ NET ở Microsoft đã giúp cho NET cónhững ưu thế không thể chối cãi trước các đối thủ cạnh tranh
Trang 20III Chức năng của Net Framework
Về chức năng, NET Framework có 3 khối chức năng là:
Trình diễn (Presentation)
Dữ liệu (Data)
Giao tiếp (Communication)
Về kỹ thuật, hiện tại Microsoft giới thiệu 4 kỹ thuật mới và nổi bật nhất là:
Windows CardSpace (InfoCard)
Windows Presentation Foundation (Avalon)
Windows Communication Foundation (Indigo)
Windows Workflow Foundation (Workflow)
IV Cấu trúc của Net Framework
a Common Language Runtime (CLR)
Như chúng ta đã biết, các ngôn ngữ lập trình khác nhau đều cung cấp mộtruntime (bộ thực thi) và NET Framework không phải là một ngoại lệ Tuy vậy bộruntime này là khá đặc biệt so với phần lớn các runtime chúng ta vẫn sử dụng
Common Language Runtime (gọi tắt là bộ thực thi – CRL) được xây dựngtrên các dịch vụ hệ điều hành CLR là nền tảng của NET Framework, nó đảmnhận các công việc sau:
Là công cụ thực thi mã trung gian (tựa JVM)
Biên dịch (Just-in-time compiler)
Trang 21Mã được biên dịch và hướng tới CLR có tên “managed code” “Managed code”cung cấp siêu dữ liệu (metadata) cần thiết cho CLR để cung cấp các dịch vụ hỗ trợ
đa ngôn ngữ, bảo mật mã, quản lý thời gian sống của đối tượng và quản lý bộ nhớ.Nếu NET Framework tồn tại (và đã được cài đặt) trên một nền tảng, thì nền tảng
đó có thể chạy bất kỳ chương trình NET nào Khả năng của một chương trình cóthể chạy (không có sửa đổi) trên nhiều nền tảng được gọi là sự độc lập về nềntảng Code được viết một lần có thể được sử dụng trên mọi loại máy tính màkhông sửa đổi, tiết kiệm cả thời gian và tiền bạc
.NET Framework cũng cung cấp mức độ tương tác cao giữa các ngôn ngữ.Chương trình viết bằng các ngôn ngữ khác nhau đều được biên dịch thành cácphần MSIL khác nhau có thể được kết hợp để tạo ra một chương trình thống nhất.MSIL cho phép NET Framework trở thành ngôn ngữ không phụ thuộc, bởi vì cácchương trình NET không gắn với một ngôn ngữ lập trình cụ thể nào cả Bất cứngôn ngữ nào có thể được biên dịch sang MSIL được gọi là ngôn ngữ tương thíchvới NET Danh sách các ngôn ngữ lập trình khả dụng với NET được liệt kê trongbảng sau:
- Common Language Infrastructure (CLI)
Mục đích của Common Language Infrastructure (CLI) là cung cấp mộtnền tảng ngôn ngữ trung lập để phát triển và thực thi ứng dụng, bao gồm cả chức
Trang 22năng để xử lý các lỗi, thu gom rác thải (garbage collection), bảo mật và khả năngtương tác Bằng cách thực hiện những khía cạnh cốt lõi của NET Frameworktrong phạm vi của mình, CLI sẽ không được gắn với một ngôn ngữ duy nhất mà sẽ
có mặt trên nhiều ngôn ngữ được hỗ trợ bởi NET framework
- Biên dịch trong NET
Common Language Runtime (CLR) là một phần trung tâm của .NETFrameworkit thực hiện các chương trình NET
Chương trình được biên dịch vào các hướng dẫn-cụ thể (machine-specific)của máy theo hai bước Đầu tiên, chương trình được dịch thành MicrosoftIntermediate Language (MSIL), trong đó xác định các hướng dẫn cho các CLR.Code được chuyển đổi thành MSIL từ các ngôn ngữ khác và các nguồn có thểđược kết hợp với nhau bằng CLR Các MSIL cho các thành phần của một ứngdụng được đặt vào file thực thi của ứng dụng (được gọi là assembly) Khi ứngdụng thực thi, trình biên dịch (được gọi là biên dịch just-in-time hoặc biên dịchJIT) CLR phiên dịch MSIL trong file thực thi vào mã máy (đối với một nền tảng
cụ thể), sau đó mã máy được thực thi trên nền tảng đó Ghi chú: MSIL là ngôn ngữtrung gian, là một giải pháp để giúp cho các lập trình viên không cần quan tâm đếnviệc lập trình bằng ngôn ngữ nào trong bộ NET
Ví dụ: thực tế, trong 1 nhóm lập trình, có người sử dụng VB.NET, cóngười dùng C#, có người dùng J#,… nhưng họ vẫn có thể hợp tác làm ra sảnphẩm, dùng ngôn ngữ quen thuộc của họ để lập trình, không nhất thiết 1 group chỉgồm những người lập trình duy nhất 1 ngôn ngữ xác định
Việc biên dịch chương trình sang MSIL giúp chương trình đó có thể chạytrên nhiều máy, nhiều nền tảng khác nhau
Tại sao phải biên dịch 2 lần:
- Độc lập với phần cứng
NET framewwork có thể cài đặt trên nhiều platform
Các chương trình NET được thực hiện mà không có thay đổi code nào (viết 1 lần, chạy mọi nơi)
Trang 23b .Net Framework Class Library (FCL)
Có thể bạn đã nghe qua về MFC và JFC Microsoft Foundation Class(MFC) là bộ thư viện mà lập trình viên Visual C++ sử dụng trong khi JavaFoundation Class (JFC) là bộ thư viện dành cho các lập trình viên Java Bạn có thểxem NET Framework Class Library (FCL) là bộ thư viện dành cho các lập trìnhviên NET
Với hơn 80000 lớp đối tượng (với NET 4.0) để gọi thực hiện đủ các loạidịch vụ từ hệ điều hành, bạn có thể bắt đầu xây dựng ứng dụng bằng Notepad.exe.Nhiều người lầm tưởng rằng các môi trường phát triển phần mềm như VisualStudio 98 hay Visual Studio NET là tất cả những gì cần để viết chương trình.Thực ra, chúng là những phần mềm dùng làm vỏ bọc bên ngoài Với chúng, bạn sẽviết được các đoạn lệnh đủ các màu xanh, đỏ; lỗi cú pháp báo ngay khi đang gõlệnh; thuộc tính của các đối tượng được đặt ngay cửa sổ properties, giao diện đượcthiết kế theo phong cách trực quan…
Hầu hết các lớp được gom vào một namespace (không gian tên) gọi làsystem
c Sơ lược về Namespace
.NET Framework được tạo bởi từ hàng trǎm lớp (class) Nhiều ứng dụng
mà bạn xây dựng trong NET đang tận dụng các lớp này theo cách này hay cáchkhác Vì số lượng các lớp là quá lớn, NET Framework tổ chức các lớp này vàomột cấu trúc lớp được gọi là một namespace Một namespace có thể là con củamột namespace lớn hơn Namespace lớn nhất trong NET Framework là System.System là một Namespace cơ sở trong NET Framework Tất cả các namespaceđược cung cấp trong NET framework bắt đầu với namespace cơ sở này Ví dụ,