RSS    

   Курсовая работа: Структура иерархии классов "Экран курсового проектирования"

Курсовая работа: Структура иерархии классов "Экран курсового проектирования"

Содержание

Введение

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

2. Проектирование структуры классов

3. Программная реализация

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

5. Руководство по программному продукт

Заключение

Список литературы

Приложения


Введение

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

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

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

Объектно-ориентированный подход включает в себя такие понятия:

-  Абстракция — это придание объекту характеристик, которые отличают его от всех других объектов, четко определяя его концептуальные границы. Основная идея состоит в том, чтобы отделить способ использования составных объектов данных от деталей их реализации в виде более простых объектов, подобно тому, как функциональная абстракция разделяет способ использования функции и деталей её реализации в терминах более примитивных функций, таким образом, данные обрабатываются функцией высокого уровня с помощью вызова функций низкого уровня. Такой подход является основой объектно-ориентированного программирования. Это позволяет работать с объектами, не вдаваясь в особенности их реализации. В каждом конкретном случае применяется тот или иной подход: инкапсуляция, полиморфизм или наследование.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Данное приложение было реализовано на мощном и гибком объектно-ориентированном языке программирования С++(Павловская Т.А. С/С++. Программирование на языке высокого уровня. – СПб.: Лидер, 2010. – 461с., Иванова Г.С, Ничушкина Т.Н., Пугачев Е.К. И21 Объектно-ориентированное программирование: Учеб. для вузов/ Под ред. Г.С. Ивановой. - М.: Изд-во МГТУ им. Н.Э. Баумана, 2001. – 320 с.). Язык С++ предоставляет все средства для реализации базового и производных классов, а также оптимально использует системные ресурсы, что позволяет сделать приложение не только универсальным, но и не очень требовательным к ресурсам компьютера. Также язык С++ поддерживает платформу .NETFramework, что позволяет использовать приложение на различных персональных и переносных компьютерах, на которых установлена эта платформа.

По сравнению с другими объектно-ориентированными языками С++ обладает несколькими особенностями:

-  Полная поддержка принципов инкапсуляции, наследования и полиморфизма;

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

-  Согласованный и четко определенный набор базовых типов;

-  Возможность переопределения пользователем стандартных типов языка и операторов;

-  Автоматическая очистка динамически распределяемой памяти;

-  Полная поддержка библиотеки базовых классов .NET Framework наряду с легким доступом к Windows API;

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

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

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

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

Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11


Новости


Быстрый поиск

Группа вКонтакте: новости

Пока нет

Новости в Twitter и Facebook

                   

Новости

© 2010.