Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программа ГЭ_спец_2012.doc
Скачиваний:
2
Добавлен:
02.05.2019
Размер:
412.67 Кб
Скачать

Раздел 14. Архитектура вычислительных систем

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

  2. Высокопроизводительные вычислительные системы: определение понятия высокопроизводительной вычислительной системы (ВВС), основные цели создания ВВС, факторы, определяющие высокую стоимость ВВС, основные методы достижения высокого быстродействия.

  3. Организация параллельных вычислений: естественный параллелизм, параллелизм множества объектов, параллелизм независимых ветвей, параллелизм смежных операций, искусственный параллелизм, преобразование типов параллелизма.

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

  5. Принципы организации памяти ВС: иерархическая организация памяти ВС, виртуальная память, защита памяти, назначение и принцип работы кэш памяти, кэш уровни L1 и L2, ассоциативный кэш, множественно ассоциативный кэш, кэш с прямым отображением, стратегии записи, буфер записи, стратегии замены строк, синхронизация КЭШей в мультипроцессорных системах.

  6. Топологические структуры ВС и системы коммутации: древовидные сети, шины, конвейеры, процессоры быстрого преобразования Фурье типа "бабочка", сети перекрестного обмена, гиперкубы, решетки, кольца, цилиндры, тороиды, пирамидальные сети, основные требования к системам коммутации. Шины расширения. ISA, EISA, PnP, PCI., SCSI., USB, FireWire.

  7. Основные функциональные компоненты архитектуры ВВС: процессоры с сокращенным набором команд (RISC), концепция RISC и CISC процессоров, типовая система команд RISC процессора, регистровые окна, микропроцессоры, транспьютеры. систолические и волновые матрицы, память - расширение локальной памяти, расслоение обращений к памяти, процессоры цифровой обработки сигналов.

Раздел 15. Технология разработки программного обеспечения

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

  2. Метод и технология проектирования программного обеспечения: требования к технологии, формализация и автоматизация стадий и этапов жизненного цикла, стандартизация процесса проектирования и разработки - стандарт проектирования, стандарт оформления проектной документации, стандарт интерфейса пользователя, государственные стандарты, стандарты предприятия; эффективность технологии проектирования программного обеспечения: критерии оценки технологии проектирования – функциональные, конструктивные; основные затраты в жизненном цикле, распределение затрат на разработку, длительность разработки программного обеспечения.

  3. Оценка качества процессов создания программного обеспечения: международные стандарты серии ISO 9000, CMM, SPICE; качество программного обеспечения, управление качеством, общие характеристики качества программного обеспечения: функциональность, надежность, удобство использования, эффективность, сопровождаемость, мобильность; критерии качества, ранжированные по фазам жизненного цикла, метрики характеристик программного обеспечения.

  4. Понятийный аппарат метрической теории программ – принципы количественного анализа качества объектов с расплывчатыми свойствами: модели и метрики оценки сложности Боэма, Холстэда, Мак-Кейба (основанные на потоковых графах), модель и метрики, основанные на информационных потоках; методы оценки качества программного обеспечения: анкетирование, рабочие списки, контрольные задачи, метрики; государственные стандарты в области оценки качества программного обеспечения.

  5. Модули, сцепление и связность - критерии независимости модулей, библиотеки ресурсов; нисходящий и восходящий подход к разработке программного обеспечения, средства описания структурных алгоритмов: базовые и дополнительные алгоритмические структуры, псевдокоды, Flow-формы, диаграммы Насси-Шнейдермана; программирование с защитой от ошибок: проверка выполнения операций, контроль промежуточных результатов, снижение погрешностей результатов, обработка исключений; сквозной структурный контроль.

  6. Разработка и анализ требований к программному обеспечению: определение целей проектируемого программного обеспечения, определение целей управления проектом; техническое задание и спецификации программного обеспечения; функциональные и нефункциональные требования; технологические требования: выбор архитектуры ПО, выбор типа пользовательского интерфейса, выбор подхода к разработке, выбор языка и среды программирования; планирование процесса проектирования, виды планов: календарный, индивидуальный, сетевой график разработки и проектирования программного обеспечения.

  7. Структурный подход к проектированию программного обеспечения: основные принципы, лежащие в основе структурного подхода, средства описания функциональной структуры, средства описания отношения между данными, применение средств на стадиях жизненного цикла программного обеспечения; спецификации ПО при структурном подходе: формальные модели, зависящие от подхода к разработке и не зависящие от подхода – диаграммы переходов состояний, математические модели предметной области.

  8. Метод функционального моделирования SADT, функциональная модель SADT, стандарт IDEFO, построение моделей IDEFO, дерево модели, презентационные диаграммы (FEO-диаграммы); метод описания процессов IDEF3, построение моделей IDEF3; метод структурного анализа потоков данных, построение диаграмм потоков данных DFD.

  9. Структуры данных: несвязанные, с неявными связями, с явными связями; иерархические модели Джексона-Орра; моделирование данных – диаграммы «сущность-связь» (ERD); метод Баркера; метод IDEF1.

  10. Структурная и функциональная схемы: структурные схемы пакетов программ, программного комплекса, программной системы; функциональная схема-схема данных, основные обозначения по ГОСТ 19.701-90; проектирование структуры программного обеспечения с использованием метода пошаговой детализации: основное правило и рекомендации по применению; структурные карты Константайна: назначение, типы вызовов модулей - последовательный, параллельный, вызов сопрограммы; особые условия вызова - циклический, условный, однократный; диаграммы реализации параллельного вызова и вызова сопрограммы; типы связи – по данным, по управлению.

  11. Проектирование структур данных: представление данных в оперативной памяти – векторная структура, списковые структуры; представление данных во внешней памяти – способы организации данных с последовательным и прямым доступом; проектирование программного обеспечения с использованием методов декомпозиции данных: метод Джексона, метод Варнье-Орра.

  12. Спецификация программного обеспечения при использовании UML: модель использования, логическая модель, модель реализации, модель процессов, модель развертывания; варианты использования: основные, вспомогательные, дополнительные, краткая и подробная формы описания; диаграммы вариантов использования – прецедентов (uses case diagrams): действующее лицо, вариант использования, связь; связи использования и расширения.

  13. Уровни моделирования предметной области: концептуальный, спецификации, реализации; контекстные диаграммы классов (class diagrams); диаграмма последовательностей системы (seguence diagrams), системные события и операции, описание системной операции; диаграммы деятельностей (activity diagrams) этапа анализа требований и уточнения спецификаций.

  14. Проектирование структуры программного обеспечения при объектном подходе: стереотипы классов – классы сущности, классы интерфейсы, управляющие классы, исключения, пакеты классов; диаграмма пакетов (package diagrams).

  15. Определение отношений между объектами: диаграмма последовательностей действий – обозначение объектов и сообщений, синхронные и асинхронные сообщения, линии жизни объектов, активации объекта, уничтожение объекта, разрыв линии жизни; диаграмма кооперации (collaboration diagrams) – обозначение объектов и потоков данных, варианты реализации сценария.

  16. Определение отношений между классами: ассоциация, обобщение, агрегация, композиция, направление ассоциации, абстрактные классы и методы, параметризованные классы, связывание классов, обозначение связывания; классы интерфейсы.

  17. Проектирование классов: структура объектов – атрибуты и операции класса, полное описание атрибута, полное описание операции, ответственность класса; диаграмма состояний объекта (statechart diagrams); диаграмма деятельностей методов класса; диаграмма компонентов (component diagrams); диаграмма размещения (deployment diagrams).

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

  19. Структурное тестирование (тестирование маршрутов) – критерии формирования тестовых наборов: покрытие операторов, покрытие решений (переходов), покрытие условий, покрытие решений/условий, комбинаторное покрытие условий.

  20. Функциональное тестирование (тестирование с управлением по данным) – критерии формирования тестовых наборов: эквивалентное разбиение, анализ граничных значений, анализ причинно-следственных связей, предположение об ошибке.

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

  22. Отладка ПО: классификация ошибок, методы отладки ПО - ручного тестирования, индукции, дедукции, обратного прослеживания; методы и средства получения дополнительной информации об ошибке - отладочный вывод, интегрированные средства отладки, независимые отладчики; общая методика отладки ПО - изучение проявления ошибки, локализация ошибки, определение причины ошибки, исправление ошибки, повторное тестирование.

  23. Цель испытаний, виды испытаний в жизненном цикле ПО - опытного образца, рабочей версии, модернизированной версии; категории испытаний - функциональные, стрессовые, использования ресурсов ЭВМ, параллельного решения задач; испытания программ на надежность - прямые экспериментальные методы определения показателей надежности программ в условиях нормального функционирования, форсированные методы испытаний реальных систем на надежность; достоверность испытаний - методическая и статистическая достоверность; документирование результатов испытаний - исходные и отчетные документы при испытаниях программ: техническое задание, государственные и отраслевые стандарты, программа испытаний, методики испытаний, протоколы испытаний, акт испытаний.

  24. Планирование и организация разработки программных систем: принципы планирования разработки, принципы организации коллектива программистов и распределения работ по специалистам; методы бригадной организации работ; внедрение и эксплуатация ПО, процесс сопровождения: модификация, усовершенствование и коррекция ПО; планирование и организация сопровождения, методы конфигурационного управления; тиражирование и использование версий программ, сертификация ПО.

  25. Сборочное программирование, основы компонентной объектной модели (COM): организация интерфейса COM, базовый интерфейс COM-IUnknown, серверы COM-объектов, создание и повторное использование COM-объектов, маршалинг и демаршалинг.