Сделай Сам Свою Работу на 5

Приложение. Программный код





ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ

ФГБО УВПО НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ УНИВЕРСИТЕТ «МОСКОВСКИЙ ЭНЕРГЕТИЧЕСКИЙ ИНСТИТУТ (ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ)»

ИНСТИТУТ МЕНЕДЖМЕНТА И ЭКОНОМИКИ В ЭНЕРГЕТИКЕ И ПРОМЫШЛЕННОСТИ

Кафедра «Прикладная и бизнес-информатика»

 

 

ОТЧЕТ ПО ЛАБОРАТОРНЫМ РАБОТАМ

 

по дисциплине: «Корпоративные информационные системы»

на тему: «Разработка программного средства, формирующего решение задачи-головоломки “Обезьяна и бананы”»

 

Выполнил: студент группы ИЭ-61-12

Пономарев Сергей Андреевич

Преподаватель: Головина Елена Юрьевна

 

Москва 2013г.

 

Оглавление

 

1. Постановка задачи 3

2. Результаты работы по разработке программного средства, формирующего решение задачи-головоломки, на всех этапах жизненного цикла 4

2.1 Формализация решения задачи-головоломки на продукционном

языке представления знаний 4

2.2 Результаты работ, выполненные на этапе анализа в жизненном цикле по разработке программного средства 5

2.3 Результаты работ, выполненные на этапе проектирования в жизненном цикле по разработке программного средства 9



2.4 Результаты работ этапах программирования и тестирования в жизненном цикле по разработке программного средства 11

Заключение 13

Библиографический список 14

Приложение. Программный код 15

 

1. Постановка задачи

Разработать программное средство, решающее задачу-головоломку «Обезьяна и бананы», в основе которого лежит алгоритм нахождения наименьшего пути:

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

2. Обезьяна может двигать ящик, если стоит рядом с ним (перпендикулярно)

3. Обезьяна может забираться на ящик

4. Обезьяна может достать бананы, если стоит на ящике прямо под ними.

 

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

 

В соответствии с основными этапами жизненного цикла разработки программных средств должны быть проведены следующие работы.

 

1) На этапе анализа формализовать решение задачи-головоломки и разработать диаграммы: деятельности, прецедентов и последовательности.



 

2) На этапе логического проектирования разработать диаграмму классов.

 

3) На этапе физического проектирования разработать диаграмму компонентов и размещения.

 

4) На этапе реализации разработать программное средство в среде программирования С++ Builder.

 

5) На этапе тестирования осуществить проверку функционального и параметрического соответствия программного средства показателям, определенным на этапе анализа.

 

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

 

- на этапе анализа и проектирования: CASE-систему Rational Rose Enterprise;

 

- на этапе программирования и тестирования: визуальная среда для быстрой разработки приложений на языке C++ – Borland C++ Builder.

 

2. РЕЗУЛЬТАТЫ РАБОТЫ ПО РАЗРАБОТКЕ ПРОГРАММНОГО СРЕДСТВА, ФОРМИРУЮЩЕГО РЕШЕНИЕ ЗАДАЧИ-ГОЛОВОЛОМКИ, НА ВСЕХ ЭТАПАХ ЖИЗНЕННОГО ЦИКЛА

2.1. Формализация решения задачи-головоломки на продукционном языке представления знаний

IF(m=53&b=33&y=13&r=0) m=52

IF (r=0&m=52&b=33&y=13) THEN m=42

IF(r=0&m=42&b=33&y=13)THEN m=32

IF(r=0&m=32&b=33&y=13) THEN m=22

IF(r=0&m=22&b=33&y=13)THEN m=12

IF (r=0&m=12&b=33&y=13) THEN y=23

IF(r=0&m=12&b=33&y=23) THEN m=22

IF(r=0&m=22&b=33&y=23) THEN y=33

IF(r=0&m=22&b=33&y=33) THEN m=32

IF (r=0&m=32&b=33&y=33) THEN m=33

IF (r=0&m=33&b=33&y=33) THEN r=0

2.2. Результаты работ, выполненные на этапе анализа в жизненном цикле по разработке программного средства

 

Диаграмма Activity используется для описания бизнес-процессов, подлежащих автоматизации (см. рис.1). На диаграммах деятельности отражен процесс решения задачи-головоломки «Обезьяна и бананы». Как видно из диаграмм автоматизируется сам процесс решения головоломки. Этот тип диаграмм позволяет показать последовательность процессов, выполняемых при решении задачи-головоломки. На рис.2 представлена последовательность шагов для решения задачи-головоломки.



 

Рис. 1. Диаграмма Activity автоматизированная


Рис. 2. Диаграмма Activity ход решения головоломки

 


Диаграмма Use Case позволяет создать список операций, которые выполняют программные средства. На основе набора таких диаграмм создается список требований к программным средствам и определяется множество выполняемых ими функций. Диаграмма Use case описывать сценарии поведения, которым следуют действующие лица. В случае нашей работы, действующих лиц было двое: пользователь и программное средство (см. рис.3).

 

Рис. 3. Диаграмма Use Case

 

Диаграмма Sequence позволяет описать взаимодействия объектов, отразить последовательность выполнения операций при решении задачи-головоломки их исполнителями (см. рис.4).

 

Рис. 4. Диаграмма Sequence

 

 

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

Class Diagram позволяет создавать логические представления программных средств (логические структуры программных средств), на основе которого создается исходный код описанных классов. Значки диаграммы позволяют отображать сложную иерархию программных средств, взаимосвязи классов (Classes) и интерфейсов (Interfaces). В нашем случае описывается два класса (см. рис.5)

 

 

