Используйте визуальное моделирование
Лекция 13
Модель — это упрощение действительности, которое полностью описывает систему с определенной точки зрения. Модель помогает лучше понять модулируемую систему. Кроме того, в сложных системах без модели обойтись вообще невозможно.
Моделирование помогает команде разработчиков визуализировать, определять, создавать и документировать структуру и поведение архитектуры системы. Использование стандартного языка моделирования, такого, например, как UML (Unified Modeling Language — унифицированный язык моделирования), позволяет членам команды разработчиков однозначно доносить свои решения друг другу.
Средства визуального моделирования облегчают управление моделями, позволяя показывать или скрывать подробности по мере надобности. Визуальное моделирование также способствует поддержанию непротиворечивости требований, проектов и реализаций системы. Иными словами, визуальное моделирование дает команде возможность бороться со сложностью программного обеспечения.
Применение итеративной разработки с использованием визуального моделирования позволяет выделять и оценивать изменения в архитектуре, а также сообщать о них всей команде разработчиков. Впоследствии во время каждой итерации можно, при наличии надлежащих средств, синхронизировать модели с исходными кодами.
Результаты, получаемые при использовании визуального моделирования программного обеспечения.
1. Прецеденты и сценарии однозначно определяют линии поведения.
2. Модели однозначно фиксируют структуру программного обеспечения.
3. Выявляются немодульные и неэластичные архитектуры.
4. При необходимости можно скрыть подробности.
5. В однозначных проектах более явно видны противоречия.
6. Качество приложения начинается с хорошего проекта.
7. Средства визуального моделирования поддерживают моделирование на языке UML.
Поиск и исправление ошибок после распространения программного обеспечения обходится во много раз дороже, чем до распространения. По этой причине важно постоянно определять качество системы, используя в качестве критериев ее функциональные возможности, надежность и эффективность.
Проверка функциональных возможностей системы (основная часть работы по тестированию) включает создание тестов для всех ключевых сценариев, каждый из которых представляет некоторый аспект ожидаемого поведения системы. Определить функциональные возможности системы можно, выяснив, какие сценарии "сорвались", где это произошло и какие сценарии и соответствующие коды еще не были выполнены. Если вы разрабатываете программное обеспечение итеративно, то тестирование следует проводить при каждой итерации, т.е. необходимо производить непрерывную качественную оценку.
Результаты, получаемые при использовании проверки качества программного обеспечения.
1. Состояние проекта оценивается объективно, а не субъективно, поскольку оцениваются результаты тестов, а не то, что написано на бумаге.
2. Эта объективная оценка показывает противоречия в требованиях, проектах и реализациях.
3. Тестирование и контроль сосредоточены в областях наибольшего риска; следовательно, в этих областях повышается качество и эффективность системы.
4. Дефекты выявляются на более ранних этапах, что значительно снижает стоимость их исправления.
5. Автоматизированные средства тестирования позволяют тестировать функциональные возможности, надежность и производительность системы.