
- •2. Функциональный подход
- •4. Объектно-ориентированная методология. А
- •6. Диаграмма деятельности (Activity Diagram)
- •7. Системный подход к разработке по
- •8. Вид и назначение диаграммы компонент Component diagram.
- •9. Процессный подход к разработке по. Текущий, конкретный и стандартный процессы компании.
- •10. Моделирование данных. Методология idef1x. Диаграммы «сущность-связь».
- •11. Процессный подход к разработке по. Проблемы и пути решения: стратегии Organization pull и Technology push.
- •12. Вид и назначение диаграммы сценариев Use case diagram.
- •13. Процессный подход к разработке по. Стандарты CobIt, itil, Scrum.
- •14. Основные понятия объектно-ориентированной методологии (объект, класс, атрибут, метод).
- •15. Понятие жизненного цикла по. Три группы процессов
- •16. Понятие связности модуля
- •17. Водопадная модель жизненного цикла аис. Достоинства и недостатки.
- •18. Универсальный язык моделирования (uml). Назначение и характеристики.
- •19. Спиральная модель жизненного цикла аис. Достоинства и недостатки.
- •20. Функциональная методология idef0.
- •21. Инкрементная модель жизненного цикла аис. Достоинства и недостатки.
- •23. Тяжеловесные (прогнозирующие) и подвижные (облегченные, адаптивные) семейства процессов жц по
- •24. Базовые понятия erd-диаграмм: ключи, нормализация данных, домены, индексы, триггеры.
- •25. Принципы Agile Manifesto. Примеры процессов.
- •26. Case-средства. Средства проектирования.
- •27. Экстремальное программирование.
- •28. Вид и назначение диаграммы кооперации Collaboration diagram.
- •29. Стадии разработки аис в соответствие с гост 34.601-90 «Автоматизированные системы. Стадии создания».
- •30. Вид и назначение диаграммы последовательностей действий Sequence diagram.
- •31. Содержание технического задания в соответствие с гост 34.602-89 «Техническое задание на создание автоматизированной системы».
- •32. Case-средства. Средства управления требованиями.
- •33. Содержание стадий «Технический проект», «Рабочая документация», «Ввод в действие» в соответствие с гост 34.601-90 «Автоматизированные системы. Стадии создания».
- •34. Моделирование потоков работ. Методология idef3
- •35. Организационное моделирование. Схема организационного бизнес-моделирования. Полная бизнес-модель компании.
- •Полная бизнес-модель компании
- •36. Этапы проектирования аис с применением языка универсального моделирования (uml).
- •37. Инжиниринговый подход к бизнес-моделированию. Матрицы проекций. Case-средства. Средства тестирования.
- •38. Шаблоны разработки функционала, зон ответственности. Шаблон разработки миссии
- •Шаблон формирования бизнесов
- •39. Моделирование потоков данных. Методология dfd.
- •40. Бизнес процессы компании. Понятие. Классификация.
- •41. Вид и назначение диаграммы классов Class diagram.
- •42. Case-средства. Средства управления конфигурациями.
- •43. Предпроектное обследование предприятия.
26. Case-средства. Средства проектирования.
ЭТО инструменты автоматизации процессов проектирования и разработки программного обеспечения для системного аналитика, разработчика ПО и программиста.
Основной целью CASE-технологии является разграничение процесса проектирования программных продуктов от процесса кодирования и последующих этапов разработки, максимально автоматизировать процесс разработки. Для выполнения поставленной цели CASE-технологии используют два принципиально разных подхода к проектированию: структурный и объектно-ориентированный.
Структурный подход предполагает декомпозицию (разделение) поставленной задачи на функции, которые необходимо автоматизировать. В свою очередь, функции также разбиваются на подфункции, задачи, процедуры. В результате получается упорядоченная иерархия функций и передаваемой информацией между функциями.
Структурный подход подразумевает использование определенных общепринятых методологий при моделировании различных информационных систем:
SADT (Structured Analysis and Design Technique);
DFD (Data Flow Diagrams);
ERD (Entity-Relationship Diagrams).
Существует 3 основных типа моделей, используемых при структурном подходе:
Функциональные модели;
Информационные модели;
Динамические модели.
Программные средства для реализации структурного подхода:
BPWin;
ERWin;
Business Studio;
IBM WEBsphere business modeler;
Основным инструментом объектно-ориентированного подхода является язык UML — унифицированный язык моделирования, который предназначен для визуализации и документирования объектно-ориентированных систем с ориентацией их на разработку программного обеспечения. Данный язык включает в себя систему различных диаграмм, на основании которых может быть построено представление о проектируемой системе.
Примерами программных средств, реализующих данный подход, являются:
Rational Rose;
ARIS.
27. Экстремальное программирование.
Экстремальное программирование (XP) – это упрощенная методология организации разработки программ для небольших и средних по размеру команд разработчиков, занимающихся созданием программного продукта в условиях неясных или быстро меняющихся требований.
Цели XP
Основными целями XP являются повышение доверия заказчика к программному продукту путем предоставления реальных доказательств успешности развития процесса разработки и резкое сокращение сроков разработки продукта. При этом XP сосредоточено на минимизации ошибок на ранних стадиях разработки. Это позволяет добиться максимальной скорости выпуска готового продукта и даёт возможность говорить о прогнозируемости работы. Практически все приемы XP направлены на повышение качества программного продукта.
Принципы XP
Основными принципами являются:
Итеративность. Разработка ведется короткими итерациями при наличии активной взаимосвязи с заказчиком.
Простота решений. Принимается первое простейшее рабочее решение. Экстремальность метода связана с высокой степенью риска решения, обусловленного поверхностностью анализа и жестким временным графиком.
Интенсивная разработка малыми группами (не больше 10 человек) и парное программирование (когда два программиста вместе создают код на одном общем рабочем месте), активное общение в группе и между группами. Все это нацелено на как можно более раннее обнаружение проблем (как ошибок, так и срыва сроков). Парное программирование направлено на решение задачи стабилизации проекта.
Обратная связь с заказчиком, представитель которого фактически вовлечен в процесс разработки.
Достаточная степень смелости и желание идти на риск.
Приемы XP (практики)
Обычно XP характеризуют набором из 12 правил (практик), которые необходимо выполнять для достижения хорошего результата. Ни одна из практик не является принципиально новой, но в XP они собраны вместе.
Планирование процесса. Вся команда разработчиков собирается вместе, принимается коллективное решение о том, какие свойства системы будут реализованы в ближайшей итерации. Трудоемкость реализации каждого свойства определяется самими программистами.
Тесное взаимодействие с заказчиком. Представитель заказчика должен быть членом XP-команды. Он пишет ПИ, выбирает истории, которые будут реализованы в конкретной итерации, и отвечает на вопросы, касающиеся бизнеса. Представитель заказчика должен бытьэкспертом в автоматизируемой предметной области. Необходимо наличие постоянное обратной связи с представителем заказчика.
Общесистемные правила именования. Хорошие системные правила именования предполагают простоту именования классов и переменных. Команда разработчиков должна иметь единые правила именования.
Простая архитектура. Любое свойство системы должно быть реализовано как можно проще. Программисты в XP-команде работают под девизом: «Ничего лишнего!». Принимается первое простейшее работающее решение, реализуется необходимый уровень функциональности на данный момент. Тем самым экономится время программиста.
Рефакторинг. Это оптимизация существующего кода с целью его упрощения, Такая работа должна вестись постоянно.
Парное программирование. Все программисты должны работать в парах: один пишет код, другой смотрит. Таким образом, необходимо размещать группу программистов в одном месте. XP наиболее успешно работает в нераспределенных коллективах программистов и пользователей.
40-часовая рабочая неделя. Программист не должен работать более 8 часов в день. Необходимость сверхурочной работы – это четкий индикатор проблемы на данном конкретном направлении разработки. Поиск причин сверхурочной работы и их скорейшее устранение – одно из основных правил.
Коллективное владение кодом. Каждый программист в коллективе должен иметь доступ к коду любой части системы и право вносить изменения в любой код. Обязательное правило: если программист внес изменения и система после этого работает некорректно, то именно этот программист должен исправить ошибки.
Единые стандарты кодирования. все должны подчиняться общим стандартам кодирования – форматирование кода, именование классов, переменных, констант, стиль комментариев.
Небольшие релизы. Минимальная итерация – один день, максимальная – месяц; чем чаще осуществляются релизы, тем больше недостатков системы будет выявлено. Первые релизы помогают выявить недостатки на самых ранних стадиях, далее функциональность системы расширяется на основании ПИ.
Непрерывная интеграция. Интеграция новых частей системы должна происходить как можно чаще, как минимум раз в несколько часов. Основное правило интеграции следующее: интеграцию можно производить, если все тесты проходят успешно. Если тесты не проходят, то программист должен либо внести исправления и тогда интегрировать составные части системы, либо вообще не интегрировать их. Правило это – жесткое и однозначное. Если в созданной части системы имеется хотя бы одна ошибка, то интеграцию производить нельзя. Частая интеграция позволяет быстрее получить готовую систему, вместо того чтобы тратить на сборку неделю.
Тестирование. В отличие от большинства остальных методологий тестирование в XP – одно из важнейших составляющих. Экстремальный подход предполагает, что тесты пишутся до написания кода. Каждый модуль обязан иметь unit test – тест данного модуля. Таким образом, в XP осуществляется регрессионное тестирование, «неухудшение качества» при добавлении функциональности. Большинство ошибок исправляются на стадии кодирования. Тесты пишут сами программисты, любой из них имеет право написать тест для любого модуля. Еще один важный принцип: тест определяет код, а не наоборот (test-driven development), то есть кусок кода кладется в хранилище тогда и только тогда, когда все тесты прошли успешно, в противном случае данное изменение кода отвергается.