Introduction and Definitions software engineering and software system

-Software engineering concept -Software engineering MCQ -Software engineering Interview Question –Software engineering question paper free course onlinepast papers -final year projects for computer science with source code -semester project ideas -computer programming -computer science interview questions -tutorial -cui

Introduction to software engineering and software system

Software engineering is the application of a systematic disciplined quantifiable approach to the development, operation and maintenance of software

A Partial Introduction to SE

Software engineering is concerned with all aspects of software production from the early stages of system specification through to maintaining the system after it has gone into use.

  • When a computer 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.
  • 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 in the shadow of failed efforts.
  • To succeed, we need discipline when software is designed and built. We need an engineering approach.

What is software systems??

1.Program, data, and documentation

2.Integrated set of programs

3.A tool for

◦Performing user tasks

◦Provide interaction with machines

4.Simulation of business processes

Some Facts related to Software Systems

1.Today, software is working both explicitly and implicitly in virtually all aspects of our lives, including the critical systems that affect our health and well-being.

2.The economies of ALL developed nations are dependent on software

3.Software systems are perhaps the most intricate and complex . . . of the things humanity makes. – Fred Brooks


Burj Khalifa

Verrazano Narrows Bridge

Started in 1959

Officials estimated that

◦it would cost $325 million and

◦be completed in 1965

Largest suspension bridge ever built

Yet it was completed in November 1964, on target and within budget

Software Development

Development of bridge like Verrazano and building like burj khalifa now become relative easier

No similar pattern has been observed when we build software systems larger than those which had been built previously.

Software Systems – a Poor Track Record

84% of all software projects are unsuccessful


◦over budget,

◦less features than specified,


The average unsuccessful project

◦61% of originally specified features

◦189% over budget

◦222% longer than planned

Software System– Complex


◦Un-understandable – Miscommunication




Software engineering is concerned with all aspects of software production from the early stages of system specification through to maintaining the system after it has gone into use.

A collection of techniques, methodologies, and tools that help with the production of

◦-a high quality software system

◦-with a given budget

◦-before a given deadline

◦-while change occurs

Techniques are well known procedures that you know will produce a result (Algorithms, cook book recipes are examples of techniques).

◦Some people use the word “method” instead of technique, but this word is already reserved in our object-oriented development language, so we won’t use it here.

A collection of techniques is called a methodology. (A cookbook is a methodology).

A Tool is an instrument that helps you to accomplish a method.

Techniques, methodologies and tools are the domain of discourse for computer scientists as well. What is the difference?

Three important objectives of SE is to develop software system

1.Within budget

◦Cost-effective development

2.Within time


3.Quality assurance

◦Quality -effective

Software Development process
Software Development process

Issues that have led to the development of current software engineering practice are listed below. These problems remain as challenges today, especially for large -scale software development.

  • Difficulty of software projects meeting delivery deadlines
    High cost of software development
    Errors in delivered software after extensive testing
    High cost in time and effort in maintaining software
    Problems measuring progress during software development and maintenance

It is important to understand the characteristics of software that underlie these differences. Some important ones are as follows

  • Software is not manufactured in the traditional sense since it is intangible.
    Hardware systems wear out. Software does not.
    The software industry lacks the well-developed design handbooks and components-based development of other engineering disciplines.

In order to address the software development problems cited above and to reduce the potential chaos of developing an intangible product, a framework called a software process is needed for the tasks that are required for the building of high -quality software. The process model used on a given project will depend on the nature of the project.
However, the following basic activities are common to all process models

  • Software specification – functional requirements obtained from the user
    Software design and implementation – production of the software system as a product
    Software validation – activity that assures that customer specifications are meeting
    Software evolution – system modification to meet continuing customer needs



#courses #pastpaper #Finalyearproject #tutorial #cui #project #programming #computer science #computersciecnemcq’s #computerscienceinterviewquestion

Search within CuiTutorial

Scroll to Top