Основы разработки программы для автоматического архивирования файлов и папок

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

Рубрика Программирование, компьютеры и кибернетика
Вид контрольная работа
Язык русский
Дата добавления 17.06.2013
Размер файла 47,0 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Основы разработки программы для автоматического архивирования файлов и папок

1. Понятие и необходимость архивации пользовательских файлов

Оптимальная организация резервирования предполагает автоматическое копирование: файлы помещаются на предназначенные для них носители таким образом, что в процессе работы пользователь этого даже не замечает. Взрывообразный рост емкости используемых винчестеров привел к тому, что организация программно-аппаратного комплекса для сохранения таких объемов информации значительно усложнилась. Традиционные накопители на магнитной ленте, а также Jaz- и Zip-диски конкуренции с жесткими дисками уже не выдерживают и для резервирования подходят мало. CD-R/RW и DVD-диски не справляются с современными объемами в десятки и сотни гигабайт. Можно, конечно, решить эту проблему, создав несколько раздельных систем резервирования, каждая из которых будет работать по своему графику и со своим носителем. Например, с помощью утилиты Мicrosoft Backup можно сделать один резервный файл для копирования каталога Windows и корневых каталогов, другой - каталога Program Files, третий - файлов данных и т.д., но в этом случае пользователю придется выполнять вручную большое число операций.

Средства автоматизированного резервирования появились еще в Windows 95. Если в этой операционной системе был установлен пакет Microsoft Plus, то для запуска Microsoft Backup использовалась утилита System Agent. Добраться до нее можно было из меню «Пуск», пунктов «Программы»/ «Стандартные»/ «Служебные программы»/ «Архивация данных». Чтобы указать, какие файлы нужно копировать, достаточно было выбрать в правой и левой панелях раскрывшегося окна соответствующие опции, потом выбрать нужный дисковый либо ленточный накопитель, а также каталог для хранения резервных копий и указать, что программу резервирования можно закрыть после завершения ее работы. Для автоматизации работы этой программы следовало отключить вывод на экран запроса на подтверждение перед началом операции. Таким образом, задав однажды во вкладке Backup меню «Параметры» все требующиеся настройки и указав в пункте «Файл»/ «Сохранить как» имя и местонахождение будущей резервной копии (другой диск или каталог), вы могли организовать автоматический процесс резервирования. Поскольку SET-файлы по умолчанию ассоциированы с утилитой Microsoft Backup, простое добавление файла в список приведет к запуску Backup. Там же задавался график резервирования (When to Run - когда запускать System Agent). Если же требовалось запланировать несколько сеансов резервирования для различных наборов файлов и разных накопителей, то данную процедуру необходимо повторить, задавая разнообразные имена SET-файлам и иной график выполнения.

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

2. Аналоги

File Backup Watcher

Программа File Backup Watcher служит для автоматического резервирования файлов и каталогов - как с последующей их архивацией, так и без таковой. Резервирование происходит и на компьютере, и по локальной сети (по протоколу TCP/IP). Программа поддерживает три метода резервирования данных (Full, Icremental, Update) и имеет встроенный планировщик резервирования с комбинированным расписанием. File Backup Watcher производит синхронизацию версий файлов, работает с файловыми фильтрами, имеет мастер настроек профилей; есть возможность выбора ZIP-архивирования данных. Программа обладает удобной оболочкой для работы с профилями.

Active Backup Expert Pro

Данная программа предназначена для резервного копирования информации и ее автоматического сохранения в ZIP-архиве. Созданные при помощи Active Backup Expert Pro архивы локальных или сетевых файлов можно сохранить на жестком диске, записать на CD-R/RW-болванке или других носителях либо передать по сети. Функции импорта / экспорта позволяют синхронизировать данные, находящиеся на двух разных компьютерах. Программа поддерживает различные профили настройки и работу по маске. Active Backup Expert Pro позволяет делать неограниченное количество копий, причем позволяет работать с любым файлом любой копии. Есть возможность работать не только из графического интерфейса, но и из командной строки. Поддержка ActiveX позволяет вызывать и управлять этим приложением из собственной программы пользователя.

