What is Software Engineering?

            What is Software?

  • Software is not just the programs, but also associated documentation and configuration data (to operate the program) needed to make the programs operate correctly.

  • A Software system consists of
    1. Number of separate programs
    2. Configuration files used to setup the programs
    3. System documentation – describes the structure of the system
    4. User documentation – explains how to use the system

  • Software Products may be
    1. Generic Developed to be sold to a range of different customers
    E.g. Operating Systems(Microsoft Windows) Database Management Systems(Oracle) Banking Software
    2. Bespoke Developed for a single customer according to their specification

         Programs Vs Software Products 

          Program 

  •  Small
  •  Single developer
  •  Small in size 
  •  Limited Functionality
  •  Single user (author)
  •  Simple user interface
  •  Sparse documentation
  •  No user manual
  •  Ad hoc development 

            Software Product

  • Large
  •  Team of developers
  •  Multiple users (customer)
  •  Complex user interfaces
  •  Detailed documentation
  •  User manual
  •  Systematic development

          What is Software Engineering?

  • Software engineering is an engineering discipline, concerned with all aspects of software production from early stages of system specification through maintaining the system.
    1. Engineering discipline – make things work by applying theories, methods and tools where appropriate and also try to find solutions to problems when there’s no suitable theories/methods.
    2.  All aspects of software production – not just technical, but project management and development of tools, methods and theories to support S/W production.

  • Software engineers should adopt a systematic and organized approach to their work and use appropriate tools and techniques depending on the problem to be solved, the development constraints and the resources available.

  • IEEE Definition of Software Engineering:
    The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that is, the application of engineering to software.
    IEEE Standard 610.12-1990, 1993.

        Developing a Program

  1. Analyze the problem
  2. Develop a solution
  3. Code the solution
  4. Test and Debug

            What about a Real Software?

    • There will be a real user (Customer) who would need to use the software.
    1. You have to find out what the customer wants (Requirements Gathering)
    2. Analyze the problem
    3. Develop a solution (Design)
    4. Code the solution
    5. Test and Debug
    6. Maintenance
      Note : In addition in the beginning there can be a Feasibility Study.

            Characteristics of Software Engineering

    • Software Engineering deals with team-based production of large software systems: 
    1.  No single person has complete knowledge of all the details of a software engineering project. 

    • Software Engineering borrows from: 
    1. Computer Science & Information Technology 
    2. Electrical & Computer Engineering  Mathematics & Physics 
    3. Business & Management 
    4. Psychology & Sociology

    • Modern engineering is based on the systematic collection of past experience:
    1. methodologies; techniques; guidelines.

    •  It involves trade offs between alternatives:
    1. A pragmatic approach to cost-effectiveness;
    2. A rigorous approach to quality and safety!

    • It uses a variety of quantitative techniques
    1. with a sound theoretical basis:
    2. Yet many SE techniques are just rules of thumb.


    2 Comments

    1. Wynn casino opens in Las Vegas - FilmfileEurope
      Wynn's first septcasino hotel casino in Las Vegas since opening its doors in 1996, Wynn Las Vegas is the https://deccasino.com/review/merit-casino/ first 1등 사이트 hotel on the Strip to offer such a filmfileeurope.com large selection of poormansguidetocasinogambling

      ReplyDelete
    2. It is only primarily based on luck therefore even newbie on-line casino players can strive their luck and win. This sport additionally has the next return to the player percentage than other 점보카지노 on-line casino games, as may have} a excessive probability of successful 36 occasions your guess quantity if the ball falls on your chosen quantity. Gambling houses were banned in South Korea till 1967 when games of likelihood were permitted in large motels for tourists.

      ReplyDelete

    Post a Comment

    Post a Comment

    Previous Post Next Post