SlideShare uma empresa Scribd logo
1 de 31
Uploaded By : Genuine Coder
Software
Engineering
Uploaded By : Genuine Coder
Software
 Computer software is the product that software
engineers design and build.
 It encompasses
 programs that execute within a computer of any size and
architecture
 documents that encompass hard-copy and virtual forms
 data that combine numbers and text but also includes
representations of pictorial, video, and audio information.
Uploaded By : Genuine Coder
The evolving role of Software
 Software takes on a dual role;
 Product:- it delivers the computing potential embodied by
computer hardware or, more broadly, a network of
computers that are accessible by local hardware.
 Whether it resides within a cellular phone or operates inside a
mainframe computer, software is an information transformer—
producing, managing, acquiring, modifying, displaying, or
transmitting information that can be as simple as a single bit or
as complex as a multimedia presentation.
 Vehicle for delivering a product:-
 the basis for the control of the computer (operating systems)
 the communication of information (networks)
 the creation and control of other programs (software tools and
environments).
Uploaded By : Genuine Coder
 The role has significant changes over a time span of little
more than 50 years
 Improvements”-
 in hardware performance
 pro-found changes in computing architectures
 vast increases in memory and storage capacity
 a wide variety of exotic input and output options
 The lone programmer of an earlier era has been replaced by
a team of software specialists, each focusing on one part of
the technology required to deliver a complex application.
 For proper estimation and management(Cost, Time, Error)
Uploaded By : Genuine Coder
SOFTWARE
 Software is;
1. instructions (computer programs) that when executed
provide desired function and performance,
2. data structures that enable the programs to adequately
manipulate information,
3. documents that describe the operation and use of the
programs.
 Software is a logical rather than a physical system
element.
Uploaded By : Genuine Coder
Software Characteristics
1. Software is developed or engineered, it is not
manufactured in the classical sense like hardware.
2. Software doesn't "wear out.“
Hardware Software
 software maintenance involves considerably more
complexity than hardware maintenance.
Uploaded By : Genuine Coder
3. Although the industry is moving toward component-
based assembly, most software continues to be
custom built.
 In the hardware world, component reuse is a natural part
of the engineering process.
 Software components had a limited domain of
application.
 Modern reusable components encapsulate
 Data
 The processing applied to the data
 e.g., graphical user interfaces
Uploaded By : Genuine Coder
The changing Nature of
Software & Software
Applications
 Key element in the evolution of computer-based
systems and products
 Evolved from a specialized problem solving and
information analysis tool to an industry in itself.
 Limiting factor in the continuing evolution of
computer-based systems.
Uploaded By : Genuine Coder
 System software
 System software is a collection of programs written to service
other programs.
 e.g., compilers, editors, operating system components, drivers
etc.
 Real-time software
 Software that monitors/analyzes/controls real-world events as
they occur is called real time.
 Business software
 Business information processing
 e.g., payroll, accounts receivable/payable, inventory
Uploaded By : Genuine Coder
 Engineering and scientific software
 Applications range from astronomy to volcanology, from
automotive stress analysis to space shuttle orbital dynamics, and
from molecular biology to automated manufacturing
 Embedded software
 Embedded software resides in read-only memory and is used to
control products and systems for the consumer and industrial
markets.
 e.g., digital functions in an automobile such as fuel control,
dashboard displays, and braking systems
 Personal computer software
 Web-based software
 Artificial intelligence software
 AI software makes use of nonnumerical algorithms to solve complex
problems
 e.g., Expert systems, pattern recognition (image and voice), artificial
neural networks, theorem proving, and game playing
Uploaded By : Genuine Coder
Legacy Software
 Support core business functions
 Have long life and business criticality
 Exhibit poor quality
 Complex code, poor documentation, poor testing, poor
change management
 Reasons for Evolving the Legacy Software
 (Adaptive) Must be adapted to meet the needs of new
computing environments or more modern systems, databases,
or networks
 (Perfective) Must be enhanced to implement new business
requirements
 (Corrective) Must be changed because of errors found in the
specification, design, or implementation
Uploaded By : Genuine Coder
Legacy System Components
Uploaded By : Genuine Coder
 Hardware - may be obsolete mainframe hardware.
 Support software - may rely on support software from
suppliers who are no longer in business.
 Application software - may be written in obsolete
programming languages.
 Application data - often incomplete and inconsistent.
 Business processes - may be constrained by software
structure and functionality.
 Business policies and rules - may be implicit and
embedded in the system software.
Uploaded By : Genuine Coder
Layered Model
Socio-technical system
Hardware
Support software
Application software
Business processes
Uploaded By : Genuine Coder
 Changes to one layer may require consequent changes
to layers that are both above and below.
 Reasons;
 Introduction of new facilities, higher layers need to take
advantage of these facilities.
 Changes may slow down the system; new h/w needed to
improve the system performance.
 Changes in h/w makes it impossible to manage the
interfaces.
Uploaded By : Genuine Coder
Software Engineering
 The application of systematic, disciplined,
quantifiable approach to the development,
operation, and maintenance of software
 Software engineering is an engineering discipline that is
concerned with all aspects of software production.
 Software engineers should adopt
Systematic and organized approach to their work
Use appropriate tools and techniques depending on the problem
to be solved
The development constraints and the resources available
 Apply Engineering Concepts to developing Software
 Challenge for Software Engineers is to produce high quality
software with finite amount of resources & within a predicted
schedule
Uploaded By : Genuine Coder
Software Engineering – Layered
Technology
Layered Technology
A quality focus: the “bedrock”
Process model: the “framework”
Methods: technical “how to’s”
Tools: CASE preferred
Uploaded By : Genuine Coder
A quality Focus
 Every organization is rest on its commitment to quality.
 Total quality management, Six Sigma, or similar continuous improvement
culture and it is this culture ultimately leads to development of increasingly
more effective approaches to software engineering.
 The bedrock that supports software engineering is a quality focus.
Process:
 It’s a foundation layer for software engineering.
 It’s define framework for a set of key process areas (KRA) for effectively
manage and deliver quality software in a cost effective manner
 The processes define the tasks to be performed and the order in which they
are to be performed
Uploaded By : Genuine Coder
Methods:
 It provide the technical how-to's for building software.
 Methods encompass a broad array of tasks that include
requirements analysis, design, program construction, testing, and
support.
 There could be more than one technique to perform a task and
different techniques could be used in different situations.
Tools:
 Provide automated or semi-automated support for the process,
methods and quality control.
 When tools are integrated so that information created by one tool
can be used by another, a system for the support of software
development, called computer-aided software engineering (CASE)
Uploaded By : Genuine Coder
Process framework
Process framework
Umbrella Activities
Framework activity 1
Framework activity n
Software Process
Framework activities
work tasks
work products
milestones & deliverables
QA checkpoints
Process Framework
Umbrella Activities
•Each framework activities is populated
by a set for software engineering
actions – a collection of related tasks.
• Each action has individual work task.
Uploaded By : Genuine Coder
Process framework
Why process :
A process defines who is doing what, when and how to
reach a certain goal.
 To build complete software process.
 Identified a small number of framework activities that
are applicable to all software projects, regardless of
their size or complexity.
 It encompasses a set of umbrella activities that are
applicable across the entire software process.
Uploaded By : Genuine Coder
Umbrella Activities
 Software project tracking and control
 Assessing progress against the project plan.
 Take adequate action to maintain schedule.
 Formal technical reviews
 Assessing software work products in an effort to
uncover and remove errors before goes into next
action or activity.
 Software quality assurance
 Define and conducts the activities required to
ensure software quality.
 Software configuration management
 Manages the effects of change.
Uploaded By : Genuine Coder
 Document preparation and production
 Help to create work products such as models,
documents, logs, form and list.
 Reusability management
 Define criteria for work product reuse
 Mechanisms to achieve reusable components.
 Measurement
 Define and collects process, project, and product
measures
 Assist the team in delivering software that meets
customer’s needs.
 Risk management
 Assesses risks that may effect that outcome of project
or quality of product (i.e. software)
Uploaded By : Genuine Coder
A generic view of process
(Activities) Communication:
 Heavy communication with customers, stakeholders, team
 Encompasses requirements gathering and related
activities
 Planning:
 Workflow that is to follow
 Describe technical task, likely risk, resources will require,
work products to be produced and a work schedule.
 Modeling:
 Help developer and customer to understand requirements
(Analysis of requirements) & Design of software
 Construction
 Code generation: either manual or automated or both
 Testing – to uncover error in the code.
 Deployment:
 Delivery to the customer for evaluation
Uploaded By : Genuine Coder
CASE (Computer-Aided Software
Engineering)
 Software systems that are intended to
provide automated support for
software process activities.
 CASE systems are often used for
method support.
 Upper-CASE
 Tools to support the early process
activities of requirements and design;
 Lower-CASE
 Tools to support later activities such as
Uploaded By : Genuine Coder
Capability Maturity Model Integration
(CMMI)
 The Software Engineering Institute (SEI) has developed
process meta-model to measure organization different
level of process capability and maturity.
 The CMMI defines each process area in terms of
“specific goals” and the “specific practices” required to
achieve these goals.
 Specific goals establish the characteristics that must
exist if the activities implied by a process area are to be
effective.
 Specific practices refine a goal into a set of process-
related activities
Uploaded By : Genuine Coder
Process Maturity Levels
 Level 1: Initial.
 The software process is characterized as ad hoc and occasionally
even chaotic.
 Few processes are defined, and success depends on individual effort.
 Level 2: Repeatable.
 Basic project management processes are established to track cost,
schedule, and functionality.
 The necessary process discipline is in place to repeat earlier
successes on projects with similar applications.
 Level 3: Defined.
 The software process for both management and engineering
activities is documented, standardized, and integrated into an
organization-wide software process.
 All projects use a documented and approved version of the
organization's process for developing and supporting software.
 This level includes all characteristics defined for level 2.
Uploaded By : Genuine Coder
 Level 4: Managed.
 Detailed measures of the software process and product
quality are collected.
 Both the software process and products are quantitatively
understood and controlled using detailed measures.
 This level includes all characteristics defined for level 3.
 Level 5: Optimizing.
 Continuous process improvement is enabled by quantitative
feedback from the process and from testing innovative ideas
and technologies.
 This level includes all characteristics defined for level 4.
Uploaded By : Genuine Coder
Key Process Areas at Each
Levels
 Process maturity level 2
 Software configuration management
 Software quality assurance
 Software subcontract management
 Software project tracking and oversight
 Software project planning
 Requirements management
 Process maturity level 3
 Peer reviews
 Intergroup coordination
 Software product engineering
 Integrated software management
 Training program
 Organization process definition
 Organization process focus
Uploaded By : Genuine Coder
 Process maturity level 4
 Software quality management
 Quantitative process management
 Process maturity level 5
 Process change management
 Technology change management
 Defect prevention
Uploaded By : Genuine Coder
 Each of the KPAs is defined by a set of key practices
that contribute to satisfying its goals.
 The key practices are policies, procedures, and
activities that must occur before a key process area has
been fully instituted.
 The SEI defines key indicators as "those key practices
or components of key practices that offer the greatest
insight into whether the goals of a key process area
have been achieved."
 Assessment questions are designed to probe for the
existence of a key indicator.

Mais conteúdo relacionado

Mais procurados

Object Oriented Analysis and Design
Object Oriented Analysis and DesignObject Oriented Analysis and Design
Object Oriented Analysis and Design
Haitham El-Ghareeb
 
Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9
koolkampus
 
Quality Management in Software Engineering SE24
Quality Management in Software Engineering SE24Quality Management in Software Engineering SE24
Quality Management in Software Engineering SE24
koolkampus
 

Mais procurados (20)

Software design
Software designSoftware design
Software design
 
System Analysis and Design
System Analysis and DesignSystem Analysis and Design
System Analysis and Design
 
Object Oriented Analysis and Design
Object Oriented Analysis and DesignObject Oriented Analysis and Design
Object Oriented Analysis and Design
 
Rad model
Rad modelRad model
Rad model
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
 
Unit 1( modelling concepts & class modeling)
Unit  1( modelling concepts & class modeling)Unit  1( modelling concepts & class modeling)
Unit 1( modelling concepts & class modeling)
 
Coupling and cohesion
Coupling and cohesionCoupling and cohesion
Coupling and cohesion
 
Requirements analysis
Requirements analysisRequirements analysis
Requirements analysis
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
 
Software Engineering Layered Technology Software Process Framework
Software Engineering  Layered Technology Software Process FrameworkSoftware Engineering  Layered Technology Software Process Framework
Software Engineering Layered Technology Software Process Framework
 
Software process and project metrics
Software process and project metricsSoftware process and project metrics
Software process and project metrics
 
Sqa plan
Sqa planSqa plan
Sqa plan
 
Architecture design in software engineering
Architecture design in software engineeringArchitecture design in software engineering
Architecture design in software engineering
 
Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9
 
Chapter 13 software testing strategies
Chapter 13 software testing strategiesChapter 13 software testing strategies
Chapter 13 software testing strategies
 
Requirements analysis and modeling
Requirements analysis and modelingRequirements analysis and modeling
Requirements analysis and modeling
 
Quality Management in Software Engineering SE24
Quality Management in Software Engineering SE24Quality Management in Software Engineering SE24
Quality Management in Software Engineering SE24
 
Software re engineering
Software re engineeringSoftware re engineering
Software re engineering
 
Formal Approaches to SQA.pptx
Formal Approaches to SQA.pptxFormal Approaches to SQA.pptx
Formal Approaches to SQA.pptx
 
OS - Process Concepts
OS - Process ConceptsOS - Process Concepts
OS - Process Concepts
 

Destaque

Chapter 09 io devices
Chapter 09 io devicesChapter 09 io devices
Chapter 09 io devices
IIUI
 
Lecture 15 requirements modeling - scenario, information and analysis class...
Lecture 15   requirements modeling - scenario, information and analysis class...Lecture 15   requirements modeling - scenario, information and analysis class...
Lecture 15 requirements modeling - scenario, information and analysis class...
IIUI
 
Chapter 08 secondary storage
Chapter 08 secondary storageChapter 08 secondary storage
Chapter 08 secondary storage
IIUI
 
Chapter 04 computer codes
Chapter 04 computer codesChapter 04 computer codes
Chapter 04 computer codes
IIUI
 

Destaque (16)

Introduction to Software Engineering 1
Introduction to Software Engineering 1Introduction to Software Engineering 1
Introduction to Software Engineering 1
 
Lecture 14 requirements modeling - flow and behavior
Lecture 14   requirements modeling - flow and  behaviorLecture 14   requirements modeling - flow and  behavior
Lecture 14 requirements modeling - flow and behavior
 
Lect3 ch15-unit2
Lect3 ch15-unit2Lect3 ch15-unit2
Lect3 ch15-unit2
 
Chapter 09 io devices
Chapter 09 io devicesChapter 09 io devices
Chapter 09 io devices
 
Lecture 13 requirements modeling - flow & behavior (2)
Lecture 13   requirements modeling - flow &  behavior (2)Lecture 13   requirements modeling - flow &  behavior (2)
Lecture 13 requirements modeling - flow & behavior (2)
 
Lecture 20 software testing (2)
Lecture 20   software testing (2)Lecture 20   software testing (2)
Lecture 20 software testing (2)
 
Lecture 2 introduction to Software Engineering 1
Lecture 2   introduction to Software Engineering 1Lecture 2   introduction to Software Engineering 1
Lecture 2 introduction to Software Engineering 1
 
Lecture 17 design concepts (2)
Lecture 17   design concepts (2)Lecture 17   design concepts (2)
Lecture 17 design concepts (2)
 
SE_Lec 00_ Software Engineering 1
SE_Lec 00_ Software Engineering 1SE_Lec 00_ Software Engineering 1
SE_Lec 00_ Software Engineering 1
 
Lecture 15 requirements modeling - scenario, information and analysis class...
Lecture 15   requirements modeling - scenario, information and analysis class...Lecture 15   requirements modeling - scenario, information and analysis class...
Lecture 15 requirements modeling - scenario, information and analysis class...
 
Requirement analysis and specification, software engineering
Requirement analysis and specification, software engineeringRequirement analysis and specification, software engineering
Requirement analysis and specification, software engineering
 
Lecture 16 requirements modeling - scenario, information and analysis classes
Lecture 16   requirements modeling - scenario, information and analysis classesLecture 16   requirements modeling - scenario, information and analysis classes
Lecture 16 requirements modeling - scenario, information and analysis classes
 
Chapter 08 secondary storage
Chapter 08 secondary storageChapter 08 secondary storage
Chapter 08 secondary storage
 
Chapter 04 computer codes
Chapter 04 computer codesChapter 04 computer codes
Chapter 04 computer codes
 
Introduction to Software Development
Introduction to Software DevelopmentIntroduction to Software Development
Introduction to Software Development
 
Layered Software Architecture
Layered Software ArchitectureLayered Software Architecture
Layered Software Architecture
 

Semelhante a Software engineering : Layered Architecture

want to contact me login to www.stqa.org
want to contact me login to www.stqa.orgwant to contact me login to www.stqa.org
want to contact me login to www.stqa.org
nazeer pasha
 
1.1 The nature of software.ppt
1.1 The nature of software.ppt1.1 The nature of software.ppt
1.1 The nature of software.ppt
JAYAPRIYAR7
 

Semelhante a Software engineering : Layered Architecture (20)

Intro
IntroIntro
Intro
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
Chapter_01.ppt
Chapter_01.pptChapter_01.ppt
Chapter_01.ppt
 
SE UNIT-1.pptx
SE UNIT-1.pptxSE UNIT-1.pptx
SE UNIT-1.pptx
 
2- THE CHANGING NATURE OF SOFTWARE.pdf
2- THE CHANGING NATURE OF SOFTWARE.pdf2- THE CHANGING NATURE OF SOFTWARE.pdf
2- THE CHANGING NATURE OF SOFTWARE.pdf
 
Software Engineering pdf
Software Engineering pdfSoftware Engineering pdf
Software Engineering pdf
 
want to contact me login to www.stqa.org
want to contact me login to www.stqa.orgwant to contact me login to www.stqa.org
want to contact me login to www.stqa.org
 
software engineering
software engineeringsoftware engineering
software engineering
 
Software Specifications with details exp
Software Specifications with details expSoftware Specifications with details exp
Software Specifications with details exp
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
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
 
Lecture 1 SE.pptx
Lecture 1 SE.pptxLecture 1 SE.pptx
Lecture 1 SE.pptx
 
Chapter1
Chapter1Chapter1
Chapter1
 
Software engineering unit 1
Software engineering unit 1Software engineering unit 1
Software engineering unit 1
 
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
 
ccs356-software-engineering-notes.pdf
ccs356-software-engineering-notes.pdfccs356-software-engineering-notes.pdf
ccs356-software-engineering-notes.pdf
 
1.1 The nature of software.ppt
1.1 The nature of software.ppt1.1 The nature of software.ppt
1.1 The nature of software.ppt
 
Chapter 1 1 - intro ppt
Chapter 1   1 - intro pptChapter 1   1 - intro ppt
Chapter 1 1 - intro ppt
 

Mais de Muhammed Afsal Villan

Mais de Muhammed Afsal Villan (10)

Software development process models
Software development process modelsSoftware development process models
Software development process models
 
Lexical analysis - Compiler Design
Lexical analysis - Compiler DesignLexical analysis - Compiler Design
Lexical analysis - Compiler Design
 
Compiler construction
Compiler constructionCompiler construction
Compiler construction
 
Bluetooth - Comprehensive Presentation
Bluetooth - Comprehensive PresentationBluetooth - Comprehensive Presentation
Bluetooth - Comprehensive Presentation
 
3D Graphics : Computer Graphics Fundamentals
3D Graphics : Computer Graphics Fundamentals3D Graphics : Computer Graphics Fundamentals
3D Graphics : Computer Graphics Fundamentals
 
Properties of Fourier transform
Properties of Fourier transformProperties of Fourier transform
Properties of Fourier transform
 
Barcodes - Types, Working and Hardware
Barcodes - Types, Working and HardwareBarcodes - Types, Working and Hardware
Barcodes - Types, Working and Hardware
 
8255 Programmable parallel I/O
8255 Programmable parallel I/O 8255 Programmable parallel I/O
8255 Programmable parallel I/O
 
Direct memory access (dma) with 8257 DMA Controller
Direct memory access (dma) with 8257 DMA ControllerDirect memory access (dma) with 8257 DMA Controller
Direct memory access (dma) with 8257 DMA Controller
 
