Разработка програмного обеспечения автоматизированного рабочего места калькулятора

Автор: Пользователь скрыл имя, 13 Ноября 2011 в 10:45, дипломная работа

Описание работы

Цель:
Разработать программный продукт, для автоматизации рабочего места калькулятора столовой.
Задачи:
Изучить деятельность калькулятора, необходимость ее автоматизации;
Проанализировать назначение программы калькулятора;
Рассмотреть аналоги программы, применяемые в различных отраслях производства;
Проанализировать этапы разработки программного обеспечения;
Подобрать модель жизненного цикла для разработки программы калькулятора;
Выбрать программное обеспечение наиболее подходящее для создания данной программы;
Выполнить тестирование программы;
Оформить документацию на программный продукт.

Содержание

ВВЕДЕНИЕ …………………………………………………………………………………………………3
Глава I. ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ, НЕОБХОДИМЫЕ ДЛЯ СОЗДАНИЯ ПРОГРАММЫ………………………………………………………………………………………………………5
1.1 Структура автоматизированного рабочего места специалиста……5
1.2 Особенности деятельности инженера технолога по калькуляции блюд …………………………………………………………………………………………………………7
1.3 Анализ аналогов программ……………………………………………………….…12
1.4 Этапы проектирования …………………………………………………………………16
1.5 Модель жизненного цикла программы ………………………………………18
1.6 Обоснования выбора средств создания программы ….………………21
1.7 Тестирование программных продуктов ………………………………………26
ГЛАВА II. ПРАКТИЧЕСКАЯ ЧАСТЬ РАБОТЫ………………………………………………33
2.1 Концептуальная фаза …………………………………………………………………..33
2.2 Моделирование ……………………………………………………………………………34
2.3 Разработка программного продукта……………………………………………38
2.4 Тестирование программного продукта .………………………………………45
2.5 Ввод программы в эксплуатацию…………………………………………………46
Заключение .……………………………………………………………………………………………48
Список использованной литературы………………………………………..……………49

Работа содержит 1 файл

Готовый диплом.docx

— 355.25 Кб (Скачать)

     ADO- более новая технология чем  ODBC, работает через интерфейс  OLE DB.

     Впрочем, можно использовать ADO и через ODBC. OLE DB превосходит ODBC по скорости и, похоже, Microsoft основную ставку делает именно на парочку ADO+OLE DB. Более того, похоже, и Borland делает ставку на ADO, старик BDE готовится  к отправке на пенсию, а компоненты для работы с ADO от Borland (ADOExpress) теперь входят в поставку Delphi. (существуют также Delphi-компоненты для работы с ADO от сторонних фирм). Так что если вы хотите работать с MS SQL 7 или MS SQL 2000 без  ограничений, которые накладывает BDE, то вам прямая дорога к изучению ADO Express. Что касается баз Access то я  очень бы посоветовал обратить на них внимание, уставшим от «парадоксального»  поведения Paradox+BDE. Начиная с версии Access 2000 Microsoft удалось догнать и  перегнать старый, добрый Paradox.  

     2.3 Разработка программного продукта 

     Реализация  основных функций. 

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

     Добавление  новой записи  в БД («Добавить  блюдо»). Открывается форма, в которой  пользователь вводит необходимые данные, затем при нажатии на кнопку «Добавить  ингредиент» пользователь вводит дополнительные данные. Затем при нажатии на кнопку «Добавить блюдо» происходит добавление записи в БД. 
 

     Добавление  блюда в Б.Д. происходит в несколько  этапов, т.к. необходимо ввести ингредиенты  и другие параметры. 

       ADOTable1.Filter:='';

       ADOTable1.Filtered:=True;

       Combobox1.Text:='';

       Form1.Enabled:=false;

       Form2.Show; 

     Для добавление ингредиента необходимо заполнить дополнительные поля такие  как:

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

     if pos('0',LabeledEdit2.Text)<>1 then begin

     with Ing do

     begin

     RowCount:=RowCount+1;

     Cells[0,RowCount-1]:='1';

     Cells[1,RowCount-1]:=ComboBox3.Text;   //labeledEdit1.Text;

     Cells[2,RowCount-1]:=ComboBox1.Text;

     Cells[3,RowCount-1]:=LabeledEdit2.Text;

     Cells[4,RowCount-1]:=ComboBox2.Items[ComboBox2.ItemIndex];

     Cells[5,RowCount-1]:=LabeledEdit3.Text;

     Cells[6,RowCount-1]:=LabeledEdit4.Text;

     Cells[7,RowCount-1]:=LabeledEdit5.Text; 
 

     Функция экспорта меню в MSWord имеет следующий код. 

       if not OLEIsActive then

       begin

       OLEIsActive:=true;

       Table:=Unassigned;

       Doc:=Unassigned;

       Word:=Unassigned;

       Connected:=true;

       try

       Word := CreateOleObject('Word.Application');

       except

       Beep;

       MessageDlg('Ошибка соединения с MS Word',mtError,[mbOK],0);

       Connected:=false;

       end;

       if Connected=true then

       begin

       Doc:= Word.Documents.Add;

       Doc.PageSetup.Orientation:=0;

       Doc.PageSetup.TopMargin:=25;

       Doc.PageSetup.LeftMargin:=25;

       Doc.PageSetup.BottomMargin:=25;

       Doc.PageSetup.RightMargin:=25;

       Word.Selection.Start:=Doc.Characters.Count;

       Doc.Range.InsertAfter('МЕНЮ' + #13#10#13#10);

       Word.Selection.End:=Doc.Characters.Count;

       Word.Selection.Font.Bold:=true;

       T:= TADOTable.Create(Application);

       T.Connection:=ADOConnection1;

       T.TableName:='Блюда';

       T.Filtered:=false;

       T.Active:=true;

       S:= TStringList.Create;

       S.Clear;

       Word.Selection.Start:=Doc.Characters.Count;

       Word.Selection.End:=Doc.Characters.Count;

       Word.Selection.Font.Bold:=false;

       for i:=1 to T.RecordCount do

       begin

       T.RecNo:=I;

       if not ExistLineInList(S,T.Fields[5].AsString) then

       S.Add(T.Fields[5].AsString);

       end;

       for i:=0 to S.Count-1 do

       begin

       Word.Selection.Start:=Doc.Characters.Count;

       Doc.Range.InsertAfter(S[I]+#13#10);

       Word.Selection.End:=Doc.Characters.Count;

       Word.Selection.Font.Bold:=true;

       Word.Selection.Start:=Doc.Characters.Count;

       Word.Selection.End:=Doc.Characters.Count;

       Word.Selection.Font.Bold:=false;

       for j:=1 to T.RecordCount do

       begin

       T.RecNo:=J;

       if AnsiUpperCase(T.Fields[5].AsString) =

       AnsiUpperCase(S[i]) then

       begin

       Word.Selection.Start:=Doc.Characters.Count;

       Word.Selection.End:=Doc.Characters.Count;

       Table:=Doc.Tables.Add(Word.Selection.Range, 1, 2);

       Table.Borders.Item(-1).LineStyle:=0;

       Table.Borders.Item(-2).LineStyle:=0;

       Table.Borders.Item(-3).LineStyle:=0;

       Table.Borders.Item(-4).LineStyle:=0;

       Table.Borders.Item(-5).LineStyle:=0;

       Table.Borders.Item(-6).LineStyle:=0;

       Table.Cell(1,1).Range.Text:='         '+T.Fields[1].AsString;

       Table.Cell(1,2).Range.Text:='         '+T.Fields[4].AsString+' р.';

       Table:=Unassigned;

       Word.Selection.Start:=Doc.Characters.Count;

       Word.Selection.End:=Doc.Characters.Count;

       Doc.Range.InsertAfter(' ');

       end;

       end;

       Doc.Range.InsertAfter(#13#10);

       end;

       S.Destroy;

       T.Destroy;

       Doc.Range.InsertAfter(#13#10#13#10);

       F:=TIniFile.Create(ExtractFilePath(Application.ExeName)+'\config.ini');

       Word.Selection.Start:=Doc.Characters.Count;

       Doc.Range.InsertAfter('Зам. по УПР                  ');

       Word.Selection.End:=Doc.Characters.Count;

       Word.Selection.Font.Bold:=true;

       Word.Selection.Start:=Doc.Characters.Count;

       Doc.Range.InsertAfter(F.ReadString('ORG','UPR','')+#13#10);

       Word.Selection.End:=Doc.Characters.Count;

       Word.Selection.Font.Bold:=false;

       Word.Selection.Start:=Doc.Characters.Count;

       Doc.Range.InsertAfter('Зав. Производством    ');

       Word.Selection.End:=Doc.Characters.Count;

       Word.Selection.Font.Bold:=true;

       Word.Selection.Start:=Doc.Characters.Count;

       Doc.Range.InsertAfter(F.ReadString('ORG','proizv','')+#13#10);

       Word.Selection.End:=Doc.Characters.Count;

       Word.Selection.Font.Bold:=false;

       Word.Selection.Start:=Doc.Characters.Count;

       Doc.Range.InsertAfter('Калькулятор                ');

       Word.Selection.End:=Doc.Characters.Count;

       Word.Selection.Font.Bold:=true;

       Word.Selection.Start:=Doc.Characters.Count;

       Doc.Range.InsertAfter(F.ReadString('ORG','CALC',''));

       Word.Selection.End:=Doc.Characters.Count;

       Word.Selection.Font.Bold:=false;     

       F.Destroy;

       Word.Selection.Start:=Doc.Characters.Count;

       Word.Selection.End:=Doc.Characters.Count;

       Word.Visible:=true; 
 

     Использование калькуляционной карты 

 

       if ComboBox1.Text<>'' then

       begin

       ADOTable1.Filter:='òèï_áëþäà='+QuotedStr(ComboBox1.Text);

       ADOTable1.Filtered:=True;

       end

       else begin

       ADOTable1.Filter:='';

       ADOTable1.Filtered:=True; 

     Защита  от «дурака» реализована таким образом 

     s:=LabeledEdit2.Text;

     i:=pos(',',s);

     Delete(s,i+3,100);

     LabeledEdit2.Text:=s; 
 
 

     2.4 Тестирование программного продукта. 

           Субхарактеристики и  атрибуты качества программного продукта.

           Функциональная пригодность.

    1. Соответствие назначенным целям. Была разработана программа «АРМ калькулятора» выполняющая все действия связанные с добавлением, удалением, редактированием записей.
    2. Соответствие требований к функциям Т.З.. В ходе тестирования все функции выполняют правильное назначение их действий, такие как: добавление, удаление, редактирование данных, экспорт данных в MSWord, генерация меню.
    3. Соответствие исходной информации требованиям к функциям Т.З.. Правильной реализацией всех  функций, послужил  анализ аналогов программного обеспечения, что помогло при создании похожего программного продукта, но с меньшими функциями.
 

     Корректность:

    1. Все функции которые реализованы в программе соответствуют функциям которые указаны в Т.З..
    2. В ходе проведения тестирования были проверены функциональные компоненты на корректность работы и тестирование показало, что функциональные компоненты работают правильно.
    3. На этом этапе тестирование происходила отладка правильной работоспособности программы, так как получения результата не означало что он является достоверным.

     Способность к взаимодействию:

  1. С операционной системой. Данный программный продукт был протестирован на трёх операционных системах ( WindowsХP, Windows Vista, Windows 7), различного рода ошибки в плане отображения были откорректированы, на других операционных системах тестирование не происходило.
  2. С аппаратной средой. Основным аппаратным устройством с которым взаимодействует данный программный продукт – это принтер, на этом этапе было протестировано что программа нормально взаимодействует со всеми принтерами(Вывод меню в MSWord->Печать).
  3. С внешней средой информационной системы и пользователями. На это этапе тестирования, программу использовали различные пользователи, никаких ошибок не было найдено.

Информация о работе Разработка програмного обеспечения автоматизированного рабочего места калькулятора