The Fun Filled World of Methodologies By Eric DeLisle & Sasan Rastegarlari.

Slides:



Advertisements
Similar presentations
Unified process(UP) UP is an OO system development methodology offered by Rational(Rational Rose) s/w, now a part of IBM Developed by Booach,Rambaugh,Jacobson--
Advertisements

Systems Development Environment
1 Requirements and the Software Lifecycle The traditional software process models Waterfall model Spiral model The iterative approach Chapter 3.
Chapter 2: Approaches to System Development
Chapter 1 The Systems Development Environment
Objectives Explain the purpose and various phases of the traditional systems development life cycle (SDLC) Explain when to use an adaptive approach to.
Chapter 2 Approaches to System Development
SEP1 - 1 Introduction to Software Engineering Processes SWENET SEP1 Module Developed with support from the National Science Foundation.
Ch 3 System Development Environment
Sharif University of Technology Session # 3.  Contents  Systems Analysis and Design Sharif University of Technology MIS (Management Information System),
Chapter Extension 19 Alternative Development Techniques © 2008 Pearson Prentice Hall, Experiencing MIS, David Kroenke.
Chapter 6 Prototyping, RAD, and Extreme Programming
Iterative development and The Unified process
Systems Analysis and Design in a Changing World, Fifth Edition
Objectives Explain the purpose and various phases of the traditional systems development life cycle (SDLC) Explain when to use an adaptive approach to.
CHAPTER 17 Building Software to Support an Agile Organization
SDLC. Information Systems Development Terms SDLC - the development method used by most organizations today for large, complex systems Systems Analysts.
Chapter 1 The Systems Development Environment Modern Systems Analysis and Design Sixth Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich.
CHAPTER 19 Building Software.
Chapter 1 The Systems Development Environment
Chapter 1 The Systems Development Environment
The Systems Development Environment. Learning Objectives Define information systems analysis and design. Describe the different types of information systems.
CIS 321—IS Analysis & Design
Chapter 2: Approaches to System Development
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
Chapter 3 – Agile Software Development 1Chapter 3 Agile software development.
CSI315 Web Applications and Technology Overview of Systems Development (342)
2Object-Oriented Analysis and Design with the Unified Process Objectives  Explain the purpose and various phases of the traditional systems development.
Chapter 1 The Systems Development Environment
Business Driven Technology Unit 5 Transforming Organizations McGraw-Hill/Irwin Copyright © 2013 by The McGraw-Hill Companies, Inc. All rights reserved.
-Nikhil Bhatia 28 th October What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines.
© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers Unit 11 Slide 1 Chapter 1 The Systems Development Environment.
Chapter 1 The Systems Development Environment Modern Systems Analysis and Design Sixth Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich.
The Systems Development Methodologies. Objectives  Describe the information Systems Development Life Cycle (SDLC)  Explain prototyping  Explain Rapid.
© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 4 Slide 1 Chapter 1 The Systems Development Environment.
Extreme/Agile Programming Prabhaker Mateti. ACK These slides are collected from many authors along with a few of mine. Many thanks to all these authors.
1 Software Process Models-ii Presented By; Mehwish Shafiq.
Chapter 1 The Systems Development Environment Modern Systems Analysis and Design Sixth Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich.
Object-oriented Analysis and Design Stages in a Software Project Requirements Writing Analysis Design Implementation System Integration and Testing Maintenance.
The Systems Development Life Cycle
Fifth Lecture Hour 9:30 – 10:20 am, September 9, 2001 Framework for a Software Management Process – Life Cycle Phases (Part II, Chapter 5 of Royce’ book)
University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 other methodologies 1 Method/Process = step-by-step description of the steps involved.
2 Systems Analysis and Design in a Changing World, Fifth Edition.
Systems Analysis and Design in a Changing World, Fourth Edition
Chapter 1 The Systems Development Environment Modern Systems Analysis and Design Fifth Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich.
System Development 1 u Systems development life cycle (SDLC) l Provides overall framework for managing system development process u Two main approaches.
© 2005 by Prentice Hall Chapter 1 The Systems Development Environment Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey F. George.
Chapter 6 CASE Tools Software Engineering Chapter 6-- CASE TOOLS
Connecting with Computer Science2 Objectives Learn how software engineering is used to create applications Learn some of the different software engineering.
The Systems Development Environment Systems Analysis and Design II.
Overview of RUP Lunch and Learn. Overview of RUP © 2008 Cardinal Solutions Group 2 Welcome  Introductions  What is your experience with RUP  What is.
2 Systems Analysis – ITEC 3155 Systems Analysis Tasks.
Software Development. The Software Life Cycle Encompasses all activities from initial analysis until obsolescence Analysis of problem or request Analysis.
Software Engineering cosc 4359 Spring 2017.
Software Development Framework
Iterative development and The Unified process
Software Development.
Process 4 Hours.
CSC 355 – Newer Approaches to System Development Life Cycles & Processes, Spring 2017 March 2017 Dr. Dale Parson.
Chapter 1 The Systems Development Environment
Chapter 1 The Systems Development Environment
Introduction to Software Engineering
Methodologies For Systems Analysis.
Object Oriented Analysis and Design
Methodologies For Systems Analysis.
Software engineering -1
CHAPTER 10 METHODOLOGIES FOR CUSTOM SOFTWARE DEVELOPMENT
Systems development life cycle (SDLC)
SD5953 Successful Project Management AGILE SOFTWARE DEVELOPMENT
Presentation transcript:

The Fun Filled World of Methodologies By Eric DeLisle & Sasan Rastegarlari

Presentation Overview WWhat is a Methodology? WWho uses Methodologies? WWhat are Methodologies used for? SSeveral types of Methodologies Waterfall SDLC RAD Agile Object-Oriented

What is a Methodology?  Multi-step approach to systems development  Influences the quality of the Final product  Comprehensive  Consistent method with the Organizations management style.

Who Uses Methodologies?  Most Organizations and Firms Today IBM, Microsoft, Monsanto, NASA, AT&T, Drury Hotels, Edward Jones, A.B.  Majority of Organizations and Firms use a specific type of methodology that is tailored to their needs.

What Are Methodologies Used For?  Systems Development Guidelines or References Step by Step process Leads to final product  Analysis Information  Gathered and Used to help the development process

History of Methodologies  Computer-based Info Systems began in the 1950’s.  1980’s introduced microcomputers CASE tools development  System developers went from builders to integrators.  1990’s brought systems integration. Visual programming environments.  Present day Info Systems Internet, Intranet, and Extranets.

Popular Methodologies  The Waterfall Methodology  The SDLC Methodology  The RAD Methodology  Agile Methodologies eXtreme Programming (XP)  Object-Oriented Methodologies Rational Unified Process (RUP)

Waterfall Methodology

 Overview Introduced by W.W. Royce in 1970 It was later redesigned using a more iterative process, unfortunately this way was ignored resulting in the current Waterfall methodology Most System Analysts do not like the Waterfall Method Each phase must be completed perfectly There is no overlap or moving backward in phases

Waterfall Methodology  Phases Requirements: The requirements of the system are collected and set in stone. Design: A blueprint is made for the programmers using the previously collected requirements. Implementation: System components are designed by coders and integrated together. Testing: After integration the system is tested and bugs are removed. Installation & Maintenance: The final installation of the system is done at this phase. Users are trained and the system is maintained by the system designers.

Waterfall Methodology PPros Time spent early in production can save a company hundreds of thousands of dollars. More emphasis is placed on documentation than any other methods. CCons Impossible to know exactly what is needed in each phase of the software process before some time is spent in the phase following it. Requirments are locked in too early leaving no room for user feedback and modification. Too much emphasis on deadlines rather than user requirments.

Systems Development Life Cycle (SDLC) Planning First phase Analysis Second phase Design Third phase Implementation Fourth phase Maintenance Fifth phase

Systems Development Life Cycle (SDLC)  Overview Traditional Methodology  Used to develop, maintain, and replace info systems  Common method for systems development Contains several phases  Planning, Analysis, Design, Implementation, Maintenance.

Systems Development Life Cycle (SDLC)  Phases Planning  Identification phase  Needs are examined as a whole Analysis  Studies current procedures and Info Systems  Sub phase - Requirement determination Design  Convert alternative solutions  Inputs and Outputs Reports, databases, computer processes Implementation  System and Written specs turned over to programmers  Implementation process Coding, testing, installation Maintenance  Systems are in operation  Specific problems or changes are made

Rapid Application Development (RAD) Requirements Planning User Design Construction Cutover

Rapid Application Development (RAD)  Overview Methodology used to decrease time in development process.  Efficient and Cheaper Allows systems developers and end users work together from the beginning. Becoming a more legitimate way of developing Web Based systems.  E-business applications VisualAge Generator, Java, WebSphere Stuido etc.

Rapid Application Development (RAD)  Phases RAD phases are similar to SDLC  Shortened and Combined – simplifies the development process. Systems are analyzed in isolation to other systems.  Eliminates time consuming activities. Coordinating with existing standards and systems during the Design and Development phases RAD focuses on Prototyping similar to JAD  Prototyping becomes the basis for the new system

eXtreme Programming (XP)

 Overview An Agile Methodology invented about 8 years ago by Kent Beck Successful because it stresses customer satisfaction and software creation on demand Responsive to changing customer requirements even late in the life cycle Improves software projects in four essential ways; communication, simplicity, feedback, and courage.

eXtreme Programming (XP)  Phases Planning: User stories are collected from the customer. Feedback is given to the customer to help better understand the requirements. Designing: Primary focus is on keeping the design simple. Constant communication with the customer is used to design and redesign over and over again until they have reached an acceptable solution. Coding: Very iterative process usually done with teams of 2 programmers at a time. Customer feedback is constantly used during the coding process. Testing: Consistently done after each portion of code is created. If bugs are found the code is reworked and retested. Releases: These are usually done in small portions. Final product is then thoroughly tested upon release.

eXtreme Programming (XP) PPros Code will be developed, tested, and implemented into the system within a few hours after it has been written. XP is governed by very simple rules and practices. Pair programming used in XP produces more and better communication among developers, higher levels of productivity, higher quality code, and reinforcement of the other practices in XP, such as the code-and-test discipline. CCons Really there are no cons to XP besides the fact that it may not be applicable to every project.

Rational Unified Process (RUP) Simple Diagram

Rational Unified Process (RUP) Detailed Diagram

Rational Unified Process (RUP)  Overview An Object-Oriented iterative software development process created by the Rational Software Corporation (a division of IBM since 2003) around RUP is like an online mentor that provides guidelines, templates, and examples for all aspects and stages of program development. The RUP uses six key principles in its development process. 1.Adapt the process: Decide on the right size project and budget for the organization. 2.Balance stakeholder priorities: Determines business goals and stakeholder needs. 3.Collaborate across teams: With a broad variety of stakeholders, all voices need to be heard. Everyone within the project shares information, opinions, and ideas. 4.Demonstrate value iteratively: Projects are delivered in an incremental and iterative fashion. This encourages feedback from stakeholders and allows projects to adjust to changing requirements. 5.Elevate the level of abstraction: Motivates the reuse of software or Framework already created. 6.Focus continuously on quality: Encourages quality checks through testing not only at the end but during the creation of the projects.

Rational Unified Process (RUP)  Phases Inception: Analysts define the scope, determine the feasibility of the project, understand user requirements, and prepare a software development plan. Elaboration: Analysts detail user requirements and develop a baseline architecture. In this phase an executable demonstration of the critical pieces will be developed. Construction: The software is actually coded, tested, and documented. At the end of this phase a beta version of the project is released that should have operational capabilities. Transition: The system is deployed, problems are corrected, and the users are trained and supported. Once acceptable criteria are met the product can then be scheduled for final release.

PPros Establishes a better understanding and communication channel between business engineering and software engineering. Provides pre-configured process templates for small, medium and large projects, which can be used for easier adoption. Allows for constant feedback from the business as well as the stakeholders. Encourages the use of reusable assets such as software pattern, 4GL or Framework which in turn prevents software engineers from having to custom make software. CCons If the users of RUP do not understand that RUP is a process framework, they may perceive it as a weighty and expensive process. Requires an RUP process expert. May not be applicable to all situations. Rational Unified Process (RUP)

Conclusion  Who uses Methodologies?  What are Methodologies used for?  A brief history of Methodologies?  Popular methodologies in the Systems Design Process. Waterfall Systems Development Life Cycle (SDLC) Rapid Application Development (RAD) eXtreme Programming (XP) Rational Unifide Process (RUP)

Thank You You May Now Applause!