Các đặc trưng của Java

Một phần của tài liệu đồ án công nghệ thông tin Khảo sát và phân tích thiết kế hệ thống,Xây dựng và cài đặt chương trình (Trang 25)

Đơn giản

Độc lập phần cứng và hệ điều hành Mạnh Bảo mật Phân tán Đa luồng Động 2.2.1 Đơn giản

Những người thiết kế mong muốn phát triển một ngôn ngữ dễ học và quen thuộc với đa số người lập trình. Do vậy Java loại bỏ các đặc trưng phức tạp của C và C++ như thao tác con trỏ, thao tác định nghĩa chồng toán tử (operator overloading),… Java không sử dụng lệnh “goto” cũng như file header (.h). Cấu trúc “struct” và “union” cũng được loại bỏ khỏi Java.

2.2.2 Hướng đối tượng

Java được thiết kế xoay quanh mô hình hướng đối tượng. Vì vậy trong Java, tiêu điểm là dữ liệu và các phương pháp thao tác lên dữ liệu đó. Dữ liệu và các phương pháp mô tả trạng thái và cách ứng xử của một đối tượng trong Java.

2.2.3 Độc lập phần cứng và hệ điều hành

Đây là khả năng một chương trình được viết tại một máy nhưng có thể chạy được bất kỳ đâu. Chúng được thể hiện ở mức mã nguồn và mức nhị phân.

Ở mức mã nguồn, người lập trình cần mô tả kiểu cho mỗi biến. Kiểu dữ liệu trong Java nhất quán cho tất cả các hệ điều hành và phần cứng khác nhau. Java có riêng một thư viện các lớp cơ sở. Vì vậy chương trình Java được viết trên một máy có thể dịch và chạy trơn tru trên các loại máy khác mà không cần viết lại.

Tính độc lập ở mức nhị phân, một chương trình đã biên dịch có thể chạy trên nhiều nền (phần cứng, hệ điều hành) khác mà không cần dịch lại mã nguồn. Tuy vậy cần có phần mềm máy ảo Java (sẽ đề cập đến ở phần sau) hoạt động như một trình thông dịch tại máy thực thi.

compiler compiler compiler IB M Sparc

Hình 2.1 Cách biên dịch truyền thống

Đối với các chương trình viết bằng C, C++ hoặc một ngôn ngữ nào khác, trình biên dịch sẽ chuyển tập lệnh thành mó máy (machine code),hay lệnh của bộ vi xử lý. Những lệnh này phụ thuộc vào CPU hiện tại trên máy bạn. Nên khi muốn chạy trên loại CPU khác, chúng ta phải biên dịch lại chương trình. Hình 2.1 thể hiện quá trình để thực thi chương trình viết bằng C++ trên các loại máy khác nhau.

Hình 2.2 Quá trình thực thi chương trình viết bằng Java trên các loại máy khác nhau

Hình 2.2 Dịch chương trình Java

Môi trường phát triển của Java được chia làm hai phần: Trình biên dịch và trình thông dịch. Không như C hay C++, trình biên dịch của Java chuyển mã nguồn thành dạng bytecode độc lập với phần cứng mà có thể chạy trên bất kỳ CPU nào.

Nhưng để thực thi chương trình dưới dạng bytecode, tại mỗi máy cần phải có trình thông dịch của Java hay còn gọi là máy ảo Java. Máy ảo Java chuyển bytecode thành mã lệnh mà CPU thực thi được.

2.2.4 Mạnh mẽ

Java là ngôn ngữ yêu cầu chặt chẽ về kiểu dữ liệu. Phải khai báo kiểu dữ liệu tường minh khi viết chương trình. Java kiểm tra lúc biên dịch và cả trong thời gian thông dịch vì vậy Java loại bỏ một một số loại lỗi lập trình nhất định.

Java không sử dụng con trỏ và các phép toán con trỏ. Java kiểm tra tất cả các truy nhập đến mảng, chuỗi khi thực thi để đảm bảo rằng các truy nhập đó không ra ngoài giới hạn kích thước. Java kiểm tra sự chuyển đổi kiểu dữ liệu từ dạng này sang dạng khác lúc thực thi.

Trong các môi trường lập trình truyền thống, lập trình viên phải tự mình cấp phát bộ nhớ. Trước khi chương trình kết thúc thì phải tự giải phóng bộ nhớ đã cấp. Vấn đề nảy sinh khi lập trình viên quân giải phóng bộ nhớ đã xin cấp trước đó. Trong chương trình Java, lập trình viên không phải bận tâm đến việc cấp phát bộ nhớ. Qúa trình cấp phát, giải phóng được thực hiện tự động, nhờ dịch vụ thu nhặt những đối tượng không còn sử dụng nữa (garbage collection).

Macintosh Trình biên dịch Bytecode Độc lập nền (Platform independent) Trình thông dịch Java (Java Interpreter) IBM Sparc

Cơ chế bẫy lỗi của Java giúp đơn giản hóa qúa trình xử lý lỗi và hồi phục sau lỗi.

2.2.5 Bảo mật

Viruses là nguyên nhân gây ra sự lo lắng trong việc sử dụng máy tính. Trước khi có Java, các lập trình viên phải quét virus các tệp trước khi tải về hay thực hiện chúng. Thông thường việc này cũng không loại trừ hoàn toàn virus. Ngoài ra chương trình khi thực thi có khả năng tìm kiếm và đọc các thông tin nhạy cảm trên máy của người sử dụng mà người sử dụng không hề hay biết.

Java cung cấp một môi trường quản lý thực thi chương trình. Nó cho rằng không có một đoạn mã nào là an toàn cả. Và vì vậy Java không chỉ là ngôn ngữ lập trình thuần tuý mà còn cung cấp nhiều mức để kiểm soát tính an toàn khi thực thi chương trình.

Ở mức đầu tiên, dữ liệu và các phương thức được đóng gói bên trong lớp. Chúng chỉ được truy xuất thông qua các giao diện mà lớp cung cấp. Java không hỗ trợ con trỏ vì vậy không cho phép truy xuất bộ nhớ trực tiếp. Nó cũng ngăn chặn không cho truy xuất thông tin bên ngoài kích thước của mảng bằng kỹ thuật tràn và cũng cung cấp kỹ thuật dọn rác trong bộ nhớ. Các đặc trưng này tạo cho Java an toàn tối đa và có khả năng cơ động cao.

Trong lớp thứ hai, trình biên dịch kiểm soát để đảm bảo mã là an toàn, và tuân theo các nguyên tắc của Java.

Lớp thứ ba được đảm bảo bởi trình thông dịch. Chúng kiểm tra xem bytecode có đảm bảo các qui tắc an toàn trước khi thực thi.

Lớp thứ tư kiểm soát việc nạp các lớp vào bộ nhớ để giám sát việc vi phạm giới hạn truy xuất trước khi nạp vào hệ thống.

2.2.6 Phân tán

Java có thể dựng để xây dựng các ứng dụng có thể làm việc trên nhiều phần cứng, hệ điều hành và giao diện đồ họa. Java được thiết kế hỗ trợ cho các ứng dụng chạy trên mạng. Vì vậy chúng được sử dụng rộng rãi như là công cụ phát triển trên Internet, nơi sử dụng nhiều nền tảng khác nhau.

2.2.7 Đa luồng

Chương trình Java đa luồng(Multithreading) để thực thi các công việc đồng thời. Chúng cũng cung cấp giải pháp đồng bộ giữa các luồng. Đặc tính hỗ trợ đa này này cho phép xây dựng các ứng dụng trên mạng chạy hiệu quả.

2.2.8 Động

Java được thiết kế như một ngôn ngữ động để đáp ứng cho những môi trường mở. Các chương trình Java chứa rất nhiều thông tin thực thi nhằm kiểm soát và truy nhập đối tượng lúc chạỵ. Điều này cho phép khả năng liên kết động mã.

