Содержание
Введение2
1 Описание предметной области3
2 Выбор среды реализации программы4
3 Атрибуты объекта и предоставление данных в программе6
3.1 Постановка задачи6
3.2 Алгоритм работы программы6
3.3 Типы данных8
3.3 Описание процедур, функций, циклов8
4 Технология обработки данных10
5 Описание программы формирование выходного документа11
Заключение14
Список используемой литературы15
Приложение 116
Выдержка из текста работы
В современной жизни человека одну из главных ролей в жизни, совсем недавно стали выполнять новые технологии. Они полностью изменили обыденность жизни любого из нас, и врятли кто-нибудь скажет что он полностью обходится без например: телефона или например без того же персонального компьютера, а если и скажет то он просто солжет.
Новые технологии применяются практически повсюду, в каждом доме и офисе можно встретить персональный компьютер или ноутбук. С помощью их выполняются многие функции, от простейшего развлечения (Прослушивания музыки, всяческие видеоигры и просмотр фильмов), до сложнейших задач по составлению документов, решения сложных (арифметических, инженерных, архитектурных и т.п.) задач.
Прогуливаясь по улице все чаще можно услышать вместо прекрасных пений птиц мелодию мобильного телефона, смартфона, Айфона или Айпеда и т.д. Без всевозможных девайсов не возможно представить образ современного человека. Информатизация общества настолько внедрена, что уже касается фактически каждого, все чаще можно увидеть ребенка лет 5 сидящего за компьютером и прекрасно осознающего, что происходит на экране.
Компьютерные технологии развиваются очень быстро, увеличиваются тактовые частоты процессоров, объемы карт видео-памяти, объемы оперативно-запоминающих устройств. Особенно быстро увеличиваются объемы памяти жестких дисков. Объем жесткого диска еще в 2000 г. не превышало более 500 Гб, в настоящее же время их объемы исчисляются в нескольких терабайтах.
Часто память на них заканчивается. Но на смену проблеме: «где хранить данные?» пришла новая — «как во всем этом разобраться?» Объемы современных жестких дисков достигли того, что на них вполне может случайно затеряться с десяток DVD-образов, не говоря уже о сотнях фотографий.
Вы можете не замечать ненужных и повторяющихся файлов вплоть до того момента, когда место вдруг неожиданно закончится. Но перед тем, как покупать новый жесткий диск, имеет смысл почистить старый на предмет дубликатов. Возможно, после генеральной уборки проблема свободного места уже не будет стоять так остро.
Искать повторяющиеся файлы вручную — это долго и неудобно. Гораздо проще воспользоваться одной из специальных утилит, которые выполняют большую часть работы за вас. Файлы-дубликаты могут накапливаться вследствие повседневного использования компьютера. Вы можете загружать сотни музыкальных и видео файлов, различных документов и приложений, обмениваться ими с друзьями, не замечая, как абсолютно одинаковые файлы накапливаются на Вашем компьютере.
В результате, значительная часть свободного места на диске расходуется бесполезно.
Цель курсовой работы — создание программы производящей поиск дублирующихся файлов на диске.
1. Что означает программа, «поисковик» дублир. файлов
Как уже говорилось ранее, программа для поиска дублирующихся файлов производит поиск одинаковых или однотипных файлов, для их удаления или перемещение в отдельную папку. Однако не все программы «поисковики», назовем их так, не имеют ограниченный набор функций. Некоторые из них могут искать ошибки, недочеты и исправлять файлы реестра.
Реестр — иерархически построенная база данных параметров и настроек в большинстве операционных систем Microsoft Windows. В реестре хранятся данные, которые необходимы для правильного функционирования Windows. К ним относятся профили всех пользователей, сведения об установленном программном обеспечении и типах документов, которые могут быть созданы каждой программой, информация о свойствах папок и значках приложений, а также установленном оборудовании и используемых портах.
Системный реестр заменяет собой большинство текстовых INI-файлов, которые использовались в Windows 3.x, а также файлы конфигурации MS-DOS, такие как Autoexec.bat и Config.sys. Версии реестра для разных версий операционных систем семейства Windows имеют определенные различия.
Так же в функции программ по поиску дублирующихся файлов может входить очистка системных файлов Windows от ненужных и даже вирусных файлов. Системный файл — это любой файл на компьютере, который требуется для запуска операционной системы Windows. Системные файлы обычно находятся в папке Windows или «Program Files». Системные файлы являются скрытыми по умолчанию. Для предотвращения случайного изменения или удаления системных файлов лучше всего оставить их скрытыми. Дополнительные сведения о просмотре системных файлов см. в разделе
Отображение скрытых файлов. Не рекомендуется изменять системные файлы, т. е. переименовывать, перемещать или удалять их, поскольку это может привести к неправильной работе компьютера. Если изменение системного файла сразу не отражается на работе компьютера, при следующем запуске ОС Windows или программы компьютер может работать неправильно. Если на жестком диске присутствуют ненужные системные файлы, то для их удаления воспользуйтесь программой «Очистка диска». Дополнительные сведения см. в разделе Удаление файлов с помощью программы «Очистка диска». Если нужно внести изменения в систему, следует использовать средства, специально предназначенные для этой задачи. Например, для удаления программы с компьютера используйте компонент «Программы и функции» в панели управления. Дополнительные сведения см. в разделе Удаление или изменение программы.
И последняя функция из списка функций программ для поиска дублирующихся файлов на диске, но не последняя по значимости — очистка интернет обозревателей: Internet Explorer, Firefox, Google Chrome, Opera, Safari и др. Очистка в основном состоит из: очистки кэша браузера и очистки истории браузера. Современные браузеры устроены таким образом, что практически всю информацию, которую пользователь запрашивает из Сети, браузеры сохраняют на локальном жестком диске вашего компьютера. Делается это для того, чтобы не скачивать одни и те же файлы при каждом запросе пользователя, то есть с целью экономии трафика, а также ускорения работы браузера — использование кэша (cache) (этот процесс называется кэширование, cacheing) позволяет загружать странички, к которым пользователь уже обращался гораздо быстрее, поскольку большая часть файлов, из которых состоит веб-страничка, уже загружена на компьютер. При повторном обращении к страничке браузеру нужно всего лишь проверить, не изменились ли какие-либо элементы с последнего обращения к ней, и загрузить заново только изменившиеся элементы. Такими элементами может быть все, что угодно, из чего состоят страницы сайтов — изображения, текст, видео, звук.
2. Разработка программного продукта
2.1 Постановка задачи
Программное изделие, которое будет разработано служит для поиска дублирующихся файлов на диске.
При разработке необходимо выполнить следующие задачи:
- изучить особенности работы «поисковика» дублирующихся файлов на диске;
- ознакомиться с требованиями, предъявляемыми к ним;
- провести сравнительный анализ программных сред для создания программы для поиска дублирующихся файлов на диске;
- выбрать технологию программирования и разработать программный продукт;
- создать функциональный интерфейс;
2.2 Выбор среды программирования
Среда разработки Delphi: Изначально среда разработки была предназначена исключительно для разработки приложений Microsoft Windows, затем был реализован также для платформ GNU/Linux (как Kylix), однако после выпуска в 2002 году Kylix 3 его разработка была прекращена, и, вскоре после этого, было объявлено о поддержке Microsoft .NET. При этом высказывались предположения, что эти два факта взаимосвязаны.
Реализация среды разработки проектом Lazarus (Free Pascal) позволяет использовать его для создания приложений на Delphi для таких платформ, как GNU/Linux, Mac OS X и Windows CE.
Delphi — результат развития языка Турбо Паскаль, который, в свою очередь, развился из языка Паскаль. Паскаль был полностью процедурным языком, Турбо Паскаль начиная с версии 5.5 добавил в Паскаль объектно-ориентированные свойства, а Delphi — объектно-ориентированный язык программирования с возможностью доступа к метаданным классов (то есть к описанию классов и их членов) в компилируемом коде, также называемом интроспекцией. Так как все классы наследуют функции базового класса TObject, то любой указатель на объект можно преобразовать к нему, после чего воспользоваться методом ClassType и функцией TypeInfo, которые и обеспечат интроспекцию. Также отличительным свойством Дельфи от С++ является то, что объекты по-умолчанию располагаются в динамической памяти. Однако можно переопределить виртуальные методы NewInstance и FreeInstance класса TObject. Таким образом, абсолютно любой класс может осуществить «желание» «где хочу — там и буду лежать». Соответственно организуется и «многокучность».
Де-факто Object Pascal, а затем и язык Delphi являются функциональными наращиваниями Turbo Pascal. Об этом говорят обозначения версий компилятора. Так, в Delphi 7 компилятор имеет номер версии 15.0 (Последняя версия Borland
Pascal / Turbo Pascal обозначалась 7.0, в Delphi 1 компилятор имеет версию 8.0, в Delphi 2 — 9.0, и т. д. Номер версии 11.0 носит компилятор Pascal, входивший в состав среды C++ Builder).
Delphi оказал огромное влияние на создание концепции языка C# для платформы .NET. Многие его элементы и концептуальные решения вошли в состав С#. Одной из причин называют переход Андерса Хейлсберга, одного из ведущих разработчиков Дельфи, из компании Borland Ltd. в Microsoft Corp.
Версия 1 была предназначена для разработки под 16-ти разрядную платформу Win16;
Версии со второй компилируют программы под 32-х разрядную платформу Win32; Вместе с 6-й версией Delphi вышла совместимая с ним по языку и библиотекам среда Kylix, предназначенная для компиляции программ под операционную систему GNU/Linux;
Версия 8 способна генерировать байт-код исключительно для платформы .NET. Это первая среда, ориентированная на разработку мультиязычных приложений (лишь для платформы .NET);
Последующие версии (обозначаемые годами выхода, а не порядковыми номерами, как это было ранее) могут создавать как приложения Win32, так и байт-код для платформы .NET;
Delphi for .NET — среда разработки Delphi, а также язык Delphi (Object Pascal), ориентированные на разработку приложений для .NET.
Первая версия полноценной среды разработки Delphi для .NET — Delphi 8. Она позволяла писать приложения только для .NET. В настоящее время, в Delphi 2006, можно писать приложения для .NET, используя стандартную библиотеку классов .NET, VCL для .NET. Среда также позволяет создавать .NET-приложения на C# и Win32-приложения на C++. Delphi 2006 содержит функции для написания обычных приложений с использованием библиотек VCL и CLX. Delphi 2006 поддерживает технологию MDA с помощью ECO (Enterprise Core Objects) версии 3.0.
При решении конкретной прикладной задачи в большинстве случаев язык и среда программирования не выбираются, а задаются извне — заказчиком, начальником и т.п. В том же редком случае, когда возможен выбор, исходить, на мой взгляд, следует из следующих условий (в порядке приоритета): а) характера самой задачи и технических требований; б) наработанного инструментария и имеющихся для данной среды библиотек; в) имеющихся в языке и среде программирования инструментальных средств. Зачастую при подобном выборе поступают строго наоборот: сначала решают, что программировать будут на объектах, затем — что использоваться будет такая-то библиотека, а потом подгоняют под это технические требования.
Выбор среды программирования для решения поставленной задачи концепций (парадигм) позволяет работать, какие имеются стандартные и распространенные пользовательские библиотеки и т.д.
Visual C++, использует среду разработки IDE (Integrated Development Environment), что дает возможность создавать комплексные проекты с использованием разных языков (mixed-language solutions). Многоязыковая среда разработки .Net (.Net Framework) представляет собой сумму двух составляющих: а)общая для рассмотренного набора языков библиотека времени исполнения (Common Language Runtime); б)унифицированная библиотека классов разработчика (Unified Programming Classes); в)модель разработки web-приложений (Active Server Pages.Net).
Первая составляющая — библиотека времени исполнения (Common Language Runtime, сокращенно CLR), функционирует как на этапе выполнения, так и на этапе разработки. Во время выполнения кода она следит за динамикой многопотоковых приложений, обеспечивает взаимосвязь процессов, поддерживает их безопасность, автоматизирует процедуры выделения и освобождения памяти. На этапе разработки CLR автоматизирует типовые задачи, решаемые программистом, значительно упрощая использование новых технологий. Особо отмечаются преимущества, получаемые при создании компонентов стандарта COM (Component Object Model, сокращенно COM — Модель многокомпонентных объектов).
Вторая составляющая (Unified Programming Classes) предоставляет разработчику унифицированную, объектно-ориентированную, расширяемую библиотеку классов, которая совместно с другими ресурсами является частью программируемого интерфейса приложений API (Application Programming Interface). Она объединяет элементы MFC (Microsoft Foundation Classes), WFC (Windows Foundation Classes) и часть API, используемую Visual Basic.
Третья составляющая (ASP.Net) представляет собой надстройку над классами, которая дает возможность пользоваться объектно-ориентированной технологией при разработке типовых элементов HTML-интерфейса. Фактически выполняемые на стороне сервера, эти элементы проецируют функции пользовательского интерфейса в виде HTML-кода.
Однако при разработке сервера имеется возможность использовать мощный аппарат, предоставляемый объектной моделью программирования. Результат — резкое упрощение процесса построения web-приложений. В дополнение к этому ASP.Net поддерживает достаточно новую концепцию или модель разработки программ. Вы, наверное, слышали о ней, как о технологии «тонкого» клиента. Основная суть этой модели — предоставление кода пользователю не в виде инсталлируемого продукта, а в виде временной услуги (service).
2.3 Концептуальная модель и информационная модель
2.4 Концептуальная модель
Рисунок 1 — Концептуальная модель
2.5 Информационная модель
Поиск дублирующихся файлов начинается после указания рамок поиска, критериев поиска и дополнительных параметров.
Заканчивается поиск решением пользователя удалить файлы или переместить в отдельную папку.
Заключение
В ходе выполнения курсовой работы были решены следующие задачи:
1) изучена предметная область;
2) изучены особенности и требования, предъявляемые к программе производящей поиск дублирующихся файлов на диске;
3) анализирована среда программирования;
4) выбрана технология программирования;
В результате был разработан программный продукт с понятным интерфейсом, готовый работать без предварительных настроек.
диск скрытый файл поиск
Список используемых источников
1. ГОСТ 19.001-77 Общие положения.
2. ГОСТ 19.101-77 Виды программ и программных документов.
3. ГОСТ 19.105-78 Общие требования к программным документам.
4. ГОСТ 19.404-79 Пояснительная записка. Требования к содержанию и оформлению.
5. Вирт Н. Алгоритмы и структуры данных / Пер. с англ. — М.: Мир, 1989. — 360 с., ил.
6. Гринзоу Лу. Философия программирования для Windows 95/NT / Пер. с англ. — СПб.: Символ-Плюс, 1997. — 640 с., ил.
7. Зелковиц М., Шоу А., Гэннон Дж. Принципы разработки программного обеспечения / Пер. с англ. — М.: Мир, 1982. — 386 с., ил.
8. Практическое руководство по программированию / Пер. с англ. Б. Мик, П. Хит, Н. Рашби и др.; под ред. Б. Мика, П. Хит, Н. Рашби. — М.: Радио и связь, 1986. — 168 с., ил.
9. Фокс Дж. Программное обеспечение и его разработка / Пер. с англ. — М.: Мир, 1985. — 368 с., ил.
10. Язык компьютера. Пер. с англ, под ред. и с предисл. В. М. Курочки-на. — М.: Мир, 1989. — 240 с., ил.
Приложение
Руководство пользователя
Минимальные системные требования к программе «Производящая поиск дублирующихся файлов на диске»:
* Операционная система: Windows 95, Windows 98, Windows ME, Windows XP, Windows 7, Windows Vista
* Процессор: 80386 и выше
* Оперативная память: 32 Мб
* Видеокарта: видеокарта с поддержкой режима 640×480, 16 цветов место на жестком диске: 2 Мб
Запуск программы «Программы, производящая поиск дублирующихся файлов на диске».
* Для запуска требуется двойной щелчок мыши на файл программы.
Программа не требует установки, после запуска нажимаете «Ок» после чего в директории с программой появятся два файла, не пугайтесь, это отчеты.
Рисунок 2 — расположение файлов программы
После запуска вы увидите диалоговое окно
Рисунок 3 — Главное окно программы
Выбираете режим работы, критерии поиска и дополнительные параметры
Рисунок 4 — Настройка работы программы (1)
Выбираете директорию для поиска и нажимаете «Start scanning»
Рисунок 5 — Настройка работы программы (2)
Ждете пока пройдет поиск дублирующихся файлов:
Рисунок 6 — Поиск дублирующихся файлов
После чего закрываете программу
Исходный код программы
object MainForm: TMainForm
Left = 399
Top = 250
BorderStyle = bsToolWindow
Caption = ‘Server/Client UDP’
ClientHeight = 193
ClientWidth = 325
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = ‘MS Sans Serif’
Font.Style = []
OldCreateOrder = False
Position = poDesktopCenter
OnCreate = FormCreate
PixelsPerInch = 96
TextHeight = 13
object GroupText: TGroupBox
Left = 0
Top = 0
Width = 325
Height = 124
Align = alTop
Caption = #1056#1072#1073#1086#1090#1072′ ‘#1089’ ‘#1090#1077#1082#1089#1090#1086#1084
TabOrder = 0
object SendEdit: TEdit
Left = 8
Top = 16
Width = 233
Height = 21
TabOrder = 0
object SendBtn: TButton
Left = 246
Top = 15
Width = 70
Height = 22
Caption = #1054#1090#1086#1089#1083#1072#1090#1100
TabOrder = 1
OnClick = SendBtnClick
object Memo: TMemo
Left = 9
Top = 40
Width = 305
Height = 77
ReadOnly = True
TabOrder = 2
object FileGroup: TGroupBox
Left = 0
Top = 124
Width = 325
Height = 69
Align = alClient
Caption = #1056#1072#1073#1086#1090#1072′ ‘#1089’ ‘#1092#1072#1081#1083#1072#1084#1080
TabOrder = 1
object SendFileBtn: TButton
Left = 171
Top = 42
Width = 70
Height = 22
Caption = #1054#1090#1087#1088#1072#1074#1080#1090#1100
TabOrder = 0
OnClick = SendFileBtnClick
object FileEdit: TEdit
Left = 8
Top = 16
Width = 307
Height = 21
ReadOnly = True
TabOrder = 1
object SetFile: TButton
Left = 246
Top = 42
Width = 70
Height = 22
Caption = #1059#1082#1072#1079#1072#1090#1100
TabOrder = 2
OnClick = SetFileClick
object UDPClient: TIdUDPClient
BufferSize = 100000
Host = ‘localhost’
Port = 1152
Left = 16
Top = 48
object UDPServer: TIdUDPServer
Active = True
BufferSize = 100000
Bindings = <>
DefaultPort = 1152
OnUDPRead = UDPServerUDPRead
Left = 48
Top = 48
object OpenDialog: TOpenDialog
Left = 80
Top = 48
object SaveDialog: TSaveDialog
Left = 112
Top = 48
object CmdForm: TCmdForm
Left = 428
Top = 230
BorderIcons = [biSystemMenu]
BorderStyle = bsDialog
Caption = #1053#1086#1074#1072#1103′ ‘#1079#1072#1076#1072#1095#1072
ClientHeight = 96
ClientWidth = 261
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = ‘MS Sans Serif’
Font.Style = []
OldCreateOrder = False
Position = poMainFormCenter
PixelsPerInch = 96
TextHeight = 13
object Label1: TLabel
Left = 8
Top = 8
Width = 241
Height = 17
AutoSize = False
Caption = #1042#1074#1077#1076#1080#1090#1077′ ‘#1080#1083#1080’ ‘#1074#1099#1073#1077#1088#1080#1090#1077’ ‘#1080#1084#1103’ ‘#1079#1072#1076#1072#1095#1080′:’
object okbtn: TButton
Left = 96
Top = 64
Width = 75
Height = 25
Caption = #1054#1050
TabOrder = 0
OnClick = okbtnClick
object cancelbtn: TButton
Left = 176
Top = 64
Width = 75
Height = 25
Caption = #1054#1090#1084#1077#1085#1072
TabOrder = 1
OnClick = cancelbtnClick
object Cmdtext: TComboBox
Left = 8
Top = 32
Width = 241
Height = 21
ItemHeight = 13
TabOrder = 2
Items.Strings = (
‘cmd’
‘regedit’
‘control’
‘control desk.cpl’
‘control inetcpl.cpl’
‘control modem.cpl’
‘control sysdm.cpl’
‘control appwiz.cpl’)
object Form1: TForm1
Left = 235
Top = 135
BorderIcons = [biSystemMenu, biMinimize]
BorderStyle = bsSingle
Caption = ‘Snake’
ClientHeight = 319
ClientWidth = 300
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = ‘MS Sans Serif’
Font.Style = []
KeyPreview = True
Menu = MainMenu1
OldCreateOrder = False
Position = poDesktopCenter
OnCreate = FormCreate
OnKeyUp = FormKeyUp
PixelsPerInch = 96
TextHeight = 13
object Area: TImage
Left = 0
Top = 0
Width = 300
Height = 300
object Wall: TImage
Left = 312
Top = 16
Width = 17
Height = 17
AutoSize = True
Visible = False
object LenPlus: TImage
Left = 312
Top = 40
Width = 15
Height = 15
Visible = False
object StatusBar1: TStatusBar
Left = 0
Top = 300
Width = 300
Height = 19
Panels = <
item
Text = #1044#1083#1080#1085#1072′:’
Width = 100
item
Text = #1057#1082#1086#1088#1086#1089#1090#1100′:’
Width = 150
end>
object Timer1: TTimer
Enabled = False
Interval = 500
OnTimer = Timer1Timer
Left = 152
Top = 48
object MainMenu1: TMainMenu
Left = 120
Top = 48
object N1: TMenuItem
Caption = #1048#1075#1088#1072
object N3: TMenuItem
Caption = #1047#1072#1075#1088#1091#1079#1080#1090#1100′ ‘#1082#1072#1088#1090#1091
object N8: TMenuItem
Caption = #1057#1083#1091#1095#1072#1081#1085#1072#1103′ ‘#1082#1072#1088#1090#1072
OnClick = N8Click
object N5: TMenuItem
Caption = ‘-‘
object N4: TMenuItem
Caption = #1042#1099#1093#1086#1076
OnClick = N4Click
object N2: TMenuItem
Caption = #1055#1086#1084#1086#1097#1100
object N6: TMenuItem
Caption = #1057#1087#1088#1072#1074#1082#1072
object N7: TMenuItem
Caption = #1054′ ‘#1087#1088#1086#1075#1088#1072#1084#1084#1077’…’
OnClick = N7Click
Размещено на Allbest.ur