- •Разработка и стандартизация программных систем
- •1. Три типа жизненных циклов программных систем.
- •Водопадная (каскадная, последовательная) модель
- •Итерационная модель
- •Спиральная модель
- •3. Стандарт iso серии 9000 при разработке программных систем.
- •Iso 9000 — серия международных стандартов, описывающих требования к системе менеджмента качества организаций и предприятий.
- •4. Стандарты Единой системы программной документации (еспд)
- •Классификация:
- •5. Стандарты рф (гост р) на документирование пс
- •6. Организация группы проекта при разработке программных систем.
- •7. Три способа определения требований к программной системе.
- •8. Спецификация требований к программной системе.
- •9. Методы контроля спецификации требований.
- •10. Спецификация качества программных систем.
- •11. Функциональная спецификация программных систем.
- •12. Архитектура программных систем
- •13. Основные классы архитектур программных систем.
- •14. Основные модели при разработке программных систем.
- •(См. Вопрос 1!)
- •15. Принципы объектно-ориентированного анализа и проектирования пс
- •16. Принципы компонентной архитектуры информационных систем.
- •17. Стандарты семейства idef
- •18. Принципы построения модели idef0
- •19. Принципы разработки моделей as-is и то-ве
- •20. Диаграммы в стандарте idef0
- •21. Понятие работы в стандарте idef0
- •22. Описание взаимодействия работ в стандарте idef0
- •23. Типы связей работ в стандарте idef0
- •24. Стандарт idef1x
- •26. Диаграммы потоков данных.
- •27. Архитектурные виды программной системы.
- •28. Фазы, итерации и циклы разработки программных систем - руп.
- •29. Рабочие процессы создания программных систем - руп.
- •30. Основные артефакты при разработке программных систем.
- •31. Концепция языка uml
- •32. Язык uml как система визуализации, специфицирования, конструирования, документирования
- •33. Понятия модели и системы в языке uml
- •34. Принципы моделирования системной архитектуры в языке uml.
- •35. Принципы представления системы в языке uml.
- •36. Понятие сущностей в языке uml
- •37. Структурные сущности предметной области.
- •38. Отношения в языке uml
- •39. Диаграммы в языке uml
- •40. Правила языка uml.
- •41. Общие механизмы языка uml
- •42. Прецедент как спецификация поведения программных систем.
- •43. Организация прецедентов в языке uml.
- •44. Приемы анализа прецедентов в языке uml
- •45. Диаграммы прецедентов.
- •46. Моделирование требований к системе с помощью диаграмм прецедентов.
- •47. Критерии сравнения инструментальных систем разработки программных систем.
- •48. Технико-экономические показатели разработки программных средств
- •49. Сертификация программных средств
- •50. R-технология программирования
40. Правила языка uml.
Конструкции UML нельзя объединять друг с другом в произвольном порядке. Как и в любом другом языке, в UML существует набор правил, которые определяют, как должна выглядеть хорошо оформленная модель. Под хорошо оформленной моделью понимается модель семантически согласованная и находящаяся в гармонии с другими моделями, которые с ней связаны. Семантические правила, которые имеются в UML, позволяют корректно и однозначно определять:
· имена, которые можно давать сущностям, отношениям и диаграммам;
· области действия - контексты, в которых имя имеет некоторое значение;
· видимость, когда имена видимы и могут использоваться другими элементами;
· целостность, как элементы должны правильно и согласованно соотноситься друг с другом;
· выполнение, что означает выполнить или имитировать некоторую динамическую модель.
Модели, которые создаются в процессе разработки программных продуктов, со временем имеют свойство эволюционировать, и могут неоднозначно рассматриваться разными членами команды разработчиков в разное время. По этой причине создаются не только хорошо оформленные модели, но и такие, которые:
· содержат скрытые элементы (ряд элементов не показывают, чтобы упростить восприятие);
· неполные (отдельные элементы пропущены);
· несогласованные (целостность модели не гарантируется).
Появление такого рода моделей неизбежно в процессе разработки, пока не все нюансы системы прояснились в полной мере. Правила языка UML побуждают, хотя явно и не требуют, в ходе работы над моделью решать наиболее важные вопросы анализа, проектирования и реализации, в результате, в конце концов, модель со временем становится хорошо оформленной.
41. Общие механизмы языка uml
Моделирование упрощается и ведется более эффективно, если придерживаться некоторых соглашений. Работу с UML существенно облегчает последовательное использование следующих общих механизмов:
· спецификации (specifications);
· дополнения (adornments);
· принятые деления (common divisions);
· механизмы расширения (extensibility mechanisms).
Спецификация стоит за каждой частью системы графической нотации UML и содержит текстовое представление соответствующей конструкции языка. Например, пиктограмме класса соответствует спецификация, которая полностью описывает его атрибуты, операции и поведение, хотя визуально, на диаграмме пиктограмма часто отражает только малую часть этой совокупности. Более того, в модели может присутствовать другое представление этого класса, отражающее совершенно иные его аспекты, но тем не менее соответствующее спецификации. Таким образом, графическую нотацию UML используют для визуализации системы, а с помощью спецификаций описывают ее детали.
Практически каждый из элементов UML имеет соответствующее ему уникальное графическое представление, которое дает визуальную картину о самых важных аспектах этого элемента. Нотация класса содержит самые важные его характеристики: имя, атрибуты и операции. Спецификация класса может содержать и другие детали, например, видимость атрибутов и операций, комментарии или указание на то, что класс является абстрактным. Многие из этих деталей можно визуализировать в виде графических или текстовых дополнений к стандартному прямоугольнику, который изображает класс.
Принятые деления
При моделировании объектно-ориентированных систем реальность делится с учетом, по крайней мере, двух методов.
Во-первых, существует деление на классы и объекты. Класс - это абстракция, а объект - конкретное воплощение этой абстракции. В связи с этим, практически все конструкции языка характеризуются дихотомией "класс/объект". Например, имеются прецеденты и экземпляры прецедентов, компоненты и экземпляры компонентов, узлы и экземпляры узлов и т. д. В графическом представлении для объекта принято использовать тот же символ, что и для класса, а название подчеркивать.
Во-вторых, существует деление на интерфейс и его реализацию. Интерфейс декларирует обязательства, а реализация представляет конкретное воплощение этих обязательств и обязуется точно следовать объявленной семантике интерфейса. А в связи с этим, почти все конструкции UML характеризуются дихотомией "интерфейс/реализация". Например, прецеденты реализуются кооперациями, а операции - методами.
Механизмы расширения UML
UML - это стандартный язык разработки моделей программных систем, но ни один замкнутый язык не в состоянии охватить нюансы всех возможных моделей в различных предметных областях. Поэтому UML является открытым языком, то есть допускает контролируемые расширения. Механизмы расширения UML включают:
· стереотипы (stereotype), которые расширяют словарь UML, позволяя на основе существующих блоков языка создавать новые, специфичные для решения конкретной проблемы.;
· помеченные значения (tagged value), которые расширяют свойства основных конструкций UML, позволяя включать новую информацию в спецификацию элемента;
· ограничения (constraints), которые расширяют семантику конструкций UML, позволяя создавать новые и отменять существующие правила.
Совместно эти три механизма расширения языка позволяют модифицировать UML в соответствии с потребностями проекта или особенностями технологии разработки в группе проекта. Кроме того, они дают возможность адаптировать UML к новым технологиям разработки программного обеспечения, например к вероятному появлению более мощных языков распределенного программирования. С помощью механизмов расширения можно создавать новые конструкции языка, модифицировать существующие и даже изменять их семантику.