Автоматизация деятельности деканата на основе объективно-ориентированного подхода

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

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 19.11.2010
Размер файла 620,4 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

5

Содержание

Введение

1. Внешнее описание

1.1 Анализ предметной области

1.2 Функциональная диаграмма

2. Техническое задание на автоматизированную систему

3. Программирование

3.1 Описание интерфейсов, классов

3.2 Классовая диаграмма

4. Клиентское приложение

4.1 Структура

4.2 Схемы XML - файлов

5. Тестирование

Список использованных источников

Введение

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

При объектно-ориентированном подходе программа представляет собой описание объектов, их свойств (или атрибутов), совокупностей (или классов), отношений между ними, способов их взаимодействия и операций над объектами (или методов).

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

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

Использование ранее разработанных (возможно, другими коллективами программистов) библиотек объектов и методов позволяет значительно сэкономить трудозатраты при производстве программного обеспечения, в особенности, типичного.

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

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

В отличие от предыдущих подходов к программированию, объектно-ориентированный подход требует глубокого понимания основных принципов, или, иначе, концепций, на которых он базируется. К числу основополагающих понятий ООП обычно относят абстракцию данных, наследование, инкапсуляцию и полиморфизм.

Объектно-ориентированное программирование в настоящее время является абсолютным лидером в области прикладного программирования (языки Java, C#, C++, JavaScript, ActionScript и др.). В то же время в области системного программирования до сих пор лидирует парадигма процедурного программирования, и основным языком программирования является язык C. Хотя при взаимодействии системного и прикладного уровней операционных систем заметное влияние стали оказывать языки объектно-ориентированного программирования. Например, одной из наиболее распространенных библиотек мультиплатформенного программирования является объектно-ориентированная библиотека Qt, написанная на языке C++.

ЦЕЛЬ И ЗАДАЧИ ВЫПОЛНЕНИЯ РАБОТЫ

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

Задачи выполнения работы:

­ исследование предметной области с целью выявления основных сущностей и их атрибутов;

­ проектирование иерархии классов и интерфейсов на основе выделенных сущностей;

­ использование наследования и агрегации для структуризации классов;

­ применение принципа инкапсуляции к классам;

­ использование интерфейсов, описывающих операции в данной предметной области, для обеспечения множественного наследования;

- использование делегатов и событий для программирования реакции на изменения в экземплярах классов;

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

1. Внешнее описание

1.1 Анализ предметной области

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

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

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

Нефункциональные требования к программному средству:

- надежность: программа является автономной;

- производительность: программа предъявляет минимальные требования к аппаратному обеспечению, захват памяти и процессорного времени минимален, требования к аппаратным ресурсам намного ниже, чем для самой ОС. Установка программы тоже не требуется, т.к. программа поставляется как есть. Дополнительных периферийных средств (принтер, сканер, дополнительные дисководы и т.д.) не требуется.

- изучаемость: программа интуитивно понятна по надписям на управляющих элементах, по организации меню, самим интерфейсом, позволяющим правильно оценить назначение программы;

- модифицируемость: программа является легко модифицируемой вследствие небольшого исходного размера и объектно-ориентированного подхода.

1.2 Функциональная диаграмма

Наиболее удобной формой представления информации при анализе предметной области являются графические диаграммы различного рода (рисунок 1).

Рисунок 1 - Функциональная диаграмма

2. Техническое задание на автоматизированную систему

Техническое задание определяет требования к будущей автоматизированной информационной системе со стороны основных процессов.

Система предназначена для решения перечисленных ниже задач:

- создание, сохранение списков студентов;

- добавление, удаление студентов из списка;

- быстрый поиск по списку - поиск может осуществляется по след параметрам: по имени, форме обучения, форме оплаты, имени, фамилии, дате зачисления ;

- выделение по списку, инвертирование выделенного списка, сниятие выделения;

- добавление экзаменационных предметов

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

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

- автоматизированной функции добавления записей в базы данных;

- автоматизированной функции удаления записей из базы данных (работа со списками);

- функции автоматического сохранения и загрузки базы данных при закрытии и запуске программы соответственно;

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

3. Программирование

3.1 Описание интерфейсов, классов

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

IBasic - интерфейс описывает управление студентами. Включает описание базовых методов работы со списком студентов;

ISearch - интерфейс описывает управление студентами, наследуется от интерфейса IBasic, содержит дополнительные методы, расширяющие функциональность класса.

IStudent - интерфейс описывает студентов(содержит информацию о студенте: фамилия, имя, форма обучения, форма оплаты, дата зачисления ).

Публичный абстрактный класс Basic является родителем класса Students. Он содержит список студентов, и может быть динамически изменен. Так как класс абстрактный, то он может быть использован только как родительский класс. От него наследуется Класс Students. В этом классе реализованы основные методы добавления и удаления студентов, а так же расширена функциональность за счет добавления метода поиска заказа по набору полей. Метод поиска наследуется от интерфейса Isearch.

Класс Students описыват студентов. Студент содержит информацию о студенте(наследуется от класса Basic), фамилии, имени, форме обучения, ее стоимости, и сроках выполнения.

Класс Subject содержит информацию о предмете.

Класс School содержит информацию об оценке за предмет.

3.2 Диаграмма классов

Рисунок 2.1 -Диаграмма классов

4. Клиентское приложение

4.1 Структура

В данном проекте для продуктивной работы реализован удобный пользовательский интерфейс, похожий на большинство Windows - приложений (что облегчает работу с приложением). На рисунке 3 изображена схема структуры приложения. Связь 1 и 2 и 1 и 3 осуществляется в виде показа таблицы, области для ввода данных при помощи компонент ввода, вывода, используя (saveDialog() и openDialog, menuStrip1 и statusStrip1).Взаимодействие listView2, tabPage2, tabPage4, tabPage3 и tabPage1 осуществляется с помощью их вызова из главной формы Form1 при нажатии определенных пунктов меню.

Рисунок 3 - Структура приложения

Главная форма , Form1, представлена на рисунке 4.1. На этой форме явно видна строка меню (представляет собой вложенную ниспадающую систему), состоящая из 2 основных элементов, поля ввода информации для поиска, а также таблица для помещения в него найденной информации, добавление нового студента и описание логических данных проекта.

Рисунок 4.1 - Форма Form1

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

Рисунок 4.2 - Форма tabPage4

Вкладка поиск, представленная на рисунке 4.3 необходима для поиска данных. Можно искать студента по фамилии, имени, форме обучения, форме оплаты, дает зачисления.

Рисунок 4.3 - Форма tabPage3

Вкладка список предметов, представленная на рисунке 4.3, необходима для добавления экзаменационных предметов. Можно добавить предмет, либо удалить по мере необходимости.

.

Рисунок 4.4 - Форма tabPage1

4.2 Схема XML - файлов

Создание XML - файлов обеспечивает совместимость при передаче структурированных данных между разными системами обработки информации, особенно при передаче таких данных через Интернет. Поэтому все происходящие события записываются в XML файл.

Общая структура XML - файла, содержащего все происходящие события за сеанс работы с программой:

<?xml version="1.0" encoding="utf-8"?>

<School xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">

<Subjects>

<string>ООП</string>

<string>Электротехника</string>

<string>Предст.Знаний</string>

<string>Мет МАт</string>

</Subjects>

<Students>

<Items>

<Student>

<Subjects />

<Status>Переведен</Status>

<Name>Вера</Name>

<Surname>Дрокинаа</Surname>

<StudyMode>Correspondence</StudyMode>

<PayMode>Budget</PayMode>

<Date>2008-12-28T00:00:00</Date>

</Student>

<Student>

<Subjects>

<Subject>

<Caption>ООП</Caption>

<Grade>5</Grade>

</Subject>

<Subject>

<Caption>Электротехника</Caption>

<Grade>5</Grade>

</Subject>

<Subject>

<Caption>Предст.Знаний</Caption>

<Grade>5</Grade>

</Subject>

<Subject>

<Caption>Мет МАт</Caption>

<Grade>5</Grade>

</Subject>

</Subjects>

5. Тестирование

Для тестирования программы производились различные манипуляции с данными. Тестирование проводилось у нескольких человек, в том числе у людей, не имеющих никакого отношения к Информационным технологиям. Тестирование выявило мелкие недочеты, которые в последствии были устранены.

Проводились следующие тесты:

- экспорт и импорт данных, на эти действия происходили сериализация и десериализация классов, соответственно;

- попытка создать студента с информацией, которая уже существует;

- удаление и изменение студентов;


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.