SlideShare a Scribd company logo
1 of 24
Software Engineering & Information System Design
Course Code: CSE411
CSE, East West University
Course Instructor
 Tanni Mittra, Lecturer, EWU
• M.Sc in CSE – BUET
• B.Sc in CSE – Khulna University
 Previous Employment
• Associate Manager (2012- 2016)
Software Development and Customization
The City Bank Limited
Course Information
 Class web Page:
• https://sites.google.com/site/mittratanni/cse411
 Textbook:
• Software Engineering, Ian Sommerville
• Software Engineering, Roger S. Pressman
• Intelligent Software Systems Development, Paul Harmon
 Lecture: ST, 10:10 am – 11:40 am
MW, 8.30 am -10.00 am
 Mark Distribution
• Class Participation 5%
• Quiz 10%
• 1st Mid Term Exam 20%
• 2nd Mid Term Exam 20%
• Final Exam 25%
• Lab 20%
Objectives of course
 Understand Software Engineering:
• Build complex software systems in the context of frequent change
 Understand how to
• produce a high quality software system within time
• while dealing with complexity and change
 Acquire technical knowledge of Software Engineering
 Acquire managerial knowledge
 Understand the Software Lifecycle
• Process vs Product
• Learn about different software lifecycles
Chapter 1- Introduction
Topic Covered
 Software and Software Engineering
 Why Software Engineering is Important
 Types of Software Product
 Essential attributes of good software
 Software Engineering Diversity
 Fundamentals applied to software
 Software engineering and the Web
 Software Engineering Ethics
What is Software ?
 Software is a general term for the various kinds of programs used to
operate computers and related devices with all its associated documents
and configuration data
 A program is a specific set of ordered operations for a computer to
perform
 Software is a collection of instructions that enable the user to interact
with a computer, its hardware, or perform tasks
 For example,
• without your Internet browser, you could not surf the Internet or read this
page
• without an operating system, the browser could not run on your computer
 Two fundamental types of software product :
• Generic Product
These types of software are produced by the development
organization and sold on open market to any customer who is able to
buy them. Example: any software for PCs i.e. word processor, editing
tools, drawing package etc.
• Customized Product
These type of software are produced by software developer or
organization for a particular type of customer. Example : air traffic
control systems, Auction system, card payment software etc.
Types of Software
 We can’t run the modern world without software
• Business data analysis i.e Microsoft Excel, Scientific Investigation i.e. in
bio-informatics for DNA decoding, different types of game, Car
equipment, electronic devices e.t.c
 Growth of software has a great impact on economical activity of a
country
 World wide software has economical impact of trillion of dollar
 It involves number of people and money all over the world
Importance of Software
• Productive use of scientific knowledge by using different innovative ideas
and techniques
• Based on scientific rules and techniques. For example: Civil Engineering,
Mechanical Engineering, Electrical Engineering works based on physics
• Physics is not engineering but effectively used in building, motor, electrical
engine
• Like other engineering software engineering is based on computer science
• Different knowledge of Computer Science is effectively used for software
development i.e. data structure, algorithm
What is Engineering?
Difference between Software and other Systems
 Software is developed not manufacture.
• In manufacturing the creation of a product is heavily process driven and
develop a finish and companies achieve 99.99966% defect free products, But
in software we may have processes for source control, code review, check in
sheets, requirements gathering, the SDLC, etc. But executing those processes
does not in and of itself create a finished product.
 Software does not wear out
Difference between Software and other Systems
 Frequency of changes in software in a big component based
construction range i.e. fundamental change, enhancement of
feature, interface change
 Most software development is moving towards component based
construction
History of Software Engineering
 Earlier in 1950 when digital computer created and used then software
used only for some scientific applications or processing sensor data.
 In 1960 changes in hardware. New hardware i.e. computer available with
new technique. So software became more complex and big. Hard to write.
Tools that were used in previous software not applicable for this type of
software.
 The term software engineering used by Margaret Hamilton was used in
1968 as a title for the world's first conference called the ‘software crisis’
on software engineering, sponsored and facilitated by NATO (North
Atlantic Treaty Organization) .
 Throughout the 1970s and 1980s, a variety of new software engineering
techniques and methods were developed, such as structured
programming, information hiding and object-oriented development.
 In 1984, the Software Engineering Institute (SEI) was established as a
federally funded research and development center of software
engineering
 Software engineering is the application of engineering to the design,
development, implementation and maintenance of software in a
systematic method
 An engineering discipline that is concerned with all aspects of software
production
 The establishment and use of sound engineering principles in order to
economically obtain software that is reliable and works efficiently on real
machines
 The systematic application of scientific and technological knowledge,
methods, and experience to the design, implementation, testing, and
documentation of software
Software Engineering
• A well engineered Software will be reliable, user interface user friendly ,
good performance, better quality and cost effective. If there is unlimited
resource and time any organization can develop any software.
• Software Engineering has a relationship with economy. For any
engineering product economic feasibility is checked. Software Engineering
challenge is to make software within limited time and budget.
• Conflict arises when balancing all these requirement necessary for good
engineered software . They need to perform a Balancing act between
these requirement. For example: User friendliness and efficiency ,
performance and quality. Software Engineering challenge is to make a
proper balance between this requirement
Well Engineering Software
 Computer science is concerned with theories and methods that underlie
computers and software system whereas software engineering is
concerned with practical problem to produce software using knowledge of
Computer Science
 All software engineer should have minimum knowledge of computer
science
Software Engineering and computer science
 According to Software Engineering, Software process means the set of
activities that leads to produce a software product
 Four fundamental processes :
• Software specification, where customers and engineers define the
software that is to be produced and the constraints on its operation.
• Software development, where the software is designed and
programmed.
• Software validation, where the software is checked to ensure that it
is what the customer requires.
• Software evolution, where the software is modified to reflect
changing customer and market requirements.
Software Process
Essential Attributes of Good Software
• Maintainability
Software should be written in such a way so that it can evolve to meet the
changing needs of customers. This is a critical attribute because software
change is an inevitable requirement of changing business environment.
• Dependability and security
Software dependability includes a range of characteristics including
reliability, security, and safety. Dependable software should not cause
physical or economic damage in the event of system failure. Malicious
users should not be able to access or damage the system.
• Efficiency
Software should not make wasteful use of system resources such as
memory and processor cycles. Efficiency therefore includes
responsiveness, processing time, memory utilization, etc.
• Acceptability
Software must be acceptable to the type of users for which it is designed.
This means that it must be understandable, usable, and compatible with
other systems that they use.
Software Engineering Diversity
 According to software Engineering there are many different types of
application :
• Stand-alone applications These are application systems that run on a local
computer, such as a PC and do not need to be connected to a network.
Examples : office applications on a PC, CAD programs, photo manipulation
software, etc.
• Interactive transaction-based applications These are applications that
execute on a remote computer and that are accessed by users from their
own PCs or terminals. Obviously, these include web applications such as e-
commerce applications , mail and photo sharing
• Embedded control systems These are software control systems that
control and manage hardware devices. Examples of embedded systems
include the software in a mobile (cell) phone, software that controls anti-
lock braking in a car, and software in a microwave oven to control the
cooking process.
Software Engineering Diversity
• Batch processing systems These are business systems that are designed to
process data in large batches. Examples: billing systems, such as phone
billing systems, and salary payment systems
• Entertainment systems These are systems that are primarily for personal
use and which are intended to entertain the user
• Systems for modeling and simulation These are systems that are
developed by scientists and engineers to model physical processes or
situations. These are often computationally intensive and require high-
performance parallel systems for execution.
• Data collection systems These are systems that collect data from their
environment using a set of sensors and send that data to other systems for
processing.
Software Costing
 Cost may depends on economic condition, culture, labor costing of a
country
 Cost distribution depends on different activities in the software process
and the type of software product.
 Depending on the nature of software cost varies
 Two types of software :
• Off the shelf: Ready product and open for global market i.e.
Microsoft office, games etc.
• Be-spoke : Developed for a particular company for particular
requirement. i.e. Payroll management, inventory management
Key Challenges of Software Engineering
 Heterogeneity challenge
Developing techniques for building dependable software that is flexible
enough to cope different kind of support system. i.e. integrate new
software with old system written in different language
 Delivery Challenge
shortening delivery times of large and complex system without
compromising system quality
 Trust Challenge
Develop technique that demonstrate that software can be trusted by the
user
Software Engineering and Web
 The development of the World Wide Web has had a profound effect on all
of our lives
 Around 2000, the Web started to evolve and more and more functionality
was added to browsers
 Instead of writing software and deploying it on users’ PCs, the software
was deployed on a web server
 It is much cheaper to change and upgrade the software, as there was no
need to install the software on every PC
 The next stage in the development of web-based systems was the notion
of web services
 ‘computing clouds’ concept is introduced i.e. web-based mail
Software Engineering Ethics
• Like other engineering disciplines, software engineering is carried out
within a social and legal framework that limits the freedom of people
working in that area
• As a software engineer, You must also behave in an ethical and morally
responsible way
• According to IEEE-CS/ ACM join taskforce software engineer should follow
eight principles:
1. PUBLIC — Software engineers shall act consistently with the public interest.
2. CLIENT AND EMPLOYER — Software engineers shall act in a manner that is in the best interests
of their client and employer consistent with the public interest.
3. PRODUCT — Software engineers shall ensure that their products and related modifications meet
the highest professional standards possible.
4. JUDGMENT — Software engineers shall maintain integrity and independence in their
professional judgment.
5. MANAGEMENT — Software engineering managers and leaders shall subscribe to and promote
an ethical approach to the management of software development and maintenance.
6. PROFESSION — Software engineers shall advance the integrity and reputation of the profession
consistent with the public interest.
7. COLLEAGUES — Software engineers shall be fair to and supportive of their colleagues.
8. SELF — Software engineers shall participate in lifelong learning regarding the practice of their
profession and shall promote an ethical approach to the practice of the profession.
Thank You

More Related Content

What's hot

Introduction to Software Project Management
Introduction to Software Project ManagementIntroduction to Software Project Management
Introduction to Software Project ManagementReetesh Gupta
 
Software Quality Attributes
Software Quality AttributesSoftware Quality Attributes
Software Quality AttributesHayim Makabee
 
System quality attributes
System quality attributes System quality attributes
System quality attributes Adil Mehmoood
 
