Что такое технологичность программы

В условиях индустриального подхода к разработке и сопровождению программного обеспечения особый вес приобретают технологические характеристики разрабатываемых программ. Для обеспечения необходимых технологических свойств применяют специальные технологические приёмы и следуют определённым методикам, сформулированным всем предыдущем опытом сознания ПО. К таким приёмам и методикам относят правила декомпозиции, методы проектирования, программирования и контроля качества, которые под общим названием «структурный подход к программированию» были сформулированы ещё в 60-х годах 20го века. В его основу были положены следующие концепции:

· сквозной структурный контроль.

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

Анализ на технологичность на примере фрезерной обработки

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

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

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

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

Читайте также:
Программа схема эль гамаля

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

Одним из типов модулей являются библиотеки ресурсов, которые группируют в себе определённый функционал. В качестве улучшения их технологических характеристик в настоящее время используют разделение тела модуля на интерфейсную часть и область реализации (например h и cpp файлы в С++).

Технологичность конструкции изделия

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

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

При разработке может использоваться один из подходов:

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

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

Читайте также:
Как составить линейную программу в паскале

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

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

Источник: cyberpedia.su

ПРИЕМЫ ОБЕСПЕЧЕНИЯ ТЕХНОЛОГИЧНОСТИ ПРОГРАММНЫХ ПРОДУКТОВ

Понятие технологичности программного обеспечения.

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

Хороший проект быстро и легко кодируется, тестируется, отлаживается и модифицируется.

Технологичность ПО определяется
— проработанностью его моделей;
— уровнем независимости модулей;
— стилем программирования;
— степенью повторного использования кодов.

Для обеспечения необходимой технологичности применяют специальные приемы и методики, включающие в себя методы и правила: декомпозиции, проектирования, программирования, контроля качества, которые под общим названием «структурный подход к программированию» были сформулированы еще в 60-х годах XX в.

В его основу были положены следующие основные концепции:

• нисходящая разработка «сверху вниз»;

• структурный стиль программирования;

• сквозной структурный контроль.

Нисходящая и восходящая разработка ПО

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

Источник: studopedia.info

Понятие технологичности ПО

В условиях индустриального подхода к разработке и сопровождению программно­го обеспечения особый вес приобретают технологические характеристики разрабатыва­емых программ. Для обеспечения необходимых технологических свойств применяют специальные технологические приемы и следуют определенным методикам, сформули­рованным всем предыдущим опытом создания программного обеспечения. К таким при­емам и методикам относят правила декомпозиции, методы проектирования, программи­рования и контроля качества, которые под общим названием «структурный подход к про­граммированию» были сформулированы еще в 60-х годах XX в. В его основу были по­ложены следующие основные концепции:

Читайте также:
Не могу установить программы на lumia

• сквозной структурный контроль.

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

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

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

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

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

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

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

Источник: studopedia.su

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru