Là một loại phần mềm máy tính có công dụng giúp đỡ các lập trình viên trong việc phát triển phần mềm, Visual Studio được sử dụng để phát triển các ứng dụng, các dịch vụ web web services,
Trang 1ày các ng hẩm tin h
Trang 2Mục Lục
Lời mở đầu 3
I Giới thiệu Microsoft Visual Studio 4
1 Tổng quan 4
2 Những chức năng của Mirosoft Visual Studio 5
3 Các dòng sản phẩm đã phát hành của Microsoft Visual Studio 6
II Lịch sử phát triển của Microsoft Visual Studio 8
1 Visual Studio 97 9
2 Visual Studio 6.0 9
3 Visual Studio Net (2002) 10
4 Visual Studio Net 2003 11
5 Visual Studio 2005 11
6 Visual Studio 2008 12
7 Visual Studio 2010 13
8 Visual Studio 2011 13
III Các nguyên lý sáng tạo áp dụng trong Visual Studio 14
1 Tóm tắt 40 nguyên lý sáng tạo 14
2 Các nguyên lý áp dụng trong Visual Studio 20
Kết luận 25
Tài liệu tham khảo 26
Trang 3Lời mở đầu
Hiện nay, nghiên cứu khoa học là một vấn đề không còn mới trong mọi lĩnh vực nhưng lại được quan tâm rất nhiều vì tầm quan trọng của nó trong sự phát triển, tiến bộ của con người, của xã hội Tuỳ theo lĩnh vực mà có những đặc thù nghiên cứu khác nhau
Dù ở lĩnh vực nào thì sự tìm tòi, học hỏi, tư duy, sáng tạo để tìm ra cái mới, cái hay phục
vụ cho đời sống con người là không thể thiếu Và chắc hẳn đã có nhiều nguyên tắc sáng tạo được vận dụng trong mọi lĩnh vực của cuộc sống Và có 40 nguyên lý sáng tạo được Alshuller G.S tổng hợp và tác giả Phan Dũng đề cập đến trong sách Các Thủ Thuật Sáng Tạo Cơ Bản được xuất bản 2007
Trong thời đại công nghệ thông tin như ngày nay, các sản phẩm tin học là vô số kể Một trong các sản phẩm được sử dụng rộng rãi không chỉ ở Việt Nam là bộ phần mềm Visual Studio của hãng Microsoft Đây cũng là sản phẩm tin học được chọn để phân tích, tìm hiểu xem các nguyên lý sáng tạo nào được vận dụng trong quá trình phát triển của nó
từ năm 1997 đến nay Nó ra đời được chào đón và ngày càng phổ biến trong giới lập trình với các phiên bản mới hỗ trợ nhiều tính năng và cải tiến mới phù hợp với nhu cầu người dùng
Phần tiếp theo sẽ giới thiệu về bộ phần mềm Visual Studio cùng với lịch sử phát triển, các phiên bản, các tính năng nổi trội, …của nó
Trong phần tiếp theo nữa là tóm tắt nội dung 40 nguyên lý sáng tạo và các phân tích cho thấy những nguyên lý sáng tạo nào được ứng dụng trong bộ phần mềm này Cuối cùng là phần kết luận
Trang 4I Giới thiệu Microsoft Visual Studio
1 Tổng quan
Microsoft Visual Studio là một môi trường phát triển tích hợp ( IDE – Integrated Development Environment) do Microsoft phát triển Là một loại phần mềm máy tính có công dụng giúp đỡ các lập trình viên trong việc phát triển phần mềm, Visual Studio được
sử dụng để phát triển các ứng dụng, các dịch vụ web (web services), các ứng dụng giao diện đồ hoạ, hay các ứng dụng chạy trên nền Windows Nói chung là hỗ trợ các ứng dụng tạo ra dựa trên nền tảng của Windows, Windows mobile, Windows CE, Net Framework, Net Compact Framework và Microsoft Silverlight
Visual studio bao gồm một trình soạn thảo mã nguồn (code editor) với hỗ trợ tự động hoàn chỉnh các từ khoá có sẵn khi người dùng chỉ mới nhập một vài ký tự liên quan cũng như hỗ trợ tái cấu trúc lại mã nguồn (code refactoring) Visual studio còn cho phép chạy kiểm lỗi chương trình (debugger), hỗ trợ các công cụ thiết kế cho việc xây dựng các ứng dụng giao diện đồ hoạ (GUI), thiết kế web, thiết kế các lớp (class) và thiết kế các lược đồ dữ liệu (database schema) Ngoài ra, nó còn bao gồm: trình biên dịch (compiler) và/hoặc trình thông dịch (interpreter); công cụ xây dựng tự động: khi sử dụng sẽ biên dịch (hoặc thông dịch) mã nguồn, thực hiện liên kết (linking), và có thể chạy chương trình một cách tự động; hệ thống quản lí phiên bản và các công cụ nhằm đơn giản hóa công việc xây dựng giao diện người dùng đồ họa (GUI)
Như vậy, Microsoft Visual Studio được dùng để phát triển console (thiết bị đầu cuối – bàn giao tiếp người máy) và GUI (giao diện người dùng đồ họa) cùng với các trình ứng dụng như Windows Forms, các web sites, cũng như ứng dụng, dịch vụ web (web applications, web services) Chúng được phát triển dựa trên một mã ngôn ngữ gốc (native code ) cũng như mã được quản lý (managed code) cho các nền tảng được được hỗ trợ Microsoft Windows, Windows Mobile, NET Framework, NET Compact Framework và Microsoft Silverlight
Trang 5Visual Studio hỗ trợ rất nhiều ngôn ngữ lập trình, có thể kể tên như sau: C/C++ ( Visual C++), VB.NET (Visual Basic NET), va C# (Visual C#)… cũng như hỗ trợ các ngôn ngữ khác như F#, Python, và Ruby; ngoài ra còn hỗ trợ cả XML/XSLT, HTML/XHTML, JavaScript và CSS…
2 Những chức năng của Mirosoft Visual Studio
Microsoft Visual Studio có những chức năng cơ bản sau: Soạn thảo mã nguồn ( code editor); Trình gỡ lỗi (debugger); và Thiết kế (Designer) Sau đây là một số công cụ quan trọng của chức năng Designer – đây được xem là một trong những điểm nhấn của Microsft Visual Studio
- WinForms Designer: đây là công cụ tạo giao diện đồ họa dùng WinForms Điểm đặc biệt ở đây là giao diện với người dùng sinh động, dễ nắm bắt Nó bao gồm các phím bấm, thanh tác vụ, hay các hộp công cụ đa dạng (textbox, list box, grid view…) Người dùng có thể di chuyển, kéo ra, nhúng thả chúng một cách dễ dàng
- WPF Designer: WPF Designer còn có tên mã là Cider, được hỗ trợ trong Visual Studio 2008 Nó tạo các mã XAML cho giao diện người sử dụng (UI), mã này tích hợp với trình ứng dụng Microsoft Expression Design
- Web designer: Visual Studio cũng hỗ trợ cộng cụ thiết kế trang web, trong đó cho phép các công cụ thiết kế trang web được kéo, thả, rê, nhúng một cách dễ dàng… Công
cụ này dùng để phát triển trình ứng dụng ASP.NET và hỗ trợ HTML, CSS và JavaScript
- Class designer: Đây là công cụ dùng để thực thi và chỉnh sửa lớp Nó có thể dùng
mã C# và VB.NET
- Data designer: Đây là công cụ dùng để chỉnh sửa một cách sinh động, linh hoạt các lược đồ dữ liệu, bao gồm nhiều loại lược đồ, liên kết trong và ngoài
- Mapping designer: Đây là công cụ tạo các mối liên hệ giữa sơ đồ dữ liệu và các lớp
để quản lý dữ liệu một cách hiệu quả hơn
Ngoài ra còn có thể kể tên một số công cụ khác như:
Trang 6- Open Tabs Browser: Nó được dùng để liệt kể các tab đã mở và chuyển đổi giữa chúng (cũng có thể dùng phím nóng: CTRL + TAB)
- Properties Editor: Chức năng dùng để chỉnh sửa các chức năng của các cửa sổ giao diện đồ họa ngườI dùng (GUI) trong Visual Studio Nó có thể áp dụng cho các lớp, các mẫu định dạng hay trang web và các đối tượng khác
- Object Browser: Đây là một thư viện tên miền và lớp trình duyệt cho Microsoft.NET
- Solution Explorer: theo ngôn ngữ của Visual Studio, solution là một bộ phận của mã tập tin và mã nguồn khác được dùng để xây dựng các trình ứng dụng Công cụ Solution Explorer được dùng để để quản lý và trình duyệt các tập tin trong solution
- Team Explorer: Đây là công cụ dùng để hợp nhất các máy tính trong Team Foundation Server, và RCS (revision control system - hệ thống điều khiển xét duyệt) vào trong IDE
- Data Explorer: Data Explorer dùng để quản lý các dữ liệu trên các phiên bản của Microsoft SQL Server Nó cho phép tạo lập và chỉnh sửa các bảng dữ liệu được tạo bằng T-SQL hay dùng Data designer
- Server Explorer: Đây là công cụ dùng để quản lý dữ liệu trên máy tính được kết nối
3 Các dòng sản phẩm đã phát hành của Microsoft Visual Studio
Microsoft Visual Studio đã phát hành các dòng sản phẩm sau:
+ Visual Studio Express: trong đó bao gồm: Visual Basic Express; Visual C++ Express; Visual C# Express ; Visual Web Developer Express
+ Visual Studio Standard
+ Visual Studio Professional
+ Visual Studio Tools for Office
+ Visual Studio Team System: trong đó bao gồm: Team Explorer (basic TFS client); Architecture Edition; Database Edition; Development Edition; Test Edition
Trang 7Về Visual Studio Team System: Năm 2006, Microsoft đã mở rộng dòng sản phẩm Visual Studio của họ thêm một số nhóm sản phẩm có tên gọi là Visual Studio Team System Chúng có một sản phẩm mới đó là Team Foundation Server cho việc điều khiển
mã nguồn, quản lý dự án, kiểm tra và mô hình hóa cũng như một số phiên bản của môi trường phát triển đã được tích hợp Visual Studio 2005 (IDE) hỗ trợ các tính năng của Team Foundation Server
Visual Studio Team System là một dòng sản phẩm được thiết kế để hỗ trợ sự cộng tác và truyền thông giữa các chuyên gia phát triển phần mềm, những người đang sử dụng Visual Studio IDE Team System hỗ trợ kiểm soát mã nguồn, quản lý dự án, quản lý xây dựng phần mềm, kiểm tra và các nhóm nhiệm vụ phát triển khác Nó gồm có Visual Studio Team Foundation Server và một tập các phiên bản đặc biệt của Visual 2005 Studio IDE hỗ trợ các vai trò phát triển cụ thể như các kiến trúc sư, các chuyên gia phát triển phần mềm hay các kiểm tra viên Các khả năng của Team System gồm có:
- Kiểm soát mã nguồn: Team System cung cấp một hệ thống kiểm soát mã nguồn mới, hệ thống này cho phép các chuyên gia phát triển có thể thực hiện hài hòa các thay đổi đối với các tập tin mã nguồn cho một dự án
- Quản lý dự án: Team System cung cấp một cơ sở dữ liệu quản lý dự án phần mềm
có khả năng tùy chỉnh cho việc kiểm tra lỗi, các yêu cầu trong tương lai, các trường hợp thử và lĩnh vực khía cạnh công việc của các chuyên gia phát triển phần mềm khác thông qua toàn bộ một chu trình thiết kế, viết mã và kiểm tra
Về Visual Studio Tools for Office: Visual Studio Tools for Office cho phép các chuyên gia phát triển phần mềm có thể tạo các ứng dụng tùy thích hoặc ứng dụng để mở rộng Word, Excel và Outlook với sự logic riêng (như một giao diện cuối đối với một hệ thống thanh toán) đang chạy dưới NET Framework
Trang 8II Lịch sử phát triển của Microsoft Visual Studio
Tên sản phẩm Tên mã Phiên bản Phiên bản Net Framework Ngày ra mắt
Visual Studio NET
Visual Studio 2008 Orcas 9.0 2.0, 3.0, 3.5 19/11/2007
Visual Studio 2010 Dev10/Rosa
rio 10.0 2.0, 3.0, 3.5, 4.0 12/4/2010
Visual Studio 2011 11.0 2.0, 3.0, 3.5, 4.0 29/2/2012
Trang 91 Visual Studio 97
Microsoft lần đầu ra mắt Visual Studio vào năm 1997 và tích hợp nhiều công cụ phát triển đi kèm Visual Studio 97 có 2 phiên bản là Professional và Enterprise Lúc này Visual Studio có chứa các ngôn ngữ lập trình sau: Visual Basic 5.0 và Visual C++ 5.0 dành cho hệ điều hành (HĐH) Windows; Visual J++ 1.1 dành cho Java; Visual FoxPro 5.0 lập trình cơ sở dữ liệu; Visual InterDev để thiết kế web động như ASP, hỗ trợ cả 2 ngôn ngữ là JAVASCRIPT và VBSCRIPT
Visual Studio 97 được Microsoft thử nghiệm việc sử dụng cùng một môi trường phát triển cho nhiều ngôn ngữ:
- Visual J++, InterDev, và MSDN Library… sử dụng chung một môi trường phát triển gọi
Visual Studio 6.0 là phiên bản cuối cùng của các ngôn ngữ Visual Basic, Visual J++; Đồng thời trong phiên bản J++ đã được cải tiến thêm một số chức năng hướng đối tượng khác và nhanh chóng bán công cụ lập trình này với mục tiêu là JVM (Java Virtual Machine) JVM có vai trò rất quan trọng để các ứng dụng Java hoạt động Nó hoạt động giống một máy tính ảo, có bộ lệnh, cấu trúc bộ nhớ… JVM được xây dựng ở tất cả các
Trang 10HDH Nó dịch các lớp (class) của Java và đó là lý do để các ứng dụng Java hoạt động được ở các HDH
Khác với VC97 Visual J++ Visual InterDev không sử dụng chung môi trường phát triển WINAPI của Visual C++ nữa, trong khi đó Visual Basic và Visual FoxPro vẫn tiếp tục đi theo những công cụ lập trình của mình
3 Visual Studio Net (2002)
Microsoft phát hành Visual Studio NET - tên mã là Rainier, vào tháng 2 năm 2002 ( bản beta được phát hành năm 2001) Đó là một sự thay đổi lớn trong công nghệ phát triển phần mềm Microsoft đã giới thiệu một môi trường phát triển “quản lý code” (managed code) sử dụng NET Framework Chương trình được phát triển sử dụng NET không được biên dịch giống như C++ trước đây Nhưng được biên dịch theo một ngôn ngữ trung gian gọi là MSIL (Microsoft Intermediate Language) hoặc CIL (Common Intermediate Language) Khi chương trình MSIL chạy thì nó mới được biên dịch bằng ngôn ngữ máy (ASM), và từ đây người ta có thể viết được các phần mềm portable (không cần cài đặt)
Ngoài ra Microsoft cho ra đời 2 ngôn ngữ mới là C# (C-sharp) và J# với mục tiêu
là lập trình trên môi trường NET J# là thế hệ tiếp theo của J++ Visual J# dùng cú pháp của ngôn ngữ Java Tuy nhiên không giống như Visual J++, Visual J# có thể hoạt động độc lập trên NET Framework, nó không còn phụ thuộc vào máy ảo Java (JVM) và các công cụ của Java nữa
Visual Basic được lột xác thành Visual Basic NET Trước kia nó được thiết kế để lập trình ứng dụng tương tác với cơ sở dữ liệu, nhưng khi lên VB.NET nó có đầy đủ khả năng để viết được tất cả các ứng dụng mạnh không thua gì C++ và J++ Microsoft cũng
mở rộng C++, gọi là Managed Extensions for C++ Vì vậy người lập trình C++ vẫn có thể
sử dụng NET Ở Visual Studio NET, ngoài Visual FoxPro thì các ngôn ngữ C++, J#, C#, VB.NET đã cùng sử dụng chung một môi trường phát triển
Trang 114 Visual Studio Net 2003
Vào tháng 4 năm 2003, Microsoft hoàn thành một bản nâng cấp của Visual Studio.NET được gọi là Visual Studio NET 2003 - có tên mã là Everett Nâng cấp thêm NET Framework thành phiên bản 1.1 với sự hỗ trợ cho việc phát triển ứng dụng trên điện thoại di động và ASP.NET
Trình biên dịch Visual C++ được cải thiện thêm nhiều so với C++ chuẩn trước đây, chủ yếu là thêm một số từ khóa mới để thích hợp với NET Trong Visual Studio
2003 có một công cụ miễn phí là Visual C++ Toolkit 2003 có thể biên dịch nhanh các tập tin cpp mà không cần IDE và nhanh chóng được ứng dụng mà ngày nay nó được thay thế
là Express Editions
5 Visual Studio 2005
Visual Studio 2005, có tên mã là Whidbey, được phát hành vào tháng 10 năm
2005 Cùng với NET Framework, được nâng cấp lên thành version 2.0 Đây cũng là phiên bản cuối cùng thích hợp cho Windows 2000 Microsoft phát hành Service Pack 1cho Visual Studio 2005 vào 14 tháng 12 năm 2006 Bản nâng cấp Service Pack 1 cho Windows Vista được hoàn thành vào 3/6/2007
Phiên bản này cung cấp các công cụ mới cho việc phát triển mã cơ sở dữ liệu phía trình chủ của SQL Server 2005 Nó cũng hỗ trợ NET Framework 2.0, cụ thể có các công
cụ hỗ trợ các tính năng ASP.NET 2.0 (như các mẫu “Master Pages” chung cho các trang thông thường) và sự triển khai “ClickOnce” của các ứng dụng nhỏ trên máy khách Visual Studio 2005 đã giới thiệu các API Visual Basic được đơn giản hóa cho các nhiệm vụ lập trình chung nhất và khôi phục các tính năng Visual Basic IDE (như việc gỡ rối “edit-and-continue”), đây là tính năng không có trong Visual Studio NET 2003 và Visual Studio
Trang 12.NET Visual Studio 2005 cũng cung cấp một công nghệ tối ưu hóa hiệu suất mới cho C++ “profile-driven” đặc biệt dành cho các ISV thương mại
Visual Studio 2005 giới thiệu một số phiên bản mới của IDE để sử dụng với Team Foundation Server Mặc dù vậy, các phiên bản Visual Studio 2005 Express, Standard và Professional của IDE có thể được sử dụng độc lập cho dịch-gỡ rối trước đây và chúng cũng có thể được sử dụng với các công cụ dành cho nhóm phát triển từ các hãng khác Trong phiên bản này có nhiều sự thay đổi lớn về ngôn ngữ nó đặc biệt là C++ Ra đời C++/CLI để thay thế cho Managed C++ khi lập trình trên NET Một số nét đặc trưng mới của Visual Studio 2005 là thêm vào “Deployment Designer” cho phép kiểm tra ứng dụng trước khi đưa ra triển khai, Môi trường phát triển WEB trở thành ASP.NET 2.0 Visual Studio 2005 cũng hỗ trợ các ứng dụng 64-bit Trong khi xây dựng trên môi trường ứng dụng WINDOWS 32-bit Visual C++ 2005 hỗ trợ biên dịch cho x64 (AMD64, EM64T) giống như IA-64 (Itanium)
6 Visual Studio 2008
Visual Studio 2008, có tên mã là Orcas, là một phiên bản tiếp theo của Visual Studio 2005 Phiên bản Visual Studio này gồm các công cụ phát triển với NET Framework 3.0, được cài đặt trước trong Windows Vista và cũng có sẵn cho Windows XP
và Server 2003 như một add-on miễn phí Các công cụ đã được lên kế hoạch gồm có bộ thiết kế kéo - thả cho các giao diện sử dụng đồ họa (GUI) Windows Presentation FrameWork và các công cụ thiết kế cho engine luồng công việc Windows Workflow Foundation Orcas cũng sẽ cung cấp ngôn ngữ truy vấn tích hợp (LINQ), các mở rộng trong cơ sở dữ liệu và dữ liệu XML Orcas sẽ cộng tác với các cộng cụ lập trình mới nhất cho công cụ quản lý hệ thống theo sự phát triển trong cách giải quyết hệ thống động (Dynamic Systems Initiative) Tuy nhiên có một điều là Orcas không có J#, một ngôn ngữ giống như Java mà Microsoft lên kế hoạch để tiếp tục phát triển (J# sẽ không được hỗ trợ chủ đạo vào năm 2012 và 5 năm hỗ trợ mở rộng sau đó)
Trang 13Visual Studio 2010 với Net Framework 4 hỗ trợ phát triển các ứng dụng trên nền Windows 7 Ngoài SQL Server, nó còn hỗ trợ các cơ sở dữ liệu IBM DB2 và Oracle Nó cũng được tích hợp để phát triển các ứng dụng Microsoft Silverlight Visual Studio 2010 cũng đưa ra một số công cụ cho việc lập trình song song nhờ thêm vào Parallel Extensions vào Net Framework và Parallel Patterns Library vào mã gốc (native code), bên cạnh đó còn có các công cụ để kiểm lỗi cho các ứng dụng song song Intel và Microsoft đã hợp tác để hỗ trợ Concurrency Runtime trong phiên bản 2010 và Intel đã hỗ trợ Parallel Studio như là một add-on cho Visual Studio
8 Visual Studio 2011
Theo thông tin tại TechEd 2011 [4], vào 16/9/2011, phiên bản mới của Visual Studio là Visual Studio 11 Developer Preview xuất hiện trên website của Microsoft Phiên bản này yêu cầu Windows 7, Windows Server 2008 R2, Windows 8 hoặc các phiên bản mới hơn Các phiên bản của MFC (Microsoft Foundation Class Library) và CRT (C runtime) trong bản Visual Studio này không thể tạo các phần mềm tương thích với Windows XP Visual Studio 11 được đánh giá là sẽ có nhiều tiện lợi cho hệ điều hành windows mới, nền tảng điện toán đám mây Windows Azure, khả năng nhân bản mã và việc kiểm tra các module (unit) mã nguồn được tăng cường Visual Studio 11 beta được
ra mắt vào 29/2/2012