Файл: Курсовой проект по дисциплине технологии программирования на тему Справочник рыбака студента 2 курса группы 426з заочной формы обучения.docx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 16.03.2024
Просмотров: 28
Скачиваний: 0
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
- отображение надежности функционирования программы.
Применялось функциональное тестирование, обеспечивающее поиск следующих категорий ошибок:
- некорректные или не реализованные функции;
- ошибки интерфейса;
- ошибки в структурах данных и в доступе к внешним данным;
- ошибки инициализации или завершения.
Тестирование проводилось в операционной системе Windows 7 и Windows 10, с использованием возможностей интегрированной среды Visual Studio 2017
Проверялась корректное выполнение всех доступных пользователю операций: добавление, удаление и редактирование записей; загрузка данных их внешнего файла и сохранение информации; операций связанных с поиском и упорядочиванием записей.
6. Заключение
Была спроектирована и разработана информационно-справочная система «Справочник рыбака» предназначенная для регистрации и анализа событий, связанных с ловлей рыбой. Создано работоспособное приложение с использованием понятным пользовательским интерфейсом используя UI/UX дизайн. Программа демонстрирует принципы объектно-ориентированного программирования и возможности среды Visual Studio 2017.
В дальнейшем возможна доработка алгоритмов сортировки, поиска и фильтрации. Возможно добавление новых характеристик в базу данных, переработка класса и его функций. Изменения источника данных с файла на базу данных, добавления возможности подключения через интернет к общей базе и обмена информации с другими пользователями.
Список литературы
-
Федеральный закон Российской Федерации от 27 июля 2006 г. N 149-ФЗ Об информации, информационныхтехнологиях и о защите информации -
Информационные системы. Структура и классификация информационных систем: https://www.yaklass.ru/materiali?chtid=455&mode=cht -
Информационные системы, базы знаний, базы данных: https://www.sites.google.com/site/inftech11/home/sam/informacionnye-sistemy-bazy-znanij-bazy-dannyh -
Информационная система: https://wiki.fenix.help/informatika/informatsionnaya-sistema -
Документация по C#: https://docs.microsoft.com/ru-ru/dotnet/csharp/ -
Полное руководство по языку программирования С# 9.0 и платформе .NET 5: https://metanit.com/sharp/tutorial/ -
Приемы объектно-ориентированного проектирования. Паттерны проектирования / Э. Гамма и др. - Москва: СИНТЕГ, 2016. - 366 c. -
Введение в 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;
}
}
}
}
}