Carnegie Mellon University ©2006 - 2009 Robert T. Monroe 70-451 Management Information Systems Systems Development Lifecycle: Develop, Test, and Implement.

Slides:



Advertisements
Similar presentations
Testing Relational Database
Advertisements

Making the System Operational
Conquering Complex and Changing Systems Object-Oriented Software Engineering Chapter 12, Software Life Cycle.
1 Requirements and the Software Lifecycle The traditional software process models Waterfall model Spiral model The iterative approach Chapter 3.
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
MIS 2000 Class 20 System Development Process Updated 2014.
SDLC Software Development Life Cycle. SDLC Acronym for system development life cycle. Acronym for system development life cycle. Is the process of developing.
IS2210: Systems Analysis and Systems Design and Change
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
ITIL: Service Transition
Chapter 10 Schedule Your Schedule. Copyright 2004 by Pearson Education, Inc. Identifying And Scheduling Tasks The schedule from the Software Development.
Risk Management Chapter 7.
Fundamentals of Information Systems, Second Edition
Pertemuan Matakuliah: A0214/Audit Sistem Informasi Tahun: 2007.
Objectives Explain the purpose and various phases of the traditional systems development life cycle (SDLC) Explain when to use an adaptive approach to.
Systems Analysis and Design in a Changing World, 6th Edition
Design, Implementation and Maintenance
CHAPTER 19 Building Software.
Other Planning Processes: Final Planning Touches
Introduction to Computer Technology
Enterprise Architecture
Release & Deployment ITIL Version 3
Carnegie Mellon University © Robert T. Monroe Management Information Systems Software Development Lifecycles (SDLC’s) Management.
12.
UML - Development Process 1 Software Development Process Using UML (2)
1 Building and Maintaining Information Systems. 2 Opening Case: Yahoo! Store Allows small businesses to create their own online store – No programming.
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
INFO 637Lecture #81 Software Engineering Process II Integration and System Testing INFO 637 Glenn Booker.
Transaction Processing Systems and System Development Life Cycle
Moving into Design SYSTEMS ANALYSIS AND DESIGN, 6 TH EDITION DENNIS, WIXOM, AND ROTH © 2015 JOHN WILEY & SONS. ALL RIGHTS RESERVED. 1 Roberta M. Roth.
-Nikhil Bhatia 28 th October What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines.
Software evolution. Objectives l To explain why change is inevitable if software systems are to remain useful l To discuss software maintenance and maintenance.
Systems Analysis and Design CHAPTER 1
ITEC224 Database Programming
Understand Application Lifecycle Management
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
Project Tracking. Questions... Why should we track a project that is underway? What aspects of a project need tracking?
Carnegie Mellon University © Robert T. Monroe Management Information Systems Software Development Lifecycles (SDLC’s) Management.
MD Digital Government Summit, June 26, Maryland Project Management Oversight & System Development Life Cycle (SDLC) Robert Krauss MD Digital Government.
Testing Workflow In the Unified Process and Agile/Scrum processes.
Software Project Management
Assessing the influence on processes when evolving the software architecture By Larsson S, Wall A, Wallin P Parul Patel.
Systems Analysis and Design in a Changing World, Fourth Edition
Fundamentals of Information Systems, Second Edition 1 Systems Development.
Carnegie Mellon University © Robert T. Monroe Management Information Systems Software Development Lifecycles (SDLC’s) Management.
Software Engineering Lecture # 1.
第 11 組 MIS 報告. Phases of any information system ~ recognition of a business problem or opportunity ~ recognition of a business problem or opportunity.
IS2210: Systems Analysis and Systems Design and Change Twitter:
Chapter 10 Information Systems Development. Learning Objectives Upon successful completion of this chapter, you will be able to: Explain the overall process.
1 Object-Oriented Analysis and Design with the Unified Process Figure 13-1 Implementation discipline activities.
Carnegie Mellon University © Robert T. Monroe Management Information Systems Software Development Lifecycles (SDLC’s), Project Planning,
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Carnegie Mellon University © Robert T. Monroe Management Information Systems IS Project Risk Management Management Information.
BSBPMG501A Manage Project Integrative Processes Manage Project Integrative Processes Project Integration Processes – Part 2 Diploma of Project Management.
Carnegie Mellon University © Robert T. Monroe Management Information Systems Supply Chain Management Systems Management Information.
Carnegie Mellon University © Robert T. Monroe Management Information Systems Models for Acquiring IS Capabilties Part Management.
CS223: Software Engineering Lecture 25: Software Testing.
 System Requirement Specification and System Planning.
ITIL: Service Transition
Software Project Configuration Management
Fundamentals of Information Systems, Sixth Edition
Applied Software Implementation & Testing
Engineering Processes
Gathering Systems Requirements
Lesson 1 Understanding Software Quality Assurance
Software Development Life Cycle Models
Gathering Systems Requirements
Overview Activities from additional UP disciplines are needed to bring a system into being Implementation Testing Deployment Configuration and change management.
SDLC (Software Development Life Cycle)
Presentation transcript:

Carnegie Mellon University © Robert T. Monroe Management Information Systems Systems Development Lifecycle: Develop, Test, and Implement Management Information Systems Robert Monroe October 11, 2009

Carnegie Mellon University © Robert T. Monroe Management Information Systems Quiz 1.In which SDLC phase is a new system first put into operation for standard business use? 2.Programming and systems integration occurs primarily in which SDLC phase? 3.True or false: In agile SDLC’s, testing is done much more consistently throughout the SDLC than in a waterfall process, where the bulk of testing occurs primarily near the end of the project.

Carnegie Mellon University © Robert T. Monroe Management Information Systems Goals For Today By the end of today's class you should: –Be able to list and explain the primary tasks of the development, testing, and implementation stages of the SDLC –Be able to enumerate and explain the primary inputs to, and outputs of, each of these stages –Understand the tasks and purpose of common types of testing, including unit test, system/integration test, usability testing, and user acceptance testing –Be able to put together a simple implementation / deployment plan for a basic information system

Carnegie Mellon University © Robert T. Monroe Management Information Systems ImplementTest Quick Recap: SDLC Stages Develop Design AnalyzePlan Today’s focus …

Carnegie Mellon University © Robert T. Monroe Management Information Systems Quick Recap: Development, Testing, Implementation Development stage –Convert the requirements and design into a functioning information system (write software, build user interface, integrate 3 rd party components, write documentation, etc.) Testing stage –Confirm that the system meets requirements Implementation stage –Install hardware and/or software –Update affected other systems (as needed) –Train users –Go Live! (cross fingers, hope for the best…) Development Testing … Implementation

Carnegie Mellon University © Robert T. Monroe Management Information Systems Development Stage

Carnegie Mellon University © Robert T. Monroe Management Information Systems Development Stage Inputs and Outputs Outputs Candidate system for release –Compiled code –Configuration details –Runbook –System documentation Unit and integration test results ImplementTest Develop Design AnalyzePlan Inputs Requirements –Business –System Design documents –System architecture –Functional design spec Develop

Carnegie Mellon University © Robert T. Monroe Management Information Systems Development Stage Tasks Project management Technical writing ImplementTest Develop Design AnalyzePlan Programming –UI –Business logic –Database –Security Unit testing Systems integration Performance tuning

Carnegie Mellon University © Robert T. Monroe Management Information Systems Big Issues: Development Getting the technology to work properly Coordinating and tracking effort –Managing complexity –Communication and coordination across groups Dealing with change requests Dealing with discovered problems

Carnegie Mellon University © Robert T. Monroe Management Information Systems Testing Stage

Carnegie Mellon University © Robert T. Monroe Management Information Systems Testing Stage Inputs and Outputs Outputs Release system List of outstanding bugs Testing report Recommendation to release system or to defer release ImplementTest Develop Design AnalyzePlan Inputs Working system Test cases Test harnesses Configuration details Test environment Test

Carnegie Mellon University © Robert T. Monroe Management Information Systems Testing Stage Tasks Make test plans Execute tests, observe Identify defects Report, track, and repair defects Prioritize error repair Implement Test Develop Design AnalyzePlan Confirm (or disprove) that the system delivered meets the: –Business requirements –System requirements –Functional design specification

Carnegie Mellon University © Robert T. Monroe Management Information Systems Types and Stages of IS Testing Unit test – does this software module work properly? –This is primarily done in the development phase, by developers Systems integration test – what happens when I integrate this system’s modules… –With each other? with other systems? –Again, mostly in the development phase, but often by test team Performance / load testing Usability testing –Should be done starting very early in SDLC, continue through past release to maintenance stages User Acceptance Testing –Does the system meet the requirements laid out originally? –Can people use the system to solve their business problems?

Carnegie Mellon University © Robert T. Monroe Management Information Systems Big Issues: Testing Nearly an infinite number of ways that a significant Information System can fail –But you have a very finite amount of time to test it Standard approach is to identify the most likely problems and make sure that they are not problems in this system –Identifying standard failure modes –Testing representative sets of test cases to cover these failure modes

Carnegie Mellon University © Robert T. Monroe Management Information Systems Testing Questions How do businesses make the tradeoff between time spent testing a system and trying to get it out there as soon as possible, bearing in mind the exponential increase in cost of fixing an error the later it is found? - Student question on wiki How should an organization choose the ‘right’ things to test a system for? How will they know when they have done the ‘right’ amount of testing?

