Аппаратные и программные средства встраиваемых систем



Pdf көрінісі
бет241/268
Дата07.01.2022
өлшемі3,23 Mb.
#18255
1   ...   237   238   239   240   241   242   243   244   ...   268
А.2 Описание архитектуры 
После  того,  как  вычислительную  технику  захлестнул  так  называемый 
"кризис  сложности",  начались  попытки  систематизации  и  структурирования 
процессов  проектирования.  Кризис  сложности  проявлялся  как  сильный  рост 
количества  ошибок  при  увеличении  размера  проекта.  Этот  рост  количества 
ошибок  был  нелинейным,  и  после  определенного  этапа  количество  ошибок 
становилось настолько большим, что ставило под вопрос завершение проекта. 
Постепенно стало понятно, что блок-схема алгоритма, применявшаяся для 
описания  сравнительно  сложных  программ,  уже  не  дает  никакого  эффекта  в 
крупных  проектах.  В  работах  Дейкстры  и  Вирта,  а  далее  в  работах  Йордона, 
Росса  и  др.,  появилось  предложение  описывать  программные  системы  в  виде 
совокупности  структурных  и  поведенческих  составляющих.  Появились 
технологии 
проектирования, 
объединенные 
общим 
подходом 
к 
проектированию  системы.  Система  разрабатывалась  на  основе  декомпозиции 
(разделения)  общих  сущностей  на  более  частные.  Была  предложена  так 
называемая  абстракция,  т.е.  выделение  существенных  для  проектировщика 
деталей проекта и сокрытие второстепенных.  
Технологии  проектирования,  возникшие  в  этот  период,  были  названы 
структурными.  В  области  программного  обеспечения  этот  подход  к 
проектированию  вылился  в  разделение  программ  на  процедуры  и  структуры 
данных.  Программирование  разделилось  на  несколько  этапов.  Добавилось  так 
называемое  архитектурное  проектирование.  Вирт  в  своих  работах  писал  о 
сильном 
семантическом 
(смысловом) 
разрыве 
между 
языком 
программирования  и  прикладной  задачей.  Первым  шагом  к  архитектурному 
проектированию  было  предложение  описывать  программы  в  виде  обычного 
текста, на обычном, человеческом языке. Позже такие описания стали называть 
структурным английским (русским и т.д.) или вербальными (речевыми). 
Недостатком  вербального  описания  программного  обеспечения  является 
низкая 
степень 
формализации, 
т.е. 
практическая 
невозможность 
математического  доказательства  правильности  тех  или  иных  утверждений, 
выраженных таким способом. 
  Росс,  Йордон  и  другие  ученые  предложили  ряд  способов  изображения 
архитектуры  программного  обеспечения.  В  основном,  для  описания 
программного 
обеспечения 
использовались 
поведенческие 
схемы, 
рассматривающие  такие  категории,  как  «данные», «процесс», «передача 
управления», «хранилище  данных» (DFD, CFD, SADT). Для  описания  баз 
данных  было  придумано  структурное  описание  на  основе  зависимостей 
различных  сущностей  друг  от  друга  (например,  диаграмма  сущность-связь). 
Ранние  методики  проектирования  не  учитывали  такого  фактора,  как  время. 


 
260 
Позднее стали использоваться такие средства, как диаграммы взаимодействия и 
временные  диаграммы.  Для  ответственных  частей  программного  обеспечения 
изредка  начали  применять  описание  в  виде  конечных  автоматов  и,  а  позже – 
сетей  Петри  (в  примитивном  виде  это  конечные  автоматы  с  временными 
задержками). 
  Структурный  подход  использовался  и  в  проектировании  аппаратного 
обеспечения.  Аппаратная  система  описывалась  структурной  схемой, 
функциональной  схемой,  схемой  электрической  принципиальной  и  набором 
временных  диаграмм.  Необходимо  заметить,  что  аппаратное  обеспечение 
разрабатывалось, как правило, отдельно от программного.  
  В  таком  виде  практически  без  изменений  структурный  подход  к 
проектированию  существует  до  сих  пор.  В  конце 80-х,  начале 90-х  годов 
появилось  объектно-ориентированное  проектирование.  В  целом  это  развитие 
структурного  подхода  к  проектированию.  Отличие  состоит  в  том,  что  вместо 
декомпозиции имеет место быть эволюция, т.е. развитие; кроме этого, система 
представляется  в  виде  множества  так  называемых  объектов,  наделенных  и 
структурными,  и  поведенческими  составляющими.  Специальные  объектно-
ориентированные языки программирования C++, SmallTalk и другие позволяют 
описывать  программу,  начиная  от  некоторого  «зародыша».  Зародыш 
постепенно  растет,  обретая  в  процессе  проектирования  новые  свойства  и 
методы (структура и поведение, как раньше).  
  В  принципе,  ничего  особенно  революционного  в  этом  подходе  нет. 
Декларируемое  удобство  состоит  в  том,  что  человеку  (в  данном  случае 
проектировщику)  проще  оперировать  объектами  реального  мира,  чем 
абстрактными функциями. Собственно, кроме этой естественности восприятия, 
в  объектно-ориентированном  проектировании  ничего  нового  нет.  При 
использовании  структурных  методов  архитектурного  проектирования  можно 
добиться  тех  же  результатов,  без  использования  объектно-ориентированных 
языков  проектирования.  В  основном,  шумиха,  поднятая  вокруг  ООП, – это  не 
более чем реклама. 
  Последним  достижением  в  области  проектирования  является CoDesign, 
или  совместное  проектирование  программы  и  аппаратуры.  Как  правило,  в 
методиках  проектирования CoDesign используется  объектно-ориентированный 
подход. 


Достарыңызбен бөлісу:
1   ...   237   238   239   240   241   242   243   244   ...   268




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет