Анализ технического задания
12
В настоящем курсовом проекте необходимо разработать структуру иерархии классов «Экран курсового проектирования». На основе этой структуры необходимо создать приложение для тестирования иерархии. Для реализации поставленных задач необходимо: - Разработать иерархию классов, определить базовый и наследуемые классы; - Разработать и описать структуру каждого класса в отдельности, объявить поля и методы класса; - Реализовать визуальные компоненты для работы иерархией классов. В программе необходимо обрабатывать данные о студентах, количество которых может быть произвольным. Для удобства отображения данных необходимо использовать таблицу. Таблица максимально приближена к стандартам высших учебных заведений. При реализации приложения необходимо использование объектно-ориентированного программирования. Оно предусматривает наличие базового и производных классов, что делает приложение более универсальным. По возможности можно добавлять, изменять или удалять в приложении различные методы и поля, т.е. подстраивать приложение под конкретную ситуацию. Данное приложение было реализовано на мощном и гибком объектно-ориентированном языке программирования С++(Павловская Т.А. С/С++. Программирование на языке высокого уровня. – СПб.: Лидер, 2010. – 461с., Иванова Г.С, Ничушкина Т.Н., Пугачев Е.К. И21 Объектно-ориентированное программирование: Учеб. для вузов/ Под ред. Г.С. Ивановой. - М.: Изд-во МГТУ им. Н.Э. Баумана, 2001. – 320 с.). Язык С++ предоставляет все средства для реализации базового и производных классов, а также оптимально использует системные ресурсы, что позволяет сделать приложение не только универсальным, но и не очень требовательным к ресурсам компьютера. Также язык С++ поддерживает платформу .NETFramework, что позволяет использовать приложение на различных персональных и переносных компьютерах, на которых установлена эта платформа. По сравнению с другими объектно-ориентированными языками С++ обладает несколькими особенностями: - Полная поддержка принципов инкапсуляции, наследования и полиморфизма; - Полная поддержка классов и объектно-ориентированного программирования, включая наследование реализации и интерфейсов, виртуальные функции и перегрузку операций; - Согласованный и четко определенный набор базовых типов; - Возможность переопределения пользователем стандартных типов языка и операторов; - Автоматическая очистка динамически распределяемой памяти; - Полная поддержка библиотеки базовых классов .NET Framework наряду с легким доступом к Windows API; - Указатели и прямой доступ в память при необходимости доступны, но язык спроектирован так, что в большинстве случаев без них можно обойтись. Данное приложение создается для пользователя, следовательно в тестирующем приложении должен быть реализован понятный и удобный интерфейс. Интерфейс должен обладать всеми функциями для контроля и управления приложением. Также необходимо реализовать справочную систему, которую пользователь сможет вызвать при затруднении использования приложения. В программе предусмотрено добавление, изменение, поиск и удаление данных. Добавление используется для создания новой строки в таблице. Изменение и удаление данных должно быть безопасным, т.е. приложение должно получать подтверждение от пользователя о совершаемых действиях. В случае ошибочных действий пользователь не сможет потерять данные. Поиск необходимо реализовать по всем полям таблицы. В случае большого количества данных или малой информации для поиска, пользователь сможет найти максимально совпадающее с его запросом поле таблицы. Метрики качества, выводимые из требований чрезвычайно важны для анализа качества приложения, однако они создаются на начальных этапах разработки, когда степень неопределенности и риск, связанный с разработкой и внедрением новых программных продуктов велики. Для эволюционного процесса разработки должны быть приняты к рассмотрению метрики качества программ, используемые в процессе реализации циклов разработки. К числу подобных метрик относится: 1. Гибкость, которая аккумулирует ряд свойств: - Модульность; - Изменяемость; - Сопровождаемость; 2. Адаптивность, которая подразумевает: - Настраиваемость; - Переносимость; - Способность к взаимодействию; В ходе приемосдаточных испытаний проходит проверка качества программного обеспечения, связанного с функциональностью, надежностью, производительностью в соответствии с документами, которые были приняты на начальных этапах. Оценка качества по приведенным выше метрикам, как правило, не проводится. Однако уже через короткое время обычно происходит снижение уровня качества программного обеспечения, связанное с расхождением текущих требований заказчика к системе. Обычно причиной этого является высокая стоимость исправлений или изменений в программной системе. Исправления программного обеспечения может быть инициировано по следующим причинам: 1. исправление программы с недостаточным уровнем качества; 2. изменение программы для повышения уровня качества; 3. изменение программы для удовлетворения изменения в требованиях. Измерение качества проектирования является очень важной составляющей частью в процессе обеспечения качества программного продукта. Особую важность это приобретает при объектно–ориентированная разработка приложений вводит новые факторы качества, связанные с повторным использованием ранее выполненных наработок и выполнением модификаций. Исходя из всего этого, ставятся основные требования к приложению: 1. Удобный пользовательский интерфейс; 2. Обеспечение гибкости программы для добавления новых функций; 3. Надежность программы. Данное приложение было реализовано в среде MicrosoftVisualStudio 2010(http://www.microsoft.com/visualstudio/ru-ru/, Пахомов Б. И. С/С++ и MSVisualC++ 2008 для начинающих. – СПб.: БХВ-Петербург. 2009. – 624с.). Выбор обусловлен тем, что данная среда максимально совместима с операционной системой MicrosoftWindows7(http://windows.microsoft.com/ru-RU/windows7/products/home). Также данная среда поддерживает все версии .NETFramework(http://msdn.microsoft.com/ru-ru/netframework/default), что позволяет создавать приложения для различных платформ. 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 - Иерархия классов «Экран курсового проектирования» Алгоритм работы программы на основе иерархии классов следующий: 1) Пользователь вводит название дисциплины, по которой проводятся курсовые работы и номер группы, состав приемной комиссии и дату утверждения экрана курсового проектирования; 2) Создается экземпляр класса TScreen, в который с помощью методов заносится введенная пользователем информация; 3) Производится копирование полей в визуальные компоненты для отображения введенной информации; 4) Далее программа ожидает действия пользователя: 1) При добавлении записи происходит создание экземпляра класса TStudent. Пользователь вводит информацию о студенте, с помощью методов экземпляра класса происходит присвоение значений полям класса. Затем происходит копирование полей в визуальный компонент для отображения введенной информации; 2) При удалении выбирается нужная запись, программа запрашивает разрешение на удаление и в случае успешного подтверждения удаляет запись, информируя об этом пользователя; 3) При редактировании записи выбирается нужная запись, программа запрашивает разрешение на редактирование и в случае успешного подтверждения открывается окно для редактирования. Пользователь редактирует запись и подтверждает свои действия, либо отменяет их; 4) При поиске программа запрашивает у пользователя информацию на поиск и в случае успешного поиска информирует его об этом. В случае, если пользователь не удовлетворен результатом, можно продолжить поиск; 5) Изменение листа подразумевает в себе редактирование полей экземпляра класса TScreen. Пользователь задает новые поля с помощью методов, происходит обновление экземпляра класса TScreen; 5) В визуальных компонентах отображается введенная пользователем информация, которая впоследствии обрабатывается им; 6) Выход из программы с вызовом деструкторов в экземплярах классов TScreen и TStudent, и удаление самих экземпляров.
12
Популярное: Как вы ведете себя при стрессе?: Вы можете самостоятельно управлять стрессом! Каждый из нас имеет право и возможность уменьшить его воздействие на нас... Организация как механизм и форма жизни коллектива: Организация не сможет достичь поставленных целей без соответствующей внутренней... Почему двоичная система счисления так распространена?: Каждая цифра должна быть как-то представлена на физическом носителе... ©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (165)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |