- •ВВЕДЕНИЕ
- •1. ОБЩИЕ СВЕДЕНИЯ ОБ ИНФОРМАТИКЕ
- •1.1. Информатика как наука
- •1.2 Определения информации
- •1.3. Виды информации
- •1.4. Структура информации
- •1.5. Требования, предъявляемые к социальной информации
- •Контрольные вопросы и задания:
- •2. ИСТОРИЯ РАЗВИТИЯ ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ
- •2.1. Ручной период вычислений или период абака
- •2.2. Механический период
- •2.3. Электромеханический период
- •2.4. Электронный период
- •Контрольные вопросы и задания
- •3. ПОКОЛЕНИЯ ЭВМ
- •Контрольные вопросы и задания:
- •4. СФЕРЫ ИСПОЛЬЗОВАНИЯ ЭВМ
- •Контрольные вопросы и задания
- •5. ПРИНЦИПЫ ПОСТРОЕНИЯ ЭВМ. СТРУКТУРА ЭВМ, НАЗНАЧЕНИЕ ОСНОВНЫХ БЛОКОВ
- •Контрольные вопросы и задания:
- •6. ПЕРСОНАЛЬНЫЕ КОМПЬЮТЕРЫ
- •Контрольные вопросы и задания:
- •7. ДВОИЧНАЯ СИСТЕМА СЧИСЛЕНИЯ
- •Контрольные вопросы и задания:
- •8. ПАМЯТЬ, ЕЕ ХАРАКТЕРИСТИКИ
- •8.1. Определения. Единицы емкости памяти
- •8.2. Принципы устройства памяти
- •Рис. 8.1. Взаимодействие процессора с памятью
- •8.3. Виды памяти.
- •Рис. 8.2 Структурная схема памяти персонального компьютера
- •8.4. Внешние запоминающие устройства
- •Контрольные вопросы и задания:
- •9. ЯЗЫКИ ПРОГРАММИРОВАНИЯ СОВРЕМЕННЫХ ЭВМ. ЭТАПЫ РАЗРАБОТКИ ПРОГРАММ
- •9.1. Понятие программы
- •9.2. Машинный язык и языки программирования высокого уровня
- •9.3. Компиляторы и интерпретаторы языков программирования
- •9.4. Лингвистическое обеспечение современных ЭВМ.
- •9.5. Этапы разработки программ для ЭВМ
- •Контрольные вопросы и задания:
- •10. ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ СОВРЕМЕННЫХ ЭВМ
- •10.1. Роль программного обеспечения
- •10.2. Понятие об операционной системе
- •10.3. Основные задачи, решаемые ОС ПЭВМ
- •10.4. Современные операционные системы
- •10.5. Понятие интерфейса ОС
- •10.6. Классификация операционных систем. Современные операционные системы
- •10.7. Оболочки операционных систем
- •10.8. Прикладное программное обеспечение
- •10.8.1.Текстовые редакторы
- •10.8.2. Табличные процессоры
- •10.8.3. Базы данных и СУБД
- •Контрольные вопросы и задания:
- •11. АЛГОРИТМЫ
- •11.1. Понятие алгоритма
- •11.2. Свойства и состав алгоритмов
- •11.3. Способы записи алгоритмов. Блок-схемы
- •11.4. Базовые структуры алгоритмов: следование, ветвление, цикл
- •Контрольные вопросы и задания:
- •12. ИНФОРМАЦИОННЫЕ СИСТЕМЫ. ОСНОВНЫЕ ПОНЯТИЯ И КЛАССИФИКАЦИЯ
- •12.1. Классификация информационных систем
- •12.1.1. Классификация по масштабу
- •12.1.2. .Классификация по целям.
- •12.1.3. Классификация по способу организации
- •12.2. Архитектуры информационных систем
- •Контрольные вопросы и задания:
- •13. ПОНЯТИЕ ПРОГРАММНОГО ПРОДУКТА. КАЧЕСТВО И ЖИЗНЕННЫЙ ЦИКЛ ПРОГРАММНОГО ПРОДУКТА
- •13.1. Программный продукт. Особенности разработки программного обеспечения
- •13.2. Качество программных продуктов
- •13.3. Показатели эффективности разработки программного обеспечения
- •13.4.1.Основные этапы жизненного цикла ПО
- •13.4.2. Структура жизненного цикла ПО
- •13.4.3. Модели жизненного цикла ПО
- •Рис. 13.1. Каскадная схема разработки ПО
- •Рис. 13.2. Реальный процесс разработки ПО по каскадной схеме
- •Рис 13.3. Спиральная модель ЖЦ
- •Контрольные вопросы и задания:
- •14. МЕТОДОЛОГИЯ И ТЕХНОЛОГИЯ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
- •Рис14.1. Представление технологической операции проектирования
- •14.1. Методологии и инструменты проектирования
- •14.2. Методы и средства структурного анализа и проектирования
- •14.3. Диаграммы потоков данных
- •14.3.1. Основные символы
- •14.3.2. Контекстная диаграмма и детализация процессов
- •14.3.3.Спецификация процесса (описание операций)
- •14.3.4. Диаграммы сущность связь
- •14.4. Методология RAD
- •Контрольные вопросы и задания:
- •15. ТЕСТИРОВАНИЕ И ОТЛАДКА ПРОГРАММ
- •15.1.Понятие тестирования и отладки программ
- •15.2. Классификация ошибок, способы их выявления и устранения
- •Контрольные вопросы и задания:
- •16. ПЕРЕДАЧА ИНФОРМАЦИИ. КОМПЬЮТЕРНЫЕ СЕТИ ОСНОВНЫЕ ПОНЯТИЯ
- •16.1. Формы передачи информации на большие расстояния
- •16.2. Передача информации между компьютерами
- •16.3. Компьютерные сети
- •16.4. Классификация сетей
- •16.5. Локальные сети. Общие понятия
- •16.6. Глобальная сеть Internet. Общие понятия
- •Рис 16.2. Иерархическая структура Internet
- •Контрольные вопросы и задания:
- •17. ОСНОВЫ ЗАЩИТЫ ИНФОРМАЦИИ
- •17.1. Способы несанкционированного доступа к компьютерной информации
- •17.2. Компьютерные вирусы и защита от них
- •17.2.1. Способы проявления компьютерных вирусов
- •17.2.2. Защита от поражения компьютерными вирусами
- •17.3. Нормативно правовая база защиты информации
- •Контрольные вопросы и задания:
- •18. СОВРЕМЕННАЯ ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА (АНАЛОГОВАЯ И ДИСКРЕТНАЯ)
- •18.1. Аналоговая вычислительная техника
- •18.2. Основные характеристики АВМ
- •18.3. Гибридная вычислительная техника
- •18.4. Сравнительные характеристики аналоговой и дискретной техники
- •Контрольные вопросы и задания:
- •БИБЛИОГРАФИЯ
- •ОГЛАВЛЕНИЕ
112
Каждая сущность может обладать любым количеством связей с другими сущностями модели.
Связь (Relationship) — поименованная ассоциация между двумя сущностями, значимая для рассматриваемой предметной области. Связь — это ассоциация между двумя сущностями, при которой каждый экземпляр одной сущности ассоциирован с произвольным (в том числе нулевым) количеством экземпляров второй сущности, и наоборот.
Атрибут — любая характеристика сущности, значимая для рассматриваемой предметной области и предназначенная для квалификации, идентификации, классификации, количественной характеристики или выражения состояния сущности. Атрибут представляет тип характеристик или свойств, ассоциированных со множеством реальных или абстрактных объектов (людей, мест, событий, идей, предметов и т.д.). Экземпляр атрибута — это определенная характеристика отдельного элемента множества. Экземпляр атрибута определяется типом характеристики и ее значением, называемым значением атрибута. В ER-модели атрибуты ассоциируются с конкретными сущностями. Таким образом, экземпляр сущности должен обладать единственным определенным значением для ассоциированного атрибута.
14.4. Методология RAD
Одним из возможных подходов к разработке ПО в рамках спиральной модели ЖЦ является получившая в последнее время широкое распространение методология быстрой разработки приложений RAD (Rapid Application Development).
Под этим термином обычно понимается процесс разработки ПО, содержащий 3 элемента:
∙небольшую команду программистов (от 2 до 10 человек);
∙короткий, но тщательно проработанный производственный график (от 2 до 6 мес.);
∙повторяющийся цикл, при котором разработчики, по мере того, как приложение начинает обретать форму, запрашивают и реализуют в продукте требования, полученные через взаимодействие с заказчиком.
∙Основные принципы методологии RAD:
∙разработка приложений итерациями;
∙необязательность полного завершения работ на каждом из этапов жизненного цикла;
∙обязательное вовлечение пользователей в процесс разработки ИС;
∙необходимое применение CASE-средств, обеспечивающих целостность проекта;
∙применение средств управления конфигурацией, облегчающих внесение изменений в проект и сопровождение готовой системы;
∙необходимое использование генераторов кода;
∙использование прототипов, позволяющее полнее выяснить и удовлетворить потребности конечного пользователя;
113
∙тестирование и развитие проекта, осуществляемые одновременно с разработкой;
∙ведение разработки немногочисленной хорошо управляемой командой профессионалов;
∙грамотное руководство разработкой системы, четкое планирование и контроль выполнения работ.
Жизненный цикл ПО по методологии RAD состоит из четырех фаз:
∙фаза анализа и планирования требований;
∙фаза проектирования;
∙фаза построения;
∙фаза внедрения.
На фазе анализа и планирования требований пользователи системы определяют функции, которые она должна выполнять, выделяют наиболее приоритетные из них, требующие проработки в первую очередь, описывают информационные потребности Результатом данной фазы должны быть список и приоритетность функций будущего ПО.
На фазе проектирования часть пользователей принимает участие в техническом проектировании системы под руководством специалистовразработчиков. Более подробно рассматриваются процессы системы. Анализируется и, при необходимости, корректируется функциональная модель. Каждый процесс рассматривается детально. При необходимости для каждого элементарного процесса создается частичный прототип: экран, диалог, отчет, устраняющий неясности или неоднозначности. Определяются требования разграничения доступа к данным. На этой же фазе происходит определение набора необходимой документации.
Результатом данной фазы должны быть:
∙общая информационная модель системы;
∙функциональные модели системы в целом и подсистем, реализуемых отдельными командами разработчиков;
∙точно определенные с помощью CASE-средства интерфейсы между автономно разрабатываемыми подсистемами;
∙построенные прототипы экранов, отчетов, диалогов.
На фазе построения выполняется непосредственно сама быстрая разработка приложения. На данной фазе разработчики производят итеративное построение реальной системы на основе полученных в предыдущей фазе моделей, а также требований нефункционального характера. Программный код частично формируется при помощи автоматических генераторов. Конечные пользователи на этой фазе оценивают получаемые результаты и вносят коррективы, если в процессе разработки система перестает удовлетворять определенным ранее требованиям. Тестирование системы осуществляется непосредственно в процессе разработки.
После окончания работ каждой отдельной команды разработчиков производится постепенная интеграция данной части системы с остальными, формируется полный программный код, выполняется тестирование совместной
114
работы данной части приложения с остальными, а затем тестирование системы
вцелом. Завершается физическое проектирование системы:
∙определяется необходимость распределения данных;
∙производится анализ использования данных;
∙производится физическое проектирование базы данных;
∙определяются требования к аппаратным ресурсам;
∙определяются способы увеличения производительности;
∙завершается разработка документации проекта.
Результатом фазы является готовая система, удовлетворяющая всем согласованным требованиям.
На фазе внедрения производится обучение пользователей, организационные изменения и параллельно с внедрением новой системы осуществляется работа с существующей системой (до полного внедрения новой). Так как фаза построения достаточно непродолжительна, планирование и подготовка к внедрению должны начинаться заранее, как правило, на этапе проектирования системы.
Приведенная схема разработки не является абсолютной. Возможны различные варианты, зависящие, например, от начальных условий, в которых ведется разработка.
Следует отметить, что методология RAD, как и любая другая, не может претендовать на универсальность, она хороша в первую очередь для относительно небольших проектов, разрабатываемых для конкретного заказчика. Методология RAD неприменима для построения сложных расчетных программ, операционных систем или программ управления космическими кораблями, т.е. программ, требующих написания большого объема (сотни тысяч строк) уникального кода, а также ПО от которых зависит безопасность людей, так как первые несколько версий ПО не будут полностью работоспособны.
Контрольные вопросы и задания:
1.Дайте определение понятию технологии проектирования ПО.
2.Перечислите основные требования к технологии разработки ПО.
3.Что такое CASE-средства и CASE-технологии?
4.Как влияет использование CASE-средств на качество программного продукта и процесса его проектирования?
5.В чем смысл и основные принципы структурного подхода к разработке ПО?
6.Для чего предназначены диаграммы потоков данных? Перечислите основные элементы потоков данных.
7.Постройте диаграмму потоков данных для ПО учета оценок по итогам сессии в деканате.
8.Перечислите основные компоненты диаграммы сущность-связь. Укажите для каких целей они используются.
115
9. Постройте диаграмму сущность-связь. для ПО учета оценок по итогам сессии в деканате