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

Надежность программного средства.

Программное средство. Понятие правильной программы.

Надежное программное средство как продукт технологии программирования.

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

Программа или логически связанная совокупность программ на носителях данных, снабженная программной документацией, называется программным средством (ПС) – ДАЛЕЕ будем называть ПС или программа.

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

 

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

«Разумное ожидание» пользователя формируется на основании документации по применению этой программы.

 

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

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

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

 

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

· В технологии программирования акцент делается на изучении процессов разработки ПС (технологических процессов) и порядок их прохождения - т.е. методы и инструментальные средства разработки.

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

 

Имея ввиду, что «надежность» является неотъемлемым атрибутом ПС, мы будем рассматривать технологию программирования как технологию разработки надежных ПС. Это означает, что

· мы будем рассматривать все процессы разработки ПС, начиная с момента возникновения замысла ПС;

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

· в качестве продукта технологии программирования принимается надежная (т.е. далеко не всегда правильная) ПС.