Файл: Отчет по практике пп. 02. 01 Производственная практика.docx

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

Категория: Отчет по практике

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

Добавлен: 07.11.2023

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

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

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

СОДЕРЖАНИЕ

Оглавление

Введение

Программное обеспечение, рекомендуемое для проведения лабараторных работ и практических занятий

1. Предпроектные исследования предметной области

1.1 Краткая характеристика организации

1.2 Структура организации

1.3 Экспресс-обследование предприятия

1.4Описание предметной области

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

2.2. Назначение разработки

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

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

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

2.3.3 Условия эксплуатации

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

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

2.4.Требования к программной документации

2.5.Технико-экономические показатели

2.6.Стадии и этапы разработки

2.7. Порядок контроля и приемки

4. Разработка технического проекта и рабочего проекта в соответствии с ГОСТ

5 Реализация приложения

5.1. Реализация Серверной части приложения

5.2. Реализация клиентской части приложения



Результаты экспресс-опроса выявили следующие моменты.

1. Процесс управления проектами не функционировал должным образом. Процесс разработки не всегда точно определял сроки выполнения проектов и распределение ресурсов между проектами.

2. Неадекватная коммуникация в команде разработчиков. Некоторые задания не были выполнены в срок из-за нечетких требований или недостаточной обратной связи.

3. Недостаточное внимание к тестированию программного обеспечения. В некоторых случаях ошибки обнаруживаются только после ввода программного обеспечения в эксплуатацию.

4. Отсутствие четкой коммуникации с заказчиком. Иногда требования заказчика противоречивы или недостаточно конкретны, что затрудняет работу над проектом.

Таким образом, экспресс обследование выявило основные проблемы в процессах разработки программного обеспечения компании.

1.4Описание предметной области


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

Компания использует различные технологии и языки программирования, включая Java, Python, Ruby, C++ и JavaScript. Компания также проводит тестирование и сопровождение разработанных программных продуктов.

Компания не только производит высококачественное программное обеспечение, но и реагирует на потребности своих клиентов. Для этого она проводит анализ рынка, изучает потребности клиентов и предлагает наиболее эффективные решения.

Компании по разработке программного обеспечения работают в высокотехнологичном секторе и постоянно отслеживают новые тенденции в отрасли. Они стремятся лидировать на рынке и предоставлять инновационные решения своим клиентам.
  1. Разработка технического задания к программному продукту


Основная задача данного программного обеспечения, это предоставление возможности обрабатывать заказы на разработку ПО.

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


Данное программное изделие разрабатывается на основании задания на производственную практику.

2.2. Назначение разработки


Основным назначением является работа с клиентами.

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


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


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

Возможность ввести логин, пароль

Возможность просмотра заказов

Возможность создания заказов.

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


Разрабатываемая система должна соответствовать требованиям надежности обеспечение устойчивого функционирования:

- отсутствие ошибок;

- устойчивость к возможным ошибкам;

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

- контроль входной и выходной информации;

- время восстановления после отказа составляет 5 минут с откатом к последнему сохранению данных.

2.3.3 Условия эксплуатации


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

- регулярная проверка исправности и работоспособности операционной системы и сервера. Переустановка и замена по необходимости;

- проверка баз данных на наличие ошибок и неисправностей в конце рабочего дня;

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


Рекомендуемые системные требования:

- процессор Intel PentiumIV с частотой 2700 МГц или лучше;

- архитектура процессора A-32 или лучше ;

- материнская плата Gigabyte GF 9800 или лучше;

- оперативная память DIMM 256 Mb SDRAM PC-133 или лучше;

- видеокарта 4 Mb AGP Riva TNT2 M64 или лучше;

- жесткий диск 80 Gb HDS728080PLAT20 или лучше;

- монитор;

- клавиатура;

- мышь;

- принтер;

- сетевой адаптер.

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


Операционная система Windows 8/10, программное обеспечение, выполняющее функции вычисления налогов, создания баз данных и т.п.

Среда разработки программного приложения Visual Studio Code.

2.4.Требования к программной документации


Программная документация включает в себя:

- техническое задание (ГОСТ 19.201-78);

- руководство оператора (ГОСТ 19.505-79);

- программа и методика испытаний (ГОСТ 19.301-79);

- руководство программиста (ГОСТ 19.504-79).

2.5.Технико-экономические показатели


Отсутствуют, так как не указаны в задании

2.6.Стадии и этапы разработки

2.7. Порядок контроля и приемки


Контроль и приёмка программы производятся в соответствии с КФБН.00000-00 00 14 (ГОСТ 19.301-79) комиссией в составе руководителя и студента, выполнившего отчёт по производственной практике.


  1. Разработка эскизного проекта


Разработка эскизного проекта производилась на Figma, результат показан на рисунках 1, 2.


Рисунок 1 Окно входа



Рисунок 2 Окно для просмотра заказов

4. Разработка технического проекта и рабочего проекта в соответствии с ГОСТ


В ходе проектирования были построенные следующие диаграммы, показанные на рисунках (Рис. 3), (Рис. 4), (Рис. 5), (Рис. 6).



Рисунок 3. Функциональная диаграмма



Рисунок 4. Диаграмма декомпозиции



Рисунок 5. Декомпозиция 2го уровня "Проектирование"



Рисунок 6. Диаграмма классов

5 Реализация приложения

5.1. Реализация Серверной части приложения


Для реализации серверной части приложения был написан скрипт для создания базы данных MSSQL, а так же его таблиц.

create database rainbowsoft

go;

use rainbowsoft;

create table users(

id int identity primary key,

login nvarchar(128) not null,

email nvarchar(128) not null,

phone nvarchar(128) not null,

password nvarchar(128) not null,

data_create datetime default GETDATE()

);

create table corder (

id int identity primary key,

customer_FIO nvarchar(128) not null,

order_content text not null,

order_is_complete int not null default 0,

seller int not null references users(id),

customer_phone nvarchar(12) not null,

customer_email nvarchar(128) ,

data_create datetime default GETDATE()

Результат выполнения кода, показан на рисунке (Рис.7).



Рисунок 7. Созданная база данных и ее таблицы

5.2. Реализация клиентской части приложения


Для разработки клиентской части приложения был выбран язык программирования C# и WPF.

Был создан новый проект, спроектирован пользовательский интерфейс и несколько окон для работы.


Первое окно – это окно авторизации, показанное на рисунке (Рис. 8).



Рисунок 8. Окно авторизации

Листинг страницы авторизации:

using System;

using System.Collections.Generic;

using System.Configuration;

using System.Data.SqlClient;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows;

using System.Windows.Controls;

using System.Windows.Data;

using System.Windows.Documents;

using System.Windows.Input;

using System.Windows.Media;

using System.Windows.Media.Imaging;

using System.Windows.Navigation;

using System.Windows.Shapes;

namespace zakaz_rainbow

{

///

/// Логика взаимодействия для MainWindow.xaml

///


public partial class MainWindow : Window

{

public string connectionString;

public MainWindow()

{

InitializeComponent();

}

private void Button_Click(object sender, RoutedEventArgs e)

{

string login = loignTxtBox.Text;

string password = PasswordTxtBox.Text;

if (login != "" && password != "")

{

connectionString = ConfigurationManager.ConnectionStrings["zakaz_rainbow.Properties.Settings.rainbowsoftConnectionString"].ConnectionString.ToString();

string sqlExtenshion = $"Select * from users where login ='{login}' and password='{password}'";

using(SqlConnection connection = new SqlConnection(connectionString))

{

connection.Open();

SqlCommand command = new SqlCommand(sqlExtenshion, connection);

SqlDataReader reader = command.ExecuteReader();

if (reader.HasRows)

{

ZakazList zakazList = new ZakazList();

while (reader.Read())

{

zakazList.myId = reader.GetInt32(0).ToString();

}

zakazList.Show();

this.Close();

}

}

}

else

{

MessageBox.Show("Введите логин и пароль");

}

}

private void Button_Click_1(object sender, RoutedEventArgs e)

{

Register register = new Register();

register.Show();

this.Close();

}

}

}

Следующее окно – это окно регистрации нового пользователя, показанное на рисунке (Рис. 9).



Рисунок 9. Окно регистрации

Листинг страницы регистрации:

using System;

using System.Collections.Generic;

using System.Configuration;

using System.Data.SqlClient;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows;

using System.Windows.Controls;

using System.Windows.Data;

using System.Windows.Documents;

using System.Windows.Input;

using System.Windows.Media;

using System.Windows.Media.Imaging;

using System.Windows.Shapes;

namespace zakaz_rainbow

{

///

/// Логика взаимодействия для Register.xaml

///


public partial class Register : Window

{

string conStr;

public Register()

{

InitializeComponent();

conStr = ConfigurationManager.ConnectionStrings["zakaz_rainbow.Properties.Settings.rainbowsoftConnectionString"].ConnectionString.ToString();

}

private void Button_Click(object sender, RoutedEventArgs e)

{

string login = loginTxtBox.Text;

string email = emailTxtBox.Text;

string number = phoneTxtBox.Text;

string password = passwordTxtBox.Password;

string password_again = pasAgainTxtBox.Password;

if (login != "" && email != "" && number != "" && password != "" && password_again != "")


{

if (password == password_again)

{

string sql = $"insert into users(login,email,phone,password) values ('{login}','{email}','{number}','{password}')";

using(SqlConnection con = new SqlConnection(conStr))

{

con.Open();

SqlCommand cmd = new SqlCommand(sql,con);

int result = cmd.ExecuteNonQuery();

}

MessageBox.Show("Пользователь зарегистрирован");

MainWindow main = new MainWindow();

main.Show();

this.Close();

}

else

{

MessageBox.Show("Введите одинаковые пароли");

passwordTxtBox.Clear();

pasAgainTxtBox.Clear();

}

}

}

}

}

Следующее окно – это окно для взаимодействия с заказами, показанное на рисунке (Рис. 10).



Рисунок 10 Окно для взаимодействия с заказами

Так же был написан скрипт для добавления, удаления и изменения заказов, листинг показан ниже:

using System;

using System.Collections.Generic;

using System.ComponentModel.DataAnnotations;

using System.Configuration;

using System.Data.SqlClient;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows;

using System.Windows.Controls;

using System.Windows.Data;

using System.Windows.Documents;

using System.Windows.Input;

using System.Windows.Media;

using System.Windows.Media.Imaging;

using System.Windows.Shapes;

namespace zakaz_rainbow

{

///

/// Логика взаимодействия для ZakazList.xaml

///


public partial class ZakazList : Window

{

string conString;

public string myId;

public ZakazList()

{

InitializeComponent();

conString = ConfigurationManager.ConnectionStrings["zakaz_rainbow.Properties.Settings.rainbowsoftConnectionString"].ConnectionString.ToString();

}

#region CustomFunc

///

/// Функция для добавления ного заказа

///


///

///

///

///

///

public void addNewOrder(string fio, string content, string phone, string email, string seller)

{

string sqlAdd = $"insert into corder(customer_FIO,order_content,seller,customer_phone,customer_email) values ('{fio}','{content}','{seller}','{phone}','{email}')";

using (SqlConnection connection = new SqlConnection(conString))

{

connection.Open();

SqlCommand command = new SqlCommand(sqlAdd, connection);

var result = command.ExecuteNonQuery();

MessageBox.Show("Заказ добавлен");

upadteListView();

}

}

///

/// Фукция для обновления вьюлиста

///


public void upadteListView()

{

string SqlCom = "Select * from corder";

using (SqlConnection connection = new SqlConnection(conString))

{

connection.Open();

SqlCommand command = new SqlCommand(SqlCom, connection);

SqlDataReader reader = command.ExecuteReader();

List orders = new List();

if (reader.HasRows)

{

string id = reader.GetName(0);

while (reader.Read())

{

customer_order tempOrder = new customer_order();

tempOrder.id = reader.GetInt32(0);

tempOrder.customer_FIO = reader.GetString(1);

tempOrder.order_content = reader.GetString(2);

tempOrder.order_is_complete = reader.GetInt32(3);

tempOrder.seller = reader.GetInt32(4);

tempOrder.customer_phone = reader.GetString(5);

tempOrder.customer_email = reader.GetString(6);

tempOrder.data_create = reader.GetDateTime(7);

orders.Add(tempOrder);

}

}

orderListView.ItemsSource = orders;

}

}

///

/// Функция для удаления элемента

///


///

public void deleteOrder(int id)

{

string sql = $"delete from corder where id = '{id}'";

using (SqlConnection con = new SqlConnection(conString))

{

con.Open();

SqlCommand command = new SqlCommand(sql, con);

int res = command.ExecuteNonQuery();

MessageBox.Show("Заказ удален");

}

upadteListView();

}

///

/// Функция для очистки полей после создания нового заказа

///


public void clearTxtBox()

{

fioTxtBox.Clear();

orderContentTxtBox.Clear();

PhoneCustomerTxtBox.Clear();

emaiCustomerTxtBox.Clear();

}

#endregion

private void Window_Loaded(object sender, RoutedEventArgs e)

{

upadteListView();

}

private void Button_Click(object sender, RoutedEventArgs e)

{

string fio = fioTxtBox.Text;

string content = orderContentTxtBox.Text;

string phone = PhoneCustomerTxtBox.Text;

string email = emaiCustomerTxtBox.Text;

string seller = myId == null ? "0" : myId.ToString();

if (fio != "" && content != "" && phone != "" && email != "" && seller != "")

{

addNewOrder(fio, content, phone, email, seller);

clearTxtBox();

}

else

{

MessageBox.Show("Заполните все поля");

}

}

private void Button_Click_1(object sender, RoutedEventArgs e)

{

if(orderListView.HasItems)

{

customer_order selectionItem = (customer_order)orderListView.SelectedItem;

if (selectionItem != null)

{

deleteOrder(selectionItem.id);

}

}

}

}

}

5.3. Тестирование и отладка


Для тестирования программы был разработан тест кейс, который показан в таблице

Таблица 1

Тест-кейс заполнения документа «Расчет расписания занятий приход»

Тест

Ожидаемый результат

Результат теста

Авторизация

Пользователь авторизован, открыто новое окно

Пользователь авторизован, открыто новое окно

Регистрация

Появилось окно – «Регистрация успешна»

Появилось окно – «Регистрация успешна»

Добавление нового заказа

Заказ появился в списке

Заказ появился в списке

Удаление заказа

Заказ удалился из списка

Заказ удалился из списка

После тестирования приложения с помощью текс-кейса, можно сделать вывод что приложение готово к эксплуатации и работает корректно.

Руководство оператора


1. НАЗНАЧЕНИЕ ПРОГРАММЫ.

Фрагмент АС «Рейнбовсофт Заказ» разрабатывается для автоматизации процесса получения и обработки заказов в фирме Рейнбовсофт

2.УСЛОВИЯ ИСПОЛЬЗОВАНИЯ ПРОГРАММЫ

Для работы приложения требуются следующие минимальные технические и программные средства:

Windows 7 (32 бит/64 бит) и выше.

Процессор Intel Pentium IV/Xeon 2,4 ГГц и выше.

Оперативная память не менее 2ГБ.

Иметь дополнительную периферию в виде монитора, компьютерной мыши и клавиатуры, USB порта.

Свободного места на жестком диске для установки конфигурации должно быть 500 Мб минимум.

3.ВЫПОЛНЕНИЕ ПРОГРАММЫ

Для запуска ИС необходимо зайти в программу «zakaz rainbow».

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

Для регистрации необходимо заполнить все поля в открывшемся окне, показанным на рисунке 11.



Рисунок 11 Окно регистрации

После регистрации необходимо авторизоваться, ввести данные логина и пароля в окно, показанное на рисунке 12



Рисунок 12 Окно входа

После успешной авторизации откроется основное окно для обработки заказов, показанное на рисунке 13



Рисунок 13 Основное окно

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

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

Заключение


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

Список использованных источников


1. ГОСТ 19.505-79 ЕСПД. Руководство оператора.

2. ГОСТ 19.301-78 ЕСПД. Программа и методика испытаний.

3. ГОСТ 34.602-89. Техническое задание.

4. ГОСТ 24449-80. Регистрация фотографическая высокоскоростная. Термины и определения.

5. Гниденко, И. Г. Технология разработки программного обеспечения: учеб. пособие для СПО / И. Г. Гниденко, Ф. Ф. Павлов, Д. Ю. Федоров. — М. : Издательство Юрайт, 2017. — 235 с.

6. Кудрявцев, К. Я. Методы оптимизации: учеб. пособие для вузов / К. Я. Кудрявцев, А. М. Прудников. — 2-е изд. — М. : Издательство Юрайт, 2019. — 140 с.

7. Гришина, Н.В. Информационная безопасность предприятия: Учебное пособие / Н.В. Гришина. - М.: Форум, 2018. - 118 c.

8. Интернет инструмент проектировки диаграмм [Электронный ресурс]. Режим доступа: https://app.diagrams.net (дата обращения 12.04.2023)

9. Интернет инструмент проектировки диаграмм макетов. [Электронный ресурс]. Режим доступа: https://www.figma.com (дата обращения 15.04.2023)