Tải bản đầy đủ (.docx) (46 trang)

Tiểu luận môn phương pháp nghiên cứu khoa học VẬN DỤNG PHƯƠNG PHÁP SÁNG TẠO SCAMPER TRONG CÁC PHIÊN BẢN CỦA .NET FRAMEWORK

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.71 MB, 46 trang )

Bài thu hoạch môn: PP nghiên cứu khoa học và tư duy sáng tạo GVHD: GS. TSKH. Hoàng
Kiếm
TRƯỜ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
TP. HCM, Tháng 04 năm 2014
HVTH: Phan Trọng Nghĩa – CH1301042 1
Bài thu hoạch môn: PP nghiên cứu khoa học và tư duy sáng tạo GVHD: GS. TSKH. Hoàng
Kiếm
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
HVTH: Phan Trọng Nghĩa – CH1301042 2
Bài thu hoạch môn: PP nghiên cứu khoa học và tư duy sáng tạo GVHD: GS. TSKH. Hoàng
Kiếm
Học viên: Phan Trọng Nghĩa
HVTH: Phan Trọng Nghĩa – CH1301042 3
Bài thu hoạch môn: PP nghiên cứu khoa học và tư duy sáng tạo GVHD: GS. TSKH. Hoàng
Kiếm
LỜ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.
HVTH: Phan Trọng Nghĩa – CH1301042 4
Bài thu hoạch môn: PP nghiên cứu khoa học và tư duy sáng tạo GVHD: GS. TSKH. Hoàng
Kiếm
PHỤ LỤC
HVTH: Phan Trọng Nghĩa – CH1301042 5
Bài thu hoạch môn: PP nghiên cứu khoa học và tư duy sáng tạo GVHD: GS. TSKH. Hoàng
Kiếm
BẢ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
HVTH: Phan Trọng Nghĩa – CH1301042 6
Bài thu hoạch môn: PP nghiên cứu khoa học và tư duy sáng tạo GVHD: GS. TSKH. Hoàng
Kiếm
NỘ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ất
lượ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ủa
ngườ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 ty
tê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ững
cô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ại
thương hiệu cho mình như: hệ điều hành Window, bộ office, các công cụ lập trình
như Visual Studio, .Net Framwork… Với mục tiêu tìm hiểu về sự thành công của
mộ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 qua
từng phiên bản .Net Framework và từ đó vận dụng những phương pháp tư duy
sá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 .Net
Framework
- Áp dụng phương pháp SCAMPER đẻ phân tích quá tình sáng tạo của
Microsoft 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
HVTH: Phan Trọng Nghĩa – CH1301042 7
Bài thu hoạch môn: PP nghiên cứu khoa học và tư duy sáng tạo GVHD: GS. TSKH. Hoàng
Kiếm
B. 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ả.
I. Tổng quan
“Giản dị nhất, tính sáng tạo được định nghĩa là một ý tưởng mới, phù hợp với
thời đại và không gian sinh ra nó, và ý tưởng đó mang lại giá trị”
Một trong những phát minh đầu tiên và quan trọng nhất của con người là lửa. Lửa
được người tiền sử phát hiện ra từ cách đây hàng nghìn năm. Sự phát hiện ra lửa, và sử

dụng chúng cho mục đích của cuộc sống, được coi là một bước tiến quan trọng trong văn
minh của loài người. Nhờ có lửa, con người ăn các thức ăn được nấu chín, đã tiệt trùng,
giảm bớt nguy cơ bệnh tật. Cũng nhờ có lửa, con người biết đốt nóng kim loại để rèn, đúc
các dụng cụ bằng kim loại, tăng năng suất lao động. Lửa được xem là một trong những
phát minh quan trọng nhất của nhân loại. Hay nói cách khác lửa là biểu tượng của sáng
tạo.
Trong một kỳ thi tuyển đặc biệt vào trường đại học Oxford ( Mỹ). Giáo sư chỉ cầm
mộ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ước
và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ông
phả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àng ngà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.
HVTH: Phan Trọng Nghĩa – CH1301042 8
Bài thu hoạch môn: PP nghiên cứu khoa học và tư duy sáng tạo GVHD: GS. TSKH. Hoàng
Kiếm
Như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ủa
tấ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 khi
bạ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ẽ suy
nghĩ 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ì ta
phả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ững
nguồ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ết
khô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 động
cà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 đi
lạ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ủa
mì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à may
mắ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áng
tạ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.
HVTH: Phan Trọng Nghĩa – CH1301042 9
Bài thu hoạch môn: PP nghiên cứu khoa học và tư duy sáng tạo GVHD: GS. TSKH. Hoàng
Kiếm
Hiện nay, có khá nhiều phương pháp sáng tạo khác nhau nhưng không có phương
phá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áp
sáng tạo SCAMPER tỏ ra có nhiều ưu điểm trong việc phát triển hoạt động kinh doanh
củ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át
triể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ết
hợ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ưng

khá 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 doanh
nghiệp.
HVTH: Phan Trọng Nghĩa – CH1301042 10
Michael Michalko
Bài thu hoạch môn: PP nghiên cứu khoa học và tư duy sáng tạo GVHD: GS. TSKH. Hoàng
Kiếm
Hình 1: Phương pháp SCAMPER và người phát triển
II. Phân tích SCAMPER
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.
- 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?
HVTH: Phan Trọng Nghĩa – CH1301042 11
Bài thu hoạch môn: PP nghiên cứu khoa học và tư duy sáng tạo GVHD: GS. TSKH. Hoàng
Kiếm
• 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ó thể dùng qui trình/thủ tục nào khác?
• Có thể thay tên khác?
• Có thể dùng ý tưởng này tại địa điểm khác?
• …
- Ví dụ:

Hình 2: Ví dụ về phép thay thế
b. Phép kết hợp – Combine
- Nội dung: Kết hợp thành tố của các hệ thống khác nhau để tạo ra hệ thống
mới.
- 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 đề?
• …
- Ví dụ:

HVTH: Phan Trọng Nghĩa – CH1301042 12
Bài thu hoạch môn: PP nghiên cứu khoa học và tư duy sáng tạo GVHD: GS. TSKH. Hoàng
Kiếm
Hình 3: Ví dụ về phép kết hợp
c. Phép thích ứng – Adapt
- 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ình
huố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ụ:

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?
• …
- Ví dụ:
HVTH: Phan Trọng Nghĩa – CH1301042 13
Bài thu hoạch môn: PP nghiên cứu khoa học và tư duy sáng tạo GVHD: GS. TSKH. Hoàng
Kiếm

Hình 5: Ví dụ về phép điều chỉnh
e. Phép thêm vào – Put
- 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?
• …
- Ví dụ:

Hình 6: Ví dụ về phép them vào
f. Phép loại bỏ - Eliminate
- 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?
HVTH: Phan Trọng Nghĩa – CH1301042 14
Bài thu hoạch môn: PP nghiên cứu khoa học và tư duy sáng tạo GVHD: GS. TSKH. Hoàng
Kiếm
• 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?
HVTH: Phan Trọng Nghĩa – CH1301042 15
Bài thu hoạch môn: PP nghiên cứu khoa học và tư duy sáng tạo GVHD: GS. TSKH. Hoàng
Kiếm
- 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ên
dướ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

C. Vận dụng SCAMPER vào sự phát triển của các phiên bản .Net
Framework
HVTH: Phan Trọng Nghĩa – CH1301042 16
Bài thu hoạch môn: PP nghiên cứu khoa học và tư duy sáng tạo GVHD: GS. TSKH. Hoàng
Kiếm
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ập
trình có thể được cài thêm hoặc đã có sẵn trong các hệ điều hành Windows. Nó cung
cấ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 .NET
Framework quản lý việc thực thi các chương trình được viết dựa trên .NET
Framework do đó người dùng cần phải cài .NET Framework để có thể chạy các
chương trình được viết trên nền .NET.
HVTH: Phan Trọng Nghĩa – CH1301042 17
Bài thu hoạch môn: PP nghiên cứu khoa học và tư duy sáng tạo GVHD: GS. TSKH. Hoàng
Kiếm
II. 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ần
mềm với khẩu hiệu nổi tiếng “Write once, Run anywhere” (viết một lúc, chạy mọi
nơ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át
triể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át
triển Java trên nền Windows cho bộ Visual Studio của mình. Microsoft thậm chí còn
xây dựng hẳn thư viện WFC (Windows Foundation Classes), bên cạnh bộ thư viện
MFC, để 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ình
web nhưng chúng đều không phải là đối thủ đúng nghĩa của ngôn ngữ/nền tảng
Java. Mỗi sản phẩm của Microsoft tương ứng với một môi trường nhất định, việc
chuyể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ới
Jscript/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
HVTH: Phan Trọng Nghĩa – CH1301042 18
Bài thu hoạch môn: PP nghiên cứu khoa học và tư duy sáng tạo GVHD: GS. TSKH. Hoàng
Kiếm
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.
Ngay 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ĩnh
vực phát triển phần mềm, có thể kể đến Anders Heijberg – tác giả nổi tiếng của Turbo
Pascal 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 Object
Oriented Language, cùng với một vài cái tên tạm thời khác như COM3, Lightnight
trướ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 .NET
Framework, khi phiên bản 1.0 cùng với Visual Studio.NET 2002 được chính thức ra

mắt. Chính .NET Framework 1.0 là điểm nhấn đáng chú ý nhất và làm cho Visual
Studio. 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 Framework
là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 Language
Runtime) và sử dụng chung BCL (Base Class Library). Hơn thế nữa, dù là một ứng
dụ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ôn
ngữ 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 .NET
Framework đượ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 .NET
HVTH: Phan Trọng Nghĩa – CH1301042 19
Bài thu hoạch môn: PP nghiên cứu khoa học và tư duy sáng tạo GVHD: GS. TSKH. Hoàng
Kiếm
Framework hiệu quả hơn kiểu byte-code trong JVM. Điều này là bình thường trong
thế 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.
III. 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ột
runtime (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ựng
trên các dịch vụ hệ điều hành. CLR là nền tảng của .NET Framework, nó đảm
nhậ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)
• Thực thi mã nguồn
• Quản lý bộ nhớ
• Thực thi luồng (Thread execution)
• Xử lý lỗi (Error-handling)
• Xác nhận mã nguồn an toàn và các hình thức khác của việc chính xác mã
nguồn (managed code).
CLR đã được phát triển ở tầm cao hơn so với các runtime trước đây như
VB-runtime chẳng hạn, bởi nó đạt được những khả nǎng như tích hợp các ngôn
ngữ, bảo mật truy cập mã, quản lý thời gian sống của đối tượng và hỗ trợ gỡ lỗi.
Mã đượ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ợ
HVTH: Phan Trọng Nghĩa – CH1301042 20
Bài thu hoạch môn: PP nghiên cứu khoa học và tư duy sáng tạo GVHD: GS. TSKH. Hoàng
Kiếm
đ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ền
tả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ác
phầ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ác
chươ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ích
với .NET. Danh sách các ngôn ngữ lập trình khả dụng với .NET được liệt kê trong
bảng sau:
APL Mondrian
C# Oberon
COBOL Oz
Component Pascal Pascal
Curriculum Perl
Eiffel Python
Forth RPG
Fortran Scheme
Haskell Smalltalk
Java Standard ML
Jscript Visual Basic
Mercury Visual C++
- Common Language Infrastructure (CLI)
Mục đích của Common Language Infrastructure (CLI) là cung cấp một
nề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
năng để xử lý các lỗi, thu gom rác thải (garbage collection), bảo mật và khả năng
tương tác. Bằng cách thực hiện những khía cạnh cốt lõi của .NET Framework
HVTH: Phan Trọng Nghĩa – CH1301042 21
Bài thu hoạch môn: PP nghiên cứu khoa học và tư duy sáng tạo GVHD: GS. TSKH. Hoàng
Kiếm
trong 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 .NET
Frameworkit 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 Microsoft
Intermediate 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 ứng
dụng được đặt vào file thực thi của ứng dụng (được gọi là assembly). Khi ứng
dụ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ịch
JIT) 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 đến
việ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ản
phẩ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ạy
trê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)
- Độc lập về ngôn ngữ
• Các chương trình .NET không bị trói buộc vào một ngôn ngữ cụ thể
nào cả
• Các chương trình trong .NET có thể được viết bới các ngôn ngữ
trong .NET