Programmable Timer 8253/8254
Programmable Timer 8253/8254Programmable Timer 8253/8254
Programmable Timer 8253/8254
 

Último

Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
ZurliaSoop
 

Último (20)

General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentation
 
Plant propagation: Sexual and Asexual propapagation.pptx
Plant propagation: Sexual and Asexual propapagation.pptxPlant propagation: Sexual and Asexual propapagation.pptx
Plant propagation: Sexual and Asexual propapagation.pptx
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdfUGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
 
REMIFENTANIL: An Ultra short acting opioid.pptx
REMIFENTANIL: An Ultra short acting opioid.pptxREMIFENTANIL: An Ultra short acting opioid.pptx
REMIFENTANIL: An Ultra short acting opioid.pptx
 
Food safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdfFood safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdf
 
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
 
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptxOn_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
 
Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - English
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POS
 
Google Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxGoogle Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptx
 
Jamworks pilot and AI at Jisc (20/03/2024)
Jamworks pilot and AI at Jisc (20/03/2024)Jamworks pilot and AI at Jisc (20/03/2024)
Jamworks pilot and AI at Jisc (20/03/2024)
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
 
Single or Multiple melodic lines structure
Single or Multiple melodic lines structureSingle or Multiple melodic lines structure
Single or Multiple melodic lines structure
 
COMMUNICATING NEGATIVE NEWS - APPROACHES .pptx
COMMUNICATING NEGATIVE NEWS - APPROACHES .pptxCOMMUNICATING NEGATIVE NEWS - APPROACHES .pptx
COMMUNICATING NEGATIVE NEWS - APPROACHES .pptx
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibit
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
 

Software engineering : Layered Architecture

  • 1. Uploaded By : Genuine Coder Software Engineering
  • 2. Uploaded By : Genuine Coder Software  Computer software is the product that software engineers design and build.  It encompasses  programs that execute within a computer of any size and architecture  documents that encompass hard-copy and virtual forms  data that combine numbers and text but also includes representations of pictorial, video, and audio information.
  • 3. Uploaded By : Genuine Coder The evolving role of Software  Software takes on a dual role;  Product:- it delivers the computing potential embodied by computer hardware or, more broadly, a network of computers that are accessible by local hardware.  Whether it resides within a cellular phone or operates inside a mainframe computer, software is an information transformer— producing, managing, acquiring, modifying, displaying, or transmitting information that can be as simple as a single bit or as complex as a multimedia presentation.  Vehicle for delivering a product:-  the basis for the control of the computer (operating systems)  the communication of information (networks)  the creation and control of other programs (software tools and environments).
  • 4. Uploaded By : Genuine Coder  The role has significant changes over a time span of little more than 50 years  Improvements”-  in hardware performance  pro-found changes in computing architectures  vast increases in memory and storage capacity  a wide variety of exotic input and output options  The lone programmer of an earlier era has been replaced by a team of software specialists, each focusing on one part of the technology required to deliver a complex application.  For proper estimation and management(Cost, Time, Error)
  • 5. Uploaded By : Genuine Coder SOFTWARE  Software is; 1. instructions (computer programs) that when executed provide desired function and performance, 2. data structures that enable the programs to adequately manipulate information, 3. documents that describe the operation and use of the programs.  Software is a logical rather than a physical system element.
  • 6. Uploaded By : Genuine Coder Software Characteristics 1. Software is developed or engineered, it is not manufactured in the classical sense like hardware. 2. Software doesn't "wear out.“ Hardware Software  software maintenance involves considerably more complexity than hardware maintenance.
  • 7. Uploaded By : Genuine Coder 3. Although the industry is moving toward component- based assembly, most software continues to be custom built.  In the hardware world, component reuse is a natural part of the engineering process.  Software components had a limited domain of application.  Modern reusable components encapsulate  Data  The processing applied to the data  e.g., graphical user interfaces
  • 8. Uploaded By : Genuine Coder The changing Nature of Software & Software Applications  Key element in the evolution of computer-based systems and products  Evolved from a specialized problem solving and information analysis tool to an industry in itself.  Limiting factor in the continuing evolution of computer-based systems.
  • 9. Uploaded By : Genuine Coder  System software  System software is a collection of programs written to service other programs.  e.g., compilers, editors, operating system components, drivers etc.  Real-time software  Software that monitors/analyzes/controls real-world events as they occur is called real time.  Business software  Business information processing  e.g., payroll, accounts receivable/payable, inventory
  • 10. Uploaded By : Genuine Coder  Engineering and scientific software  Applications range from astronomy to volcanology, from automotive stress analysis to space shuttle orbital dynamics, and from molecular biology to automated manufacturing  Embedded software  Embedded software resides in read-only memory and is used to control products and systems for the consumer and industrial markets.  e.g., digital functions in an automobile such as fuel control, dashboard displays, and braking systems  Personal computer software  Web-based software  Artificial intelligence software  AI software makes use of nonnumerical algorithms to solve complex problems  e.g., Expert systems, pattern recognition (image and voice), artificial neural networks, theorem proving, and game playing
  • 11. Uploaded By : Genuine Coder Legacy Software  Support core business functions  Have long life and business criticality  Exhibit poor quality  Complex code, poor documentation, poor testing, poor change management  Reasons for Evolving the Legacy Software  (Adaptive) Must be adapted to meet the needs of new computing environments or more modern systems, databases, or networks  (Perfective) Must be enhanced to implement new business requirements  (Corrective) Must be changed because of errors found in the specification, design, or implementation
  • 12. Uploaded By : Genuine Coder Legacy System Components
  • 13. Uploaded By : Genuine Coder  Hardware - may be obsolete mainframe hardware.  Support software - may rely on support software from suppliers who are no longer in business.  Application software - may be written in obsolete programming languages.  Application data - often incomplete and inconsistent.  Business processes - may be constrained by software structure and functionality.  Business policies and rules - may be implicit and embedded in the system software.
  • 14. Uploaded By : Genuine Coder Layered Model Socio-technical system Hardware Support software Application software Business processes
  • 15. Uploaded By : Genuine Coder  Changes to one layer may require consequent changes to layers that are both above and below.  Reasons;  Introduction of new facilities, higher layers need to take advantage of these facilities.  Changes may slow down the system; new h/w needed to improve the system performance.  Changes in h/w makes it impossible to manage the interfaces.
  • 16. Uploaded By : Genuine Coder Software Engineering  The application of systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software  Software engineering is an engineering discipline that is concerned with all aspects of software production.  Software engineers should adopt Systematic and organized approach to their work Use appropriate tools and techniques depending on the problem to be solved The development constraints and the resources available  Apply Engineering Concepts to developing Software  Challenge for Software Engineers is to produce high quality software with finite amount of resources & within a predicted schedule
  • 17. Uploaded By : Genuine Coder Software Engineering – Layered Technology Layered Technology A quality focus: the “bedrock” Process model: the “framework” Methods: technical “how to’s” Tools: CASE preferred
  • 18. Uploaded By : Genuine Coder A quality Focus  Every organization is rest on its commitment to quality.  Total quality management, Six Sigma, or similar continuous improvement culture and it is this culture ultimately leads to development of increasingly more effective approaches to software engineering.  The bedrock that supports software engineering is a quality focus. Process:  It’s a foundation layer for software engineering.  It’s define framework for a set of key process areas (KRA) for effectively manage and deliver quality software in a cost effective manner  The processes define the tasks to be performed and the order in which they are to be performed
  • 19. Uploaded By : Genuine Coder Methods:  It provide the technical how-to's for building software.  Methods encompass a broad array of tasks that include requirements analysis, design, program construction, testing, and support.  There could be more than one technique to perform a task and different techniques could be used in different situations. Tools:  Provide automated or semi-automated support for the process, methods and quality control.  When tools are integrated so that information created by one tool can be used by another, a system for the support of software development, called computer-aided software engineering (CASE)
  • 20. Uploaded By : Genuine Coder Process framework Process framework Umbrella Activities Framework activity 1 Framework activity n Software Process Framework activities work tasks work products milestones & deliverables QA checkpoints Process Framework Umbrella Activities •Each framework activities is populated by a set for software engineering actions – a collection of related tasks. • Each action has individual work task.
  • 21. Uploaded By : Genuine Coder Process framework Why process : A process defines who is doing what, when and how to reach a certain goal.  To build complete software process.  Identified a small number of framework activities that are applicable to all software projects, regardless of their size or complexity.  It encompasses a set of umbrella activities that are applicable across the entire software process.
  • 22. Uploaded By : Genuine Coder Umbrella Activities  Software project tracking and control  Assessing progress against the project plan.  Take adequate action to maintain schedule.  Formal technical reviews  Assessing software work products in an effort to uncover and remove errors before goes into next action or activity.  Software quality assurance  Define and conducts the activities required to ensure software quality.  Software configuration management  Manages the effects of change.
  • 23. Uploaded By : Genuine Coder  Document preparation and production  Help to create work products such as models, documents, logs, form and list.  Reusability management  Define criteria for work product reuse  Mechanisms to achieve reusable components.  Measurement  Define and collects process, project, and product measures  Assist the team in delivering software that meets customer’s needs.  Risk management  Assesses risks that may effect that outcome of project or quality of product (i.e. software)
  • 24. Uploaded By : Genuine Coder A generic view of process (Activities) Communication:  Heavy communication with customers, stakeholders, team  Encompasses requirements gathering and related activities  Planning:  Workflow that is to follow  Describe technical task, likely risk, resources will require, work products to be produced and a work schedule.  Modeling:  Help developer and customer to understand requirements (Analysis of requirements) & Design of software  Construction  Code generation: either manual or automated or both  Testing – to uncover error in the code.  Deployment:  Delivery to the customer for evaluation
  • 25. Uploaded By : Genuine Coder CASE (Computer-Aided Software Engineering)  Software systems that are intended to provide automated support for software process activities.  CASE systems are often used for method support.  Upper-CASE  Tools to support the early process activities of requirements and design;  Lower-CASE  Tools to support later activities such as
  • 26. Uploaded By : Genuine Coder Capability Maturity Model Integration (CMMI)  The Software Engineering Institute (SEI) has developed process meta-model to measure organization different level of process capability and maturity.  The CMMI defines each process area in terms of “specific goals” and the “specific practices” required to achieve these goals.  Specific goals establish the characteristics that must exist if the activities implied by a process area are to be effective.  Specific practices refine a goal into a set of process- related activities
  • 27. Uploaded By : Genuine Coder Process Maturity Levels  Level 1: Initial.  The software process is characterized as ad hoc and occasionally even chaotic.  Few processes are defined, and success depends on individual effort.  Level 2: Repeatable.  Basic project management processes are established to track cost, schedule, and functionality.  The necessary process discipline is in place to repeat earlier successes on projects with similar applications.  Level 3: Defined.  The software process for both management and engineering activities is documented, standardized, and integrated into an organization-wide software process.  All projects use a documented and approved version of the organization's process for developing and supporting software.  This level includes all characteristics defined for level 2.
  • 28. Uploaded By : Genuine Coder  Level 4: Managed.  Detailed measures of the software process and product quality are collected.  Both the software process and products are quantitatively understood and controlled using detailed measures.  This level includes all characteristics defined for level 3.  Level 5: Optimizing.  Continuous process improvement is enabled by quantitative feedback from the process and from testing innovative ideas and technologies.  This level includes all characteristics defined for level 4.
  • 29. Uploaded By : Genuine Coder Key Process Areas at Each Levels  Process maturity level 2  Software configuration management  Software quality assurance  Software subcontract management  Software project tracking and oversight  Software project planning  Requirements management  Process maturity level 3  Peer reviews  Intergroup coordination  Software product engineering  Integrated software management  Training program  Organization process definition  Organization process focus
  • 30. Uploaded By : Genuine Coder  Process maturity level 4  Software quality management  Quantitative process management  Process maturity level 5  Process change management  Technology change management  Defect prevention
  • 31. Uploaded By : Genuine Coder  Each of the KPAs is defined by a set of key practices that contribute to satisfying its goals.  The key practices are policies, procedures, and activities that must occur before a key process area has been fully instituted.  The SEI defines key indicators as "those key practices or components of key practices that offer the greatest insight into whether the goals of a key process area have been achieved."  Assessment questions are designed to probe for the existence of a key indicator.