SlideShare a Scribd company logo
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

What's hot

Prototype model
Prototype modelPrototype model
Prototype modelsadhana8
 
Real time and distributed design
Real time and distributed designReal time and distributed design
Real time and distributed design
priyapavi96
 
Staffing level estimation
Staffing level estimation Staffing level estimation
Staffing level estimation
kavitha muneeshwaran
 
Analysis modeling & scenario based modeling
Analysis modeling &  scenario based modeling Analysis modeling &  scenario based modeling
Analysis modeling & scenario based modeling
Benazir Fathima
 
Flow oriented modeling
Flow oriented modelingFlow oriented modeling
Flow oriented modelingramyaaswin
 
Class based modeling
Class based modelingClass based modeling
Class based modeling
Md. Shafiuzzaman Hira
 
PROTOTYPE MODEL
PROTOTYPE MODELPROTOTYPE MODEL
PROTOTYPE MODEL
shenagarg44
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
Atul Karmyal
 
Analysis modeling
Analysis modelingAnalysis modeling
Analysis modeling
Inocentshuja Ahmad
 
Quality and productivity factors
Quality and productivity factorsQuality and productivity factors
Quality and productivity factors
NancyBeaulah_R
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assurance
Aman Adhikari
 
Phased life cycle model
Phased life cycle modelPhased life cycle model
Phased life cycle model
Stephennancy
 
software project management Artifact set(spm)
software project management Artifact set(spm)software project management Artifact set(spm)
software project management Artifact set(spm)
REHMAT ULLAH
 
Object Oriented Analysis and Design
Object Oriented Analysis and DesignObject Oriented Analysis and Design
Object Oriented Analysis and DesignHaitham El-Ghareeb
 
Unified process model
Unified process modelUnified process model
Unified process model
RyndaMaala
 
Interface specification
Interface specificationInterface specification
Interface specification
maliksiddique1
 
Unit 2
Unit 2Unit 2
Software requirements specification
Software requirements specificationSoftware requirements specification
Software requirements specification
lavanya marichamy
 
Software estimation
Software estimationSoftware estimation
Software estimationMd Shakir
 

What's hot (20)

Prototype model
Prototype modelPrototype model
Prototype model
 
Software design
Software designSoftware design
Software design
 
Real time and distributed design
Real time and distributed designReal time and distributed design
Real time and distributed design
 
Staffing level estimation
Staffing level estimation Staffing level estimation
Staffing level estimation
 
Analysis modeling & scenario based modeling
Analysis modeling &  scenario based modeling Analysis modeling &  scenario based modeling
Analysis modeling & scenario based modeling
 
Flow oriented modeling
Flow oriented modelingFlow oriented modeling
Flow oriented modeling
 
Class based modeling
Class based modelingClass based modeling
Class based modeling
 
PROTOTYPE MODEL
PROTOTYPE MODELPROTOTYPE MODEL
PROTOTYPE MODEL
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
 
Analysis modeling
Analysis modelingAnalysis modeling
Analysis modeling
 
Quality and productivity factors
Quality and productivity factorsQuality and productivity factors
Quality and productivity factors
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assurance
 
Phased life cycle model
Phased life cycle modelPhased life cycle model
Phased life cycle model
 
software project management Artifact set(spm)
software project management Artifact set(spm)software project management Artifact set(spm)
software project management Artifact set(spm)
 
Object Oriented Analysis and Design
Object Oriented Analysis and DesignObject Oriented Analysis and Design
Object Oriented Analysis and Design
 
Unified process model
Unified process modelUnified process model
Unified process model
 
Interface specification
Interface specificationInterface specification
Interface specification
 
Unit 2
Unit 2Unit 2
Unit 2
 
Software requirements specification
Software requirements specificationSoftware requirements specification
Software requirements specification
 
Software estimation
Software estimationSoftware estimation
Software estimation
 

Similar to 2- THE CHANGING NATURE OF SOFTWARE.pdf

ccs356-software-engineering-notes.pdf
ccs356-software-engineering-notes.pdfccs356-software-engineering-notes.pdf
ccs356-software-engineering-notes.pdf
VijayakumarKadumbadi
 
Chapter_01.ppt
Chapter_01.pptChapter_01.ppt
Chapter_01.ppt
MSahibKhan
 
Software engineering
Software engineeringSoftware engineering
Software engineering
AnanthiP8
 
CS8494 SOFTWARE ENGINEERING Unit-1
CS8494 SOFTWARE ENGINEERING Unit-1CS8494 SOFTWARE ENGINEERING Unit-1
CS8494 SOFTWARE ENGINEERING Unit-1
SIMONTHOMAS S
 
Unit_I.pptx
Unit_I.pptxUnit_I.pptx
Unit_I.pptx
Baskarkncet
 
Software engineering unit 1
Software engineering unit 1Software engineering unit 1
Software engineering unit 1
gondwana university
 
Introduction of software engineering
Introduction of software engineeringIntroduction of software engineering
Introduction of software engineering
BhagyashriMore10
 
Lecture 1 SE.pptx
Lecture 1 SE.pptxLecture 1 SE.pptx
Lecture 1 SE.pptx
MUHAMMADUMERMEHMOOD1
 
SE
SESE
Week_01-Intro to Software Engineering-1.ppt
Week_01-Intro to Software Engineering-1.pptWeek_01-Intro to Software Engineering-1.ppt
Week_01-Intro to Software Engineering-1.ppt
23017156038
 
Unit1
Unit1Unit1
Spm unit1
Spm unit1Spm unit1
Spm unit1
Naga Dinesh
 
Chapter 01
Chapter 01Chapter 01
Chapter 01
ryan aja
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Software Specifications with details exp
Software Specifications with details expSoftware Specifications with details exp
Software Specifications with details exp
AkhileshPansare
 
SE Lecture 1.ppt
SE Lecture 1.pptSE Lecture 1.ppt
SE Lecture 1.ppt
ssusere16bd9
 
SE Lecture 1.ppt
SE Lecture 1.pptSE Lecture 1.ppt
SE Lecture 1.ppt
ssusere16bd9
 
Chapter 01
Chapter 01Chapter 01
Chapter 01
AlenaDion
 
Software engineering : Layered Architecture
Software engineering : Layered ArchitectureSoftware engineering : Layered Architecture
Software engineering : Layered Architecture
Muhammed Afsal Villan
 

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

ccs356-software-engineering-notes.pdf
ccs356-software-engineering-notes.pdfccs356-software-engineering-notes.pdf
ccs356-software-engineering-notes.pdf
 
Chapter_01.ppt
Chapter_01.pptChapter_01.ppt
Chapter_01.ppt
 
Software engineering
Software engineeringSoftware engineering
Software engineering
 
CS8494 SOFTWARE ENGINEERING Unit-1
CS8494 SOFTWARE ENGINEERING Unit-1CS8494 SOFTWARE ENGINEERING Unit-1
CS8494 SOFTWARE ENGINEERING Unit-1
 
Unit_I.pptx
Unit_I.pptxUnit_I.pptx
Unit_I.pptx
 
Software engineering unit 1
Software engineering unit 1Software engineering unit 1
Software engineering unit 1
 
Introduction of software engineering
Introduction of software engineeringIntroduction of software engineering
Introduction of software engineering
 
Lecture 1 SE.pptx
Lecture 1 SE.pptxLecture 1 SE.pptx
Lecture 1 SE.pptx
 
SE
SESE
SE
 
Week_01-Intro to Software Engineering-1.ppt
Week_01-Intro to Software Engineering-1.pptWeek_01-Intro to Software Engineering-1.ppt
Week_01-Intro to Software Engineering-1.ppt
 
Unit1
Unit1Unit1
Unit1
 
Spm unit1
Spm unit1Spm unit1
Spm unit1
 
Chapter 01
Chapter 01Chapter 01
Chapter 01
 
Chapter 01
Chapter 01Chapter 01
Chapter 01
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
Software Specifications with details exp
Software Specifications with details expSoftware Specifications with details exp
Software Specifications with details exp
 
SE Lecture 1.ppt
SE Lecture 1.pptSE Lecture 1.ppt
SE Lecture 1.ppt
 
SE Lecture 1.ppt
SE Lecture 1.pptSE Lecture 1.ppt
SE Lecture 1.ppt
 
Chapter 01
Chapter 01Chapter 01
Chapter 01
 
Software engineering : Layered Architecture
Software engineering : Layered ArchitectureSoftware engineering : Layered Architecture
Software engineering : Layered Architecture
 

More from bcanawakadalcollege

Intro to Javascript.pptx
Intro to Javascript.pptxIntro to Javascript.pptx
Intro to Javascript.pptx
bcanawakadalcollege
 
computer and software are changing.pptx
computer and software are changing.pptxcomputer and software are changing.pptx
computer and software are changing.pptx
bcanawakadalcollege
 
tIME LINE.pptx
tIME LINE.pptxtIME LINE.pptx
tIME LINE.pptx
bcanawakadalcollege
 
Basic HTML Tags.PPT
Basic HTML Tags.PPTBasic HTML Tags.PPT
Basic HTML Tags.PPT
bcanawakadalcollege
 
Cryptography.ppt
Cryptography.pptCryptography.ppt
Cryptography.ppt
bcanawakadalcollege
 
Confusion and Diffusion.pptx
Confusion and Diffusion.pptxConfusion and Diffusion.pptx
Confusion and Diffusion.pptx
bcanawakadalcollege
 
cypher tex.ppt
cypher tex.pptcypher tex.ppt
cypher tex.ppt
bcanawakadalcollege
 
17javascript.ppt
17javascript.ppt17javascript.ppt
17javascript.ppt
bcanawakadalcollege
 
Logic gates and boolean algebra.ppt
Logic gates and boolean algebra.pptLogic gates and boolean algebra.ppt
Logic gates and boolean algebra.ppt
bcanawakadalcollege
 
Cyber_Crime_Security.pptx
Cyber_Crime_Security.pptxCyber_Crime_Security.pptx
Cyber_Crime_Security.pptx
bcanawakadalcollege
 
cybercrime_presentation - Copy.ppt
cybercrime_presentation - Copy.pptcybercrime_presentation - Copy.ppt
cybercrime_presentation - Copy.ppt
bcanawakadalcollege
 
Hidden Surface Removal methods.pptx
Hidden Surface Removal methods.pptxHidden Surface Removal methods.pptx
Hidden Surface Removal methods.pptx
bcanawakadalcollege
 
Hidden Surface Removal.pptx
Hidden Surface Removal.pptxHidden Surface Removal.pptx
Hidden Surface Removal.pptx
bcanawakadalcollege
 
Lecture6.orig.ppt
Lecture6.orig.pptLecture6.orig.ppt
Lecture6.orig.ppt
bcanawakadalcollege
 
Bezier Curve in Computer Graphics.docx
Bezier Curve in Computer Graphics.docxBezier Curve in Computer Graphics.docx
Bezier Curve in Computer Graphics.docx
bcanawakadalcollege
 
reliable_unreliable.pptx
reliable_unreliable.pptxreliable_unreliable.pptx
reliable_unreliable.pptx
bcanawakadalcollege
 
2D-transformation-1.pdf
2D-transformation-1.pdf2D-transformation-1.pdf
2D-transformation-1.pdf
bcanawakadalcollege
 
computer graphics unit 1-I.pptx
computer graphics unit 1-I.pptxcomputer graphics unit 1-I.pptx
computer graphics unit 1-I.pptx
bcanawakadalcollege
 
CG_1.pdf
CG_1.pdfCG_1.pdf
File System.pptx
File System.pptxFile System.pptx
File System.pptx
bcanawakadalcollege
 

More from bcanawakadalcollege (20)

Intro to Javascript.pptx
Intro to Javascript.pptxIntro to Javascript.pptx
Intro to Javascript.pptx
 
computer and software are changing.pptx
computer and software are changing.pptxcomputer and software are changing.pptx
computer and software are changing.pptx
 
tIME LINE.pptx
tIME LINE.pptxtIME LINE.pptx
tIME LINE.pptx
 
Basic HTML Tags.PPT
Basic HTML Tags.PPTBasic HTML Tags.PPT
Basic HTML Tags.PPT
 
Cryptography.ppt
Cryptography.pptCryptography.ppt
Cryptography.ppt
 
Confusion and Diffusion.pptx
Confusion and Diffusion.pptxConfusion and Diffusion.pptx
Confusion and Diffusion.pptx
 
cypher tex.ppt
cypher tex.pptcypher tex.ppt
cypher tex.ppt
 
17javascript.ppt
17javascript.ppt17javascript.ppt
17javascript.ppt
 
Logic gates and boolean algebra.ppt
Logic gates and boolean algebra.pptLogic gates and boolean algebra.ppt
Logic gates and boolean algebra.ppt
 
Cyber_Crime_Security.pptx
Cyber_Crime_Security.pptxCyber_Crime_Security.pptx
Cyber_Crime_Security.pptx
 
cybercrime_presentation - Copy.ppt
cybercrime_presentation - Copy.pptcybercrime_presentation - Copy.ppt
cybercrime_presentation - Copy.ppt
 
Hidden Surface Removal methods.pptx
Hidden Surface Removal methods.pptxHidden Surface Removal methods.pptx
Hidden Surface Removal methods.pptx
 
Hidden Surface Removal.pptx
Hidden Surface Removal.pptxHidden Surface Removal.pptx
Hidden Surface Removal.pptx
 
Lecture6.orig.ppt
Lecture6.orig.pptLecture6.orig.ppt
Lecture6.orig.ppt
 
Bezier Curve in Computer Graphics.docx
Bezier Curve in Computer Graphics.docxBezier Curve in Computer Graphics.docx
Bezier Curve in Computer Graphics.docx
 
reliable_unreliable.pptx
reliable_unreliable.pptxreliable_unreliable.pptx
reliable_unreliable.pptx
 
2D-transformation-1.pdf
2D-transformation-1.pdf2D-transformation-1.pdf
2D-transformation-1.pdf
 
computer graphics unit 1-I.pptx
computer graphics unit 1-I.pptxcomputer graphics unit 1-I.pptx
computer graphics unit 1-I.pptx
 
CG_1.pdf
CG_1.pdfCG_1.pdf
CG_1.pdf
 
File System.pptx
File System.pptxFile System.pptx
File System.pptx
 

Recently uploaded

Biological Screening of Herbal Drugs in detailed.
Biological Screening of Herbal Drugs in detailed.Biological Screening of Herbal Drugs in detailed.
Biological Screening of Herbal Drugs in detailed.
Ashokrao Mane college of Pharmacy Peth-Vadgaon
 
Lapbook sobre os Regimes Totalitários.pdf
Lapbook sobre os Regimes Totalitários.pdfLapbook sobre os Regimes Totalitários.pdf
Lapbook sobre os Regimes Totalitários.pdf
Jean Carlos Nunes Paixão
 
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
Nguyen Thanh Tu Collection
 
Acetabularia Information For Class 9 .docx
Acetabularia Information For Class 9  .docxAcetabularia Information For Class 9  .docx
Acetabularia Information For Class 9 .docx
vaibhavrinwa19
 
Sha'Carri Richardson Presentation 202345
Sha'Carri Richardson Presentation 202345Sha'Carri Richardson Presentation 202345
Sha'Carri Richardson Presentation 202345
beazzy04
 
678020731-Sumas-y-Restas-Para-Colorear.pdf
678020731-Sumas-y-Restas-Para-Colorear.pdf678020731-Sumas-y-Restas-Para-Colorear.pdf
678020731-Sumas-y-Restas-Para-Colorear.pdf
CarlosHernanMontoyab2
 
"Protectable subject matters, Protection in biotechnology, Protection of othe...
"Protectable subject matters, Protection in biotechnology, Protection of othe..."Protectable subject matters, Protection in biotechnology, Protection of othe...
"Protectable subject matters, Protection in biotechnology, Protection of othe...
SACHIN R KONDAGURI
 
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
siemaillard
 
The French Revolution Class 9 Study Material pdf free download
The French Revolution Class 9 Study Material pdf free downloadThe French Revolution Class 9 Study Material pdf free download
The French Revolution Class 9 Study Material pdf free download
Vivekanand Anglo Vedic Academy
 
Honest Reviews of Tim Han LMA Course Program.pptx
Honest Reviews of Tim Han LMA Course Program.pptxHonest Reviews of Tim Han LMA Course Program.pptx
Honest Reviews of Tim Han LMA Course Program.pptx
timhan337
 
How to Make a Field invisible in Odoo 17
How to Make a Field invisible in Odoo 17How to Make a Field invisible in Odoo 17
How to Make a Field invisible in Odoo 17
Celine George
 
Introduction to AI for Nonprofits with Tapp Network
Introduction to AI for Nonprofits with Tapp NetworkIntroduction to AI for Nonprofits with Tapp Network
Introduction to AI for Nonprofits with Tapp Network
TechSoup
 
Phrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXX
Phrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXXPhrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXX
Phrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXX
MIRIAMSALINAS13
 
The approach at University of Liverpool.pptx
The approach at University of Liverpool.pptxThe approach at University of Liverpool.pptx
The approach at University of Liverpool.pptx
Jisc
 
Francesca Gottschalk - How can education support child empowerment.pptx
Francesca Gottschalk - How can education support child empowerment.pptxFrancesca Gottschalk - How can education support child empowerment.pptx
Francesca Gottschalk - How can education support child empowerment.pptx
EduSkills OECD
 
A Strategic Approach: GenAI in Education
A Strategic Approach: GenAI in EducationA Strategic Approach: GenAI in Education
A Strategic Approach: GenAI in Education
Peter Windle
 
Adversarial Attention Modeling for Multi-dimensional Emotion Regression.pdf
Adversarial Attention Modeling for Multi-dimensional Emotion Regression.pdfAdversarial Attention Modeling for Multi-dimensional Emotion Regression.pdf
Adversarial Attention Modeling for Multi-dimensional Emotion Regression.pdf
Po-Chuan Chen
 
Supporting (UKRI) OA monographs at Salford.pptx
Supporting (UKRI) OA monographs at Salford.pptxSupporting (UKRI) OA monographs at Salford.pptx
Supporting (UKRI) OA monographs at Salford.pptx
Jisc
 
Language Across the Curriculm LAC B.Ed.
Language Across the  Curriculm LAC B.Ed.Language Across the  Curriculm LAC B.Ed.
Language Across the Curriculm LAC B.Ed.
Atul Kumar Singh
 
special B.ed 2nd year old paper_20240531.pdf
special B.ed 2nd year old paper_20240531.pdfspecial B.ed 2nd year old paper_20240531.pdf
special B.ed 2nd year old paper_20240531.pdf
Special education needs
 

Recently uploaded (20)

Biological Screening of Herbal Drugs in detailed.
Biological Screening of Herbal Drugs in detailed.Biological Screening of Herbal Drugs in detailed.
Biological Screening of Herbal Drugs in detailed.
 
Lapbook sobre os Regimes Totalitários.pdf
Lapbook sobre os Regimes Totalitários.pdfLapbook sobre os Regimes Totalitários.pdf
Lapbook sobre os Regimes Totalitários.pdf
 
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
 
Acetabularia Information For Class 9 .docx
Acetabularia Information For Class 9  .docxAcetabularia Information For Class 9  .docx
Acetabularia Information For Class 9 .docx
 
Sha'Carri Richardson Presentation 202345
Sha'Carri Richardson Presentation 202345Sha'Carri Richardson Presentation 202345
Sha'Carri Richardson Presentation 202345
 
678020731-Sumas-y-Restas-Para-Colorear.pdf
678020731-Sumas-y-Restas-Para-Colorear.pdf678020731-Sumas-y-Restas-Para-Colorear.pdf
678020731-Sumas-y-Restas-Para-Colorear.pdf
 
"Protectable subject matters, Protection in biotechnology, Protection of othe...
"Protectable subject matters, Protection in biotechnology, Protection of othe..."Protectable subject matters, Protection in biotechnology, Protection of othe...
"Protectable subject matters, Protection in biotechnology, Protection of othe...
 
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
 
The French Revolution Class 9 Study Material pdf free download
The French Revolution Class 9 Study Material pdf free downloadThe French Revolution Class 9 Study Material pdf free download
The French Revolution Class 9 Study Material pdf free download
 
Honest Reviews of Tim Han LMA Course Program.pptx
Honest Reviews of Tim Han LMA Course Program.pptxHonest Reviews of Tim Han LMA Course Program.pptx
Honest Reviews of Tim Han LMA Course Program.pptx
 
How to Make a Field invisible in Odoo 17
How to Make a Field invisible in Odoo 17How to Make a Field invisible in Odoo 17
How to Make a Field invisible in Odoo 17
 
Introduction to AI for Nonprofits with Tapp Network
Introduction to AI for Nonprofits with Tapp NetworkIntroduction to AI for Nonprofits with Tapp Network
Introduction to AI for Nonprofits with Tapp Network
 
Phrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXX
Phrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXXPhrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXX
Phrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXX
 
The approach at University of Liverpool.pptx
The approach at University of Liverpool.pptxThe approach at University of Liverpool.pptx
The approach at University of Liverpool.pptx
 
Francesca Gottschalk - How can education support child empowerment.pptx
Francesca Gottschalk - How can education support child empowerment.pptxFrancesca Gottschalk - How can education support child empowerment.pptx
Francesca Gottschalk - How can education support child empowerment.pptx
 
A Strategic Approach: GenAI in Education
A Strategic Approach: GenAI in EducationA Strategic Approach: GenAI in Education
A Strategic Approach: GenAI in Education
 
Adversarial Attention Modeling for Multi-dimensional Emotion Regression.pdf
Adversarial Attention Modeling for Multi-dimensional Emotion Regression.pdfAdversarial Attention Modeling for Multi-dimensional Emotion Regression.pdf
Adversarial Attention Modeling for Multi-dimensional Emotion Regression.pdf
 
Supporting (UKRI) OA monographs at Salford.pptx
Supporting (UKRI) OA monographs at Salford.pptxSupporting (UKRI) OA monographs at Salford.pptx
Supporting (UKRI) OA monographs at Salford.pptx
 
Language Across the Curriculm LAC B.Ed.
Language Across the  Curriculm LAC B.Ed.Language Across the  Curriculm LAC B.Ed.
Language Across the Curriculm LAC B.Ed.
 
special B.ed 2nd year old paper_20240531.pdf
special B.ed 2nd year old paper_20240531.pdfspecial B.ed 2nd year old paper_20240531.pdf
special B.ed 2nd year old paper_20240531.pdf
 

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.