Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Инструменты проектирования и конструирования



К инструментам проектирования относятся инструменты, используемые для создания и проверки программного дизайна. В качестве классификационных признаков можно выделить такие критерии как:

– применяемые базовые нотации моделирования и проектирования (SADT/IDEF, UML, BPMN/BPEL, Microsoft DSL и т.п.);

– целевые задачи (бизнес-моделирование, проектирование БД, объектно-ориентированное проектирование, интеграционное/SOA-проектирование и т.п.) [7].

К инструментам конструирования относятся инструменты, используемые для производства и трансляции программного представления (например, исходного кода), достаточно детального и явного для машинного выполнения [7]:

Редакторы, применяемые для создания и модификации исходного кода программ и ассоциированной с ними документации. Это могут быть как редакторы “общего назначения” (что на протяжении многих лет наблюдается в UNIX и unix-подобных средах) или специализированные редакторы с поддержкой специфики целевого языка программирования (что является, в большинстве случаев, прерогативой интегрированных сред разработки – IDE). В то же время, документирование все же является не только и не столько частью редактора, сколько самостоятельной функциональностью, пусть часто и тесно интегрированной с редактором.

Компиляторы и генераторы кода, традиционно выполнявшие покомандную трансляцию исходного кода. Однако существует тенденция интеграции компиляторов и редакторов в интегрированные среды программирования. К этому классу также относятся препроцессоры, линковщики/загрузчики, а также генераторы кода (за исключением, объектно-ориентированных средств проектирования).

Интерпретаторы, обеспечивающие исполнение программ посредством эмуляции. Они могут поддерживать действия по конструированию программного обеспечения, предоставляя для исполнения программ окружение, более контролируемое и поддающееся наблюдению, чем это обычно способна сделать та или иная операционная система. Существует явная тенденция к интеграции функций компиляторов и интерпретаторов в единых инструментах. Например, компиляция just-in-time (компиляции «на лету»), когда промежуточный программный код, по мере исполнения или с опережением преобразуется в набор инструкций, исполняемых непосредственно средствами операционной системы, но под контролем среды исполнения. Такого рода подход стал родоначальником ряда современных программных платформ, например, Java и.NET.

Отладчики, которые поддерживают процесс конструирования программного обеспечения, но, в то же время, функционально отличаются от редакторов и компиляторов.

Кроме того, необходимо выделить «интегрированные средства разработки» (IDE – integrated developers environment), программные библиотеки/библиотеки компонент, а также «программные платформы» (например, Java, J2EE и Microsoft.NET) и «платформы облачных вычислений» (например, Microsoft Azure, Amazon и др.), которые включают наравне с инструментами, как таковыми, и определенные модели конструирования, преобразования и выполнения кода.

Инструменты тестирования

К числу инструментов данного класса относятся:

– генераторы тестов, поддерживающие функцию разработки сценариев тестирования;

– средства выполнения тестов, формирующие среду исполнения тестовых сценариев в окружении, позволяющем отслеживать поведение тестируемого объекта;

– средства оценки тестов, поддерживающие оценку результатов выполнения тестов для определения соответствия наблюдаемого поведения тестируемого объекта ожидаемому;

– менеджеры тестами, обеспечивающие поддержку всех аспектов процесса тестирования программного обеспечения;

– инструменты анализа производительности, используемые для количественной оценки и анализа производительности программного обеспечения, включающие инструменты функционального тестирования, средства тестирования безопасности, инструменты тестирования пользовательского интерфейса, инструменты нагрузочного тестирования и прочие.

Инструменты сопровождения

Инструменты сопровождения существующего программного обеспечения, согласно SWEBOK [44] можно поделить две категории:

– инструменты облегчения понимания (демонстрации), служащие для помощи в понимании человеком программ, например, различные средства визуализации;

– инструменты реинжиниринга, обеспечивающие функции по реорганизации процессов жизненного цикла для повышения их эффективности, управляемости, безопасности и т.д.

Средства «обратного» инжиниринга помогают в процессе восстановления для существующего программного обеспечения таких артефактов, как спецификация и описание дизайна (архитектуры), которые, в дальнейшем, могут быть трансформированы для генерации нового продукта на основе функциональности существующего [7].

Инструменты конфигурационного управления

Инструменты конфигурационного управления по [25] делятся на три категории:

– инструменты отслеживания дефектов, расширений и проблем;

– инструменты управления версиями;

– инструменты сборки и выпуска, предназначенные для управления задачами сборки и выпуска продуктов, а также включают средства инсталляции.

Инструменты управления инженерной деятельностью

Средства управления деятельностью по программной инженерии делятся на три категории [25]:

– инструменты планирования и отслеживания проектов, применяемые для календарного планирования работ, количественной оценки усилий и стоимостных ожиданий, связанных с проектами (например, Microsoft Project);

– инструменты управления рисками, используемые для идентификации, оценки ожиданий и мониторинга рисков (например, Project Expert).

– инструменты количественной оценки, обеспечивающие ведение измерений и помогающие в выполнении работ, связанных с программой количественной оценки, проводимой в отношении проектов программного обеспечения.

Инструменты поддержки процессов

К числу поддерживающих процессы можно отнести инструменты, используемые для создания условий для разработки ПС:

– инструменты моделирования, позволяющие, описать модели процессов, именно как модели;

– инструменты управления проектами, обеспечивающие возможности для управления процессами.

– инструменты конфигурационного управления, поддерживающие работу с актуальными версиями и задающие основные параметры проекта.

– ролевые платформы разработки программного обеспечения, охватывающие все стадии жизненного цикла и, на сегодняшний день, являющиеся развитием интегрированных средств разработки и CASE-инструментов в направлении поддержки “смежной” функциональности – управления требованиями, работ по конфигурационному управлению с поддержкой управления изменениями, тестирования и оценки качества [7].

Инструменты обеспечения качества

Средства обеспечения качества делятся на две категории [25]:

– инструменты инспектирования, служащие для поддержки обзора и аудита процессов;

– инструменты анализа, используемые для анализа программных артефактов, данных, потоков работ и зависимостей и для проверки определенных свойств или артефактов на соответствие заданным характеристикам.

 

Методы

Эвристические методы

Эвристические методы – последовательность предписаний или процедур обработки информации, выполняемая с целью поиска более рациональных и новых конструктивных решений [википедия].

Эвристические методы обычно противопоставляют формальным методам решения, опирающимся на точные математические модели. В психологической и кибернетической литературе под эвристическими методами понимаются любые методы, направленные на сокращение перебора, или индуктивные методы решения задач. К их числу относят:

– структурные методы, предполагающие построение системы с функциональной точки зрения, начиная с высокоуровневого понимания поведения системы с постепенным уточнением деталей на более низких уровнях;

– методы, ориентированные на данные, ориентированные на разработку структур данных, которыми манипулирует создаваемое программное обеспечение, а функции при этом рассматриваются как вторичные.

– объектно-ориентированные методы, представляющие программную систему в виде совокупности объектов;

– методы, ориентированные на конкретную область применения и специализированные методы разрабатываются с учетом конкретных решаемых задач, например, всевозможные системы защиты информации.

Формальные методы

«Термин формальные методы подразумевает ряд операций, в состав которых входит создание формальной спецификации системы, анализ и доказательство спецификаций, реализация системы на основе преобразования формальной спецификации в программы и верификация программ. Все эти действия зависят от формальной спецификации программного обеспечения. Формальная спецификация – это системная спецификация, записанная на языке, словарь, синтаксис и семантика которого определены формально. Необходимость формального определения языка предполагает, что этот язык основывается на математических концепциях. Здесь используется область математики, которая называется дискретной математикой и основывается на алгебре, теории множеств и алгебре логики» [8].

Формальные методы можно классифицировать на следующие категории:

– языки и нотации спецификаций, которые могут быть ориентированы на модель, свойства и поведение, например формальные методы описания требований;

– методы трансформации, основанные на уточнении (трансформации) превращении спецификаций в конечный результат, максимально близкий желаемому – исполнимый программный продукт;

– методы подтверждения, основывающиеся на строгом математическом доказательстве точности любых характеристик исходных предпосылок и получаемого продукта с использованием теорем и проверки точности моделей.

Следует отметить, что строгие формальные методы обычно не эффективны в области разработки прикладных систем, поскольку они требуют выполнения сложных и трудоёмких доказательств на основе обычно весьма неполных данных. Более того, успех проекта по разработке ПС зависит от такого количества непредсказуемых факторов, то формальные методы далеко не всегда гарантируют его достижение.

Методы прототипирования

Методы прототипирования можно разделить на три категории:

– стили прототипирования, подразумевающие создание временно используемых прототипов и эволюционное прототипирование;

– цели прототипирования, такие как требования, архитектурный дизайн или пользовательский интерфейс;

– техники оценки / исследования результатов прототипирования, касающиеся того, как будут использованы результаты создания прототипа.

Библиография

 

1. ISO 9127: 1988. Системы обработки информации. Документация пользователя и сопроводительная информация программных пакетов потребителя. 26 c.

2. ISO/IEC 12207: 2008. Информационные технологии. Процессы жизненного цикла программного обеспечения. М.: «СтандартИнформ», 2008. 138 c.

3. ISO/IEC 14102: 2008. Информационные технологии. Руководство по оцениванию и выбору инструментальных CASE-средств. М.: «СтандартИнформ», 2008, 48 c.

4. ISO/IEC 14143-1: 2007. Информационные технологии. Оценка программного обеспечения. Измерение функционального размера. Часть 1. Определение понятий.

5. ISO/IEC 14143-2: 2011. Информационные технологии. Оценка программного обеспечения. Измерение функционального размера. Часть 2. Оценка соответствия методов измерения размера программного обеспечения стандарту ИСО/МЭК 14143-1: 1998.

6. ISO/IEC 14143-6: 2012 Информационные технологии. Измерение программного обеспечения. Измерение функционального размера. Часть 6. Руководство по использованию стандартов серии ISO/IEC 14143 и связанных с ними международных стандартов

7. ISO/IEC 14598-5: 1998. Информационные технологии. Оценка программного продукта. Часть 5. Процесс для оценщика. М.: «СтандартИнформ», 1998, 42 c.

8. ISO/IEC 14598-6: 2001. Разработка программного обеспечения. Оценка продукта. Часть 6. Документирование модулей оценки. М.: «СтандартИнформ», 2001, 38 c.

9. ISO/IEC 14756: 1999. Информационные технологии. Измерение и оценка эксплуатационных характеристик автоматизированных систем программного обеспечения.

10. ISO/IEC 14764: 2006 Разработка программного обеспечения. Процессы жизненного цикла программного обеспечения. Сопровождение. М.: «СтандартИнформ», 2006, 58 c.

11. ISO/IEC 15026-2: 2011Проектирование систем и разработка программного обеспечения. Гарантирование систем и программного обеспечения. Часть 2. Обоснование гарантии. М.: «СтандартИнформ», 2011, 18 c.

12. ISO/IEC 15026-3: 2011Проектирование систем и разработка программного обеспечения. Гарантирование систем и программного обеспечения. Часть 3. Уровни целостности системы. М.: «СтандартИнформ», 2011, 40 c.

13. ISO/IEC 15026-4: 2012 Проектирование систем и разработка программного обеспечения. Гарантирование систем и программного обеспечения. Часть 4. Гарантия в контексте жизненного цикла. М.: «СтандартИнформ», 2012, 32 c.

14. ISO/IEC 15408-1: 2009 Информационная технология. Методы и средства обеспечения безопасности. Критерии оценки безопасности ИТ. Часть 1. Введение и общая модель. М.: «СтандартИнформ», 2009, 72 c.

15. ISO/IEC 15408-2: 2008 Информационная технология. Методы и средства обеспечения безопасности. Критерии оценки безопасности ИТ. Часть 2. Функциональные требования безопасности. М.: «СтандартИнформ», 2008, 240 c.

16. ISO/IEC 15408-3: 2008 Информационная технология. Методы и средства обеспечения безопасности. Критерии оценки безопасности ИТ. Часть 3. Требования к обеспечению защиты. М.: «СтандартИнформ», 2008, 184 c.

17. ISO/IEC 15939: 2007. Технология программного обеспечения. Процесс измерения программного обеспечения. М.: «СтандартИнформ», 2007, 46 c.

18. ISO/IEC 16085: 2006 Системы и разработка программного обеспечения. Процессы жизненного цикла. Управление рисками. М.: «СтандартИнформ», 2006, 51 c.

19. ISO/IEC 2382-20: 1990. Информационные технологии. Словарь. Часть 20. Разработка системы. 34 c.

20. ISO/IEC 25000: 2005. Технология программного обеспечения. Требования и оценка качества программного продукта. Руководство. М.: «СтандартИнформ», 2005, 48 c.

21. ISO/IEC 25001: 2007 Программирование. Требования к качеству программного продукта и его оценка. Планирование и менеджмент. Процесс оценки. М.: «СтандартИнформ», 2007, 22 c.

22. ISO/IEC 25010: 2011 Разработка программного обеспечения и проектирование систем. Требования к качеству и оценка систем и программного продукта (SQuaRE). Модели качества системы и программного продукта. М.: «СтандартИнформ», 2011. 44 с.

23. ISO/IEC 25040: 2011 Проектирование систем и разработка программного обеспечения. Требования к качеству систем и программного обеспечения и их оценка (SQuaRE). Процесс оценки. М.: «СтандартИнформ», 2011, 54 c.

24. ISO/IEC 25041: 2012 Разработка систем и программ. Требования и оценивание качества систем и программ. Руководство по оцениванию для разработчиков, покупателей и независимых оценщиков. М.: «СтандартИнформ», 2012, 62 c.

25. ISO/IEC 26514: 2008 Разработка систем и программ. Требования к дизайнерам и разработчикам пользовательской документации. М.: «СтандартИнформ», 2008, 154 c.

26. ISO/IEC 27005: 2011 Информационная технология. Методы и средства обеспечения безопасности. Менеджмент риска информационной безопасности. М.: «СтандартИнформ», 2011, 76 c.

27. ISO/IEC 27033-1: 2009 Информационная технология. Методы и средства обеспечения безопасности. Сетевая безопасность. Часть 1. Обзор и концепции. М.: «СтандартИнформ», 2009, 88 c.

28. ISO/IEC 8211: 1994. Информационные технологии. Спецификация описательного файла данных для обмена информацией. 79 c.

29. ISO/IEC 90003: 2004. Техника программного обеспечения. Рекомендации по применению ISO 9001: 2000 к компьютерному программному обеспечению. М.: «СтандартИнформ», 2004. 108 с.

30. ISO/IEC TR 14143-3: 2003. Информационные технологии. Оценка программного обеспечения. Измерение функционального размера. Часть 3. Проверка методов измерения функционального размера.

31. ISO/IEC TR 14143-4: 2002. Информационные технологии. Оценка программного обеспечения. Измерение функционального размера. Часть 4. Эталонная модель.

32. ISO/IEC TR 14143-5: 2004. Информационные технологии. Оценка программного обеспечения. Измерение функционального размера. Часть 5. Определение функциональных доменов, используемых для измерения функционального размера.

33. ISO/IEC TR 14763-2: 2000 Информационные технологии. Ввод и функционирование кабельной системы в помещении пользователя. Часть 2. Планирование и установкаISO/IEC TR 12182: 1998. Информационные технологии. Классификация программного обеспечения. М.: «СтандартИнформ», 2010. 42 c.

34. ISO/IEC TR 15026-1: 2010 (Техническая поправка 1, 2012) Проектирование систем и разработка программного обеспечения. Гарантирование систем и программного обеспечения. Часть 1. Понятия и словарь. М.: «СтандартИнформ», 2010, 102 c.

35. ISO/IEC TR 19759: 2005. Совокупность знаний о разработке программного обеспечения. Руководство. «СтандартИнформ», 2005, 210 c.

36. ISO/IEC TR 20004: 2012 Информационные технологии. Методы обеспечения безопасности. Уточненный анализ чувствительности программного обеспечения по SO/IEC 15408 и ISO/IEC 18045. М.: «СтандартИнформ», 2012, 24 c.

37. ISO/IEC TR 9294: 2005. Руководство по управлению документированием программного обеспечения. М.: «СтандартИнформ», 2005, 22 c.

38. ISO/IEC/IEEE 26512: 2011 Разработка систем и программ. Требования к закупщикам и поставщикам документации для пользователей. М.: «СтандартИнформ», 2011, 48 c.

39. ГОСТ Р ИСО/МЭК 9126-93 Информационная технология. Оценка программной продукции. Характеристики качества и руководства по их применению. 12 c.

40. ГОСТ Р ИСО/МЭК 15504-1-2009. Информационные технологии. Оценка процессов. Часть 1. Концепция и словарь. М.: «СтандартИнформ», 2010.

41. ГОСТ Р ИСО/МЭК 15504-2-2009 Информационная технология. Оценка процесса. Часть 2. Проведение оценки. М.: «СтандартИнформ», 2010.

42. ГОСТ Р ИСО/МЭК ТО 15271-2002 Информационная технология. Руководство по применению ГОСТ Р ИСО/МЭК 12207 (Процессы жизненного цикла программных средств). М.: «СтандартИнформ», 2003, 45 c.

43. ГОСТ Р ИСО/МЭК ТО 16326-2002 Программная инженерия. Руководство по применению ГОСТ Р ИСО/МЭК 12207 (при управлении проектом). М.: «СтандартИнформ», 2003, 40 c.

44. [SWEBOK, 2004] - Guide to Software Engineering Base of Knowledge (SWEBOK). IEEE Computer Society, 2004. http: //www.swebok.org/

45. IT Infrastructure Library [электронный ресурс] // http: //www.itexpert.ru/rus/biblio/itil_v3/


Поделиться:



Популярное:

Последнее изменение этой страницы: 2016-05-30; Просмотров: 1431; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.033 с.)
Главная | Случайная страница | Обратная связь