Incremental model
Incremental modelIncremental model
Incremental modelHpibmx
 
INTRODUCTION TO SOFTWARE ENGINEERING
INTRODUCTION TO SOFTWARE ENGINEERINGINTRODUCTION TO SOFTWARE ENGINEERING
INTRODUCTION TO SOFTWARE ENGINEERINGProf Ansari
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assuranceAman Adhikari
 
Algorithm Design & Implementation
Algorithm Design & ImplementationAlgorithm Design & Implementation
Algorithm Design & ImplementationGaditek
 
Evolutionary models
Evolutionary modelsEvolutionary models
Evolutionary modelsPihu Goel
 
Software Engineering Methodologies
Software Engineering MethodologiesSoftware Engineering Methodologies
Software Engineering MethodologiesDamian T. Gordon
 
Software Engineering ppt
Software Engineering pptSoftware Engineering ppt
Software Engineering pptshruths2890
 
Software process and project metrics
Software process and project metricsSoftware process and project metrics
Software process and project metricsIndu Sharma Bhardwaj
 
ppt on sOFTWARE DEVELOPMENT LIFE CYCLE
 ppt on sOFTWARE DEVELOPMENT LIFE CYCLE ppt on sOFTWARE DEVELOPMENT LIFE CYCLE
ppt on sOFTWARE DEVELOPMENT LIFE CYCLESwarnima Tiwari
 
software development life cycle(SDLC)
software development life cycle(SDLC)software development life cycle(SDLC)
software development life cycle(SDLC)sanoop s
 
Computer graphics - bresenham line drawing algorithm
Computer graphics - bresenham line drawing algorithmComputer graphics - bresenham line drawing algorithm
Computer graphics - bresenham line drawing algorithmRuchi Maurya
 

What's hot (20)

Introduction to Software Project Management
Introduction to Software Project ManagementIntroduction to Software Project Management
Introduction to Software Project Management
 
Software Quality Attributes
Software Quality AttributesSoftware Quality Attributes
Software Quality Attributes
 
Chapter 01
Chapter 01Chapter 01
Chapter 01
 
System quality attributes
System quality attributes System quality attributes
System quality attributes
 
Incremental model
Incremental modelIncremental model
Incremental model
 
INTRODUCTION TO SOFTWARE ENGINEERING
INTRODUCTION TO SOFTWARE ENGINEERINGINTRODUCTION TO SOFTWARE ENGINEERING
INTRODUCTION TO SOFTWARE ENGINEERING
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assurance
 
Algorithm Design & Implementation
Algorithm Design & ImplementationAlgorithm Design & Implementation
Algorithm Design & Implementation
 
Evolutionary models
Evolutionary modelsEvolutionary models
Evolutionary models
 
UML
UMLUML
UML
 
Spiral model
Spiral modelSpiral model
Spiral model
 
Software engineering
Software engineeringSoftware engineering
Software engineering
 
Software Engineering Methodologies
Software Engineering MethodologiesSoftware Engineering Methodologies
Software Engineering Methodologies
 
Software Engineering ppt
Software Engineering pptSoftware Engineering ppt
Software Engineering ppt
 
Software process and project metrics
Software process and project metricsSoftware process and project metrics
Software process and project metrics
 
Sdlc
SdlcSdlc
Sdlc
 
Software development process models
Software development process modelsSoftware development process models
Software development process models
 
ppt on sOFTWARE DEVELOPMENT LIFE CYCLE
 ppt on sOFTWARE DEVELOPMENT LIFE CYCLE ppt on sOFTWARE DEVELOPMENT LIFE CYCLE
ppt on sOFTWARE DEVELOPMENT LIFE CYCLE
 
software development life cycle(SDLC)
software development life cycle(SDLC)software development life cycle(SDLC)
software development life cycle(SDLC)
 
Computer graphics - bresenham line drawing algorithm
Computer graphics - bresenham line drawing algorithmComputer graphics - bresenham line drawing algorithm
Computer graphics - bresenham line drawing algorithm
 

Viewers also liked

Software Project Management Lab Manual Lab 1
Software Project Management Lab  Manual  Lab 1Software Project Management Lab  Manual  Lab 1
Software Project Management Lab Manual Lab 1sundas Shabbir
 
Software Engineering - Ch12
Software Engineering - Ch12Software Engineering - Ch12
Software Engineering - Ch12Siddharth Ayer
 
Credit Agricole Consumer Finance - Rosalie Wisse - Compliance Tools
Credit Agricole Consumer Finance - Rosalie Wisse - Compliance ToolsCredit Agricole Consumer Finance - Rosalie Wisse - Compliance Tools
Credit Agricole Consumer Finance - Rosalie Wisse - Compliance ToolsEffacts
 
Rimborsi spese ai tesserati lnd problematiche fiscali
Rimborsi spese ai tesserati lnd   problematiche fiscaliRimborsi spese ai tesserati lnd   problematiche fiscali
Rimborsi spese ai tesserati lnd problematiche fiscaliFrancesco Rhodio
 
Prueba única 4 juliana isaza
Prueba única 4 juliana isazaPrueba única 4 juliana isaza
Prueba única 4 juliana isazaJuliana Isaza
 

Viewers also liked (13)

Software Project Management Lab Manual Lab 1
Software Project Management Lab  Manual  Lab 1Software Project Management Lab  Manual  Lab 1
Software Project Management Lab Manual Lab 1
 
Software Engineering - Ch12
Software Engineering - Ch12Software Engineering - Ch12
Software Engineering - Ch12
 
Physic
PhysicPhysic
Physic
 
Credit Agricole Consumer Finance - Rosalie Wisse - Compliance Tools
Credit Agricole Consumer Finance - Rosalie Wisse - Compliance ToolsCredit Agricole Consumer Finance - Rosalie Wisse - Compliance Tools
Credit Agricole Consumer Finance - Rosalie Wisse - Compliance Tools
 
Rimborsi spese ai tesserati lnd problematiche fiscali
Rimborsi spese ai tesserati lnd   problematiche fiscaliRimborsi spese ai tesserati lnd   problematiche fiscali
Rimborsi spese ai tesserati lnd problematiche fiscali
 
Prueba única 4 juliana isaza
Prueba única 4 juliana isazaPrueba única 4 juliana isaza
Prueba única 4 juliana isaza
 
Tpcompu acsess
Tpcompu acsessTpcompu acsess
Tpcompu acsess
 
Social media marketing
Social media marketingSocial media marketing
Social media marketing
 
Civil Engineer
Civil EngineerCivil Engineer
Civil Engineer
 
Hội thảo "Để mở Spa thành công"
Hội thảo "Để mở Spa thành công"Hội thảo "Để mở Spa thành công"
Hội thảo "Để mở Spa thành công"
 
presentation 2015
presentation 2015presentation 2015
presentation 2015
 
ACS AMI [PLA Composites]
ACS AMI [PLA Composites]ACS AMI [PLA Composites]
ACS AMI [PLA Composites]
 
ΕΠΑΛ Γ2
ΕΠΑΛ Γ2ΕΠΑΛ Γ2
ΕΠΑΛ Γ2
 

Similar to Software Engineering

Kelis king - introduction to s.e.
Kelis king -  introduction to s.e.Kelis king -  introduction to s.e.
Kelis king - introduction to s.e.KelisKing
 
Software Engineering
Software EngineeringSoftware Engineering
Software EngineeringMohamed Essam
 
SE-MODULE-1-chap1.pptx
SE-MODULE-1-chap1.pptxSE-MODULE-1-chap1.pptx
SE-MODULE-1-chap1.pptxssuser9d6aac
 
SWE-610-Lec-1-Software-Intro duction(1).pptx
SWE-610-Lec-1-Software-Intro duction(1).pptxSWE-610-Lec-1-Software-Intro duction(1).pptx
SWE-610-Lec-1-Software-Intro duction(1).pptxnohaaalrajhi
 
Unit 1 importance ofsoftengg_b.tech iii year
Unit 1  importance ofsoftengg_b.tech iii yearUnit 1  importance ofsoftengg_b.tech iii year
Unit 1 importance ofsoftengg_b.tech iii yearPreeti Mishra
 
Unit 1 introduction tosoftengg_mba tech ii year
Unit 1  introduction tosoftengg_mba tech ii yearUnit 1  introduction tosoftengg_mba tech ii year
Unit 1 introduction tosoftengg_mba tech ii yearPreeti Mishra
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software EngineeringSanthia RK
 
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
 
unit 1.pptx regasts sthatbabs shshsbsvsbsh
unit 1.pptx regasts sthatbabs shshsbsvsbshunit 1.pptx regasts sthatbabs shshsbsvsbsh
unit 1.pptx regasts sthatbabs shshsbsvsbshsagarjsicg
 
Introduction to Software Engineering & Information Technology
Introduction to Software Engineering & Information TechnologyIntroduction to Software Engineering & Information Technology
Introduction to Software Engineering & Information TechnologyGaditek
 
Lecture1 (SE Introduction)
Lecture1 (SE Introduction)Lecture1 (SE Introduction)
Lecture1 (SE Introduction)Education Front
 
Software Engineering _ Introduction
Software Engineering _ IntroductionSoftware Engineering _ Introduction
Software Engineering _ IntroductionThenmozhiK5
 

Similar to Software Engineering (20)

Kelis king - introduction to s.e.
Kelis king -  introduction to s.e.Kelis king -  introduction to s.e.
Kelis king - introduction to s.e.
 
Software Engineering
Software EngineeringSoftware Engineering
Software Engineering
 
SE-MODULE-1-chap1.pptx
SE-MODULE-1-chap1.pptxSE-MODULE-1-chap1.pptx
SE-MODULE-1-chap1.pptx
 
sw1.pdf
sw1.pdfsw1.pdf
sw1.pdf
 
SWE-610-Lec-1-Software-Intro duction(1).pptx
SWE-610-Lec-1-Software-Intro duction(1).pptxSWE-610-Lec-1-Software-Intro duction(1).pptx
SWE-610-Lec-1-Software-Intro duction(1).pptx
 
Lecture 1 se
Lecture 1 seLecture 1 se
Lecture 1 se
 
Unit 1 importance ofsoftengg_b.tech iii year
Unit 1  importance ofsoftengg_b.tech iii yearUnit 1  importance ofsoftengg_b.tech iii year
Unit 1 importance ofsoftengg_b.tech iii year
 
Unit 1 introduction tosoftengg_mba tech ii year
Unit 1  introduction tosoftengg_mba tech ii yearUnit 1  introduction tosoftengg_mba tech ii year
Unit 1 introduction tosoftengg_mba tech ii year
 
SE
SESE
SE
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
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
 
unit 1.pptx regasts sthatbabs shshsbsvsbsh
unit 1.pptx regasts sthatbabs shshsbsvsbshunit 1.pptx regasts sthatbabs shshsbsvsbsh
unit 1.pptx regasts sthatbabs shshsbsvsbsh
 
Introduction to Software Engineering & Information Technology
Introduction to Software Engineering & Information TechnologyIntroduction to Software Engineering & Information Technology
Introduction to Software Engineering & Information Technology
 
Lecture1 (SE Introduction)
Lecture1 (SE Introduction)Lecture1 (SE Introduction)
Lecture1 (SE Introduction)
 
Software Engineering _ Introduction
Software Engineering _ IntroductionSoftware Engineering _ Introduction
Software Engineering _ Introduction
 
SE UNIT-1.pptx
SE UNIT-1.pptxSE UNIT-1.pptx
SE UNIT-1.pptx
 
ch1_introduction (1).ppt
ch1_introduction (1).pptch1_introduction (1).ppt
ch1_introduction (1).ppt
 
ch1_introduction (2).ppt
ch1_introduction (2).pptch1_introduction (2).ppt
ch1_introduction (2).ppt
 
ch1_introduction.ppt
ch1_introduction.pptch1_introduction.ppt
ch1_introduction.ppt
 

Recently uploaded

"Exploring the Essential Functions and Design Considerations of Spillways in ...
"Exploring the Essential Functions and Design Considerations of Spillways in ..."Exploring the Essential Functions and Design Considerations of Spillways in ...
"Exploring the Essential Functions and Design Considerations of Spillways in ...Erbil Polytechnic University
 
Module-1-(Building Acoustics) Noise Control (Unit-3). pdf
Module-1-(Building Acoustics) Noise Control (Unit-3). pdfModule-1-(Building Acoustics) Noise Control (Unit-3). pdf
Module-1-(Building Acoustics) Noise Control (Unit-3). pdfManish Kumar
 
11. Properties of Liquid Fuels in Energy Engineering.pdf
11. Properties of Liquid Fuels in Energy Engineering.pdf11. Properties of Liquid Fuels in Energy Engineering.pdf
11. Properties of Liquid Fuels in Energy Engineering.pdfHafizMudaserAhmad
 
Computer Graphics Introduction, Open GL, Line and Circle drawing algorithm
Computer Graphics Introduction, Open GL, Line and Circle drawing algorithmComputer Graphics Introduction, Open GL, Line and Circle drawing algorithm
Computer Graphics Introduction, Open GL, Line and Circle drawing algorithmDeepika Walanjkar
 
FUNCTIONAL AND NON FUNCTIONAL REQUIREMENT
FUNCTIONAL AND NON FUNCTIONAL REQUIREMENTFUNCTIONAL AND NON FUNCTIONAL REQUIREMENT
FUNCTIONAL AND NON FUNCTIONAL REQUIREMENTSneha Padhiar
 
Comprehensive energy systems.pdf Comprehensive energy systems.pdf
Comprehensive energy systems.pdf Comprehensive energy systems.pdfComprehensive energy systems.pdf Comprehensive energy systems.pdf
Comprehensive energy systems.pdf Comprehensive energy systems.pdfalene1
 
signals in triangulation .. ...Surveying
signals in triangulation .. ...Surveyingsignals in triangulation .. ...Surveying
signals in triangulation .. ...Surveyingsapna80328
 
Gravity concentration_MI20612MI_________
Gravity concentration_MI20612MI_________Gravity concentration_MI20612MI_________
Gravity concentration_MI20612MI_________Romil Mishra
 
Levelling - Rise and fall - Height of instrument method
Levelling - Rise and fall - Height of instrument methodLevelling - Rise and fall - Height of instrument method
Levelling - Rise and fall - Height of instrument methodManicka Mamallan Andavar
 
multiple access in wireless communication
multiple access in wireless communicationmultiple access in wireless communication
multiple access in wireless communicationpanditadesh123
 
DEVICE DRIVERS AND INTERRUPTS SERVICE MECHANISM.pdf
DEVICE DRIVERS AND INTERRUPTS  SERVICE MECHANISM.pdfDEVICE DRIVERS AND INTERRUPTS  SERVICE MECHANISM.pdf
DEVICE DRIVERS AND INTERRUPTS SERVICE MECHANISM.pdfAkritiPradhan2
 
Research Methodology for Engineering pdf
Research Methodology for Engineering pdfResearch Methodology for Engineering pdf
Research Methodology for Engineering pdfCaalaaAbdulkerim
 
Python Programming for basic beginners.pptx
Python Programming for basic beginners.pptxPython Programming for basic beginners.pptx
Python Programming for basic beginners.pptxmohitesoham12
 
