SlideShare a Scribd company logo
1 of 28
1. Software and Software
Engineering
Abdus Sattar
Senior Lecturer
Department of Computer Science and Engineering
Daffodil International University
Email: sattar342@gmail.com; sattar@britannia.ac
Expected Learning Outcome
Appreciate Software Engineering
Identify the different components of software
engineering
AbdusSattar,sattar@britannia.ac
2
What is Software?
Software is:
 Instructions (computer programs) that when
executed provide desired features, function, and
performance;
 Data structures that enable the programs to
adequately manipulate information and
 Documentation that describes the operation and use
of the programs.
AbdusSattar,sattar@britannia.ac
3
Characteristics/Nature of Software
Software is developed or engineered, it is not
manufactured in the classical sense.
 Software is intangible
• Hard to understand development effort
 Software is easy to reproduce
• Cost is in its development
 The industry is labor-intensive
• Hard to automate
AbdusSattar,sattar@britannia.ac
4
Characteristics/Nature of Software
 Untrained people can hack something together
• Quality problems are hard to notice
 Software is easy to modify
• People make changes without fully understanding it
 Software does not ‘wear out’
• It deteriorates by having its design changed:
• erroneously, or
• in ways that were not anticipated, thus making it
complex
AbdusSattar,sattar@britannia.ac
5
Characteristics/Nature of Software
 Conclusions
 Much software has poor design and is getting worse
 We have to learn to ‘engineer’ software
AbdusSattar,sattar@britannia.ac
6
Software Applications
System Software :
 Operating system, drivers, networking software, telecommunications
processors, Compilers.
Application Software:
 Microsoft Office, Excel and Outlook, Google Chrome, Mozilla Firefox
and Skype. Games and mobile applications such as "Clash of Clans,"
SoundCloud, Spotify and Uber, are also considered application software.
Other specific examples include Steam, "Minecraft," Adobe Reader and
Photoshop.
Engineering/scientific software:
 Computer-aided Design and Computer-aided Manufacturing Software,
Civil Engineering and Architectural Software , Electrical Engineering
software, Geographic Information Systems Software, Simulation
software, Interactive Software.
Embedded Software :
 key pad control for a microwave oven, fuel control, dashboard displays,
and braking systems, control and monitoring system.
AbdusSattar,sattar@britannia.ac
7
Software Applications (Cont..)
Product-line software/Data Processing System:
 Inventory control products, word processing, spreadsheets, computer
graphics, multimedia, entertainment, database management, and
personal and business financial applications
WebApps (Web applications)
 Integrated with corporate databases and business applications:
Booking application, Chatting application, Upload, E-Business, E-
Commerce application.
AI software
 Include robotics, expert systems, pattern recognition (image and
voice), artificial neural networks, theorem, proving, and game
playing.
Gaming Software
Mobile Device Software
AbdusSattar,sattar@britannia.ac
8
Software—New Categories
 Open world computing—pervasive/widespread, distributed
computing
 Ubiquitous computing—wireless networks.
 Net sourcing—the Web as a computing engine.
 Open source—”free” source code open to the computing
community (a blessing, but also a potential curse!)
AbdusSattar,sattar@britannia.ac
9
Legacy Software
Legacy implies that the software is out of date or in
need of replacement, however it may be in good
working order so the business or individual owner
does not want to upgrade or update the software.
AbdusSattar,sattar@britannia.ac
10
Legacy Software
Why must it change?
 software must be adapted to meet the 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 other more modern systems or databases.
 software must be re-architected to make it viable
within a network environment.
AbdusSattar,sattar@britannia.ac
11
Characteristics of WebApps
 Network intensiveness. A WebApp resides on a network and
must serve the needs of a diverse community of clients.
 Concurrency. A large number of users may access the
WebApp at one time.
 Unpredictable load. The number of users of the WebApp may
vary by orders of magnitude from day to day.
 Performance. If a WebApp user must wait too long (for
access, for server-side processing, for client-side formatting
and display), he or she may decide to go elsewhere.
 Availability. Although expectation of 100 percent availability
is unreasonable, users of popular WebApps often demand
access on a “24/7/365” basis.
AbdusSattar,sattar@britannia.ac
12
CharacteristicsofWebApps(Cont…)
Data driven. The primary function of many WebApps is to use
hypermedia to present text, graphics, audio, and video content to the end-
user.
Content sensitive. The quality and aesthetic nature of content remains an
important determinant of the quality of a WebApp.
Continuous evolution. Unlike conventional application software that
evolves over a series of planned, chronologically-spaced releases, Web
applications evolve continuously.
Immediacy. Although immediacy—the compelling need to get software to
market quickly—is a characteristic of many application domains, WebApps
often exhibit a time to market that can be a matter of a few days or weeks.
Security. Because WebApps are available via network access, it is
difficult, if not impossible, to limit the population of end-users who may
access the application.
Aesthetics. An undeniable part of the appeal of a WebApp is its look and
feel.
AbdusSattar,sattar@britannia.ac
13
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.
 The study of approaches as in (1).
AbdusSattar,sattar@britannia.ac
14
Software Engineering (Cont..)
 The process of solving customers ’
problems by the systematic development
and evolution of large, high-quality
software systems within cost, time and
other constraints
AbdusSattar,sattar@britannia.ac
15
Software Engineering (Cont..)
 Solving customers’ problems
• The goal
• Sometimes the solution is to buy, not build
• Adding unnecessary features often makes
software worse
• Software engineers must communicate effectively
to identify and understand the problem
AbdusSattar,sattar@britannia.ac
16
Software Engineering (Cont..)
 Systematic development and evolution
• An engineering process involves applying well
understood techniques in a organized and
disciplined way
• Many well-accepted practices have been
formally standardized
• e.g. by the IEEE or ISO
• Most development work is evolution
AbdusSattar,sattar@britannia.ac
17
Software Engineering (Cont..)
 Large, high quality software systems
• Software engineering techniques are needed
because large systems cannot be completely
understood by one person
• Teamwork and co-ordination are required
• Key challenge: Dividing up the work and
ensuring that the parts of the system work
properly together
• The end-product must be of sufficient quality
AbdusSattar,sattar@britannia.ac
18
Software Engineering (Cont..)
 Cost, time and other constraints
• Finite resources
• The benefit must outweigh the cost
• Others are competing to do the job cheaper and
faster
• Inaccurate estimates of cost and time have
caused many project failures
AbdusSattar,sattar@britannia.ac
19
Software Quality...
•Usability
• Users can learn it and fast and get their job done easily
•Efficiency
• It doesn't’t waste resources such as CPU time and
memory
•Reliability
• It does what it is required to do without failing
•Maintainability
• It can be easily changed
•Reusability
• Its parts can be used in other projects, so reprogramming
is not needed
AbdusSattar,sattar@britannia.ac
20
SoftwareQuality and Stakeholders
AbdusSattar,sattar@britannia.ac
21
A Layered Technology
AbdusSattar,sattar@britannia.ac
22
Fig: Software engineering layers
Software Process
 A process is a collection of activities, actions, and tasks that
are performed when some work product is to be created.
 An activity strives to achieve a broad objective (e.g.,
communication with stakeholders) and is applied regardless of
the application domain, size of the project, complexity of the
effort, or degree of rigor with which software engineering is to
be applied.
 An action (e.g., architectural design) encompasses a set of
tasks that produce a major work product (e.g., an architectural
design model).
 A task focuses on a small, but well-defined objective (e.g.,
conducting a unit test) that produces a tangible outcome.
AbdusSattar,sattar@britannia.ac
23
Umbrella Activities
 Software project management
 Formal technical reviews
 Software quality assurance
 Software configuration management
 Work product preparation and