Carnegie Mellon University © Robert T. Monroe Management Information Systems Testing Guidelines The following can help in deciding how much testing to do and what constitutes an acceptable level of defects –Understand the business goals of the system –Understand the context in which the system will be used –Understand the risks of failure to the organization and the system’s stakeholders outside the organization –Understand the importance of external drivers –Use a good bug tracking system This includes software support … but also a well organized process for assessing and prioritizing defects and risks

Carnegie Mellon University © Robert T. Monroe Management Information Systems Testing Questions Is it more costly for a company to spend more time on the development phase and reduce the amount of errors it needs to fix during the testing phase, or is it better to balance out the two activities and make sure it spends an adequate amount of time on each? - Student question on wiki Related question: who in the organization should decide when / whether a system is ready to go live?

Carnegie Mellon University © Robert T. Monroe Management Information Systems Implementation Stage

Carnegie Mellon University © Robert T. Monroe Management Information Systems Implementation Stage Inputs and Outputs Outputs Working information system used by the organization! ImplementTest Develop Design AnalyzePlan Inputs Release system Operating and training manuals Production IT platform Training plan Release plan Implement

Carnegie Mellon University © Robert T. Monroe Management Information Systems Implementation Stage Tasks Sponsor sign-off Train users Track performance carefully Troubleshoot ImplementTest Develop Design AnalyzePlan Install software and hardware Populate / migrate data Adapt / cut-over other systems Implement business process changes

Carnegie Mellon University © Robert T. Monroe Management Information Systems SDLC Variations For Development, Testing, and Implementation Stages

Carnegie Mellon University © Robert T. Monroe Management Information Systems Discussion Questions The author says that its better to keep requirements to a minimum whenever developing a software. It might take more time to develop a system with all the requirements needed, but isnt it at least less costly than developing a system with one requirement, then go back each time to add a requirement that might or might not fit in the program that you have? -- student question from wiki

Carnegie Mellon University © Robert T. Monroe Management Information Systems Risk Management

Carnegie Mellon University © Robert T. Monroe Management Information Systems Some Definitions A project risk is an uncertain event or condition that, if it occurs, has a negative effect on project objectives Risk management is the process of proactive and ongoing identification, analysis, and response to risk factors. Source: [HBP09] Stephen Haag, Paige Baltzan, and Amy Phillips, Business Driven Technology 3rd Edition, McGraw-Hill Irwin, 2009, ISBN

Carnegie Mellon University © Robert T. Monroe Management Information Systems Risk Identification This is generally done early in the SDLC, and revisited at various points throughout the IS project Ask questions such as: –What could go wrong in completing the project? –What could go wrong for the business once the project goes live? –What other things could this project break? Be sure to have representatives for all of the key stakeholders involved in the identification process

Carnegie Mellon University © Robert T. Monroe Management Information Systems Risk Analysis and Response At this stage you need to figure out: –How likely is it that this risk will occur? –What would the cost be if the risk did occur? –What other risks might cascade from this event? –How can we mitigate this risk before it happens –Do contingency planning How would we respond to this risk if it does happen? How will we know when the risk has turned into a reality? Prioritize the risks based on this analysis and develop a plan to deal with them Revisit the analysis and plans regularly, or as important aspects of the project change

Carnegie Mellon University © Robert T. Monroe Management Information Systems Risk Management Matrix High Medium Low MediumHigh Likelihood of risk occuring Cost of risk occuring

Carnegie Mellon University © Robert T. Monroe Management Information Systems Exercise #1 Consider the following proposed IS project: a large bank based in Doha is planning to move it’s system to a third party Software as a Service provider. The system it currently uses is failing frequently and the executives of the bank want to move this project forward as quickly as possible Identify and analyze five significant risks that this project either faces or introduces to the bank. Put them into the risk management matrix and identify the most important risks for the project team (and/or bank) to address.

Carnegie Mellon University © Robert T. Monroe Management Information Systems Exercise #2 Based on the previously identified risks, describe specific steps you would take during the testing phase to mitigate the risks For each of these steps, be ready to explain what type of testing you would do, and what results you would need to see to convince yourself that the system was ready to release

Carnegie Mellon University © Robert T. Monroe Management Information Systems Wrap up: Assignment #2 Details and case will be posted to wiki by tomorrow Due date: Thursday, October 22 Basic outline –Team project (1-3 people per team) –Analyze simple case to identify stakeholders –Write brief but high-quality requirements document for a slice of the system that each of the stakeholders is concerned about. Please review the assignment tomorrow and come to class with questions on Tuesday

Carnegie Mellon University © Robert T. Monroe Management Information Systems Rational™ SDLC Effort Diagram Source: IBM Corporation