Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Uploaded By : Genuine Coder
Software
Engineering
Uploaded By : Genuine Coder
Software
 Computer software is the product that software
engineers design and build.
 It enc...
Uploaded By : Genuine Coder
The evolving role of Software
 Software takes on a dual role;
 Product:- it delivers the com...
Uploaded By : Genuine Coder
 The role has significant changes over a time span of little
more than 50 years
 Improvement...
Uploaded By : Genuine Coder
SOFTWARE
 Software is;
1. instructions (computer programs) that when executed
provide desired...
Uploaded By : Genuine Coder
Software Characteristics
1. Software is developed or engineered, it is not
manufactured in the...
Uploaded By : Genuine Coder
3. Although the industry is moving toward component-
based assembly, most software continues t...
Uploaded By : Genuine Coder
The changing Nature of
Software & Software
Applications
 Key element in the evolution of comp...
Uploaded By : Genuine Coder
 System software
 System software is a collection of programs written to service
other progr...
Uploaded By : Genuine Coder
 Engineering and scientific software
 Applications range from astronomy to volcanology, from...
Uploaded By : Genuine Coder
Legacy Software
 Support core business functions
 Have long life and business criticality
 ...
Uploaded By : Genuine Coder
Legacy System Components
Uploaded By : Genuine Coder
 Hardware - may be obsolete mainframe hardware.
 Support software - may rely on support soft...
Uploaded By : Genuine Coder
Layered Model
Socio-technical system
Hardware
Support software
Application software
Business p...
Uploaded By : Genuine Coder
 Changes to one layer may require consequent changes
to layers that are both above and below....
Uploaded By : Genuine Coder
Software Engineering
 The application of systematic, disciplined,
quantifiable approach to th...
Uploaded By : Genuine Coder
Software Engineering – Layered
Technology
Layered Technology
A quality focus: the “bedrock”
Pr...
Uploaded By : Genuine Coder
A quality Focus
 Every organization is rest on its commitment to quality.
 Total quality man...
Uploaded By : Genuine Coder
Methods:
 It provide the technical how-to's for building software.
 Methods encompass a broa...
Uploaded By : Genuine Coder
Process framework
Process framework
Umbrella Activities
Framework activity 1
Framework activit...
Uploaded By : Genuine Coder
Process framework
Why process :
A process defines who is doing what, when and how to
reach a c...
Uploaded By : Genuine Coder
Umbrella Activities
 Software project tracking and control
 Assessing progress against the p...
Uploaded By : Genuine Coder
 Document preparation and production
 Help to create work products such as models,
documents...
Uploaded By : Genuine Coder
A generic view of process
(Activities) Communication:
 Heavy communication with customers, s...
Uploaded By : Genuine Coder
CASE (Computer-Aided Software
Engineering)
 Software systems that are intended to
provide aut...
Uploaded By : Genuine Coder
Capability Maturity Model Integration
(CMMI)
 The Software Engineering Institute (SEI) has de...
Uploaded By : Genuine Coder
Process Maturity Levels
 Level 1: Initial.
 The software process is characterized as ad hoc ...
Uploaded By : Genuine Coder
 Level 4: Managed.
 Detailed measures of the software process and product
quality are collec...
Uploaded By : Genuine Coder
Key Process Areas at Each
Levels
 Process maturity level 2
 Software configuration managemen...
Uploaded By : Genuine Coder
 Process maturity level 4
 Software quality management
 Quantitative process management
 P...
Uploaded By : Genuine Coder
 Each of the KPAs is defined by a set of key practices
that contribute to satisfying its goal...
Upcoming SlideShare
Loading in …5
×

8

Share

Download to read offline

Software engineering : Layered Architecture

Download to read offline

Software Engineering:-
The evolving role of Software
Legacy Software
Software Engineering – Layered Technology / Model
Process Framework

Related Books

Free with a 30 day trial from Scribd

See all

Software engineering : Layered Architecture

  1. 1. Uploaded By : Genuine Coder Software Engineering
  2. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 12. Uploaded By : Genuine Coder Legacy System Components
  13. 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. 14. Uploaded By : Genuine Coder Layered Model Socio-technical system Hardware Support software Application software Business processes
  15. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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.
  • AkkaladeviSandeep

    Dec. 5, 2019
  • MrudulaR3

    May. 12, 2019
  • PrathmeshRanshing

    Jun. 26, 2018
  • SunnyKharte

    Apr. 15, 2018
  • ChokkakulaHarshavard

    Oct. 27, 2017
  • GouthamJujjuri

    May. 3, 2017
  • PoojaKhatri8

    Apr. 19, 2017
  • DaniceJoyTanguilan1

    May. 20, 2016

Software Engineering:- The evolving role of Software Legacy Software Software Engineering – Layered Technology / Model Process Framework

Views

Total views

9,113

On Slideshare

0

From embeds

0

Number of embeds

7

Actions

Downloads

156

Shares

0

Comments

0

Likes

8

×