production
 Reusability management
 Measurement
 Risk management
AbdusSattar,sattar@britannia.ac
24
The Essence of Practice
George Polya outlined The essence of software
engineering practice:
 Understand the problem (communication and
analysis).
 Plan a solution (modeling and software design).
 Carry out the plan (code generation).
 Examine the result for accuracy (testing and
quality assurance).
AbdusSattar,sattar@britannia.ac
25
Software Myths
Pressman describes a number of common beliefs or myths
that software managers, customers, and developers believe
falsely.
He describes these myths as ``misleading attitudes that
have caused serious problems.'' We look at these myths to
see why they are false, and why they lead to trouble.
 Affect managers, customers (and other non-technical stakeholders)
and practitioners
 Are believable because they often have elements of truth,
 but …
 Invariably lead to bad decisions,
 therefore …
 Insist on reality as you navigate your way through software
engineering
AbdusSattar,sattar@britannia.ac
26
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!
AbdusSattar,sattar@britannia.ac
27
AbdusSattar,sattar@britannia.ac
28
References:
1. Software Engineering by Ian Sommerville,
9th edition, Addison-Wesley, 2011
2. Software Engineering A practitioner’s
Approach by Roger S. Pressman, 7th edition, McGraw Hill, 2010.

More Related Content

What's hot

Online Software development training
Online Software development trainingOnline Software development training
Online Software development trainingvibrantuser
 
Usability Challenges in Cutting-edge Medical Devices and Exoskeleton Robotics
Usability Challenges in Cutting-edge Medical Devices and Exoskeleton RoboticsUsability Challenges in Cutting-edge Medical Devices and Exoskeleton Robotics
Usability Challenges in Cutting-edge Medical Devices and Exoskeleton RoboticsICS
 
BSC Software & Software engineering-UNIT-IV
BSC Software & Software engineering-UNIT-IVBSC Software & Software engineering-UNIT-IV
BSC Software & Software engineering-UNIT-IVYamunaP6
 
Marcus Wesley's Resume
Marcus Wesley's ResumeMarcus Wesley's Resume
Marcus Wesley's ResumeMarcus Wesley
 
Model driven process for real time embedded
Model driven process for real time embeddedModel driven process for real time embedded
Model driven process for real time embeddedcaijjournal
 
Lukito Edi Nugroho - Information System Engineering
Lukito Edi Nugroho - Information System EngineeringLukito Edi Nugroho - Information System Engineering
Lukito Edi Nugroho - Information System Engineeringbelajarkomputer
 
No Silver Bullet - Essence and Accidents of Software Engineering
No Silver Bullet - Essence and Accidents of Software EngineeringNo Silver Bullet - Essence and Accidents of Software Engineering
No Silver Bullet - Essence and Accidents of Software EngineeringAditi Abhang
 
Marius_2016_resume
Marius_2016_resumeMarius_2016_resume
Marius_2016_resumeMarius Mihel
 
Software Engineering concept
Software Engineering concept Software Engineering concept
Software Engineering concept Atamjitsingh92
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software EngineeringUpekha Vandebona
 
01 fse software&sw-engineering
01 fse software&sw-engineering01 fse software&sw-engineering
01 fse software&sw-engineeringMohesh Chandran
 
Introduction,Software Process Models, Project Management
Introduction,Software Process Models, Project ManagementIntroduction,Software Process Models, Project Management
Introduction,Software Process Models, Project Managementswatisinghal
 

What's hot (20)

Online Software development training
Online Software development trainingOnline Software development training
Online Software development training
 
Vivek_MK
Vivek_MKVivek_MK
Vivek_MK
 
Usability Challenges in Cutting-edge Medical Devices and Exoskeleton Robotics
Usability Challenges in Cutting-edge Medical Devices and Exoskeleton RoboticsUsability Challenges in Cutting-edge Medical Devices and Exoskeleton Robotics
Usability Challenges in Cutting-edge Medical Devices and Exoskeleton Robotics
 
Software ee1
Software ee1Software ee1
Software ee1
 
Software ee111
Software ee111Software ee111
Software ee111
 
BSC Software & Software engineering-UNIT-IV
BSC Software & Software engineering-UNIT-IVBSC Software & Software engineering-UNIT-IV
BSC Software & Software engineering-UNIT-IV
 
Marcus Wesley's Resume
Marcus Wesley's ResumeMarcus Wesley's Resume
Marcus Wesley's Resume
 
Model driven process for real time embedded
Model driven process for real time embeddedModel driven process for real time embedded
Model driven process for real time embedded
 
Software engineering the product
Software engineering the productSoftware engineering the product
Software engineering the product
 
Lukito Edi Nugroho - Information System Engineering
Lukito Edi Nugroho - Information System EngineeringLukito Edi Nugroho - Information System Engineering
Lukito Edi Nugroho - Information System Engineering
 
No Silver Bullet - Essence and Accidents of Software Engineering
No Silver Bullet - Essence and Accidents of Software EngineeringNo Silver Bullet - Essence and Accidents of Software Engineering
No Silver Bullet - Essence and Accidents of Software Engineering
 
Lecture 1 se
Lecture 1 seLecture 1 se
Lecture 1 se
 
Marius_2016_resume
Marius_2016_resumeMarius_2016_resume
Marius_2016_resume
 
Software Engineering concept
Software Engineering concept Software Engineering concept
Software Engineering concept
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
01 fse software&sw-engineering
01 fse software&sw-engineering01 fse software&sw-engineering
01 fse software&sw-engineering
 
Web engineering
Web engineeringWeb engineering
Web engineering
 
Project_Experience
Project_ExperienceProject_Experience
Project_Experience
 
Introduction,Software Process Models, Project Management
Introduction,Software Process Models, Project ManagementIntroduction,Software Process Models, Project Management
Introduction,Software Process Models, Project Management
 
0273710133 pp01v2
0273710133 pp01v20273710133 pp01v2
0273710133 pp01v2
 

Similar to 1. ch 1-introduction

Similar to 1. ch 1-introduction (20)

Chapter 01
Chapter 01Chapter 01
Chapter 01
 
Chapter 01
Chapter 01Chapter 01
Chapter 01
 
Software engineering : Layered Architecture
Software engineering : Layered ArchitectureSoftware engineering : Layered Architecture
Software engineering : Layered Architecture
 
SE Lecture 1.ppt
SE Lecture 1.pptSE Lecture 1.ppt
SE Lecture 1.ppt
 
SE Lecture 1.ppt
SE Lecture 1.pptSE Lecture 1.ppt
SE Lecture 1.ppt
 
Software engineering unit 1
Software engineering unit 1Software engineering unit 1
Software engineering unit 1
 
SE
SESE
SE
 
[2015/2016] Software systems engineering PRINCIPLES
[2015/2016] Software systems engineering PRINCIPLES[2015/2016] Software systems engineering PRINCIPLES
[2015/2016] Software systems engineering PRINCIPLES
 
SE 1 Software Engineering.pptx
SE 1 Software Engineering.pptxSE 1 Software Engineering.pptx
SE 1 Software Engineering.pptx
 
Chapter_01.ppt
Chapter_01.pptChapter_01.ppt
Chapter_01.ppt
 
Lecture 01 Introduction to Software Engineering
Lecture 01 Introduction to Software EngineeringLecture 01 Introduction to Software Engineering
Lecture 01 Introduction to Software Engineering
 
Lect 01
Lect 01Lect 01
Lect 01
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
2- THE CHANGING NATURE OF SOFTWARE.pdf
2- THE CHANGING NATURE OF SOFTWARE.pdf2- THE CHANGING NATURE OF SOFTWARE.pdf
2- THE CHANGING NATURE OF SOFTWARE.pdf
 
