Разработка программных модулей программного обеспечения для компьютерных систем

Спроектировано и реализовано программное средство Действия над матрицами, к ней разработан графический интерфейс в среде Microsoft Visual Studio Ultimate 2013 С#. Программный продукт позволяет изучать структуру и синтаксис новых языков программирования.

2015-04-19

475.4 KB

125 чел.


Поделитесь работой в социальных сетях

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


РЕФЕРАТ

Контрольная проектная работа ПМ.01 "Разработка программных модулей программного обеспечения для компьютерных систем". Государственной бюджетное профессиональное образовательное учреждение Республики Крым "Феодосийский политехнический техникум". 2015 - 20 с., иллюстраций 7, приложение 1, библиографических источников 3.

Спроектировано и реализовано программное средство "Действия над матрицами", к ней разработан графический интерфейс в среде Microsoft Visual Studio Ultimate 2013 С#. Программный продукт позволяет изучать структуру и синтаксис новых языков программирования.

ПРОГРАММНОЕ СРЕДСТВО, ТЕХНИЧЕСКОЕ ЗАДАНИЕ, ФУНКЦИОНАЛЬНОЕ ТЕСТИРОВАНИЕ, ОЦЕНОЧНОЕ ТЕСТИРОВАНИЕ, СТРУКТУРНОЕ ТЕСТИРОВАНИЕ, СРЕДА РАЗРАБОТКИ, ОТЛАДКА, АЛГОРИТМ, ИНТЕРФЕЙС


СОДЕРЖАНИЕ

[1] СОДЕРЖАНИЕ

[2]

[3] ВВЕДЕНИЕ

[4] 1 РАЗРАБОТКА АЛГОРИТМА ПОСТАВЛЕННОЙ ЗАДАЧИ И РЕАЛИЗАЦИЯ ЕГО СРЕДСТВАМИ АВТОМАТИЗИРОВАННОГО ПРОЕКТИРОВАНИЯ

[4.1] 1.1 Анализ поставленной задачи

[4.2] 1.2 Выбор методов и разработка основных алгоритмов решения

[5] 2 РАЗРАБОТКА КОДА ПРОГРАММНОГО ПРОДУКТА НА ОСНОВЕ ГОТОВОЙ СПЕЦИФИКАЦИИ НА УРОВНЕ МОДУЛЯ

[6] 3.ИСПОЛЬЗОВАНИЕ ИНСТРУМЕНТАЛЬНЫХ СРЕДСТВ НА ЭТАПЕ ОТЛАДКИ ПРОГРАММНОГО МОДУЛЯ

[7] 4 ПРОВЕДЕНИЕ ТЕСТИРОВАНИЯ ПРОГРАММНОГО МОДУЛЯ ПО ОПРЕДЕЛЕННОМУ СЦЕНАРИЮ

[8] 5 ОФОРМЛЕНИЕ ДОКУМЕНТАЦИИ НА ПРОГРАММНОЕ СРЕДСТВО

[9] ВЫВОДЫ

[10] ПЕРЕЧЕНЬ ССЫЛОК

[11] ПРИЛОЖЕНИЕ А


ВВЕДЕНИЕ

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

Целью работы является:

  •  Закрепление полученных теоретических знаний по дисциплинам Прикладное программирование, Системное программирование, Теория алгоритмов, Основы программирования и алгоритмические языки";
  •  Сбор, анализ и обобщение материалов для подготовки отчета по практике.

Задачи работы обусловлены индивидуальным заданием:

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

Работа состоит из пяти разделов.

В первом разделе описывается разработка алгоритма поставленной задачи и реализация его средствами автоматизированного проектирования.

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

В третьем разделе описано использование инструментальных средств на этапе отладки программного модуля.

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

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


1 РАЗРАБОТКА АЛГОРИТМА ПОСТАВЛЕННОЙ ЗАДАЧИ И РЕАЛИЗАЦИЯ ЕГО СРЕДСТВАМИ АВТОМАТИЗИРОВАННОГО ПРОЕКТИРОВАНИЯ

1.1 Анализ поставленной задачи

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

1.2 Выбор методов и разработка основных алгоритмов решения

В программе используется следующий алгоритм работы: в программе есть формы, в которые вводятся элементы матриц, элементы переводятся из String типа в Integer. Затем нужно нажать кнопку соответствующего действия. Выполняется алгоритм решения матриц и результат выводится в элемент DataGridView.

Для построения блок-схем использовалась программа Microsoft Office Visio 2013. С её помощью можно составлять различные диаграммы и схемы, в том числе, блок-схемы.

Рисунок 1.1 – Блок схема считывания и записи данных из записи в массив

