Рабочая программа по дисциплине «Технология программирования» Для специальности 230102 «Автоматизированные системы обработки информации и управления»

Вид материалаРабочая программа

Содержание


Согласовано согласовано
Целью курса является подготовка студентов к самостоятельной деятельности в области проектирования и сопровождения программных пр
2. Содержание дисциплины
Тематический план лекционных занятий
Тематический план лабораторных занятий
Темы самостоятельных работ
2.5. Вопросы к зачету
Button, CheckBox, CheckBoxGroup, Choice, List, Scrollbar, Label, TextField, TextArea.
Panel, Applet, Window, Frame, Dialog, FileDialog.
2.6. Вопросы к экзамену Основные вопросы
3.Рекомендуемая литература
Подобный материал:

Федеральное агентство по образованию РФ

АМУРСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ


( ГОУВПО «АмГУ» )


УТВЕРЖДАЮ

Проректор по УНР

___________Е.С.Астапова


«______»_______________


РАБОЧАЯ ПРОГРАММА




По дисциплине «Технология программирования»


Для специальности 230102 – «Автоматизированные системы обработки информации и управления»

Курс 3 семестр 5


Лекции 36 (час.) Экзамен 5 семестр


Практические (семинарские) занятия (час.) Зачет 5 семестр


Лабораторные занятия 36 (час.)


Самостоятельная работа 44 (час.)


Всего часов 116 час.


Составитель доцент Акилова Ирина Михайловна


Факультет математики и информатики


Кафедра Информационных и управляющих систем


2006


Рабочая программа составлена на основании Государственного образовательного стандарта ВПО по специальности 230102 – Автоматизированные системы обработки информации и управления


Рабочая программа обсуждена на заседании кафедры Информационных и управляющих систем


« _____» _______________2005 г., протокол №______


Заведующий кафедрой___________________ А.В.Бушманов


Рабочая программа одобрена на заседании УМС 230201 – Информационные системы и технологии


«______» _______________2005 г., протокол №______


Председатель__________________ А.В.Бушманов


СОГЛАСОВАНО СОГЛАСОВАНО

Начальник УМУ Председатель УМС факультета

_____________Г.Н.Торопчина _______________Е.Л.Еремин


«____»_____________2006 г. «_____»________________2006 г.


СОГЛАСОВАНО

Заведующий выпускающей кафедрой

_____________А.В.Бушманов


«____»_____________2006 г.


  1. ЦЕЛИ И ЗАДАЧИ ДИСЦИПЛИНЫ, ЕЕ МЕСТО В УЧЕБНОМ ПРОЦЕССЕ

1.1. Цели и задачи дисциплины

Целью курса является подготовка студентов к самостоятельной деятельности в области проектирования и сопровождения программных продуктов.

Задачами курса являются освоение технологии проектирования программ, их тестирование, изучение и использование методов сопровождения программных продуктов.


Курс базируется на знании основных языков программирования, элементов операционных систем, математического моделирования.

В результате изучения дисциплины студент должен:

1) знать принципы построения модульных программ, структурное программирование;

2) уметь создавать коллективные программы, документировать программы.


2. СОДЕРЖАНИЕ ДИСЦИПЛИНЫ


2.1. Федеральный компонент

Программа курса «Технология программирования» составлена в соответствие с требованиями государственного образовательного стандарта специализации – Автоматизированные системы обработки информации и управления, специализации 230102, блок специальные дисциплины СД.06.


2.2. Наименование тем, их содержание, объем в лекционных часах


ТЕМАТИЧЕСКИЙ ПЛАН ЛЕКЦИОННЫХ ЗАНЯТИЙ

№ темы

Наименование темы

Кол-во

часов

1

Надежное программное средство как продук технологии программирования. Исторический и социальный контекст программирования

2

2

Источники ошибок в программных средствах

2

3

Общие принципы разработки программных средств

2

4

Внешнее описание программного средства

2

5

Методы спецификации семантики функций

2

6

Архитектура программного средства

2

7

Разработка структуры программы и модульное программирование

2

8

Разработка программного модуля

4

9

Доказательство свойств программ

2

10

Тестирование и отладка программного средства

4

11

Обеспечение функциональности и надежности программного средства

2

12

Обеспечение качества программного средства

2

13

Документирование программных средств

4

14

Управление разработкой и аттестация программного средства

2

15

Компьютерная поддержка разработки и сопровождения программных средств

2

Итого




36


1. НАДЕЖНОЕ ПРОГРАММНОЕ СРЕДСТВО КАК ПРОДУК ТЕХНОЛОГИИ ПРОГРАММИРОВАНИЯ. ИСТОРИЧЕСКИЙ И СОЦИАЛЬНЫЙ КОНТЕКСТ ПРОГРАММИРОВАНИЯ – 2 часа

Понятие информационной среды процесса обработки данных. Программа как формализованное описание процесса. Понятие о программном средстве. Понятие ошибки в программном средстве. Неконструктивность понятия правильной программы. Надежность программного средства. Технология программирования как технология разработки надежных программных средств. Технология программирования и информатизация общества.


2. ИСТОЧНИКИ ОШИБОК В ПРОГРАММНЫХ СРЕДСТВАХ – 2 часа

Интеллектуальные возможности человека, используемые при разработке программных систем. Понятия о простых и сложных системах, о малых и больших системах. Неправильный перевод информации из одного представления в другое - основная причина ошибок при разработке программных средств. Модель перевода и источники ошибок.


3. ОБЩИЕ ПРИНЦИПЫ РАЗРАБОТКИ ПРОГРАММНЫХ СРЕДСТВ – 2 часа.

Специфика разработки программных средств. Жизненный цикл программного средства. Понятие качества программного средства. Обеспечение надежности - основной мотив разработки программного средства. Методы борьбы со сложностью. Обеспечение точности перевода. Преодоление барьера между пользователем и разработчиком. Обеспечение контроля правильности принимаемых решений.


4. ВНЕШНЕЕ ОПИСАНИЕ ПРОГРАММНОГО СРЕДСТВА – 2 часа.

Понятие внешнего описания, его назначение и роль в обеспечении качества программного средства. Определение требований к программному средству. Спецификация качества программного средства. Основные примитивы качества программного средства. Функциональная спецификация программного средства. Контроль внешнего описания.


5.МЕТОДЫ СПЕЦИФИКАЦИИ СЕМАНТИКИ ФУНКЦИЙ – 2 часа.

Основные подходы к спецификации семантики функций. Табличный подход, метод таблиц решений. Алгебраический подход: операционная, денотационная и аксиоматическая семантика. Логический подход. Языки спецификаций.


6. АРХИТЕКТУРА ПРОГРАММНОГО СРЕДСТВА – 2 часа.

Понятие архитектуры и задачи ее описания. Основные классы архитектур программных средств. Взаимодействие между подсистемами и архитектурные функции. Контроль архитектуры программных средств.


7. РАЗРАБОТКА СТРУКТУРЫ ПРОГРАММЫ И МОДУЛЬНОЕ ПРОГРАММИРОВАНИЕ – 2 часа.

Цель разработки структуры программы. Понятие программного модуля. Основные характеристики программного модуля. Методы разработки структуры программы. Спецификация программного модуля. Контроль структуры программы.


8. РАЗРАБОТКА ПРОГРАММНОГО МОДУЛЯ – 4 часа

Порядок разработки программного модуля. Структурное программирование и пошаговая детализация. Понятие о псевдокоде. Контроль программного модуля.

9. ДОКАЗАТЕЛЬСТВО СВОЙСТВ ПРОГРАММ – 2 часа.

Понятие обоснования программ. Формализация свойств программ, триады Хоора. Правила для установления свойств оператора присваивания, условного и составного операторов. Правила для установления свойств оператора цикла, понятие инварианта цикла. Завершимость выполнения программы.


10. ТЕСТИРОВАНИЕ И ОТЛАДКА ПРОГРАММНОГО СРЕДСТВА – 4 часа.

Основные понятия. Стратегия проектирования тестов. Заповеди отладки. Автономная отладка и тестирование программного модуля. Комплексная отладка и тестирование программного средства.


11. ОБЕСПЕЧЕНИЕ ФУНКЦИОНАЛЬНОСТИ И НАДЕЖНОСТИ ПРОГРАММНОГО СРЕДСТВА – 2 часа.

Функциональность и надежность как обязательные критерии качества программного средства. Обеспечение завершенности программного средства. Обеспечение точности программного средства. Обеспечение автономности программного средства. Обеспечение устойчивости программного средства. Обеспечение защищенности программных средств.


12. ОБЕСПЕЧЕНИЕ КАЧЕСТВА ПРОГРАММНОГО СРЕДСТВА – 2 часа.

Общий обзор. Реализация пользовательского интерфейса и обеспечение легкости применения программного средства. Обеспечение эффективности программного средства. Обеспечение сопровождаемости и управление конфигурацией программного средства. Аппаратно-операционные платформы и обеспечение мобильности программного средства.


13. ДОКУМЕНТИРОВАНИЕ ПРОГРАММНЫХ СРЕДСТВ – 4 часа.

Документация, создаваемая и используемая в процессе разработки программных средств. Пользовательская документация программных средств. Документация по сопровождению программных средств.


14. УПРАВЛЕНИЕ РАЗРАБОТКОЙ И АТТЕСТАЦИЯ ПРОГРАММНОГО СРЕДСТВА. – 2 часа.

Назначение управления разработкой программного средства и его основные процессы. Структура управления разработкой программных средств. Подходы к организации бригад разработчиков. Управление качеством программного средства. Аттестация программного средства и характеристика методов оценки качества программного средства.


15. КОМПЬЮТЕРНАЯ ПОДДЕРЖКА РАЗРАБОТКИ И СОПРОВОЖДЕНИЯ ПРОГРАММНЫХ СРЕДСТВ – 2 часа.

Программные инструменты в жизненном цикле программных средств. Инструментальные среды и инструментальные системы поддержки разработки программных средств, их классификация. Компьютерная технология (CASE-технология) разработки программных средств и ее рабочие места. Общая архитектура инструментальных систем технологии программирования


2.3. Лабораторные занятия, их содержание и объем в часах.


ТЕМАТИЧЕСКИЙ ПЛАН ЛАБОРАТОРНЫХ ЗАНЯТИЙ

№ темы

Наименование темы

Кол-во

часов

1

Основы программирования на Java, приложения Java


4

2

Создание простейших апплетов

4

3

Рисование в окне, обработка событий мыши и клавиатуры

4

4

Компоненты и использование элементов управления

4

5

Контейнеры компонентовGUT и менеджеры размещения

4

6

Многопотоковые приложения

2

7

Автономные приложения. Потоки данных. Работа с локальными файлами

2

8

Сетевые приложения: передача данных с использованием сокетов

2

9

Связь по сети с помощью URL

2

10

Создание и использование сервлетов

2

11

Работа с базами данных, использование интерфейса JDBC

2


2.4. Самостоятельная работа студентов (44 часа)


ТЕМЫ САМОСТОЯТЕЛЬНЫХ РАБОТ

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

2. Реализация многопоточности. Создание апплета (или приложения), в окне которого последовательно буква за буквой выводится текст (например, пусть введена строка "АБВГ....ЭЮЯ", тогда последовательность отображения ее символов следующая: "А", "АБ", "АБВ" и т.д.). Программа должна содержать меню, которое позволяет осуществлять выбор шрифта для отображения текста и вызывать диалоговое окно для ввода пользователем текста отображаемой строки и скорости вывода символов (задержка в миллисекундах).

3. Реализация многопоточности. Создание апплета (или приложения), в окне которого отображается строка, бегущая изнутри (например, пусть введена строка "АБВГ....ЭЮЯ", тогда последовательность отображения ее символов следующая: "АЯ", "АБЮЯ", "АБВЭЮЯ" и т.д.). Программа должна содержать меню, которое позволяет осуществлять выбор шрифта для отображения текста и вызывать диалоговое окно для ввода пользователем текста отображаемой строки и скорости вывода символов (задержка в миллисекундах).

4. Реализация многопоточности. Создание апплета (или приложения), в окне которого отображается строка, бегущая по буквам (например, пусть введена строка "АБВГ....ЭЮЯ", тогда последовательность отображения ее символов следующая: "...............А", "А.............Б", "АБ...........В" и т.д.). Программа должна содержать меню, которое позволяет осуществлять выбор шрифта для отображения текста и его цвета, а также вызывать диалоговое окно для ввода пользователем текста отображаемой строки и скорости вывода символов (задержка в миллисекундах).

5. Реализация многопоточности. Создание апплета (или приложения), в окне которого отображается строка, символы которой отображаются в случайном порядке случайным цветом . После вывода всех символов окно очищается и вывод начинается вновь. Программа должна содержать меню, которое позволяет осуществлять выбор шрифта для отображения текста, а также вызывать диалоговое окно для ввода пользователем текста отображаемой строки и скорости вывода символов (задержка в миллисекундах).
  1. Реализация многопоточности. Создать апплет (или приложение), в окне которого выводится ряд подготовленных изображений (мультипликация). Последовательное изменение выводимых изображений должно происходит только тогда, когда курсор мыши находится в окне апплета (или приложения). При выходе курсора за границы окна вывод изображения приостанавливается.
    7. Передача данных с использованием сокетов. Создать приложение-сервер и приложение-клиент, которые обмениваются данными с использованием сокетов. На компьютере, где работает приложение-сервер, должна находится база данных (обычный двоичный файл), содержащая информацию о списке пользователей (регистрационный номер, имя, пароль, уровень доступа и др.).
    Приложение-клиент, запущенное на другом компьютере, запрашивает у пользователя его регистрационный номер или имя (предусмотреть возможность выбора режима ввода) и пароль и делает запрос приложению-серверу о выдаче полной информации об этом пользователе.

Если в базе данных содержится информация о таком пользователе и пароль введен верно, то приложение-сервер пересылает всю информацию о пользователе приложению-клиенту, иначе посылает предупреждение об отсутствии пользователя в списке или о неверном вводе пароля.

После получения информации от приложения-сервера приложение-клиент выводит ее в диалоговом окне.

Замечание. Работа выполняется группой из двух студентов.
  1. Получение данных с использованием URL. Создать приложение, которое читает файл, находящийся на другом компьютере, с использование URL-адреса этого файла. Файл является базой данных (обычный двоичный файл), содержащей информацию о списке пользователей (регистрационный номер, имя, пароль, уровень доступа и др.).

Приложение запрашивает у пользователя его регистрационный номер или имя (предусмотреть возможность выбора режима ввода) и пароль. Затем с помощью URL-адреса этого файла открывает входной поток, связанный с этим файлом, и осуществляет поиск пользователя в базе данных. Если в базе данных содержится информация о таком пользователе и пароль введен верно, то приложение отображает в диалоговом окне всю информацию о пользователе, иначе выдает предупреждение об отсутствии пользователя в списке или о неверном вводе пароля.

Замечание. Работа выполняется группой из двух студентов.
  1. Взаимодействие апплетов при помощи потока данными между ними. В одну html-страницу включить два апплета. Первый апплет действует в качестве пассивного «слушателя», другой - в качестве «разговаривающего» апплета.
    Второй апплет может запросить у «слушателя» выходной поток PipedOutputStream, записать туда данные и велеть ему прочитать данные из потока.
    Первый поток берет данные из потока PipedInputStream, интерпретирует их как текст и печатает в своей текстовой области

Второй апплет содержит область ввода (текстовую область), кнопки «Send» и «HangUp». При нажатии пользователем на кнопку «Send» введенный им текст пересылается первому апплету, а при нажатии на кнопку «HangUp» разрывается канал связи между апплетами, основанный на входном и выходном потоке.
Замечание. Работа выполняться группой из двух студентов.
  1. Апплет двойного назначения, представляющий кафедру КТС. Создать апплет двойного назначения, в окно которого введено несколько панелей, которые поочередно выходят на первый план. Первая панель - заглавная страница кафедры, несколько следующих - рекламная информация о кафедре. Последующие панели содержат информацию о преподавателях кафедры. После поочередного вывода всех панелей процесс повторяется вновь.

Замечание. Работа выполняться группой из трех студентов.

2.5. Вопросы к зачету

  1. Структура технологии Java. Характеристики языка Java – простой, объектно-ориентированный, устойчивый, надежный, архитектурно-независимый, мобильный, интерпретируемый, высокоэффективный, многопоточный.
  2. Виртуальная машина Java. Процесс выполнения Java-приложений. Ограничения на работу апплета.
  3. Понятия объектно-ориентированного программирования – объекты, абстракция, объединение состояния и поведения объекта, инкапсуляция, интерфейсы, сообщения, модульность, классификация, наследование.
  4. Термины объектно-ориентированного программирования – класс, объект, затенение данных, инкапсуляция, реализация, конструктор, иерархия классов, наследование, суперкласс, подкласс, переопределение методов, интерфейс.
  5. Различия между языком Java и языками C/C++ – типы данных, процесс сборки мусора, реализация классов, операторы, передача аргументов через командную строку, работа со строками.
  6. Виды типов данных. Примитивные типы данных – целые числа, числа с плавающей точкой, символы, булевский тип. Преобразования примитивных типов данных.
  7. Виды типов данных. Ссылочные типы данных – массивы, классы, интерфейсы. Работа с объектами ссылочных типов.
  8. Объекты ссылочных типов – создание, доступ к методам и переменным объекта, копирование объектов, проверка объектов на равенство, определения класса объекта. Преобразование ссылочных типов данных.
  9. Объявление переменных – правила именования, стандартные значения по умолчанию. Области действия переменных.
  10. Операций – над целочисленными данными, над данными с плавающей точкой, над данными булевского типа, над строками, над массивами, над объектами.
  11. Синтаксис управляющих операторов – if, if-else, switch.
  12. Синтаксис операторов циклов – for, while, do-while.
  13. Использование операторов перехода – break, continue, return.
  14. Объявление класса. Модификаторы класса – abstract, final, public.
  15. Объявление класса. Наследование класса – подкласс, суперкласс, ключевое слово extends.
  16. Объявление класса. Объявление интерфейса. Реализация интерфейса – ключевое слово implements.
  17. Объявление переменных-членов класса. Модификаторы переменных – final, public, protected, private.
  18. Обращение к переменным-членам класса. Пример сокрытия переменной-члена в методе. Пример затенения переменной-члена в подклассе. Специальные переменные – null, this, super. Примеры их использования.
  19. Объявление методов класса. Передача параметров в методы. Модификаторы методов – final, public, protected, private, abstract, synchronized, native.
  20. Перегрузка методов класса и затенение методов суперкласса. Способы доступа к затененным методам суперкласса.
  21. Конструктор класса. Вызов в конструкторе класса другого конструктора. Вызов в конструкторе класса конструктора суперкласса. Метод finalize.
  22. Абстрактный метод и абстрактный класс. Интерфейс – объявление интерфейса, объявление методов интерфейса. Реализация интерфейса классом.
  23. Обработка исключений – цель обработки, блок try, блок catch, ,блок finally, класс Exception.
  24. Генерация исключений – оператор throw, класс Throwable, класс Exception. Объявление исключения, ключевое слово throws. Определение собственного класса исключения.
  25. Пакеты классов. Использование пакетов – импортирование пакета, явные ссылки на классы из пакета. Создание пакета классов.
  26. Неизменяемые и изменяемые строки Java. Создание и использование объекта класса String. Создание и использование объекта класса StringBuffer.
  27. Упаковщики примитивных типов – создание и использование.
  28. Массивы – создание, инициализация, установка и выборка элементов.
  29. Классы-контейнеры. Функциональные возможности и использование классов-контейнеров – Vector, Hashtable, Stack.
  30. Стандартные системные потоки – System.out, System.in, System.err. Методы потокового ввода-вывода.
  31. Базовые абстрактные классы потоков – InputStream, OutputStream. Методы потокового ввода-вывода.
  32. Файловые потоки – классы FileInput, FileOutputStream. Класс файлов и каталогов File.
  33. Фильтруемые потоки – классы FilterInputStream, FilterOutputStream. Буферизируемые потоки – классы BufferedInputStream, BufferedOutputStream. Типизированные потоки – классы DataInputStream, DataOutputStream.
  34. Типы Java-программ, их отличия. Объявление первичного класса приложения и апплета. Основные различия между первичным классом приложения и апплета. Стадии выполнения приложения и апплета. Апплеты двойного назначения.
  35. Передача аргументов приложению и апплету. Получение значений параметров в приложении и апплете.
  36. Понятия «событие» и «обработка события». Обработчики простых событий.
  37. Класс события Event. Простые события и события пользовательского интерфейса. Обработчики событий – методы handleEvent, action. Генерация событий.
  38. Средства организации окон (пакет java.awt) – примитивные графические элементы, шрифты, стандартные компоненты пользовательского интерфейса, контейнеры компонент.
  39. Работа с графикой – класс Graphics . Использование шрифтов – классы Font и FontMetrics. Работа с цветом – класс Color. Работа с изображениями – класс Image.
  40. Класс Component компонентов пользовательского интерфейса. Элементы управления – классы Button, CheckBox, CheckBoxGroup, Choice, List, Scrollbar, Label, TextField, TextArea. Обработка событий от элементов управления – методы handleEvent, action.
  41. Класс Container контейнеров компонент пользовательского интерфейса. Контейнеры – классы Panel, Applet, Window, Frame, Dialog, FileDialog. Создание контейнеров, добавление в них компонент. Обработка контейнером событий от компонент.
  42. Работа с меню – классы MenuBar, Menu, MenuItem, CheckBoxMenuItem. Создание меню и добавление его в контейнер. Обработка контейнером событий меню.
  43. Многопоточность в Java. Понятия «процесс», «поток», «приоритет потока». Реализация многопоточности при помощи создания подкласса класса Thread. Реализация многопоточности при помощи интерфейса Runnable.
  44. Многопоточность в Java. Состояния потоков – новый, выполняемый, невыполняемый, завершенный. Условия выполнения потоков. Проблемы синхронизации потоков – синхронизация методов, синхронизация объектов. Блокировка потоков.
  45. Сокеты, типы сокетов. Создание и использование канала передачи данных приложением-сервером и приложением-клиентом. Использование датаграммных сокетов приложением-сервером и приложением-клиентом.



2.6. Вопросы к экзамену

Основные вопросы:

  1. Модель перевода и источники ошибок при разработке программных средств.
  2. Специфические особенности разработки программных средств.
  3. Жизненный цикл программного средства.
  4. Определение требований к программному средству.
  5. Спецификация качества программного средства
  6. Функциональная спецификация программного средства.
  7. Контроль внешнего описания программного средства.
  8. Табличный подход к спецификации семантики функций. Метод таблиц решений.
  9. Основные классы архитектур программных средств.
  10. Понятие программного модуля и его основные характеристики.
  11. Методы разработки структуры программ.
  12. Метод целенаправленной конструктивной реализации.
  13. Структурное программирование и пошаговая детализация. Понятие о псевдокоде.
  14. Правила для установления свойств составного и условного операторов. Доказать.
  15. Инвариант цикла. Правило для установления свойств оператора цикла. Доказать.
  16. Понятие о завершимости выполнения программы. Правило для установления завершимости выполнения цикла. Доказать.
  17. Заповеди отладки программных средств.
  18. Автономная отладка и тестирование программного средства.
  19. Комплексная отладка и тестирование программного средства.
  20. Обеспечение устойчивости программного модуля.
  21. Обеспечение защиты от влияния «чужих» программ.
  22. Обеспечение защиты от несанкционированного доступа к программным средствам и защиты от взлома защиты.
  23. Обеспечение легкости применения программного средства.
  24. Обеспечение эффективности программного средства.
  25. Обеспечение сопровождаемости программного средства.
  26. Виды документов программного средства.
  27. Структура управления разработкой программного средства.
  28. Инструментальные среды программирования и принципы их классификации.
  29. Компьютерная (CASE) технология разработки программных средств и ее жизненный цикл.
  30. Инструментальные системы технологии программирования: понятие и общая архитектура.

Дополнительные вопросы
  1. Понятие ошибки в программном средстве.
  2. Понятие программного средства.
  3. Понятие надежности программного средства.
  4. Понятие технологии программирования.
  5. Понятие сопровождения программного средства.
  6. Понятие качества программного средства.
  7. Понятие мобильности программного средства.
  8. Понятие внешнего описания программного средства.
  9. Понятие устойчивости программного средства.
  10. Понятие защищенности программного средства.
  11. Понятие коммуникабельности программного средства.
  12. Понятие расширяемости программного средства.
  13. Понятие архитектуры программного средства.
  14. Понятие архитектурной функции программного средства.
  15. Понятие программного модуля.
  16. Понятие отладки программного средства.
  17. Понятие тестирования программного средства.
  18. Понятие управления конфигурацией программного средства
  19. Понятие администратора программного средства.
  20. Понятие управления разработкой программного средства.
  21. Понятие менеджера программного проекта.
  22. Понятие аттестации программного средства.
  23. Понятие пользовательского объекта в программном средстве.
  24. Понятие инструментальной среды разработки и сопровождения программных средств.
  25. Понятие интегрированности инструментальной среды разработки и сопровождения программных средств.
  26. Понятие языково-ориентированной инструментальной среды программирования
  27. Понятие компьютерной (CASE) технологии программирования.
  28. Понятие инструментальной системы технологии программирования.
  29. Понятие репозитория инструментальной системы технологии программирования.
  30. Понятие языково-зависимой инструментальной системы технологии программирования


2.7. Виды контроля

Для проверки эффективности преподавания дисциплины проводится контроль знаний студентов.

При этом используются следующие виды контроля:

- текущий контроль за аудиторной и самостоятельной работой обучаемых осуществляется во время проведения аудиторных занятий посредством устного опроса;
  • промежуточный контроль осуществляется два раза в семестр в виде анализа итоговых отчетов;
  • итоговый контроль в виде зачета осуществляется после успешного прохождения студентами текущего и промежуточного контроля и сдачи отчета по самостоятельной работе и устного экзамена при ответах экзаменуемого на два вопроса в билете и дополнительные вопросы по желанию экзаменатора.


2.8. Требования к знаниям студентов, предъявляемые на зачете

Для получения зачета студент должен посещать занятия, студентом должны быть выполнены все лабораторные работы, самостоятельное задание и отчет к нему, а также знание теоретического материала в объеме лабораторного курса.

«Зачтено» - студент не имеет задолженностей по семестровым отчетным работам. Хорошо владеет теоретическим материалом.

«Незачтено» - студент не отчитался по семестровым отчетным работам, не знает теоретический материал.


2.9. Требования к знаниям студентов, предъявляемые на экзамене

Знания студента оцениваются как отличные при полном изложении теоретического материала экзаменационного билета и ответах на дополнительные вопросы со свободной ориентацией в материале и других литературных источниках.

Оценка «хорошо» ставится при твердых знаниях студентом всех разделов курса, но в пределах конспекта лекций и обязательных заданий по самостоятельной работе с литературой.

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

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


3.РЕКОМЕНДУЕМАЯ ЛИТЕРАТУРА


Основная

1.Хьюз Д. и др. Структурный подход к программированию - М.: Мир, 1980.

