ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 24.01.2025

Просмотров: 305

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

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

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

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

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

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


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


Bilet 33 vopros 2 2. Защищенные и открытые данные и методы.

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

Член класса может быть закрытым (private), защищенным (protected) или открытым (public).

Методы и свойства private (Частные)

Свойства и методы, объявленные с директивой private, доступны только внутри класса, в котором они определены. Это означает, что даже если новый класс будет производным от класса, в котором определены частные свойства и методы, они не будут доступны в производном классе.

Методы и свойства protected (Защищённые)

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

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

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

В классе члены по умолчанию являются закрытыми, а в структуре – открытыми.

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

Аналогично членам класса базовый класс может быть объявлен закрытым (private), защищенным (protected) и открытым (public).

bilet 35 vopros 2 2. Принципы создания компонент в визуальных средах разработки. (Я не уверен что это то что нужно, возможно нужно говорить о принципах типа создание компонента путём наследования свойств от стандартного, например создать какойнить NihuyaSebePizdatiyEdit улучшив простой TEdit)


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

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

• Компонент должен делать нечто новое. Совершенно очевидное требование, которое, тем не менее, нередко игнорируется.


Bilet 36 vopros 1 1. Общая постановка и виды задач принятия решений.

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

1. контролируемые (управляемые) факторы, выбор которых определяется лицом, принимающим решения. Обозначим их через Х1, Х2, ..., Xl,

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

— детерминированные неконтролируемые факторы — это неслучайные фиксированные величины, значение которых в точности известно. Обозначим их через A1, А2, ..., Аp,

— стохастические неконтролируемые факторы — случайные величины с известными законами распределения. Обозначим их через Y1 Y2, ..., Yq;

— неопределенные неконтролируемые факторы, для каждого из которых известна только область, внутри которой находится неизвестный закон их распределения. Обозначим эти величины через Z1, Z2, ..., Zr.

Поскольку критерий оптимальности F есть количественная мера достижения целей управления, то математически цель управления выражается в стремлении к максимально возможному увеличению (или уменьшению) значения критерия оптимальности F, т.е.

F → mах(или min).

Средством достижения этой цели является выбор управлений Х1 Х2,..., Хl принадлежащих к областям их допустимых значений Wx1 , Wx2 ,…, Wxl

Таким образом, общая постановка задачи принятия решений может быть сформулирована следующим образом: при заданных значениях фиксированных и неконтролируемых факторов А1, А2,..., Аp стохастических неконтролируемых факторов У1,Y2, ..., Yq с учетом неопределенных факторов Z1, Z2, ..., Zy найти X1 opt , X2 opt ,…, Xl opt принадлежащее областям их допустимых значений Wx1, Wx2, ..., Wxl, которые по возможности обращали бы в максимум (минимум) критерий оптимальности F.

Классификация задач принятия решений: