Góc phân tích: Developer hay user?

Linh Le

Nhà phát triển phần mềm tạo ra một sản phẩm vô hình gọi là phần mềm – để xác định cấu hình ban đầu của bộ nhớ bộ xử lý. Cấu hình bộ nhớ phù hợp sẽ khiến bộ xử lý thực hiện những gì nó cần phải làm.

Tất cả chúng ta đều có xu hướng xem sự biểu diễn bằng văn bản của mã là ‘phần mềm’, trong khi thực tế, văn bản này chỉ là một bước trong quá trình nhận từ nhu cầu của người dùng đến cấu hình bộ nhớ phù hợp. Các bước giữa việc diễn đạt rõ ràng nhu cầu và cung cấp một mô-đun phần mềm hoàn tất có chứa nhiều thành phần lạ đại diện cho phần mềm đó.

Các cấu trúc cấp cao đã được sử dụng rộng rãi như các công cụ thiết kế và tài liệu phần mềm trong một thời gian rất dài. Từ các sơ đồ khối chức năng đến Ngôn ngữ mô hình hóa thống nhất (Unified Modeling Language – UML) và SysML, ý tưởng ‘một bức tranh đáng giá bằng ngàn lời nói’ đã có chỗ đứng trong ngành phát triển phần mềm. Nhưng nếu bạn thực sự cần biết những gì đang diễn ra, bạn có muốn nhìn vào những dòng code không?

Một số môi trường không cho phép xem code. Ví dụ như phần mềm cấu hình bộ điều khiển lập trình (PLC) trong các hệ thống tự động hóa công nghiệp. Các biểu diễn logic bậc thang của các trình tự và điều kiện sense-and-act là biểu diễn duy nhất mà lập trình viên PLC cần – và đây là cách lập trình chính của các máy tính có mục đích đặc biệt này trong nhiều năm. Đây có thể là một điều tốt. Ví dụ: Cho phép tạo ra các công cụ phát triển thực thi các quy tắc thiết kế logic bậc thang cụ thể cho các hệ thống có thể gây tổn thương cho con người.

Các môi trường có thể tạo phần mềm mà không xử lý mã nguồn khác bao gồm một số nơi mà các khối đồ họa có thể được liên kết với các phần tử mã. Các kỹ sư phần mềm kết nối các khối để tạo ra một mô hình và xác định logic thực hiện và giao tiếp dữ liệu giữa các code element. Nhấn nút để chuyển đổi sơ đồ thành phần mềm. Tôi nhớ là đã rất ngạc nhiên khi vài năm trước, người đứng đầu bộ phận phát triển phần mềm ô tô nhúng đã giải thích rằng đội ngũ của họ hầu như không còn sử dụng code, tất cả đều được phát triển bằng sơ đồ.

Cấu hình hay lập trình?

Nhiều hệ thống mô phỏng được sử dụng trong phát triển sản phẩm (thực tế) triển khai các giao diện đồ họa. Chúng cho phép biểu diễn các hệ thống bằng cách kết nối các sơ đồ đại diện cho từng thành phần. Các mô phỏng kết quả có thể là các cấu hình phức tạp của phần mềm mô phỏng, hoặc đôi khi là tích hợp nhiều phần mềm độc lập.

Phần mềm thông minh nghiệp vụ cung cấp các khả năng tương tự. Ví dụ: Các mục dữ liệu kéo và thả hoặc toàn bộ cơ sở dữ liệu để xác định nguồn dữ liệu hiển thị hoặc liên quan.

Những ví dụ này đặt ra một câu hỏi rằng đâu là ranh giới giữa cấu hình và phát triển phần mềm? Và nếu ranh giới này tồn tại, nó có giúp hoặc cản trở sự phát triển phần mềm không? Chúng ta nên tiêu chuẩn hóa giao diện này hay là phá hủy nó?

Nhà phát triển có thể ‘sử dụng’ giao diện lập trình ứng dụng (API), nhưng người dùng cần thêm một công cụ để giúp họ sử dụng API.

Các kỹ sư phần mềm luôn đánh giá cao giá trị của việc tái sử dụng. Các API cung cấp service và microservice là bằng chứng cho mong muốn tạo ra phần mềm có giá trị trong nhiều bối cảnh.

Một nhà phát triển phần mềm là một ‘người dùng’ của các yếu tố hiện có (ví dụ, thông qua API) và là người tạo ra kết nối mới giữa chúng. Một số nhà phát triển tận dụng cơ hội bằng cách xây dựng các công cụ. Một số công cụ này được xây dựng để cho phép người dùng xây dựng các kết nối giữa các yếu tố phần mềm hiện có. Kết quả có thể là một hệ thống phần mềm mới.

Vậy, sau API sẽ là gì? Vẫn còn thứ để khám phá từ object broker, hệ thống truyền thông điệp (message-based system) và service registry. Những cách tiếp cận này không bảo đảm có thể kết nối toàn bộ, nhưng có thể tự động hóa việc xử lý một số chi tiết. Điều này có thể đủ để cho phép người dùng định cấu hình (hoặc phát triển?) phần mềm họ cần từ component.

Hoặc có lẽ điều này nên được xem là tự động hóa phát triển, xử lý các chi tiết để các nhà phát triển có thể tập trung vào các thách thức sáng tạo và khái niệm của phần mềm mới. Nếu hoạt động đủ tốt, sẽ có người tìm cách tự động hóa việc sử dụng các ‘yêu cầu’ mục đích chung để cấu hình các mô-đun hiện có thành một hệ thống phần mềm mới.

Chia sẻ bài viết ngay

Nguồn bài viết : https://sdtimes.com