SlideShare a Scribd company logo
1 of 35
Scope of Software Engineering
Muhammad Naveed Zafar
Educational Background
BS in Computer Science
(Bahria University)
MS in Software Project
Management
(FAST University)*
Professional Experience
Project Manager
(NevTech)
Faculty Member
(Aptech MSG)
Project Coordinator
AMI
Software Engineer
GoSafe Systems
Agenda
 What, Why and Aspects of Software Engineering ?
 Horror Software Failure Stories
 Software Engineer Line of Actions
 Software Engineering Stakeholders
 Engineering Approach
 Roles and Members of Development Team
 Problem Solving Paradigms
 SDLC Models
 Best Practices to be Adopt
 Scrum Methodologies
What is software?
• Computer programs and associated documentation
• Software products may be developed for a particular
customer or may be developed for a general market
• Software products may be
– Generic/COTS - developed to be sold to a range of
different customers
– Custom- developed for a customer according to their
specification
What is Engineering?
• Engineering is …
– The application of scientific principles and methods to the
construction of useful structures.
Examples:
– Mechanical engineering
– Computer engineering
– Civil engineering
– Chemical engineering
– Electrical engineering
– Nuclear engineering
– Aeronautical engineering
What Actually “Software Engineering”?
• A discipline whose aim in the production of software that
– meets the client‟s needs
– fault-free
– delivered on time
– delivered within budget
– easy to modify
Why the need for Software Engineering?
Software Crisis: Unacceptable low quality of software,
exceeds deadline and budget.
Canceled, 23%
Successful,
28%
*Completed with
Faults, 49%
*Completed late, over budget, and/or with features missing
Why Software Engineering ?
• The problem is complexity
• Many sources, but size is a key:
– Mozilla contains 3 Million lines of code
– UNIX contains 4 million lines of code
– Windows 2000 contains 108 lines of code
• Second is roles define
• Third is uncertainty of “inputs” and their timing
• Fourth is the continuing changing “environment” and demands.
Software engineering is about managing all the sources of complexity to
produce effective software.
Software Engineering Aspects
• Historical Aspects:
– , a NATO group coined the term “Software Engineering”
– NATO Software Engineering Conference concurred that
“Software production should be an engineering-like activity”
– Using philosophies and paradigms of established engineering
disciplines to solve Software Crisis that the quality of software was
generally unacceptably low and that deadlines and cost limits were
not being met”
• Economic Aspects
– Software Engineering v.s. Computer Science
• The computer scientist investigates several ways to produce
software, some good and some bad
• But the software engineer is interested in only those techniques
that make sound economic sense.
For example: A coding technique that can execute very efficiently
but with higher maintenance cost may not be a good choice, since
maintenance occupies a lot of resources of the whole life cycle.
Software Engineering Aspects…
• Maintenance Aspects
– Software Life Cycle / Software Process
• Requirements Phase
• Specification (Analysis) Phase
• Planning Phase
• Design Phase
• Implementation Phase
• Integration Phase
• Maintenance Phase highest cost among all these phases)
• Retirement
Software Engineering Aspects…
Requirement 2%
Specification 4%
Planning 1%
Design 6%
Module Coding 5%
Module Testing 7%
Integration 8%
Maintenance
67%
Maintenance Aspects
Maintenance
Approximate relative costs
of the phases of the software
life cycle.
Maintenance is so important that a major aspect of software
engineering consists of techniques, tools, and practices that lead to a
reduction in maintenance cost
Horror Software Failure Stories
• Patients died as a consequence of severe overdoses of
radiation.
• US Treasury Department mailed incorrectly printed Social
Security Checks.
• Interest miscalculated on student loans resulting in higher
monthly payments.
• Mars Climate Orbiter spacecraft crashes into the surface of
Mars because of measurement conversion error.
Consequences of software failures range from inconvenience to death!
Software Engineer Line of Actions
Software Engineers should
– adopt a systematic and organised approach to all aspects
of software development.
– use appropriate tools and techniques depending on
• the problem to be solved,
• the development constraints and
• the resources available
– Understand and communicate processes for improved
software development within their organization
– Be effective team members and/or leaders.
– Can be very technical or more managerial depending on
organizational need.
Where Does the Software Engineer Fit In?
• Computer Science: focusing on computer
hardware, compilers, operating systems, and programming
languages
• Software Engineering: a discipline that uses computer and
software technologies as a problem-solving tools
Where Does the SW Engineer Fit in?...
Relationship between Computer Science and Software Engineering
Qualities of Good Software?
• Good software engineering must always include a strategy
for producing quality software
• Three ways of considering quality
– The quality of the product
– The quality of the process
– The quality of the product in the context of the business
environment
Who Does Software Engineering?
• Customer: the company, organization, or person who pays
for the software system
• Developer: the company, organization, or person who is
building the software system
• User: the person or people who will actually use the system
Who Does Software Engineering? (continued)
Participants (stakeholders) in a software development project
Engineering Approach
Building a System
• Requirement analysis and definition
• System design
• Program design
• Writing the programs
• Unit testing
• Integration testing
• System testing
• System delivery
• Maintenance
Members of the Development Team
• Requirement Analysts: work with the customers to identify and document the
requirements
• Designers: generate a system-level description of what the system us
supposed to do
• Programmers: write lines of code to implement the design
• Testers: catch faults
• Trainers: show users how to use the system
• Maintenance Team: fix faults that show up later
• Librarians: prepare and store documents such as software requirements
• Configuration Management Team: maintain correspondence among various
artefacts.
Members of the Development Team
(continued)
Typical roles played by the members of a development team
Secrets of Successful Projects
Problem Solving Paradigms
 Several techniques have been suggested to help solve the software
crisis
– ~ - : Structured Paradigm
• Structured Systems Analysis, Composite/Structured Design, Structured
Programming, Structured Testing
• Lead to major improvements for software industry
• But only good for small programs (say, , - , lines of codes)
• Not so good in software maintenance aspects, (for instance, because of the
separation of action-oriented and data-oriented in structured paradigm)
– Object-Oriented Paradigm
• An object is a unified software component that incorporates both data and
actions that operate of those data --> More Promising!
Why use Object Oriented Paradigm?
• Classical Structured Paradigm
– Focus on functions of system
• Object-Oriented Paradigm
– Focus on objects
– Implementation details are local to the object
• Regression fault (fault produced by seeming unrelated change) is
greatly reduced.
– Encapsulation: well-designed independent units
– Potential Reuse of objects reduces time and cost
The Software Process
• A structured set of activities required to develop a software system
– Specification;
– Design;
– Validation;
– Evolution.
• A software process model is an abstract representation of a process.
• It presents a description of a process from some particular perspective.
Waterfall Model
System
Engineering
Analysis
Design
Code
Testing
Maintenance
Waterfall Model Characteristics
• The classic life cycle - oldest and most widely used paradigm
• Activities „flow‟ from one phase to another
• If there are corrections, return to a previous phase and „flow‟ from
there again
• Major advantages: Good for planning and well defined/repeated projects
Problems of Waterfall Model
• Real projects often follow the sequence
• All requirements may not be stated explicitly by customer
• Customer only sees the results after some time
• Developers are often delayed at certain phases
Rapid Application Development (RAD)
Business
Modeling
Data
Modeling
Process
Modeling
Application
Generation
Testing &
Turnover
Team #1 Business
Modeling
Data
Modeling
Process
Modeling
Application
Generation
Testing &
Turnover
Team #2
Time period
RAD Characteristics
• “High-speed” version of waterfall model
• Primarily for information systems applications
• Requirements well-understood, fully functional system produced in
short time
• The application modularized - major functions can be completed in 3
months
• Separate teams complete the functions, then integrated as a whole
• Requires human resource and commitment
Scrum Agile Methodologies
Importance of Continual Planning,
Testing, Documentation
• After customer has signed off on the specifications, continue to monitor
and adjust plan.
• Software must be fault-free as possible at all times.
• At all times, documentation must be complete, correct and up-to-date.
– personnel overturn
– incomplete implementation
– inaccurate testing
– impossible to maintain
Conclusion
• Tips to Solve a problem
– Analyse Problems
– Synthesize a solution
• Understand that requirements may change
• Must view quality from several different perspectives
• Use fundamental software engineering concepts
• Keep system boundary in mind
Thank you

More Related Content

What's hot

Software Cost Estimation Techniques
Software Cost Estimation TechniquesSoftware Cost Estimation Techniques
Software Cost Estimation TechniquesSanthi thi
 
Requirement Engineering
Requirement EngineeringRequirement Engineering
Requirement EngineeringSlideshare
 
Spiral model presentation
Spiral model presentationSpiral model presentation
Spiral model presentationSayedFarhan110
 
Model Based Software Architectures
Model Based Software ArchitecturesModel Based Software Architectures
Model Based Software ArchitecturesMunazza-Mah-Jabeen
 
Software Engineering - Basics
Software Engineering - BasicsSoftware Engineering - Basics
Software Engineering - BasicsPurvik Rana
 
Pressman ch-3-prescriptive-process-models
Pressman ch-3-prescriptive-process-modelsPressman ch-3-prescriptive-process-models
Pressman ch-3-prescriptive-process-modelssaurabhshertukde
 
Software engineering lecture notes
Software engineering lecture notesSoftware engineering lecture notes
Software engineering lecture notesSiva Ayyakutti
 
ITFT - Fourth generation techniques
ITFT  -  Fourth generation techniquesITFT  -  Fourth generation techniques
ITFT - Fourth generation techniquesShruti Kunwar
 
ppt on sOFTWARE DEVELOPMENT LIFE CYCLE
 ppt on sOFTWARE DEVELOPMENT LIFE CYCLE ppt on sOFTWARE DEVELOPMENT LIFE CYCLE
ppt on sOFTWARE DEVELOPMENT LIFE CYCLESwarnima Tiwari
 
Evolutionary models
Evolutionary modelsEvolutionary models
Evolutionary modelsPihu Goel
 
Software engineering project management
Software engineering project managementSoftware engineering project management
Software engineering project managementjhudyne
 
Prototype model
Prototype modelPrototype model
Prototype modelsadhana8
 
SRS(software requirement specification)
SRS(software requirement specification)SRS(software requirement specification)
SRS(software requirement specification)Akash Kumar Dhameja
 

What's hot (20)

Software process
Software processSoftware process
Software process
 
Software Cost Estimation Techniques
Software Cost Estimation TechniquesSoftware Cost Estimation Techniques
Software Cost Estimation Techniques
 
Rad model
Rad modelRad model
Rad model
 
Software engineering
Software engineeringSoftware engineering
Software engineering
 
Requirement Engineering
Requirement EngineeringRequirement Engineering
Requirement Engineering
 
Spiral model presentation
Spiral model presentationSpiral model presentation
Spiral model presentation
 
Software Evolution
Software EvolutionSoftware Evolution
Software Evolution
 
Model Based Software Architectures
Model Based Software ArchitecturesModel Based Software Architectures
Model Based Software Architectures
 
Software Engineering - Basics
Software Engineering - BasicsSoftware Engineering - Basics
Software Engineering - Basics
 
Pressman ch-3-prescriptive-process-models
Pressman ch-3-prescriptive-process-modelsPressman ch-3-prescriptive-process-models
Pressman ch-3-prescriptive-process-models
 
software engineering
software engineeringsoftware engineering
software engineering
 
Software engineering lecture notes
Software engineering lecture notesSoftware engineering lecture notes
Software engineering lecture notes
 
ITFT - Fourth generation techniques
ITFT  -  Fourth generation techniquesITFT  -  Fourth generation techniques
ITFT - Fourth generation techniques
 
ppt on sOFTWARE DEVELOPMENT LIFE CYCLE
 ppt on sOFTWARE DEVELOPMENT LIFE CYCLE ppt on sOFTWARE DEVELOPMENT LIFE CYCLE
ppt on sOFTWARE DEVELOPMENT LIFE CYCLE
 
COCOMO MODEL 1 And 2
COCOMO MODEL 1 And 2COCOMO MODEL 1 And 2
COCOMO MODEL 1 And 2
 
Evolutionary models
Evolutionary modelsEvolutionary models
Evolutionary models
 
Software engineering project management
Software engineering project managementSoftware engineering project management
Software engineering project management
 
Prototype model
Prototype modelPrototype model
Prototype model
 
SRS(software requirement specification)
SRS(software requirement specification)SRS(software requirement specification)
SRS(software requirement specification)
 
Software requirements
Software requirementsSoftware requirements
Software requirements
 

Similar to Scope of software engineering

Software Engineering Lec 1-introduction
Software Engineering Lec 1-introductionSoftware Engineering Lec 1-introduction
Software Engineering Lec 1-introductionTaymoor Nazmy
 
ppt_se.bdfhrfykjyftiktgdukhydiyiuoyu8otrfu
ppt_se.bdfhrfykjyftiktgdukhydiyiuoyu8otrfuppt_se.bdfhrfykjyftiktgdukhydiyiuoyu8otrfu
ppt_se.bdfhrfykjyftiktgdukhydiyiuoyu8otrfutubashaikh26
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software EngineeringMd.Nazmul Islam
 
Greate Introduction to Software Engineering @ Track IT Academy
Greate Introduction to Software Engineering @ Track IT AcademyGreate Introduction to Software Engineering @ Track IT Academy
Greate Introduction to Software Engineering @ Track IT AcademyMohamed Shahpoup
 
Introduction Software Engineering Basics-Module(01).pptx
Introduction Software Engineering Basics-Module(01).pptxIntroduction Software Engineering Basics-Module(01).pptx
Introduction Software Engineering Basics-Module(01).pptxAbcXyz302255
 
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
 
Software systems engineering PRINCIPLES
Software systems engineering PRINCIPLESSoftware systems engineering PRINCIPLES
Software systems engineering PRINCIPLESIvano Malavolta
 
unit 1.pptx regasts sthatbabs shshsbsvsbsh
unit 1.pptx regasts sthatbabs shshsbsvsbshunit 1.pptx regasts sthatbabs shshsbsvsbsh
unit 1.pptx regasts sthatbabs shshsbsvsbshsagarjsicg
 
Lect 1- software engineering
Lect 1- software engineeringLect 1- software engineering
Lect 1- software engineeringShraddha Shirsat
 
Intoduction to software engineering part 2
Intoduction to software engineering part 2Intoduction to software engineering part 2
Intoduction to software engineering part 2Rupesh Vaishnav
 
Se lect11 btech
Se lect11 btechSe lect11 btech
Se lect11 btechIIITA
 
UNIT 1-IDENTIFY THE NEED FOR SOFTWARE ENGINEERING DEVELOPMENT.pptx
UNIT 1-IDENTIFY THE NEED FOR SOFTWARE ENGINEERING DEVELOPMENT.pptxUNIT 1-IDENTIFY THE NEED FOR SOFTWARE ENGINEERING DEVELOPMENT.pptx
UNIT 1-IDENTIFY THE NEED FOR SOFTWARE ENGINEERING DEVELOPMENT.pptxLeahRachael
 
Software Engineering (Introduction to Software Engineering)
Software Engineering (Introduction to Software Engineering)Software Engineering (Introduction to Software Engineering)
Software Engineering (Introduction to Software Engineering)ShudipPal
 
Kelis king - introduction to s.e.
Kelis king -  introduction to s.e.Kelis king -  introduction to s.e.
Kelis king - introduction to s.e.KelisKing
 

Similar to Scope of software engineering (20)

Software Engineering Lec 1-introduction
Software Engineering Lec 1-introductionSoftware Engineering Lec 1-introduction
Software Engineering Lec 1-introduction
 
ppt_se.bdfhrfykjyftiktgdukhydiyiuoyu8otrfu
ppt_se.bdfhrfykjyftiktgdukhydiyiuoyu8otrfuppt_se.bdfhrfykjyftiktgdukhydiyiuoyu8otrfu
ppt_se.bdfhrfykjyftiktgdukhydiyiuoyu8otrfu
 
ppt_se.pdf
ppt_se.pdfppt_se.pdf
ppt_se.pdf
 
lect1.pdf
lect1.pdflect1.pdf
lect1.pdf
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
Greate Introduction to Software Engineering @ Track IT Academy
Greate Introduction to Software Engineering @ Track IT AcademyGreate Introduction to Software Engineering @ Track IT Academy
Greate Introduction to Software Engineering @ Track IT Academy
 
Introduction Software engineering
Introduction   Software engineeringIntroduction   Software engineering
Introduction Software engineering
 
SE Unit-1.pptx
SE Unit-1.pptxSE Unit-1.pptx
SE Unit-1.pptx
 
Introduction Software Engineering Basics-Module(01).pptx
Introduction Software Engineering Basics-Module(01).pptxIntroduction Software Engineering Basics-Module(01).pptx
Introduction Software Engineering Basics-Module(01).pptx
 
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...
 
Software systems engineering PRINCIPLES
Software systems engineering PRINCIPLESSoftware systems engineering PRINCIPLES
Software systems engineering PRINCIPLES
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
unit 1.pptx regasts sthatbabs shshsbsvsbsh
unit 1.pptx regasts sthatbabs shshsbsvsbshunit 1.pptx regasts sthatbabs shshsbsvsbsh
unit 1.pptx regasts sthatbabs shshsbsvsbsh
 
Lect 1- software engineering
Lect 1- software engineeringLect 1- software engineering
Lect 1- software engineering
 
Intoduction to software engineering part 2
Intoduction to software engineering part 2Intoduction to software engineering part 2
Intoduction to software engineering part 2
 
Se lect11 btech
Se lect11 btechSe lect11 btech
Se lect11 btech
 
UNIT 1-IDENTIFY THE NEED FOR SOFTWARE ENGINEERING DEVELOPMENT.pptx
UNIT 1-IDENTIFY THE NEED FOR SOFTWARE ENGINEERING DEVELOPMENT.pptxUNIT 1-IDENTIFY THE NEED FOR SOFTWARE ENGINEERING DEVELOPMENT.pptx
UNIT 1-IDENTIFY THE NEED FOR SOFTWARE ENGINEERING DEVELOPMENT.pptx
 
Software Engineering (Introduction to Software Engineering)
Software Engineering (Introduction to Software Engineering)Software Engineering (Introduction to Software Engineering)
Software Engineering (Introduction to Software Engineering)
 
SOFTWARE ENGINEERING
SOFTWARE ENGINEERINGSOFTWARE ENGINEERING
SOFTWARE ENGINEERING
 
Kelis king - introduction to s.e.
Kelis king -  introduction to s.e.Kelis king -  introduction to s.e.
Kelis king - introduction to s.e.
 

Recently uploaded

Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...Technogeeks
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Natan Silnitsky
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odishasmiwainfosol
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfMarharyta Nedzelska
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Mater
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Hr365.us smith
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceBrainSell Technologies
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Cizo Technology Services
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfLivetecs LLC
 
Best Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdfBest Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdfIdiosysTechnologies1
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Angel Borroy López
 

Recently uploaded (20)

Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdf
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdf
 
Best Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdfBest Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdf
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
 

