Создание информационной системы "Poker Helper" с использованием современных средств и подходов проектирования программного обеспечения - Программирование, компьютеры и кибернетика курсовая работа

Создание информационной системы "Poker Helper" с использованием современных средств и подходов проектирования программного обеспечения - Программирование, компьютеры и кибернетика курсовая работа




































Главная

Программирование, компьютеры и кибернетика
Создание информационной системы "Poker Helper" с использованием современных средств и подходов проектирования программного обеспечения

Требования проектирования одного из вариантов покерного калькулятора. Расчет вероятностей появления возможных комбинаций карт в игре при симуляции любого расклада. Модульная структура продукта. Документация по программному коду. Описание test-cases.


посмотреть текст работы


скачать работу можно здесь


полная информация о работе


весь список подобных работ


Нужна помощь с учёбой? Наши эксперты готовы помочь!
Нажимая на кнопку, вы соглашаетесь с
политикой обработки персональных данных

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.


Министерство образования и науки Украины
Национальный аэрокосмический университет им. Н.Е. Жуковского
по дисциплине «Современные средства проектирования программного обеспечения»
на тему: «Создание информационной системы «Poker Helper» с использованием современных средств и подходов проектирования программного обеспечения»
канд. техн. наук, доц. каф. 304 ___________(Радивоненко О.С.)
Пояснительная записка состоит из 55 листов, включает 14 иллюстраций, 5 таблиц, 3 приложения на 20 листах. При ее составлении использовалось 10 источников литературы.
Темой разработки является «Poker Helper» с использованием современных средств и подходов проектирования программного обеспечения.
По результатам, полученным на этапе проектирования, разработан код программы и проведены испытания
КЛЮЧЕВЫЕ СЛОВА: CASE-СРЕДСТВА ПРОЕКТИРОВАНИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ, ДИАГРАММА КЛАССОВ, ДИАГРАММА ВЗАИМОДЕЙСТВИЯ, ДИАГРАММА КОМПОНЕНТОВ, ТЕСТИРОВАНИЕ.
В современном мире компьютерная техника стала необходимым атрибутом жизни. Использование компьютерных технологий позволяет рационально использовать время и ресурсы, а также существенно снизить затраты при расчётах большинства задач, возникающих на практике. Сейчас компьютерные технологии применяются не только в производстве, но и в других областях, таких как спорт или игровая индустрия. Одной из видов деятельности, которые можно отнести к этим областям, является покер.
Подгонять покер под какую-либо классификацию - занятие довольно непростое. При существующем разнообразии занятий, находящихся на грани спорта, и при великом множестве идолов спорта - невозможно ни о чем судить наверняка. Все зависит лишь от точки зрения. Покер прочно обосновался на многочисленных телевизионных каналах, заявляющих о своей онкречительно спортивной направленности. Но речь сейчас не о масштабе распространения покера. Совершенно очевидно, что в покер сейчас играют практически все - и любители, и профессионалы. Но можно ли научить играть в покер компьютер?
Сейчас существует довольно много онлайн-сервисов и программ, предлагающих виртуальный покер. Любой человек может сесть за стол играть как с противником, находящимся в той же комнате, так и с тем, кто находится в любой другой точке земного шара. Но главное - существуют виртуальные противники, все ходы которого просчитывает компьютер. Если есть виртуальные противники, то существуют и виртуальные помощники. Некоторые из таких программ предоставляют вам дополнительную информацию о ваших игровых соперниках, другие помогают узнавать результаты очередных покерных турниров. Есть программы, помогающие проанализировать вашу собственную игру или просчитать шансы на победу.
В принципе, все программы для игры в покер можно разделить на три основных вида.
Во-первых, это всевозможные калькуляторы, назначение которых по завершении игровой сессии произвести детальный анализ сыгранных рук. Они не работают совместно с игровой программой, поэтому воспользоваться ими вы сможете лишь для того, чтобы подвести итоги.
Второй тип программ - это скрипты для игрового софта. При их помощи вы сможете по ходу игры проанализировать вероятность победы. Помимо этого такие программы собирают статистику ваших игр. С помощью полученной статистики можно проанализировать ход игры и продумать стратегию для ваших последующих игр.
Третий тип программ собирает статистическую базу данных по всем участникам. При их помощи вам станут известны сведения о результатах игровых партий оппонентов. Хотя использование программ этой категории запрещены многими покер румами.
Из этих категорий программ больше всего представляет интерес покерный калькулятор, который также может являться ядром программы, играющей против человека.
В данной работе будет произведено проектирование одного из вариантов покерного калькулятора. Основными требованиями являлось создание простого и удобного счетчика шансов для реальной игры и большинства существующих игр онлайн покера. Этот онлайн калькулятор поможет рассчитать шансы появления той или иной комбинации карт в игре покер Холдем. “Poker Helper” может оказать незаменимую помощь всем любителям покера. Этой программой могут пользоваться как профессиональные игроки, так и люди, не знакомые с теорией вероятностей и только начинающие свою практику игры в покер, т.к. с помощью данного программного продукта можно произвести расчёт вероятностей появления возможных комбинаций карт в игре при симуляции любого расклада.
Расчет вероятностей выигрыша на любой стадии игры
В любой момент можете ввести то, что вам известно о картах на ваших руках, на руках соперников и на борде.
Графический интерфейс, который быстро позволяет выбирать из таблиц, как конкретные карты, так и диапазоны карт.
Ввод комбинации карт согласно ситуации, то есть выбор их на форме.
Вывод вероятности выигрыша на форму в отдельную панель
Предложение варианта текущего хода выводятся сообщениями и на форму
Создается документ, в котором будут представлены основные требования к ПП.
Выбирается метод для проектирования ПП.
Создается документ, сопровождающий ПП.
Формирование документов тестирования
Создается документация о результатах тестирования.
Представляется готовый ПП; полный пакет документов; демонстрация на слайдах.
Таблица 2 .1. - Сравнительный анализ средств разработки
Выбор производился по трем вариантам:
На основании проведеннонго анализа можем сделать вывод, что наиболее приемлемый для нас вариант -это вариант А (C#).
Рисунок 2.1 - Диаграмма вариантов использования
Диаграммы прецедентов (рис. 2.1) отображают требования к разраб атываемой системе. Прецедент (вариант использования) - это последовательность действий, выполняемых системой в ответ на событие, инициируемое внешним объектом (таким объектом может быть пользователь, время или внешняя система).
Описание потоков событий для прецедентов системы «Poker Helper».
Вариант использования «Выбрать расклад»:
1. Пользователь может выбрать расклад карт (как минимум из пяти карт: 2 карты игрока и 3 карты на столе), кликая по графическому изображению на панели выбора.
2. Предусловия: наличие ПК, умение пользоваться манипулятором-мышь, желание (необходимость) узнать вероятность появления комбинаций при определённом раскладе.
3.2. Найти графическое изображение карты на панели выбора
3.3. Кликнуть левой кнопкой мыши на карте и она автоматически переместится в соответствующую ячейку на столе.
3.4. При необходимости перейти к шагу 3.2.
А1. Приложение не запускается - проверить, установлено ли приложение; удовлетворяются ли требования к ресурсам для работы приложения. Перезапустить компьютер и повторить шаг 3.1.
А2. Карта не перемещается в соответствующую ячейку на столе - перезапустить приложение, повторить шаги 3.2-3.4.
1. Пользователь может сбросить текущие данные системы (очистить стол и обнулить вероятности).
2. Предусловия: наличие ПК, умение пользоваться манипулятором-мышь, желание (необходимость) очистить или сменить расклад.
26.04. Кликнуть левой кнопкой мыши на кнопке «Сброс» и автоматически обнулятся вероятности, и очистится стол.
А1. Приложение выдаёт ошибку - проверить, выбран ли расклад; удовлетворяются ли требования к ресурсам для работы приложения. Перейти к шагу 3.2.
5. Постусловие: Панель вероятностей и ячейки на столе пусты.
Вариант использования «Просмотр шансов»:
1. Пользователь может узнать шансы появления той или иной комбинации карт в зависимости от расклада.
2. Предусловия: наличие ПК, умение пользоваться манипулятором-мышь, желание (необходимость) узнать вероятность появления комбинаций при определённом раскладе.
3.3. Кликнуть левой кнопкой мыши на кнопке «Рассчитать» и вероятности появятся в специально отведённой на форме панели.
А1. Приложение выдаёт ошибку - проверить, выбран ли расклад; удовлетворяются ли требования к ресурсам для работы приложения. Перейти к шагу 3.2.
5. Постусловие: Вероятности выведены на форму.
Вариант использования «Вызов справки»:
1. Пользователь может узнать шансы появления той или иной комбинации карт в зависимости от расклада.
2. Предусловия: наличие ПК, умение пользоваться манипулятором-мышь, желание (необходимость) узнать вероятность появления комбинаций при определённом раскладе.
3.2. Выбрать на верхней панели (меню) вкладку «Справка»
А1. Приложение выдаёт ошибку - проверить, удовлетворяются ли требования к ресурсам для работы приложения. Перезапустить компьютер и перейти к шагу 1.
А2. Не открывается окошко «Справка» при выборе соответствующей вкладки - попробовать вызвать справку нажатием клавиши F1.
Рисунок 2.2 - Диаграмма деятельности
Диаграммы классов определяют типы классов системы и статические связи между ними. Классы - это типы объектов, которые содержат данные и поведение, которое влияет на эти данные. Бывают граничные, управляющие онкрсы и классы-сущности.
Рисунок 3.1. - Модульная структура программного продукта
Попытка произвести расчёт при отсутствии выбранных карт на столе
Невозможно изменить расклад. Не очищается «Стол»
Не работает вызов справки нажатием клавиши F1
Рисунок 5.1 . - Окно приветствия программы
покерный калькулятор программный код
Для начала работы с программой необходимо выбрать пункт меню «Программа» и в выпадающем списке выбрать «Запуск». Появится основное окно приложения «Poker Helper» (рис. 5.2).Это окно - отправная точка для всех действий, которые пользователь может сделать с системой. Окно разделено на несколько сгруппированных панелей: панели выбора карт (слева), текущего расклада или «стола» (вверху справа), панели управления (в центре) и панели вывода результата расчётов, а также панели меню (вверху). Панель меню включает в себя вкладки «Программа», «Инфо о программе» и «Справка», где можно производить расчёты, вызывать справку, узнать информацию о разработчиках и т.п.
Рисунок 5.2. - Основное окно программы
Изначально система представляет собой приложение с онкрет по умолчанию, т.е. на столе и у игрока нет карт. Для расчёта необходимо изменить исходные данные. Для этого пользователь кликает левой кнопкой мыши на графическом изображении выбранной карты. Программа выдаст сообщение о том, что необходимо выбрать как минимум 5 карт (рис. 5.3).
После того, как выбраны 2 карты игрока и 3 карты флопа, можно рассчитать вероятности. Нажатие кнопки «Рассчитать» выведет на экран для каждой возможной комбинации (от пары до флеш рояль) шансы её появления (рис. 5.4). Далее пользователь может выбрать карты тёрна и ривера и нажатием кнопки «Рассчитать» получить новые вероятности возможных исходов игры, а также очистить «стол» и таблицу текущих шансов нажатием кнопки «Перезапуск».
Рисунок 5. 4 - расчёт вероятностей для флопа
Выбрав пункт «Инфо о программе» на панели меню и кликнув на нём левой кнопкой мыши, пользователь увидит в ответ окошко, где отображена информация о программном продукте «Poker Helper» (рис. 5.5).
Рисунок 5.5 - информация о программе
Целью данной работы была разработка системы «Poker Helper».
Был проведен анализ требований к функциональности данной системы, ограничений, накладываемых на систему и входные параметры. В ходе онклиза было решено использовать ОО подход, как наиболее подходящий для данного случая. С целью разделения функциональности и сущностей был проведен объектный анализ, следствием которого явилось разделение системы на совокупность базовых элементарных классов, которые выполняют ождый свою элементарную задачу. Была построена диаграмма классов и диаграмма модулей для упрощения и систематизации процесса разработки.
В соответствии с проектными документами, была написана программа «Покерный калькулятор». Она позволяет онкретне расчет вероятностей выигрыша на любой стадии игры в холдем, где в любой момент можно ввести данные о том, что вам известно о картах на руках и на столе (и имеющихся, и отсутствующих). Также можно воспользоваться графическим интерфейсом, который онкре позволяет выбирать из таблиц как онкретне карты, так и диапазоны карт, затем нажать на кнопку «Рассчитать», и через несколько секунд искомые вероятности появятся в соответствующих окошках.
1. Г.Буч «Язык UML.Руководство пользователя»
2. Г.Буч, А. Джекодсон , Д.Рамбо «UML основы.Краткое руководство по унафицированному языку моделирования» 2-е издание
3. Влад.В.Головач «Дизайн пользовательского интерфейса»
4. В.В.Лабор «С#.Создание приложений для Windows» - Минск; Харвест 2003 .- 384 с.
5. Макконелл С. «Совершенный код. Мастер класс», М.:Издательство «Русская редакция» СПб.:Питер 2005.-896 стр.
6. Робинсон С, Корнес О, Глин Д «С# для проффесионалов» том I,II, М. :Издательство «ЛОРИ», 2005 .-1002 с.
7. http://msdn.microsoft.com/ru-ru/
8. Лекции и лабораторный практикум по курсу «Современные средства проектирования программного обеспечения».
9. Гмурман В. Е. Теория вероятности и математическая статистика: Учеб. пособие вузов/ В. Е. Гмурман. - 9-е изд., стер. - М.: Высш. Шк., 2003. - 479 c.: ил.
10. http://thepropoker.com/articles/48.html
throw new System.NotImplementedException();
internal static AboutBox1 AboutBox1
throw new System.NotImplementedException();
internal static Kursovoy.Properties.Settings Settings
throw new System.NotImplementedException();
/// Главная точка входа для приложения.
Application.SetCompatibleTextRenderingDefault(false);
private void Form1_Load(object sender, EventArgs e)
for (i = 0; i < Cards.getLength(); i++)
ExtendedPictureBox PictureBox1 = new ExtendedPictureBox();
// Set the location and size of the PictureBox control.
PictureBox1.Location = new System.Drawing.Point(vSpace, hSpase);
PictureBox1.Size = new System.Drawing.Size(32, 42);
PictureBox1.setResourseNameField(Cards.get(i).ToString());
PictureBox1.Image = (Image)Properties.Resources.ResourceManager.GetObject(Cards.get(i).ToString());
PictureBox1.Click += new System.EventHandler(cards_Click);
// Set the SizeMode property to the StretchImage value. This
// will shrink or enlarge the image as needed to fit into
PictureBox1.SizeMode = PictureBoxSizeMode.Normal;
// Set the border style to a three-dimensional border.
PictureBox1.BorderStyle = BorderStyle.Fixed3D;
groupBox2.Controls.Add(PictureBox1);
[System.Runtime.InteropServices.DllImport("gdi32.dll")]
public static extern long BitBlt(IntPtr hdcDest, int nXDest, int nYDest,
int nWidth, int nHeight, IntPtr hdcSrc, int nXSrc, int nYSrc, int dwRop);
Graphics mygraphics = this.CreateGraphics();
memoryImage = new Bitmap(s.Width, s.Height, mygraphics);
Graphics memoryGraphics = Graphics.FromImage(memoryImage);
IntPtr dc2 = memoryGraphics.GetHdc();
BitBlt(dc2, 0, 0, this.ClientRectangle.Width,
this.ClientRectangle.Height, dc1, 0, 0, 13369376);
private void printDocument1_PrintPage(System.Object sender, System.Drawing.Printing.PrintPageEventArgs e)
e.Graphics.DrawImage(memoryImage, 0, 0);
private void cards_Click(object sender, EventArgs e)
ExtendedPictureBox pic = (ExtendedPictureBox)sender;
Card card = Cards.get(pic.getResourseNameField());
MessageBox.Show("Выберите 5 или 6 или 7 карт");
MessageBox.Show("Выбранно больше чем 7 карт, перезапустите программу и повторите выбор");
private void button1_Click(object sender, EventArgs e)
//когда у нас 7 карт - ни на что не делим, когда 6 - на 46, а когда 5- на 1081
MessageBox.Show(("Ошибка в определении вероятности перезапустите программу"+"r/n"+"Если ошибка повторится обратитесь к разработчику"));
ver[0] = (CombinationMaker.PAIR / i)*100;
ver[1] = (CombinationMaker.TWO_PAIR / i)*100;
ver[2] = (CombinationMaker.SET / i)*100;
ver[3] = (CombinationMaker.STRAIGHT / i)*100;
ver[4] = (CombinationMaker.FLUSH / i)*100;
ver[5] = (CombinationMaker.FULL_HOUSE / i)*100;
ver[6] = (CombinationMaker.KARE / i)*100;
ver[7] = (CombinationMaker.STRAIGHT_FLUSH / i)*100;
ver[8] = (CombinationMaker.ROYAL_FLUSH / i)*100;
PAIR.Text = Convert.ToString(ver[0]) + '%';
TWO_PAIR.Text = Convert.ToString(ver[1]) + '%';
SET.Text = Convert.ToString(ver[2]) + '%';
STRAIGHT.Text = Convert.ToString(ver[3]) + '%';
FLUSH.Text = Convert.ToString(ver[4]) + '%';
FULL_HOUSE.Text = Convert.ToString(ver[5]) + '%';
KARE.Text = Convert.ToString(ver[6]) + '%';
STRAIGHT_FLUSH.Text = Convert.ToString(ver[7]) + '%';
ROYAL_Flash.Text = Convert.ToString(ver[8]) + '%';
private void button2_Click(object sender, EventArgs e)
private void выходToolStripMenuItem1_Click(object sender, EventArgs e)
private void печатьToolStripMenuItem_Click(object sender, EventArgs e)
private void перезапускToolStripMenuItem_Click(object sender, EventArgs e)
private void инфоОПрограммеToolStripMenuItem_Click(object sender, EventArgs e)
private void запускToolStripMenuItem1_Click(object sender, EventArgs e)
private void справкаToolStripMenuItem_Click(object sender, EventArgs e)
SysInfo.StartInfo.ErrorDialog = true;
SysInfo.StartInfo.FileName = "PokerStudio.chm";
throw new System.NotImplementedException();
internal Kursovoy.Properties.Resources Resources
throw new System.NotImplementedException();
internal Kursovoy.Properties.Settings Settings
throw new System.NotImplementedException();
public static ExtendedPictureBox[] playerCards = new ExtendedPictureBox[7];
public static Card[] playerCardsDesk = new Card[7];
public static ExtendedPictureBox ExtendedPictureBox
throw new System.NotImplementedException();
public static CombinationMaker CombinationMaker
throw new System.NotImplementedException();
internal static Combination Combination
throw new System.NotImplementedException();
throw new System.NotImplementedException();
public static int addCard(Card card)
playerCards[Count] = new ExtendedPictureBox();
{ /* throw new Exception("Err"); */ }
public static int STRAIGHT_FLUSH = 0;
public static Card[] playerCards=new Card[7];
throw new System.NotImplementedException();
throw new System.NotImplementedException();
playerCards = Desk.playerCardsDesk;
if (card[0] != null && card[1]!=null)
playerCards = Desk.playerCardsDesk;
if (Desk.playerCardsDesk[h] != Cards.get(j))
private static Card[] TwoCard(int j,int h)
for (int k = 0; k < Desk.Count; k++)
if((Desk.playerCardsDesk[k]!=Cards.get(j))&&(Desk.playerCardsDesk[k]!=Cards.get(h)))
private static void Kolichestvo(int val)
MessageBox.Show("Если вы видите это сообщение, то это ошибка");
private static int[] rangCard = new int[14];
private static int[] mastCard = new int[5];
private static bool Bolle(int secMax)
private const int COMBINATION_NUMBER = 11;
private const int STRAIGHT_FLUSH = 9;
private const int ROYAL_FLUSH = 10;
public static void zeroArray(Array ar)
for (int i = 0; i < CombinationMaker.playerCards.Length; i++)
switch (CombinationMaker.playerCards[i].Rangi())
rangCard[Card.TWO] = rangCard[Card.TWO] + 1;
rangCard[Card.THREE] = rangCard[Card.THREE] + 1;
rangCard[Card.FOUR] = rangCard[Card.FOUR] + 1;
rangCard[Card.FIVE] = rangCard[Card.FIVE] + 1;
rangCard[Card.SIX] = rangCard[Card.SIX] + 1;
rangCard[Card.SEVEN] = rangCard[Card.SEVEN] + 1;
rangCard[Card.EIGHT] = rangCard[Card.EIGHT] + 1;
rangCard[Card.NINE] = rangCard[Card.NINE] + 1;
rangCard[Card.TEN] = rangCard[Card.TEN] + 1;
rangCard[Card.JACK] = rangCard[Card.JACK] + 1;
rangCard[Card.QUEEN] = rangCard[Card.QUEEN] + 1;
rangCard[Card.KING] = rangCard[Card.KING] + 1;
rangCard[Card.ACE] = rangCard[Card.ACE] + 1;
switch (CombinationMaker.playerCards[i].Masti())
mastCard[Card.SPADES] = mastCard[Card.SPADES] + 1;
mastCard[Card.HEARTS] = mastCard[Card.HEARTS] + 1;
mastCard[Card.CLUBS] = mastCard[Card.CLUBS] + 1;
mastCard[Card.DIAMONDS] = mastCard[Card.DIAMONDS] + 1;
MessageBox.Show(Convert.ToString(rangCard[i]));
MessageBox.Show(Convert.ToString(mastCard[j]));
if (Bolle(isFl) && Bolle(isST) && checkStraightFlush(isFl))
int maxNum = maxNumberOfSimilarCards(rangCard);
bool secMax = secMaxNumberOfSimilarCards(rangCard, maxNum);
// If we want describe one card situation, write it here
private static bool checkStraightFlush(int suit)
int[] I_values = new int[Card.VALUE_NUMBER];
for (int i = 0; i < CARD_NUMBER; i++)
if (CombinationMaker.playerCards[i].Suit() == suit)
switch (Desk.playerCardsDesk[i].Rangi())
I_values[Card.TWO] = I_values[Card.TWO] + 1;
I_values[Card.THREE] = I_values[Card.THREE] + 1;
I_values[Card.FOUR] = I_values[Card.FOUR] + 1;
I_values[Card.FIVE] = I_values[Card.FIVE] + 1;
I_values[Card.SIX] = I_values[Card.SIX] + 1;
I_values[Card.SEVEN] = I_values[Card.SEVEN] + 1;
I_values[Card.EIGHT] = I_values[Card.EIGHT] + 1;
I_values[Card.NINE] = I_values[Card.NINE] + 1;
I_values[Card.TEN] = I_values[Card.TEN] + 1;
I_values[Card.JACK] = I_values[Card.JACK] + 1;
I_values[Card.QUEEN] = I_values[Card.QUEEN] + 1;
I_values[Card.KING] = I_values[Card.KING] + 1;
I_values[Card.ACE] = I_values[Card.ACE] + 1;
I_values[Card.FAKE_ACE] = I_values[Card.ACE];
return Bolle(isStraight(I_values));
private static int isFlush(int[] mastCard)
else if (mastCard[Card.CLUBS] >= 5)
else if (mastCard[Card.DIAMONDS] >= 5)
else if (mastCard[Card.HEARTS] >= 5)
private static int isStraight(int[] values)
for (i = Card.VALUE_NUMBER - 1; (i >= 0) && (str_num < 5); i--)
public static int maxNumberOfSimilarCards(int[] values)
for (var i = Card.TWO; i < Card.VALUE_NUMBER; i++)
public static bool secMaxNumberOfSimilarCards(int[] values, int max)
for (var i = Card.TWO; i < Card.VALUE_NUMBER; i++)
if (!isMaxUsed && (values[i] == max))
public static string getTextValue()
return "Если вы видите это сообщение, то это ошибка";
public static int[] valu = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 ,13};
public static int[] sui = new int[] { 1, 2, 3,4 };
public static string[] mast = new string[] { "P", "CH", "K", "B" };
public static string[] rang = new string[] { "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K", "T" };
static private Card[] cards = new Card[52];
throw new System.NotImplementedException();
internal Kursovoy.Properties.Resources Resources
throw new System.NotImplementedException();
for (int i = 0; i < mast.Length; i++)
for (int j = 0; j < rang.Length; j++)
cards[counter++] = new Card(mast[i], rang[j],valu[j],sui[i]);
public static Card get(string escapedObject)
if (card.ToString().Equals(escapedObject))
public static void set(int index, string mast, string rang,int value,int suits)
cards[index] = new Card(mast, rang,value,suits);
public const int VALUE_NUMBER = 14;
public Card(string suits, string values,int val,int suit)
return String.Format("{0}{1}", this.suits, this.values);
Программный продукт на данном этапе ещё не готов к использованию, т.к. содержит ошибки, критические в том числе. Приложение требует доработок, после которых он сможет быть простым и удобным в использовании.
Начало тестирования: 14.04.2011 14.00
Окончание тестирования: 21.04.2011 19.00
Процессор: Intel Core 2 Duo 2.4 GHz
4. Выбор карт различных мастей и рангов на панели «Карты».
5. Проверка работы кнопок панели управления.
6. Проверка правильности расчётов для всех возможных комбинаций (от пары до Флеш Рояль)
7. Проверка работы программы при её длительной работе.
Пункты, которым уделялось особое внимание
Общая работоспособность программы. Выполнение основных функций. Правильность результатов расчёта.
M - багов в результате стресс тестирования. М = 1
Из них 3 бага подлежит немедленному исправлению, т.к. их наличие мешает выполнению назначения программы. (BugIDs <1!!!><2><3>)
При проведении тестирования проверялась спецификация в полном объеме. Возможно, некоторые ошибки были упущены.
Продукт практически готов к использованию. Требуется исправить функциональные ошибки, т.к. их наличие приводит к нестабильной работе приложения и неверным результатам.
Необходимо подключить справку. Исправить ошибки в расчёте вероятностей для комбинаций Флеш и Стрит Флеш. В интерфейсе следует изменить цвет шрифта, т.к. он сливается с фоном.
Общая характеристика, цели и функции создания, модульная структура и взаимосвязь элементов необходимого программного продукта, предъявляемые к нему требования. Комплект поставки и порядок инсталляции, запуск разработанного программного продукта. курсовая работа [32,0 K], добавлен 11.11.2013
Методика проектирования информационной системы "Учебные планы. Вычитка часов", ее структура и основные элементы, назначение и сферы использования. Основные требования к данному программному обеспечению, выбор средств его реализации и обоснование выбора. курсовая работа [1,3 M], добавлен 13.08.2009
Среда проектирования программного обеспечения Rational Rose. Унифицированный язык моделирования UML. Требования к функциональности, к безопасности, интерфейсу, настраиваемости, информационной и программной совместимости, программная документация. курсовая работа [582,0 K], добавлен 20.07.2011
Принципы и основные этапы проектирования информационной системы, требования к ее функционалу и оценка возможностей, сферы практического применения. Анализ и обоснование используемого программного обеспечения и технических средств. Листинг программы. контрольная работа [1,4 M], добавлен 04.02.2017
Разработка Базы Данных для информационной системы архива. Обоснование выбора Entity-Attribute-Value в качестве метода проектирования БД. Модификация ROT с учетом наследования, модели Тенцера. Процесс генерации таблиц. Тестовые примеры (test cases). дипломная работа [5,3 M], добавлен 19.01.2014
Цели и задачи проектирования информационной системы, основные требования к ней, внутренняя структура и взаимосвязь отдельных компонентов. Обзор и анализ существующих программных разработок. Обоснование стратегии автоматизации и технологии проектирования. курсовая работа [3,3 M], добавлен 12.01.2015
Требования к программному обеспечению, выбор методологии проектирования информационной системы учета и анализа деятельности руководящего аппарата. Проектирование пользовательского программного интерфейса, взаимодействие приложения с источниками данных. дипломная работа [2,4 M], добавлен 12.01.2011
Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д. PPT, PPTX и PDF-файлы представлены только в архивах. Рекомендуем скачать работу .

© 2000 — 2021



Создание информационной системы "Poker Helper" с использованием современных средств и подходов проектирования программного обеспечения курсовая работа. Программирование, компьютеры и кибернетика.
Ampastra Ru Дипломный Отдел
Курсовая Работа Пример Оформления Образец
Реферат На Тему Правопреемство И Объем Ответственности Наследников По Долгам Наследодателя, Обязанного К Возмещению Вреда, Причиненного В Результате Дорожно-Транспортного Происшествия
Реферат: Середовище пов язане з використанням техніки
Реферат На Тему Счетчик Гейгера—Мюллера
Реферат: Анализ рекламной деятельности конкурентов. Скачать бесплатно и без регистрации
Комплексный Центр Социального Обслуживания Населения Курсовая
Сочинение Почему Чацкого Объявили Сумасшедшим
Реферат по теме Экономическая политика Украины 90-х годов
Дипломная работа по теме Приспособление для правки кузовов
Курсовая работа по теме Галогенопохідні углеводородів реакції нуклеофільного заміщення в аліфатичному ряді
Курсовая работа по теме Оценка стоимости предприятия ОАО 'ЗМЗ'
Курсовая работа по теме Формирование стратегии предприятия. Суши-бар при Отеле 'Санкт-Петербург'
Курсовая работа по теме Особенности профессионального самоопределения в классах с профильным обучением
Сочинение 11 Класс Направления
Махинации С Банковскими Картами Реферат
Реферат Законодательная Деятельность
Реферат: Фінансова санація підприємства
Реферат по теме Учет индивидуально-психологических особенностей в процессе обучения в начальной школе
Реферат по теме Русская живопись: от классицизма к авангардизму
Оперативное лечение рака пищевода - Медицина презентация
Изучение модели президентства в России и Америки: их статус и полномочия Президента - Государство и право курсовая работа
Маркетинговая стратегия молочного предприятия - Маркетинг, реклама и торговля монография


Report Page