ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 04.01.2026
Просмотров: 709
Скачиваний: 0
5.2. Анализ вариантов создания и развития ИС
Для создания ИС могут применяться два подхода: создание своими силами или заказ стороннему изготовителю. Аргументом в пользу первого подхода является то, что свои специалисты лучше знают условия и традиции конкретного предприятия, они всегда рядом и могут непосредственно контактировать с любым работником, за их работу не нужно платить тех больших денег, которые требуют за готовую систему сторонние изготовители, и т. д. Последний аргумент является исключительно весомым, поскольку оплата труда на предприятии обычно уступает оплате труда в специализированных фирмах.
Однако полная стоимость владения ИС во втором варианте может оказаться ниже.
В таких условиях представляет интерес систематизированное сопоставление условий создания или развития ИС в разных вариантах ее формирования, т. е. при создании ИС своими собственными силами или с привлечением сторонних специалистов и организаций (табл. 5.1). Этот анализ может быть проведен на основе рассмотрения особенностей комплекса средств обеспечения по этапам жизненного цикла («айсберг»).
Информационная система как изделие в разных вариантах тоже имеет существенные отличия.
Следует отметить, что в настоящее время преобладающим является создание ИС путем адаптации типовых программных продуктов, выпускаемых профессиональными изготовителями.
Таблица 5.1
Анализ вариантов создания и развития ИС
Средства обеспечения ИС |
Особенности средств обеспечения ИС по вариантам |
|
|
|||||||||
|
|
|
|
|
формирования |
|
|
|
|
|||
|
собственными силами |
|
с посторонним участием |
|
||||||||
|
Специальные |
|
|
средства |
Изделие |
снабжается |
специ- |
|||||
|
для регулярного |
|
обслу- |
альными |
средствами |
|
об- |
|||||
|
живания практически |
не |
служивания для проведения ре- |
|||||||||
Обслуживание |
создаются; какую-то |
роль |
гулярных мероприятий по обес- |
|||||||||
могут |
выполнять |
|
«домаш- |
печению |
работоспособности, |
|||||||
|
ние |
заготовки» программи- |
которые |
|
фирма |
целе- |
||||||
|
стов, если они имеют опыт |
направленно |
создает |
и |
от- |
|||||||
|
работы в данной области |
|
рабатывает; они входят в ком- |
|||||||||
|
|
|
|
|
|
|
|
плект поставки |
|
|
||
|
Проект |
как |
таковой |
мо- |
Выпускается |
и поставляется |
||||||
|
жет вообще |
не |
выпускать- |
заказчику |
проектная докумен- |
|||||||
|
ся, его роль обычно играют |
тация в полном объеме в соот- |
||||||||||
Проектирование |
рабочие материалы про- |
ветствии |
со |
спецификациями, |
||||||||
граммистов; до начала работ |
требованиями |
стандартов |
и |
|||||||||
|
над системой, как правило, |
традициями |
фирмы; |
может |
||||||||
|
никакой |
проектной доку- |
быть рассмотрена при заключе- |
|||||||||
|
ментации на предприятии не |
нии договора на поставку сис- |
||||||||||
|
имеется |
|
|
|
|
|
темы |
|
|
|
|
|
60
Продолжение таблицы 5.1
|
Один-единственный экземп- |
Выпуск модулей ИС на основе |
|||||||||||||
|
ляр изготавливается во время |
имеющихся |
технологических |
||||||||||||
Изготовление |
проектирования, |
т. е. кус- |
средств, может быть даже се- |
||||||||||||
|
тарно, |
на |
несовершенной |
рийный, со всеми требования- |
|||||||||||
|
технологической базе |
|
ми к качеству |
|
|
|
|
||||||||
|
Работы по поддержанию ра- |
Обычно |
|
формируется |
|
спе- |
|||||||||
|
ботоспособности |
элементов |
циальная служба для работы с |
||||||||||||
|
ИС и системы |
в |
целом |
вы- |
потребителями (ответы на во- |
||||||||||
|
полняют программисты, |
не |
просы, предупреждения наре- |
||||||||||||
Сопровождение |
имея |
специализированных |
каний и т. д.); в комплект по- |
||||||||||||
|
средств |
|
|
|
|
|
|
ставки ИС включаются специ- |
|||||||
|
|
|
|
|
|
|
|
альные «фирменные» средства |
|||||||
|
|
|
|
|
|
|
|
и инструкции |
для |
проведения |
|||||
|
|
|
|
|
|
|
|
работ по сопровождению |
|
||||||
|
Просто установка техниче- |
Готовые |
модули системы |
пла- |
|||||||||||
|
ских средств и программ на |
номерно устанавливаются у по- |
|||||||||||||
|
рабочих |
местах, |
в |
лучшем |
требителя |
специализированной |
|||||||||
Внедрение |
случае |
– |
при |
некотором |
бригадой, |
которая |
демонстри- |
||||||||
участии |
будущих |
пользова- |
рует как собственно изделие по |
||||||||||||
|
|||||||||||||||
|
телей; оформление акта сда- |
полной программе, так и все |
|||||||||||||
|
чи-приемки |
тоже |
не всегда |
средства его обеспечения |
|
||||||||||
|
имеет место |
|
|
|
|
|
|
|
|
|
|
|
|
||
Освоение |
Обучение |
и консультации |
Выведение системы на проект- |
||||||||||||
|
пользователя |
осуществляют |
ную мощность или производи- |
||||||||||||
|
программисты, |
для |
которых |
тельность с участием персонала |
|||||||||||
|
эта работа не является ос- |
потребителя |
осуществляется |
||||||||||||
|
новной и привлекательной |
путем реализации заранее отра- |
|||||||||||||
|
|
|
|
|
|
|
|
ботанной |
последовательности |
||||||
|
|
|
|
|
|
|
|
мероприятий, как техноло- |
|||||||
|
|
|
|
|
|
|
|
гических, так и кадровых |
|
||||||
Поддержка |
Поддержку |
|
системы |
на |
Фирма |
заинтересована |
в |
со- |
|||||||
|
предприятии могут осущест- |
хранении клиента, поэтому она |
|||||||||||||
|
влять в основном программи- |
своевременно |
извещает |
его о |
|||||||||||
|
сты-разработчики, опираясь |
направлениях |
развития |
систе- |
|||||||||||
|
на свой и чужой опыт; уход |
мы, о тех возможностях, кото- |
|||||||||||||
|
программиста-разработчика |
рые ожидают клиента в даль- |
|||||||||||||
|
с предприятия в этих усло- |
нейшем, а также о замеченных |
|||||||||||||
|
виях может обернуться для |
недоработках и ошибках и пу- |
|||||||||||||
|
ИС катастрофой |
|
|
|
тях их преодоления; ухода про- |
||||||||||
|
|
|
|
|
|
|
|
граммистов с |
фирмы |
клиент |
|||||
|
|
|
|
|
|
|
|
может даже и не заметить |
|
||||||
Испытания |
Создание специальных |
ис- |
Специализированная |
фирма |
|||||||||||
|
пытательных |
средств |
вряд |
постепенно |
создает |
развитую |
|||||||||
|
ли будет |
осуществлено в |
базу для разнообразных испы- |
||||||||||||
|
ощутимом |
объеме; |
скорее |
таний своих |
продуктов, |
по- |
|||||||||
|
всего это будут минималь- |
скольку это позволяет повы- |
|||||||||||||
|
ные возможности, |
которыми |
шать и гарантировать их каче- |
||||||||||||
|
располагают программисты в |
ство; она снабжает и потреби- |
|||||||||||||
|
силу каких-то |
случайных |
теля набором соответствующих |
||||||||||||
|
факторов |
|
|
|
|
|
средств |
|
|
|
|
|
|
||
61
5.3. Функциональные роли в коллективе разработчиков
Функции, выполняемые разработчиками в проекте подразделяются на организационные и производственные. Первые создают условия для выполнения проектных заданий, вторые непосредственно связаны с этими заданиями.
Согласно концепции Microsoft Solution Framework (MSF) выделяются сле-
дующие группы функций – так называемые области функциональной специализации (functional area). Определено шесть ролевых кластеров, которые соответствующим образом структурируют проектные функции разработчиков
(рис. 2.1).
•Управление продуктом (product management). Ключевая цель кластера – обеспечивать удовлетворение интересов заказчика. Для ее достижения кластер должен содержать следующие области компетенции:
– планирование продукта;
– планирование доходов;
– представление интересов заказчика;
– маркетинг.
•Управление программой (program management). Задача – обеспечить реализацию решения в рамках ограничений проекта, что может рассматриваться как удовлетворение требований к бюджету проекта и к его результату. Области компетенции кластера:
– управление проектом;
– выработка архитектуры решения;
– контроль производственного процесса;
– административные службы.
•Разработка (development). Первостепенной задачей кластера является построение решения в соответствии со спецификацией. Области компетенции кластера:
– технологическое консультирование;
– проектирование и осуществление реализации;
– разработка приложений;
– разработка инфраструктуры.
•Тестирование (test). Задача кластера – одобрение выпуска продукта только после того, как все дефекты выявлены и устранены. Области компетенции кластера:
– разработка тестов;
– отчетность о тестах;
– планирование тестов.
•Удовлетворение потребителя (user experience). Цель кластера – по-
вышение эффективности использования продукта. Области компетенции кластера:
62
–общедоступность (возможности работы для людей с недостатками зрения, слуха и др.);
–интернационализация (эксплуатация в иноязычных средах);
–обеспечение технической поддержки;
–обучение пользователей;
–удобство эксплуатации (эргономика);
–графический дизайн.
•Управление выпуском (release management). Задача кластера – бес-
препятственное внедрение и сопровождение продукта. Области компетенции кластера:
– инфраструктура (infrastructure);
– сопровождение (support);
– бизнес-процессы (operations);
– управление выпуском готового продукта (commercial release management).
Центр объектно-ориентированной технологии компании IBM предлагает свою ролевую структуру проекта. Эта структура включает достаточно полный перечень типичных ролей, согласованный со многими реальными дисциплинами развития программных проектов. В то же время она представляет роли разработчиков в организационном контексте, т. е. рассматривает не только разработчиков, но и тех, кто, не участвуя в проекте в качестве исполнителей, оказывает влияние на постановку задач проекта, на выделение ресурсов и обеспечение осуществимости развития работ. В представленном перечне характеристика каждой роли, по сути, задает круг родственных организационных
ипроизводственных функций, которые объединяются с целью определить роль.
•Заказчик (Customer) – реально существующий (в организации, которой подчинена команда, или вне ее) инициатор разработки или кто-либо иной, уполномоченный принимать результаты (как текущие, так и окончательные) разработки.
•Планировщик ресурсов (Planner) – выдвигает и координирует требования к проектам в организации, осуществляющей данную разработку, а также развивает и направляет план выполнения проекта с точки зрения организации.
•Менеджер проекта (Project Manager) – отвечает за развитие проекта в целом, гарантирует, что распределение заданий и ресурсов позволяет выполнить проект, что работы и предъявление результатов идут по графику, что результаты соответствуют требованиям. В рамках этих функций менеджер проекта взаимодействует с заказчиком и планировщиком ресурсов.
•Руководитель команды (Team Leader) – производит техническое руководство командой в процессе выполнения проекта. Для больших проектов возможно привлечение нескольких руководителей подкоманд, отвечающих за решение частных задач.
63
•Архитектор (Architect) – отвечает за проектирование архитектуры системы, согласовывает развитие работ, связанных с проектом.
•Проектировщик подсистемы (Designer) – отвечает за проектирование подсистемы или категории классов, определяет реализацию и интерфейсы с другими подсистемами.
•Эксперт предметной области (Domain Expert) – отвечает за изучение сферы приложения, поддерживает направленность проекта на решение задач данной области.
•Разработчик (Developer) – реализует проектируемые компоненты, владеет и создает специфичные классы и методы, осуществляет кодирование и автономное тестирование, строит продукт. Это широкое понятие, которое может подразделяться на специальные роли (например, разработчик классов). В зависимости от сложности проекта команда может включать различное число разработчиков.
•Разработчик информационной поддержки (Information Developer) –
создает документацию, сопровождающую продукт, когда выпускается версия. Включаемые в нее инсталляционные материалы, равно как ссылочные и учебные, а также материалы помощи предоставляются на бумажных и машинных носителях. Для сложных проектов возможно распределение этих задач между несколькими разработчиками информационной поддержки.
•Специалист по пользовательскому интерфейсу (Human Factors Engineer) – отвечает за удобство применения системы. Работает с заказчиком, чтобы удостовериться, что пользовательский интерфейс удовлетворяет требованиям.
•Тестировщик (Tester) – проверяет функциональность, качество и эффективность продукта. Строит и исполняет тесты для каждой фазы развития проекта.
•Библиотекарь (Librarian) – отвечает за создание и ведение общей библиотеки проекта, которая содержит все проектные рабочие продукты, а также за соответствие рабочих продуктов стандартам.
Первые две позиции в приведенном перечне отведены заказчику и планировщику ресурсов, которые имеют лишь внешнее отношение к разработке проекта, – они не являются членами команды. Заказчик – это лицо, заинтересованное в получении результатов. Планировщик решает задачи распределения финансовых, трудовых и технических ресурсов для разных проектов внутри фирмы. При правильной организации разработки с этими действующими лицами приходится сталкиваться лишь менеджеру проекта.
В заключение приведем перечень ключевых ролей, характеризующих наиболее типичные ситуации для программных проектов:
•архитектор проекта;
•проектировщики подсистем;
•руководители команд разработки подсистем;
•специалист по пользовательскому интерфейсу;
•эксперт предметной области.
64