Слайд 1Организация программного кода при создании информационных систем
Подготовил:
Студент группы МЭК-21
Акименко В. И.
Руководитель:
Доц.
Яровенко А. Н.
Слайд 2Информационная система
В широком смысле информационная система есть совокупность технического, программного и организационного обеспечения, а также персонала, предназначенная
для того, чтобы своевременно обеспечивать надлежащих людей надлежащей информацией.
ИС в узком смысле рассматривают как программно-аппаратную систему, предназначенную для автоматизации целенаправленной деятельности конечных пользователей.
Слайд 3Какие требования?
1. Масштабируемость!
2. Гибкость.
3. Модульность.
4. Функциональность.
5. Удобство.
6. И др.
Слайд 4Как создать
масштабируемую, гибкую,
модульную
архитектуру приложения
…и не сойти с ума?
Слайд 5Организация работы
Хорошо:
RUP – Rational Unified Process (рациональный унифицированный процесс разработки) –
4 этапа, итеративная разработка, постоянное уточнение.
Плохо:
WFM – Waterfall model (модель разработки типа «Водопад») – 5 этапов, шаг за шагом, без оглядки.
Слайд 6Глобальная архитектура
Рекомендуемые:
Client-server – сервер хранит данные и часть бизнес логики, клиентское
приложение потребляет эти данные и также содержит часть бизнес логики.
Client-service-server (service-oriented architecture) – сервер хранит данные, сервис взаимодействует с данными и обрабатывает их, клиент потребляет обработанные данные.
Не рекомендуемые:
Standalone – все в одном приложении.
Peer-to-peer – основное взаимодействие ведется непосредственно между несколькими клиентами.
Слайд 7Проектирование
Хорошо:
DDD – Domain-driven design (Проблемно-ориентированное проектирование) — метод проектирования, при котором структура создаваемого ПО отражает зависимости
предметной области.
Плохо:
DDD – Data-driven design (Проектирование на основе структуры данных) — метод проектирования, при котором структура создаваемого ПО отражает структуру обрабатываемых в системе данных.
Слайд 8Программирование
Хорошо:
TDD – Test-driven development (Разработка через тестирование) – сначала тест, потом
код.
Плохо:
FDD – Feature-driven development (разработка на основе функциональности) – сразу код, потом, возможно, тест, если будет время.
Слайд 9Детали реализации
Шаблоны разделения кода:
MVC – Model-View-Controller (модель-представление-контроллер) – шаблон разделения кода, когда
вся логика разбивается на 3 части:
модель – содержит данные и бизнес логику
представление – содержит логику отображения данных
контроллер – выбирает необходимые данные из модели и передает их в представление (представление знает о модели)
MVVM – Model-View-ViewModel (модель-представление-модель представления) – шаблон разделения кода, когда вся логика разбивается на 3 части:
модель – содержит данные и бизнес логику
представление – содержит логику отображения данных
модель представления – формирует специальные объекты из данных модели, которые связываются с представлением (представление знает о модели представления)
Также полезные:
MVP – Model-View-Presenter
Слайд 10Детали реализации
Шаблоны инициализации объектов:
Основной – Factory Pattern (фабрика объектов) – порождающий шаблон
проектирования, предоставляющий объектам унифицированный интерфейс для создания экземпляров других объектов.
Также полезные:
Builder
Prototype
Singleton
Multiton
Слайд 11Детали реализации
Шаблоны структуры:
Основной – Bridge Pattern (мост) – структурный шаблон проектирования, используемый
чтобы «разделять абстракцию и реализацию так, чтобы они могли изменяться независимо».
Также полезные:
Facade
Flyweight
Adapter
Decorator
Слайд 12Детали реализации
Шаблоны взаимодействия:
Полезные все при грамотном использовании:
Template Method
Chain of responsibility
Command
State
Iterator
И другие…
Слайд 13Это не так сложно
масштабируемая, гибкая,
модульная
архитектура приложения
+
заказчик (любой) с деньгами
=
PROFIT
Слайд 14Источники
Вики
Вики
Еще вики
Хабр
Avajava