Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Анализ предметной области





Отчет по курсовой работе

по дисциплине

«Операционные системы»

Тема №1: «Разработка приложения по поддержке набора данных на основе файла с использованием функций Win32 API по управлению им»

 

 
 
Выполнил: Бабушкин Павел Проверил: Езин  

 


Г. ЕКАТЕРИНБУРГ, 2012 ГОД

Содержание

1. Задание на курсовую работу.............................................................. 3

2. Анализ предметной области................................................................ 4

3. Блок-схема работы приложения......................................................... 5

4. Интерфейс приложения....................................................................... 6

5. Исходный код программы.................................................................. 7

6. Вывод................................................................................................. 19

7. Литература......................................................................................... 20


 

Задание на курсовую работу

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

Для операций с файлом использовать функции управления файлами Win 32 API. Удаляемые записи должны помечаться как удаленные, само же удаление записей с дефрагментацией файла должно производиться в отдельном фоновом потоке с низким приоритетом. Для синхронизации его с главным потоком использовать критическую секцию.

Поля данных: Наименование товара (20 символов), Цена, Количество, Дата (поступления на склад).

Анализ предметной области

Для разработки приложения было решено использовать среду Microsoft Visual C++ 2010 Express, так как она на данный является современной, наиболее оптимизированной, удобной, а также бесплатной.

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

+ интерфейс

+ операции с базой данных реализовать в отдельном потоке

+ для управления потоком использовать события

+ удаляемые записи должны помечаться как удаленные, а само удаление в другом потоке с низким приоритетом,

+ для синхронизации рабочего и дополнительного потоков использовать критические секции

+ открытие БД с помощью WinAPI

+ добавление записей

+ изменение записей

+ удаление записей

+ навигация по записям (вперед, назад, конкретная запись)

+ выбор записи с заданным номером

+ сортировка пузырьковым методом

 

Интерфейс приложения возможно создать при помощи стандартного конструктора форм, входящего в среду VC++. Данный конструктор позволяет создать оконное приложение с различными контролами, самостоятельно добавляя необходимый код в модуль формы. Для организации интерфейса также понадобится диалог открытия файла базы данных. Для этого стоит использовать WindAPI функцию, вызывающую стандартный диалог открытия файла Windows.

Для работы с потоками возможно использование раздела Threading окружения.NET. При этом методы потока выносятся в отдельный класс, после чего удобно работать с экземплярами объектов этого класса. Все методы и описания классов, переменные, связанные с дополнительными потоками приложения удобно вынести в отдельный модуль. Так как модуль формы и потоков не взаимодействует на прямую, а используют для управления события с автоматическим сбросом. Сами события создаются при создании потока. Событие завершения потока, в отличие от остальных событий, предоставляет ручной сброс, так как одним событием удобно завершить сразу оба потока. Все действия с БД в потоках следует выделить в критические секции. При этом сразу два потока не смогут одновременно что-либо делать с файлом БД, и удастся избежать многих ошибок.

Все действия по работе с файлом БД будут организованы с помощью WinAPI-функций.

Блок-схема работы приложения

 
 

 


Интерфейс приложения

   
 
 
 


1. Здесь отображаются данные текущей записи, а также количество всех записей в базе, и номер текущей.

2. Данная кнопка позволяет отсортировать все записи в текущей базе по полю «Дата».

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

4. Данная кнопка позволяет пометить данную запись для удаления. Удаление произойдет в ближайшее время в фоновом потоке. Помеченные для удаления записи отображаются красным цветом.

5. Здесь возможно редактирование записей базы данных. Кнопка «Добавить» позволяет добавить указанные данные в новую запись в конец базы данных. Кнопка «Изменить» заменяет данные текущей записи указанными данными. При навигации по базе данных в полях ввода отображаются данные текущей записи.

6. Кнопка «…» позволяет открыть базу данных. Если база открыта, то путь к ней отображается в поле справа от кнопки.


 







Дата добавления: 2015-06-15; просмотров: 553. Нарушение авторских прав; Мы поможем в написании вашей работы!




Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...


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


Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...


Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...

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

Типовые примеры и методы их решения. Пример 2.5.1. На вклад начисляются сложные проценты: а) ежегодно; б) ежеквартально; в) ежемесячно Пример 2.5.1. На вклад начисляются сложные проценты: а) ежегодно; б) ежеквартально; в) ежемесячно. Какова должна быть годовая номинальная процентная ставка...

Выработка навыка зеркального письма (динамический стереотип) Цель работы: Проследить особенности образования любого навыка (динамического стереотипа) на примере выработки навыка зеркального письма...

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

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

Типовые ситуационные задачи. Задача 1. Больной К., 38 лет, шахтер по профессии, во время планового медицинского осмотра предъявил жалобы на появление одышки при значительной физической   Задача 1. Больной К., 38 лет, шахтер по профессии, во время планового медицинского осмотра предъявил жалобы на появление одышки при значительной физической нагрузке. Из медицинской книжки установлено, что он страдает врожденным пороком сердца....

Studopedia.info - Студопедия - 2014-2025 год . (0.009 сек.) русская версия | украинская версия