Introduction to Software Engineering Introduction Muhammad Nasir m

  • Slides: 16
Download presentation
Introduction to Software Engineering Introduction Muhammad Nasir m. nasir@iiu. edu. pk

Introduction to Software Engineering Introduction Muhammad Nasir m. nasir@iiu. edu. pk

Outline n n n What is software What is Engineering What is Software Engineering

Outline n n n What is software What is Engineering What is Software Engineering Hardware vs. Software characteristics Types of software

What is Software ? Software is a set of instructions that directs a computer's

What is Software ? Software is a set of instructions that directs a computer's processor to perform specific operation(s) n

What is Software ? q Types of Software q Generic - developed to be

What is Software ? q Types of Software q Generic - developed to be sold to a range of different customers e. g. Application software such as Excel or Word. q Bespoke (custom) - developed for a single customer according to their specification

What is Engineering n Engineering is the application of Scientific, Economic, Social, and Practical

What is Engineering n Engineering is the application of Scientific, Economic, Social, and Practical knowledge in order to design, build, and maintain structures, machines, devices, systems, materials and processes.

What is software engineering? Definition by IEEE : n (1) The application of systematic,

What is software engineering? Definition by IEEE : n (1) The application of systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that is, the application of engineering to software. n (2) The study of approaches as in (1) above n Its a discipline that is concerned with all aspects of software production. n

Hardware vs. Software Hardware Software o Manufactured o Wear out o Built using components

Hardware vs. Software Hardware Software o Manufactured o Wear out o Built using components o Relatively simple o Developed/ Engineered o Obsolete o Custom built o Complex

Manufacturing vs. Development n n Once a hardware product has been manufactured, it is

Manufacturing vs. Development n n Once a hardware product has been manufactured, it is difficult or impossible to modify. In contrast, software products are routinely modified and upgraded.

Manufacturing vs. Development n n In hardware, hiring more people allows you to accomplish

Manufacturing vs. Development n n In hardware, hiring more people allows you to accomplish more work, but the same does not necessarily hold true in software engineering. Unlike hardware, software costs are concentrated in design rather than production.

Failure Curve for Hardware

Failure Curve for Hardware

Failure curve for Software

Failure curve for Software

Failure curve for Software n n When a hardware component wears out, it is

Failure curve for Software n n When a hardware component wears out, it is replaced by a spare part There are no software spare parts Every software failure indicates an error in design or in the process through which design was translated into machine executable code Therefore, software maintenance involves considerably more complexity

Component Based vs. Custom Built n n n Hardware products typically employ many standardized

Component Based vs. Custom Built n n n Hardware products typically employ many standardized design components. Most software continues to be custom built. The software industry does seem to be moving (slowly) toward componentbased construction.

Characteristics of Software n n n Software is developed or engineered; it is not

Characteristics of Software n n n Software is developed or engineered; it is not manufactured. Software does not “wear out” but it becomes Obsolete. Software continues to be custom built, as industry is moving toward component based construction.

Types of Software n n n System software Application software Engineering/scientific software Embedded software

Types of Software n n n System software Application software Engineering/scientific software Embedded software Web applications Artificial intelligence software

The End n Thanks For Listening

The End n Thanks For Listening