2.Йодан Э. Структурное проектирование и конструирование программ - М.:

Мир,1979.

3. Майерс Г. Надежность программного обеспечения. – М.: Мир, 1980.

4. Турский В. Методология программирования. – М.: Мир, 1981.

5.С.Дж.Гринн. Как писать руководства для пользователя ЭВМ - М.: Радио и

связь, 1985.

6.Гласс Р, Нуазо Р. Сопровождение программного обеспечения. - М.: Мир,

7. П. Нотон. Java: справочное руководство. M.: Восточная книжная компания, 1996.
8. К. Джамса. Изучи сам Java сегодня. Мн: ООО "Попурри", 1996.
9. Дж. Родли. Создание Java-апплетов. К: НИПФ "ДиаСофт Лтд", 1996.
10. М. Томас, П. Пател, А. Хадсон, Д. Болл. Секреты программирования для Internet на Java. С.-П.: Издательский дом "Питер", 1997.
11. Акилова И.М. Лабораторный практикум. Методическое пособие (электронный носитель).


Дополнительная

1.Шнейдерман Б. Психология программирования - М.: Радио и связь, 1984.

2.Бутаков Е.А. Методы создания качественного программного обеспечения

ЭВМ.: Москва Энергоатомиздат, 1984.

3.Холстед М.Х. Начала науки о программах - М.: Финансы и статистика, 1981.

4.Фуксман А.Л. Технологические аспекты создания програмных систем - М.:

Статистика, 1979.

5. Безбородов Ю. М. Индивидуальная отладка программ - М.: Наука, 1982.

6. Жоголев Е.А. Технологические основы модульного программирования. – Программирование, 1980, №2. – с. 44 – 49.

7.Дейкстра Э. Дисциплина программирования - М.: Мир 1978.

8.Тейер Т. и др. Надежность програмного обеспечения. - М.: Мир, 1981.

9. Аарон И. Волш. Основы программирования на Java для World Wide Web. Киев: "Диалектика", 1996.
10. М. Эферган. Java: справочник. С.-П.: Издательский дом "Питер", 1997.
11. Дж. Гослинг, К. Арнольд. Язык программирования Java. С.-П.: Издательский дом "Питер", 1997.


4. Необходимое техническое и программное обеспечение

Лекции проводятся в стандартной аудитории, оснащенной в соответствии с требованиями преподавания теоретических дисциплин.

Для проведения лабораторных работ необходим компьютерный класс на 12-14 посадочных мест пользователей. В классе должен быть установлен язык программирования Java.


5. Учебно-методическая (технологическая) карта дисциплины


Номер недели

Номер темы

Вопросы,

изучаемые на лекции

Занятия

Используемые наглядные

и методические пособия

Самостоятельная

работа студентов

Форма контроля

Практические

Лабораторные


Содержание

Часы

1

2

3

4

5

6

7

8

9

1

1

1-8

-

1

11-осн.

Изучение

литературы

по языку программирования

Java

25




2

2

1-4

-

1

11-осн.

злр.

3

3

1-8

-

2

11-осн.




4

4

1-6

-

2

11-осн.

злр.

5

5

1-5

-

3

11-осн.




6

6

1-4

-

3

11-осн.

злр.

7

7

1-6

-

4

11-осн.




8

8

1-2

-

4

11-осн.

злр.

9

3-4

-

5

11-осн.




10

9

1-5

-

5

11-осн.

злр.

11

10

1-3

-

6

11-осн.

злр.

12

4-5

-

7

11-осн.

злр.

13

11

1-6

-

8

11-осн.

Выполнение задания для самостоятельной работы

15

злр.

14

12

1-5

-

9

11-осн.

злр.

15

13

1-2

-

10

11-осн.




16

3

-

10

11-осн.

злр.

17

14

1-5

-

11

11-осн.

сб.

4




18

15

1-4

-

11

11-осн.

злр.


Условные обозначения:

осн. – основная литература

злр - защита лабораторной работы

сб. - собеседование по результатам самостоятельной работы студентов