Файл: Курсовой проект по дисциплине технологии программирования на тему Справочник рыбака студента 2 курса группы 426з заочной формы обучения.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 16.03.2024

Просмотров: 7

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.


- отображение надежности функционирования программы.

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

- некорректные или не реализованные функции;

- ошибки интерфейса;

- ошибки в структурах данных и в доступе к внешним данным;

- ошибки инициализации или завершения.

Тестирование проводилось в операционной системе Windows 7 и Windows 10, с использованием возможностей интегрированной среды Visual Studio 2017

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

6. Заключение



Была спроектирована и разработана информационно-справочная система «Справочник рыбака» предназначенная для регистрации и анализа событий, связанных с ловлей рыбой. Создано работоспособное приложение с использованием понятным пользовательским интерфейсом используя UI/UX дизайн. Программа демонстрирует принципы объектно-ориентированного программирования и возможности среды Visual Studio 2017.

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

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


  1. Федеральный закон Российской Федерации от 27 июля 2006 г. N 149-ФЗ Об информации, информационныхтехнологиях и о защите информации

  2. Информационные системы. Структура и классификация информационных систем: https://www.yaklass.ru/materiali?chtid=455&mode=cht

  3. Информационные системы, базы знаний, базы данных: https://www.sites.google.com/site/inftech11/home/sam/informacionnye-sistemy-bazy-znanij-bazy-dannyh

  4. Информационная система: https://wiki.fenix.help/informatika/informatsionnaya-sistema

  5. Документация по C#: https://docs.microsoft.com/ru-ru/dotnet/csharp/

  6. Полное руководство по языку программирования С# 9.0 и платформе .NET 5: https://metanit.com/sharp/tutorial/

  7. Приемы объектно-ориентированного проектирования. Паттерны проектирования / Э. Гамма и др. - Москва: СИНТЕГ, 2016. - 366 c.

  8. Введение в UML: https://intuit.ru/studies/courses/1007/229/info


Приложение: Листинг программы



****************************************************************

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.Threading.Tasks;

using System.IO;

using System.Windows.Forms;
namespace WindowsFormsApp2

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}
private void поМестурекаToolStripMenuItem_Click(object sender, EventArgs e)

{

Form4 f4 = new Form4();

f4.Tag = this;

f4.Show();

}
private void открытьToolStripMenuItem_Click(object sender, EventArgs e)

{

dataGridView1.Rows.Clear();

OpenFileDialog openfile = new OpenFileDialog(); // задаем переменую для OpenFileDialog
openfile.Filter = "(*.txt*)|*.txt*|(*.hdt*)|*.hdt*"; //задаем фильтр
openfile.Multiselect = false; // задаем режим выбора только одного файла
if (openfile.ShowDialog() != DialogResult.OK)
{

MessageBox.Show("Вы не выбрали файл для открытия", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);

return;

}

string[] rows = File.ReadAllLines(openfile.FileName);
// открывает текстовый файл, считывает все строки файла в массив строк и затем закрывает файл
if (rows.Length == 0) return;
for (int i = 0; i < rows.Length; i++)
dataGridView1.Rows.Add(rows[i].Split(" ".ToCharArray()));

}
private void сохранитьToolStripMenuItem_Click(object sender, EventArgs e)

{

int rowCounter = dataGridView1.RowCount;

int columnCount = dataGridView1.ColumnCount;

string[] line = new string[columnCount];

SaveFileDialog sfd = new SaveFileDialog();

sfd.Filter = "(*.txt*)|*.txt*|(*.hdt*)|*.hdt*";

if (sfd.ShowDialog() == DialogResult.OK)

{

using (StreamWriter writer = new StreamWriter(sfd.FileName))

{

for (int i = 0; i < dataGridView1.RowCount; i++)

{

for (int j = 0; j < dataGridView1.ColumnCount; j++)

{

line[j] = (string)(dataGridView1.Rows[i].Cells[j].Value ?? "");

}

writer.WriteLine(string.Join(" ", line));

}

}

}

}
private void выходToolStripMenuItem_Click(object sender, EventArgs e)

{

Application.Exit();

}
private void добавитьToolStripMenuItem_Click(object sender, EventArgs e)

{

Form2 f2 = new Form2();

f2.Tag = this;

f2.Show();
}
private void удалитьToolStripMenuItem_Click(object sender, EventArgs e)

{

int a = dataGridView1.CurrentRow.Index;

dataGridView1.Rows.Remove(dataGridView1.Rows[a]);

}
private void поРыбеToolStripMenuItem_Click(object sender, EventArgs e)

{

Form4 f4 = new Form4();

f4.Tag = this;

f4.Show();

}
private void поСемействуРыбыToolStripMenuItem_Click(object sender, EventArgs e)

{

Form4 f4 = new Form4();

f4.Tag = this;

f4.Show();
}
private void поСнастиToolStripMenuItem_Click(object sender, EventArgs e)

{
Form4 f4 = new Form4();

f4.Tag = this;

f4.Show();

}
private void поМаксимальномуВесуToolStripMenuItem_Click(object sender, EventArgs e)

{
Form4 f4 = new Form4();

f4.Tag = this;

f4.Show();

}
private void Form1_Load(object sender, EventArgs e)

{

}
private void изменитьToolStripMenuItem_Click(object sender, EventArgs e)

{

Form3 f3 = new Form3();

f3.textBox1.Text = dataGridView1.CurrentRow.Cells[0].Value.ToString();

f3.textBox2.Text = dataGridView1.CurrentRow.Cells[1].Value.ToString();

f3.textBox3.Text = dataGridView1.CurrentRow.Cells[2].Value.ToString();

f3.textBox4.Text = dataGridView1.CurrentRow.Cells[3].Value.ToString();

f3.textBox5.Text = dataGridView1.CurrentRow.Cells[4].Value.ToString();


f3.Tag = this;

f3.Show();

}

}

public class Fish

{

public string River { get; set; }

public string NameFish { get; set; }

public string FamalyFish { get; set; }

public string Snast { get; set; }

public string Max{ get; set; }

public Fish(string rv, string nf, string ff, string sn, string m)

{

River = rv;

NameFish = nf;

FamalyFish = ff;

Snast = sn;

Max = m;

}
}

}

****************************************************************

Form2.cs
****************************************************************

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;
namespace WindowsFormsApp2

{

public partial class Form2 : Form

{

public Form2()

{

InitializeComponent();


}
private void button1_Click(object sender, EventArgs e)

{

string st1, st2, st3, st4, max;
st1 = textBox1.Text;

st2 = textBox2.Text;

st3 = textBox3.Text;

st4 = textBox4.Text;

max = textBox5.Text;


((Form1)this.Tag).dataGridView1.Rows.Add(st1,st2,st3,st4,max);
MessageBox.Show("Добавлено");

}

}

}

****************************************************************

Form3.cs
****************************************************************

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;
namespace WindowsFormsApp2

{

public partial class Form3 : Form

{

public Form3()

{

InitializeComponent();

}
private void button1_Click(object sender, EventArgs e)

{

if (((Form1)this.Tag).dataGridView1.SelectedRows.Count > 0)

{

int n = ((Form1)this.Tag).dataGridView1.SelectedRows[0].Index;

((Form1)this.Tag).dataGridView1.Rows[n].Cells[0].Value = textBox1.Text;

((Form1)this.Tag).dataGridView1.Rows[n].Cells[1].Value = textBox2.Text;

((Form1)this.Tag).dataGridView1.Rows[n].Cells[2].Value = textBox3.Text;

((Form1)this.Tag).dataGridView1.Rows[n].Cells[3].Value = textBox4.Text;

((Form1)this.Tag).dataGridView1.Rows[n].Cells[4].Value = textBox5.Text;

((Form1)this.Tag).Update();
}

}

}

}

****************************************************************

Form4.cs
****************************************************************

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;
namespace WindowsFormsApp2

{

public partial class Form4 : Form

{

public Form4()

{

InitializeComponent();

}
private void button1_Click(object sender, EventArgs e)

{

for (int i = 0; i < ((Form1)this.Tag).dataGridView1.RowCount; i++)

{

((Form1)this.Tag).dataGridView1.Rows[i].Selected = false;

for (int j = 0; j < ((Form1)this.Tag).dataGridView1.ColumnCount; j++)

if (((Form1)this.Tag).dataGridView1.Rows[i].Cells[j].Value != null)

if (((Form1)this.Tag).dataGridView1.Rows[i].Cells[j].Value.ToString().Contains(textBox1.Text))

{

((Form1)this.Tag).dataGridView1.Rows[i].Selected = true;

break;

}

}
}

}

}