b. .Net Framework Class Library (FCL)
HVTH: Phan Trọng Nghĩa – CH1301042 22
Bài thu hoạch môn: PP nghiên cứu khoa học và tư duy sáng tạo GVHD: GS. TSKH. Hoàng
Kiếm
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 Java
Foundation 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ình
viê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ại
dị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ư Visual
Studio 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 được
thiế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ách
khá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ào
một cấu trúc lớp được gọi là một namespace. Một namespace có thể là con của
mộ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ụ,
những lớp phục vụ việc truy cập và thao tác dữ liệu được tìm thấy trong
namespace System.Data. Những ví dụ khác bao gồm System.IO, System.XML,
System.Collections, System.Drawing và .v.v

Lợi điểm của namespace là phân nhóm các lớp đối tượng, giúp người dùng
dễ nhận biết và sử dụng. Ngoài ra, namespace tránh việc các lớp đối tượng có tên
trùng với nhau không sử dụng được. .NET Framework cho phép bạn tạo ra các lớp
đối tượng và các namespace của riêng mình. Với hơn 80000 tên có sẵn, việc đặt
HVTH: Phan Trọng Nghĩa – CH1301042 23
Bài thu hoạch môn: PP nghiên cứu khoa học và tư duy sáng tạo GVHD: GS. TSKH. Hoàng
Kiếm
trùng tên lớp của mình với một lớp đối tượng đã có là điều khó tránh khỏi.
Namespace cho phép việc này xảy ra bằng cách sử dụng một tên đầy đủ để nói đến
một lớp đối tượng. Ví dụ, nếu muốn dùng lớp WebControls, bạn có thể dùng tên
tắt của nó là WebControls hay tên đầy đủ là System.Web.UI.WebControls.
HVTH: Phan Trọng Nghĩa – CH1301042 24
Bài thu hoạch môn: PP nghiên cứu khoa học và tư duy sáng tạo GVHD: GS. TSKH. Hoàng
Kiếm
V. Các phiên bản cảu .Net Framework
a. Ver 1.0 – phát hành năm 2002
Hình 10: Visual Studio 2002 chạy trên nền .net framework 1.0
Ngày 12/2/2002 đánh dấu bước quan trọng đầu tiên trong “cuộc đời” của
.NET Framework, khi phiên bản 1.0 cùng với Visual Studio.NET 2002 được
chính thức ra mắt. Chính .NET Framework 1.0 là điểm nhấn đáng chú ý nhất và
làm cho Visual Studio. 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 Framework làm nền tảng. Phiên bản này tương thích với các hệ
điều hành Windows 98, ME, NT 4.0, 2000, và XP.
b. Ver 1.1 – phát hành năm 2003
Một năm sau ngày .NET Framework 1.0 ra đời, ngày 24/4/2003, Microsoft
đã có ngay bản cập nhật 1.1 ra mắt cùng với Visual Studio.NET 2003. Không có
nhiều nâng cấp đáng chú ý trong lần ra mắt này, đáng kể nhất là sự ra đời của
.NET Compact Framework, phiên bản thu gọn của .NET Framework cho các thiết
bị di động. Điều đáng tiếc là mặc dù có nền tảng rất tốt, cùng với sự hỗ trợ mạnh

HVTH: Phan Trọng Nghĩa – CH1301042 25

×