logo
lekciya_8

4. Технологии производства программного обеспечения

Технологии (с греческого: ремесло + наука) - совокупность знаний о способах и средствах проведении производственных процессов.

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

В другом случае разрабатывается очень сложное программное обеспечение, предназначенное для функциони­рования в реальном масштабе времени и требующее трудозатрат объемам в тысячи человеко-часов.

Эти две взаимно-противоположные ситуации характеризуются различной степенью формализации и проведении процесса разра­ботки программных средств.

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

Под технологией разработки программного обеспечения (ТРПО) понимается совокупность обобщенных и систематизированных знаний, или наука об оптимальных способах (приемах) про­ведения процесса разработки программного обеспечения, обеспечивающего в заданных условиях получение программной про­дукции с заданными свойствами.

Технология разработки программного обеспечения предс­тавляет собой инженерный подход к разработке программных средств ЭВМ, охватывающий методологию программирования, проблемы обеспечения надежности программ, оценки рабочих характеристик и качества проектов.

Технология разработки программного обеспечения рассмат­ривает вопросы управления проектированием систем програм­много обеспечения, а также средства и стандарты разработки программ.

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

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

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

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

- Вести постоянный контроль и обеспечение качества прог­рамм.

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

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

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

- Технология разработки программного обеспечения и средст­ва ее поддержки (автоматизации) должны обеспечивать целе­направленную работу, прежде всего коллектива программистов, а не отдельных личностей. Она должна побуждать коллектив ра­ботать только правильно и слаженно; должна автоматически блокировать любые не санкционированные технологией действия.

- Необходимо вести аккуратное документирование всех эта­пов разработки. Документация должна также заноситься и хра­ниться на магнитных носителях. Доступ к этой информации должен быть открытым, простым и автоматизированным.

- Работа пользователя должна обеспечиваться развитой информационно-справочной системой.

- Средства автоматизации технологии должны охватывать все этапы работы коллектива программистов.

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

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