Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Методы поиска и верификации проектных решений↑ ⇐ ПредыдущаяСтр 2 из 2 Содержание книги
Поиск на нашем сайте
1. Аналого-сопоставительные методы. Общая идея-это накопление и обобщение опыта предидущих разработок для испрльзования в поиске новых решений.Одной из наиболее важных задач-определение аналога,т.е существующей системы близкой по функциям и характеристикам к разрабатываемой с целью взаимствования и адаптации проектных решений. · Технология Паттерна. Удачные проектные решения описываются в виде Паттерна или шаблона,т.е структурированного описания содержащего постановку задачи и детальное описание ее решения.Решение аналогичных задач могут быть получены путем применения или адаптации патторна.Выделяют патторны проектирования описывающие архитектурные решения и паттерны реализации описывающие программную реализацию архитектурных решений,т.о технология паттерна может рассматриваться как способ повторного использования этапов проектирования.Недостатки:и недостаточно развитая система классификации паттернов и слабые средства автоматизированного поиска. · Технология вывода по прецидентам. Вывод по прецидентам основан на широком применении автоматизированнного поиска по БЗ. CBR-цикл Цикл поиска по прецидентам включает этапы: 1)Формулировка задачи и определение характеризующих ее параметров 2)Поиск аналогов в БЗ 3)Адаптация аналога и получение на основе его нового решения 4)Сохранение нового решения в БЗ В большинстве случаев поиск аналога основан на определении меры близости в качестве которой используется расстояние между образцом и аналогом в пространстве параметров. Для выбора аналогов используется метод ближайшего соседа,метод k- ближайших соседей или метод доверительного интервала. Преимущество:автоматизация процессов накопления и поиска знаний. Недостаток: сложность построение параметрического описания проектных решений. Лекция 6 Аналого-сопоставительные методы играют ведущую роль в поиске проектных решений,однако степень их автоматизации недостаточная, поэтому разработчик в большей степени полагается на опыт и интуицию,чем на автоматизированный поиск по базам знаний. Формально-математические методы 1)Методы формального синтеза ПО. Поскольку программа является математическим обьектом,ее во многих случаях можно получить автоматически путем преобразования моделей построенных в графической или символьной форме.Эта идея лежит в основе автоматических кодогенераторов и других CASE-средств,позволяющих синтезировать программный код на основе структурной схемы,блок-схемы алгоритма или автоматной модели.Несмотря на широкое примение таких средств синтезировать ПО в полном обьеме (программирование без программиста)пока не удается. Недостатки: · Недостаточное развитие теоретической базы. · Высокая трудоемкость построения математических моделей,за частую превышающая трудоемкость написания программного кода. · Недостаточное качество автоматически сгенерированного кода. Формальный синтез широко применяется для решения отдельных задач,однако не применим для получения системы в целом Методы формальной верификации. Основная идея:для любой программы,которая может быть откомпилированна, может быть постороен эквивалентный ей автомат, описывающий изменения состояний процессора при ее выполнении.Исследуя полученную модель средствами теории автоматов,мы можем установить ее свойства не прибегая к средствам тестирования.Это единственный метод исследования ПО позволяющий гарантировать отсутствие в нем ошибок.Развитие средств формальной верификации позволит исключить или свести к минимуму процесс тестирования,что позволит существенно снизить трудоемкость разработки ПО.Однако на настоящий момент средства автоматизации этого процесса слабо развиты.Ее выполнения требует привлечения квалифицированных математиков и выполняется только для высоко критичного ПО. Математическое моделирование. Эти методы применяются на ранних этапах проектирования системы для изучения потоков данных получения предварительных оценок надежности, помехоустойчивости,производительности и др.характеристик системы.Кроме этого имитационное моделирование не редко применяется для имитации внешней среды при автоматизированном тестировании системы. В целом формально-математические методы при разработке ПО используются очень широко,однако как правило они используются в составе CASE-средств и др. средств автоматизации процесса разработки,не требующих от программиста глубокого знания математики. Лекция 7 Анализ кода Инспекция кода -это проверка исходного кода программного компонента путем прочтения его разработчиками не учавствовавшими в его написании. Задачи: 1)Улучшение качества оформления кода и проверка соблюдения требований по форматировпнию и наличию комментариев(проверка форматирования частично автоматизированная). 2)Поиск и локализация ошибок,которые трудно выявить при тестировании(утечки памяти,некоректная работа с внешними ресурсами, некоректная реализация многопоточности,использование неопределенного поведения,использование трюков и недокументированных возможностей).Поиск простых ошибок автоматизирован. 3)Поиск “дыр”безопасности 4)Проверка качества модульных тестов 5)Обучение молодых разработчиков Способы организации анализа кода: 1)Анализ кода специально выделенной группой опытных рецинзентов. 2)Анализ всего кода наиболее опытным разработчиком(применяется только в небольших проектах) 3)Взаимный анализ кода(в анализе учавствуют все разработчики просматривая чужой код).Сложно проконтролировать качество анализа. 4)Взаимный анализ группой разработчиков(обеспечивается активное участие всех разработчиков,однако возможно возникновение конфликтов.) Периодичность анализа: -предварительный анализ или анализ нового кода; -анализ внесенных изменений; -выборочный анализ Основной проблемой при анализе кода является человеческий фактор.Анализ кода способен как улучшить социально-психологический климат в коллективе,так и стать причиной конфликта. 3.Парное программирование предполагает неприрывный анализ кода в процессе его написания.Общая производительность труда при программировании снижается в 2 раза,т.к половина разработчиков заняты анализом кода и не учавствуют в его написании.Однако за счет быстрого выявления ошибок и др.проблем кодирования время отладки существенно сокращается,что полностью компенсирует проблему производительности. 4.Анализ документации заключается в изучении всей документации проекта как бумажной,так и электронной включая статьи в справочной системе.Для проверки:соответствия стандартам;соответствия нормам законодательства;соответствие актуальному состоянию проекта;соответствие обычной грамотности.
Лекция 8 Лекция 9 Многоуровневая архитектура В системе выделяются логические уровни,различающиеся между собой как характером решаемых задач так и применяемыми технилогиями и инструментальными средствами.Явный обмен данными осуществляется только между соседними слоями,остальные слои абстрагированы,поэтому эти слои называются слоями абстракции.Делению на логические слои или уровни может соответствовать деление на физические звенья Основное преимущество:гибкость архитектуры(изменения локализуются в пределах одного двух слоев;относительное удобство сопровождения и модернизации. Основной недостаток:снижение производительности из-за необходимости трансляции вызовов между всеми слоями.
|
||||
Последнее изменение этой страницы: 2016-08-26; просмотров: 384; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.189.188.8 (0.007 с.) |