Разработка комплекса обучающих программ для факультета военного обучения АлтГТУ

Автор работы: Пользователь скрыл имя, 24 Сентября 2012 в 17:29, курсовая работа

Краткое описание

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

Содержание

Введение……………………………...……………………………….....4
1. Анализ предметной области……………………….………………….5
1.1 Определение требований к программному обеспечению …5
1.2 Анализ требований и определение спецификаций программного обеспечения …………………………..…………..6
2. Проектирование и создание программного обеспечения…………....11
2.1 Разработка интерфейса пользователя...........................................11
2.1.1 Построение графа состояний интерфейса……………….11
2.1.2 Разработка форм ввода – вывода информации………….12
2.2 Разработка структурной схемы программы…...……………....13
2.3 Проектирование физической структуры программного обеспечения…………………………………………………………16
Заключение…………………………………………………..……....17
Список использованных источников …………………………….....18
Приложение А. Техническое задание………………………………....19
Приложение Б. Примеры экранных форм………………………...……23
Приложение В. Код программы…………………………….….……...24

Вложенные файлы: 1 файл

Отчет по курсовому проекту.doc

— 307.50 Кб (Скачать файл)

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


Диаграмма компонентов  представлена на рисунке 7.


Рисунок 7 – Физическая структура программного обеспечения.

 

Заключение

 

Целью курсовой работы являлась разработка алгоритма и ПО определения циклов цифровых сигналов.

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

Разработанное ПО позволяет легко и просто определять периоды сигналов, заданных дискретными значениями. Его можно рекомендовать всем тем, кто занимается цифровой обработкой сигналов (оценка характерных параметров сигналов или преобразовании их в более удобную форму). Цифровая обработка применяется в таких различных областях, как биомедицина, акустика, звуковая локация, радиолокация, сейсмология, связь, системы передачи данных, ядерная техника и многих других. Таким образом, данный программный продукт может использоваться во многих областях науки.

 

 


 

 

 

 

 

 

 

 

 

 

 

 

Список использованной литературы

1. «Borland C++ Builder6. Для профессионалов»  / В.А. Шамис – Спб.: Питер, 2004. –  798 с.: ил.


2. Фридман А.Л. «Основы ООП на языке Си++».  М.:Горячая линия – Телеком, Радио и Связь, 1999. – 208с.: ил.

3. Павловская Т. А. С/С++. Программирование на языке высокого уровня – СПб.: Питер, 2004. – 461 с.: ил.

4. Сергиенко А.Б. «Цифровая  обработка сигналов».: Питер, 2002. – 606 с.: ил.

5. Гольденберг Л.М.  «Цифровая обработка сигналов», М.: Радио и Связь, 1985. – 312с.: ил.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Приложение  А. Техническое задание

 

Министерство образования Российской Федерации

Алтайский государственный технический  университет имени И. И. Ползунова

 

 

Инженерно-физический факультет

Кафедра САПР

 

 

 

 

 

 

 

Разработка алгоритма и ПО определения циклов цифровых сигналов Техническое задание на курсовую работу

 

 

 

 

 

                                                                                            

 

                                                                                                  Руководитель______________________Качесова Л.Ю.

 

 Исполнитель___________Модин А.Ю.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


2006

 


Введение

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

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

 

  1. Основание для разработки

Программа разрабатывается  в ходе научной работы студента гр. Сапр-42 Модина А. Ю. у научного руководителя Гарколь Н.С. на основании задания  на курсовую работу по дисциплине “Лингвистическое обеспечение САПР” за 5-й семестр 2006/2007 учебного года.

 

  1. Назначение

Программа  разрабатывается  главным образом для  демонстрации возможностей работы с цифровыми сигналами, для определения их характеристик (в частности периодов).

 

3.  Требования к программе или программному изделию

3.1.  Требования к  функциональным характеристикам

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

–  Выводить на экран  цифровой сигнал;

    • Определять период заданного сигнал и изображать его графически в отдельном окне программы;
    • Вычислять численное значение периода (его длину) и выводить его на экран.

 

3.1.2.    Исходные данные:

– Цифровой сигнал, заданный последовательностью дискретных значений.


      1. Результаты:

–  Графическое изображение  периода сигнала;

–  Длина периода  сигнала.

 

3.2.   Требования  к надежности

  –    Предусмотреть  контроль некорректных действий  пользователя:  открытие файлов, не содержащих сигналы.

 

3.3. Требования к составу  и параметрам технических средств:

 

 

 


Программа предъявляет невысокие требования к системе. Но для стабильной работы системы необходимо:

         –     Процессор Pentium с частотой не менее 400 MHz;

              –     Видеокарта с 16 MB памяти;

              –     Оперативная память объёмом не менее 64 MB.

 

    1. .  Требования к информационной и программной совместимости

 

Система должна работать под управлением семейства операционных систем Win 32.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Приложение  Б. Примеры экранных форм

 


Рисунок Б.1 – Результат работы программы

 

 

 

 

Приложение  В. Код программы


Unit1.cpp

 

//---------------------------------------------------------------------------

 

#include <vcl.h>

#pragma hdrstop

 

#include "Unit1.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TForm1 *Form1;

//---------------------------------------------------------------------------

__fastcall TForm1::TForm1(TComponent* Owner)

        : TForm(Owner)

{

}

//---------------------------------------------------------------------------

 

void __fastcall TForm1::N4Click(TObject *Sender)

{

  Application->Terminate();

}

//---------------------------------------------------------------------------

 

void __fastcall TForm1::FileOpen1Accept(TObject *Sender)

{

 


  s.open_file(FileOpen1->Dialog->FileName);

  Memo1->Lines->LoadFromFile(FileOpen1->Dialog->FileName);

  int temp;

  Memo2->Lines=s.chek(temp);

  Label1->Caption="Период: "+IntToStr(temp);

}

//---------------------------------------------------------------------------

 

void __fastcall TForm1::N2Click(TObject *Sender)

{

Form1->Close;

}

//---------------------------------------------------------------------------

 

Unit1.h

 

//---------------------------------------------------------------------------

 

#ifndef Unit1H

#define Unit1H

//---------------------------------------------------------------------------

#include <Classes.hpp>

#include <Controls.hpp>

#include <StdCtrls.hpp>

#include <Forms.hpp>

#include <ActnList.hpp>

#include <Menus.hpp>

#include <StdActns.hpp>

//---------------------------------------------------------------------------

 

class TForm1 : public TForm


{

__published: // IDE-managed Components

        TMemo *Memo1;

        TMemo *Memo2;

        TLabel *Label1;

        TLabel *Label2;

        TLabel *Label3;

        TActionList *ActionList1;

        TMainMenu *MainMenu1;

        TMenuItem *N1;

        TMenuItem *N2;

        TMenuItem *N3;

        TMenuItem *N4;

        TFileOpen *FileOpen1;

        void __fastcall N4Click(TObject *Sender);

        void __fastcall FileOpen1Accept(TObject *Sender);

        void __fastcall N2Click(TObject *Sender);

private: // User declarations

public:  // User declarations

        __fastcall TForm1(TComponent* Owner);

};

//---------------------------------------------------------------------------

extern PACKAGE TForm1 *Form1;

class signal

{

private:

  TStrings *data;

  int max_line;

  bool comare_col(int c1,int c2)


  {

    bool res=true;

    int mistakes=0;

    for(int i=0;i<data->Count;i++)

    {

      if(c1<=data->Strings[i].Length()&&c2<=data->Strings[i].Length())

      {

        if(data->Strings[i][c1]!=data->Strings[i][c2])res=false;

      }

      else mistakes++;

    }

    if(mistakes==data->Count)res=false;

    return res;

  }

public:

   signal()

   {

     data=new TStringList;

   }

   ~signal()

   {

     data->Free();

   }

   void open_file(String path)

   {

     data->LoadFromFile(path);

     max_line=0;

   }

   TStrings * chek(int &period)

   {


     TStrings *res;

     res=new TStringList;

     bool periodicity=false;

     period=0;

     for(int i=0;i<data->Count;i++)

     {

       if(data->Strings[i].Length()>max_line)max_line=data->Strings[i].Length();

     }

     for(int i=0;i<max_line;i++)

     {

       if(!periodicity)

       {

         period++;

         bool mini_conp=true;

         for(int k=1;k<int(max_line/period);k++)

         {

           for(int j=1;j<=period;j++)

           {

             if(!comare_col(j,k*period+j))mini_conp=false;

           }

         }

         if(mini_conp==true)periodicity=true;

       }

       else break;

     }

     for(int i=0;i<data->Count;i++)

     {

       res->Add(data->Strings[i].SubString(1,period));

     }

    


return res;

   }

 

}s;

//---------------------------------------------------------------------------

#endif

 

Project1.cpp

 

//---------------------------------------------------------------------------

 

#include <vcl.h>

#pragma hdrstop

//---------------------------------------------------------------------------

USEFORM("Unit1.cpp", Form1);

//---------------------------------------------------------------------------

WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)

{

        try

        {

                 Application->Initialize();

                 Application->Title = "Периоды сигналов";

                 Application->CreateForm(__classid(TForm1), &Form1);

                 Application->Run();

        }

        catch (Exception &exception)

        {

                 Application->ShowException(&exception);

        }

        catch (...)


        {

                 try

                 {

                         throw Exception("");

                 }

                 catch (Exception &exception)

                 {

                         Application->ShowException(&exception);

                 }

        }

        return 0;

}

//---------------------------------------------------------------------------


Информация о работе Разработка комплекса обучающих программ для факультета военного обучения АлтГТУ