SlideShare a Scribd company logo
What is Software?
The product that software professionals build and then
support over the long term.
Software encompasses:
(1)instructions (computer programs) that when
executed provide desired features, function, and
performance;
(2)that enable the programs to adequately store and
manipulate information and
(3)(3)that describes the operation and use of the
programs.
2
Software products
• Generic products
• Stand-alone systems that are marketed and sold to any customer
who wishes to buy them.
• Examples - PC software such as editing, graphics programs,
project management tools; CAD software; software for specific
markets such as appointments systems for dentists.
• Customized products
• Software that is commissioned by a specific customer to meet
their own needs.
• Examples - embedded control systems, air traffic control
software, traffic monitoring systems.
3
Why Software is Important?
• The economies of ALL developed nations are dependent on
software.
• More and more systems are software controlled ( transportation,
medical, telecommunications, military, industrial, entertainment,)
• Software engineering is concerned with theories, methods and tools
for professional software development.
• Expenditure on software represents a
significant fraction of GNP in all developed countries.
Software costs
• Software costs often dominate computer system costs. The
costs of software on a PC are often greater than the hardware
cost.
• Software costs more to maintain than it does to develop. For
systems with a long life, maintenance costs may be several
times development costs.
• Software engineering is concerned with cost-effective
software
development.
Features of Software?
• Its characteristics that make it different from other things human being
build.
Features of such logical system:
• Software is developed or engineered, it is not manufactured in the
classical sense which has quality problem.
• Software doesn’t "wear out.” but it deteriorates (due to change). Hardware
has bathtub curve of failure rate ( high failure rate in the beginning, then drop to
steady state, then cumulative effects of dust, vibration, abuse occurs).
• Although the industry is moving toward component-based construction
(e.g. standard screws and off-the-shelf integrated circuits), most
software continues to be custom-built. Modern reusable components
encapsulate data and processing into software parts to be reused by
different programs. E.g. graphical user interface, window, pull-down
menus in library etc.
6
Wear vs. Deterioration
7
1. System software: such as compilers, editors, file management utilities
2. Application software: stand-alone programs for specific needs.
3. Engineering/scientific software: Such as automotive stress analysis,
molecular biology, orbital dynamics.
4. Embedded software resides within a product or system. (key pad
control of a microwave oven, digital function of dashboard display in a car)
5. Product-line software focus on a limited marketplace to address
mass consumer market. (word processing, graphics, database management)
6. WebApps (Web applications) network centric software.
sophisticated computing environments with remote database and
business applications.
7. AI software uses non-numerical algorithm to solve complex
problem. Robotics, expert system, pattern recognition game playing
Software (Types) Applications
• Open world computing- pervasive, ubiquitous, distributed computing
due to wireless networking. How to allow mobile devices, personal
computer, enterprise system to communicate across vast network.
• Netsourcing-the Web as a computing engine. How to architect simple
and sophisticated applications to target end-users worldwide.
• Open source-”free” source code open to the computing community (a
blessing, but also a potential curse!)
• Also ...
• Data mining
• Grid computing
• Cognitive machines
• Software for nanotechnologies
Software-New Categories
• Legacy software are older programs that are
developed decades ago.
• The quality of legacy software is poor because it has-
• inextensible design,
• complex code,
• poor and nonexistent documentation,
• test cases and
• results that are not achieved.
LEGACY SOFTWARE
LEGACY SOFTWARE
As time passes legacy systems evolve due to following
reasons:
• The software must be
• adapted to meet the needs of new computing
environment or technology.
• enhanced to implement new business requirements.
• extended to make it interoperable with more modern
systems or database.
• Re-architected to make it viable within a network
environment
Importance of Software Engineering
• More and more, individuals and society rely on advanced
software systems.
• We need to be able to produce reliable and trustworthy
systems economically and quickly.
• It is usually cheaper, in the long run, to use software
engineering methods and techniques.
• The majority of costs are the costs of changing the
software after it has gone into use.
• Definition of Engineering:
• Application of science, tools and methods to
find cost effective solution to problems.
• What is software engineering?
• Software engineering is an engineering
discipline that is concerned with all aspects of
software production.
Introduction to software Engineering
The seminal definition[Fritz Bauer]:
[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 definition:
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).
Software Engineering Definition
A Quality Focus:
• Any engineering approach must rest on an organizational
commitment to quality.
• Total quality management, six sigma and similar philosophies
foster a continuous process improvement culture.
• This culture ultimately leads to the development of increasingly
more effective approaches to software engineering.
• The bedrock that supports software engineering is a quality focus.
SOFTWARE ENGINEERING-A LAYERED TECHNOLOGY
Process Layer: The foundation for software engineering.
• Software Engineering process is the glue that holds the
technology layers together and enables rational and
timely development of computer software.
• Process defines a framework (KPA)-
• basis for management control of Software Projects,
• the context for applying technical methods,
• works products ( like models, documents, data, reports, forms
etc.) are produced,
• milestones are established,
• quality is ensured and
• change is properly managed.
SOFTWARE ENGINEERING-A LAYERED TECHNOLOGY
Methods:
• Methods provide the technical- how to‘s for building software.
• Methods includes task such as -communication, requirements
analysis, design modeling, program construction, testing and
support.
Tools:
• Software Engineering tools provide automated or semi-
automated support for the process and the methods.
• Tools are integrated so that information created by one tool can be
used by another,
• A system(tool) for the support of software development is called
computer-aided software engineering(CASE).
SOFTWARE ENGINEERING-A LAYERED TECHNOLOGY
• A process is a collection of activities, actions and tasks
that are performed when some work product is to be
created.
• An activity: such as communication with stakeholders
is applied to all applications.
• An action: such as architecture design consists of set of
tasks.
• Task: focuses on small but well defined objectives.
Software Process
A Generic Process framework
• Establishes the foundation for a complete
software process.
• Identifies a number of framework
activities applicable to all software projects
• Also include a set of umbrella activities
that are applicable across the entire
software process.
Java learn from basic part chapter_01 short notes to understand the java quickly .pptx
1. Communication: communicate with customer to
understand objectives and gather requirements.
2. Planning: creates a “map” defines the work by
describing the tasks, risks and resources, work
products and work schedule.
3. Modeling: Create a “sketch”, what it looks like
architecturally, how the constituent parts fit
together and other characteristics.
4. Construction: code generation and the testing.
5. Deployment: Delivered to the customer who
evaluates the products and provides feedback based
on the evaluation.
Five Activities of a Generic Process framework
Process Flow
Umbrella Activities
Umbrella Activities help team to manage and control progress,
quality, change, and risk.
• Software project tracking and control: assess progress
against the plan and take actions to maintain the
schedule.
• Risk management: assesses risks that may affect the
outcome and quality of product.
• Software quality assurance: defines and conduct
activities to ensure quality.
• Technical reviews: assesses work products to uncover
and remove errors before going to the next activity.
Umbrella Activities
• Measurement: define and collects process, project,
and product measures, to ensure stakeholder’s needs
are met.
• Software configuration management: manage the
effects of change throughout the software process.
• Reusability management: defines criteria for work
product reuse and establishes mechanism to achieve
reusable components.
• Work product preparation and production: create
work products such as models, documents, logs,
forms and lists.

