Научная статья на тему 'ПРОЕКТИРОВАНИЕ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ, ОСНОВАННОЕ НА ДЕКОМПОЗИЦИИ ДАННЫХ'

ПРОЕКТИРОВАНИЕ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ, ОСНОВАННОЕ НА ДЕКОМПОЗИЦИИ ДАННЫХ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
28
3
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
проектирование / программирование / информация / разработка / design / programming / information / development

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Потехин В.С., Коваленко Т.А.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

SOFTWARE DESIGN BASED ON DATA DECOMPOSITION

The paper provides information on two methods for software design, which is based on data decomposition.

Текст научной работы на тему «ПРОЕКТИРОВАНИЕ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ, ОСНОВАННОЕ НА ДЕКОМПОЗИЦИИ ДАННЫХ»

УДК 004 Потехин В.С., Коваленко Т.А.

Потехин В.С.

студент

Поволжский государственный университет телекоммуникаций и информатики (г. Самара, Россия)

Коваленко Т.А.

Поволжский государственный университет телекоммуникаций и информатики (г. Самара, Россия)

ПРОЕКТИРОВАНИЕ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ, ОСНОВАННОЕ НА ДЕКОМПОЗИЦИИ ДАННЫХ

Аннотация: в работе представлена информация о двух методиках по проектированию ПО, которое основано на декомпозиции данных.

Ключевые слова: проектирование, программирование, информация, разработка.

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

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

Существует несколько типов программного обеспечения. Во-первых, системное программное обеспечение, которое включает в себя операционные системы (например, Windows, macOS, Linux), драйверы устройств, библиотеки и другие программы, управляющие аппаратным обеспечением компьютера. Это основные компоненты, необходимые для работы устройства. Далее, прикладное программное обеспечение - это программы и приложения, предназначенные для выполнения конкретных задач пользователем. Это могут быть текстовые редакторы, электронные таблицы, графические редакторы, игры, браузеры и множество других приложений, помогающих пользователям осуществлять разнообразные действия и операции на своих устройствах. Также существуют утилиты - это программы, предназначенные для оказания различных сервисных функций. К ним относятся архиваторы, антивирусные программы, инструменты для очистки диска и другие приложения, помогающие пользователям в обслуживании и оптимизации работы компьютера.

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

Итак, примерно в то же время были предложены методы разработки программного обеспечения Джексона и Варнье-Орра, основанные на разложении данных. Оба метода предназначены для создания "простых" программ, которые работают со сложными, но иерархически организованными структурами данных. В любом случае, если вам необходимо разработать программную систему, вы можете сначала разбить систему на отдельные программы, а затем использовать эти технологии.

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

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

Разработка структуры программы в соответствии с методикой выполняется следующим образом:

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

формируют структуру программы на основании структур данных и обнаруженных соответствий,

добавляют блоки обработки элементов, для которых не обнаружены соответствия,

анализируют и обрабатывают несоответствия, т. е. разрешают « столкновения»,

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

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

На рис. 1 представлены структуры входных и выходных данных программы. Анализ этих структур показывает, что между ними есть соответствия (на рис. 1 эти соответствия показаны полужирными дугами). Помимо полного соответствия, имеет место еще частичное соответствие — соответствие, отмечаемое только, если студент имеет задолженности (на рис. 1 оно отмечено полужирным пунктиром).

Используя найденные полные и неполные соответствия, строим «каркас» программы (затемненные блоки на рис. 2). Согласно методике, добавляем блоки, которые позволят разрешить «столкновения» (светлые блоки на рис. 2).

Далее строим полный список операций, которые должна выполнять программа, учитывая, что не каждой записи исходного файла соответствует строка отчета (признак «формировать запись вывода» установлен), и выводить надо названия только тех предметов, по которым у студента есть задолженности (признак «задолженность» установлен):

Рис. 1. Структуры входных (а) и выходных (б) данных программы

1 - завершить работу,

2 - открыть входной файл,

3 - открыть выходной файл,

4 - закрыть входной файл,

5 - закрыть выходной файл,

6 - вывести заголовок,

7- вывести завершитель,

8- ввести запись входного файла,

9- вывести строку отчета (при включенном состоянии признака «формировать запись вывода»),

10 - очистить буфер вывода,

11 - установить признак "формировать запись вывода ",

12 - сбросить признак «формировать запись вывода»,

13 - поместить в строку вывода ФИО,

14 - установить признак «задолженность»,

15 - сбросить признак «задолженность»,

16 - занести название предмета в строку вывода, 17- стереть название предмета из буфера.

Рис. 2. Структура программы формирования списка студентов с задолженностями.

Затем определяем местоположение операций обработки (на рис. 2 они показаны кружочками с номерами). Результатом является полная структура разрабатываемой программы в нотации Джексона. Далее в соответствии с методикой следует записать алгоритм программы на псевдокоде.

В методике Джексона предлагается псевдокод, точно соответствующий графической нотации. Он использует следующие конструкции. Последовательность: <Имя> Посл. Выполнить <действие 1> Выполнить <действие 2> <Имя> конец Выбор:

<Имя> Выбор <условие действия 1> Выполнить <действие 1> <Имя> или <условие действия 2> Выполнить < действие 2> <Имя> конец, Повторение:

<Имя> Повт, пока не <условие действия> Выполнить <действие 1> <Имя> конец

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

Составление отчета посл. Открыть входной файл Открыть выходной файл Вывести заголовок отчета

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

Сбросить признак «формировать запись вывода» Сбросить признак «задолженность» Вывести в буфер ФИО

Обработка данных повт. пока не конец записи

Обработка предмета посл.

Занести название предмета в строку вывода

Обработка предмета конец

Обработка оценки выбор если оценка положительна Стереть название предмета из буфера Обработка оценки или если оценка пропуск Установить признак "задолженность" Обработка пропуска выбор если не установлен признак "формировать запись вывода " Установить признак "формировать запись вывода " Обработка пропуска конец Обработка оценки конец

Обработка конца записи выбор если установлен признак "формировать запись вывода"

Вывести строку отчета Обработка конца записи конец Обработка данных конец Формирование тела отсчета конец Вывести завершитель Закрыть входной файл Закрыть выходной файл Завершить работу Составление отсчета конец

Методика Варнье-Орра. Методика Варнье-Орра базируется на том же положении, что и методика Джексона, но основными при построении программы считаются структуры выходных данных и, если структуры входных данных не соответствуют структурам выходных, то их допускается менять. Таким образом, ликвидируется основная причина столкновений. В примере 5 4 целесообразно поменять местами оценки и названия предметов, чтобы упростить обработку.

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

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

СПИСОК ЛИТЕРАТУРЫ:

1. Советов, Б. Я. Моделирование систем. Практикум / Б. Я. Советов, С. А. Яковлев. - М. : Юрайт, 2012;

2. Гордеев, А. В. Системное программное обеспечение / А. В. Гордеев, А. Ю. Молчанов. - М. : Питер, 2016;

3. Джордейн, Р. Справочник программиста персональных компьютеров типа 1ВМ РБ, XT и AT / Р. Джордейн. - М. : Финансы и статистика, 2014;

4. Затонский, А. В. Программирование и основы алгоритмизации / А. В. Затонский, Н. В. Бильфельд. - М. : Дрофа, 2014.

Международный научный журнал «ВЕСТНИК НАУКИ» № 12 (69) Том 5. Ч. 1. ДЕКАБРЬ 2023 г. Potekhin V.S., Kovalenko T.A.

Potekhin V.S.

Volga State University of Telecommunications and Informatics

(Samara, Russia)

Kovalenko T.A.

Volga State University of Telecommunications and Informatics

(Samara, Russia)

SOFTWARE DESIGN BASED ON DATA DECOMPOSITION

Abstract: the paper provides information on two methods for software design, which is based on data decomposition.

Keywords: design, programming, information, development.

i Надоели баннеры? Вы всегда можете отключить рекламу.