Помощь      Поиск      Участники      Календарь      Новости
 Учебные Материалы      ВАЛтест     Фотогалерея Фотогалерея
 Правила форума      Виртуальные тренажеры      Мемуары


  Closed TopicStart new topicStart Poll

> (2006) Проекты разного масштаба, - правильная методика работы
dissector
Дата 20.03.2006 14:55
Quote Post




Unregistered












Все для проектировщиков и разработчиков технической документации - http://authorit.ru
Методические указания по разработке технических заданий, проектной и эксплуатационной документации на изделия, программные изделия и автоматизированные системы согласно требованиям ГОСТ. Образцы документов. Статьи. Форум - http://authorit.ru/forum
Добро пожаловать!
Top
Mike
Дата 14.04.2006 17:57
Quote Post
Offline



Абитуриент


Профиль
Группа: Выпускники
Сообщений: 16
Пользователь №: 687
Регистрация: 14.04.2006





Этот материал я публикую здесь по просьбе VAL'a.

Методики работы в проектах различного масштаба

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

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

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

«Мелкий проект»
Если задачу можно хорошо решить малой кровью, это прекрасно. Собственно, чем меньше затраты на решение задачи, тем лучше. Черты мелкого проекта на момент начала работ:
• Простая, ясно сформулированная задача
• Наличие аналогов, которые достаточно похожи на желаемый результат
• Заранее известные ограниченные ресурсы по деньгам (сотни долларов)
• Короткие (до месяца) сроки
Особенности исполнения:
• Разработка ведётся на основе компактного ТЗ, без проектирования
• Обычно исполняется одним человеком
• Используются типовые решения с минимальной адаптацией
• Этап внедрения не выделяется, ввиду тривиальности внедрения простого решения

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

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

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

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

Черты крупного проекта:
• Очень общая формулировка задачи
• Отсутствие близких аналогов, явная оригинальность разработки
• Неопределённые, в связи с длительной перспективой работ, ресурсы (от 5 – 7 тысяч долларов и выше)
• Средние (2 – 3 месяца) сроки первого этапа и явная направленность на длительное развитие проекта

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

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

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

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

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

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

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

Реализованы различные схемы внутренней передачи денег:
o по заявке с визированием или без,
o по факту, без заявок и визирования.
• Свёрстка остатков – служебная процедура подтверждения соответствия наличия денежных средств и информации об их наличии в системе.

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

На основе накопленной информации система позволяет строить различные отчёты, как, например:
• Остатки на счетах участников расчётов и групп участников расчётов.
• Оборот по статьям расходов
• Баланс платежей по контрактам
• …

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

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

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

Типичные области применения: новостные сайты, разнообразные порталы.

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

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

Следует отметить, что все материалы сайта, построенного с использованием контент – менеджера, имеют «человеколюбивы» URL, в адресной строке браузера никогда не появится URL вида http://www.somewhere.com/index.php?section_id=234&st_id=2134.

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

Требования к серверу:
• Веб – сервер Apache 1.3.12 и выше
• СУБД PostgreSQL 7.1.3. и выше
• PHP4

Экстранет – система учёта поставок
ВМТ является посредником для множества мелких поставщиков и небольшого количества крупных потребителей металлолома (металлургических комбинатов) в разных регионах России. Созданная для компании система позволяет отслеживать движение партий грузов по железной дороге (отправка и получение), движение денежных средств и состояние расчётов (оплата, поставка вперёд, оплата авансом и т.д.). Информацию в систему могут вносить как представители поставщиков и получателей, так и уполномоченные представители посредника.

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

Система недоступна для неавторизованного пользователя.

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

Возможности:
• Ведение каталога до 99 уровней вложенности
• Ведение разных описаний и шаблонов для разных категорий товаров
• Хранение и редактирование любого количества товаров
• Для описания товаров доступны до 30 текстовых и 30 числовых полей
• Оформление и хранение заказов
• Ведение различных способов оплаты и доставки товара по регионам
• Регистрация и авторизация постоянных клиентов
• Оплата пластиковой картой (интеграция с внешними процессинговыми центрами)
• Поддержка нескольких языков
• Интеграция с контент – менеджером
• Специальные возможности (по договорённости с клиентом)
• Широкие возможности по настройке