More Related Content

PPT
SE Lecture 1.ppt
PPT
SE Lecture 1.ppt
PPT
1. Introduction to software engineering.ppt
PPT
Unit 1 introduction tosoftengg_mba tech ii year
PPT
Unit 1 importance ofsoftengg_b.tech iii year
PPT
Week_01-Intro to Software Engineering-1.ppt
PPT
SE_MAIN_OKhsjsjshsndndjdjndndmdnnnxnxmd.ppt
SE Lecture 1.ppt
SE Lecture 1.ppt
1. Introduction to software engineering.ppt
Unit 1 introduction tosoftengg_mba tech ii year
Unit 1 importance ofsoftengg_b.tech iii year
Week_01-Intro to Software Engineering-1.ppt
SE_MAIN_OKhsjsjshsndndjdjndndmdnnnxnxmd.ppt

Similar to Java learn from basic part chapter_01 short notes to understand the java quickly .pptx (20)

PPT
Rekayasa Perangkat Lunak Pertemuan 1 RPL
PPT
Introduction to Software Engineering.ppt
PPT
Chapter 01
PDF
Software Engineering Introduction by Dr M Zhu
PPT
Chapter_01 of software engineering bsit.ppt
PPT
Chapter 01
PDF
Software Engineering Lecture for Computer Science.pdf
PPT
Chapter 01
PPTX
Software engineering
PPTX
S.E. Unit 1 introduction to software engineering
PPTX
Lecture-1,2-Introduction to SE.pptx
PDF
Software engineering unit 1
PPTX
Week_01-Intro to Software Engineering (1).pptx
PDF
Software engineering
PPT
Chapter_01.ppt
PPTX
UNIT 1 - MPP.pptxdfvvnfuvbrrujfvbvndvnbn
PDF
LESSON FOR SOFTWARE ENGINEERING BASED ON MODELS
PPTX
SE UNIT-1.pptx
PPT
SF 9_Unit 1.ppt software engineering ppt
Rekayasa Perangkat Lunak Pertemuan 1 RPL
Introduction to Software Engineering.ppt
Chapter 01
Software Engineering Introduction by Dr M Zhu
Chapter_01 of software engineering bsit.ppt
Chapter 01
Software Engineering Lecture for Computer Science.pdf
Chapter 01
Software engineering
S.E. Unit 1 introduction to software engineering
Lecture-1,2-Introduction to SE.pptx
Software engineering unit 1
Week_01-Intro to Software Engineering (1).pptx
Software engineering
Chapter_01.ppt
UNIT 1 - MPP.pptxdfvvnfuvbrrujfvbvndvnbn
LESSON FOR SOFTWARE ENGINEERING BASED ON MODELS
SE UNIT-1.pptx
SF 9_Unit 1.ppt software engineering ppt
Ad

