Software Engineering

Views:
 
Category: Education
     
 

Presentation Description

No description available.

Comments

Presentation Transcript

Software Engineering:

Software Engineering 1

Introduction to software Engineering:

Introduction to software Engineering Software is defined as- Instructions - Programs that when executed provide desired function Data structures -Enable the programs to adequately manipulate information 3. Documents -Describe the operation and use of the programs. 2

Introduction to software Engineering:

Introduction to software Engineering Definition of Engineering - Application of science, tools and methods to find cost effective solution to problems Definition of SOFTWARE ENGINEERING - SE is defined as systematic, disciplined and quantifiable approach for the development, operation and maintenance of software 3

Introduction to software Engineering:

Introduction to software Engineering Characteristics of software Software is developed or engineered , it is not manufactured in the classical sense. Software does not wear out. However it deteriorates due to change. Software is custom built rather than assembling existing components. -Although the industry is moving towards component based construction, most software continues to be custom built 4

CHARACTERISTICS OF HARDWARE:

CHARACTERISTICS OF HARDWARE 5 Failure rate Time “ Infant mortality” “Wear out” Fig: FAILURE CURVE FOR HARDWARE or Bathtub Curve

CHARACTERISTICS OF SOFTWARE:

CHARACTERISTICS OF SOFTWARE 6 Fig: FAILURE CURVE FOR SOFTWARE

THE CHANGING NATURE OF SOFTWARE:

THE CHANGING NATURE OF SOFTWARE Seven Broad Categories of software are challenges for software engineers System software Application software Engineering and scientific software Embedded software Product-line software Web-applications Artificial intelligence software 7

THE CHANGING NATURE OF SOFTWARE:

THE CHANGING NATURE OF SOFTWARE System software. System software is a collection of programs written to service other programs Embedded software -- resides in read-only memory --is used to control products and systems for the consumer and industrial markets. Artificial intelligence software. Artificial intelligence (AI) software makes use of nonnumeric algorithms to solve complex problems that are not amenable to computation or straightforward analysis Engineering and scientific software. Engineering and scientific software have been characterized by "number crunching" algorithms. 8

LEGACY SOFTWARE:

LEGACY SOFTWARE Legacy software are older programs that are developed decades ago. The quality of legacy software is poor because it has inextensible design,convoluted code,poor and nonexistent documentation,test cases and results that are not achieved. 9

PowerPoint Presentation:

As time passes legacy systems evolve due to following reasons: The software must be adapted to meet the needs of new computing environment or technology. The software must be enhanced to implement new business requirements. The software must be extended to make it interoperable with more modern systems or database The software must be rearchitected to make it viable within a network environment. 10

Software Evolution:

Software Evolution Software evolves due to changes Changes occur due to correction,adaption and enhancement 8 Laws of unified theory The Law of Continuing Change. The Law of Increasing Complexity. The Law of Self-Regulation The Law of Conservation of Organizational Stability. The Law of Conservation of Familiarity The Law of Continuing Growth The Law of Declining Quality The Feedback System Law 11

PowerPoint Presentation:

The Law of Continuing Change (1974): E-type systems must be continually adapted else they become progressively less satisfactory. The Law of Increasing Complexity (1974): As an E -type system evolves its complexity increases unless work is done to maintain or reduce it The Law of Self Regulation (1974): The E-type system evolution process is self-regulating with distribution of product and process measures close to normal. The Law of Conservation of Organizational Stability (1980): The average effective global activity rate in an evolving E -type system is invariant over product lifetime 12

PowerPoint Presentation:

The Law of Conservation of Familiarity (1980): As an E -type system evolves all associated with it, developers, sales personnel, users for example, must maintain mastery of its content and behavior to achieve satisfactory evolution. The Law of Continuing Growth (1980): The functional content of E-type systems must be continually increased to maintain user satisfaction over their lifetime. The Law of Declining Quality (1996): The quality of E -type systems will appear to be declining unless they are rigorously maintained and adapted to operational environment changes . The Feedback System Law (1996): E-type evolution processes constitute multi -level, multi – loop, multi -agent feedback systems and must be treated as such to achieve significant improvement over any reasonable base. 13

SOFTWARE MYTHS:

SOFTWARE MYTHS Widely held but false view Propagate misinformation and confusion Three types of myth - Management myth - Customer myth - Practitioner’s myth 14

MANAGEMENT MYTHS:

MANAGEMENT MYTHS Myth(1) -The available standards and procedures for software are enough. Myth(2) -Each organization feel that they have state-of-art software development tools since they have latest computer. Myth(3) -Adding more programmers when the work is behind schedule can catch up. Myth(4) -Outsourcing the software project to third party, we can relax and let that party build it. 15

CUSTOMER MYTH:

CUSTOMER MYTH Myth(1) - General statement of objective is enough to begin writing programs, the details can be filled in later. Myth(2) -Software is easy to change because software is flexible 16

PRACTITIONER’S MYTH:

PRACTITIONER’S MYTH Myth(1) -Once the program is written, the job has been done. Myth(2) -Until the program is running, there is no way of assessing the quality. Myth(3) -The only deliverable work product is the working program Myth(4) -Software Engineering creates voluminous and unnecessary documentation and invariably slows down software development. 17

PowerPoint Presentation:

SOFTWARE ENGINEERING-A LAYERED TECHNOLOGY Tools Methods Process Quality of Focus 18 Fig: Software Engineering-A layered technology

SOFTWARE ENGINEERING-A LAYERED TECHNOLOGY:

SOFTWARE ENGINEERING-A LAYERED TECHNOLOGY Quality focus - Bedrock that supports software Engineering. Process - Foundation for software Engineering Methods - Provide technical How-to’s for building software Tools - Provide semi-automatic and automatic support to methods 19

A PROCESS FRAMEWORK:

A PROCESS FRAMEWORK 20 Common process framework Umbrella activities Framework activities Task sets TT Tasks Milestones,delierables SQA points

A PROCESS FRAMEWORK :

A PROCESS FRAMEWORK Establishes the foundation for a complete software process Identifies a number of framework activities applicable to all software projects Also include a set of umbrella activities that are applicable across the entire software process. 21

A PROCESS FRAMEWORK:

A PROCESS FRAMEWORK Used as a basis for the description of process models Generic process activities Communication Planning Modeling Construction Deployment 22

A PROCESS FRAMEWORK:

A PROCESS FRAMEWORK Generic view of engineering complimented by a number of umbrella activities Software project tracking and control Formal technical reviews Software quality assurance Software configuration management Document preparation and production Reusability management Measurement Risk management 23

CAPABILITY MATURITY MODEL INTEGRATION(CMMI):

CAPABILITY MATURITY MODEL INTEGRATION(CMMI) Developed by SEI(Software Engineering institute) Assess the process model followed by an organization and rate the organization with different levels A set of software engineering capabilities should be present as organizations reach different levels of process capability and maturity. CMMI process meta model can be represented in different ways 1.A continuous model 2.A staged model Continuous model: -Lets organization select specific improvement that best meet its business objectives and minimize risk -Levels are called capability levels. -Describes a process in 2 dimensions -Each process area is assessed against specific goals and practices and is rated according to the following capability levels. 24

CMMI:

CMMI Six levels of CMMI Level 0:Incomplete Level 1:Performed Level 2:Managed Level 3:Defined Level 4:Quantitatively managed Level 5:Optimized 25

CMMI:

CMMI INCOMPLETE -Process is adhoc.Objective and goal of process areas are not known Performed -Goal,objective,work tasks,work products and other activities of software process are carried out Managed -Activities are monitored, reviewed, evaluated and controlled Defined -Activities are standardized, integrated and documented Quantitatively Managed -Metrics and indicators are available to measure the process and quality Optimized - Continuous process improvement based on quantitative feed back from the user -Use of innovative ideas and techniques, statistical quality control and other methods for process improvement. 26

CMMI:

CMMI Staged model - This model is used if you have no clue of how to improve the process for quality software. - It gives a suggestion of what things other organizations have found helpful to work first - Levels are called maturity levels 27

PowerPoint Presentation:

LEVEL FOCUS PROCESS AREA Optimizing Continuous process Improvement -Organizational Innovation and Deployment -Causal Analysis and Resolution Quantitatively managed Quantitative management -Organizational process performance -Quantitative project management Defined Process standardized Requirements Development Technical Solution Product Integration Verification Validation Organizational Process Focus Organizational Process Definition Organizational Training Integrated Project Management Risk Management 28

PowerPoint Presentation:

Integrated Teaming Integrated Supplier Management Decision Analysis and Resolution Organizational Environment for Integration Managed Basic project management Requirements Management Project Planning Project Monitoring and Control Supplier Agreement Measurement and Analysis Process and Product Quality Assurance Configuration Management Performed 29

PROCESS PATTERNS:

PROCESS PATTERNS Software Process is defined as collection of Patterns Process pattern provides a template Process Template -Pattern Name -Intent -Type -Task pattern - Stage pattern -Phase Pattern Initial Context Problem Solution Resulting Context Related Patterns 30

PROCESS ASSESSMENT:

PROCESS ASSESSMENT Does not specify the quality of the software or whether the software will be delivered on time or will it stand up to the user requirements. It attempts to keep a check on the current state of the software process with the intention of improving it. 31

PROCESS ASSESSMENT:

PROCESS ASSESSMENT Software Process Software Process Assessment Software Process improvement Capability determination Motivates Leads to Leads to Identifies Modification to Identifies Capabilities & Risk Examined by

APPROACHES TO SOFTWRE ASSESSMENT:

APPROACHES TO SOFTWRE ASSESSMENT Standard CMMI assessment (SCAMPI) CMM based appraisal for internal process improvement SPICE(ISO/IEC 15504) ISO 9001:2000 for software 33

Personal and Team Software Process:

Personal and Team Software Process Personal software process PLANNING HIGH LEVEL DESIGN HIGH LEVEL DESIGN REVIEW DEVELOPMENT POSTMORTEM 34

Personal and Team Software Process:

Personal and Team Software Process Team software process Goal of TSP Build self-directed teams Motivate the teams Acceptance of CMM level 5 behavior as normal to accelerate software process improvement Provide improvement guidance to high maturity organization 35

authorStream Live Help