11 VIỆN ĐẠI HỌC MỞ HÀ NỘI KHOA CÔNG NGHỆ ĐIỆN TỬ THÔNG TIN ĐÒ ÁN TOT NGH1ẸP ĐẠI HỌC Đề TÀI XẴ DựNG PHầN MỀM QUảN LÝ BÁN HÀNG ĐlệN Tử Đồ GIA DụNG Giáo viên hương dần ThS ĐÁNG HOÀNG ANH Sinh viên thực.
Trang 1VIỆN ĐẠI HỌC MỞ' HÀ NỘI KHOA CÔNG NGHỆ ĐIỆN TỬ - THÔNG TIN
ĐÒ ÁN TOT NGH1ẸP ĐẠI HỌC
Đề TÀI:XẴ\ DựNG PHầN MỀM QUảN LÝ BÁN HÀNG ĐlệN Tử:
Đồ GIA DụNG
Giáo viên hương dần: ThS ĐÁNG HOÀNG ANH Sinh viên thực hiện: PHẠM NGOC TUÂN Lớp: K16
Khóa: DIỆN TÙ THÔNG TIN
Hà nội, tháng 95 năm 2017
Trang 2MỞ ĐÀU
Công nghệ hiện đại luôn có những cách riêng để tác động đến cuộc sổng, nómang đến một cách sổng mói, một tầm nhìn mới và một tương lai mới cho đời sổngchúng ta hẳng ngày Nó có thê ỉàm hêt tất cả mọi công việc mà chúng ta vẫn làmthường ngày, và đó chính là những thiết bị gia dụng đa năng, nhiều chức năng cao cấp
và chưa bao giờ ngừng cải tiến, hy vọng những thiểt bị gia dụng sẽ thay thế con ngườitrong nhừng hoạt động thường ngày Có rẩt nhiều sản phẩm với những tính năng đặcbiệt với thiểt kê tiện lợi tiết kiệm năng lượng, tiêt kiệm không gian và vô cùng tinh tê.Chúng đên với đời song của chúng ta bang rất nhiều con đường Mặc dù chúng ta cóthế thấy chúng trong nhừng khu vực như phòng giặt ùi, phòng ngủ phòng khách vàđặc biệt nhà bếp là nơi tập trung của những thiết bị gia dụng, đó là lý do tại sao có rấtnhiều sản phẩm công nghệ hiện đại và cải tiến luôn xuất hiện ở khu vực nhà bếp củabạn Công nghệ luôn không ngừng tấc động đến những thiết bị gia dụng để chúng trờnên hoàn thiện hơn, những thiểt bị này đang làm cho mọi thứ công việc nhà của bạn
chúng còn khiến cho cãn nhà của bạn trở nên hiện đại hơn, sáng sủa hơn và đẹp đẽhơn Đó là một sự kết hợp hoàn háo giữa hiệu quà sừ dựng và tính thâm mỹ cao Điêuduy nhất mà người tiêu dùng cẩn làm đó chính là việc cân nhác đến một thiết bị phùhọp nhất với nhu cầu của bạn, và chuyện đưa ra quyết dịnh mua hàng thực sự đơn giảnhơn rất nhiều
Chắc chắn ràng có rất nhiều thiết bị giúp chúng ta trong những công việc hằngngày nhờ vào những thành tựu khoa học cùa con người Sự nhảy vọt trong việc ứngdụng công nghệ và sự tìm tòi những kiên thức mới đã đưa chúng ta đến những phátminh ưu việt Nhưng với sự dày đặc của nhừng thiết bị gia dụng như hiện nay, liệuchúng ta có lựa chọn được những thứ phù hợp bạn có thê phân loại chúng từnhững thiết bị hiện dại cao câp nhất cho đên những thiết bị cơ bán nhất, nhưng đừngvội đánh giá thấp chúng, vì biết đâu chính nhũng điểu đơn giãn nhất trong đồ dùng lạíchính là điều bạn can Đồ gia dụng như tủ lạnh, máy sấy tốc, máy giặt, máy lạnh lànhừng thiết bị phố biến nhất mà nhiều người vẫnhay sử dụng Những tiện ích màchúng mang đến cho đời sổng của chúng ta luôn không bao giờ thay đổi kể từ khi
Trang 3chúng la không có tủ lạnh, bao nhiêu thức
ăn sẽ thối rữa dẩn dần trong không gian nhà
của chúng ta? Làm sao bạn có thê xoay
xở giặt giũ hàng tá quần áo vào cuối tuần nếu
không có máy giặt? Liệu những trung tâm thương mại có còn thu hút được mọi người
không nêu như không trang bị máy điêu hòa? Những thiểt bị gia dụng cao cấp ây mang
đến những ưu điếm cho bên trong lần bên ngoài không gian song cùa bạn Bạn có thế
xem chúng như là một trong nhừng điều may man mà cuộc sống đã ban tặng.
Trang 4MỤC LỤC
MO ĐÂU
LỜI CẢM ƠN
DANH MỤC HÌNH ÀNH
DANH MỤC CÁC BÂNG
DANH MỤC CÁC TÙ' VIÉT TÁT
CHƯƠNG 1: GIỚI THIỆU ĐÈ TÀI I
1.1 Giới thiệu 1
1.2 Mục đích cùa đẾ tài 1
1.3 1lining giải quyểt 1
CHƯƠNG 2: TỎNG QUAN VÈ NGÔN NGŨ' LẠP TRÌNH C# VÀ HỆ QUÂN TRỊ CO SỠ DÙ' LIỆU SQL Server 2
I TÔNG QUAN VÉ NGÔN NGŨ LẶP TRÌNH C# 2
1.1 Giứi thiệu Microsoft NetFramework và Microsoft Visual studio 2
1.2 Giói thiệu tong quail về c# và Windowns Form.14 II TỒI 24
1 Tổng quan về DBMS 24
2 Tổng quan về CO' só' dữ liệu 26
3 Giới thiệu về SQL Server 29
4 Sơ lược về SQL Server Management studio 34
CHƯƠNG 3: THIẾT KÉ cơ SỞ DŨ LIỆU 36
3.1 Các thành phần dữ liệu logic: 36
3.2 Xây dựng các báng cử sở dữ liệu .36
CHƯƠNG 4: XÂY DỰNG PHÀN MỀM 46
CHƯƠNG 5: ĐÁNH GIÁ VÀ HU ỚNG PHẤT TRIÉN 64
1 Hưóng dẫn sù' dụng: 64
2 Đánh giá 64
3 Hirứng phát triền 64
TÀI LIỆU KHÁM KHĂO 65
Trang 5DANH MỤC HÌNH ẢNH Chương 1
Chương 2
Hình 2 1: Quá trình dịch chương trình C# 20
Hình 2 2: Giao diện Windows Form 22
Hình 2 3: Thực đơn Projector 22
Hình 2 4: Hộp công 23
Hình 2 5: Cửa sổ Option- Tùy chọn Tool/Options 23
Hình 2 6: Cửa sổ Option-Tùỵ chọn fonts chữ và màu 24
Hình 2 7: Cừa sổ Option-ĐỊnh dạng mã C# 24
Hình 2 8: Các bàng trong một cơ sở dữ liệu 27
Hình 2 9: Bảng tb_nhanvien có khóa là manv 28
Hình 2 10: Mối quan hộ giừa bảng LOP và KHOA trong CSDL 29
Chương 3 Hình 3 1: Giao diện khởi động SQL Server 2014 37
Hình 3 2 37
Chương 4: Hình 4 1: Tạo dụ án mới bằng phần mềm visual studio 2015 46
Hình 4 2: Form đăng nhâp 47
Hình 4 3: Thiết kể form ca làm 47
Hình 4 4: Thiết kể form công việc 48
Hình 4 5: Thiết kế form nhân viên .49
Hình 4 6: Thiết kể form nhà cung cấp 50
Hình 4 7: Thiết kc form khách hàng 51
Hình 4 8: Thiết kế form nhóm hàng 53
Hình 4 9: Thiết kế form loại hàng 54
Hình 4 10: Thiết kế form nước sản xuất 55
Hình 4 11: Thiết kể form chất liệu 56
Hình 4 12: Thiết kế form đơn vị tính 57
Hình 4 13: Thiết kế form hàng hóa 57
Hình 4 14: Thiết kế form hóa đơn nhập 58
Trang 6Hình 4 15: Thiết kể form hóa đơn bán 59
Hình 4 16: Thiết kế form chi tiết khóa đơn bán 60
Hình 4 17: Thiết kế form chi tiết hóa đơn bán * 62
Hình 4 18: Thiết kế form form báo cáo nhân viên 62
Hình 4 19: Thiết kể form báo cáo ncc 62
Hình 4 20: Thiết kể form báo cáo quý 62
Hình 4 21: Thiết kể form tìm kiểm hóa đơnnhập 63
Hình 4 22: Thiết kể form tìm kiếm sản phẩm 63
Hình 4 23: Thiết kế form main 63
Trang 7DANH MỤC CÁC BÁNG
Bảng 3 1: Bảng tb_User
38
Bâng 3 2: Bảng tb_Calam 38
Bảng 3 3: Bảng tb_Congviec 39
Bảng 3 4: Bảng tb_Nhanvien 39
Bảng 3 5: Bàng tb-NCC 40
Bảng 3 6: Bảng tb_Khachhang 40
Bảng 3 7: Bảng tb_Chatlieu 40
Bảng 3.8: Bảng tb_Donvitinh 41
Bàng 3 9: Bảng tb_Nhomhang 41
Bảng 3 10: Bảng tb_Loaỉhang 41
Bảng 3.11: Bảng tb_Nuocsx 42
Bảng 3.12: Bảng tb_Hanghoa 42
Bảng 3 13: Bảng tb_HDN 43
Báng 3 14: Bảng tb_CTHDN 43
Bảng 3 1 44
Bâng 3 16: Bảng tb-CTHDB 44
Bảng 3 17: Mô hình quan hệ 44
Bàng 4 1: Bảng thuộc tính form đãng nhập 47
Bảng 4 2: Bảng thuộc tính ca làm 48
Bảng 4 3: Bảng thuộc tính công việc 49
Bảng 4 4: Bảng thuộc tính form nhân viên 50
Bảng 4 5: Bảng thuộc tính form nhà cung cấp 51
Bàng 4 6: Bảng thuộc tính form khách hàng 52
Bảng 4 7: Bảng thuộc tính nhóm hàng 52
Báng 4 8: Bảng thuộc tính loại hàng 53
Bảng 4 9: Bảng thuộc tính form nước sản xuất 54
Bảng 4 10: Bảng thuộc tính chất lệu 55
Bảng 4 11: Bảng thuộc tính đơn vị tính
56 Bảng 4 12: Bảng thuộc tính hàng hóa 58
Bảng 4 13: Bảng thuộc tính hóa đơn nhập 59
Trang 8Bảng 4 14: Báng thuộc tính form hóa đơn bán 60
Bảng 4 15: Bảng thuộc tính form chì tỉếí hóa đơn nhập 61
Bảng 4 16: Bảng thuộc lính báng chi tiết hóa đơn bán 61
Bảng 5.1: Bảng tài khoản mật khẩu 64
Trang 9HQTCSDL: Hệ quàn trị cơ sờ dữ liệu
IDE: Môi trường phát triển tích hợp
MSSCCI Microsoft Source Code Control InterfaceWPF: Windows Presentation Foundation
WCF: Windows Communication Foundation
WF: Windows Workflow Foundation
Database: Cơ sở dù' liệu
Trang 10CHƯƠNG 1: GIỚI THIỆU ĐỀ TÀI 1.1 Giới thiệu.
Các sản phấm gia dụng rất đang dạng Vì vậy, việc quàn lý bán hàng gia dụng trongcác cửa hàng, doanh nghiệp kinh doanh mặt hàng gia dụng là công việc quan trọng,đòi hỏi bộ phận quản lý phái tiến hành nhiều nghiệp vụ phửc tạp đòi hỏi độ chính xáccao
Việc ứng dụng công nghệ thông tin đã mang lại bước đột phá mởì cho công tácquản lý bán hùng nói chung và quán lý bán hàng gia dụng nói riêng đã giúp cửa hàng,doanh nghiệp nấm bán thông tin về hàng hóa, vật tư thông tin khách hàng một cáchchính xác và kịp thời Từ đó người quân lý có thể đưa ra các kể hoạch đề phát triển lối
đa hóa lợi nhuận cho cửa hàng hay doanh nghiệp
Quàn lý bán hàng gia dụng sẽ hồ trợ người quản lý về các thông tin cùa các sàn phẩm,các dòng gia dụng Không chì như vậy nó còn cung cap lưu trữ thông tin nhân viêntrong cừa hàng, doanh nghiệp Lưu trừ, thông tin khách hàng đà mua sản phẩm củacứa hàng, doanh nghiệp để có nhừng chính sách CSKH hợp lý Ngoài ra nó còn lưu trừ
1.3 Hu-ỏiig giải quyết.
- Xây dựng CSDL
- Xây dựng phần mềm
Kiêm tra và sữa lỗi
Trang 11CHƯƠNG 2: TÓNG QUAN VÈ NGÔN NGƯ LẬP TRÌNH C# VÀ HỆ
QUẢN TRỊ Cơ SỎ Dư LIỆU SQL Server
1.1 Gỉứi thiệu Microsoft NelFramework và Microsofi Visual studio.
a Net Framework.
.NET Framework là một nền táng lập trình và cũng là một nền tảng thực thi ứngdụng chủ yểu trên hệ diều hành Microsoft Windows được phát triền bởi Microsoft.Các chương trình được viểt trên nền.NET Framework sẽ được triển khai trong môitrường phần mềm (ngược lại với mồi trường phần cứng) được biết đến vớitên Common Language Runtime Môi trường phẩn mềm này là một máy áo trong
đó cung cấp các dịch vụ như an ninh phần mềm (security), quàn lý bộ
nhớ (memory management), và các xử lý lỗi ngoại lệ (exception handling) NET framework bao gồm tập các thư viện lập trình lởn, và những thư viện này
hỗ trợ việc xây dựng các chương trình phân mêm như lập trình giao diện, truy cập,
mạng CLR cùng với bộ thư viện này là 2 thành phân chính của.NET framework
■NET framework đơn giản hóa việcviết ửng dụng bàng cách cung cấp nhiềuthành phẩn được thiết kể sằn người lập trình chỉ cần học cách sử dụng và tùy theo
sự sáng tạo mà gan kết cấc thành phần đó lại với nhau Nhiều công cụ được tạo ra
để hỗ trợ xây dựng ứng dụng.NET, và IDE (Integrated Developement
Environment) được phát triển và hỗ trợ bởi chính Microsoft là Visual Studio.Phiên bản
số hiệuphiênbản
Ngày pháthành Visual Studio
Được pháthànhkèm theo1.0 1.0.3705.0
13 tháng 2năm 2002
VisualSludio.NET
Windows XPTablet andMedia CenterEditions
1.1 1.1.4322.573
24 tháng 4năm 2003
VisualStudio.NET2003
WindowsServer2003
Trang 122.0 2.0.50727.42
7 tháng 11năm 2005
Visual Studio2005
WindowsServer
2003 R23.0 3.0.4506.30 6 tháng 11
năm 2006
WindowsVista,WindowsServer
3.5 3.5.21022.8 19 tháng 11
năm 2007
Visual Studio2008
Windows 7,WindowsServer
2008 R24.0 4.0.30319.1
12 tháng 4năm 2010
Visual Studio2010
15 tháng 8năm 2012
Visual Studio2012
Windows 8,WindowsServer20124.6
20 tháng 7năm 2015
Visual Studio2015
Windows 10
- NET framework 1.0
Đây là phiên bản đâu tiên của NET framework, nó được phát hành vào năm
2002 cho các hệ điều hành Windows 98, NT 4.0, 2000 và XP Việc hồ trợ chính thức
từ Microsoft cho phiên bàn này kết thúc vào 10/7/2007 tuy nhiên thời gian hỗ trợ mờrộng được kéo dài đến 14/7/2009
- NET framework 1.1
Phiên bản nâng cấp đầu liên được phát hành vằo 4/2003 Sự hỗ trợ cùa Microsoft kểtthúc vào 14/10/2008, và hỗ trợ mở rộng được định đển 8/10/2013
Những thay đoi so với phiên bản 1.0:
- Tích hợp hỗ trợ mobile ASP.NET (trước đây chi lù phần mở rộng tùy chọn)
- Thay đồi về kiến trúc an ninh - sử dụng sandbox khi thực thi các ứng dụng từInternet
Tích hợp hỗ trợ ODBC và co sở dữ liệu Oracle
- NET Compact Framework
- Hồ trợ IPv6 (Internet Protocol version 6)
Trang 13- Vài thay đổi khác trong API
- NET framework 2.0
Kê từ phiên bàn này,.NET framework hỗ trợ đầy đủ nen tảng 64-bit Ngoài ra,cũng có một số thay đổi trong API, hồ trợ các kiểu "generic", bổ sung sự hỗ trợ choASP.NET, NET Micro Framework - một phiên bản.NET framwork có quan hệvới Smart Personal Objects Technology
Bôn thành phẩn chính trong phiên bàn 3.0:
Windows Presentation Foundation (WPF - tên mã là Avalon): Đây là một côngnghệ mới, và là một nỗ lực của Microsoft nhàm thay đổi phương pháp hay cách
hổ trợ của ngôn ngữ XAML
Windows Communication Foundation (WCF - tên mã là Indigo): Một nền tảng móicho phép xây dựng các ứng dụng hưởng dịch vụ (service-oriented)
- Windows Workflow Foundation (WF): Một kicn trúc hồ trợ xây dựng các ứngdụng workflow (luồng công việc) một cách dề dàng hơn WF cho phép định nghĩa,thực thi và quân lý các workflow từ cả cách nhìn theo hướng kĩ thuật và hướngthương mại
- Windows CardSpace (tên mã là InfoCard): một kiển trúc đế quán lý định
danh (identity management) cho các ứng dụng được phân phổi
Ngoài ra Silverlight (hay WPF / E), một phiên bản nhánh NET Framework hồ trợ cácứng dụng trên nên web, được Microsoft tạo ra đê cạnh tranh với Flash
Có thê minh học.NET 3.0 băng một công thức đơn giản:
.NET 3.0 =.NET 2.0 + WPF + WCF + WF + WCS
- NET Framework 3.5
Trang 14Được phái hành vào 11/2007, phiên bán này sử dụng CLR 2.0 Đây có thể đượcxem là tương đương với phiên bản NET Framework 2.0 SP1 và NET Framework 3.0SP1 cộng lại .NET Compact Framework 3.5 được ra đời cùng với phiên bản.NETframework này.
Các thay đối kể từ phiên bản 3.0:
- Các tính năng mới cho ngôn ngữ C# 3.0 và VB.NET 9.0
Hồ trợ Expression Tree và Lambda
- Các phương thức mờ rộng (Extension methods)
- Các kiểu ấn danh (Anonymous types)
- LINQ
Phân trang (paging) cho ADO.NET
- API cho nhập xuất mạng không đồng bộ (asynchronous network I/O)
- Peer Name Resolution Protocol resolver
- Cãi thiện WCF và WF
- Tích hợp ASP.NET AJAX
Name:
- Microsoft ADO.NET Entity Framework 1.0
Cũng như phiên bản 3.0, có thề minh họa sự thay đồi cùa.NET 3.5 bằng công thức:.NET 3.5 =.NET 3.0 + LINQ + ASP.NET 3.5 + REST
- NET Framework 4.0
Phỉên bán beta đầu tiên cùa.NET 4 xuất hiện vào 5/2009 và phiên bản RC (ReleaseCandidate) được ra mat vào 2/2010 Bán chính thức của.NET 4 được công bố và pháthành cùng với Visual Studio 2010 vào 12/4/2010
Các tính năng mới được Microsoft bổ sung trong.NET 4:
Dynamic Language Runtime
- Code Contracts
- Managed Extensibility Framework
- Hồ trợ các tập tin ấnh xạ bộ nhớ (memory-mapped files)
Mô hình lập trình mới cho các ứng dụng đa luồng (multithreaded) và bât đông bộ(asynchronous)
Trang 15- Cải thiện hiệu năng, các mô hình workflow.
- NET Framework 4.5
- Những thông tin đầu tiên của.NET 4.5 được Microsoft công bổ vào 14/9/2011tại BUILD Windows Conference, và nó chính thức được ra mắt vào 15/8/2012
- Kê từ phiên bân này Microsoft bat đầu cung cấp 2 gói cài đặt riêng biệt, gói đầy đủ
và gói giàn chức năng client profiles
b Microsoft Visual studio.
Microsoft Visual Studio là một môi trường phát triển tích hợp (IDE)
tù Microsoft Nó được sử dụng đế phát triền chương trình máy tính cho MicrosoftWindows, cũng như các trang web, các ứng dụng web và các dịch vụ web VisualStudio sừ dụng nôn tảng phát triên phan mcm của Microsoft như WindowsAPI, Windows Forms, Windows Presentation Foundation, WindowsStore và Microsoft Silverlight Nó CÓ the sán xuất cà hai ngôn ngữ máy và mã số quảnlý-
tiến mã nguồn Trình gờ lỗi tích hợp hoạt động cả về trình gỡ loi mức độ mã nguồn và
gỡ lỗi mức độ máy Công cụ tích hợp khác bao gồm một mẫu thiết kể các hình thứcxây dựng giao diện ứng dụng, thiết ke web thiết ke lớpvà thiết ke giản đồ Cơ sờ dừliệu Nó chấp nhận các plug-in nâng cao các chức năng ờ hầu hết các cấp bao gồmthêm hỗ trọ cho các hệ thông quàn lý phiên bản (như Subversion) và bô sung thêm bộcông cụ mới như biên tập và thíêt kê trực quan cho các miên ngôn ngừ cụ thê hoặc bộcông cụ dành cho các khía cạnh khác trong quy trình phát triển phần mềm
Visual Studio hồ trợ nhiều ngôn ngữ lập trình khác nhau và cho phép trình biêntập mã và gỡ lỗi để hỗ trợ (mức độ khác nhau) hầu như mọi ngôn ngừ lập trình Cácngôn ngữ tích hợp gom có c, C++và C++/CLI (thông qua VisualC++) VB.NET (thông qua Visual Basic.NET), C# (thông qua Visual c#) và F# (nhưcủa Visual Studio 2010) Hồ trợ cho các ngôn ngữ khácnhư J++/J#, Python và Ruby thông qua dịch vụ cài đặt riêng rẽ Nó cũng hồtrợ XML/XSLT, HTML/XHTML, JavaScript và CSS
Trang 16Microsoft cung cấp phiên bản "Express" (đối với phiên bản Visual Studio 2013trở ve trước) và "Comunity" (đồi với bán Visual Studio 2015) là phiên bản miễn phícủa Visual Studio.
• Cẩu trúc MicrosoftVisual Studio
Visual Studio không hỗ trợ cho bất kỳ ngôn ngừ lập trình nào vồ giãi pháp hoặccông cụ thực chất, thay vào đó nó cho phép cẳm chức năng được mã hóa như làmột VSPackage Khi cài đặt, các chức năng có sẵn như là một dịch vụ IDE cung cấp
ba dịch vụ: SVsSolution cung cấp khả năng liệt kê cấc dự án và các gìàiphíỉp; SVsUIShell cung cấp cửa sổ và giao diện người dùng và SVsSheil Ngoài
ra, IDE cũng có trách nhiệm điểu phối và cho phép truyền thông giửa các dịch vụ Tất
cà các biên tập viên, nhà thiết kế, các loại dự án và các công cụ khấc được thực hiệntheo VSPackages Visual Studio sừ dụng COM đề truy cập VSPackages VisualStudio SDK cùng bao gồm Managed Package Framework (MPF) là một tập hợp quản
lý bao bọc quanh các COM-interfaces cho phép các gói dược viet bang bất kỳ ngônngữ nào.Tuy nhiên, MPF không cung cấp tất cả các chức nâng bộc lộ trong Visual
thêm chức năng cho Visual Studio IDE
Hỗ trọ cho các ngôn ngữ lập trình được thêm vào bang cách sử dụngmột VSPackage đặc biệt được gọi là một dịch vụ ngôn ngữ Một dịch vụ ngôn ngữđịnh nghĩa giao tiếp khác nhau mà việc thực hiện VSPackage có thể thực hiện để hồtrợ thêm cho các chức năng khác nhau Các chức năng có thê được thêm vào theo cáchnày bao gồm cú pháp màu, hoàn thành báo cáo kết quả, kết hợp đôi, công cụ chú giảỉtham số thông tin, danh sách thành viên và đanh dấu lỗi trên nền biên dịch Neu giaodiện được thực hiện, các tính năng sẽ có sằn ngôn ngừ Dịch vụ ngôn ngữ sẽ được thựchiện trên cơ sở mồi ngôn ngữ Việc triển khai có thể tái sử dụng mã từ phân tích cúpháp hoặc trình biên dịch cho ngồn ngữ Dịch vụ ngôn ngừ có thê được trien khai hoặctrong mã nguồn gốc hoặc mã số quản lý Đối vớí mã nguồn gốc, thì cà COM-interíaces gốc hoặc Babel Framework (một phần của Visual Studio SDK) đều có theđược sử dựng Đổi với mã số quản lý thì các MPF sè bao hàm các dịch vu quản lý vănbân
Trang 17Visual Studio không bao gồm bất kỳ Hệ thống quản tý phiên bản hỗ trợ kiểmsoát mã nguồn nhưng nó xác định haì cách thay thề cho các hệ thống kiêm soát mãnguồn để lích hợp với IDE Một VSPackage kiềm soát mã nguồn có thế cung cấp giaodiện người dùng tùy chỉnh của riêng mình Ngược lại, một plugin kiểm soát mã nguồnbang cách sử dụng MSSCCI (Microsoft Source Code Control Interface) cung cấp mộttập các chức năng được sử dụng đê thực hiện chức năng kiêm soát mã nguổn khấcnhau, với một giao diện người dùng Visual Studio tiêu chuan MSSCCI lẩn đẩu tiênđược sử dụng để tích hợp Visual SourceSafe với Visual Studio 6.0 nhưng sau đó được
mở ra thông qua Visual Studio SDK Visual Studio.NET 2002 dùng MSSCCI 1.1, vàVisual Sludio.NET 2003 dùng MSSCCI 1.2 Visual Studio 2005, 2008 và 2010 dùngMSSCCI 1.3
Visual Studio hồ trợ chạy nhiều cá thể cùa môi trường (tất cả đều cóVSPackages riêng của mình) Nhừng trường hợp sử dụng các registry hives khác nhau
đề lưu trừ trạng thái cấu hình và được phân biệt bởi AppID (Application ID) Cáctrường hợp đưực đưa ra bời một Appld-specific.exe cụ thể mà lựa chọn ApplD, thiết
với VSPackages khác cho AppID dó Các phiên bản sản phàm khác nhau của VisualStudio được tạo ra bằng cách sử dụng Applds khác nhau Các sản phẩm phiênbản Visual Studio Express được cài đặt với Applds riêng nhưng với các sản phẩmStandard, Professional và Team Suite chia sẻ cùng ApplD Do đó, người ta có thô càìđặt các phiên bản Express song song với các phiên bản khác, không giống như cácphiên bản khác cập nhật các cài đặt tương tự Phiên bản Professional bao gom cácVSPackages khổng lồ trong phiên bản Standard và Team Hệ thống AppID được thừahưởng bới Visual Studio Shell trong Visual Studio 2008
• Tính năng:
Biên tập mã:
Giống như bất kỳ IDE khác, nó bao gồm một trình soạn thảo mã hỗ trợ tô sáng
cú pháp và hoàn thiên mâ bang cách sử dụng IntelliSense không chi chocác biển, hàm và các phương pháp mà còn các cấu trúc ngôn ngừ như vòng điềukhiên hoặc truy vấn IntelliSense được hỗ trợ kèm theo cho cấc ngôn ngữnhư XML, Cascading Style Sheets và JavaScript khi phát triển các trang web và
Trang 18các ứng dụng web Các đề xuất (ự động hoàn chình được xuẩt hiện trong
sách phủ lên trên đình của trình biên tập
mã Trong Visual Studio 2008 trở đi, nócó thê
được lạm (hời bán trong suối để xem mã che khuất bời nó Các trình biên tập mã được
sừ dụng cho tất cá các ngôn ngừ được hỗ trợ.
Các trình biên tập mà Visual Studio cũng hồ trợ cài đặt dấu trang trong mà để điềuhướng nhanh chóng Ho trợ điêu hưởng khác bao gôm thu hẹp các khôi mã lệnh và tìmkiểm gía tăng, ngoài việc tìm kiểm văn bân thông thưởng và tìm kiếm Biêu thức chínhquy Các trình biên tập mã cũng bao gồm một bìa kẹp đa mục và một danh sách côngviệc Các trình biên tập mã hồ trợ lưu lại các đoạn mã được lặp đi lặp lại nhàm để chènvào mã nguồn sử dụng về sau Một công cụ quàn lý cho đoạn mã được xây dựng là lốt.Những công cụ này nồi lên như các cứa sổ trôi nổi có thể được thiết lập đề tự động ânkhi không sử dụng hoặc neo đậu đến các cạnh cúa màn hình Các trình biên tập mãVisual Studio cũng hỗ trợ cải tiến mã nguồn bao gồm tham so sap xếp lại, biến vàphương pháp đối tên, khai thác và đóng gói giao diện các lóp thành viên bên trongnhững trạng ihái giừa những thứ khác
được viet, Visual Studio biên dịch nó trong nên đê cung câp thông tin phàn hồi về cúpháp và biên dịch lồi, được đánh dau bàng một gạch dưới gợn sóng màu đô Biên dịchnền không tạo ra mẫ thực thi, vì nó đòi hỏi một trình biên dịch khác hơn là để sữ dụngtạo ra mã thực thi Biên dịch nen ban đâu được giới thiệu với Microsoft VisualBasic nhưng bây giờ đã được mở rộng cho tất cả các ngôn ngữ
Trình gờ lỗi:
Visual Studio có một trình gờ lỗi hoạt động vừa là một trình gờ lồi cấp mãnguồn và là một trình gỡ lỗi cấp máy Nó hoạt động với cả hai mã quàn lý cũng
Trang 19như ngôn ngừ máy và có the được sừ dụng để gờ lồi các ứng dụng được viết bằng cácngôn ngữ được hồ trợ bởi Visual Studio Ngoài ra, nó cùng có thể đính kèm theo quytrình hoạt động và theo dối và gờ lồi những quy trình Neu mã nguồn cho quá trìnhhoạt động có sằn, nó sẽ hiển thị các mã như nó đang được chạy Nểu mã nguồn không
có sẵn, nó có thô hiên thị các tháo gỡ Cấc Visual Studio debugger cũng có thê tạo bãi
bộ nhớ cũng nhu tài chúng sau đế gờ lỗi Các chương trình đa luồng cao cấp cũng
Trang 20được hỗ trợ Trình gỡ lỗi có thể được cẩu hình sẽ được đưa ra khi một ứng dụng đang
chạy ngoài Visual Studio bị treo môi trường.
Trình gờ lỗi cho phép thiết lập các breakpoint (mà cho phép thực thi được tạm thờidừng lại tại một vị trí nhất định) và watch (trong đó giám sát các giá trị của biến làviệc thực hiện tiển bộ) Breakpoint có thể có điểu kiện, nghĩa là chúng được kích hoạtkhi điêu kiện được đáp ứng Mã có thê được biêu dien, tức là chạy một dòng (của mãnguồn) tại một thời điếm Nó có hoặc là bước sang các chức năng đề gỡ lồi bên trong
nó, hoặc là nhảy qua nó, tức là, việc thực hiện các chức năng không có sẵn đê kiểm trathủ công Trình gờ lồi hồ trợ Edit and Continue, nghĩa là, nó cho phép mã được chinhsừa khi nó đang được sửa lỗi (chỉ có 32 bit, không được hỗ trợ trong 64 bit) Khi gờlỗi, nếu con trò chuột di chuyền lên bất kỳ biến, giá trị hiện tại cúa nó được hiển thịtrong phan chú giài ("chú thích dữ liệu"), noi mà nó cũng có thể được thay đổi nếumuốn Trong quátrình viết mã, các trình gỡ lồi của Visual Studio cho phép một sochức năng được gọi ra bang tay từ cửa so công cụ Immediate Các thông sổ chophương thức dược cung câp tại các cừa sô Immediate
- Thiết kế:
o Windows Forms Designer: được sử dụng để xây dựng GUI sú dụng WindowsForms; bố trí có thể được xây dựng bàng các nút điều khiển bên trong hoặc khóachúng vào bên cạnh mẫu Điểu khiên trình bày dừ liệu (như hộp văn bản, hộp danhsách, vv) có thế được liên kết với các nguồn dữ liệu như cơ sở dữ liệu hoặc truyvan Các điều khiên dừ liệu ràng buộc có thế được tạo ra bang cách rê các mục từcửa sổ nguồn dừ liệu lên bề mặt thiết kể Các giao diện người dùng được liên kếtvới mã sừ dụng một mô hình lập trình hướng sự kiện Nhà thiết kể tạo ra bàng cthăng hay VB.NET cho ứng dụng
o WPF Designer: có tên mã là Cider, được giới thiệu trong Visual Studio 2008.Giống như Windows Forms Designer, hồ trợ kéo và thả ẩn dụ Sừ dụng tương tácngười-máy nhắm mục tiêu theo Windows Presentation Foundation Nó hồ trợ cácchức nãng WPF bao gồm kêt nôi dữ liệu và tự dộng hóa bô trí quản lý Nó tạo ra
Trang 21mã XAML cho giao diện người dùng Các tập tin XAML được tạo ra là tương
Trang 22thích với Microsoft Expression Design, sàn phẩm thiết kể theo định hướng Các
mã XAML được liên kết với mã đang sư dụng một mô hình code-behind.
o Web designer/deveỉopmenl: Visual Studio cùng bao gồm một trình soạn thảo vàthiết kẻ trang web cho phép các trang web được thiết kế bang cách kéo và thả cácđổi tượng Nó được sử dụng để phát triển các ứng dụng ASP.NET và hồtrự HTML, css và JavaScript Nó sừ dụng mồ hình code-behind dể liên kểt với mãASP.NET Từ Visual Studio 2008 trở đi, công cụ bố trí được sử dụng bởi các nhàthiết ke web được chia sẻ với Microsoft Expression Web Ngoài ra ASP.NETMVC Framework hồ trợ cho công nghệ MVC là tải xuống riêng biệt[321 và dự
án ASP.NET Dynamic Data có sẵn từ Microsoft
o Class designer: Các lớp thiểt ké được dùng để biên soạn và chỉnh sửa cáclớp(bao gồm cã các thành viên và truy cập cùa chúng) sứ dụng mô hình UML Các lớpthiết ke có thố tạo ra mã phác thảo C thăng và VB.NET cho các lớp và cá phươngthức Nó cũng có thế tạo ra sơ đo lớp từ các lớp viết tay
o Data designer: Thiết kể dừ liệu có thể được sừ dụng để chính sửa đồ họa giản
cũng có thê được sừ dụng đè thiêt kế các truy vân từ các giao diện đồ họa
o Mapping designer: Từ Visual Studio 2008 trở đi, thiết ke ánh xạ được dùngbời Language Integrated Query để thiết kế các ánh xạ giữa các giản đồ cơ sở dừliệu và các lớp đê đóng gói dữ liệu Các giải pháp mới từ cách tiểpcận ORM, ADO.NET Entity Framework sẽ thay thế và cái thiện các công nghệ cũ
o Object Browser: là một không gian tên và trình duyệt lớp thư
Trang 23viện cho Microsoft NET Nó có the được sử dụng để duyệt các không gian tên
Trang 24(được sắp xếp theo thử bậc) trong Assembly (CLI) Các hệ thổng phân cấp
o Team Explorer: được sứ dụng đe tích hợp các khá nàng cúa Team FoundationServer, Revision Control System và là cơ sở cho môi trường CodePlex đối vởi dự
án mã nguồn mở Ngoài việc kiểm soát nguồn nó cung cấp khà năng xem và quản
lý các công việc riêng lẻ (bao gồm cả lỗi, nhiệm vụ và các tài liệu khác) và đêduyệt thống kê TFS Nó được bao gồm như là một phần của một cài đặt TFS vàcũng có sẵn đổ tái xuống cho Visual Studio Team Explorer cũng có sằn như là mộtmôi trường độc lập duy nhất đề truy cập các dịch vụ TFS
o Data Explorer: được sử dụng để quản lý cơ sở dữliệu trên Microsoft SQL
hành các lệnh T-SQL hoặc báng cách sứ dụng các thiết kẻ dừ liệu) Nó cũng có thêđược sử dụng đế tạo các truy vấn và các thủ tục lưu trữ trong T-SQL hoặctrong Managed code thông qua SQL CLR Có sằn gờ lồi và hồ trợ TntelliSense
o Server Explorer: công cụ được sử dụng đê quản lý các kềt nổi cơ sở dữ liệu trênmột máy tính truy cập được Nó cũng được sử dụng để duyệt chạy WindowsServices, quầy thực hiện, Windows Event Log và hàng đợi tin nhắn và sứ dụngchúng như một nguồn dử liệu
o Dotfuscator Software Services Community Edition: Visual Studio bao gồm mộtphiên bản light cùa sán phâm PreEmptive Solutions’ Dotfuscator cho mã gây roi vàgiảm kích thước ứng dụng Khởi đầu với Visual Studio 2010, phiên ban này cùaDotfuscator sẽ bao gồm khả năng Runtime Intelligence cho phép tác giả thu thậpcách sử dụng của người dùng cuối, hiệu suất, tính ổn định và các thông tin từ cácứng dụng của họ chạy trong sản xuất
Trang 25o Text Generation Framework: Visual Studio bao gồm một khung lạo văn bảnđẩy đù được gọi là Text Template Transformation Toolkit T4 cho phép VisualStudio tạo ra tập tin văn bàn lừ các mẫu hoặc trong IDE hoặc thông qua mã.
o ASP.NET Web Site Administration Tool: công cụ quản trị trang webASP.NET cho phép cấu hình các trang web ASP.NET
o Visual Studio Tools for Office: Cồng cụ Visual Studio cho Ofice làmột SDK và một add-in cho Visual Studio bao gồm các công cụ để phát triển chocác bộ Microsoft Office Trước đây (với Visual Studio.NET 2003 và Visual Studio2005) đó là một SKU riêng biệt mà chi hỗ trợ Visual c# Visual Basic.NET hoặc đãđược đưa vào Team Suite Với Visual Studio 2008, nó không còn làmột SKU riêng biệt nhưng lại kèm trong các phiên bản chuyên nghiệp và cao hơn.Một thời gian chạy riêng biệt được yêu cầu khi triển khai các giáí pháp VSTO
- Khả năng mở rộng:
o Visual Studio cho phép các nhà phát triên víêt các phân mở rộng cho VisualStudio đê mờ rộng tính năng của nó Những phần mở rộng "cắm vào" Visual
add-in và các gói Các macro đại diện cho các nhiệm vụ lặp đi lặp lại và hành động màcấc nhà phất triên có thê ghi lại theo chương trình đê tiêt kiệm, phát lại, và phânphổi Tuy nhiên, không thê thực hiện các lệnh mói hoặc tạo ra các cửa so công cụ.Chúng được viết bằng Visual Basic và không được biên dịch Các trình bố sungcung cấp quyền truy cập vào mô hình đối tượng Visual Studio và có the tương tácvới các công cụ IDE Các trình bổ sung có thể được sứ dụng để thực hiện các chứcnăng mới và có thê thêm các cửa sổ công cụ mới Cấc trình bô sung được camvào IDE thông qua COM và có thể được tạo ra trong bất kỳ ngôn ngữ COM-tuânthủ Gói được tạo ra băng cách sử dụng Visual Studio SDK và cung cấp mức caonhất của khả năng mở rộng Chúng có the tạo ra các thiểt kể và các công cụ khác,cũng như tích hợp các ngôn ngừ lập trình khác Visual Studio SDK cung câpcác API không được quản lý cũng như một API quàn lý đê thực hiện các nhỉệm vụnày Tuy nhiên, các API quàn lý không phải là toàn diện như một không được quản
lý Các phần mở rộng được hỗ trợ trong phiên bân Standard và cao hơn của phiênbàn Visual Studio 2005 Phiên bản Express không hồ trợ phần mở rộng
Trang 26o Visual Studio 2008 giới thiệu Visual Studio Shell cho phép phát triền một phiênbản tùy biền của IDE Visual Studio Shell định nghĩa một tập hợpcác VSPackages cung cấp các chức năng cần thiết trong bất kỳ IDE Trên hết, cácgói khác có thế được thêm vào tùy chinh các cài đặt Các chế độ biệt lập của vỏ tạo
ra một AppID mới, nơi các gói được cài đặt Những thứ này được bắt đẩu với mộtthực thi khác nhau Nó nham mục đích cho sự phát triên của môi trưởng phát triêntùy chinh, hoặc cho một ngôn ngữ cụ thế hoặc một kịch bàn cụ thể Các chế độ tíchhọp cài đặt các gói vào AppID cùa các phiên bân Professional / Standard / TeamSystem, do đó các công CỊI tích hợp vào các phiên bán Visual Studio Shell là miễnphí lải về
o Sau khi phát hành Visual Studio 2008, Microsoft đã tạo ra Visual StudioGallery Nó phục vụ như vị tri trung tâm cho đăng táí thông tin về phẩn mở rộngcho Visual Studio Phát triển cộng đồng cũng như phát triển thương mại có the tảilên thông tin về các phan mở rộng cùa họ đen Visual Studio.NET 2002 thông quaVisual Studio 2010 Người sứ dụng trang web có thể đánh giá và xem lại các phần
báo cho người dùng trên bàn cập nhật tới trang web và các tính năng gắn thè cũngđược lên kế hoạch
1.2 Giói thiệu tông quan về C# và Windowns Form.
- Giới thiệu tống quân về c#.
C# (đọc là "C thăng" hay "C sharp'1 ("xi-sáp")} là một ngôn ngữ lập trình hướng đối
tượng được phát triển bởi Microsoft, là phẩn khởi đầu cho kể hoạch NET của họ Têncủa ngôn ngừ bao gom ký tự thăng theo Microsoft nhưng theo ECMA là c# chi bao
gồm dẩu sổ thường Microsoft phát triển C# dựa trên C++ và Java C# được miêu tà là
ngôn ngừ có được sự cân bang giữa C++, Visual Basic, Delphi và Java
C# được thiết kề chủ yếu bởí Anders Hejlsberg kiến trúc sư phần mềm nổi tiếngvới các sản phẩm Turbo Pascal, Delphi, J++, WFC
- Đậc điểm ngôn ngừ:
c#, theo một hướng nào đó là ngôn ngữ lập trình phản ánh trực tiếp nhẩt đển.NETFramework mà tất cả các chương trình.NET chạy, và nó phụ thuộc mạnh mè vàoFramework này Mọi dừ ỉiệu cơ sở đều là đối tượng, được cap phát và hùy bỏ bới trình
Trang 27dọn rác Garbage-Collector (GC), và nhiều kiểu trừu tượng khác chẳng hạn
delegate, interface, exception, v.v, phản ánh rõ ràng những đặc trưng cùa.NET runtime.
So sánh với c và C++, ngôn ngữ này bị giới hạn và được nâng cao ở một vài đặc điểmnào đó, nhưng không bao gom các giới hạn sau đây:
Các con trỏ chỉ có thê được sử dụng trong che độ không an toàn Hâu hêt các đôitượng được tham chiếu an toàn, và các phép tính đều được kiếm tra tràn bộ đệm.Các con trỏ chi được sử dụng để gọi các loại kiểu giá trị; còn những đối tượngthuộc bộ thu rác (garbage-collector) thì chỉ được gọi bang cách tham chiểu
- Các đối lượng không thể được giải phóng tường minh
- Chi có đơn ke thùa, nhưng có thể cài đật nhiều interface trừu tượng (abstractinterfaces) Chức năng này làm đơn giãn hóa sự thực thi cùa thời gian thực thi
- C# thì an-toàn-kiểu (typesafe) hơn C++
Cú pháp khai báo máng khác nhau(" int[] a = new int[5]" thay vì "ìnt a[51 ")■Kiêu thứ tự được thay thê băng tên mien không gian (namespace)
- C# kh
- Có them Properties, các phương pháp có thổ gọi các Properties đe truy cập dừ liệu
- Có reflection
- Vì sao nên sừ dụng ngôn ngữ c#
Nhiều người cho rang không cẩn thiết có một ngôn ngừ lập trình mới Java, C++,Perl, Visual Basic, và những ngôn ngữ lập trình khác được nghĩ rang đã cung cap đùchức năng cẩn thiết
Ngôn ngừ C# là một ngôn ngữ được dần xuất từ c và C++, nhưng nó được tạo từnền tảng phát triển hơn Microsoft bẩt đầu với công việc c và C++ và thêm vào đónhững đặc tính mới đê làm cho ngôn ngữ này dễ sứ dụng hơn Nhiều trong sổ đó cónhững đặc tính có trong ngôn ngừ Java Không dừng lại ở đó, Microsoft đưa ra một sổmục đích khi sử xây dựng ngôn ngữ này như sau:
Trang 28- C# là ngôn ngữ đơn giản: