Анализ технического задания и постановка задачи




 

При создании любого нового программного обеспечения важно непременно начать с постановки задачи, то есть определить, какие требования предъявляются к программному проекту. Постановка задачи является одним из наиболее значимых этапов при создании программного обеспечения, т.к. от того, насколько понятно и точно изложены требования к разрабатываемой программе, т.е. функции, которыми она должна обладать и её возможности, находится в прямой зависимости её качество и стоимость.

При постановке задачи должно быть точно сформулировано назначение создаваемого программного обеспечения и определён список предъявляемых к нему требований. Требования, которые определяют функции выполняющиеся создаваемым ПО называются функциональными, а те требования, которые определяют особенность работы ПО - это эксплуатационные требования.

Если для проектируемого программного обеспечения существуют какие-либо аналоги или прототипы, то требования к нему определяют уже с учётом особенностей уже созданных программных продуктов. В противном случае, если таких проектов не существует, то для того, чтобы сформулировать требования к ПО могут потребоваться какие-либо специальные предварительные исследования.

Для того чтобы провести эти исследования, обычно, заключается договор на выполнение научно-исследовательских работ, во время которых разрабатывают методы решения задачи, определяют насколько эта задача разрешима и какими главными характеристиками она должна обладать.

Этап постановки задачи всегда заканчивается принятием основных путей решений и составлением технического задания, содержащего принципиальные требования к требуемому ПО.

Техническое задание является связующим звеном между исполнителем и заказчиком и позволяет им мысленно представить будущий программный продукт до начала работы над ним, проверить готовый продукт по пунктам и уменьши количество возможных ошибок связанных с неполнотой или неправильностью изложенных требований. Кроме того, техническое задание позволяет понять заказчику программы, что конкретно он бы хотел увидеть и чётко это объяснить, а также потребовать от исполнителя продукта, который бы соответствовал всем требованиям, содержащимся в задании.

В свою очередь исполнителю проще понять суть поставленной задачи, досконально спланировать последовательность написания программы и не тратить время на лишнюю (не требуемую) работу.

Исходя из этого можно заключить, что от постановки задачи и технического задания напрямую зависит успешность написания любой программы, а следовательно, этот тап является очень важным.

Согласно заданию необходимо составить программу «Записная книжка» для работы с персональными данными людей. В программе будут следующие пункты: номер записи по порядку, фамилия, имя, отчество, год рождения, адрес электронной почты, телефон и домашний адрес. Так же будут предусмотрены ввод, редактирование и удаление данных.

Как видим, задание сводится к созданию базы данных для работы с данными людей, в качестве чего послужит файл book.dat. А также, согласно заданию, вывод на экран данных и их программное редактирование.

В программе следует проанализировать полученную из файла информацию и вывести на экран в виде полей с данными по определённой записи.

Подытожив все вышесказанное можно сформулировать требования к разрабатываемому программному обеспечению и выполнить постановку задания на проектирование. Так, согласно заданию, программа должна быть реализована в среде Delphi и должна выполнять следующие функции:

чтение из файла данных и вывод их на экран;

ввод, редактирование, удаление данных.

сохранение изменений в файл.

Последующие разделы будут посвящены решению поставленных задач и разработке приложения с вышеперечисленными функциями.


Описание структуры программы

 

Интерфейс программы

 

Перед тем, как написать программу, мы поместили на форму все необходимые компоненты: 9 этикеток (Label), 7 текстовых полей (Edit) и две кнопки (Button).

Далее потребовалось изменить некоторые свойства формы Form1, а именно:

свойство Borderlcons biMaximize = False, т.е. запретили сворачивание окна и разворачивание его на весь экран;

свойство BorderStyle = bsSingle, т.е. запретили пользователю менять размеры формы;

свойство Caption = Записная книжка - это название, заголовок формы;

свойство Position = poScreenCenter - чтобы форма появлялась в центре экрана;

свойство Color = clBackground - выбрали цвет формы (голубой);

свойство Height = 320 - высота формы;

свойство Width = 464 - ширина формы.

Остальные свойства оставляем по умолчанию. В свойствах Caption компонентов Label1:Label8 указываем «Фамилия», «Имя», «Отчество», «Год рождения», «E-mail», «Телефон», «Адрес» и «Номер записи:» соответственно, а в Label9 делаем его пустым. Также назначаем всем используемым компонентам такие свойства как: left (положение по горизонтали), Top (положение по вертикали), Height (высота) и Width (ширина). Кроме того пустым делаем свойство Text для компонентов Edit1:Edit7 и меняем значение свойства Caption кнопки Button1 на «Вверх», а Button2 на «Вниз».

 


Алгоритм программы

 

Открываем редактирование процедуры FormActivate (активация формы) формы Form1. Для этого щёлкаем на форме мышью, а затем в Object Inspector на вкладке Events дважды щёлкаем в пустом поле рядом со строкой события OnActivate. (Далее будем аналогично открывать редактирование процедуры FormClose, за исключением того, что щёлкать надо будет рядом со строкой события OnClose). В редакторе текста программы открывается пустая процедура TForml.FormActivate, которая будет выполняться при запуске программы, поэтому в начале работы приложения будет проверяться, существует ли файл book.dat с данными. В том случае, если такого файла нет, создаём этот файл и записываем в него первую запись, делая её пустой, иначе открываем файл для чтения информации, производим чтение информации из файла построчно и записываем данные из файла в программу и закрываем файл.

Для определения существования файла, используем функцию FileExists, которой передаётся один параметр - имя файла, возвращающую true в том случае, если файл с таким именем существует, и False, если его нет.

Для вывода на экран года рождения (p.year), используем функцию IntToStr для преобразования числа в текст, т.к. год хранится в переменной year типа integer.

Если запись является первой (то есть номер её равен «0»), то кнопку «Вверх» делаем неактивной, присвоив свойству Enabled кнопки Button1 значение False, иначе активной, т.е. значение True.

В объект Label8 выводим порядковый номер записи в книге, с использованием функции IntToStr.

В ходе выполнения работы использовались следующие процедуры для работы с файлом:(<Имя файловой переменной>,<Имя файла>);

Процедура AssignFile назначает значение FileName значению FileHandle при подготовке к чтению или записи этого файла. Имя файла задается либо строковой константой, либо через переменную типа String. Имя файла должно соответствовать правилам работающей в данный момент операционной системы. В программе процедура будет выглядеть так: AssignFile(F,’C:\\book.dat).(<Имя файловой переменной>);

Открывается файл для чтения из него информации, ему присваивается имя, заданное процедурой Assign, в данном случае Reset(F).

После работы с файлом он, как правило, должен быть закрыт процедурой CloseFile (<Имя файловой переменной>). Чтение информации производит оператор Read(F, p). После его выполнения строка из файла F заносится в переменную p.

Процедура Rewrite(F) открывает файл для записи.

Процедура seek(F, rec) перемещает указатель в файле в новую позицию.

Процедура Write(F, p) записывает данные в файл. Для увеличения порядковой переменной используется процедура inc(rec), а для уменьшения - dec(rec).

После выполнения процедуры Form1.FormActivate выполняются процедуры Form1.Button1Click и Form1.Button2Click.

Для того, чтобы открыть редактирование процедур Button1Click или Button2Click (нажатие кнопки) формы Form1, следует щёлкнуть по кнопке мышью, а затем в Object Inspector на вкладке Events дважды щёлкнуть в пустое поле рядом со строкой события OnClick.

Процедура Form1.Button2Click выполняется при нажатии на кнопку «Вниз». При выполнении данного действия, записываем текущую запись в файл, присвоив переменным значения внесённые в форму, открываем файл для чтения, перемещаем указатель в файле на новую позицию, записываем данные в файл, закрываем его и переходим к следующей записи, увеличив её номер на 1, затем открываем файл для чтения. В том случае, если обнаружен конец файла, создаём новую пустую запись, иначе читаем запись и выводим данные на экран.

Если запись не является первой, то делаем кнопку «Вверх» активной.

При нажатии на кнопку «Вверх» выполняется процедура Form1.Button1Click. В данной процедуре записываем текущую запись в файл, переходим к следующей записи, уменьшив её номер на единицу, читаем запись и выводим данные на экран, включая номер текущей записи, после чего осуществляем проверку её на номер и, при необходимости, отключаем верхнюю кнопку.

При закрытии формы выполняется последняя процедура Form1.FormClose, записывающая последнюю (текущую) запись в файл.

 

Входные данные

 

Исходными данными для выполнения является файл, который должен содержать, или в который нужно внести, персональные данные людей.

 

Выходные данные

 

Выходными данными являются:

изменение файла, содержащего персональную информацию;

заполненная записная книжка, которая содержит следующие пункты: номер по порядку, фамилия, имя, отчество человека, год его рождения, адрес электронной почты, номер телефона, адрес.


Руководство оператора

 

Назначение программы

 

В соответствии с постановкой задачи программный продукт “Записная книжка” предназначен для работы с персональными данными людей. Программа позволяет пользователю отправлять, сохранять, читать и удалять такую информацию, как: фамилия, имя, отчество, год рождения, адрес электронной почты, номер телефона и домашний адрес.

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2020-04-01 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: