1 Software Engineering II Presentation Software Maintenance.

Slides:



Advertisements
Similar presentations
Chapter 11 Software Evolution
Advertisements

Software Reuse SEII-Lecture 28
Alternate Software Development Methodologies
1 / 24 CS 425/625 Software Engineering Software Evolution Based on Chapter 21 of the textbook [SE-8] Ian Sommerville, Software Engineering, 8 th Ed., Addison-Wesley,
Software Configuration Management
Software Quality Metrics
Agile Software Development. Traditional Software Development 1.Initiation (RFP) 2.Feasibility study Technical – can we build it? Economic – should we.
Soft. Eng. II, Spr. 02Dr Driss Kettani, from I. Sommerville1 CSC-3325: Chapter 6 Title : The Software Quality Reading: I. Sommerville, Chap: 24.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 21 Slide 1 Software evolution.
Chapter 6 Systems Development.
Notion of a Project Notes from OOSE Slides - modified.
Software evolution.
Software Process and Product Metrics
Planning. SDLC Planning Analysis Design Implementation.
Software maintenance Managing the processes of system change.
Capability Maturity Model
Chapter 9 – Software Evolution and Maintenance
Problems with reuse – Increased maintenance costs; lack of tool support; not-invented- here syndrome; creating, maintaining, and using a component library.
Lecture # 22 Software Evolution
N By: Md Rezaul Huda Reza n
Software evolution. Objectives l To explain why change is inevitable if software systems are to remain useful l To discuss software maintenance and maintenance.
Fourteenth Lecture Hour 9:30 – 10:20 am, Sunday, September 16 Software Management Disciplines Project Control and Process Automation (from Part III, Chapter.
Unit 8 Syllabus Quality Management : Quality concepts, Software quality assurance, Software Reviews, Formal technical reviews, Statistical Software quality.
SOFTWARE ENGINEERING1 Introduction. Software Software (IEEE): collection of programs, procedures, rules, and associated documentation and data SOFTWARE.
1 ISA&D7‏/8‏/ ISA&D7‏/8‏/2013 Systems Development Life Cycle Phases and Activities in the SDLC Variations of the SDLC models.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
OHTO -99 SOFTWARE ENGINEERING “SOFTWARE PRODUCT QUALITY” Today: - Software quality - Quality Components - ”Good” software properties.
Software Measurement & Metrics
Software Engineering 2003 Jyrki Nummenmaa 1 SOFTWARE PRODUCT QUALITY Today: - Software quality - Quality Components - ”Good” software properties.
Software Project Management Lecture # 10. Outline Quality Management (chapter 26)  What is quality?  Meaning of Quality in Various Context  Some quality.
This chapter is extracted from Sommerville’s slides. Text book chapter
Software Development Cycle What is Software? Instructions (computer programs) that when executed provide desired function and performance Data structures.
OHTO -99 SOFTWARE ENGINEERING “SOFTWARE PRODUCT QUALITY” Today: - Software quality - Quality Components - ”Good” software properties.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
SOFTWARE MAINTENANCE 1. TOPICS TO BE DISCUSSED.. Definition of Maintenance Software Maintenance Types of Maintenance Maintenance Process Need of Maintenance.
Historical Aspects Origin of software engineering –NATO study group coined the term in 1967 Software crisis –Low quality, schedule delay, and cost overrun.
6/6/01 1 Copyright 2001 by Ralph R. Young Effective Requirements Practices Designed to improve individual, project, and organizational effectiveness. Based.
Manag ing Software Change CIS 376 Bruce R. Maxim UM-Dearborn.
Cmpe 589 Spring 2006 Lecture 2. Software Engineering Definition –A strategy for producing high quality software.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 21 Slide 1 Software evolution 1.
Software Evolution Program evolution dynamics Software maintenance Complexity and Process metrics Evolution processes 1.
A Metrics Program. Advantages of Collecting Software Quality Metrics Objective assessments as to whether quality requirements are being met can be made.
Software Maintenance Speaker: Jerry Gao Ph.D. San Jose State University URL: Sept., 2001.
HNDIT23082 Lecture 06:Software Maintenance. Reasons for changes Errors in the existing system Changes in requirements Technological advances Legislation.
Software Engineering Lecture # 1.
Chapter 2: Software Maintenance Omar Meqdadi SE 3860 Lecture 2 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Software Quality Assurance SOFTWARE DEFECT. Defect Repair Defect Repair is a process of repairing the defective part or replacing it, as needed. For example,
Hussein Alhashimi. “If you can’t measure it, you can’t manage it” Tom DeMarco,
System Maintenance Modifications or corrections made to an information system after it has been released to its customers Changing an information system.
Process Asad Ur Rehman Chief Technology Officer Feditec Enterprise.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 21 Slide 1 Software evolution.
Software Engineering Lecture 8: Quality Assurance.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 21 Slide 1 Software evolution.
Software change Software change is inevitable –New requirements emerge when the software is used –The business environment changes –Errors must be repaired.
Testing and Evolution CSCI 201L Jeffrey Miller, Ph.D. HTTP :// WWW - SCF. USC. EDU /~ CSCI 201 USC CSCI 201L.
CS223: Software Engineering Lecture 32: Software Maintenance.
Software Project Management Lecture # 12. Outline Quality Management ( chapter 26 - Pressman )  SQA  Who does it?  SQA Activities  Software reviews.
 System Requirement Specification and System Planning.
Software Development Module Code: CST 240 Chapter 6: Software Maintenance Al Khawarizmi International College, AL AIN, U.A.E Lecturer: Karamath Ateeq.
Software Configuration Management
Overview Software Maintenance and Evolution Definitions
Chapter 18 Maintaining Information Systems
The Systems Engineering Context
Software Engineering (CSI 321)
CS 425/625 Software Engineering Software Evolution
Software Testing and Maintenance Maintenance and Evolution Overview
Chapter 9 – Software Evolution and Maintenance
Chapter 13 Quality Management
Lecture 06:Software Maintenance
Introduction Software maintenance:
Presentation transcript:

1 Software Engineering II Presentation Software Maintenance

2 Team Presentation. Why Maintenance? Problems of Maintenance. Design a Software to ease Maintenance. Conclusion.

3 Team Members El Yazid ALAOUI YAZIDI : Junior student in Software Engineering. Abdelouhab TAOUFIQ : Senior student in Software Engineering. Youssef ALAOUI MDEGHRI : Senior student in Software Engineering.

4 Why Maintenance? Definition of Maintenance, Software Maintenance Objectives, Enterprise Resource Planning.

5 Definition of Maintenance Is the set of activities, both technical and managerial, that ensures that software continues to meet organizational and business objectives in a cost effective way.

6 Software Maintenance Objectives Difference between Software Product and Software Maintenance is: Software Product is the result of the Software development. Software Maintenance results in a service being delivered to the customer.

7 Software Maintenance Objectives Corrective, Adaptive, Perfective, Inspection.

8 Types of Maintenance Corrective: Taking existing code and correcting a fault that causes the code to behave in some way that deviates from its documented requirements.

9 Types of Maintenance Adaptive: Taking existing code and adapting it to provide new features and functionality. These are typically part of a new release of the code and part of a larger development effort.

10 Types of Maintenance Perfective: These are typically made to improve the maintainability of the code such as restructuring it to make it more easily understood or to remove ambiguities.

11 Types of Maintenance Inspection: These are usually made as a result of code inspections and focus more of adhering to coding standards or to reduce the likelihood of a failure.

12 Enterprise Resource Planning ERP is a perfective strategy planning for most software application domains which look forward to the point where their software can be developed from existing architectures, frameworks, patterns and components.

13 Resource Planning objectives Solve future business application problems, Integrate those solutions across the enterprise.

14 Problems of Maintenance Maintenance Attributes, Maintenance Organization, Respect of Metrics, Requirements volatility.

15 Maintenance Attributes five factors drive the difficulty of delivering software: Product, Documentation, End users, Process, Environment.

16 Maintenance Attributes Important attributes to be considered during Maintenance: product age, design, Language, current failure rate, staff experience.

17 Maintenance Organization five factors drive the difficulty of delivering software: Input Vs. output, cycle-time, cost/change, schedule, flexibility, Quality.

18 Respect of Metrics Software maintenance should be measured and managed using metrics to reach a quality software. However, we don't know how to measure maintainability because it’s a service. Approaches were made to get values that can be useful during maintenance (surveys).

19 Survey 42151Customer-Reported Defects per Change Delivered % Schedules Met % Releases w/Content Changes (total releases) Economics (K$/Change) Priority Change Response Time (Days) Throughput (Changes Delivered) Ex 3Ex 2Ex 1

20

21 Requirements volatility Requirements are the foundation of the software release process. Changing requirements during the software maintenance process impacts the cost, schedule, and quality of the resulting product. Build model to make planning of customer communications (predictions). A focus is made on non volatile requirements.

22 Design for Maintenance A strategy to set a certain rules during the Software development. It eases the maintability of the system.

23 Design Attributes Three main Factors that we have to ensure during the design of the Software: Understandability, Modifiability, Stability.

24 Design Strategies Reasons to do a good Design in order to ease maintability: Low Cost for future maintenance, Avoid long time periods of maintenance, Ability to discover rapidly the failures.

25 Design Data Collection Collecting some characteristics during the commencement of the project about : The Behavior of the requirements, Case tool and the Programming Language used, The environment.

26 Design for Maintenance Emergency Rework on Modules Design independent modules in order to substitute them in failures and correct the deficiencies rapidly. Design a structure with independent components in order to be easy in maintenance

27 Tips to Be Memorized Through many recommendations, we've noticed seven objections to action that are repeatedly raised: Challenges to definitions & terms, Different conclusions or effects,

28 Tips to Be Memorized Ctd’ Interference, Different cause, Irrelevant reasons, Factor ignored, Counterexample.

29 Conclusion It’s very hard to maintain a system than to design it. It’s even harder to design a maintainable system, because it’s difficult to predict future changes in the business environment. Software maintenance is a critical activity in the life cycle of a system.

30 References