Меню Рубрики

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

11. Анализ предметной области: цели и задачи. Модели предметной области. Формальные определения. Классификация моделей. Методоло

11. Анализ предметной области: цели и задачи. Модели предметной области. Формальные определения. Классификация моделей. Методология IDEF0, синтаксис IDEF0-моделей.

Деятельность, направленная на выявление реальных потребностей заказчика, а также на выяснения смысла высказанных требований, называется анализом предметной области (бизнес-моделированием, если речь идет о потребностях коммерческой организации). Анализ предметной области – это первый шаг этапа системного анализа, с которого начинается разработка программной системы. Разработчики должны научиться

  1. · понимать язык, на котором говорят заказчики;
  2. · выявить цели их деятельности;
  3. · определить набор решаемых ими задач;
  4. · определить набор сущностей, с которыми приходится иметь дело при решении этих задач.

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

Определения=

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


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

Формальные модели, используемые на этапе анализа предметной области можно разделить на две группы:

  1. · модели, зависящие от подхода к разработке (структурного или объектно-ориентированного);
  2. · модели, не зависящие от подхода к разработке.

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

  1. IDEF0 – методология создания функциональной модели системы (основана на методе SADT Росса);
  2. IDEF1 – методология создания информационной модели системы (основана на реляционной теории Кодда и использовании ER-диаграмм Чена);
  3. IDEF2 – методология создания динамической модели системы;
  4. IDEF3 – методология создания модели потоков работ (обычно используется вместе с диаграммами потоков данных DFD Data flow diagram)

Основной формой представления IDEF0-модели является диаграмма. Каждая IDEF0-диаграмма содержит блоки (работы) и дуги (стрелки). Блоки изображают функции моделируемой системы. Дуги связывают блоки вместе и отображают взаимодействия и взаимосвязи между ними.
Функциональные блоки на диаграмме изображаются прямоугольниками, а дуги – стрелками.

Каждая сторона функционального блока должна иметь стандартное отношение блок/стрелки:

  1. · входные стрелки должны связываться с левой стороной блока;
  2. · управляющие стрелки должны связываться с верхней стороной блока;
  3. · выходные стрелки должны связываться с правой стороной блока;
  4. · стрелки механизма (кроме стрелок вызова) должны указывать вверх и подключаться к нижней стороне блока;
  5. · стрелки вызова механизма должны указывать вниз, подключаться к нижней стороне блока, и помечаться ссылкой на вызываемый блок

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

Сегменты стрелок, за исключением стрелок вызова, должны помечаться существительным или оборотом существительного. Чтобы связать стрелку с меткой, следует использовать «тильду» (

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

Состав

IDEF0-модели состоят из трех типов документов:

  1. · графических диаграмм(главный компонент IDEF0-модели, содержащий блоки, стрелки, соединения блоков и стрелок и ассоциированные с ними отношения)
  2. · текста(используется для объяснений и уточнений характеристик, потоков, внутриблочных соединений и т.д.)
  3. · глоссария (предназначен для определения аббревиатур, ключевых слов и фраз, используемых в качестве имен и меток на диаграммах)

Эти документы имеют перекрестные ссылки друг на друга. В методологии IDEF0 существует 6 типов отношений между блоками в пределах одной диаграммы:

  1. · доминирование;
  2. · управление;
  3. · выход — вход;
  4. · обратная связь по управлению;
  5. · обратная связь по входу;
  6. · выход – механизм

источник

Вопрос №1.Что определяют требования к ПО? Для чего нужен анализ предметной области?

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

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

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

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

выявление свойств желаемых результатов

определение набора задач, для их достижения

определение набора сущностей, необходимых при решении этих задач

определение области ответственности будущей программной системы

После этого можно уже более точно сформулировать требования к ПО.

Ответ: Бизнес моделирование — это анализ такой предметной области, связанной с коммерческой организацией. Соответственно, между этими двумя процессами имеется бинарное отношение обобщения. Бизнес моделирование наследует анализ предметной области.

Всякий ненужный текст, предназначенный для увеличения объёма:

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

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

· понимать язык, на котором говорят заказчики;

· выявить цели их деятельности;

· определить набор решаемых ими задач;

· определить набор сущностей, с которыми приходится иметь дело при решении этих задач.

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

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

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

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

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

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

Расшифровка строк таблицы:

Planner’s View ( Contextual level) — общее, высокоуровневое видение архитектуры решения с точки зрения инвестора или заказчика. Owner’s View (Enterprise or Business Model, Conceptual level) — уровень бизнеса, бизнес-сущностей и бизнес-процессов, то есть взгляд с точки зрения пользователей данного решения. Designer’s View (Information Systems Model, Logical level) — представление системного аналитика о решении на уровне информационных моделей, функциональных требований к решению и потоков данных. Builder’s View (Technology Model, Physical level) — представление архитектора, нацеленное на использование конкретных технологий, языков программирования, устройств и платформ. Subcontractor View (Detailed level) — уровень детализированного представления о внутреннем устройстве всех компонентов решения, нацеленный на разработчиков и программистов.

Дать понятие заинтересованных в разработке ПО лиц.

Цель программного проекта, как и любого другого — удовлетворение заинтересованных лиц. Между тем, работе с ними обычно уделяется недостаточное внимание. Люди концентрируются на различных артефактах, и не всегда упоминают, что любые артефакты — лишь средство удовлетворения заинтересованных лиц. Это справедливо даже в том случае, когда что-то создаётся «just for fun»: автор артефакта — такое же заинтересованное лицо, как и все остальные.

Впрочем, большая часть проектов — по крайней мере, в области программного обеспечения — имеют целью создание артефактов.

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

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

Так как количество видов ПО и практик велико, первоначальный автор рассчитывает на активное участие сообщества в написании данной статьи.

* Инвестор — интересы в скорейшем возврате инвестированных денег с одной стороны, и постоянном доходе в будущем — с другой

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

* Продавцы — как можно большие объёмы продаж сейчас с одной стороны, и высокие объёмы продаж в течение длительного времени — с другой (востребованность, наличие ярких продающих факторов, качество при длительной работе)

* Инженеры пресейла — возможность как можно легче продемонстрировать возможности и привлекательность продукта кастомизаторам и интеграторам

* Команда 1 — аналогично команде разработчиков, кроме того — наличие у продукта средств разработки и отладки, руководства разработчика, простота и комментированность предназначенного для кастомизации кода, большое количество заготовок для повторного использования (в т.ч. с учётом отраслевой специфики)

* Компания, оказывающая тех. поддержку

Классификация практик разработки ПО и работа с заинтересованными лицами в их рамках

* Процессы, подразумевающие высокое доверие и вовлечение Заказчика

* Процессы, подразумевающие низкое доверие и вовлечение Заказчика

* По степени изменчивости требований и обязательств их учёта

* Прямое управление приоритетами компании-разработчика

источник

Курсовая работа: Исследование предметной области и проблемной среды деканатов Разработка модели предметной области

ХАРЬКОВСКАЯ ГОСУДАРСТВЕННАЯ АКАДЕМИЯ КУЛЬТУРЫ

Кафедра информационно-документных систем

Курсовая работа по дисциплине «Автоматизированные информационно-документные системы»

ИССЛЕДОВАНИЕ ПРЕДМЕТНОЙ ОБЛАСТИ И ПРОБЛЕМНОЙ СРЕДЫ ДЕКАНАТОВ. РАЗРАБОТКА МОДЕЛИ ПРЕДМЕТНОЙ ОБЛАСТИ БД АИС ДЕКАНАТА «МАТРИКУЛЬНАЯ КНИГА»

Выполнила студентка IV к., І гр.

Марьин Сергей Александрович

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

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

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

Достаточно актуальным является вопрос автоматизации учебного процесса, в том числе в высших учебных заведениях (ВУЗах).

Одной из основных и трудоёмких в работе ВУЗа является деятельность деканата.

Работникам деканатов приходится выполнять огромный объем рутинной работы по учету контингента студентов, обеспечению учебного процесса, предоставлению информации в различные подразделения ВУЗа. При этом всю информацию необходимо представлять в различных форматах. Необходимость внедрения информационной системы (ИС), автоматизирующей основные функции образовательного процесса очевидна.

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

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

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

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

Предмет исследования — моделирование предметной области базы данных АИС деканата «Матрикульная книга».

Цель исследования — моделирование предметной области базы данных деканата «Матрикульная книга» и разработка модели автоматизированной информационной системы деканата.

1. Проанализировать основную литературу на тему разработки моделей предметных областей баз данных.

2. Исследовать предметную область деканатов и определить их основные функции.

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

4. Создать логическую и физическую модель предметной области деканатов.

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

Основные работы, посвящённые анализу предметной области — это источники 5, 6, 7. Построение модели предметной области с помощью ER-диаграмм рассмотрено в источниках 6, 10. Разработка реляционных СУБД и их использование приведено в источниках 2, 3, 4. Разработки функциональной модели информационной системы автоматизированного управления учебным процессом описаны в источнике 1.

РАЗДЕЛ 1. АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ — ОСНОВА ПРОЕКТИРОВАНИЯ БАЗЫ ДАННЫХ

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

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

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

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

Проектирование баз данных включает несколько этапов:

1. Проектирование инфологической концептуальной модели БД.

2. Проектирование даталогической модели БД.

3. Проектирование физической модели БД.

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

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

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

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

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

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

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

Завершающим этапом является реализация базы данных, внесение в неё информации и использование её для автоматизации определённой предметной области [6].

Последовательность этапов проектирования базы данных изображена на рис. 1.1.

Рис. 1.1 Этапы проектирования БД

Итак, инфологическое моделирование, то есть описание модели БД на естественном языке, является первым этапом проектирования и, следовательно, закладывает основу успешного функционирования БД.

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

Инфологической моделирование (т.е. моделирование предметной области) можно свести к таким основным процессам:

— исследование предметной области и выявление требований конечных пользователей и решаемых задач;

— сбор и анализ основных данных (объекты, связи между объектами);

— построение ER-диаграммы базы данных [6].

Моделирование предметной области можно назвать главным этапом разработки БД, так как модель — это основа разработки БД.

Для успешного и эффективного функционирования ВУЗа необходимо комплексное внедрение информационно-коммуникационных технологий (ИКТ), охватывающее все без исключения функциональные подсистемы учебного заведения (такие как деканаты, библиотека, приёмная комиссия, бухгалтерия, кафедры и др.)

Одним из структурных подразделений ВУЗа, наиболее очевидно требующих автоматизации, является деканат.

Деканат — подразделение ВУЗа, осуществляющее контроль и организацию деятельности факультета.

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

Так как проблемы автоматизации деканатов в основном схожи, можно провести исследование предметной области на примере деканата факультета Документоведения и Информационной Деятельности (ДИД) Харьковской Государственной Академии Культуры (ХГАК).

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

Схема подчинённости личного состава факультета представлена на рис. 2.1.

Рис. 2.1 Схема подчиненности личного состава факультета

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

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

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

Далее, на протяжении всего периода обучения в личных делах фиксируются все факты о любых изменениях статуса студента (перевод с курса на курс, с дневного отделения на заочное, перевод в другую группу, справки об академическом отпуске и т.п.) [5].

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

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

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

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

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

1. Организация и управление учебным процессом.

2. Заполнение учётных документов.

3. Контроль успеваемости студентов.

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

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

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

Рис. 2.2 Деятельность деканата

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

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

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

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

В учебном процессе принимают участие студенты, а контролирует учебный процесс деканат.

Анализ предметной области выявил основные недостатки существующего делопроизводства деканата:

— Устаревшие бумажные технологии регистрации, обработки и хранения информации.

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

— Рутинные повторяющиеся операции обработки.

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

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

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

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

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

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

Сводная ведомость составляется на одного студента и является одной из форм контроля успеваемости студента. Она содержит такие основные данные: ФИО, курс, факультет, форма обучения, специализация (для 5 курса), название предмета, количество часов по каждому предмету отдельно, общее количество часов по всем предметам, общая успеваемость.

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

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

Благодаря созданию АИС (и БД как её части), формирование отчётной документации может значительно упроститься.

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

Основными требованиями к функциям БД деканата (успеваемость студентов) могут считаться следующие:

— получить общее число студентов, поступивших в каком-либо году;

— получить список определённой группы;

— выбрать успеваемость студента по дисциплинам с указанием общего количества часов и вида контроля;

— выбрать успеваемость студентов по группам и дисциплинам;

— получить список и общее число студентов указанных групп, сдавших зачет, либо экзамен по указанной дисциплине с указанной оценкой;

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

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

— выбрать успеваемость студента с 1 по 5 курс и узнать присвоенную квалификацию или место работы студента и т.д. [7, 9].

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

Наиболее рутинными, но в то же время ответственными процессами в работе сотрудников деканата являются:

— ввод персональных данных студента в его личную карточку;

— ведение архива деканата, на который прямо или косвенно опирается ряд дополнительных структур института (бухгалтерия, отдел кадров и др.);

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

Облегчение условий труда достигается благодаря возможности автоматизировать основные процессы ведения делопроизводства [5].

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

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

Наиболее популярной из них оказалась модель «сущность-связь» или ER-модель (от англ. Entity-Relationship, т.е. сущность-связь).

На использовании разновидностей ER-модели основано большинство современных подходов к проектированию баз данных (главным образом, реляционных) [6].

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

Первый вариант модели «сущность-связь» был предложен в 1976 году Питером Пин-Шэн Ченом (Chen). В дальнейшем многими авторами были разработаны свои варианты подобных моделей (нотация Мартина, нотация IDEF1X, нотация Баркера и др.). Кроме того, различные программные средства, реализующие одну и ту же нотацию, могут отличаться своими возможностями [10].

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

По сути, все варианты диаграмм «сущность-связь» исходят из одной идеи — рисунок всегда нагляднее текстового описания. И в связи со своей наглядностью представления концептуальных схем баз данных ER-диаграммы получили широкое распространение [6].

Все ER-диаграммы используют графическое изображение сущностей предметной области, их свойств (атрибутов), и взаимосвязей между сущностями [10]. Следовательно, сущности, связи между ними и их свойства (атрибуты) являются основными элементами описания предметной области.

Сущность — любой конкретный или абстрактный объект в рассматриваемой предметной области. Сущности — это базовые типы информации, которые хранятся в БД. К сущностям могут относиться: студенты, клиенты, подразделения и т.д. Каждая сущность в модели изображается в виде прямоугольника с наименованием. Пример изображения сущности приведён на рис. 3.1.

Рис. 3.1 Пример изображения сущности в ER-моделировании

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

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

Атрибуты используются для определения того, какая информация должна быть собрана о сущности. Например, для сущности студент могут быть использованы следующие атрибуты: ФИО, дата и место рождения, № зачётной книжки, форма обучения и т.д.

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

Рис. 3.2 Пример изображения атрибутов сущности в ER-моделировании

Здесь также существует различие между типом и экземпляром. Тип атрибута Место рождения, например, имеет много экземпляров или значений: Харьков, Киев, Одесса, Купянск и т.д., однако каждому экземпляру сущности присваивается только одно значение атрибута.

Связь — ассоциации (отношения) между сущностями в предметной области. Связи представляют собой соединения между частями БД [6, 9, 10].

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

Каждая связь может иметь один из следующих типов:

Обозначение типов связей в ER-диаграммах представлено на рис. 3.3.

Рис. 3.3 Типы связей в ER-моделировании

Связь один-к-одному (1:1) означает, что один экземпляр первой сущности связан с одним экземпляром второй сущности. Например, сущность СТУДЕНТ и сущность СТИПЕНДИЯ имеют связь 1:1, так как Студент может не «заработать» стипендию, получить обычную или повышенную стипендию. Связь один-к-одному чаще всего свидетельствует о том, что на самом деле мы имеем всего одну сущность, неправильно разделенную на две.

Связь один-ко-многим (1:М) означает, что один экземпляр первой сущности связан с несколькими экземплярами второй сущности. Это наиболее часто используемый тип связи. Например, сущность СТУДЕНТ и сущность ОЦЕНКИ имеют связь 1:М, так как Студент может получить несколько оценок по нескольким дисциплинам.

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

Связь многие-ко-многим (М:М) означает, что каждый экземпляр первой сущности может быть связан с несколькими экземплярами второй сущности, и каждый экземпляр второй сущности может быть связан с несколькими экземплярами первой сущности. Тип связи много-ко-многим является временным типом связи, допустимым на ранних этапах разработки модели. В дальнейшем этот тип связи должен быть заменен двумя связями типа один-ко-многим путем создания промежуточной сущности [6, 10].

Каждая связь имеет два конца и одно или два наименования. Наименование обычно выражается в неопределенной глагольной форме: «иметь», «принадлежать» и т.п. Каждое из наименований относится к своему концу связи. Иногда наименования не пишутся ввиду их очевидности [10].

Основываясь на анализе предметной области и требованиях предъявляемых к БД можно выявить такие основные сущности: СТУДЕНТ, ДИСЦИПЛИНЫ, УЧЕБНЫЙ ПЛАН, УСПЕВАЕМОСТЬ, ДИПЛОМНЫЕ РАБОТЫ, КУРСОВЫЕ РАБОТЫ, ПРАКТИКА, ПЕРЕВОД С КУРСА НА КУРС, РОДИТЕЛИ.

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

Для сущности СТУДЕНТ определяем такие основные атрибуты:

источник

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

Анализ предметной области можно разбить на три фазы:

1) анализ концептуальных требований и информационных потребностей;

2) выявление информационных объектов и связей между ними;

3) построение концептуальной модели предметной области и проектирование концептуальной схемы БД.

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

1) анализ требований пользователей к БД (концептуальных требований);

2) выявление имеющихся задач по обработке информации, которая должна быть предоставлена в БД;

3) выявление перспективных задач (перспективных приложений);

4) документирование результатов анализа.

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

Теперь обратимся непосредственно к нашей БД. Рассмотрим примерный вопросник, требования к БД при анализе различных предметных областей.

1. Какая документация и какого типа существует на данной кафедре?

2. В каком виде должно храниться документация?

3. Сбор шаблонов, необходимых для создания документов.

4. Какие объекты кроме документов должно храниться в базе, и какими свойствами должны обладать данные объекты?

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

6. Для кого предназначена БД?

Выполним анализ требований к БД.

Вопрос1. Для каких типов задач проектируется БД?

Ответ. 1. Информация о документах. 2. Информация о преподавателях. 3. Информация о студентах, участвующих в работе кафедры. 4.Информация о кафедрах, на которых преподаватели данной кафедры работают совместителями. 5. Информация об олимпиадах, проводимых преподавателями данной кафедры. 6. Информация о конференциях по данной кафедре. 7. Учет участия студентов в олимпиадах. 8. Учет участия студентов в конференциях. 9. Информация о возможных должностях преподавателей. 10. Информация о возможных ученых степенях преподавателей. 11. Информация о возможных ученых званиях преподавателей. 12. Информация о литературе, имеющейся на кафедре. 13. Информация об авторах. 14. Информация об издательствах. 15. Информация о научных работах преподавателей. 16. Информация о дисциплинах, преподаваемых в рамках кафедры. 17. Информация о рабочих программах по дисциплинам. 18. Информация о типе документации (приказ, заявление и т.п.). 19. Информация о типе литературы (пособие, учебник и т.п.). 20. Учет преподавателей по кафедрам. 21. Информация о курсовых работах. 22. Учет студентов по курсовым работам. 23. Информация о специальностях данного ВУЗа. 24. Информация о типе научных работ преподавателей.

Вопрос2. Какими информационными объектами характеризуются эти задачи?

Ответ. 1. Информационный объект: Документация. 2. Информационный объект: Преподаватели. 3. Информационный объект: Студенты. 4. Информационный объект: Кафедры. 5. Информационный объект: Олимпиады. 6. Информационный объект Конференции. 7. Информационный объект Учет олимпиад. 8.Информацинный объект Учет конференций. 9. Информационный объект Должности. 10. Информационный объект Тип ученых степеней. 11. Информационный объект Тип ученых званий. 12. Информационный объект Литература. 13. Информационный объект Авторы. 14. Информационный объект Издательства. 15. Информационный объект Научные работы преподавателей. 16. Информационный объект Дисциплины. 17. Информационный объект Рабочие программы. 18. Информационный объект Тип документации. 19. Информационный объект Тип литературы. 20. Информационный объект Учет преподавателей по кафедрам. 21. Информационный объект Курсовые работы. 22. Информационный объект Учет студентов по курсовым работам. 23. Информационный объект Специальности. 24. Информационный объект Тип научных работ преподавателей.

Вопрос3. Каким текущим запросам должны удовлетворять информационные объекты?

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

2. ФИО преподавателя, автора, студента.

3. Ученое звание, ученая степень преподавателя.

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

5. Адрес преподавателя, издательства.

8. Направление научной работы преподавателя.

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

При выборе информационных объектов следует ответить на следующие вопросы:

1. На какие классы можно разбить данные подлежащие хранению в БД?

2. Какое имя можно присвоить каждому классу данных?

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

4. Какие имена можно присвоить выбранным наборам характеристик?

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

1. Какие типы связей между информационными объектами?

2. Какое имя можно присвоить каждому типу связей?

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

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

При выявлении условий ограничения целостности следует ответить на следующие вопросы:

1.Какова область значений для числовых характеристик?

2.Каковы функциональные зависимости между характеристиками одного информационного объекта?

3.Какой тип отображения соответствует каждому типу связей?

Каждую сущность в нашей БД зададим набором атрибутов (ключевые атрибуты подчеркнем):

1.Документация(код документации, название, тип, дата создания, текст);

2. авторы(код автора, Фамилия, Имя, Отчество);

3. дисциплины(код дисциплины, название);

4. кафедры(код кафедры, название);

5. должность(код, название);

6. издательства(код, название, город, улица, офис);

7. конференции(код, название, дата проведения, код литературы);

8. курсовая работа(код, название, код дисциплины, номер зачетки, код руководителя, дата защиты, оценка, текст, приложение);

9. литература (код, название, код автора, код издания, код типа, дата создания);

10. направление (код, название);

11. научные работы преподавателей(код, название, тип научной работы, код преподавателя, дата создания, направление, текст);

12. олимпиада(код, название, код дисциплины, дата проведения);

13. преподаватели(Инн преподавателя, фамилия, имя, отчество, телефон, адрес, код договора, дата рождения, код ученой степени, код ученого звания);

14. рабочие программы (код, название, код специальности, код дисциплины, дата создания, код составителя, текст);

15. специальности(код, название);

16.студенты (номер зачетки, Фамилия, Имя, Отчество, номер группы);

17. тип документации(код, название);

18. тип литературы(код, название);

19. тип научной работы(код, название);

20. тип ученого звания (код, название);

21.тип ученой степени (код, название);

22. учет конференций (код, номер зачетки, код конференции, тема доклада);

23. учет олимпиад(код, номер зачетки, код олимпиады, результат);

24.учет преподавателей по кафедрам (код, инн преподавателя, код кафедры, код должности).

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

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

Одной из распространенных моделей концептуальной схемы является модель «сущность — связь». Под сущность понимают основное содержание объекта ПО, о котором собирают информацию. Экземпляр сущности – конкретный объект. Например: Сущность – факультет, экземпляр сущности – Факультет математики и информационных технологий.

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

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

Рассмотрим концептуальную схему БД «Документооборот кафедры» (рис.1.1) (в данной схеме не будем указывать атрибуты).

Рис.1.1. Концептуальная модель «сущность – связь» для БД «Документооборот кафедры »

Дата добавления: 2015-05-09 ; Просмотров: 1584 ; Нарушение авторских прав? ;

Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет

источник

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

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

— возможность входа под персональными логином и паролем для администратора (для редактирования содержимого сайта);

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

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

1.2 Исследование предметной области

Центр сопровождения клиентских операций (ЦСКО) Сбербанка «Байкал» – двенадцатый в системе банка. ЦСКО «Байкал» сопровождает клиентские операции подразделений Байкальского банка Сбербанка России, действующего на территории, превышающей 1,5 млн кв. км и охватывающей Иркутскую область, Забайкалье и Республику Бурятия.

ЦСКО создаются в рамках проекта трансформации операционных функций Сбербанка, цель которого — повышение эффективности работы банка и качества обслуживания клиентов. Основная задача ЦСКО – комплексное обслуживание и сопровождение всех операций клиентов: по вкладам, кредитам, банковским картам, коммунальным и социальным платежам, переводу средств, платежам юридических лиц. Благодаря передаче сопровождения операций в единый центр ускоряется обслуживание непосредственно в офисах банка, при этом сотрудники получают больше возможностей для консультирования и индивидуальной работы с клиентами. В результате централизации операционных процессов эффективность деятельности банка возрастает в среднем на треть.

России» – крупнейший банк в России, на долю которого приходится около 27% активов российской банковской системы и насчитывающий около 240 тысяч сотрудников. Учредителем и основным акционером России» является Центральный банк Российской Федерации, владеющий свыше 57.6% голосующих акций. Другими акционерами банка являются более 245 тысяч физических и юридических лиц. Банк имеет одну из самых разветвленных филиальных сетей в России: 17 территориальных банков, около 19 тысяч отделений и внутренних структурных подразделений, а также дочерние банки в Казахстане, Украине и Белоруссии, филиал в Индии, представительства в Германии и Китае. После приобретения Volksbank International в 2012 году Сбербанк имеет представительства в 9 странах Центральной и Восточной Европы.

Байкальский банк Сбербанка России обслуживает клиентов в Иркутской области, Забайкальском крае и республике Бурятии. Это около 10% территории России и более 4,5 миллионов жителей. Байкальский банк – это 8 отделений, 525 офисов, в том числе 6 операционных касс вне кассового узла, 12 операционных офисов и 12 передвижных пунктов кассовых операций на всей территории Восточной Сибири: от границы с Монголией и Китаем до Якутии, от Красноярского края до Дальнего Востока. Банк лидирует в регионе по объему эмиссии и по широте торгово-сервисной сети банковских карт, по величине кредитного портфеля как для бизнеса, так и для физических лиц, по количеству предлагаемых услуг. Банк осуществляет корреспондентские отношения с банками Монголии и Китая, выступает поручителем во внешнеторговых сделках. Байкальский банк Сбербанка России сотрудничает с крупнейшими предприятиями Восточной Сибири, предоставляет банковские услуги всем отраслям и направлениям производства и торговли, учреждениям здравоохранения и образования, государственным структурам, малому бизнесу.

Генеральная лицензия Банка России на осуществление банковских операций 1481.

Центр сопровождения клиентских операций (ЦСКО) Байкальского банка Сбербанка России недавно поменял свой статус. Теперь подразделение носит название ПЦП (подразделение центрального подчинения) ЦСКО «Байкал» и соответственно подчиняется непосредственно Сбербанку России. Данное преобразование, а именно централизация всех существующих ЦСКО Сбербанка по всей стране позволит банку обеспечить оперативную обработку банковских операций практически в режиме 24 часа в сутки.

Центр сопровождения клиентских операций (ЦСКО) Байкальского банка Сбербанка России, получивший звучное имя «Байкал», начал работать в Иркутске в декабре 2010 года. Официально он стал двенадцатым в федеральной системе Сбербанка — подобные центры (всего их пятнадцать) также существуют в Москве, Санкт-Петербурге, Перми и в ряде других городов. Первоначально ЦСКО Байкал обслуживал только операции клиентов на территории деятельности Байкальского банка, т. е. Иркутской области, Бурятии и Забайкалья, сегодня сотрудники ЦСКО в Приангарье осуществляют операции и клиентов Сбербанка других территорий. И это стало возможным именно после перевода ЦСКО в статус подразделения центрального подчинения, с ноября этого года все центры сопровождения клиентских операций в системе Сбербанка начинают работу в едином операционном пространстве под руководством Операционного департамента России».

Как отмечает директор ПЦП ЦСКО «Байкал» Александр Текутьев, результат данного преобразования клиенты банка смогут ощутить на себе — услуги банка станут еще более оперативными, более качественными и удобными. Для клиентов важен – хороший сервис, который с каждым годом должен совершенствоваться. И организация ЦСКО, которому были переданы операционных функций – это значительное улучшения сервиса, а также большое конкурентное преимущество банка. Сегодня практически все операции стандартизированы, поэтому вероятность ошибок при их совершении минимальна. Кроме того, благодаря появлению ЦСКО уменьшилась нагрузка на сотрудников в офисах, у них высвободилось больше времени для работы с клиентами. Второй шаг банка по переводу ЦСКО в статус подразделений центрального подчинения, также направлен на дальнейшее ускорение проведение операций. При этом, ЦСКО «Байкал», по-прежнему, в первую очередь, будет обеспечивать обработку банковских операций Байкальского банка, а также обслуживать другие территории.

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

1.2.2 Обоснование потребности в web-сайте

У ПЦП ЦСКО «Байкал» никогда не было своего персонального сайта. На сегодняшний день практически каждая организация имеет собственный web-сайт. В условиях использования современных информационных технологий в процессе образования – это необходимый фактор, позволяющий автоматизировать распространение информации, касающейся данной организации (в данном случаи ПЦП ЦСКО «Байкал»), облегчить процесс обмена данными.

Создание и разработка сайтов включает:

— утверждение первоначального технического задания на разработку сайта;

— определение структурной схемы сайта — расположение разделов, контента и навигации;

— веб-дизайн — создание графических элементов макета сайта, стилей и элементов навигации;

— разработка программного кода, модулей, базы данных и других элементов сайта необходимых в проекте;

— тестирование и размещение сайта в сети Интернет.[3]

Во время прохождения преддипломной практики были поставлены следующие задачи:

— проанализировать уже существующую модель web-сайта ИГО и сделать заключение о том, что необходимо изменить;

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

— разработка проекта (макета) web-сайта организации.

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

Web-сайт – это информация, представленная в определенном виде, которая располагается на Web-сервере и имеет свое имя (адрес). Для просмотра Web-сайтов на компьютере пользователя используются специальные программы, которые называются браузерами. В зависимости от того, какое имя (адрес) сайта мы зададим в строке «Адрес», браузер будет загружать в свое окно соответствующую информацию.[1]

Web-сайт состоит из связанных между собой Web-страниц. Web-страница представляет собой текстовый файл с расширением *.htm, который содержит текстовую информацию и специальные команды – HTML-коды, определяющие в каком виде эта информация будет отображаться в окне браузера. Вся графическая, аудио — и видео-информация непосредственно в Web-страницу не входит и представляет собой отдельные файлы с расширениями *.gif, *.jpg (графика), *.mid, *.mp3 (звук), *.avi (видео). В HTML-коде страницы содержатся только указания на такие файлы.

Каждая страница Web-сайта также имеет свой Internet адрес, который состоит из адреса сайта и имени файла, соответствующего данной странице. Таким образом, Web-сайт – это информационный ресурс, состоящий из связанных между собой гипертекстовых документов (Web-страниц), размещенный на Web-сервере и имеющий индивидуальный адрес. Посмотреть Web-сайт может любой человек, имеющий компьютер, подключенный к Internet.[14]

1.3.2 Классификация web-сайтов

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

Классификация сайтов по используемым технологиям.

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

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

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

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

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

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

Мобильные устройства, которые приобретают все большую популярность, в ближайшее время полностью откажутся от использования флэша.[13]

Классификация сайтов по видам доступа.

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

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

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

Закрытые (окукленные) — сайты с закрытым доступом. Это могут быть служебные корпоративные сайты, личные сайты частных лиц или группы лиц. Такие сайты доступны для узкого круга пользователей. Доступ новым пользователям обычно предоставляется через специальные приглашения – инвайты. Инвайт – это код доступа (набор символов) или ссылка, содержащая в себе код, для регистрации в закрытом сервисе, форуме или партнерской программе. Приглашение обычно можно получить у уже зарегистрированного участника, либо у службы поддержки, либо выполнив определенные условия, установленные администрацией закрытого интернет-проекта. Инвайт используют для ограничения доступа к сервису сайта от посторонних пользователей. Закрытыми также могут быть проекты на стадии начального тестирования их сервисов.[12]

Классификация сайтов по типам предоставляемых сервисов.

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

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

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

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

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

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

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

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

Интернет-портал — крупный информационный ресурс, объединяющий различные сервисы. Портал предоставляет широкий спектр информации по определенной тематике. В рамках интернет-портала пользователи могут общаться друг с другом посредством форума, чата, мгновенных сообщений и других средств взаимодействия. Также портал может содержать развлекательный контент.[8]

1.4 Выбор среды программирования

Учитывая поставленные выше задачи, наиболее оптимальной базой для разработки такого рода сайта является HTML+PHP и язык запросов SQL.

1.4.1 Анализ возможностей HTML

Обмен информацией в Интернет осуществляется с помощью протоколов прикладного уровня, реализующих тот или иной прикладной сервис (пересылку файлов, гипертекстовой информации, почты и т. д.). Одним из наиболее молодых и популярных сервисов Интернет, развитие которого и привело к всплеску популярности самой Интернет, стала World Wide Web (WWW), основанная на протоколе HTTP (Hyper Text Transfer Protocol — протокол передачи гипертекстовой информации). Гипертекстовые документы, представленные в WWW, имеют одно принципиальное отличие от традиционных гипертекстовых документов — связи, в них использующиеся, не ограничены одним документом, и более того, не ограничены одним компьютером. Для подготовки гипертекстовых документов используется язык HTML (Hyper Text Markup Language – язык разметки гипертекстовых документов), предоставляющий широкие возможности по форматированию и структурной разметке документов, организации связей между различными документами, средства включения графической и мультимедийной информации. HTML-документы просматриваются с помощью специальной программы — браузера. Наибольшее распространение в настоящее время получили браузеры Internet Explorer компании Microsoft (MSIE), Opera компании Opera Software ASA, Google chrome компании Google.[9]

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

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

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

— начало нового абзаца, может иметь параметр, определяющий выравнивание:

— перевод строки в пределах текущего абзаца;

— выделение текста подчеркиванием

1.4.2 Анализ возможностей PHP

PHP (Hypertext Preprocessor — Препроцессор Гипертекста)– это широко используемый язык сценариев общего назначения с открытым исходным кодом.

PHP — язык программирования, специально разработанный для написания web-приложений (скриптов, сценариев), исполняющихся на Web-сервере. Синтаксис языка во многом основывается на синтаксисе C, Java и Perl. Он очень похож на С и на Perl, поэтому для профессионального программиста не составит труда его изучить. С другой стороны, язык PHP проще, чем C, и его может освоить веб-мастер, не знающий пока других языков программирования.

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

Сценарии на языке PHP могут исполняться на сервере в виде отдельных файлов, а могут интегрироваться в html страницы.

PHP способен генерировать и преобразовывать не только HTML документы, но и изображения разных форматов — JPEG, GIF, PNG, файлы PDF и FLASH. PHP способен формировать данные в любом текстовом формате, включая XHTML и XML.

PHP — кроссплатформенная технология. Дистрибутив PHP доступен для большинства операционных систем, включая Linux, многие модификации Unix, Microsoft Windows, Mac OS и многих других. PHP поддерживается на большинстве вебсерверов, таких, как Apache, Microsoft Internet Information Server (IIS), Microsoft Personal Web Server и других.

Для большинства серверов PHP поставляется в 2-х вариантах — в качестве модуля и в качестве CGI препроцессора.

PHP поддерживает работу с ODBC и большое количество баз данных: MySQL, MSQL, Oracle, PostgreSQL, SQLite и др.

Язык программирования PHP, особенно в связке с популярнейшей базой данных MySQL — оптимальный вариант для создания интернет-сайтов различной сложности.

Язык PHP постоянно совершенствуется, и ему наверняка обеспечено долгое доминирование в области языков web-программирования.

В данном дипломном проекте стоит задача создания информационного сайта Института гуманитарного образования, с элементами динамических сайтов (вход на сайт, регистрация, загрузка информационных ресурсов, скачивание информационных ресурсов и др.), который будет отвечать всем выше указанным требованиям. Для реализации поставленной задачи были выбраны языки программирования HTML и PHP. Создаваться сайт будет в ручную, без использования каких-либо систем управления содержимым.[10]

1.4.3 Анализ возможностей SQL

SQL ( Structured Query Language — «язык структурированных запросов») — универсальный компьютерный язык, применяемый для создания, модификации и управления данными в реляционных базах данных. Реляционная база данных — база данных, основанная на реляционной модели данных. Реляционная модель данных (РМД) — логическая модель данных, прикладная теория построения баз данных, которая является приложением к задачам обработки данных таких разделов математики как теории множеств и логика первого порядка.

SQL — это стандартный язык доступа к БД, таким как SQL Server, Oracle, MySQL, Sybase и Access..

SQL является непроцедурным языком и не содержит операторов управления, организации подпрограмм, ввода-вывода и т. п. В связи с этим SQL автономно не используется, обычно он погружен в среду встроенного языка программирования СУБД (например, FoxPro СУБД Visual FoxPro, ObjectPAL СУБД Paradox, Visual Basic for Applications СУБД Access).

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

Язык SQL не обладает функциями полноценного языка разработки, а ориентирован на доступ к данным, поэтому его включают в состав средств разработки программ. В этом случае его называют встроенным SQL. Стандарт языка SQL поддерживают современные реализации следующих языков программирования: PL/1, Ada, С, COBOL, Fortran, MUMPS и Pascal.

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

Различают два основных метода использования встроенного SQL: статический и динамический.

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

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

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

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

В данном проекте используется MySQL, т. к. обладает некоторыми преимуществами:

— производительность (из-за чего Google и Yahoo используют именно MySQL);

— масштабируемость (в компании Omniture в реальном масштабе времени используется 7000 серверов MySQL);

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

— простота использования, простота внедрения (за 15 минут можно скачать и запустить систему);

— открытая и модульная разработка;

низкие совокупные затраты (платить нужно только при потребности в поддержке).

Стадии разработки, этапы и содержание работ должны соответствовать указанным в таблице 1.

Таблица 1 – Стадии и этапы разработки ПО

Обоснование необходимости разработки программы

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

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

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

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

Разработка эскизного проекта

Предварительная разработка структуры входных и выходных данных
Уточнение методов решения задачи
Разработка общего описания алгоритма решения задачи
Разработка технико-экономического обоснования

Утверждение эскизного проекта

Разработка пояснительной записки
Согласование и утверждение эскизного проекта

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

Уточнение структуры входных и выходных данных
Разработка алгоритма решения задачи
Определение формы представления входных и выходных данных
Определение семантики и синтаксиса языка
Разработка структуры программы
Окончательное определение конфигурации технических средств

Утверждение технического проекта

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

Программирование и отладка программы

Разработка программной документации

Разработка программных документов в соответствии с требованиями ГОСТ 19.101-77

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

Подготовка и передача программы

Подготовка и передача программы и программной документации для сопровождения и (или) изготовления
Оформление и утверждение акта о передаче программы на сопровождение и (или) изготовление
Передача программы в фонд алгоритмов и программ

1. Допускается исключать вторую стадию разработки, а в технически обоснованных случаях — вторую и третью стадии. Необходимость проведения этих стадий указывается в техническом задании;

2. Допускается объединять, исключать этапы работ и (или) их содержание, а также вводить другие этапы работ по согласованию с заказчиком.[2]

Исходя из этого создание сайта можно разделить на следующие этапы:

— администрирование (поддержка) сайта.

На этом этапе необходимо сформировать основную идею будущего сайта.

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

— Затем определяется целевая аудитория (то есть для кого будет этот сайт).

— Выясняется, какую информацию ожидают видеть посетители, это поможет с определением контента (текстовой информацией) на сайте.

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

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

На этом же этапе составляется ТЗ (техническое задание).

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

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

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

Виды верстки при создании сайта:

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

— табличная. В табличной верстке можно создавать колонки, таблицы в браузерах выглядят почти одинаково. Недостатки: индексация такого сайта очень медленная, долго загружаются страницы и код такой верстки слишком большой.[15]

В результате разработки получена база данных, часть таблиц которой изображена на рисунке 1.

Рисунок 1 – Структура базы данных

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

Язык программирования представляет собой знаковую систему, которая предназначена для описания алгоритмов. Самые популярные языки программирования: Java, C, C++, Delphi, Basic, PHP, Perl, Ruby и др.

После всех этих действий сайт публикуется в сети.

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

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

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

Ресурс можно обновлять как самостоятельно, так и при помощи поддержки специалистов.[15]

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

Рисунок 2 — Этапы разработки web-сайта

Разработка программного обеспечения (англ. software engineering, software development) — это род деятельности (профессия) и процесс, направленный на создание и поддержание работоспособности, качества и надежности программного обеспечения, используя технологии, методологию и практики из информатики, управления проектами, математики, инженерии и других областей знания.[11]

2.2.1 Сложность разработки программного обеспечения

Как и другие традиционные инженерные дисциплины, разработка программного обеспечения имеет дело с проблемами качества, стоимости и надёжности. Некоторые программы содержат миллионы строк исходного кода, которые, как ожидается, должны правильно исполняться в изменяющихся условиях. Сложность ПО сравнима со сложностью наиболее сложных из современных машин, таких как самолеты.[11]

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

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

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

Данная методология направлена на решение задач на ЭВМ, аналогичной технологии разработки алгоритмов и программ, используемой на олимпиадах по программированию отечественными студентами и программистами с использованием тестирования и структурного псевдокода для документирования программ в корпорации IBM с 70-х годов.

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

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

2.2.3 Участники процесса разработки ПО

Участниками процесса разработки программного обеспечения являются:

2.2.4 Проблемы разработки ПО

Наиболее распространённые проблемы, возникающие в процессе разработки ПО.

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

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

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

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

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

Отсутствие гарантий качества и надежности программ из-за отсутствия гарантий отсутствия ошибок в программах вплоть до формальной сдачи программ заказчикам. Данная проблема не является проблемой, относящейся исключительно к разработке ПО. Гарантия качества — это проблема выбора поставщика товара (не продукта).[11]

2.3.1 Определение технологии конструирования программного обеспечения

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

Различают методы, средства и процедуры ТКПО.

Методы обеспечивают решение следующих задач:

— планирование и оценка проекта;

— анализ системных и программных требований;

— проектирование алгоритмов, структур данных и программных структур;

Средства (утилиты) ТКПО обеспечивают автоматизированную или автоматическую поддержку методов. В целях совместного применения утилиты могут объединяться в системы автоматизированного конструирования ПО. Такие системы принято называть CASE-системами. Аббревиатура CASE расшифровывается как Computer Aided Software Engineering (программная инженерия с компьютерной поддержкой).

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

— порядок применения методов и утилит;

— формирование отчетов, форм по соответствующим требованиям;

— контроль, который помогает обеспечивать качество и координировать изменения;

— формирование «вех», по которым руководители оценивают прогресс.

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

Применение парадигм ТКПО гарантирует систематический, упорядоченный подход к промышленной разработке, использованию и сопровождению ПО. Фактически, парадигмы вносят в процесс создания ПО организующее инженерное начало, необходимость которого трудно переоценить.[11]

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

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

Основная цель макетирования — снять неопределенности в требованиях заказчика.

Макетирование (прототипирование) — это процесс создания модели требуемого программного продукта.

Модель может принимать одну из трех форм:

— бумажный макет или макет на основе ПК (изображает или рисует человеко-машинный диалог);

— работающий макет (выполняет некоторую часть требуемых функций);

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

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

Последовательность действий при макетировании представлена на рисунке 4. Макетирование начинается со сбора и уточнения требований к создаваемому ПО Разработчик и заказчик встречаются и определяют все цели ПО, устанавливают, какие требования известны, а какие предстоит доопределить.

Затем выполняется быстрое проектирование. В нем внимание сосредоточивается на тех характеристиках ПО, которые должны быть видимы пользователю.

Быстрое проектирование приводит к построению макета.

Макет оценивается заказчиком и используется для уточнения требований к ПО.

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

Достоинство макетирования: обеспечивает определение полных требований к ПО.

— заказчик может принять макет за продукт;

— разработчик может принять макет за продукт.

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

Рисунок 4 — Последовательность действий при макетировании

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

Заказчик (в данном случае, директор ЦСКО «Байкал») определил перед разработчиком некоторые требования, которые необходимо было структурировать и реализовать в проекте.

Все требования можно разделить на три группы:

— определение структуры сайта;

— пожелания, касаемые интерфейса сайта;

— требования к функционалу сайта.

Сайт состоит из следующих главных разделов:

— главная страница. На главной странице отображаются приветственные слова для всех посетителей сайта. Оформление включает в себя логотип Сбербанка, для уточнения принадлежности ЦСКО к банку. Также представлено меню сайта, которое включает следующие разделы: «Главная», «Новости», «О нас», «Сотрудники», «Контакты»:

— страница «Главная» — это первая страница, которая открывается после входа на сайт. На ней расположены новейшие новости, добавленые на сайт, календарь, тестовый опросник, вопросы которого может менять администратор сайта, архив всех новостей и файлов, которые на данное время потеряли актуальность;

— страница «Новости». Раздел предназначен для публикации актуальных новостей и донесения нужной информации до персонала ЦСКО;

— страница «О нас». Этот раздел будет включать в себя краткую историю создания ЦСКО;

— страница «Сотрудники». В этом разделе представлен список сотрудников ЦСКО с фотографиями;

— страница «Контакты», предполагает обратную связь посетителей сайта с администрацией сайта. Это как отправка сообщений в администрацию сайта или персоналу ЦСКО, так и способ наглядно увидеть адрес и телефоны ЦСКО.

Для понятного и доступного представления внешнего вида сайта было решено сделать макет сайта с помощью Microsoft Power Point. Это средство компании Microsoft даёт возможность заказчику представить в полной мере не только внешний вид сайта (цветовую гамму, шрифт, изображения и др.), но и его функциональность (ссылки на страницы, формы для заполнения и редактирования информации и др.).

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

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

Несколько слайдов из утвержденного макета представлены на рисунках 5-7.

Рисунок 5 – Главная станица

Рисунок 6 – Внешний вид «Админпанели» (презентация PowerPoint)

Рисунок 7 – Страница «Новости» (презентация PowerPoint)

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

а) на главной странице «Логин» и «Пароль» исчезают после входа и появляются после нажатия «Выход»;

б) после входа, на всех слайдах надпись: «Здравствуйте, (вошедший)!».

Вход и права пользователей должны разделяться в соответствии с тем, кто зашел на сайт. Авторизироваться на сайте можно двумя путями:

— либо это admin под своим паролем;

— либо user (любой сотрудник под одним логином и паролем).

Логины представлены списком на выбор (admin, user). Те, кто не авторизировался, именуется Гость. Представители всех категорий будут знать условия авторизации.

Права доступа к редактированию сайта:

— если авторизирован admin, то сайт открывается в режиме редактирования всех его разделов;

— если авторизирован user, то возможны лишь просмотр страниц сайта и загрузка новостной информации сайта.

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

— язык программирования PHP 5;

— Apache HTTP Web Server Version 2.2;

— система управления базами данных MySQL (использование средства администрирования баз данных PHPMyAdmin).

Все программные коды написаны в текстовом редакторе Microsoft Word 2003 на языке программирования PHP 5, без использования систем управления содержимым.

База данных MySQL разработана на сервере баз данных PHPMyAdmin, далее привязка страниц к разработанной базе данных произведена путем прописывания пути к базе данных в php-коде.

Далее, сохраненные файлы с расширением *.php, проверялись с использованием локального сервера Apache. Но прежде чем использовался Apache, он был установлен и настроен для корректной работы служб. После, все написанные php-коды копировались в папку www, и, после запуска браузера Google Ghrome, в строке прописывался путь к папке www, и название файла с кодом главной страницы сайта. После загрузки главной страницы, проверялась корректная работа всех механизмов и функций сайта.

Программный php-код приведен в приложениях А-Б.

источник

Название: Исследование предметной области и проблемной среды деканатов Разработка модели предметной области
Раздел: Рефераты по информатике
Тип: курсовая работа Добавлен 00:51:46 14 декабря 2010 Похожие работы
Просмотров: 2463 Комментариев: 14 Оценило: 3 человек Средний балл: 4 Оценка: неизвестно Скачать
Читайте также:  Медкнижка какие анализы сдавать 2017