Проектирование программного обеспечения
- Категория: Что такое?
- – Автор: Игорь (Администратор)
Создание даже самого простого приложения или сайта не обходится без шага проектирования этого самого приложения или сайта. Разница лишь в том, что в простых приложениях этот шаг незаметен, а в сложных без него попросту не обойтись. Поэтому в этом обзоре рассмотрим что такое проектирование, зачем оно нужно, принципы и ряд других моментов.
Проектирование программного обеспечения: что это такое и зачем нужно?
Проектирование программного обеспечения (проектирование ПО) - это процесс концептуализации того, как будет функционировать программное обеспечение, прежде чем оно будет внедрено или реализовано
Проектирование ПО - это процесс определения архитектуры, компонентов, интерфейсов, других характеристик системы и конечного состава программного продукта.
Если говорить простыми словами, то проектирование ПО это то, как программа (сайт, сервис и т.д.) будет создаваться, какие в ней будут использоваться алгоритмы, как она будет взаимодействовать с другими ПО и прочее-прочее. Если приводить пример из жизни, то это, скажем, как с созданием мебели под заказ. Первым делом вы меряете все необходимые размеры, затем составляете общий дизайн (это и представляет собой шаг проектирования), а уже только потом чьи-то мозолистые руки будут ваять данное произведение искусства.
Зачем нужно проектирование программного обеспечения?
1. Обе стороны понимают что и как будет функционировать. Т.е. это позволяет управлять ожиданиями и снижать вероятность разночтений и разногласий.
2. Формируется понимание что и когда будет сделано. Естественно, жизнь это жизнь и сроки могут сдвигаться, но хотя бы формируется какое-то общее понимание.
3. Обе стороны в некотором роде защищены, так как каждый может апеллировать к договорённостям. Каждый же сталкивался с моментами в стиле "Говорил / не говорил" и как "приятно" решать подобные конфликты.
4. Расширять или менять что-либо в проекте существенно проще, так как существует понимание как это может отразиться.
Также вам может быть интересен обзор Эскиз, Прототип, Макет: что это такое?
Принципы проектирования программного обеспечения
Теперь рассмотрим своеобразные принципы проектирования программного обеспечения. Кстати, советы могут быть полезны не только авторам приложений, но и клиентам.
1. Проектирование должно подразумевать гибкость мышления. Суть в том, что чем больше у вас вариантов решения задачи, тем более эффективно вы можете действовать. Абстрактно, где-то что-то можно попроще сделать, где-то более качественно и так далее. В результате при меньших затратах более эффективное решение.
Обзор в тему Почему очевидные решения не всегда подходят?
2. Не стоит отбрасывать в сторону существующие механизмы. Скажем, если создавать сайт с нуля, то он может отражать все ваши "хотелки" так, как вам нужно. Но не просто так существуют CMS. Они попросту экономят массу времени, пусть и обладают рядом ограничений.
Обзоры в тему Самопис или CMS что лучше? и ещё Универсальное или уникальное решение: что лучше?
3. Дизайн должен отражать решаемые задачи. Самый элементарный пример. Порядок следования колонок в таблице. Вроде бы, какая разница? Только вот суть в том, что удобное расположение колонок позволяет проще воспринимать нужную информацию. Если обращали внимание, то, скажем, в интернет-магазинах обычно числа располагаются в правой части таблицы, тогда как названия, картинки и прочее в левой. И сделано это для простоты восприятия. Абстрактно, попробуйте сумму разместить где-нибудь в середине, а количество справа. Информация та же самая, но будет ли удобно пользоваться такой таблицей?
4. Единообразие при проектировании. Это как с кулинарией. Если просто смешать все попавшиеся под руку ингредиенты, то кушать подобное будет невозможно. Также и с дизайном. Если каждый элемент будет выбиваться из общего стиля, то пользоваться подобным творением будет крайне неудобно.
5. Проектируйте так, чтобы изменять или дополнять приложение было проще. Это вполне нормальное явление, что во время создания приложения могут приходить интересные идеи или меняться требования. Поэтому если дизайн этого никак не предусматривает, то это будет выражаться в большем числе времени и сил.
Обзор в тему Как создавать крутые программы и сайты?
6. Проектирование и программирование это разные вещи. Самый простой момент. Чаще всего дизайн небольших приложений это рисунки в листочке бумаги. Это к тому, что проектирование это про более высокий уровень абстракции. Программирование это уже более техническая часть реализации.
7. Оценивать качество дизайна нужно во время проектирования, а не после. Чем раньше вы будете делать оценку качества приложения, тем лучше будет результат и вы меньше затратите времени и сил. Утрируя, если видите, что какая-то несуразица вырисовывается, то вероятно стоит заранее почесать репку.
8. При проектировании важны как детали, так и общая картина. Всегда уделяйте время и тому и другому. Суть в том, что можно слишком сильно увлечься чем-то одним и упустить важное в другом.
Также вам могут быть интересны обзоры:
1. Модель и моделирование: что это такое?
2. Декомпозиция: что это простыми словами?
3. Как компоновать функциональность - один из подходов
4. Синтаксис (языки программирования): что это такое?
5. Что такое объектно-ориентированное программирование (ООП)?
6. Что такое Тестирование в ИТ?
7. Почему тестирование это куча времени?
8. Что такое Отладка (debugging)?
Понравилась заметка? Тогда время подписываться в социальных сетях и делать репосты!
☕ Понравился обзор? Поделитесь с друзьями!