SlideShare a Scribd company logo
WHAT IS SOFTWARE ENGINEERING?
Software engineering is an engineering branch associated with
development of software product using well-defined scientific
principles, methods and procedures. The outcome of software
engineering is an efficient and reliable software product.
Software is more than just a program code. A program is an executable
code, which serves some computational purpose. Software is
considered to be collection of executable programming code,
associated libraries and documentations. Software, when made for a
specific requirement is called software product.
Software Design
Paradigm
This paradigm
is a part of
Software
Development
and includes
–
Design
Maintenance
Programming
Software Development
Paradigm
This Paradigm is known as
software engineering
paradigms where all the
engineering concepts
pertaining to the
development of software
are applied. It includes
various researches and
requirement gathering
which helps the software
product to build. It consists
of –
Requirement gathering
Software design
Programming
Programming
Paradigm
This paradigm is
related closely to
programming aspect
of software
development. This
includes –
Coding
Testing
Integration
Characteristics of good software
A software product can be judged by what it offers and how well it can be used.
This software must satisfy on the following grounds:
Operational
Transitional
Maintenance
Well-engineered and crafted software is expected to have the following
characteristics:
Operational
This tells us how well
software works in
operations. It can be
measured on:
Budget
Usability
Efficiency
Correctness
Functionality
Dependability
Security
Safety
Transitional
This aspect is
important when the
software is moved
from one platform to
another:
Portability
Interoperability
Reusability
Adaptability
Maintenance
This aspect briefs
about how well a
software has the
capabilities to
maintain itself in the
ever-changing
environment:
Modularity
Maintainability
Flexibility
Scalability
Components of Software:
There are three components of the software:
Program:
A computer program is a list of instructions that tell a computer what to do.
Documentation:
Source information about the product contained in design documents, detailed
code comments, etc.
Operating Procedures:
Set of step-by-step instructions compiled by an organization to help workers
carry out complex routine operations.
There are four basic key process activities:
Software Specifications:
In this process, detailed description of a software system to be developed with its
functional and non-functional requirements.
Software Development:
In this process, designing, programming, documenting, testing, and bug fixing is done.
Software Validation:
In this process, evaluation software product is done to ensure that the software meets the
business requirements as well as the end users needs.
Software Evolution:
It is a process of developing software initially, then timely updating it for various reasons.
SOFTWARE DEVELOPMENT LIFE CYCLE (SDLC)
A software life cycle model (also termed process model) is a pictorial and
diagrammatic representation of the software life cycle. A life cycle
model represents all the methods required to make a software product
transit through its life cycle stages. It also captures the structure in
which these methods are to be undertaken.
In other words, a life cycle model maps the various activities performed on
a software product from its inception to retirement. Different life cycle
models may plan the necessary development activities to phases in
different ways
WATERFALL MODEL
INCREMENTAL AND ITERATIVE MODEL
. AGILE MODEL
By breaking the product into cycles, the Agile model quickly delivers a
working product and is considered a very realistic development
approach. The model produces ongoing releases, each with small,
incremental changes from the previous release. At each iteration, the
product is tested.
This model emphasizes interaction, as the customers, developers and
testers work together throughout the project. But since this model
depends heavily on customer interaction, the project can head the
wrong way if the customer is not clear on the direction he or she wants
to go.
AGILE PRINCIPLES
The highest priority of this process is to satisfy the customer.
Acceptance of changing requirement even late in development.
Frequently deliver a working software in small time span.
Throughout the project business people and developers work together on
daily basis.
Projects are created around motivated people if they are given the proper
environment and support.
Face to face interaction is the most efficient method of moving
information in the development team.
Primary measure of progress is a working software.
Agile process helps in sustainable development.
Continuous attention to technical excellence and good design increases
agility.
From self organizing teams the best architecture, design and
requirements are emerged.
SRS
The output of the requirements phase of the software development process
is Software Requirements Specification (SRS) (also known as
requirements document).
This document lays a foundation for software engineering activities and is
created when entire requirements are elicited and analyzed.
SRS is a formal document, which acts as a representation of software that
enables the users to review whether it (SRS) is according to their
requirements.
In addition, it includes user requirements for a system as well as detailed
specifications of the system requirements.
VARIOUS OTHER PURPOSES SERVED BY SRS ARE
LISTED BELOW.
Feedback: Provides a feedback, which ensures to the user that the
organization (which develops the software) understands the issues or
problems to be solved and the software behavior necessary to
address those problems.
Decompose problem into components: Organizes the information and
divides the problem into its component parts in an orderly manner.
Validation: Uses validation strategies applied to the requirements to
acknowledge that requirements are stated properly.
Input to design: Contains sufficient detail in the functional system
requirements to devise a design solution.
Basis for agreement between the user and the organization: Provides a
complete description of the functions to be performed by the system.
In addition, it helps the users to determine whether the specified
requirements are accomplished.
Reduce the development effort: Enables developers to consider user
requirements before the designing of the system commences. As a
result, 'rework' and inconsistencies in the later stages can be reduced.
Estimating costs and schedules: Determines the requirements of the
Correct: SRS is correct when all user requirements
are stated in the requirements document. The
stated requirements should be according to the
desired system.. Correctness ensures that all
specified requirements are performed correctly.
Unambiguous: SRS is unambiguous when every
stated requirement has only one interpretation.
This implies that each requirement is uniquely
interpreted. In case there is a term used with
multiple meanings, the requirements document
should specify the meanings in the SRS so that it
is clear and easy to understand.
Complete: SRS is complete when the requirements
clearly define what the software is required to do.
This includes all the requirements related to
performance, design and functionality.
Ranked for importance/stability: All requirements are not equally
important, hence each requirement is identified to make
differences among other requirements. For this, it is essential
to clearly identify each requirement.
Modifiable: The requirements of the user can change, hence
requirements document should be created in such a manner
that those changes can be modified easily, consistently
maintaining the structure and style of the SRS.
Traceable: SRS is traceable when the source of each requirement
is clear and facilitates the reference of each requirement in
future.
Verifiable: SRS is verifiable when the specified requirements can
be verified with a cost-effective process to check whether the
final software meets those requirements.
Consistent: SRS is consistent when the subsets of individual
requirements defined do not conflict with each other. For
example, there can be a case when different requirements can
use different terms to refer to the same object. For instance, a
requirement states that an event 'a' is to occur before another
event 'b'. But then another set of requirements states (directly
or indirectly by transitivity) that event 'b' should occur before
REQUIREMENTS MODELING
Requirements modeling in software engineering identifies the requirements
that a software application or system must meet in order to solve the
business problem. Requirements are divided into functional (what the
system will have to do) and non-functional (constraints within which the
system will have to perform).
Thank You

More Related Content

What's hot

Software Reengineering
Software ReengineeringSoftware Reengineering
Software Reengineering
Deniz Kılınç
 
Case tools
Case toolsCase tools
Cyclomatic complexity
Cyclomatic complexityCyclomatic complexity
Cyclomatic complexity
Nikita Kesharwani
 
Ch2 sw processes
Ch2 sw processesCh2 sw processes
Ch2 sw processes
software-engineering-book
 
Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9koolkampus
 
Case tools
Case toolsCase tools
Case tools
Afraz Khan
 
Ch23 project planning
Ch23 project planningCh23 project planning
Ch23 project planning
software-engineering-book
 
Designing and documenting software architecture unit 5
Designing and documenting software architecture unit 5Designing and documenting software architecture unit 5
Designing and documenting software architecture unit 5Sudarshan Dhondaley
 
Incremental process model
Incremental  process  modelIncremental  process  model
Incremental process model
Madushan Sandaruwan
 
Case tools
Case toolsCase tools
INTRODUCTION TO SOFTWARE ENGINEERING
INTRODUCTION TO SOFTWARE ENGINEERINGINTRODUCTION TO SOFTWARE ENGINEERING
INTRODUCTION TO SOFTWARE ENGINEERING
Prof Ansari
 
Ch4-Software Engineering 9
Ch4-Software Engineering 9Ch4-Software Engineering 9
Ch4-Software Engineering 9Ian Sommerville
 
Software Prototyping
Software PrototypingSoftware Prototyping
Software Prototypingdrjms
 
Ch3. agile sw dev
Ch3. agile sw devCh3. agile sw dev
Ch3. agile sw dev
software-engineering-book
 
Case tools(computer Aided software Engineering)
Case tools(computer Aided software Engineering)Case tools(computer Aided software Engineering)
Case tools(computer Aided software Engineering)
Self-employed
 
Software metrics
Software metricsSoftware metrics
Software metrics
Dr. C.V. Suresh Babu
 
Software Architecture and Design
Software Architecture and DesignSoftware Architecture and Design
Software Architecture and Design
Ra'Fat Al-Msie'deen
 
Software design
Software designSoftware design
Software design
Benazir Fathima
 
Software Design
Software Design Software Design
Software Design
Anas Bilal
 
Case tools
Case tools Case tools
Case tools
Sutha Vincent
 

What's hot (20)

Software Reengineering
Software ReengineeringSoftware Reengineering
Software Reengineering
 
Case tools
Case toolsCase tools
Case tools
 
Cyclomatic complexity
Cyclomatic complexityCyclomatic complexity
Cyclomatic complexity
 
Ch2 sw processes
Ch2 sw processesCh2 sw processes
Ch2 sw processes
 
Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9
 
Case tools
Case toolsCase tools
Case tools
 
Ch23 project planning
Ch23 project planningCh23 project planning
Ch23 project planning
 
Designing and documenting software architecture unit 5
Designing and documenting software architecture unit 5Designing and documenting software architecture unit 5
Designing and documenting software architecture unit 5
 
Incremental process model
Incremental  process  modelIncremental  process  model
Incremental process model
 
Case tools
Case toolsCase tools
Case tools
 
INTRODUCTION TO SOFTWARE ENGINEERING
INTRODUCTION TO SOFTWARE ENGINEERINGINTRODUCTION TO SOFTWARE ENGINEERING
INTRODUCTION TO SOFTWARE ENGINEERING
 
Ch4-Software Engineering 9
Ch4-Software Engineering 9Ch4-Software Engineering 9
Ch4-Software Engineering 9
 
Software Prototyping
Software PrototypingSoftware Prototyping
Software Prototyping
 
Ch3. agile sw dev
Ch3. agile sw devCh3. agile sw dev
Ch3. agile sw dev
 
Case tools(computer Aided software Engineering)
Case tools(computer Aided software Engineering)Case tools(computer Aided software Engineering)
Case tools(computer Aided software Engineering)
 
Software metrics
Software metricsSoftware metrics
Software metrics
 
Software Architecture and Design
Software Architecture and DesignSoftware Architecture and Design
Software Architecture and Design
 
Software design
Software designSoftware design
Software design
 
Software Design
Software Design Software Design
Software Design
 
Case tools
Case tools Case tools
Case tools
 

Similar to Software engineering fundamentals

SE notes by k. adisesha
SE notes by k. adiseshaSE notes by k. adisesha
SE notes by k. adisesha
Prof. Dr. K. Adisesha
 
Software Engineering Overview
Software Engineering OverviewSoftware Engineering Overview
Software Engineering Overview
Prachi Sasankar
 
SE-Lecture-4.pptx
SE-Lecture-4.pptxSE-Lecture-4.pptx
SE-Lecture-4.pptx
vishal choudhary
 
Elementary Probability theory Chapter 2.pptx
Elementary Probability theory Chapter 2.pptxElementary Probability theory Chapter 2.pptx
Elementary Probability theory Chapter 2.pptx
ethiouniverse
 
Software Quality Measure
Software Quality MeasureSoftware Quality Measure
Software Quality Measure
Editor IJCATR
 
Lecture1422914635
Lecture1422914635Lecture1422914635
SE-03.pptx
SE-03.pptxSE-03.pptx
SE-03.pptx
HaiderAli252366
 
SDLC.pptx
SDLC.pptxSDLC.pptx
SDLC.pptx
Sanjeev Banerjee
 
Software Engineering
Software EngineeringSoftware Engineering
Software Engineering
Mohamed Essam
 
Software Engineering (Short & Long Questions)
Software Engineering (Short & Long Questions)Software Engineering (Short & Long Questions)
Software Engineering (Short & Long Questions)
MuhammadTalha436
 
Software Engineering Solved Past Paper 2020
Software Engineering Solved Past Paper 2020 Software Engineering Solved Past Paper 2020
Software Engineering Solved Past Paper 2020
MuhammadTalha436
 
Presentation of waterfall model
Presentation of waterfall modelPresentation of waterfall model
Presentation of waterfall model
Rohitkumar3723
 
software engineering
 software engineering software engineering
software engineering
Ahmed Elshahat Mohamed
 
Software engineer
Software engineerSoftware engineer
Software engineer
Social Development Club
 
DESQA a Software Quality Assurance Framework
DESQA a Software Quality Assurance FrameworkDESQA a Software Quality Assurance Framework
DESQA a Software Quality Assurance Framework
IJERA Editor
 
Sdlc process document
Sdlc process documentSdlc process document
Sdlc process documentPesara Swamy
 
Software Engineering
Software EngineeringSoftware Engineering
Software Engineering
UMA PARAMESWARI
 
Software Engineering
Software EngineeringSoftware Engineering
Software Engineering
UMA PARAMESWARI
 
Bridge Process Model
Bridge Process ModelBridge Process Model
Bridge Process Model
Stephen Raj
 

Similar to Software engineering fundamentals (20)

SE notes by k. adisesha
SE notes by k. adiseshaSE notes by k. adisesha
SE notes by k. adisesha
 
Software Engineering Overview
Software Engineering OverviewSoftware Engineering Overview
Software Engineering Overview
 
SE-Lecture-4.pptx
SE-Lecture-4.pptxSE-Lecture-4.pptx
SE-Lecture-4.pptx
 
Elementary Probability theory Chapter 2.pptx
Elementary Probability theory Chapter 2.pptxElementary Probability theory Chapter 2.pptx
Elementary Probability theory Chapter 2.pptx
 
Software Quality Measure
Software Quality MeasureSoftware Quality Measure
Software Quality Measure
 
Lecture1422914635
Lecture1422914635Lecture1422914635
Lecture1422914635
 
SE-03.pptx
SE-03.pptxSE-03.pptx
SE-03.pptx
 
What is jad_session
What is jad_sessionWhat is jad_session
What is jad_session
 
SDLC.pptx
SDLC.pptxSDLC.pptx
SDLC.pptx
 
Software Engineering
Software EngineeringSoftware Engineering
Software Engineering
 
Software Engineering (Short & Long Questions)
Software Engineering (Short & Long Questions)Software Engineering (Short & Long Questions)
Software Engineering (Short & Long Questions)
 
Software Engineering Solved Past Paper 2020
Software Engineering Solved Past Paper 2020 Software Engineering Solved Past Paper 2020
Software Engineering Solved Past Paper 2020
 
Presentation of waterfall model
Presentation of waterfall modelPresentation of waterfall model
Presentation of waterfall model
 
software engineering
 software engineering software engineering
software engineering
 
Software engineer
Software engineerSoftware engineer
Software engineer
 
DESQA a Software Quality Assurance Framework
DESQA a Software Quality Assurance FrameworkDESQA a Software Quality Assurance Framework
DESQA a Software Quality Assurance Framework
 
Sdlc process document
Sdlc process documentSdlc process document
Sdlc process document
 
Software Engineering
Software EngineeringSoftware Engineering
Software Engineering
 
Software Engineering
Software EngineeringSoftware Engineering
Software Engineering
 
Bridge Process Model
Bridge Process ModelBridge Process Model
Bridge Process Model
 

Recently uploaded

J.Yang, ICLR 2024, MLILAB, KAIST AI.pdf
J.Yang,  ICLR 2024, MLILAB, KAIST AI.pdfJ.Yang,  ICLR 2024, MLILAB, KAIST AI.pdf
J.Yang, ICLR 2024, MLILAB, KAIST AI.pdf
MLILAB
 
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Dr.Costas Sachpazis
 
addressing modes in computer architecture
addressing modes  in computer architectureaddressing modes  in computer architecture
addressing modes in computer architecture
ShahidSultan24
 
weather web application report.pdf
weather web application report.pdfweather web application report.pdf
weather web application report.pdf
Pratik Pawar
 
H.Seo, ICLR 2024, MLILAB, KAIST AI.pdf
H.Seo,  ICLR 2024, MLILAB,  KAIST AI.pdfH.Seo,  ICLR 2024, MLILAB,  KAIST AI.pdf
H.Seo, ICLR 2024, MLILAB, KAIST AI.pdf
MLILAB
 
Final project report on grocery store management system..pdf
Final project report on grocery store management system..pdfFinal project report on grocery store management system..pdf
Final project report on grocery store management system..pdf
Kamal Acharya
 
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...
Amil Baba Dawood bangali
 
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdfAKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
SamSarthak3
 
Vaccine management system project report documentation..pdf
Vaccine management system project report documentation..pdfVaccine management system project report documentation..pdf
Vaccine management system project report documentation..pdf
Kamal Acharya
 
Water Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation and Control Monthly - May 2024.pdfWater Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation & Control
 
Quality defects in TMT Bars, Possible causes and Potential Solutions.
Quality defects in TMT Bars, Possible causes and Potential Solutions.Quality defects in TMT Bars, Possible causes and Potential Solutions.
Quality defects in TMT Bars, Possible causes and Potential Solutions.
PrashantGoswami42
 
DESIGN A COTTON SEED SEPARATION MACHINE.docx
DESIGN A COTTON SEED SEPARATION MACHINE.docxDESIGN A COTTON SEED SEPARATION MACHINE.docx
DESIGN A COTTON SEED SEPARATION MACHINE.docx
FluxPrime1
 
Halogenation process of chemical process industries
Halogenation process of chemical process industriesHalogenation process of chemical process industries
Halogenation process of chemical process industries
MuhammadTufail242431
 
Democratizing Fuzzing at Scale by Abhishek Arya
Democratizing Fuzzing at Scale by Abhishek AryaDemocratizing Fuzzing at Scale by Abhishek Arya
Democratizing Fuzzing at Scale by Abhishek Arya
abh.arya
 
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptxCFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
R&R Consult
 
road safety engineering r s e unit 3.pdf
road safety engineering  r s e unit 3.pdfroad safety engineering  r s e unit 3.pdf
road safety engineering r s e unit 3.pdf
VENKATESHvenky89705
 
Railway Signalling Principles Edition 3.pdf
Railway Signalling Principles Edition 3.pdfRailway Signalling Principles Edition 3.pdf
Railway Signalling Principles Edition 3.pdf
TeeVichai
 
ASME IX(9) 2007 Full Version .pdf
ASME IX(9)  2007 Full Version       .pdfASME IX(9)  2007 Full Version       .pdf
ASME IX(9) 2007 Full Version .pdf
AhmedHussein950959
 
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
MdTanvirMahtab2
 
Event Management System Vb Net Project Report.pdf
Event Management System Vb Net  Project Report.pdfEvent Management System Vb Net  Project Report.pdf
Event Management System Vb Net Project Report.pdf
Kamal Acharya
 

Recently uploaded (20)

J.Yang, ICLR 2024, MLILAB, KAIST AI.pdf
J.Yang,  ICLR 2024, MLILAB, KAIST AI.pdfJ.Yang,  ICLR 2024, MLILAB, KAIST AI.pdf
J.Yang, ICLR 2024, MLILAB, KAIST AI.pdf
 
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
 
addressing modes in computer architecture
addressing modes  in computer architectureaddressing modes  in computer architecture
addressing modes in computer architecture
 
weather web application report.pdf
weather web application report.pdfweather web application report.pdf
weather web application report.pdf
 
H.Seo, ICLR 2024, MLILAB, KAIST AI.pdf
H.Seo,  ICLR 2024, MLILAB,  KAIST AI.pdfH.Seo,  ICLR 2024, MLILAB,  KAIST AI.pdf
H.Seo, ICLR 2024, MLILAB, KAIST AI.pdf
 
Final project report on grocery store management system..pdf
Final project report on grocery store management system..pdfFinal project report on grocery store management system..pdf
Final project report on grocery store management system..pdf
 
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...
 
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdfAKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
 
Vaccine management system project report documentation..pdf
Vaccine management system project report documentation..pdfVaccine management system project report documentation..pdf
Vaccine management system project report documentation..pdf
 
Water Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation and Control Monthly - May 2024.pdfWater Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation and Control Monthly - May 2024.pdf
 
Quality defects in TMT Bars, Possible causes and Potential Solutions.
Quality defects in TMT Bars, Possible causes and Potential Solutions.Quality defects in TMT Bars, Possible causes and Potential Solutions.
Quality defects in TMT Bars, Possible causes and Potential Solutions.
 
DESIGN A COTTON SEED SEPARATION MACHINE.docx
DESIGN A COTTON SEED SEPARATION MACHINE.docxDESIGN A COTTON SEED SEPARATION MACHINE.docx
DESIGN A COTTON SEED SEPARATION MACHINE.docx
 
Halogenation process of chemical process industries
Halogenation process of chemical process industriesHalogenation process of chemical process industries
Halogenation process of chemical process industries
 
Democratizing Fuzzing at Scale by Abhishek Arya
Democratizing Fuzzing at Scale by Abhishek AryaDemocratizing Fuzzing at Scale by Abhishek Arya
Democratizing Fuzzing at Scale by Abhishek Arya
 
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptxCFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
 
road safety engineering r s e unit 3.pdf
road safety engineering  r s e unit 3.pdfroad safety engineering  r s e unit 3.pdf
road safety engineering r s e unit 3.pdf
 
Railway Signalling Principles Edition 3.pdf
Railway Signalling Principles Edition 3.pdfRailway Signalling Principles Edition 3.pdf
Railway Signalling Principles Edition 3.pdf
 
ASME IX(9) 2007 Full Version .pdf
ASME IX(9)  2007 Full Version       .pdfASME IX(9)  2007 Full Version       .pdf
ASME IX(9) 2007 Full Version .pdf
 
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
 
Event Management System Vb Net Project Report.pdf
Event Management System Vb Net  Project Report.pdfEvent Management System Vb Net  Project Report.pdf
Event Management System Vb Net Project Report.pdf
 