Рисунок 1.2 – Проверка на доступность для ввода

Рисунок 1.3 – Блок схема ввода данных в textbox и сравнения с существующим массивом

Рисунок 1.4 – Вызов метода Vizov с параметрами


2 РАЗРАБОТКА КОДА ПРОГРАММНОГО ПРОДУКТА НА ОСНОВЕ ГОТОВОЙ СПЕЦИФИКАЦИИ НА УРОВНЕ МОДУЛЯ

Калькулятор матриц реализован на языке программирования C# в среде программирования Microsoft Visual Studio Ultimate 2013. Выбор языка C# обусловлен тем, что он современный и популярный объектно-ориентированный язык программирования, а среда Microsoft Visual Studio Ultimate 2013 является мощным средством, позволяющим быстро создать программу, обладающую графическим оконным интерфейсом.

Макет окна представлен на рисунке 2.1

Рисунок 2.1 - Оконный интерфейс будущего приложения

На форме располагается 3 элемента DataGridView, в них будут размещаться матрицы. Так же 4 Button для выполнения действий над матрицами.

3.ИСПОЛЬЗОВАНИЕ ИНСТРУМЕНТАЛЬНЫХ СРЕДСТВ НА ЭТАПЕ ОТЛАДКИ ПРОГРАММНОГО МОДУЛЯ

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

Рисунок 3.1- Окно меню Отладка

Окна- открывает в интегрированной среде окно Точки останова, которое дает доступ ко всем точкам останова данного решения. Показывает в интегрированной среде окно Вывод.

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

  •  начать отладку- запускает приложение в режиме отладки;
  •  присоединиться к процессу- позволяет прикрепить отладчик к выполняющемуся процессу (исполняемому файлу). например, если запущено приложение без отладки, то можете потом прикрепиться к этому выполняющемуся процессу и начать отладку;
  •  исключения- открывает диалоговое окно Исключения, которое позволяет выбрать способ останова отладчика для каждого исключительного состояния;
  •  шаг с заходом- запускает приложение в режиме отладки. для большинства проектов выбор команды шаг с заходом означает вызов отладчика на первой выполняемой строке приложения. таким образом, можно войти в приложение с первой строки;
  •  шаг с обходом- когда вы не находитесь в сеансе отладки, то команда шаг с обходом просто запускает приложение точно так же, как это сделала бы кнопка run;
  •  точка останова- включает или выключает точку останова на текущей (активной) строке кода текстового редактора. эта опция неактивна, если в интегрированной среде нет активного кодового окна;
  •  создавать точку останова- активирует диалоговое окно создавать точку останова позволяющее указать имя функции, для которой необходимо создать точку останова;
  •  удалить все точки останова- удаляет все точки останова из текущего решения;
  •  очистить все подсказки по данным- деактивирует (без удаления) все точки останова текущего решения;
  •  параметры и настройки- Прерывать выполнение, когда исключения пересекают границу домена приложения или границу между управляемым и машинным кодом.


4 ПРОВЕДЕНИЕ ТЕСТИРОВАНИЯ ПРОГРАММНОГО МОДУЛЯ ПО ОПРЕДЕЛЕННОМУ СЦЕНАРИЮ

Оценочное тестирование, которое также называют «тестированием системы в целом» целью которого является тестирование программы на соответствие основным требованиям. Эта стадия тестирования особенно важна для программных продуктов. Включает следующие виды:

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

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


5 ОФОРМЛЕНИЕ ДОКУМЕНТАЦИИ НА ПРОГРАММНОЕ СРЕДСТВО

Созданный программный продукт предназначен для выполнения арифметических действий над матрицами.

Чтобы запустить программу нужно запустить приложение .

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

Рисунок 5.1 - Работающее приложение

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


ВЫВОДЫ

В ходе работы было выполнено индивидуальное задание:

  •  выполнен анализ предметной области;
  •  обоснован выбранный и разработанный алгоритм решения;
  •  определенна технология и выбрана среда программирования;
  •  построен каркас приложения и спроектирован интерфейс пользователя;
  •  разработан код программного модуля;
  •  описаны использованные средства отладки при тестировании;
  •  проведено тестирование программного модуля по определенному сценарию;
  •  добавлен пункт меню с кратким описанием работы с программой.

Поставленные цели достигнуты.


ПЕРЕЧЕНЬ ССЫЛОК

1 Кибер форум[Электронный ресурс]: http://CyberForum.ru 

