Cetus Group
Cetus Logo
Информационные системы и программное обеспечение



Поддержка

 
Статьи
Размещено 01.03.2006
А.Г. © Опис послідовності виконання робіт в автоматизованих системах управління проектами

Однією з проблем реалізації автоматизованих систем управління проектами (АСУП) є необхідність забезпечення динамічних характеристик системи як послідовності виконання робіт для кожного з виконавців згідно до планів і поточного стану виконавця, що визначається переліком виконаних робіт в множині всіх робіт. Виходячи з того, що визначення роботи або робіт, які повинні бути запропоновані для виконання в АСУП можна розглядати як операцію над множиною або як обчислення виразу, опис послідовності виконання робіт (ОПВР) може бути визначений відповідно як таблиця або вираз. З метою відділення опису планів робіт від програмної реалізації АСУП використовують табличне представлення ОПВР з метою реалізації АСУП як ієрархії автоматів.

В разі припущення непослідовного виконання окремих видів робіт таблиці ОПВР сягають значного розміру і їх важко підтримувати, тому розглянемо можливості використання для ОПВР виразу. Виходячи з того, що при обчисленні логічних виразів в програмуванні використовується принцип скорочених обчислень, наслідком якого є припинення обчислення виразу в разі отримання передбачуваного результату, з метою забезпечення послідовного та/або паралельного надання кількох завдань до виконання вираз має складатись з функціоналів надання завдань та логічних операторів AND та OR. Наприклад, у виразах:

A() AND B() 						(1)
A() OR B()						(2)
де A() і B() функціонали, обчислення будуть припинені при A()==false для (1) або A()==true для (2). Таким чином, якщо A() і B() – функціонали, що формують завдання для виконання відповідно робіт A і B і не виконаній роботі відповідає значення false, при обчисленні виразу (1) буде надано завдання на виконання тільки роботи A, а при обчисленні виразу (2) -–робіт A і B, що дозволяє складати ОПВР відповідно для робіт, що припускають лише послідовне (1) або паралельне (2) виконання. Для унеможливлення повторного виконання вже виконаної роботи відповідний функціонал має відразу повертати true замість формування завдання на виконання.

З метою визначення можливостей складання ОПВР для будь якої множини робіт з паралельним та послідовним виконанням робіт врахуємо наступне: вираз (1) реалізує послідовне виконання (слідування); вираз (2) - паралельне (розгалудження). В теорії програмування доведено, що будь який складний алгоритм (опис послідовності дій - ОПВР) може бути реалізований за допомогою лише трьох видів керуючих структур: слідування, розгалудження, повторення. Таким чином, вирази (1) і (2) дозволяють реалізувати два з трьох видів необхідних керуючих структур. Повторення в ОПВР може знадобитись в двох випадках:
1. При необхідності повторного отримання завдання на виконання роботи; може бути реалізоване через повторне обчислення виразу (наприклад в наступному сеансі роботи), в ОПВР може або не враховуватись, або враховуватись на рівні лічильника.
2. При необхідності повторного виконання роботи; має враховуватись у виразі ОПВР через повторне використання відповідного функціонала.

Наявність двох видів керуючих структур і можливість реалізації повторення дозволяють реалізувати вирази ОПВР будь якої складності. Для групування робіт можуть бути використані дужки.

Ще однією перевагою використання виразів для реалізації ОПВР є можливість структурування ОПВР відповідно до структури робіт. У випадку, якщо окрема робота A може бути представлена як множина робіт:

A = {a,b,c,...,n}					(3)
де a,b,c,...,n – роботи, що складають A, для ОПВР роботи А може бути складений новий вираз як комбінація функціоналів з множини {a,b,c,...,n}. Таким чином, структурна модель робіт може бути представлена множиною з N виразів, де N – кількість вузлів структурної моделі. Наприклад:
A() AND B() OR C()					(4)
A = a() AND b() AND c()					(5)

Висновки. Реалізація ОПВР через вирази дає суттєві переваги перед табличним представленням через прості можливості реалізації опису структури робіт і значно меньший обсяг. Крім того, при використанні інтерпретованих мов програмування вирази ОПВР можуть безпосередньо передаватись інтерпретатору для виконання. Запропоноване рішення може з успіхом використовуватись в системах, що оперують роботами і їх структурою, наприклад в автоматизованих системах управління підприємством, системах управління навчальними проектами тощо.


Copyright©2005, Cetus Group . All rights reserved.