Software engineering fundamentals

  • 1.
  • 2. WHAT IS SOFTWARE ENGINEERING? Software engineering is an engineering branch associated with development of software product using well-defined scientific principles, methods and procedures. The outcome of software engineering is an efficient and reliable software product. Software is more than just a program code. A program is an executable code, which serves some computational purpose. Software is considered to be collection of executable programming code, associated libraries and documentations. Software, when made for a specific requirement is called software product.
  • 3.
  • 4.
  • 5. Software Design Paradigm This paradigm is a part of Software Development and includes – Design Maintenance Programming Software Development Paradigm This Paradigm is known as software engineering paradigms where all the engineering concepts pertaining to the development of software are applied. It includes various researches and requirement gathering which helps the software product to build. It consists of – Requirement gathering Software design Programming Programming Paradigm This paradigm is related closely to programming aspect of software development. This includes – Coding Testing Integration
  • 6. Characteristics of good software A software product can be judged by what it offers and how well it can be used. This software must satisfy on the following grounds: Operational Transitional Maintenance Well-engineered and crafted software is expected to have the following characteristics: Operational This tells us how well software works in operations. It can be measured on: Budget Usability Efficiency Correctness Functionality Dependability Security Safety Transitional This aspect is important when the software is moved from one platform to another: Portability Interoperability Reusability Adaptability Maintenance This aspect briefs about how well a software has the capabilities to maintain itself in the ever-changing environment: Modularity Maintainability Flexibility Scalability
  • 7. Components of Software: There are three components of the software: Program: A computer program is a list of instructions that tell a computer what to do. Documentation: Source information about the product contained in design documents, detailed code comments, etc. Operating Procedures: Set of step-by-step instructions compiled by an organization to help workers carry out complex routine operations. There are four basic key process activities: Software Specifications: In this process, detailed description of a software system to be developed with its functional and non-functional requirements. Software Development: In this process, designing, programming, documenting, testing, and bug fixing is done. Software Validation: In this process, evaluation software product is done to ensure that the software meets the business requirements as well as the end users needs. Software Evolution: It is a process of developing software initially, then timely updating it for various reasons.
  • 8. SOFTWARE DEVELOPMENT LIFE CYCLE (SDLC) A software life cycle model (also termed process model) is a pictorial and diagrammatic representation of the software life cycle. A life cycle model represents all the methods required to make a software product transit through its life cycle stages. It also captures the structure in which these methods are to be undertaken. In other words, a life cycle model maps the various activities performed on a software product from its inception to retirement. Different life cycle models may plan the necessary development activities to phases in different ways
  • 11.
  • 12. . AGILE MODEL By breaking the product into cycles, the Agile model quickly delivers a working product and is considered a very realistic development approach. The model produces ongoing releases, each with small, incremental changes from the previous release. At each iteration, the product is tested. This model emphasizes interaction, as the customers, developers and testers work together throughout the project. But since this model depends heavily on customer interaction, the project can head the wrong way if the customer is not clear on the direction he or she wants to go.
  • 13. AGILE PRINCIPLES The highest priority of this process is to satisfy the customer. Acceptance of changing requirement even late in development. Frequently deliver a working software in small time span. Throughout the project business people and developers work together on daily basis. Projects are created around motivated people if they are given the proper environment and support. Face to face interaction is the most efficient method of moving information in the development team. Primary measure of progress is a working software. Agile process helps in sustainable development. Continuous attention to technical excellence and good design increases agility. From self organizing teams the best architecture, design and requirements are emerged.
  • 14. SRS The output of the requirements phase of the software development process is Software Requirements Specification (SRS) (also known as requirements document). This document lays a foundation for software engineering activities and is created when entire requirements are elicited and analyzed. SRS is a formal document, which acts as a representation of software that enables the users to review whether it (SRS) is according to their requirements. In addition, it includes user requirements for a system as well as detailed specifications of the system requirements.
  • 15. VARIOUS OTHER PURPOSES SERVED BY SRS ARE LISTED BELOW. Feedback: Provides a feedback, which ensures to the user that the organization (which develops the software) understands the issues or problems to be solved and the software behavior necessary to address those problems. Decompose problem into components: Organizes the information and divides the problem into its component parts in an orderly manner. Validation: Uses validation strategies applied to the requirements to acknowledge that requirements are stated properly. Input to design: Contains sufficient detail in the functional system requirements to devise a design solution. Basis for agreement between the user and the organization: Provides a complete description of the functions to be performed by the system. In addition, it helps the users to determine whether the specified requirements are accomplished. Reduce the development effort: Enables developers to consider user requirements before the designing of the system commences. As a result, 'rework' and inconsistencies in the later stages can be reduced. Estimating costs and schedules: Determines the requirements of the
  • 16. Correct: SRS is correct when all user requirements are stated in the requirements document. The stated requirements should be according to the desired system.. Correctness ensures that all specified requirements are performed correctly. Unambiguous: SRS is unambiguous when every stated requirement has only one interpretation. This implies that each requirement is uniquely interpreted. In case there is a term used with multiple meanings, the requirements document should specify the meanings in the SRS so that it is clear and easy to understand. Complete: SRS is complete when the requirements clearly define what the software is required to do. This includes all the requirements related to performance, design and functionality.
  • 17. Ranked for importance/stability: All requirements are not equally important, hence each requirement is identified to make differences among other requirements. For this, it is essential to clearly identify each requirement. Modifiable: The requirements of the user can change, hence requirements document should be created in such a manner that those changes can be modified easily, consistently maintaining the structure and style of the SRS. Traceable: SRS is traceable when the source of each requirement is clear and facilitates the reference of each requirement in future. Verifiable: SRS is verifiable when the specified requirements can be verified with a cost-effective process to check whether the final software meets those requirements. Consistent: SRS is consistent when the subsets of individual requirements defined do not conflict with each other. For example, there can be a case when different requirements can use different terms to refer to the same object. For instance, a requirement states that an event 'a' is to occur before another event 'b'. But then another set of requirements states (directly or indirectly by transitivity) that event 'b' should occur before
  • 18. REQUIREMENTS MODELING Requirements modeling in software engineering identifies the requirements that a software application or system must meet in order to solve the business problem. Requirements are divided into functional (what the system will have to do) and non-functional (constraints within which the system will have to perform).