Смекни!
smekni.com

Голосовое воспроизведение текста (стр. 1 из 3)

КУРСОВАЯ РАБОТА

«Голосовое воспроизведение текста»

Выполнила:

Научный руководитель:

Содержание

Глава 1. Выбор программных средств.. 3

1.1.Выбор средств разработки. 3

1.2.Дополнительные компоненты.. 3

Глава 2. Анализ предметной области и создание концептуальной модели.. 3

2.1. Сбор информации о предметной области. 3

2.2. Выделение сущностей. 3

Глава 3. Программная реализация.. 3

3.1. Логическая структура программы.. 3

3.2.Подключение готовых библиотек кода. 3

Заключение.. 3

Список используемых источников.. 38

Приложение а. Внешний вид программы... 19


Введение

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

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

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

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

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

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

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

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

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

Для реализации этого проекта необходимо решить следующие задачи:

1. Подбор материалов и сервисов чтения.

2. Моделирование предметной области и обоснование выбранных средств разработки проекта.

3. Программная реализация проекта.

Глава 1. Выбор программных средств

1.1. Выбор средств разработки

Программиста, привыкший к платформе Майкрософт, может представить себе C Sharp как промежуточный вариант между C++ и Visual Basic, если рассматривать сложность языковых конструкций и возможности языка.

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

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

C Sharp объектно-ориентированный язык, как и вся платформа .NET. Более того, это язык, ориентированный на написание компонент. C Sharp создан для программирования в управляемой среде с присутствующим сборщиком мусора, но позволяет писать и неуправляемый (unmanaged) код.

Цельность концепции видна, скажем в реализации упаковки/распаковки. Это позволяет рассматривать все типы (даже примитивные) как объекты, что разрешает многие проблемы дизайна приложений.

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

Помимо сборщика мусора и безопасности работы с типами для избежания ошибок в языке также применяется автоматическая инициализация переменных. Все типы, которые размещаются в стеке (value types, к которым относятся примитивные типы, структуры и прочие наследники класса ValueType) инициализируются нулями. Объекты остальных типов размещаются в куче, доступ к ним осуществляется по объектной ссылке, и ссылки эти инициализируются в значение null (которая говорит, что данная ссылка не имеет ассоциированного объекта в куче).

В C Sharp представлена концепция пространств имен, аналогичная пакетам в Java. Это позволяет иерархически структурировать Вашу систему типов, делая код намного более понятным и позволяя избежать проблем с именованием. Вы можете рассматривать пространства имен как директории, а языковые типы как файлы в этих директориях.

В языке для работы с событиями и обратными вызовами представлена новая концепция объектно-ориентировано и безопасной с точки зрения системы типов ссылки на функцию - "делегат". Именно эта концепция позволяет описывать события C Sharp компонента без возвратных интерфейсов и дополнительных усилий, достаточно использовать ключевое слово event.

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

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

Работа с атрибутам позволяет использовать COM, COM+ и DLL в C Sharp приложениях, работающих в среде .NET. Перечисления позволяют обезопасить работу с перечисляемыми типами.

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

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

1.2. Дополнительные компоненты

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

Код, выполняющийся под управлением среды выполнения (в случае платформы .NET — среды Common Language Runtime), называется управляемым. Напротив, код, запускаемый не под управлением среды, называется неуправляемым. Примером неуправляемого кода могут служить COM-компоненты, Microsoft ActiveX интерфейсы и функции API Win32.

Microsoft .NET Framework позволяет взаимодействовать с COM-компонентами, COM+-службами, внешними типами библиотек и разными службами операционной системы. Перехват исключений различается в управляемом и неуправляемом коде. Платформа .NET Framework предлагает две службы взаимодействия управляемого кода с неуправляемым — Platform Invoke и COM interoperability, которые используют реальные возможности проекта.

Объектная модель COM (Common Object Model) компонентов имеет некоторые существенные отличия от объектной модели компонентов .NET Framework.

· Управление жизненным циклом объектов. Клиенты СОМ-объектов сами управляют этим циклом, среда CLR платформы .NET берет эту задачу на себя.

· Обращение к службам и объектам. Клиенты COM-объектов узнают о функциональности службы путем опроса ее интерфейса, клиенты .NET-объектов могут получить описание функциональности, используя пространство имен Reflection.

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

Для преодоления этих различий CLR предлагает классы-оболочки, которые позволяют управляемым и неуправляемым клиентам думать, что они работают с объектами той же среды, что и они сами. Когда управляемый клиент вызывает неуправляемый метод, CLR создает временную оболочку RCW (Runtime Callable Wrapper). RCW абстрагирует различия между управляемым и неуправляемым кодом. CLR также создает оболочку CCW (COM Callable Wrapper) для обращения процесса, которая позволяет COM-объектам запускать методы .NET-объектов.