Образователни технологии
ПРИЛОЖЕНИЕ НА ЕДИН НОВ ПОДХОД ПРИ МОДЕЛИРАНЕ НА ОБРАЗОВАТЕЛЕН СОФТУЕР
Резюме. Статията описва прилагането на нов модел при моделирането на образователен софтуер. Направен е анализ на най-често използваните модели, като блок-схемите и Унифицирания език за моделиране, като на базата на сравнението е описан и семантичният модел за моделиране на образователен софтуер.
Ключови думи: educational software modeling; block-modeling schemes; universal modelling language
Увод
В информатиката при създаването на дадена програма най-често се използват блок-схеми. Блок-схемите позволяват информацията да се предава по универсален начин и след това лесно може да бъде написан кодът на даден език. Предимството е, че изключително лесно се проследява последователносттана изпълнениена операциите–логиката наалгоритъма. При блок-схемите се прилагат геометрични фигури, които се базират на типа на действието. Най-често при използването на блок-схеми има конвенция за прилагането на геометричните фигури. Например елипсата се използва за указване на началото на алгоритъма, правоъгълникът е блок за обработка на данни, успоредникът описва входните и изходните данни, ромбът е блок за проверка на условие, а стрелката посочва реда на изпълнение на блоковете1) .
Един от най-големите недостатъци на блок-схемите на алгоритмите е свързан с проблеми при изобразяване на паралелни действия и изчисления. Допълнително проблеми оказва и самата геометрия на стандартните блок-схеми с различното съдържание на всяка геометрична фигура. Затова през последните години се налага един нов език за моделиране, който е с общо предназначение. Това е Унифицираният език за моделиране (Universal Modelling Language). Езикът включва набор от графични нотации за визуално описание на обектоориентирани системи (Faular, 2004) .
Чрез т. нар. UML диаграми се специфицират, визуализират, модифицират, конструират и документират разнообразни аспекти на софтуерните системи, като UML диаграмите да намират широко приложение във всички части от жизнения цикъл на софтуерните системи.
В UML се борави с различни диаграми, всяка от които е насочена за визуално описване на различни състояния. Например диаграмите на състоянията (State Machine Diagrams) описват софтуерната система като краен набор от състояния и преходи между тях. Диаграмите на взаимодействието (Interaction diagrams) наблягат на потока на данни и управлението между елементите в моделирана система, а пък диаграмите на дейностите (Activity diagrams) визуализират последователни процеси (Gogollaa et al., 2007) .
Описаните накратко два подхода за моделиране – на блок-схеми и чрез Унифицирания език за моделиране (UML), бележат определени етапи от развитието на моделирането. Същевременно, независимо от постоянните опити за опростяване и по този начин за усъвършенстване на процеса на моделиране на дадени програми, то все още се отчитат трудности в този процес. Дори Унифицираният език за моделиране, построен с тази цел, има множество диаграми с различни елементи. Така например UML се състои от цели 14 вида диаграми, всяка от които с различна геометрична символика. Това влиза в противоречие с т. нар. гъвкави методологии за разработване на управление на проекти за разработка на софтуер. В публикувания Манифест на гъвкавите методологии2) се описват няколко принципа, на които се основават гъвкавите методи за разработка на софтуер. Някои от тях гласят (четвърти и десети принцип), че:
– работещ софтуер – основна мярка за напредък;
и
– простота – изкуството максимално количество работа да бъде пропусната, и са от съществено значение.
В този смисъл, достигането на четвъртия принцип – ефективно работещ софтуер, се базира и на десетия, който се постига чрез опростяване, а не чрез усложняване на обема от работа, например по спецификациите и моделирането на дадена програма. Затова в статията е описан разработеният нов подход за моделиране на програмни продукти, като се въвежда моделиране чрез семантичния модел на Румелхарт, Линдсей и Норман.
Логическо и структурно моделиране чрез семантичния модел на Румелхарт, Линдсей и Норман
Семантичната памет е организирана в мрежи от свързани идеи или взаимоотношения, наречени схеми. Смята се, че повечето добре разработени схеми са организирани в йерархии, подобни на скици, като конкретната информация е групирана в общи категории, на свой ред, групирани в още по-общи категории.
От моделите на семантичната памет най-интересен е този на Румелхарт, Линдсей и Норман (РЛН). Той е развит най-пълно в публикацията на авторите от 1972 г. (Rumelhart et al, 1972). Моделът РЛН се отличава от всички останали със своята гъвкавост.
Според модела на РЛН понятийните мрежи се състоят от правоъгълници (понятийни възли) и стрелки (връзки между понятията – Zamfirov, 2012) . Стрелките притежават две свойства – имат посока и значение. За всяка стрелка е известно от кой възел излиза и къде отива. Възможно е и движение в обратна посока, но тогава се променя значението на стрелката. И така на всяка стрелка се поставя един от трите надписа – клас, свойство или пример, който съобщава какво е значението ѝ.
Както вече отбелязахме, трудностите в моделирането на дадени програми, независимо от опитите за опростяване на процеса, не са малки. Затова с цел улесняване на процеса модифицирахме семантичния модел на Румелхарт, Линдсей и Норман в графичен език за визуализиране и конструиране на елементите на разработен от нас софтуер за обучение по математика на ученици със специални образователни потребности.
Такава миграция от един модел към друг в случая е приемлива заради някои идентични свойства в различните модели. Например, както при РЛН, така и при блок-схемите и при UML, има процедурна логика и работни потоци. В UML например описанието на състоянието на активност или на дейност се изобразява чрез правоъгълник със заоблени краища, за начало – кръг, за разклонение – ромб, и т.н.
В блок-схемите се използва също геометрична символика за начало, действие, повторение, посока и край. И при UML, и при блок-схемите стрелката е от особено значение, тъй като показва последователността на изпълнение на операциите. В РЛН аналогично мрежите се състоят от два вида елементи: правоъгълници (понятийни възли) и стрелки (връзки между понятията). Тук стрелките също притежават важни свойства: имат посока и значение. За всяка стрелка е известно от кой възел излиза и къде отива. Възможно е и движение в обратна посока, но тогава се променя значението на стрелката. Като резултат от анализ на определенията на понятията се извличат три вида връзки. Тъкмо те са постулираните в модела РЛН значения на трите вида стрелки. И така на всяка стрелка се поставя един от трите надписа – клас, свойство или пример, който съобщава какво е значението ѝ (Zamfirov, 2011) .
Е. Герганов (Gerganov, 1987) предлага за по-голяма яснота названието на стрелките за класова принадлежност да се замени с израза „е някакъв,-а,-о. Така в разглеждания случай, например квадрат, понятието ще се опише по следния начин: квадратът е (някаква) геометрична фигура. За назоваване на връзките за свойство могат да се въведат глаголите има, може, е („Квадратът има четири равни страни“, „Квадратът може да има център на симетрия“, „Квадратът е подобен на всеки друг квадрат“).
От примерите се вижда, че в повърхнинните структури глаголът съм може да изразява две съвършено различни отношения между понятията: генерично отношение, когато се посочва класът, на който субектът принадлежи, и атрибутивно отношение, когато на субекта се приписва някакво свойство.
Глаголът имам се употребява в случаите, когато смисълът на свойството е в това да се притежава нещо, а глаголът може отразява свойството да се прави нещо (Gerganov, 1987). Чрез въвеждането на глаголи и глаголни изрази за означаване вида на съответните връзки по-ясно изпъкват пропозиционните структури в модела РЛН, а стрелките с посока съвсем определено говорят за мрежовия му характер (Norman, 1982).
На първо място, за да бъде моделиран даден процес по този модел, трябва да се изяснят взаимовръзките между мрежи, свързващи едно или повече понятия. Например при урок, свързан с равнинни фигури (III клас по математика) , според който ученикът трябва да познава геометричните фигури (права и крива линия, лъч, отсечка, ъгъл, триъгълник, правоъгълник, квадрат, окръжност) и елементите им и да може да определя вида на фигурите (ъгъл и триъгълник), моделирането на една понятийната мрежа би улеснило много процеса. Достатъчно е да определим класа, свойствата и примерите за дадени четири геометрични понятия: квадрат, правоъгълник, триъгълник, окръжност.
В приложената схема са комбинирани няколко изучавани понятия – квадрат, правоъгълник, триъгълник, окръжност. Само с една схема е възможно да се изучат и лесно запаметят характерните свойства на дадените фигури, както и основните им различия. Така се припомня и материал от II клас, като разностранен триъгълник, равнобедрен триъгълник, равностранен триъгълник.
В такъв случай моделираната диаграма ще има следния вид: (фиг. 1)
Разглеждайки направената схема, по-конкретно фигурата триъгълник, можем да разкрием съдържанието на понятието с помощта на неговото определение. Например съдържанието на понятието равностранен триъгълник обхваща следните свойства: равнинна геометрична фигура; неговите три страни са равни; трите му ъгъла са равни.
Така, след като сме установили по схемата на РЛН, че равнобедреният триъгълник има два равни ъгъла при основата, можем да обогатим съдържанието на понятието равнобедрен триъгълник със свойството третата страна да е равна на другите две (т.е. да въведем нов признак, който не произтича от останалите признаци), и така да стесним неговия обем до понятието равностранен триъгълник.
След като се установи по тази класификация колко са триъгълниците в зависимост от големината на техните ъгли (остроъгълен, тъпоъгълен и правоъгълен), то те биват описани като свойства в схемата на РЛН. В самата схема се дават и пояснения, които са възможни като заключения от многостепенното деление, като например всички вътрешни ъгли са по-малки от 90° (за остроъгълен триъгълник), има вътрешен ъгъл, по-голям от 90° (за тъпоъгълен триъгълник) и т.н.
Схемата на РЛН подпомага за търсене и разкриване на логическата връзка между определяемото понятие (понятието, чийто отличителен признак се разкрива) и определящото понятие (понятието, чрез което се разкрива този признак). Тези три компонента (определяемо понятие, определящо понятие, логическа връзка между тях) определят и структурата на определението на понятието.
Обаче, за да бъде определението правилно от логическа гледна точка, то трябва да съдържа само необходимите признаци на понятието, а множеството от всички необходими признаци трябва да е достатъчно за характеризиране на понятието. Например правоъгълникът е успоредник с четири равни ъгъла — по 90 градуса всеки.
Едно и също понятие може да бъде определено по различни начини, тъй като може да се посочи множество от различни съществени признаци. В този случай обемът на понятието не се изменя. Определенията са равностойни. Например квадратът е правоъгълник с равни страни или квадратът е ромб с перпендикулярни страни.
В схемата на РЛН е възможно да се усвои и нов материал – например с даването на конкретни примери като елипса, която е обобщение на окръжност. Разбира се, ако учениците проявят интерес, е възможно подобна схема да се развие доста широко. Например да се въведе частният случай на окръжност, а именно елипса с нейните свойства ексцентрицитет и фокусно разстояние.
Подобни схеми са подходящи за колективни занимания, понеже тогава може да се достигне и до евристичен момент в построяването на тези схеми. Достатъчно е да се знаят някои свойства на дадените геометрични фигури, чрез които да се достигне до определения клас на фигурата, както и да се посочат конкретни примери по този начин. Подобен подход е възможен и за останалите понятия, изучавани в началния етап, като метър, сантиметър, дециметър, час, месец, година и т.н.
Пример за логическо и структурно моделиране
Както вече беше отбелязано, за рационално написване на каквато и да е компютърна програма е добре предварително да има построено и съответно моделиране. Като конкретен пример за подобно моделиране предлагаме разработената от нас компютърна програма „Играй и учи с мишка“ по математика за I клас за ученици със специални образователни потребности.
На следващата фигура е дадена схематично програмата с екрани от нея.
Фигура 2. Схема на специализирания авторски софтуер „Играй и учи с мишка“ с екрани от него
Ако използваме класическия модел на блок-схемите, то моделирането на „Играй и учи с мишка“ ще изглежда по начина показан на фиг. 3:
Тази блок-схема дава поглед върху основното тяло на програмата, като ясно отбелязва кога даден цикъл ще се повтори и след кой възел ще има възможност както за край на програмата, така и за избор при повторно стартиране за даден модул. Също така е очевидно, че подобна блок-схема прави по-неясна структурата на програмата от когнитивна гледна точка независимо от доказалите се през годините нейни качества. Поради това приложихме авторско моделиране, модифицирайки модела РЛН. Така подобно логическо моделиране на специализирания авторски софтуер „Играй и учи с мишка“ позволява да се направи разпределението не само на стъпките в програмата, но и на съдържанието, обединено от класове (фиг. 4) .
Фигура 3. Блок-схема на „Играй и учи с мишка“
Фигура 4. Логическо и структурно моделиране на специализирания авторски софтуер „Играй и учи с мишка“ по модифициран модел на РЛН
Първият клас е „Равнинни фигури“. От него излиза една стрелка за свойство, което е обозначено като групиране, т.е. геометричните фигури може да се групират (сравняват, разграничават) . Така за запознаване с равнинните фигури – квадрат, триъгълник, кръг, се използва това свойство, като се сравнява и разграничава по съществени признаци (форма) и по несъществени признаци (цвят) . От свойството групиране излизат три стрелки, които са насочени към конкретен пример. Така за всяко сравнение и разграничаване се изискват и три примера – да се уцелят балончета, да се уцелят дадени геометрични фигури и да се уцелят дадени геометрични фигури с определен цвят.
Вторият клас е „Числа“. На него принадлежат няколко основни свойства – числата може да се събират, може да се изваждат и може да се сравняват. Примерите са обозначени с по две стрелки, като случайният числов израз 5 + 1 е събиране, а случайният числов израз 9 – 5 е изваждане, т.е. отговарят на условията, поставени от модифицирания модел на РЛН. Стрелките са в две групи по три (три за събиране и три за изваждане), което показва, че има общо шест примера (фиг. 4) .
Свойството сравнение е подклас на „Числа“, т.е. числата може да се сравняват. Голямо и малко са подкласове на сравняване. Оцветяването в различен цвят на голямата и малката ябълка е пример.
Третият клас е „Фина моторика“ с общо два примера.
По този начин програмата осигурява общо дванайсет игрови примера.
Може да се отбележи, че подобно моделиране чрез прилагането на семантични паметови модели би улеснило разработчиците на софтуер, особено що се отнася до разработването на образователен софтуер, тъй като в основата на подобно моделиране стои когнитивното описание.
Заключение
Сравняването на различните модели за визуализиране, структурното моделиране на даден софтуер чрез семантичния модел на Румелхарт, Линдсей и Норман би позволило достигане до максимална степен на специфициране на създадените програми.
Очевидно, стуктурно моделиране на даден логически и програмен процес е напълно възможно чрез използване на семантичния модел на РЛН. Този подход позволява усъвършенстване на сериозна основа и при създаването на съответния програмен продукт.
NOTES / БЕЛЕЖКИ
1. http://antim1.com/Joomla2/index.php?option=com_content&task=view&id=52
7&Itemid=458
2. http://agilemanifesto.org/
REFERENCES/ЛИТЕРАТУРА
Gerganov, E. (1987). Memory and Sence. Sofia: Nauka i izkustvo. [Герганов, Е. (1987) . Памет и смисъл. София: Наука и изкуство.]
Zamfirov, M. (2012). Pedagogical approaches to teaching disabled students through “Man and Nature”. Sofia: Sofia University “St. Cl. Ohridski” Printing House. [Замфиров, М. (2012). Педагогически подходи в обучението на ученици със специални образователни потребности по „Човекът и природата“. София: Изд. СУ„Св. Климент Охридски“.]
Faular, M. (2004). UML bases. Sofia: SoftPress. [Фаулър, М. (2004). UML основи. София: СофтПрес. ]
Gogollaa, М., Buttner, F. &d M. Richters (2007). USE: A UML-based specification environment for validating UML and OCL. Science of Computer Programming, 69, 27 – 34.
Norman, D. (1982). Learning and Memory. San Francisco.
Rumelhart, D. & D. Norman (1978). Accretion, tuning and restructuring: Three modes of learning. New Jersey: Erlbaum.
Zamfirov, M. (2011). Application of Lindsay, Rumelhart and Norman model in man and nature school subject with children with special needs. Proceedings Dissemination and Development Physics and Mathematics on the Balkan, Sofia, 17 – 18 October.