Содержание
- 2. Содержание презентации 01 Прежде чем кодить 02 Управление сложностью 03 Классы 04 Немного ООП
- 3. Определение проблемы Выработка требований Разработка архитектуры Кодирование и отладка Тестирование Сопровождение Разработка ПО – сложный процесс
- 4. Метафора «Строительство здания» Сравнение конструирования ПО с возведением здания указывает на необходимость тщательной подготовки к проекту
- 5. Важность предварительных условий Общая цель подготовки — снижение риска: адекватное планирование позволяет исключить главные аспекты риска
- 6. Определение проблемы — это просто формулировка сути проблемы без каких-либо намеков на ее возможные решения Определение
- 7. Выработка требований Требования подробно описывают, что должна делать программная система. Адекватное определение требований — одно из
- 8. Это высокоуровневая часть проекта приложения, каркас, состоящий из деталей проекта Она позволяет разделить работу на части,
- 9. Компоненты архитектуры Основные классы Организация данных Бизнес-правила Пользовательский интерфейс Управление ресурсами Безопасность Производительность Масштабируемость Обработка ошибок
- 10. Основные классы Их области ответственности Взаимодействия с другими классами Иерархия Время существования объектов
- 11. Управление сложностью Управление сложностью — самый важный технический аспект разработки ПО. Мы должны попытаться организовать программы
- 12. Как управлять сложностью?
- 13. Простота сопровождения Проектируя приложение, не забывайте о программистах, которые будут его сопровождать. Постоянно представляйте себе вопросы,
- 14. Слабое сопряжение: сводите к минимуму число соединений между разными частями программы. Расширяемость: изменение одного фрагмента системы
- 15. Классы Это Абстрактный тип данных(АТД) - набор данных и методов, имеющих общую, целостную, хорошо определенную сферу
- 16. Нужно определить: АТД и его атрибуты действия, которые могут быть выполнены над классом Действия, которые класс
- 17. Выражайте в интерфейсе класса согласованный уровень абстракции Хорошо -> Каждый класс должен быть реализацией только одного
- 18. Другие советы Убедитесь, что вы понимаете, реализацией какой абстракции является класс Предоставляйте методы вместе с противоположными
- 19. Инкапсуляция Инкапсуляция позволяет вам смотреть на дом, но не дает подойти достаточно близко, чтобы узнать, из
- 20. Применение инкапсуляции Не делайте данные-члены открытыми Не включайте в интерфейс класса закрытые детали реализации Не делайте
- 21. Наследование Наследование подразумевает, что один класс является более специализированной версией другого класса Базовый класс формулирует ожидания
- 22. Применение наследования Проектируйте и документируйте классы с учетом возможности наследования или запретите его Соблюдайте принцип подстановки
- 23. Наследование часто противоречит управлению сложностью
- 24. Методы классов Включайте в класс как можно меньше методов Блокируйте неявно сгенерированные методы и операторы, которые
- 25. Моделирование объектов реального мира; Моделирование абстрактных объектов; Снижение сложности; Изоляция сложности; Сокрытие деталей реализации; Ограничение влияния
- 26. Итоги презентации Уделяем внимание предварительным требованиям и архитектуре Стараемся свести сложность к минимуму Класс должен формировать
- 27. Источник Стив Макконнелл. Совершенный код
- 29. Скачать презентацию