
- •3. Проектирование сложных объектов основные принципы проектирования.
- •4. Аспекты и стадии проектирования
- •5. Нисходящее и восходящее проектирование и программирование
- •6. Развитие парадигмы программирования (Операциональное программирование, нисходящая технология конструирования программ. Структурное, модульное, объектное и объектно-ориентированное программирование)
- •7. Суть и метод структурного анализа. Основные этапы структурного анализа.
- •8. Программные системы и их жизненный цикл.
- •Процессы жизненного цикла по
- •9. Анализ целевых и разработка требований к программным системам.
- •10. Функциональное моделирование. Стандарты idef0, idef3.
- •11. Информационное моделирование. Стандарты idef1, idef1x
- •12. Методы, модели, современные технологические и инструментальные средства структурного анализа, достоинства и недостатки. Разработка функциональных и информационных моделей.
- •13. Понятие и метод объектно-ориентированного анализа.
- •15. Стадии объектно-ориентированного анализа и определение основных абстракций и механизмов.
- •16. Методы и средства представления. Нотации представления результатов анализа.
- •17. Основы проектирования программных систем, принципы аспекты проектирования. Понятие проекта, методологии проектирования.
- •18. Автоматизация и системы автоматизации проектирования. Процессы разработки проектных решений и проектных процедур.
- •19. Классические методы проектирования и модели представления проектных решений.
- •20. Методы структурного проектирования. Этапы проектирования программных систем.
- •21. Жизненный цикл и этапы проектирования программного обеспечения.
- •Этапы жизненного цикла по:
- •Основные:
- •Модели жизненного цикла по: Водопадная (каскадная, последовательная) модель
- •Итерационная модель
- •Спиральная модель
- •22. Классические технологии разработки программного обеспечения.
- •23. Нисходящее и восходящее проектирование.
- •24. Структурное программирование. Модульное программирование
- •25. Абстракция и абстрагирование. Фундаментальные свойства и принципы объектно-ориентированного представления программных систем.
- •26. Понятие системы, системность, сложная система, системный эффект.
- •Классы, объекты, общая характеристика и отношения между классами и объектами в объектно-ориентированном проектировании.
- •Объектно-ориентированные методы проектирования. Нотации и процессы объектно-ориентированного проектирования
- •Языки визуального моделирования. Язык uml (Unified Modeling Language). Базовые отношения, термины и понятия.
- •Ключевые абстракции и механизмы. Отношения, общие механизмы и диаграммы. Типичные приемы моделирования Общие механизмы языка uml:
- •31. Средства и элементы статических и динамических моделей объектно-ориентированных систем (статические и динамические диаграммы uml).
- •32. Методы и приемы разработки моделей объектно-ориентированных программных систем.
- •33. Основные диаграммы uml (в вопросе по 2-е из 12 основных диаграмм). Представление, сущность, использование.
- •34. Элементы и разработка поведенческих моделей объектно-ориентированных систем. Модели реализации объектно-ориентированных программных систем.
- •35. Паттерны (образцы) проектирования: виды шаблонов и их классификация, распределение «обязанностей» между шаблонами.
- •40. Факторы качества написания программного кода:
- •41. Методы и средства конструирования высококачественного кода.
- •42 Совместная разработка: методы и средства.
- •Методы и средства тестирования и отладки программных приложений.
- •Широкое использование проверенных внешних библиотек.
- •Рефакторинг и оптимизация программного кода.
- •45. Сборка, внедрение и поставка по
- •Выбираем инсталлятор, описываем в нем процесс установки/удаления программы и настраиваем сборку дистрибутива
- •Технологии и средства развертывания, наладки и обслуживания проектов.
- •Язык xml: средства, назначения и особенности использования. Xml и dtd.
- •Методы и средства обработки xml документов с использованием моделей dom и sax, преимущества и недостатки.
- •Языки Extensible Markup Language(xsl) и xsl Transformations (xslt): назначение и особенности использования.
- •Процесс выполнения xslt-преобразования
- •51. Язык xPath и его применение для доступа к элементам xml.
- •52. Унифицированный процесс разработки (rup): общее понятие и терминология.
- •53. Фазы, итерации и циклы разработки. Рабочие процессы, модели и артефакты.
- •54. Модели разработки объектно-ориентированных программных систем и управление рисками.
- •55. Особенности проектирования и разработки распределенных информационных систем.
42 Совместная разработка: методы и средства.
JAD инструмент нацелен не только на формулирование требования, он также применяется при разработке других планов, проектов и стратегий на протяжении всего жизненного цикла разработки ПО. Организации разработчики вполне осознают, что применение методологии, связанной с высокой степенью взаимодействия с пользователями, ведет к разработке ПО более высокого качества.
Список правил, следование которым позволит существенно снизить трудозатраты при совместной разработке, избежать путаницы и непроизвольных потерь макросов и данных:
Перед началом кодирования вы должны иметь четкое представление о том, что должно получиться на выходе. Совместно с заказчиком составьте подробное техническое задание, смоделируйте систему. вы будете в состоянии разбить весь объем работ на отдельные задания и распределить их среди членов команды.
Выберите префикс для своего проекта. Используйте этот префикс в наименованиях объектов базы данных, макросов, отчетов и т.п.
Каждый разработчик использует свой префикс в названиях объектов, методов, каждый модуль также имеет свой префикс.
Каждый разработчик должен работать со своим экземпляром базы данных.
По выполнении определенного объема работ, все разработчики должны сформировать свои настройки и сохранить их на диске. Рекомендуется использовать систему контроля версий, например, Borland StarTeam
После того, как вы начнете, бета-тестирование проекта, часто будет возникать ситуация, когда изменения, сделанные на клиентской базе данных, необходимо перенести в настройки проекта. В таком случае рекомендуется поступать следующим образом:
- Макросы, отчеты и структуры данных, измененные или созданные на клиентской базе, включаются в отдельную временную настройку;
- Эта настройка формируется и сохраняется в файле;
- На той базе данных, на которой ведется разработка, настройка загружается и активизируется;
- Объекты, перенесенные с помощью временной настройки, включаются в настройки проекта, после чего она удаляется из списка
Методы и средства тестирования и отладки программных приложений.
Отладка — этап разработки компьютерной программы, на котором обнаруживают, локализуют и устраняют ошибки. Чтобы понять, где возникла ошибка, приходится:
узнавать текущие значения переменных; выяснять, по какому пути выполнялась программа.
Две взаимодополняющие технологии отладки:
Использование отладчиков — программ, которые включают в себя пользовательский интерфейс для пошагового выполнения программы.
Вывод текущего состояния программы с помощью расположенных в критических точках программы операторов вывода — на экран, принтер или в файл. Вывод отладочных сведений в файл называется журналированием.
Типичный цикл разработки выглядит примерно так:
1. Программирование — внесение в программу новой функциональности, исправление ошибок в имеющейся.
2. Тестирование (ручное или автоматизированное; программистом, тестером или пользователем; «дымовое », в режиме чёрного ящика или модульное …) — обнаружение факта ошибки.
3. Воспроизведение ошибки — выяснение условий, при которых ошибка случается. Это может оказаться непростой задачей при программировании параллельных процессов.
4. Отладка — обнаружение причины ошибки.
Smoke Test в тестировании программного обеспечения означает минимальный набор тестов на явные ошибки. Дымовой тест обычно выполняется самим программистом; не проходящую этот тест программу не имеет смысла отдавать на более глубокое тестирование.
Модульное тестирование, или юнит-тестирование— процесс в программировании, позволяющий проверить на корректность отдельные модули исходного кода программы.)
Инструменты отладки:
Отладчик (программный инструмент, позволяющий программисту наблюдать за выполнением исследуемой программы, останавливать и перезапускать её…).
Профилировщики. Они позволят определить, сколько времени выполняется тот или иной участок кода, а анализ покрытия позволит выявить неисполняемые участки кода.
API логгеры позволяют программисту отследить взаимодействие программы и Windows API при помощи записи сообщений Windows в лог.
Дизассемблеры позволят программисту посмотреть ассемблерный код исполняемого файла
Сниферы помогут программисту проследить сетевой трафик генерируемой программой
Сниферы аппаратных интерфейсов позволят увидеть данные, которыми обменивается система и устройство.
Логи системы.
Методы, снижающие потребность в отладке: