SlideShare a Scribd company logo
2
Most read
3
Most read
4
Most read
THE CHANGING NATURE OF SOFTWARE
The 7 broad categories of computer software present continuing challenges for
software engineers:
1) System software
2) Application software
3) Engineering/scientific software
4) Embedded software
5) Product-line software
6) Web-applications
7) Artificial intelligence software.
System software: System software is a collection of programs written to service
other programs. The systems software is characterized by
- heavy interaction with computer hardware
- heavy usage by multiple users
- concurrent operation that requires scheduling, resource sharing, and
sophisticated process management
- complex data structures
- multiple external interfaces
E.g. compilers, editors and file management utilities.
Application software:
- Application software consists of standalone programs that solve a specific
business need.
- It facilitates business operations or management/technical decision making.
- It is used to control business functions in real-time
E.g. point-of-sale transaction processing, real-time manufacturing process
control.
Engineering/Scientific software: Engineering and scientific applications range
- from astronomy to volcanology
- from automotive stress analysis to space shuttle orbital dynamics
- from molecular biology to automated manufacturing
E.g. computer aided design, system simulation and other interactive
applications.
Embedded software:
- Embedded software resides within a product or system and is used to
implement and control features and functions for the end-user and for the
system itself.
- It can perform limited and esoteric functions or provide significant function and
control capability.
E.g. Digital functions in automobile, dashboard displays, braking systems etc.
Product-line software: Designed to provide a specific capability for use by many
different customers, product-line software can focus on a limited and esoteric
market place or address mass consumer markets
E.g. Word processing, spreadsheets, computer graphics, multimedia,
entertainment, database management, personal and business financial
applications
Web-applications: WebApps are evolving into sophisticated computing
environments that not only provide standalone features, computing functions,
and content to the end user, but also are integrated with corporate databases
and business applications.
Artificial intelligence software: AI software makes use of nonnumerical
algorithms to solve complex problems that are not amenable to computation or
straightforward analysis. Application within this area includes robotics, expert
systems, pattern recognition, artificial neural networks, theorem proving, and
game playing.
The following are the new challenges on the horizon:
Ubiquitous computing
Netsourcing
Open source
The “new economy”
Ubiquitous computing: The challenge for software engineers will be to
develop systems and application software that will allow small devices,
personal computers and enterprise system to communicate across vast
networks.
Net sourcing: The challenge for software engineers is to architect simple and
sophisticated applications that provide benefit to targeted end-user market
worldwide.
Open Source: The challenge for software engineers is to build source that is
self descriptive but more importantly to develop techniques that will enable
both customers and developers to know what changes have been made and
how those changes manifest themselves within the software.
The “new economy”: The challenge for software engineers is to build
applications that will facilitate mass communication and mass product
distribution.
-----------***********************---------------------***************----------------------*****************
SOFTWARE ENGINEERING - A LAYERED TECHNOLOGY
Software Engineering: A layered technology Software engineering is a layered
technology as referred in fig shown below.
It consists of four layers as
 A quality focus
 Process
 Methods
 Tools
A quality Focus The bedrock that supports software engineering is a quality
focus. Software engineering approach must rest on the organizational
commitment to quality. Total Quality Management (TQM) philosophies that
support continuous improvement culture leads to the development of
increasingly more approaches to software engineering.
Process Layer It is the foundation of software engineering that defines a
framework for a set of KPA (key process areas) that must be established for
effective delivery of software engineering technology. The KPA form the basis
for management control of software projects and establish the context in which
technical methods are applied, work products (models, documents, data,
reports, forms etc) are produced, milestones are established, quality is ensured,
and change is properly managed.
Methods It provides technical how-to's for building software. Methods
encompass a broad array of tasks that include requirements analysis, design,
program construction, testing, and support. Methods rely on a set of basic
principles that govern each area of the technology and include modeling
activities and other descriptive techniques.
Tools It provide automated or semi-automated support for the process and
methods. Integrated tools establish computer-aided software engineering
(CASE). CASE combines software, hardware and software engineering database
to create a software engineering environment analogous to CAD/CAE (computer
aided design/engineering) for hardware.
-------*********-----------------*************----------------****************----------------************----------
A PROCESS FRAMEWORK:

 Software process must be established for effective delivery of software
engineering technology.
 A process framework establishes the foundation for a complete software
process by identifying a small number of framework activities that are
applicable to all software projects, regardless of their size or complexity.
 The process framework encompasses a set of umbrella activities that are
applicable across the entire software process.
 Each framework activity is populated by a set of software engineering
actions
 Each software engineering action is represented by a number of different
task sets- each a collection of software engineering work tasks, related
work products, quality assurance points, and project milestones.
In brief
"A process defines who is doing what, when, and how to reach a certain goal."
A Process Framework
- establishes the foundation for a complete software process
- identifies a small number of framework activities
- applies to all s/w projects, regardless of size/complexity.
- also, set of umbrella activities
- applicable across entire s/w process.
- Each framework activity has
- set of s/w engineering actions.
- Each s/w engineering action (e.g., design) has
- collection of related tasks (called task sets): work tasks
work products (deliverables) quality assurance points project milestones.
Software process
Generic Process Framework: It is applicable to the vast majority of software
projects
- Communication activity
- Planning activity
- Modelling activity
- analysis action
- requirements gathering work task
- elaboration work task
- negotiation work task
- specification work task
- validation work task
- design action
- data design work task
- architectural design work task
- interface design work task
- component-level design work task
- Construction activity
- Deployment activity
1) Communication: This framework activity involves heavy communication and
collaboration with the customer and encompasses requirements gathering and
other related activities.
2) Planning: This activity establishes a plan for the software engineering work that
follows. It describes the technical tasks to be conducted, the risks that are likely,
the resources that will be required, the work products to be produced, and a
work schedule.
3) Modelling: This activity encompasses the creation of models that allow the
developer and customer to better understand software requirements and the
design that will achieve those requirements. The modelling activity is composed
of 2 software engineering actions- analysis and design.
 Analysis encompasses a set of work tasks.
 Design encompasses work tasks that create a design model.
4) Construction: This activity combines core generation and the testing that is
required to uncover the errors in the code.
5) Deployment: The software is delivered to the customer who evaluates the
delivered product and provides feedback based on the evolution.
These 5 generic framework activities can be used during the development of
small programs, the creation of large web applications, and for the engineering
of large, complex computer-based systems.
The following are the set of Umbrella Activities.
1) Software project tracking and control – allows the software team to assess
progress against the project plan and take necessary action to maintain schedule.
2) Risk Management - assesses risks that may effect the outcome of the project
or the quality of the product.
3) Software Quality Assurance - defines and conducts the activities required to
ensure software quality.
4) Formal Technical Reviews - assesses software engineering work products in an
effort to uncover and remove errors before they are propagated to the next
action or activity.
5) Measurement - define and collects process, project and product measures
that assist the team in delivering software that needs customer’s needs, can be
used in conjunction with all other framework and umbrella activities.
6) Software configuration management - manages the effects of change
throughout the software process.
7) Reusability management - defines criteria for work product reuse and
establishes mechanisms to achieve reusable components.
8) Work Product preparation and production - encompasses the activities
required to create work products such as models, document, logs, forms and
lists.
Intelligent application of any software process model must recognize that
adaption is essential for success but process models do differ fundamentally in:
 The overall flow of activities and tasks and the interdependencies among
activities and tasks.
 The degree through which work tasks are defined within each frame work
activity.
 The degree through which work products are identified and required.
 The manner which quality assurance activities are applied.
 The manner in which project tracking and control activities are applied.
 The overall degree of the detailed and rigor with which the process is
described.
 The degree through which the customer and other stakeholders are
