1. Характеристика качества программного обеспечения. Жизненный цикл программы. Надежность программного обеспечения. Сравнительная оценка надежности технического обеспечения и программного обеспечения. Показатели надежности программного обеспечения (качественные, порядковые, количественные).
2. Стандартизация, дисциплина и творчество в программировании. Единая система программной документации. Назначение ЕСПД, группы стандартов ЕСПД. Виды программных документов. Классификация документов. Основные стадии и этапы разработки программ и программной документации (техническое задание, эскизный проект, технический проект, рабочий проект, внедрение).
3. Проектирование и структурирование программ – путь к повышению их качества. Восходящее проектирование. Нисходящее проектирование. Структурное программирование. Простейшие пути повышения качества программ. Надежность, правильность и устойчивость программ. Классификация ошибок. Сквозной структурный контроль. Стиль программирования и качество программ. Стили руководства программным продуктом.
4. Графическая иерархическая документация. Наглядная таблица содержания. Обзорные диаграммы. Детальные диаграммы. Верификация программ. Последовательность этапов верификации. Выводы.
5. Структурное программирование. Понятие, основные положения. Фундамент структурного программирования. Терминология и математические обозначения, используемые в структурном программировании. Функция состояния программы.
6. Графическое представление программ. Типы вершин. Стандартные управляющие структуры в языках программирования. Определение и пример простой программы. Аналитическое описание программы. Формула описания программы. Структурирование программ. Два класса граф-схем. Теорема о разложимости граф-схем. Пути выделения структурных единиц в неразложимых граф-схемах.
7. Структурирование программ. Лемма о соотношении количества вершин и управляющих линий. Доказательство. Теорема о структурировании. Доказательство варианта А – первая вершина условная. Доказательство варианта В – первая вершина функциональная.
8. Общая структура CASE средств. Технология структурного программирования. Общая структура коллектива. Трудовые затраты.
9. Отладка программ. Сущность процесса отладки. Виды средств отладки. Этапы процесса отладки. Испытание программ с целью обнаружения ошибок. Восходящее тестирование. Нисходящее тестирование. Тестирование модулей.
10. Современные методы и средства разработки прикладных программных средств. Особенности CASE технологий. Общая характеристика технологии создания прикладных программных средств.
11. Классификация программных средств (системное программное обеспечение и прикладное программное обеспечение). Классификация языков программирования. Системы программирования (входной язык системы программирования, транслятор, библиотека стандартных подпрограмм, соответствующая документация). Язык моделирования UML.
12. Методология объектно-ориентированного программирования. Понятие объекта, понятие класса, характеристики объекта, характеристики класса. Языки объектно-ориентированного программирования.
13. Унифицированный язык моделирования. Назначение. Обозначение применений. Основные стадии разработки программного обеспечения при использовании языка UML. Особенности реализации языка UML в Case-инструментарии Rational Rose. Диаграммы UML – краткая характеристика и назначение диаграмм.
14. Общая характеристика Case-средства Rational Rose. Назначение, применение. Особенности рабочего интерфейса Rational Rose. Разработка диаграмм вариантов использования, диаграмм классов, диаграмм последовательности в среде Rational Rose.
15. Общая характеристика Case-средства Rational Rose. Назначение, применение. Разработка диаграмм деятельности, диаграмм состояний, физических диаграмм в среде Rational Rose. Особенности автоматизации первого и второго жизненного цикла программы.
Практические задания
1. Постановка задачи:
В начале каждого семестра студенты могут запросить каталог курсов, в который включен список учебных предметов, предлагаемых в данном семестре. Информация о курсах должна содержать фамилию преподавателя, название факультета и краткое описание, помогающее студентам сделать выбор.
Новая система позволит студенту выбрать четыре курса из предложенных в наступающем семестре. Кроме того, каждому студенту нужно дополнительно указать ещё два варианта, на случай если курс будет переполнен или отменён. На курс не должно быть записано более десяти или менее трех студентов. Курс, на который запишется менее трёх студентов, будет отменён. По завершении регистрации система регистрации направляет информацию в систему оплаты для выставления счетов студентам. Преподаватели должны иметь возможность онлайнового доступа к системе для указания курсов, которые они будут читать, и для просмотра списка записавшихся студентов.
В каждом семестре выделяется определенное время, в течение которого студенты могут менять свое расписание и получать доступ к системе для добавления или удаления выбранных курсов.
Для поставленной задачи разработать диаграмму вариантов использования в среде Rational Rose.
Информационные системы
1. Понятие информационной системы. Цели создания и назначение информационных систем. Предметная область информационной системы. Категории информационных систем. Пользователи информационных систем.
2. Средства вычислительной техники, системное и прикладное программное обеспечение, коммуникационное оборудование как ресурсы информационных систем. Назначение ресурсов. Влияние ресурсов на работу информационной системы.
3. Лингвистические, человеческие, информационные ресурсы информационных систем. Назначение ресурсов. Способы реализации лингвистических ресурсов. Категории информационных ресурсов. Представление информационных ресурсов в информационных системах различных категорий.
4. Структурированное представление предметной области в информационных системах. Характеристика сущностей и связей сущностей предметной области. Характеристики интенсионала и экстенсионала модели предметной области. Организация хранения информационных ресурсов.
5. Слабоструктурированное представление предметной области в информационных системах. Характеристика сущностей и связей сущностей предметной области. Характеристика экстенсионала модели предметной области. Организация хранения информационных ресурсов.
6. Неструктурированное представление предметной области в информационных системах. Характеристика сущностей и связей сущностей предметной области. Характеристики интенсионала и экстенсионала модели предметной области. Организация хранения информационных ресурсов.
7. Организация сбора и регистрации информационных ресурсов в информационных системах. Способы сбора информационных ресурсов. Очистка, фильтрация, верификация данных. Способы обеспечения логической целостности информационных ресурсов.
8. Реализация хранения информационных ресурсов в информационных системах. Организация хранения с помощью СУБД и файловой системы. Прямой и последовательный доступ к данным. Вспомогательные структуры для доступа к данным. Управление ресурсами памяти.
9. Организация актуализации информационных ресурсов в информационных системах. Способы актуализации в информационных системах различных категорий. Актуализация интенсионала и экстенсионала модели предметной области.
10. Способы представления информационных ресурсов пользователям информационных систем. Реализация pull- и push-технологий. Виды пользовательских интерфейсов. Организация взаимодействия информационных систем.
11. Сервис World Wide Web (WWW) как информационная система. Архитектура сервиса WWW. История развития. Понятие web-сервера, web-клиента. Способы организации информационных ресурсов.
12. Организация информационных систем на основе web-технологий. Принципы организации. Общая схема взаимодействия компонентов. Интерфейсы взаимодействия web-сервера и приложения. Примеры применения.
13. Информационные системы текстового поиска. Понятие документа, коллекции документов, релевантность. История развития систем текстового поиска. Дескрипторные и полнотекстовые системы. Методы создания документов. Моделирование реальности в текстовых информационных системах.
14. Организация текстового поиска в текстовых информационных системах. Критерии поиска, критерии релевантности. Точность поиска. Полнота поиска. Проблемы текстового поиска.
15. Индексирование и структурирование документов. Представление пользовательских запросов. Реализация средств лингвистической поддержки в текстовых информационных системах.