1 CS 501 Spring 2003 CS 501: Software Engineering Lecture 26 Delivering the System.

Slides:



Advertisements
Similar presentations
Making the System Operational
Advertisements

Configuration management
Software Engineering CSE470: Process 15 Software Engineering Phases Definition: What? Development: How? Maintenance: Managing change Umbrella Activities:
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 11 Designing for Usability I.
Documentation 1 Comprehending the present – Investing in the future.
CSCU 411 Software Engineering Chapter 2 Introduction to Software Engineering Management.
1 CS 502: Computing Methods for Digital Libraries Lecture 22 Web browsers.
CS 5150 Software Engineering
1 CS 501 Spring 2007 CS 501: Software Engineering Lecture 25 Delivering the System Business Considerations.
1 CS 501 Spring 2007 CS 501: Software Engineering Lecture 21 Reliability 3.
CS CS 5150 Software Engineering Lecture 19 Acceptance and Delivery.
CS 501: Software Engineering
Systems maintenance & adoption Asper School of Business University of Manitoba Systems Analysis & Design Instructor: Bob Travica Updated: November 2013.
APPLICATION DEVELOPMENT BY SYED ADNAN ALI.
CS CS 5150 Software Engineering Lecture 20 Acceptance and Delivery.
1 CS 501 Spring 2005 CS 501: Software Engineering Lecture 26 Delivering the System.
Software Documentation Written By: Ian Sommerville Presentation By: Stephen Lopez-Couto.
Create User Documentation
CS3500 Software Engineering How does a “program” differ from a “software system”? Program System Tens to hundreds of lines of code Thousands to millions.
70-294: MCSE Guide to Microsoft Windows Server 2003 Active Directory Chapter 12: Deploying and Managing Software with Group Policy.
WEB ENGINEERING LECTURE 4 BY Kiramat Rahman. outline  In this Lecture you will learn about:  Term “Software” and its relationship with “Hardware” 
Software evolution. Objectives l To explain why change is inevitable if software systems are to remain useful l To discuss software maintenance and maintenance.
1 SWE 513: Software Engineering Usability II. 2 Usability and Cost Good usability may be expensive in hardware or special software development User interface.
By Anthony W. Hill & Course Technology1 Common End User Problems.
Web Trnsport – Beta Testing and Implementation TUG Roundtable Discussion Elizabeth Rodgers Info Tech, Inc. October 9, 2007.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
Software Maintenance.
Chapter 3: Software Maintenance Process Omar Meqdadi SE 3860 Lecture 3 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
 To explain the importance of software configuration management (CM)  To describe key CM activities namely CM planning, change management, version management.
CS CS 5150 Software Engineering Lecture 3 Software Processes 2.
Software – Acquisition & Testing. ICT5 How to acquire software There are several options: The software may be written by the end-user; A specialist department.
Installation and Maintenance of Health IT Systems
CH10: Delivering the System help users to understand and feel comfortable with our product * Training * Documentation TECH Computer Science.
Creator: ACSession No: 16 Slide No: 1Reviewer: SS CSE300Advanced Software EngineeringFebruary 2006 (Software Quality) Configuration Management CSE300 Advanced.
OBJECT ORIENTED SYSTEM ANALYSIS AND DESIGN. COURSE OUTLINE The world of the Information Systems Analyst Approaches to System Development The Analyst as.
CSC 395 – Software Engineering Lecture 12: Reusability –or– Programming was Bjarne Again.
16 1 Installation  After development and testing, system must be put into operation  Important planning considerations Costs of operating both systems.
1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 23 Reliability III.
Copyright © 1994 Carnegie Mellon University Disciplined Software Engineering - Lecture 3 1 Software Size Estimation I Material adapted from: Disciplined.
1 CS 501 Spring 2003 CS 501: Software Engineering Lecture 7 Business Aspects of Software Engineering.
Sylnovie Merchant, Ph.D. MIS 161 Spring 2005 MIS 161 Systems Development Life Cycle II Lecture 5: Testing User Documentation.
Construction, Testing, Documentation, and Installation Chapters 15 and 16 Info 361: Systems Analysis and Design.
Lecture 14 Maintaining the System and Managing Software Change SFDV Principles of Information Systems.
1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 24 Delivering the System.
CS CS 5150 Software Engineering Lecture 2 Software Processes 1.
Chair of Software Engineering Exercise Session 6: V & V Software Engineering Prof. Dr. Bertrand Meyer March–June 2007.
CS CS 5150 Software Engineering Lecture 26 People 2.
Software Maintenance Speaker: Jerry Gao Ph.D. San Jose State University URL: Sept., 2001.
CS 360 Lecture 18.  Acceptance testing  The complete system, including documentation, training materials, installation scripts, etc. is tested against.
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.
1 Business Aspects of Software Engineering SWE 513.
Fall 2015CISC/CMPE320 - Prof. McLeod1 CISC/CMPE320 Assignment 1 due today, 7pm. RAD due next Friday in your Wiki. Presentations week 6. Today: –Continue.
CS223: Software Engineering Lecture 2: Introduction to Software Engineering.
Introduction Complex and large SW. SW crises Expensive HW. Custom SW. Batch execution Structured programming Product SW.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Object-Oriented and Classical Software Engineering Eighth Edition, WCB/McGraw-Hill Stephen R. Schach 1.
1 CP586 © Peter Lo 2003 Multimedia Communication Multimedia Development Team.
CS 501: Software Engineering Fall 199 Lecture 1 a) Administration b) Introduction to Software Engineering.
CS 501: Software Engineering Fall 1999 Lecture 22 (a) Managing the Software Process (b) Software Reuse.
CS 501: Software Engineering Fall 1999 Lecture 23 Design for Usability I.
Acceptance and Delivery
Chapter 18 Maintaining Information Systems
CS 5150 Software Engineering
Software Documentation
Maintaining software solutions
Lecture 06:Software Maintenance
Configuration management
CS 501: Software Engineering
Presentation transcript:

1 CS 501 Spring 2003 CS 501: Software Engineering Lecture 26 Delivering the System

2 CS 501 Spring 2003 Administration

3 CS 501 Spring 2003 Maintenance The objective of maintenance Add new functionality (e.g., new transaction types) Adapt to changing circumstances (e.g., organizational change) Fix problems (e.g., awkward user interface) Upgrades to hardware or system software (e.g., new operating system) Increases or changes in load

4 CS 501 Spring 2003 Maintenance The perils of maintenance Changes do not fit within the design of the system. The system becomes a mess of patches and changes that are almost impossible to comprehend. New bugs and errors are introduced. The documentation, training materials, etc. are not kept current. Expense. Eventually almost every system reaches a stage where changes seem to create more problems than they solve.

5 CS 501 Spring 2003 Maintenance Good habits in maintenance Clean up as you go along Stay within the design framework Test thoroughly (regression testing) Keep documentation current Track current releases of system software

6 CS 501 Spring 2003 Delivering the System: Themes Different categories of software product need different packaging and delivery procedures. Packaging, support, maintenance and major failures are expensive. Trade-offs must be made. Pressures to get products to market and in operation often lead to bad decisions. (In my experience, the pain of being late is often less than the pain of putting a bad system into operation.) Services, such as installation, training, configuration, etc. may be paid for separately.

7 CS 501 Spring 2003 Delivery of Software: Categories of Product Shrink-Wrapped Package Installation scripts -- automatic -- varieties of hardware and operating systems -- uninstall, reinstall, etc. Support (very expensive when it requires staff) -- staff training -- documentation (user, system administrator, expert user) Maintenance -- client does not have source code -- no bug fixing except with new release

8 CS 501 Spring 2003 Delivery of Software: Categories of Product Data Processing System Acceptance -- acceptance period may cover several months -- client should be comfortable with complete system Support -- client should be self-sufficient -- documentation and training for system administrators and operators -- well organized source code for maintenance -- maintenance and support contracts

9 CS 501 Spring 2003 Delivery of Software: Categories of Product Embedded System Acceptance -- hardware and software developed together -- acceptance tests combination Maintenance -- bug fixes require servicing the hardware -- errors may be expensive or dangerous Support -- training for support personnel -- documentation and training for users

10 CS 501 Spring 2003 Training Time and money spent on training is usually well spent: one-on-one in-house training training courses distance education online tutorials Development team needs to provide training materials: users (perhaps several categories) system administrators system maintainers trainers

11 CS 501 Spring 2003 Levels of Usability interface design functional design data and metadata computer systems and networks conceptual model

12 CS 501 Spring 2003 Training and Usability A well-designed system needs less training good conceptual model intuitive interfaces Different skill levels need different types of training skilled users work from the conceptual model less-skilled users prefer cook book sets of instructions occasional users will forget complex details, but remember general structure

13 CS 501 Spring 2003 Help Systems Resources A good help system is a major sub-project (time-consuming, expensive) A good help system saves user time and support staff (time- saving, cost-saving) Help system design Users need many routes to find information (index by many terms, examples, mini-tutorials, etc.) Help systems need to be tested with real users

14 CS 501 Spring 2003 Documentation Online documentation Much cheaper than print Fewer restrictions on numbers of pages, colors, etc. Easy to update (e.g., over the Internet) but... Cannot be used if the user's system is down

15 CS 501 Spring 2003 Categories of Documentation Software development Requirements, design Source code, test plans and results User Introductory (various audiences) User manual System administrator and operator System manuals Business License, contract, etc.

16 CS 501 Spring 2003 Installation Tools Creating installation scripts may be a major sub-project Different scripts, tools and procedures for different categories of software Testing must be extensive with real users in their own environment

17 CS 501 Spring 2003 Delivery: Summary A good delivery package results in: happy client happy users less expense in support or maintenance but most projects rush the packaging, give it to the least experienced members of the team, do not test it properly, and generally neglect this part of the software process