190 likes | 545 Views
WSEAS PLENARY SPEECH - IZMIR, 2004. Software Engineering: The Approach. Ayaz Isazadeh Department of Computer Science Tabriz University Tabriz, IRAN. Introduction... Outline. Introduction An Engineering Discipline Engineering vs. Science The Problems Formal Approaches
E N D
WSEAS PLENARY SPEECH - IZMIR, 2004 Software Engineering: The Approach Ayaz Isazadeh Department of Computer Science Tabriz University Tabriz, IRAN
Introduction...Outline • Introduction • An Engineering Discipline • Engineering vs. Science • The Problems • Formal Approaches • Education and Training • Representations • Conclusion
Introduction... • We are just starting to realize, The vast dimensions of the universe. The huge volume of information out there. The astronomical world of unknowns. • We are just starting consider, In our search for knowledge, Where we are. What we do know, and what we don’t
Introduction... We are just starting to conclude that, • We know almost nothing compared to the unknowns. • Our knowledge will be increasing exponentially. • The huge volume of information currently floating around, will be increasing dramatically! • The volume of information we will be dealing with, will be beyond our wildest imagination.
Introduction... • The search for information is structured as different sciences. • Who can deal with all the information in all sciences? The answer is: Software Engineering. • Software Engineering is, indeed, taking over all sciences. • No science can live without software engineering And...... that is the trend.
An Engineering Discipline • Software engineering is the most powerful of all sciences. • Software engineering is now, and will be more so in the future, providing the very infrastructures of all sciences. • That is, indeed, an extreme power for software engineering. Extreme power, however, requires extreme care. • That is why software engineering, today, Is an engineering discipline, with all the associated responsibilities.
Engineering vs. Science • A hot debate has started years ago and still going on, Is Software Engineering a science an engineering discipline? • The debate in some prestigious universities is still going on, whether Software Engineering belongs to the school of engineering or faculty of science • It is, in fact, interdisciplinary; it requires, Mathematics for analysis and proof of correctness, Engineering for costs, risks, and tradeoffs, Management for personnel, facilities, and progress. • Overall, I believe, it is an engineering discipline.
Problems • Verrazano Narrows Bridge in New York City, the largest suspension bridge ever built, completed within budget, just on target date. • IBM OS project, involving over 5000 man-years of work, completed, finally, well beyond the target date. • Why software engineering cannot be planned and completed like any other engineering project? • Because, Software engineering is more complex, and Software engineers are not as experienced. • Using formal methods may have the solution.
Formal Approaches • Accurate requirements specification is important. • For over 20 years, IBM received failure reports on CICS; it was developed without using a formal method. • Formal methods can be helpful. • Using formal methods is, indeed, difficult. • Visual formalisms can provide the solution.
Visual Formalisms • Harel: Statecharts, STATEMATE • Leveson: RSML (for TCAS) • Hendricksen: ASTD • Coleman: Objectcharts • Walters: STATEMATE for OO systems • Shaw: CRSM's • Selic: ROOMcharts • Jahanian: Modechart • UML and sound mathematical foundation (Glinz, France, Breu, Fernandez, Grosu and more) • Isazadeh: Viewcharts
Education and Training • Professionals in this field must be trained to Work on a sound foundation. Do mathematical analysis before design. Prove correctness of their work, before the work begins. Understand responsibilities associated with the work. • Universities, professional schools, and education centers, are responsible for training software engineers, prepared to face the challenging tasks ahead.
Representations...Definition • r is the (,t)-representation of e, if there exists a function and a point in time t, such that (e,t)=r. • is the representation function, • tis the representation time, • e is the representandum, and • ris the representation.
Representations...Examples On a set of positive integers, (n) = n2 -1(n2) = n “odd”, If nis odd (n) = “even”,Otherwise On a set of graphs,(G) = AM(G)
Representations... Perfect and Imperfect • The representation is perfect if -1is also a function. • Otherwise, the representation is imperfect. • Most representations are imperfect.
Representations... How do we see the world? • Representations are all we see. • All around us are nothing but imperfect representations. • Information age is, indeed, the representation age.
Representations...Viewcharts • Viewcharts is an example of a representationistic approach to software engineering… • The Viewcharts formalism works with the representations of a system, the views, and approaches the system by composing the views.
Conclusion • Software engineering is involved, deeply, in every science and technology. • Software engineering provides the very infrastructure of every science and technology. • With all these responsibilities, software engineering cannot afford to go wrong. • Software engineering, therefore, has no choice but to go formal, following a representationisticapproach. • And, that is the Approach...