SlideShare a Scribd company logo
1 of 32
DISCOVER . LEARN . EMPOWER
Introduction to Software Engineering
University Institute of Engineering
DEPARTMENT OF COMPUTER SCIENCE
& ENGINEERING
Bachelor of Engineering
Subject Name: Software Engineering
Subject Code: 21CST-251
Department of Computer Science
1
Introduction to Software Engineering
CO
Number
Title Level
C01 Students will be able to learn how to apply
the software engineering lifecycle by
demonstrating competence in
communication, planning, analysis, design,
construction, and deployment.
Understand
C02 Students will be able to gain knowledge of
software design and UI design.
Understand
CO3 Students will be able to apply testing
guidelines.
Understand
Course Outcome
Department of computer Science
2
Chapter-1
Topics covered
• Definition of software and Software engineering
• Need of Software engineering
• Objectives of Software engineering
• Software Development Life Cycle
Department of computer Science
3
Software
• Software is a program or set of programs containing instructions
which provide desired functionality .
• The software is collection of Integrated programs.
• Software consists of carefully-organized instructions and code written
by programmers in any of various special computer languages.
• Computer programs and associated documentation such as
requirements, design models and user manuals.
Department of computer Science
4
Dual Role of Software
• 1. As a product –
• It delivers the computing potential across network of Hardware.
• It enables the Hardware to deliver the expected functionality.
• It acts as information transformer because it produces, manages,
acquires, modifies, displays, or transmits information.
• 2. As a vehicle for delivering a product –
• It provides system functionality
• It controls other software
• It helps build other software
Department of computer Science
5
• Program is a set of instruction related each other where as Software
Product is a collection of program designed for specific task.
• Programs are usually small in size where as Software Products are
usually large in size.
• Programs are developed by individuals that means single user where
as Software Product are developed by large no of users.
• In program, there is no documentation or lack in proper documentation
whereas in Software Product, Proper documentation and well
documented and user manual prepared.
Program vs. Software
Department of computer Science
6
• Development of program is Unplanned, usually not Systematic etc but
Development of Software Product is well Systematic, organized,
planned approach.
• Programs provide Limited functionality and less features where as
Software Products provides more functionality as they are big in size
more options and features.
Program vs. Software
Department of computer Science
7
• Software Engineering is a systematic approach to the design,
development, operation, and maintenance of a software system.
• Software engineering is an engineering discipline that’s applied to the
development of software in a systematic approach
• It’s the application of theories, methods, and tools to design build a
software that meets the specifications, cost, and ensures quality.
Software Engineering
Department of computer Science
8
• It is not only concerned with the technical process of building a
software, it also includes activities to manage the project, develop
tools, methods and theories that support the software production.
• Not applying software engineering methods results in more expensive,
less reliable software, and it can be vital on the long term, as the
changes come in, the costs will dramatically increase.
• Different methods and techniques of software engineering are
appropriate for different types of systems.
• For example, games should be developed using series of prototypes,
while critical control systems require a complete analyzable
specification to be developed.
Software Engineering
Department of computer Science
9
• Maintainability – the ease with which changes in a functional unit can be
performed in order to meet prescribed requirements.
• Correctness – the extent to which software meets its specified requirements
• Reusability – the extent to which a module can be used in multiple
applications.
• Testability – the extent to which software facilitates both the establishment of
test criteria and the evaluation of the software with respect to those criteria.
Objectives of Software Engineering
Department of computer Science
10
• Reliability – an attribute of software quality. The extent to which a
program can be expected to perform its intended function, over an
arbitrary time period.
• Portability – the ease with which software can be transferred from
one computer system or environment to another.
• Adaptability – the ease with which software allows differing system
constraints and user needs to be satisfied by making changes to the
software.
Objectives of Software Engineering
Department of computer Science
11
Software Engineering is required due to the following reasons:
• To manage Large software
• For more Scalability
• Cost Management
• To manage the dynamic nature of software
• For better quality Management
Need of Software Engineering
Department of computer Science
12
• Fig 1 Importance of Software Engineering
Importance of Software Engineering
Department of computer Science
13
• Reduces complexity
• Software engineering has a great solution to reduce the complication
of any project.
• Software engineering divides big problems into various small issues.
• And then start solving each small issue one by one. All these small
problems are solved independently to each other.
Importance of Software Engineering
Department of computer Science
14
• To minimize software cost:
• Software needs a lot of hardwork and software engineers are highly
paid experts.
• But using software engineering, programmers project everything and
decrease all those things that are not needed.
• In turn, the cost for software productions becomes less as compared to
any software that does not use software engineering method.
Importance of Software Engineering
Department of computer Science
15
• To decrease time:
• To achieve the requirements of the software, many codes are executed
to reach the definite running code.
• This is a very time-consuming procedure, and if it is not well handled,
then this can take a lot of time.
• So if you are making your software according to the software
engineering method, then it will decrease a lot of time.
Importance of Software Engineering
Department of computer Science
16
• Handling big projects:
• Big projects are not done in a couple of days, and they need lots of
patience, planning, and management.
• And to invest many months of any company, it requires heaps of
planning, direction, testing, and maintenance.
• The company has provided many resources to the plan and it should be
completed well in time.
• So to handle a big project without any problem, the company has to go
for a software engineering method.
Importance of Software Engineering
Department of computer Science
17
• Reliable software:
• Software should be secure, means if you have delivered the software,
then it should work for at least its given time or subscription.
• And if any bugs come in the software, the company is responsible for
solving all these bugs.
• Because in software engineering, testing and maintenance are given,
so there is no worry of its reliability.
Importance of Software Engineering
Department of computer Science
18
• Effectiveness:
• Effectiveness comes if anything has made according to the standards.
• Software standards are the big target of companies to make it more
effective.
• So Software becomes more effective in the act with the help of
software engineering.
Importance of Software Engineering
Department of computer Science
19
• Software Development Life Cycle (SDLC) is a process used by the
software industry to design, develop and test high quality software.
• The SDLC aims to produce a high-quality software that meets or
exceeds customer expectations, reaches completion within times and
cost estimates.
• The life cycle defines a methodology for improving the quality of
software and the overall development process.
• It consists of a detailed plan describing how to develop, maintain,
replace and alter or enhance specific software.
Software Development Life Cycle
Department of computer Science
20
Fig 2 Software Development Life Cycle
Software Development Life Cycle
Department of computer Science
21
• Requirement analysis is the most important and fundamental stage in
SDLC.
• It is performed by the senior members of the team with inputs from the
customer, the sales department, market surveys and domain experts in the
industry.
• The information is then used to plan the basic project approach and to
conduct product feasibility study in the economical, operational and
technical areas.
• The outcome of the technical feasibility study defines various approaches
that can be followed to implement the project successfully with minimum
risks.
Stage 1: Requirement Analysis
Department of computer Science
22
• Once the requirement analysis is done the next step is to clearly define
and document the product requirements and get them approved from
the customer or the market analysts.
• This is done through an SRS (Software Requirement
Specification) document which consists of all the product
requirements to be designed and developed during the project life
cycle
Stage 2: Defining Requirements
Department of computer Science
23
• Based on the requirements specified in SRS, usually more than one
design approach for the product architecture is proposed and
documented in a Design Document Specification (DDS).
• DDS is reviewed by all the important stakeholders and based on
various parameters as risk assessment, product robustness, design
modularity, budget and time constraints, the best design approach is
selected for the product.
• A design approach clearly defines all the architectural modules of the
product along with its communication and data flow representation
with the external and third party modules.
Stage 3: Designing the Product Architecture
Department of computer Science
24
• In this stage of SDLC the actual development starts and the product is
built.
• The programming code is generated as per DDS during this stage.
• If the design is performed in a detailed and organized manner, code
generation can be accomplished without much hassle.
Stage 4: Building or Developing the Product
Department of computer Science
25
• Developers must follow the coding guidelines defined by their
organization and programming tools like compilers, interpreters,
debuggers, etc. are used to generate the code.
• Different high level programming languages such as C, C++, Pascal,
Java and PHP are used for coding.
• The programming language is chosen with respect to the type of
software being developed.
Stage 4: Building or Developing the Product
Department of computer Science
26
• This stage is usually a subset of all the stages as in the modern SDLC
models, the testing activities are mostly involved in all the stages of
SDLC.
• However, this stage refers to the testing only stage of the product
where product defects are reported, tracked, fixed and retested, until
the product reaches the quality standards defined in the SRS.
Stage 5: Testing the Product
Department of computer Science
27
• Once the product is tested and ready to be deployed it is released
formally in the appropriate market.
• Sometimes product deployment happens in stages as per the business
strategy of that organization.
• The product may first be released in a limited segment and tested in
the real business environment (UAT- User acceptance testing).
Stage 6: Deployment in the Market and
Maintenance
Department of computer Science
28
• Then based on the feedback, the product may be released as it is or
with suggested enhancements in the targeting market segment.
• After the product is released in the market, its maintenance is done for
the existing customer base.
Stage 6: Deployment in the Market and
Maintenance
Department of computer Science
29
• https://nptel.ac.in/courses/106/105/106105182/
• https://www.tutorialspoint.com/software_engineering/index.htm
• https://www.javatpoint.com/software-engineering-tutorial
• https://www.tutorialride.com/software-engineering/software-
engineering-tutorial.htm
• https://tutorialsinhand.com/tutorials/software-engineering-
tutorial/software-engineering-introduction/software-engineering-
home.aspx
References
Department of computer Science
30
Image References
• Fig 1
https://www.tutorialspoint.com/software_engineering/index.htm
• Fig 2
• https://www.tutorialride.com/software-engineering/software-
engineering-tutorial.htm
31
THANK YOU
32

More Related Content

Similar to Lecture 1.pptx

ppt_se.bdfhrfykjyftiktgdukhydiyiuoyu8otrfu
ppt_se.bdfhrfykjyftiktgdukhydiyiuoyu8otrfuppt_se.bdfhrfykjyftiktgdukhydiyiuoyu8otrfu
ppt_se.bdfhrfykjyftiktgdukhydiyiuoyu8otrfutubashaikh26
 
Software Engineering _ Introduction
Software Engineering _ IntroductionSoftware Engineering _ Introduction
Software Engineering _ IntroductionThenmozhiK5
 
unit 1.pptx regasts sthatbabs shshsbsvsbsh
unit 1.pptx regasts sthatbabs shshsbsvsbshunit 1.pptx regasts sthatbabs shshsbsvsbsh
unit 1.pptx regasts sthatbabs shshsbsvsbshsagarjsicg
 
Software Development Methodologies.pptx
Software Development Methodologies.pptxSoftware Development Methodologies.pptx
Software Development Methodologies.pptxMohamedElshaikh10
 
Unit_1(Software and Software Engineering).pptx
Unit_1(Software and Software Engineering).pptxUnit_1(Software and Software Engineering).pptx
Unit_1(Software and Software Engineering).pptxtaxegap762
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software EngineeringSADEED AMEEN
 
