Top Banner
SOFTWARE ENGINEERING SOFTWARE ENGINEERING Chapter 1
32

SOFTWARE ENGINEERING Chapter 1. Introduction We can’t run the modern world without software. Why? Discussion….

Jan 03, 2016

Download

Documents

Job Strickland
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: SOFTWARE ENGINEERING Chapter 1. Introduction We can’t run the modern world without software. Why? Discussion….

SOFTWARE SOFTWARE ENGINEERINGENGINEERING

Chapter 1

Page 2: SOFTWARE ENGINEERING Chapter 1. Introduction We can’t run the modern world without software. Why? Discussion….

IntroductionIntroductionWe can’t run the modern world

without software.Why?Discussion….

Page 3: SOFTWARE ENGINEERING Chapter 1. Introduction We can’t run the modern world without software. Why? Discussion….

National infrastructures and utilities are controlled by computer-based systems and most electrical products include a computer and controlling software.

Industrial manufacturing and distribution is completely computerized

Entertainment, including the music industry, computer games, and film and television, is software intensive.

And many more…………..

Page 4: SOFTWARE ENGINEERING Chapter 1. Introduction We can’t run the modern world without software. Why? Discussion….

Therefore…Therefore…Software engineering is essential

for the functioning of national and international societies

Page 5: SOFTWARE ENGINEERING Chapter 1. Introduction We can’t run the modern world without software. Why? Discussion….

Software SystemsSoftware SystemsSoftware systems are abstract

and intangibleNot constrained by the properties

of materials, governed by physical laws, or by manufacturing processes.

This simplifies software engineering, as there are no natural limits

Page 6: SOFTWARE ENGINEERING Chapter 1. Introduction We can’t run the modern world without software. Why? Discussion….

But….But….Because of the lack of physical

constraints, software systems can quickly become extremely complex, difficult to understand, and expensive to change.

Page 7: SOFTWARE ENGINEERING Chapter 1. Introduction We can’t run the modern world without software. Why? Discussion….

History …History …The notion of software engineering

was first proposed in 1968 at a conference held to discuss

what was then called the 'software crisis'.

Early experience, informal software development was not good enough.

New techniques and methods were needed to control the complexity inherent in large software systems.

Page 8: SOFTWARE ENGINEERING Chapter 1. Introduction We can’t run the modern world without software. Why? Discussion….

1970s and 1980s, a variety of new software engineering techniques and methods were developed,◦ Such as structured programming,

information hiding and object-oriented development.

◦Tools and standard notations were developed.

Page 9: SOFTWARE ENGINEERING Chapter 1. Introduction We can’t run the modern world without software. Why? Discussion….

Software systemsSoftware systemsThere are many different types of

software systems,from simple embedded systems

to complex, worldwide information systems.

Page 10: SOFTWARE ENGINEERING Chapter 1. Introduction We can’t run the modern world without software. Why? Discussion….

Pointless to look for universal notations, methods, or techniques for software engineering

Why?◦Different types of software require

different approaches.Discuss organizational information

system Vs controller for a scientific instrument.

Page 11: SOFTWARE ENGINEERING Chapter 1. Introduction We can’t run the modern world without software. Why? Discussion….

Software failuresSoftware failuresMany reports of software projects

going wrong

Page 12: SOFTWARE ENGINEERING Chapter 1. Introduction We can’t run the modern world without software. Why? Discussion….

Factors for software Factors for software failuresfailuresIncreasing demandsLow expectations

Page 13: SOFTWARE ENGINEERING Chapter 1. Introduction We can’t run the modern world without software. Why? Discussion….

Increasing demandsIncreasing demands

Systems have to be built and delivered more quickly

Larger, more complex systemsNew capabilities that were previously

thought to be impossible.Software engineering methods cannot

cope these requirements

Page 14: SOFTWARE ENGINEERING Chapter 1. Introduction We can’t run the modern world without software. Why? Discussion….

SolutionSolutionNew software engineering

techniques have to be developed to meet new these new demand

Page 15: SOFTWARE ENGINEERING Chapter 1. Introduction We can’t run the modern world without software. Why? Discussion….

Low expectationsLow expectationsEasy to write computer programs

without using software engineering methods and techniques

Do not use software engineering methods for developments

These soft wares are often more expensive and less reliable

Page 16: SOFTWARE ENGINEERING Chapter 1. Introduction We can’t run the modern world without software. Why? Discussion….

