SlideShare a Scribd company logo
1 of 36
Introduction to
Software
Engineering
Prepared by Dr.T.Thendral
06.07.2023
Course Objectives:
 The main objectives of this course are to:
1. To enhance the basics of Software
engineering methods and practices
2. To earn the techniques for developing
software systems
3. To understand the object orient
4. To understand software testing approaches
Prepared by Dr.T.Thendral
06.07.2023
On the successful completion of
the course,student will be able to:
 Understand the basic concepts of software
engineering
 Apply the software engineering models in developing
software application
 Implement the object oriented design in various
projects
 Knowledge on how to do a software project within-
depth analysis
 To inculcate knowledge on Software engineering
concepts in turn gives a road map to design a new
software project
Prepared by Dr.T.Thendral
06.07.2023
What is Software?
 Software is a set of instructions to acquire inputs and to
manipulate them to produce the desired output in terms of
functions and performance as determined by the user of
the software
 Also include a set of documents, such as the software
manual, meant for users to understand the software system
Prepared by Dr.T.Thendral
06.07.2023
Description of the Software
 A software is described by its capabilities. The capabilities relate to
the functions it executes, the features it provides and the facilities it
offers.
EXAMPLE
Software written for Sales-order processing would have
different functions to process different types of sales order from
different market segments .
 The features for example, would be to handle multi-currency
computing, updating product, sales and Tax status.
 The facilities could be printing of sales orders, email to customers
and reports to the store department to dispatch the goods.
Prepared by Dr.T.Thendral
06.07.2023
Classes of Software
Software is classified into two classes:
 Generic Software:
is designed for broad customer market whose requirements are very
common, fairly stable and well understood by the software engineer
 Customized Software:
is developed for a customer where domain, environment and
requirements are being unique to that customer and cannot be satisfied
by generic products
Prepared by Dr.T.Thendral
06.07.2023
What is Good Software?
 Software has number of attributes which decide whether it is a good
or bad .
 The definition of a good software changes with the person who
evaluates it.
 The software is required by the customer, used by the end users of an
organization and developed by software engineer
 Each one will evaluate the different attributes differently in order to
decide whether the software is good
Prepared by Dr.T.Thendral
06.07.2023
What are the attributes of good
software?
The software should deliver the required functionality and performance to
the user and should be maintainable, dependable and usable.
• Maintainability
– Software must evolve to meet changing needs
 Dependability
– Software must be trustworthy
 Efficiency
– Software should not make wasteful use of system resources
 Usability
– Software must be usable by the users for which it was designed
Prepared by Dr.T.Thendral
06.07.2023
Software - Characteristics
 Software has a dual role. It is a product, but also a vehicle for delivering a
product.
 Software is a logical rather than a physical system element.
 Software has characteristics that differ considerably from those of hardware.
 Software is developed or engineered, it is not manufactured in the
classical sense
 Software doesn’t “wear out”
 Most software is custom-built, rather than being assembled from
existing components.
Prepared by Dr.T.Thendral
06.07.2023
Changing nature of
software(Types)
 System Software- A collection of programs written to service other
programs at system level.
For example, compiler, operating systems.
 Real-time Software- Programs that monitor/analyze/control real
world events as they occur.
 Business Software- Programs that access, analyze and process
business information.
 Engineering and Scientific Software - Software using “number
crunching” algorithms for different science and applications. System
simulation, computer-aided design.
Prepared by Dr.T.Thendral
06.07.2023
Changing nature of
software(Types)
 Embedded Software-:
Embedded software resides in read-only memory and is used to
control products and systems for the consumer and industrial markets.
It has very limited and esoteric functions and control capability.
 Artificial Intelligence (AI) Software:
Programs make use of AI techniques and methods to solve complex
problems. Active areas are expert systems, pattern recognition, games
 Internet Software :
Programs that support internet accesses and applications. For example,
search engine, browser, e-commerce software, authoring tools.
Prepared by Dr.T.Thendral
06.07.2023
Software Engineering
 “A systematic approach to the analysis, design, implementation and
maintenance of software.”
(The Free On-Line Dictionary of Computing)
 “The systematic application of tools and techniques in the
development of computer-based applications.”
(Sue Conger in The New Software Engineering)
 “Software Engineering is about designing and developing high-quality
software.”
(Shari Lawrence Pfleeger in Software Engineering -- The Production
of Quality Software)
Prepared by Dr.T.Thendral
06.07.2023
What is Software Engineering?
 Engineering: The Application of Science to the Solution of Practical
Problems
 Software Engineering: The Application of CS to Building Practical Software
Systems
 Programming
– Individual Writes Complete Program
– One Person, One Computer
– Well-Defined Problem
– Programming-in-the-Small
 Software Engineering
– Individuals Write Program Components
– Team Assembles Complete Program
– Programming-in-the-Large Prepared by Dr.T.Thendral
06.07.2023
What is the difference between software engineering and
computer science?
Computer Science Software Engineering
is concerned with
Computer science theories are currently insufficient to act as a complete
underpinning for software engineering, but it is a foundation for practical aspects
of software engineering
 theory
 fundamentals
 the practicalities of developing
 delivering useful software
Prepared by Dr.T.Thendral
06.07.2023
What is Software Engineering?
Although hundreds of authors have developed personal definitions of software
engineering, a definition proposed by Fritz Bauer provides a basis:
 “[Software engineering is] the establishment and use of sound
engineering principles in order to obtain economically software that is
reliable and works efficiently on real machines.”
The IEEE [IEE93] has developed a more comprehensive definition when it
states:
 “Software Engineering: (1) The application of a systematic, disciplined, quantifiable approach
to the development, operation and maintenance of software; that is, the application of
engineering to software. (2) The study of approaches as in (1).” Prepared by Dr.T.Thendral
06.07.2023
Software engineering is a layered
technology - Pressman’s view:
Software Engineering Layers
Prepared by Dr.T.Thendral
06.07.2023
What is Software Engineering?
 Software methods:
 Software engineering methods provide the technical “how to’s” for
building software.
 Methods --> how to encompass a broad array of tasks:
- requirements analysis, design, coding, testing, and maintenance
 Software engineering methods rely on a set of basic principles.
Prepared by Dr.T.Thendral
06.07.2023
Software methods
Prepared by Dr.T.Thendral
06.07.2023
What is Software Engineering?
 Software Process:
Software engineering process is the glue that holds:
- technology together
- enables rational and timely development of computer software
Software engineering process is a framework of a set of key process
areas
It forms a basis for:
- project management, budget and schedule control
- applications of technical methods
- product quality control
Prepared by Dr.T.Thendral
06.07.2023
Software Process
Prepared by Dr.T.Thendral
06.07.2023
What is Software Engineering?
 Software Tools:
- programs provide automated or semi-automated support for the
process and methods
- programs support engineers to perform their tasks in a systematic
and/or automatic manner
Prepared by Dr.T.Thendral
06.07.2023
Why Software Engineering?
 Objectives:
- Identify new problems and solutions in
software production
- Study new systematic methods, principles,
approaches for system analysis, design,
implementation, testing and maintenance.
- Provide new ways to control, manage, and
monitor software process
- Build new software tools and environment to
support software engineering
Prepared by Dr.T.Thendral
06.07.2023
Why Software Engineering?
Major Goals:
- To increase software productivity and quality
- To effectively control software schedule and planning
- To reduce the cost of software development
- To meet the customers’ needs and requirements
- To enhance the conduction of software engineering
process
- To improve the current software engineering practice
- To support the engineers’ activities in a systematic and
efficient manner
Prepared by Dr.T.Thendral
06.07.2023
A Process Framework
Prepared by Dr.T.Thendral
06.07.2023
Process Framework Activities
 Communication
 Planning
 Modeling
 Construction
 Deployment
Prepared by Dr.T.Thendral
06.07.2023
Umbrella Activities
 Software Project Tracking & Control
 Risk Management
 Formal Technical Reviews
 Software Configuration Management
 Reusability Management
Prepared by Dr.T.Thendral
06.07.2023
PROCESS
MODELS
Prepared by Dr.T.Thendral
06.07.2023
SDLC Process Model
SDLC – Software Development Life Cycle
Process model is a framework that describes
the activities,actions,tasks,milestones,and
work products performed at each stage of a
software development project that leads to a
high quality software
Prepared by Dr.T.Thendral
06.07.2023
Life cycle models
 Waterfall model
 Incremental process models
– Incremental model
– RAD model
 Evolutionary Process Models
– Prototyping model
– Spiral model
 Object oriented process model
Prepared by Dr.T.Thendral
06.07.2023
WATERFALL MODEL
a.k.as Linear life cycle model or classic life cycle model
Prepared by Dr.T.Thendral
06.07.2023
WATERFALL MODEL
Prepared by Dr.T.Thendral
06.07.2023
WATERFALL MODEL
 Project initiation & requirement gathering
– What is the Problem to Solve?
– What Does Customer Need/Want?
– Interactions Between SE and Customer
– Identify and Document System Requirements
– Generate User Manuals and Test Plans
• Planning
– Prioritize the requirements
– Plan the process
Prepared by Dr.T.Thendral
06.07.2023
WATERFALL MODEL
 Analysis and design
– How is the Problem to be Solved?
– High-Level Design
– Determine Components/Modules
– Transition to Detailed Design
– Detail Functionality of Components/Modules
 Coding and Testing
– Writing Code to Meet Component/Module Design Specifications
– Individual Test Modules in Isolation
– Integration of Components/Modules into Subsystems
– Integration of Subsystems into Final Program
Prepared by Dr.T.Thendral
06.07.2023
WATERFALL MODEL
 Deployment
– System Delivered to Customer/Market
– Bug Fixes and Version Releases Over Time
Strengths
 Easy to understand, easy to use
 Provides structure to inexperienced staff
 Milestones are well understood
 Sets requirements stability
 Good for management control (plan, staff, track)
 Works well when quality is more important than cost or schedule
Prepared by Dr.T.Thendral
06.07.2023
Waterfall Drawbacks
 All projects cannot follow linear process
 All requirements must be known upfront
 Few business systems have stable requirements
 The customer must have patience
 A working version of the program will not be
available until late in the project time-span
 Leads to ‘blocking states’
 Inappropriate to changes
Prepared by Dr.T.Thendral
06.07.2023
When to use the Waterfall Model
 Requirements are very well known
 Product definition is stable
 Technology is understood
 New version of an existing product
 Porting an existing product to a new platform
Prepared by Dr.T.Thendral
06.07.2023

More Related Content

What's hot

SOFTWARE QUALITY ASSURANCE.ppt
SOFTWARE QUALITY ASSURANCE.pptSOFTWARE QUALITY ASSURANCE.ppt
SOFTWARE QUALITY ASSURANCE.pptDrTThendralCompSci
 
Types of software testing
Types of software testingTypes of software testing
Types of software testingPrachi Sasankar
 
2.software requirement specification
2.software requirement specification2.software requirement specification
2.software requirement specificationDeepak Sharma
 
Software requirement and specification
Software requirement and specificationSoftware requirement and specification
Software requirement and specificationAman Adhikari
 
Software engineering lecture notes
Software engineering lecture notesSoftware engineering lecture notes
Software engineering lecture notesSiva Ayyakutti
 
Software Coding- Software Coding
Software Coding- Software CodingSoftware Coding- Software Coding
Software Coding- Software CodingNikhil Pandit
 
Software Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & SpecificationSoftware Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & SpecificationAjit Nayak
 
Delphi cost estimation model
Delphi cost estimation modelDelphi cost estimation model
Delphi cost estimation modelShashwat Shriparv
 
A Bug Tracking System Is A Software Application
A Bug Tracking System Is A Software ApplicationA Bug Tracking System Is A Software Application
A Bug Tracking System Is A Software ApplicationAbhishek Pasricha
 
Software Quality Assurance in software engineering
Software Quality Assurance in software engineeringSoftware Quality Assurance in software engineering
Software Quality Assurance in software engineeringMuhammadTalha436
 
Software development life cycle (SDLC)
Software development life cycle (SDLC)Software development life cycle (SDLC)
Software development life cycle (SDLC)Simran Kaur
 
V model Over view (Software Engineering)
V model Over view (Software Engineering)V model Over view (Software Engineering)
V model Over view (Software Engineering)Badar Rameez. CH.
 

What's hot (20)

Requirement Engineering.ppt
Requirement Engineering.pptRequirement Engineering.ppt
Requirement Engineering.ppt
 
SOFTWARE QUALITY ASSURANCE.ppt
SOFTWARE QUALITY ASSURANCE.pptSOFTWARE QUALITY ASSURANCE.ppt
SOFTWARE QUALITY ASSURANCE.ppt
 
Types of software testing
Types of software testingTypes of software testing
Types of software testing
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assurance
 
Software metrics
Software metricsSoftware metrics
Software metrics
 
Computer aided software engineering
Computer aided software engineeringComputer aided software engineering
Computer aided software engineering
 
2.software requirement specification
2.software requirement specification2.software requirement specification
2.software requirement specification
 
Software requirement and specification
Software requirement and specificationSoftware requirement and specification
Software requirement and specification
 
Software Engineering
Software EngineeringSoftware Engineering
Software Engineering
 
Software engineering lecture notes
Software engineering lecture notesSoftware engineering lecture notes
Software engineering lecture notes
 
Unit testing
Unit testing Unit testing
Unit testing
 
Software Coding- Software Coding
Software Coding- Software CodingSoftware Coding- Software Coding
Software Coding- Software Coding
 
Software Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & SpecificationSoftware Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & Specification
 
Software process
Software processSoftware process
Software process
 
Delphi cost estimation model
Delphi cost estimation modelDelphi cost estimation model
Delphi cost estimation model
 
A Bug Tracking System Is A Software Application
A Bug Tracking System Is A Software ApplicationA Bug Tracking System Is A Software Application
A Bug Tracking System Is A Software Application
 
Software Engineering Practice
Software Engineering PracticeSoftware Engineering Practice
Software Engineering Practice
 
Software Quality Assurance in software engineering
Software Quality Assurance in software engineeringSoftware Quality Assurance in software engineering
Software Quality Assurance in software engineering
 
Software development life cycle (SDLC)
Software development life cycle (SDLC)Software development life cycle (SDLC)
Software development life cycle (SDLC)
 
V model Over view (Software Engineering)
V model Over view (Software Engineering)V model Over view (Software Engineering)
V model Over view (Software Engineering)
 

Similar to Unit 1 - Introduction to Software Engineering.ppt

Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software EngineeringZahoor Khan
 
SE chp1 update and learning management .pptx
SE chp1 update and learning management .pptxSE chp1 update and learning management .pptx
SE chp1 update and learning management .pptxssuserdee5bb1
 
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
 
Ian Sommerville, Software Engineering, 9th Edition Ch1
Ian Sommerville,  Software Engineering, 9th Edition Ch1Ian Sommerville,  Software Engineering, 9th Edition Ch1
Ian Sommerville, Software Engineering, 9th Edition Ch1Mohammed Romi
 
Software Engineering UPTU
Software Engineering UPTUSoftware Engineering UPTU
Software Engineering UPTURishi Shukla
 
Software engineering study materials
Software engineering study materialsSoftware engineering study materials
Software engineering study materialssmruti sarangi
 
Software Engineering Unit-1
Software Engineering Unit-1Software Engineering Unit-1
Software Engineering Unit-1Samura Daniel
 
Software Engineering notes by K. Adisesha.pdf
Software Engineering notes by K. Adisesha.pdfSoftware Engineering notes by K. Adisesha.pdf
Software Engineering notes by K. Adisesha.pdfProf. Dr. K. Adisesha
 
Soft Eng - Introduction
Soft Eng - IntroductionSoft Eng - Introduction
Soft Eng - IntroductionJomel Penalba
 
Software engineering tutorial
Software engineering tutorial Software engineering tutorial
Software engineering tutorial Ahmed Elshal
 
Chapter 1 1 - intro ppt
Chapter 1   1 - intro pptChapter 1   1 - intro ppt
Chapter 1 1 - intro pptNancyBeaulah_R
 
What is software engineering
What is software engineeringWhat is software engineering
What is software engineeringJennifer Polack
 
Oose unit 1 ppt
Oose unit 1 pptOose unit 1 ppt
Oose unit 1 pptDr VISU P
 

Similar to Unit 1 - Introduction to Software Engineering.ppt (20)

Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
SE chp1 update and learning management .pptx
SE chp1 update and learning management .pptxSE chp1 update and learning management .pptx
SE chp1 update and learning management .pptx
 
Lecture 1 SE.pptx
Lecture 1 SE.pptxLecture 1 SE.pptx
Lecture 1 SE.pptx
 
Lecture1422914635
Lecture1422914635Lecture1422914635
Lecture1422914635
 
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
 
Ian Sommerville, Software Engineering, 9th Edition Ch1
Ian Sommerville,  Software Engineering, 9th Edition Ch1Ian Sommerville,  Software Engineering, 9th Edition Ch1
Ian Sommerville, Software Engineering, 9th Edition Ch1
 
Software Engineering UPTU
Software Engineering UPTUSoftware Engineering UPTU
Software Engineering UPTU
 
Software engineering study materials
Software engineering study materialsSoftware engineering study materials
Software engineering study materials
 
Software Engineering Unit-1
Software Engineering Unit-1Software Engineering Unit-1
Software Engineering Unit-1
 
Software Engineering notes by K. Adisesha.pdf
Software Engineering notes by K. Adisesha.pdfSoftware Engineering notes by K. Adisesha.pdf
Software Engineering notes by K. Adisesha.pdf
 
Soft Eng - Introduction
Soft Eng - IntroductionSoft Eng - Introduction
Soft Eng - Introduction
 
Ch1
Ch1Ch1
Ch1
 
Ch1
Ch1Ch1
Ch1
 
Software engineering tutorial
Software engineering tutorial Software engineering tutorial
Software engineering tutorial
 
Chapter 1 1 - intro ppt
Chapter 1   1 - intro pptChapter 1   1 - intro ppt
Chapter 1 1 - intro ppt
 
Swe notes
Swe notesSwe notes
Swe notes
 
Lecture 1.pptx
Lecture 1.pptxLecture 1.pptx
Lecture 1.pptx
 
Chapter 01
Chapter 01Chapter 01
Chapter 01
 
What is software engineering
What is software engineeringWhat is software engineering
What is software engineering
 
Oose unit 1 ppt
Oose unit 1 pptOose unit 1 ppt
Oose unit 1 ppt
 

More from DrTThendralCompSci (13)

Loader and linker.pptx
Loader and linker.pptxLoader and linker.pptx
Loader and linker.pptx
 
The Application Layer.ppt
The Application Layer.pptThe Application Layer.ppt
The Application Layer.ppt
 
Transport Layer.pptx
Transport Layer.pptxTransport Layer.pptx
Transport Layer.pptx
 
Software Configuration Management.ppt
Software Configuration Management.pptSoftware Configuration Management.ppt
Software Configuration Management.ppt
 
Wireless LANs PPT.ppt
Wireless LANs PPT.pptWireless LANs PPT.ppt
Wireless LANs PPT.ppt
 
NETWORK LAYER.ppt
NETWORK LAYER.pptNETWORK LAYER.ppt
NETWORK LAYER.ppt
 
Bluetooth.ppt
Bluetooth.pptBluetooth.ppt
Bluetooth.ppt
 
MEDIUM-ACCESS CONTROL SUB LAYER.ppt
MEDIUM-ACCESS CONTROL SUB LAYER.pptMEDIUM-ACCESS CONTROL SUB LAYER.ppt
MEDIUM-ACCESS CONTROL SUB LAYER.ppt
 
Ethernet.ppt
Ethernet.pptEthernet.ppt
Ethernet.ppt
 
DATA-LINK LAYER.ppt
DATA-LINK LAYER.pptDATA-LINK LAYER.ppt
DATA-LINK LAYER.ppt
 
UNIT I.ppt
UNIT I.pptUNIT I.ppt
UNIT I.ppt
 
PHYSICAL LAYER.ppt
PHYSICAL LAYER.pptPHYSICAL LAYER.ppt
PHYSICAL LAYER.ppt
 
COMPUTER NETWORK
COMPUTER NETWORKCOMPUTER NETWORK
COMPUTER NETWORK
 

Recently uploaded

Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityGeoBlogs
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdfSoniaTolstoy
 
PSYCHIATRIC History collection FORMAT.pptx
PSYCHIATRIC   History collection FORMAT.pptxPSYCHIATRIC   History collection FORMAT.pptx
PSYCHIATRIC History collection FORMAT.pptxPoojaSen20
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactdawncurless
 
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991RKavithamani
 
Concept of Vouching. B.Com(Hons) /B.Compdf
Concept of Vouching. B.Com(Hons) /B.CompdfConcept of Vouching. B.Com(Hons) /B.Compdf
Concept of Vouching. B.Com(Hons) /B.CompdfUmakantAnnand
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxmanuelaromero2013
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingTechSoup
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptxVS Mahajan Coaching Centre
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Educationpboyjonauth
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxNirmalaLoungPoorunde1
 
Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxOH TEIK BIN
 
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...Marc Dusseiller Dusjagr
 
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Celine George
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introductionMaksud Ahmed
 
Micromeritics - Fundamental and Derived Properties of Powders
Micromeritics - Fundamental and Derived Properties of PowdersMicromeritics - Fundamental and Derived Properties of Powders
Micromeritics - Fundamental and Derived Properties of PowdersChitralekhaTherkar
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13Steve Thomason
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxpboyjonauth
 

Recently uploaded (20)

Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activity
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
 
PSYCHIATRIC History collection FORMAT.pptx
PSYCHIATRIC   History collection FORMAT.pptxPSYCHIATRIC   History collection FORMAT.pptx
PSYCHIATRIC History collection FORMAT.pptx
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impact
 
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
 
Concept of Vouching. B.Com(Hons) /B.Compdf
Concept of Vouching. B.Com(Hons) /B.CompdfConcept of Vouching. B.Com(Hons) /B.Compdf
Concept of Vouching. B.Com(Hons) /B.Compdf
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptx
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Education
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptx
 
Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptx
 
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
 
Staff of Color (SOC) Retention Efforts DDSD
Staff of Color (SOC) Retention Efforts DDSDStaff of Color (SOC) Retention Efforts DDSD
Staff of Color (SOC) Retention Efforts DDSD
 
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
Micromeritics - Fundamental and Derived Properties of Powders
Micromeritics - Fundamental and Derived Properties of PowdersMicromeritics - Fundamental and Derived Properties of Powders
Micromeritics - Fundamental and Derived Properties of Powders
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptx
 

