جزییات کتاب
“Professional engineers can often be distinguished from other designers by the engineers’ ability to use mathematical models to describe and 1 analyze their products.” This observation by Parnas describes the de facto professional standards in all classical engineering disciplines (civil, mechanical, electrical, etc.). Unf- tunately, it is in sharp contrast with current (industrial) practice in software design, where mathematical models are hardly used at all, even by those who, 2 in Holloway’s words “aspire to be engineers.” The rare exceptions are certain critical applications, where mathematical techniques are used under the general name formal methods. Yet,thesamecharacteristicsthatmakeformalmethodsanecessityincritical applicationsmakethemalsoadvantageousineverydaysoftwaredesignatvarious levels from design e?ciency to software quality. Why, then, is education failing with respect to formal methods? – failing to convince students, academics and practitioners alike that formal methods are truly pragmatic; – failing to overcome a phobia of formality and mathematics; – failing to provide students with the basic skills and understanding required toadoptamoremathematicalandlogicalapproachtosoftwaredevelopment. Until education takes these failings seriously, formal methods will be an obscure byway in software engineering, which in turn will remain severely impoverished as a result.