SlideShare une entreprise Scribd logo
1  sur  5
Chapter 1 – Software and Software Engineering
Overview
 Software is designed and built by software engineers.
 Software is used by virtually everyone in society.
 Software is pervasive in our commerce, our culture, and our everyday lives.
 Software engineers have a moral obligation to build reliable software that
does no harm to other people.
 Software engineers view computer software, as being made up of the
programs, documents, and data required to design and build the system.
 Software users are only concerned with whether or not software products
meet their expectations and make their tasks easier to complete.
Important Questions for Software Engineers
 Why does it take so long to get software finished?
 Why are development costs so high?
 Why can’t we find all errors before we give the software to our customers?
 Why do we spend so much time and effort maintaining existing programs?
 Why do we continue to have difficulty in measuring progress as software is
being developed?
Software
 Software is both a product and a vehicle for delivering a product (information).
 Software is engineered not manufactured.
 Software does not wear out, but it does deteriorate.
 Industry is moving toward component-based software construction, but most
software is still custom-built.
Software Application Domains
 System software
 Application software
 Engineering or Scientific Software
 Embedded software
 Product-line software (includes entertainment software)
 Web-Applications
 Artificial intelligence software
New Software Challenges
 Open-world computing
o Creating software to allow machines of all sizes to communicate with
each other across vast networks
 Netsourcing
o Architecting simple and sophisticated applications that benefit targeted
end-user markets worldwide
 Open Source
o Distributing source code for computing applications so customers can
make local modifications easily and reliably
Reasons for Legacy System Evolution
 Software must be adapted to meet needs of new computing environments or
technology
 Software must be enhanced to implement new business requirements
 Software must be extended to make it interoperable with more modern
system components
 Software must be re-architected to make it viable within a network
environment
Unique Nature of Web Apps
 Network intensive
 Concurrency
 Unpredictable load
 Availability (24/7/365)
 Data driven
 Content sensitive
 Continuous evolution
 Immediacy (short time to market)
 Security
 Aesthetics
Software Engineering Realities
 Problem should be understood before software solution is developed
 Design is a pivotal activity
 Software should exhibit high quality
 Software should be maintainable
Software Engineering
 Software engineering is the establishment of sound engineering principles in
order to obtain reliable and efficient software in an economical manner.
 Software engineering is the application of a systematic, disciplined,
quantifiable approach to the development, operation, and maintenance of
software.
 Software engineering encompasses a process, management techniques,
technical methods, and the use of tools.
Generic Software Process Framework
 Communication (customer collaboration and requirement gathering)
 Planning (establishes engineering work plan, describes technical risks, lists
resources required, work products produced, and defines work schedule)
 Modeling (creation of models to help developers and customers understand
the requires and software design)
 Construction (code generation and testing)
 Deployment (software delivered for customer evaluation and feedback)
Software Engineering Umbrella Activities
 Software project tracking and control (allows team to assess progress and
take corrective action to maintain schedule)
 Risk management (assess risks that may affect project outcomes or quality)
 Software quality assurance (activities required to maintain software quality)
 Technical reviews (assess engineering work products to uncover and remove
errors before they propagate to next activity)
 Measurement (define and collect process, project, and product measures to
assist team in delivering software meeting customer needs)
 Software configuration management (manage effects of change)
 Reusability management (defines criteria for work product reuse and
establish mechanisms to achieve component reuse)
 Work product preparation and production (activities to create models,
documents, logs, forms, lists, etc.)
Attributes for Comparing Process Models
 Overall flow and level of interdependencies among tasks
 Degree to which work tasks are defined within each framework activity
 Degree to which work products are identified and required
 Manner in which quality assurance activities are applied
 Manner in which project tracking and control activities are applied
 Overall degree of detail and rigor of process description
 Degree to which stakeholders are involved in the project
 Level of autonomy given to project team
 Degree to which team organization and roles are prescribed
Essence of Practice
 Understand the problem (communication and analysis)
 Plan a solution (software design)
 Carry out the plan (code generation)
 Examine the result for accuracy (testing and quality assurance)
Understand the Problem
 Who are the stakeholders?
 What functions and features are required to solve the problem?
 Is it possible to create smaller problems that are easier to understand?
 Can a graphic analysis model be created?
Plan the Solution
 Have you seen similar problems before?
 Has a similar problem been solved?
 Can readily solvable subproblems be defined?
 Can a design model be created?
Carry Out the Plan
 Does solution conform to the plan?
 Is each solution component provably correct?
Examine the Result
 Is it possible to test each component part of the solution?
 Does the solution produce results that conform to the data, functions, and
features required?
Software Practice Core Principles
1. Software exists to provide value to its users
2. Keep it simple stupid (KISS)
3. Clear vision is essential to the success of any software project
4. Always specify, design, and implement knowing that someone else will have
to understand what you have done to carry out his or her tasks
5. Be open to future changes, don’t code yourself into a corner
6. Planning ahead for reuse reduces the cost and increases the value of both
the reusable components and the systems that require them
7. Placing clear complete thought before any action almost always produces
better results
Software Creation
 Almost every software project is precipitated by a business need (e.g. correct
a system defect, adapt system to changing environment, extend existing
system, create new system)
 Many times an engineering effort will only succeed if the software created for
the project succeeds
 The market will only accept a product is the software embedded within it
meets the customer’s stated or unstated needs

Contenu connexe

Tendances

Devops training and placement in hyderabad
Devops training and placement in hyderabadDevops training and placement in hyderabad
Devops training and placement in hyderabadVamsiNihal
 
香港六合彩
香港六合彩香港六合彩
香港六合彩pchgmf
 
CYBER SECURITY ANALYST - HOW TO BECOME, JOB DEMAND AND TOP CERTIFICATIONS
CYBER SECURITY ANALYST - HOW TO BECOME, JOB DEMAND AND TOP CERTIFICATIONSCYBER SECURITY ANALYST - HOW TO BECOME, JOB DEMAND AND TOP CERTIFICATIONS
CYBER SECURITY ANALYST - HOW TO BECOME, JOB DEMAND AND TOP CERTIFICATIONSSprintzeal
 
How to Become a Cyber Security Analyst in 2021..
How to Become a Cyber Security Analyst in 2021..How to Become a Cyber Security Analyst in 2021..
How to Become a Cyber Security Analyst in 2021..Sprintzeal
 
Software engineer job responsibilities
Software engineer job responsibilitiesSoftware engineer job responsibilities
Software engineer job responsibilitiesTeyha Mdiah
 
Software Development Lifecycle Overview By CC
Software Development Lifecycle Overview By CCSoftware Development Lifecycle Overview By CC
Software Development Lifecycle Overview By CCCooperative Computing
 
Soft Eng - Introduction
Soft Eng - IntroductionSoft Eng - Introduction
Soft Eng - IntroductionJomel Penalba
 
L1 overview of software engineering
L1  overview of software engineeringL1  overview of software engineering
L1 overview of software engineeringRushdi Shams
 
Software Engineering - Ch1 introduction
Software Engineering - Ch1 introductionSoftware Engineering - Ch1 introduction
Software Engineering - Ch1 introductionRa'Fat Al-Msie'deen
 
Software engineering principles (marcello thiry)
Software engineering principles (marcello thiry)Software engineering principles (marcello thiry)
Software engineering principles (marcello thiry)Marcello Thiry
 

Tendances (16)

Devops training and placement in hyderabad
Devops training and placement in hyderabadDevops training and placement in hyderabad
Devops training and placement in hyderabad
 
香港六合彩
香港六合彩香港六合彩
香港六合彩
 
Why se script
Why se scriptWhy se script
Why se script
 
CYBER SECURITY ANALYST - HOW TO BECOME, JOB DEMAND AND TOP CERTIFICATIONS
CYBER SECURITY ANALYST - HOW TO BECOME, JOB DEMAND AND TOP CERTIFICATIONSCYBER SECURITY ANALYST - HOW TO BECOME, JOB DEMAND AND TOP CERTIFICATIONS
CYBER SECURITY ANALYST - HOW TO BECOME, JOB DEMAND AND TOP CERTIFICATIONS
 
How to Become a Cyber Security Analyst in 2021..
How to Become a Cyber Security Analyst in 2021..How to Become a Cyber Security Analyst in 2021..
How to Become a Cyber Security Analyst in 2021..
 
Software engineer job responsibilities
Software engineer job responsibilitiesSoftware engineer job responsibilities
Software engineer job responsibilities
 
M017548895
M017548895M017548895
M017548895
 
Software Development Lifecycle Overview By CC
Software Development Lifecycle Overview By CCSoftware Development Lifecycle Overview By CC
Software Development Lifecycle Overview By CC
 
Soft Eng - Introduction
Soft Eng - IntroductionSoft Eng - Introduction
Soft Eng - Introduction
 
