SlideShare a Scribd company logo
Introduction to
Advanced Software
Engineering
Introduction to SE
Topic to be Cover
Definition and Importance of Software Engineering
 Professional Software Development
 Software Development Life Cycle (SDLC)
Software Engineering Ethics.
Software
Software is computer programs and associated
documentation. Software products may be developed
for a particular customer or may be developed for a
general market.
Characteristics of good software
■ Reliability.
■ Scalability.
■ Portability.
■ Usability.
Reusability.
dependable
functionality
performance
maintainable
Chapter 1 Introduction
Software Engineering
 Software engineering is the process of developing, testing and deploying
computer applications to solve real-world problems by adhering to a set
of engineering principles and best practices.
 Software engineering also encompasses project management, quality
assurance, and the use of various tools and methodologies to manage the
complexity of large software projects, ensuring to complete on time,
within budget, and to the required quality standards.
Importance of Software Engineering
 Ensures High-Quality Software: Through rigorous testing, quality assurance, and
adherence to best practices, software engineering helps produce reliable, efficient, and
maintainable software.
 Meets User and Stakeholder Needs: Requirements analysis and system design ensure
that the software aligns with user expectations and business objectives, reducing
misunderstandings and setting clear expectations.
 Facilitates Efficient Project Management: Structured methodologies and project
management techniques help in organizing resources, timelines, and budgets, ensuring
projects are completed on time and within budget.
 Supports Ongoing Maintenance and Adaptability: Continuous maintenance and
documentation keep the software functional and relevant over time, allowing for
updates and new features to be implemented effectively.
 Manages Complexity and Change: Configuration management and development
methodologies provide tools and processes to handle the complexities and changes in
software development, ensuring consistency and integrity throughout the software
lifecycle.
Challenges facing software engineering
Challenges facing software engineering including
■ Advancement in Rapid Technologies
■ Change in Culture
■ Cyber security
■ Artificial Intelligence and Automation
■ Lack of Alignment between the User and Sponsor Needs
■ Mismanaged Timelines
■ Quality Assurance
■ Delays in Release
Software Products
Software engineers are concerned with developing software products.
there are two kinds of software products:
1. Generic products
stand-alone systems that are produced by a development organization and sold
on the open market to any customer who is able to buy them.
in generic products, the organization that develops the software controls the
software specification.
2. Customized products: are systems that are commissioned by a particular
customer. A software contractor develops the software, especially for that
customer.
the specification is usually developed and controlled by the organization that
Fundamental Software Engineering activities
There are four fundamental activities that are common to all software
processes. These activities are:
 Software specifications, where customers and engineers define the
software that is to be produced and the constraints on its operation.
 Software development, where the software is designed and programmed.
 Software validation, where the software is checked to ensure that it is
what the customer requires.
 Software evolution, where the software is modified to reflect changing
customer and market requirements.
The Software Development Life Cycle (SDLC)
■ The Software Development Life Cycle (SDLC) is a structured
process used by software engineers and developers to design,
develop, test, and maintain high-quality software. It provides a
systematic approach to software development through a series
of well-defined phases include:
1. Planning:
 Define the scope and purpose of the project.
 Identify resources, timelines, and potential risks.
 Conduct feasibility studies to ensure the project is viable.
Cont...
2. Requirements Analysis:
 Gather and document detailed requirements from stakeholders.
 Create a requirements specification document that outlines
functional and non-functional requirements.
 Validate and manage requirements to ensure they meet
stakeholders' needs.
3. Design
 Create architectural designs and system models.
 Develop detailed design specifications for system components,
including data models, user interfaces, and system interfaces.
 Use design patterns and best practices to ensure scalability and
maintainability.
Cont…
4. Implementation (Coding):
 Write code based on the design specifications.
 Use appropriate programming languages and tools.
 Follow coding standards and guidelines to ensure code quality.
5. Testing:
 Perform various testing activities, including unit testing, integration
testing, system testing, and acceptance testing.
 Identify and fix defects to ensure the software meets quality standards.
 Conduct performance and security testing as needed.
Cont…
6. Deployment:
 Prepare the software for release, including packaging and
distribution.
 Deploy the software to the production environment.
 Provide training and documentation for users and support staff.
7. Maintenance:
 Provide ongoing support and maintenance for the software.
 Address any issues, bugs, or enhancements identified after
deployment.
 Implement updates and upgrades to keep the software current and
secure.
Professional Software Development
 Adherence to Best Practices and Standards
 Use of Development Methodologies
 Emphasis on Quality Assurance
 Effective Project Management
 Collaboration and Communication
 Continuous Integration and Deployment (CI/CD)
 Maintenance and Support
 Ethics and Professionalism
Issues Affected Software Engineering
1. Heterogeneity Increasingly
different types of Technology
2. Business and social change
Incredibly quickly of new technologies become available.
3. Security and trust
General risk of network reliability
Chapter 1 Introduction
Software Engineering Diversity
1. Stand-lone applications
run on a local computer, such as a PC.
2. Interactive transaction-based applications
Execute on a remote computer and accessed by users from their own PCs
3. Embedded control systems
software systems that control and manage hardware devices.
4. Batch processing systems
business systems that are designed to process data in large batches.
7
16
Cont….
5. Entertainment systems
for personal use and which are intended to entertain the user eg games
6. modeling and simulation Systems
Developed by scientists and engineers to model physical processes or
situations.
7. Data collection systems
collect data from their environment using a set of sensors
8. Systems of systems
composed of a number of other software systems.
Software Engineering Ethics
Software engineering ethics involves the application of moral
principles and professional standards to the practice of software
engineering.
It ensures that software engineers act responsibly and ethically in
their professional activities, considering the impact of their
work on society, users, and stakeholders.
Software engineers must behave in an honestly, ethically and
responsible way.
Ethical behavior is more than simply upholding the law but
involves following a set of principles that are morally correct.
18
Issues of Professional Responsibility
 Confidentiality
Engineers should normally respect the confidentiality of their employers
or clients irrespective of whether or not a formal confidentiality
agreement has been signed.
 Competence
Engineers should not misrepresent their level of competence.
 Intellectual property rights
Engineers should be aware of local laws governing the use of intellectual
property such as patents, copyright, etc. They should be careful to ensure
that the intellectual property of employers and clients is protected.
 Computer misuse
Software engineers should not use their technical skills to misuse other
people’s computers.
19
THANK YOU!

More Related Content

PPTX
Lecture-1,2-Introduction to SE.pptx
PPTX
Slidesnumber1of the main course and this is the final show
PDF
Software engineering study materials
PPTX
SE chp1 update and learning management .pptx
PPTX
20CS4103 SE UNIT 1-1.pptx software engineering
PPTX
Veternary Medicene Data management tool for ppt
PPTX
software engineerning maetrial for developing
Lecture-1,2-Introduction to SE.pptx
Slidesnumber1of the main course and this is the final show
Software engineering study materials
SE chp1 update and learning management .pptx
20CS4103 SE UNIT 1-1.pptx software engineering
Veternary Medicene Data management tool for ppt
software engineerning maetrial for developing

Similar to Chapter 1 Introduction to Software Engineering.pdf (20)

PDF
Software Engineering Unit-1
PPTX
Week_01-Intro to Software Engineering (1).pptx
PPT
1. Introduction to Software Engineering and Software Process.ppt
PPTX
AdSE - Week1-2-software engineering.pptx
PPTX
What is software engineering
PDF
SE 18CS35 Module 1.pdf
PPT
Week_01-Intro to Software Engineering-1.ppt
PDF
Introduction of software engineering
PPTX
Custom Software Development Lifecycle.pptx
PPTX
Software engineering (Unit-1 Introduction)
PPTX
Lecture 1 SE.pptx
PDF
sw1.pdf
PDF
Introduction to Software Engineering
PPT
Ian Sommerville, Software Engineering, 9th Edition Ch1
PPT
SE Lecture 1.ppt
PPT
SE Lecture 1.ppt
PPTX
Software Engineering UPTU
PPT
Unit 1 introduction tosoftengg_mba tech ii year
Software Engineering Unit-1
Week_01-Intro to Software Engineering (1).pptx
1. Introduction to Software Engineering and Software Process.ppt
AdSE - Week1-2-software engineering.pptx
What is software engineering
SE 18CS35 Module 1.pdf
Week_01-Intro to Software Engineering-1.ppt
Introduction of software engineering
Custom Software Development Lifecycle.pptx
Software engineering (Unit-1 Introduction)
Lecture 1 SE.pptx
sw1.pdf
Introduction to Software Engineering
Ian Sommerville, Software Engineering, 9th Edition Ch1
SE Lecture 1.ppt
SE Lecture 1.ppt
Software Engineering UPTU
Unit 1 introduction tosoftengg_mba tech ii year
Ad