Scope of software engineering

  • 1. Scope of Software Engineering
  • 2. Muhammad Naveed Zafar Educational Background BS in Computer Science (Bahria University) MS in Software Project Management (FAST University)* Professional Experience Project Manager (NevTech) Faculty Member (Aptech MSG) Project Coordinator AMI Software Engineer GoSafe Systems
  • 3. Agenda  What, Why and Aspects of Software Engineering ?  Horror Software Failure Stories  Software Engineer Line of Actions  Software Engineering Stakeholders  Engineering Approach  Roles and Members of Development Team  Problem Solving Paradigms  SDLC Models  Best Practices to be Adopt  Scrum Methodologies
  • 4. What is software? • Computer programs and associated documentation • Software products may be developed for a particular customer or may be developed for a general market • Software products may be – Generic/COTS - developed to be sold to a range of different customers – Custom- developed for a customer according to their specification
  • 5. What is Engineering? • Engineering is … – The application of scientific principles and methods to the construction of useful structures. Examples: – Mechanical engineering – Computer engineering – Civil engineering – Chemical engineering – Electrical engineering – Nuclear engineering – Aeronautical engineering
  • 6. What Actually “Software Engineering”? • A discipline whose aim in the production of software that – meets the client‟s needs – fault-free – delivered on time – delivered within budget – easy to modify
  • 7. Why the need for Software Engineering? Software Crisis: Unacceptable low quality of software, exceeds deadline and budget. Canceled, 23% Successful, 28% *Completed with Faults, 49% *Completed late, over budget, and/or with features missing
  • 8. Why Software Engineering ? • The problem is complexity • Many sources, but size is a key: – Mozilla contains 3 Million lines of code – UNIX contains 4 million lines of code – Windows 2000 contains 108 lines of code • Second is roles define • Third is uncertainty of “inputs” and their timing • Fourth is the continuing changing “environment” and demands. Software engineering is about managing all the sources of complexity to produce effective software.
  • 9. Software Engineering Aspects • Historical Aspects: – , a NATO group coined the term “Software Engineering” – NATO Software Engineering Conference concurred that “Software production should be an engineering-like activity” – Using philosophies and paradigms of established engineering disciplines to solve Software Crisis that the quality of software was generally unacceptably low and that deadlines and cost limits were not being met”
  • 10. • Economic Aspects – Software Engineering v.s. Computer Science • The computer scientist investigates several ways to produce software, some good and some bad • But the software engineer is interested in only those techniques that make sound economic sense. For example: A coding technique that can execute very efficiently but with higher maintenance cost may not be a good choice, since maintenance occupies a lot of resources of the whole life cycle. Software Engineering Aspects…
  • 11. • Maintenance Aspects – Software Life Cycle / Software Process • Requirements Phase • Specification (Analysis) Phase • Planning Phase • Design Phase • Implementation Phase • Integration Phase • Maintenance Phase highest cost among all these phases) • Retirement Software Engineering Aspects…
  • 12. Requirement 2% Specification 4% Planning 1% Design 6% Module Coding 5% Module Testing 7% Integration 8% Maintenance 67% Maintenance Aspects Maintenance Approximate relative costs of the phases of the software life cycle. Maintenance is so important that a major aspect of software engineering consists of techniques, tools, and practices that lead to a reduction in maintenance cost
  • 13. Horror Software Failure Stories • Patients died as a consequence of severe overdoses of radiation. • US Treasury Department mailed incorrectly printed Social Security Checks. • Interest miscalculated on student loans resulting in higher monthly payments. • Mars Climate Orbiter spacecraft crashes into the surface of Mars because of measurement conversion error. Consequences of software failures range from inconvenience to death!
  • 14. Software Engineer Line of Actions Software Engineers should – adopt a systematic and organised approach to all aspects of software development. – use appropriate tools and techniques depending on • the problem to be solved, • the development constraints and • the resources available – Understand and communicate processes for improved software development within their organization – Be effective team members and/or leaders. – Can be very technical or more managerial depending on organizational need.
  • 15. Where Does the Software Engineer Fit In? • Computer Science: focusing on computer hardware, compilers, operating systems, and programming languages • Software Engineering: a discipline that uses computer and software technologies as a problem-solving tools
  • 16. Where Does the SW Engineer Fit in?... Relationship between Computer Science and Software Engineering
  • 17. Qualities of Good Software? • Good software engineering must always include a strategy for producing quality software • Three ways of considering quality – The quality of the product – The quality of the process – The quality of the product in the context of the business environment
  • 18. Who Does Software Engineering? • Customer: the company, organization, or person who pays for the software system • Developer: the company, organization, or person who is building the software system • User: the person or people who will actually use the system
  • 19. Who Does Software Engineering? (continued) Participants (stakeholders) in a software development project
  • 20. Engineering Approach Building a System • Requirement analysis and definition • System design • Program design • Writing the programs • Unit testing • Integration testing • System testing • System delivery • Maintenance
  • 21. Members of the Development Team • Requirement Analysts: work with the customers to identify and document the requirements • Designers: generate a system-level description of what the system us supposed to do • Programmers: write lines of code to implement the design • Testers: catch faults • Trainers: show users how to use the system • Maintenance Team: fix faults that show up later • Librarians: prepare and store documents such as software requirements • Configuration Management Team: maintain correspondence among various artefacts.
  • 22. Members of the Development Team (continued) Typical roles played by the members of a development team
  • 24. Problem Solving Paradigms  Several techniques have been suggested to help solve the software crisis – ~ - : Structured Paradigm • Structured Systems Analysis, Composite/Structured Design, Structured Programming, Structured Testing • Lead to major improvements for software industry • But only good for small programs (say, , - , lines of codes) • Not so good in software maintenance aspects, (for instance, because of the separation of action-oriented and data-oriented in structured paradigm) – Object-Oriented Paradigm • An object is a unified software component that incorporates both data and actions that operate of those data --> More Promising!
  • 25. Why use Object Oriented Paradigm? • Classical Structured Paradigm – Focus on functions of system • Object-Oriented Paradigm – Focus on objects – Implementation details are local to the object • Regression fault (fault produced by seeming unrelated change) is greatly reduced. – Encapsulation: well-designed independent units – Potential Reuse of objects reduces time and cost
  • 26. The Software Process • A structured set of activities required to develop a software system – Specification; – Design; – Validation; – Evolution. • A software process model is an abstract representation of a process. • It presents a description of a process from some particular perspective.
  • 28. Waterfall Model Characteristics • The classic life cycle - oldest and most widely used paradigm • Activities „flow‟ from one phase to another • If there are corrections, return to a previous phase and „flow‟ from there again • Major advantages: Good for planning and well defined/repeated projects
  • 29. Problems of Waterfall Model • Real projects often follow the sequence • All requirements may not be stated explicitly by customer • Customer only sees the results after some time • Developers are often delayed at certain phases
  • 30. Rapid Application Development (RAD) Business Modeling Data Modeling Process Modeling Application Generation Testing & Turnover Team #1 Business Modeling Data Modeling Process Modeling Application Generation Testing & Turnover Team #2 Time period
  • 31. RAD Characteristics • “High-speed” version of waterfall model • Primarily for information systems applications • Requirements well-understood, fully functional system produced in short time • The application modularized - major functions can be completed in 3 months • Separate teams complete the functions, then integrated as a whole • Requires human resource and commitment
  • 33. Importance of Continual Planning, Testing, Documentation • After customer has signed off on the specifications, continue to monitor and adjust plan. • Software must be fault-free as possible at all times. • At all times, documentation must be complete, correct and up-to-date. – personnel overturn – incomplete implementation – inaccurate testing – impossible to maintain
  • 34. Conclusion • Tips to Solve a problem – Analyse Problems – Synthesize a solution • Understand that requirements may change • Must view quality from several different perspectives • Use fundamental software engineering concepts • Keep system boundary in mind

Editor's Notes

  1. Short for commercial off-the-shelf, an adjective that describes software or hardware products that are ready-made and available for sale to the general public