Chat Now :
    • Bộ phận tư vấn bán hàng

      My status

      My status

      My status

      My status

       
      Bộ phận hỗ trợ kỹ thuật

      My status

      My status

      My status

      My status


       

       

EFFECT-ERP là sản phẩm lớn nhất và chiến lược nhất của công ty trong lĩnh vực phát triển phần mềm cho các doanh nghiệp. Qua nhiều năm không ngừng phát triển và hoàn thiện sản phẩm, EFFECT - ERP cho đến nay đã trở thành một giải pháp quản trị toàn diện, bao phủ nhiều mảng nghiệp vụ phục vụ cho công tác quản trị doanh nghiệp tổng thể.

Lập trình chạy ngay - những bước gian truân

Để có được một sản phẩm phần mềm bất kỳ ứng dụng được, một cá nhân hay cả một công ty phần mềm cũng đều phải bỏ ra rất nhiều thời gian, công sức, kiên trì tìm tòi, thiết kế, thử nghiệm... mới mong đi tới thành công.

 

Để có một ngôn ngữ lập trình như Visual Foxpro, C# hay .NET... Microsoft không chỉ phải huy động lực lượng khổng lồ của mình thực hiện mà còn cần phải có một khoảng thời gian đủ lớn để các ý tưởng thai nghén, hình thành và phát triển. Các ngôn ngữ lập trình đã phải trải qua một thời gian dài nâng cấp, cải tiến qua nhiều phiên bản mới trở thành như bây giờ để chúng ta sẵn có mà sử dụng.

 

Mặc dù vậy, cái khó vẫn ló cái khôn. Ý tưởng sáng tạo vẫn luôn tạo ra những điều bất ngờ  kỳ diệu và không có giới hạn...

 

Ngôn ngữ lập trình chạy ngay của EFFECT là một sản phẩm phần mềm "nhỏ xíu" so với những thành quả khổng lồ của các ngôn ngữ lập trình mà chúng ta đang sử dụng, nhưng nó là kết quả sự táo bạo dám nghĩ dám làm những điều tưởng chừng như không thể !

 

Thay đổi cả cách cư xử cơ bản của ngôn ngữ lập trình, ứng dụng chỉ trong hoàn cảnh cụ thể là Việt Nam, đứng trên vai những người không lồ... Chỉ trong thời gian 6 năm phát triển với đội ngũ cỏn con nhưng ngôn ngữ lập trình chạy ngay của EFFECT đã thực sự trở thành phần mềm nền tảng cho tất cả các sản phẩm của EFFECT và điều kỳ diệu là nó đã tạo ra năng suất lao động vượt bậc, tạo ra hiệu quả không ngờ cho toàn bộ đội ngũ EFFECT và qua đó mang hiệu quả này đến cho hàng ngàn khách hàng hiện đang sử dụng sản phẩm của EFFECT...

 

Cái khó "ló" cái khôn  

 

Ở Việt Nam, ngay cả thời điểm bây giờ (2006), trừ một vài công ty phần mềm lớn gia công hoặc sản xuất phần mềm cho nước ngoài ra, khó có thể tìm được nơi nào khác mà công việc lập trình được diễn ra theo đúng quy trình công nghệ chuẩn và tiên tiến, tức là có những bộ phận chuyên thiết kế phần mềm, sử dụng những sản phẩm phần mềm khác để tạo ra tập tài liệu dày là các bản thiết kế cho dự án phần mềm mà theo đó bộ phận lập trình chỉ cần thực hiện như những cỗ máy là có thể ra được những phần mềm như ý để mang đến cho khách hàng.

 

Nếu như các doanh nghiệp (khách hàng) luôn có đủ trình độ để có thể nói hết những gì mình muốn một cách chi tiết theo ngôn ngữ của những người lập trình, nếu như công ty phần mềm luôn có những nhân viên giỏi nghiệp vụ có thể hiểu ngay được tất cả các ý muốn của khách hàng mà ghi chép lại thành các tài liệu dành cho những người lập trình, nếu như chúng ta có những nhà thiết kế phần mềm giỏi tới mức chỉ cần thiết kế một lần là có được bản thiết kế theo đúng những gì mà khách hàng mong muốn, nếu như...không phải là ở Việt Nam mà là ở Mỹ, ở Đức... thì các công ty phần mềm Việt Nam đã có được các sản phẩm phần mềm "hái ra tiền" từ lâu rồi...

 

Cái khó có thật nhiều! Cần phải đầu tư rất lớn để mang công nghệ tiên tiến vào Việt Nam, cần phải học được phương pháp đào tạo đội ngũ bài bản, chuyên nghiệp. Cần phải duy trì đội ngũ thực hiện được các quy trình sản xuất phần mềm chuẩn quốc tế như CMM... rất rất rất nhiều sự cố gắng đầu tư và kiên trì thì mới có thể có được quy trình sản xuất phần mềm theo chuẩn "quốc tế" để tạo ra những phần mềm có chất lượng cũng..."quốc tế". Nhưng cho dù làm được như vậy, chúng ta cũng chỉ làm có một việc là "bắt chước khéo" những gì nước ngoài đã làm mà thôi.

 

Và điều thật không may là những công ty phần mềm Việt Nam nếu đầu tư và làm được bài bản như vậy cũng chỉ có thể sống được khi bán phần mềm ra nước ngoài mà không phải là bán phần mềm ở thị trường Việt Nam. Thật trớ trêu, các DN Việt Nam chỉ chấp nhận giá cả phần mềm hợp lý theo khả năng của họ, và điều này không thể thay đổi nhanh trong nay mai. Với giá bán phần mềm thấp như vậy thì các quy trình công nghệ tầm cỡ quốc tế cũng chỉ đi đến nước...phá sản do giá thành sản phẩm quá cao so với doanh số có thể bán được trong thị trường nội địa. Điều này giải thích tại sao những công ty phần mềm có đầu tư lớn cho các quy trình công nghệ sản xuất phần mềm kiểu CMM ở Việt Nam đều là các công ty gia công phần mềm cho nước ngoài mà không phải là bán phần mềm trong nước.


Thị trường hay khách hàng vẫn là chân lý và không thể thay đổi được theo ý muốn và cả sự tác động của các công ty phần mềm. Vậy thì các công ty phần mềm Việt Nam nếu muốn bán được hàng trong nước thì phải có "cách nào đó" để sản xuất ra phần mềm với chất lượng "chấp nhận được" nhưng chi phí bỏ ra vẫn thấp hơn so với giá cả phần mềm mà thị trường chấp nhận, vì như thế mới có thể có được lợi nhuận để mà tồn tại.

 

Những bước gian truân 

 

Đối với EFFECT, "cách nào đó" ở đây chính là Lập trình chạy ngay. Những le lói về tư tưởng lập trình chạy ngay có được ngay từ năm 1997, khi giám đốc công ty ông Khương đọc được một bài báo trên tạp chí PcWorld Mỹ nói về phần mềm mã mở (không phải theo nghĩa của Linux) đại khái rằng "Ưu điểm của phần mềm chạy trực tiếp từ các mã lệnh lập trình là việc sửa đổi mã lệnh không cần biên dịch mà vẫn có tác dụng ngay và điều này tạo ra sự năng động rất lớn trong việc chỉnh sửa và cải tiến phần mềm nhưng nhược diểm của phương pháp này là phần mềm chạy chậm vì mỗi khi thực hiên một thao tác thì phần mềm lại phải dịch một đoạn mã lệnh tương ứng nào đó...". Hai năm sau, ý tưởng chính thức mới được hình thành và ông Khương đã có trình bày tại một cuộc hội thảo về "công cụ phát triển phần mềm" tại trường Đại học Bách khoa Hà Nội vào năm 1999 nhưng không có nhiều người quan tâm có thể vì mọi người cho rằng ý tưởng này là viển vông. Thêm 1 năm nữa đội ngũ EFFECT mới chính thức bắt tay vào xây dựng ngôn ngữ lập trình chạy ngay (khoảng giữa năm 2000) và cho đến nay ngôn ngữ lập trình chạy ngay đã có thời gian xây dựng và phát triển hơn 6 năm không kể thời gian thai nghén hình thành ý tưởng.


Thách thức đầu tiên với EFFECT trong việc thực hiện ý tưởng lập trình chạy ngay là việc tìm hiểu xem các ngôn ngữ lập trình quản lý các đối tượng của nó như thế nào. Không có tài liệu nào nói về điều này, chúng tôi phải tìm hiểu bằng suy luận và dự đoán. Khi đã có được cơ chế quản lý các form, các bảng dữ liệu, các thực đơn thì thách thức thứ 2 lại đến là phải tìm hiểu xem Visual Foxpro lưu trữ, quản lý và dịch các mã lệnh lập trình như thế nào?...

 

Cứ như thế, rất nhiều những khám phá, tìm tòi liên tục được thực hiện cho đến khi chúng tôi tin tưởng được rằng có thể viết phần mềm để quản lý thay ngôn ngữ lập trình các đối tượng cơ bản như Form, Object, Menu, Database, Mã lệnh lập trình...trên chính ngôn ngữ lập trình đó. Khi có được một phần mềm như vậy thì rõ ràng người lập trình có thể viết mã lệnh trên giao diện của phần mềm này mà không phải là trên giao diện của ngôn ngữ lập trình truyền thống và điều này mở ra một khả năng nữa là việc viết mã lệnh này có thể được thực hiện ngay khi phần mềm ứng dụng đang chạy và do đó sẽ rất tiện lợi khi chỉnh sửa phần mềm. Phần mềm này chúng tôi gọi là "Ngôn ngữ lập trình chạy ngay" vì nó có được các chức năng quản lý đối tượng cơ bản của một ngôn ngữ lập trình. Nó được khởi động đầu tiên từ hệ điều hành và sau đó tất cả các thao tác của người lập trình cũng như người sử dụng phần mềm (end user) đều được thực hiện trên giao diện của ngôn ngữ lập trình chạy ngay.

 

Trả giá đầu tiên cho việc hiện thực hoá ý tưởng lập trình chạy ngay là việc bỏ đi công sức hơn 1 năm hoạt động của đội ngũ lập trình EFFECT. Khoảng giữa 2000, công ty quyết định tiến hành nâng cấp phiên bản EFFECT2000 đang được viết trên ngôn ngữ Foxwin 2.0, một ngôn ngữ lập trình không theo hướng đối tượng, lên phiên bản sử dụng ngôn ngữ lập trình Visual Foxpro 6.0, là ngôn ngữ lập trình hướng đối tượng và là thành viên của Visual Studio của Microsoft lúc bấy giờ. Đến cuối năm 2001, khi mà phiên bản nâng cấp được hoàn thành nhưng vẫn theo cách lập trình truyền thống sử dụng các công cụ của Visual Foxpro 6.0 thì ban lãnh đạo công ty quyết định bỏ đi thành quả vừa hoàn thành này vì lý do "ý tưởng lập trình chạy ngay đã được thử nghiệm thành công!".

 

Phiên bản nâng cấp đầu tiên của EFFECT2000 đã hoàn thành nhưng chưa được ứng dụng tại khách hàng nào chỉ vì nó không có khả năng "Lập trình chạy ngay". Ban lãnh đạo công ty đã quyết định làm lại phiên bản nâng cấp trên nền ngôn ngữ lập trình chạy ngay. Vui mừng cùng với sự tiếc rẻ, nhưng đội ngũ lập trình EFFECT lại bắt đầu một sự thử thách và mạo hiểm mới: Nâng cấp phiên bản EFFECT2000 lên phiên bản Visual EFFECT 2.0 viết trên ngôn ngữ lập trình chạy ngay đồng thời với việc hoàn thiện ngôn ngữ lập trình chạy ngay.

 

Từ ý tưởng mặc dù thử nghiệm thành công cho đến thực tế "cây đời mãi mãi xanh tươi" vẫn luôn có khoảng cách thật lớn. Mặc dù ngôn ngữ lập trình chạy ngay đã quản lý được các form, menu và cơ sở dữ liệu nhưng khi số lượng form của Visual EFFECT 2.0 lên đến gần 200 thì đội ngũ lập trình nhận thấy tốc độ hiển thị form của chương trình rất chậm chạp tới mức các khách khàng sẽ khó có thể chấp nhận được. Làm gì đây? Nếu không giải quyết được vấn đề tốc độ này thì chắc chắn ý tưởng về ngôn ngữ lập trình chạy ngay sẽ bị phá sản kéo theo biết bao thời gian và công sức đã bỏ ra. Lại tiếp tục vật lộn và cuối cùng thì cơ chế tăng tốc độ hiển thị form theo hướng "không phụ thuộc vào số lượng form của ứng dụng" đã thành công nhưng nhiều mã lệnh nền tảng cả ngôn ngữ lập trình chạy ngay đã phải sửa đổi.

 