Second Copy 2000

Программа служит для копирования файлов и каталогов в пределах одного диска, компьютера или по сети. Second Copy может работать по расписанию, проверить, претерпели ли определенные файлы изменения и сделать их резервные копии (при необходимости - в ZIP-архиве). Специальная опция позволяет хранить до 25 вариантов предыдущих копий файлов и папок.

3. Проектирование программы

пользовательский программный файл

Жизненный цикл АИС - непрерывный процесс, начинающийся с момента принятия решения о создании АИС и заканчивается в момент полного изъятия ее из эксплуатации.

Существуют международный стандарт, регламентирующий жизненный цикл АИС - ISO 12207. Согласно этому стандарту, структура жизненного цикла основывается на трех группах процессов:

1. Основные процессы. Среди всех основных процессов наиболее важными являются три:

- Разработка включает в себя все работы по созданию АИС и ее компонентов в соответствии с заданными требованиями, а также оформление документации, подготовка материалов для тестирования, для обучения персонала;

- Эксплуатация - это работа с АИС, выявление и устранение дефектов, совершенствование системы, обеспечение пользователей документацией, обучение персонала, конфигурирование АИС;

- Сопровождение. Ошибки персонала при работе с АИС могут приводить к явным или скрытым финансовым потерям, иногда сопоставимым по стоимости со стоимостью АИС. При организации сопровождения необходимо проделать следующее: выделение наиболее ответственных узлов системы и определение критичности простоя; разделить задачи сопровождения на внутренние (решаемые силами персонала) и внешние (решаемые другими организациями); проведение анализа имеющихся ресурсов, необходимых для организации сопровождения; разработка плана технического обслуживания.

2. Вспомогательные процессы - процессы, отвечающие за обеспечение качества АИС, аттестации, оценки, документирования, управления конфигурацией, верификацию.

3. Организационные процессы. Обучение персонала, создание необходимой инфраструктуры, разработка методов и средств испытаний, выбор методов и средств для реализации проекта.

Существует две модели жизненного цикла АИС: каскадная модель и спиральная модель.

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

Этапы каскадной модели жизненного цикла

1. Анализ требований заказчика. На данном этапе проводится исследование, и четко формулируются все требования заказчика. Результатом данного этапа является техническое задание, согласованное с заказчиком.

2. Проектирование - разработка проектного решения.

3. Разработка. На данном этапе происходит разработка программного обеспечения. Результатом этого этапа является готовый программный продукт.

4. Тестирование - проведение проверки программного обеспечения на предмет соответствия требованиям заказчика. Также проводится опытная эксплуатация.

5. Сдача. Главной задачей этого этапа является убеждение заказчика, что все его требования реализованы полностью.

Достоинства каскадной модели:

- наличие полного комплекта документации после каждого этапа;

- большое количество методических источников;

- легкость планирования временных и материальных затрат.

Каскадная модель применяется, когда четко и полно сформулированы все требования к будущей АИС.

Недостатки:

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

- сложность параллельного ведения работ. Каждый этап работы каскадной модели может выполняться отдельной группой разработчиков. В этом случае одновременно могут разрабатываться несколько проектов. Однако, при возврате на более ранние стадии группам приходится прерывать работу над текущим проектом и возвращаться к другому.

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

- сложность управления проектом;

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

Этапы проектирования автоматизированной информационной системы

Каждый проект проходит определенные ступеней развития. Совокупность ступеней развития от возникновения идеи до полного завершения проекта принято разделять на фазы.

Концептуальная фаза.

Данная фаза включает в себя:

- формирование целей, постановка задач;

- формирование ключевой команды проекта;

- изучение мотивации и требований заказчика;

- сбор исходных данных и анализ существующего состояния;

- определение основных требований и ограничений;

- сравнительная оценка аналогов;

- представление предложений, их экспертизу и утверждение.

Разработка технического предложения.

Главным содержанием этой фазы является разработка технического предложения и переговоры с заказчиком. Содержание этой фазы:

- разработка основного содержания и базовой структуры проекта;

- разработка и утверждение технического задания;

- планирование, декомпозиция базовой структуры модели проекта;

- определение потребности в ресурсах;

- разработка календарных планов и укрупненных графиков работ;

- ввод в действие средств коммуникации участников проекта, контроль за ходом работ.

Проектирование.

На этой фазе определяются подсистемы, их взаимосвязи, выбираются наиболее эффективные способы выполнения проекта и использования ресурсов. Работы этой фазы:

- выполнение базовых проектных работ;

- разработка частных технических заданий;

- выполнение концептуального проектирования;

- составление технических спецификаций и инструкций;

- представление проектной разработки и ее утверждение.

Разработка.

На этой фазе производится координация и оперативный контроль работ по проекту, осуществляется изготовление подсистем, их объединение и тестирование. Содержание:

- выполнение работ по разработке ПО;

- выполнение подготовки к внедрению системы;

- контроль и регулирование основных показателей проекта.

Ввод системы в эксплуатацию.

На этой фазе проводится испытания, опытная эксплуатация системы в реальных условиях, ведутся переговоры о результатах выполнения проекта и о возможностях новых контрактов:

- комплексные испытания;

- подготовка кадров для эксплуатации создаваемой системы;

- подготовка рабочей документации, сдачи системы заказчику и ввод ее в эксплуатацию;

- сопровождение, поддержка, сервисное обслуживание;

- оценка результатов проекта и подготовка итоговых документов;

- разрешение конфликтных ситуаций и закрытие работ по проекту;

накопление опытных данных для последующих проектов, анализ опыта.

Оставить одну модель, обосновать выбор

4. Выбор языка программирования и программных средств для разработки приложения

Целью данного дипломного проекта является создание программного продукта средствами объектно-ориентированных языков. В качестве языка программирования был выбран язык Delphi 7. Этот выбор обусловлен следующими причинами:

· Delphi 7 - объектно-ориентированный язык с широкими возможностями программирования;

· Delphi 7 прост в изучении и при реализации программ;

· Delphi 7 входит в курс изучения профессиональных дисциплин специальности.

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

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

Мощность и гибкость языка программирования Delphi - безусловное достоинство, выгодно отличающее эту систему программирования от других инструментов RAD. Ядром языка Delphi является язык Паскаль. Delphi имеет самый быстрый среди продуктов подобного рода оптимизирующий компилятор, позволяющий создавать быстрые и относительно компактные программы.

Delphi обладает широким набором возможностей, начиная от проектировщика форм и кончая поддержкой всех форматов популярных баз данных. Среда устраняет необходимость программировать такие компоненты Windows общего назначения, как метки, пиктограммы и даже диалоговые панели. Работая в Windows, вы неоднократно видели одинаковые «объекты» во многих разнообразных приложениях. Диалоговые панели (например Choose File и Save File) являются примерами многократно используемых компонентов, встроенных непосредственно в Delphi, который позволяет приспособить эти компоненты к имеющийся задаче, чтобы они работали именно так, как требуется создаваемому приложению. Также здесь имеются предварительно определенные визуальные и невизуальные объекты, включая кнопки, объекты с данными, меню и уже построенные диалоговые панели. С помощью этих объектов можно, например, обеспечить ввод данных просто несколькими нажатиями кнопок мыши, не прибегая к программированию.

Выгоды от проектирования АРМ в среде Windows с помощью Delphi:

Устраняется необходимость в повторном вводе данных;

Обеспечивается согласованность проекта и его реализации;

Увеличивается производительность разработки и переносимость программ.

Система Delphi завоевала себе репутацию самого эффективного средства разработки приложений баз данных, то есть программ, обслуживающих электронные хранилища информации. Эта репутация определяется тремя обстоятельствами: высокопроизводительной машиной доступа к данным разного формата, наличием многочисленных компонентов и технологий, ориентированных на эту сферу применения, и поставкой вместе с Delphi компактного, мощного и простого в администрировании сервера баз данных InterBase. Многочисленные компоненты, поддерживающие разработку приложений баз данных, обеспечивают решение самых разных задач: выборку и сортировку данных, их наглядное представление (в том числе и графическое), изменение и публикацию данных в виде отчетов (документов) и / или HTML-страниц в Интернете и т.д.

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

Delphi - это комбинация нескольких важнейших технологий:

· Высокопроизводительный компилятор в машинный код

· Объектно-ориентированная модель компонент

· Визуальное (а, следовательно, и скоростное) построение приложений из программных прототипов

· Масштабируемые средства для построения баз данных

Основной упор модели в Delphi делается на то, чтобы максимально производительно использовать код. Это позволяет очень быстро разрабатывать приложения, так как уже существуют заранее подготовленные объекты. А так же вы можете создавать свои собственные объекты, без каких-либо ограничений. Язык Delphi - строго типизированный объектно-ориентированный язык, в основе которого лежит Object Pascal.

В стандартную поставку Delphi входят основные объекты из 270 базовых классов. На этом языке очень удобно писать, как приложения к базам данных, так даже и игровые программы. Если принять во внимание и удобный интерфейс для создания графических оболочек, то можно с уверенностью заявить что язык Delphi - это очень доступный для понимания, но в то же время и очень мощный язык программирования.

Среди пользователей самой популярной операционной системой является Windows. И для разработчика несомненно очень важно, чтобы писать программы именно для этой оболочки. До недавнего времени практически все программы для этого пакета операционных систем на Borland С++, который в своё время мог освоить только пользователь с большим опытом программирования и требовал сёрьёзных знаний в теории.

Бурное развитие информационных технологий требовало качественной и быстрой разработке программного обеспечения. Именно для таких разработок проявил себя Borland Delphi и Microsoft Visual Basic. В основе систем быстрой разработки (RAD-систем, Rapid Application Development - среда быстрой разработки приложений) лежит технология визуального проектирования и событийного программирования, и вам не надо будет думать над программным кодом и реализацией стандартных задач, все что вам требуется это подключить определённый модуль (в зависимости от задачи) и правильно построить интерфейс программы.

Я считаю, что именно седьмая версия идеально подходит для того чтобы начать создавать свой собственный программный продукт. Как и предыдущие версии, Borland Delphi 7 Studio позволяет создавать самые различные программы: от простейших однооконных приложений до программ управления распределенными базами. В состав пакета включены разнообразные утилиты, обеспечивающие работу с базами данных, XML-документами, создание справочной системы. Отличительной особенностью седьмой версии является поддержка технологии.NET.

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

пользовательский программный файл

Тестирование - процесс выполнения программы с целью обнаружения ошибок. Шаги процесса задаются тестами.

Каждый тест определяет:

· Свой набор исходных данных и условий для запуска программы;

· Набор ожидаемых результатов работы программы;

Полную проверку программы гарантирует исчерпывающее тестирование. Оно требует проверить все наборы входных данных, все варианты их обработки и включает большое количество тестовых вариантов. Но исчерпывающее тестирование во многих случаях остается только мечтой - срабатывают ресурсные ограничения (прежде всего, ограничения по времени).

Тестирование обеспечивает:

· Обнаружение ошибок;

· Демонстрацию соответствия функций программы ее назначению;

· Демонстрацию реализации требований к характеристикам программы;

· Отображение надежности как индикатора качества программы.

1. Тестирование «черного ящика»

Известны: функции программы.

Исследуется: работа

Основное место приложения тестов «черного ящика» - интерфейс ПО.

Эти тесты демонстрируют:

· Как выполняются функции программ;

· Как принимаются исходные данные;

· Как вырабатываются результаты;

· Как сохраняется целостность внешней информации.

При тестировании «черного ящика» рассматриваются системные характеристики программ, игнорируется их внутренняя логическая структура. Исчерпывающее тестирование, как правило, невозможно. Например, если в программе 10 входных величин и каждая принимает по 10 значений, то потребуется 1010 тестовых вариантов. Тестирование «черного ящика» не реагирует на многие особенности программных ошибок.

2. Тестирование «белого ящика»

Известна: внутренняя структура программы.

Исследуются: внутренние элементы программы и связи между ними.

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

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

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

Характеристика каждого шага процесса тестирования:

· Тестирование элементов. Цель - индивидуальная проверка каждого модуля. Используются способы тестирования «белого ящика»;

· Тестирование интеграции. Цель - тестирование сборки модулей в программную систему. В основном применяют способы тестирования «черного ящика»;

· Тестирование правильности. Цель - проверить реализацию в программной системе всех функциональных и поведенческих требований, а также требования эффективности. Используются исключительно способы тестирования «черного ящика»;

Системное тестирование. Цель - проверка правильности объединения и взаимодействия всех элементов компьютерной системы, реализации всех системных функций.

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

После сбора и оценивания результатов тестирования начинается отображение качества и надежности ПО. Если регулярно встречаются серьезные ошибки, требующие проектных изменений, то качество и надежность ПО подозрительны, концентрируется необходимость усиления тестирования. Если функции ПО реализованы правильно, а обнаруженные ошибки легко исправляются, может быть сделан один из двух выводов: 1) качество и надежность ПО удовлетворительны; 2) тесты не способны обнаруживать серьезные ошибки.

Статическое и динамическое тестирование

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

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

Регрессионное тестирование

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

Размещено на Allbest.ru


Подобные документы

  • Меню программы и темы интерфейса WinRar. Добавление файлов и папок в архив. Извлечение архива в указанную папку. Добавление архивного комментария. Требования к функциональным характеристикам, к транспортированию и хранению, к программной документации.

    курсовая работа [3,7 M], добавлен 21.04.2014

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

    контрольная работа [534,7 K], добавлен 11.01.2015

  • Понятие процесса архивации файлов. Программы, осуществляющие упаковку и распаковку файлов. Защита информации от несанкционированного доступа. Самораспаковывающиеся архивы. Основные характеристики программ-архиваторов. Распространенные алгоритмы сжатия.

    презентация [801,6 K], добавлен 23.10.2013

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

    реферат [216,5 K], добавлен 26.03.2010

  • Утилиты архивации для создания резервных копий файлов путем помещения их в архив в сжатом виде. Операции над архивами. Алгоритмы архивации. Универсальные алгоритмы уплотнения. Формат задания команд. Степень сжатия файлов. Основные виды архиваторов.

    презентация [241,0 K], добавлен 13.08.2013

  • Обзор особенностей работы с программой Total Commander. Создание папок, копирование файлов на флеш-карту. Вызов контекстного меню. Определение структуры файлов. Переименование группы файлов. Помещение файлов в архив. Разделение архива на несколько частей.

    лабораторная работа [1,9 M], добавлен 08.04.2014

  • Исследование основных видов программ-архиваторов. Сжатие файлов при архивации. Показатель степени сжатия файлов. Оценка функциональности самых популярных программ-упаковщиков. Технические характеристики процессов сжатия. Методы архивации без потерь.

    реферат [1,6 M], добавлен 05.12.2013

  • Проектирование программного обеспечения. Схема начального формирования каталога файлов, вывода на экран каталога файлов, удаления файлов, сортировки файлов по имени, дате создания и размеру методом прямого выбора. Управление каталогом в файловой системе.

    курсовая работа [804,0 K], добавлен 08.01.2014

  • Особенности работы "поисковика" дублирующихся файлов на диске. Выбор среды программирования. Разработка программного продукта. Основные требования, предъявляемые к программе, производящей поиск дублирующихся файлов на диске. Отображение скрытых файлов.

    курсовая работа [1,8 M], добавлен 28.03.2015

  • Функциональные характеристики программы форматирования текстовых файлов, требования к ее интерфейсу и данным. Схема взаимодействия компонентов системы, выбор среды исполнения и программная реализация алгоритмов. Тестирование и оценка качества программы.

    курсовая работа [61,1 K], добавлен 25.07.2012

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.