Maintaining software solutions

Slides:



Advertisements
Similar presentations
Making the System Operational
Advertisements

Configuration management
Software Quality Assurance Plan
Configuration Management
MIS 2000 Class 20 System Development Process Updated 2014.
Lesson 6 Software and Hardware Interaction
Case Tools Trisha Cummings. Our Definition of CASE  CASE is the use of computer-based support in the software development process.  A CASE tool is a.
Software Delivery. Software Delivery Management  Managing Requirements and Changes  Managing Resources  Managing Configuration  Managing Defects 
Software Quality Assurance Inspection by Ross Simmerman Software developers follow a method of software quality assurance and try to eliminate bugs prior.
The Waterfall Model A Case Study
APPLICATION DEVELOPMENT BY SYED ADNAN ALI.
Applied Software Project Management Andrew Stellman & Jennifer Greene Applied Software Project Management Applied Software.
System Development Life Cycle (SDLC)
Configuration Management
Software Configuration Management
The Project AH Computing. Functional Requirements  What the product must do!  Examples attractive welcome screen all options available as clickable.
Configuration Management Process and Environment MACS Review 1 February 5th, 2010 Roland Moser PR a-RMO, February 5 th, 2010 R. Moser 1 R. Gutleber.
Term 2, 2011 Week 3. CONTENTS The physical design of a network Network diagrams People who develop and support networks Developing a network Supporting.
Chapter 2 The process Process, Methods, and Tools
System Analysis and Design
1 Software Development Configuration management. \ 2 Software Configuration  Items that comprise all information produced as part of the software development.
Installation and Maintenance of Health IT Systems
End HomeWelcome! The Software Development Process.
Introduction Complex and large SW. SW crises Expensive HW. Custom SW. Batch execution Structured programming Product SW.
Software Development Cycle What is Software? Instructions (computer programs) that when executed provide desired function and performance Data structures.
A Networked Machine Management System 16, 1999.
Lecture Introduction to Software Development SW Engg. Development Process Instructor :Muhammad Janas khan Thursday, September.
Module 4: Systems Development Chapter 14: Design And Implementation.
1 CSCD 326 Data Structures I Software Design. 2 The Software Life Cycle 1. Specification 2. Design 3. Risk Analysis 4. Verification 5. Coding 6. Testing.
Chapter 6 CASE Tools Software Engineering Chapter 6-- CASE TOOLS
Software Maintenance Speaker: Jerry Gao Ph.D. San Jose State University URL: Sept., 2001.
Connecting with Computer Science2 Objectives Learn how software engineering is used to create applications Learn some of the different software engineering.
Configuration Management CSCI 5801: Software Engineering.
CASE (Computer-Aided Software Engineering) Tools Software that is used to support software process activities. Provides software process support by:- –
HNDIT23082 Lecture 06:Software Maintenance. Reasons for changes Errors in the existing system Changes in requirements Technological advances Legislation.
P51UST: Unix and SoftwareTools Unix and Software Tools (P51UST) Version Control Systems Ruibin Bai (Room AB326) Division of Computer Science The University.
Objectives Understand Corrective, Perfective and Preventive maintenance Discuss the general concepts of software configuration management.
System Maintenance Modifications or corrections made to an information system after it has been released to its customers Changing an information system.
CSC444F'07Lecture 41 CSC444 Software Engineering Top 10 Practices.
1 The Software Development Process ► Systems analysis ► Systems design ► Implementation ► Testing ► Documentation ► Evaluation ► Maintenance.
Chapter 25 – Configuration Management 1Chapter 25 Configuration management.
Software Configuration Management
Software Project Configuration Management
The Development Process of Web Applications
Chapter 11: Software Configuration Management
Chapter 18 Maintaining Information Systems
SDLC: System Development Life Cycle
System Design.
Systems Analysis and Design
System Development Life Cycle (SDLC)
Business System Development
Advanced Integration and Deployment Techniques
System Development Life Cycle (SDLC)
Applied Software Implementation & Testing
Tools of Software Development
Design and Programming
Topics Lesson 6 System Implementation Software Development
Making the System Operational Implementation & Deployment
System Development Life Cycle (SDLC)
Information Systems, Ninth Edition
Course: Module: Lesson # & Name Instructional Material 1 of 32 Lesson Delivery Mode: Lesson Duration: Document Name: 1. Professional Diploma in ERP Systems.
Chapter 11: Software Configuration Management
Chapter 8 Software Evolution.
MANAGING THE DEVELOPMENT AND PURCHASE OF INFORMATION SYSTEMS
Lecture 06:Software Maintenance
Coupling Interaction: It occurs due to methods of a class invoking methods of other classes. Component Coupling: refers to interaction between two classes.
Overview Activities from additional UP disciplines are needed to bring a system into being Implementation Testing Deployment Configuration and change management.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 Tools of Software Development l 2 types of tools used by software engineers:
Chapter 2: Building a System
Building a “System” Moving from writing a program to building a system. What’s the difference?! Complexity, size, complexity, size complexity Breadth.
Presentation transcript:

Maintaining software solutions

Maintaining software solutions Maintenance is an ongoing process. Includes correction of errors and upgrades to enhance the functionality. Comprises: A) Identifying and determining what changes should be made. B) Ongoing communication with users. C) Software Development cycle begins. D) Method of distribution devised. E) Modification installed. F) Documentation.

Modification of code to meet changed requirements Reasons to change code: Bug fixes New hardware and new software purchases Upgrades to operating systems Upgrades to make use of additional features Requirements change e.g.. Customised software COTS (customised off-the-shelf) products are particularly susceptible to upgrades

Modification of code to meet changed requirements Patch A patch is an actual piece of executable code that is inserted into (patched into) an existing executable program Script A list of commands that can be executed without user interaction. Macro A symbol, name, or key combination that activates a series of commands, actions, or keystrokes. Many programs allow the creation of macros to automate common tasks

Location of section to be altered Location determined through: A) Structure Charts B) Data Flow Diagrams C) IPO Diagrams D) Actual source code

Determining changes to be made Changes may be required to: A) Source Code B) Data Structures C) Files D) User Interface

Implementing and testing the solution The implementation of modifications can have a ripple effect to other aspects of the application Problems minimised if modular approach implemented. Modules used in several places in program should retain original input/output parameters. Altering parameters will require modifications to each higher-level calling module. Testing should occur using same techniques as deployment of new products i.e. use same test data and CASE tool scripts.

Documenting changes Changes must be tracked and fully documented. Large projects can contain thousands of routines so monitoring and keeping track of changes requires extensive documentation . Configuration Management is the systematic control of changes to a product. Configuration Management CASE tools are available to automate the control and documentation of changes. Source Code Documentation. Updating Associated Hardcopy Documentation and Online Help.

Use of Case tools to monitor changes and versions Computer aided software engineering (CASE ) tools are available to automate the process of maintaining records. Systematic control of changes to a software product is known as configuration management(CM) or software configuration management (SCM). Functions include: A) Change Management: history is maintained of each modification and by whom. B) Parallel Development: Parallel development CASE tools enable multiple users to work on the same project without fear of duplication or destroying another team member’s work. Files are checked out, which effectively locks the file, preventing other’s from making changes. Once modifications are complete, the module is checked in, which releases the file.

Use of Case tools to monitor changes and versions C) Version Control: Version control CASE tools manage multiple versions of software components or module. The system tracks which version of each component or module should be used when the application is finally reassembled. Previous versions of applications can be reconstructed.

Versioning If changes are made, an upgrade from version 1.0 to Version 1.0.1 : Indicates minute change to the program. It may not include any changes to the user interface. Version 1.1 : indicates larger changes to the program, addition of new features or small changes to the interface to make the program easier to use. Version 2.0 : Indicates huge changes to the program. A completely new user interface, or large changes to the features of the program.