Types of Software Differences among custom generic and embedded software Custom Generic E meade Number of copies in use Ow medium Total processing power low high medium devoted to running this type oI SoFtware Worldwide annual high medium low development effort www.oseng.com O Lethbridge/Laganiere 2001 Chapter 1: Software and Software Engineering 6
© Lethbridge/Laganière 2001 Chapter 1: Software and Software Engineering 6 Types of Software Differences among custom, generic and embedded software Custom Generic Embedded Number of copies in use low medium high Total processing power devoted to running this type of software low high medium Worldwide annual development effort high medium low
Types of Software Real time software E.g. control and monitoring systems Must react immediately Safety often a concern Data processing software Used to run businesses Accuracy and security of data are key Some software has both aspects www.oseng.com O Lethbridge/Laganiere 2001 Chapter 1: Software and Software Engineering
© Lethbridge/Laganière 2001 Chapter 1: Software and Software Engineering 7 Types of Software Real time software • E.g. control and monitoring systems • Must react immediately • Safety often a concern Data processing software • Used to run businesses • Accuracy and security of data are key Some software has both aspects
2 What is Software engineering? The process of solving customers'problems by the systematic development and evolution of large, high- quality software systems within cost, time and other constraints Solving customers'problems This is the goal of software engineering Sometimes the solution is to buy, not build Adding unnecessary features does not help solve the problem Software engineers must communicate effectively to identify and understand the problem www.oseng.com O Lethbridge/Laganiere 2001 Chapter 1: Software and Software Engineering 8
© Lethbridge/Laganière 2001 Chapter 1: Software and Software Engineering 8 1.2 What is Software Engineering?... The process of solving customers’ problems by the systematic development and evolution of large, highquality software systems within cost, time and other constraints Solving customers’ problems • This is the goal of software engineering • Sometimes the solution is to buy, not build • Adding unnecessary features does not help solve the problem • Software engineers must communicate effectively to identify and understand the problem
What is Software Engineering? Systematic development and evolution An engineering process involves applying well understood techniques in a organized and disciplined way Many well-accepted practices have been formally standardized - e.g. by the Ieee or Iso Most development work is evolution Large, high quality software systems Software engineering techniques are needed because large systems cannot be completely understood by one person Teamwork and co-ordination are required Key challenge: Dividing up the work and ensuring that the parts of the system work properly together The end-product that is produced must be of sufficient quality www.oseng.com O Lethbridge/Laganiere 2001 Chapter 1: Software and Software Engineering
© Lethbridge/Laganière 2001 Chapter 1: Software and Software Engineering 9 What is Software Engineering?… Systematic development and evolution • An engineering process involves applying well understood techniques in a organized and disciplined way • Many well-accepted practices have been formally standardized —e.g. by the IEEE or ISO • Most development work is evolution Large, high quality software systems • Software engineering techniques are needed because large systems cannot be completely understood by one person • Teamwork and co-ordination are required • Key challenge: Dividing up the work and ensuring that the parts of the system work properly together • The end-product that is produced must be of sufficient quality