Chuyển đến nội dung chính

Control Flow Graph (CFG)

Định nghĩa

Trong khoa học máy tính, luồng điều khiển (tiếng Anh: control flow hay flow of control) là thứ tự các câu lệnh, tập lệnh hay lời gọi hàm riêng biệt của một chương trình mệnh lệnh được thực thi hay đánh giá. Việc nhấn mạnh vào kiểm soát dòng một cách rõ ràng sẽ phân biệt một ngôn ngữ lập trình mệnh lệnh (imperative programming) với ngôn ngữ lập trình khai báo (declarative programming).

Trong một ngôn ngữ lập trình bắt buộc, một câu lệnh điều khiển luồng là một câu lệnh thực thi mà kết quả trong một sự lựa chọn được thực hiện theo cách của hai hoặc nhiều đường dẫn tiếp theo. Đối với ngôn ngữ lập trình không nghiêm ngặt các ngôn ngữ chức năng, các hàm và cấu trúc ngôn ngữ tồn tại để đạt được cùng một kết quả, nhưng chúng thường không được gọi là các câu lệnh luồng điều khiển.

Một tập hợp các câu lệnh lần lượt thường được cấu trúc như một Block, ngoài việc nhóm, cũng định nghĩa phạm vi từ vựng.

Ngắt và tín hiệu là các cơ chế cấp thấp có thể thay đổi dòng điều khiển theo cách tương tự như chương trình con, nhưng thường xảy ra như một phản ứng với một số kích thích hoặc sự kiện bên ngoài (có thể xảy ra không đồng bộ), thay vì thực hiện một dòng điều khiển lưu lượng.

Ngắt và tín hiệu là cơ chế cấp thấp có thể thay đổi luồng điều khiển theo cách tương tự như chương trình con, nhưng thường xảy ra như một phản ứng với một số kích thích hoặc sự kiện bên ngoài (có thể xảy ra không đồng bộ), thay vì thực hiện câu lệnh dòng điều khiển nội dòng .

Flow chart

Flowchart (hay thường được gọi là lưu đồ - sơ đồ quy trình), mặt khác, là một phương tiện đồ hoạ trực quan hóa chuỗi nhiệm vụ đó thành hình ảnh đơn giản bao gồm các bước, các điều kiện thay đổi kết quả, ...

CONTROL FLOW GRAPHS Vs FLOWCHARTS

Trong flow graph, chúng ta không cho hiển thị chi tiết về những gì có trong khối của chương trình (process block)
Trong flow chart, mọi phần của khối quy trình đều được vẽ.
Flow chart tập trung vào các bước của process, trong khi flow graph tập trung vào control

Một số ví dụ

Một số biến thể của flow chart: sơ đồ từ trên xuống, sơ đồ vĩ mô, sơ đồ chi tiết (còn được gọi là sơ đồ quy trình, bản đồ vi mô, sơ đồ dịch vụ hoặc sơ đồ biểu tượng), sơ đồ triển khai (còn được gọi là sơ đồ đa chức năng) hay sơ đồ nhiều cấp. 

Lưu đồ là hình ảnh của các bước riêng biệt của một quy trình theo thứ tự tuần tự. Nó là một công cụ chung có thể được điều chỉnh cho nhiều mục đích khác nhau và có thể được sử dụng để mô tả các quy trình khác nhau, chẳng hạn như quy trình sản xuất, quy trình hành chính hoặc dịch vụ hoặc kế hoạch dự án. Đây là một công cụ phân tích quy trình chung và là một trong bảy công cụ chất lượng cơ bản.

Cách để xây dựng một sơ đồ Flow chart cơ bản

Cần chuẩn bị một số dụng cụ: Ghi chú hoặc thẻ dính, một mảnh giấy lật hoặc giấy in báo lớn và bút đánh dấu.

  • Xác định quá trình được sơ đồ hóa bằng cách hình dung trong đầu.
  • Viết tiêu đề của quy trình này ở trên cùng của mặt giấy.
  • Thảo luận với đồng đội của bạn để đưa ra quyết định về ranh giới giữa các quy trình của bạn. Một số điểm cần làm rõ như: Quá trình bắt đầu từ đâu hoặc khi nào? Nó kết thúc ở đâu hay khi nào? Thảo luận và quyết định mức độ chi tiết để có thể được đưa vào sơ đồ.
  • Hình dung các hoạt động có thể diễn ra. Viết mỗi thứ trên một thẻ hoặc ghi chú dán.
  • Sắp xếp các hoạt động theo trình tự thích hợp.
  • Khi tất cả các hoạt động được mọi người đồng ý rằng trình tự là chính xác, hãy vẽ mũi tên để hiển thị luồng của quy trình.
  • Xem xét sơ đồ với những người khác cùng tham gia vào quy trình (công nhân, giám sát viên, nhà cung cấp, khách hàng) để tham khảo ý kiến của họ có đồng ý rằng quy trình này có được diễn ra chính xác hay không.