lecture 1.pdf
lecture 1.pdflecture 1.pdf
lecture 1.pdf
 
Introduction Software and Software Engineering
Introduction Software and Software EngineeringIntroduction Software and Software Engineering
Introduction Software and Software Engineering
 
Oose unit 1 ppt
Oose unit 1 pptOose unit 1 ppt
Oose unit 1 ppt
 
SOFDESG 01 Introduction.pdf
SOFDESG 01 Introduction.pdfSOFDESG 01 Introduction.pdf
SOFDESG 01 Introduction.pdf
 
SE-Lecture1.ppt
SE-Lecture1.pptSE-Lecture1.ppt
SE-Lecture1.ppt
 
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
 

More from Delowar hossain

Cse 333-assignment-software engineering
Cse 333-assignment-software engineeringCse 333-assignment-software engineering
Cse 333-assignment-software engineeringDelowar hossain
 
6. ch 5-understanding requirements
6. ch 5-understanding requirements6. ch 5-understanding requirements
6. ch 5-understanding requirementsDelowar hossain
 
5. ch 4-principles that guide practice
5. ch 4-principles that guide practice5. ch 4-principles that guide practice
5. ch 4-principles that guide practiceDelowar hossain
 
Chapter 8 memory-updated
Chapter 8 memory-updatedChapter 8 memory-updated
Chapter 8 memory-updatedDelowar hossain
 

More from Delowar hossain (8)

Software model
Software modelSoftware model
Software model
 
Cse 333-assignment-software engineering
Cse 333-assignment-software engineeringCse 333-assignment-software engineering
Cse 333-assignment-software engineering
 
Assignment
AssignmentAssignment
Assignment
 
6. ch 5-understanding requirements
6. ch 5-understanding requirements6. ch 5-understanding requirements
6. ch 5-understanding requirements
 
5. ch 4-principles that guide practice
5. ch 4-principles that guide practice5. ch 4-principles that guide practice
5. ch 4-principles that guide practice
 
4. ch 3-agile process
4. ch 3-agile process4. ch 3-agile process
4. ch 3-agile process
 
3. ch 2-process model
3. ch 2-process model3. ch 2-process model
3. ch 2-process model
 
Chapter 8 memory-updated
Chapter 8 memory-updatedChapter 8 memory-updated
Chapter 8 memory-updated
 

Recently uploaded

VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130Suhani Kapoor
 
Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxupamatechverse
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations120cr0395
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxJoão Esperancinha
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxAsutosh Ranjan
 
Introduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxIntroduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxupamatechverse
 
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escortsranjana rawat
 
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...srsj9000
 
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSHARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSRajkumarAkumalla
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Dr.Costas Sachpazis
 
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptxthe ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptxhumanexperienceaaa
 

Recently uploaded (20)

VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
 
Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptx
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations
 
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptx
 
Introduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxIntroduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptx
 
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
 
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
 
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
 
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
 
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
 
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINEDJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
 
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSHARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
 
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptxthe ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
 

