Инструментарий программирования

Инструментарий программирования - совокупность программ для разработки, проверки, модификации и внедрения новых программ.

Без инструментария не смогут появляться новые программные продукты и их версии.

Сформировались следующие группы инструментария программирования:

  • локальные средства, обеспечивающие выполнение отдельных работ по созданию программ
  • интегрированные среды разработчиков программ, обеспечивающие выполнение комплекса взаимосвязанных работ по созданию программ
  • САSЕ-технология (Computer-Aided System Engineering), предостaвляющая методы анализа, проектирования и создания программных систем и предназначенная для автоматизации разработки информационных систем.

Локальные средства разработки программ

Язык программирования - формализованный язык для описания алгоритма решения задачи на компьютере.

Языки программирования можно исторически разделить на классы:

  • машинные языки - языки программирования, воспринимаемые аппаратной частью компьютера (машинные коды);
  • машинно-ориентированные языки - языки программирования, которые содержат мнемонические обозначения и структуру машинных кодов компьютера (ассемблеры, автокодыт);
  • алгоритмические языки - языки программирования, не зависящие от архитектуры компьютера для отражения структуры алгоритма.

Последние, в свою очередь, подразделяются на поколения:

1. структурно-ориентированные - языки программирования, в которых алгоритм реализуется структурами последовательности, выбора и цикла,

2. процедурно-ориентированные - языки программирования, где имеется возможность описания программы как совокупности подпрограмм,

3. проблемно--ориентированные - языки программирования, предназначенные для решения задач определенного класса,

4. объектно-ориентированные - языки программирования, где имеется возможность представления программы как совокупности объектов, поведение которых управляется внешними событиями.

Инструментарий программирования - student2.ru
Программа, подготовленная на алгоритмическом языке, проходит несколько этапов, реализуемых несколькими локальными средствами (рис 12.6).

Рис 12.6. Этапы преобразования программы

Исходный код – текст отдельной программы на алгоритмическом языке.

Объектный код - текст отдельной программы на машинном языке или на языке ассемблера.

Загрузочный модуль – объединение программ на машинном языке, пригодное для выполнения на компьютере.

На этапе трансляции происходит преобразование исходного кода программы в объектный код. Трансляцию выполняет специальная программа под названием транслятор или компилятор.

На этапе сборки объектные коды нескольких программ в том числе стандартных объединяются в один загрузочный модуль. Сборку проводит специальная программа под названием редактор связей.

Некоторые языки программирования допускают режим интерпретации программ – режим, при котором программа транслируется по операторам языка и сразу выполняется. Необходимые программы подключаются динамически во время выполнения. Сборка загрузочного модуля не производится.

Специальные программы отладчики предназначены для наблюдения за ходом выполнения других программ. Они способны проводить трассировку - следить за операторами исходного кода, останавливать и возобновлять ход выполнения программы в контрольных точках, наблюдать за изменением значений переменных и выражений, идентифицировать место и вид ошибок.

Средства поддержки проектов предназначены для:

  • отслеживания изменений, выполненных разработчиками программ;
  • поддержки версий программы с автоматической разноской изменений;
  • получения статистики о ходе работ проекта.

Интегрированные среды

Системы программирования включают в себя:

o транслятор;

o редактор связей;

o графическую среду разработчика;

o отладчик;

o средства оптимизации кода программ;

o набор библиотек (возможно с исходными текстами программ);

o сервисные средства (утилиты) для работы с библиотеками, текстовыми и двоичными файлами;

o справочные системы;

o документатор исходного кода программы;

o систему поддержки и управления проектом программного комплекса.

Инструментальная среда пользователя представлена специальными средствами, встроенными в пакеты прикладных программ, такими, как:

o библиотека функций, процедур, объектов и методов обработки;

o макрокоманды;

o клавишные и языковые макросы;

o программные модули-вставки;

o языки запросов высокого уровня;

o языки манипулирования данными;

o построители объектов,

o конструкторы экранных форм, меню и отчетов;

o генераторы приложений;

Интегрированные среды разработки программ объединяют вышеназванные наборы средств для комплексного их применения на всех технологических этапах создания программ.

К интегрированным средам относятся: С++ Builder и Visual Basic фирмы Microsoft, Delphi фирмы Borland, Oracle одноименной фирмы.

Тенденции развития инструментария программирования показывают, что разработчики предпочитают интегрированные среды, несмотря на их дороговизну.

САSЕ-технология

САSЕ - технология сформировалась в 80-х годах ХХ века. САSЕ расшифровывается как Computer-Aided System Engineering – проектирование систем с помощью компьютера.

CASE - технология представляет собой совокупность методов анализа, проектирования, разработки и сопровождения сложных систем программного обеспечения (ПО), поддержанную ком­плексом средств автоматизации. CASE - это инструментарий для системных аналитиков, разработчиков и программистов, заменяющий им бумагу и карандаш на компьютер для автоматизации процесса проектирования и разработки ПО.

Большинство CASE-средств основано на совокупности понятий (парадигме) методология/метод/нотация/средство. Методология определяет руководящие указания для оценки и выбора проекта разрабатываемого ПО, шаги работы и их последовательность, а также правила распределения и назначения методов. Метод - это систематическая процедура или техника генерации описаний компонент ПО (например, проектирование потоков и структур данных). Нотации предназначены для описания структуры системы, элементов данных, этапов обработки и включают графы, диаграммы, таблицы, блок-схемы, формальные и естественные языки. Средства - инструментарий для поддержки и усиления методов. Эти инструменты поддерживают работу пользователей при создании и редактировании графического проекта в интерактивном режиме, они способствуют организации проекта в виде иерархии уровней абстракции, выполняют проверки соответствия компонентов.

Основными покупателями CASE-пакетов за рубежом являются военные организации, центры обработки данных и коммерческие фирмы по разработке ПО. Практически ни один серьезный зарубежный программный проект не осуществляется без использования CASE-средств.

Основное достоинство CASE-технологии - поддержка коллективной работы над проектом за счет возможности работы в локальной сети разработчиков, экспорта - импоpтa любых фрагментов проекта, организационного управления проектом. Основная цель CASE состоит в том, чтобы отделить проектирование ПО от его кодирования и последующих этапов разработки, а также скрыть от разработчиков все детали среды разработки и функционирования ПО. Чем больше деятель­ности будет вынесено в проектирование из кодирования, тем лучше. наибольшие изменения касаются этапов анализа и проектирования.

Устойчивое положение они занимают в следующих областях:

· бизнес-анализ (фактически, модели деятельности предприятий "как есть" и «как должно быть" строятся с применением методов структурного системного анализа и поддерживающих их CASE-средств);

· системный анализ проектирование (практически любая крупная программная система разрабатывается с применением CASE-технологий по крайней мере на этапах анализа и проектирования, что связано с большой сложностью данной проблематики и со стремлением повысить эффективность работ).

Некоторые САSЕ-средства ориентированы только на системных проектировщиков и предоставляют специальные графические инструменты для изображения различного вида моделей:

· диаграмма/ потоков данных (DFD - data flow diagrams) совместно со словарями данных и спецификациями процессов;

· диаграмма "сущность-связь" (ERD - entity relationship diagrams), являющуюся инфологической моделью предметной области;

· диаграмма переходов состояний (STD - state transition diagrams), учитывающую события и реакцию на них системы обработки данных.

Диаграмма DFD устанавливает связь источников информации с потребителями, выделяет логические функции (процессы) преобразования информации, определяет группы элементов данных и их хранилища (базы данных).

Описание структуры потоков данных, определение их компонентов хранятся в актуальном состоянии в словаре данных, который выступает как база данных проекта. Каждая логическая функция может детализироваться с помощью DFD нижнего уровня согласно методам нисходящего проектирования.

Выполняются автоматизированное проектирование спецификаций программ (задание основных характеристик для разработки программ) и ведение словаря данных.

Другой класс САSЕ-технологий поддерживает только разработку программ, включая:

· автоматическую генерацию кодов программ на основании их спецификаций;

· проверку корректности описания моделей данных и схем потоков данных;

· документирование программ согласно принятым стандартам и актуальному состоянию проекта;

· тестирование и отладку программ.

В рамках САSЕ-технологий проект сопровождается целиком, а не только его программные коды. Проектные материалы служат заданием программистам, а само программирование скорее сводится к переводу на определенный язык структур данных и методов их обработки, если не предусмотрена автоматическая кодогенерация.

Большинство САSЕ-технологий использует также метод "прототипов" для быстрого создания программ на ранних этапах разработки. Кодогенерация программ осуществляется автоматически - до 85 - 90% текстов на языках высокого уровня.

К CASE – средствам, например, относятся BPWin, ERWin, Rational Rose, Embarcadero, xCase.

Классификация по типам отражает функциональную ориентацию CASE-средств в технологическом процессе создания информационной системы.

1) АНАЛИЗ И ПРОЕКТИРОВАНИЕ. Средства данной группы используются для создания спецификаций системы и для ее проектирования. Их целью является определение системных требований и свойств, которыми система должна обладать, а также создание проекта системы, удовлетворяющей этим требованиям и обладающей соответствующими свойствами. На выходе продуцируются спецификации компонент системы и интерфейсов, связывающих эти компоненты, а также "калька" архитектуры системы и детальная "калька" проекта, включающая алгоритмы и определения структур данных. К таким средствам относятся: CASE.Аналитик (Эйтэкс), The Developer (ASYST Technologies), POSE (Computer Systems Advisers), ProKit*Workbench (McDonnell Douglas), Excelerator (Index Technology), Design-Aid (Nastec), Design Machine (Optima), MicroStep (Meta Systems), vsDesigner (Visual Software), Analist/Designer (Yourdon), Design/IDEF (Meta Software), BPWin (Logic Works), SELECT (Select Software Tools), System Architect (Popkin Software & Systems), Westmount I-CASE Yourdon (Westmount Technology B.V. & CADRE Technologies), CASE/4/0 (microTOOL GmbH).

2) ПРОЕКТИРОВАНИЕ БАЗ ДАННЫХ И ФАЙЛОВ. Средства данной группы обеспечивают логическое моделирование данных, автоматическое преобразование моделей данных в Третью Нормальную Форму, автоматическую генерацию схем БД и описаний форматов файлов на уровне программного кода: ERWin (Logic Works), Chen Toolkit (Chen & Asssociates), S-Designor (SDP), Designer2000 (Oracle), Silverrun (Computer Systems Advisers).

3) ПРОГРАММИРОВАНИЕ. Средства этой группы поддерживают этапы программирования и тестирования, а также автоматическую кодогенерацию из спецификаций, получая полностью документированную выполняемую программу: COBOL 2/Workbench (Mikro Focus), DECASE (DEC), NETRON/CAP (Netron), APS (Sage Software). Помимо диаграммеров различного назначения и средств поддержки работы с репозитарием, в эту группу средств включены и традиционные генераторы кодов, анализаторы кодов, генераторы наборов тестов, анализаторы покрытия тестами, отладчики.

4) СОПРОВОЖДЕНИЕ И РЕИНЖИНИРИНГ. К таким средствам относятся документаторы, анализаторы программ, средства реструктурирования и реинжениринга: Adpac CASE Tools (Adpac), Scan/COBOL u Superstructure (Computer Data Systems), Jnspector/Recoder (Language Technology). Их целью является корректировка, изменение, анализ, преобразование и реинжениринг существующей системы. Средства позволяют осуществлять поддержку всей системной документации, включая коды, спецификации, наборы тестов; контролировать покрытие тестами для оценки полноты тестируемости; управлять функционированием системы и т.п. Особый интерес представляют средства обеспечения мобильности и реинжиниринга. К средствам миграции относятся трансляторы, конверторы, макрогенераторы и др., позволяющие обеспечить перенос существующей системы в но­вое операционное или аппаратурное окружение. Средства реинжиниринга включают:

o статические анализаторы для продуцирования схем системы ПО из ее кодов, оценки влияния модификаций (например,"эффекта ряби" -внесение изменений с целью исправления ошибок порождает новые ошибки);

o динамические анализаторы (обычно, компиляторы и интерпретаторы с встроенными отладочными возможностями);

o документаторы, позволяющие автоматически получать обновленную документацию при изменении кода;

o редакторы кодов, автоматически изменяющие при редактировании и все предшествующие коду структуры (например, спецификации);

o средства доступа к спецификациям, их модификации и генерации нового (модифицированного) кода;

o средства реверсного инжиниринга, транслирующие коды в спецификации.

5) ОКРУЖЕНИЕ. Средства поддержки платформ для интеграции, создания и придания товарного вида CASE-средствам: Multi/Cam (AGS Management Systems), Design/OA (Meta Software).

6) УПРАВЛЕНИЕ ПРОЕКТОМ. Средства, поддерживающие планирование, контроль, руководство, взаимодействие, т.е. функции, необходимые в процессе разработки и сопровождения проектов: Project Workbench (Applied Business Technology).

Программирование

Программирование - теоретическая и практическая деятельность, связанная с созданием программ для компьютеров.

Программирование включает в себя следующие этапы:

1. постановка задачи,

2. структуризация системы,

3. организация данных,

4. алгоритмизация,

5. кодирование,

6. отладка,

7. внедрение.

Постановка задачи

Нулевым этапом постановки задачи должно быть задание окружения программы. Окружение программы состоит из:

o Среды пользователей,

o Среды заказчиков.

o Вычислительной среды ,

Пользователями программной системы могут быть служащие административных учреждений, инженеры, выполняющие на машинах научно-технические расчеты, экономисты, ведущие учет хозяйственной и финансовой деятельности.

Вовлекайте пользователей в процесс проектирования системы

Если пользователи принимают участие в проекте на стадии разработки, они лучше осведомлены о характеристиках системы и могут внести свою лепту в формирование окончательного облика. Если же пользователи привлекаются на этапе испытаний, они получают возможность оценить качества системы еще до начала эксплуатации.

Программа неотделима от вычислительной среды, с которой взаимодействует. Она использует системные программные средства, а те в свою очередь могут пользоваться ее информацией. Программа либо сама создает файлы, либо обрабатывает файлы, сформированные другими программами. Она должна быть построена таким образом, чтобы могла применяться в различных приложениях и обходиться только имеющимися аппаратными ресурсами и средствами программирования.

МАКСИМАЛЬНО ИСПОЛЬЗУЙТЕ СЕРВИСНЫЕ СРЕДСТВА АВТОМАТИЗАЦИИ ПРОЕКТИРОВАНИЯ

Обычно работа по составлению программ начинается в связи с тем, что некоторая организация (заказчик) предлагает создать для нее программную прикладную систему. Официальному заключению договора обычно предшествует выяснение реальной необходимости в такой системе, оценка возможности ее разработки и примерного объема затрат, а также ожидаемого эффекта от ее внедрения.

ЭВМ лучше, чем человек, справляется с трудоемкими задачами, требующими многократного повторения однотипных операций. ЭВМ более эффективно осуществляет поиск и обработку больших массивов информации, состоящих из однородных элементов. Всякое использование ЭВМ предполагает стандартизацию данных и способов обработки. Эффективная реализация преимуществ ЭВМ возможна лишь в тех случаях, когда необходимо выполнять либо трудоемкие вычисления, либо обработку больших объемов инфор­мации. В то же время человек лучше, чем машина, может разобраться в том, что и как следует делать, и способен работать с неоднородной информацией.

Первый шаг в проектировании прикладной программной системы заключается в точном формулировании целей внедрения. Требования к системе еще не создают полной картины. В постановке задачи, разумеется, должны принять участие как представители организации-заказчика, так и те, кто будет заниматься проектированием системы. Необходимо, чтобы этот процесс был гибко организован и продолжался в течение достаточно длительного времени, поскольку на любом этапе разработки или внедрения могут вскрываться ранее не предусмотренные трудности. В то же время в договор следует включить пункт, который запрещал бы радикальный пересмотр требований на стадии реализации си­стемы. В этом же пункте могут быть оговорены условия внесения несущественных изменений.

ВСЕ ДОГОВОРЕННОСТИ ДОЛЖНЫ ОФОРМЛЯТЬСЯ В ОФИЦИАЛЬНОМ ПОРЯДКЕ

Организация-заказчик и группа разработчиков совместно составляют официальный перечень спецификаций, а также договор о порядке проведения проектных работ и приемке системы. Функциональные требования к системе содержат четкое описание всего того, что она должна делать. Ограничениями в процессе проектирования являются директивные сроки завершения отдельных этапов, имеющиеся в наличии ресурсы, организационные процедуры и мероприятия, обеспечивающие сохранность информации.

НЕОБХОДИМО ВСЕСТОРОННЕ АНАЛИЗИРОВАТЬ ЭФФЕКТЫ, СВЯЗАННЫЕ С ВНЕДРЕНИЕМ СИСТЕМЫ

Подобный подход к проектированию можно проиллюстрировать на примере разработки языка Ада. В начале 70-х годов министерство обороны США объявило о создании нового языка, которым предполагалось заменить другие языки программирования во всех приложениях, связанных с решением задач военного характера. Еще до составления окончательного перечня функциональных требований и спецификаций было разработано несколько версий языка, которые анализировались и оценивались группой сторонних экспертов. Был объявлен конкурс на создание языка. Его победителем стала французская фирма Honeywell-Bull. После того как работа над языком была за­вершена, для его оценки вновь были приглашены сторонние эксперты. Много различных групп приняло участие в экспериментах по практической реализации некоторых наиболее нетрадиционных особенностей языка. Наконец, когда стало ясно, что Ада в целом отвечает предъявляемым требованиям, различные военные ведомства начали заключать контракты на приобрете­ние компиляторов языка.

Структуризация системы

Структурным анализом называется метод исследования, который начинается с общего обзора системы и продолжается детализацией, при которой система приобретает иерархическую структуру с большим числом уровней. Требования к системе и ее предполагаемые характеристики не могут слу­жить отправной точкой, поскольку помимо общего описания они содержат много ненужных деталей. Их можно рассматривать •скорее как цели и стандарты, к которым следует стремиться на всех стадиях проектирования. Верхний уровень структурного •анализа представляет собой функциональное описание системы. •Составление функционального описания системы — это обобще­ние всей информации, касающейся целей проекта.

СЛЕДУЕТ СТРЕМИТЬСЯ К СОЗДАНИЮ ПОЛНОЙ КАРТИНЫ

Деление системы на функциональные элементы подчиняется вполне определенным правилам. Самое общее правило состоит в следующем: необходимо отделять то, что требуется сделать, от того, каким образом это можно сделать.

ПРОЦЕСС ПРОЕКТИРОВАНИЯ ДОЛЖЕН БЫТЬ СТРУКТУРИРОВАН.

Графическая схема проекта строится по иерархическому принципу и охватывает все вопросы по разработке проекта. Она должна умещаться на одной странице. На рис 13.1 представлен устоявшийся вариант схемы. Именно таким представляется процесс проектирования автоматизированной системы извне. От системы к системе графическая схема задания меняется незначительно.

Инструментарий программирования - student2.ru

Рис 13.1. Схема проекта системы

1. Введение. Дается общая характеристика системы, чтобы будущий пользователь мог принять решение о том, отвечает ли система его требованиям.

1.1. Функции системы. Поясняется назначение системы, приводится перечень основных процедур и обрабатываемых данных,

1.2. Сфера применения. Характеризуется круг пользователей, на которых ориентирована система.

1.3. Сбор и корректировка данных. Описываются источники исходных данных, поступающих в систему, а также источники данных, используемых для корректировки. В этот пункт следует включить планы и графики корректирования данных.

1.4. Отчеты. Описываются формы, определяются периодичность и общее содержание отчетов, выдаваемых системой.

2. Вычислительная среда. Определяется минимальный состав оборудования, необходимого для нормального функционирования системы.

2.1. Технические средства. Описывается конфигурация технических средств, указывается требуемый объем оперативной памяти, требования к внешним устройствам и т. д.

2.2. Программные средства. Указываются типы операционных систем, используемые библиотеки стандартных программ, системы управления базами данных и т. д.

2.3. Режимы работы. Определяется возможность функционирования системы в условиях пакетного режима, интерактивного режима, режима реального времени или их комбинаций.

3. Связь с внешней средой. Описывается взаимодействие пользователей с системой.

3.1. Вход системы. Определяются форматы данных всех типов, вводимых пользователями, а также внутренняя структура данных. Эта информация служит руководством при разработке бланков входных форм и подготовке данных.

3.2. Выход системы. Описываются форматы отчетов, сообщений и других выходных форм. Эта информация используется при составлении планов и подготовке результатов.

3.3. Управляющие параметры. Перечисляются параметры, задаваемые при настройке системы на конкретную конфигурацию технических и программных средств.

3.4. Рабочие инструкции. Дается общий обзор содержания инструкций, касающихся обращения с лентами, хранения бумаги и т. д. Данная информация используется при составлении инструкций для обслуживающего персонала.

4. Качество системы.

4.1. Соблюдение стандартов и общепринятых обозначений. Указывается, в какой мере система соответствует стандартному варианту языка программирования. Кроме того, определяется степень использования общеупотребительных сокращений и математических обозначений. Это позволяет оценить трудоемкость сопровождения системы.

4.2. Универсальность системы. Обсуждается уровень независимости системы от конкретных внешних условий, с учетом которых она разрабатывается. Это характеризует сложность перевода системы на другие вычислительные установки.

4.3. Надежность функционирования. Рассматриваются такие вопросы, как ожидаемое время наработки на отказ, способы корректировки ошибок, проверка достоверности информации, точность результатов, статистические характеристики всех модулей, осуществляющих вероятностные расчеты, например генераторов псевдослучайных чисел.

4.4. Защита информации. Описываются средства, обеспечивающие сохранность данных и авторизацию доступа, используемые способы кодирования.

5. Документация по системе.

5.1. Пособия и руководства. Приводится перечень документации, прилагаемой к системе, пособий, форм отчетности, рабочих описаний, системной и программной документации.

5.2. Спецификации программ. Дается общее функциональное описание отдельных программ, входящих в состав системы. Эта информация служит руководством при разработке программ.

5.3. Организация данных. Приводится общее описание взаимодействия отдельных информационных потоков в системе. Эти сведения используются при разработке принципов организации данных.

Поскольку многие из перечисленных задач связаны друг с другом, возникает необходимость в планировании последовательности их решения. Для анализа распределения работ часто применяются так называемые ПЕРТ - диаграммы.

ПЕРТ является прямой транскрипцией английского сокращения PERT, составленного из первых букв названия «program evaluation review technique» (методика анализа и корректирования планов). ПЕРТ-диаграмма представляет собой граф, содержащий описания работ и событий и характеризующий процесс взаимодействия работ во времени. Ребра графа обозначают работы, его вершины — события. Обычно под событием понимается завершение одной работы и начало другой, причем вторая не может быть начата, прежде чем завершится первая. На рис. 13.2 приведен сокращенный вариант ПЕРТ-диаграммы_ описывающей процесс проектирования прикладной системы. Поставив в соответствие каждой работе ожидаемое время ее выполнения, можно определить максимальный по продолжительности путь от начальной до конечной вершины графа, который называют критическим путем проектирования системы.

Инструментарий программирования - student2.ru

рис 13.2

Организация данных

На уровне аппаратуры компьютера и операционной системы данные представляются в форме, которая не воспринимается пользователем легко.

Данные разделяются на две группы: простые и структурированные. Простое данное в каждый момент обладает одним значением. Структурированное данное формируется группой данных, каждое из которых может быть простым или структурированным. К простым данным относятся флаги, коды, даты, числа, символы. К структурированным данным относятся строки, массивы, таблицы, списки, стеки, очереди, множества, записи, файлы. Файлы и базы данных должны обязательно состоять из структурированных элементов. Внешние для программной системы данные также формируются из структурированных элементов.

В языке Паскаль, например, имеются как средства для задания правил формирования структур, так и средства для непосредственного описания данных:

Type TEN_BY_TWENTY = array[10,20] of real;

Var A,B,C : TEN_BY_TWENTY;

Запись на Паскале может быть определена следующим образом:

type CUSTOMER = record

NAME: string;

ADDRESS: string;

TELEPHONE: string;

ACCOUNT_BALANCE: real;

PAYMENT_DATE: integer

end

Часто невозможно заранее, до начала работы программы установить размер структуры данных. Такие данные называются динамическими, их размер устанавливается в процессе работы программы. В большинстве языков программирования нельзя задавать динамически изменяемые структуры данных. Программисту необходимо указывать наибольшее число экземпляров - максимальный размер каждой структуры.

Программист, проектировщик и пользователь имеют разные взгляды на организацию данных. В соответствии с этим могут быть выделены три уровня организации данных:

o Логическая организация данных: проектный уровень.

o Представление данных: уровень языка реализации.

o Физическая организация данных: машинный уровень.

Логическая организация данных отражает взгляд пользователя на данные. В ее основе лежат требования пользователя и внутренне присущие данным связи. Это наиболее важный уровень абстракции, используемый при представлении данных, поскольку именно требования пользователей определяют облик проектируемой системы. Если на этапе проектирования системы удачно выбрана логическая организация данных, изменения системных требований, не приводящие к модификации логической структуры данных, не повлекут за собой реорганизации на более низких уровнях представления данных.

Только на логическом уровне могут применяться формальные методы описания динамически изменяющихся структур. Никакая дополнительная информация о членах семьи не изменит общую логическую структуру семьи:

семья =отец, мать, ребенок ...

отец = имя, возраст, профессия

мать = имя, возраст, девичья фамилия,

ребенок = имя, возраст, пол

Новые данные о членах семьи не нарушают ее общей организации, но могут привести к изменениям в представлении информации.

Описание данных на языке программирования относится к уровню представления данных. Отношения между данными задаются в виде, характерном для конкретного языка.

Уровень физической организации связан с системным программным обеспечением. На этом уровне приходится оперировать с границами слов, размерами полей, двоичными кодами и физическими записями. Отметим, что системное программное обеспечение управляет потоком данных между программами и внешними устройствами, а языки программирования управляют обменом данными между программами.

Алгоритмизация

Алгоритмы содержат определение пошагового процесса обработки данных с описанием преобразований данных и описанием функций управления. Они могут быть записаны на естественном языке, на языке программирования, с помощью математической или другой символической нотации. Алгоритм не содержит описания структуры обрабатываемых данных. Название алгоритма может указывать на его назначение (например, алгоритм сортировки, обращения матриц, игры в «крестики и нолики» и т. д.) или определять используемый в нем метод решения.

Известны три основных вида средств проектирования структуры управления программой

1. структурное программирование,

2. схемы передач управления и

3. управляющие таблицы.

Все они предназначены для организации нормального функционирования программы, т. е. с их помощью определяются следующие свойства программы: порядок следования отдельных шагов обработки, ситуации и типы данных, вызывающие изменения процесса обработки, а также повторно используемые функции программы.

Наши рекомендации