Somnuk Keretho, Assistant Professor Department of Computer Engineering Faculty of Engineering, Kasetsart University Email: sk@nontri.ku.ac.th URL: http://www.cpe.ku.ac.th/~sk
Somnuk Keretho/Kasetsart University
Outline of this presentation
• • • • • • Scope of Software Engineering Object-Oriented Software Development Software Process Software Life-Cycle Models Object Orientation Software Quality Assessment
Reference to Chapter 1/2/3 of “Software Engineering with JAVA”, S.R. Schach, McGraw-Hill, 1997.
2
Somnuk Keretho/Kasetsart University
Scope of Software Engineering
• Software engineering is a discipline whose aim is the production of fault-free software, that is delivered on time, within budget, and satisfies the user’s needs.
Somnuk Keretho/Kasetsart University
3
Scope of Software Engineering
• Historical Aspects:
– 1967, a NATO group coined the term “Software Engineering” – 1968 NATO Software Engineering Conference concurred that “Software production should be an engineering-like activity”. – Using philosophies and paradigms of established engineering disciplines to solve “Software Crisis: that the quality of software was generally unacceptably low and that deadlines and cost limits were not being met”.
Somnuk Keretho/Kasetsart University
4
Scope of Software Engineering
• Economic Aspects
– Software Engineering v.s. Computer Science
• The computer scientist investigates several ways to produce software, some good and some bad. • But the software engineer is interested in only those techniques that make sound economic sense. For example: A coding technique that can execute very efficiently but with higher maintenance cost may not be a good choice.
Somnuk Keretho/Kasetsart University
5
Scope of Software Engineering
• Maintenance Aspects
– Software Life Cycle / Software Process
• • • • • • • Requirements Phase Specification (Analysis) Phase Planning Phase Design Phase