Автор: Пользователь скрыл имя, 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
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]:=
Cells[2,RowCount-1]:=
Cells[3,RowCount-1]:=
Cells[4,RowCount-1]:=
Cells[5,RowCount-1]:=
Cells[6,RowCount-1]:=
Cells[7,RowCount-1]:=
Функция экспорта меню в
MSWord имеет следующий код.
if not OLEIsActive then
begin
OLEIsActive:=true;
Table:=Unassigned;
Doc:=Unassigned;
Word:=Unassigned;
Connected:=true;
try
Word := CreateOleObject('Word.
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:=
Doc.PageSetup.RightMargin:=25;
Word.Selection.Start:=Doc.
Doc.Range.InsertAfter('МЕНЮ' + #13#10#13#10);
Word.Selection.End:=Doc.
Word.Selection.Font.Bold:=
T:= TADOTable.Create(Application);
T.Connection:=ADOConnection1;
T.TableName:='Блюда';
T.Filtered:=false;
T.Active:=true;
S:= TStringList.Create;
S.Clear;
Word.Selection.Start:=Doc.
Word.Selection.End:=Doc.
Word.Selection.Font.Bold:=
for i:=1 to T.RecordCount do
begin
T.RecNo:=I;
if not ExistLineInList(S,T.Fields[5].
S.Add(T.Fields[5].AsString);
end;
for i:=0 to S.Count-1 do
begin
Word.Selection.Start:=Doc.
Doc.Range.InsertAfter(S[I]+#
Word.Selection.End:=Doc.
Word.Selection.Font.Bold:=
Word.Selection.Start:=Doc.
Word.Selection.End:=Doc.
Word.Selection.Font.Bold:=
for j:=1 to T.RecordCount do
begin
T.RecNo:=J;
if AnsiUpperCase(T.Fields[5].
AnsiUpperCase(S[i]) then
begin
Word.Selection.Start:=Doc.
Word.Selection.End:=Doc.
Table:=Doc.Tables.Add(Word.
Table.Borders.Item(-1).
Table.Borders.Item(-2).
Table.Borders.Item(-3).
Table.Borders.Item(-4).
Table.Borders.Item(-5).
Table.Borders.Item(-6).
Table.Cell(1,1).Range.Text:='
Table.Cell(1,2).Range.Text:='
Table:=Unassigned;
Word.Selection.Start:=Doc.
Word.Selection.End:=Doc.
Doc.Range.InsertAfter(' ');
end;
end;
Doc.Range.InsertAfter(#13#10);
end;
S.Destroy;
T.Destroy;
Doc.Range.InsertAfter(#13#10#
F:=TIniFile.Create(
Word.Selection.Start:=Doc.
Doc.Range.InsertAfter('Зам. по УПР ');
Word.Selection.End:=Doc.
Word.Selection.Font.Bold:=
Word.Selection.Start:=Doc.
Doc.Range.InsertAfter(F.
Word.Selection.End:=Doc.
Word.Selection.Font.Bold:=
Word.Selection.Start:=Doc.
Doc.Range.InsertAfter('Зав. Производством ');
Word.Selection.End:=Doc.
Word.Selection.Font.Bold:=
Word.Selection.Start:=Doc.
Doc.Range.InsertAfter(F.
Word.Selection.End:=Doc.
Word.Selection.Font.Bold:=
Word.Selection.Start:=Doc.
Doc.Range.InsertAfter('
Word.Selection.End:=Doc.
Word.Selection.Font.Bold:=
Word.Selection.Start:=Doc.
Doc.Range.InsertAfter(F.
Word.Selection.End:=Doc.
Word.Selection.Font.Bold:=
F.Destroy;
Word.Selection.Start:=Doc.
Word.Selection.End:=Doc.
Word.Visible:=true;
Использование
калькуляционной карты
if ComboBox1.Text<>'' then
begin
ADOTable1.Filter:='òèï_áëþäà='
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
Тестирование программного
Субхарактеристики и атрибуты качества программного продукта.
Функциональная
Корректность:
Способность к взаимодействию: