Мегаобучалка Главная | О нас | Обратная связь


Анализ технического задания



2019-12-29 165 Обсуждений (0)
Анализ технического задания 0.00 из 5.00 0 оценок




 

В настоящем курсовом проекте необходимо разработать структуру иерархии классов «Экран курсового проектирования». На основе этой структуры необходимо создать приложение для тестирования иерархии.

Для реализации поставленных задач необходимо:

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

- Разработать и описать структуру каждого класса в отдельности, объявить поля и методы класса;

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

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

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

Данное приложение было реализовано на мощном и гибком объектно-ориентированном языке программирования С++(Павловская Т.А. С/С++. Программирование на языке высокого уровня. – СПб.: Лидер, 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, и удаление самих экземпляров.

 



2019-12-29 165 Обсуждений (0)
Анализ технического задания 0.00 из 5.00 0 оценок









Обсуждение в статье: Анализ технического задания

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

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



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (165)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.009 сек.)