Lựa chọn công cụ xây dựng hệ thống

Một phần của tài liệu Xây dựng phần mềm hổ trợ tìm hiểu rèn luyện kỹ năng nghiệp vụ công tác đoàn. (Trang 28 - 33)

CHƯƠNG III: XÂY DỰNG HỆ THỐNG

3.1. Lựa chọn công cụ xây dựng hệ thống

Sau khi phân tích hệ thống, tôi tiến hành tìm hiểu các công cụ xây dựng phần mềm. Qua quá trình tìm hiểu, tôi nhận thấy sử dụng ngôn ngữ lập trình C# trong bộ công cụ Visual Studio 2010 là thích hợp để xây dựng giao diện hệ thống và lập trình chức năng cho hệ thống. Thông tin về tài liệu tương đối đơn giản, do đó có thể dùng công cụ Microsoft Office Access trong bộ công cụ Microsoft Offive của Mircosoft.

Ngôn ngữ C# kết hợp với thƣ viện .NetFramework hỗ trợ tốt cho việc lập trình giao diện, xữ lý tốt nhiều loại dữ liệu nhƣ văn bản, hình ảnh, âm thanh.

Ngôn ngữ lập trình C#, bộ thƣ viện .Netframework và công cụ Microsoft Office Access có những đặc điểm sau:

3.1.1. Ngôn ngữ lập trình C#

C# 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ên của ngôn ngữ bao gồm ký tự thăng theo Microsoft nhưng theo ECMA là C#, chỉ 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 bằng giữa C++, Visual Basic, Delphi và Java.

C# là một ngôn ngữ mang những đặc điểm của C++, có phong cách lập trình nhƣ Java và có mô hình ứng dụng nhƣ Basic.

Đặc điểm ngôn ngữ.

C# là ngôn ngữ lập trình phản ánh trực tiếp nhất đến .NET Framework mà tất cả các chương trình .NET chạy, và nó phụ thuộc mạnh mẽ vào Framework này. Mọi dữ liệu cơ sở đều là đối tƣợng, đƣợc cấp phát và hủy bỏ bởi trình dọn rác Garbage- Collector (GC), và nhiều kiểu trừu tƣợng khác chẳng hạn nhƣ class, delegate, interface, exception, v.v, phản ỏnh rừ ràng những đặc trƣng của .NET runtime.

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 trong C và C++ và thêm vào những đặc tínhmới để làm cho ngôn ngữ này dễ sử dụng hơn. Nhiều trong số những đặc tính này khá giốngvới 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 xây dựng ngôn ngữ này. Những mục đích này bao gồm:

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ồmviệc loại bỏ những macro, những template, đa kế thừa, và 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ườiphát triển C++.

Ngôn ngữ C# đơn giản, vì nó dựa trên nền tảng C và C++. Nếu chúng ta thân thiện với Cvà C++ hoậc thậm chí là Java, chúng ta sẽ thấy C# khá giống về diện mạo, cú pháp, biểuthức, toán tử và những chức năng khác đƣợc lấy trực tiếp từ ngôn ngữ C

và C++, nhƣng nó đã đƣợc cải tiến để làm cho ngôn ngữ đơn giản hơn. Một vài trong các sự cải tiến là loại bỏ các dƣ thừa, hay là thêm vào những cú pháp thay đổi.

C# chứa tất cả những đặc tính nhƣ là 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 là những đặc tính đƣợc mong đợi trong một ngôn ngữ hiện đại.

C# hỗ trợ những đặc điểm chính của ngôn ngữ hướng đối tượng (Object-oriented language) là sự đóng gói (encapsulation), sự kế thừa (inheritance), và đa hình (polymorphism).

C# đƣợc sử dụng cho nhiều các dự án khác nhau nhƣ là tạo ra ứng dụng xử lý văn bản, ứng dụng đồ họa, bản tính, hay thậm chí những trình biên dịch cho các ngôn ngữ khác

3.1.2. Thƣ viện .Netframework.

.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 ứng dụng chủ yếu trên hệ điề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ôi trường phần mềm (ngược lại với môi trường phần cứng) được biết đến với tên Common Language Runtime (CLR). 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, kết nối cơ sở dữ liệu; ứng dụng web; các giải thuật, cấu trúc dữ liệu; giao tiế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ệc viết ứng dụng bằng cách cung cấp nhiều thà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à gắn 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.

3.1.2.1. Tổng quan về kiến trúc của .NET Framework

.NET Framework được thiết kế như là môi trường tích hợp để đơn giản hóa việc phát triển và thực thi các ứng dụng trên Internet, trên desktop dưới dạng Windows Forms, hoặc thậm chí là trên cả các thiết bị di động (với Compact Framework). Các mục tiêu chính mà .NET framework hướng đến là:

- Cung cấp một môi trường hướng đối tượng nhất quán cho nhiều loại ứng dụng - Cung cấp một môi trường giảm tối thiểu sự xung đột phiên bản (“DLL Hell” – Địa ngục DLL) từng làm điêu đứng các lập trình viên Windows (COM), và đơn giản hóa quá trình triển khai/cài đặt.

- Cung cấp một môi trường linh động, dựa trên các chuẩn đã được chứng nhận để có thể chứa trên bất cứ hệ điều hành nào. C# và một phần chính của môi trường thực thi .NET, CLI (Common Language Infrastructure – Hạ tầng ngôn ngữ chung) đã đƣợc chuẩn hóa bởi ECMA.

- Để cung cấp một môi trường quản lý được, trong đó mã được dễ dàng xác thực để thực thi an toàn.

Kiến trúc của .NET Framework đƣợc thiết kế thành 2 phần: CLR (Common Language Runtime – Khối thức thi ngôn ngữ chung) và FCL (Framework Class Library – Thư viện lớp khung) như hình dưới:

Hình 3.1: Kiến trúc .Netframework

3.1.2.2. Môi trường thực thi ngôn ngữ chung CLR (Common Language Runtime)

CLR (Common Languge Runtime – Môi trường thực thi ngôn ngữ chung) quản lý toàn bộ vòng đời của một ứng dụng: nó nạp các lớp có liên quan, quản lý sự thực thi của các lớp, và đảm bảo quản lý bộ nhớ một cách tự động. Ngoài ra, CLR còn hỗ trợ tích hợp giữa các ngôn ngữ để cho phép mã lệnh đƣợc sinh ra bởi các ngôn ngữ khác nhau có thể tương tác với nhau một cách liền mạch.

a. Biên dịch mã lệnh .NET

Trình biên dịch tương thích với CLR sẽ sinh mã thực thi cho môi trường thực thi chứ không phải là mã thực thi cho CPU cụ thể. Mã thực thi này đƣợc biết đến qua tên gọi CIL (Common Intermediate Language – Ngôn ngữ trung gian chung), hay MSIL (Microsoft Intermediate Language – Ngôn ngữ trung gian của Microsoft); đó là ngôn ngữ kiểu assembler đƣợc đóng gói trong các file EXE hoặc DLL. Các file này không phải thuộc dạng file có thể thực thi như thông thường, chúng cần trình biên dịch JIT (Just-in-Time) của môi trường thực thi để chuyển đối IL chứa trong nó sang dạng mã lệnh cụ thể của máy khi ứng dụng thực sự thực thi.

Quá trình biên dịch, thực thi một chương trình trong .NET framework có thể tóm tắt nhƣ sau:

- Chương trình nguồn trước hết sẽ được biên dịch và đóng gói thành một khối gọi là assembly. Khối này sẽ chứa các mã lệnh ngôn ngữ trung gian và các metadata mô tả thông tin cần thiết cho sự hoạt động của khối.

- Mỗi khi có yêu cầu thực thi assembly nói trên, CLR sẽ chuyển đối mã lệnh ngôn ngữ trung gian trong assembly thành mã lệnh tương thích với CPU cụ thể trước khi có thể thực thi.

Nhƣ vậy, lập trình viên có thể sử dụng bất cứ ngôn ngữ nào để phát triển ứng dụng trên .NET framework, miễn là ngôn ngữ đó có hỗ trợ .NET framework. Điều đặc biệt là, do sử dụng chung hệ thống kiểu dữ liệu, nên tính năng liên thông giữa các ngôn ngữ trên .NET framework là rất cao.

b. Hệ thống kiểu dữ liệu chung CTS (Common Type System)

CTS cung cấp một tập cơ sở các kiểu dữ liệu cho mỗi ngôn ngữ hoạt động trên .NET platform. Ngoài ra, nó đặc tả cách khai báo và tạo các kiểu dữ liệu tùy biến, cách quản lý vòng đời của một thể hiện của những kiểu dữ liệu này.

Mọi kiểu dữ liệu trong .NET đều đƣợc kế thừa từ kiểu dữ liệuS

ystem.Object. Các kiểu dữ liệu đƣợc chia làm hai loại: kiểu tham chiếu và kiểu giá trị. Kiểu dữ liệu tham chiếu đƣợc xử lý trong một vùng nhớ đặc biệt gọi là heap thông qua các con trỏ. Kiểu dữ liệu giá trị đƣợc tham chiếu trực tiếp trong stack của chương trình.

c. Assemblies

Tất cả các mã đƣợc quản lý thực thi trong .NET đều phải đƣợc chứa trong một assembly. Một assembly đƣợc xem nhƣ là một file EXE hoặc DLL. Một asembly có thể chứa một tập hợp gồm một hay nhiều file chứa phần mã lệnh hoặc tài nguyên (nhƣ ảnh hoặc dữ liệu XML).

Một assembly được tạo ra khi trình biên dịch tương thích với .NET chuyển một file chứa mã nguồn thành một file DLL hoặc EXE. Nhƣ minh họa trong hình 1.4, một assembly chứa một manifest, metadata, và ngôn ngữ trung gian sinh bởi trình biên dịch cụ thể.

Manifest: Mỗi assembly phải có một file chứa một manifest. Manifest này là một tập hợp các bảng chứa các metadata trong đó liệt kê tên của tất cả các file trong assembly, tham chiếu đến các assembly bên ngoài, và các thông tin nhƣ tên, phiên bản để định danh assembly đó. Một số assembly còn có cả chữ ký điện tử duy nhất (unique digital signature). Khi một assembly đƣợc nạp, nhiệm vụ đầu tiên của CLR là mở file chứa manifest để có thể định danh các thành viên có trong assembly.

Metadata: Ngoài các bảng trong manifest vừa định nghĩa, trình biên dịch C# còn sinh ra các bảng định nghĩa và bảng tham chiếu. Bảng định nghĩa cung cấp một ghi chú đầy đủvề các kiểu chứa trong IL. Ví dụ, có các bảng định nghĩa kiểu, phương thức, trường dữ liệu, tham số, và thuộc tính. Bảng tham chiếu chứa các thông tin về

tất cả các tham chiếu về kiểu và các assembly khác. Trình biên dịch JIT phụ thuộc vào các bảng này để chuyển IL sang mã máy.

3.1.3. Công cụ Microsoft Office Access.

3.1.3.1. Đặc điểm chung.

Microsoft Office Access, thường được gọi tắt là MS Access hoặc đơn giản là Access, là một phần mềm quản lý cơ sở dữ liệu quan hệ do hãng Microsoft giữ bản quyền. Access thường được đóng gói cùng các phần mềm khác trong bộ Microsoft Office và đƣợc sử dụng rộng rãi trong các máy tính cài hệ điều hành Windows.

Các file Microsoft Access thường có phần mở rộng (đuôi) là mdb hay mdbx hay accdb.

Các nhà phát triển phần mềm và thiết kế dữ liệu có thể sử dụng Microsoft Access để phát triển các phần mềm ứng dụng , người quản lý có thể sử dụng nó để xây dựng các ứng dụng phần mềm. MS Access đƣợc hỗ trợ bởi Visual Basic cho việc lập trình các ứng dụng , một hướng đối tượng ngôn ngữ lập trình có thể tham khảo một loạt các đối tƣợng bao gồm cả DAO (Data Access Objects), ActiveX Data Objects, và nhiều thành phần ActiveX khác. Đối tƣợng trực quan đƣợc sử dụng trong các hình thức và báo cáo tiếp xúc với các phương pháp và tài nguyên của chúng trong môi trường lập trình VBA, và mô-đun mã VBA có thể gọi các hàm của hệ điều hành Windows.