2 Microsoft Developer[Официальная документация Майкрософт по C#]  ttps://msdn.microsoft.com

3 http://programming-edu.ru/ Блог помощи для новичков С#

ПРИЛОЖЕНИЕ А

Код программы


MyMatrix.cs

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Windows.Forms;

namespace Matrix

{

   class MyMatrix

   {

       int[,] a=new int[3,3];

       //передача значений

       public void Set(int i, int j, int znach)

       {

           a[i, j] = znach;

       }

       //сложение

       public static MyMatrix operator +(MyMatrix matrix1, MyMatrix matrix2)

       {

           MyMatrix NewMatrix = new MyMatrix();

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

           {

               for (int j = 0; j < 3; j++)

               {

                   NewMatrix.a[i, j] = matrix1.a[i, j] + matrix2.a[i, j];

               }

           }

           return NewMatrix;

       }

       //вывод матрицы

       public string Visual(int i, int j)

       {

           return a[i, j].ToString();

       }

       //вывод всей и сразу.Хд

       public DataGridView FullVisual(DataGridView dt)

       {

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

           {

               for (int j = 0; j < 3; j++)

               {

                   dt.Rows[j].Cells[i].Value = a[i, j];

               }

           }

           return dt;

       }

       //вычитание

       public static MyMatrix operator -(MyMatrix matrix1, MyMatrix matrix2)

       {

           MyMatrix NewMatrix = new MyMatrix();

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

           {

               for (int j = 0; j < 3; j++)

               {

                   NewMatrix.a[i, j] = matrix1.a[i, j] - matrix2.a[i, j];

               }

           }

           return NewMatrix;

       }

       //транспонирование

       public MyMatrix Trans()

       {

           MyMatrix NewMatrix = new MyMatrix();

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

           {

               for (int j = 0; j < 3; j++)

               {

                   NewMatrix.a[i, j] = a[j, i];

               }

           }

           return NewMatrix;

       }

       //умножение

       public static MyMatrix operator *(MyMatrix matrix1, MyMatrix matrix2)

       {

           MyMatrix NewMatrix = new MyMatrix();

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

           {

               for (int k = 0; k < 3; k++)

               {

                   //int a = 0;

                   for (int j = 0; j < 3; j++)

                   {

                       //a += matrix1.a[j,k] * matrix2.a[i, j];

                       NewMatrix.a[i, k]+= matrix1.a[j, k] * matrix2.a[i, j];

                   }

                   //NewMatrix.a[i, k] = a;

               }

           }

           return NewMatrix;

       }

       //заполнение

       public void Zapoln(DataGridView grid)

       {

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

           {

               for (int j = 0; j < 3; j++)

               {

                   a[i, j] = Convert.ToInt32(grid.Rows[j].Cells[i].Value);

               }

           }

       }

   }

}

Form1.cs

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

namespace Matrix

{

   public partial class Form1 : Form

   {

       public Form1()

       {

           InitializeComponent();

       }

       private void Form1_Load(object sender, EventArgs e)

       {

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

           {

               dataGridView1.Rows.Add();

               dataGridView2.Rows.Add();

               dataGridView3.Rows.Add();

               //dataGridView1.Rows[i].Cells[0].Value = i.ToString();

           }

       }

       private void button1_Click(object sender, EventArgs e)

       {

           MyMatrix matrix1 = new MyMatrix();

           MyMatrix matrix2 = new MyMatrix();

           MyMatrix matrix3;

           matrix1.Zapoln(dataGridView1);

           matrix2.Zapoln(dataGridView2);

           matrix3 = (matrix1 + matrix2);

           matrix3.FullVisual(dataGridView3);

       }

       private void button2_Click(object sender, EventArgs e)

       {

           MyMatrix matrix1 = new MyMatrix();

           MyMatrix matrix2 = new MyMatrix();

           MyMatrix matrix3;

           matrix1.Zapoln(dataGridView1);

           matrix2.Zapoln(dataGridView2);

           matrix3 = (matrix1 - matrix2);

           matrix3.FullVisual(dataGridView3);

       }

       private void button3_Click(object sender, EventArgs e)

       {

           MyMatrix matrix1 = new MyMatrix();

           MyMatrix matrix3;

           matrix1.Zapoln(dataGridView1);

           matrix3 = matrix1.Trans();

           matrix3.FullVisual(dataGridView3);

       }

       private void button4_Click(object sender, EventArgs e)

       {

           MyMatrix matrix1 = new MyMatrix();

           MyMatrix matrix2 = new MyMatrix();

           MyMatrix matrix3;

           matrix1.Zapoln(dataGridView1);

           matrix2.Zapoln(dataGridView2);

           matrix3 = (matrix1 * matrix2);

           matrix3.FullVisual(dataGridView3);

       }

   }

}

PAGE   \* MERGEFORMAT3



 

Другие похожие работы, которые могут вас заинтересовать.
15891. Разработка криптографического программного обеспечения 252.66 KB
  Циклические сдвиги слова влево и вправо на указанное число бит (заметим, что при длине слова w бит величина циклического сдвига фактически приводится по модулю w, причем, как правило, это приведение выполняется автоматически на машинном уровне, т.е. не требует дополнительных вычислений – процесс просто использует младшие log w бит числа, задающего величину сдвига).
18304. Разработка программного обеспечения паспортного стола 492.87 KB
  Перечень вопросов разрабатываемых студентом: разработать логическую модель базы данных; реализовать в визуальной среде программирования программное средство; протестировать полученный программный продукт. Базы данных ROM: В. Базы данных и Delphi. Теория реляционных данных.
12621. Разработка программного обеспечения для расчета термодинамических свойств газов 531.7 KB
  В настоящее время существует довольно разнообразный набор программного обеспечения для расчёта физико-химических свойств газов. Кроме того такие коммерческие продукты имеют тот недостаток что их достаточно сложно встроить в состав разрабатываемого...
12490. Разработка программного обеспечения ИС для ООО “Капитал-оценка” отдел “Ипотека” 2.15 MB
  Имеет широкий спектр функций включая связанные запросы связь с внешними таблицами и базами данных. Благодаря встроенному языку VB в самом ccess можно писать приложения работающие с базами данных. Первая фаза процесса проектирования базы данных заключается в создании для анализируемой части предприятия концептуальной модели данных. Построение ее осуществляется в определенном порядке: в начале создаются подробные модели пользовательских представлений данных; затем они интегрируются в концептуальную модель данных.
19460. Разработка программного обеспечения информационной системы «Дом детского творчества» 1.08 MB
  Программное обеспечение – это программа, которая управляет работой компьютера или выполняет какие либо расчеты или действия. Это могут быть внутренние команды, управляющие оборудованием или программа, выполняющая какие либо действия в ответ на вводимые с клавиатуры команды. Программное обеспечение ПК может быть с открытым исходным кодом или являться собственностью компании разработчика.
1658. Разработка программного обеспечения «Автоматизация учета компьютерной техники» 761.5 KB
  Неотъемлемым условием успешного долгосрочного функционирования предприятия является высокая степень интеграции технологий управления и автоматизация работы отделов. Для упрощения работы и повышения работоспособности сотрудников информационно вычислительного центра необходимо разработать программный продукт
18329. Разработка программного обеспечения для призывного пункта на языке программирования Delphi 8.32 MB
  Одной из составляющих этой системы является подсистема учета призывников или если быть более точным учета и формирование команд для отправки на срочную воинскую службу в вооруженные силы Республики Казахстан. Основной целью данной дипломной работы является создание программного комплекса в области ведения учета и формирования различного вида отчетов в области создания пакетов прикладных программ в частности системы формирования контингента...
12192. РАЗРАБОТКА АЛГОРИТМОВ И ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ПОСТРОЕНИИ ГЕОМЕТРИЧЕСКИЕ ФРАКТАЛОВ НА БАЗЕ R-ФУНКЦИИ 65.38 KB
  В нашей республике уделяется огромное внимание для эффективного использования информационных технологий в научной и производственной деятельности. Количество различных масштабов длины в естественных формах можно считать бесконечным для каких угодно практических задач. Программное обеспечение может быть использовано в текстильной промышленности при рисовании узоров для штамповки на ковры ткани и т. В 1988 году известные американские специалисты в теории динамических...
4720. Разработка программного обеспечения для автоматизации формирования учебных программ на кафедре ИВТ факультета ИТиКС ОмГТУ 1.55 MB
  Главное назначение СЭДО — это организация хранения электронных документов, а также работы с ними (в частности, их поиска как по атрибутам, так и по содержимому). В СЭД должны автоматически отслеживаться изменения в документах, сроки исполнения документов, движение документов, а также контролироваться все их версии и подверсии
18511. Разработка программного обеспечения для оценки уровня знаний студентов колледжа с применением технологии «Клиент-сервер» 1.21 MB
  Программно-технические средства необходимые для разработки программы.2 Программно-технические средства необходимые для эксплуатации программы. В условиях современного информационного общества автоматизированное тестирование может стать основным инструментом для контроля качества. Разработка программного обеспечения для оценки уровня знаний студентов колледжа с применением технологии Клиент-сервер.
© "REFLEADER" http://refleader.ru/
Все права на сайт и размещенные работы
защищены законом об авторском праве.