Рис. 5. Диаграмма Class

 

Component Diagram предназначен для распределения классов и объектов по компонентам при физическом проектировании системы. При проектировании сложных программных средств может оказаться, что программные средства должны быть разложены на несколько сотен или даже тысяч компонентов, и этот тип диаграмм позволяет не потеряться в обилии модулей и их связей (см. рис.6).

 

Рис. 6. Component Diagram

 

Deployment Diagram предназначена для анализа аппаратной части программных средств. Для каждой модели создается только одна такая диаграмма, отображающая процессоры (Processor), устройства (Device) и их соединения. Обычно этот тип диаграмм используется в самом начале проектирования программных средств для анализа аппаратных средств, на которых они будут эксплуатироваться.

Рис. 7. Deployment Diagram

 

 


2.4. Результаты работ этапах программирования и тестирования в жизненном цикле по разработке программного средства

 

На этапе программирования создан программный код в среде C++ Builder. (см. приложение «Программный код»), разработаны и описаны экранные формы (см. рис.8), с помощью которых можно представить работу и возможности разрабатываемого программного средства, а так же проведено его тестирование с целью проверки правильного выполнения сценариев, описанных в программном коде (см. рис.10).

 

Рис. 8. Экранная форма при запуске приложения

 

Рис. 9. Результат тестирования

 

 


Заключение

В соответствии с основными этапами жизненного цикла разработки программных средств были проведены следующие работы.

 

1) На этапе анализа формализованы решение задачи-головоломки и разработаны диаграммы деятельности, прецедентов и последовательности.

 

2) На этапе логического проектирования разработана диаграмма классов.

 

3) На этапе физического проектирования были разработаны диаграммы компонентов и размещения.

 

4) На этапе реализации было разработано программное средство в среде программирования С++ Builder.

 

5) На этапе тестирования была осуществлена проверка функционального и параметрического соответствия программного средства показателям, определенным на этапе анализа.


Библиографический список

1. http://igroflot.ru/flash_games_3.htm

2. Информационные технологии в экономике. Серия «Высшее образование». Под ред. д.т.н., проф. Ю.Ф. Симеонова. –Ростов -на-Дону: Феникс, 2003.

3. В.В.Липаев Качество программных средств. Методические рекомендации. –М: «Янус-К», 2002

4. Олифер, Олифер Компьютерные сети. Принципы, технологии, протоколы. –СПб.: Питер , 2003. ISBN 5-94723-478-5

5. Г.Н. Смирнова, А.А. Сорокин, Ю.Ф. Тельнов Проектирование экономических информационных систем. Учебник. –М.: Финансы и статистика, 2002. –512 с.

6. Якоюсон А., Буч Г., Рамбо Дж. Унифицированный процесс разработки программного обеспечения. –СПб.: Питер, 2002.

7. А.Я Архангельский Программирование в C++Builder 6.–М.:Бином, 2005.

Приложение. Программный код

(Unit1)

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include "Unit1.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TForm1 *Form1;

//---------------------------------------------------------------------------

__fastcall TForm1::TForm1(TComponent* Owner)

: TForm(Owner)

{

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)

{

int i,m,b,y,r;

//m-обезьяна,b-бананы,y-ящик,r-результат

//ввод данных

m=53;

b=33;

y=13;

r=0;

i=0;

//рассчеты

while(i<100)

{

if(m==53&&b==33&&y==13&&r==0)

{m=52;

Memo1->Lines->Add("Обезьяна идет влево от двери");

i++;continue;

}

if(r==0&m==52&&b==33&&y==13)

{

m=42;

Memo1->Lines->Add("Обезьяна делает шаг к окну");

i++;continue;

}

if(r==0&&m==42&&b==33&&y==13)

{

m=32;

Memo1->Lines->Add("Обезьяна делает шаг к окну");

i++;continue;

}

if(r==0&&m==32&&b==33&&y==13)

{

m=22;

Memo1->Lines->Add("Обезьяна делает шаг к окну");

i++;continue;

}

if(r==0&&m==22&&b==33&&y==13)

{

m=12;

Memo1->Lines->Add("Обезьяна делает шаг к окну");

i++;continue;

}

if(r==0&&m==12&&b==33&&y==13)

{

y=23;

Memo1->Lines->Add("Обезьяна двигает ящик к двери");

i++;continue;

}

if(r==0&&m==12&&b==33&&y==23)

{

m=22;

Memo1->Lines->Add("Обезьяна делает шаг к двери");

i++;continue;

}

if(r==0&&m==22&&b==33&&y==23)

{

y=33;

Memo1->Lines->Add("Обезьяна двигает ящик к двери,ящик стоит под бананами");

i++;continue;

}

if(r==0&&m==22&&b==33&&y==33)

{

m=32;

Memo1->Lines->Add("Обезьяна делает шаг к двери");

i++; continue;

}

if(r==0&&m==32&&b==33&&y==33)

{

m=33;

Memo1->Lines->Add("Обезьяна взбирается на ящик");

i++;continue;

}

if(r==0&&m==33&&b==33&&y==33)

{

r=1;

Memo1->Lines->Add("Обезьяна достает банан");

i++;break;

}

}

if(i<100) Memo1->Lines->Add("Задача решена!");

else Memo1->Lines->Add("Задача решена неверно");

}

//---------------------------------------------------------------------------

 








Не нашли, что искали? Воспользуйтесь поиском по сайту:



©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.