Цель работы: разработать алгоритм программы в графической форме представления (блок-схема).
Ход работы:
1) Запустили MS Visio
2) Продумали алгоритм
3) Добавили необходимые блоки и связи между ними
4) Проверили правильности составления
Рис. 13- блок-схема алгоритма работы программы
Рис. 14 – блок схема функции чтения метки
Рис. 15- блок схема функции добавления объекта
Рис. 16- блок схема функции поиска по ID
Вывод: в ходе выполнения задания была составлена блок-схема алгоритма работы программы, которая отражает основные действия в программе с использованием графического интерфейса.
Разработка программного модуля базы данных на основе информационных моделей
Заключение по практике
В итоге прохождения учебной практики были получены навыки работы с программным обеспечениемBPwin, Erwin, RationRose, Visio, Sqlite,VisualStudioC#также был закреплен теоретический материал по CASE-технологиям (IDEF, UML).С использованием пакета BPwinбыла построена функциональная модель, пакет Erwinиспользовался для построения информационной модели. В пакете RationalRoseбыли реализованы диаграммы: прецедентов, классов, кооперации, последовательности действий, состояний, активности, компонентов и топологий. Также была построена блок-схема алгоритма.На основе разработанных моделей был реализован интерфейс и программный код модуля.
|
|
Главная задача практики, разработка и тестирование программного модуля для поликлиники,была реализована в полной мере. Разработанный программный код для модуля полностью соответствует стандартам кодирования.
ПРИЛОЖЕНИЕ
Рис. 17- Меню приложения
Рис. 18- Пункт меню “Найти объект”
Рис. 19-Ввод IDи поиск
Листинг программа:
usingSystem.Collections;
usingSystem.Collections.Generic;
usingUnityEngine;
usingUnityEngine.UI;
usingMono.Data.Sqlite;
usingSystem.Data;
using System;
using System.IO;
//using System.Text;
public class db: MonoBehaviour {
public string conn;//путь
public Button yourButton;
publicInputFieldsearchInput;
public Text Text1;
public string connectionString;
//public Button Deletebtn;
void Start()
{
Button btn = yourButton.GetComponent<Button>();
btn.onClick.AddListener(TaskOnClick);
//Button dbtn = Deletebtn.GetComponent<Button>();
//dbtn.onClick.AddListener(DeleteOnClick);
}
voidTaskOnClick()
{
int id = Int32.Parse(searchInput.text);
searchInput.text = "";
Debug.Log(id);
con(id);
}
//void DeleteOnClick()
//{
// int id = Int32.Parse(searchInput.text);
// searchInput.text = "";
// Delete(id);
//}
public string setText(string nameObj, string r)
{
GameObject.Find("Canvas/" + nameObj).GetComponent<TextMesh>().text = "";
returnGameObject.Find("Canvas/" + nameObj).GetComponent<TextMesh>().text += r + " " + "\n";
}
public void con(int id)
{
try
{
if (Application.platform!= RuntimePlatform.Android) // определениецелевойплатформы
{
conn = "URI=file:" + Application.dataPath + "/Plugins/db_app.bytes"; // путьдля Windows
|
|
//GameObject.Find("Canvas/" + Text1).GetComponent<Text>().text = conn;
connectionString = string.Format(conn);// форматстрокидляБД
}
else
{
//string conn = "URI=file:" + Application.dataPath + "/Plugins/Bazadann.s3db"; //Path to database.
conn = string.Format(Application.persistentDataPath + "/db_app.bytes");// путьдля Android
if (!File.Exists(conn))//существует ли заданная БД?
{
WWW load = newWWW("jar:file://" + Application.dataPath + "!/assets/" + "db_app.bytes");//извлекаем содержимое (БД то есть) по адресу если БД не существует
while (!load.isDone) { }//цикл пока загрузка не завершится
File.WriteAllBytes(conn, load.bytes);//создает файл и записывает в него указанный массив байтов и закрывает файл
}
connectionString = string.Format("Data Source={0};Version=3;", conn);// форматстрокидляБД
}
SqliteConnectiondbconn;// подключениекБД
// string connectionString = string.Format("Data Source={0};Version=3;", conn);// форматстрокидляБД
dbconn = (SqliteConnection)new SqliteConnection(connectionString);
dbconn.Open(); //Open connection to the database.
SqliteCommanddbcmd = dbconn.CreateCommand();// командадляБД
stringsqlQuery = "SELECT i.*, p.*,dt.*,c.* FROM item as i INNER JOIN person as p ON p.id_person = i.id_person INNER JOIN dev_type as dt ON dt.id_dev_type = i.id_dev_type INNER JOIN cabinet as c ON c.id_cabinet = i.id_cabinet WHERE i.id_item = " + id; // table name
// string sqlQuery = "SELECT * FROM Inventar WHERE id =" + id;
dbcmd.CommandText = sqlQuery;
SqliteDataReader reader = dbcmd.ExecuteReader(); //ридер
while (reader.Read())
{
intm_id = reader.GetInt32(0);
int SN = reader.GetInt32(2);
string model = reader.GetString(3);
string person = reader.GetString(7);
stringDev_type = reader.GetString(9);
int Cabinet = reader.GetInt32(11);
setText("IDTX", m_id.ToString());
setText("ModelTX", model);
setText("PersonTX", person);
setText("SNTX", SN.ToString());
setText("CabinetTX", Cabinet.ToString());
setText("Dev_typeTX", Dev_type);
}
reader.Close();
reader = null;
dbcmd.Dispose();
dbcmd = null;
dbconn.Close();
dbconn = null;
}
catch (Exception ex)
{
GameObject.Find("Canvas/Text11").GetComponent<Text>().text = ex.ToString();
}
}
public void Delete(int id)
{
string conn = "URI=file:" + Application.dataPath + "/Plugins/Bazadann.s3db"; //Path to database.
IDbConnectiondbconn;
dbconn = (IDbConnection)new SqliteConnection(conn);
dbconn.Open(); //Open connection to the database.
IDbCommanddbcmd = dbconn.CreateCommand();
dbcmd = dbconn.CreateCommand();
stringsqlQuery = string.Format("Delete from Inventar WHERE ID=\"{0}\"", id);// table name
dbcmd.CommandText = sqlQuery;
dbcmd.ExecuteScalar();
dbconn.Close();
}
}
usingSystem.Collections;
usingSystem.Collections.Generic;
usingUnityEngine;
public class Start: MonoBehaviour {
public void ID()
{
Application.LoadLevel(2);
}
public void Create()
{
Application.LoadLevel(1);
}
public void nazad()
{
Application.LoadLevel(0);
}
public void nazpoisk()
{
Application.LoadLevel(0);
}
}