Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Методы поиска и верификации проектных решенийСодержание книги
Поиск на нашем сайте 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; просмотров: 521; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.217.21 (0.009 с.) |