Recently uploaded (20)

PDF
BMEC211 - INTRODUCTION TO MECHATRONICS-1.pdf
PDF
Enhancing Cyber Defense Against Zero-Day Attacks using Ensemble Neural Networks
PPTX
CYBER-CRIMES AND SECURITY A guide to understanding
PPTX
UNIT 4 Total Quality Management .pptx
PDF
Categorization of Factors Affecting Classification Algorithms Selection
PPT
Mechanical Engineering MATERIALS Selection
PDF
Mohammad Mahdi Farshadian CV - Prospective PhD Student 2026
PPTX
Safety Seminar civil to be ensured for safe working.
PPTX
Fundamentals of Mechanical Engineering.pptx
PPTX
Fundamentals of safety and accident prevention -final (1).pptx
PPTX
Construction Project Organization Group 2.pptx
PPT
Project quality management in manufacturing
PPTX
Sustainable Sites - Green Building Construction
PPTX
FINAL REVIEW FOR COPD DIANOSIS FOR PULMONARY DISEASE.pptx
PDF
null (2) bgfbg bfgb bfgb fbfg bfbgf b.pdf
PDF
R24 SURVEYING LAB MANUAL for civil enggi
PPTX
MET 305 2019 SCHEME MODULE 2 COMPLETE.pptx
PDF
PREDICTION OF DIABETES FROM ELECTRONIC HEALTH RECORDS
PDF
737-MAX_SRG.pdf student reference guides
PPTX
Geodesy 1.pptx...............................................
BMEC211 - INTRODUCTION TO MECHATRONICS-1.pdf
Enhancing Cyber Defense Against Zero-Day Attacks using Ensemble Neural Networks
CYBER-CRIMES AND SECURITY A guide to understanding
UNIT 4 Total Quality Management .pptx
Categorization of Factors Affecting Classification Algorithms Selection
Mechanical Engineering MATERIALS Selection
Mohammad Mahdi Farshadian CV - Prospective PhD Student 2026
Safety Seminar civil to be ensured for safe working.
Fundamentals of Mechanical Engineering.pptx
Fundamentals of safety and accident prevention -final (1).pptx
Construction Project Organization Group 2.pptx
Project quality management in manufacturing
Sustainable Sites - Green Building Construction
FINAL REVIEW FOR COPD DIANOSIS FOR PULMONARY DISEASE.pptx
null (2) bgfbg bfgb bfgb fbfg bfbgf b.pdf
R24 SURVEYING LAB MANUAL for civil enggi
MET 305 2019 SCHEME MODULE 2 COMPLETE.pptx
PREDICTION OF DIABETES FROM ELECTRONIC HEALTH RECORDS
737-MAX_SRG.pdf student reference guides
Geodesy 1.pptx...............................................
Ad