1. ch 1-introduction

  • 1. 1. Software and Software Engineering Abdus Sattar Senior Lecturer Department of Computer Science and Engineering Daffodil International University Email: sattar342@gmail.com; sattar@britannia.ac
  • 2. Expected Learning Outcome Appreciate Software Engineering Identify the different components of software engineering AbdusSattar,sattar@britannia.ac 2
  • 3. What is Software? Software is:  Instructions (computer programs) that when executed provide desired features, function, and performance;  Data structures that enable the programs to adequately manipulate information and  Documentation that describes the operation and use of the programs. AbdusSattar,sattar@britannia.ac 3
  • 4. Characteristics/Nature of Software Software is developed or engineered, it is not manufactured in the classical sense.  Software is intangible • Hard to understand development effort  Software is easy to reproduce • Cost is in its development  The industry is labor-intensive • Hard to automate AbdusSattar,sattar@britannia.ac 4
  • 5. Characteristics/Nature of Software  Untrained people can hack something together • Quality problems are hard to notice  Software is easy to modify • People make changes without fully understanding it  Software does not ‘wear out’ • It deteriorates by having its design changed: • erroneously, or • in ways that were not anticipated, thus making it complex AbdusSattar,sattar@britannia.ac 5
  • 6. Characteristics/Nature of Software  Conclusions  Much software has poor design and is getting worse  We have to learn to ‘engineer’ software AbdusSattar,sattar@britannia.ac 6
  • 7. Software Applications System Software :  Operating system, drivers, networking software, telecommunications processors, Compilers. Application Software:  Microsoft Office, Excel and Outlook, Google Chrome, Mozilla Firefox and Skype. Games and mobile applications such as "Clash of Clans," SoundCloud, Spotify and Uber, are also considered application software. Other specific examples include Steam, "Minecraft," Adobe Reader and Photoshop. Engineering/scientific software:  Computer-aided Design and Computer-aided Manufacturing Software, Civil Engineering and Architectural Software , Electrical Engineering software, Geographic Information Systems Software, Simulation software, Interactive Software. Embedded Software :  key pad control for a microwave oven, fuel control, dashboard displays, and braking systems, control and monitoring system. AbdusSattar,sattar@britannia.ac 7
  • 8. Software Applications (Cont..) Product-line software/Data Processing System:  Inventory control products, word processing, spreadsheets, computer graphics, multimedia, entertainment, database management, and personal and business financial applications WebApps (Web applications)  Integrated with corporate databases and business applications: Booking application, Chatting application, Upload, E-Business, E- Commerce application. AI software  Include robotics, expert systems, pattern recognition (image and voice), artificial neural networks, theorem, proving, and game playing. Gaming Software Mobile Device Software AbdusSattar,sattar@britannia.ac 8
  • 9. Software—New Categories  Open world computing—pervasive/widespread, distributed computing  Ubiquitous computing—wireless networks.  Net sourcing—the Web as a computing engine.  Open source—”free” source code open to the computing community (a blessing, but also a potential curse!) AbdusSattar,sattar@britannia.ac 9
  • 10. Legacy Software Legacy implies that the software is out of date or in need of replacement, however it may be in good working order so the business or individual owner does not want to upgrade or update the software. AbdusSattar,sattar@britannia.ac 10
  • 11. Legacy Software Why must it change?  software must be adapted to meet the 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 other more modern systems or databases.  software must be re-architected to make it viable within a network environment. AbdusSattar,sattar@britannia.ac 11
  • 12. Characteristics of WebApps  Network intensiveness. A WebApp resides on a network and must serve the needs of a diverse community of clients.  Concurrency. A large number of users may access the WebApp at one time.  Unpredictable load. The number of users of the WebApp may vary by orders of magnitude from day to day.  Performance. If a WebApp user must wait too long (for access, for server-side processing, for client-side formatting and display), he or she may decide to go elsewhere.  Availability. Although expectation of 100 percent availability is unreasonable, users of popular WebApps often demand access on a “24/7/365” basis. AbdusSattar,sattar@britannia.ac 12
  • 13. CharacteristicsofWebApps(Cont…) Data driven. The primary function of many WebApps is to use hypermedia to present text, graphics, audio, and video content to the end- user. Content sensitive. The quality and aesthetic nature of content remains an important determinant of the quality of a WebApp. Continuous evolution. Unlike conventional application software that evolves over a series of planned, chronologically-spaced releases, Web applications evolve continuously. Immediacy. Although immediacy—the compelling need to get software to market quickly—is a characteristic of many application domains, WebApps often exhibit a time to market that can be a matter of a few days or weeks. Security. Because WebApps are available via network access, it is difficult, if not impossible, to limit the population of end-users who may access the application. Aesthetics. An undeniable part of the appeal of a WebApp is its look and feel. AbdusSattar,sattar@britannia.ac 13
  • 14. 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.  The study of approaches as in (1). AbdusSattar,sattar@britannia.ac 14
  • 15. Software Engineering (Cont..)  The process of solving customers ’ problems by the systematic development and evolution of large, high-quality software systems within cost, time and other constraints AbdusSattar,sattar@britannia.ac 15
  • 16. Software Engineering (Cont..)  Solving customers’ problems • The goal • Sometimes the solution is to buy, not build • Adding unnecessary features often makes software worse • Software engineers must communicate effectively to identify and understand the problem AbdusSattar,sattar@britannia.ac 16
  • 17. Software Engineering (Cont..)  Systematic development and evolution • An engineering process involves applying well understood techniques in a organized and disciplined way • Many well-accepted practices have been formally standardized • e.g. by the IEEE or ISO • Most development work is evolution AbdusSattar,sattar@britannia.ac 17
  • 18. Software Engineering (Cont..)  Large, high quality software systems • Software engineering techniques are needed because large systems cannot be completely understood by one person • Teamwork and co-ordination are required • Key challenge: Dividing up the work and ensuring that the parts of the system work properly together • The end-product must be of sufficient quality AbdusSattar,sattar@britannia.ac 18
  • 19. Software Engineering (Cont..)  Cost, time and other constraints • Finite resources • The benefit must outweigh the cost • Others are competing to do the job cheaper and faster • Inaccurate estimates of cost and time have caused many project failures AbdusSattar,sattar@britannia.ac 19
  • 20. Software Quality... •Usability • Users can learn it and fast and get their job done easily •Efficiency • It doesn't’t waste resources such as CPU time and memory •Reliability • It does what it is required to do without failing •Maintainability • It can be easily changed •Reusability • Its parts can be used in other projects, so reprogramming is not needed AbdusSattar,sattar@britannia.ac 20
  • 23. Software Process  A process is a collection of activities, actions, and tasks that are performed when some work product is to be created.  An activity strives to achieve a broad objective (e.g., communication with stakeholders) and is applied regardless of the application domain, size of the project, complexity of the effort, or degree of rigor with which software engineering is to be applied.  An action (e.g., architectural design) encompasses a set of tasks that produce a major work product (e.g., an architectural design model).  A task focuses on a small, but well-defined objective (e.g., conducting a unit test) that produces a tangible outcome. AbdusSattar,sattar@britannia.ac 23
  • 24. Umbrella Activities  Software project management  Formal technical reviews  Software quality assurance  Software configuration management  Work product preparation and production  Reusability management  Measurement  Risk management AbdusSattar,sattar@britannia.ac 24
  • 25. The Essence of Practice George Polya outlined The essence of software engineering practice:  Understand the problem (communication and analysis).  Plan a solution (modeling and software design).  Carry out the plan (code generation).  Examine the result for accuracy (testing and quality assurance). AbdusSattar,sattar@britannia.ac 25
  • 26. Software Myths Pressman describes a number of common beliefs or myths that software managers, customers, and developers believe falsely. He describes these myths as ``misleading attitudes that have caused serious problems.'' We look at these myths to see why they are false, and why they lead to trouble.  Affect managers, customers (and other non-technical stakeholders) and practitioners  Are believable because they often have elements of truth,  but …  Invariably lead to bad decisions,  therefore …  Insist on reality as you navigate your way through software engineering AbdusSattar,sattar@britannia.ac 26
  • 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! AbdusSattar,sattar@britannia.ac 27
  • 28. AbdusSattar,sattar@britannia.ac 28 References: 1. Software Engineering by Ian Sommerville, 9th edition, Addison-Wesley, 2011 2. Software Engineering A practitioner’s Approach by Roger S. Pressman, 7th edition, McGraw Hill, 2010.