Индивидуальные очистные сооружения: К классу индивидуальных очистных сооружений относят сооружения, пропускная способность которых...
Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...
Топ:
Установка замедленного коксования: Чем выше температура и ниже давление, тем место разрыва углеродной цепи всё больше смещается к её концу и значительно возрастает...
Характеристика АТП и сварочно-жестяницкого участка: Транспорт в настоящее время является одной из важнейших отраслей народного хозяйства...
Характеристика АТП и сварочно-жестяницкого участка: Транспорт в настоящее время является одной из важнейших отраслей народного...
Интересное:
Отражение на счетах бухгалтерского учета процесса приобретения: Процесс заготовления представляет систему экономических событий, включающих приобретение организацией у поставщиков сырья...
Уполаживание и террасирование склонов: Если глубина оврага более 5 м необходимо устройство берм. Варианты использования оврагов для градостроительных целей...
Распространение рака на другие отдаленные от желудка органы: Характерных симптомов рака желудка не существует. Выраженные симптомы появляются, когда опухоль...
Дисциплины:
2022-10-29 | 27 |
5.00
из
|
Заказать работу |
|
|
Понятие технологии разработки ПО. Цели проектирования.
Технология разработки отражает тенденцию к созданию ПО.
Под проектированием понимается некий унифицированный подход, с помощью которого разработчик ищет пути решения проблемы и обеспечивает выполнение требований, ограничений и т.д.
Целью проектирования является создание системы, которая обладает следующими качествами:
1. Функциональной полнотой
2. Система согласуется с ограничениями по ресурсам
3. Обладает необходимыми эксплуатационными качествами
4. Удовлетворяет требования процесса разработки
5. На всех этапах разработки сложных программных систем используется моделирование
Программирование:
1. процедурное
2. объектно-ориентированное
Программы можно разделить на сложные и простые. Простые программы с коротким жизненным циклом. Они разрабатываются одним человеком. Сложные программы с длинным жизненным циклом. Обычно это дорогостоящие продукты, разрабатывающиеся группой программистов.
Существует два основных подхода к понижению сложности. Они основаны на декомпозиции системы.
1. алгоритмическая декомпозиция, т.е. мы разбиваем систему на отдельные модули (функции).
2. объектно-ориентированная декомпозиция используется в объектно-ориентированном проектировании.
Роль моделей в проектировании программных систем.
При объектно-ориентированном проектировании используется объектно-ориентированная модель, обеспечивающая ОО декомпозицию – разбиение сложной системы на более простые части (классы).
Таким образом, ОО проектирование базируется на понятии объектная модель. Само это понятие эволюционирует с развитием языков программирования:
|
Поколение 1: вычисление по математическим формулам
Поколение 2: объекты модели дополнились такими понятиями как подпрограммы, файлы.
Поколение 3: добавились абстрактные классы.
Поколение 4: используется ОО модель.
Основные принципы объектной модели:
- абстрагирование. Введение типовых элементов с общими свойствами и поведением, что ведет к получению объектов и классов. Один из способов выявления классов – декомпозиция.
- инкапсуляция (ограничение доступа). Объединение как поведения так и состояний объекта. Разделение класса на реализацию и интерфейс.
- модульность – принцип разработки в виде отдельных частей. Классический модуль – функция.
- иерархичность – принцип, когда ПО строится как совокупность элементов, образующих иерархию. Основные формы реализации – отношение композиции или агрегации и наследование.
- типизация – ограничения, накладываемые на свойства объектов и препятствующие взаимозаменяемости абстракции различных типов. Степени типизации:
- жесткая типизация. Язык предоставляет заранее предопределенные типы с известным набором операторов. В С++ - средняя типизация.
- параллелизм – принцип, означающий свойство нескольких абстракций быть одновременно активными. Поддерживается на уровне ОС и позволяет создавать параллельные задачи (потоки).
- устойчивость (сохраняемость)
- и т.д.
Модели жизненного цикла ПО.
1. Каскадная (водопадная) – это классическая модель.
• модель состоит из последовательно расположенных этапов;
• каждый этап полностью заканчивается до того, как начнется следующий;
• этапы не перекрываются во времени: следующий этап не начинается до тех пор, пока не завершится предыдущий;
• возврат к предыдущим этапам не предусмотрен либо всячески ограничен;• исправление ошибок происходит лишь на стадии тестирования;• результат появляется только в конце разработки.
Критерием появления результата является отсутствие ошибок и точное соответствие продукта первоначальной спецификации.
|
2. поэтапная модель с промежуточным контролем (водоворот).
• модель состоит из последовательно расположенных этапов;
• каждый этап имеет обратную связь с предыдущими этапами;
• исправление ошибок происходит на каждом из этапов, сразу при выявлении проблемы — это промежуточный контроль;
• этапы перекрываются во времени по причине наличия обратной связи: следующий этап не начинается, пока не завершится предыдущий; при первом проходе по модели вниз, как только обнаружена ошибка, осуществляется возврат снизу вверх к предыдущим этапам, которые повлекли ошибку; таким образом, фактически этапы оказываются растянутыми во времени;
• результат появляется только в конце разработки, как и в модели «водопад». Критерием появления результата является приемлемое качество продукта, то есть такое состояние продукта, когда наиболее критические для клиента ошибки устранены
3. спиральная – характерно использование эволюционной стратегии. Используется совместно с ОО парадигмой. Отличается снижением затрат за счет оперативного устранения ошибок и многократного использования кодов.
Результат появляется фактически на каждом витке спирали. Этот результат, который является промежуточным, анализируется, а затем выявленные недостатки продукта становятся поводом для инициирования следующего витка спирали.
• модель состоит из последовательно расположенных этапов в пределах одного витка спирали;
• исправление ошибок происходит на этапе тестирования на каждом из витков спирали;
ООП. Принцип иерархичности.
Иерархичность – принцип, когда ПО строится как совокупность элементов, образующих иерархию. Основные формы реализации – отношение композиции или агрегации и наследование.
1. использование – отношение, когда в одном классе используются члены другого класса и это используется в его методах
2. агрегация - Отношения, когда один класс в качестве своей составной части (в атрибутах) содержит объекты другого класса, в качестве своих атрибутов.
3. Наследование – механизм создания новых классов, когда новый класс использует члены исходного класса, а также, добавляет новые члены, при необходимости переописывает члены исходного класса. Переописание м.б. выполнено в виде перегрузки (сохраняется сигнатура), либо в виде подстановки или подмены (сохраняется интерфейс).
|
MFC. Пример описания пользовательского класса для работы с диалоговым окном.
Описать пользовательский класс MY_DIALOG для создания экземпляров пользовательских диалоговых окон можно следующим образом.
class MY_DIALOG: public CDialog
{
public:
MY_DIALOG (char *DialogName, CWnd *Owner): CDialog(DialogName, Owner) { };
DECLARE_MESSAGE_MAP()
};
BEGIN_MESSAGE_MAP (MY_DIALOG, CDialog)
//<указание типов обрабатываемых сообщений и имен их обработчиков>
END_MESSAGE_MAP()
MY_DIALOG - наследуемый пользовательский класс от класса CDialog, обслуживающий диалоговое окно <ID_имя_диалогового_окна>, как производный от библиотечного класса MFC - CDialog. MY_DIALOG (char *DialogName, CWnd *Owner) - конструктор класса MY_DIALOG, где DialogName - ID-имя диалогового окна, Owner - его владелец (здесь, как правило, текущее окно, т.е. this).
Понятие технологии разработки ПО. Цели проектирования.
Технология разработки отражает тенденцию к созданию ПО.
Под проектированием понимается некий унифицированный подход, с помощью которого разработчик ищет пути решения проблемы и обеспечивает выполнение требований, ограничений и т.д.
Целью проектирования является создание системы, которая обладает следующими качествами:
1. Функциональной полнотой
2. Система согласуется с ограничениями по ресурсам
3. Обладает необходимыми эксплуатационными качествами
4. Удовлетворяет требования процесса разработки
5. На всех этапах разработки сложных программных систем используется моделирование
Программирование:
1. процедурное
2. объектно-ориентированное
Программы можно разделить на сложные и простые. Простые программы с коротким жизненным циклом. Они разрабатываются одним человеком. Сложные программы с длинным жизненным циклом. Обычно это дорогостоящие продукты, разрабатывающиеся группой программистов.
Существует два основных подхода к понижению сложности. Они основаны на декомпозиции системы.
1. алгоритмическая декомпозиция, т.е. мы разбиваем систему на отдельные модули (функции).
2. объектно-ориентированная декомпозиция используется в объектно-ориентированном проектировании.
|
|
Наброски и зарисовки растений, плодов, цветов: Освоить конструктивное построение структуры дерева через зарисовки отдельных деревьев, группы деревьев...
Биохимия спиртового брожения: Основу технологии получения пива составляет спиртовое брожение, - при котором сахар превращается...
Типы сооружений для обработки осадков: Септиками называются сооружения, в которых одновременно происходят осветление сточной жидкости...
История развития хранилищ для нефти: Первые склады нефти появились в XVII веке. Они представляли собой землянные ямы-амбара глубиной 4…5 м...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!