3.Giới thiệu tổng quan về NetFrameWork. 3.1NetFrameWork.

.NET được phát triển từ đầu năm 1998, lúc đầu có tên là Next Generation Windows Services (NGWS). .NET Framework là một tập những giao diện lập trình và là tâm điểm của nền tảng .NET. Nó cung cấp cơ sở hạ tầng để xây dựng và chạy các dịch vụ Web. .NET Framework bao gồm ba thành phần chính là Common Language Runtime (bộ thực thi ngôn ngữ chung), The Base Classes (các lớp thư viện cơ sở) và ASP.NET (các ứng dụng Web). Nó được thiết kế hoàn toàn từ con số không để dùng cho Internet. Viễn tưởng của Microsoft là xây dựng một hệ thống phân phối toàn cầu, dựng XML (chứa những databases tí hon) làm chất keo để kết hợp chức năng của những computers khác nhau trong cùng một tổ chức hay trên khắp thế giới.

Những computers này có thể là Servers,Desktop,Notebook hay Pocket Computers, đều có thể chạy cùng một software dựa trên một platform duy nhất, độc lập với hardware và ngôn ngữ lập trình. Dĩ là .NET Framework. Nó sẽ trở thành một phần của MS Windows và sẽ được port qua các platform khác, có thể là ngay cả Unix.

• .NET application được chia ra làm hai loại: Cho Internet gọi là ASP.NET, gồm có Web Forms và Web Services và cho desktop gọi là Windows Forms. Windows Forms giống như Forms của VB6, nó hỗ trợ Unicode hoàn toàn, rất tiện cho chữ Việt và thật sự hướng đối tượng. Web Forms có những Server Controls làm việc giống như các Controls trong Windows Forms, nhất là có thể dựng codes để xử lý các Events y hệt như Windows Forms.

• Common Language Runtime:

Common Language Runtime (CLR) là trung tâm điểm của .NET Famework, nó là hầm máy để chạy các năng tính của .NET. Trong .NET, mọi ngôn ngữ lập trình đều được compiled ra Microsoft Intermediate Language (IL) giống như byte code của Java. Nhờ bắt buộc mọi ngôn ngữ đều phải dựng cùng các loại data types (gọi là Common Type System) nên Common Language Runtime có thể kiểm soát mọi interface, gọi giữa các components và cho phép các ngôn ngữ có thể hợp tác nhau một cách thông suốt. Tức là trong .NET, VB.NET program có thể inherit C# program và ngược lại một cách hoàn toàn tự nhiên.

Điều này chẳng những giúp các VC++ hay Java programmers bắt đầu dựng C# một cách dễ dàng mà còn làm cùng một dự án với VB.NET programers nữa.

Nếu VC++ linh động và hiệu năng hơn VB6, thì C# chẳng khác gì VB.NET. Bạn có thể port C# code qua VB.NET code rất dễ dàng. Vì source code VC++ và Java gần gũi C# hơn VB6 với VB.NET nên ngoài đời có nhiều C# code hơn VB.NET. Do đó, mặc dầu hai ngôn ngữ VB.NET và C# đều tiện dụng như nhau, nếu dựng C# bạn được lợi điểm có nhiều source code có sẵn.

Khi chạy .NET application, nó sẽ được compiled bằng một JIT (Just-In-Time) compiler rất hiệu năng ra machine code để chạy. Điểm nầy giúp .NET application chạy nhanh hơn Java interpreted code trong Java Virtual Machine. Just-In-Time cũng có nghĩa là chỉ phần code nào cần xử lý trong lúc ấy mới được compiled. IL code chạy trong CLR đuợc nói là managed code. NET code có thể chạy chung với ActiveX, nhưng code trong ActiveX được gọi là unmanaged code, tức là CLR không chịu trách nhiệm.

Ngoài việc allocation và management of memory, CLR còn giữ các refrerence đến objects và đỗ rác (handle garbage collection), tức là thâu lại các mảnh vụn memory khi chúng không cần dựng nữa. Trước đây, mỗi khi một DLL đuợc loaded vào memory, system sẽ ghi nhận có bao nhiêu task dựng nó để khi task cuối cùng chấm dứt thì system unload DLL và trả lại phần memory nó dùng trước đây để system dùng cho chuyện khác. Chớ nếu allocate memory để dựng mà không nhớ dispose nó thì sẽ bị memory leak (rỉ ), lần ta dùng hết memory, bị bắt buộc phải reboot OS. Nhưng bây giờ .NET dựng một process độc lập để làm việc garbage collection. Cái phản ứng phụ của việc nầy là khi ta đã Dispose một Object rồi, ta vẫn không biết chắc chắn chừng nào nó mới thật sự biến mất. Vì garbage collector là một low priority process làm việc trong background, chỉ khi nào system memory gần cạn nó mới nâng cao priority lên. Assembly

.NET application xây dựng từ các assemblies. Mỗi assembly phải có một manifest. Có thể nó nằm riêng trong một file hay nằm bên trong một module. Manifest chứa những metadata sau đây:

• Tên và Version number của assembly

• Những assembly khác (kể cả version number của assembly) mà assembly nầy tùy thuộc vào để chạy

• Types (classes và members) mà assembly nầy cho xuất khẩu

• Assembly nầy đòi hỏi điều kiện an ninh nào (security permissions)

Manifest cho phép ta dựng hơn một version của assembly (tương đương với DLL trước đây) cùng một lúc. Từ đây không còn register DLL nữa. Thay vào đó, ta chỉ cần copy các assembly vào một subfolder /bin của chương trình chính

3.2. Giới thiệu tổng quan về Visual Studio & Visual C# 2005.Visual Studio.NET Visual Studio.NET

Visual Studio.NET cung cấp một môi trường phát triển mức cao để xây dựng các ứng dụng trên .NET Framework. Với bộ Visual Studio.NET chúng ta có thể đơn giản hoá việc tạo, triển khai và tiếp tục phát triển các ứng dụng Web và các dịch vụ Web có sẵn một cách an toàn, bảo mật và khả nǎng biến đổi được. Visual Studio.NET là một bộ đa ngôn ngữ các công cụ lập trình. Ngoài C# (Visual C#.NET), Visual Studio.NET còn hỗ trợ Visual Basic, Visual C++, Visual J#.NET và các ngôn ngữ script như VBScript và JScript. Tất cả các ngôn ngữ này đều cho phép truy cập vào .NET Framework, phần này sẽ được thảo luận ở mục tiếp sau.

Visual C# .NET là một ngôn ngữ lập trình đơn giản, hiện đại, hướng đối tượng an toàn kiểu (type-safe) và có nguồn gốc từ các ngôn ngữ C và C++. C# là một ngôn ngữ rất thân thiện với người lập trình C và C++. C# là kết quả của việc kết hợp hiệu nǎng cao của Visual Basic và sức mạnh của C++. C# được Microsoft giới thiệu để xây dựng với Web và đòi hỏi quyền được cung cấp một môi trường đồng bộ với HTML[3], XML[1] và SOAP[4]. Tóm lại C# là một ngôn ngữ lập trình hiện đại và là một môi trường phát triển đầy tiềm nǎng để tạo ra các dịch vụ Web XML, các ứng dụng dựa trên Microsoft .NET và cho cả nền tảng Microsoft Windows cũng như tạo ra các ứng dụng Internet thế hệ kế tiếp một cách nhanh chóng và hiệu quả.

Chương 2: KHẢO SÁT VÀ PHÂN TÍCH THIẾT KẾ HỆ THỐNG

I. KHẢO SÁT SÁT VÀ YÊU CẦU CỦA KHÁCH HÀNG VỀ TỪ ĐIỂN QUẢN LÝ TỪ KĨ THUẬT CHUYÊN NGÀNH CÔNG NGHỆ THÔNG TIN – NHÓM SẢN XUẤT SỐ 7(GROUP 7) CÔNG TY CỔ PHẦN PHẦN MỀM FPTSOFTWARE

1. Phân tích đặc tả yêu cầu nội dung

1.1 Giới thiệu chung :

Xuất phát từ hoàn cảnh và yêu cầu thực tế là công ty FPTSoftware là làm việc với khách hàng Nhật bản rất nhiều(hiện nay oursourcing cho thị trường Nhật Bản chiếm 65% doanh thu của Fsoft ).Số lượng dự án và những người làm việc liên quan tới thị trường Nhật Bản không ngừng tăng lên.Việc làm việc,sử dụng trực tiếp 1 ngôn ngữ khó như tiếng Nhật là vấn đề khá khó khăn,vất vả.Có nhiều người đi trước đã tích lũy được nhiều kinh nghiệm và nhưng cũng khó có thể truyền đạt lại được vốn tri thức của mình.

Trong dự án việc quản lý từ,cụm từ chuyên ngành công nghệ thông tin 1 cách khoa học,rõ ràng là một nhu cầu rất cần thiết,gần gũi.Nếu làm được việc này thì tất cả những người làm việc trực tiếp trong dự án như là các phiên dịch viên(Communicator),nhân viên phát triển phần mềm(Developer),nhân viên quản lý chất lượng(Quality Assurance),nhân viên kiểm thử phần mềm…sẽ dễ dàng tiếp cận dự án,mất ít công sức hơn trong việc làm quen với dự án mà không cần người phải truyền đạt những kiến thức từ những dự án trước cùng dòng sản phẩm.Đối tượng muốn quản lý các từ kĩ thuật này là các phiên dịch viên những người làm công tác chuyển đổi ngôn ngữ.

Cụ thể cách mọi người vẫn làm trong dự án là : quản lý các từ bằng các file excel hoặc word mà mỗi người lại có thể làm theo những cách khác nhau mà người ta cho rằng làm như thế dễ làm hoặc đơn giản chỉ là thói quen.Cách này có 1 nhược điểm là quản lý không tập trung và không có 1 chuẩn tài liệu,người này không thể tham khảo hoặc học hỏi được những từ cùng loại ở các dự án khác nhau.Đến khi muốn tập trung hoặc tổng kết báo cáo thì mất rất nhiều thời gian và công sức của mọi người.Mọi người chưa nghĩ ra được solution gì có vẻ khả thi.

Khi người ta đã có chung 1 chuẩn về database quản lý từ (giả sử là quản lý bằng 1 file excel trung chẳng hạn) thì chúng ta có thể dựng các tính năng của excel để truy

vấn các dự liệu cần thiết theo các column,hoặc có thể viết các add-in,script bằng ngôn ngữ VBA chẳng hạn(với điều kiện là người dùng phải là master về excel chẳng hạn).Cách này sẽ export được ra các report file như html,…

Khi nghĩ ra được cách làm thì lại có 1 số vấn đố phát sinh sau:

+ Cách sử dụng trực tiếp file excel này có nhược điểm là nếu hơn mấy trăm phiên dịch viên làm việc hàng ngày với file excel này mà mỗi người lại phải report thì lượng data bằng excel là rất lớn và khó quản lý.

+ Nhưng những người thao tác hàng ngày với các từ tiếng nhật lại là những phiên dịch viên những người vốn không chuyên về công nghệ thông tin sẽ khó có thể sử dụng những tính năng rất phức tạp của excel như em vừa nêu.

+ Mỗi từ cần lưu có thể có đến 10 trường dữ liệu liên quan tới từ đó nếu mình

Một phần của tài liệu đồ án công nghệ thông tin Khảo sát và phân tích thiết kế hệ thống,Xây dựng và cài đặt chương trình (Trang 25)

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

(63 trang)
w