Ch1
Ch1Ch1
Ch1
 
Ch1
Ch1Ch1
Ch1
 
L1 overview of software engineering
L1  overview of software engineeringL1  overview of software engineering
L1 overview of software engineering
 
1. ch 1-introduction
1. ch 1-introduction1. ch 1-introduction
1. ch 1-introduction
 
Basics of se
Basics of seBasics of se
Basics of se
 
Software Engineering - Ch1 introduction
Software Engineering - Ch1 introductionSoftware Engineering - Ch1 introduction
Software Engineering - Ch1 introduction
 
Software engineering principles (marcello thiry)
Software engineering principles (marcello thiry)Software engineering principles (marcello thiry)
Software engineering principles (marcello thiry)
 

Similaire à Chapter1

Chapter_01.ppt
Chapter_01.pptChapter_01.ppt
Chapter_01.pptMSahibKhan
 
want to contact me login to www.stqa.org
want to contact me login to www.stqa.orgwant to contact me login to www.stqa.org
want to contact me login to www.stqa.orgnazeer pasha
 
Introduction of software engineering
Introduction of software engineeringIntroduction of software engineering
Introduction of software engineeringBhagyashriMore10
 
Lecture-1,2-Introduction to SE.pptx
Lecture-1,2-Introduction to SE.pptxLecture-1,2-Introduction to SE.pptx
Lecture-1,2-Introduction to SE.pptxYaseenNazir3
 
Week_01-Intro to Software Engineering-1.ppt
Week_01-Intro to Software Engineering-1.pptWeek_01-Intro to Software Engineering-1.ppt
Week_01-Intro to Software Engineering-1.ppt23017156038
 
ccs356-software-engineering-notes.pdf
ccs356-software-engineering-notes.pdfccs356-software-engineering-notes.pdf
ccs356-software-engineering-notes.pdfVijayakumarKadumbadi
 
Soft.Engg. UNIT 1.pptx
Soft.Engg. UNIT 1.pptxSoft.Engg. UNIT 1.pptx
Soft.Engg. UNIT 1.pptxKalpna Saharan
 
六合彩|香港六合彩
六合彩|香港六合彩六合彩|香港六合彩
六合彩|香港六合彩ohtpwshx
 
香港六合彩 » SlideShare
香港六合彩 » SlideShare香港六合彩 » SlideShare
香港六合彩 » SlideSharehcslenk
 
六合彩|香港六合彩
六合彩|香港六合彩六合彩|香港六合彩
六合彩|香港六合彩tnxaht
 
香港六合彩-六合彩
香港六合彩-六合彩香港六合彩-六合彩
香港六合彩-六合彩eqhnwl
 
六合彩,香港六合彩
六合彩,香港六合彩六合彩,香港六合彩
六合彩,香港六合彩bxuket
 
Lecture 2 introduction to Software Engineering 1
Lecture 2   introduction to Software Engineering 1Lecture 2   introduction to Software Engineering 1
Lecture 2 introduction to Software Engineering 1IIUI
 
unit 1.pptx regasts sthatbabs shshsbsvsbsh
unit 1.pptx regasts sthatbabs shshsbsvsbshunit 1.pptx regasts sthatbabs shshsbsvsbsh
unit 1.pptx regasts sthatbabs shshsbsvsbshsagarjsicg
 

Similaire à Chapter1 (20)

Lecture 1 SE.pptx
Lecture 1 SE.pptxLecture 1 SE.pptx
Lecture 1 SE.pptx
 
Chapter_01.ppt
Chapter_01.pptChapter_01.ppt
Chapter_01.ppt
 
Software engineering
Software engineeringSoftware engineering
Software engineering
 
want to contact me login to www.stqa.org
want to contact me login to www.stqa.orgwant to contact me login to www.stqa.org
want to contact me login to www.stqa.org
 
Introduction of software engineering
Introduction of software engineeringIntroduction of software engineering
Introduction of software engineering
 
Lecture 1 SE.pptx
Lecture 1 SE.pptxLecture 1 SE.pptx
Lecture 1 SE.pptx
 
Lecture-1,2-Introduction to SE.pptx
Lecture-1,2-Introduction to SE.pptxLecture-1,2-Introduction to SE.pptx
Lecture-1,2-Introduction to SE.pptx
 
Week_01-Intro to Software Engineering-1.ppt
Week_01-Intro to Software Engineering-1.pptWeek_01-Intro to Software Engineering-1.ppt
Week_01-Intro to Software Engineering-1.ppt
 
