+ All Categories
Home > Documents > Introduction to Software Engineering. Topic Covered What is software? Attribute of good S/w?...

Introduction to Software Engineering. Topic Covered What is software? Attribute of good S/w?...

Date post: 16-Jan-2016
Category:
Upload: darren-conley
View: 218 times
Download: 0 times
Share this document with a friend
24
Introduction to Software Engineering
Transcript
Page 1: Introduction to Software Engineering. Topic Covered What is software? Attribute of good S/w? Computer Software? What is Software Engineering? Evolving.

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.

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. Topic Covered What is software? Attribute of good S/w? Computer Software? What is Software Engineering? Evolving.

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. Topic Covered What is software? Attribute of good S/w? Computer Software? What is Software Engineering? Evolving.

Components of software

Software=Program+Documentation+Operating Procedures

Page 5: Introduction to Software Engineering. Topic Covered What is software? Attribute of good S/w? Computer Software? What is Software Engineering? Evolving.

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. Topic Covered What is software? Attribute of good S/w? Computer Software? What is Software Engineering? Evolving.

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. Topic Covered What is software? Attribute of good S/w? Computer Software? What is Software Engineering? Evolving.

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. Topic Covered What is software? Attribute of good S/w? Computer Software? What is Software Engineering? Evolving.

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. Topic Covered What is software? Attribute of good S/w? Computer Software? What is Software Engineering? Evolving.

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. Topic Covered What is software? Attribute of good S/w? Computer Software? What is Software Engineering? Evolving.

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. Topic Covered What is software? Attribute of good S/w? Computer Software? What is Software Engineering? Evolving.

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. Topic Covered What is software? Attribute of good S/w? Computer Software? What is Software Engineering? Evolving.

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. Topic Covered What is software? Attribute of good S/w? Computer Software? What is Software Engineering? Evolving.

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. Topic Covered What is software? Attribute of good S/w? Computer Software? What is Software Engineering? Evolving.

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. Topic Covered What is software? Attribute of good S/w? Computer Software? What is Software Engineering? Evolving.

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. Topic Covered What is software? Attribute of good S/w? Computer Software? What is Software Engineering? Evolving.

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. Topic Covered What is software? Attribute of good S/w? Computer Software? What is Software Engineering? Evolving.

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

onthe problem to be solved,the development constraints and

• use the resources available

Page 18: Introduction to Software Engineering. Topic Covered What is software? Attribute of good S/w? Computer Software? What is Software Engineering? Evolving.

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. Topic Covered What is software? Attribute of good S/w? Computer Software? What is Software Engineering? Evolving.

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. Topic Covered What is software? Attribute of good S/w? Computer Software? What is Software Engineering? Evolving.

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. Topic Covered What is software? Attribute of good S/w? Computer Software? What is Software Engineering? Evolving.

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. Topic Covered What is software? Attribute of good S/w? Computer Software? What is Software Engineering? Evolving.

Effort, Software Size, & Complexity

Page 23: Introduction to Software Engineering. Topic Covered What is software? Attribute of good S/w? Computer Software? What is Software Engineering? Evolving.

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. Topic Covered What is software? Attribute of good S/w? Computer Software? What is Software Engineering? Evolving.

END


Recommended