More from MohamedAhmed686097 (20)

PPT
malnutrition in adults in malnutrition lecture.ppt
PPTX
spirochetes microbiology lecture in medical.pptx
PPTX
management_of_acute_malnutrition(malnutrition)-.pptx
PPTX
Chapter 3 Nutrition Assessment (nutrition).pptx
PPTX
management_of_acute_malnutrition(malnutrition)-.pptx
PPTX
TISSUES AND HOMEOSTASIS introduction cytology.pptx
PPTX
Introduction and features to Django.pptx
PPT
Chapter One Java Swings GUA programming.ppt
PPT
Amino_acids_and_protein_biochemistry_ppt-1.ppt
PPTX
Chapter 4 Linked List introduction lessons.pptx
PPTX
RESPIRATORY SYSTEM HISTOLOGY introduction (2).pptx
DOCX
Chemistry of Carbohydrates introduction lesson.docx
PPT
Research Methodology for Computing & ICT , Abaarso Tech 2025.ppt
DOCX
BioChemstry introduction lesson CH1-1.docx
PPTX
LIVER, GALLBLADDER slides of medicine,.pptx
PPT
introductiontomedicalterminology-hssedition11-2009-111102154411-phpapp02 (1).ppt
PPTX
Important_Terms_in_Embryology slides .pptx
PPTX
Veretebrea upper limb and lower limb.pptx
PPT
Chapter 1 Skeletal Morphogenesis and Embryonic Development.ppt
PPTX
presentation of Important_Terms_in_Embryology[1].pptx
malnutrition in adults in malnutrition lecture.ppt
spirochetes microbiology lecture in medical.pptx
management_of_acute_malnutrition(malnutrition)-.pptx
Chapter 3 Nutrition Assessment (nutrition).pptx
management_of_acute_malnutrition(malnutrition)-.pptx
TISSUES AND HOMEOSTASIS introduction cytology.pptx
Introduction and features to Django.pptx
Chapter One Java Swings GUA programming.ppt
Amino_acids_and_protein_biochemistry_ppt-1.ppt
Chapter 4 Linked List introduction lessons.pptx
RESPIRATORY SYSTEM HISTOLOGY introduction (2).pptx
Chemistry of Carbohydrates introduction lesson.docx
Research Methodology for Computing & ICT , Abaarso Tech 2025.ppt
BioChemstry introduction lesson CH1-1.docx
LIVER, GALLBLADDER slides of medicine,.pptx
introductiontomedicalterminology-hssedition11-2009-111102154411-phpapp02 (1).ppt
Important_Terms_in_Embryology slides .pptx
Veretebrea upper limb and lower limb.pptx
Chapter 1 Skeletal Morphogenesis and Embryonic Development.ppt
presentation of Important_Terms_in_Embryology[1].pptx
Ad

Recently uploaded (20)

PPTX
Microbial diseases, their pathogenesis and prophylaxis
PDF
Basic Mud Logging Guide for educational purpose
PPTX
The Healthy Child – Unit II | Child Health Nursing I | B.Sc Nursing 5th Semester
PDF
Mark Klimek Lecture Notes_240423 revision books _173037.pdf
PDF
Abdominal Access Techniques with Prof. Dr. R K Mishra
PPTX
Final Presentation General Medicine 03-08-2024.pptx
PPTX
Introduction to Child Health Nursing – Unit I | Child Health Nursing I | B.Sc...
PDF
Classroom Observation Tools for Teachers
PDF
FourierSeries-QuestionsWithAnswers(Part-A).pdf
PPTX
Week 4 Term 3 Study Techniques revisited.pptx
PPTX
PPH.pptx obstetrics and gynecology in nursing
PDF
Supply Chain Operations Speaking Notes -ICLT Program
PDF
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
PDF
O7-L3 Supply Chain Operations - ICLT Program
PDF
Anesthesia in Laparoscopic Surgery in India
PDF
RMMM.pdf make it easy to upload and study
PDF
Physiotherapy_for_Respiratory_and_Cardiac_Problems WEBBER.pdf
PDF
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
PDF
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
PPTX
human mycosis Human fungal infections are called human mycosis..pptx
Microbial diseases, their pathogenesis and prophylaxis
Basic Mud Logging Guide for educational purpose
The Healthy Child – Unit II | Child Health Nursing I | B.Sc Nursing 5th Semester
Mark Klimek Lecture Notes_240423 revision books _173037.pdf
Abdominal Access Techniques with Prof. Dr. R K Mishra
Final Presentation General Medicine 03-08-2024.pptx
Introduction to Child Health Nursing – Unit I | Child Health Nursing I | B.Sc...
Classroom Observation Tools for Teachers
FourierSeries-QuestionsWithAnswers(Part-A).pdf
Week 4 Term 3 Study Techniques revisited.pptx
PPH.pptx obstetrics and gynecology in nursing
Supply Chain Operations Speaking Notes -ICLT Program
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
O7-L3 Supply Chain Operations - ICLT Program
Anesthesia in Laparoscopic Surgery in India
RMMM.pdf make it easy to upload and study
Physiotherapy_for_Respiratory_and_Cardiac_Problems WEBBER.pdf
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
human mycosis Human fungal infections are called human mycosis..pptx

Chapter 1 Introduction to Software Engineering.pdf

  • 3. Topic to be Cover Definition and Importance of Software Engineering  Professional Software Development  Software Development Life Cycle (SDLC) Software Engineering Ethics.
  • 4. Software Software is computer programs and associated documentation. Software products may be developed for a particular customer or may be developed for a general market. Characteristics of good software ■ Reliability. ■ Scalability. ■ Portability. ■ Usability. Reusability. dependable functionality performance maintainable
  • 5. Chapter 1 Introduction Software Engineering  Software engineering is the process of developing, testing and deploying computer applications to solve real-world problems by adhering to a set of engineering principles and best practices.  Software engineering also encompasses project management, quality assurance, and the use of various tools and methodologies to manage the complexity of large software projects, ensuring to complete on time, within budget, and to the required quality standards.
  • 6. Importance of Software Engineering  Ensures High-Quality Software: Through rigorous testing, quality assurance, and adherence to best practices, software engineering helps produce reliable, efficient, and maintainable software.  Meets User and Stakeholder Needs: Requirements analysis and system design ensure that the software aligns with user expectations and business objectives, reducing misunderstandings and setting clear expectations.  Facilitates Efficient Project Management: Structured methodologies and project management techniques help in organizing resources, timelines, and budgets, ensuring projects are completed on time and within budget.  Supports Ongoing Maintenance and Adaptability: Continuous maintenance and documentation keep the software functional and relevant over time, allowing for updates and new features to be implemented effectively.  Manages Complexity and Change: Configuration management and development methodologies provide tools and processes to handle the complexities and changes in software development, ensuring consistency and integrity throughout the software lifecycle.
  • 7. Challenges facing software engineering Challenges facing software engineering including ■ Advancement in Rapid Technologies ■ Change in Culture ■ Cyber security ■ Artificial Intelligence and Automation ■ Lack of Alignment between the User and Sponsor Needs ■ Mismanaged Timelines ■ Quality Assurance ■ Delays in Release
  • 8. Software Products Software engineers are concerned with developing software products. there are two kinds of software products: 1. Generic products stand-alone systems that are produced by a development organization and sold on the open market to any customer who is able to buy them. in generic products, the organization that develops the software controls the software specification. 2. Customized products: are systems that are commissioned by a particular customer. A software contractor develops the software, especially for that customer. the specification is usually developed and controlled by the organization that
  • 9. Fundamental Software Engineering activities There are four fundamental activities that are common to all software processes. These activities are:  Software specifications, where customers and engineers define the software that is to be produced and the constraints on its operation.  Software development, where the software is designed and programmed.  Software validation, where the software is checked to ensure that it is what the customer requires.  Software evolution, where the software is modified to reflect changing customer and market requirements.
  • 10. The Software Development Life Cycle (SDLC) ■ The Software Development Life Cycle (SDLC) is a structured process used by software engineers and developers to design, develop, test, and maintain high-quality software. It provides a systematic approach to software development through a series of well-defined phases include: 1. Planning:  Define the scope and purpose of the project.  Identify resources, timelines, and potential risks.  Conduct feasibility studies to ensure the project is viable.
  • 11. Cont... 2. Requirements Analysis:  Gather and document detailed requirements from stakeholders.  Create a requirements specification document that outlines functional and non-functional requirements.  Validate and manage requirements to ensure they meet stakeholders' needs. 3. Design  Create architectural designs and system models.  Develop detailed design specifications for system components, including data models, user interfaces, and system interfaces.  Use design patterns and best practices to ensure scalability and maintainability.
  • 12. Cont… 4. Implementation (Coding):  Write code based on the design specifications.  Use appropriate programming languages and tools.  Follow coding standards and guidelines to ensure code quality. 5. Testing:  Perform various testing activities, including unit testing, integration testing, system testing, and acceptance testing.  Identify and fix defects to ensure the software meets quality standards.  Conduct performance and security testing as needed.
  • 13. Cont… 6. Deployment:  Prepare the software for release, including packaging and distribution.  Deploy the software to the production environment.  Provide training and documentation for users and support staff. 7. Maintenance:  Provide ongoing support and maintenance for the software.  Address any issues, bugs, or enhancements identified after deployment.  Implement updates and upgrades to keep the software current and secure.
  • 14. Professional Software Development  Adherence to Best Practices and Standards  Use of Development Methodologies  Emphasis on Quality Assurance  Effective Project Management  Collaboration and Communication  Continuous Integration and Deployment (CI/CD)  Maintenance and Support  Ethics and Professionalism
  • 15. Issues Affected Software Engineering 1. Heterogeneity Increasingly different types of Technology 2. Business and social change Incredibly quickly of new technologies become available. 3. Security and trust General risk of network reliability
  • 16. Chapter 1 Introduction Software Engineering Diversity 1. Stand-lone applications run on a local computer, such as a PC. 2. Interactive transaction-based applications Execute on a remote computer and accessed by users from their own PCs 3. Embedded control systems software systems that control and manage hardware devices. 4. Batch processing systems business systems that are designed to process data in large batches. 7 16
  • 17. Cont…. 5. Entertainment systems for personal use and which are intended to entertain the user eg games 6. modeling and simulation Systems Developed by scientists and engineers to model physical processes or situations. 7. Data collection systems collect data from their environment using a set of sensors 8. Systems of systems composed of a number of other software systems.
  • 18. Software Engineering Ethics Software engineering ethics involves the application of moral principles and professional standards to the practice of software engineering. It ensures that software engineers act responsibly and ethically in their professional activities, considering the impact of their work on society, users, and stakeholders. Software engineers must behave in an honestly, ethically and responsible way. Ethical behavior is more than simply upholding the law but involves following a set of principles that are morally correct. 18
  • 19. Issues of Professional Responsibility  Confidentiality Engineers should normally respect the confidentiality of their employers or clients irrespective of whether or not a formal confidentiality agreement has been signed.  Competence Engineers should not misrepresent their level of competence.  Intellectual property rights Engineers should be aware of local laws governing the use of intellectual property such as patents, copyright, etc. They should be careful to ensure that the intellectual property of employers and clients is protected.  Computer misuse Software engineers should not use their technical skills to misuse other people’s computers. 19