Глава 1. Характеристика предприятия
Областное государственное бюджетное образовательное учреждение
среднего профессионального образования
«Смоленский промышленно-экономический колледж»
(ОГБОУ СПО «Смоленский промышленно-экономический колледж»)
ОТЧЕТ
по производственной практике (учебной/по профилю специальности)
в рамках профессионального модуля ПМ.03 Интеграция программных модулей
Выполнил студент группы _____________________________ Подпись:____________________ «__» _______20__ г. Место прохождения практики: _______________________________________________________________ Руководитель производственной практики на предприятии: _____________________________________________________________ Подпись:____________________ «__» _______20__ г. Руководитель производственной практики в колледже: Логунова Е.А., преподаватель Подпись:____________________ «__» _______20__ г. Оценка:_____________________ |
Смоленск 2014
Введение………………………………………………………………………………1
Глава 1. Характеристика предприятия
1.1 Краткое описание и структура предприятия………………………………2
1.2 Ознакомление с инструкциями по занимаемой должности, охране труда, технике безопасности и пожарной безопасности при работе с вычислительной техникой……………………………………………………3
1.3 Анализ технических возможностей и программного обеспечения компьютерной техники, задействованной на предприятии………………………7
Глава 2. Описание технологии выполнения практического задания
2.1 Исследование предметной области поставленной задачи…………………8
2.2 Выбор технологии, языка и среды разработки……………………………9
2.3 Разработка UML – диаграмм и их описание………………………………10
Глава 3. Разработка программного обеспечения
3.1 Разработка структуры программного обеспечения……………………….13
3.2 Описание основных алгоритмов работы программного обеспечения…..15
3.3 Проектирование пользовательского интерфейса………………………….19
Глава 4. Тестирование программного обеспечения
4.1 Выбор стратегии тестирования……………………………………………20
4.2 Разработка тестовых наборов………………………………………………21
3.3 Анализ результатов тестирования………………………………………….27
Заключение………………………………………………………………………….28
Список использованных источников……………………………………………29
Приложение 1. Техническое задание на создание программного средства
Приложение 2. Спецификация
Приложение 3. Руководство программиста
Приложение 4. Руководство оператора
Приложение 5. Документация для проведения процедуры сертификации программного модуля
Приложение 6. Программы и методики испытаний
Приложение 7. Фрагменты листинга
Приложение 1
Техническое задание на создание программного средства
1. Введение
1.1. Наименование программы
Программа система для организации товарооборота в фирме по продажам авто.
1.2. Краткая характеристика области применения программы
Система предназначена для поиска, хранения, обработки сведений о автомобилях, продажах, покупателях.
2. Основание для разработки
2.1. Наименование и условное обозначение темы разработки
Наименование – «To do list».
3. Назначение разработки
3.1. Функциональное назначение программы
Функциональным назначением программы является создание документов.
4. Требования к программе
4.1. Требования к функциональным характеристикам
4.1.1. Требования к составу выполняемых функций
Программа должна обеспечивать возможность выполнения перечисленных ниже функций:
- Вывод данных на форму
- Коррекцию данных
- Удаление
- Внесение новой информации
- Печать документа
4.1.2. Требования к организации входных данных
Входные данные программы должны быть организованы в виде вводимого в специальную форму текста или файла, соответствующего определенному шаблону. Данные, вводимые вручную, проверяются на корректность после попытки сохранения; данные, вводимые из файла, проверяются в ходе анализа и размещения данных.
4.1.3. Требования к организации выходных данных
Выходные данные программы должны быть организованы в виде таблиц. Файлы указанного формата должны храниться на локальных или съемных носителях, отформатированных согласно требованиям операционной системы.
4.1.4. Требования к временным характеристикам
Требования к временным характеристикам зависит от выполняемой задачи. При формировании отчета временные рамки увеличиваются пропорционально обрабатываемым данным.
4.2. Требования к надежности
4.2.1. Требования к обеспечению надежного (устойчивого) функционирования программы
Надежное (устойчивое) функционирование программы должно быть обеспечено выполнением совокупности организационно-технических мероприятий, перечень которых приведен ниже:
1) организацией бесперебойного питания технических средств;
2) выполнением рекомендаций Министерства труда и социального
развития РФ, изложенных в Постановлении от 23 июля 1998 г. «Об утверждении
межотраслевых типовых норм времени на работы по сервисному обслуживанию
ПЭВМ и оргтехники и сопровождению программных средств»;
3) выполнением требований ГОСТ 51188-98. Защита информации.
Испытания программных средств на наличие компьютерных вирусов;
4) необходимым уровнем квалификации сотрудников профильных подразделений.
4.2.2. Время восстановления после отказа
Время восстановления после отказа, вызванного сбоем электропитания технических средств (иными внешними факторами), не фатальным сбоем (не крахом) операционной системы, не должно превышать времени, необходимого на перезагрузку операционной системы и запуск программы, при условии соблюдения условий эксплуатации технических и программных средств.
Время восстановления после отказа, вызванного неисправностью технических средств, фатальным сбоем (крахом) операционной системы, не должно превышать времени, требуемого на устранение неисправностей технических средств и переустановки программных средств.
Обеспечивается копиями (обеспечивается программой) необходимой информации и хранении дистрибутивов на отдельном компьютере (обеспечивается стороной-заказчиком).
4.2.3. Отказы из-за некорректных действий оператора
Отказы программы возможны вследствие некорректных действий оператора (пользователя) при взаимодействии с операционной системой. Во избежание возникновения отказов программы по указанной выше причине следует обеспечить работу конечного пользователя без предоставления ему административных привилегий.
4.3.Условия эксплуатации
4.3.1. Климатические условия эксплуатации
Климатические условия эксплуатации, при которых должны обеспечиваться заданные характеристики, должны удовлетворять требованиям, предъявляемым к техническим средствам в части условий их эксплуатации.
4.3.2. Требования к видам обслуживания
См. Требования к обеспечению надежного (устойчивого) функционирования программы.
4.3.3. Требования к численности и квалификации персонала
Минимальное количество персонала, требуемого для работы программы, должно составлять не менее 2 штатных единиц - системный программист и конечный пользователь программы - оператор.
Системный программист должен иметь техническое образование. В перечень задач, выполняемых системным программистом, должны входить:
1) задача поддержания работоспособности технических средств;
2) задачи установки (инсталляции) и поддержания работоспособности системных программных средств - операционной системы;
3) задача установки (инсталляции) программы.
4.4. Требования к составу и параметрам технических средств
В состав технических средств должен входить персональный компьютер. В случае работы системы в сети все компьютеры должны быть подобны. Так же необходимы кабеля для создания сети, сетевые карты на каждом компьютере и маршрутизатор. При предоставлении возможности поступления информации через сеть Интернет, один из компьютеров в сети, не являющийся сервером, должен иметь модем.
4.5. Требования к информационной и программной совместимости
4.5.1. Требования к информационным структурам и методам решения
Пользовательский интерфейс должен быть интуитивно понятным и содержать подсказки. Должен существовать программный доступ из пользовательского интерфейса к созданию копий базы данных в XML формате. Отчеты должны содержать лишь интересующую информацию. Программа-анализатор должна выполнять запрос за наименее короткое время.
4.5.2. Требования к исходным кодам и языкам программирования
Исходные коды программы должны быть реализованы на языке Delphi 7.
4.5.3. Требования к программным средствам, используемым программой
Системные программные средства, используемые программой, должны быть представлены локализованной версией операционной системы Windows.
4.5.4. Требования к защите информации и программ
В Системе должен быть обеспечен надлежащий уровень защиты информации в соответствии с законом о защите персональной информации и программного комплекса в целом от несанкционированного доступа - “ Об информации, информатизации и защите информации” РФ N 24-ФЗ от 20.02.95.
4.6. Специальные требования
Программа должна обеспечивать взаимодействие с пользователем (оператором) посредством графического пользовательского интерфейса, разработанного согласно рекомендациям компании-производителя операционной системы. Программа должна обеспечивать высокую защиту данных и удобный и быстрый просмотр необходимой информации посредством отчетов.
5. Стадии и этапы разработки
5.1. Стадии разработки
Разработка должна быть проведена в три стадии:
1) разработка технического задания;
2) рабочее проектирование;
3) внедрение;
5.2. Этапы разработки
На стадии разработки технического задания должен быть выполнен этап разработки, согласования и утверждения настоящего технического задания.
На стадии рабочего проектирования должны быть выполнены перечисленные ниже этапы работ:
1) разработка программы;
2) разработка программной документации;
3) испытания программы.
На стадии внедрения должен быть выполнен этап разработки - подготовка и передача программы.
5.3. Содержание работ по этапам
На этапе разработки технического задания должны быть выполнены перечисленные ниже работы:
постановка задачи;
1) определение и уточнение требований к техническим средствам;
2) определение требований к программе;
3) определение стадий, этапов и сроков разработки программы и документации на неё;
4) выбор языков программирования;
5) согласование и утверждение технического задания;
На этапе разработки программы должна быть выполнена работа по программированию и отладке программы.
На этапе разработки программной документации должна быть выполнена разработка программных документов в соответствии с требованиями ГОСТ 19.101-77 и требованием п. «Предварительный состав программной документации» настоящего технического задания.
На этапе испытаний программы должны быть выполнены перечисленные ниже виды работ:
1) разработка, согласование и утверждение программы и методики испытаний;
2) проведение приемо-сдаточных испытаний;
3) корректировка программы и программной документации по результатам испытаний.
На этапе подготовки и передачи программы должна быть выполнена работа по подготовке и передаче программы и программной документации в эксплуатацию.
Приложение 2
Спецификация
Приложение 3
Руководство программиста
1. НАЗНАЧЕНИЕ И УСЛОВИЯ ПРИМЕНЕНИЯ ПРОГРАММЫ
1.1. Назначение программы
Программа «To do list» предназначена для создания документов различных форматов, служащих для напоминания действий, занесённых в них. Программный продукт позволяет создавать документы с определённым текстом, редактировать записи, удалять их, печать документы, переносить документы из разделов «что надо сделать» в раздел уже выполненных задач.
1.2. Функции, выполняемые программой
Основной функцией программы «To do list» является работа с текстовыми файлами.
1.3. Условия, необходимые для выполнения программы
1.3.1. Объем оперативной памяти
Для выполнения своих функций, программе «To do list» достаточно 1 Мб оперативной памяти. Но, исходя из того, что для функционирования операционной системы необходимо минимум 32 Мб оперативной памяти, то рекомендуется использовать программу «To do list» на ПК, имеющем ОЗУ более 32 Мб.
1.3.2. Требования к составу периферийных устройств
Особых требований к составу периферийных устройств, программа «Mem.exe» не предъявляет.
1.3.3. Требования к параметрам периферийных устройств
Никаких требований к параметрам периферийных устройств, программа «To do list» не предъявляет.
1.3.4. Требования к программному обеспечению
Системные программные средства, используемые программой To do list, должны быть представлены любой версией операционной системы Windows.
1.3.5. Требования к персоналу (программисту)
Программист должен иметь минимум среднее техническое образование и должен быть аттестован минимум на II квалификационную группу по электробезопасности (для работы с конторским оборудованием)
В перечень задач, выполняемых программистом, должны входить:
а) задача поддержания работоспособности технических средств;
б) задача поддержания работоспособности системных программных средств –
операционной системы;
в) задача поддержания работоспособности программы To do list.
2. ОБРАЩЕНИЕ К ПРОГРАММЕ
2.1. Загрузка и запуск программы
Загрузка и запуск программы «To do list» осуществляется способами, детальные сведения о которых изложены в Руководстве пользователя операционной системы.
2.2. Выполнение программы
2.2.1. Выполнение функции проверки наличия вызываемой программы
2.3. Завершение работы программы
Завершение работы осуществляется путём нажатия кнопки «Exit» на основной форме программы.
3. ВХОДНЫЕ И ВЫХОДНЫЕ ДАННЫЕ
3.1. Организация используемой входной информации
Входные данные вводятся с клавиатуры в поле ввода на главной форме.
3.2. Организация используемой выходной информации
Выходная информация также представлена в специальном поле программы.
Приложение 4
Руководство оператора
1. Введение
Программа «To do list» предназначена для создания документов различных форматов, служащих для напоминания действий, занесённых в них.
2. Системные требования
Оптимальные:
- Процессор 600 МГц
- Windows 98,2000, XP, 7
- 64 МБ оперативной памяти
- SVGA-видеокарта с объёмом памяти 16 МБ
- Мышь, клавиатура
- Интернет-соединение
- 10 МБ свободного места на жёстком диске
3. Открытие программы
Открыть программу можно двойным щелчком по иконке, далее на экране появится главная форма программы, с которой и будет дальше взаимодействовать пользователь.
4. Закрыть программу
Закрыть программу можно нажатием красного крестика в верхнем правом углу экрана или на кнопку «Exit».
Приложение 5
Документация для проведения процедуры сертификации программного модуля
Приложение 6
Программы и методики испытаний
Приложение 7
Фрагменты листинга
unit Main;
interface
uses WinTypes, WinProcs, Classes, Graphics, Forms, Controls, Buttons, StdCtrls, Menus, Dialogs, Clipbrd, SysUtils, Printers, About;
type
TMainForm = class(TForm)
SrcList: TListBox;
DstList: TListBox;
SrcLabel: TLabel;
DstLabel: TLabel;
IncludeBtn: TSpeedButton;
IncAllBtn: TSpeedButton;
ExcludeBtn: TSpeedButton;
ExAllBtn: TSpeedButton;
MainMenu1: TMainMenu;
FileMenu: TMenuItem;
HelpMenu: TMenuItem;
FileOpen: TMenuItem;
FileSave: TMenuItem;
FileSaveAs: TMenuItem;
N1: TMenuItem;
FilePrint: TMenuItem;
N2: TMenuItem;
FileExit: TMenuItem;
HelpAbout: TMenuItem;
FileOpenDialog: TOpenDialog;
FileSaveDialog: TSaveDialog;
CloseBitBtn: TBitBtn;
FileNew: TMenuItem;
AddBitBtn: TBitBtn;
EditBitBtn: TBitBtn;
DeleteBitBtn: TBitBtn;
EditMenu: TMenuItem;
EditUndo: TMenuItem;
EditDelete: TMenuItem;
PrintDialog1: TPrintDialog;
PrinterSetupDialog1: TPrinterSetupDialog;
FilePrinterSetup: TMenuItem;
procedure IncludeBtnClick(Sender: TObject);
procedure ExcludeBtnClick(Sender: TObject);
procedure IncAllBtnClick(Sender: TObject);
procedure ExcAllBtnClick(Sender: TObject);
procedure MoveSelected(List: TCustomListBox; Items: TStrings);
procedure SetItem(List: TListBox; Index: Integer);
function GetFirstSelection(List: TCustomListBox): Integer;
procedure SetButtons;
procedure FileOpenClick(Sender: TObject);
procedure FileExitClick(Sender: TObject);
procedure FileSaveClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FileSaveAsClick(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure FileNewClick(Sender: TObject);
procedure AddBitBtnClick(Sender: TObject);
procedure EditBitBtnClick(Sender: TObject);
procedure DeleteBitBtnClick(Sender: TObject);
procedure FileMenuClick(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure EditUndoClick(Sender: TObject);
procedure EditMenuClick(Sender: TObject);
procedure HelpAboutClick(Sender: TObject);
procedure EditDeleteClick(Sender: TObject);
procedure FilePrintClick(Sender: TObject);
procedure FilePrinterSetupClick(Sender: TObject);
private
{ Private declarations }
TodoFilename: string; { If Length=0, no name assigned }
DoneFilename: string; { Same as Todo but with .Don ext }
FileDirty: Boolean; { True if changes not saved }
UndoList: TStringList; { List of deleted strings for undo }
procedure SetCaption;
procedure EnableMenu;
procedure ReadFile;
procedure WriteFile;
procedure SaveFile;
procedure SaveAsFile;
procedure CloseTodoFile;
public
{ Public declarations }
end;
var
MainForm: TMainForm;
implementation
{$R *.DFM}
const
title = 'To Do';
{- Private procedures }
procedure TMainForm.SetCaption;
begin
if Length(TodoFilename) = 0 then
MainForm.Caption := title
else
MainForm.Caption := title + ' - ' +
Lowercase(ExtractFilename(TodoFilename));
end;
procedure TMainForm.EnableMenu;
var
I: Integer;
begin
with FileMenu do
begin
for I := 0 to Count - 1 do { Enable all File commands }
Items[I].Enabled := True;
if not FileDirty then
begin {- No edits }
FileSave.Enabled := False; { Must use Save as }
if Length(TodoFilename) = 0 then { i.e. file not named }
begin {- No edits; no name }
FileSaveAs.Enabled := False; { Nothing to save }
FilePrint.Enabled := False; { Nothing to print }
end;
end;
end;
end;
procedure TMainForm.ReadFile;
begin
SrcList.Items.LoadFromFile(TodoFilename);
DstList.Items.LoadFromFile(DoneFilename);
FileDirty := False;
end;
procedure TMainForm.WriteFile;
begin
SrcList.Items.SaveToFile(TodoFilename);
DstList.Items.SaveToFile(DoneFilename);
FileDirty := False;
end;
procedure TMainForm.SaveAsFile;
begin
if FileSaveDialog.Execute then
begin
TodoFilename := FileSaveDialog.Filename;
DoneFilename := ChangeFileExt(TodoFilename, '.Don');
WriteFile;
SetCaption;
end;
end;
procedure TMainForm.SaveFile;
begin
if FileDirty then
begin
if Length(TodoFilename) = 0 then
SaveAsFile
else
WriteFile;
end;
end;
procedure TMainForm.CloseTodoFile;
var
Result: Word; { MessageDlg function return result }
begin
if FileDirty then
begin
Result := MessageDlg('Save changes?',
mtConfirmation, mbYesNoCancel, 0);
case Result of
mrYes:
SaveFile;
mrNo:
FileDirty := False;
end;
end;
if not FileDirty then
begin
TodoFilename := '';
DoneFilename := '';
FileDirty := False;
Caption := title;
SrcList.Items.Clear;
DstList.Items.Clear;
end;
end;
procedure TMainForm.FormCreate(Sender: TObject);
begin
TodoFilename := ''; { No file currently open }
DoneFilename := '';
FileDirty := False; { Undefined if file not open }
Caption := title;
UndoList := TStringList.Create;
end;
procedure TMainForm.IncludeBtnClick(Sender: TObject);
var
Index: Integer;
begin
Index := GetFirstSelection(SrcList);
MoveSelected(SrcList, DstList.Items);
SetItem(SrcList, Index);
FileDirty := True;
end;
procedure TMainForm.ExcludeBtnClick(Sender: TObject);
var
Index: Integer;
begin
Index := GetFirstSelection(DstList);
MoveSelected(DstList, SrcList.Items);
SetItem(DstList, Index);
FileDirty := True;
end;
procedure TMainForm.IncAllBtnClick(Sender: TObject);
var
I: Integer;
begin
for I := 0 to SrcList.Items.Count - 1 do
DstList.Items.AddObject(SrcList.Items[I],
SrcList.Items.Objects[I]);
SrcList.Items.Clear;
SetItem(SrcList, 0);
FileDirty := True;
end;
procedure TMainForm.ExcAllBtnClick(Sender: TObject);
var
I: Integer;
begin
for I := 0 to DstList.Items.Count - 1 do
SrcList.Items.AddObject(DstList.Items[I],
DstList.Items.Objects[I]);
DstList.Items.Clear;
SetItem(DstList, 0);
FileDirty := True;
end;
procedure TMainForm.MoveSelected(List: TCustomListBox;
Items: TStrings);
var
I: Integer;
begin
for I := List.Items.Count - 1 downto 0 do
if List.Selected[I] then
begin
Items.AddObject(List.Items[I], List.Items.Objects[I]);
List.Items.Delete(I);
end;
FileDirty := True;
end;
procedure TMainForm.SetButtons;
var
SrcEmpty, DstEmpty: Boolean;
begin
SrcEmpty := SrcList.Items.Count = 0;
DstEmpty := DstList.Items.Count = 0;
IncludeBtn.Enabled := not SrcEmpty;
IncAllBtn.Enabled := not SrcEmpty;
ExcludeBtn.Enabled := not DstEmpty;
ExAllBtn.Enabled := not DstEmpty;
end;
function TMainForm.GetFirstSelection(List: TCustomListBox): Integer;
begin
for Result := 0 to List.Items.Count - 1 do
if List.Selected[Result] then Exit;
Result := LB_ERR;
end;
procedure TMainForm.SetItem(List: TListBox; Index: Integer);
var
MaxIndex: Integer;
begin
with List do
begin
SetFocus;
MaxIndex := List.Items.Count - 1;
if Index = LB_ERR then Index := 0
else if Index > MaxIndex then Index := MaxIndex;
Selected[Index] := True;
end;
SetButtons;
end;
procedure TMainForm.FileOpenClick(Sender: TObject);
begin
if FileOpenDialog.Execute then
begin
if FileDirty then CloseTodoFile;
if not FileDirty then
begin
TodoFilename := FileOpenDialog.Filename;
DoneFilename := ChangeFileExt(TodoFilename, '.Don');
ReadFile;
SetCaption;
SetButtons;
end;
end;
end;
procedure TMainForm.FileSaveAsClick(Sender: TObject);
begin
SaveAsFile;
end;
procedure TMainForm.FileSaveClick(Sender: TObject);
begin
SaveFile;
end;
procedure TMainForm.FileExitClick(Sender: TObject);
begin
Close;
end;
procedure TMainForm.FormCloseQuery( Sender: TObject;
var CanClose: Boolean);
begin
CloseTodoFile;
CanClose := not FileDirty;
end;
procedure TMainForm.FileNewClick(Sender: TObject);
begin
CloseTodoFile;
end;
procedure TMainForm.AddBitBtnClick(Sender: TObject);
var
S: string;
begin
S := '';
if InputQuery('Add Item', 'Enter new item to do:', S) then
if Length(S) <> 0 then
begin
SrcList.Items.Add(S);
FileDirty := True;
SetButtons;
end;
end;
procedure TMainForm.EditBitBtnClick(Sender: TObject);
var
S: string;
I: Integer;
begin
with SrcList do
begin
I := ItemIndex;
if I > -1 then
begin
S := Items.Strings[I];
if InputQuery('Edit Item', 'Make changes to item:', S) then
if Length(S) <> 0 then
begin
Items.Strings[I] := S;
FileDirty := True;
Selected[I] := True;
Sorted := False; { Toggle Sorted property to resort }
Sorted := True;
end;
end;
end;
end;
procedure TMainForm.DeleteBitBtnClick(Sender: TObject);
var
I: Integer;
begin
with SrcList do
for I := Items.count - 1 downto 0 do
if Selected[I] then
begin
UndoList.Add(Items[I]);
Items.Delete(I);
FileDirty := True;
end;
end;
procedure TMainForm.FileMenuClick(Sender: TObject);
begin
EnableMenu; { Enable/disable commands before menu opens }
end;
procedure TMainForm.FormDestroy(Sender: TObject);
begin
if UndoList <> nil then
UndoList.Free;
end;
procedure TMainForm.EditUndoClick(Sender: TObject);
begin
with UndoList do
if Count > 0 then
begin
SrcList.Items.Add(UndoList[Count - 1]);
UndoList.Delete(Count - 1);
FileDirty := True;
end;
end;
procedure TMainForm.EditMenuClick(Sender: TObject);
begin
EditUndo.Enabled := UndoList.Count > 0;
end;
procedure TMainForm.HelpAboutClick(Sender: TObject);
begin
// AboutForm.ShowModal;
end;
procedure TMainForm.EditDeleteClick(Sender: TObject);
begin
DeleteBitBtn.Click;
end;
procedure TMainForm.FilePrintClick(Sender: TObject);
var
FPrn: System.Text; { Printer output text file }
I: Integer;
begin
if PrintDialog1.Execute then
begin
AssignPrn(FPrn); { Direct Write/Writeln to FPrn }
Rewrite(FPrn); { Open printer output file }
try
Writeln(FPrn, MainForm.Caption); { Title }
Writeln(FPrn); { Print blank line }
with SrcList do
for I := 0 to Items.Count - 1 do
Writeln(FPrn, Items[I]); { Print line }
finally
CloseFile(FPrn); { Close printer output file }
end;
end;
end;
procedure TMainForm.FilePrinterSetupClick(Sender: TObject);
begin
PrinterSetupDialog1.Execute;
end;
end.