Java learn from basic part chapter_01 short notes to understand the java quic...
Java learn from basic part chapter_01 short notes to understand the java quic...Java learn from basic part chapter_01 short notes to understand the java quic...
Java learn from basic part chapter_01 short notes to understand the java quic...GaytriMate
 
Lecture1 (SE Introduction)
Lecture1 (SE Introduction)Lecture1 (SE Introduction)
Lecture1 (SE Introduction)Education Front
 
Software engineering
Software engineeringSoftware engineering
Software engineeringnimmik4u
 

Similar to Lecture 1.pptx (20)

ppt_se.bdfhrfykjyftiktgdukhydiyiuoyu8otrfu
ppt_se.bdfhrfykjyftiktgdukhydiyiuoyu8otrfuppt_se.bdfhrfykjyftiktgdukhydiyiuoyu8otrfu
ppt_se.bdfhrfykjyftiktgdukhydiyiuoyu8otrfu
 
ppt_se.pdf
ppt_se.pdfppt_se.pdf
ppt_se.pdf
 
Software Engineering _ Introduction
Software Engineering _ IntroductionSoftware Engineering _ Introduction
Software Engineering _ Introduction
 
SE Unit-1.pptx
SE Unit-1.pptxSE Unit-1.pptx
SE Unit-1.pptx
 
Sdlc phases
Sdlc phasesSdlc phases
Sdlc phases
 
Sdlc phases
Sdlc phasesSdlc phases
Sdlc phases
 
unit 1.pptx regasts sthatbabs shshsbsvsbsh
unit 1.pptx regasts sthatbabs shshsbsvsbshunit 1.pptx regasts sthatbabs shshsbsvsbsh
unit 1.pptx regasts sthatbabs shshsbsvsbsh
 
Week1.pptx
Week1.pptxWeek1.pptx
Week1.pptx
 
Software Development Methodologies.pptx
Software Development Methodologies.pptxSoftware Development Methodologies.pptx
Software Development Methodologies.pptx
 
Unit_1(Software and Software Engineering).pptx
Unit_1(Software and Software Engineering).pptxUnit_1(Software and Software Engineering).pptx
Unit_1(Software and Software Engineering).pptx
 
Scope of software engineering
Scope of software engineeringScope of software engineering
Scope of software engineering
 
SE Unit 1
SE Unit 1SE Unit 1
SE Unit 1
 
SE UNIT-1.pptx
SE UNIT-1.pptxSE UNIT-1.pptx
SE UNIT-1.pptx
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
Java learn from basic part chapter_01 short notes to understand the java quic...
Java learn from basic part chapter_01 short notes to understand the java quic...Java learn from basic part chapter_01 short notes to understand the java quic...
Java learn from basic part chapter_01 short notes to understand the java quic...
 
A Software Engineer
A Software EngineerA Software Engineer
A Software Engineer
 
Lecture1 (SE Introduction)
Lecture1 (SE Introduction)Lecture1 (SE Introduction)
Lecture1 (SE Introduction)
 
UNIT-I.pptx
UNIT-I.pptxUNIT-I.pptx
UNIT-I.pptx
 
Software engineering
Software engineeringSoftware engineering
Software engineering
 
sw1.pdf
sw1.pdfsw1.pdf
sw1.pdf
 

Recently uploaded

Application of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptxApplication of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptx959SahilShah
 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionDr.Costas Sachpazis
 
Churning of Butter, Factors affecting .
Churning of Butter, Factors affecting  .Churning of Butter, Factors affecting  .
Churning of Butter, Factors affecting .Satyam Kumar
 
Concrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxConcrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxKartikeyaDwivedi3
 
Heart Disease Prediction using machine learning.pptx
Heart Disease Prediction using machine learning.pptxHeart Disease Prediction using machine learning.pptx
Heart Disease Prediction using machine learning.pptxPoojaBan
 
Effects of rheological properties on mixing
Effects of rheological properties on mixingEffects of rheological properties on mixing
Effects of rheological properties on mixingviprabot1
 
Artificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxArtificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxbritheesh05
 
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerStudy on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerAnamika Sarkar
 
complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...asadnawaz62
 
Introduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECHIntroduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECHC Sai Kiran
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile servicerehmti665
 
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETEINFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETEroselinkalist12
 
Electronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdfElectronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdfme23b1001
 
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVRajaP95
 
main PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidmain PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidNikhilNagaraju
 
Internship report on mechanical engineering
Internship report on mechanical engineeringInternship report on mechanical engineering
Internship report on mechanical engineeringmalavadedarshan25
 
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdfCCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdfAsst.prof M.Gokilavani
 
Biology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxBiology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxDeepakSakkari2
 

Recently uploaded (20)

Application of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptxApplication of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptx
 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
 
Churning of Butter, Factors affecting .
Churning of Butter, Factors affecting  .Churning of Butter, Factors affecting  .
Churning of Butter, Factors affecting .
 
Concrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxConcrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptx
 
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptxExploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
 
Heart Disease Prediction using machine learning.pptx
Heart Disease Prediction using machine learning.pptxHeart Disease Prediction using machine learning.pptx
Heart Disease Prediction using machine learning.pptx
 
Effects of rheological properties on mixing
Effects of rheological properties on mixingEffects of rheological properties on mixing
Effects of rheological properties on mixing
 
Artificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxArtificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptx
 
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerStudy on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
 
complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...
 
Introduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECHIntroduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECH
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile service
 
young call girls in Green Park🔝 9953056974 🔝 escort Service
young call girls in Green Park🔝 9953056974 🔝 escort Serviceyoung call girls in Green Park🔝 9953056974 🔝 escort Service
young call girls in Green Park🔝 9953056974 🔝 escort Service
 
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETEINFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
 
Electronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdfElectronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdf
 
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
 
main PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidmain PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfid
 
Internship report on mechanical engineering
Internship report on mechanical engineeringInternship report on mechanical engineering
Internship report on mechanical engineering
 
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdfCCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
 
Biology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxBiology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptx
 

Lecture 1.pptx

  • 1. DISCOVER . LEARN . EMPOWER Introduction to Software Engineering University Institute of Engineering DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING Bachelor of Engineering Subject Name: Software Engineering Subject Code: 21CST-251 Department of Computer Science 1
  • 2. Introduction to Software Engineering CO Number Title Level C01 Students will be able to learn how to apply the software engineering lifecycle by demonstrating competence in communication, planning, analysis, design, construction, and deployment. Understand C02 Students will be able to gain knowledge of software design and UI design. Understand CO3 Students will be able to apply testing guidelines. Understand Course Outcome Department of computer Science 2
  • 3. Chapter-1 Topics covered • Definition of software and Software engineering • Need of Software engineering • Objectives of Software engineering • Software Development Life Cycle Department of computer Science 3
  • 4. Software • Software is a program or set of programs containing instructions which provide desired functionality . • The software is collection of Integrated programs. • Software consists of carefully-organized instructions and code written by programmers in any of various special computer languages. • Computer programs and associated documentation such as requirements, design models and user manuals. Department of computer Science 4
  • 5. Dual Role of Software • 1. As a product – • It delivers the computing potential across network of Hardware. • It enables the Hardware to deliver the expected functionality. • It acts as information transformer because it produces, manages, acquires, modifies, displays, or transmits information. • 2. As a vehicle for delivering a product – • It provides system functionality • It controls other software • It helps build other software Department of computer Science 5
  • 6. • Program is a set of instruction related each other where as Software Product is a collection of program designed for specific task. • Programs are usually small in size where as Software Products are usually large in size. • Programs are developed by individuals that means single user where as Software Product are developed by large no of users. • In program, there is no documentation or lack in proper documentation whereas in Software Product, Proper documentation and well documented and user manual prepared. Program vs. Software Department of computer Science 6
  • 7. • Development of program is Unplanned, usually not Systematic etc but Development of Software Product is well Systematic, organized, planned approach. • Programs provide Limited functionality and less features where as Software Products provides more functionality as they are big in size more options and features. Program vs. Software Department of computer Science 7
  • 8. • Software Engineering is a systematic approach to the design, development, operation, and maintenance of a software system. • Software engineering is an engineering discipline that’s applied to the development of software in a systematic approach • It’s the application of theories, methods, and tools to design build a software that meets the specifications, cost, and ensures quality. Software Engineering Department of computer Science 8
  • 9. • It is not only concerned with the technical process of building a software, it also includes activities to manage the project, develop tools, methods and theories that support the software production. • Not applying software engineering methods results in more expensive, less reliable software, and it can be vital on the long term, as the changes come in, the costs will dramatically increase. • Different methods and techniques of software engineering are appropriate for different types of systems. • For example, games should be developed using series of prototypes, while critical control systems require a complete analyzable specification to be developed. Software Engineering Department of computer Science 9
  • 10. • Maintainability – the ease with which changes in a functional unit can be performed in order to meet prescribed requirements. • Correctness – the extent to which software meets its specified requirements • Reusability – the extent to which a module can be used in multiple applications. • Testability – the extent to which software facilitates both the establishment of test criteria and the evaluation of the software with respect to those criteria. Objectives of Software Engineering Department of computer Science 10
  • 11. • Reliability – an attribute of software quality. The extent to which a program can be expected to perform its intended function, over an arbitrary time period. • Portability – the ease with which software can be transferred from one computer system or environment to another. • Adaptability – the ease with which software allows differing system constraints and user needs to be satisfied by making changes to the software. Objectives of Software Engineering Department of computer Science 11
  • 12. Software Engineering is required due to the following reasons: • To manage Large software • For more Scalability • Cost Management • To manage the dynamic nature of software • For better quality Management Need of Software Engineering Department of computer Science 12
  • 13. • Fig 1 Importance of Software Engineering Importance of Software Engineering Department of computer Science 13
  • 14. • Reduces complexity • Software engineering has a great solution to reduce the complication of any project. • Software engineering divides big problems into various small issues. • And then start solving each small issue one by one. All these small problems are solved independently to each other. Importance of Software Engineering Department of computer Science 14
  • 15. • To minimize software cost: • Software needs a lot of hardwork and software engineers are highly paid experts. • But using software engineering, programmers project everything and decrease all those things that are not needed. • In turn, the cost for software productions becomes less as compared to any software that does not use software engineering method. Importance of Software Engineering Department of computer Science 15
  • 16. • To decrease time: • To achieve the requirements of the software, many codes are executed to reach the definite running code. • This is a very time-consuming procedure, and if it is not well handled, then this can take a lot of time. • So if you are making your software according to the software engineering method, then it will decrease a lot of time. Importance of Software Engineering Department of computer Science 16
  • 17. • Handling big projects: • Big projects are not done in a couple of days, and they need lots of patience, planning, and management. • And to invest many months of any company, it requires heaps of planning, direction, testing, and maintenance. • The company has provided many resources to the plan and it should be completed well in time. • So to handle a big project without any problem, the company has to go for a software engineering method. Importance of Software Engineering Department of computer Science 17
  • 18. • Reliable software: • Software should be secure, means if you have delivered the software, then it should work for at least its given time or subscription. • And if any bugs come in the software, the company is responsible for solving all these bugs. • Because in software engineering, testing and maintenance are given, so there is no worry of its reliability. Importance of Software Engineering Department of computer Science 18
  • 19. • Effectiveness: • Effectiveness comes if anything has made according to the standards. • Software standards are the big target of companies to make it more effective. • So Software becomes more effective in the act with the help of software engineering. Importance of Software Engineering Department of computer Science 19
  • 20. • Software Development Life Cycle (SDLC) is a process used by the software industry to design, develop and test high quality software. • The SDLC aims to produce a high-quality software that meets or exceeds customer expectations, reaches completion within times and cost estimates. • The life cycle defines a methodology for improving the quality of software and the overall development process. • It consists of a detailed plan describing how to develop, maintain, replace and alter or enhance specific software. Software Development Life Cycle Department of computer Science 20
  • 21. Fig 2 Software Development Life Cycle Software Development Life Cycle Department of computer Science 21
  • 22. • Requirement analysis is the most important and fundamental stage in SDLC. • It is performed by the senior members of the team with inputs from the customer, the sales department, market surveys and domain experts in the industry. • The information is then used to plan the basic project approach and to conduct product feasibility study in the economical, operational and technical areas. • The outcome of the technical feasibility study defines various approaches that can be followed to implement the project successfully with minimum risks. Stage 1: Requirement Analysis Department of computer Science 22
  • 23. • Once the requirement analysis is done the next step is to clearly define and document the product requirements and get them approved from the customer or the market analysts. • This is done through an SRS (Software Requirement Specification) document which consists of all the product requirements to be designed and developed during the project life cycle Stage 2: Defining Requirements Department of computer Science 23
  • 24. • Based on the requirements specified in SRS, usually more than one design approach for the product architecture is proposed and documented in a Design Document Specification (DDS). • DDS is reviewed by all the important stakeholders and based on various parameters as risk assessment, product robustness, design modularity, budget and time constraints, the best design approach is selected for the product. • A design approach clearly defines all the architectural modules of the product along with its communication and data flow representation with the external and third party modules. Stage 3: Designing the Product Architecture Department of computer Science 24
  • 25. • In this stage of SDLC the actual development starts and the product is built. • The programming code is generated as per DDS during this stage. • If the design is performed in a detailed and organized manner, code generation can be accomplished without much hassle. Stage 4: Building or Developing the Product Department of computer Science 25
  • 26. • Developers must follow the coding guidelines defined by their organization and programming tools like compilers, interpreters, debuggers, etc. are used to generate the code. • Different high level programming languages such as C, C++, Pascal, Java and PHP are used for coding. • The programming language is chosen with respect to the type of software being developed. Stage 4: Building or Developing the Product Department of computer Science 26
  • 27. • This stage is usually a subset of all the stages as in the modern SDLC models, the testing activities are mostly involved in all the stages of SDLC. • However, this stage refers to the testing only stage of the product where product defects are reported, tracked, fixed and retested, until the product reaches the quality standards defined in the SRS. Stage 5: Testing the Product Department of computer Science 27
  • 28. • Once the product is tested and ready to be deployed it is released formally in the appropriate market. • Sometimes product deployment happens in stages as per the business strategy of that organization. • The product may first be released in a limited segment and tested in the real business environment (UAT- User acceptance testing). Stage 6: Deployment in the Market and Maintenance Department of computer Science 28
  • 29. • Then based on the feedback, the product may be released as it is or with suggested enhancements in the targeting market segment. • After the product is released in the market, its maintenance is done for the existing customer base. Stage 6: Deployment in the Market and Maintenance Department of computer Science 29
  • 30. • https://nptel.ac.in/courses/106/105/106105182/ • https://www.tutorialspoint.com/software_engineering/index.htm • https://www.javatpoint.com/software-engineering-tutorial • https://www.tutorialride.com/software-engineering/software- engineering-tutorial.htm • https://tutorialsinhand.com/tutorials/software-engineering- tutorial/software-engineering-introduction/software-engineering- home.aspx References Department of computer Science 30
  • 31. Image References • Fig 1 https://www.tutorialspoint.com/software_engineering/index.htm • Fig 2 • https://www.tutorialride.com/software-engineering/software- engineering-tutorial.htm 31