Cost estimation approach: FP to COCOMO scenario based question
Cost estimation approach: FP to COCOMO scenario based questionCost estimation approach: FP to COCOMO scenario based question
Cost estimation approach: FP to COCOMO scenario based questionSneha Padhiar
 
List of Accredited Concrete Batching Plant.pdf
List of Accredited Concrete Batching Plant.pdfList of Accredited Concrete Batching Plant.pdf
List of Accredited Concrete Batching Plant.pdfisabel213075
 
Engineering Drawing section of solid
Engineering Drawing     section of solidEngineering Drawing     section of solid
Engineering Drawing section of solidnamansinghjarodiya
 
Immutable Image-Based Operating Systems - EW2024.pdf
Immutable Image-Based Operating Systems - EW2024.pdfImmutable Image-Based Operating Systems - EW2024.pdf
Immutable Image-Based Operating Systems - EW2024.pdfDrew Moseley
 
Robotics Group 10 (Control Schemes) cse.pdf
Robotics Group 10  (Control Schemes) cse.pdfRobotics Group 10  (Control Schemes) cse.pdf
Robotics Group 10 (Control Schemes) cse.pdfsahilsajad201
 
US Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of ActionUS Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of ActionMebane Rash
 
Novel 3D-Printed Soft Linear and Bending Actuators
Novel 3D-Printed Soft Linear and Bending ActuatorsNovel 3D-Printed Soft Linear and Bending Actuators
Novel 3D-Printed Soft Linear and Bending ActuatorsResearcher Researcher
 

Recently uploaded (20)

"Exploring the Essential Functions and Design Considerations of Spillways in ...
"Exploring the Essential Functions and Design Considerations of Spillways in ..."Exploring the Essential Functions and Design Considerations of Spillways in ...
"Exploring the Essential Functions and Design Considerations of Spillways in ...
 
Module-1-(Building Acoustics) Noise Control (Unit-3). pdf
Module-1-(Building Acoustics) Noise Control (Unit-3). pdfModule-1-(Building Acoustics) Noise Control (Unit-3). pdf
Module-1-(Building Acoustics) Noise Control (Unit-3). pdf
 
11. Properties of Liquid Fuels in Energy Engineering.pdf
11. Properties of Liquid Fuels in Energy Engineering.pdf11. Properties of Liquid Fuels in Energy Engineering.pdf
11. Properties of Liquid Fuels in Energy Engineering.pdf
 
Computer Graphics Introduction, Open GL, Line and Circle drawing algorithm
Computer Graphics Introduction, Open GL, Line and Circle drawing algorithmComputer Graphics Introduction, Open GL, Line and Circle drawing algorithm
Computer Graphics Introduction, Open GL, Line and Circle drawing algorithm
 
FUNCTIONAL AND NON FUNCTIONAL REQUIREMENT
FUNCTIONAL AND NON FUNCTIONAL REQUIREMENTFUNCTIONAL AND NON FUNCTIONAL REQUIREMENT
FUNCTIONAL AND NON FUNCTIONAL REQUIREMENT
 
Comprehensive energy systems.pdf Comprehensive energy systems.pdf
Comprehensive energy systems.pdf Comprehensive energy systems.pdfComprehensive energy systems.pdf Comprehensive energy systems.pdf
Comprehensive energy systems.pdf Comprehensive energy systems.pdf
 
signals in triangulation .. ...Surveying
signals in triangulation .. ...Surveyingsignals in triangulation .. ...Surveying
signals in triangulation .. ...Surveying
 
Gravity concentration_MI20612MI_________
Gravity concentration_MI20612MI_________Gravity concentration_MI20612MI_________
Gravity concentration_MI20612MI_________
 
Levelling - Rise and fall - Height of instrument method
Levelling - Rise and fall - Height of instrument methodLevelling - Rise and fall - Height of instrument method
Levelling - Rise and fall - Height of instrument method
 
multiple access in wireless communication
multiple access in wireless communicationmultiple access in wireless communication
multiple access in wireless communication
 
DEVICE DRIVERS AND INTERRUPTS SERVICE MECHANISM.pdf
DEVICE DRIVERS AND INTERRUPTS  SERVICE MECHANISM.pdfDEVICE DRIVERS AND INTERRUPTS  SERVICE MECHANISM.pdf
DEVICE DRIVERS AND INTERRUPTS SERVICE MECHANISM.pdf
 
Research Methodology for Engineering pdf
Research Methodology for Engineering pdfResearch Methodology for Engineering pdf
Research Methodology for Engineering pdf
 
Python Programming for basic beginners.pptx
Python Programming for basic beginners.pptxPython Programming for basic beginners.pptx
Python Programming for basic beginners.pptx
 
Cost estimation approach: FP to COCOMO scenario based question
Cost estimation approach: FP to COCOMO scenario based questionCost estimation approach: FP to COCOMO scenario based question
Cost estimation approach: FP to COCOMO scenario based question
 
List of Accredited Concrete Batching Plant.pdf
List of Accredited Concrete Batching Plant.pdfList of Accredited Concrete Batching Plant.pdf
List of Accredited Concrete Batching Plant.pdf
 
Engineering Drawing section of solid
Engineering Drawing     section of solidEngineering Drawing     section of solid
Engineering Drawing section of solid
 
Immutable Image-Based Operating Systems - EW2024.pdf
Immutable Image-Based Operating Systems - EW2024.pdfImmutable Image-Based Operating Systems - EW2024.pdf
Immutable Image-Based Operating Systems - EW2024.pdf
 
Robotics Group 10 (Control Schemes) cse.pdf
Robotics Group 10  (Control Schemes) cse.pdfRobotics Group 10  (Control Schemes) cse.pdf
Robotics Group 10 (Control Schemes) cse.pdf
 
US Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of ActionUS Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of Action
 
Novel 3D-Printed Soft Linear and Bending Actuators
Novel 3D-Printed Soft Linear and Bending ActuatorsNovel 3D-Printed Soft Linear and Bending Actuators
Novel 3D-Printed Soft Linear and Bending Actuators
 

Software Engineering

  • 1. Software Engineering & Information System Design Course Code: CSE411 CSE, East West University
  • 2. Course Instructor  Tanni Mittra, Lecturer, EWU • M.Sc in CSE – BUET • B.Sc in CSE – Khulna University  Previous Employment • Associate Manager (2012- 2016) Software Development and Customization The City Bank Limited
  • 3. Course Information  Class web Page: • https://sites.google.com/site/mittratanni/cse411  Textbook: • Software Engineering, Ian Sommerville • Software Engineering, Roger S. Pressman • Intelligent Software Systems Development, Paul Harmon  Lecture: ST, 10:10 am – 11:40 am MW, 8.30 am -10.00 am  Mark Distribution • Class Participation 5% • Quiz 10% • 1st Mid Term Exam 20% • 2nd Mid Term Exam 20% • Final Exam 25% • Lab 20%
  • 4. Objectives of course  Understand Software Engineering: • Build complex software systems in the context of frequent change  Understand how to • produce a high quality software system within time • while dealing with complexity and change  Acquire technical knowledge of Software Engineering  Acquire managerial knowledge  Understand the Software Lifecycle • Process vs Product • Learn about different software lifecycles
  • 5. Chapter 1- Introduction Topic Covered  Software and Software Engineering  Why Software Engineering is Important  Types of Software Product  Essential attributes of good software  Software Engineering Diversity  Fundamentals applied to software  Software engineering and the Web  Software Engineering Ethics
  • 6. What is Software ?  Software is a general term for the various kinds of programs used to operate computers and related devices with all its associated documents and configuration data  A program is a specific set of ordered operations for a computer to perform  Software is a collection of instructions that enable the user to interact with a computer, its hardware, or perform tasks  For example, • without your Internet browser, you could not surf the Internet or read this page • without an operating system, the browser could not run on your computer
  • 7.  Two fundamental types of software product : • Generic Product These types of software are produced by the development organization and sold on open market to any customer who is able to buy them. Example: any software for PCs i.e. word processor, editing tools, drawing package etc. • Customized Product These type of software are produced by software developer or organization for a particular type of customer. Example : air traffic control systems, Auction system, card payment software etc. Types of Software
  • 8.  We can’t run the modern world without software • Business data analysis i.e Microsoft Excel, Scientific Investigation i.e. in bio-informatics for DNA decoding, different types of game, Car equipment, electronic devices e.t.c  Growth of software has a great impact on economical activity of a country  World wide software has economical impact of trillion of dollar  It involves number of people and money all over the world Importance of Software
  • 9. • Productive use of scientific knowledge by using different innovative ideas and techniques • Based on scientific rules and techniques. For example: Civil Engineering, Mechanical Engineering, Electrical Engineering works based on physics • Physics is not engineering but effectively used in building, motor, electrical engine • Like other engineering software engineering is based on computer science • Different knowledge of Computer Science is effectively used for software development i.e. data structure, algorithm What is Engineering?
  • 10. Difference between Software and other Systems  Software is developed not manufacture. • In manufacturing the creation of a product is heavily process driven and develop a finish and companies achieve 99.99966% defect free products, But in software we may have processes for source control, code review, check in sheets, requirements gathering, the SDLC, etc. But executing those processes does not in and of itself create a finished product.  Software does not wear out
  • 11. Difference between Software and other Systems  Frequency of changes in software in a big component based construction range i.e. fundamental change, enhancement of feature, interface change  Most software development is moving towards component based construction
  • 12. History of Software Engineering  Earlier in 1950 when digital computer created and used then software used only for some scientific applications or processing sensor data.  In 1960 changes in hardware. New hardware i.e. computer available with new technique. So software became more complex and big. Hard to write. Tools that were used in previous software not applicable for this type of software.  The term software engineering used by Margaret Hamilton was used in 1968 as a title for the world's first conference called the ‘software crisis’ on software engineering, sponsored and facilitated by NATO (North Atlantic Treaty Organization) .  Throughout the 1970s and 1980s, a variety of new software engineering techniques and methods were developed, such as structured programming, information hiding and object-oriented development.  In 1984, the Software Engineering Institute (SEI) was established as a federally funded research and development center of software engineering
  • 13.  Software engineering is the application of engineering to the design, development, implementation and maintenance of software in a systematic method  An engineering discipline that is concerned with all aspects of software production  The establishment and use of sound engineering principles in order to economically obtain software that is reliable and works efficiently on real machines  The systematic application of scientific and technological knowledge, methods, and experience to the design, implementation, testing, and documentation of software Software Engineering
  • 14. • A well engineered Software will be reliable, user interface user friendly , good performance, better quality and cost effective. If there is unlimited resource and time any organization can develop any software. • Software Engineering has a relationship with economy. For any engineering product economic feasibility is checked. Software Engineering challenge is to make software within limited time and budget. • Conflict arises when balancing all these requirement necessary for good engineered software . They need to perform a Balancing act between these requirement. For example: User friendliness and efficiency , performance and quality. Software Engineering challenge is to make a proper balance between this requirement Well Engineering Software
  • 15.  Computer science is concerned with theories and methods that underlie computers and software system whereas software engineering is concerned with practical problem to produce software using knowledge of Computer Science  All software engineer should have minimum knowledge of computer science Software Engineering and computer science
  • 16.  According to Software Engineering, Software process means the set of activities that leads to produce a software product  Four fundamental processes : • Software specification, where customers and engineers define the software that is to be produced and the constraints on its operation. • Software development, where the software is designed and programmed. • Software validation, where the software is checked to ensure that it is what the customer requires. • Software evolution, where the software is modified to reflect changing customer and market requirements. Software Process
  • 17. Essential Attributes of Good Software • Maintainability Software should be written in such a way so that it can evolve to meet the changing needs of customers. This is a critical attribute because software change is an inevitable requirement of changing business environment. • Dependability and security Software dependability includes a range of characteristics including reliability, security, and safety. Dependable software should not cause physical or economic damage in the event of system failure. Malicious users should not be able to access or damage the system. • Efficiency Software should not make wasteful use of system resources such as memory and processor cycles. Efficiency therefore includes responsiveness, processing time, memory utilization, etc. • Acceptability Software must be acceptable to the type of users for which it is designed. This means that it must be understandable, usable, and compatible with other systems that they use.
  • 18. Software Engineering Diversity  According to software Engineering there are many different types of application : • Stand-alone applications These are application systems that run on a local computer, such as a PC and do not need to be connected to a network. Examples : office applications on a PC, CAD programs, photo manipulation software, etc. • Interactive transaction-based applications These are applications that execute on a remote computer and that are accessed by users from their own PCs or terminals. Obviously, these include web applications such as e- commerce applications , mail and photo sharing • Embedded control systems These are software control systems that control and manage hardware devices. Examples of embedded systems include the software in a mobile (cell) phone, software that controls anti- lock braking in a car, and software in a microwave oven to control the cooking process.
  • 19. Software Engineering Diversity • Batch processing systems These are business systems that are designed to process data in large batches. Examples: billing systems, such as phone billing systems, and salary payment systems • Entertainment systems These are systems that are primarily for personal use and which are intended to entertain the user • Systems for modeling and simulation These are systems that are developed by scientists and engineers to model physical processes or situations. These are often computationally intensive and require high- performance parallel systems for execution. • Data collection systems These are systems that collect data from their environment using a set of sensors and send that data to other systems for processing.
  • 20. Software Costing  Cost may depends on economic condition, culture, labor costing of a country  Cost distribution depends on different activities in the software process and the type of software product.  Depending on the nature of software cost varies  Two types of software : • Off the shelf: Ready product and open for global market i.e. Microsoft office, games etc. • Be-spoke : Developed for a particular company for particular requirement. i.e. Payroll management, inventory management
  • 21. Key Challenges of Software Engineering  Heterogeneity challenge Developing techniques for building dependable software that is flexible enough to cope different kind of support system. i.e. integrate new software with old system written in different language  Delivery Challenge shortening delivery times of large and complex system without compromising system quality  Trust Challenge Develop technique that demonstrate that software can be trusted by the user
  • 22. Software Engineering and Web  The development of the World Wide Web has had a profound effect on all of our lives  Around 2000, the Web started to evolve and more and more functionality was added to browsers  Instead of writing software and deploying it on users’ PCs, the software was deployed on a web server  It is much cheaper to change and upgrade the software, as there was no need to install the software on every PC  The next stage in the development of web-based systems was the notion of web services  ‘computing clouds’ concept is introduced i.e. web-based mail
  • 23. Software Engineering Ethics • Like other engineering disciplines, software engineering is carried out within a social and legal framework that limits the freedom of people working in that area • As a software engineer, You must also behave in an ethical and morally responsible way • According to IEEE-CS/ ACM join taskforce software engineer should follow eight principles: 1. PUBLIC — Software engineers shall act consistently with the public interest. 2. CLIENT AND EMPLOYER — Software engineers shall act in a manner that is in the best interests of their client and employer consistent with the public interest. 3. PRODUCT — Software engineers shall ensure that their products and related modifications meet the highest professional standards possible. 4. JUDGMENT — Software engineers shall maintain integrity and independence in their professional judgment. 5. MANAGEMENT — Software engineering managers and leaders shall subscribe to and promote an ethical approach to the management of software development and maintenance. 6. PROFESSION — Software engineers shall advance the integrity and reputation of the profession consistent with the public interest. 7. COLLEAGUES — Software engineers shall be fair to and supportive of their colleagues. 8. SELF — Software engineers shall participate in lifelong learning regarding the practice of their profession and shall promote an ethical approach to the practice of the profession.