Java learn from basic part chapter_01 short notes to understand the java quickly .pptx

  • 1. What is Software? The product that software professionals build and then support over the long term. Software encompasses: (1)instructions (computer programs) that when executed provide desired features, function, and performance; (2)that enable the programs to adequately store and manipulate information and (3)(3)that describes the operation and use of the programs. 2
  • 2. Software products • Generic products • Stand-alone systems that are marketed and sold to any customer who wishes to buy them. • Examples - PC software such as editing, graphics programs, project management tools; CAD software; software for specific markets such as appointments systems for dentists. • Customized products • Software that is commissioned by a specific customer to meet their own needs. • Examples - embedded control systems, air traffic control software, traffic monitoring systems. 3
  • 3. Why Software is Important? • The economies of ALL developed nations are dependent on software. • More and more systems are software controlled ( transportation, medical, telecommunications, military, industrial, entertainment,) • Software engineering is concerned with theories, methods and tools for professional software development. • Expenditure on software represents a significant fraction of GNP in all developed countries.
  • 4. Software costs • Software costs often dominate computer system costs. The costs of software on a PC are often greater than the hardware cost. • Software costs more to maintain than it does to develop. For systems with a long life, maintenance costs may be several times development costs. • Software engineering is concerned with cost-effective software development.
  • 5. Features of Software? • Its characteristics that make it different from other things human being build. Features of such logical system: • Software is developed or engineered, it is not manufactured in the classical sense which has quality problem. • Software doesn’t "wear out.” but it deteriorates (due to change). Hardware has bathtub curve of failure rate ( high failure rate in the beginning, then drop to steady state, then cumulative effects of dust, vibration, abuse occurs). • Although the industry is moving toward component-based construction (e.g. standard screws and off-the-shelf integrated circuits), most software continues to be custom-built. Modern reusable components encapsulate data and processing into software parts to be reused by different programs. E.g. graphical user interface, window, pull-down menus in library etc. 6
  • 7. 1. System software: such as compilers, editors, file management utilities 2. Application software: stand-alone programs for specific needs. 3. Engineering/scientific software: Such as automotive stress analysis, molecular biology, orbital dynamics. 4. Embedded software resides within a product or system. (key pad control of a microwave oven, digital function of dashboard display in a car) 5. Product-line software focus on a limited marketplace to address mass consumer market. (word processing, graphics, database management) 6. WebApps (Web applications) network centric software. sophisticated computing environments with remote database and business applications. 7. AI software uses non-numerical algorithm to solve complex problem. Robotics, expert system, pattern recognition game playing Software (Types) Applications
  • 8. • Open world computing- pervasive, ubiquitous, distributed computing due to wireless networking. How to allow mobile devices, personal computer, enterprise system to communicate across vast network. • Netsourcing-the Web as a computing engine. How to architect simple and sophisticated applications to target end-users worldwide. • Open source-”free” source code open to the computing community (a blessing, but also a potential curse!) • Also ... • Data mining • Grid computing • Cognitive machines • Software for nanotechnologies Software-New Categories
  • 9. • Legacy software are older programs that are developed decades ago. • The quality of legacy software is poor because it has- • inextensible design, • complex code, • poor and nonexistent documentation, • test cases and • results that are not achieved. LEGACY SOFTWARE
  • 10. LEGACY SOFTWARE As time passes legacy systems evolve due to following reasons: • The software must be • adapted to meet the needs of new computing environment or technology. • enhanced to implement new business requirements. • extended to make it interoperable with more modern systems or database. • Re-architected to make it viable within a network environment
  • 11. Importance of Software Engineering • More and more, individuals and society rely on advanced software systems. • We need to be able to produce reliable and trustworthy systems economically and quickly. • It is usually cheaper, in the long run, to use software engineering methods and techniques. • The majority of costs are the costs of changing the software after it has gone into use.
  • 12. • Definition of Engineering: • Application of science, tools and methods to find cost effective solution to problems. • What is software engineering? • Software engineering is an engineering discipline that is concerned with all aspects of software production. Introduction to software Engineering
  • 13. The seminal definition[Fritz Bauer]: [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 definition: 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). Software Engineering Definition
  • 14. A Quality Focus: • Any engineering approach must rest on an organizational commitment to quality. • Total quality management, six sigma and similar philosophies foster a continuous process improvement culture. • This culture ultimately leads to the development of increasingly more effective approaches to software engineering. • The bedrock that supports software engineering is a quality focus. SOFTWARE ENGINEERING-A LAYERED TECHNOLOGY
  • 15. Process Layer: The foundation for software engineering. • Software Engineering process is the glue that holds the technology layers together and enables rational and timely development of computer software. • Process defines a framework (KPA)- • basis for management control of Software Projects, • the context for applying technical methods, • works products ( like models, documents, data, reports, forms etc.) are produced, • milestones are established, • quality is ensured and • change is properly managed. SOFTWARE ENGINEERING-A LAYERED TECHNOLOGY
  • 16. Methods: • Methods provide the technical- how to‘s for building software. • Methods includes task such as -communication, requirements analysis, design modeling, program construction, testing and support. Tools: • Software Engineering tools provide automated or semi- automated support for the process and the methods. • Tools are integrated so that information created by one tool can be used by another, • A system(tool) for the support of software development is called computer-aided software engineering(CASE). SOFTWARE ENGINEERING-A LAYERED TECHNOLOGY
  • 17. • A process is a collection of activities, actions and tasks that are performed when some work product is to be created. • An activity: such as communication with stakeholders is applied to all applications. • An action: such as architecture design consists of set of tasks. • Task: focuses on small but well defined objectives. Software Process
  • 18. A Generic Process framework • Establishes the foundation for a complete software process. • Identifies a number of framework activities applicable to all software projects • Also include a set of umbrella activities that are applicable across the entire software process.
  • 20. 1. Communication: communicate with customer to understand objectives and gather requirements. 2. Planning: creates a “map” defines the work by describing the tasks, risks and resources, work products and work schedule. 3. Modeling: Create a “sketch”, what it looks like architecturally, how the constituent parts fit together and other characteristics. 4. Construction: code generation and the testing. 5. Deployment: Delivered to the customer who evaluates the products and provides feedback based on the evaluation. Five Activities of a Generic Process framework
  • 22. Umbrella Activities Umbrella Activities help team to manage and control progress, quality, change, and risk. • Software project tracking and control: assess progress against the plan and take actions to maintain the schedule. • Risk management: assesses risks that may affect the outcome and quality of product. • Software quality assurance: defines and conduct activities to ensure quality. • Technical reviews: assesses work products to uncover and remove errors before going to the next activity.
  • 23. Umbrella Activities • Measurement: define and collects process, project, and product measures, to ensure stakeholder’s needs are met. • Software configuration management: manage the effects of change throughout the software process. • Reusability management: defines criteria for work product reuse and establishes mechanism to achieve reusable components. • Work product preparation and production: create work products such as models, documents, logs, forms and lists.

Editor's Notes

  • #21: These five framework activities can be used to all software development regardless of the application domain, size of the project, complexity of the efforts etc, though the details will be different in each case. For many software projects, these framework activities are applied iteratively as a project progresses. Each iteration produces a software increment that provides a subset of overall software features and functionality.