Introduction to software engineering
Sponsored Links
This presentation is the property of its rightful owner.
1 / 24

Introduction to Software Engineering PowerPoint PPT Presentation


  • 427 Views
  • Uploaded on
  • Presentation posted in: General

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.

Download Presentation

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


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

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


  • Components of software

    Software=Program+Documentation+Operating Procedures


    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.


    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


    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


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


    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.


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


    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.


    Who does it?

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


    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.


    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.


    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.


    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


    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


    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


    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


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


    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.


    Effort, Software Size, & Complexity


    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.


    END


  • Login