1 / 24

Introduction to Software Engineering

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.

aleda
Télécharger la présentation

Introduction to Software Engineering

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Introduction to Software Engineering

  2. 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?

  3. Software • Software is a set of items or objects that form a “configuration” that includes- • Programs • Documents • Data ... • 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.

  4. Components of software Software=Program+Documentation+Operating Procedures

  5. 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.

  6. 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

  7. 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

  8. 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.

  9. 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.

  10. 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. )

  11. 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.

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

  13. 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.

  14. 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.

  15. 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.

  16. 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

  17. 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

  18. 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

  19. 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 requirements • Does not meet quality requirements

  20. 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.”

  21. 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.

  22. Effort, Software Size, & Complexity

  23. 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.

  24. END

More Related