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

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

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






 

Редактор Нижник Н. С.

Верстка Нижник Н. С.

 

Подписано в печать _________ Формат 60х84 1/16

Печать цифровая. Объем ______ п.л. Тираж ___ экз. Заказ № ______

Отпечатано в Санкт-Петербургском университете МВД России

198206, Санкт-Петербург, ул. Летчика Пилютова, д. 1


[*] Содержание курсовой работы выполняется в автоматическом режиме.

[†] Раздел курсовой работы «Источники и использованная литература» должен содержать перечень источников и той литературы, которые реально были использованы автором курсовой работы. Список должен быть грамотно оформлен и содержать не менее 20 различных источников и научных произведений.

В приведенном списке-образце приведены примеры оформления различных видов изданий.

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

[3] Галлиев Ф. Х. Историческая обусловленность правовой культуры // История государства и права. 2010. № 19. С. 16.

[4] Хропанюк В. Н. Теория государства и права: Учебник для бакалавров. М., 2013. С.132.

[5] Бахта В. М. Проблема аккультурации в современной этнографической литературе США // Современная американская этнография. М., 1963. С. 164–165.

[6] См: Redfild R., Linton Я., Herskovits М. Memorandum for the study of acculturation // American Anthropologist. 1936. V. 38. P. 149–152; Herskovits М. J. Acculturation. Tlie study of culture contact. New York, 1938. Р. 34.

[7] Популярный юридический энциклопедический словарь / Редкол.: О. Е. Кута-фин, В. А. Туманов, И. В. Шмаров. М., 2000. С. 342.

[8] Нижник Н. С. Правовые системы современности // Теория государства и права: Учебное пособие. Ч. 3 / Ред. А. В. Кузьмин. СПб.: Изд-во СПб ун-та МВД России, 2012. С. 64.

[9] Карчевская Н. И., Семенова О. В. Теоретико-правовые закономерности гражданского общества. СПб., 2010. С. 26.

[10] Матузов Н. И., Малько А. В. Теория государства и права. М., 2014. С. 146.

[11] Нижник Н. С. Правовые системы современности. С. 67.

[12] Абрамов А. Е. Правовая аккультурация (на примере Испании в период Римской республики): Автореф. дис... канд. юрид. наук. Владимир, 2005. С. 8.

[13] См.: Галлиев Ф. Х. Историческая обусловленность правовой культуры. С. 18; Матузов Н. И., Малько А. В. Теория государства и права. С. 149.

[14] Абрамов А. Е. Правовая аккультурация (на примере Испании в период Римской республики): Автореф. дис... канд. юрид. наук. С. 12.

[15] Закон Российской Федерации от 25 июня 1993 года № 5242-I (ред. 18 июля 2006 года) «О праве граждан Российской Федерации на свободу передвижения, выбор места жительства в пределах Российской Федерации» // Российская газета. 1993. 10 августа; 2004. 5 ноября; 2006. 27 июля.

[16] Федеральный закон РФ от 14 июня 1994 года № 5-ФЗ «О порядке опубликования и вступления в силу федеральный конституционных законов, федеральных законов, актов палат Федерального Собрания» (ред. от 25 декабря 2012 года) // СЗ РФ. 1994. № 8. Ст. 801; 2012. № 53. Ч. 1. Ст. 7579; Указ Президента РФ от 23 мая 1996 года № 763 «О порядке опубликования и вступления в силу актов Президента РФ, Правительства РФ и нормативных правовых актов федеральных органов исполнительной власти» (ред. от 2 февраля 2013 года) // СЗ РФ. 1996. № 22. Ст. 2663; 2013. № 6. Ст. 493.

Составитель: доц., к. т. н. Зеленко Л.С.

УДК 004.4 (075)

Принципы разработки учебных программ:Методические указания к лабораторному практикуму по дисциплине «Программная инженерия»/ Л. С. Зеленко. – Самара: Изд-во Самар. гос. аэрокосм. ун-та, 2012. ‑ 64 с.

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

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

Печатаются по решению редакционно-издательского совета Самарского государственного аэрокосмического университета им. академика С. П. Королева.

Рецензент ‑ канд. техн. наук, доцент Симонова Е.В.


СОДЕРЖАНИЕ

Технология быстрой разработки приложений RAD.. 4

Лабораторная работа №1 Разработка технического задания на программную систему. 7

Лабораторная работа № 2 Описание и анализ предметной области. 13

Лабораторная работа № 3 Постановка задачи. 16

Лабораторная работа № 4 Разработка структуры системы.. 18

Лабораторная работа № 5 Разработка спецификации требований. 21

Лабораторная работа № 6 Разработка прототипа интерфейса пользователя системы.. 26

Лабораторная работа № 7 Разработка информационно-логического проекта системы.. 30

Лабораторная работа № 8 Разработка алгоритмов обработки данных. 42

Оформление отчета. 44

Список использованных источников. 47

Приложение А Пример оформления технического задания на разработку ПС.. 49

Приложение Б Структура содержания отчета. 54

Приложение В Пример оформления титульного листа. 56

Приложение Г Пример оформления реферата. 58

 

 


Технология быстрой разработки приложений RAD

Один из подходов к разработке программного обеспечения (ПО) в рамках спиральной модели жизненного цикла (ЖЦ) – получившая широкое распространение методология (технология) быстрой разработки приложений RAD (Rapid Application Development – быстрая разработка приложений) [1, 2]. Данная модель очень хорошо подходит к разработке учебных программ, т.к. включает в себя три составляющие:

− небольшую команду программистов (от 2 до 4 человек);

− короткий, но тщательно проработанный производственный график (от 2 до 4 мес.);

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

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

ЖЦ ПО [1] по технологии RAD состоит из четырёх фаз (рисунок 1):

1. Анализа и планирования требований;

2. Проектирования;

3. Построения;

4. Внедрения.

 
 

 


Рассмотрим адаптированный к учебному процессу вариант технологии RAD.

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

Результатом фазы должны быть: список расставленных по приоритету функций будущей ПС; предварительная функциональная модель ПС; предварительная информационная модель ПС.

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

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

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

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

Результатом фазы является готовая система, удовлетворяющая всем согласованным требованиям.

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

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

В заключение перечислим основные принципы технологии RAD:

− разработка приложений итерациями;

− необязательность полного завершения работ на каждом этапе ЖЦ;

− обязательное вовлечение пользователей на этапе разработки;

− тестирование и развитие проекта одновременно с разработкой;

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

ЛАБОРАТОРНАЯ РАБОТА №1
разработка технического задания на программную систему

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

Тема проекта выдается преподавателем (в дальнейшем это руководитель проекта) на первом занятии, в соответствии с которой в течение первых двух недель команда студентов разрабатывает техническое задание по форме, приведенной в приложении А. Разработку ТЗ можно считать началом первой фазы ЖЦ будущей ПС.

Техническое задание разрабатывается в соответствии с ГОСТ 34.602-89 «Техническое задание на создание автоматизированной системы» [2] и в дальнейшем должно стать основным документом, по которому студенты ведут разработку проекта. Любые изменения ТЗ на систему должны быть согласованы с преподавателем и заверены его подписью.

Техническое задание состоит из трех частей:

1) содержание задания;

2) исходные данные;

3) календарный план выполнения работ.

Часть 1 – «Содержание задания». Данная часть ТЗ фиксирована, в ней перечислены основные составные этапы выполнения проекта. При разработке ПС в рамках лабораторного практикума и в дальнейшем при выполнении курсового проекта будут использоваться две основные методологии: объектно-ориентированного анализа и проектирования (ООАП) и методология структурного проектирования [3].

ООАП (Object-Oriented Analysis/Design) ‑ технология разработки программных систем, в основу которых положена объектно-ориентированная методология представления предметной области в виде объектов, являющихся экземплярами соответствующих классов [4]. Методология ООАП тесно связана с концепцией автоматизированной разработки программного обеспечения (Computer Aided Software Engineering, CASE) и языком моделирования UML (Unified Modeling Language).

Методология объектно-ориентированного анализа и проектирования используется при выполнении лабораторной работы №2 – описании и анализе предметной области, где студенты должны выявить взаимосвязи между основными информационными объектами ПС, определить их характеристики и порядок взаимодействия.

Методология структурного проектирования применяется на первой фазе проектирования (лабораторная работа №3) при разделении системы на подсистемы, здесь используется принцип проектирования «сверху вниз». За каждым студентом закрепляется определенный перечень работ (обычно это разработка отдельной подсистемы), выполнение которых в дальнейшем контролирует преподаватель.

Часть 2 – «Исходные данные к проекту» включает в себя следующие подразделы:

1. Характеристики объекта автоматизации (или управления);

2. Требования к информационному обеспечению.

3. Требования к техническому обеспечению.

4. Требования к программному обеспечению.

5. Общие требования к проектируемой системе.

6. Перечень дополнительных работ (если необходимо).

Характеристики объекта автоматизации. Здесь указываются общие характеристики объекта автоматизации, характерные для рассматриваемой предметной области:

a) полное название объекта (ов);

b) условия его функционирования;

c) количественные и качественные показатели объекта, которые являются ограничениями процесса функционирования.

В качестве примера рассмотрим проект «Автоматизированная система составления и разгадывания линейного кроссворда по выбранной теме», ТЗ на который приведено в приложении Б.

Понятие «объект автоматизации» в явном виде в ГОСТ 34.602-89 [2] нигде не определено, но если внимательно прочитать п. 2.4.1. «В подразделе «Назначение системы» указывают вид автоматизируемой деятельности (управление, проектирование и т. п.) и перечень объектов автоматизации (объектов), на которых предполагается ее использовать»[1], то из него следует, что под «объектами автоматизации» авторы понимали вовсе не процессы. Будем считать, что объектом автоматизации может быть только материальный (интеллектуальный) объект ‑ организация, магазин, цех, отдел, и так далее.

Комментарии к примеру. Из названия темы следует, что в данном случае объект автоматизации – это линейный кроссворд, а виды автоматизируемой деятельности – это процессы:

1) составления/ генерирования кроссворда;

2) разгадывания кроссворда;

3) работы со словарем понятий.

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

Для каждого процесса в ТЗ должны быть указаны количественные показатели-ограничения, для того, чтобы их правильно выбрать, необходимо знать начальные сведения о структуре самого объекта, каким образом будет проходить его построение и разгадывание. Отправной точкой является определение линейного кроссворда (ЛК). Итак, ЛК – это «цепочка слов, которая строится методом стыкования, где последняя буква первого слова является первой буквой второго и т. д. В чайнворде, как и в кроссворде, используются только имена существительные в именительном падеже и единственном числе» [5]. Так как ЛК строится из слов, то необходимо указать ограничение на длину слова: минимальную длину слова можно определить равную 3, а максимальную – 15, потому что чаще всего кроссворды будут составляться на бытовые темы и сам ЛК не должен быть очень простым. Чтобы ЛК было интересно разгадывать, он не должен быть очень коротким, поэтому минимальное количество слов, например, 5, а максимальное – 15. Идем дальше: «слова в чайнворде не пересекаются, а только стыкуются друг с другом. Иногда цепочку слов изгибают для придания сетке причудливой формы. Длинная изогнутая цепочка может неоднократно пересекать саму себя, как слова в кроссворде, такая головоломка обычно называется кроссчайнвордом». Исходя из этого, можно задать следующее ограничение – на форму отображения ЛК: обычная (линейная), спираль, змейка, W-образная. «В линейных кроссвордах слова могут перекрываться не только одной, но и двумя или тремя буквами, поэтому их длина указывается в скобках при определении к слову» [5], эта часть описания ЛК дает еще одно ограничение: количество букв в пересечении ‑ от 1 до 3. В качестве пожелания, заказчик отметил, что ЛК необходимо строить в двух режимах: ручном и автоматическом (генерация кроссворда), из этого следует еще одно ограничение – составление кроссворда осуществляется с привязкой к словарю понятий. Для того чтобы системы была более универсальной (необходимо обеспечить создание тематических кроссвордов или на общие области знаний), заказчик предложил загружать в систему внешние словари понятий и обеспечить ему возможность редактировать их содержимое. При разгадывании кроссворда могут возникнуть затруднения, поэтому (в соответствии с пожеланиями заказчика) в системе должна быть организована система подсказок, количество которых можно связать с количеством слов – не менее 1 и не более 10% от количества слов.

Требования к информационному обеспечению. Разработка информационного обеспечения (ИО) – наиболее важная часть проекта, она может оказать существенное влияние на весь процесс разработки, поэтому уже на стадии разработки ТЗ необходимо определить:

1) на основании каких документов разрабатывается методическое и информационное обеспечение системы (нормативные и другие документы);

2) перечень исходных данных:

a) какие массивы данных используются и в каких форматах;

b) на каких носителях эти данные будут поставляться в систему;

3) перечень выходных данных:

a) какие массивы данных будут являться результатом работы ПС;

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

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

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

Комментарии к примеру. Для разработки данной системы никаких нормативных документов не требуется (стандартов, инструкций и т.п.), поэтому необходимо только сослаться на информацию, где определена структура и свойства ЛК, а также требования к его построению. Также необходимо определить требования по входным и выходным данным. Большинство параметров ЛК будут задаваться пользователем в режиме диалога: он обязательно должен подключить словарь понятий, из которого будут формироваться задания для кроссворда. В данном случае «словарь понятий» – это текстовый файл определенной структуры (каждая строка файла – это понятие и его расшифровка), который должен загружаться в систему из внешней памяти (с любого логического диска), с которым пользователь должен иметь возможность работать дополнительно. Обязательное условие заказчика – возможность создания коллекции ЛК, поэтому в системе должна быть предусмотрена возможность сохранения наиболее интересных кроссвордов в файл. На данном этапе еще трудно определить структуру этого файла (она должна учитывать и возможность дальнейшего разгадывания кроссворда с помощью данной системы), поэтому можно написать, что «структура файла определяется в процессе проектирования». Обязательным условием составления любого типа кроссвордов является его целостность (для данного случая ‑ это отсутствие пустых клеток в середине ЛК), поэтому это обязательно должно быть записано в требованиях.

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

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

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

Комментарии к примеру. Функции, которые должна выполнять данная система, определяются в первую очередь видами автоматизируемой деятельности, которые были определены в п.2.1 ТЗ, часть из них уже была выявлена в ходе обсуждения ограничений на ЛК. Среди неявных функций, про которые не должны забывать разработчики, это:

a) Визуализация процессов работы с кроссвордом;

b) Выдача сведений о системе (справочные данные о системе и о том, как с ней работать).

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

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

Ø по быстродействию (времени реакции на выполнение наиболее важных функций);

Ø по режиму работы (диалоговый/интерактивный, автоматический);

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

Ø по достоверности;

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

а также все другие количественные и качественные показатели, определяющие эффективность функционирования системы. Кроме того, в данном разделе указываются санитарные правила и нормы (СанПин 2.2.2./2.4.2198-07 [6]) и ГОСТы, требования которых необходимо учитывать при разработке такого класса систем, с учетом того, что системы разворачиваются на средствах вычислительной техники [7, 8].

Часть 3 – Календарный план выполнения работ. Технология RAD, как уже говорилось выше, требует жесткого следования плану-графику работ, поэтому в ТЗ оговариваются ключевые задания, по которым преподаватель должен проводить обязательный контроль. Каждый из перечисленных этапов должен завершаться полностью готовой документацией, согласованной с заказчиком (руководителем). Невыполнение в срок какого-либо из этапов может привести либо к сдвигу «контрольных точек» по оставшимся этапам, либо к незавершению проекта в срок.

В заключение хотелось бы отметить, что процесс составления ТЗ на систему:

1. требует от разработчиков коллективных обсуждений и принятия ответственных решений;

2. позволяет выявить наиболее «узкие» места проекта и оценить возможные риски;

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

4. определить наиболее приоритетные функции, которые будут составлять каркас системы.

ЛАБОРАТОРНАЯ РАБОТА № 2
описание и анализ предметной области

Как уже говорилось ранее, технология RAD включает в себя элементы методологии объектно-ориентированного проектирования и анализа предметной области. Для быстрой и эффективной разработки программной системы с минимальным браком требуется определить верное направление работы [9]. Для того чтобы правильно построить систему, сначала необходимо построить ее модель (этим вы будете заниматься позднее). Моделирование ‑ это устоявшаяся и повсеместно принятая инженерная методика. Хорошая модель всегда включает элементы, существенно влияющие на результат, и не включает те, которые малозначимы на данном уровне абстракции. Модели строятся для того, чтобы лучше понимать разрабатываемую систему. При этом нужно помнить об основных принципах моделирования, один из которых гласит: «Лучшие модели ‑ те, что ближе к реальности» [9]. Поэтому первое, с чего нужно начать разработку системы – это досконально изучить предметную область, в которой Вы будете работать.

В соответствии с методологией ООАП выделяются следующие шаги работы над проектом (системой).

1. Описание предметной области. Определение гласит: «Под предметной областью (application domain) принято понимать ту часть реального мира, которая имеет существенное значение или непосредственное отношение к процессу функционирования программы. Другими словами, предметная область включает в себя только те объекты и взаимосвязи между ними, которые необходимы для описания требований и условий решения некоторой задачи» [4]. Следовательно, разработчикам необходимо выделить основные объекты (компоненты), участвующие в функционировании системы, определить их наиболее существенные характеристики, взаимосвязи в рамках решаемой задачи, а также определить основные информационные потоки в системе. При этом отдельные компоненты выбираются таким образом, чтобы при последующей разработке их было удобно представить в форме классов и объектов. В этом случае немаловажное значение приобретает и сам язык представления информации о концептуальной схеме предметной области.

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

Комментарии к примеру. Для разрабатываемой системы в первую очередь необходимо дать определение кроссворда [10], привести краткую историю его создания, рассказать о разновидностях кроссвордов и особенностях их построения и разгадывания (привести в качестве иллюстраций «сетки» различных кроссвордов)[2], при этом подробно рассказать об особенностях линейного кроссворда, различных формах его построения (привести иллюстрации). Это особенно важно, т.к. в техническом задании было зафиксировано 4 различные формы представления ЛК (на рисунке 1 представлен один из вариантов представления чайнворда).


Рисунок 1 – Чайнворд, как разновидность линейного кроссворда

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

3. Результатом последнего этапа является диаграмма объектов предметной области и краткое описание их свойств и функций. При построении данной диаграммы[3] нужно помнить о том, что в данном случае объект – это «конкретная материализация абстракции», а не экземпляр класса, т.е. пока это понятие не программистское. Диаграмма объектов представляет статическую составляющую взаимодействующих между собой объектов, она должна включить в себя только те объекты предметной области, которые потом преобразуются в диаграмму классов. Связи между объектами показывают отношения между ними, при необходимости в диаграмме можно привести и атрибуты (свойства) объектов. На рисунке 2 приведен фрагмент диаграммы объектов для рассматриваемой в качестве примера системы.

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

Комментарии к примеру. Как видно из диаграммы, ЛК представляет собой (как и любой кроссворд) совокупность двух составляющих: сетки, на которой будут располагаться слова, и задания, которое по существу представляет собой набор определений, которые разъясняют смысл слов (понятий). Набор понятий и определений хранятся во внешнем файле (чаще всего текстовом), который мы ранее называли словарем понятий (см. лабораторную работу №1).

 
 

 

 


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

 

 


ЛАБОРАТОРНАЯ РАБОТА № 3
Постановка задачи

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

Комментарии к примеру. Сначала необходимо сформулировать саму задачу, которая стоит перед разработчиками, обычно она включает в себя название проекта: «Перед авторами поставлена задача ‑ разработать автоматизированную систему составления и разгадывания линейного кроссворда по выбранной теме, которая позволит …». Далее последовательно описывается все процессы (виды автоматизируемой деятельности), в той последовательности, которая позволит получить требуемый результат. Для разрабатываемой системы таких процессов 3, каждый из них может функционировать независимо от других.

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

1. Составление кроссворда может проводиться в двух режимах: автоматическом (генерирование) и ручном. В любом случае пользователь должен предварительно задать параметры кроссворда[4]: определить его максимальную длину (не менее 15 и не более 255 символов), выбрать форму его представления (линейная, спиральная, …), определить количество букв в пересечении (от 1 до 3), подключить словарь понятий (он хранится во внешнем текстовом файле определенной структуры[5]). При этом система должна провести проверку правильности этой структуры и, в случае несоответствия, выдать предупредительное сообщение (см. лабораторную работу №5, описание исключительных ситуаций) и обеспечить повторный ввод параметров. В системе должен осуществляться контроль типов и диапазонов значений параметров. В режиме ручного составления кроссворда (или его редактирования) пользователю должны предоставляться следующие возможности: удаление слова (последнего), добавление нового слова (в конец), редактирование (замена) слова, если оно стоит в середине[6]. При этом должна быть обеспечена навигация по словам либо непосредственно на сетке кроссворда, либо с помощью специальных элементов управления[7]. В случае необходимости пользователь должен иметь возможность сохранить полученный кроссворд в файл (с целью дальнейшего его разгадывания или редактирования), структура файла должна быть определена в ходе проектирования5. Необходимо также предусмотреть контроль целостности создаваемого кроссворда (отсутствие пустых мест в середине кроссворда).

2. Разгадывание кроссворда…

3. Работа со словарями понятий…

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

Таким образом, система должна выполнять следующие функции[8]:

(здесь перечисляются все функции, которые были определены в разделе 2.5.1 ТЗ)».

 


ЛАБОРАТОРНАЯ РАБОТА № 4
разработка структуры системы

Построение структурной схемы программной системы. На данном этапе система по функциональному признаку разделяется на основные подсистемы, между ними указываются информационные связи и/или связи по управлению, описывается основное назначение подсистем. При разработке структурной схемы используется методология структурного проектирования, в основе которой лежит алгоритмическая декомпозиция и иерархия вида «часть-целое», учитывающая, что внутренние связи элементов внутри подсистем сильнее, чем связь между подсистемами. Декомпозиция системы может повторяться многократно, вплоть до уровня конкретных процедур, при этом должна быть обеспечена целостность системы, а все составляющие компоненты взаимоувязаны. Для этого используются такие принципы разработки, как «сверху-вниз», «разделяй и властвуй», «иерархическое упорядочивание» и другие [3].

Дадим некоторые определения.

В первом приближении можно придерживаться нормативного понятия системы. Система (греч. ‑ «составленное из частей», «соединение» от «соединяю») ‑ множество элементов, находящихся в отношениях и связях друг с другом, которое образует определённую целостность, единство [11][9].

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

− наличием множества элементов;

− наличием связей между ними;

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

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

К типовым можно отнести следующие подсистемы:

1) подсистему управления;

2) подсистемы ввода-вывода:

a) подсистему настройки параметров;

b) файловую подсистему;

c) подсистему визуализации;

d) подсистему документирования;

e) подсистему взаимодействия с базой данных;

3) справочную подсистему.







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



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

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

Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

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

Билиодигестивные анастомозы Показания для наложения билиодигестивных анастомозов: 1. нарушения проходимости терминального отдела холедоха при доброкачественной патологии (стенозы и стриктуры холедоха) 2. опухоли большого дуоденального сосочка...

Сосудистый шов (ручной Карреля, механический шов). Операции при ранениях крупных сосудов 1912 г., Каррель – впервые предложил методику сосудистого шва. Сосудистый шов применяется для восстановления магистрального кровотока при лечении...

Трамадол (Маброн, Плазадол, Трамал, Трамалин) Групповая принадлежность · Наркотический анальгетик со смешанным механизмом действия, агонист опиоидных рецепторов...

Метод Фольгарда (роданометрия или тиоцианатометрия) Метод Фольгарда основан на применении в качестве осадителя титрованного раствора, содержащего роданид-ионы SCN...

Потенциометрия. Потенциометрическое определение рН растворов Потенциометрия - это электрохимический метод иссле­дования и анализа веществ, основанный на зависимости равновесного электродного потенциала Е от активности (концентрации) определяемого вещества в исследуемом рас­творе...

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

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