Russian ABAP Developer's Club Forum Index -> Blogs -> vga's blog

Users browsing this blog: None

Шаблоны документов: Запрос на разработку (Requirements)


Wed Jan 30, 2008 11:00 am

[ Category: Шаблоны документов ]

Рассмотрим примерное содержание Requirements (Запрос на разработку)- документа, подготавливаемого заказчиком.
Титульный лист

<Project>

Requirements

Версия 1.0

Дата создания


Подготовлен:
Фамилия И. О.
E-mail:

Контактная информация:
Фамилия И. О.
E-mail:


Полное название организации
Адрес:
Телефон:

1. Введение

1.1 Назначение
Документ Requirements описывает поведение <Project> с пользовательской точки зрения, включая подробное описание требований к продукту. Наряду с функциональными требованиями, он также описывает и нефункциональные, а также проектные требования и ограничения и другие факторы, необходимые для предоставления полного и ясного описания требований к продукту.

1.2 Предмет
Предметом данного документа является продукт <Project>, а также его особенности и требования к нему.

1.3 Термины, определения и соглашения
1.3.1 Аббревиатуры
<INSERT>

1.3.2 Соглашения
<INSERT>

1.4 Ссылки
[Данный подраздел предоставляет полный список всех документов, на которые имеется ссылка где-либо в Requirements.]

НомерНазваниеДата и ИздательствоАвторКомментарий
-----


1.5 Влияние на бизнес-процессы
<INSERT>
[В этом разделе указывается на какие процессы и как влияет данный проект. По одному подразделу на каждый процесс.]

2. Бизнес-требования

2.1 Поток бизнес-процесса
<INSERT>
[Поместите здесь диаграмму бизнес-процесса.]

2.2 Описание бизнес-процесса
<INSERT>
[Предоставьте подробное описание бизнес-процесса, представленного на диаграмме 2.1]

2.3 Функциональные требования
<INSERT>
[Опишите с точки зрения бизнеса (т.е. что должно быть разработано) что есть требование. Здесь необходимо кратко описать желаемые возможности продукта.]

2.4 Бизнес-правила
<INSERT>
[Опишите все необходимые бизнес-правила и расчеты.]

2.5 Безопасность
<INSERT>
[Определите все вопросы безопасности: безопасность данных, системы, сети, физической и проч. безопасности]

2.6 Требования к данным
<INSERT>
[Определите все данные, их описания, режимы редактирования, источники, маппирование данных на другие базы и т.д.]

2.7 Требования к преобразованию данных
<INSERT>
[Определите все данные, преобразование которых может потребоваться и их источники, включая маппирование и редактирование]

2.8 Требования к пользовательской документации
<INSERT>
[Описывает реализацию он-лайновой пользовательской документации (при ее наличии), помощи, заметок "help about" и т.д.]

2.9 Требования, которые, возможно, появятся в будущем
<INSERT>
[Опишите то, что не было включено к этому моменту.]

2.10 Зависимости
<INSERT>
[Укажите от чего зависит данная система, ее данные, проект и прочие объекты проекта.]

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

<INSERT>
[Этот раздел описывает главные элементы процесса разработки продукта. Уровень детализации должен быть выбран таким образом, чтобы заказчик понимал, что он получает. У разработчиков же, должно быть достаточно информации для того, чтобы начать детальную разработку проекта системы.]

3.1 Обзор используемого программного обеспечения и обоснование причин выбора
<INSERT>
[Этот раздел описывает программные пакеты и приложения, которые необходимо использовать при разработке, а также еще раз описывает причины выбора данных продуктов.
Нижеследующий процесс может быть использован для оценки программного обеспечения.
- Определите всех потенциальных производителей.
- Создайте список функциональности пакета и оцените каждую функцию.
- Создайте матрицу функциональностей по производителю и проставьте значение каждой функции..
- Сравните цены производителей, цены реализации, приобретения права собственности на пакет, стоимость адаптации.
- Определите финансовое состояние производителя.
- Проверьте ссылки на производителей.
- Определите отношения <Купить> (все решение пакетное, часть решения пакетная, пакет является ядром системы).
Подробнее производители рассматриваются ниже:]

Наименование производителяНазвание продуктаWeb AddressКонтактТелефон
-----


3.2 Экранные виды
<INSERT>
[Здесь нужно привести видение пользовательского интерфейса с точки зрения пользователя. Включая следующие пункты для каждого экрана:
- Расположение.
- Экранные области.
- Меню.
- Проверки.
- Опции.
- Эффекты нажатия кнопок.
- Кнопки.
- Навигация.
- Buttons.]

3.3 Применимость
<INSERT>
[This section includes all those requirements that affect usability. For example,
- specify the required training time for a normal users and a power user to become productive at particular operations;
- specify measurable task times for typical tasks or base the new system's usability requirements on other systems that the users know and like;
- specify requirement to conform to common usability standards, such as IBM's CUA standards, Microsoft's GUI standards etc.]

3.4 Надежность
<INSERT>
[Requirements for reliability of the system should be specified here. Some suggestions follow:
- Availability-specify the percentage of time available ( xx.xx%), hours of use, maintenance access, degraded mode operations, and so on.
- Mean Time Between Failures (MTBF) - this is usually specified in hours, but it could also be specified in terms of days, months or years.
- Mean Time To Repair (MTTR)-how long is the system allowed to be out of operation after it has failed?
- Accuracy-specifies precision (resolution) and accuracy (by some known standard) that is required in the system's output.
- Maximum Bugs or Defect Rate-usually expressed in terms of bugs per thousand lines of code (bugs/KLOC) or bugs per function-point( bugs/function-point).
- Bugs or Defect Rate-categorized in terms of minor, significant, and critical bugs: the requirement(s) must define what is meant by a "critical" bug; for example, complete loss of data or a complete inability to use certain parts of the system's functionality.]

3.5 Производительность
<INSERT>
[The system's performance characteristics are outlined in this section. Include specific response times. Where applicable, reference related Use Cases by name.
- Response time for a transaction (average, maximum).
- Throughput, for example, transactions per second.
- Capacity, for example, the number of customers or transactions the system can accommodate.
- Degradation modes (what is the acceptable mode of operation when the system has been degraded in some manner).
- Resource utilization, such as memory, disk, communications, and so forth.]

3.6 Масштабируемость
<INSERT>
[Describe any transaction volumes, expected growth and what considerations are needed for scalability of the system.]

3.7 Удобство поддержки
<INSERT>
[This section indicates any requirements that will enhance the supportability or maintainability of the system being built, including coding standards, naming conventions, class libraries, maintenance access, and maintenance utilities.]

3.8 Требования к средствам разработки и производства
<INSERT>
[Identify all development and production hardware, operating systems, software and related information in detail.]

3.8.1 Среда разработки
<INSERT>

3.8.2 Среда производства
<INSERT>

3.8.3 Программное обеспечение для разработки
<INSERT>

4. Требования к персоналу

<INSERT>
[The following table contains a list of everyone who will play a role in the development of the system.]

ИмяОрганизацияРоль
---


5. Требования к поддержке

5.1 Бизнес-подготовка
<INSERT>
[What support business changes will be made as a result of implementation of the project.]

5.2 Системная подготовка
<INSERT>
[Hardware, OS, network, environment issues that need to be addressed.]

5.3 Обучние
<INSERT>
[What training will be done for business, IT, support, etc. and who will conduct training and who will create training materials.]

5.4 Поддержка
<INSERT>
[The following table contains a list of everyone who will play a role in the ongoing maintenance of the system following implementation.]

ИмяОрганизацияРоль
---


6. Планирование контрольных сроков

<INSERT>
[A high-level bullet list of major milestones. The file location of the detailed schedule if appropriate.]

7. Критерии удовлетворения бизнес-требований

<INSERT>
[Identify the criteria by which the business, project office, and support will deem the project a success and complete.]

8. Основные технические и бизнес-допущения

8.1 Основные бизнес-допущения
<INSERT>
[A bullet list of all assumptions made.]

8.2 Основные технические допущения
<INSERT>
[A bullet list of all assumptions made.]

9. Открытые вопросы
Список вопросов, которые все еще не разрешены..

ВопросРазрешить в срок доОтветственный
---


10. Утверждения
Person NameTitleApproval DateSignature
----


История изменений документа

DateVersionDescriptionAuthor
----



Posted By: vga    31 Comments    С уважением, vga

Trackbacks (0) Permalink

Ведение проектной документации при разработке ПО


Sat Jan 26, 2008 11:26 am

[ Category: Шаблоны документов ]
В Данной статье описываются основные этапы подготовки технической документации на разработку Программного обеспечения. В зависимости от сложности проекта и требований заказчика, часть документов может быть упущена или включать в одном документе несколько.

Итак, любая разработка начинается:

1. Requirements (Запрос на разработку). Создается заказчиком.
Описывает поведение разработки с пользовательской точки зрения, включая подробное описание требований к продукту. Наряду с функциональными требованиями, он также описывает и нефункциональные, а также проектные требования и ограничения и другие факторы, необходимые для предоставления полного и ясного описания требований к продукту. Дается краткое описание используемых бизнес-процессов, желаемые возможности продукта, требования к Функциональности, данным, безопасности, пользовательской документации, описываются зависимости.

2. Project Proposal (Предложение на разработку).
После изучение системы заказчика, разработчик выставляется подготовленное "Предложение на разработку". Документ содержит общие требования, описания и предложения в соответствии с теми характеристиками и решениями, которые могут быть использованы. Он содержит оценку проектных рисков и предложения по управлению этими рисками, решения возможных проблем, примерную оценку времени и ресурсов проекта. Данный документ является отправной точкой для начала процесса выбора фирмы-разработчика и утверждения проекта.

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

3. Functional Specification (Спецификация или Техническое задание (ТЗ).
Документ Functional Specification полностью описывает поведение проекта и как будут реализованы требования заказчика. Включает общее описание функциональности, надежности, производительности, безопасности, требования к данным и преобразованию данных, пользовательской документации и масштабируемости. Содержится подробное функциональное описание разработки, пользовательский и аппаратный интерфейсы, методы обработки ошибок, планирование работ, источники и преобразование данных, выходные формы и отчеты, ограничения и взаимные риски. Окончательная версия документа, включает исходные коды, справочники.

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

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

5. Documentation (Документирование). К моменту сдачи разработки заказчику, подготавливается Пользовательская документация.

Основной этап разработки закончен. В процессе эксплуатации создаются следующие документы:

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

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

7. Release Notes (Информация о версиях).
Данный документ предоставляет исчерпывающую информацию о релизе продукта, включая общее описание релиза, новые возможности продукта, известные ошибки, недоработки, ограничения.

В России применяются следующие ГОСТы на технические задания
- ГОСТ 2.114-95 Единая система конструкторской документации. Технические условия;
- ГОСТ 19.201-78 Единая система программной документации. Техническое задание. Требования к содержанию и оформлению;
- ГОСТ 34.602-89 Информационная технология. Комплекс стандартов на автоматизированные системы. Техническое задание на создание автоматизированной системы.

В следующих статьях я приведу подробное описание каждого из упомянутых здесь документов.

Posted By: vga    0 Comments    С уважением, vga

Trackbacks (0) Permalink


Blog Owner: vga
Contributors: (none)
Blog: View All Entries
Friends
Go: Back/Forward

Calendar

 «   <   »   >  November 2024
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30


Contact vga

Email
Send Email
Private Message
Send private message
MSN Messenger


Yahoo Messenger

AIM Address

ICQ Number

About vga

Joined
Thu Oct 04, 2007 8:22 pm

Location
Санкт-Петербург
Occupation

Interests

Blog

Blog Started
Thu Jan 24, 2008 10:11 am
Total entries
13
Blog Age
6148 days
Total replies
8
Visits
1910062

RSS

RSS Feed