ccs356-software-engineering-notes.pdf
ccs356-software-engineering-notes.pdfccs356-software-engineering-notes.pdf
ccs356-software-engineering-notes.pdf
 
Soft.Engg. UNIT 1.pptx
Soft.Engg. UNIT 1.pptxSoft.Engg. UNIT 1.pptx
Soft.Engg. UNIT 1.pptx
 
六合彩|香港六合彩
六合彩|香港六合彩六合彩|香港六合彩
六合彩|香港六合彩
 
香港六合彩 » SlideShare
香港六合彩 » SlideShare香港六合彩 » SlideShare
香港六合彩 » SlideShare
 
六合彩|香港六合彩
六合彩|香港六合彩六合彩|香港六合彩
六合彩|香港六合彩
 
香港六合彩-六合彩
香港六合彩-六合彩香港六合彩-六合彩
香港六合彩-六合彩
 
六合彩,香港六合彩
六合彩,香港六合彩六合彩,香港六合彩
六合彩,香港六合彩
 
Lecture 2 introduction to Software Engineering 1
Lecture 2   introduction to Software Engineering 1Lecture 2   introduction to Software Engineering 1
Lecture 2 introduction to Software Engineering 1
 
SE
SESE
SE
 
unit 1.pptx regasts sthatbabs shshsbsvsbsh
unit 1.pptx regasts sthatbabs shshsbsvsbshunit 1.pptx regasts sthatbabs shshsbsvsbsh
unit 1.pptx regasts sthatbabs shshsbsvsbsh
 
Unit 1.pdf
Unit 1.pdfUnit 1.pdf
Unit 1.pdf
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 

Plus de mansab MIRZA

software engineering models
software engineering models software engineering models
software engineering models mansab MIRZA
 
Dijkstra s algorithm
Dijkstra s algorithmDijkstra s algorithm
Dijkstra s algorithmmansab MIRZA
 
Dynamic programing 2
Dynamic programing 2Dynamic programing 2
Dynamic programing 2mansab MIRZA
 
Dynamic programing 2
Dynamic programing 2Dynamic programing 2
Dynamic programing 2mansab MIRZA
 
Asymptotics 140510003721-phpapp02
Asymptotics 140510003721-phpapp02Asymptotics 140510003721-phpapp02
Asymptotics 140510003721-phpapp02mansab MIRZA
 
Fall 2015 time_table_bs by mansab mirza
Fall 2015 time_table_bs by mansab mirzaFall 2015 time_table_bs by mansab mirza
Fall 2015 time_table_bs by mansab mirzamansab MIRZA
 

Plus de mansab MIRZA (6)

software engineering models
software engineering models software engineering models
software engineering models
 
Dijkstra s algorithm
Dijkstra s algorithmDijkstra s algorithm
Dijkstra s algorithm
 
Dynamic programing 2
Dynamic programing 2Dynamic programing 2
Dynamic programing 2
 
Dynamic programing 2
Dynamic programing 2Dynamic programing 2
Dynamic programing 2
 
Asymptotics 140510003721-phpapp02
Asymptotics 140510003721-phpapp02Asymptotics 140510003721-phpapp02
Asymptotics 140510003721-phpapp02
 
Fall 2015 time_table_bs by mansab mirza
Fall 2015 time_table_bs by mansab mirzaFall 2015 time_table_bs by mansab mirza
Fall 2015 time_table_bs by mansab mirza
 

Dernier

Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxAnnaArtyushina1
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...masabamasaba
 
tonesoftg
tonesoftgtonesoftg
tonesoftglanshi9
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburgmasabamasaba
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in sowetomasabamasaba
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...masabamasaba
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park masabamasaba
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...chiefasafspells
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Bert Jan Schrijver
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...masabamasaba
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...Jittipong Loespradit
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...SelfMade bd
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is insideshinachiaurasa2
 

Dernier (20)

Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptx
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 

Chapter1

  • 1. Chapter 1 – Software and Software Engineering Overview  Software is designed and built by software engineers.  Software is used by virtually everyone in society.  Software is pervasive in our commerce, our culture, and our everyday lives.  Software engineers have a moral obligation to build reliable software that does no harm to other people.  Software engineers view computer software, as being made up of the programs, documents, and data required to design and build the system.  Software users are only concerned with whether or not software products meet their expectations and make their tasks easier to complete. Important Questions for Software Engineers  Why does it take so long to get software finished?  Why are development costs so high?  Why can’t we find all errors before we give the software to our customers?  Why do we spend so much time and effort maintaining existing programs?  Why do we continue to have difficulty in measuring progress as software is being developed? Software  Software is both a product and a vehicle for delivering a product (information).  Software is engineered not manufactured.  Software does not wear out, but it does deteriorate.  Industry is moving toward component-based software construction, but most software is still custom-built. Software Application Domains  System software  Application software  Engineering or Scientific Software  Embedded software  Product-line software (includes entertainment software)  Web-Applications  Artificial intelligence software
  • 2. New Software Challenges  Open-world computing o Creating software to allow machines of all sizes to communicate with each other across vast networks  Netsourcing o Architecting simple and sophisticated applications that benefit targeted end-user markets worldwide  Open Source o Distributing source code for computing applications so customers can make local modifications easily and reliably Reasons for Legacy System Evolution  Software must be adapted to meet needs of new computing environments or technology  Software must be enhanced to implement new business requirements  Software must be extended to make it interoperable with more modern system components  Software must be re-architected to make it viable within a network environment Unique Nature of Web Apps  Network intensive  Concurrency  Unpredictable load  Availability (24/7/365)  Data driven  Content sensitive  Continuous evolution  Immediacy (short time to market)  Security  Aesthetics Software Engineering Realities  Problem should be understood before software solution is developed  Design is a pivotal activity  Software should exhibit high quality  Software should be maintainable
  • 3. Software Engineering  Software engineering is the establishment of sound engineering principles in order to obtain reliable and efficient software in an economical manner.  Software engineering is the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software.  Software engineering encompasses a process, management techniques, technical methods, and the use of tools. Generic Software Process Framework  Communication (customer collaboration and requirement gathering)  Planning (establishes engineering work plan, describes technical risks, lists resources required, work products produced, and defines work schedule)  Modeling (creation of models to help developers and customers understand the requires and software design)  Construction (code generation and testing)  Deployment (software delivered for customer evaluation and feedback) Software Engineering Umbrella Activities  Software project tracking and control (allows team to assess progress and take corrective action to maintain schedule)  Risk management (assess risks that may affect project outcomes or quality)  Software quality assurance (activities required to maintain software quality)  Technical reviews (assess engineering work products to uncover and remove errors before they propagate to next activity)  Measurement (define and collect process, project, and product measures to assist team in delivering software meeting customer needs)  Software configuration management (manage effects of change)  Reusability management (defines criteria for work product reuse and establish mechanisms to achieve component reuse)  Work product preparation and production (activities to create models, documents, logs, forms, lists, etc.) Attributes for Comparing Process Models  Overall flow and level of interdependencies among tasks  Degree to which work tasks are defined within each framework activity  Degree to which work products are identified and required  Manner in which quality assurance activities are applied
  • 4.  Manner in which project tracking and control activities are applied  Overall degree of detail and rigor of process description  Degree to which stakeholders are involved in the project  Level of autonomy given to project team  Degree to which team organization and roles are prescribed Essence of Practice  Understand the problem (communication and analysis)  Plan a solution (software design)  Carry out the plan (code generation)  Examine the result for accuracy (testing and quality assurance) Understand the Problem  Who are the stakeholders?  What functions and features are required to solve the problem?  Is it possible to create smaller problems that are easier to understand?  Can a graphic analysis model be created? Plan the Solution  Have you seen similar problems before?  Has a similar problem been solved?  Can readily solvable subproblems be defined?  Can a design model be created? Carry Out the Plan  Does solution conform to the plan?  Is each solution component provably correct? Examine the Result  Is it possible to test each component part of the solution?  Does the solution produce results that conform to the data, functions, and features required?
  • 5. Software Practice Core Principles 1. Software exists to provide value to its users 2. Keep it simple stupid (KISS) 3. Clear vision is essential to the success of any software project 4. Always specify, design, and implement knowing that someone else will have to understand what you have done to carry out his or her tasks 5. Be open to future changes, don’t code yourself into a corner 6. Planning ahead for reuse reduces the cost and increases the value of both the reusable components and the systems that require them 7. Placing clear complete thought before any action almost always produces better results Software Creation  Almost every software project is precipitated by a business need (e.g. correct a system defect, adapt system to changing environment, extend existing system, create new system)  Many times an engineering effort will only succeed if the software created for the project succeeds  The market will only accept a product is the software embedded within it meets the customer’s stated or unstated needs