- необходимость внедрения в код метаинформации сомнительна;
- не имеет модулей.
На рисунке 7 предоставлена форма программы вычисления затрат, стоимости
продукции, максимальной и минимальной прибыли.
Рисунок 7 -Программа вычисления затрат, стоимости продукции, максимальной и минимальной прибыли
Существует несколько видов процедур тестирования программного обеспечения, которые приходится выполнять:
- модульное тестирование;
- комплексное тестирование;
- подтверждение правильности и верификация;
- тестирование в условиях нехватки ресурсов, ошибки и их исправление;
- тестирование производительности;
- тестирование удобства использования.
Модульный тест представляет собой программу, занимающуюся тестированием некоего модуля. Модульное тестирование является основой для всех других видов тестирования, которые обсуждаются в данном разделе. Если части не работают по отдельности, то, скорее всего они не будут хорошо работать и вместе. Все используемые модули обязаны пройти собственное модульное тестирование, перед тем как продолжать работу. Как только все соответствующие модули прошли индивидуальное тестирование, вы готовы к новому этапу. Вам придется проверить, как модули используют друг друга и взаимодействуют между собой по всей системе.
Комплексное тестирование показывает, что основные подсистемы, из которых состоит проект, работают и нормально взаимодействуют друг с другом. При наличии удачных и хорошо проверенных контрактов обнаружить любые проблемы интеграции не составляет особого труда. В противном случае интеграция становится благодатной почвой для размножения дефектов.
Тестирование производительности, нагрузочное тестирование или тестирование в реальных условиях эксплуатации может также оказаться важным аспектом проекта. Задайте себе вопрос, отвечает ли программа требованиям производительности в условиях реального мира - с ожидаемым числом пользователей, подключений или транзакций в единицу времени. Является ли она масштабируемой. При работе с некоторыми приложениями вам могут понадобиться специализированные тестовая аппаратура или программное обеспечение для реалистичной имитации нагрузки.
Тестирование удобства использования отличается от процедур тестирования, обсужденных выше. Оно осуществляется с реальными пользователями в реальных условиях окружающей среды. Несоответствие критериям удобства использования является дефектом такого же порядка, как деление на ноль.
Если тестировщик обнаруживает дефект, это должно быть в первый и последний раз - обнаружение дефекта человеком. Автоматизированные тесты должны быть модифицированы для проверки наличия этого дефекта, начиная с момента его первоначального обнаружения, потому что это снова случится. У разработчиков нет времени гоняться за дефектами, которые автоматизированные тесты не могли обнаружить. Приходиться тратить время на написание новой программы - с новыми дефектами.
На рисунке 8 представлена программа вычисления затрат, стоимости
продукции, максимальной и минимальной прибыли с необходимыми данными. Для
вычисления необходимо внести следующие данные: количество производимых часов за
первый случай (январь), затраты за единицу товара, стоимость товара при
продаже, а также изменение количества продаваемой продукции в % и курс валют (в
данной курсовой работе курс доллара) в соответствующие ячейки.
Рисунок 8 - Программа вычисления затрат, стоимости продукции,
максимальной и минимальной прибыли с необходимыми данными
На рисунке 9 представлены расчеты в программе вычисления затрат, стоимости продукции, максимальной и минимальной прибыли.
Рисунок 9 - Расчеты в программе вычисления затрат, стоимости продукции,
максимальной и минимальной прибыли
Многие проекты стремятся отложить процедуру тестирование на последний момент - тот, где оно будет срезано в преддверии контрольного срока. Нужно начать тестирование намного раньше наступления этого срока. Как только появится какая-либо рабочая программа, ее необходимо протестировать. Большинство процедур тестирования должно выполняться автоматически. Важно заметить, что под термином «автоматически» имеется в виду автоматическая интерпретация результатов теста. Необходимо проводить тестирование как можно чаще и всегда делается перед возвращением исходного текста в библиотеку.
Для большинства предприятий основной источник прибыли связан с его производственной и предпринимательской деятельностью. Эффективность его использования зависит от знания конъюнктуры рынка и умения адаптировать развитие производства к постоянно меняющейся конъюнктуре. Величина прибыли зависит от правильности выбора производственного профиля предприятия по выпуску продукции (выбор продуктов, пользующихся стабильным или высоким спросом); от создания конкурентоспособных условий продажи своих товаров и оказания услуг (цена, сроки поставки, обслуживание покупателей, послепродажное обслуживание и т.д.); от объемов производства (чем больше объем производства, тем больше масса прибыли); от снижения издержек производства.
Кроме производственной и предпринимательской деятельности источником образования прибыли предприятия может быть его монопольное положение по выпуску той или иной продукции или уникальности продукта. Этот источник поддерживается за счет постоянного совершенствования технологии, обновления выпускаемой продукции, обеспечения ее конкурентоспособности.
В ходе курсовой работы была достигнута поставленная цель, а также найдено решение важных задач. Рассмотрены наиболее значимые теоретические аспекты, а также описано практическое исполнение необходимой операции в программе.
Несмотря на многообразие решаемых с помощью компьютера задач, принцип его применения в каждом случае один и тот же: информация, поступающая в компьютер, обрабатывается с целью получения требуемых результатов. Компьютер может обрабатывать только информацию, представленную в числовой форме.
В ходе выполнения работы необходимо было достичь минимизации и оптимизации решения рутинных задач о прибыли и убытках. В связи с этим программный метод реализации прекрасно подошел для достижения поставленной цели.
В заключении, хотелось бы отметить, что программная реализация решения
задачи о прибыли и убытках намного упрощает вычисление необходимых для
управленческой и бухгалтерской работы данных. А этот фактор, в свою очередь,
является положительным для экономии материальных и человеческих ресурсов.
1. C# Language Specification. Microsoft Corporation, 2005.
2. А. Хейлсберг, М. Торгерсен, С. Вилтамут, П. Голд Язык программирования C#. Классика Computers Science. 4-е издание = C# Programming Language (Covering C# 4.0), 4th Ed. - СПб.: «Питер», 2012. - 784 с. - ISBN 978-5-459-00283-6.
3. Герберт Шилдт. C# 4.0: полное руководство = C# 4.0 The Complete Reference. - М.: «Вильямс», 2010. - С. 1056. - ISBN 978-5-8459-1684-6.
4. Гуннерсон Э. Введение в C#. СПб.: Питер, 2005.
. Джесс Либерти «Программирование на С#» 2-е издание, 456с.,2005г
. Джозеф Албахари, Бен Албахари C# 5.0. Справочник. Полное описание языка = C# 5.0 in a Nutshell: The Definitive Reference. - М.: «Вильямс», 2013. - 1008 с. -ISBN 978-5-8459-1819-2.
7. Джон Скит C# для профессионалов: тонкости программирования, 3-е издание, новый перевод = C# in Depth, 3rd ed.. - М.: «Вильямс», 2014. - 608 с. - ISBN 978-5-8459-1909-0.
. Кристиан Нейгел и др. C# 5.0 и платформа .NET 4.5 для профессионалов = Professional C# 5.0 and .NET 4.5. - М.: «Диалектика», 2013. - 1440 с. - ISBN 978-5-8459-1850-5.
. Кристиан Нейгел, Карли Уотсон и др. Visual C# 2010: полный курс = Beginning Microsoft Visual C# 2010. - М.: Диалектика, 2010. - ISBN 978-5-8459-1699-0.
10. Обширнейшая информация по платформе .NET: www.gotdotnet.com.
. Олливерсон М. Методы высокоуровневого программирования.:Москва,2005.
. Официальная конференция по языку C#: news://msnews.microsoft.com/ microsoft.public.dotnet.languages.csharp.
13. Полный справочник по С#. : Пер. с англ. - М. : Издательский дом
14. Си Шарп: Создание приложений для Windows/ В. В. Лабор.- Мн.: Харвест, 384 с.,2003.
. Шатрова, Т. И. Языковая игра в текстах комической направленности: процессы кодирования и декодирования [Текст] : дис. … канд. филол. наук / Т. И. Шатрова ; Тульский гос. пед. ун-т им. Л. Н. Толстого. - Белгород, 2006. - 159 с.
16. Э. Стиллмен, Дж. Грин Изучаем C#. 2-е издание = Head First C#, 2ed. - СПб.: «Питер», 2012. - 704 с. - ISBN 978-5-4461-0105-4.
. Эндрю Троелсен Язык программирования C# 5.0 и
платформа .NET 4.5, 6-е издание = Pro C# 5.0 and the .NET 4.5 Framework, 6th
edition. - М.: «Вильямс», 2013. - 1312 с. - ISBN 978-5-8459-1814-7.
using System;System.Collections.Generic;System.ComponentModel;System.Data;System.Drawing;System.Linq;System.Text;System.Windows.Forms;WindowsFormsApplication1
{ public partial class Form1 : Form
{ public Form1()
{ InitializeComponent();
} private void button2_Click(object sender, EventArgs e)//очищение всех полей
{ string button2_Click()
{ string sUrl = ShortUrl.Text;
ShortUrl.Clear();
OpenFileDialog oDialog = new OpenFileDialog();
if (oDialog.ShowDialog() == DialogResult.OK)
{ CopyShortUrl.Enabled = false;
return oDialog.FileName;
} else
ShortUrl.Text = sUrl;
return null;
}
private TextBox textBox1;//вычисление прибыли
{ InitializeComponent();
} private void InitializeComponent()
{ this.textBox1 = new System.Windows.Forms.TextBox();
this.SuspendLayout();
this.textBox1.AcceptsReturn = true;
this.textBox1.AcceptsTab = true;
this.textBox1.Dock = System.Windows.Forms.DockStyle.Fill;
this.textBox1.Multiline = true;
this.textBox1.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
this.ClientSize = new System.Drawing.Size(284, 264);
this.Controls.Add(this.textBox1);
this.Text = "TextBox Example";
this.ResumeLayout(false);
this.PerformLayout();
} [STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}} private void InitializeComponent()
{
this.textBox1 = new System.Windows.Forms.TextBox();
this.SuspendLayout();
//
// textBox2
//
this.textBox2.AcceptsReturn = true;
this.textBox2.AcceptsTab = true;
this.textBox2.Dock = System.Windows.Forms.DockStyle.Fill;
this.textBox2.Multiline = true;
this.textBox2.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
this.ClientSize = new System.Drawing.Size(284, 264);
this.Controls.Add(this.textBox1);
this.Text = "TextBox Example";
this.ResumeLayout(false);
this.PerformLayout();
} [STAThread]
static void Main()
{ Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
} }
private void InitializeComponent()
{
this.textBox1 = new System.Windows.Forms.TextBox();
this.SuspendLayout();
this.textBox56.AcceptsReturn = true;
this.textBox56.AcceptsTab = true;
this.textBox56.Dock = System.Windows.Forms.DockStyle.Fill;
this.textBox56.Multiline = true;
this.textBox56.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
this.ClientSize = new System.Drawing.Size(284, 264);
this.Controls.Add(this.textBox1);
this.Text = "TextBox Example";
this.ResumeLayout(false);
this.PerformLayout();
} [STAThread]
static void Main()
{ Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
} }private void CopyWithProgress(string[] filenames)
{.Visible = true;.Minimum = 1;// возвращает минимальное значение.Maximum = filenames.Length;// возвращает максимальное значение
pBar1.Value = 1;.Step = 1;(int x = 1; x <= filenames.Length; x++)
{(CopyFile(filenames[x-1]) == true)
{.PerformStep();
}
}void textBoxBoth_TextChanged(object sender, EventArgs e)//значение суммы прибыли
{
int secondSummand;
label_Result.Text2 = "= " + ((int.TryParse(textBox_FirstSummand.Text, out firstSummand) ? firstSummand : 0) + (int.TryParse(textBox_SecondSummand.Text, out secondSummand) ? secondSummand : 0));
}
}private void textBoxBoth2_TextChanged(object sender, EventArgs e)//значение суммы прибыли
{
int firstSummand;
int secondSummand;
label_Result.Text3 = "= " + ((int.TryParse(textBox_FirstSummand.Text, out firstSummand) ? firstSummand : 0) + (int.TryParse(textBox_SecondSummand.Text, out secondSummand) ? secondSummand : 0));
}
}private void textBoxBoth3_TextChanged(object sender, EventArgs e)//значение суммы прибыли
{
int firstSummand;
int secondSummand;
label_Result.Text3 = "= " + ((int.TryParse(textBox_FirstSummand.Text, out firstSummand) ? firstSummand : 0) + (int.TryParse(textBox_SecondSummand.Text, out secondSummand) ? secondSummand : 0));
{[TypeConverterAttribute(typeof(TreeNodeConverter))]//вывод строковых значения для полей вводаclass TreeNode : MarshalByRefObject, ICloneable,
ISerializable}