9. Kết cấu của Luận án
2.3. Khái niệm công nghệ tƣơng thích trong hệ phần mềm xử lý dữ liệu
2.3.1. Định nghĩa công nghệ tương thích trong hệ phần mềm xử lý dữ liệu
sản phẩm dữ liệu mà chúng tạo ra phải có tính thống nhất ở phần đầu ra của sản phẩm (dữ liệu). Khi đó, việc tổng hợp các sản phẩm của các phần mềm khác nhau sẽ được sử dụng thuận lợi trên một phần mềm tổng hợp ở cấp cao hơn.
2.3. Khái niệm công nghệ tƣơng thích trong hệ phần mềm xử lý dữ liệu
2.3.1. Định nghĩa công nghệ tương thích trong hệ phần mềm xử lý dữ liệu địa chính chính
Trong tiếng Anh thuật ngữ Compatible có nghĩa là tƣơng thích, thích hợp. Theo Từ điển Anh - Việt thì thuật ngữ compatible thể hiện ở dạng tính từ đƣợc giải nghĩa là hợp, thích hợp, tương hợp, khi compatible đi cùng với công nghệ, thiết bị thì có thể hiểu là tƣơng thích, ví dụ câu This printer is compatible with
most microcomputers đƣợc hiểu là máy in này tương thích với phần lớn các máy
vi tính.
Công nghệ tƣơng thích (Compatible Technology) đã đƣợc nhiều nhà nghiên cứu ở nƣớc ngoài quan tâm. Trên Tạp chí Kinh tế công nghiệp, Begoña Garcia Mariñoso khi bàn đến lựa chọn công nghệ nội sinh hay công nghệ nhập ngoại đã đặt vấn đề khảo sát công nghệ tƣơng thích và công nghệ không tƣơng thích trong quá trình chuyển giao công nghệ, nhất là chuyển giao công nghệ từ nƣớc ngoài. Cơ sở tự nhiên và xã hội để lựa chọn công nghệ tƣơng thích dựa trên các yếu tố nhƣ tài nguyên thiên nhiên, tài nguyên con ngƣời, kinh tế, môi trƣờng, văn hóa, xã hội, chính trị, pháp luật, quốc tế... Công nghệ tƣơng thích phải là các công nghệ đạt đƣợc các mục tiêu của quá trình phát triển kinh tế - xã hội, trên cơ sở phù hợp với điều kiện của môi trƣờng tự nhiên và môi trƣờng xã hội. [Begoña G.M., 2001].
Tuy nhiên, cần nhận thấy rằng thuật ngữ thích hợp và tương thích trong lĩnh vực công nghệ có những khác biệt so với nghĩa thông thƣờng của hai cụm từ này. Bản thân từng công nghệ bao giờ cũng đƣợc xem là thích hợp tại thời điểm nó ra đời, tuy nhiên do sự phát triển của KH&CN, mà các công nghệ trong cùng một lĩnh vực ra đời và phát triển ở từng giai đoạn khác nhau, tại từng nơi xuất xứ khác nhau mà có thể không tƣơng thích với nhau. Vấn đề đặt ra là:
- Lựa chọn công nghệ thích hợp: chỉ chọn một công nghệ đƣợc cho là
thích hợp và loại bỏ những công nghệ khác (không thích hợp), khả năng này rất tốn kém về chi phí và không phù hợp với thực tiễn, nhất là thực tiễn ở các quốc gia đang phát triển;
- Lựa chọn công nghệ tương thích: tích hợp các công nghệ theo hƣớng sao
cho các công nghệ khác nhau không xảy ra xung đột, không xảy ra mâu thuẫn, sản phẩm đầu ra của công nghệ tƣơng thích phù hợp với sản phẩm đầu ra của từng công nghệ trƣớc đó.
Tiền đề làm cơ sở cho việc lựa chọn công nghệ tƣơng thích là có loạt công nghệ sẵn có để thỏa mãn một nhu cầu nhất định. Các khó khăn của việc lựa chọn công nghệ tƣơng thích có thể gặp phải:
- Cần nhiều nguồn lực, trong đó có nhân lực và tài chính;
- Gián đoạn về mặt thời gian, tác động đến sự vận hành bình thƣờng của hệ thống, gây thiệt hại cho các chủ thể khác, nhất là các chủ thể sử dụng sản phẩm đầu ra của hệ thống để làm nguyên liệu cho đầu vào của một hệ thống khác;
- Đòi hỏi năng lực vận hành và trình độ quản lý cao;
Có những quan niệm cho rằng, đối với các nƣớc đang phát triển để dung hòa có thể chọn công nghệ trung gian. Loại công nghệ này có trình độ trung gian giữa công nghệ thô sơ, rẻ tiền và công nghệ tiên tiến, hiện đại. Lý do có thể là:
- Điều kiện ở các nƣớc đang phát triển không giống nhƣ điều kiện ở các nƣớc phát triển. Cho nên loại công nghệ trung gian có thể dung hòa đƣợc nhiều công nghệ khác nhau;
- Đƣợc xây dựng với quy mô từ nhỏ đến lớn, từ đơn giản đến phức tạp, từ trình độ trung bình đến hiện đại. Công nghệ trung gian sẽ tạo ra các cơ hội tốt bằng thực nghiệm và từng bƣớc nâng dần kỹ năng, kỹ xảo cũng nhƣ kinh nghiệm quản lý;
- Có điều kiện triển khai nhiều công nghệ để giải quyết nhiều mục tiêu trong điều kiện các nguồn lực bị hạn chế;
- Công nghệ trung gian tạo điều kiện cho việc tiếp thu, đồng hóa dễ dàng. Đối với công nghệ phần mềm (trong tiếng Anh còn sử dụng thuật
ngữ software engineering). Theo IEEE, công nghệ phần mềm đƣợc hiểu là sự áp
dụng một cách tiếp cận có hệ thống và định lƣợng đƣợc cho việc phát triển, sử dụng và bảo trì phần mềm [IEEE, 1990]. Nhƣ vậy, công nghệ phần mềm bao gồm các kiến thức, các công cụ và các phƣơng pháp cho việc định nghĩa yêu cầu phần mềm thực hiện các tác vụ thiết kế, xây dựng, kiểm thử (software testing) và bảo trì phần mềm. Theo Theo Alain Abran, James W. Moore: “Công nghệ phần mềm còn sử dụng kiến thức của các lĩnh vực như kỹ thuật máy tính, khoa học máy tính, quản lý, toán học, quản lý dự án, quản lý chất lượng, công thái học phần mềm (software ergonomics) và công nghệ hệ
thống (systems engineering)” [Alain A., James W.M., 2004].
Quy trình công nghệ phần mềm bao gồm:
- Lập trình định dạng (aspect-oriented programming) giúp ngƣời lập trình ứng xử với các yêu cầu không liên quan đến các chức năng thực tế của phần mềm bằng cách cung ứng các công cụ để thêm hay bớt các khối mã ít bị thay đổi
nên ứng xử nhƣ thế nào trong một tình huống cụ thể. Ví dụ: lập trình định dạng có thêm vào các cơ cấu kiểm soát hiệu chỉnh lỗi, biên bản và khóa cho tất cả các đối tƣợng của một số kiểu. Các nhà nghiên cứu đang tìm cách ứng dụng lập trình định dạng để thiết kế mã cho mục tiêu thông thƣờng;
- Phát triển phần mềm linh hoạt: trong đó phát triển phần mềm thông qua việc dùng các ngôn ngữ lập trình, còn phát triển phần mềm linh hoạt nhằm hƣớng dẫn các đề án phát triển phần mềm mà trong đó bao gồm việc thỏa mãn các nhu cầu thay đổi và sự cạnh tranh của thị trƣờng một cách nhanh chóng;
- Yêu cầu phần mềm: phân tách, phân tích, đặc tả và phê chuẩn các yêu cầu đối với phần mềm;
- Thiết kế phần mềm: việc thiết kế phần mềm đƣợc hoàn thành bằng các công cụ Computer-Aided Software Engineering (CASE) và sử dụng các tiêu chuẩn định dạng nhƣ Unified Modeling Language (UML);
- Kiểm thử phần mềm;
- Bảo trì phần mềm: các hệ thống phần mềm thƣờng có nhiều vấn đề và cần đƣợc cải tiến trong một thời gian dài sau khi đã đƣợc hoàn tất vào lần đầu tiên;
- Quản lý cấu hình phần mềm: các hệ thống phần mềm rất phức tạp, cấu hình của chúng (ví dụ nhƣ kiểm soát phiên bản và mã nguồn) phải đƣợc quản lý bằng các phƣơng pháp chuẩn và có cấu trúc;
- Sản phẩm phần mềm là các phần mềm đƣợc phân phối cho khách hàng cùng với các tài liệu mô tả phƣơng thức cài đặt và cách thức sử dụng chúng;
- Sản phẩm tổng quát: là các phần mềm đứng riêng, đƣợc sản xuất bởi một tổ chức phát triển và bán vào thị trƣờng cho bất kỳ khách hàng nào có khả năng tiêu thụ;
- Sản phẩm chuyên ngành: là phần mềm đƣợc hỗ trợ tài chính bởi khách hàng trong chuyên ngành. Phần mềm đƣợc phát triển một cách đặc biệt cho khách hàng qua các hợp đồng.
Thuộc tính của một sản phẩm phần mềm là các đặc tính xuất hiện từ sản phẩm một khi nó đƣợc cài đặt và đƣợc đƣa ra dùng. Các thuộc tính
này không bao gồm các dịch vụ đƣợc cung cấp kèm theo sản phẩm đó. Ví dụ:
mức hiệu quả, độ bền, khả năng bảo trì, khả năng dùng ở nhiều nền là các thuộc tính. Các thuộc tính biến đổi tùy theo phần mềm. Tuy nhiên những thuộc tính tối quan trọng bao gồm:
- Khả năng bảo trì: có khả năng thực hành những tiến triển để thỏa mãn yêu cầu của khách hàng;
- Khả năng tin cậy: khả năng tin cậy của phần mềm bao gồm một loạt các đặc tính nhƣ là độ tin cậy, an toàn, và bảo mật. Phần mềm tin cậy không thể tạo ra các thiệt hại vật chất hay kinh tế trong trƣờng hợp hƣ hỏng;
- Độ hữu hiệu: phần mềm không thể lãng phí các nguồn tài nguyên nhƣ là bộ nhớ và các chu kỳ vi xử lý;
- Khả năng sử dụng: phần mềm nên có một giao diện tƣơng đối dễ cho ngƣời dùng và có đầy đủ các hồ sơ về nó. [Ian S., 2004].