Top Banner
Introduction to Software Engineering
24

Introduction to Software Engineering

Feb 11, 2016

Download

Documents

aleda

Introduction to Software Engineering. Topic Covered. What is software? Attribute of good S/w? Computer Software? What is Software Engineering? Evolving Role of Software Engg? Software Crisis? IEEE Software Engineering?. Software. - PowerPoint PPT Presentation
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: Introduction  to Software Engineering

Introduction to Software Engineering

Page 2: Introduction  to Software Engineering

Topic Covered• What is software?

• Attribute of good S/w?

• Computer Software?

• What is Software Engineering?

• Evolving Role of Software Engg?

• Software Crisis?

• IEEE Software Engineering?

Page 3: Introduction  to Software Engineering

Software

• Software is a set of items or objects that form a “configuration” that includes-

Programs DocumentsData ...The software

• Software-Provides good product with useful information. Transforms the data so that it can be more useful in a local context. Manages business information to enhance competitiveness. Provides a gateway to worldwide networks like internet.

Page 4: Introduction  to Software Engineering

Components of software

Software=Program+Documentation+Operating Procedures

Page 5: Introduction  to Software Engineering

What are the attributes of good software?

The software should deliver the required functionality and performance to the user and should be maintainable, dependable and acceptable.

Maintainability- Software must evolve to meet changing needs;

Dependability- Software must be trustworthy;

Efficiency- Software should not make wasteful use of system resources;

Acceptability- Software must accepted by the users for which it was designed.

Page 6: Introduction  to Software Engineering

Functionality to meet stated and implied need

Usability to be understood, learned and used

Reliability To maintain a specified level of performance

Portability To be adapted for different specified environment

Page 7: Introduction  to Software Engineering

Types of Software• Custom

For a specific customer

• Generic Sold on open market Often called

COTS (Commercial Off The Shelf)Shrink-wrapped

• Embedded Built into hardware Hard to change

Page 8: Introduction  to Software Engineering

Software

• When a software succeeds—when it meets the needs of the people who use it, when it performs flawlessly over a long period of time, when it is easy to modify and even easier to use—it can and does change things for the better.

Page 9: Introduction  to Software Engineering

Software

• But when software fails—when its users are dissatisfied, when it is error prone, when it is difficult to change and even harder to use—bad things can and do happen.

• We all want to build software that makes things better, avoiding the bad things that lurk in the shadow of failed efforts.

• To succeed, we need discipline when software is designed and built. We need an engineering approach.

Page 10: Introduction  to Software Engineering

Computer software• Become a driving force. • Engine that drives business decision making. • Serves as the basis for modern scientific investigation and engineering

problem solving. • A key factor that differentiates modern products and services. • It is embedded in systems of all kinds:

– transportation, – medical, – telecommunications, – military, – industrial processes, – entertainment, – office products, . . . (The list is almost endless. )

Page 11: Introduction  to Software Engineering

What is it?

• Computer software is the product that software engineers design and build.

• It encompasses programs that execute within a computer of any size and architecture, documents that encompass hard-copy and virtual forms, and data that combine numbers and text but also includes representations of pictorial, video, and audio information.

Page 12: Introduction  to Software Engineering

Who does it?

• Software engineers build it, and virtually everyone in the industrialized world uses it either directly or indirectly.

Page 13: Introduction  to Software Engineering

Why is it important?

• Because it affects nearly every aspect of our lives and has become pervasive in our commerce, our culture, and our everyday activities.

Page 14: Introduction  to Software Engineering

What are the steps?

• You build computer software like you build any successful product, by applying a process that leads to a high-quality result that meets the needs of the people who will use the product. You apply a software engineering approach.

Page 15: Introduction  to Software Engineering

What is the work product?

• From the point of view of a software engineer, the work product is the programs, documents, and data that are computer software.

• But from the user’s viewpoint, the work product is the resultant information that somehow makes the user’s world better.

Page 16: Introduction  to Software Engineering

Software Engineering Definition• The technology encompasses a process, a set of methods, and an

array of tools that we call software engineering.OR

• The process of solving customers’ problems by the systematic development and evolution of large, high-quality software systems within cost, time and other constraints.

OR• A discipline whose aim is the production of quality software,

software that is delivered on time, within budget, and that satisfies its requirements.

OR

Page 17: Introduction  to Software Engineering

Software Engineering Definition• Software engineering is an engineering discipline which is

concerned with all aspects of software production.

Software engineers should- • adopt a systematic and organized approach to their

work• use appropriate tools and techniques depending on

the problem to be solved,the development constraints and

• use the resources available

Page 18: Introduction  to Software Engineering

The Evolving Role of Software Engg

• Software delivers the most important product of our time—”information”.– 1960’s Early Years-Machine Code– 1970’s Project Years-High Level Language– 1980’s Process & Project Years-4th Gen Language– 1990’sProcess & Production Years-Object Oriented

Development– 2000’s Production Years-Object oriented Development &

Software Reuse

Page 19: Introduction  to Software Engineering

Software Crisis

• A software failure is a software project that has one or more of the following:– Over budget– Late– Does not satisfy user needs or expectations

Does not meet functional or performance requirementsDoes not meet quality requirements

Page 20: Introduction  to Software Engineering

Software Crisis

• “The construction of new software, which is pleasing to both user and buyer and does not contain errors, is an unexpectedly hard problem”.

• It is perhaps the most difficult problem in engineering today.

• Referred to as the “software crisis,” it has become the longest continuing crisis in the engineering world, and it continues unabated.”

Page 21: Introduction  to Software Engineering

What is causing software crisis?• Software requirements do not adequately describe user

needs or customer expectations.• Project planning is frequently unrealistic, incomplete, or

ignored.• Project cost and schedule estimates are underestimated or

established by management edict.• Software quality is difficult to specify, design, and build-to.• Software development progress is difficult to see, progress is

often unknown.• Changes in requirements are not accompanied by changes in

software plans.• Design is changed without changing requirements.• Standards are not used or documented.

Page 22: Introduction  to Software Engineering

Effort, Software Size, & Complexity

Page 23: Introduction  to Software Engineering

IEEE Software Engineering Exam (Certified Software Development Professional)

• http://www.computer.org/certification/• Before taking exam, candidate needs-– At least a B.S. degree– A minimum of 9000 hours of software engineering

experience– Must adhere to code of ethics

• Exam is 3.5 hours and is 180 multiple choice questions.• Exam costs $450.• Industry group prepares exam questions.

Page 24: Introduction  to Software Engineering

END