Khó khăn tiếp theo cũng không kém phần nghiêm trọng liên quan đến một object  lập trình quan trọng được sử dụng phổ biến trên phần mềm là object Grid. Ý tưởng trong ngôn ngữ lập trình chạy ngay là hiển thị dữ liệu của một bảng dữ liệu lên bảng Grid đồng thời hiện luôn được dữ liệu của nhiều bảng dữ liệu vệ tinh khác trên Grid trong khi duy trì mối quan hệ (relation) giữa các bảng. Ngoài ra cần phải sửa được dữ liệu lấy từ bảng vệ tinh ngay trên Grid bằng nguyên tắc xâu lọc. Cơ chế này đã được thử nghiệm thành công với Foxwin 2.6 nhưng nó không hoạt động trên Visual Foxprro 6.0! Sau khi người dùng sửa dữ liệu của bảng vệ tinh trên Grid bằng nguyên tắc xâu lọc thì con trỏ không dịch chuyển được trên Grid bằng các phím mũi tên dịch chuyển trên bàn phím nữa! Nếu như không khắc phục lỗi này thì số phận ngôn ngữ lập trình chạy ngay cũng bị đe doạ vì có quá nhiều hoạt động của ngôn ngữ và ứng dụng chạy trên ngôn ngữ được dựa trên cơ sở object Grid này trong đó có khả năng lập trình trực tiếp trên grid. May mắn thay, đó không phải là lỗi của ngôn ngữ lập trình chạy ngay mà là của Visual Foxpro 6.0 và đã được khắc phục trong Visual Foxpro 7.0. Visual Foxpro 7.0 đã kịp thời ra đời cứu cho EFFECT một bàn thua "trông thấy". Chúng tôi không cần phải sửa một dòng lệnh nào mà object Grid vẫn hoạt động được theo đúng chức năng được thiết kế.

 

Có quá nhiều vấn đề liên quan đến bảo mật và phân quyền người sử dụng với cơ chế lập trình chạy ngay. Làm thế nào để khách hàng (end user) sử dụng chương trình không được phép sửa đổi bất kỳ mã lệnh nào? Làm sao để tăng tốc độ hoạt động mọi mặt của ứng dụng cho tương đương với phần mềm biên dịch theo kiểu truyền thống và không được làm ảnh hưởng đến năng suất làm việc của người sử dụng? Làm thế nào để sửa được mã lênh trên một form (ví dụ form nhập liệu duy nhất của EFFECT) trong khi các máy trạm khác trên mạng nội bộ vẫn đang sử dụng form này để nhập dữ liệu hàng ngày mà không làm ảnh hưởng đến công việc khác của doanh nghiệp? Đây là ý nghĩa rất cơ bản của lập trình chạy ngay vì nó làm cho phần mềm có thể sửa đổi được trực tiếp mà không cần phải dừng hoạt động của chương trình khi đang được sử dụng hàng ngày tại doanh nghiệp...

 

Và còn rất nhiều khó khăn khác mà đội ngũ lập trình EFFECT phải từng bước, từng bước vượt qua đưa đến kết quả ngày hôm nay là ngôn ngữ lập trình chạy ngay đã hoàn toàn ổn định. Từ đầu năm 2006, chúng tôi đã không cần phải sửa lỗi hoặc cải tiến bất cứ điều gì trên ngôn ngữ lập trình chạy ngay nữa. Nó đã và đang bắt đầu sứ mệnh của mình là làm tăng năng suất lao động của toàn bộ đội ngũ lập trình và chuyển giao phần mềm của EFFECT, giúp chúng tôi có thể làm ra được những kết quả lớn lao với một đội ngũ nhân viên hạn chế và do đó mang đến cho khách hàng những sản phẩm chất lượng với một chi phí hoàn toàn phù hợp với môi trường Việt Nam.

Đánh giá trên Facebook