Lưu ý khi vẽ Flow chart

Bạn đừng lo lắng về việc vẽ sơ đồ có cần phải đúng cách hay không. Mục đích cuối cùng và cách vẽ đúng đắn nhất là cách giúp những người liên quan hiểu được quy trình của bạn đưa ra.

Xác định và tham gia vào quy trình lưu đồ tất cả những người chủ chốt tham gia vào quy trình. Điều này bao gồm các nhà cung cấp, khách hàng và giám sát viên. Tham gia vào các phiên lưu đồ thực tế bằng cách phỏng vấn họ trước các phiên hoặc bằng cách cho họ thấy sơ đồ phát triển giữa các phiên làm việc và nhận phản hồi của họ.

Không chỉ định một chuyên gia kỹ thuật để vẽ sơ đồ. Những người thực sự thực hiện quá trình chính là người tốt nhất để làm điều đó.

Ví dụ về Flow chart
Sơ đồ quy trình khám bệnh theo yêu cầu tại bệnh viện da liễu Hà Nội

 

Sơ đồ Flow chart chi tiết

 

Trong đó các biểu tượng thường hay được sử dụng trong Flow chart là:

Một bước trong quy trình. Chi tiết bước thực hiện được viết bên trong hộp. Thông thường, chỉ có một mũi tên đi ra khỏi hộp.

Hướng của dòng chảy từ một bước hoặc quyết định khác.

Quyết định dựa trên một câu hỏi. Câu hỏi được viết ở trong hình kim cương. Nhiều hơn một mũi tên đi ra khỏi viên kim cương, mỗi mũi tên chỉ ra hướng mà quá trình thực hiện cho một câu trả lời nhất định cho câu hỏi. (Thường thì câu trả lời là “có” và “không.”)

Trì hoãn hoặc chờ đợi

Liên kết đến một trang khác hoặc sơ đồ khác. Biểu tượng tương tự trên trang khác chỉ ra rằng dòng chảy tiếp tục ở đó.

Đầu vào hoặc đầu ra

Tài liệu

Biểu tượng thay thế cho điểm bắt đầu và điểm kết thúc

Công cụ

Các bạn sử dụng ConceptDraw Diagram để vẽ FlowChart.

Các công cụ:


 


 

Tham khảo

https://ismq.org.vn/flow-chart-la-gi/

https://www.conceptdraw.com/How-To-Guide/diagram-software-how-to-create-a-flow-chart-in-conceptdraw

Nhận xét

Bài đăng phổ biến từ blog này

[ASP.NET MVC] Authentication và Authorize

Một trong những vấn đề bảo mật cơ bản nhất là đảm bảo những người dùng hợp lệ truy cập vào hệ thống. ASP.NET đưa ra 2 khái niệm: Authentication và Authorize Authentication xác nhận bạn là ai. Ví dụ: Bạn có thể đăng nhập vào hệ thống bằng username và password hoặc bằng ssh. Authorization xác nhận những gì bạn có thể làm. Ví dụ: Bạn được phép truy cập vào website, đăng thông tin lên diễn đàn nhưng bạn không được phép truy cập vào trang mod và admin.

ASP.NET MVC: Cơ bản về Validation

Validation (chứng thực) là một tính năng quan trọng trong ASP.NET MVC và được phát triển trong một thời gian dài. Validation vắng mặt trong phiên bản đầu tiên của asp.net mvc và thật khó để tích hợp 1 framework validation của một bên thứ 3 vì không có khả năng mở rộng. ASP.NET MVC2 đã hỗ trợ framework validation do Microsoft phát triển, tên là Data Annotations. Và trong phiên bản 3, framework validation đã hỗ trợ tốt hơn việc xác thực phía máy khách, và đây là một xu hướng của việc phát triển ứng dụng web ngày nay.

Tổng hợp một số kiến thức lập trình về Amibroker

Giới thiệu về Amibroker Amibroker theo developer Tomasz Janeczko được xây dựng dựa trên ngôn ngữ C. Vì vậy bộ code Amibroker Formula Language sử dụng có syntax khá tương đồng với C, ví dụ như câu lệnh #include để import hay cách gói các object, hàm trong các block {} và kết thúc câu lệnh bằng dấu “;”. AFL trong Amibroker là ngôn ngữ xử lý mảng (an array processing language). Nó hoạt động dựa trên các mảng (các dòng/vector) số liệu, khá giống với cách hoạt động của spreadsheet trên excel.