SlideShare a Scribd company logo
1 of 27
1
Software Engineering
• Some realities:
• a concerted effort should be made to understand the
problem before a software solution is developed
• design becomes a pivotal activity
• software should exhibit high quality
• software should be maintainable
• The seminal definition:
• [Software engineering is] the establishment and use of
sound engineering principles in order to obtain
economically software that is reliable and works efficiently
on real machines.
2
Software Engineering
• The IEEE definition:
• Software Engineering:
The application of a
Systematic,
Disciplined,
Quantifiable approach
to the development, operation, and maintenance of
software;
that is, the application of engineering to software.
3
A Layered Technology
Software Engineering
a “quality” focus
process model
methods
tools
Quality: Organization is commitment to quality
Process: Manages the control of software projects
Ensures quality, establishes milestones, manages changes
Methods: Provide technical ways for building software i.e;
Communication, requirement analysis, design modeling,
program construction , testing and support
Tools: Provide automated or semi automated support for the
process & methods
A Layered Technology
The Software Process
A Process is collection of activities, actions, and tasks that are performed
when some work product is to be created
• Activity-Strives to achieve a broad objective (eg: communication
with stakeholders)
• Actions- encompasses a set of tasks that produce a major work
product (eg: architectural design)
• Task-focusses on small, but well-defined objective that produces a
tangible outcome (eg: conduct a unit test)
6
Process framework Activities
1. Communication
2. Planning
3. Modeling
– Analysis of requirements
– Design
4. Construction
– Code generation
– Testing
5. Deployment
– Delivery
– Feedback
Process framework Activities(cont.)
• Communication: communicate with customer to
understand objectives and gather requirements
• Planning:
• Modeling:
• Construction:
• Deployment:
7
Process framework Activities(cont.)
• Communication:
• Planning: creates a “map” that defines the work by
describing tasks, risks and resources, work products
and work schedule.
• Modeling:
• Construction:
• Deployment:
8
Process framework Activities(cont.)
• Communication:
• Planning:
• Modeling: Create a “sketch”, what it looks like architecturally, how the essential
parts fit together and other characteristics.
• Construction:
• Deployment:
9
Process framework Activities(cont.)
• Communication:
• Planning:
• Modeling:
• Construction: code generation and the testing.
• Deployment:
10
Process framework Activities(cont.)
• Communication:
• Planning:
• Modeling:
• Construction:
• Deployment: Delivered to the customer who evaluates the products & provides
feedback based on the evaluation.
11
• These five framework activities can be used to all software development,
regardless of the application domain, size of the project, complexity of the
efforts etc.
– though the details will be different in each case.
• For many software projects, these framework activities are applied iteratively
as a project progresses. Each iteration produces a software increment that
provides a subset of overall software features and functionality.
12
Process framework Activities(cont.)
Umbrella Activities
• Complete the five process framework activities and help team
manage and control progress, quality, change, and risk.
– Software project tracking and control:
– Risk management:
– Software quality assurance:
– Technical reviews:
– Measurement:
– Software configuration management:
– Reusability management:
– Work product preparation and production:
13
Umbrella Activities
• Software project tracking & control: assess progress against the
plan and take actions to maintain the schedule.
• Risk management:
• Software quality assurance:
• Technical reviews:
• Measurement:
• Software configuration management:
• Reusability management:
• Work product preparation and production:
14
Umbrella Activities
• Software project tracking & control:
• Risk management: assesses risks that may affect the outcome and
quality.
• Software quality assurance:
• Technical reviews:
• Measurement:
• Software configuration management:
• Reusability management:
• Work product preparation and production:
15
Umbrella Activities
• Software project tracking & control:
• Risk management:
• Software quality assurance: defines and conduct activities to
ensure quality.
• Technical reviews:
• Measurement:
• Software configuration management:
• Reusability management:
• Work product preparation and production:
16
Umbrella Activities
• Software project tracking & control:
• Risk management:
• Software quality assurance:
• Technical reviews: assesses work products to uncover and remove
errors before going to the next activity.
• Measurement:
• Software configuration management:
• Reusability management:
• Work product preparation and production:
17
Umbrella Activities
• Software project tracking & control:
• Risk management:
• Software quality assurance:
• Technical reviews:
• Measurement: define and collects process, project, and product measures to
ensure stakeholder’s needs are met.
• Software configuration management:
• Reusability management:
• Work product preparation and production:
18
Umbrella Activities
• Software project tracking & control:
• Risk management:
• Software quality assurance:
• Technical reviews:
• Measurement:
• Software configuration management: manage the effects of change throughout
the software process.
• Reusability management:
• Work product preparation and production:
19
Umbrella Activities
• Software project tracking & control:
• Risk management:
• Software quality assurance:
• Technical reviews:
• Measurement:
• Software configuration management:
• Reusability management: defines criteria for work product reuse and establishes
mechanism to achieve reusable components.
• Work product preparation and production:
20
Umbrella Activities
• Software project tracking & control:
• Risk management:
• Software quality assurance:
• Technical reviews:
• Measurement:
• Software configuration management:
• Reusability management:
• Work product preparation and production: create work products such as
models, documents, logs, forms and lists.
21
The Essence of Practice
• How does the practice of software engineering fit in the process activities
mentioned above? Namely,
– communication,
– planning,
– modeling,
– construction
– deployment.
• the essence of problem solving is outlined in 4 points:
1.Understand the problem (communication and analysis).
2.Plan a solution (modeling and software design).
3.Carry out the plan (code generation).
4.Examine the result for accuracy (testing and quality assurance).
22
Software Engineering Practice
23
Understand the Problem
• Who has a stake in the solution to the problem? That is, who are the
stakeholders?
• What are the unknowns? What data, functions, and features are required to
properly solve the problem?
• Can the problem be compartmentalized? Is it possible to represent smaller
problems that may be easier to understand?
• Can the problem be represented graphically? Can an analysis model be
created?
24
Plan the Solution
• Have you seen similar problems before? Are there patterns that are recognizable
in a potential solution? Is there existing software that implements the data, functions,
and features that are required?
• Has a similar problem been solved? If so, are elements of the solution reusable?
• Can subproblems be defined? If so, are solutions readily apparent for the
subproblems?
• Can you represent a solution in a manner that leads to effective
implementation? Can a design model be created?
25
Carry Out the Plan
• Does the solution conform to the plan? Is source code traceable to
the design model?
• Is each component part of the solution provably correct? Has the
design and code been reviewed, or better, have correctness proofs
been applied to algorithm?
26
Examine the Result
• Is it possible to test each component part of the solution? Has a
reasonable testing strategy been implemented?
• Does the solution produce results that conform to the data,
functions, and features that are required? Has the software been
validated against all stakeholder requirements?
27
Hooker’s General Principles
1: The Reason It All Exists
2: KISS (Keep It Simple, Stupid!)
3: Maintain the Vision
4: What You Produce, Others Will Consume
5: Be Open to the Future
6: Plan Ahead for Reuse
7: Think!

More Related Content

What's hot

Software Engineering (An Agile View of Process)
Software Engineering (An Agile View of Process)Software Engineering (An Agile View of Process)
Software Engineering (An Agile View of Process)ShudipPal
 
software metrics(process,project,product)
software metrics(process,project,product)software metrics(process,project,product)
software metrics(process,project,product)Amisha Narsingani
 
A generic view of software engineering
A generic view of software engineeringA generic view of software engineering
A generic view of software engineeringInocentshuja Ahmad
 
Software Engineering (Metrics for Process and Projects)
Software Engineering (Metrics for Process and Projects)Software Engineering (Metrics for Process and Projects)
Software Engineering (Metrics for Process and Projects)ShudipPal
 
Lecture 04 Software Metrics and Estimation
Lecture 04 Software Metrics and EstimationLecture 04 Software Metrics and Estimation
Lecture 04 Software Metrics and EstimationAchmad Solichin
 
Software Engineering 2 lecture slide
Software Engineering 2 lecture slideSoftware Engineering 2 lecture slide
Software Engineering 2 lecture slideAdil Mehmoood
 
Chapter 21 project management concepts
Chapter 21 project management conceptsChapter 21 project management concepts
Chapter 21 project management conceptsSHREEHARI WADAWADAGI
 
Software Engineering (Process Models)
Software Engineering (Process Models)Software Engineering (Process Models)
Software Engineering (Process Models)ShudipPal
 
Software Engineering (Requirements Engineering & Software Maintenance)
Software Engineering (Requirements Engineering  & Software Maintenance)Software Engineering (Requirements Engineering  & Software Maintenance)
Software Engineering (Requirements Engineering & Software Maintenance)ShudipPal
 
Software Project Management
Software Project ManagementSoftware Project Management
Software Project ManagementShauryaGupta38
 
Lect6 life cycle phases
Lect6 life cycle phasesLect6 life cycle phases
Lect6 life cycle phasesmeena466141
 
Software Process and Project Management - CS832E02 unit 3
Software Process and Project Management - CS832E02 unit 3Software Process and Project Management - CS832E02 unit 3
Software Process and Project Management - CS832E02 unit 3Mithun B N
 
CP7301 Software Process and Project Management notes
CP7301 Software Process and Project Management   notesCP7301 Software Process and Project Management   notes
CP7301 Software Process and Project Management notesAAKASH S
 
Software Engineering (Software Quality Assurance)
Software Engineering (Software Quality Assurance)Software Engineering (Software Quality Assurance)
Software Engineering (Software Quality Assurance)ShudipPal
 

What's hot (20)

Software Engineering (An Agile View of Process)
Software Engineering (An Agile View of Process)Software Engineering (An Agile View of Process)
Software Engineering (An Agile View of Process)
 
software metrics(process,project,product)
software metrics(process,project,product)software metrics(process,project,product)
software metrics(process,project,product)
 
Software Process
Software ProcessSoftware Process
Software Process
 
A generic view of software engineering
A generic view of software engineeringA generic view of software engineering
A generic view of software engineering
 
Software Engineering (Metrics for Process and Projects)
Software Engineering (Metrics for Process and Projects)Software Engineering (Metrics for Process and Projects)
Software Engineering (Metrics for Process and Projects)
 
Lecture 04 Software Metrics and Estimation
Lecture 04 Software Metrics and EstimationLecture 04 Software Metrics and Estimation
Lecture 04 Software Metrics and Estimation
 
13 software metrics
13 software metrics13 software metrics
13 software metrics
 
Software Engineering 2 lecture slide
Software Engineering 2 lecture slideSoftware Engineering 2 lecture slide
Software Engineering 2 lecture slide
 
Chapter 21 project management concepts
Chapter 21 project management conceptsChapter 21 project management concepts
Chapter 21 project management concepts
 
Sqa
SqaSqa
Sqa
 
Rup
Rup Rup
Rup
 
Software Engineering (Process Models)
Software Engineering (Process Models)Software Engineering (Process Models)
Software Engineering (Process Models)
 
Software Engineering (Requirements Engineering & Software Maintenance)
Software Engineering (Requirements Engineering  & Software Maintenance)Software Engineering (Requirements Engineering  & Software Maintenance)
Software Engineering (Requirements Engineering & Software Maintenance)
 
Software Project Management
Software Project ManagementSoftware Project Management
Software Project Management
 
Lect6 life cycle phases
Lect6 life cycle phasesLect6 life cycle phases
Lect6 life cycle phases
 
Software Process and Project Management - CS832E02 unit 3
Software Process and Project Management - CS832E02 unit 3Software Process and Project Management - CS832E02 unit 3
Software Process and Project Management - CS832E02 unit 3
 
CP7301 Software Process and Project Management notes
CP7301 Software Process and Project Management   notesCP7301 Software Process and Project Management   notes
CP7301 Software Process and Project Management notes
 
02 fse processmodels
02 fse processmodels02 fse processmodels
02 fse processmodels
 
SE chapter 2
SE chapter 2SE chapter 2
SE chapter 2
 
Software Engineering (Software Quality Assurance)
Software Engineering (Software Quality Assurance)Software Engineering (Software Quality Assurance)
Software Engineering (Software Quality Assurance)
 

Similar to SEO-OPTIMIZED TITLE

unit 1.pptx regasts sthatbabs shshsbsvsbsh
unit 1.pptx regasts sthatbabs shshsbsvsbshunit 1.pptx regasts sthatbabs shshsbsvsbsh
unit 1.pptx regasts sthatbabs shshsbsvsbshsagarjsicg
 
Software engineering process
Software engineering processSoftware engineering process
Software engineering processKanchanPatil34
 
Software engineering 3 software process
Software engineering 3 software processSoftware engineering 3 software process
Software engineering 3 software processVaibhav Khanna
 
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
 
INTRODUCTION TO SOFTWARE ENGINEERING
INTRODUCTION TO SOFTWARE ENGINEERINGINTRODUCTION TO SOFTWARE ENGINEERING
INTRODUCTION TO SOFTWARE ENGINEERINGPreeti Mishra
 
Intoduction to software engineering part 2
Intoduction to software engineering part 2Intoduction to software engineering part 2
Intoduction to software engineering part 2Rupesh Vaishnav
 
Software Engineering.ppt
Software Engineering.pptSoftware Engineering.ppt
Software Engineering.pptHODCOMPUTER10
 
ppt_se.bdfhrfykjyftiktgdukhydiyiuoyu8otrfu
ppt_se.bdfhrfykjyftiktgdukhydiyiuoyu8otrfuppt_se.bdfhrfykjyftiktgdukhydiyiuoyu8otrfu
ppt_se.bdfhrfykjyftiktgdukhydiyiuoyu8otrfutubashaikh26
 
SE_UNIT-1 and 2@GVRJOBS4U.COM.pdf
SE_UNIT-1 and 2@GVRJOBS4U.COM.pdfSE_UNIT-1 and 2@GVRJOBS4U.COM.pdf
SE_UNIT-1 and 2@GVRJOBS4U.COM.pdfssusere796b3
 
SE_Module1new.ppt
SE_Module1new.pptSE_Module1new.ppt
SE_Module1new.pptADARSHN40
 
Introduction of Software Engineering
Introduction of Software EngineeringIntroduction of Software Engineering
Introduction of Software EngineeringMuhammadTalha436
 
Lecture 3 software_engineering
Lecture 3 software_engineeringLecture 3 software_engineering
Lecture 3 software_engineeringmoduledesign
 
Introduction of software engineering
Introduction of software engineeringIntroduction of software engineering
Introduction of software engineeringBhagyashriMore10
 
Chapter 15 software product metrics
Chapter 15 software product metricsChapter 15 software product metrics
Chapter 15 software product metricsSHREEHARI WADAWADAGI
 
Software engineering
Software engineeringSoftware engineering
Software engineeringnimmik4u
 
Lecture 3 software_engineering
Lecture 3 software_engineeringLecture 3 software_engineering
Lecture 3 software_engineeringmoduledesign
 

Similar to SEO-OPTIMIZED TITLE (20)

unit 1.pptx regasts sthatbabs shshsbsvsbsh
unit 1.pptx regasts sthatbabs shshsbsvsbshunit 1.pptx regasts sthatbabs shshsbsvsbsh
unit 1.pptx regasts sthatbabs shshsbsvsbsh
 
Software engineering process
Software engineering processSoftware engineering process
Software engineering process
 
Software engineering 3 software process
Software engineering 3 software processSoftware engineering 3 software process
Software engineering 3 software process
 
Unit 1.pdf
Unit 1.pdfUnit 1.pdf
Unit 1.pdf
 
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
 
INTRODUCTION TO SOFTWARE ENGINEERING
INTRODUCTION TO SOFTWARE ENGINEERINGINTRODUCTION TO SOFTWARE ENGINEERING
INTRODUCTION TO 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
 
Software Engineering.ppt
Software Engineering.pptSoftware Engineering.ppt
Software Engineering.ppt
 
ppt_se.bdfhrfykjyftiktgdukhydiyiuoyu8otrfu
ppt_se.bdfhrfykjyftiktgdukhydiyiuoyu8otrfuppt_se.bdfhrfykjyftiktgdukhydiyiuoyu8otrfu
ppt_se.bdfhrfykjyftiktgdukhydiyiuoyu8otrfu
 
SE_UNIT-1 and 2@GVRJOBS4U.COM.pdf
SE_UNIT-1 and 2@GVRJOBS4U.COM.pdfSE_UNIT-1 and 2@GVRJOBS4U.COM.pdf
SE_UNIT-1 and 2@GVRJOBS4U.COM.pdf
 
ppt_se.pdf
ppt_se.pdfppt_se.pdf
ppt_se.pdf
 
SE_Module1new.ppt
SE_Module1new.pptSE_Module1new.ppt
SE_Module1new.ppt
 
3.pptx
3.pptx3.pptx
3.pptx
 
SE UNIT 1 PART 1.pdf
SE UNIT 1 PART 1.pdfSE UNIT 1 PART 1.pdf
SE UNIT 1 PART 1.pdf
 
Introduction of Software Engineering
Introduction of Software EngineeringIntroduction of Software Engineering
Introduction of Software Engineering
 
Lecture 3 software_engineering
Lecture 3 software_engineeringLecture 3 software_engineering
Lecture 3 software_engineering
 
Introduction of software engineering
Introduction of software engineeringIntroduction of software engineering
Introduction of software engineering
 
Chapter 15 software product metrics
Chapter 15 software product metricsChapter 15 software product metrics
Chapter 15 software product metrics
 
Software engineering
Software engineeringSoftware engineering
Software engineering
 
Lecture 3 software_engineering
Lecture 3 software_engineeringLecture 3 software_engineering
Lecture 3 software_engineering
 

More from Madhar Khan Pathan

Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering Madhar Khan Pathan
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering Madhar Khan Pathan
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering Madhar Khan Pathan
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering Madhar Khan Pathan
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering Madhar Khan Pathan
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering Madhar Khan Pathan
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering Madhar Khan Pathan
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering Madhar Khan Pathan
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering Madhar Khan Pathan
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering Madhar Khan Pathan
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering Madhar Khan Pathan
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering Madhar Khan Pathan
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering Madhar Khan Pathan
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering Madhar Khan Pathan
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering Madhar Khan Pathan
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering Madhar Khan Pathan
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering Madhar Khan Pathan
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering Madhar Khan Pathan
 

More from Madhar Khan Pathan (20)

Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
 
Generic process model
Generic process modelGeneric process model
Generic process model
 
Software Myths
Software MythsSoftware Myths
Software Myths
 

Recently uploaded

Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfPower Karaoke
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
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
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
software engineering Chapter 5 System modeling.pptx
software engineering Chapter 5 System modeling.pptxsoftware engineering Chapter 5 System modeling.pptx
software engineering Chapter 5 System modeling.pptxnada99848
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 

Recently uploaded (20)

Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdf
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
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
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
software engineering Chapter 5 System modeling.pptx
software engineering Chapter 5 System modeling.pptxsoftware engineering Chapter 5 System modeling.pptx
software engineering Chapter 5 System modeling.pptx
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 

SEO-OPTIMIZED TITLE

  • 1. 1 Software Engineering • Some realities: • a concerted effort should be made to understand the problem before a software solution is developed • design becomes a pivotal activity • software should exhibit high quality • software should be maintainable • The seminal definition: • [Software engineering is] the establishment and use of sound engineering principles in order to obtain economically software that is reliable and works efficiently on real machines.
  • 2. 2 Software Engineering • The IEEE definition: • Software Engineering: The application of a Systematic, Disciplined, Quantifiable approach to the development, operation, and maintenance of software; that is, the application of engineering to software.
  • 3. 3 A Layered Technology Software Engineering a “quality” focus process model methods tools
  • 4. Quality: Organization is commitment to quality Process: Manages the control of software projects Ensures quality, establishes milestones, manages changes Methods: Provide technical ways for building software i.e; Communication, requirement analysis, design modeling, program construction , testing and support Tools: Provide automated or semi automated support for the process & methods A Layered Technology
  • 5. The Software Process A Process is collection of activities, actions, and tasks that are performed when some work product is to be created • Activity-Strives to achieve a broad objective (eg: communication with stakeholders) • Actions- encompasses a set of tasks that produce a major work product (eg: architectural design) • Task-focusses on small, but well-defined objective that produces a tangible outcome (eg: conduct a unit test)
  • 6. 6 Process framework Activities 1. Communication 2. Planning 3. Modeling – Analysis of requirements – Design 4. Construction – Code generation – Testing 5. Deployment – Delivery – Feedback
  • 7. Process framework Activities(cont.) • Communication: communicate with customer to understand objectives and gather requirements • Planning: • Modeling: • Construction: • Deployment: 7
  • 8. Process framework Activities(cont.) • Communication: • Planning: creates a “map” that defines the work by describing tasks, risks and resources, work products and work schedule. • Modeling: • Construction: • Deployment: 8
  • 9. Process framework Activities(cont.) • Communication: • Planning: • Modeling: Create a “sketch”, what it looks like architecturally, how the essential parts fit together and other characteristics. • Construction: • Deployment: 9
  • 10. Process framework Activities(cont.) • Communication: • Planning: • Modeling: • Construction: code generation and the testing. • Deployment: 10
  • 11. Process framework Activities(cont.) • Communication: • Planning: • Modeling: • Construction: • Deployment: Delivered to the customer who evaluates the products & provides feedback based on the evaluation. 11
  • 12. • These five framework activities can be used to all software development, regardless of the application domain, size of the project, complexity of the efforts etc. – though the details will be different in each case. • For many software projects, these framework activities are applied iteratively as a project progresses. Each iteration produces a software increment that provides a subset of overall software features and functionality. 12 Process framework Activities(cont.)
  • 13. Umbrella Activities • Complete the five process framework activities and help team manage and control progress, quality, change, and risk. – Software project tracking and control: – Risk management: – Software quality assurance: – Technical reviews: – Measurement: – Software configuration management: – Reusability management: – Work product preparation and production: 13
  • 14. Umbrella Activities • Software project tracking & control: assess progress against the plan and take actions to maintain the schedule. • Risk management: • Software quality assurance: • Technical reviews: • Measurement: • Software configuration management: • Reusability management: • Work product preparation and production: 14
  • 15. Umbrella Activities • Software project tracking & control: • Risk management: assesses risks that may affect the outcome and quality. • Software quality assurance: • Technical reviews: • Measurement: • Software configuration management: • Reusability management: • Work product preparation and production: 15
  • 16. Umbrella Activities • Software project tracking & control: • Risk management: • Software quality assurance: defines and conduct activities to ensure quality. • Technical reviews: • Measurement: • Software configuration management: • Reusability management: • Work product preparation and production: 16
  • 17. Umbrella Activities • Software project tracking & control: • Risk management: • Software quality assurance: • Technical reviews: assesses work products to uncover and remove errors before going to the next activity. • Measurement: • Software configuration management: • Reusability management: • Work product preparation and production: 17
  • 18. Umbrella Activities • Software project tracking & control: • Risk management: • Software quality assurance: • Technical reviews: • Measurement: define and collects process, project, and product measures to ensure stakeholder’s needs are met. • Software configuration management: • Reusability management: • Work product preparation and production: 18
  • 19. Umbrella Activities • Software project tracking & control: • Risk management: • Software quality assurance: • Technical reviews: • Measurement: • Software configuration management: manage the effects of change throughout the software process. • Reusability management: • Work product preparation and production: 19
  • 20. Umbrella Activities • Software project tracking & control: • Risk management: • Software quality assurance: • Technical reviews: • Measurement: • Software configuration management: • Reusability management: defines criteria for work product reuse and establishes mechanism to achieve reusable components. • Work product preparation and production: 20
  • 21. Umbrella Activities • Software project tracking & control: • Risk management: • Software quality assurance: • Technical reviews: • Measurement: • Software configuration management: • Reusability management: • Work product preparation and production: create work products such as models, documents, logs, forms and lists. 21
  • 22. The Essence of Practice • How does the practice of software engineering fit in the process activities mentioned above? Namely, – communication, – planning, – modeling, – construction – deployment. • the essence of problem solving is outlined in 4 points: 1.Understand the problem (communication and analysis). 2.Plan a solution (modeling and software design). 3.Carry out the plan (code generation). 4.Examine the result for accuracy (testing and quality assurance). 22 Software Engineering Practice
  • 23. 23 Understand the Problem • Who has a stake in the solution to the problem? That is, who are the stakeholders? • What are the unknowns? What data, functions, and features are required to properly solve the problem? • Can the problem be compartmentalized? Is it possible to represent smaller problems that may be easier to understand? • Can the problem be represented graphically? Can an analysis model be created?
  • 24. 24 Plan the Solution • Have you seen similar problems before? Are there patterns that are recognizable in a potential solution? Is there existing software that implements the data, functions, and features that are required? • Has a similar problem been solved? If so, are elements of the solution reusable? • Can subproblems be defined? If so, are solutions readily apparent for the subproblems? • Can you represent a solution in a manner that leads to effective implementation? Can a design model be created?
  • 25. 25 Carry Out the Plan • Does the solution conform to the plan? Is source code traceable to the design model? • Is each component part of the solution provably correct? Has the design and code been reviewed, or better, have correctness proofs been applied to algorithm?
  • 26. 26 Examine the Result • Is it possible to test each component part of the solution? Has a reasonable testing strategy been implemented? • Does the solution produce results that conform to the data, functions, and features that are required? Has the software been validated against all stakeholder requirements?
  • 27. 27 Hooker’s General Principles 1: The Reason It All Exists 2: KISS (Keep It Simple, Stupid!) 3: Maintain the Vision 4: What You Produce, Others Will Consume 5: Be Open to the Future 6: Plan Ahead for Reuse 7: Think!