Курсовая [-span][span]Результат[-span][span] [-span][span]выполнения[-span][span] [-span][span]запроса[-span][span]
Работа добавлена на сайт bukvasha.net: 2015-10-25Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего
от 25%

Подписываем
договор
МИНИСТЕРТВО ОБРАЗОВАНИЯ И НАУКИ УКРИИНЫ
ДОНЕЦКИЙ ПОЛИТЕХНИЧЕСКИЙ ТЕХНИКУМ
КУРСОВАЯ РАБОТА
«Технологии разработки программного обеспечения»
для специальности 5.080405 «Программирование для электронно-вычислительной техники та автоматизованих систем»
Тема: «Учёт экспорта фирмы»
Выполнил:
студент группы ПЕС 07-1
Айнетдинов И.Р.
Проверила:
Федорина Т.В.
Донецк 2011
СОДЕРЖАНИЕ
Введение
1. Техническое задание.
1.1. Назначение разработки.
1.2. Требований к программному средству.
1.3. Требований к программной документации.
1.4 Определение структуры входных выходных данных
1.5. Стадий и этапы разработки. Модель жизненного цикла.
2. Системный анализ и анализ потребностей.
3. Проектирование программного продукта.
4. Разработка программного средства.
4.1. Разработка алгоритма решения задачи.
4.2. Описание алгоритма решения задачи.
4.3. Разработка интерфейса ПС.
4.4. Описание структуры исходной информации.
5. Тестирование и отладка.
5.1. Выбор методов тестирования.
5.2. Нахождение и ликвидация ошибок.
6. Руководство системного программиста.
7. Руководство программиста.
8. Пособие пользователя.
9. Оценка проекта.
Выводы.
Список используемой литературы.
Приложение А. Диаграммы UML
Приложение Б. Листинг
Приложение В. Результаты работы
ВВЕДЕНИЕ
UML — язык графического описания для объектного моделирования в области разработки программного обеспечения. UML является языком широкого профиля, это открытый стандарт, использующий графические обозначения для создания абстрактной модели системы, называемой UML-моделью. UML был создан для определения, визуализации, проектирования и документирования в основном программных систем. UML не является языком программирования, но в средствах выполнения UML-моделей как интерпретируемого кода возможна кодогенерация.
Преимущества UML
1. UML объектно-ориентированный, в результате чего методы описания результатов анализа и проектирования семантически близки к методам программирования на современных ОО-языках;
2. UML позволяет описать систему практически со всех возможных точек зрения и разные аспекты поведения системы;
3. Диаграммы UML сравнительно просты для чтения после достаточно быстрого ознакомления с его синтаксисом;
4. UML расширяет и позволяет вводить собственные текстовые и графические стереотипы, что способствует его применению не только в сфере программной инженерии;
5. UML получил широкое распространение и динамично развивается.
CASE-средства. Общая характеристика
CASE-средства позволяют проектировать любые системы на компьютере. Необходимый элемент системного и структурно-функционального анализа, CASE-средства позволяют моделировать бизнес-процессы, базы данных, компоненты программного обеспечения, деятельность и структуру организаций. Применимы практически во всех сферах деятельности. Результат применения CASE-средств - оптимизация систем, снижение расходов, повышение эффективности, снижение вероятности ошибок.
Современные CASE-средства охватывают обширную область поддержки многочисленных технологий проектирования ИС: от простых средств анализа и документирования до полномасштабных средств автоматизации, покрывающих весь жизненный цикл ПО.
Целью данной работы является разработка программной системы «Учёт экспорта фирмы». Данная программная система обеспечивает функции:
1. Ввод данных;
2. Вывод данных;
3. Сохранение информации о фирме в базу данных;
4. Поиск выбранной информации по базы данных.
Задачами курсового проекта являются:
- анализ возможных подходов и методов решения с обоснованием выбранного подхода;
- выбор или разработка модели (математической, структурной, ин-формационной), необходимой для достижения цели;
- выбор эффективных алгоритмов с учетом их точности, устойчивости, сходимости;
- анализ полученных результатов работы программного обеспечения.
Название программной системы:
«Учёт экспорта фирмы». (УЭФ)
2.
Техническое задание
2.1 Назначение разработки.
Разработать программу для учёта фирм экспортируемых товар а также учесть список поставщиков этих контор. Программа должна обеспечить сохранение данных на физической памяти компьютера.
Целью разработка программы является создание быстрого и качественного обслуживания, где требование заказчика будут учтены. Введен контроль срока выполнения работ, который необходимо установить при оформлении заказа.
Программа позволит быстро и просто сохранять данные о фирме, в зависимости от пожеланий клиента. Программа будет обладать простым, доступным и понятным интерфейсом, так что даже начинающий пользователь сможет быстро и без особых усилий разобраться в программном средстве.
Программы должна осуществлять просмотр уже имеющейся в базе данных информации, редактировать ее добавляя/удаляя записи или просто изменяя их, осуществлять поиск. Все эти действия выполняются с помощью графического интерфейса – экранной формы и его элементов.
В программе должны быть реализованы все необходимые функции для работы с данными:
· Добавление данных посредством заполнения пустых полей
· Удаление записей из базы данных
· Выполнение поиска по значению любого из вышеперечисленных полей
· Сохранение результата выполнения запроса в HTML файл
2.2. Требований к программному средству.
Данный программный продукт создавался на ПК с такими техническими характеристиками:
1. Тип компьютера: многопроцессорный компьютер с ACPI.
2. Операционная система: Microsoft Windows 7 Professional.
3. Объем оперативной памяти: 512Мб.
4. Процессор: Intel(R) Pentium(R) 4CPU 2.70GHz.
5. Монитор: SyncMaster 796MB/796MBplus.
6. Среда разработки: Microsoft Visual C++ 6.0 Standard Edition.
Программы используемые при написании данного продукта:
1) Microsoft Visual C++ 6.0
2) Rational rose 2000
Такие минимальные требования к техническим средствам нужны:
1) ОС Microsoft Windows XP
2) Intel Pentium II S300 500 МHz
3) 20 Mб ПЗУ
4) 128 ОЗУ
5) VGA Ati Radeon 3410 128MB
6) Microsoft Visual C++ 6.0
7) MS Excel 2003
8) MS Word 2010
9) Привод CD/DVD-ROM
10) Монитор
11) Клавиатура
12) Мышь
2.3. Требований к программной документации.
Разъяснительная записка должна быть выполнена согласно ГОСТам, действующим на данный момент:
ГОСТ 2.004-88 ЕСКД. Общие требования выполнению конструкторских и технологических документов на печатающих и графических устройствах вывода ЭВМ
ГОСТ 2.104-68 ЕСКД. Основные надписи.
ГОСТ 2.ЗО1-б8 ЕСКД. Форматы.
ГОСТ 19,106-78 ЕСПД. Требования программным документам выполненным печатным способом.
ГОСТ 19.404-79 ЕСПД, Пояснительная записка. Требования содержанию и оформлению.
ГОСТ 17.2-85 Правила оформления пояснительной записки и графической части дипломных и курсовых проектов.
ГОСТ 17.4-91 Правила оформления программной документации
ДСТУ 3008-95 Документація. Звіти у сфері науки і техніки. Структура і правила оформлення.
Область использования разработанного программного продукта.
Я разработал программу «Для учёта экспорта фирмы», которая может использоваться в сферах торговли, промышленности, и акционерном обществе.
На компьютере должна быть установлена операционная система Windows 7 Home/ Windows 7 Professional, наличие самой программы Microsoft Visual С++ или отдельных её библиотек необязательно.
2.4 Определение структуры входных/выходных данных
Введенные данные будут хранится в базе данных ychet.тхт. Его можно просмотреть с помощью Текстового редактора.
Таблица 1.1 - Определение структуры входних данных
Идентификатор | Тип | Диапазон значений | Объяснение | ||
m_kod | CString | [1…50] | Используется для ввода идентификационного номера записи | ||
m_firma | CString | [1…50] | Используется для ввода наименования фирмы | ||
m_prod | CString | [1…50] | Используется для ввода имени продавца | ||
m_kont | CString | [1…50] | Используется для ввода контакта | ||
m_pokyp | CString | [1…50] | Используется для ввода имени покупателя | ||
m_result | CString | [1…50] | Используется для вывода искомых данных и для вывода оповещений | ||
Описанные переменные используются как для создания новой записи так и для поиска уже имеющихся данных. Значения, присваиваемые этим переменным, будут соответствующим образом изменяться при работе пользователя с программой. Изменить их тип или имя пользователь не сможет, т.к. они будут для него недоступны.
2.5. Стадий и этапы разработки. Модель жизненного цикла.
Моделью конструирования своего программного обеспечения я выбрал классический жизненный цикл.
То есть разработка рассматривается как последовательность этапов. Добавлю также, что переход на следующий, иерархически нижний этап происходит только после полного завершения работ на текущем этапе.
Подразумевается, что разработка начинается на системном уровне и проходит через анализ, проектирование, кодирование, тестирование и сопровождение. При этом моделируются действия стандартного инженерного цикла.
Системный анализ задает роль каждого элемента в компьютерной системе, взаимодействие элементов друг с другом. Поскольку ПО является лишь частью большой системы, то анализ начинается с определения требований ко всем системным элементам и назначения подмножества этих требований программному «элементу». Необходимость системного подхода явно проявляется, когда формируется интерфейс ПО с другими элементами (картинками, ставкой и тд). На этом же этапе начинается решение задачи планирования проекта ПО. В ходе планирования проекта определяются объем проектных работ и их риск, необходимые трудозатраты, формируются рабочие задачи и план-график работ. На этом этапе рассматривалось, как именно будут взаимосвязаны в программе элементы, пользователь, интерфейс.
Анализ требований относится к программному элементу — программному обеспечению. Уточняются и детализируются все функции программы (Смена картинок, Суммирование выигрыша с капиталом, Сравнение картинок и тд.), характеристики и интерфейс программы.
Проектирование состоит в создании представлений:
q архитектуры ПО;
q модульной структуры ПО;
q алгоритмической структуры ПО;
q структуры данных;
q входного и выходного интерфейса.
Кодирование. На этом этапе диаграммы, которые были построены на этапе проектирования, переводятся в текст на языке программирования.
Тестирование — выполнение программы для выявления дефектов в функциях, логике и форме реализации программного продукта. На этом этапе были подготовлены тесты для проверки правильности работы программы.
Сопровождение — это внесение изменений в эксплуатируемое ПО. Цели изменений:
q исправление ошибок;
q адаптация к изменениям внешней для ПО среды;
q усовершенствование ПО по требованиям заказчика.
Сопровождение ПО состоит в повторном применении каждого из предшествующих шагов (этапов) жизненного цикла к существующей программе, но не в разработке новой программы.
Достоинства классического жизненного цикла: дает план и временной график по всем этапам проекта, упорядочивает ход конструирования.
Недостатки классического жизненного цикла:
1) реальные проекты часто требуют отклонения от стандартной последовательности шагов;
2) цикл основан на точной формулировке исходных требований к ПО (реально в начале проекта требования заказчика определены лишь частично);
3) результаты проекта доступны заказчику только в конце работы.
Входе работы на системный анализ было потрачено 6 дней, на анализ требований – 4 дней, на проектирование – 2 недели, на кодирование – 10 дней, на тестирование – 3 дня, на сопровождение – 1 день.
3. Системный анализ и анализ потребностей.
Программа состоит из нескольких функций. Рассмотрим их:
1. Сохранение данных
При нажатии на эту кнопку все поля заносяться в базу данных в строгом порядке. Если одно из полей не заполнено, то выводиться сообщение «Вы ввели не все поля».
2. Поиск
Поиск реализован очень удобно. Для того чтобы найти любые данные по определённому параметру нужно ввести в соответствующее поле свой запрос и нажать Поиск. В поле выведутся найденные данные по нашему запросу.
3. Следующая предыдущая запись.
Если в результате поиска есть несколько записей, то при помощи этих кнопок можно перелистывать предыдущую и следующую запись.
4. Удаление данных
Удаление данных реализовано на основе поиска. Для того чтобы удалить запись нужно найти её при помощи поиска, при потребности пролистать, а уже после нажав на кнопку «Удалить запись» удалиться запись. В функциональности программы также встроена функция ведения истории. При завершении программы все данные текущей сессии, записываются в отдельный файл, тем самым, если была изменена, внесена или удалена не та информация предыдущую базу можно вернуть.
5. Сохранение изменённых данных
В программе есть функция изменения уже имеющихся записей. Для изменения записи достаточно изменить данные, которые нужны, в поле и нажать кнопку «Сохранение найденной записи». При нажатии на кнопку данные будут сохраняться в базе данных.
4. Проектирование программного продукта.
Rational Software — компания-разработчик программного обеспечения. До 2003 года Rational была независимой компанией, в 2003 году компания была куплена фирмой IBM. Большинство продуктов компании предназначены для моделирования, а также для разработки и поддержки программного обеспечения.
Также в компании разработана методология разработки программного обеспечения — Rational Unified Process (RUP). В методологии даются рекомендации по всем этапам разработки: от моделирования бизнеса до тестирования и сдачи в эксплуатацию готовой программы.
1. Deployment diagram (Диаграмма развёртывания)
Диаграмма развёртывания, Deployment diagram — служит для моделирования работающих узлов (аппаратных средств, англ. node) и артефактов, развёрнутых на них. В UML 2 на узлах разворачиваются артефакты (англ. artifact), в то время как в UML 1 на узлах разворачивались компоненты. Между артефактом и логическим элементом (компонентом), который он реализует, устанавливается зависимость манифестации.
2. Use case diagram (диаграммы прецедентов)
Диаграмма прецедентов (Use case diagram, диаграмма вариантов использования) — диаграмма, на которой отражены отношения, существующие между акторами и прецедентами. Основная задача — представлять собой единое средство, дающее возможность заказчику, конечному пользователю и разработчику совместно обсуждать функциональность и поведение системы.
3. Activity diagram (диаграммы активности)
Это дальнейшее развитие диаграммы состояний. Фактически данный тип диаграмм может использоваться и для отражения состояний моделируемого объекта, однако, основное назначение Activity diagram в том, чтобы отражать бизнес-процессы объекта. Этот тип диаграмм позволяет показать не только последовательность процессов, но и ветвление и даже синхронизацию процессов. Этот тип диаграмм позволяет проектировать алгоритмы поведения объектов любой сложности, в том числе может использоваться для составления блок-схем.
4. State Maсhine diagram (диаграммы состояний)
Каждый объект системы, обладающий определенным поведением, может находится в определенных состояниях, переходить из состояния в состояние, совершая определенные действия в процессе реализации сценария поведения объекта. Поведение большинства объектов реальных систем можно представить с точки зрения теории конечных автоматов, то есть поведение объекта отражается в его состояниях, и данный тип диаграмм позволяет отразить это графически. Для этого используется два вида диаграмм: Statechart diagram (дмаграмма состояний) и Activity diagram (диаграмма активности).
5. Interaction diagram (диаграммы взаимодействия)
Диаграмма взаимодействия - это диаграмма, на которой представлено взаимодействие, состоящее из множества объектов и отношений между ними, включая и сообщения, которыми они обмениваются. Этот термин применяется к видам диаграмм с акцентом на взаимодействии объектов (диаграммах кооперации, последовательности и деятельности).
6. Class diagram (диаграммы классов)
Диаграмма классов представляет собой граф, вершинами которого являются элементы типа «классификатор», связанные различными типами структурных отношений. Диаграмма классов может также содержать интерфейсы, пакеты, отношения и даже отдельные экземпляры, такие как объекты и связи.
7. Collaboration diagram (диаграммы сотрудничества)
Диаграмма сотрудничества ( Collaboration diagram ) предназначена для описания методов взаимодействия между объектами. Для пояснения смысла и назначения диаграммы необходимо ввести такое понятие как сотрудничество.
8. Component diagram (диаграммы компонентов)
Диаграмма компонентов— статическая структурная диаграмма, показывает разбиение программной системы на структурные компоненты и связи (зависимости) между компонентами. В качестве физических компонент могут выступать файлы, библиотеки, модули, исполняемые файлы, пакеты и т. п.
5. Разработка программного средства.
5.1. Разработка алгоритма решения задачи.
5.2 Описание алгоритма решения задачи
Переход на предыдущую запись выполняется с помощью :
….
void CFilesDlg::OnButton3()
{ i--;
UpdateData();
m_result.Empty();
if (i>=1)
….
Переход на следующую запись выполняется с помощью :
….
void CFilesDlg::OnButton2()
{ UpdateData();
m_result.Empty();
if (i<=k)
{
….
Поиск выполняется с помощью :
….
void CFilesDlg::OnButton1()
{ UpdateData();
m_result.Empty();
if(m_kod!="")
Poisk(m_kod);
….
Сохранение результата запроса в виде HTML файла выполняется с помощью:
….
{
// Обновление переменных
UpdateData(true);
CString str;
CStdioFile fSave("zapros.html", CFile::modeCreate |
CFile::modeWrite |
CFile::typeBinary);
str+=" \n
str+=" \n ";
….
Удаление записи выполняется с помощью :
….
void CFilesDlg::OnButton5()
{
UpdateData();
m_FilePath="1.txt";//Инициализация переменной для хранения пути к файлу 1.txt
CStdioFile fOpen(m_FilePath,CFile::modeRead);//Открытие файла 1.txt для чтения
CString s;
m_View.Empty();
….
Сохранение новой записи выполняется с помощью :
….
void CFilesDlg::OnSaveFile()
{
// Обновление переменных
UpdateData(true);
// Создание файла по заданному пути и открытие
// его на запись в двоичном режиме
CStdioFile fSave(m_FilePath, CFile::modeCreate |
CFile::modeWrite |
CFile::typeBinary);
….
5.3. Разработка интерфейса ПС.
В данной программе интерфейс является простым в использовании и не требует особых навыков для работы, даже начинающий пользователь сможет без особого труда разобраться с программой.
5.4. Описание структуры наследственных классов
Для реализации задания курсового проекта было решено использовать классы иерархии NFC. На основе существующих классов были определены конкретные классы для приложения CFileApp, CFileDlg, CaboutDLG, кроме функции базовых классов в классы приложения были внесены дополнительные функции для реализации добавления записи, удаления записи, поиска и просмотра. Так же были использованы функции для работы с текстовыми и HTML файлами.
CWinApp => CFileApp =>
virtual BOOL InitInstance();
CDialog => CAboutDlg
CDialog => CFilesDlg =>
void FillFileStatus();
CString m_FileTitle;
CString m_FilePath;
CString m_result;
CString m_kod;
CString m_firma;
CString m_prod;
CString m_kont;
CString m_pokyp;
virtual void Update();
virtual void Poisk(CString Lpsz);
virtual void Ochistka();
afx_msg void OnOpenFile();
afx_msg void OnSaveFile();
6. Тестирование и отладка.
6.1. Выбор методов тестирования.
Методы выявления ошибок. Программисту надо знать методы уменьшения числа ошибок и методы выявления ошибок. Рассмотрим наиболее эффективные.
а) Метод обзора кода. Это визуальный просмотр текста программы, анализ логики выполнения отдельных операторов Цель обзора - найти как можно больше ошибок в новом коде перед его первой компиляцией . Компилятор не рекомендуется применять даже для выявления синтаксических ошибок, как ни удивительно это покажется большинству программистов. Согласно статистике, компилятор языка Си++ не замечает 9,4% синтаксических ошибок и опечатки. Например, вместо индекса i используется j . И та, и другая переменные описаны в программе, поэтому такая ошибка компилятором не распознается, а на этапе тестирования время на устранение подобных ошибок увеличивается в десятки раз. По данным разных исследований, при обзоре кода одна ошибка выявляется и ликвидируется в среднем каждые 5-20 мин, на этапе тестирования модулей - каждые 15-30 мин и на этапе комплексного тестирования - каждые 8 ч.
б) Контрольный анализ.
Это процедура просмотра работ руководителем для выявления возможных ошибок . Проведение контрольного анализа периодически планируется для всех исполнителей на всех стадиях процесса разработки ПО . К этой работе привлекают руководителя проекта, программиста, работа которого анализируется, а также нескольких специалистов, знакомых с существом дела. Для просмотра выбирается одна какая-то часть системы, и каждому участнику анализа выдается соответствующая информация (например, документированный проект программы для оценивания этапа проектирования, текст кода при анализе этапа кодирования). В случае необходимости программист дает пояснения по рассматриваемому модулю. Целью проведения контрольного анализа является обнаружение ошибок , а не их исправление. Продолжительность этой процедуры невелика - не более двух часов. Объясняя проект другим, исполнитель может выявить неточно сформулированные спецификации, либо незаданные условия. Существенным является то, что такой анализ не имеет целью собственно оценку работы исполнителей. Иначе исполнитель мог бы попытаться скрыть существующие неясности либо представить все в розовом цвете.
в) Метод чтения программы. Часто используется опытными программистами для установления правильности системы. Является очень эффективным. При возникновении непонятной ошибки программист анализирует свою программу вместе с коллегами . Даже если коллеги ничего не могут сказать по существу, что вполне понятно, данный метод часто позволяет успешно определить ошибку. Ошибки обнаруживают, когда программист, к которому обратились за помощью, не понимая некоторых фрагментов, просит автора программы дать пояснения. Метод чтения программы зарекомендовал себя как один из самых эффективных в отношении стоимости методов обнаружения ошибок в системе. Для ускорения и повышения эффективности процесса отладки и выявления ошибок программисты используют специализированные средства такие как: DevPartner 64 - предназначен для отладки и выявления ошибок в 64-битных приложениях. Разработчики могут автоматически обнаруживать и диагностировать утечки памяти, переполнение буферов, некорректные вызовы интерфейсов API и другие распространенные ошибки программирования. В состав пакета включена 64-битная версия известного отладчика SoftICE , который предоставляет обзор всех данных и инструкций, используемых в 64-битном варианте операционной системы Windows XP . Новая реализация признанной технологии SoftICE позволяет выявить и проанализировать любые типы ошибок - от неверной ссылки в указателе до несоответствия типов данных. Реализована уникальная возможность переключения между представлениями работы ядра и приложения.
Я выбрал данный метод тестирования, так как он наиболее удобен при тестировании данного программного продукта и не сложен для программиста.
6.2. Нахождение и ликвидация ошибок.
Тестирование программы влияет на качество разрабатываемого программного продукта, чем больше проведено тестов, чем больше недочетов выявлено, тем успешнее продукт (при условии их исправления).
Тестирование курсового проекта проходило на каждом этапе его разработки, если выявлялись проблемы, они исправлялись сразу или в течение ближайшего времени, чтобы одни ошибки не повлекли за собой другие. Тестирование влечет за собой трату огромных сил на нахождение всевозможных проблем и их исправление, что могло вести к задержкам на этапе выполнения других функций.
В ходе тестирования были обнаружены следующие проблемы:
1) Неверно добавляется поставщик в файл.
Описание: новый поставщик записывался поверх старого;
Причина: курсор выставлен в начало файла, запись происходит поверх существующих элементов;
Решение: при открытии файла перед записью курсор переводился в конец файла;
2) Не работает сортировка.
Описание: при попытке сортировке выдавало ошибку ;
Причина: неверное присвоение переменной в классе Wizard;
Решение: переприсвоение переменной;
3) Не работает обновление поля таблицы.
Описание: при добавлении записи в базу, изменения не сохранялись; функция Update() выдавала ошибку;
Причина: неверная последовательность действий;
Решение: в начало функции добавил функцию Edit(), установил переменную m_bAdd=true. При переходе на след запись изменения сохраняются;