involved with the project.
 The level of autonomy given to the software project team.
 The degree to which team organization and roles are prescribed.

More Related Content

PPT
Software Engineering (Process Models)
PPTX
Evolving role of Software
PDF
Software process
PPTX
Software Engineering Unit 1
PPTX
Software Engineering
PPTX
Need for Software Engineering
PPT
1.1 The nature of software.ppt
PPTX
Software prototyping.pptx
Software Engineering (Process Models)
Evolving role of Software
Software process
Software Engineering Unit 1
Software Engineering
Need for Software Engineering
1.1 The nature of software.ppt
Software prototyping.pptx

What's hot (20)

PPT
Coupling and cohesion
PPTX
Fundamental design concepts
PPTX
Software Cost Estimation Techniques
PPTX
software cost factor
PPTX
Estimating Software Maintenance Costs
PPTX
Cohesion and coupling
PPTX
Phases of Compiler
PPTX
COCOMO (Software Engineering)
PPTX
Software process
PPT
Clock synchronization in distributed system
PPTX
Quality and productivity factors
PPT
Formal Specification in Software Engineering SE9
PPTX
Staffing level estimation
PPTX
Design concept -Software Engineering
PDF
Chapter 6 software metrics
PPTX
Software Configuration Management (SCM)
PPTX
Data Designs (Software Engg.)
PPTX
Artifacts
PPTX
source code metrics and other maintenance tools and techniques
PPTX
Checkpoints of the Process
Coupling and cohesion
Fundamental design concepts
Software Cost Estimation Techniques
software cost factor
Estimating Software Maintenance Costs
Cohesion and coupling
Phases of Compiler
COCOMO (Software Engineering)
Software process
Clock synchronization in distributed system
Quality and productivity factors
Formal Specification in Software Engineering SE9
Staffing level estimation
Design concept -Software Engineering
Chapter 6 software metrics
Software Configuration Management (SCM)
Data Designs (Software Engg.)
Artifacts
source code metrics and other maintenance tools and techniques
Checkpoints of the Process
Ad

Similar to 2- THE CHANGING NATURE OF SOFTWARE.pdf (20)

PDF
Unit 1.pdf
PDF
Introduction of software engineering
PPTX
Software Engineering - Introduction to software engineering
PPTX
SE PPT.pptx Software Engineering Unit 1 PPT
PPT
Week_01-Intro to Software Engineering-1.ppt
PPTX
software engineering basics and .definition
PPTX
Lecture-1,2-Introduction to SE.pptx
PPT
Chapter_01.ppt
PPTX
Lecture 1 SE.pptx
PPTX
Unit_I.pptx
PPTX
CS8494 SOFTWARE ENGINEERING Unit-1
PPTX
UNIT-I.pptx
PPTX
Software Specifications with details exp
PDF
Software engineering unit 1
PPTX
Software Engineering and management project development
PPT
Intoduction to software engineering part 2
PPT
Introduction of Software Engineering
PDF
CHAPTER-I SOFTWARE DEVELOPMENT PROCESS.pdf
PPTX
SE Lec2.pptx Have fejhfuejfekufhefgddbbg
Unit 1.pdf
Introduction of software engineering
Software Engineering - Introduction to software engineering
SE PPT.pptx Software Engineering Unit 1 PPT
Week_01-Intro to Software Engineering-1.ppt
software engineering basics and .definition
Lecture-1,2-Introduction to SE.pptx
Chapter_01.ppt
Lecture 1 SE.pptx
Unit_I.pptx
CS8494 SOFTWARE ENGINEERING Unit-1
UNIT-I.pptx
Software Specifications with details exp
Software engineering unit 1
Software Engineering and management project development
Intoduction to software engineering part 2
Introduction of Software Engineering
CHAPTER-I SOFTWARE DEVELOPMENT PROCESS.pdf
SE Lec2.pptx Have fejhfuejfekufhefgddbbg
Ad

More from bcanawakadalcollege (20)

PPTX
PRACTICAL -UNIX, shell commands in unix, practice commands on shell
PPTX
Operating System, types, objectives, goals and functions
PPTX
PRACTICAL -UNIX, shell programs, shell commands
PPTX
Operating System, types, goals, functions
PPT
Dsta communications and computer networks
PPTX
PRACTICAL -UNIX, main unix commands in practice
PPTX
Intro to Javascript.pptx
PPTX
computer and software are changing.pptx
PPTX
tIME LINE.pptx
PPT
Basic HTML Tags.PPT
PPT
Cryptography.ppt
PPTX
Confusion and Diffusion.pptx
PPT
cypher tex.ppt
PPT
17javascript.ppt
PPT
Logic gates and boolean algebra.ppt
PPTX
Cyber_Crime_Security.pptx
PPT
cybercrime_presentation - Copy.ppt
PPTX
Hidden Surface Removal methods.pptx
PPTX
Hidden Surface Removal.pptx
PPT
Lecture6.orig.ppt
PRACTICAL -UNIX, shell commands in unix, practice commands on shell
Operating System, types, objectives, goals and functions
PRACTICAL -UNIX, shell programs, shell commands
Operating System, types, goals, functions
Dsta communications and computer networks
PRACTICAL -UNIX, main unix commands in practice
Intro to Javascript.pptx
computer and software are changing.pptx
tIME LINE.pptx
Basic HTML Tags.PPT
Cryptography.ppt
Confusion and Diffusion.pptx
cypher tex.ppt
17javascript.ppt
Logic gates and boolean algebra.ppt
Cyber_Crime_Security.pptx
cybercrime_presentation - Copy.ppt
Hidden Surface Removal methods.pptx
Hidden Surface Removal.pptx
Lecture6.orig.ppt

Recently uploaded (20)

PDF
Module 4: Burden of Disease Tutorial Slides S2 2025
PDF
Complications of Minimal Access Surgery at WLH
PPTX
Week 4 Term 3 Study Techniques revisited.pptx
PPTX
Renaissance Architecture: A Journey from Faith to Humanism
PPTX
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
PPTX
Pharmacology of Heart Failure /Pharmacotherapy of CHF
PPTX
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
PPTX
human mycosis Human fungal infections are called human mycosis..pptx
PDF
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
PDF
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
PPTX
Introduction_to_Human_Anatomy_and_Physiology_for_B.Pharm.pptx
PDF
O7-L3 Supply Chain Operations - ICLT Program
PDF
Mark Klimek Lecture Notes_240423 revision books _173037.pdf
PPTX
The Healthy Child – Unit II | Child Health Nursing I | B.Sc Nursing 5th Semester
PDF
FourierSeries-QuestionsWithAnswers(Part-A).pdf
PPTX
Pharma ospi slides which help in ospi learning
PPTX
master seminar digital applications in india
PPTX
Introduction to Child Health Nursing – Unit I | Child Health Nursing I | B.Sc...
PDF
Physiotherapy_for_Respiratory_and_Cardiac_Problems WEBBER.pdf
PDF
Abdominal Access Techniques with Prof. Dr. R K Mishra
Module 4: Burden of Disease Tutorial Slides S2 2025
Complications of Minimal Access Surgery at WLH
Week 4 Term 3 Study Techniques revisited.pptx
Renaissance Architecture: A Journey from Faith to Humanism
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
Pharmacology of Heart Failure /Pharmacotherapy of CHF
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
human mycosis Human fungal infections are called human mycosis..pptx
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
Introduction_to_Human_Anatomy_and_Physiology_for_B.Pharm.pptx
O7-L3 Supply Chain Operations - ICLT Program
Mark Klimek Lecture Notes_240423 revision books _173037.pdf
The Healthy Child – Unit II | Child Health Nursing I | B.Sc Nursing 5th Semester
FourierSeries-QuestionsWithAnswers(Part-A).pdf
Pharma ospi slides which help in ospi learning
master seminar digital applications in india
Introduction to Child Health Nursing – Unit I | Child Health Nursing I | B.Sc...
Physiotherapy_for_Respiratory_and_Cardiac_Problems WEBBER.pdf
Abdominal Access Techniques with Prof. Dr. R K Mishra

2- THE CHANGING NATURE OF SOFTWARE.pdf

  • 1. THE CHANGING NATURE OF SOFTWARE The 7 broad categories of computer software present continuing challenges for software engineers: 1) System software 2) Application software 3) Engineering/scientific software 4) Embedded software 5) Product-line software 6) Web-applications 7) Artificial intelligence software. System software: System software is a collection of programs written to service other programs. The systems software is characterized by - heavy interaction with computer hardware - heavy usage by multiple users - concurrent operation that requires scheduling, resource sharing, and sophisticated process management - complex data structures - multiple external interfaces E.g. compilers, editors and file management utilities. Application software: - Application software consists of standalone programs that solve a specific business need. - It facilitates business operations or management/technical decision making. - It is used to control business functions in real-time E.g. point-of-sale transaction processing, real-time manufacturing process control. Engineering/Scientific software: Engineering and scientific applications range - from astronomy to volcanology - from automotive stress analysis to space shuttle orbital dynamics - from molecular biology to automated manufacturing
  • 2. E.g. computer aided design, system simulation and other interactive applications. Embedded software: - Embedded software resides within a product or system and is used to implement and control features and functions for the end-user and for the system itself. - It can perform limited and esoteric functions or provide significant function and control capability. E.g. Digital functions in automobile, dashboard displays, braking systems etc. Product-line software: Designed to provide a specific capability for use by many different customers, product-line software can focus on a limited and esoteric market place or address mass consumer markets E.g. Word processing, spreadsheets, computer graphics, multimedia, entertainment, database management, personal and business financial applications Web-applications: WebApps are evolving into sophisticated computing environments that not only provide standalone features, computing functions, and content to the end user, but also are integrated with corporate databases and business applications. Artificial intelligence software: AI software makes use of nonnumerical algorithms to solve complex problems that are not amenable to computation or straightforward analysis. Application within this area includes robotics, expert systems, pattern recognition, artificial neural networks, theorem proving, and game playing. The following are the new challenges on the horizon: Ubiquitous computing Netsourcing Open source The “new economy” Ubiquitous computing: The challenge for software engineers will be to develop systems and application software that will allow small devices, personal computers and enterprise system to communicate across vast networks.
  • 3. Net sourcing: The challenge for software engineers is to architect simple and sophisticated applications that provide benefit to targeted end-user market worldwide. Open Source: The challenge for software engineers is to build source that is self descriptive but more importantly to develop techniques that will enable both customers and developers to know what changes have been made and how those changes manifest themselves within the software. The “new economy”: The challenge for software engineers is to build applications that will facilitate mass communication and mass product distribution. -----------***********************---------------------***************----------------------***************** SOFTWARE ENGINEERING - A LAYERED TECHNOLOGY Software Engineering: A layered technology Software engineering is a layered technology as referred in fig shown below. It consists of four layers as  A quality focus  Process  Methods
  • 4.  Tools A quality Focus The bedrock that supports software engineering is a quality focus. Software engineering approach must rest on the organizational commitment to quality. Total Quality Management (TQM) philosophies that support continuous improvement culture leads to the development of increasingly more approaches to software engineering. Process Layer It is the foundation of software engineering that defines a framework for a set of KPA (key process areas) that must be established for effective delivery of software engineering technology. The KPA form the basis for management control of software projects and establish the context in which technical methods are applied, work products (models, documents, data, reports, forms etc) are produced, milestones are established, quality is ensured, and change is properly managed. Methods It provides technical how-to's for building software. Methods encompass a broad array of tasks that include requirements analysis, design, program construction, testing, and support. Methods rely on a set of basic principles that govern each area of the technology and include modeling activities and other descriptive techniques. Tools It provide automated or semi-automated support for the process and methods. Integrated tools establish computer-aided software engineering (CASE). CASE combines software, hardware and software engineering database to create a software engineering environment analogous to CAD/CAE (computer aided design/engineering) for hardware. -------*********-----------------*************----------------****************----------------************---------- A PROCESS FRAMEWORK:   Software process must be established for effective delivery of software engineering technology.  A process framework establishes the foundation for a complete software process by identifying a small number of framework activities that are applicable to all software projects, regardless of their size or complexity.  The process framework encompasses a set of umbrella activities that are applicable across the entire software process.
  • 5.  Each framework activity is populated by a set of software engineering actions  Each software engineering action is represented by a number of different task sets- each a collection of software engineering work tasks, related work products, quality assurance points, and project milestones. In brief "A process defines who is doing what, when, and how to reach a certain goal." A Process Framework - establishes the foundation for a complete software process - identifies a small number of framework activities - applies to all s/w projects, regardless of size/complexity. - also, set of umbrella activities - applicable across entire s/w process. - Each framework activity has - set of s/w engineering actions. - Each s/w engineering action (e.g., design) has - collection of related tasks (called task sets): work tasks work products (deliverables) quality assurance points project milestones. Software process
  • 6. Generic Process Framework: It is applicable to the vast majority of software projects - Communication activity - Planning activity - Modelling activity - analysis action - requirements gathering work task - elaboration work task - negotiation work task - specification work task - validation work task - design action - data design work task - architectural design work task - interface design work task - component-level design work task - Construction activity - Deployment activity 1) Communication: This framework activity involves heavy communication and collaboration with the customer and encompasses requirements gathering and other related activities. 2) Planning: This activity establishes a plan for the software engineering work that follows. It describes the technical tasks to be conducted, the risks that are likely, the resources that will be required, the work products to be produced, and a work schedule.
  • 7. 3) Modelling: This activity encompasses the creation of models that allow the developer and customer to better understand software requirements and the design that will achieve those requirements. The modelling activity is composed of 2 software engineering actions- analysis and design.  Analysis encompasses a set of work tasks.  Design encompasses work tasks that create a design model. 4) Construction: This activity combines core generation and the testing that is required to uncover the errors in the code. 5) Deployment: The software is delivered to the customer who evaluates the delivered product and provides feedback based on the evolution. These 5 generic framework activities can be used during the development of small programs, the creation of large web applications, and for the engineering of large, complex computer-based systems. The following are the set of Umbrella Activities. 1) Software project tracking and control – allows the software team to assess progress against the project plan and take necessary action to maintain schedule. 2) Risk Management - assesses risks that may effect the outcome of the project or the quality of the product. 3) Software Quality Assurance - defines and conducts the activities required to ensure software quality. 4) Formal Technical Reviews - assesses software engineering work products in an effort to uncover and remove errors before they are propagated to the next action or activity. 5) Measurement - define and collects process, project and product measures that assist the team in delivering software that needs customer’s needs, can be used in conjunction with all other framework and umbrella activities. 6) Software configuration management - manages the effects of change throughout the software process. 7) Reusability management - defines criteria for work product reuse and establishes mechanisms to achieve reusable components. 8) Work Product preparation and production - encompasses the activities required to create work products such as models, document, logs, forms and lists.
  • 8. Intelligent application of any software process model must recognize that adaption is essential for success but process models do differ fundamentally in:  The overall flow of activities and tasks and the interdependencies among activities and tasks.  The degree through which work tasks are defined within each frame work activity.  The degree through which work products are identified and required.  The manner which quality assurance activities are applied.  The manner in which project tracking and control activities are applied.  The overall degree of the detailed and rigor with which the process is described.  The degree through which the customer and other stakeholders are involved with the project.  The level of autonomy given to the software project team.  The degree to which team organization and roles are prescribed.