Unit 1 - Introduction to Software Engineering.ppt

  • 2. Course Objectives:  The main objectives of this course are to: 1. To enhance the basics of Software engineering methods and practices 2. To earn the techniques for developing software systems 3. To understand the object orient 4. To understand software testing approaches Prepared by Dr.T.Thendral 06.07.2023
  • 3. On the successful completion of the course,student will be able to:  Understand the basic concepts of software engineering  Apply the software engineering models in developing software application  Implement the object oriented design in various projects  Knowledge on how to do a software project within- depth analysis  To inculcate knowledge on Software engineering concepts in turn gives a road map to design a new software project Prepared by Dr.T.Thendral 06.07.2023
  • 4. What is Software?  Software is a set of instructions to acquire inputs and to manipulate them to produce the desired output in terms of functions and performance as determined by the user of the software  Also include a set of documents, such as the software manual, meant for users to understand the software system Prepared by Dr.T.Thendral 06.07.2023
  • 5. Description of the Software  A software is described by its capabilities. The capabilities relate to the functions it executes, the features it provides and the facilities it offers. EXAMPLE Software written for Sales-order processing would have different functions to process different types of sales order from different market segments .  The features for example, would be to handle multi-currency computing, updating product, sales and Tax status.  The facilities could be printing of sales orders, email to customers and reports to the store department to dispatch the goods. Prepared by Dr.T.Thendral 06.07.2023
  • 6. Classes of Software Software is classified into two classes:  Generic Software: is designed for broad customer market whose requirements are very common, fairly stable and well understood by the software engineer  Customized Software: is developed for a customer where domain, environment and requirements are being unique to that customer and cannot be satisfied by generic products Prepared by Dr.T.Thendral 06.07.2023
  • 7. What is Good Software?  Software has number of attributes which decide whether it is a good or bad .  The definition of a good software changes with the person who evaluates it.  The software is required by the customer, used by the end users of an organization and developed by software engineer  Each one will evaluate the different attributes differently in order to decide whether the software is good Prepared by Dr.T.Thendral 06.07.2023
  • 8. What are the attributes of good software? The software should deliver the required functionality and performance to the user and should be maintainable, dependable and usable. • Maintainability – Software must evolve to meet changing needs  Dependability – Software must be trustworthy  Efficiency – Software should not make wasteful use of system resources  Usability – Software must be usable by the users for which it was designed Prepared by Dr.T.Thendral 06.07.2023
  • 9. Software - Characteristics  Software has a dual role. It is a product, but also a vehicle for delivering a product.  Software is a logical rather than a physical system element.  Software has characteristics that differ considerably from those of hardware.  Software is developed or engineered, it is not manufactured in the classical sense  Software doesn’t “wear out”  Most software is custom-built, rather than being assembled from existing components. Prepared by Dr.T.Thendral 06.07.2023
  • 10. Changing nature of software(Types)  System Software- A collection of programs written to service other programs at system level. For example, compiler, operating systems.  Real-time Software- Programs that monitor/analyze/control real world events as they occur.  Business Software- Programs that access, analyze and process business information.  Engineering and Scientific Software - Software using “number crunching” algorithms for different science and applications. System simulation, computer-aided design. Prepared by Dr.T.Thendral 06.07.2023
  • 11. Changing nature of software(Types)  Embedded Software-: Embedded software resides in read-only memory and is used to control products and systems for the consumer and industrial markets. It has very limited and esoteric functions and control capability.  Artificial Intelligence (AI) Software: Programs make use of AI techniques and methods to solve complex problems. Active areas are expert systems, pattern recognition, games  Internet Software : Programs that support internet accesses and applications. For example, search engine, browser, e-commerce software, authoring tools. Prepared by Dr.T.Thendral 06.07.2023
  • 12. Software Engineering  “A systematic approach to the analysis, design, implementation and maintenance of software.” (The Free On-Line Dictionary of Computing)  “The systematic application of tools and techniques in the development of computer-based applications.” (Sue Conger in The New Software Engineering)  “Software Engineering is about designing and developing high-quality software.” (Shari Lawrence Pfleeger in Software Engineering -- The Production of Quality Software) Prepared by Dr.T.Thendral 06.07.2023
  • 13. What is Software Engineering?  Engineering: The Application of Science to the Solution of Practical Problems  Software Engineering: The Application of CS to Building Practical Software Systems  Programming – Individual Writes Complete Program – One Person, One Computer – Well-Defined Problem – Programming-in-the-Small  Software Engineering – Individuals Write Program Components – Team Assembles Complete Program – Programming-in-the-Large Prepared by Dr.T.Thendral 06.07.2023
  • 14. What is the difference between software engineering and computer science? Computer Science Software Engineering is concerned with Computer science theories are currently insufficient to act as a complete underpinning for software engineering, but it is a foundation for practical aspects of software engineering  theory  fundamentals  the practicalities of developing  delivering useful software Prepared by Dr.T.Thendral 06.07.2023
  • 15. What is Software Engineering? Although hundreds of authors have developed personal definitions of software engineering, a definition proposed by Fritz Bauer provides a basis:  “[Software engineering is] the establishment and use of sound engineering principles in order to obtain economically software that is reliable and works efficiently on real machines.” The IEEE [IEE93] has developed a more comprehensive definition when it states:  “Software Engineering: (1) The application of a systematic, disciplined, quantifiable approach to the development, operation and maintenance of software; that is, the application of engineering to software. (2) The study of approaches as in (1).” Prepared by Dr.T.Thendral 06.07.2023
  • 16. Software engineering is a layered technology - Pressman’s view: Software Engineering Layers Prepared by Dr.T.Thendral 06.07.2023
  • 17. What is Software Engineering?  Software methods:  Software engineering methods provide the technical “how to’s” for building software.  Methods --> how to encompass a broad array of tasks: - requirements analysis, design, coding, testing, and maintenance  Software engineering methods rely on a set of basic principles. Prepared by Dr.T.Thendral 06.07.2023
  • 18. Software methods Prepared by Dr.T.Thendral 06.07.2023
  • 19. What is Software Engineering?  Software Process: Software engineering process is the glue that holds: - technology together - enables rational and timely development of computer software Software engineering process is a framework of a set of key process areas It forms a basis for: - project management, budget and schedule control - applications of technical methods - product quality control Prepared by Dr.T.Thendral 06.07.2023
  • 20. Software Process Prepared by Dr.T.Thendral 06.07.2023
  • 21. What is Software Engineering?  Software Tools: - programs provide automated or semi-automated support for the process and methods - programs support engineers to perform their tasks in a systematic and/or automatic manner Prepared by Dr.T.Thendral 06.07.2023
  • 22. Why Software Engineering?  Objectives: - Identify new problems and solutions in software production - Study new systematic methods, principles, approaches for system analysis, design, implementation, testing and maintenance. - Provide new ways to control, manage, and monitor software process - Build new software tools and environment to support software engineering Prepared by Dr.T.Thendral 06.07.2023
  • 23. Why Software Engineering? Major Goals: - To increase software productivity and quality - To effectively control software schedule and planning - To reduce the cost of software development - To meet the customers’ needs and requirements - To enhance the conduction of software engineering process - To improve the current software engineering practice - To support the engineers’ activities in a systematic and efficient manner Prepared by Dr.T.Thendral 06.07.2023
  • 24. A Process Framework Prepared by Dr.T.Thendral 06.07.2023
  • 25. Process Framework Activities  Communication  Planning  Modeling  Construction  Deployment Prepared by Dr.T.Thendral 06.07.2023
  • 26. Umbrella Activities  Software Project Tracking & Control  Risk Management  Formal Technical Reviews  Software Configuration Management  Reusability Management Prepared by Dr.T.Thendral 06.07.2023
  • 28. SDLC Process Model SDLC – Software Development Life Cycle Process model is a framework that describes the activities,actions,tasks,milestones,and work products performed at each stage of a software development project that leads to a high quality software Prepared by Dr.T.Thendral 06.07.2023
  • 29. Life cycle models  Waterfall model  Incremental process models – Incremental model – RAD model  Evolutionary Process Models – Prototyping model – Spiral model  Object oriented process model Prepared by Dr.T.Thendral 06.07.2023
  • 30. WATERFALL MODEL a.k.as Linear life cycle model or classic life cycle model Prepared by Dr.T.Thendral 06.07.2023
  • 31. WATERFALL MODEL Prepared by Dr.T.Thendral 06.07.2023
  • 32. WATERFALL MODEL  Project initiation & requirement gathering – What is the Problem to Solve? – What Does Customer Need/Want? – Interactions Between SE and Customer – Identify and Document System Requirements – Generate User Manuals and Test Plans • Planning – Prioritize the requirements – Plan the process Prepared by Dr.T.Thendral 06.07.2023
  • 33. WATERFALL MODEL  Analysis and design – How is the Problem to be Solved? – High-Level Design – Determine Components/Modules – Transition to Detailed Design – Detail Functionality of Components/Modules  Coding and Testing – Writing Code to Meet Component/Module Design Specifications – Individual Test Modules in Isolation – Integration of Components/Modules into Subsystems – Integration of Subsystems into Final Program Prepared by Dr.T.Thendral 06.07.2023
  • 34. WATERFALL MODEL  Deployment – System Delivered to Customer/Market – Bug Fixes and Version Releases Over Time Strengths  Easy to understand, easy to use  Provides structure to inexperienced staff  Milestones are well understood  Sets requirements stability  Good for management control (plan, staff, track)  Works well when quality is more important than cost or schedule Prepared by Dr.T.Thendral 06.07.2023
  • 35. Waterfall Drawbacks  All projects cannot follow linear process  All requirements must be known upfront  Few business systems have stable requirements  The customer must have patience  A working version of the program will not be available until late in the project time-span  Leads to ‘blocking states’  Inappropriate to changes Prepared by Dr.T.Thendral 06.07.2023
  • 36. When to use the Waterfall Model  Requirements are very well known  Product definition is stable  Technology is understood  New version of an existing product  Porting an existing product to a new platform Prepared by Dr.T.Thendral 06.07.2023