SlideShare a Scribd company logo
Software Engineering (Notes)

1) Introduction to Software ?

Ans) Software can be defined as :- 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.

2) Why is it so important ?

Ans) Computer software has become a driving force. It is the engine that drives business
decision making. It serves as the basis for modern scientific investigation and engineering
problem solving. It is used in :- transportation, medical, telecommunications, military, industrial
processes, entertainment, office……etc

3) What are the steps of developing a software ?

Ans) It is built like 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. Software engineering approach is
applied.


4) Software Products may be of two types :-

a) Generic :- developed to be sold to a range of customers e.g:- PC Software such as Word,
   Excel etc.
b) Custom :- Developed for a single customer according to their specification.

5) What is Software Engineering ?

Ans) Software engineering is the establishment and use of sound engineering principles in
order to obtain economically software that is reliable and works efficiently on real machines

Software engineering is an engineering discipline that is concerned with all aspects
of software production. Software engineers should adopt a systematic and organized
approach to their work and use appropriate tools and techniques depending on the problems to be
solved, the development constraints and the resources available.

6) Difference between Programs and Software Products :-

                 Programs                                          Software Products
Developed by individuals for personal use.          Developed by a group of engineers working in
                                                    a team.
Small in size and have limited functionality.       Large in size.
Lack of good interface and proper                   Have good interface, proper user’s manuals and
documentation.                                      good documentation support.
Consists only the program code                      Consists program code, associated documents
                                                    such as requirements specification document,
                                                    the design document, the test document, the
                                                    user’s manual etc
Author of a program uses and maintains his          Has large no. of users, it is systematically
programs.                                           designed, carefully implemented and



Dolon Mukherjee…(Lecturer…George College of Management and Science…Kolkata)                           1
Software Engineering (Notes)

                                                              thoroughly tested.

7) The 4 P’s

     People — the most important element of a successful project
     Product — the software to be built
     Process — the set of framework activities and software engineering tasks to get the job
      done
     Project — all work required to make the product a reality

8) Software Characteristics

Ans) Software is logical rather than a physical system element. Therefore, Software has
characteristics that are considerably different than those of hardware:

    i)                   Software is developed or engineered, it is not manufactured in the
                         classical sense. Software development and hardware manufacture are similar in
                         some respects but the two activities are fundamentally different. The manufacturing
                         phase for hardware can introduce quality problems that are nonexistent ( or easily
                         corrected) for software.

    ii)                  Software doesn’t wear out :-




                                               infant
                                              mortality                       wear
                                                                              out
          failure rate




                                                               time


                                     Failure curve for hardware


Dolon Mukherjee…(Lecturer…George College of Management and Science…Kolkata)                                    2
Software Engineering (Notes)

The above figure depicts failure rate as a function of time for hardware. The relationship, often
called the “bathtub curve,” indicates that hardware exhibits relatively high failure rates early in its
life (these failures are often attributable to design or manufacturing defects); defects are corrected
and the failure rate drops to a steady-state level (ideally, quite low) for some period of time. As
time passes, however, the failure rate rises again as hardware components suffer from the
cumulative effects of dust, vibration, abuses, temperature extremes, and many other
environmental maladies. Stated simply, the hardware begins to wear out.




                                 defect
                                removal
     failure rate




                                                                  residual
                                                                   defects
                                                                 (~constant




                                                time

                                            Software Failure Curve (Ideal)
Software is not susceptible to the environmental maladies that cause hardware to wear out. In
theory, therefore, the failure rate curve for software should take the form of the “idealized curve”
shown…

Undiscovered defects will cause high failure rates early in the life of a program. However, these
are corrected (ideally, without introducing other errors) and the curve flattens as shown.




Dolon Mukherjee…(Lecturer…George College of Management and Science…Kolkata)                          3
Software Engineering (Notes)




    failure rate




                                                time

                                     Software Failure Curve (~Actual)
During its life, software will undergo change (maintenance). As changes are made, it is likely
that some new defects will be introduced, causing the failure rate curve to spike…Before the
curve can return to the original steady-state failure rate, another change is requested, causing the
curve to spike again. Slowly, the minimum failure rate level begins to rise – the software is
deteriorating due to change.

What causes these spikes?

Over time we change the requirements for the software. Let’s say you create a word processing
program with some basic functionality. You finally get the bugs out and it’s working pretty good.
Then you decide that you need a spell checker. Your requirements have changed and you have to
make changes to the software. Initially, you introduce more bugs, and then the majority of these
are eliminated. The next big change is when you want to incorporate hyperlinks in a document.
Another change, another spike.

You keep adding functionality to a product, or keep changing your requirements in some other
way. This keeps adding to or changing your software. Notice how you keep adding more bugs
but then you don’t eliminate all of them. Eventually you could end up with a piece of software
with a very high failure rate. This could be caused by conflicts between functions that you’ve
added.

iii) Spare Parts:- when hardware breaks down or wears out, just replace the part!
software has no spare parts!


9) Software Applications


Dolon Mukherjee…(Lecturer…George College of Management and Science…Kolkata)                            4
Software Engineering (Notes)




 System Software- A collection of programs written to service other programs at system level.
 For example, compiler, operating systems.

 Real-time Software- Programs that monitor/analyze/control real world events as they occur.

 Business Software- Programs that access, analyze and process business information.

 Engineering and Scientific Software - Software using “number crunching” (to process data or numbers at high spee

 Embedded Software- Embedded software resides in read-only memory and is used to control products and systems fo

 Artificial Intelligence (AI) Software- Programs make use of AI techniques and methods to solve complex problems.

 Internet Software - Programs that support internet accesses and applications. For example, search engine, browser,

 Software Tools and CASE environment - Tools and programs that help the construction of application software and




                                       *********




Dolon Mukherjee…(Lecturer…George College of Management and Science…Kolkata)                     5

More Related Content

What's hot

Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software EngineeringAnwarrChaudary
 
Sofware Engineering Important Past Paper 2019
Sofware Engineering Important Past Paper 2019Sofware Engineering Important Past Paper 2019
Sofware Engineering Important Past Paper 2019MuhammadTalha436
 
Software engineering introduction
Software engineering   introductionSoftware engineering   introduction
Software engineering introductionDr. Loganathan R
 
Elevator pitch for testing software architecture and software design
Elevator pitch for testing software architecture and software designElevator pitch for testing software architecture and software design
Elevator pitch for testing software architecture and software designZarko Acimovic
 
Elevator pitch architecture design
Elevator pitch architecture designElevator pitch architecture design
Elevator pitch architecture designZarko Acimovic
 
Software System Engineering - Chapter 1
Software System Engineering - Chapter 1Software System Engineering - Chapter 1
Software System Engineering - Chapter 1Fadhil Ismail
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software EngineeringMajane Padua
 
Validation Item – Stating Requirements at the Adequate Level of Detail
Validation Item – Stating Requirements at the Adequate Level of DetailValidation Item – Stating Requirements at the Adequate Level of Detail
Validation Item – Stating Requirements at the Adequate Level of DetailEdwagney Luz
 
Software Testing with a TDD Application
Software Testing with a TDD ApplicationSoftware Testing with a TDD Application
Software Testing with a TDD ApplicationYelda Gurbuz Erdogan
 
Context-Oriented Programming
Context-Oriented ProgrammingContext-Oriented Programming
Context-Oriented Programmingkim.mens
 
Software Engineering Unit-1
Software Engineering Unit-1Software Engineering Unit-1
Software Engineering Unit-1Samura Daniel
 
Introduction to Software Evolution: The Software Volcano
Introduction to Software Evolution: The Software VolcanoIntroduction to Software Evolution: The Software Volcano
Introduction to Software Evolution: The Software VolcanoDevnology
 
Pressman ch-1-software
Pressman ch-1-softwarePressman ch-1-software
Pressman ch-1-softwareAlenaDion
 
V Code And V Data Illustrating A New Framework For Supporting The Video Annot...
V Code And V Data Illustrating A New Framework For Supporting The Video Annot...V Code And V Data Illustrating A New Framework For Supporting The Video Annot...
V Code And V Data Illustrating A New Framework For Supporting The Video Annot...GoogleTecTalks
 
Sdlc cource in_mumbai
Sdlc cource in_mumbaiSdlc cource in_mumbai
Sdlc cource in_mumbaivibrantuser
 
Software Patterns
Software PatternsSoftware Patterns
Software Patternskim.mens
 

What's hot (20)

Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
Sofware Engineering Important Past Paper 2019
Sofware Engineering Important Past Paper 2019Sofware Engineering Important Past Paper 2019
Sofware Engineering Important Past Paper 2019
 
Software engineering introduction
Software engineering   introductionSoftware engineering   introduction
Software engineering introduction
 
Elevator pitch for testing software architecture and software design
Elevator pitch for testing software architecture and software designElevator pitch for testing software architecture and software design
Elevator pitch for testing software architecture and software design
 
Elevator pitch architecture design
Elevator pitch architecture designElevator pitch architecture design
Elevator pitch architecture design
 
Software System Engineering - Chapter 1
Software System Engineering - Chapter 1Software System Engineering - Chapter 1
Software System Engineering - Chapter 1
 
Software engineering
Software engineering Software engineering
Software engineering
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
Lecture1422914635
Lecture1422914635Lecture1422914635
Lecture1422914635
 
Validation Item – Stating Requirements at the Adequate Level of Detail
Validation Item – Stating Requirements at the Adequate Level of DetailValidation Item – Stating Requirements at the Adequate Level of Detail
Validation Item – Stating Requirements at the Adequate Level of Detail
 
Software Testing with a TDD Application
Software Testing with a TDD ApplicationSoftware Testing with a TDD Application
Software Testing with a TDD Application
 
Context-Oriented Programming
Context-Oriented ProgrammingContext-Oriented Programming
Context-Oriented Programming
 
software engineering ch-1
software engineering ch-1software engineering ch-1
software engineering ch-1
 
Ch1
Ch1Ch1
Ch1
 
Software Engineering Unit-1
Software Engineering Unit-1Software Engineering Unit-1
Software Engineering Unit-1
 
Introduction to Software Evolution: The Software Volcano
Introduction to Software Evolution: The Software VolcanoIntroduction to Software Evolution: The Software Volcano
Introduction to Software Evolution: The Software Volcano
 
Pressman ch-1-software
Pressman ch-1-softwarePressman ch-1-software
Pressman ch-1-software
 
V Code And V Data Illustrating A New Framework For Supporting The Video Annot...
V Code And V Data Illustrating A New Framework For Supporting The Video Annot...V Code And V Data Illustrating A New Framework For Supporting The Video Annot...
V Code And V Data Illustrating A New Framework For Supporting The Video Annot...
 
Sdlc cource in_mumbai
Sdlc cource in_mumbaiSdlc cource in_mumbai
Sdlc cource in_mumbai
 
Software Patterns
Software PatternsSoftware Patterns
Software Patterns
 

Similar to Software engineering...basics

BSC Software & Software engineering-UNIT-IV
BSC Software & Software engineering-UNIT-IVBSC Software & Software engineering-UNIT-IV
BSC Software & Software engineering-UNIT-IVYamunaP6
 
Week_01-Intro to Software Engineering-1.ppt
Week_01-Intro to Software Engineering-1.pptWeek_01-Intro to Software Engineering-1.ppt
Week_01-Intro to Software Engineering-1.ppt23017156038
 
Chapter 01
Chapter 01Chapter 01
Chapter 01ryan aja
 
Oose unit 1 ppt
Oose unit 1 pptOose unit 1 ppt
Oose unit 1 pptDr VISU P
 
Introduction to Software Engineering.ppt
Introduction to Software Engineering.pptIntroduction to Software Engineering.ppt
Introduction to Software Engineering.pptBambangWahono3
 
Unit 1 importance ofsoftengg_b.tech iii year
Unit 1  importance ofsoftengg_b.tech iii yearUnit 1  importance ofsoftengg_b.tech iii year
Unit 1 importance ofsoftengg_b.tech iii yearPreeti Mishra
 
Unit 1 introduction tosoftengg_mba tech ii year
Unit 1  introduction tosoftengg_mba tech ii yearUnit 1  introduction tosoftengg_mba tech ii year
Unit 1 introduction tosoftengg_mba tech ii yearPreeti Mishra
 
MODULE 1 Software Product and Process_ SW ENGG 22CSE141.pdf
MODULE 1 Software Product and Process_ SW ENGG  22CSE141.pdfMODULE 1 Software Product and Process_ SW ENGG  22CSE141.pdf
MODULE 1 Software Product and Process_ SW ENGG 22CSE141.pdfJayanthi Kannan MK
 
OOSE Unit 1 PPT.ppt
OOSE Unit 1 PPT.pptOOSE Unit 1 PPT.ppt
OOSE Unit 1 PPT.pptitadmin33
 
Evolving role of Software,Legacy software,CASE tools,Process Models,CMMI
Evolving role of Software,Legacy software,CASE tools,Process Models,CMMIEvolving role of Software,Legacy software,CASE tools,Process Models,CMMI
Evolving role of Software,Legacy software,CASE tools,Process Models,CMMInimmik4u
 
Software engineering
Software engineeringSoftware engineering
Software engineeringAnanthiP8
 
Software Engineering Overview
Software Engineering OverviewSoftware Engineering Overview
Software Engineering OverviewPrachi Sasankar
 

Similar to Software engineering...basics (20)

SE Lecture 1.ppt
SE Lecture 1.pptSE Lecture 1.ppt
SE Lecture 1.ppt
 
SE Lecture 1.ppt
SE Lecture 1.pptSE Lecture 1.ppt
SE Lecture 1.ppt
 
BSC Software & Software engineering-UNIT-IV
BSC Software & Software engineering-UNIT-IVBSC Software & Software engineering-UNIT-IV
BSC Software & Software engineering-UNIT-IV
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
Week_01-Intro to Software Engineering-1.ppt
Week_01-Intro to Software Engineering-1.pptWeek_01-Intro to Software Engineering-1.ppt
Week_01-Intro to Software Engineering-1.ppt
 
Chapter 01
Chapter 01Chapter 01
Chapter 01
 
Chapter 01
Chapter 01Chapter 01
Chapter 01
 
Lect 01
Lect 01Lect 01
Lect 01
 
software engineering
 software engineering software engineering
software engineering
 
Oose unit 1 ppt
Oose unit 1 pptOose unit 1 ppt
Oose unit 1 ppt
 
Introduction to Software Engineering.ppt
Introduction to Software Engineering.pptIntroduction to Software Engineering.ppt
Introduction to Software Engineering.ppt
 
Unit1
Unit1Unit1
Unit1
 
Unit 1 importance ofsoftengg_b.tech iii year
Unit 1  importance ofsoftengg_b.tech iii yearUnit 1  importance ofsoftengg_b.tech iii year
Unit 1 importance ofsoftengg_b.tech iii year
 
Unit 1 introduction tosoftengg_mba tech ii year
Unit 1  introduction tosoftengg_mba tech ii yearUnit 1  introduction tosoftengg_mba tech ii year
Unit 1 introduction tosoftengg_mba tech ii year
 
Intro
IntroIntro
Intro
 
MODULE 1 Software Product and Process_ SW ENGG 22CSE141.pdf
MODULE 1 Software Product and Process_ SW ENGG  22CSE141.pdfMODULE 1 Software Product and Process_ SW ENGG  22CSE141.pdf
MODULE 1 Software Product and Process_ SW ENGG 22CSE141.pdf
 
OOSE Unit 1 PPT.ppt
OOSE Unit 1 PPT.pptOOSE Unit 1 PPT.ppt
OOSE Unit 1 PPT.ppt
 
Evolving role of Software,Legacy software,CASE tools,Process Models,CMMI
Evolving role of Software,Legacy software,CASE tools,Process Models,CMMIEvolving role of Software,Legacy software,CASE tools,Process Models,CMMI
Evolving role of Software,Legacy software,CASE tools,Process Models,CMMI
 
Software engineering
Software engineeringSoftware engineering
Software engineering
 
Software Engineering Overview
Software Engineering OverviewSoftware Engineering Overview
Software Engineering Overview
 

Software engineering...basics

  • 1. Software Engineering (Notes) 1) Introduction to Software ? Ans) Software can be defined as :- 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. 2) Why is it so important ? Ans) Computer software has become a driving force. It is the engine that drives business decision making. It serves as the basis for modern scientific investigation and engineering problem solving. It is used in :- transportation, medical, telecommunications, military, industrial processes, entertainment, office……etc 3) What are the steps of developing a software ? Ans) It is built like 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. Software engineering approach is applied. 4) Software Products may be of two types :- a) Generic :- developed to be sold to a range of customers e.g:- PC Software such as Word, Excel etc. b) Custom :- Developed for a single customer according to their specification. 5) What is Software Engineering ? Ans) Software engineering is the establishment and use of sound engineering principles in order to obtain economically software that is reliable and works efficiently on real machines Software engineering is an engineering discipline that is concerned with all aspects of software production. Software engineers should adopt a systematic and organized approach to their work and use appropriate tools and techniques depending on the problems to be solved, the development constraints and the resources available. 6) Difference between Programs and Software Products :- Programs Software Products Developed by individuals for personal use. Developed by a group of engineers working in a team. Small in size and have limited functionality. Large in size. Lack of good interface and proper Have good interface, proper user’s manuals and documentation. good documentation support. Consists only the program code Consists program code, associated documents such as requirements specification document, the design document, the test document, the user’s manual etc Author of a program uses and maintains his Has large no. of users, it is systematically programs. designed, carefully implemented and Dolon Mukherjee…(Lecturer…George College of Management and Science…Kolkata) 1
  • 2. Software Engineering (Notes) thoroughly tested. 7) The 4 P’s  People — the most important element of a successful project  Product — the software to be built  Process — the set of framework activities and software engineering tasks to get the job done  Project — all work required to make the product a reality 8) Software Characteristics Ans) Software is logical rather than a physical system element. Therefore, Software has characteristics that are considerably different than those of hardware: i) Software is developed or engineered, it is not manufactured in the classical sense. Software development and hardware manufacture are similar in some respects but the two activities are fundamentally different. The manufacturing phase for hardware can introduce quality problems that are nonexistent ( or easily corrected) for software. ii) Software doesn’t wear out :- infant mortality wear out failure rate time Failure curve for hardware Dolon Mukherjee…(Lecturer…George College of Management and Science…Kolkata) 2
  • 3. Software Engineering (Notes) The above figure depicts failure rate as a function of time for hardware. The relationship, often called the “bathtub curve,” indicates that hardware exhibits relatively high failure rates early in its life (these failures are often attributable to design or manufacturing defects); defects are corrected and the failure rate drops to a steady-state level (ideally, quite low) for some period of time. As time passes, however, the failure rate rises again as hardware components suffer from the cumulative effects of dust, vibration, abuses, temperature extremes, and many other environmental maladies. Stated simply, the hardware begins to wear out. defect removal failure rate residual defects (~constant time Software Failure Curve (Ideal) Software is not susceptible to the environmental maladies that cause hardware to wear out. In theory, therefore, the failure rate curve for software should take the form of the “idealized curve” shown… Undiscovered defects will cause high failure rates early in the life of a program. However, these are corrected (ideally, without introducing other errors) and the curve flattens as shown. Dolon Mukherjee…(Lecturer…George College of Management and Science…Kolkata) 3
  • 4. Software Engineering (Notes) failure rate time Software Failure Curve (~Actual) During its life, software will undergo change (maintenance). As changes are made, it is likely that some new defects will be introduced, causing the failure rate curve to spike…Before the curve can return to the original steady-state failure rate, another change is requested, causing the curve to spike again. Slowly, the minimum failure rate level begins to rise – the software is deteriorating due to change. What causes these spikes? Over time we change the requirements for the software. Let’s say you create a word processing program with some basic functionality. You finally get the bugs out and it’s working pretty good. Then you decide that you need a spell checker. Your requirements have changed and you have to make changes to the software. Initially, you introduce more bugs, and then the majority of these are eliminated. The next big change is when you want to incorporate hyperlinks in a document. Another change, another spike. You keep adding functionality to a product, or keep changing your requirements in some other way. This keeps adding to or changing your software. Notice how you keep adding more bugs but then you don’t eliminate all of them. Eventually you could end up with a piece of software with a very high failure rate. This could be caused by conflicts between functions that you’ve added. iii) Spare Parts:- when hardware breaks down or wears out, just replace the part! software has no spare parts! 9) Software Applications Dolon Mukherjee…(Lecturer…George College of Management and Science…Kolkata) 4
  • 5. Software Engineering (Notes) System Software- A collection of programs written to service other programs at system level. For example, compiler, operating systems. Real-time Software- Programs that monitor/analyze/control real world events as they occur. Business Software- Programs that access, analyze and process business information. Engineering and Scientific Software - Software using “number crunching” (to process data or numbers at high spee Embedded Software- Embedded software resides in read-only memory and is used to control products and systems fo Artificial Intelligence (AI) Software- Programs make use of AI techniques and methods to solve complex problems. Internet Software - Programs that support internet accesses and applications. For example, search engine, browser, Software Tools and CASE environment - Tools and programs that help the construction of application software and ********* Dolon Mukherjee…(Lecturer…George College of Management and Science…Kolkata) 5