CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 1.1 Ngôn ngữ lập trình C# 1.1 Lịch sử C# được phát triển bởi nhóm của Anders Hejlsberg và Scott Wiltamuth tại Microsoft. Anders Hejlsberg là kiến trúc sư phần mềm nổi tiếng với các sản phẩm Turbo Pascal, Delphi, J++, WFC.C# đã phát triển nhiều kể từ lần phát hành đầu tiên vào năm 2002. C# được giới thiệu với .0 và phiên bản hiện tại của C# là 6. C# là ngôn ngữ lập trình hướng đối tượng và được cung cấp các thư viên xây dựng sẵn, cho phép lập trình viên phát triển ứng dụng nhanh chóng.
C# là ngôn ngữ lập trình hướng đối tượng và được cung cấp các thư viện xây dự ng sẵn: Cho phép lập trình viên phát triển ứng dụng nhanh chóng C# và Visual Basic chia sẻ thư viện của Framework Class Library (FCL) C# thích hợp cho các yêu cầu phát triển ứng dụng quản lý: Đặc biệt với các ứng dụng trên nền Winform và Web.2 Đặc điểm của C# C# là ngôn ngữ hướng sự kiện và hỗ trợ lập trình trực quan: Chương trình được xây dựng sử dụng môi trường lập trình tích hợp(Integrated Development Environment- IDE). C# được chuẩn hóa bởi ECMA(European Computer Manufacturers Association) International. C# là ngôn ngữ ít từ khóa: là ngôn ngữ sử dụng giới hạn những từ khóa, phần lớn các từ khóa sử dụng để mô tả thông tin. C# là ngôn ngữ lập trình hướng module: Mã nguồn C# có thể được viết trong những phần được gọi là những lớp, những lớp này chứa các phương thứ thành viên của nó.
Những lớp và những phương thức có thể được sử dụng lại trong các ứng dụng hay chương trình khác. Bằng cách truyền các mẫu thông tin đến những lớp hay những phương thức chúng ta có thể tạo ra những mã nguồn dùng lại có hiệu quả.3 Lý do sử dụng C# ? C# đơn giản: C# loại bỏ một vài sự phức tạp và rối rắm của những ngôn ngữ như Java và C++, bao gồm việc loại bỏ những macro, những template, đa kế thừa, và 12 lớp cơ sở ảo (virtual base class). Chúng là những nguyên nhân gây ra sự nhầm lẫn hay dẫn đến những vấn đề cho các người phát triển C++. C# là ngôn ngữ hiện đại: Có chứa các đặc tính xử lý ngoại lệ, thu gom bộ nhớ tự động, những kiểu dữ liệu mở rộng và bảo mật mã nguồn.
C# là ngôn ngữ lập trình hướng đối tượng: Hỗ trợ tính năng bao đóng, kế thừa và tính đa hình. C# mạnh mẽ và linh hoạt: Sử dụng phát triển nhiều loại ứng dụng( xử lý văn bản, hình ảnh, bảng tính phục vụ cho quản lý…).4 Ứng dụng Windows Forms Winform hay còn được gọi là windows form là một giải pháp được chạy trên nền windows. Winform là công nghệ của Microsoft cho phép chúng được lập trình trên mọi ứng dụng của windows trên PC. Windows Forms cho phép lập trình viên tạo các form một cách dễ dàng, đồng thời hỗ trợ nhiều điều khiển (Controls) hoặc thành phần (Components) giúp lập trình viên có thể xây dựng, tùy chỉnh các giao diện form một cách nhanh chóng: Tạo ra các form có kích thước và hình dạng khác nhau, bố trí các điều khiển và thành phần trên form phù hợp với nhu cầu, mục đích của người sử dụng Windows Forms là cách cơ bản để cung cấp các thành phần giao diện (GUI components) cho môi trường .NET Framework Windows Forms được xây dựng trên thư viện Windows API Windows Forms cơ bản bao gồm: -Một Form là khung dùng hiển thị thông tin đến người dùng -Các Control được đặt trong form và được lập trình để đáp ứng sự kiện Ưu điểm: + Tốc độ xử lý dữ liệu nhanh và hiệu quả.
+ Chạy được trên nhiều phiên bản của Windows khác nhau. + Có thể thao tác với nhiều giao diện. Nhược điểm: + Phần mềm chỉ có thể chạy trên nền tảng windows nên khi muốn sử dụng bạn bắt buộc phải dùng phải cài đặt phần mềm cho máy tính. Khá bất tiện cho công việc, nên để đảm công việc được trơn thu bạn phải mang theo máy tính cá nhân để dự phòng.
13 + Winform chỉ phù hợp cho ứng dụng trên desktop ( ứng dụng quản lý thông tin và tương tác trực tiếp với người dùng). + Đồ họa không cao nên giao diện sẽ thiếu đi tính trực quan, không thân thiện đối với người dùng.5 Công cụ Visual Studio a, Giới thiệu chung Visual studio là một trong những công cụ hỗ trợ lập trình rất nổi tiếng nhất hiện nay của Microsoft và chưa có một phần mềm nào có thể thay thế được nó. Visual Studio được viết bằng 2 ngôn ngữ đó chính là C# và VB+. Đây là 2 ngôn ngữ lập trình giúp người dùng có thể lập trình được hệ thống một các dễ dàng và nhanh chóng nhất thông qua Visual Studio.
Visual Studio là một phần mềm lập trình hệ thống được sản xuất trực tiếp từ Microsoft. Từ khi ra đời đến nay, Visual Studio đã có rất nhiều các phiên bản sử dụng khác nhau. Điều đó, giúp cho người dùng có thể lựa chọn được phiên bản tương thích với dòng máy của mình cũng như cấu hình sử dụng phù hợp nhất. Bên cạnh đó, Visual Studio còn cho phép người dùng có thể tự chọn lựa giao diện chính cho máy của mình tùy thuộc vào nhu cầu sử dụng.
b,Tính năng: Biên tập mã: Giống như bất kì một IDE khác, Visual Studio gồm có một trình soạn thảo mã hỗ trợ tô sáng cú pháp và hoàn thiện mã bằng cách sử dụng IntelliSense không chỉ cho các hàm, biến và các phương pháp mà còn sử dụng cho các cấu trúc ngôn ngữ như: Truy vấn hoặc vòng điều khiển. Bên cạnh đó, các trình biên tập mã Visual Studio cũng hỗ trợ cài đặt dấu trang trong mã để có thể điều hướng một cách nhanh chóng và dễ dàng. Hỗ trợ các điều hướng như: Thu hẹp các khối mã lệnh, tìm kiếm gia tăng,… Visual Studio còn có tính năng biên dịch nền tức là khi mã đang được viết thì phần mềm này sẽ biên dịch nó trong nền để nhằm cung cấp thông tin phản hồi về cú pháp cũng như biên dịch lỗi và được đánh dấu bằng các gạch gợn sóng màu đỏ. Trình gỡ lỗi: Visual Studio có một trình gỡ lỗi có tính năng vừa lập trình gỡ lỗi cấp máy và gỡ lỗi cấp mã nguồn.
Tính năng này hoạt động với cả hai mã quản lý 14 giống như ngôn ngữ máy và có thể sử dụng để gỡ lỗi các ứng dụng được viết bằng các ngôn ngữ được hỗ trợ bởi Visual Studio. Thiết kế Windows Forms Designer: Được sử dụng với mục đích xây dựng GUI sử dụng Windows Forms, được bố trí dùng để xây dựng các nút điều khiển bên trong hoặc cũng có thể khóa chúng vào bên cạnh mẫu. Điều khiển trình bày dữ liệu có thể được liên kết với các nguồn dữ liệu như: Cơ sở dữ liệu hoặc truy vấn. WPF Designer: Tính năng này cũng giống như Windows Forms Designer có công dụng hỗ trợ kéo và thả ẩn dụ.
Sử dụng tương tác giữa người và máy tính nhắm mục tiêu vào Windows Presentation Foundation. Web designer/development: Visual Studio cũng có một trình soạn thảo và thiết kế website cho phép các trang web được thiết kế theo tính năng kéo và thả đối tượng. Mục đích là để hỗ trợ người dùng tạo trang web dễ dàng hơn, những yêu cầu đơn giản như thiết kế web du lịch hay các trang giới thiệu của công ty có thể sử dụng tính năng này vì nó vẫn đảm bảo cho bạn sở hữu được một website hoàn chỉnh. c, Lý do sử dụng Visual Studio hỗ trợ lập trình trên nhiều ngôn ngữ như: C/C++, C#, F#, Visual Basic, HTML, CSS, JavaScript.
Là một công cụ hỗ trợ việc Debug một cách dễ dàng và mạnh mẽ như: Break Point, xem giá trị của biến trong quá trình chạy, hỗ trợ debug từng câu lệnh. Giao diện Visual Studio rất dễ sử dụng đối với người mới bắt đầu lập trình. Visual Studio hỗ trợ phát triển các ứng dụng: desktop MFC, Windows Form, Universal App, ứng dụng mobile Windows Phone 8/8.1, Windows 10, … Visual Studio hỗ trợ xây dựng ứng dụng một cách chuyên nghiệp bằng các công cụ kéo thả. Visual Studio được đông đảo lập trình viên trên thế giới sử dụng.2 Phân tích thiết kế hệ thống - Trong kỹ nghệ phần mềm để sản xuất được một sản phẩm phần mềm người ta chia quá trình phát triển sản phẩm ra nhiều giai đoạn như thu thập và phân tích yêu cầu, phân tích và thiết kế hệ thống, phát triển (coding), kiểm thử, triển khai và bảo trì.
15 Trong đó, giai đoạn phân tích, thiết kế bao giờ cũng là giai đoạn khó khăn và phức tạp nhất. Giai đoạn này giúp chúng ta hiểu rõ yêu cầu đặt ra, xác định giải pháp, mô tả chi tiết giải pháp. Nó trả lời 2 câu hỏi What (phần mềm này làm cái gì?) và How (làm nó như thế nào?). - Để phân tích và thiết kế một phần mềm thì có nhiều cách làm, một trong những cách làm đó là xem hệ thống gồm những đối tượng sống trong đó và tương tác với nhau.
Việc mô tả được tất cả các đối tượng và sự tương tác của chúng sẽ giúp chúng ta hiểu rõ hệ thống và cài đặt được nó. Phương thức này gọi là Phân tích thiết kế hướng đối tượng (OOAD) UML (Unified Modelling Language) là ngôn ngữ mô hình hoá tổng quát được xây dựng để đặc tả, phát triển và viết tài liệu cho các khía cạnh trong phát triển phần mềm hướng đối tượng. UML giúp người phát triển hiểu rõ và ra quyết định liên quan đến phần mềm cần xây dựng. UML bao gồm một tập các khái niệm, các ký hiệu, các biểu đồ và hướng dẫn.
UML là ngôn ngữ chuẩn để viết kế hoạch chi tiết phần mềm. Nó phù hợp cho việc mô hình hóa các hệ thống như hệ thông tin doanh nghiệp, các ứng dụng phân tán trên nền Web, hệ thông nhúng thời gian thực… Các khung nhìn của ngôn ngữ được quan sát từ góc độ phát triển và triển khai hệ thống, nó không khó hiểu và dễ sử dụng. UML là ngôn ngữ mô hình được cả con người và máy sử dụng. UML hỗ trợ xây dựng hệ thống hướng đối tượng dựa trên việc nắm bắt khía cạnh cấu trúc tĩnh và các hành vi động của hệ thống.
Thành phần mô hình chính trong UML là các biểu đồ: Usecase Diagram: Biểu đồ use case biểu diễn sơ đồ chức năng của hệ thống. Từ tập yêu cầu của hệ thống, biểu đồ use case sẽ phải chỉ ra hệ thống cần thực hiện điều gì để thoả mãn các yêu cầu của người dùng hệ thống đó.