introduction to software engineering
DESCRIPTION
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 PresentationTRANSCRIPT
![Page 1: Introduction to Software Engineering](https://reader035.vdocuments.mx/reader035/viewer/2022062323/56815d34550346895dcb336e/html5/thumbnails/1.jpg)
Introduction to Software Engineering
![Page 2: Introduction to Software Engineering](https://reader035.vdocuments.mx/reader035/viewer/2022062323/56815d34550346895dcb336e/html5/thumbnails/2.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062323/56815d34550346895dcb336e/html5/thumbnails/3.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062323/56815d34550346895dcb336e/html5/thumbnails/4.jpg)
Components of software
Software=Program+Documentation+Operating Procedures
![Page 5: Introduction to Software Engineering](https://reader035.vdocuments.mx/reader035/viewer/2022062323/56815d34550346895dcb336e/html5/thumbnails/5.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062323/56815d34550346895dcb336e/html5/thumbnails/6.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062323/56815d34550346895dcb336e/html5/thumbnails/7.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062323/56815d34550346895dcb336e/html5/thumbnails/8.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062323/56815d34550346895dcb336e/html5/thumbnails/9.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062323/56815d34550346895dcb336e/html5/thumbnails/10.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062323/56815d34550346895dcb336e/html5/thumbnails/11.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062323/56815d34550346895dcb336e/html5/thumbnails/12.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062323/56815d34550346895dcb336e/html5/thumbnails/13.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062323/56815d34550346895dcb336e/html5/thumbnails/14.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062323/56815d34550346895dcb336e/html5/thumbnails/15.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062323/56815d34550346895dcb336e/html5/thumbnails/16.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062323/56815d34550346895dcb336e/html5/thumbnails/17.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062323/56815d34550346895dcb336e/html5/thumbnails/18.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062323/56815d34550346895dcb336e/html5/thumbnails/19.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062323/56815d34550346895dcb336e/html5/thumbnails/20.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062323/56815d34550346895dcb336e/html5/thumbnails/21.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062323/56815d34550346895dcb336e/html5/thumbnails/22.jpg)
Effort, Software Size, & Complexity
![Page 23: Introduction to Software Engineering](https://reader035.vdocuments.mx/reader035/viewer/2022062323/56815d34550346895dcb336e/html5/thumbnails/23.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062323/56815d34550346895dcb336e/html5/thumbnails/24.jpg)
END