Ћекции.ќрг


ѕоиск:




 атегории:

јстрономи€
Ѕиологи€
√еографи€
ƒругие €зыки
»нтернет
»нформатика
»стори€
 ультура
Ћитература
Ћогика
ћатематика
ћедицина
ћеханика
ќхрана труда
ѕедагогика
ѕолитика
ѕраво
ѕсихологи€
–елиги€
–иторика
—оциологи€
—порт
—троительство
“ехнологи€
“ранспорт
‘изика
‘илософи€
‘инансы
’ими€
Ёкологи€
Ёкономика
Ёлектроника

 

 

 

 


 лассификаци€ методов проектировани€ программных продуктов




 

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

ѕример 18.1. ѕереход к графической среде работы конечного пользовател€ типа Windows или Macintosh потребует создани€ пользовательского интерфейса с элементами управлени€ в виде пиктограмм, кнопок, выпадающих меню, об€зательного применени€ манипул€тора мышь и др. ќтсутствие в программном продукте уже ставших стандартом подобных элементов свидетельствует о том, что в будущем потребуютс€ значительные затраты на модификацию этого продукта, иначе будет падать его конкурентоспособность и привлекательность дл€ конечного пользовател€.

 

ћетоды проектировани€ алгоритмов и программ очень разнообразны, их можно классифицировать по различным признакам, важнейшими из которых €вл€ютс€:

степень автоматизации проектных работ;

прин€та€ методологи€ процесса разработки.

ѕо степени автоматизации проектировани€ алгоритмов и программ можно выделить:

методы традиционного (неавтоматизированного) проектировани€;

методы автоматизированного проектировани€ (CASE-технологи€ и ее элементы).

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

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

јвтоматизированное проектирование алгоритмов и программ возникло с необходимостью уменьшить затраты на проектные работы, сократить сроки их выполнени€, создать типовые "заготовки" алгоритмов и программ, многократно тиражируемых дл€ различных разработок, координации работ большого коллектива разработчиков, стандартизации алгоритмов и программ.

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

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

ѕроектирование алгоритмов и программ может основыватьс€ на различных подходах, среди которых наиболее распространены:

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

информационное моделирование предметной области и св€занных с ней приложений;

объектно-ориентированное проектирование программных продуктов.

¬ основе структурного проектupовани€ лежит последовательна€ декомпозици€, целенаправленное структурирование на отдельные составл€ющие. Ќачало развити€ структурного проектировани€ алгоритмов и программ падает на 60-е гг. ћетоды структурного проектировани€ представл€ют собой комплекс технических и организационных принципов системного проектировани€.

“ипичными методами структурного проектировани€ €вл€ютс€:

нисход€щее проектирование, кодирование и тестирование программ;

модульное программирование;

структурное проектирование (программирование) и др.

¬ зависимости от объекта структурировани€ различают:

функционально-ориентированные методы Ц последовательное разложение задачи или целостной проблемы на отдельные, достаточно простые составл€ющие, обладающие функциональной определенностью;

методы структурировани€ данных.

ƒл€ функционально-ориентированных методов в первую очередь учитываютс€ заданные функции обработки данных, в соответствии с которыми определ€етс€ состав и логика работы (алгоритмы) отдельных компонентов программного продукта. — изменением содержани€ функций обработки, их состава, соответствующего им информационного входа и выхода требуетс€ перепроектирование программного продукта. ќсновной упор в структурном подходе делаетс€ на моделирование процессов обработки данных.

ƒл€ методов структурировани€ данных осуществл€етс€ анализ, структурирование и создание моделей данных, применительно к которым устанавливаетс€ необходимый состав функций и процедур обработки. ѕрограммные продукты тесно св€заны со структурой обрабатываемых данных, изменение которой отражаетс€ на логике обработки (алгоритмах) и об€зательно требует перепроектировани€ программного продукта.

—труктурный подход использует:

диаграммы потоков данных (информационно-технологические схемы) Ц показывают процессы и информационные потоки между ними с учетом "событий", инициирующих процессы обработки;

интегрированную структуру данных предметной области (инфологическа€ модель, ER-диаграммы);

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

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

ƒл€ полного представлени€ о программном продукте необходима также текстова€ информаци€ описательного характера.

≈ще большую значимость информационные модели и структуры данных имеют дл€ информационного моделировани€ предметной области, в основе которого положение об определ€ющей роли данных при проектировании алгоритмов и программ. ѕодход по€вилс€ в услови€х развити€ программных средств организации хранени€ и обработки данных Ц —”Ѕƒ (см. гл. 15).

ќдин из основоположников информационной инженерии Ц ƒж. ћартин Ц выдел€ет следующие составл€ющие данного подхода:

информационный анализ предметных областей (бизнес-областей);

информационное моделирование Ц построение комплекса взаимосв€занных моделей данных;

системное проектирование функций обработки данных;

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

ѕервоначально стро€тс€ информационные модели различных уровней представлени€:

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

даталогические модели, ориентированные на среду хранени€ и обработки данных.

ƒаталогические модели имеют логический и физический уровни представлени€. ‘изический уровень соответствует организации хранени€ данных в пам€ти компьютера. Ћогический уровень данных применительно к —”Ѕƒ реализован в виде:

концептуальной модели базы данных Ц интегрированные структуры данных под управлением —”Ѕƒ;

внешних моделей данных Ц подмножество структур данных дл€ реализации приложений.

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

¬ыбор средств реализации базы данных определ€ет вид даталогических моделей и, следовательно, алгоритмы преобразовани€ данных. ¬ большинстве случаев используетс€ рел€ционное представление данных базы данных и соответствующие рел€ционные €зыки дл€ программировани€ (манипулировани€) обработки данных —”Ѕƒ и реализации алгоритмов обработки (см. гл. 19). ƒанный подход использован во многих CASE-технологи€х.

ќбъектно-ориентированный подход к проектированию программных продуктов основан на:

выделении классов объектов;

установлении характерных свойств объектов и методов их обработки;

создании иерархии классов, наследовании свойств объектов и методов их обработки.

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

ќбъектный подход при разработке алгоритмов и программ предполагает:

объектно-ориентированный анализ предметной области;

объектно-ориентированное проектирование.

ќбъектно-ориентированный анализ Ц анализ предметной области и выделение объектов, определение свойств и методов обработки объектов, установление их взаимосв€зей.

ќбъектно-ориентированное проектирование соедин€ет процесс объектной декомпозиции и представлени€ с использованием моделей данных проектируемой системы на логическом и физическом уровн€х, в статике и динамике.

 

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

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

ќбъектно-ориентированна€ технологи€ разработки программных продуктов объедин€ет данные и процессы в логические сущности Ц объекты, которые имеют способность наследовать характеристики (методы и данные) одного или более объектов, обеспечива€ тем самым повторное использование программного кода. Ёто приводит к значительному уменьшению затрат на создание программных продуктов, повышает эффективность жизненного цикла программных продуктов (сокращаетс€ длительность фазы разработки). ѕри выполнении программы объекту посылаетс€ сообщение, которое инициирует обработку данных объекта.





ѕоделитьс€ с друзь€ми:


ƒата добавлени€: 2015-01-29; ћы поможем в написании ваших работ!; просмотров: 1588 | Ќарушение авторских прав


ѕоиск на сайте:

Ћучшие изречени€:

≈сли президенты не могут делать этого со своими женами, они делают это со своими странами © »осиф Ѕродский
==> читать все изречени€...

1538 - | 1493 -


© 2015-2024 lektsii.org -  онтакты - ѕоследнее добавление

√ен: 0.022 с.