Смекни!
smekni.com

Перенос Базы Данных на WEB-сервер

Дипломная работа.
Тема: 'Перенос базы данных на WEB-сервер'
Сдавался: СПбГЭТУ(бывший ЛЭТИ), кафедра МО ЭВМ, 15.02.2000
Оценка: 'отлично'

  1. Выбортемы для дипломногопроектирования.


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

Internetразвиваетсядовольностремительно.Быстро растетколичествоизданий, посвященныхСети, что предвещаетширокое еераспространениедаже в далекихот техникиобластях. Internetпревращаетсяиз большойигрушки дляинтеллектуаловв полноценный источниквсевозможнойполезной информациидля всех. Процессыразвития глобальныхинформационно-коммуникационныхтехнологийочень динамичныв настоящеевремя, а ихвозможностидля обществаи экономикиеще тольконачинают масштабноиспользоваться.Еще два-тригода назадInternet рассматривалсяпреимущественнокак гигантскаябиблиотекаи главной егозадачей считаласьпомощь в поискенужной информациии организациядоступа к ней.В настоящий"коммуникационный"этап своегоразвития главнойзадачей сетиInternetявляется помощьв поиске желательныхпартнеров ипредоставлениесредств дляорганизациис ними нужноговида коммуникацийс необходимойинтенсивностью.Результатыпоследнихисследованийпоказали, чтоиспользованиеInternet-технологийможет принестиреальную экономиюи прибыль. Ожидаетсясущественныйрост увеличенияобъемов Internet-коммерции,особенно втаких областях,как путешествия,розничнаяторговля, финансы,тематическаяреклама, а такжев компьютерномсекторе. В миренакопленоогромное количествоинформациипо различнымвопросам. Чащевсего эта информацияхранится вбазах данных(БД). Чтобы опубликоватьеё в Сети приходилосьэкспортироватьБД в HTML-документы,что требовалобольших затрати усложнялопоиск информации.Сегодня имеетсябольшой опытподобных работ.Практическилюбой пользовательСети не разсталкивалсяс подобнымиБД. Например,главное в работе популярногопоисковогосервера Yahoo(адрес- http::\www.yahoo.com)- это запросык базе данныхWWW-серверапо ключевымсловам. Ответсервера - списокгипертекстовыхссылок на найденныев Сети страницы,содержащиенужную информацию.Именно сегодняпроблемаWeb-интерфейсак БД как никогдаактуальна.


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


Работаяв фирме «ТелефоннаяКоммерческаяСлужба Санкт-Петербурга008» передо мною,было поставленазадача:

  • Перенестибазу данныхпо клиентамфирмы с серверав локальнойсети телефоннойсправочнойслужбы фирмына её WEB-сервер.

  • Выбратьспособ реализации.

  • Сделатьвыбор междудоступнымина сегодняшнийдень серверамибаз данных,для дальнейшейреализации,на его основе,базы данных«ТелефоннойКоммерческойСлужбы Санкт-Петербурга008».

  • Сделатьвыбор междуспособамидоступа к базеданных.

  • Осуществитьразработкудоступа к базеданных фирмыс помощьюInternet-браузера.


  1. Выборметодов и средстврешения.


    1. Выборсервера базданных.


Вданном разделетребуетсяопределитьс помощью какихметодов и средстврешения можноосуществитьреализациюпроекта. Сразунадо сказать,что средстврешения этойзадачи на сегодняшнийдень достаточномного, но практическивсегда всёзависит отколичестваресурсовпредоставляемыхдля решения– типом и характеристикамисервера, операционнойсистемой и т.д.Сразу надосказать, чтокомпьютер,выделенныйпод WEB-сервердостаточномощный (PentiumII- 300Мг, 128Мб. оперативнойпамяти, SCSI– диск). На нёмустановленаоперационнаясистема MicrosoftWindowsNT4.0, так же установленWEB-серверInternetInformationServer.

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

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

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

К нимотносятся:

  • отношениестоимость/производительность;

  • надежностьи отказоустойчивость;

  • масштабируемость;

  • совместимостьи мобильностьпрограммногообеспечения.

Ужедовольно давноразвитые коммерческиеСУБД основываютсяна архитектуре"клиент-сервер".При этой организациинаиболее трудоемкиеоперации надбазами данныхвыполняютсяна выделенномкомпьютере-сервере,который долженбыть достаточномощным и обладатьсоответствующимнабором ресурсовосновной ивнешней памяти.До поры сервернаячасть СУБДобладала простойорганизацией:запросы, поступающиеиз клиентскихчастей системы,обрабатывалисьпоследовательнос небольшойоптимизациейдля совмещенияпроцессорнойработы с работойустройстввнешней памяти.Однако с появлениемна рынке мультипроцессорныхсимметричныхаппаратныхархитектур,производителиСУБД были вынужденыпересмотретьорганизациюсвоих серверов,допустив в нихвнутреннююпараллельность.

Internetдействительнонеожиданнобурно ворвалсяв устоявшуюсяжизнь разработчиковклиент-серверныхприложений.Однако первоначальныйшок довольнобыстро прошел,как тольконаступилоосознаниенехитрого вобщем-то факта,что структураInternet/Intranetприложенийимеет многообщего с традиционнойплатформой"клиент-сервер".Правильнееговоря, World Wide Web (WWW)также основываетсяна клиент-сервернойархитектуре.В самом деле,Web-браузер являетсятипичным клиентскимfront-end'ом, основноеотличие которогоот клиентскихмест, построенныхс помощью Visual C++,Visual Basic, Visual FoxPro и другихсредств разработки,состоит в болеегибко настраиваемойфункциональности,которая можетопределятьсядаже во времявыполненияпрограммы. Приэтом не требуетсяни перекомпиляции,ни переустановкимодулей, чтоуже само посебе являетсянетривиальнойзадачей в большихи сложныхклиент-серверныхсистемах масштабакорпорации.Правда, первоначальнобраузерыиспользовалисьтолько каксредстваформатированиястатическоготекста. Однакоактивно развивающийсяв Internet бизнес вскорепересталдовольствоватьсяпростой публикациейрекламы предприятияи справочнойинформациио его деятельности.Например, клиентимел полноеправо хотетьвыбрать изрекламногопроспекта фирмыпонравившиесяему образцыи совершитьпокупку. Подобнотипичномуинтерфейсуклиентскогоприложенияна VB, VFP и т.д., сценарийработы предполагалзаполнениеклиентом некоторойформы, населенной,вообще говоря,различнымиэлементамиуправления,отправкусоответствующегозапроса насервер и приемрезультатовобработки.Таким образом,требованиябизнеса выдвинулина первый планпринципыдинамическоговзаимодействиябраузера иWeb-сервера внутрисессии, чтозаставилозадуматьсякак об активнойроли браузера,так и о расширениифункциональностисервера посравнению спростым хранениеми пересылкойHTML-документов.

Многиефирмы-производителипрограммныхпродуктоввыпускают илиразрабатываютсредства публикациибаз данных вInternet-сетях.Основные функциитаких программныхпродуктовданного видатаковы:

  • обеспечитьотображениеинтерфейсапользователяв формате HTMLдля отображенияпрограммойпросмотраклиента, в частностиInternet-броузерами.

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

  • обеспечитьаутентификациюпользователя(для разграничениядоступа).

  • обеспечитьобработкузапроса и возвратрезультатав HTMLформате дляотображенияпрограммойпросмотрапользователя.

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

Длясерийно выпускаемыхпрограммныхпродуктовданного типахарактернывысокая стоимостьсамого программногообеспечения(ПО), аппаратнойплатформы,самой СУБД(насколько мнеизвестно, ПОдля связи с WWWпока не включаетсяв поставкуСУБД). К достоинствамможно отнестихорошуюдокументированность,наличие техническойподдержки,низкую стоимостьдальнейшихобновленийпрограммногообеспечения.Хотя в последнеевремя начинаютпоявлятьсяпрограммытакого типадля «настольных»СУБД типа VisualFoxPro,Paradoxи т.д. Но здесьдругая проблема- при низкойстоимости(некоторое ПОможно получитьпо Сети бесплатно- нужно лишьиметь СУБД)отсутствуетмощность игибкость. ТакоеПО годитсяразве что дляпубликациинебольших пообъёму и несложныхбаз данных.

Можноупомянутьследующие СУБД:

  • SQL-serverфирмы Microsoft(требует мощногосервера базданных подуправлениемОС MicrosoftWindowsNTserver).

  • SybaseSystemфирмы Sybase(требует мощногоUNIX-сервера).

  • Informixфирмы InformixSoftware(также требуетмощного UNIX-сервера).

  • Progressфирмы ProgressSoftware(работает натой же аппаратнойплатформе, чтои два предыдущих).

  • InterBaseфирмы Borland(есть вариантдля WindowsNT и для UNIX).

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

Например,в последнеевремя, всё чащеупоминаютIntranet(«внутренняя»Сеть). Это крупныекорпоративныевычислительныесети, основанныена технологияхInternet,использующиете же протоколы,форматы данныхи т.д. имеющиеили не имеющиевыход глобальнуюсеть Internet.ДостоинстваIntranetв том, что ненадо переучиватьперсонал припереходе нановое ПО (можно,в принципе,оставить старыеинтерфейсы),так как научиводин раз человекапользоватьсяInternet’ом, можно легкообучить егоработе с ПОпредприятия- для отображенияинформацииможно воспользоватьсятеми же браузерами.К общим чертамвышеперечисленныхпрограммныхпродуктов можноотнести поддержкустандартногоязыка запросовк базам данныхSQL,что облегчаетв случае надобностипереход отодной СУБД кдругой, практическоеотсутствиеограниченийна размерыфайлов базданных.

Оригинальнаяверсия SQL– это интерпретируемыйязык, предназначенныйдля выполненияопераций надбазами данных.Язык SQLбыл создан вначале 70 х какинтерфейс длявзаимодействияс базами данных,основаннымина новой длятого времениреляционнойтеории. Реальныеприложенияобычно написанына других языках,генерирующихкод на языкеSQLи передающихих в СУБД в видетекста в форматеASCII.Нужно отметитьтакже, чтопрактическивсе реальныереляционные(и не толькореляционные)системы помимореализациистандарта ANSISQL,известногосейчас в последнейредакции подименем SQL2(или SQL-92),включают в себядополнительныерасширения,например, поддержкаархитектурыклиент-серверили средстваразработкиприложений.

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

Microsoft SQL Server 7.0 входитв состав семействаMicrosoft BackOffice, объединяющегопять серверныхприложений,разработанныхдля совместногофункционированияв качествеинтегрированнойсистемы. Онапозволяетпользователямповыситьпроизводительностьпроцесса принятиярешений средствамисистем, базирующихсяна архитектуреклиент-сервер.Кроме того,Microsoft SQL Server 7.0 завершаетлинию средствразработки,включающихMicrosoft Access, Visual FoxPro®, Visual Basic и VisualC++™.

Расширенныевозможностимасштабированияи высокаяпроизводительность.

Особоевнимание, котороебыло уделеноповышениюпроизводительностиСУБД, позволилоповысить скоростьвыполнениянекоторыхопераций почтина 400% на многопроцессорныхкомпьютерах.Это достигаетсяактивнымиспользованиеммногопроцеcсорнойархитектурыкомпьютераи многопоточнойархитектурыоперационнойсистемы. Средиопераций,выполняющихсяпараллельно,можно назватьсканированиетаблиц, загрузку,создание/восстановлениестраховочнойкопии. Все этопозволяетобеспечитьвысокопроизводительнуюработу с большимии очень большимибазами данных.

Поддержкаочень большихбаз данных исъемных носителей.

Для версии4.21а очень большойсчиталась базаданных размером10-15 Гб (хотя некоторыеорганизации,например, Sprint,работали сбазами данныхразмером 60 Гби более). Высокоскоростнаяпараллельнаяобработкаделает возможнойподдержкуработы с базамиданных размером100 Гб и более насоответствующимобразом конфигурированныхсистемах. Нетолько процесссоздания страховочныхкопий выполняетсябыстрее, но итакие операции,как проверкацелостностибазы данных(выполняетсякомандой DBCC),сильно выигрываютот использованияпараллельногосканированияи увеличенныхблоков ввода/вывода.Возможностьсохраненияв страховочнойкопии (восстановленияиз копии) индивидуальныхтаблиц позволяетсократитьвремя, необходимоена сохранение(восстановление)отдельныхтаблиц базыданных. Поддержкараспространениябаз данных насъемных носителях(таких как CD-ROM)позволяетвыпускатьразличногорода справочникиили информационныематериалы.Интересноотметить, чтогибкость SQL Serverпроявляетсяи при работес очень маленькимиобъемами информации.Так, для тогочтобы базуданных можнобыло сохранитьна дискете, ееминимальныйразмер снижендо 1 Мб.

Расширениевозможностейязыка и программногодоступа.

Существующаяверсия SQL Server снабженамощным языкомпрограммирования-Transact-SQL, позволяющимсоздаватьсложную логикутриггеров ихранимых процедур.В новой версииязык значительнорасширен, теперьон соответствуетстандартуANSI-92, и программистыполучили новыевозможности(такие как новые,соответствующиеANSI-стандарту,типы данныхи соответствующаястандарту ANSIподдержкадекларативнойцелостностиданных). Помимоперечисленныхвозможностей,программистможет воспользоватьсягенератором,автоматическисоздающимуникальныезначения дляключевых полейтаблицы, возможностьюпередаватьидентификаторыи данные типаTEXT и IMAGE как параметрыхранимым процедурами многое другое.Использованиехранимых процедур,которые запускаютсяавтоматическипри каждомстарте SQL Server, позволяетсоздаватьсистемы, способныевыполнятьразличногорода заданиябез участияадминистратора.Наиболее жеинтереснымнововведениемявляютсяскроллируемые,двунаправленныекурсоры. КурсорыSQL Server поддерживаютвсе режимы,определенныерасширеннымитребованиямиANSI, а также и ODBCсемантику; онисовместимыс существующимикурсорами,поддерживаемымиAPI в DB-Library.

Производительностьи масштабируемость.

Microsoft SQL Server 7.0 имеетпараллельнуюархитектуру,интенсивноиспользующуюмного поточностьоперационнойсистемы дляобеспечениявысокой производительностии масштабируемостина многопроцессорныхсистемах. Всеуправлениезадачами SQL Serverорганизовановытесняющимдля повышениянадежностии изолированиявозможныхсбоев. За счетдинамическогораспределениянагрузки напроцессорыSQL Server достигаетавтоматическойбалансировкизагрузки всехЦП компьютера.Microsoft называетэто "симметричнойархитектуройсервера".

Преимуществасимметричнойархитектуры.

СимметричнаяархитектураMicrosoft SQL Server предоставляетследующиепреимущества:

- снижаетсложностьсистемы.

SQL Server не дублируетслужбы операционнойсистемы (такиекак диспетчирование,распределениепамяти, управлениеочередями), чтоделает архитектурусистемы болееэффективнойи стабильной;

- повышаетпроизводительность.

SQL Server способенобеспечитьвысокую скоростьвыполнениятранзакцийи обладаетвысокой пропускнойспособностьюна микропроцессорныхсистемах, дажепри одновременнойработе сотенпользователей;

- адаптируетсяк росту нагрузки.

Нагрузкана SQL Server динамическираспределяетсяпо несколькимЦП, что повышаетмасштабируемостьна симметричныхмногопроцессорныхсистемах.

повышаетнадежность

Задачипользователяисполняютсяв самостоятельныхпотоках, и принеобходимостиодна задачапринудительнозавершается,не оказываявлияния навыполнениеостальных.Например, SQL Serverспособен прервать"спящий" процессбез того, чтобыэто оказаловлияние наработу всейсистемы. Ниодна задачане может "выйтииз-под контроля".

Усовершенствования,связанные спараллельнойобработкойданных в SQL Server 7.0 .

У SQL Server 7.0 Microsoft ещеболее расширилавозможностипараллельнойобработкисимметричнойархитектурысервера. Засчет параллельноговыполненияширокого диапазонавнутреннихфункций СУБДс использованиеммножественныхпотоков операционнойсистемы приработе на многопроцессорныхсистемах резковозрастаетпроизводительностьи масштабируемостьмногих операций(таких какопределенныетипы запросов,сканированиетаблиц, созданиеиндексов,создание/восстановлениестраховочныхкопий, проверкацелостностибазы данныхи т.д.).

Параллельноесканированиеи асинхронноеопережающеечтение.

Параллельноесканированиеи асинхронноеопережающеечтение повышаетна 40 - 400% скоростьвыполнениянекоторых типовзапросов идругих операцийнад базой данныхв многопроцессорныхсистемах. Повышениепроизводительностидостигаетсяза счет использованияSQL Server 7.0 множественныхпотоков операционнойсистемы и алгоритмовопределенияследующегоблока данных,необходимыхдля вывода вкэш. Эта операциятипична длядлительногозапроса свычислениямиили операциисоздания отчета.Подобная технологияобеспечиваетрезкое повышениепроизводительностидля любой операции,требующейпросмотратаблиц, например,SELECT, UPDATE и DELETE с необходимостьюпоиска, CREATE INDEX, DBCC,DUMP/LOAD и т.п.

Параллельнаязагрузка.

При работес новой версиейSQL Server можно запускатьнесколькопараллельноработающихкопий BCP или SQLEnterprise Manager и выполнятьпараллельныеперекрывающиесяоперации загрузкиданных в SQL Server.Подобные возможностиоказываютсяособенно полезнымипри необходимостимассивногокопированияданных в ограниченныесроки.

Иконечно жебезопасность:

  • Улучшеннаяинтеграцияс безопасностьюNT ;

  • АутентификациясредствамиNT (как текущийпользователь- без пароля,как другой -login+pwd) ;

  • Mixed (возможнааутентификациясредствамиSQL Srv) ;

  • Полнаяподдержкапользователей,групп и ролей;

  • Роли могутбыть приписаныпользователями группам NT, атакже пользователямSphinx ;

  • Роли могутбыть вложены;

  • Прикладныероли для 3-уровневыхсистем ;

  • Позволяютназначатьправа при доступечерез приложение,а не isql ;

  • Гибкаягранулярностьправ и системныхролей ;

  • ПредопределенныеролиServerAdmin, SecurityOfficer, ... ;

  • Поддержкаделегированияв NT 4.0 ;

  • На 2-м серверене как удаленныйпользователь,а под тем жеименем ;

  • Простоеи мощноеадминистрирование.

Потомубыло приняторешение установитьсервером базыданных – MicrosoftSQLServer7.0.


    1. Выборметодов доступак базе данных.


Далеенеобходимосравнить способыреализациидоступа к базеданных. Схематическиможно представитьвзаимодействиебазы данныхи WEB-сервератак:


3.2.1 CGI – Common GatewayInterface.

Первымспособом сталиприложенияCommon Gateway Interface (CGI), посколькуспецификацияCGI позволяетбраузеру вызватьтот или инойисполняемыймодуль илискрипт наWeb-сервере, которыймог обратитьсяс запросом кбазе данных,построить вHTML-кодах страницурезультатови передать ееобратно Web-серверу,который же, всвою очередь,отсылал результатыбраузеру.CGI-приложениямогут содержатьвызовы другихпрограммных(написанных,например, наС++) или командных(.bat, .cmd) файлов. Спомощью CGI-cкриптов,а точнее наязыке PERL (Practical Extraction andReporting Language), построенонемало интерактивныхWeb-приложений.К сожалению,каждый такойскрипт исполняетсякак иной, нежелиWeb-сервер, процесс,что быстро"съедает" ресурсыдаже достаточно"навороченной"по сегодняшниммеркам машины,особенно прибольшом количествезаходов насервер.

3.2.2 PHP - Personal Home Page Tools.


МодульPHP начал жизнькак простаянебольшая CGIоболочка, написаннаяна Perl. Чтобы избавитьсяот значительныхнепроизводительныхзатрат из-занеобходимостизапуска Perl прикаждом обращениик серверу встандартномобращении CGI.Первоначальноиспользовалсядля маленькихInternet-страниц.Позднее былвстроен инструментдля включенияSQLв WEB-страницы.Это была CGI-оболочка,которая анализируетзапросы SQL иоблегчаетсоздание форми таблиц, основанныхна этих запросах.

PHP/FIверсии 2.0 - полнаяперезаписьиз этих двухпакетов, объединенныхв одиночнуюпрограмму. Этотеперь развилосьпо сути в простойязык программирования,внедренныйвнутрь HTML файлов.PHP/FI сегодня используетсябольше длясоздания целыхWEBсерверов, чемдля малых домашнихстраниц. Модульустраняетпотребностьв многочисленныхмалых cgi программахна Perl, позволяяпоместитьпростые скрипт-программынепосредственнов ваши HTML файлы.Пакет такжеупрощает управлениебольшими WEBсерверами,помещая всекомпонентыWEBстраницы водиночном файлеHTML.Встроеннаяподдержкаразличных базданных делаеттривиальнойразработкуWEBстраниц с доступомк базам данных.Многие находят,что иметь делос внедреннымв html-документыязыком намногопроще, чем создаватьотдельные HTMLи CGI файлы.

3.2.3ISAPI– приложения.

3.2.3.1dBWeb.

ПомимоисполненияCGI-скриптов,Microsoft Internet Information Server (MS IIS) предоставляетразработчикамвозможностьсоздания спомощью соответствующегоAPI (ISAPI) приложенийв виде dll, запусккоторых происходитв ответ на командуили выбор линкана Web-странице.Каждое такоеприложениевыполняетсяв адресномпространствеWeb-сервера, что,естественно,повышает скоростьработы и существенноэкономит машинныересурсы. Взависимостиот сложностисайта и приложений,dll могут бытьпредзагруженыодновременнос запускомсервера, либоподгружаться/выгружатьсяиз памяти помере необходимости.К наиболееизвестнымсредствамразработкиприложенийна основе ISAPIотносятсявходящий всостав MS IIS Internet DatabaseConnector (IDC), а также свободнораспространяемыйdbWeb.

Microsoft dbWeb представляетсобой шлюзмежду 32-битнымиODBC-ресурсами,в качествекоторых могутвыступать,например, MicrosoftSQL Server, Microsoft Access, Microsoft Visual FoxPro, Oracle ит.д., и MS IIS. dbWeb предусматриваетсоздание схемы,содержащейописание данныхи связанныхс ними Web-страниц.Он поддерживаетисполнениезапросов вреальном режимевремени наоснове "pull"-моделипубликации,позволяя темсамым создаватьактивныеWeb-страницы.

Рис.1 СтруктураdbWeb.

Microsoft dbWeb структурносостоит из двухосновных компонент:dbWeb Service и dbWeb Administrator. dbWeb Service являетсятипичнымISAPI-приложением,которое обрабатываетпользовательскиезапросы, направляемыепосетителемстраницы черезбраузер, и управляетсоединениямимежду браузером,ODBC-ресурсом иIIS. К функциямdbWeb Administrator относитсясозданиеHTML-страниц, содержащихрезультатывыполнениязапросов наоснове ужеупоминавшихсясхем, с помощьюкоторых осуществляетсяуправлениепубликуемымиданными. Схемыопределяютсам запрос иструктурустраниц. Приэтом не требуетсязнания HTML илиISAPI, так как в составdbWeb Administrator входитинтерактивныймастер-построительсхем (Schema Wizard), которыйв традиционнойдля любойпрограммы-мастераманере позволяетзадать поляпоиска по методуQuery-by-Example (QBE), выбратьполя для отображенияв таблице страницырезультатови определитьпереходы изсписка записейв отдельныестраницы, содержащиеразвернутуюинформациюпо текущейзаписи. Настройкойсоответствующихсвойств можноразрешать илизапрещатьоперации вставки,удаления иредактирования.Для проверкиправ пользователяиспользуетсясистема безопасноститой СУБД, к которойпроисходитдоступ. dbWeb имеетв своем составеширокий спектршаблонов страниц,которые принеобходимостимогут бытьлегко откорректированыи настроеныразработчикомдля более полногосоответствияего задачам.Таким образом,dbWeb не являетсяконечнымпользовательскимприложением.Скорее егоможно охарактеризоватькак достаточнолегкий в использованииинструментарийразработки,который, каквсякий мастер,не поддерживаетязыка программирования.Тем не менее,эта программауспешно справляетсяс автоматизациейбольшинстварутинных операцийпо организациисоединенийи публикацииданных из БДи покрывает,по разным оценкам,порядка 40-60% потребностейбизнесасреднестатистическойфирмы при организациидоступа к своимисточникамданных черезInternet.

3.2.3.2IDC.

IDC являетсядругим примеромдостаточнодавно и успешноиспользуемогоISAPI-приложения.Он входит всостав MS IIS. С помощьювызовов функцийODBC API IDC обеспечиваетпрямую связьмежду полямиHTML-формы и соответствующимODBC-достижимымисточникомданных, например,базой данныхMS SQL Server, без необходимостинаписаниязамысловатыхCGI-скриптов. Схемаработы IDC:

Рис.2Схема работыIDC.

Для доступак данным и публикациина Web IDC используетфайлы двухтипов - .idc и .htx. Файлс расширениемidc содержит всюнеобходимуюинформациюо соединениис источникомданных, текстзапроса, а такжессылку насоответствующийhtx-файл. Файл срасширениемhtx служит шаблономстраницы, накоторой будутопубликованыданные из базы,а также элементыоформленияв виде статическоготекста, графики,видео и т.п. MS IISраспознаетрасширение.idc как вызовhttpodbc.dll, котораясчитываетhttp-заголовкииз управляющегоблока ISAPI дляопределенияпараметровзапроса. Httpodbc.dllчитает и разбираетidc-файл, указанныйв URL. Имя источника,имя пользователя,пароль и пр.используютсядля подключенияк соответствующемуресурсу ODBC, послечего httpodbc передаетна выполнениеSQL-запрос и получаетрезультаты.Результатыиспользуютсядля наполнениязаготовки ввиде htx-файла,после чегополученныйHTML-документ MS IISпередает браузеру.

3.2.3.3ADO – Active Data Objects.

ActiveData Objects. Когдаречь заходито компонентахActiveX, как правило,неявно подразумеваетсяклиентскаячасть приложения.Microsoft Active Server Pages (ASP) - активныесерверныестраницы-представляютсобой инструментдля эффективнойразработкисерверныхWeb-приложений,интегрирующихв своем составеHTML-код, VBScript и компонентыActiveX. Это означает,что в уже существующиенаработки легкомогут бытьвстроены фрагментыкода на VBScript илиJavaScript, а также вызовысоответствующихобъектов ActiveX.Как, наверное,известно, VBScript -это сужениехорошо знакомогоязыка программированияVisual Basic на областьсоздания Web-страниц.Основным идейнымотличием VBScript отVB, на мой субъективныйвзгляд, служитто, что VBScript несодержит операторовфайловоговвода-выводаи вообще средствпрямого доступак операционнойсистеме (напрашиваютсяпараллели, еслиJava сопоставитьс С/С++, не правдали). Кроме этого,в VBScript существуеттолько одинтип переменных- variant, отсутствуютдекларативныеконстанты ит.п. Наличиепривычногосинтаксисаязыка высокогоуровня существенноупрощает созданиеHTML-страниц. Кромеэтого, в составсреды активныхсерверныхстраниц (ASP Framework)входят следующие5 основных встроенныхобъектов.

  • Application (приложение)- для разделенияинформациимежду всемипользователямиданного приложения.

  • Request (запрос)- для получениятех значений,которые броузерклиента передаетна сервер поHTTP-запросу, т.е.,грубо говоря,для полученияинформациио пользователеили от пользователя

  • Response (ответ)- для передачиинформацииклиенту.

  • Server (сервер)- предоставляетвозможностьобращения кметодам и свойствамсервера дляуправлениясредой исполненияASP.

  • Session (сеанс)- для храненияинформации,относящейсяк данной пользовательскойсессии.

Помимобазовых объектов,ASP поддерживаютмногочисленныекомпонентыActiveX, которые упрощаютсоздание изначительноповышаютфункциональностьактивных Web-страниц.К ним относятсяразличныеэлементы управления,компоненты,создающиесодержаниеприложения,компонентыввода/выводав файл и многиедругие. Но насв первую очередьбудут интересоватькомпоненты,позволяющиеорганизоватьдоступ к базамданных, илиActive Data Objects (ADO). В отличиеот хорошо известныхData Access Objects (DAO) или Remote Data Objects(RDO) ADO имеют менееиерархическистрогую структуруи потому болееудобны приработе с базамиданных.

Рис.3Структура DAOи ADO.

ADO являютсяуниверсальныминструментомдоступа к данным.Вы можете безизмененийиспользоватьинтерфейс ADOиз данногопримера приработе с базамиданных на VB, VisualFoxPro и т.д. Наконец,с помощью ADO, всвою очередь,могут бытьпостроеныпользовательскиекомпоненты,для обращенияк серверу базданных как состороны "толстого"(Win32), так и со сторонытонкого (Internet Browser)клиента. Функцииобеспеченияцелостноститранзакций,сервисы безопасностии согласованнойработы компонентв распределенномприложенииможет взятьна себя Microsoft TransactionServer.


    1. ASP(ActiveServerPage)– Активныесерверныестраницы.


Особоеположение средисредств разработкизанимают активныесерверныестраницы (ActiveServer Pages или ASP). Онипредназначеныдля организациидоступа кWEB-серверу,клиентов,располагающихтолько броузером.ASP представляютсобой наборинтерпретируемыхсервером MSIIS (Microsoft InternetInformationServer)сценариев,содержащихразметку HTML ипрограммныйкод на языкахVBScript и Javascript, которыйпо желаниюразработчика,может исполнятьсялибо на сервере,либо на клиенте.Это позволяетв одном ASP-файлесочетать сервернуюи клиентскуюлогику. Та частькода, котораяисполняетсяна сервере,может использовать"родные" интерфейсыдля общенияс сервером иреализациикак базовых,так и расширенныхфункций MAPI. Приэтом общениеклиентскойи сервернойчастей ASP-приложенияпроисходитисключительносредствамипротокола HTTP.За поддержаниесессии междуклиентскойи сервернойчастями отвечаетInternet Information Server.

ActiveServer Pages являютсяобычным ISAPI-фильтром,работающимв контекстепроцесса MS InternetInformation Server, начинаяс версии 3.0. (ТехнологияASP доступна идля другихсерверов. ФирмойChili!Soft выпускаетсяпакет Chili!ASP, послеустановкикоторого серверадругих производителейначинают "понимать"ASP – страницы.)Отличие ASP отпрепроцессоразаключаетсяв возможностиработы с COM-объектами(в контекстеASP их называютInstallable components).

Проектпод названиемDenali почти идеальновписываетсяв технологию"клиент-сервер",теперь уже ненастолькопопулярную.Хотя, что можетлучше подходитьдля Сети, чемтехнологиясоздания приложений"логическицентрализованных- физическидецентрализованных".Говоря простымязыком, логическицентрализованные- это распределенныевычислительныесистемы, доступныеи управляемыеиз любой точки,а физическаядецентрализация- это возможностьрасширения,масштабирования,повышениянадежности.

В первуюочередь, ASP имеетдостаточноразвитый командныйязык. И даже неодин, а как минимумдва: VBScript и JScript. "Какминимум", потомучто объектнаямодель OLE для«скриптовых»машин позволяетлегко встраиватьв среду другиеязыки. Поэтомуразработчикамна Perl или REXX можноне переучиваться,а использоватьсвой накопленныйопыт. И все жеязыком "поумолчанию"для ASP являетсяVBScript, фактическиподмножествоVisual Basic, и в этом, конечноже, нет ничегоудивительного- продукт MicrosoftCorporation. JScript, с другойстороны, - подмножествоJava и так же похожна С++. И у той, идругой скрипт-машиныесть как своипреимущества,так и недостатки.Если вкратце,то JScript все-такикажется помощнееи почти дотягиваетпо возможностямдо нескриптовыхязыков. Этодалеко не ассемблер,практическиневозможнопоковырятьсяв потрохах усистемы, но, повсей видимости,разработчикиASP посчиталиэто дополнительнойзащитой отвторженияизвне.

Самокодированиене требуетникаких дополнительныхзатрат в видеспециальныхсред разработки.ПосколькуASP-файлы имеюттекстовыйформат, онилегко могутбыть модифицированыдля приданияклиентскойи сервернойчастям необходимойфункциональности.Microsoft рекомендуетиспользоватьMS InterDev, но почти вовсех современныхверсиях HTML-редакторов(например, AllaireHomeSite) есть поддержкатегов ASP. Код"вставляется"прямо в HTML-текств окруженииспециальноготега
,после этогофайлу нужнодать с расширением.asp, чтобы он былпередан на входASP-фильтра дляпереработкив обычный HTML ивыдачи IIS-серверу,который ужеи отдаст результатбраузеру. Причемлюбому, не имеетзначения, MS IE это,Netscape Navigator или браузер"третьего мира".Главное, чтобыон понималHTML, а это ведьвообще-топервостепеннаязадача браузера.Чем не универсальнаяплатформа, ккоторой долгои упорно стремятсявсе? Конечно,все же естьотличия в браузерах,то есть в ихинтерпретациистандартногоHTML. Всем это знакомо:одни и те жестранички,написанныена самом чтони на естьстандартнейшемHTML, смотрятсяиногда совершеннопо-разному вIE и NN. А вообще ASPимеет возможностьсправитьсяи с этой "проблемой".Просто определяетсятип браузера,с которым пришли,и навигацияидет по страницам,написаннымдля этого типа.

Происхождениеодной из труднейшихпроблем присозданииИнтернет-приложенийв самой природеСети. Это отсутствиегарантированнойпостояннойсвязи, и, отсюда,невозможностьсоздания непрерывногоканала дляотслеживаниядействий конкретногоклиента. Единственныйвыход из этойситуации - есликлиент прикаждом обращениибудет "представляться".Именно это исделано припомощи "cookie".Немало копийбыло поломанопо поводубезопасности,но на данныймомент, вродебы, решили, чтоони достаточнобезвредны, еслине считатьнесколькихдесятков байт,съедаемых надиске. Затопользы от них,как можно увидеть,гораздо больше.После стартасервер выдаеткаждому пришедшемуклиенту уникальныйидентификатор(SessionID) в виде "cookie"и в течениесессии можетпонимать "кто- где". ID уникальнытолько в периоднепрерывнойработы сервера.Если остановитьи снова перезапуститьсервер, то можнополучить значениятакие же, какдо перезапуска.Поэтому применятьSessionID в приложенияхв виде уникальногоидентификаторане рекомендуется- лучше формироватьсвои.

Для настройкисессии можноиспользоватьдва объекта:Application и Session, каждыйиз которыхимеет по дваобрабатываемыхсобытия OnStart иOnEnd. Первый клиент,пришедший насервер, вызываетсоздание объектовApplication и Session и отработкудля них своихпроцедур OnStart.Каждый последующийвызывает созданиеобъекта Session длясебя и отработкуOnStart для своегообъекта. Послеухода клиентадля соответствующегообъекта SessionотрабатываетсяпроцедураOnEnd, и объектуничтожается.С уходом последнего,кроме того,вызываетсяпроцедура OnEndдля объектаApplication, и уничтожаетсяобъект Application. Уходклиента происходитлибо по тайм-ауту,период которогозадается вминутах свойствомTimeout объекта Session (поумолчанию 30минут), либосиловым методомAbandon того же самогообъекта. Фактически,объект Session нужендля персонализации,то есть храненияпеременныхсреды конкретногоклиента, аApplication - для храненияглобальнойинформациивсего приложения.Процедуры дляобработкисобытий OnStart иOnEnd описываютсяв файле Global.asa, которыйдолжен лежатьв корне виртуальногокаталога.

Механизмприема-передачиданных в ASP реализованс помощью двухвстроенныхобъектов: Request иResponse. Используясвойства иметоды этихобъектов, можнодобиться настоящейинтерактивности,единственнымнеудобствомостаетсянеобходимостьзакачки новойстраницы каждыйраз при исполнениикакого-нибудьдействия. Нотут не стоитзабывать, чтоASP - это именносерверная частьв клиент-серверноймодели, а дляклиентскойчасти существуютдругие решения.

Как ужебыло сказановыше, COM-объектыиграют важнуюроль в жизниASP. И самым значимымсреди них являетсяDatabase Access. Он обеспечиваетдоступ к данным,используяActiveX Data Objects (ADO). Все, чтодля этого нужно,это создатьобъект Database Access, указатьему Data Source Name (DSN) и соединитьсяс источникомданных. Так какиспользуетсяODBC, источник данныхможет бытьлюбым: сегоднядрайверы ODBCнаписаны длявсевозможныхвариантов ине ограничиваютсясистемамиуправлениябазами данных.Более того, свыходом объектнойфайловой системы(Object File System), которуюMicrosoft обещаетпродемонстрироватьв NT 5.0, ADO будут способныуправлятьфайловой системойв стиле базданных. Какпрямой потомокData Access Objects (DAO) и Remote Data Objects (RDO), модельADO очень похожана своих предшественников,вплоть до того,что программист,имеющий опытработы с DAO илиRDO, способенпрактическисразу использоватьвсе возможностиADO. Разработчикиутверждают,что внешнеединственноеотличие отстарых моделей- это толькоускорение,упрощение иувеличениенадежностиработы приложений,и представляютADO как ядро новойтехнологииуниверсальногодоступа к данным(Universal Data Access).

Одним изперспективныхнаправленийбудет Windows Scripting Host, которыйпоявится в NT5.0 и Win98. Это однаиз стратегий,направленныхна снижениеусилий поадминистрированию(ZAW). Действительно,администраторымогут удаленно(из любой точкиСети) переконфигурироватьсистемы илииспользоватьскрипты дляих автоматическойнастройки взависимостиот условий.

MicrosoftтехнологиюASP продвигаетдостаточноактивно. Обэтом говоритхотя бы то, чтов MS Internet Information Server 4.0 она ужевходит составнойчастью, в отличиеот IIS 3.0, где ASP представлялисобой продукт,который былонужно инсталлироватьотдельно. Крометого, MS Site Server и MS Site ServerCommerce Edition, позиционируемыекак универсальныеинструментыдля строительстваактивных WEB-сайтов,являются темиже самыми ASP согромным наборомспециализированныхкомпонентов.

Выбориз многих решенийпоказал, чтонаиболее оптимальнымявляетсяиспользованиеASP.Это связанопрежде всегос самой технологиейASPмодулей. Посути своей ASP– это использованиеAPIWindows, используетсяединое адресноепространстводля каждогопроцесса вотличии от CGI,а потому и болеепроизводительно.Так же не стоитзабывать о том,что WEB-серверкомпании работаетпод управлениемWindowsNTServer,а в поставкеMicrosoftIIS4.0 уже есть встроенныйобработчикASP.


  1. Разработкапроекта:

4.1Перенос базыданных на MicrosoftSQLServer.


Переносбазы данныхкомпании «ТКС008» осуществлялсяс локальногосервера в телефоннойслужбе на WEB-серверкомпании.

Механизмпередачи информациивыглядит следующимобразом:

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

  • далееэти файлыдоставляютсяфизически накомпьютер,установленный,как WEB-серверкомпании.

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

Теперьостановимсяподробнее навсём механизмепередачи информации.

Первоначальнобаза данныхклиентов компании«ТелефоннаяКоммерческаяСлужба 008» былареализованана СУБД Btrieve 6.0 , онаработает подуправлениемоперационнойсистемы NetWareкомпании Novell.Для выгрузкииз неё необходимойинформациио клиентах,необходимо было написатьпрограмму длямеханическогокопированиясодержимогополей некоторыхтаблиц, информацияиз которыхтребоваласьдля переносана WEB-сервер.Такая программабыла написанана языке Borland Pascal7.0. Она выгружаеттолько данныеиз таблиц, причемне все а толькосвежие ориентируясьна даты обновлениязаписей присутствующиев базе данных.Данная программамеханическизаписываетв текстовыйфайл поля некоторойтаблицы из базыданных клиентов,разделённыемаркером, таккак не все полябазы данныхявляютсяфиксированнойдлинны. На каждуютаблицу приходитьсясвой текстовыйфайл с содержимымеё полей. Далеепроисходитдоставка этихфайлов на компьютер,являющийсяWEB-серверомкомпании. Онипомещаютсяв специальноотведённуюдля них директорию,и программаобновленияSQLбазы данных,так же специальнонаписаннаядля этой. Приходящиенесколькофайлов, каждыйиз которыхсодержит обновлениядля одной изтаблиц базыданных. Программаоткрывает этифайлы в нужнойпоследовательности.Читает оттудазапись за записью.Ищет соответствующуюзапись в БД наSQL, каждая записьоднозначноидентифицируетсяпоследовательностьюключевых полей- это программаузнает из первичногоиндекса к загружаемойтаблице. Еслизапись ужеприсутствуетв базе данныхSQL, то она обновляется.В противномслучае добавляется.Сама программанапрямую сбазой «общаться»не может, поэтому«общение»происходитчерез альтернативуODBC– BDE(BorlandDatabaseEngine).

Информационныесистемы, созданныена основеклассическойархитектурыклиент/сервер,называемыедвухзвеннымисистемами илисистемами с"толстым"клиентом, состоятиз сервера базданных, содержащегосгенерированныетем или инымспособом таблицы,индексы, триггерыи другие объекты,реализующиебизнес-правиладанной информационнойсистемы, и одногоили несколькихклиентскихприложений,предоставляющихинтерфейспользователяи производящихпроверку допустимостии обработкуданных согласносодержащимсяв них алгоритмам.Если говоритьо клиентскихприложениях,созданных спомощью Delphi, длядоступа к источникамданных онииспользуютвызовы функцийприкладныхпрограммныхинтерфейсовклиентскихчастей соответствующихсерверных СУБД.Эти вызовыосуществляются посредствомиспользованиябиблиотекиBorland Database Engine (BDE). Соответственноподобное клиентскоеприложениетребует наличияна компьютереконечногопользователяклиентскойчасти используемойсерверной СУБДи присутствияв оперативнойпамяти наборадинамическизагружаемыхбиблиотек какиз клиентскойчасти, так и изBDE , таких, какдрайверы базданных, библиотеки,содержащиефункции API клиентскихчастей.

ИспользуяBDE,можно создатьприложения,работающиекак с однопользовательскимибазами данных(БД), так и с сервернымиСУБД, такимикак Oracle, Sybase, Informix, Interbase, MS SQLServer, DB2, а также сODBC-источниками.

BDE обеспечиваетдля созданныхприложений:

  • непосредственныйдоступ к локальнымбазам данных(dBase, Paradox, текстовыефайлы);

  • доступк SQL-серверам(Oracle, Sybase, MS SQL Server, InterBase, Informix, DB2) спомощью драйверовBorland SQL Links ;

  • доступк любым источникамданных, имеющимдрайвер ODBC (OpenDataBase Connectivity), например,к файлам электронныхтаблиц (Excel, Lotus 1-2-3),серверам базданных, не имеющимдрайверов SQLLinks (например,Gupta/Centura);

  • созданиеприложенийклиент-сервер,использующихразнородныеданные;

  • высокуюпроизводительностьпри работе сплоскими таблицами;

  • использованиеSQL (Structured Query Language - языкзапросов ксервернымСУБД), в том числепри работе слокальнымиданными;

  • изоляциюприложенияот средствязыковой поддержки;

  • изоляциюприложенияот конфигурациисистемы и сети.

Рис.4 Связьприложенийс источникамиданных с помощьюBDE.

BDE«общается»с SQLсервером черездрайверы ODBC.

Следуетобратить вниманиена то, что передописаниемODBC-источникав файле конфигурацииBDE обязательнонужно установитьсоответствующийODBC-драйвер иописать соответствующийисточник данныхв панели управленияWindows NT, используясоответствующийODBC-администратор.При этом следуетобратить вниманиена некоторуютерминологическуюнеувязку. Делов том, что ODBC-драйверс точки зренияBDE, создаваемыйпри нажатиикнопки New ODBC Driver настранице Driversутилиты конфигурацииBDE, на самом делепредставляетсобой указаниене на реальныйODBC-драйвер, установленныйв панели управленияWindows, а на конкретныйисточник данных,доступ к которомуосуществляетсяс помощью реальногоODBC-драйвера (сточки зренияпанели управления).А потому рекомендуетсятакой порядокустановки приосуществлениидоступа кODBC-источникам: 

  • Установитьнужный ODBC-драйвер(и, возможно,соответствующийODBC-администратордля панелиуправленияWindows).

  • Описатьс помощьюODBC-администраторанеобходимыйисточник данныхв панели управления.

  • Запуститьутилиту конфигурацииBDE и нажать кнопкуNew ODBC Driver на страницеDrivers.

  • Придуматьи ввести имятак называемогоODBC-драйвера сточки зренияBDE.

  • Выбрать"настоящий"ODBC-драйвер изустановленныхв операционнойсистеме.

  • Выбратьимя источникаданных.

  • НажатьOK. В списке драйверовпоявится новыйтак называемыйODBC-драйвер (сточки зренияBDE).

  • Перейтина страницуAliases и создатьпсевдоним,связанный совновь созданнымдрайвером сточки зренияBDE.


При работес ODBC-источникамитребуетсянастройкаследующихпараметров:


Параметр

Описание

Значениепо умолчанию

VERSION

Внутреннийпараметр BDE

1.0

TYPE

ИдентификаторODBC-источника

FILE

DLL

Имя16-разряднойдинамическойбиблиотеки,содержащейдрайвер

IDODBC16.DLL

DLL32

Имя32-разряднойдинамическойбиблиотеки,содержащейдрайвер

IDODBC32.DLL

ODBCDRIVER

ODBC-драйвердля соединенияс сервером


DRIVERFLAGS

Внутреннийпараметр BDE


USERNAME

Имяпользователяв диалоге вводапароля


ODBSDSN

Имяисточникаданных, описанногов администратореODBC


OPENMODE

Параметр,определяющий,в каком режимеоткрываютсятаблицы - READ/WRITE orREAD ONLY

READ/WRITE

LANGDRIVER

Языковыйдрайвер, определяющийнабор символови порядокалфавитнойсортировки

'ascii'ANSI

SCHEMACASHE SIZE

Числотаблиц, чьяструктуракэшируется.Возможныезначения - от0 до 32

8

SQLQRYMODE

Методвыполнениязапросов.Возможныезначения: LOCAL -запрос обрабатываетсятолько клиентскимприложением,SERVER - запрос выполняетсятолько сервером,NULL (пустая строка)- запрос передаетсяклиенту, еслисервер не можетего обработать.

NULL

SQLPASSTHRUMODE

Определяетрежим совместногоиспользованияодного и тогоже псевдониманаправляемымина сервер илокальнымизапросами:NOT SHARED - совместноеиспользованиезапрещено,SHARED AUTOCOMMIT - совместноеиспользованиемразрешено савтоматическимзавершениемтранзакций,SHARED NOAUTOCOMMIT - совместноеиспользованиемразрешено сзавершениемтранзакцийпо правиламсервера.

SHAREDAUTOCOMMIT

TRACEMODE

Численноезначение,определяющееуровень выводаотладочнойинформации.


SCHEMACACHE TIME

Времянахожденияинформациио структуретаблиц в кэшев секундахот 1 до 2147483647. Другиезначения: -1 - дозакрытия БД,0 - информацияне кэшируется

-1

BATCHCOUNT

Числозаписей, помещаемыхв пакет дозавершениятранзакции

Числозаписей, умещающихсяв 32 К.

MAXROWS

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

-1(нет ограничений)

ROWSETSIZE

Числозаписей, доставляемыхв одном блокеданных (поддерживаетсяне всеми ODBC-драйверами).

20


4.2 Реализациязапросов к базеданных.


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

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

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

Существуетдва метода дляпередачи параметровиз форм: методGETи метод POST.

МетодGET служит дляполучения любойинформации,идентифицированнойURI-Запроса. ЕслиURI - Запроса ссылаетсяна процесс,выдающий данные,в качествеответа будутвыступатьданные, сгенерированныеданным процессом,а не код самогопроцесса (еслитолько это неявляется выходнымиданными процесса).Использованиеметода условныйGET направленона разгрузкусети, так какон позволяетне передаватьпо сети избыточнуюинформацию.

МетодPOST используетсядля запросасервера, чтобытот принялинформацию,включеннуюв запрос, каксубординантнуюдля ресурса,указанногов Строке Статусв поле URI-Запроса.Метод POST былразработан,чтобы былавозможностьиспользоватьодин общийметод для следующихфункций:

  • Аннотациясуществующихресурсов

  • Добавлениесообщений вгруппы новостей,почтовые спискиили подобныегруппы статей

  • Доставкаблоков данныхпроцессам,обрабатывающимданные

  • Расширениебаз данныхчерез операциюдобавления

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

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

Для передачи параметровзапроса используетсяметод POST,так как объемпередаваемыхпараметромбольшой.

Далеепроисходитвызов другихASPфайлов, в зависимостиот введённойинформациипо конкретномузапросу илиактивизацииопределённойссылки, а также передачапараметровсамого запроса.

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

Списоквыполняемыхфункций конкретногофайла:

  • Srch_Org.asp– осуществляетзапрос на выборкуинформациипо организациям;

  • Org_Info.asp- осуществляетзапрос на выборку подробнойинформацииоб организациях;

  • Srch_Glb.asp- осуществляетзапрос по конкретнойинформации;

  • Stat_TY1.asp- осуществляетзапрос на выборкустатистическойинформациипо категориитоваров;

  • Stat_TY2.asp- осуществляетзапрос на выборкустатистическойинформациипо категорииуслуги.


С

хемавзаимосвязеймежду файламизапросов:


SearchFr.asp





Srch_Org.asp

Org_Info.asp



Srch_TY1.asp

Stat_TY1.asp


Appendix.asp


Srch_Glb.asp

Stat_TY2.asp



Рис.5 Схемавзаимосвязеймежду файламизапросами.


Начальныйфайл базы Db008.asp- содержит формудля ввода параметровпоиска. Здесьпользовательможет выбратьинтересующийего раздел илипросто задатьслово дляконтекстногопоиска, так жевыбрав разделыгде искать.

Рис.6 Db008.asp

Далеепроисходитследующее:

  • Когдапользовательнажимает кнопкутипа "Submit" в формеWeb-браузер запрашиваетопределённыйASP-файлс необходимымзапросом повыборке необходимойинформации,а так же передаётнеобходимыепараметрызапроса.

  • Далееуже непосредственноASP-программаосуществляетзапрос к базеданных SQLчерез драйверODBC с полученнымипараметрами.

  • Затемполученныерезультатыпоиска передаютсяWEB-браузерупользователя.

ТерминODBC означает "opendatabase connectivity" - технологию,основаннуюна стандартеANSI/ISO, которая позволяетприложениямосуществлятьдоступ к несколькимбазам данныхстороннихпоставщиков.В ODBC применяетсяинтерфейсобщего назначенияCLI (call level interface), в которомSQL используетсякак стандартдля доступак данным. Нашейцелью являетсяобеспечениеустойчивыхсерверныхсессий дляклиентскихсистем, поддерживающихODBC. Сессии могутпереживатьсистемный крахбез потребноститого, чтобыклиентскиеприложенияне беспокоилисьоб остановкеработы, разветолько из соображенийвремени выполнения.

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

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

ПредложениеSELECT может использоватьсякак:

  • самостоятельнаякоманда наполучение ивывод строктаблицы, сформированнойиз столбцови строк однойили несколькихтаблиц (представлений);

  • элементWHERE- или HAVING-условия(сокращенныйвариант предложения,называемый"вложенныйзапрос");

  • фразавыбора в командахCREAT VIEW, DECLARE CURSOR или INSERT;

  • средствоприсвоенияглобальнымпеременнымзначений изстрок сформированнойтаблицы (INTO-фраза).

Здесь всинтаксическихконструкцияхиспользуютсяследующиеобозначения:

  • звездочка(*) для обозначения"все" - употребляетсяв обычном

  • дляпрограммированиясмысле, т.е. "всеслучаи, удовлетворяющиеопределению";

  • квадратныескобки ([]) – означают,что конструкции,заключенныев эти скобки,являютсянеобязательными(т.е. могут бытьопущены);

  • фигурныескобки ({}) – означают,что конструкции,заключенныев эти скобки,должны рассматриватьсякак целыесинтаксическиеединицы, т.е.они позволяютуточнить порядокразбора синтаксическихконструкций,заменяя обычныескобки, используемыев синтаксисеSQL;

  • многоточие(...) – указываетна то, что непосредственнопредшествующаяему синтаксическаяединица факультативноможет повторятьсяодин или болеераз;

  • прямаячерта (|) – означаетналичие выбораиз двух илиболее возможностей.Например обозначениеASC|DESC указывает,можно выбратьодин из терминовASC или DESC; когдаже один из элементоввыбора заключенв квадратныескобки, то этоозначает, чтоон выбираетсяпо умолчанию(так, [ASC]|DESC означает,что отсутствиевсей этойконструкциибудет восприниматьсякак выбор ASC);

  • точка сзапятой (;) –завершающийэлемент предложенийSQL;

  • запятая(,) – используетсядля разделенияэлементовсписков;

  • пробелы( ) – могут вводитьсядля повышениянаглядностимежду любымисинтаксическимиконструкциямипредложенийSQL;

  • прописныежирные латинскиебуквы и символы– используютсядля написанияконструкцийязыка SQL и должны(если это специальноне оговорено)записыватьсяв точноститак, как показано;

  • строчныебуквы – используютсядля написанияконструкций,которые должнызаменятьсяконкретнымизначениями,выбраннымипользователем,причем дляопределенностиотдельныеслова этихконструкцийсвязываютсямежду собойсимволомподчеркивания(_);

  • терминытаблица, столбец,... – заменяют(с целью сокращениятекста синтаксическихконструкций)термины имя_таблицы,имя_столбца,..., соответственно;

  • терминтаблица –используетсядля обобщениятаких видовтаблиц, какбазовая_таблица,представлениеили псевдоним;здесь псевдонимслужит длявременного(на моментвыполнениязапроса) переименованияи (или) созданиярабочей копиибазовой_таблицы(представления).

ПредложениеSELECT (выбрать) имеетследующийформат:

подзапрос[UNION [ALL] подзапрос]...

[ORDERBY{[таблица.]столбец| номер_элемента_SELECT}[[ASC] | DESC]

[,{[таблица.]столбец| номер_элемента_SELECT}[[ASC] | DESC]] ...;

и позволяетобъединить(UNION) а затем упорядочить(ORDER BY) результатывыбора данных,полученныхс помощью нескольких"подзапросов".При этом упорядочениеможно производитьв порядке возрастания- ASC (ASCending) или убыванияDESC (DESCending), а по умолчаниюпринимаетсяASC.

В этомпредложенииподзапроспозволяетуказать условиядля выборанужных данныхи (если требуется)их обработки

SELECT

(выбрать)данные из указанныхстолбцов и(если необходимо)выполнить передвыводом ихпреобразованиев соответствиис указаннымивыражениямии (или) функциями

FROM

(из) перечисленныхтаблиц, в которыхрасположеныэти столбцы

WHERE

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

GROUP BY

(группируяпо) указанномуперечню столбцовс тем, чтобыполучить длякаждой группыединственноеагрегированноезначение, используяво фразе SELECT SQL-функцииSUM (сумма), COUNT (количество),MIN (минимальноезначение), MAX(максимальноезначение) илиAVG (среднее значение)

HAVING

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

и имеетформат

SELECT[[ALL]| DISTINCT]{ * | элемент_SELECT[,элемент_SELECT] ...}

FROM{базовая_таблица| представление}[псевдоним]

[,{базовая_таблица| представление}[псевдоним]]...

[WHEREфраза]

[GROUPBY фраза[HAVING фраза]];

Элемент_SELECT- это одна изследующихконструкций:

[таблица.]*| значение |SQL_функция |системная_переменная

где значение– это:

[таблица.]столбец| (выражение) |константа |переменная

Синтаксисвыражений имеетвид

({[ [+] | - ] {значение| функция_СУБД}[ + | - | * | ** ]}... )

а синтаксисSQL_функций – однаиз следующихконструкций:

{SUM|AVG|MIN|MAX|COUNT}( [[ALL]|DISTINCT][таблица.]столбец)


{SUM|AVG|MIN|MAX|COUNT}( [ALL] выражение)

COUNT(*)

ФразаWHERE включает наборусловий дляотбора строк:

WHERE[NOT] WHERE_условие[[AND|OR][NOT] WHERE_условие]...

где WHERE_условие– одна из следующихконструкций:

значение{ = | | | >= } { значение| ( подзапрос )}

значение_1[NOT] BETWEEN значение_2AND значение_3

значение[NOT] IN { ( константа[,константа]...) | ( подзапрос) }

значениеIS [NOT] NULL

[таблица.]столбец[NOT] LIKE 'строка_символов'[ESCAPE 'символ']

EXISTS( подзапрос )

Крометрадиционныхоператоровсравнения (= | | | >=) в WHERE фразеиспользуютсяусловия BETWEEN (между),LIKE (похоже на), IN(принадлежит),IS NULL (не определено)и EXISTS (существует),которые могутпредварятьсяоператоромNOT (не). Критерийотбора строкформируетсяиз одного илинесколькихусловий, соединенныхлогическимиоператорами:

AND

- когдадолжны удовлетворятьсяоба разделяемыхс помощью ANDусловия;

OR

-когда должноудовлетворятьсяодно из разделяемыхс помощью ORусловий;

ANDNOT

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

ORNOT

- когдаили должноудовлетворятьсяпервое условиеили не должноудовлетворятьсявторое,причемсуществуетприоритет ANDнад OR (сначалавыполняютсявсе операцииAND и только послеэтого операцииOR). Для полученияжелаемогорезультатаWHERE условия должныбыть введеныв правильномпорядке, которыйможно организоватьвведениемскобок.

При обработкеусловия числасравниваютсяалгебраически- отрицательныечисла считаютсяменьшими, чемположительные,независимоот их абсолютнойвеличины. Строкисимволов сравниваютсяв соответствиис их представлениемв коде, используемомв конкретнойСУБД, например,в коде ASCII. Еслисравниваютсядве строкисимволов, имеющихразные длины,более короткаястрока дополняетсясправа пробеламидля того, чтобыони имели одинаковуюдлину передосуществлениемсравнения.

Наконец,синтаксис фразыGROUP BY имеет вид

GROUPBY [таблица.]столбец[,[таблица.]столбец]... [HAVING фраза]

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

С помощьюфразы HAVING (синтаксискоторой почтине отличаетсяот синтаксисафразы WHERE)

HAVING[NOT] HAVING_условие[[AND|OR][NOT] HAVING_условие]...

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

значение{ = | | | >= } { значение| ( подзапрос )

|SQL_функция }

{значение_1| SQL_функция_1}[NOT]BETWEEN

{значение_2| SQL_функция_2} AND{значение_3 |SQL_функция_3}

{значение| SQL_функция} [NOT] IN { (константа[,константа]...)

|( подзапрос ) }

{значение| SQL_функция}IS[NOT]NULL

[таблица.]столбец[NOT] LIKE 'строка_символов'[ESCAPE 'символ']

EXISTS( подзапрос )


Всевыборки информациииз базы данныхSQLосуществляютсяс помощью командыSELECT.

Примерзапроса навыборку информациипо фирмам (фрагментфайла Srch_org.asp):

.......

SQL = "SELECTOrgID, ShortName, Address, Tel1 FROM Org WHERE Visible = 1 ORDER BYShortName".

.......

Запросна выдачу подробнойинформациио фирмах: (фрагментфайла Srch_org.asp):

Header= Header & "
" & Encode( "Результатрасширенногопоиска:") & ""

Name = SEARCH.Item("TXT" )

Name_Prec =SEARCH.Item( "TXT_PREC" )

Address = SEARCH.Item("ADDRESS" )

Address_Prec = SEARCH.Item( "ADDRESS_PREC")

TypeOrg = SEARCH.Item("TYPE" )

Phone = SEARCH.Item("PHONE" )

Phone_Prec =SEARCH.Item( "PHONE_PREC" )

Fax = SEARCH.Item("FAX" )

Fax_Prec =SEARCH.Item( "FAX_PREC" )

FaxRek = SEARCH.Item("APPENDIX" )

FaxRek_Prec =SEARCH.Item( "APPENDIX_PREC" )

SQL = "SELECTOrgID, ShortName, Address, Tel1 FROM Org WHERE Visible = 1"

If Name ""Then

Header= Header & "
" &Encode( "Наименование" ) & ""

If Name_Prec = 1Then

Header = Header & Encode( "содержит" )

Else

Header = Header & Encode( "начинаетсяс " )

End If

Header= Header & """"& Name & """"

If Name_Prec = 1Then

Name= "%" & Name & "%"

Else

Name= Name & "%"

End If

SQL = SQL & "AND ( ( ShortName Like '" & Name & "' ) OR (FullName Like '" & Name & "' ) )"

End If

If Address ""Then

Header= Header & "
" &Encode( "Адрес" ) & ""

If Address_Prec = 1Then

Header = Header & Encode( "содержит" )

Else

Header = Header & Encode( "начинаетсяс " )

End If

Header= Header & """"& Address & """"

If Address_Prec = 1Then

Address = "%"& Address & "%"

Else

Address = Address& "%"

End If

SQL = SQL & "AND ( Address Like '" & Address & "' )"

End If


Врезультатепоиска на экранепользователяпоявляетсяследующаяинформация:

Рис.7 Информацияпо выборке -организации.


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


    1. Тестированиеи отладка.


Входе тестирования,были выявленынекоторыеошибки работыпрограммыобработки. Всеони устранены.Результатомразработкиявилась полностьюработоспособнаябаза данныхкомпании "ТелефоннаяКоммерческаяСлужба 008".

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

  • быстродействиесамого компьютера-серверабаз данных;

  • быстродействиеоперационнойсистемы иWEB-сервера(MSIISв данном случае);

  • быстродействиевыбранногосервера базданных;

  • объёмбазы данных;

  • конечноже скоростьсоединенияс Internet.

Дляобъективногооцениваниябыстродействияпервые двапункта нерассматривались.

Пооценкам экспертовиз уважаемогоиздания «СУБД»,сервер базданных MicrosoftSQLServer7.0 на сегодняшнийдень являетсяодним из самыхмощных и производительныхрешений насегодняшнийдень на платформеWindowsNT.Собственнотестированиепроизводилосьпо критериюобъёма.

Какпоказалииспытания, дажебольшой объёмбазы (более3000 записей) неувеличивалсильно времявыдачи результата.Когда как реализацияэтого же проектасредствамиMicrosoftAccessприводила кбольшому времениожидания выдачирезультата.Выигрыш в скоростивыдачи выборкидаже визуальнобыл велик. Хотя и так известно,что Accessне предназначендля большихбаз данных.

Порезультатамтестирования,можно сказать,что переходна более производительнуюСУБД MSSQL7.0 оправдался.


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


Оглавление.


  1. Выбортемы для дипломногопроектирования…………………………………....4

  2. Разработкатехническогозадания надипломноепроектирование…………...5

  3. Выборметодов и средстврешения…………………………………………………5

    1. Выборсервера базданных……………………………………………………………………...5

    2. Выборметодов доступак базе данных………………………………………………………13

3.2.1 CGI – Common Gateway Interface………………………………………………………………14 3.2.2 PHP - Personal Home Page Tools………………………………………………………………14 3.2.3 ISAPI– приложения………………………………………………………………………………15 3.2.3.1 dBWeb…………………………………………………………………………………………..15 3.2.3.2 IDC……………………………………………………………………………………………….17
3.2.3.3 ADO – Active Data Objects……………………………………………………………………18
3.3 ASP(ActiveServerPage)– Активныесерверныестраницы……………………………...19

  1. Разработкапроекта…………………………………………………………………...23

    1. Переносбазы данныхна MicrosoftSQLServer…………………………………………….....23

    2. Реализациязапросов кбазе данных………………………………………………………...….28

    3. Тестированиеи отладка.………………………………..…………………………………...……39

  2. ЭКОНОМИЧЕСКОЕОБОСНОВАНИЕПРОЕКТА………………………………….41
    5.1Концепция……..…….…….…….…….…….…….…….…….…….…….…….…….…….……….41
    5.2Краткое техническоеописание системы.…….…….…….…….…….…….…….…….………41
    5.3Рынок и планмаркетинга…….…….…….…….…….…….…….…….…….…….…….………..42
    5.4Организационныйплан работыпо реализациипроекта иопределениестоимости егоразработки.…….…….…….…….…….…….…….…….…….…….…….…….…….…….…….…….43
    5.5Расчет себестоимостиразработкипроекта.…….…….…….…….…….…….…….…….…...44
    5.6Прогноз финансовыхпоказателей.…….…….…….…….…….…….…….…….…….…….….46
    5.6.1Установлениеисходныхпредложений.…….…….…….…….…….…….…….…….………46
    5.6.2Определениепотребностив начальномкапитале.…….…….…….…….…….…….…….47
    5.6.3Производствои реализация.…….…….…….…….…….…….…….…….…….…….……….49
    5.6.4Определениепроизводственно-сбытовыхиздержек.…….…….…….…….…….…….…..50
    5.6.5Оценка ликвидационнойстоимостиосновных средств..…….…….…….…….…….……..52
    5.6.6Определениепорога безубыточностипрогнозируемогопроизводства..…….…….…….52
    5.6.7Определениетекущих расходови доходов попроекту..…….…….…….…….…….……..53
    5.6.8Прогноз движенияденежнойналичности..…….…….…….…….…….…….…….…….……54
    5.6.9Оценка экономическойэффективностипроекта..…….…….…….…….…….…….……….56
    5.7Выводы..…….…….…….…….…….…….…….…….…….…….…….…….…….…….…….…...56

  1. Раздел безопасностьжизнедеятельностив дипломномпроекте.…….………...57
    6.1Общиеположения.…….…….…….…….…….…….…….…….…….…….…….…….…….……57
    6.2Характервыполняемойработы.…….…….…….…….…….…….…….…….…….…….……...57
    6.2.1Работапользователя.…….…….…….…….…….…….…….…….…….…….…….…….……57
    6.2.2Работапрограммиста.…….…….…….…….…….…….…….…….…….…….…….…….……58
    6.2.3Рекомендациипо организациитруда и отдыха.…….…….…….…….…….…….…….…...59
    6.3Монитор.…….…….…….…….…….…….…….…….…….…….…….…….…….…….…….…….60
    6.3.1Требованияк монитору наРМ пользователя.…….…….…….…….…….…….…….……...60
    6.3.2Требованияк монитору наРМ программиста.…….…….…….…….…….…….…….……..60
    6.3.3Прочиетребованияк монитору.…….…….…….…….…….…….…….…….…….…….…….61
    6.4Организацияосвещения…….…….…….…….…….…….…….…….…….…….…….…….…….62
    6.5Рабочееместо.…….…….…….…….…….…….…….…….…….…….…….…….…….…….…..63
    6.6Электрои пожаро безопасность.…….…….…….…….…….…….…….…….…….…….……..64
    6.7Шумы.…….…….…….…….…….…….…….…….…….…….…….…….…….…….…….……….64

6.8Температура,давление, влажность.…….…….…….…….…….…….…….…….…….……….64 6.9Работав чрезвычайныхситуациях.…….…….…….…….…….…….…….…….…….…….….65
6.10Интегральнаяоценка тяжеститруда. …….…….…….…….…….…….…….…….…….…….65 7. Заключение.…….…….…….…….…….…….…….…….…….…….…….…….…….…….………68

  1. Списоклитературы….…….…….…….…….…….…….…….…….………..…….….…….……..69

Приложение…….…….…….…….…….…….…….…….…….…….…….…….…….…….…….....70



6. Разделбезопасностьжизнедеятельностив дипломномпроекте.


    1. Общие положения.


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


    1. Характервыполняемойработы.


      1. Работапользователя.


Работапользователяна ЭВМ связана,прежде всего,с использованиемоперационнойсистемы Windows,а так же с работойв Internet-броузере(MicrosoftExplorerили NetscapeNavigator).При этом всёуправлениесводиться наперемещениекурсора с помощьюманипулятора«мышь» и вводаключевых фраздля поиска вбазе данныхс помощью клавиатуры.

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

А потомутруд пользователяследует считатьтяжёлым из-запсихологическихнагрузок.


      1. Работапрограммиста.


В работепрограммистана ЭВМ можновыделить дваэтапа: написаниепрограммы иеё отладка.

Написаниесвязано с вводомтекста программыв память ЭВМпри помощиклавиатуры.Для этого необходимтекстовыйредактор илиспецифическаяпрограмма,позволяющаявизуальнымисредствамисоздавать изшаблонов готовуюпрограмму(хотя, как правило,приходитьсясамому корректироватьисходный текстпрограммы).Хотя многиетекстовыередакторыпозволяютуправлять своейработой припомощи «мыши»,всё-таки онавторостепеннаименно длянебольшихтекстовыхредакторови, как правило,для управленияприменяетсяклавиатура,но в визуальныхсредах редактированияи созданияпрограмм –«мышь» активноиспользуется.

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

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


      1. Рекомендациипо организациитруда и отдыха.


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

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

  • головнаяболь;

  • резьв глазах, быстраяутомляемость;

  • больв спине, плечах,в области шеии т.д.

Потомудолжен соблюдатьсярежим работыс обязательнымиперерывами.

Наиболеепредпочтителентакой режим:45 минут работы,15 минут перерыв.При этом в течениевосьми часовогорабочего дняобщее времяпребыванияза компьютеромне должно превышать5-6 часов. Во времяперерывовоператор можетвыполнятьработу не связаннуюс напряжениемзрения.

Дляуменьшениязрительнойнагрузкирекомендуется:

  • принудительноечастое моргание;

  • отвлечениевнимания черезопределённыепромежуткивремени надругой объект;

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


    1. Монитор.


Исходяиз особенностейзрительнойинформации,с которой работаютпользовательи программистпри использованииЭВМ, определимтребованияк монитору.


      1. Требованияк мониторуна РМ пользователя.


Какговорилось,работа пользователяэто работа сграфическиминтерфейсомWindowsи Internet-броузером.Для качественногоизображенияна экране, т.е.изображенияс хорошо различимымицветами, плавностьюлиний, необходиммонитор поддерживающийразрешениене менее 800600точек размеромне менее 14 дюймов,лучше 15, 17. Этообеспечитьпользователювозможностьвидеть достаточнобольшой участок«поля» при этомразмеры элементовизображениямогут бытьдостаточновелики.

Длятого чтобызрение операторапри этом неутомлялось,изображениена экране недолжно мерцать,поэтому мониторв этом режимедолжен иметьчастоту кадровой(вертикальной)синхронизациине менее 75 Гцбез прореживания.Монитор естественнодолжен бытьцветным. Соответственноэтим требованиямдолжен бытьподобран видеоадаптеркомпьютера.Причём от объёмапамяти видеоадаптерав основном изависит количествоодновременноотображаемыхна экране цветов.Поэтому объёмвидеопамятидолжен бытьне менее 1Мб,для одновременногоотображения65536 цветов.


      1. Требованияк мониторуна РМ программиста.


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

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

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

Требованияк количествуцветов отображаемыхЭВМ для программистане так важнои вполне можетбыть не больше256 (стандартнаяпалитра дляWindows-приложений).Способностьк поддержкевысоких разрешенийтак же не стольважна. Главноечтобы частотакадровойсинхронизациив используемомрежиме былатакже не меньше75 Гц.


      1. Прочиетребованияк монитору.


Монитористочникультрафиолетового,рентгеновского,инфракрасного,ультрафиолетового,электромагнитногои электрическогополей. При этомопасный уровеньмогут иметьлишь два последних.Уровни всехэтих излученийнормируютсястандартамимногих стран.Требованияроссийскихстандартовохраны трудав этой областиниже. Например,нормы шведскогостандарта MPRIIв 20 раз жёстчероссийскихнорм, а TCO’95 в 50 раз.Поэтому наиболееправильноруководствоватьсяболее высокимитребованиями.

В настоящеевремя производителимониторов пособственнойинициативепроводят тестированиесвоих изделийна соответствиеэтим нормам,поэтому наиболееправильноиспользованиемониторовсоответствующихстандарту MPRII,а ещё лучшеTCO’95.

Еслимонитор непроходилтестирование,то его использованиевозможно лишьпри условии,что его параметрысоответствуютстандарту MPRII,т.е.:

  • потенциалэлектростатическогополя по абсолютнойвеличине меньше500 В;

  • напряжённостьпеременногоэлектрическогополя частотой5-5000 Гц на расстоянии50см от монитора25В/м;

  • напряжённостьпеременногомагнитногополя частотой 5-5000 Гц на расстоянии50см от монитора250 нТл;

  • напряжённостьпеременногоэлектрическогополя частотой5-400 кГц на расстоянии50см от монитора- 2,5 В/м;

  • напряжённостьпеременногомагнитногополя частотой5-400 кГц на расстоянии50см от монитора25 нТл;


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

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


    1. Организацияосвещения.


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

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

Дляизбежания всегоэтого необходимо:

  1. Располагатьмонитор экраномперпендикулярнок окну.

  2. Помещениедолжно иметьшторы способныезадержатьпрямой солнечныйсвет.

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

  4. Уровеньосвещённостипомещениядолжен лежатьв диапазоне210 -540 лк, освещённостьна рабочемместе оператора400 лк.

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

  6. Приналичии в помещениидругих рабочихмест, не использующихЭВМ, необходимоиспользоватькомбинированноеосвещениеэтого помещения.


    1. Рабочееместо.


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

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

Первоес выпрямленнойспиной, экранмонитора находитсяниже уровняглаз под угломпорядка 20при расстояниеот экрана доглаз 50см. Второеположение,откинувшись,при которомцентр экрананаходится чутьниже уровняглаз. В обоихположенияхклавиатураи мышь должныбыть расположенытак, чтобы заними не нужнобыло тянутьсяили высокодержать рукипри работе.Угол междукистями и плечомпри этом порядка80 - 100.

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


    1. Электро ипожаро безопасность.


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

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


    1. Шумы.


Призакрытом кожухесистемногоблока источникшума на рабочемместе оператораЭВМ это работающийпринтер. Уровеньшумности зависитот типа принтераи для матричногопринтера составляетпорядка 35-40 дБА(в зависимостиот модели принтера),что превышаетпредельнодопустимыуровень, значениекоторого 40дБА.Однако, какправило, в работепользователя и программистанеобходимостьпечати возникаетне часто, поэтомувполне допустимоприменениепринтера подобноготипа, однаколучше применятьболее поздниелазерные илиструйные принтеры,шумность которыхзначительнониже.


    1. Температура,давление,влажность.


Комфортнымиусловиями приработе на ЭВМсчитаютсяусловия, прикоторых:

  • температуравоздуха в тёплоевремя года23-25C,а в холодное22-24C;

  • влажность40-60%;

  • скоростьветра не превышает0,1 м/с;

  • атмосферноедавление 730-780 ммр.ст.


    1. Работа вчрезвычайныхситуациях.


Чрезвычайнойситуацией дляоператора ЭВМ,которая реальноможет существоватьна рабочемместе, следуетсчитать падениенапряжениепитания в сети,при которомданные в оперативнойпамяти компьютерабудут потеряны.Такая ситуацияможет бытьпричинойдополнительногонервного напряжения.

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

Дляизбежанияподобной ситуациине рабочихместах следуетиспользоватьисточникибесперебойногопитания (UPS). Ониподдерживаютнапряженияпитания нанеобходимомуровне, послеаварийногопадения напряженияв основной сетив течение 10-60 минути, кроме того,сглаживаютпульсациипитающегонапряжения.Они снабженызвуковой исветовойсигнализациейвключаемойустройствомпри отсутствиинапряженияв основнойэлектрическойсети. Получивтакой сигнал,оператор ЭВМимеет достаточновремени длясохраненияданных в энергонезависимойпамяти.


    1. Интегральнаяоценка тяжеститруда.


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


Таблица1

Расчётусловий трудана рабочихместах


Фактор

Значение

Длительность,%

Балл





Температуравоздуха впомещении втёплый период,C

23-25

100

1

Температуравоздуха впомещении вхолодный период,C

22-24

100

1

Атмосферноедавление, ммр.ст.

730-780

100

1

Промышленныйшум, дБА

35-40

5

0,05

Сменность

Утренняя

100

1

Длительностьсосредоточенногонаблюдения,в процентахрабочего времени

50-75

100%

3

Характервыполняемойработы

Простыедействия поиндивидуально-муплану

100%

1

СУММА:

-

-

8,05

ВСЕГОФАКТОРОВ:

-

-

7

МАКСИМАЛЬНОЕЗНАЧЕНИЕ:

-

-

3

ИНТЕГРАЛНАЯТЯЖЕСТЬ ТРУДА:

-

-

36,7

КАТЕГОРИЯТЯЖЕСТИ:

-

-

3

УСТАЛОСТЬ:

-

-

33,0

РАБОТОСПОСОБНОСТЬ:

-

-

67,0

Приработе за компьютеромв течение 5 - 6 часовполучаем недопустимовысокую категориютяжести труда.Снизим времяработы на ЭВМи программиста,и пользователядо 4 - 5 часов, тогдадлительностьсосредоточенногонаблюденияможно оценитьв 2 балла.


Тогда:

  • интегральнаятяжесть трудасоставит 28,9;

  • категориятяжести будетвторая;

  • усталость: 20,8

  • работоспособность:79,2

  • приростработоспособностисоставит: 3,6%.


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

67



Министерствообщего и профессиональногообразованияРФ

Санкт-Петербургскийгосударственный

электротехническийуниверситетим. В.И. Ульянова(Ленина) “ЛЭТИ”


Факультеткомпьютерныхтехнологийи информатики

Кафедраматематическогообеспеченияи примененияЭВМ


К защитедопустить –

Зав.кафедройМОЭВМ

д.т.н.,проф. Лисс А.Р.


Пояснительнаязаписка

КДИПЛОМНОМУПРОЕКТУ

натему: “Базаданных ТелефоннойКоммерческойСлужбы Санкт-Петербурга“008”

с доступомчерез Internet.


Дипломант: ГришкевичМ.Т.

Руководитель: Носков В.А.

Консультантпо экономическомуобоснованию: ВасильевА.В.

Консультант по охранебезопасностижизнедеятельности: Товбин Г.М.


Санкт– Петербург

2000 г.


5.ЭКОНОМИЧЕСКОЕОБОСНОВАНИЕПРОЕКТА.

5.1 Концепция.


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

Цельюразработкибазы данных"ТелефоннойКоммерческойСлужбы Санкт-Петербурга008" являетсяперенос основнойбазы данныхданной фирмыдля использованияеё посредствомInternet-доступа.Данная разработкапредназначенадля использованияв составеInternet-броузеровMicrosoftInternetExplorerили NetscapeNavigator.Данные Internet-броузерысуществую нарынке давнои распространяютсябесплатно.Посколькуразрабатываемаясистема являетсячастью продукта,уже зарекомендовавшегосебя конкурента-способным, адоработкакомплексапроизводитьсядля укрепленияего конкурентоспособныхпозиций, уровеньконкурентоспособностине рассчитывается.


5.2 Краткоетехническоеописание системы.


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

5.3 Рыноки план маркетинга.


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

Рынокпотенциальныхпотребителейтакого родапродукции,возможносегментироватьследующимобразом:

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

  2. Небольшиечастные фирмы,малые предприятия,частные предприниматели,желающие разместитьинформациюсо своих базданных с сетиInternet.

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

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

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

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


5.4 Организационныйплан работыпо реализациипроекта и определениестоимости егоразработки.


Дляопределениятрудоемкостивыполненияданной работынеобходимосоставитьперечень всехэтапов, определитьтрудоёмкостьна каждом этапеработы (человеко-дни).Трудоемкостьвыполнениявсей работыскладываетсяиз трудоемкостиотдельныхэтапов работы.

Таблица1

Трудоемкостьработ по разработкепроекта

Наименованиеработ

Трудоемкость,чел./дни

Главныйспециалист

Инженер

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

2

3

Разработкаметодов решениязадачи. Выборязыка программирования.

6

Изучениелитературы

45

Разработкаструктурырешения задачи

24

Созданиеинтерфейсапрограммы

1

2

Разработкаосновных модулейпрограммы

20

Тестированиеи отладка основныхмодулей программы

1

6

Тестированиеи отладка всейпрограммы вцелом

1

3

Составлениетехническойдокументации

1

30

Сдачапроекта

1

1

ИТОГО:

7

140


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


5.5 Расчетсебестоимостиразработкипроекта.


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

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

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

Калькуляциярасходов постатье "Материалы"приведены втаблице2.


Таблица2

Калькуляциярасходов постатье "Материалы"

Материалы

Единицаизмерения

Количество

Цена,

руб.

Сумма,

руб.

Бумагаписчая

пачка

2

100

200

Картридждля принтера

шт.

1

1200

700

Дискеты

шт.

1

10

10

ИТОГО:




910

Транспортно-заготовительныерасходы, 10%

91

ВСЕГО:


1001


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

Величинаарендной платырассчитываетсяпо формуле:

САР= tАР* РАР

гдеСАР- сумма аренднойплаты, р.;

tАР- время арендыПЭВМ = 600 ч.;

РАР- часовая ставкаарендной платы- 2,8 р/час.

Величиначасовой ставкиарендной платыопределяетсяпо договорумежду арендатороми арендодателем.

САР= 600 * 2,8 = 1680 р.

Основнаяи дополнительнаязаработнаяплата непосредственныйисполнителейрассчитываетсяна основанииследующихданных:

  • трудоемкостьвыполненияработ ТСПиТИНЖ(по таблице1);

  • дневнаяставка главногоспециалистаДСП= 40 р;

  • дневнаяставка инженераДИНЖ= 20 р;

  • процентдополнительнойзаработнойплаты - 12%;

  • процентотчисленияна социальныенужды - 39 %;

  • процентнакладныхрасходов (поданным предприятия)- 33%.

Основнаязаработнаяплата исполнителей(СЗО)рассчитываетсяпо формуле:

СЗО= ТСП* ДСП+ ТИНЖ* ДИНЖ

гдеТСПиТИНЖ- соответственно,трудоемкостьвыполненияработ по реализацииданной разработкиглавным специалистоми инженером,чел/дн.

СЗО= 7 * 40 + 140 * 20 = 3080 р.

Дополнительнаязаработнаяплата рассчитываетсяпо формуле:

СЗД= 3080 * 0,12 = 369,6 р.

Отчисленияна социальныенужды:

ССН= (3080 + 369,6) * 0,39 = 1345,3 р.

Расходовна служебныекомандировкинет. Накладныерасходы рассчитываютсяпо формуле:

СНР= (3080 + 369,6) * 0,33 = 1138,4 р.

На основаниивышеприведенныхданных составленакалькуляциясебестоимостиразработкии сведена в таблицу.


Таблица3

Калькуляциясебестоимостиразработки

Затраты

Сумма,руб.

Материалы

1001

Основнаязаработнаяплата

3080

Дополнительнаязаработнаяплата

369,6

Отчисленияна социальныенужды

1345,3

Арендамашинноговремени

1680

Накладныерасходы

1138,4

ИТОГОсебестоимость:

8614,3


5.6 Прогнозфинансовыхпоказателей.

5.6.1 Установлениеисходных предложений.


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

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

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

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

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

Таблица4
Ожидаемыеобъемы продажпо прогнознымоценкам

Пока-затель

Вариантпрогноза

Значениепоказателяпо интерваламинвестиционногопериода

0

1

2

3

4

5

Цена(р.)

-

-

-

600

600

600

600

Ожида-емыйобъем продаж(шт.)

Опитими-стический

-

-

20

30

30

30

Ожида-емыйобъем продаж(шт.)

Пессими-стический

-

-

15

20

16

16

Ожида-емыйобъем продаж(шт.)

Реалисти-ческий

-

-

16

18

20

20


5.6.2 Определениепотребностив начальномкапитале.


На основаниипрогнозныхоценок объемовпродаж определяетсяпотребностьв начальномкапитале, необходимомдля реализациипроекта.

Спецификаданного производственногопроцесса требуетиспользованияПЭВМ, принтера,множительногоаппарата ипомещения дляпроведенияэтих работ.

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

Потребностьв основномкапитале формируетсяза счет средств,израсходованныхна разработкупроекта - 8614,3 р.,а также дополнительныхсредств, необходимыхна приобретениеПЭВМ и принтера.Так как ПЭВМи принтер могутбыть использованыне только длякопированияфайлов, печатисопроводительнойдокументациии модернизации,целесообразнымпредставляетсяотнести наданный проектчасть стоимостиэтих основныхсредств, пропорциональновремени ихиспользованияв рамках реализацииданного проекта.

Пристоимостикомпьютеракласса Pentium166 с монитором14" - 8000 р, сроке службы- 5 лет, временииспользованияна 1 экземплярпродаваемогопродукта, равномв среднем 0,5 часа,потребностьв ПЭВМ для реализациипроекта в пределахданного инвестиционногопериода приоптимистическомобъеме продажсоставит КПЭВМ.

В данномслучае потребностьв начальномкапитале наПЭВМ для реализациипроекта составитдля оптимистическоговарианта прогноза:

КПЭВМ= (8000 / (5 * 1995)) * 0,5 * (20 + 3 *30) = 44,1 р.

Дляпессимистическоговарианта прогноза:

КПЭВМ= (8000 / (5 * 1995)) * 0,5 * (15 + 20 + 2 * 16) = 26,9 р.

Дляреалистическоговарианта прогноза:

КПЭВМ= (8000 / (5 * 1995)) * 0,5 * (16 + 18 + 2 * 20) = 29,7 р.

Аналогичноопределяетсяпотребностьв начальномкапитале напринтер стоимостью2500 р при использованииего для распечаткидокументациипо одному экземплярув течение 0,5 ч.Потребностьв начальномкапитале КПРИНТЕРдля реализациипроекта составитдля оптимистическоговарианта прогноза:

КПРИНТЕР= (2500 / (5 * 1995)) * 0,5 * (20 + 3 * 30) = 13,8 р.

Дляпессимистическоговарианта прогноза:

КПРИНТЕР= (2500 / (5 * 1995)) * 0,5 * (15 + 20 + 2 * 16) = 8,4 р.

Дляреалистическоговарианта прогноза:

КПРИНТЕР= (2500 / (5 * 1995)) * 0,5 * (16 + 18 + 2* 20) = 9,3 р.

Потребностьв начальномоборотномкапитале:

  • стоимостьначальногозапаса расходныхматериалов200 р;

  • расходына упреждающуюрекламу с цельюсформироватьсвой рынок -по вариантампрогноза:

оптимистический- 400 р;

пессимистический- 500 р;

реалистический- 450р.

Сведенияо потребностив начальномкапитале дляданного проектасведены в таблицу.


Таблица5

Потребностьв начальномкапитале

Статьи

Вариантыпрогноза

Оптимистический

Пессимистический

Реалистический

ОСНОВНОЙКАПИТАЛ

Разработкасистемы, р

8614,3

8614,3

8614,3

ПЭВМ,р

44,1

26,9

29,7

Принтер,р

13,8

8,4

9,3

ИТОГО:

8672,2

8649,6

8653,3

ОБОРОТНЫЙКАПИТАЛ

Материалы,р

200

200

200

Реклама,р

400

500

450

ВСЕГО:

9272,2

9349,6

9303,3


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


5.6.3 Производствои реализация.


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

Реализацияпродукта происходитнепосредственнопосле переносафайла на дискетуи копированиядокументации.


5.6.4 Определениепроизводственно-сбытовыхиздержек.


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

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

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

В составпеременныхиздержек входят:

  • затратына дискету, накоторую переписываетсяпрограмма - 10р.;

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

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

СЗО= (t1+ t2)* ЧС * (1 + НД/ 100)

гдеt1и t2- трудоемкостипереноса файлана дискету икопированиядокументации,чел/ч; ЧС - часоваяставка оплатытруда инженера-программиста,р; НД- нормативдополнительнойзаработнойплаты, долиединицы (0,12).

СЗО= (1 + 0,5) * 2,5 * (1 + 0,12) = 4,2 р.

  • отчисленияна социальныенужды составляют39% от основнойи дополнительнойзаработнойплаты и определяютсяпо формуле

ССН= СЗО* НСН/ 100 =4,2 * 0,39 = 1,64 р.

Постоянныеиздержки, связанныес производствоми сбытом комплекса,включает всебя:

  • аренднуюплату за занимаемоепомещение всумме 80,0 р в месяц,что дает в пересчетена один интервалинвестиционногопериода, равный3 месяцам, 240 р;

  • амортизациюоборудования,которая определяетсяпо государственнымномам по методуравномерногосписания. Заодин интервалинвестиционногопериода суммаамортизациисоставит:

САМ= КОБ* (НАОБ/ 100) * (tИНТ/ 12)

гдеКОБ- балансоваястоимостьосновногосредства, р;НАОБ- норма амортизации,%; tИНТ- количествомесяцев в одноминтервале, мес.

Такимобразом, суммаамортизациисоставит:

  • поПЭВМ при НАОБ= 20%

САМПЭВМ= 26,9 * 20 *3 / (100 * 12) = 1,35 р.

  • попринтеру приНАОБ= 20%

САМПРИНТЕР= 8,4 * 20 *3 / (100 * 12) = 0,42 р.

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

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

Таблица6

Производственно-сбытовыеиздержки дляпессимистическоговарианта прогноза

Статьи

Величинапо интерваламинвестиционноговарианта прогноза

0

1

2

3

4

5

ПЕРЕМЕННЫЕИЗДЕРЖКИ

Материалы,р

-

-

13

13

13

13

Основнаяи дополнительнаязаработнаяплата, р.

-

-

4,2

4,2

4,2

4,2

Отчисленияна социальныенужды, р.

-

-

1,64

1,64

1,64

1,64

ИТОГО

(сучетом ожидаемогообъема продаж):

-

-

282,6

376,8

301,4

301,4

ПОСТОЯННЫЕИЗДЕРЖКИ

Аренднаяплата за помещения,р.

-

-

240

240

240

240

Реклама,р

-

-

300

200

160

60

Амортизация

-

-

1,8

1,8

1,8

1,8

Административно-хозяйственныерасходы, р

-

-

1500

1500

1500

1500

ИТОГО

-

-

2041,8

1941,8

1901,8

1801,8

ВСЕГО,р:

-

-

2324,4

2318,6

2203,2

2103,2

5.6.5 Оценкаликвидационнойстоимостиосновных средств.


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


5.6.6 Определениепорога безубыточностипрогнозируемогопроизводства.


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

Приэтом производственно-сбытовыеиздержки составляют,в соответствиис данными,представленнымив таблице6 -8949,3 р.

Определяетсявеличина покрытияпостоянныхиздержек поформуле:

SПОКР= P- VC0

гдеP- рыночная ценапродукта, р;VC0- переменныеиздержки заединицу продукции,р.

SПОКР= 600 - 18,8 = 581,2 р.

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

QТБ= FС/ SПОКР

гдеFC- постоянныеиздержки попессимистическомуварианту прогноза,р.

QТБ= 8949,3 / 581,2 = 15,4

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

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

5.6.7 Определениетекущих расходови доходов попроекту.


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

Таблица7

Доходыи расходы отреализациипроекта - пессимистическийпрогноз

Статьи

Значениепоказателяпо интерваламинвестиционногопериода

0

1

2

3

4

5

Ожидаемыеобъемы продаж,шт.

-

-

15

20

16

16

Цена,р.

-

-

600

600

600

600

Выручкаот реализации,р

-

-

9000

12000

9600

9600

-НДС (20%), р.

-

-

1500

2000

1600

1600

Производственно-сбытовыеиздержки, р

-

-

2324,4

2318,6

2203,2

2103,2

Балансоваяприбыль, р.

-

-

5175,6

7681,4

5796,8

5796,8

Налогна прибыль,р.

-

-

1811,5

2688,5

2028,9

2028,9

Нераспределеннаяприбыль, р.

-

-

3364,1

4992,9

3767,9

3767,9

Убыток

-

-

-

-

-

-

5.6.8 Прогноздвижения денежнойналичности.


Прогноздвижения денежнойналичностипроизводитсяна основанииданных, полученныхранее в предыдущихрасчетах.

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

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

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

Величинаналоговыхвыплат складываетсяиз НДС и налогана прибыль(таблица7).

Результатырасчетов попрогнозу движенияденежной наличностисведены в таблицу8.


Таблица8

Прогноздвижения денежнойналичности

Показатели

Значениепоказателяпо интерваламинвестиционногопериода

0

1

2

3

4

5

ПОСТУПЛЕНИЯДЕНЕЖНЫХ СРЕДСТВ

-

-

9000

12000

9600

9600

Втом числе:


Выручкаот реализации,р

-

-

9000

12000

9600

9600

Ликвиднаястоимостьосновных средств(инвестируемогокапитала)

-

-

-

-

-

-

ВЫПЛАТЫДЕНЕЖНЫХ СРЕДСТВ

4636,1

4636,1

5634,1

7005,3

5830,3

5830,3

-инвестиции

4636,1

4636,1

-

-

-

-

-производственно-сбытовыеиздержки (безучета амортизации)

-

-

2322,6

2316,8

2201,4

2101,4

-налоги

-

-

3311,5

4688,5

3628,9

3628,9

ЧИСТЫЙДЕНЕЖНЫЙ ПОТОК(ЧДП)

-4636,1

-4636,1

3365,9

4994,7

3769,7

3769,7

ЧДП(нарастающимитогом)

-4636,1

-9272,2

-5906,3

-911,6

2858,1

6627,8

5.6.9 Оценкаэкономическойэффективностипроекта.


Прогноздвижения денежнойналичностипоказывает,что периодвозврата инвестицийсоставит 9 месяцев.

РентабельностьинвестицийROIопределяетсяпо формуле:

ROI= (1 / 9349,6) * 15892,8 * (1 / 6) = 0,28 28%

Интегральныйэкономическийэффект определяетсяпо формуле:

NPV= -9349,6 + ((15892,8 + 7,2) / 1,1^6) = 374,5р.

Пригодовой ставкедисконтирования0,1 (без учетаинфляции).


5.7Выводы.


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

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

Интегральныйэкономическийэффект можетсоставить 374,5р..

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

Такимобразом, реализацияпроекта экономическицелесообразна.

56