Разработка и проектирование системы моделирования физических процессов
Изучение подходов к объектно-ориентированному конструированию программного обеспечения. Рассмотрение вопросов реализации системы моделирования физических процессов. Определение поля и основных операций классов. Разработка архитектуры библиотеки.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 26.12.2016 |
Размер файла | 293,5 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
36
Министерство образования и науки Российской Федерации
ФГБОУ ВО Кубанский государственный технологический университет
(ФГБОУ ВО «КубГТУ»)
Кафедра информационных систем и программирования
Институт компьютерных систем и информационной безопасности
ПОЯСНИТЕЛЬНАЯ ЗАПИСКА к курсовому проекту
по дисциплине Конструирование программного обеспечения
на тему Разработка и проектирование системы моделирования физических процессов.
Выполнил(а) студент(ка) группы 14-КБ-ПР1
Гриценко Александр Андреевич
Руководитель проекта А.Г. Волик
2016 г.
Реферат
конструирование программный моделирование физический
Пояснительная записка курсового проекта содержит 27 страниц, 2 рисунка, 12 источников.
ООП, КОНСТРУИРОВАНИЕ, СИЛА ТЯЖЕСТИ, СИЛА ТРЕНИЯ, СИЛА УПРУГОСТИ, ЗАКОН СОХРАНЕНИЯ ИМПУЛЬСА, СИЛА, МАССА, СКОРОСТЬ, УСКОРЕНИЕ, КЛАСС, ОБЪЕКТ, МЕТОД, СВОЙСТВО
В данном курсовом проекте были рассмотрены вопросы реализации системы моделирования физических процессов, определены поля и основные операции классов, разработана архитектура библиотеки и ее публичный интерфейс. Цель курсового проекта состоит в углубленном изучении подходов к объектно-ориентированному конструированию программного обеспечения. При выполнении курсового проекта важно закрепление основ и углубление знаний в области конструирования программного обеспечения, получение дополнительных практических навыков создания программных продуктов различного назначения. При работе над курсовым проектом студент самостоятельно выполняет все этапы создания программного продукта, от постановки задачи до практической реализации, заканчивающейся тестированием и подготовкой документации.
Содержание
Введение
1. Постановка задачи
2. Анализ требований к системе
2.1 Общие требования
2.2 Требования к библиотеке классов
2.3 Требования к пользовательскому интерфейсу
3. Теоретическое описание решения
4. Архитектура системы
4.1 Object
4.2 Form1
5. Руководство пользователя
5.1 Интерфейс пользователя
Заключение
Список используемых источников
Приложение А код программы
Введение
Конструирование программного обеспечения - это создание работающего программного обеспечения с привлечением методов верификации, кодирования и тестирования компонентов. Конструирование затрагивает детальную проработку каждого элемента функциональности, каждого фрагмента кода. Важным при этом является избегание излишних взаимозависимостей между компонентами, а также разделение реализации и интерфейса.
Весь мир подчиняется определенным законам физики, поэтому моделирование физических процессов очень интересное и перспективное направление в программировании. Такое программное обеспечение может использоваться в различных сферах деятельности.
В данном курсовом проекте рассматривается система моделирования физических процессов с использованием двумерных физических объектов.
1. Постановка задачи
Спроектировать библиотеку классов, реализующую систему моделирования физических процессов, таких как сила тяжести, сила трения, сила упругости, закон сохранения импульса. Разработать пользовательский интерфейс приложения, с возможностью добавления и удаления объектов.
2. Анализ требований к системе
2.1 Общие требования
Программа представляет собой библиотеку классов и пользовательский интерфейс. Программа написана средствами Microsoft Visual Studio 2012 на языке c#.
2.2 Требования к библиотеке классов
Библиотека классов реализует весь необходимый функционал для реализации моделирования физических процессов:
1) Класс для работы с векторами
2) Математическая основа
3) Классы для реализации столкновения объектов
4) Классы для реализации столкновения с краями рабочей области
2.3 Требования к пользовательскому интерфейсу
Пользовательский интерфейс представляет собой главное окно приложения с заранее заданными параметрами. Пользователь может добавлять новые объекты, а также задавать значения вектора скорости создаваемых объектов.
3. Теоретическое описание решения
Полный перебор это самый простой и в то же время самый медленный из всех возможных способов. Идет проверка между всеми возможными парами частиц.
void Update()
{
for (int i = 0; i < NUM_P; ++i) {
for (int j = i + 1; j < NUM_P; ++j) {
Collision(&_particles[i], &_particles[j]);
}
}
}
Сложность: O(n ^ 2)
Плюсы:
* Очень прост в понимании и реализации
* Не чувствителен к разным размерам частиц
Минусы:
* Самый медленный из всех
В природе существует множество различных сил. Сила - векторная величина. Важно определить какие именно силы действуют на объект, и в каком направлении, а также знать точку приложения каждой силы.
Сила тяжести.
На каждое тело, находящееся на планете, действует гравитация Земли. Сила, с которой Земля притягивает каждое тело, определяется по формуле
Точка приложения находится в центре тяжести тела. Сила тяжести всегда направлена вертикально вниз.
Сила трения.
Эта сила возникает при движении тел и соприкосновении двух поверхностей. Определяется сила трения по формуле:
Сила приложена в точке соприкосновения двух поверхностей и направлена в сторону противоположную движению.
Сила упругости.
Это сила возникает в результате деформации (изменения первоначального состояния вещества). Сила, которая препятствует деформации - сила упругости.
Закон Гука:
Сила упругости направлена противоположно деформации.
Жесткость образца, Модуль Юнга:
Модуль Юнга характеризует упругие свойства вещества. Это постоянная величина, зависящая только от материала, его физического состояния. Характеризует способность материала сопротивляться деформации растяжения или сжатия.
Первый закон Ньютона (или закон инерции) из всего многообразия систем отсчета выделяет класс так называемых инерциальных систем.
Существуют такие системы отсчета, относительно которых изолированные поступательно движущиеся тела сохраняют свою скорость неизменной по модулю и направлению.
Свойство тел сохранять свою скорость при отсутствии действия на него других тел называется инерцией. Поэтому первый закон Ньютона называют законом инерции.
Итак, причиной изменения скорости движения тела в инерциальной системе отсчета всегда является его взаимодействие с другими телами. Для количественного описания движения тела под воздействием других тел необходимо ввести две новые физические величины - инертную массу тела и силу.
Масса - это свойство тела, характеризующее его инертность. При одинаковом воздействии со стороны окружающих тел одно тело может быстро изменять свою скорость, а другое в тех же условиях - значительно медленнее. Принято говорить, что второе из этих двух тел обладает большей инертностью, или, другими словами, второе тело обладает большей массой.
Если два тела взаимодействуют друг с другом, то в результате изменяется скорость обоих тел, т. е. в процессе взаимодействия оба тела приобретают ускорения. Отношение ускорений двух данных тел оказывается постоянным при любых воздействиях. В физике принято, что массы взаимодействующих тел обратно пропорциональны ускорениям, приобретаемым телами в результате их взаимодействия.
Сила - это количественная мера взаимодействия тел. Сила является причиной изменения скорости тела. В механике Ньютона силы могут иметь различную физическую природу: сила трения, сила тяжести, упругая сила и т. д. Сила является векторной величиной. Векторная сумма всех сил, действующих на тело, называется равнодействующей силой.
Второй закон Ньютона - это фундаментальный закон природы. Сила, действующая на тело, равна произведению массы тела на сообщаемое этой силой ускорение.
4. Архитектура системы
Рисунок 1 Архитектура системы
Весь код программы представлен в приложении А.
4.1 Object
Класс реализующий основную логику работы программы. Основные поля класса это xObj, yObj (координаты положения объекта).
Vector[] MassiveVectors запоминает силы, которые воздействуют на объект.
ResultV это вектор получаемый в результате сложения векторов сил.
diametr это размер объекта.
Метод AddObject получает на вход координаты объекта и его размер, а также добавляет в массив векторов вектор силы тяжести.
Метод NewVector добавляет новую силу в массив векторов.
Метод NewLocation рассчитывает в какую точку переместиться объект в следующий тик таймера. Для этого он складывает x и y комментарии у каждого вектора и складывает результат в resultV. После чего он параллельно перемещает все векторы относительно нового положения объекта.
Методы OtherVec и CollisionObj реализуют логику столкновения объектов. Идея для этого механизма следующая. OtherVec подготавливает результирующий вектор и передает его в Form1 для другого объекта. Другой объект получая donate.x и donate.y заменяет один из своих векторов силы.
В результате объекты как бы обмениваются своими импульсами.
Метод CollisionBar проверяет находится ли объект на границе или за границей рабочей области и если это произошло инвертирует его вектор силы.
4.2 Form1
Класс, реализующий интерфейс пользователя. Также в Form1 помещен массив объектов и проводится перебор и проверка элементов на предмет их столкновения.
Анимация движения достигается благодаря тому что все помещенные на рабочею область объекты стираются, а затем рисуются в своих новых местоположениях.
5. Руководство пользователя
5.1 Интерфейс пользователя
На рисунке 2 показан внешний вид окна программы при запуске.
Рисунок 2 Главное окно приложения
При запуске программы появляется главное окно приложения, с которым пользователю предлагается работать. Главное окно представляет собой рабочую область и меню. С помощью текстовых полей и кнопок пользователь может добавлять объекты на форму.В меню пользователь может указывать координаты вектора скорости добавляемого объекта (Velocity X, Velocity Y), его радиус (Radius).
Заключение
Написанная мной программа полностью работоспособна и соответствует всем требованиям к системе. Также архитектура способствует легкой модернизации программы.
В дальнейшем, программу можно существенно улучшать. Например, добавить различные формы, материалы объектов. Улучшить пользовательский интерфейс добавлением новых функций. На основе построенной библиотеки классов можно создавать новые различные программные продукты.
В ходе этой работы я изучил различные подходы к объектно-ориентированному конструированию программного обеспечения, получил дополнительные практические навыки создания программных продуктов различного назначения.
Список используемых источников
1. Мартин Р. C., Мартин М. Принципы, паттерны и методики гибкой разработки на языке C#.:Пер. с англ. СПб.:Символ-Плюс,2011. 768 с.: ил.
2. Фаулер М.UML.Основы, 3-е изд. М.: Символ-Плюс, 2012. 192 с.
3. Гамма Э., Хелм Р., Джонсон Р., Влиссидес Д. Приемы объектноориентированного проектирования. Паттерны проектирования. СПб.: Питер, 2013. 368 с.: ил.
4. Фримен Эр., Фримен Эл., Бейтс Б., Сьерра К. Паттерны проектирования. СПб.: Питер, 2011. 656 с.
6. Макконнелл С. Совершенный код. Мастер-класс/Пер. с англ. М.: Русская Редакция, 2013. 896 стр.: ил.
7. Википедия - свободная энциклопедия [Электронный ресурс]. URL: https://ru.wikipedia.org/wiki/.
8. Gaul R. How to create a custom 2D physics engine [Электронный ресурс]: 2013. URL: https://gamedevelopment.tutsplus.com/tutorials/how-to-create-a-custom-2d-physics-engine-the-basics-and-impulse-resolution--gamedev-6331.
9. Kanber B. How physics engine works [Электронный ресурс]: 2012. URL: http://buildnewgames.com/gamephysics/.
10. Firth P. Physics engine for dummies [Электронный ресурс]: 2011. URL: http://www.wildbunny.co.uk/blog/2011/04/06/physics-engines-for-dummies/.
11. Anvi. Уроки OpenGl + C# [Электронный ресурс]: 2011. URL: http://esate.ru/uroki/OpenGL/uroki-OpenGL-c-sharp/.
12. Учебник: Открытая физика [Электронный ресурс]: ФИЗИКОН: 1999-2015. URL: http://physics.ru/.
Приложение А код программы
Листинг Form1
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 PhisicModel
{
public partial class Form1: Form
{
Vector vector = new Vector();
public void DrawObject(int x1,int y1, int width, int height)
{
Pen myPen = new Pen(Color.Black, 1);
Graphics g = Graphics.FromHwnd(pictureBox1.Handle);
g.DrawEllipse(myPen, x1, y1, width, height);
}
public void DrawBarier(int x1, int y1, int x2, int y2)
{
Pen myPen = new Pen(Color.Black, 1);
Graphics g = Graphics.FromHwnd(pictureBox1.Handle);
g.DrawLine(myPen,x1,y1,x2,y2);
}
public void WhitePlace(int ten1,int ten2, int chetiresta, int tristo)
{
Pen myPen = new Pen(Color.Black, 1);
Graphics g = Graphics.FromHwnd(pictureBox1.Handle);
SolidBrush MyBrush = new SolidBrush(Color.White);
g.FillRectangle(MyBrush, ten1, ten2, chetiresta, tristo);
g.DrawLine(myPen,0,0,410,0);
g.DrawLine(myPen, 0, 0, 0, 310);
g.DrawLine(myPen, 410, 0, 410, 310);
g.DrawLine(myPen, 0, 310, 410, 310);
}
public Form1()
{
InitializeComponent();
}
private void Start_Button_Click(object sender, EventArgs e)
{
if (timer1.Enabled == false)
timer1.Enabled = true;
else
timer1.Enabled = false;
}
private void timer1_Tick(object sender, EventArgs e)
{
if (timer1.Enabled == true)
{
WhitePlace(0,0,400,300);//стираем все рисуя белый прямоугольник
for (int i1 = 0; i1 < iObj; i1++)//рисование объектов в новом месте
{
vector = MassiveObjects[i1].NewLocation();
DrawObject(vector.x,vector.y,MassiveObjects[i1].diametr,MassiveObjects[i1].diametr);
}
for (int i1 = 0; i1 < iB; i1++)//рисуем заново барьеры
{
DrawBarier(MassiveBariers[i1].xB1, MassiveBariers[i1].yB1, MassiveBariers[i1].xB2, MassiveBariers[i1].yB2);
}
//проверка на то, столкнулись ли объекты(перебором)
for (int i1 = 0; i1 < iObj; i1++)
{
for (int i2 = 0; i2 < iObj; i2++)
if (i1 != i2)
{
double distance;
distance = Math.Sqrt(Math.Pow( Math.Abs(MassiveObjects[i1].xObj)-Math.Abs(MassiveObjects[i2].xObj),2)+ Math.Pow(Math.Abs(MassiveObjects[i1].yObj) - Math.Abs(MassiveObjects[i2].yObj), 2));
if (distance < MassiveObjects[i1].diametr/2 + MassiveObjects[i2].diametr/2)
{
Vector v = new Vector();
v = MassiveObjects[i1].OtherVec(MassiveObjects[i2].xObj, MassiveObjects[i2].yObj);
MassiveObjects[i1].CollisionObj(MassiveObjects[i2].OtherVec(MassiveObjects[i1].xObj, MassiveObjects[i1].yObj));//обработка столкновения
MassiveObjects[i2].CollisionObj(v);
}
}
}
//проверка столкнулся ли объект с барьером
for (int i1 = 0; i1 < iObj; i1++)
{
MassiveObjects[i1].CollisionBar();
}
/*
for (int i2 = 0; i2 < iB; i2++)
//MassiveObjects[i1].CollisionBar(MassiveBariers[i2].xB1, MassiveBariers[i2].yB1, MassiveBariers[i2].xB2, MassiveBariers[i2].yB2);
MassiveObjects[i1].CollisionBar(MassiveBariers[i2]);*/
}
}
int iObj = 0;
int iB = 0;
Object[] MassiveObjects = new Object[100];
Barier[] MassiveBariers = new Barier[100];
private void Add_Object_Click(object sender, EventArgs e)
{
MassiveObjects[iObj] = new Object();
MassiveObjects[iObj].AddObject(Convert.ToInt32( X_TextBox.Text), Convert.ToInt32(Y_TextBox.Text), Convert.ToInt32(TextWeight.Text));
DrawObject(MassiveObjects[iObj].xObj, MassiveObjects[iObj].yObj, MassiveObjects[iObj].diametr, MassiveObjects[iObj].diametr);
iObj++;
}
private void buttonNewVector_Click(object sender, EventArgs e)
{
int iV = Convert.ToInt32(textBoxNumber.Text);
int xvi = Convert.ToInt32(textBoxXvector.Text);
int yvi = Convert.ToInt32(textBoxYvector.Text);
MassiveObjects[iV].NewVector(xvi,yvi);
}
private void AddBarier_Click(object sender, EventArgs e)
{
MassiveBariers[iB] = new Barier();
MassiveBariers[iB].AddBarier(0,0,410,0);
DrawBarier(MassiveBariers[iB].xB1, MassiveBariers[iB].yB1, MassiveBariers[iB].xB2, MassiveBariers[iB].yB2);
iB += 1;
MassiveBariers[iB] = new Barier();
MassiveBariers[iB].AddBarier(0, 0, 0, 310);
DrawBarier(MassiveBariers[iB].xB1, MassiveBariers[iB].yB1, MassiveBariers[iB].xB2, MassiveBariers[iB].yB2);
iB += 1;
MassiveBariers[iB] = new Barier();
MassiveBariers[iB].AddBarier(410, 0, 410, 310);
DrawBarier(MassiveBariers[iB].xB1, MassiveBariers[iB].yB1, MassiveBariers[iB].xB2, MassiveBariers[iB].yB2);
iB += 1;
MassiveBariers[iB] = new Barier();
MassiveBariers[iB].AddBarier(0, 310, 410, 310);
DrawBarier(MassiveBariers[iB].xB1, MassiveBariers[iB].yB1, MassiveBariers[iB].xB2, MassiveBariers[iB].yB2);
iB += 1;
}
private void NewBarierButton_Click(object sender, EventArgs e)
{
MassiveBariers[iB] = new Barier();
MassiveBariers[iB].AddBarier(Convert.ToInt32(Px1Box.Text), Convert.ToInt32(Py1Box.Text),Convert.ToInt32(Px2Box.Text), Convert.ToInt32(Py2Box.Text));
DrawBarier(MassiveBariers[iB].xB1, MassiveBariers[iB].yB1, MassiveBariers[iB].xB2, MassiveBariers[iB].yB2);
iB += 1;
}
}
}
Листинг класса Object
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 PhisicModel
{
public class Vector
{
public int x;
public int y;
}
class Object: Form1
{
Vector[] MassiveVectors = new Vector[100];
public int xObj;
public int yObj;
public int diametr;
int i = 0;
public Vector resultV = new Vector();
public Vector donate = new Vector();
int ForceDecrease = 0;
bool active = true;
public void AddObject(int x1,int y1,int weight1)
{
xObj = x1;
yObj = y1;
diametr = weight1;
MassiveVectors[i] = new Vector();//вектор силы тяжести
MassiveVectors[i].x = xObj;
MassiveVectors[i].y = yObj + 5;
i++;
Vector resultV = new Vector();
}
public void NewVector(int xV, int yV)
{
MassiveVectors[i] = new Vector();
MassiveVectors[i].x = xV;
MassiveVectors[i].y = yV;
i++;
}
public Vector NewLocation()
{
resultV.x = xObj;
resultV.y = yObj;
for (int i1 = 0; i1 < i; i1++)
{
resultV.x = resultV.x + (MassiveVectors[i1].x-xObj);
resultV.y = resultV.y + (MassiveVectors[i1].y - yObj);
}
int xPast = xObj;
int yPast = yObj;
xObj = resultV.x;
yObj = resultV.y;
for (int i1 = 0; i1 < i; i1++)
{
MassiveVectors[i1].x = xObj + (MassiveVectors[i1].x-xPast);
MassiveVectors[i1].y = yObj + (MassiveVectors[i1].y - yPast);
}
if (ForceDecrease == 3)
{
for (int i1 = 1; i1 < i; i1++)
{
if (MassiveVectors[i1].x != xObj)
if (MassiveVectors[i1].x > xObj)
MassiveVectors[i1].x -= 1;
else
MassiveVectors[i1].x += 1;
if (MassiveVectors[i1].y != yObj)
if (MassiveVectors[i1].y > yObj)
MassiveVectors[i1].y -= 1;
else
MassiveVectors[i1].y += 1;
}
ForceDecrease = 0;
}
ForceDecrease++;
return resultV;
}
public Vector OtherVec(int Xdonate, int Ydonate)
{
donate.x = Xdonate;
donate.y = Ydonate;
for (int i1 = 0; i1 < i; i1++)
{
donate.x = donate.x + (MassiveVectors[i1].x - xObj);
donate.y = donate.y + (MassiveVectors[i1].y - yObj);
}
return donate;
}
public void CollisionObj(Vector OtherV)
{
if (active)
{
MassiveVectors[i - 1].x = OtherV.x;
MassiveVectors[i - 1].y = OtherV.y;
active = false;
}
}
public void CollisionBar()
{
if (xObj <= 0)
{
MassiveVectors[i - 1].x = xObj +(xObj- MassiveVectors[i - 1].x);
}
if (xObj >= 410)
{
MassiveVectors[i - 1].x = xObj + (xObj- MassiveVectors[i-1].x );
}
if (yObj <= 0)
{
MassiveVectors[i - 1].y = yObj + (yObj - MassiveVectors[i - 1].y);
}
if (yObj >= 410)
{
MassiveVectors[i - 1].y = yObj + (yObj - MassiveVectors[i - 1].y);
}
}
}
}
Листинг класса Barier
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace PhisicModel
{
class Barier
{
public int xB1;
public int xB2;
public int yB1;
public int yB2;
public void AddBarier(int x1, int y1,int x2, int y2)
{
xB1 = x1;
xB2 = x2;
yB1 = y1;
yB2 = y2;
}
}
}
Размещено на Allbest.ru
...Подобные документы
Этапы разработка автоматизированной информационной системы предприятия. Среда бизнес моделирования BPwin. Разработка методологических подходов, предложений и указаний по планированию, организации и совершенствованию программного обеспечения организации.
дипломная работа [4,3 M], добавлен 05.07.2009Использование моделирования в программной инженерии в процессе разработки программного обеспечения. Основные этапы процесса разработки программного обеспечения, их характеристика. Моделирование процессов, их определение фазами и видами деятельности.
реферат [2,2 M], добавлен 25.12.2017Создание Win-приложения для библиотеки, которое позволяло бы осуществлять операции выдачи и сдачи книг в соответствии со сроками. Выбор программных и технических средств реализации проекта. Разработка интерфейса системы, описание реализованных классов.
курсовая работа [3,1 M], добавлен 14.08.2015Изучение основных аспектов моделирования операционной системы. Исследование принципов организации псевдопараллельной работы процессов. Анализ алгоритмов диспетчеризации процессов. Проектирование подсистемы управления памятью и запоминающими устройствами.
курсовая работа [1,7 M], добавлен 12.01.2014Создание программного обеспечения - системы имитационного моделирования на тему "Производственная линия с пунктами технического контроля". Описание входных и выходных данных. Объектно-ориентированное программирование. Диаграммы модулей и процессов.
курсовая работа [1,2 M], добавлен 09.01.2014Объектно-ориентированные языки моделирования. Разработка различных альтернативных подходов к анализу и проектированию. Взаимосвязь концептуальных и программных понятий. Проблемы масштабирования сложных систем. Диаграммы, описывающие поведение системы.
лабораторная работа [159,4 K], добавлен 26.05.2014Создание библиотеки классов имитационного моделирования и реализация алгоритма имитационного моделирования системы массового обслуживания "Модель комиссионного магазина". Использование для разработки среды программирования C++. Словарь предметной области.
курсовая работа [581,0 K], добавлен 23.01.2013Разработка интерфейса справочно-расчетного программного обеспечения. Расчетно-графический модуль. Решение задачи динамического моделирования в системе MATLAB/Simulink. Программная реализация, результаты моделирования системы на текстовых примерах.
курсовая работа [2,6 M], добавлен 01.12.2014Использование программы Rational Rose 2000 для моделирования информационной подсистемы учета валютных операций с вкладами физических лиц. Создание диаграмм прецедентов, последовательности и сотрудничества. Основные добавленные атрибуты класса "Вклад".
курсовая работа [1,7 M], добавлен 23.06.2011Изучение и разработка алгоритмов сверления. Выбор языка и среды программирования. Исследование структуры системы компьютерного моделирования. Ввод данных о материале инструмента и детали, методе обработки. Визуальная проверка и корректировка данных.
отчет по практике [295,9 K], добавлен 22.05.2013Научные принципы организации процессов производства. Разработка программного обеспечения имитационного моделирования производственных процессов машиностроительного предприятия с помощью построения технологической линии производственного процесса.
дипломная работа [2,8 M], добавлен 06.03.2013Разработка модели, которая способна отобразить все функциональные возможности библиотеки. Субъекты модели публичной библиотеки. Диаграммы классов в соответствии с направлениями развития. Распечатка, зал ожидания для посетителей, продление пользования.
реферат [962,5 K], добавлен 31.05.2014Разработка информационной системы ВУЗа с использованием методики объектно-ориентированного моделирования UML. Анализ требований к системе. Концептуальная (содержательная) модель. Диаграмма компонентов и классов. Программная реализация приложения.
курсовая работа [797,7 K], добавлен 16.04.2014Разработка имитационной модели "Перекресток" для анализа бизнес-процессов предприятия и принятия решения в сложных условиях. Алгоритм построения имитационной модели на основе CASE-средств. Обзор программного обеспечения для имитационного моделирования.
дипломная работа [2,6 M], добавлен 22.11.2015Разработка интерфейса и программного обеспечения виртуальной библиотеки. Проектирование структуры экранов и навигационной системы. Построение прототипа пользовательского интерфейса. Тестирование и модификация прототипа. Экспертная оценка разработки.
курсовая работа [41,2 K], добавлен 19.12.2010Принципы объектного подхода. UML как воплощение идеи визуального моделирования. Синтаксис и семантика основных объектов UML, различные отношения между классами. Диаграммы использования, их назначение. Разработка модели бизнес-прецедентов данных.
презентация [1,0 M], добавлен 19.09.2016Теория и основные этапы моделирования бизнес-процессов. Метод объектно-ориентированного анализа и проектирования. Особенности методологии ARIS. Метод, используемый в технологии Rational Unified Process. Связь функционального и имитационного моделирования.
презентация [531,0 K], добавлен 22.10.2014Модернизация процессов моделирования прочностных испытаний конструкций автомобиля в ОАО "АвтоВАЗ". Разработка алгоритмов обработки данных. Тестирование разрабатываемых систем. Определение времени на разработку программного обеспечения для модернизации.
дипломная работа [9,2 M], добавлен 23.06.2012Понятие технологии разработки программного обеспечения и модели жизненного цикла. Сущность объектно-ориентированного подхода. Строительные блоки, общие механизмы языка моделирования UML, диаграммы классов, состояний, взаимодействий и компонентов.
курсовая работа [262,5 K], добавлен 10.07.2014Описание и схема информационного взаимодействия элементов системы, выходная и входная информация. Технологические процесс функционирования системы в автоматизированном режиме. Разработка информационного обеспечения системы, алгоритмы программного модуля.
дипломная работа [1,0 M], добавлен 30.08.2010