SolutionSolutionBetter software engineering

education and training

Page 17: SOFTWARE ENGINEERING Chapter 1. Introduction We can’t run the modern world without software. Why? Discussion….

PROFESSIONAL PROFESSIONAL SOFTWARE SOFTWARE DEVELOPMENTDEVELOPMENT

Page 18: SOFTWARE ENGINEERING Chapter 1. Introduction We can’t run the modern world without software. Why? Discussion….

Software developmentSoftware developmentIndividual development/amateur

software development◦Develop software for own use

Professional software development

Page 19: SOFTWARE ENGINEERING Chapter 1. Introduction We can’t run the modern world without software. Why? Discussion….

Professional software?Professional software?Intended for use by someone

apart from its developerUsually developed by teams

rather than individuals. It is maintained and changed

throughout its lifeincludes techniques that support

program specification, design, and evolution and maintence

Page 20: SOFTWARE ENGINEERING Chapter 1. Introduction We can’t run the modern world without software. Why? Discussion….

What is a Software?What is a Software?Discussion

Page 21: SOFTWARE ENGINEERING Chapter 1. Introduction We can’t run the modern world without software. Why? Discussion….

Not just the programs themselves

But also all associated documentation and configuration data that is required to make these programs operate correctly

Its a package

Page 22: SOFTWARE ENGINEERING Chapter 1. Introduction We can’t run the modern world without software. Why? Discussion….

What is software What is software engineering?engineering?Software engineering is an

engineering discipline that is concerned with all aspects of software production.

Page 23: SOFTWARE ENGINEERING Chapter 1. Introduction We can’t run the modern world without software. Why? Discussion….

Software productsSoftware productsThere are two kinds of software

productsGeneric productsCustomized (or bespoke)

products

Page 24: SOFTWARE ENGINEERING Chapter 1. Introduction We can’t run the modern world without software. Why? Discussion….

Generic productsGeneric products

These are stand-alone systems that are produced by a development organization

Sold on the open market to any customer who is able to buy them.

Examples:◦word processors, drawing packages,

and project-management tools.

Page 25: SOFTWARE ENGINEERING Chapter 1. Introduction We can’t run the modern world without software. Why? Discussion….

Vertical applicationsVertical applicationsIt also includes so-called vertical

applications designed for some specific purpose

library information systems, accounting systemssystems for maintaining dental

records.

Page 26: SOFTWARE ENGINEERING Chapter 1. Introduction We can’t run the modern world without software. Why? Discussion….

Customized (or bespoke) Customized (or bespoke) productsproductsThese are systems that are

commissioned by a particular customer.

develops the software especially for that customer

Ex: systems written to support a particular business process,

Page 27: SOFTWARE ENGINEERING Chapter 1. Introduction We can’t run the modern world without software. Why? Discussion….

Generic Vs BespokeGeneric Vs BespokeGeneric products, the organization

that develops the software controls the software specification.

For custom products, the specification is usually developed and controlled by the organization that is buying the software. ◦The software developers must work to

that specification.

Page 28: SOFTWARE ENGINEERING Chapter 1. Introduction We can’t run the modern world without software. Why? Discussion….

But Now…But Now…Distinction between these

system, product types is becoming increasingly blurred.

Why?Generic product as a base, which

is then adapted to suit the requirements of a customer.

Example: SAP for ERP Systems

Page 29: SOFTWARE ENGINEERING Chapter 1. Introduction We can’t run the modern world without software. Why? Discussion….

Other types of software?Other types of software?Based on its use and purposeSystem SoftwareApplication Software

Page 30: SOFTWARE ENGINEERING Chapter 1. Introduction We can’t run the modern world without software. Why? Discussion….

System SoftwareSystem Software

Collection of programs written to service other programs

Directly control hardware resources and support the operation of application software◦Operating systems◦Program translators: Compilers and

interpreters◦Utility Software

Page 31: SOFTWARE ENGINEERING Chapter 1. Introduction We can’t run the modern world without software. Why? Discussion….

Application SoftwareApplication SoftwareServes the user requirement in

particular application domainWord processing: MS WORD 2007Spreadsheet :MS EXCEL 2007

Page 32: SOFTWARE ENGINEERING Chapter 1. Introduction We can’t run the modern world without software. Why? Discussion….

THANK YOUTHANK YOU