COMP 2007 R J Walters
COMP Introduction Try to place this course in context A bit of history “Engineering”?
COMP Software Engineering: Who cares? I do Its what this course is about I don’t really trust the way we make software these days It should lead to better software (I’m being paid to)
COMP Who cares? You do You need it to pass this course You need it for the group project, and your own project next year It’s what real developers get paid to do It might help you get a job I’ll be marking some of this course and COMP 2012
COMP What Am I talking about? Compare Software with Hardware Characteristics of the activity of building Software It is new It isn’t constrained by the “real world” It can be very big (complex)
COMP Where are we now? Clever systems are everywhere Many of them are a bit suspect Describing the way we build software as Engineering is still stretching things a bit
COMP How did we get into this mess? Initial concentration on hardware Complacency Tolerance Crisis? What crisis?
COMP Where have we been? Rats nest Machine language and assembler The flow-chart and the goto Structured programming Modules, dataflow, SSADM, Jackson (JSD) and all the rest Objects Java, UML
COMP A few asides “Proprietary” methods Formal methods Extreme programming Prototyping Component based systems
COMP Where will it end? OO might be it Or it might not Engineering software is what we ought to be doing
COMP Engineering? Build things in such a way that we know: It will do the job and how reliable it will be How much it will cost and how long it will take to make What we did and how to make another (better) one
COMP Engineering? There is more to Software Engineering than the programming paradigm Requirements and Specification Design Testing Maintenance Documentation Process Standards?
COMP To sum up Software Engineering is something we have to worry about It is more than the programming language we use It is what enables teams to build big systems We don’t have all the answers
COMP Questions? Suggested reading Your UML reference Software Engineering, 7th Edition, Ian Sommerville Software Engineering: A Practitioner's Approach, Roger Pressman
COMP