3.1.3.2. Lịch sử phát triển:

- 1992: Microsoft phát hành phiên bản Access 1.0 vào 13 tháng 11 năm 1992, và phiên bản 1.1 vào tháng 5 năm 1993 để cải thiện khả năng tương thích với các sản phẩm khác của Microsoft bao gồm các ngôn ngữ lập trình khác.

- 1993: Microsoft quy định các yêu cầu phần cứng tối thiểu để truy cập v2.0.

- Ban đầu, phần mềm này làm việc tốt với cơ sở dữ liệu tương đối nhỏ nhưng thử nghiệm cho thấy, một số trường hợp gây ra lỗi dữ liệu . Cùng với sự giảm dần lƣợng sử dụng của Windows 95, 98 và ME, độ tin cậy mạng đƣợc cải thiện, và Microsoft đã phát hành 8 gói dịch vụ cho các Jet Database Engine , độ tin cậy của cơ sở dữ liệu truy cập đã đƣợc cải thiện và nó hỗ trợ cả nhiều dữ liệu và một số lượng lớn của người sử dụng.

- Với bộ MS Office 95, Microsoft Access 7.0 (hay còn gọi là "Access 95") đã trở thành một phần của Microsoft Office Professional Suite, gia nhập Microsoft Excel, Word và PowerPoint và chuyển từ Access Basic thành Visual Basic for Applications (VBA). Kể từ đó, Microsoft đã phát hành phiên bản mới của Microsoft Access với mỗi phiên bản của Microsoft Office.

- Phiên bản 3.0 của Microsoft Jet database engine đã có một vấn đề quan trọng về yêu cầu cấu hình bộ nhớ trong. Microsoft đã sữa lỗi này ở phiên bản 3.5 của Microsoft Jet database engine.

- Các định dạng cơ sở dữ liệu cũng đã phát triển. Định dạng bao gồm Access 1.0, 1.1, 2.0, 7.0, 97, 2000, 2002, 2007, và 2010. Quá trình chuyển đổi quan trọng nhất là từ truy cập 97 sang định dạng Access 2000, đó là không tương thích ngược với các phiên bản trước đó của Access. Như năm 2011 tất cả các phiên bản mới hơn của Access hỗ trợ định dạng Access 2000. Tính năng mới đƣợc thêm vào các định dạng Access 2002 có thể đƣợc sử dụng bởi Access 2002, 2003, 2007, và 2010.

3.1.3.3. Tính năng.

- Người dùng có thể tạo ra các bảng, truy vấn, biểu mẫu, báo cáo, và kết nối chúng lại với nhau với các macro . Người dùng cao cấp có thể sử dụng VBA để viết các giải pháp tiên tiến phong phú với thao tác dữ liệu và điều khiển người dùng. Truy cập cũng có tính năng tạo báo cáo có thể làm việc với bất kỳ nguồn dữ liệu Access có thể "truy cập".

- Access cho phép người dùng cuối để có thể "truy cập" dữ liệu từ bất cứ nguồn nào. Các tính năng khác bao gồm: nhập và xuất dữ liệu với nhiều định dạng bao gồm Excel , Outlook , ASCII , dBase , Paradox , FoxPro , SQL Server , Oracle , ODBC , vv Nó cũng có khả năng liên kết dữ liệu hiện tại của mình để xem, truy vấn, chỉnh sửa, và báo cáo. Điều này cho phép các dữ liệu hiện có có thể thay đổi khi Access sử dụng các dữ liệu mới nhất.

- Ngoài ra còn có các đinh dạng Jet Database (MDB hoặc ACCDB trong Access 2007) có thể chứa các ứng dụng và dữ liệu trong một tập tin. Điều này rất thuận tiện để phân phối toàn bộ ứng dụng để người dùng kháckhi chạy trong môi trường bị ngắt kết nối.

Một phần của tài liệu Xây dựng phần mềm hổ trợ tìm hiểu rèn luyện kỹ năng nghiệp vụ công tác đoàn. (Trang 28 - 33)

Tải bản đầy đủ (PDF)

(53 trang)