Меню
Главная
Авторизация/Регистрация
 
Главная arrow Информатика arrow Архитектура и проектирование программных систем

Разработка предварительного внешнего проекта

Процесс внешнего проектирования

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

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

(5.3)

где ТЩ с 77?^ - часть функциональных требований, предъявляемых

к системе и определяющих пользовательский интерфейс; 77?^ а 77?Л -

полный набор функциональных требований, предъявляемых к программной системе; 77?Л - полный набор требований, предъявляемых к программной системе; 77?? = 77?; и77?,(/ ; 77?„у— нефункциональные требования, предъявляемые к системе; 57^ - внешние спецификации, определяющие пользовательский интерфейс; Ьхр - язык описания внешних спецификаций, определяющих пользовательский интерфейс системы.

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

Концептуальная целостность представляет собой меру единообразия способа взаимодействия с пользователем (т.е. меру однородности интерфейса пользователя). Система, лишенная концептуальной целостности, - это система, в основе которой нет единообразия. В результате такая система характеризуется сложным взаимодействием с пользователем и излишне сложной структурой.

В качестве примера рассмотрим распространенную программную систему MS Office. В ней пять основных компонентов: MS Word, MS Excel, MS PowerPoint, MS Access и MS Outlook. Освоив работу, например, с текстовым процессором, пользователь без особых затруднений работает и с другими программами. Это обеспечивается именно концептуальной целостностью системы MS Office, в которой интерфейсы пользователей различных компонентов практически одинаковы.

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

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

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

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

 
Если Вы заметили ошибку в тексте выделите слово и нажмите Shift + Enter
< Пред   СОДЕРЖАНИЕ   След >
 

Популярные страницы