Methodologies By Akinola Soyinka.

Slides:



Advertisements
Similar presentations
Basic SDLC Models.
Advertisements

kareRCIserIsviFIsaRsþGnuvtþKMerag
Software Development Life Cycle. Why Do We need Software Development Models Helps to make sure that we cover all bases during planning and implementation.
1 Software Processes Name:Wassim Jamal Salem ID: Name:m3taz El Dweak ID:
Virtual University - Human Computer Interaction 1 © Imran Hussain | UMT Imran Hussain University of Management and Technology (UMT) Lecture 16 HCI PROCESS.
Chapter 2 Modeling the Process and Life Cycle Shari L. Pfleeger
Chapter 4 Design Approaches and Methods
Lecture 2 Title: PLC, SDLC, PMBOK
System Development Life Cycle Process of creating and altering systems or software by using methodologies or models to develop the systems in a logical.
Sharif University of Technology Session # 3.  Contents  Systems Analysis and Design Sharif University of Technology MIS (Management Information System),
Alternate Software Development Methodologies
Agile
Chapter 6 The Process of Interaction Design Presented by: Kinnis Gosha, Michael McGill, Jamey White, and Chiao Huang.
Software Development Overview CPSC 315 – Programming Studio Spring 2008.
AGILE Development Group KEVIN STEVEN EKAPUTRANTO RENDY WINARTA STEFANY TRIFOSA GLADYS NATALIA.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
Systems Development AIMS 2710 R. Nakatsu. Overview Why do IT projects succeed and fail? Two philosophies of systems development –Systems Development Life.
CSE 308 Software Engineering Software Engineering Strategies.
Chapter 2 Software processes. Topics covered Software process models Process activities Coping with change.
The Spiral Model Sultana & Mahmood. Systems development life-cycle The process of creating or altering computer systems The models that define the processes.
WATERFALL DEVELOPMENT MODEL. Waterfall model is LINEAR development lifecycle. This means each phase must be completed before moving onto the next!!! WHAT.
Agile. Processes Waterfall Traditional With prototyping Sprial Agile Dynamic Systems Development Method (DSDM) Scrum Crystal eXtreme Programming (XP)
WATERFALL LIFE CYCLE SOFTWARE ENGINEERING. THE WATERFALL MODEL IS A SEQUENTIAL DESIGN PROCESS, USED IN SOFTWARE DEVELOPMENT PROCESSES, IN WHICH PROGRESS.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
WATERFALL METHOD Robbie Campbell WHAT IS IT  Considered the classic approach to the SDLC.  It is a linear method with goals for each development phase.
Software Engineering 2004 Jyrki Nummenmaa 1 Why new software methodologies The classic waterfall-model based techniques are strongly based on the.
Chapter 2- Software Development Process  Product Components  Software Project Staff  Software Development Lifecycle Models.
SOFTWARE DEVELOPMENT Presented By : Emporiumtech This presentation is brought you by
Lesson Objectives Aims 1.Be able to understand the waterfall life cycle, agile methodologies, extreme programming, the spiral model and rapid application.
Chapter 7: Designing solutions to problems OCR Computing for A Level © Hodder Education 2009.
Chapter 3 Agile software development 1 Chapter 3 – Agile Software Development.
Prototype 3 Prototype 2 Prototype What is prototyping? Types of prototyping: – Evolutionary – Throw-away Good and Bad points to prototyping.
Software Development - Methodologies
Software Development.
Unit 6 Application Design KLB Assignment.
Software Development Life Cycle Waterfall Model
Methodologies and Algorithms
IL Marking Get out your CPU / Memory answers Swap with someone else
CSC 355 – Newer Approaches to System Development Life Cycles & Processes, Spring 2017 March 2017 Dr. Dale Parson.
Introduction Edited by Enas Naffar using the following textbooks: - A concise introduction to Software Engineering - Software Engineering for students-
Fundamentals of Information Systems, Sixth Edition
Engineering Activities In Software Development
INTRODUCTION TO SOFTWARE DEVELOPMENT
PROJECT LIFE CYCLE AND EFFORT ESTIMATION
Prototype Model Lecture-4.
Software Development Life Cycle
Methodologies in Computing
Software development life cycle models
Software Process Models
Models of Software Development Life Cycle (SDLC)
The V Model The V Model Damian Gordon Damian Gordon.
IT Systems Analysis & Design
Software Development Life Cycle
VENDORS, CONSULTANTS AND USERS
Introduction to Software Engineering
Introduction Edited by Enas Naffar using the following textbooks: - A concise introduction to Software Engineering - Software Engineering for students-
Information Systems Development
Teaching slides Chapter 1.
Computer Science Life Cycle Models.
Computer Science Life Cycle Models.
Software life cycle models
Yes, we need hundreds of methodologies!!!
Introduction If you have got a call for an Agile testing interview, then congratulations are in order. You may be feeling nervous, but it sure to be felt.
CHAPTER 10 METHODOLOGIES FOR CUSTOM SOFTWARE DEVELOPMENT
Project Lifecycle and IT Product Life Cycle
The Waterfall Model Also known as: classic life cycle, the waterfall model, the linear model Rarely projects are sequential (allows iteration indirectly)
SDLC (Software Development Life Cycle)
The Software Development Cycle
Software Development Overview
CSCI 360: Software Architecture & Design
Presentation transcript:

Methodologies By Akinola Soyinka

Waterfall Life Cycle This is a very simple and understandable methodology. In order for the next step to be carried out the current step has to be completed. Phases do not overlap and at the end of each phase a thorough review is carried out to determine whether the project is feasible. This means that the development is completed and reviewed first before the testing phase begins

Waterfall Life Cycle: Advantages Easily understandable and usable structure-This makes it easy for programmers to collaborate because it is easy to see which tasks need to be done, and when each stage needs to be completed It is not difficult to manage the project, each stage is clear and defined- this means that it is easy to schedule different parts of the project, especially when the project is small and the requirements are clearly defined

Water Life Cycle: Disadvantages It is harder to implement changes, especially when the project is in the advanced stages such as Testing. There is no functioning prototype until later stages of the project, this is not good for larger, more complicated projects. This methodology is not efficient if there is a high probability of the requirements changing (this means more repetitions of stages, which would be hugely inefficient, especially in longer projects)

Waterfall Life Cycle: Conclusion Waterfall Life Cycles, although inefficient can be quite handy for shorter, less complicated projects Also it is useful when there is a low probability of requirement changes Thirdly when there is expert knowledge on the technology needed to complete the project When there is a clear vision of what the final product is going to be

Agile software development Agile software follow a set of principles. These principles encourage an evolution of requirements as well as solutions through the collective effort of many teams in some instances. These styles of computing projects respond very flexibly to change, allowing for solutions to problems to be developed very quickly. User feedback is absolutely essential, or the collaborators would have little or no idea of how to proceed

Agile Software Development: Advantages Working software is produced very early in the project-this allows programmers and user to have a clearer image of what the product could be. This means that they can tweak the product continually until the final product is produced. Also mistakes can be quickly undone. It deals with change easily in relation to waterfall life cycle. Unexpected changes do not pose as much as problem, because certain phases do not need to be repeated.

Agile Software Development: Disadvantages Roles are not defined- this means that even though someone needs to have certain skills to participate in the project, they cannot be 100% sure of what to do, especially when the project is in the testing phase. This is do to the continuity. It requires communication and motivation. As many people are working at the same time, they must communicate as well to let everyone else know what they are doing, otherwise the project will fail. User input is needed, which means quite a few people need to be involved even though they may not develop the program. This costs money and time

Agile Software Development: Conclusion Agile Software Development should be used in larger more complicated projects Agile Software Development should be used in projects where there is a high probability that the requirements will change. (ie developing an OS) Agile Software Development should be used to produce a product where there will be a lot of support and maintenance (developers making patches to fix in game problems for example)

Examples of Agile Software Development Section 2

Extreme Programming(XP) Extreme Programming focuses on things such as teamwork and respect. Everybody is treated equally, and each input or suggestion is carefully considered. User feedback is emphasised, the aims of the project are just to pass user requirements. It is a very popular Agile process.

Spiral Model The Spiral model places emphasis on analysing risks. In the Spiral model there are 4 stages called Planning, Risk Analysis, Engineering and Execution, Evaluation . In Planning, requirements are analysed and devised In Risk Analysis, the risks are considered and alternative ways of solving the problem are created. At the end a prototype will be produced. In Engineering and Execution the software is developed and is tested. In Evaluation the customers will return their feedback about the project. Thus the cycle starts again as the new requirements are analysed

Advantages and Disadvantages Takes accounts of risks Improved speed of development Disadvantages: Costs a lot of money

RAD Rapid Application Design RAD is another type of Agile software development. RAD focuses on developing a prototype and then asking the customer if the prototype is good enough (meets their expectations) . When the prototype meets all the customer expectations, the prototype is then released as the final product.

Advanatges