Структура иерархии классов "Экран курсового проектирования"
Курсовой проект - Компьютеры, программирование
Другие курсовые по предмету Компьютеры, программирование
ачества;
Измерение качества проектирования является очень важной составляющей частью в процессе обеспечения качества программного продукта. Особую важность это приобретает при объектноориентированная разработка приложений вводит новые факторы качества, связанные с повторным использованием ранее выполненных наработок и выполнением модификаций.
Исходя из всего этого, ставятся основные требования к приложению:
- Удобный пользовательский интерфейс;
- Обеспечение гибкости программы для добавления новых функций;
- Надежность программы.
Данное приложение было реализовано в среде MicrosoftVisualStudio 2010(
Исходя из вышеперечисленного, программный продукт будет обладать следующими аппаратными требованиями:
- 32-разрядный (x86) или 64-разрядный (x64) процессор с тактовой частотой 1 гигагерц (ГГц) или выше;
- 1 гигабайт (ГБ) (для 32-разрядной системы) или 2 ГБ (для 64-разрядной системы) оперативной памяти (ОЗУ);
- 16 гигабайт (ГБ) (для 32-разрядной системы) или 20 ГБ (для 64-разрядной системы) пространства на жестком диске;
- графическое устройство DirectX 9 с драйвером WDDM версии 1.0 или выше.
2. Проектирование структуры классов
При рассмотрении исходных данных создается структура иерархии классов Экран курсового проектирования. Для максимального соответствия заданию, создается три класса:
- TObject (абстрактный базовый класс);
- TScreen (класс, содержащий информацию об экране курсового проектирования);
- TStudent (класс, содержащий информацию о студенте и ходе его выполнения курсовой работы).
Иерархия классов показана на рисунке 1.
Абстрактный базовый класс TObject содержит поле TName(имя), которое наследуется в классы TStudent и TScreen. Это поле служит для задания имени курсовому проекту и имени студента. В конструкторе класса TObject этому полю присваивается значение Default. Это поле наследуется с атрибутом Public. Также класс TObject содержит виртуальную функцию SetName(), которая переопределяется в классах TStudent и TScreen. Она служит для присвоения значения полю TName заданного имени. В качестве атрибута ей передается устанавливаемое имя.
Класс TScreenсодержит поля и методы, относящиеся к заголовку экрана курсового проекитрования. Информация о группе студентов, выполняющих курсовые работы хранится в поле TName, которое наследуется от базового класса TObject; информация о дате утверждения экрана курсового проектирования хранится в поле Date; информация о составе приемной комиссии в поле Composition. В этом классе переопределяется функция присвоения имени полю TNameSetName(). Данный класс содержит две собственные функции:
- SetDate(присваивает полю Date дату утверждения экрана курсового проектирования);
- SetComposition(присваивает полю Composition информацию о составе приемной комиссии).
В качестве атрибутов этим функциям передается необходимая информация.
В классе TStudent содержится информация о студенте, выполняющем курсовую работу, точнее о ходе ее выполнения. Также как класс TScreen класс TStudent имеет наследуемое поле TName от класса TObject. Этому полю присваивается значение функцией SetName, которая переопределяется в этом же классе. Помимо этого наследуемого поля, класс содержит собственные поля:
- ControlScore(контрольная оценка за курсовой проект);
- NumberWeek(номер контрольной недели);
- *Plan(указатель на массив с плановыми процентами выполнения курсовых работ);
- *Fact(указатель на массив с фактическими процентами выполнения курсовых работ);
- *Control(указатель на массив с оценками за контрольные недели);
- Test(плановая дата сдачи завершенного курсового проекта на проверку);
- TestF(фактическая дата сдачи завершенного курсового проекта на проверку);
- Revision(плановая дата выдачи завершенного курсового проекта на доработку);
- RevisionF(фактическая дата выдачи завершенного курсового проекта на доработку);
- Protection(плановая дата защиты курсового проекта);
- ProtectionF(фактическая дата защиты курсового проекта);
Каждому полю соответствует определенный метод, который устанавливает его значение. Ниже приведен список собственных методов, содержащихся в классе TStudent:
- SetNumberWeek();
- SetPlan();
- SetFact();
- SetControl();
- SetTest();
- SetTestF();
- SetRevision();
- SetRevisionF();
- SetProtection();
- SetProtectionF();
- SetControlScore();
Реализация иерархии классов Экран курсового проектирования предложен в Приложении А.
Рисунок 1 - Иерархия классов Эк?/p>