Требования к серверу:
• Веб – сервер Apache 1.3.12 и выше
• СУБД PostgreSQL 7.1.3. и выше
• PHP4

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

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

Для руководителей компании
• Доступ к полной информации о проектах, включая финансовую
• Интегральные отчёты о деятельности персонала и ходе проектов

Для менеджеров проектов
• Упорядочивание выдачи заданий исполнителям
• Автоматизация сбора информации о ходе проектов
• Построение отчётов с заданной степенью детализации на основе собираемых данных

Для исполнителей
• Планирование собственной деятельности
• Автоматизация отчётов, упорядочивающая отчёты и сводящая к минимуму накладные расходы

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


--------------------
Кто - то говорит мне, что я дьявол, кто - то говорит, что я пророк,
Я не собираюсь спорить с вами, я просто играю рок...
PMEmail Poster
Top
imago
Дата 15.04.2006 19:20
Quote Post
Offline



Старшекурсник
***

Профиль
Группа: Участники
Сообщений: 112
Пользователь №: 262
Регистрация: 3.04.2005





Mike
Где скатал, интересно?
Линк дай!
:)
PMEmail Poster
Top
Mike
Дата 7.05.2006 13:52
Quote Post
Offline



Абитуриент


Профиль
Группа: Выпускники
Сообщений: 16
Пользователь №: 687
Регистрация: 14.04.2006





Это дал мне VAL в бумажном виде, я сидел и в ворде всё это набивал...)))


--------------------
Кто - то говорит мне, что я дьявол, кто - то говорит, что я пророк,
Я не собираюсь спорить с вами, я просто играю рок...
PMEmail Poster
Top
VAL
Дата 17.05.2006 00:22
Quote Post
Offline



Мэтр, проФАН любви... proFAN of love
*****

Профиль
Группа: Администраторы
Сообщений: 37816
Пользователь №: 1
Регистрация: 6.03.2004





Mike
Спасибо!
Интересно материал ИМХО. Правда, имело смысл "разбить" эту статью на несколько сообщений. Для удобства чтения!

imago
А линк на эту ссылку уже не работает к сожалению....
;)


--------------------
www.valinfo.ru
Всегда... Always....
Quod licet jovi, non licet bovi!
PMEmail PosterUsers Website
Top
VAL
Дата 5.03.2009 17:14
Quote Post
Offline



Мэтр, проФАН любви... proFAN of love
*****

Профиль
Группа: Администраторы
Сообщений: 37816
Пользователь №: 1
Регистрация: 6.03.2004





Для студентов, которые занимаются "своей игрой" ИМХО - полезно!
:)


--------------------
www.valinfo.ru
Всегда... Always....
Quod licet jovi, non licet bovi!
PMEmail PosterUsers Website
Top
Лёвка
Дата 5.03.2009 17:24
Quote Post
Offline



Старшекурсник
***

Профиль
Группа: Гость
Сообщений: 209
Пользователь №: 7523
Регистрация: 14.02.2009





QUOTE
Для студентов, которые занимаются "своей игрой" ИМХО - полезно!


Полностью солгласен :sly:. Проект КП-09 рассматривается как средний проект?
PMEmail Poster
Top
VAL
Дата 5.03.2009 17:45
Quote Post
Offline



Мэтр, проФАН любви... proFAN of love
*****

Профиль
Группа: Администраторы
Сообщений: 37816
Пользователь №: 1
Регистрация: 6.03.2004





QUOTE
Проект КП-09 рассматривается как средний проект?

Ага. :)


--------------------
www.valinfo.ru
Всегда... Always....
Quod licet jovi, non licet bovi!
PMEmail PosterUsers Website
Top
VAL
Дата 11.01.2023 10:16
Quote Post
Offline



Мэтр, проФАН любви... proFAN of love
*****

Профиль
Группа: Администраторы
Сообщений: 37816
Пользователь №: 1
Регистрация: 6.03.2004





:doh:


--------------------
www.valinfo.ru
Всегда... Always....
Quod licet jovi, non licet bovi!
PMEmail PosterUsers Website
Top
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Topic Options Closed TopicStart new topicStart Poll